From 9435ec65a0d012f9f4d1e2e0732dd2374c2dbd2a Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Tue, 28 Nov 2023 23:52:43 +0800 Subject: [PATCH] feat: customization placeholderContentColor in TextField --- .../kotlin/com/highcapable/flexiui/component/TextField.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/flexiui-core/src/commonMain/kotlin/com/highcapable/flexiui/component/TextField.kt b/flexiui-core/src/commonMain/kotlin/com/highcapable/flexiui/component/TextField.kt index e415538..188d709 100644 --- a/flexiui-core/src/commonMain/kotlin/com/highcapable/flexiui/component/TextField.kt +++ b/flexiui-core/src/commonMain/kotlin/com/highcapable/flexiui/component/TextField.kt @@ -104,6 +104,7 @@ data class TextFieldColors( val cursorColor: Color, val selectionColors: TextSelectionColors, val completionColors: AutoCompleteBoxColors, + val placeholderContentColor: Color, val decorInactiveTint: Color, val decorActiveTint: Color, val borderInactiveColor: Color, @@ -224,6 +225,7 @@ fun TextField( decorationBox = { TextFieldDecorationBox( value = value.text, + placeholderContentColor = colors.placeholderContentColor, placeholder = placeholder, innerTextField = it ) @@ -682,13 +684,14 @@ private fun InnerDecorationBox( @Composable private fun TextFieldDecorationBox( value: String, + placeholderContentColor: Color, placeholder: @Composable () -> Unit, innerTextField: @Composable () -> Unit ) { val animatedAlpha by animateFloatAsState(if (value.isNotEmpty()) 0f else 1f) Box(modifier = Modifier.alpha(animatedAlpha)) { CompositionLocalProvider( - LocalTextStyle provides LocalTextStyle.current.default(LocalColors.current.textSecondary) + LocalTextStyle provides LocalTextStyle.current.default(placeholderContentColor) ) { placeholder() } } innerTextField() @@ -776,6 +779,7 @@ private fun defaultTextFieldColors() = TextFieldColors( highlightContentColor = LocalColors.current.themePrimary, menuColors = DropdownMenu.colors ), + placeholderContentColor = LocalColors.current.textSecondary, decorInactiveTint = LocalColors.current.themeSecondary, decorActiveTint = LocalColors.current.themePrimary, borderInactiveColor = LocalColors.current.themeSecondary,