Package-level declarations

Types

Link copied to clipboard
data class AppBottomNavigation(val selectedRoute: String = tabList.first().route, val items: List<AppNavigationTab> = tabList, val onTabSelected: (String) -> Unit)

Data class representing the state of the bottom navigation bar.

Link copied to clipboard
data class AppNavigationTab(val route: String, val label: String, val selectedIcon: ImageVector, val unselectedIcon: ImageVector)

Data class representing a single tab in the bottom navigation bar.

Link copied to clipboard
data class DrawerItem(val route: String, val icon: ImageVector)

Data class representing an item in the navigation drawer.

Link copied to clipboard
data class TopBarConfig(val route: String? = null, val title: String? = null, val subtitle: String? = null, val onBack: () -> Unit? = null, val onClose: () -> Unit? = null, val onFavorite: () -> Unit? = null, val onMenuClick: () -> Unit? = null, val onSearchClick: () -> Unit? = null, val useTransparent: Boolean = false, val backgroundColor: Color = Color.Unspecified, val profileImageSource: AppImageSource? = null, val onProfileClick: () -> Unit? = null)

Configuration for the TopBar that can be dynamically applied.

Functions

Link copied to clipboard
fun AppBottomNavigationBar(modifier: Modifier = Modifier, items: List<AppNavigationTab>, selectedRoute: String, onTabSelected: (String) -> Unit)

A custom NavigationBar for the application. It adjusts its height and insets based on the platform (iOS vs Android).

Link copied to clipboard
fun AppContainer(modifier: Modifier = Modifier, isLoading: Boolean = false, error: AppErrorData? = null, onRetry: () -> Unit? = null, topBar: @Composable () -> Unit? = null, searchBar: @Composable () -> Unit? = null, chipGroup: @Composable () -> Unit? = null, drawerContent: @Composable ColumnScope.() -> Unit? = null, drawerState: DrawerState? = null, bottomBar: @Composable () -> Unit? = null, snackBarHostState: SnackbarHostState = remember { SnackbarHostState() }, scrollBehavior: TopAppBarScrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState()), content: @Composable (Modifier) -> Unit)

A root container component that provides a common layout structure including a top bar, bottom bar, navigation drawer, and snackbar host. It automatically handles responsive drawer behavior (modal for small screens, permanent for large screens) and centralized loading/error states.

Link copied to clipboard
Link copied to clipboard
fun AppDrawer(items: List<DrawerItem>, selectedRoute: String, onItemSelected: (DrawerItem) -> Unit, modifier: Modifier = Modifier)

A custom navigation drawer content component.

Link copied to clipboard
fun AppTopBar(config: TopBarConfig, modifier: Modifier = Modifier, scrollBehavior: TopAppBarScrollBehavior? = null)

A custom TopAppBar that uses a TopBarConfig to determine its state.

fun AppTopBar(configs: List<TopBarConfig>, selectedRoute: String, modifier: Modifier = Modifier, scrollBehavior: TopAppBarScrollBehavior? = null)

A custom TopAppBar that selects the appropriate configuration from a list based on the selected route.

fun AppTopBar(modifier: Modifier = Modifier, title: String? = null, subtitle: String? = null, onBack: () -> Unit? = null, onClose: () -> Unit? = null, onFavorite: () -> Unit? = null, onMenuClick: () -> Unit? = null, onSearchClick: () -> Unit? = null, backgroundColor: Color = Color.Unspecified, useTransparent: Boolean = false, scrollBehavior: TopAppBarScrollBehavior? = null, profileImageSource: AppImageSource? = null, onProfileClick: () -> Unit? = null)

A custom TopAppBar that can switch between a default and a transparent style. It supports a title, subtitle, back button, close button, favorite button, menu button, and actions.

Link copied to clipboard
Link copied to clipboard