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, calendarSystem: CalendarSystem = CalendarSystem.BIKRAM_SAMBAT, showCalendarSystemToggle: Boolean = false, showAdjacentMonthDays: Boolean = false, dayDecorator: NepaliDayDecorator? = null)(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.
calendarSystem sets the calendar both the field and the dialog open in, and showCalendarSystemToggle lets the user change it from inside the dialog. showAdjacentMonthDays fills the dialog grid's empty cells with the neighbouring months' days.