@krizaka/ui 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/achievement.js +1 -1
  2. package/dist/action-bar.js +1 -1
  3. package/dist/app-shell.js +1 -1
  4. package/dist/argument-card.js +2 -2
  5. package/dist/card-grid.js +1 -1
  6. package/dist/card.js +1 -1
  7. package/dist/choice-grid.js +1 -1
  8. package/dist/{chunk-OGJI5X4W.js → chunk-2PUDI7JS.js} +2 -2
  9. package/dist/chunk-4LOMIQVX.js +21 -0
  10. package/dist/chunk-4LOMIQVX.js.map +1 -0
  11. package/dist/{chunk-K3SWZXYT.js → chunk-DGQMDJXK.js} +2 -2
  12. package/dist/chunk-G3ETON2A.js +22 -0
  13. package/dist/chunk-G3ETON2A.js.map +1 -0
  14. package/dist/chunk-I5RVM5CW.js +27 -0
  15. package/dist/chunk-I5RVM5CW.js.map +1 -0
  16. package/dist/chunk-IZ7MV6HM.js +26 -0
  17. package/dist/chunk-IZ7MV6HM.js.map +1 -0
  18. package/dist/chunk-ZNMFG62E.js +20 -0
  19. package/dist/chunk-ZNMFG62E.js.map +1 -0
  20. package/dist/cn.d.ts +9 -1
  21. package/dist/cn.js +5 -3
  22. package/dist/code-block.js +1 -1
  23. package/dist/command.js +1 -1
  24. package/dist/confirm-button.js +1 -1
  25. package/dist/continue-prompt.js +1 -1
  26. package/dist/cta-panel.js +1 -1
  27. package/dist/data-table.js +2 -2
  28. package/dist/date-picker.d.ts +650 -61
  29. package/dist/date-picker.js +918 -122
  30. package/dist/date-picker.js.map +1 -1
  31. package/dist/decision-list.js +1 -1
  32. package/dist/dropdown-menu.js +1 -1
  33. package/dist/error-page.js +1 -1
  34. package/dist/field.js +1 -1
  35. package/dist/filter-bar.js +2 -2
  36. package/dist/form.js.map +1 -1
  37. package/dist/gallery-page.js +1 -1
  38. package/dist/glow-card.js +1 -1
  39. package/dist/goal-gauge.js +1 -1
  40. package/dist/how-it-works-page.js +1 -1
  41. package/dist/landscape.js +1 -1
  42. package/dist/link-card.js +1 -1
  43. package/dist/longform-page.js +1 -1
  44. package/dist/marquee.js +1 -1
  45. package/dist/mascot-quote.js +1 -1
  46. package/dist/motion.css +18 -1
  47. package/dist/native/form.js.map +1 -1
  48. package/dist/native.d.ts +239 -2
  49. package/dist/native.js +955 -379
  50. package/dist/native.js.map +1 -1
  51. package/dist/nav-bar.js +1 -1
  52. package/dist/page-hero.js +2 -2
  53. package/dist/page.js +2 -2
  54. package/dist/popover.js +1 -1
  55. package/dist/pricing-page.js +1 -1
  56. package/dist/product-page.js +1 -1
  57. package/dist/profile-card.js +1 -1
  58. package/dist/promise-card.js +1 -1
  59. package/dist/scroll-stage.js +1 -1
  60. package/dist/stage-banner.js +1 -1
  61. package/dist/terminal-replay.js +1 -1
  62. package/dist/toast.js +1 -1
  63. package/dist/toc.js +1 -1
  64. package/dist/tooltip.js +1 -1
  65. package/package.json +7 -7
  66. package/registry/cn.json +1 -1
  67. package/registry/date-picker.json +1721 -284
  68. package/registry/examples/date-picker/birth-date-wheel.d.ts +4 -0
  69. package/registry/examples/date-picker/birth-date-wheel.js +13 -0
  70. package/registry/examples/date-picker/birth-date-wheel.tsx +11 -0
  71. package/registry/examples/date-picker/birth-date.d.ts +4 -0
  72. package/registry/examples/date-picker/birth-date.js +25 -0
  73. package/registry/examples/date-picker/birth-date.tsx +21 -0
  74. package/registry/examples/date-picker/calendar.js +1 -1
  75. package/registry/examples/date-picker/calendar.tsx +2 -6
  76. package/registry/examples/date-picker/day-strip.d.ts +4 -0
  77. package/registry/examples/date-picker/day-strip.js +28 -0
  78. package/registry/examples/date-picker/day-strip.tsx +27 -0
  79. package/registry/examples/date-picker/month-year.d.ts +4 -0
  80. package/registry/examples/date-picker/month-year.js +13 -0
  81. package/registry/examples/date-picker/month-year.tsx +10 -0
  82. package/registry/examples/date-picker/native/birth-date-wheel.d.ts +4 -0
  83. package/registry/examples/date-picker/native/birth-date-wheel.dark.png +0 -0
  84. package/registry/examples/date-picker/native/birth-date-wheel.js +13 -0
  85. package/registry/examples/date-picker/native/birth-date-wheel.light.png +0 -0
  86. package/registry/examples/date-picker/native/birth-date-wheel.tsx +9 -0
  87. package/registry/examples/date-picker/native/calendar.d.ts +4 -0
  88. package/registry/examples/date-picker/native/calendar.dark.png +0 -0
  89. package/registry/examples/date-picker/native/calendar.js +13 -0
  90. package/registry/examples/date-picker/native/calendar.light.png +0 -0
  91. package/registry/examples/date-picker/native/calendar.tsx +8 -0
  92. package/registry/examples/date-picker/native/day-strip.d.ts +4 -0
  93. package/registry/examples/date-picker/native/day-strip.dark.png +0 -0
  94. package/registry/examples/date-picker/native/day-strip.js +29 -0
  95. package/registry/examples/date-picker/native/day-strip.light.png +0 -0
  96. package/registry/examples/date-picker/native/day-strip.tsx +26 -0
  97. package/registry/examples/date-picker/native/month-year.d.ts +4 -0
  98. package/registry/examples/date-picker/native/month-year.dark.png +0 -0
  99. package/registry/examples/date-picker/native/month-year.js +13 -0
  100. package/registry/examples/date-picker/native/month-year.light.png +0 -0
  101. package/registry/examples/date-picker/native/month-year.tsx +8 -0
  102. package/registry/examples/date-picker/native/time-slots.d.ts +4 -0
  103. package/registry/examples/date-picker/native/time-slots.dark.png +0 -0
  104. package/registry/examples/date-picker/native/time-slots.js +15 -0
  105. package/registry/examples/date-picker/native/time-slots.light.png +0 -0
  106. package/registry/examples/date-picker/native/time-slots.tsx +15 -0
  107. package/registry/examples/date-picker/native/time-wheel.d.ts +4 -0
  108. package/registry/examples/date-picker/native/time-wheel.dark.png +0 -0
  109. package/registry/examples/date-picker/native/time-wheel.js +13 -0
  110. package/registry/examples/date-picker/native/time-wheel.light.png +0 -0
  111. package/registry/examples/date-picker/native/time-wheel.tsx +8 -0
  112. package/registry/examples/date-picker/time-slots.d.ts +4 -0
  113. package/registry/examples/date-picker/time-slots.js +26 -0
  114. package/registry/examples/date-picker/time-slots.tsx +25 -0
  115. package/registry/examples/date-picker/time-wheel.d.ts +4 -0
  116. package/registry/examples/date-picker/time-wheel.js +13 -0
  117. package/registry/examples/date-picker/time-wheel.tsx +10 -0
  118. package/registry/examples/date-picker/wheel.d.ts +4 -0
  119. package/registry/examples/date-picker/wheel.js +14 -0
  120. package/registry/examples/date-picker/wheel.tsx +16 -0
  121. package/registry/index.json +6 -5
  122. package/registry/theme.json +7 -0
  123. package/skills/date-picker/SKILL.md +43 -0
  124. package/dist/chunk-2USC2YT6.js +0 -17
  125. package/dist/chunk-2USC2YT6.js.map +0 -1
  126. package/dist/chunk-5AXLA4LK.js +0 -13
  127. package/dist/chunk-5AXLA4LK.js.map +0 -1
  128. package/dist/chunk-FJDSLNXK.js +0 -11
  129. package/dist/chunk-FJDSLNXK.js.map +0 -1
  130. package/dist/chunk-KNBYZGSQ.js +0 -11
  131. package/dist/chunk-KNBYZGSQ.js.map +0 -1
  132. package/dist/chunk-VCAAHCHL.js +0 -17
  133. package/dist/chunk-VCAAHCHL.js.map +0 -1
  134. /package/dist/{chunk-OGJI5X4W.js.map → chunk-2PUDI7JS.js.map} +0 -0
  135. /package/dist/{chunk-K3SWZXYT.js.map → chunk-DGQMDJXK.js.map} +0 -0
@@ -1,6 +1,53 @@
1
1
  import * as tailwind_variants from 'tailwind-variants';
2
2
  import * as React from 'react';
3
3
 
4
+ /** A part of a typed date. */
5
+ type DatePart = "day" | "month" | "year";
6
+ /** The order of day, month and year in a locale (`en-US` → month, day, year; `fr` → day, month, year). */
7
+ declare function datePartsOrder(locale: string): DatePart[];
8
+ /** The ISO-ordered value of what was typed: `""` when nothing is, `YYYY-MM-DD` otherwise (not necessarily a real date). */
9
+ declare function composeDate(parts: Readonly<Record<DatePart, string>>): string;
10
+ /** True for a real calendar date written `YYYY-MM-DD` (not `2001-02-30`). */
11
+ declare function isRealDate(value: string): boolean;
12
+ /** The latest date of birth of someone `age` years old today (`YYYY-MM-DD`): an age gate's `max`, `value <= latestBirthDate(18)`. */
13
+ declare function latestBirthDate(age: number, today?: Date): string;
14
+ /** The days of a month (`month` 1–12). */
15
+ declare function daysInMonth(year: number, month: number): number;
16
+ /** `{ 2026, 10, 11 }` → `2026-10-11`, the day kept inside the month (`2026-02-31` → `2026-02-28`). */
17
+ declare function isoOf(year: number, month: number, day: number): string;
18
+ /** The ISO date of today on this device (or of the `Date` given). */
19
+ declare function todayIso(now?: Date): string;
20
+ /** The age in whole years on `today` of someone born on `birth` (both ISO). */
21
+ declare function ageOn(birth: string, today?: string): number;
22
+ /** The month names of a locale, January first (`long` · `short` · `narrow`). */
23
+ declare function monthNames(locale: string, style?: "long" | "short" | "narrow"): string[];
24
+ /** The years from `from` to `to`, both included, in that order (descending when `from > to`). */
25
+ declare function yearRange(from: number, to: number): number[];
26
+ /** A time of day, `HH:mm` on 24 hours (`"09:30"`, `"18:00"`): the value of every time picker. */
27
+ type TimeValue = string;
28
+ /** `"9:5"` / `"09:05"` → minutes since midnight; `null` when it is not a time. */
29
+ declare function timeToMinutes(value: string | null | undefined): number | null;
30
+ /** Minutes since midnight → `HH:mm`. */
31
+ declare function minutesToTime(minutes: number): TimeValue;
32
+ /** The slots of a day from `start` to `end` (excluded) every `step` minutes: `timeSlots("09:00", "12:00", 30)`. */
33
+ declare function timeSlots(start: TimeValue, end: TimeValue, step?: number): TimeValue[];
34
+ /** True when the locale writes the time on 12 hours with a day period (`en-US` → true, `fr-CA` → false). */
35
+ declare function uses12Hours(locale: string): boolean;
36
+ /** The day periods of a locale, morning first (`["AM", "PM"]`, `["a.m.", "p.m."]`). */
37
+ declare function dayPeriods(locale: string): [string, string];
38
+ /** A time written the locale's way (`"18:30"` → `"6:30 PM"` in en-US, `"18 h 30"` in fr-CA). */
39
+ declare function formatTime(locale: string, value: TimeValue): string;
40
+ /** A local `Date` at midnight for an ISO date (for formatting). */
41
+ declare const toLocalDate: (iso: string) => Date;
42
+ /** The ISO date of a local `Date`. */
43
+ declare const toIsoDate: (date: Date) => string;
44
+ /** The ISO date `days` later (or earlier). */
45
+ declare const addDays: (iso: string, days: number) => string;
46
+ /** The ISO date `months` later (or earlier), the day kept inside the shorter months (`01-31` + 1 → `02-28`). */
47
+ declare const addMonths: (iso: string, months: number) => string;
48
+ /** The first day of the week for a locale (0 = Sunday … 6 = Saturday), from `Intl.Locale` week info; Monday otherwise. */
49
+ declare function weekStartOf(locale: string): number;
50
+
4
51
  /** A calendar date, `YYYY-MM-DD`. */
5
52
  type IsoDate = string;
6
53
  /** A range of calendar dates; `end` is `null` while the second date is not chosen. */
@@ -9,85 +56,80 @@ type DateRange = {
9
56
  end: IsoDate | null;
10
57
  };
11
58
  declare const calendar: tailwind_variants.TVReturnType<{
12
- [key: string]: {
13
- [key: string]: tailwind_variants.ClassValue | {
14
- root?: tailwind_variants.ClassValue;
15
- header?: tailwind_variants.ClassValue;
16
- title?: tailwind_variants.ClassValue;
17
- grid?: tailwind_variants.ClassValue;
18
- weekday?: tailwind_variants.ClassValue;
19
- cell?: tailwind_variants.ClassValue;
20
- nav?: tailwind_variants.ClassValue;
21
- day?: tailwind_variants.ClassValue;
59
+ variant: {
60
+ plain: {};
61
+ card: {
62
+ root: string;
22
63
  };
23
64
  };
24
- } | {
25
- [x: string]: {
26
- [x: string]: tailwind_variants.ClassValue | {
27
- root?: tailwind_variants.ClassValue;
28
- header?: tailwind_variants.ClassValue;
29
- title?: tailwind_variants.ClassValue;
30
- grid?: tailwind_variants.ClassValue;
31
- weekday?: tailwind_variants.ClassValue;
32
- cell?: tailwind_variants.ClassValue;
33
- nav?: tailwind_variants.ClassValue;
34
- day?: tailwind_variants.ClassValue;
35
- };
36
- };
37
- } | {}, {
65
+ }, {
38
66
  root: string;
39
67
  header: string;
40
- title: string;
68
+ caption: string;
41
69
  nav: string;
70
+ months: string;
71
+ month: string;
72
+ monthTitle: string;
42
73
  grid: string;
43
74
  weekday: string;
44
75
  cell: string;
45
76
  day: string;
77
+ node: string;
78
+ live: string;
46
79
  }, undefined, {
47
- [key: string]: {
48
- [key: string]: tailwind_variants.ClassValue | {
49
- root?: tailwind_variants.ClassValue;
50
- header?: tailwind_variants.ClassValue;
51
- title?: tailwind_variants.ClassValue;
52
- grid?: tailwind_variants.ClassValue;
53
- weekday?: tailwind_variants.ClassValue;
54
- cell?: tailwind_variants.ClassValue;
55
- nav?: tailwind_variants.ClassValue;
56
- day?: tailwind_variants.ClassValue;
80
+ variant: {
81
+ plain: {};
82
+ card: {
83
+ root: string;
57
84
  };
58
85
  };
59
- } | {}, {
86
+ }, {
60
87
  root: string;
61
88
  header: string;
62
- title: string;
89
+ caption: string;
63
90
  nav: string;
91
+ months: string;
92
+ month: string;
93
+ monthTitle: string;
64
94
  grid: string;
65
95
  weekday: string;
66
96
  cell: string;
67
97
  day: string;
68
- }, tailwind_variants.TVReturnTypeLike<unknown, {
98
+ node: string;
99
+ live: string;
100
+ }, tailwind_variants.TVReturnTypeLike<{
101
+ variant: {
102
+ plain: {};
103
+ card: {
104
+ root: string;
105
+ };
106
+ };
107
+ }, {
69
108
  root: string;
70
109
  header: string;
71
- title: string;
110
+ caption: string;
72
111
  nav: string;
112
+ months: string;
113
+ month: string;
114
+ monthTitle: string;
73
115
  grid: string;
74
116
  weekday: string;
75
117
  cell: string;
76
118
  day: string;
119
+ node: string;
120
+ live: string;
77
121
  }>>;
78
- /** A local `Date` at midnight for an ISO date (for formatting). */
79
- declare const toLocalDate: (iso: IsoDate) => Date;
80
- /** The ISO date of a local `Date`. */
81
- declare const toIsoDate: (date: Date) => IsoDate;
82
- declare const addDays: (iso: IsoDate, days: number) => string;
83
- declare const addMonths: (iso: IsoDate, months: number) => string;
84
- /** The first day of the week for a locale (0 = Sunday … 6 = Saturday), from `Intl.Locale` week info; Monday otherwise. */
85
- declare function weekStartOf(locale: string): number;
86
122
  type CalendarLabels = {
87
123
  /** The previous-month button ("Previous month"). */
88
124
  previousMonth: string;
89
125
  /** The next-month button ("Next month"). */
90
126
  nextMonth: string;
127
+ /** The month's title as a button: opens the months of the year ("Choose month and year"). */
128
+ chooseMonth: string;
129
+ /** The previous-year button of the months view ("Previous year"). */
130
+ previousYear: string;
131
+ /** The next-year button of the months view ("Next year"). */
132
+ nextYear: string;
91
133
  };
92
134
  declare const calendarLabels: CalendarLabels;
93
135
  type CalendarProps = {
@@ -95,16 +137,18 @@ type CalendarProps = {
95
137
  locale: string;
96
138
  /** The chosen date (one-date mode). */
97
139
  value?: IsoDate | null;
98
- /** The chosen range (range mode): its ends are marked, the days between tinted. */
140
+ /** The chosen range (range mode): its ends are lit, the days between are one band. */
99
141
  range?: DateRange | null;
100
142
  /** Called with the day picked. */
101
143
  onSelect?: (date: IsoDate) => void;
102
- /** The month shown, any day of it (controlled). */
144
+ /** The month shown (the first one, with `numberOfMonths={2}`), any day of it (controlled). */
103
145
  month?: IsoDate;
104
146
  /** The month shown at first. Default: the value's, or today's. */
105
147
  defaultMonth?: IsoDate;
106
148
  /** Called when the month shown changes. */
107
149
  onMonthChange?: (month: IsoDate) => void;
150
+ /** One month, or two side by side (a period: from a phone's width up, they stack on a phone). */
151
+ numberOfMonths?: 1 | 2;
108
152
  /** The earliest date that can be picked. */
109
153
  min?: IsoDate;
110
154
  /** The latest date that can be picked. */
@@ -117,13 +161,134 @@ type CalendarProps = {
117
161
  today?: IsoDate;
118
162
  /** Moves the focus to the active day when it mounts (inside a popover). */
119
163
  autoFocus?: boolean;
164
+ /** `plain` (inside a popover, a card of the app) or `card` (the calendar is the interface: its own raised surface). */
165
+ variant?: "plain" | "card";
120
166
  /** The words, passed translated; English by default. */
121
167
  labels?: Partial<CalendarLabels>;
122
168
  /** Classes merged on the root. */
123
169
  className?: string;
124
170
  };
125
171
  /** A month grid to pick a date or the ends of a range, with the full keyboard of the APG date picker. */
126
- declare function Calendar({ locale, value, range, onSelect, month: monthProp, defaultMonth, onMonthChange, min, max, isDateDisabled, weekStartsOn, today: todayProp, autoFocus, labels: given, className, }: CalendarProps): React.JSX.Element;
172
+ declare function Calendar({ locale, value, range, onSelect, month: monthProp, defaultMonth, onMonthChange, numberOfMonths, min, max, isDateDisabled, weekStartsOn, today: todayProp, autoFocus, variant, labels: given, className, }: CalendarProps): React.JSX.Element;
173
+
174
+ declare const dateField: tailwind_variants.TVReturnType<{
175
+ [key: string]: {
176
+ [key: string]: tailwind_variants.ClassValue | {
177
+ root?: tailwind_variants.ClassValue;
178
+ input?: tailwind_variants.ClassValue;
179
+ legend?: tailwind_variants.ClassValue;
180
+ row?: tailwind_variants.ClassValue;
181
+ part?: tailwind_variants.ClassValue;
182
+ hint?: tailwind_variants.ClassValue;
183
+ error?: tailwind_variants.ClassValue;
184
+ };
185
+ };
186
+ } | {
187
+ [x: string]: {
188
+ [x: string]: tailwind_variants.ClassValue | {
189
+ root?: tailwind_variants.ClassValue;
190
+ input?: tailwind_variants.ClassValue;
191
+ legend?: tailwind_variants.ClassValue;
192
+ row?: tailwind_variants.ClassValue;
193
+ part?: tailwind_variants.ClassValue;
194
+ hint?: tailwind_variants.ClassValue;
195
+ error?: tailwind_variants.ClassValue;
196
+ };
197
+ };
198
+ } | {}, {
199
+ root: string;
200
+ legend: string;
201
+ row: string;
202
+ part: string;
203
+ input: string;
204
+ hint: string;
205
+ error: string;
206
+ }, undefined, {
207
+ [key: string]: {
208
+ [key: string]: tailwind_variants.ClassValue | {
209
+ root?: tailwind_variants.ClassValue;
210
+ input?: tailwind_variants.ClassValue;
211
+ legend?: tailwind_variants.ClassValue;
212
+ row?: tailwind_variants.ClassValue;
213
+ part?: tailwind_variants.ClassValue;
214
+ hint?: tailwind_variants.ClassValue;
215
+ error?: tailwind_variants.ClassValue;
216
+ };
217
+ };
218
+ } | {}, {
219
+ root: string;
220
+ legend: string;
221
+ row: string;
222
+ part: string;
223
+ input: string;
224
+ hint: string;
225
+ error: string;
226
+ }, tailwind_variants.TVReturnTypeLike<unknown, {
227
+ root: string;
228
+ legend: string;
229
+ row: string;
230
+ part: string;
231
+ input: string;
232
+ hint: string;
233
+ error: string;
234
+ }>>;
235
+ type DateFieldLabels = {
236
+ /** The name of the day ("Day"). */
237
+ day: string;
238
+ /** The name of the month ("Month"). */
239
+ month: string;
240
+ /** The name of the year ("Year"). */
241
+ year: string;
242
+ };
243
+ declare const dateFieldLabels: DateFieldLabels;
244
+ type Common = {
245
+ /** The visible label, passed translated (the group's name). */
246
+ label: string;
247
+ /** The BCP 47 locale: the order of the parts, the names of the months. */
248
+ locale: string;
249
+ /** A help text under the field ("For example, 27 3 1990"). */
250
+ hint?: string;
251
+ /** An error under the field: marks it invalid and is read with it. Replaces the hint. */
252
+ error?: string;
253
+ /** Not available. */
254
+ disabled?: boolean;
255
+ /** The name of a hidden input holding the value, for a plain `<form>` post. */
256
+ name?: string;
257
+ /** The names of the parts, passed translated; English by default. */
258
+ labels?: Partial<DateFieldLabels>;
259
+ /** Classes merged on the root. */
260
+ className?: string;
261
+ };
262
+ type DateFieldProps = Common & {
263
+ /** The date, `YYYY-MM-DD` (controlled); `""` for none. What is typed comes back as it is, real date or not: the schema decides. */
264
+ value?: string;
265
+ /** The date at first, uncontrolled. */
266
+ defaultValue?: string;
267
+ /** Called on every key with the date typed so far (`""` when the boxes are empty). */
268
+ onValueChange?: (value: string) => void;
269
+ /** Called when the focus leaves the field. */
270
+ onBlur?: () => void;
271
+ /** `bday` for a date of birth: the browser offers to fill it. */
272
+ autoComplete?: "bday" | "off";
273
+ };
274
+ /** Day · month · year typed in the locale's order: numeric keyboards, the next box focused when one is full. */
275
+ declare function DateField({ label, locale, hint, error, disabled, name, labels: given, className, value: valueProp, defaultValue, onValueChange, onBlur, autoComplete }: DateFieldProps): React.JSX.Element;
276
+ type DateWheelProps = Common & {
277
+ /** The date, `YYYY-MM-DD` (controlled); `""` or `null` for none (the wheels then rest on `defaultView`). */
278
+ value?: string | null;
279
+ /** The date at first, uncontrolled. */
280
+ defaultValue?: string | null;
281
+ /** Called with the date under the band, always a real date within `min` / `max`. */
282
+ onValueChange?: (value: string) => void;
283
+ /** The earliest date (ISO): the years start there, the days before it are refused. Default: 120 years ago. */
284
+ min?: string;
285
+ /** The latest date (ISO): `latestBirthDate(18)` for an age gate. Default: today. */
286
+ max?: string;
287
+ /** Where the wheels rest while there is no value. Default: `max` (a birth date: the youngest allowed). */
288
+ defaultView?: string;
289
+ };
290
+ /** Day, month and year as three wheels in the locale's order, bounded by `min` and `max`: always a real date. */
291
+ declare function DateWheel({ label, locale, hint, error, disabled, name, labels: given, className, value: valueProp, defaultValue, onValueChange, min, max, defaultView }: DateWheelProps): React.JSX.Element;
127
292
 
128
293
  declare const datePicker: tailwind_variants.TVReturnType<{
129
294
  [key: string]: {
@@ -131,12 +296,13 @@ declare const datePicker: tailwind_variants.TVReturnType<{
131
296
  root?: tailwind_variants.ClassValue;
132
297
  label?: tailwind_variants.ClassValue;
133
298
  row?: tailwind_variants.ClassValue;
134
- content?: tailwind_variants.ClassValue;
135
299
  hint?: tailwind_variants.ClassValue;
300
+ error?: tailwind_variants.ClassValue;
301
+ content?: tailwind_variants.ClassValue;
136
302
  icon?: tailwind_variants.ClassValue;
137
303
  layout?: tailwind_variants.ClassValue;
138
304
  presets?: tailwind_variants.ClassValue;
139
- error?: tailwind_variants.ClassValue;
305
+ presetNode?: tailwind_variants.ClassValue;
140
306
  trigger?: tailwind_variants.ClassValue;
141
307
  clear?: tailwind_variants.ClassValue;
142
308
  preset?: tailwind_variants.ClassValue;
@@ -148,12 +314,13 @@ declare const datePicker: tailwind_variants.TVReturnType<{
148
314
  root?: tailwind_variants.ClassValue;
149
315
  label?: tailwind_variants.ClassValue;
150
316
  row?: tailwind_variants.ClassValue;
151
- content?: tailwind_variants.ClassValue;
152
317
  hint?: tailwind_variants.ClassValue;
318
+ error?: tailwind_variants.ClassValue;
319
+ content?: tailwind_variants.ClassValue;
153
320
  icon?: tailwind_variants.ClassValue;
154
321
  layout?: tailwind_variants.ClassValue;
155
322
  presets?: tailwind_variants.ClassValue;
156
- error?: tailwind_variants.ClassValue;
323
+ presetNode?: tailwind_variants.ClassValue;
157
324
  trigger?: tailwind_variants.ClassValue;
158
325
  clear?: tailwind_variants.ClassValue;
159
326
  preset?: tailwind_variants.ClassValue;
@@ -170,6 +337,7 @@ declare const datePicker: tailwind_variants.TVReturnType<{
170
337
  layout: string;
171
338
  presets: string;
172
339
  preset: string;
340
+ presetNode: string;
173
341
  hint: string;
174
342
  error: string;
175
343
  }, undefined, {
@@ -178,12 +346,13 @@ declare const datePicker: tailwind_variants.TVReturnType<{
178
346
  root?: tailwind_variants.ClassValue;
179
347
  label?: tailwind_variants.ClassValue;
180
348
  row?: tailwind_variants.ClassValue;
181
- content?: tailwind_variants.ClassValue;
182
349
  hint?: tailwind_variants.ClassValue;
350
+ error?: tailwind_variants.ClassValue;
351
+ content?: tailwind_variants.ClassValue;
183
352
  icon?: tailwind_variants.ClassValue;
184
353
  layout?: tailwind_variants.ClassValue;
185
354
  presets?: tailwind_variants.ClassValue;
186
- error?: tailwind_variants.ClassValue;
355
+ presetNode?: tailwind_variants.ClassValue;
187
356
  trigger?: tailwind_variants.ClassValue;
188
357
  clear?: tailwind_variants.ClassValue;
189
358
  preset?: tailwind_variants.ClassValue;
@@ -200,6 +369,7 @@ declare const datePicker: tailwind_variants.TVReturnType<{
200
369
  layout: string;
201
370
  presets: string;
202
371
  preset: string;
372
+ presetNode: string;
203
373
  hint: string;
204
374
  error: string;
205
375
  }, tailwind_variants.TVReturnTypeLike<unknown, {
@@ -213,6 +383,7 @@ declare const datePicker: tailwind_variants.TVReturnType<{
213
383
  layout: string;
214
384
  presets: string;
215
385
  preset: string;
386
+ presetNode: string;
216
387
  hint: string;
217
388
  error: string;
218
389
  }>>;
@@ -221,7 +392,7 @@ type DatePickerLabels = CalendarLabels & {
221
392
  clear: string;
222
393
  };
223
394
  declare const datePickerLabels: DatePickerLabels;
224
- type Shared = Pick<CalendarProps, "locale" | "min" | "max" | "isDateDisabled" | "weekStartsOn" | "today"> & {
395
+ type Shared$1 = Pick<CalendarProps, "locale" | "min" | "max" | "isDateDisabled" | "weekStartsOn" | "today"> & {
225
396
  /** The visible label, passed translated (also the button's accessible name, with the value). */
226
397
  label: string;
227
398
  /** Shown while nothing is chosen ("Pick a date"), passed translated. */
@@ -245,7 +416,7 @@ type Shared = Pick<CalendarProps, "locale" | "min" | "max" | "isDateDisabled" |
245
416
  /** Classes merged on the root. */
246
417
  className?: string;
247
418
  };
248
- type DatePickerProps = Shared & {
419
+ type DatePickerProps = Shared$1 & {
249
420
  /** The chosen date, ISO (controlled); `null` for none. */
250
421
  value?: IsoDate | null;
251
422
  /** The chosen date at first, uncontrolled. */
@@ -263,7 +434,7 @@ type DateRangePreset = {
263
434
  /** The last day, ISO. */
264
435
  end: IsoDate;
265
436
  };
266
- type DateRangePickerProps = Shared & {
437
+ type DateRangePickerProps = Shared$1 & {
267
438
  /** The chosen range (controlled); `null` for none. `end` is never `null` in a committed value. */
268
439
  value?: {
269
440
  start: IsoDate;
@@ -281,8 +452,426 @@ type DateRangePickerProps = Shared & {
281
452
  } | null) => void;
282
453
  /** Ranges one click away ("Last 7 days", "This month"), beside the calendar. */
283
454
  presets?: readonly DateRangePreset[];
455
+ /** Two months side by side (default, from a phone's width up) or one. */
456
+ numberOfMonths?: 1 | 2;
284
457
  };
285
458
  /** A period field: two clicks on one calendar (the days between tinted as you hover), optional presets. */
286
- declare function DateRangePicker({ value: valueProp, defaultValue, onValueChange, presets, defaultOpen, ...shared }: DateRangePickerProps): React.JSX.Element;
459
+ declare function DateRangePicker({ value: valueProp, defaultValue, onValueChange, presets, numberOfMonths, defaultOpen, ...shared }: DateRangePickerProps): React.JSX.Element;
460
+
461
+ declare const dayStrip: tailwind_variants.TVReturnType<{
462
+ [key: string]: {
463
+ [key: string]: tailwind_variants.ClassValue | {
464
+ number?: tailwind_variants.ClassValue;
465
+ day?: tailwind_variants.ClassValue;
466
+ weekday?: tailwind_variants.ClassValue;
467
+ root?: tailwind_variants.ClassValue;
468
+ header?: tailwind_variants.ClassValue;
469
+ nav?: tailwind_variants.ClassValue;
470
+ mark?: tailwind_variants.ClassValue;
471
+ title?: tailwind_variants.ClassValue;
472
+ track?: tailwind_variants.ClassValue;
473
+ node?: tailwind_variants.ClassValue;
474
+ navs?: tailwind_variants.ClassValue;
475
+ noMark?: tailwind_variants.ClassValue;
476
+ };
477
+ };
478
+ } | {
479
+ [x: string]: {
480
+ [x: string]: tailwind_variants.ClassValue | {
481
+ number?: tailwind_variants.ClassValue;
482
+ day?: tailwind_variants.ClassValue;
483
+ weekday?: tailwind_variants.ClassValue;
484
+ root?: tailwind_variants.ClassValue;
485
+ header?: tailwind_variants.ClassValue;
486
+ nav?: tailwind_variants.ClassValue;
487
+ mark?: tailwind_variants.ClassValue;
488
+ title?: tailwind_variants.ClassValue;
489
+ track?: tailwind_variants.ClassValue;
490
+ node?: tailwind_variants.ClassValue;
491
+ navs?: tailwind_variants.ClassValue;
492
+ noMark?: tailwind_variants.ClassValue;
493
+ };
494
+ };
495
+ } | {}, {
496
+ root: string;
497
+ header: string;
498
+ title: string;
499
+ navs: string;
500
+ nav: string;
501
+ track: string;
502
+ day: string;
503
+ weekday: string;
504
+ number: string;
505
+ node: string;
506
+ mark: string;
507
+ noMark: string;
508
+ }, undefined, {
509
+ [key: string]: {
510
+ [key: string]: tailwind_variants.ClassValue | {
511
+ number?: tailwind_variants.ClassValue;
512
+ day?: tailwind_variants.ClassValue;
513
+ weekday?: tailwind_variants.ClassValue;
514
+ root?: tailwind_variants.ClassValue;
515
+ header?: tailwind_variants.ClassValue;
516
+ nav?: tailwind_variants.ClassValue;
517
+ mark?: tailwind_variants.ClassValue;
518
+ title?: tailwind_variants.ClassValue;
519
+ track?: tailwind_variants.ClassValue;
520
+ node?: tailwind_variants.ClassValue;
521
+ navs?: tailwind_variants.ClassValue;
522
+ noMark?: tailwind_variants.ClassValue;
523
+ };
524
+ };
525
+ } | {}, {
526
+ root: string;
527
+ header: string;
528
+ title: string;
529
+ navs: string;
530
+ nav: string;
531
+ track: string;
532
+ day: string;
533
+ weekday: string;
534
+ number: string;
535
+ node: string;
536
+ mark: string;
537
+ noMark: string;
538
+ }, tailwind_variants.TVReturnTypeLike<unknown, {
539
+ root: string;
540
+ header: string;
541
+ title: string;
542
+ navs: string;
543
+ nav: string;
544
+ track: string;
545
+ day: string;
546
+ weekday: string;
547
+ number: string;
548
+ node: string;
549
+ mark: string;
550
+ noMark: string;
551
+ }>>;
552
+ type DayStripLabels = {
553
+ /** The button that shows the earlier days ("Earlier days"). */
554
+ previous: string;
555
+ /** The button that shows the later days ("Later days"). */
556
+ next: string;
557
+ /** Added to the name of a marked day ("has events"). */
558
+ marked: string;
559
+ };
560
+ declare const dayStripLabels: DayStripLabels;
561
+ type DayStripProps = {
562
+ /** The group's accessible name ("Delivery day"), passed translated. */
563
+ label: string;
564
+ /** The BCP 47 locale of the names and the dates: always explicit. */
565
+ locale: string;
566
+ /** The chosen day, ISO (controlled); `null` for none. */
567
+ value?: IsoDate | null;
568
+ /** The chosen day at first, uncontrolled. */
569
+ defaultValue?: IsoDate | null;
570
+ /** Called with the day picked. */
571
+ onValueChange?: (value: IsoDate) => void;
572
+ /** The first day of the strip. Default: today. */
573
+ start?: IsoDate;
574
+ /** How many days. Default 14. */
575
+ days?: number;
576
+ /** Refuses some days (closed, full): drawn dashed, skipped by the arrows. */
577
+ isDateDisabled?: (date: IsoDate) => boolean;
578
+ /** Marks the days that have something (a session, an event): a dot, and `labels.marked` in their name. */
579
+ isDateMarked?: (date: IsoDate) => boolean;
580
+ /** Today (marked by the node): inject it for a stable render or a test. Default: the device's date. */
581
+ today?: IsoDate;
582
+ /** Shows the month of the chosen day (or of the first) and the page buttons above the strip. */
583
+ showHeader?: boolean;
584
+ /** The words, passed translated; English by default. */
585
+ labels?: Partial<DayStripLabels>;
586
+ /** Classes merged on the root. */
587
+ className?: string;
588
+ };
589
+ /** The days ahead in a row that scrolls sideways: one picked, today and the marked days shown. */
590
+ declare function DayStrip({ label, locale, value: valueProp, defaultValue, onValueChange, start, days, isDateDisabled, isDateMarked, today: todayProp, showHeader, labels: given, className }: DayStripProps): React.JSX.Element;
591
+
592
+ /** A calendar month, `YYYY-MM`. */
593
+ type IsoMonth = string;
594
+ declare const monthPicker: tailwind_variants.TVReturnType<{
595
+ variant: {
596
+ plain: {};
597
+ card: {
598
+ root: string;
599
+ };
600
+ };
601
+ }, {
602
+ root: string;
603
+ header: string;
604
+ year: string;
605
+ nav: string;
606
+ grid: string;
607
+ month: string;
608
+ }, undefined, {
609
+ variant: {
610
+ plain: {};
611
+ card: {
612
+ root: string;
613
+ };
614
+ };
615
+ }, {
616
+ root: string;
617
+ header: string;
618
+ year: string;
619
+ nav: string;
620
+ grid: string;
621
+ month: string;
622
+ }, tailwind_variants.TVReturnTypeLike<{
623
+ variant: {
624
+ plain: {};
625
+ card: {
626
+ root: string;
627
+ };
628
+ };
629
+ }, {
630
+ root: string;
631
+ header: string;
632
+ year: string;
633
+ nav: string;
634
+ grid: string;
635
+ month: string;
636
+ }>>;
637
+ type MonthPickerLabels = {
638
+ /** The previous-year button ("Previous year"). */
639
+ previousYear: string;
640
+ /** The next-year button ("Next year"). */
641
+ nextYear: string;
642
+ };
643
+ declare const monthPickerLabels: MonthPickerLabels;
644
+ type MonthPickerProps = {
645
+ /** The BCP 47 locale of the month names: always explicit. */
646
+ locale: string;
647
+ /** The chosen month, `YYYY-MM` (controlled); `null` for none. */
648
+ value?: IsoMonth | null;
649
+ /** The chosen month at first, uncontrolled. */
650
+ defaultValue?: IsoMonth | null;
651
+ /** Called with the month picked. */
652
+ onValueChange?: (value: IsoMonth | null) => void;
653
+ /** The year shown (controlled). */
654
+ year?: number;
655
+ /** Called when the year shown changes. */
656
+ onYearChange?: (year: number) => void;
657
+ /** The earliest month that can be picked, `YYYY-MM`. */
658
+ min?: IsoMonth;
659
+ /** The latest month that can be picked, `YYYY-MM`. */
660
+ max?: IsoMonth;
661
+ /** This month (marked): inject it for a stable render or a test. Default: the device's. */
662
+ current?: IsoMonth;
663
+ /** Moves the focus to the active month when it mounts. */
664
+ autoFocus?: boolean;
665
+ /** Without its own year header (inside the calendar, which has one). */
666
+ bare?: boolean;
667
+ /** `plain` or `card` (its own raised surface). */
668
+ variant?: "plain" | "card";
669
+ /** The words, passed translated; English by default. */
670
+ labels?: Partial<MonthPickerLabels>;
671
+ /** Classes merged on the root. */
672
+ className?: string;
673
+ };
674
+ /** A month of a year: twelve months in a grid, the year above them. */
675
+ declare function MonthPicker({ locale, value: valueProp, defaultValue, onValueChange, year: yearProp, onYearChange, min, max, current, autoFocus, bare, variant, labels: given, className }: MonthPickerProps): React.JSX.Element;
676
+
677
+ declare const timePicker: tailwind_variants.TVReturnType<{
678
+ [key: string]: {
679
+ [key: string]: tailwind_variants.ClassValue | {
680
+ slots?: tailwind_variants.ClassValue;
681
+ slot?: tailwind_variants.ClassValue;
682
+ group?: tailwind_variants.ClassValue;
683
+ heading?: tailwind_variants.ClassValue;
684
+ };
685
+ };
686
+ } | {
687
+ [x: string]: {
688
+ [x: string]: tailwind_variants.ClassValue | {
689
+ slots?: tailwind_variants.ClassValue;
690
+ slot?: tailwind_variants.ClassValue;
691
+ group?: tailwind_variants.ClassValue;
692
+ heading?: tailwind_variants.ClassValue;
693
+ };
694
+ };
695
+ } | {}, {
696
+ slots: string;
697
+ slot: string;
698
+ group: string;
699
+ heading: string;
700
+ }, undefined, {
701
+ [key: string]: {
702
+ [key: string]: tailwind_variants.ClassValue | {
703
+ slots?: tailwind_variants.ClassValue;
704
+ slot?: tailwind_variants.ClassValue;
705
+ group?: tailwind_variants.ClassValue;
706
+ heading?: tailwind_variants.ClassValue;
707
+ };
708
+ };
709
+ } | {}, {
710
+ slots: string;
711
+ slot: string;
712
+ group: string;
713
+ heading: string;
714
+ }, tailwind_variants.TVReturnTypeLike<unknown, {
715
+ slots: string;
716
+ slot: string;
717
+ group: string;
718
+ heading: string;
719
+ }>>;
720
+ type TimePickerLabels = {
721
+ /** The hours' wheel ("Hours"). */
722
+ hours: string;
723
+ /** The minutes' wheel ("Minutes"). */
724
+ minutes: string;
725
+ /** The day period's wheel ("AM/PM"). */
726
+ period: string;
727
+ };
728
+ declare const timePickerLabels: TimePickerLabels;
729
+ type Shared = {
730
+ /** The accessible name of the picker ("Pick-up time"), passed translated. */
731
+ label: string;
732
+ /** The BCP 47 locale: how times are written, and whether the day has a period (AM/PM). */
733
+ locale: string;
734
+ /** The time, `HH:mm` on 24 hours (controlled); `null` for none. */
735
+ value?: TimeValue | null;
736
+ /** The time at first, uncontrolled. */
737
+ defaultValue?: TimeValue | null;
738
+ /** Called with the time chosen. */
739
+ onValueChange?: (value: TimeValue) => void;
740
+ /** Not available. */
741
+ disabled?: boolean;
742
+ /** Classes merged on the root. */
743
+ className?: string;
744
+ };
745
+ type TimePickerProps = Shared & ({
746
+ /** `wheel`: hours and minutes (and the period) as wheels — a time you set (a reminder, an alarm). */
747
+ variant?: "wheel";
748
+ /** The minutes' step: 1, 5 (default), 10, 15, 30. */
749
+ minuteStep?: number;
750
+ /** Forces 12 or 24 hours. Default: the locale's. */
751
+ hour12?: boolean;
752
+ /** The words of the wheels, passed translated; English by default. */
753
+ labels?: Partial<TimePickerLabels>;
754
+ slots?: never;
755
+ isTimeDisabled?: never;
756
+ groupLabels?: never;
757
+ } | {
758
+ /** `slots`: the free times as buttons — a booking, a delivery window, an appointment. */
759
+ variant: "slots";
760
+ /** The times offered, `HH:mm` (`timeSlots("09:00", "17:00", 30)`). */
761
+ slots: readonly TimeValue[];
762
+ /** Refuses some slots (taken, too soon): drawn struck through, skipped by the arrows. */
763
+ isTimeDisabled?: (time: TimeValue) => boolean;
764
+ /** Splits the slots under headings by part of the day: `{ morning: "Morning", afternoon: "Afternoon", evening: "Evening" }`. */
765
+ groupLabels?: {
766
+ morning: string;
767
+ afternoon: string;
768
+ evening: string;
769
+ };
770
+ minuteStep?: never;
771
+ hour12?: never;
772
+ labels?: never;
773
+ });
774
+ /** A time of day: wheels to set one, or slots to book one. */
775
+ declare function TimePicker(props: TimePickerProps): React.JSX.Element;
776
+
777
+ /** A value of a wheel: what is stored, and its words (passed translated or formatted for the locale). */
778
+ type WheelOption = {
779
+ value: string;
780
+ label: string;
781
+ disabled?: boolean;
782
+ };
783
+ declare const wheel: tailwind_variants.TVReturnType<{
784
+ [key: string]: {
785
+ [key: string]: tailwind_variants.ClassValue | {
786
+ root?: tailwind_variants.ClassValue;
787
+ band?: tailwind_variants.ClassValue;
788
+ column?: tailwind_variants.ClassValue;
789
+ divider?: tailwind_variants.ClassValue;
790
+ scroller?: tailwind_variants.ClassValue;
791
+ item?: tailwind_variants.ClassValue;
792
+ };
793
+ };
794
+ } | {
795
+ [x: string]: {
796
+ [x: string]: tailwind_variants.ClassValue | {
797
+ root?: tailwind_variants.ClassValue;
798
+ band?: tailwind_variants.ClassValue;
799
+ column?: tailwind_variants.ClassValue;
800
+ divider?: tailwind_variants.ClassValue;
801
+ scroller?: tailwind_variants.ClassValue;
802
+ item?: tailwind_variants.ClassValue;
803
+ };
804
+ };
805
+ } | {}, {
806
+ root: string;
807
+ band: string;
808
+ column: string;
809
+ scroller: string;
810
+ item: string;
811
+ divider: string;
812
+ }, undefined, {
813
+ [key: string]: {
814
+ [key: string]: tailwind_variants.ClassValue | {
815
+ root?: tailwind_variants.ClassValue;
816
+ band?: tailwind_variants.ClassValue;
817
+ column?: tailwind_variants.ClassValue;
818
+ divider?: tailwind_variants.ClassValue;
819
+ scroller?: tailwind_variants.ClassValue;
820
+ item?: tailwind_variants.ClassValue;
821
+ };
822
+ };
823
+ } | {}, {
824
+ root: string;
825
+ band: string;
826
+ column: string;
827
+ scroller: string;
828
+ item: string;
829
+ divider: string;
830
+ }, tailwind_variants.TVReturnTypeLike<unknown, {
831
+ root: string;
832
+ band: string;
833
+ column: string;
834
+ scroller: string;
835
+ item: string;
836
+ divider: string;
837
+ }>>;
838
+ type WheelProps = {
839
+ /** The column's accessible name ("Hour", "Month"), passed translated. */
840
+ label: string;
841
+ /** The values, in order. */
842
+ options: readonly WheelOption[];
843
+ /** The chosen value (controlled). */
844
+ value?: string | null;
845
+ /** The chosen value at first, uncontrolled. Default: the first one. */
846
+ defaultValue?: string;
847
+ /** Called with the value that comes to rest under the band. */
848
+ onValueChange?: (value: string) => void;
849
+ /** Not available. */
850
+ disabled?: boolean;
851
+ /** Classes merged on the column (a width: `w-20`). */
852
+ className?: string;
853
+ };
854
+ type WheelPickerProps = {
855
+ /** The group's accessible name ("Departure time"), passed translated. */
856
+ label: string;
857
+ /** The wheels (`Wheel`), and dividers (`WheelDivider`) between them. */
858
+ children: React.ReactNode;
859
+ /** How many values are visible: 3, 5 (default) or 7. */
860
+ visible?: 3 | 5 | 7;
861
+ /** The help text or the error that describes the group (their ids). */
862
+ "aria-describedby"?: string;
863
+ /** Marks the group invalid (a danger edge): pair it with an error read through `aria-describedby`. */
864
+ invalid?: boolean;
865
+ /** Classes merged on the root. */
866
+ className?: string;
867
+ };
868
+ /** The frame of one or several wheels: a raised surface, the lit band across them, a group named by `label`. */
869
+ declare function WheelPicker({ label, children, visible, "aria-describedby": describedBy, invalid, className }: WheelPickerProps): React.JSX.Element;
870
+ /** A divider between two wheels (`:` between the hours and the minutes). */
871
+ declare function WheelDivider({ children }: {
872
+ children: React.ReactNode;
873
+ }): React.JSX.Element;
874
+ /** One column of a `WheelPicker`: a spinbutton over a scroll-snapped list of values. */
875
+ declare function Wheel({ label, options, value: valueProp, defaultValue, onValueChange, disabled, className }: WheelProps): React.JSX.Element;
287
876
 
288
- export { Calendar, type CalendarLabels, type CalendarProps, DatePicker, type DatePickerLabels, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, type IsoDate, addDays, addMonths, calendar, calendarLabels, datePicker, datePickerLabels, toIsoDate, toLocalDate, weekStartOf };
877
+ export { Calendar, type CalendarLabels, type CalendarProps, DateField, type DateFieldLabels, type DateFieldProps, type DatePart, DatePicker, type DatePickerLabels, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, DateWheel, type DateWheelProps, DayStrip, type DayStripLabels, type DayStripProps, type IsoDate, type IsoMonth, MonthPicker, type MonthPickerLabels, type MonthPickerProps, TimePicker, type TimePickerLabels, type TimePickerProps, type TimeValue, Wheel, WheelDivider, type WheelOption, WheelPicker, type WheelPickerProps, type WheelProps, addDays, addMonths, ageOn, calendar, calendarLabels, composeDate, dateField, dateFieldLabels, datePartsOrder, datePicker, datePickerLabels, dayPeriods, dayStrip, dayStripLabels, daysInMonth, formatTime, isRealDate, isoOf, latestBirthDate, minutesToTime, monthNames, monthPicker, monthPickerLabels, timePicker, timePickerLabels, timeSlots, timeToMinutes, toIsoDate, toLocalDate, todayIso, uses12Hours, weekStartOf, wheel, yearRange };