NepaliWheelDatePicker
A wheel / scroll date picker for Bikram Sambat dates - three snapping columns (Year, Month, Day).
This is a lighter-weight alternative to the calendar-grid NepaliDatePicker: it is the pattern users reach for when entering a birth date or a date far from today, and it is the native feel on iOS. It also sidesteps the grid's heaviest paths - there is no ~1,500-item month pager and no per-cell BS to AD conversion; each column is a bounded LazyColumn reading the day-count table directly, so the day column always shows the correct 29 to 32 days for the chosen month.
The composable is always in a selected state (a wheel cannot be "empty"); onDateChange fires with the resolved CustomCalendar whenever the selection settles on a new date.
Parameters
the Modifier applied to the picker surface.
the SimpleDate shown centered on first composition. Defaults to today.
the selectable Bikram Sambat year range.
the NepaliDateLocale controlling language, month names, and digit script.
consulted via NepaliSelectableDates.isSelectableYear to drop non-selectable years from the year wheel. Fine-grained per-day disabling is not expressed by a wheel by design.
the NepaliDatePickerColors used to theme the picker.
the height of each wheel row.
how many rows are visible at once; coerced to an odd number of at least 3.
the Shape of the wheel surface.
the TextStyle of the centered (selected) row.
the TextStyle of the non-centered rows.
invoked with the resolved CustomCalendar when the selected date changes.
Example usage:
NepaliWheelDatePicker(
initialDate = NepaliDateConverter.todayNepaliSimpleDate,
onDateChange = { selected -> /* ... */}
)