//app/org.mjdev.tvapp.base.ui.components.complex
| Name | Summary |
|---|---|
| Badge | [androidJvm] @Preview @Composable fun Badge(modifier: Modifier = Modifier, shape: Shape = CircleShape, count: Int = 0, backGroundColor: Color = MaterialTheme.colorScheme.secondary, borderColor: Color = Color.White, borderSize: Dp = 1.dp, textColor: Color = Color.White, textSize: TextUnit = 20.sp, contentPadding: Dp = 2.dp, onFocus: () -> Unit = {}, onClick: () -> Unit = {}) |
| BigCarousel | [androidJvm] @Composable fun BigCarousel(modifier: Modifier = Modifier, items: List<Movie> = emptyList(), height: Dp = 260.dp, onItemSelected: (movie: Movie?) -> Unit = {}, onItemClicked: (movie: Movie?) -> Unit = {}) |
| Clock | [androidJvm] @Preview @Composable fun Clock(modifier: Modifier = Modifier, timeTextSize: TextUnit = 24.sp, timeTextWeight: FontWeight = FontWeight.Bold, timeTextColor: Color = Color.White, dateTextSize: TextUnit = 12.sp, dateTextWeight: FontWeight = FontWeight.Bold, dateTextColor: Color = Color.White, horizontalAlignment: Alignment.Horizontal = Alignment.End, backgroundColor: Color = Color.Transparent, roundSize: Dp = 8.dp, contentPadding: Dp = 2.dp, showTime: Boolean = true, showDate: Boolean = true, onClick: () -> Unit = {}) |
| ErrorMessage | [androidJvm] @Preview @Composable fun ErrorMessage(error: Throwable? = null, contentPadding: Dp = 8.dp, title: Any? = null, fontSizeTitle: TextUnit = 24.sp, fontSizeMessage: TextUnit = 14.sp, fontWeight: FontWeight = FontWeight.Bold, color: Color = Color.White, paddingTitle: Dp = 4.dp, paddingMessage: Dp = paddingTitle, backgroundColor: Color = Color.Red, roundSize: Dp = 8.dp, cancelText: Any? = stringResource(id = R.string.dismiss), dismissible: Boolean = true, onDismiss: () -> Unit = {}) |
| FocusableBox | [androidJvm] @Composable fun FocusableBox(modifier: Modifier = Modifier, onClick: () -> Unit = {}, onFocus: () -> Unit = {}, enabled: Boolean = true, tonalElevation: Dp = 0.dp, focusedColor: Color = Color.Black, unFocusedColor: Color = Color.Transparent, pressedColor: Color = focusedColor.copy(alpha = 0.5f), disabledColor: Color = Color.Gray.copy(alpha = 0.5f), shape: Shape = RectangleShape, borderColor: Color = Color.Transparent, borderSize: Dp = 0.dp, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, isFocused: MutableState<Boolean> = remember { mutableStateOf(false) }, onTouched: (focused: Boolean) -> Unit = { focused -> if (focused) onClick() else onFocus() }, content: @ComposableBoxScope.() -> Unit = {}) |
| Header | [androidJvm] @Preview @Composable fun Header(modifier: Modifier = Modifier, title: Any? = R.string.app_name, fontSize: TextUnit = 24.sp, fontWeight: FontWeight = FontWeight.Bold, color: Color = Color.White, backgroundColor: Color = Color.DarkGray, roundSize: Dp = 0.dp, padding: Dp = 0.dp, contentPadding: Dp = 2.dp, messagesCount: Int = 0, onTitleClick: () -> Unit = {}, onClockClick: () -> Unit = {}, onMessageBadgeClick: () -> Unit = {}, onUserPicClick: () -> Unit = {}) |
| ScreenView | [androidJvm] @Composable fun ScreenView(navController: NavHostController? = null, actions: @ComposableRowScope.() -> Unit = {}, title: Any? = R.string.app_name, menuItems: List<MenuItem> = listOf(), content: @Composable(state: ScreenState) -> Unit = { state -> Screen() }) |
| ScrollableTvLazyRow | [androidJvm] @Composable fun ScrollableTvLazyRow(modifier: Modifier = Modifier, contentPadding: PaddingValues = PaddingValues(0.dp), reverseLayout: Boolean = false, verticalArrangement: Arrangement.Vertical = if (!reverseLayout) Arrangement.Top else Arrangement.Bottom, horizontalAlignment: Alignment.Horizontal = Alignment.Start, userScrollEnabled: Boolean = true, pivotOffsets: PivotOffsets = PivotOffsets(), state: TvLazyListState = rememberTvLazyListState(), content: TvLazyListScope.() -> Unit = {}) |
| Tabs | [androidJvm] @Composable fun <T> Tabs(modifier: Modifier = Modifier, items: List<T> = emptyList(), fontSize: TextUnit = 12.sp, itemsSpacing: Dp = 8.dp, activeContentColor: Color = Color.Black, selectedContentColor: Color = Color.White, focusedContentColor: Color = Color.White, onItemClick: (index: Int) -> Unit = {}) |
| Title | [androidJvm] @Composable fun Title(modifier: Modifier = Modifier, fontWeight: FontWeight = FontWeight.Bold, fontSize: TextUnit = 24.sp, color: Color = Color.White, focusShadowColor: Color = Color.Black, unfocusedShadowColor: Color = Color.Transparent, shadowSize: Dp = 4.dp, title: Any? = R.string.app_name, onFocus: () -> Unit = {}, onClick: () -> Unit = {}) |
| TouchBox | [androidJvm] @Composable fun TouchBox(modifier: Modifier = Modifier, contentAlignment: Alignment = Alignment.TopStart, propagateMinConstraints: Boolean = false, state: TvLazyListState? = null, content: @ComposableBoxScope.() -> Unit) |
| UserPic | [androidJvm] @Preview @Composable fun UserPic(modifier: Modifier = Modifier, shape: Shape = CircleShape, src: Any? = R.drawable.milanj, backGroundColor: Color = MaterialTheme.colorScheme.secondary, borderColor: Color = Color.White, borderSize: Dp = 2.dp, contentPadding: Dp = 2.dp, onClick: () -> Unit = {}) |