| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- package eu.mjdev.desktop.components.input
- import androidx.compose.foundation.interaction.MutableInteractionSource
- import androidx.compose.foundation.text.KeyboardActions
- import androidx.compose.foundation.text.KeyboardOptions
- import androidx.compose.foundation.text.selection.SelectionContainer
- import androidx.compose.material.LocalTextStyle
- import androidx.compose.material.OutlinedTextField
- import androidx.compose.material.TextFieldColors
- import androidx.compose.material.TextFieldDefaults
- import androidx.compose.runtime.Composable
- import androidx.compose.ui.Modifier
- import androidx.compose.ui.graphics.Shape
- import androidx.compose.ui.text.TextStyle
- import androidx.compose.ui.text.input.TextFieldValue
- import androidx.compose.ui.text.input.VisualTransformation
- @Composable
- fun SelectableOutlineEditText(
- value: String = "",
- onValueChange: (String) -> Unit = {},
- modifier: Modifier = Modifier,
- enabled: Boolean = true,
- readOnly: Boolean = false,
- textStyle: TextStyle = TextStyle.Default,
- label: @Composable (() -> Unit)? = null,
- placeholder: @Composable (() -> Unit)? = null,
- leadingIcon: @Composable (() -> Unit)? = null,
- trailingIcon: @Composable (() -> Unit)? = null,
- isError: Boolean = false,
- visualTransformation: VisualTransformation = VisualTransformation.None,
- keyboardOptions: KeyboardOptions = KeyboardOptions.Default,
- keyboardActions: KeyboardActions = KeyboardActions.Default,
- singleLine: Boolean = false,
- maxLines: Int = if (singleLine) 1 else Int.MAX_VALUE,
- minLines: Int = 1,
- interactionSource: MutableInteractionSource? = null,
- shape: Shape = TextFieldDefaults.OutlinedTextFieldShape,
- colors: TextFieldColors = TextFieldDefaults.outlinedTextFieldColors()
- ) = SelectionContainer(
- modifier = modifier
- ) {
- OutlinedTextField(
- value = value,
- onValueChange = onValueChange,
- enabled = enabled,
- readOnly = readOnly,
- textStyle = textStyle,
- label = label,
- placeholder = placeholder,
- leadingIcon = leadingIcon,
- trailingIcon = trailingIcon,
- isError = isError,
- visualTransformation = visualTransformation,
- keyboardOptions = keyboardOptions,
- keyboardActions = keyboardActions,
- maxLines = maxLines,
- minLines = minLines,
- interactionSource = interactionSource,
- shape = shape,
- colors = colors
- )
- }
- @Suppress("unused")
- @Composable
- fun SelectableOutlineEditText(
- value: TextFieldValue,
- onValueChange: (TextFieldValue) -> Unit,
- modifier: Modifier = Modifier,
- enabled: Boolean = true,
- readOnly: Boolean = false,
- textStyle: TextStyle = LocalTextStyle.current,
- label: @Composable (() -> Unit)? = null,
- placeholder: @Composable (() -> Unit)? = null,
- leadingIcon: @Composable (() -> Unit)? = null,
- trailingIcon: @Composable (() -> Unit)? = null,
- isError: Boolean = false,
- visualTransformation: VisualTransformation = VisualTransformation.None,
- keyboardOptions: KeyboardOptions = KeyboardOptions.Default,
- keyboardActions: KeyboardActions = KeyboardActions.Default,
- singleLine: Boolean = false,
- maxLines: Int = if (singleLine) 1 else Int.MAX_VALUE,
- minLines: Int = 1,
- interactionSource: MutableInteractionSource? = null,
- shape: Shape = TextFieldDefaults.OutlinedTextFieldShape,
- colors: TextFieldColors = TextFieldDefaults.outlinedTextFieldColors()
- ) = SelectionContainer(
- modifier = modifier
- ) {
- OutlinedTextField(
- value = value,
- onValueChange = onValueChange,
- enabled = enabled,
- readOnly = readOnly,
- textStyle = textStyle,
- label = label,
- placeholder = placeholder,
- leadingIcon = leadingIcon,
- trailingIcon = trailingIcon,
- isError = isError,
- visualTransformation = visualTransformation,
- keyboardOptions = keyboardOptions,
- keyboardActions = keyboardActions,
- maxLines = maxLines,
- minLines = minLines,
- interactionSource = interactionSource,
- shape = shape,
- colors = colors
- )
- }
|