Package limn.components.date


@NullMarked package limn.components.date
Dates and times: a field that types one, a grid that shows a month, and the picker that is both.

DateField is the segmented editor — its segments, their order and the separators between them come from the language's own short pattern, so the same code reads day/month/year in Portuguese and month/day/year in American English. CalendarView is a month grid a screen can hold on its own, with bounds, a filter, week numbers and marks. DatePicker composes them: the field is a real child, the grid opens in a popup, and a period is two fields and one grid.

The value is always ISO. Everything here hands out and takes in LocalDate, LocalTime and LocalDateTime. Which calendar system is drawn is a separate axis resolved from the widget's language — Gregorian everywhere until a locale carries a u-ca extension or an application names one — so a Thai user picks a day out of a grid headed with a Buddhist year and the application stores the ISO date it asked for.

DateRange is a period, both ends included and never inverted; DayMark is what is true of one day beyond its number, as a dot and as a phrase a screen reader hears.

  • Class
    Description
    A month at a time: six weeks of seven days, a header that names the month and pages it, and optionally a leading column of week numbers.
    What a click does.
    What the grid is showing.
    A date, a time, or both, typed into segments the language orders.
    How fine a field goes: which segment is its last.
    A date field with a calendar to pick from: the field is a real child, the calendar is a CalendarView in a popup, and this class is the wiring between them.
    A period between two days, both ends included.
    What is true of one day beyond its number: a holiday, a deadline, a day with appointments.