Package-level declarations

Types

Link copied to clipboard
interface KDestination

Base contract for all navigation destinations in a Kindling application.

Link copied to clipboard
open class KViewModel<State>(initialState: State, application: Application) : AndroidViewModel, KoinComponent

Legacy base ViewModel for Kindling applications that require AndroidViewModel or KoinComponent integration.

Link copied to clipboard
interface NavigationEvent

Explicit contract for navigation-related events.

Functions

Link copied to clipboard
fun KNavHost(navController: NavHostController, startDestination: KDestination, modifier: Modifier = Modifier, builder: NavGraphBuilder.() -> Unit)

Typed wrapper around Compose NavHost.

Link copied to clipboard
fun <State, VM : KViewModel<State>> KScreen(viewModel: VM, navController: NavController, onBack: (state: State, viewModel: VM) -> Unit? = null, onEvent: (state: State, viewModel: VM, event: Any) -> Unit = { _, _, _ -> }, content: @Composable (state: State, viewModel: VM) -> Unit)

Legacy lifecycle-aware screen wrapper for KViewModel-driven Composables.

Link copied to clipboard
fun NavController.navigate(destination: KDestination, navOptions: NavOptions? = null, navigatorExtras: Navigator.Extras? = null)

Navigates to a typed KDestination.

Link copied to clipboard
fun NavController.navigateTransient(destination: KDestination, popUpToDestination: KDestination, inclusive: Boolean = true)

Navigates to a KDestination while clearing the current destination from the back stack inclusively, ensuring its ViewModel and screen state are destroyed.

Link copied to clipboard
fun NavController.popBackTo(destination: KDestination, inclusive: Boolean = false): Boolean

Pops the navigation back stack to the specified KDestination.