kmp-kaiteki
1.6.0indexedLightweight modular core offering utility APIs and opinionated abstractions for common app tasks, with CI automation and Maven Central distribution for easy integration.
0
Stars
—
Used by
dependents
—
Health
/ 100
Lightweight modular core offering utility APIs and opinionated abstractions for common app tasks, with CI automation and Maven Central distribution for easy integration.
A set of helper classes for modern Kotlin multiplatform projects.
[versions]
kaiteki = "x.y.z"
[libraries]
kaiteki-core = { module = "com.kroegerama.kmp.kaiteki:kaiteki-core", version.ref = "kaiteki" }
kaiteki-compose = { module = , version.ref = }
= { module = , version.ref = }
= { module = , version.ref = }
= { module = , version.ref = }
dependencies {
implementation(libs.kaiteki.core)
implementation(libs.kaiteki.compose)
implementation(libs.kaiteki.paging)
implementation(libs.kaiteki.camera)
implementation(libs.kaiteki.permissions)
}
CameraView - Compose camera preview (Android: CameraX, iOS: AVFoundation)rememberCameraController() - zoom, torch, focus controlrememberBarcodeExtension() - real-time barcode scanning with configurable formatsrememberOcrExtension() - live text recognition (OCR)rememberPermissionState(permission) - Composable for requesting and observing runtime permissionsPermissionStatus - sealed interface (Granted / Denied with rationale info)openSystemPreferences() - deep-link to app settingsCopyright 2026 kroegerama
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https:
Unless applicable law agreed to writing, software
distributed under the License distributed an BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express implied.
See the License the specific language governing permissions
limitations under the License.
| Module | Description |
|---|
| core | Coroutine/Flow utilities, DataStore helpers, serialization, lifecycle extensions |
| compose | Compose Multiplatform UI utilities, Material 3 helpers, navigation support |
| paging | Paging integration with Arrow and ViewModel support |
| camera (experimental) | Camera integration with barcode scanning and text recognition |
| permissions (experimental) | Multiplatform runtime permission handling for Compose |
LoadState<E, T> - sealed class with Idle, Loading, Success, Error states, stale data support, and Arrow Either integrationLoadStateFlow - reactive wrapper around LoadState with refresh, parameter flows, and ViewModel scope supportEventFlow - fire-and-forget event bus backed by SharedFlowConsumableEventFlow - single-consumption event flow for one-shot eventsSavedStateHandle.field() - property delegate for ViewModel saved stateobserveFlow, observeMultipleFlowsget, set, flow operators for DataStore<Preferences>DecimalFormatter, LocalizedDateTimeFormatter, HumanReadableBytesConsumableState<T> - channel-backed one-shot event consumption in Compose (e.g. snackbar, navigation)TextFieldValidation - declarative text field validationDecimalInputTransformation - locale-aware decimal inputDashedBorder, PressAndHold modifiersTintedVectorPainter - recolor vector drawablesScrollbars - scrollbar indicators for lazy listsCustomTabsUriHandler - platform URI handler (Chrome Custom Tabs on Android)lazyPagingItemsOfData - preview helper for LazyPagingItemspagingHeaders, pagingFooters - helpers for LazyList, LazyGrid, LazyStaggeredGrid to support loading / error states with headers / footersModifier.keepScreenOn - multiplatform version, supports Android (delegate to official implementation) and iOS (uses idleTimerDisabled)PagerHolder - wrapper around Pager with refresh, retry, cachedIn, and reactive parameter supportPagingSource implementations based on Arrow Either error handling and duplicate detection:
PageSizePagingSource - page/size paginationItemKeyedPagingSource - cursor/item-keyed paginationContinuationTokenPagingSource - token-based paginationSinglePagePagingSource - non-paginated single-page dataSurfaced from shared tags and platforms — no rankings paid for.