NepaliDateField
fun NepaliDateField(value: SimpleDate?, onValueChange: (SimpleDate?) -> Unit, modifier: Modifier = Modifier, dateFormat: NepaliDateFormatter.Pattern = Pattern.YYYY_SLASH_MM_SLASH_DD, yearRange: IntRange = NepaliCalendarDefaults.NepaliYearRange, selectableDates: NepaliSelectableDates = NepaliDatePickerDefaults.AllDates, locale: NepaliDateLocale = NepaliDatePickerDefaults.DefaultLocale, label: @Composable () -> Unit? = null, placeholder: @Composable () -> Unit? = { androidx.compose.material3.Text(dateFormat.literal) }, supportingText: @Composable () -> Unit? = null, leadingIcon: @Composable () -> Unit? = null, isError: Boolean = false, enabled: Boolean = true, readOnly: Boolean = false, keyboardOptions: KeyboardOptions = KeyboardOptions(
autoCorrectEnabled = false,
keyboardType = KeyboardType.Number,
imeAction = ImeAction.Done
), keyboardActions: KeyboardActions = KeyboardActions.Default, textStyle: TextStyle = LocalTextStyle.current, prefix: @Composable () -> Unit? = null, suffix: @Composable () -> Unit? = null, shape: Shape = OutlinedTextFieldDefaults.shape, interactionSource: MutableInteractionSource? = null, colors: TextFieldColors = OutlinedTextFieldDefaults.colors(), dialogProperties: DialogProperties = DialogProperties(), confirmButtonText: String = locale.language.okText, dismissButtonText: String = locale.language.cancelText)(source)
Material3-style date field - NepaliDateTextField with a trailing calendar icon that opens NepaliDatePickerDialog.
Same params as NepaliDateTextField. The picker dialog respects yearRange, selectableDates, and locale so the two surfaces stay in sync.
When the user confirms a date in the dialog, onValueChange fires once with the picked SimpleDate. Dismiss does not change value.