@igne-agency/react-web-ui 0.5.0 → 0.6.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 (254) hide show
  1. package/dist/components/accordion/accordion.css +21 -21
  2. package/dist/components/accordion/accordion.d.ts +17 -4
  3. package/dist/components/accordion/accordion.js +83 -36
  4. package/dist/components/accordion/accordion.module.js +6 -6
  5. package/dist/components/attachment-tile/attachment-preview.d.ts +56 -13
  6. package/dist/components/attachment-tile/attachment-preview.js +388 -119
  7. package/dist/components/attachment-tile/attachment-tile.css +31 -25
  8. package/dist/components/attachment-tile/attachment-tile.d.ts +32 -10
  9. package/dist/components/attachment-tile/attachment-tile.js +160 -43
  10. package/dist/components/attachment-tile/attachment-tile.module.js +8 -8
  11. package/dist/components/attachment-tile/index.d.ts +1 -1
  12. package/dist/components/avatar/avatar.css +9 -9
  13. package/dist/components/avatar/avatar.d.ts +50 -5
  14. package/dist/components/avatar/avatar.js +178 -64
  15. package/dist/components/avatar/avatar.module.js +3 -3
  16. package/dist/components/avatar-group/avatar-group-context.d.ts +2 -4
  17. package/dist/components/avatar-group/avatar-group-context.js +2 -2
  18. package/dist/components/avatar-group/avatar-group.css +26 -20
  19. package/dist/components/avatar-group/avatar-group.d.ts +85 -27
  20. package/dist/components/avatar-group/avatar-group.js +400 -246
  21. package/dist/components/avatar-group/avatar-group.module.js +8 -8
  22. package/dist/components/breadcrumbs/breadcrumbs.css +12 -12
  23. package/dist/components/breadcrumbs/breadcrumbs.d.ts +69 -23
  24. package/dist/components/breadcrumbs/breadcrumbs.js +299 -248
  25. package/dist/components/breadcrumbs/breadcrumbs.module.js +8 -8
  26. package/dist/components/button/button.css +29 -31
  27. package/dist/components/button/button.d.ts +20 -16
  28. package/dist/components/button/button.js +140 -145
  29. package/dist/components/button/button.module.js +1 -1
  30. package/dist/components/button/index.js +1 -1
  31. package/dist/components/checkbox-field/checkbox-field.js +63 -49
  32. package/dist/components/checkbox-field/checkbox.css +105 -56
  33. package/dist/components/checkbox-field/checkbox.d.ts +3 -2
  34. package/dist/components/checkbox-field/checkbox.js +12 -9
  35. package/dist/components/checkbox-field/checkbox.module.js +4 -4
  36. package/dist/components/checkbox-group-field/checkbox-group-field.js +78 -72
  37. package/dist/components/checkbox-group-field/checkbox-group.css +14 -10
  38. package/dist/components/checkbox-group-field/checkbox-group.d.ts +2 -2
  39. package/dist/components/checkbox-group-field/checkbox-group.js +2 -2
  40. package/dist/components/checkbox-group-field/checkbox-group.module.js +2 -2
  41. package/dist/components/collapsible/collapsible.css +20 -20
  42. package/dist/components/collapsible/collapsible.d.ts +17 -4
  43. package/dist/components/collapsible/collapsible.js +83 -36
  44. package/dist/components/collapsible/collapsible.module.js +5 -5
  45. package/dist/components/combobox-field/combobox-field.js +206 -158
  46. package/dist/components/combobox-field/combobox.css +492 -277
  47. package/dist/components/combobox-field/combobox.d.ts +148 -39
  48. package/dist/components/combobox-field/combobox.js +506 -206
  49. package/dist/components/combobox-field/combobox.module.js +21 -21
  50. package/dist/components/combobox-field/value-state-view.css +5 -5
  51. package/dist/components/combobox-field/value-state-view.module.js +4 -4
  52. package/dist/components/composer/composer-attachments.d.ts +30 -11
  53. package/dist/components/composer/composer-attachments.js +45 -40
  54. package/dist/components/composer/composer-editor.css +40 -35
  55. package/dist/components/composer/composer-editor.d.ts +14 -4
  56. package/dist/components/composer/composer-editor.js +134 -44
  57. package/dist/components/composer/composer-editor.module.js +5 -5
  58. package/dist/components/composer/composer.css +22 -22
  59. package/dist/components/composer/composer.d.ts +13 -2
  60. package/dist/components/composer/composer.js +78 -63
  61. package/dist/components/composer/composer.module.js +5 -5
  62. package/dist/components/composer/index.d.ts +2 -2
  63. package/dist/components/composer/mention-text.css +5 -5
  64. package/dist/components/composer/mention-text.module.js +1 -1
  65. package/dist/components/confirm-dialog/confirm-dialog.css +29 -29
  66. package/dist/components/confirm-dialog/confirm-dialog.d.ts +57 -3
  67. package/dist/components/confirm-dialog/confirm-dialog.js +266 -108
  68. package/dist/components/confirm-dialog/confirm-dialog.module.js +5 -5
  69. package/dist/components/conversation/conversation.css +52 -52
  70. package/dist/components/conversation/conversation.d.ts +43 -18
  71. package/dist/components/conversation/conversation.js +120 -78
  72. package/dist/components/conversation/conversation.module.js +15 -15
  73. package/dist/components/date-field/date-field.d.ts +1 -1
  74. package/dist/components/date-field/date-field.js +202 -100
  75. package/dist/components/date-field/date-input.d.ts +73 -37
  76. package/dist/components/date-field/date-input.js +72 -45
  77. package/dist/components/date-field/index.d.ts +1 -1
  78. package/dist/components/date-range-field/date-range-field.d.ts +1 -1
  79. package/dist/components/date-range-field/date-range-field.js +219 -107
  80. package/dist/components/date-range-field/date-range-input.d.ts +84 -40
  81. package/dist/components/date-range-field/date-range-input.js +83 -48
  82. package/dist/components/dialog/dialog.css +32 -32
  83. package/dist/components/dialog/dialog.d.ts +8 -7
  84. package/dist/components/dialog/dialog.js +8 -26
  85. package/dist/components/dialog/dialog.module.js +6 -6
  86. package/dist/components/divider/divider.css +6 -6
  87. package/dist/components/divider/divider.d.ts +36 -2
  88. package/dist/components/divider/divider.js +195 -29
  89. package/dist/components/divider/divider.module.js +3 -3
  90. package/dist/components/drawer/drawer.css +55 -56
  91. package/dist/components/drawer/drawer.d.ts +8 -7
  92. package/dist/components/drawer/drawer.js +8 -26
  93. package/dist/components/drawer/drawer.module.js +6 -6
  94. package/dist/components/field/field.css +34 -24
  95. package/dist/components/field/field.d.ts +60 -37
  96. package/dist/components/field/field.js +242 -157
  97. package/dist/components/field/field.module.js +12 -10
  98. package/dist/components/field/input-parts.d.ts +11 -13
  99. package/dist/components/field/input-parts.js +23 -42
  100. package/dist/components/field-placeholder/field-placeholder.css +6 -6
  101. package/dist/components/field-placeholder/field-placeholder.module.js +4 -4
  102. package/dist/components/fieldset/field-group.d.ts +1 -1
  103. package/dist/components/fieldset/field-group.js +48 -42
  104. package/dist/components/fieldset/fieldset-root.d.ts +1 -1
  105. package/dist/components/fieldset/fieldset-root.js +19 -17
  106. package/dist/components/fieldset/fieldset.d.ts +2 -2
  107. package/dist/components/fieldset/fieldset.js +2 -2
  108. package/dist/components/file-field/file-field.css +126 -60
  109. package/dist/components/file-field/file-field.js +201 -109
  110. package/dist/components/file-field/file-field.module.js +4 -4
  111. package/dist/components/file-field/file-input.d.ts +66 -40
  112. package/dist/components/file-field/file-input.js +188 -132
  113. package/dist/components/filter-bar/filter-bar.css +8 -8
  114. package/dist/components/filter-bar/filter-bar.d.ts +12 -3
  115. package/dist/components/filter-bar/filter-bar.js +23 -25
  116. package/dist/components/filter-bar/filter-bar.module.js +5 -5
  117. package/dist/components/form/form.d.ts +19 -7
  118. package/dist/components/form/form.js +80 -29
  119. package/dist/components/icon/icon.css +2 -2
  120. package/dist/components/icon/icon.module.js +1 -1
  121. package/dist/components/link/link.css +6 -5
  122. package/dist/components/link/link.module.js +1 -1
  123. package/dist/components/menu/menu.css +52 -47
  124. package/dist/components/menu/menu.d.ts +32 -25
  125. package/dist/components/menu/menu.js +75 -124
  126. package/dist/components/menu/menu.module.js +8 -8
  127. package/dist/components/nav/nav-context.d.ts +1 -1
  128. package/dist/components/nav/nav-item-view.d.ts +10 -13
  129. package/dist/components/nav/nav-item-view.js +42 -54
  130. package/dist/components/nav/nav.css +150 -119
  131. package/dist/components/nav/nav.d.ts +61 -17
  132. package/dist/components/nav/nav.js +271 -176
  133. package/dist/components/nav/nav.module.js +17 -15
  134. package/dist/components/number-field/number-field.css +153 -64
  135. package/dist/components/number-field/number-field.d.ts +2 -2
  136. package/dist/components/number-field/number-field.js +112 -91
  137. package/dist/components/number-field/number-field.module.js +6 -6
  138. package/dist/components/number-field/number-input.d.ts +43 -23
  139. package/dist/components/number-field/number-input.js +179 -125
  140. package/dist/components/otp-field/otp-field.css +153 -60
  141. package/dist/components/otp-field/otp-field.d.ts +2 -2
  142. package/dist/components/otp-field/otp-field.js +62 -46
  143. package/dist/components/otp-field/otp-field.module.js +4 -4
  144. package/dist/components/otp-field/otp-input.d.ts +8 -6
  145. package/dist/components/otp-field/otp-input.js +92 -92
  146. package/dist/components/pagination/pagination.d.ts +46 -15
  147. package/dist/components/pagination/pagination.js +217 -224
  148. package/dist/components/password-field/password-field.css +23 -23
  149. package/dist/components/password-field/password-field.js +107 -85
  150. package/dist/components/password-field/password-field.module.js +8 -8
  151. package/dist/components/password-field/password-strength.d.ts +107 -3
  152. package/dist/components/password-field/password-strength.js +569 -92
  153. package/dist/components/photo-field/photo-field.js +137 -112
  154. package/dist/components/photo-field/photo-input.css +67 -44
  155. package/dist/components/photo-field/photo-input.d.ts +59 -15
  156. package/dist/components/photo-field/photo-input.js +173 -86
  157. package/dist/components/photo-field/photo-input.module.js +10 -8
  158. package/dist/components/popover/popover.css +41 -41
  159. package/dist/components/popover/popover.d.ts +66 -25
  160. package/dist/components/popover/popover.js +332 -217
  161. package/dist/components/popover/popover.module.js +15 -19
  162. package/dist/components/radio-group-field/radio-group-field.js +80 -71
  163. package/dist/components/radio-group-field/radio-group.css +112 -60
  164. package/dist/components/radio-group-field/radio-group.d.ts +19 -3
  165. package/dist/components/radio-group-field/radio-group.js +66 -23
  166. package/dist/components/radio-group-field/radio-group.module.js +4 -4
  167. package/dist/components/segmented-control-field/segmented-control-field.d.ts +1 -1
  168. package/dist/components/segmented-control-field/segmented-control-field.js +111 -96
  169. package/dist/components/segmented-control-field/segmented-control.css +132 -79
  170. package/dist/components/segmented-control-field/segmented-control.d.ts +39 -15
  171. package/dist/components/segmented-control-field/segmented-control.js +124 -41
  172. package/dist/components/segmented-control-field/segmented-control.module.js +4 -4
  173. package/dist/components/select-field/select.css +214 -101
  174. package/dist/components/select-field/select.d.ts +43 -11
  175. package/dist/components/select-field/select.js +194 -109
  176. package/dist/components/select-field/select.module.js +14 -14
  177. package/dist/components/skeleton/skeleton.css +4 -4
  178. package/dist/components/skeleton/skeleton.module.js +3 -3
  179. package/dist/components/stale/stale.css +15 -15
  180. package/dist/components/stale/stale.d.ts +27 -3
  181. package/dist/components/stale/stale.js +147 -66
  182. package/dist/components/stale/stale.module.js +6 -6
  183. package/dist/components/status-message/status-message.css +22 -22
  184. package/dist/components/status-message/status-message.module.js +6 -6
  185. package/dist/components/switch-field/switch-field.js +77 -57
  186. package/dist/components/switch-field/switch.css +112 -63
  187. package/dist/components/switch-field/switch.d.ts +20 -3
  188. package/dist/components/switch-field/switch.js +70 -27
  189. package/dist/components/switch-field/switch.module.js +4 -4
  190. package/dist/components/tabs/tabs.css +32 -32
  191. package/dist/components/tabs/tabs.d.ts +21 -7
  192. package/dist/components/tabs/tabs.js +73 -14
  193. package/dist/components/tabs/tabs.module.js +7 -7
  194. package/dist/components/tag/tag.css +84 -84
  195. package/dist/components/tag/tag.module.js +3 -3
  196. package/dist/components/tag-group/tag-group.css +94 -94
  197. package/dist/components/tag-group/tag-group.module.js +4 -4
  198. package/dist/components/text-field/text-field.css +159 -82
  199. package/dist/components/text-field/text-field.d.ts +1 -1
  200. package/dist/components/text-field/text-field.js +139 -110
  201. package/dist/components/text-field/text-field.module.js +9 -9
  202. package/dist/components/text-field/text-input.d.ts +81 -45
  203. package/dist/components/text-field/text-input.js +366 -217
  204. package/dist/components/textarea-field/textarea-field.css +7 -2
  205. package/dist/components/textarea-field/textarea-field.js +72 -56
  206. package/dist/components/textarea-field/textarea-field.module.js +2 -2
  207. package/dist/components/time-field/time-field.js +153 -60
  208. package/dist/components/time-field/time-input.d.ts +21 -10
  209. package/dist/components/time-field/time-input.js +22 -11
  210. package/dist/components/toast/toast-provider.css +34 -31
  211. package/dist/components/toast/toast-provider.d.ts +63 -14
  212. package/dist/components/toast/toast-provider.js +174 -111
  213. package/dist/components/toast/toast-provider.module.js +7 -7
  214. package/dist/components/toggle-group-field/toggle-group-field.d.ts +1 -1
  215. package/dist/components/toggle-group-field/toggle-group-field.js +95 -89
  216. package/dist/components/toggle-group-field/toggle-group.css +117 -67
  217. package/dist/components/toggle-group-field/toggle-group.d.ts +2 -2
  218. package/dist/components/toggle-group-field/toggle-group.js +2 -2
  219. package/dist/components/toggle-group-field/toggle-group.module.js +2 -2
  220. package/dist/components/tooltip/tooltip.css +4 -4
  221. package/dist/components/tooltip/tooltip.module.js +1 -1
  222. package/dist/data-table/data-table-content.js +6 -5
  223. package/dist/data-table/data-table-parts.d.ts +41 -13
  224. package/dist/data-table/data-table-parts.js +213 -172
  225. package/dist/data-table/data-table-selection.d.ts +105 -3
  226. package/dist/data-table/data-table-selection.js +654 -145
  227. package/dist/data-table/data-table.css +125 -128
  228. package/dist/data-table/data-table.d.ts +21 -26
  229. package/dist/data-table/data-table.js +20 -23
  230. package/dist/data-table/data-table.module.js +32 -34
  231. package/dist/data-table/index.d.ts +2 -2
  232. package/dist/index.js +3 -3
  233. package/dist/lib/calendar/calendar-navigation.d.ts +39 -5
  234. package/dist/lib/calendar/calendar-navigation.js +185 -118
  235. package/dist/lib/calendar/calendar-parts.d.ts +143 -0
  236. package/dist/lib/calendar/calendar-parts.js +540 -0
  237. package/dist/lib/calendar/calendar-prefab.d.ts +52 -0
  238. package/dist/lib/calendar/calendar-prefab.js +311 -0
  239. package/dist/lib/calendar/calendar-year.d.ts +3 -1
  240. package/dist/lib/calendar/calendar-year.js +139 -131
  241. package/dist/lib/calendar/temporal.css +325 -232
  242. package/dist/lib/calendar/temporal.d.ts +67 -82
  243. package/dist/lib/calendar/temporal.js +258 -569
  244. package/dist/lib/calendar/temporal.module.js +38 -38
  245. package/dist/lib/forms/use-connected-field.d.ts +1 -1
  246. package/dist/lib/forms/use-connected-field.js +1 -1
  247. package/dist/lib/render-as.d.ts +13 -0
  248. package/dist/lib/render-as.js +46 -0
  249. package/dist/tokens.css +6 -3
  250. package/package.json +1 -1
  251. package/tokens/dark.tokens.json +6 -0
  252. package/tokens/sys.tokens.json +7 -0
  253. package/dist/components/button/close-button.d.ts +0 -16
  254. package/dist/components/button/close-button.js +0 -30
@@ -1,4 +1,8 @@
1
+ import { TemporalRangeCalendar } from "../../lib/calendar/calendar-prefab.js";
1
2
  import { dayRangeToIso, isoToDay, isoToDayRange } from "../../lib/calendar/temporal-value.js";
3
+ import { Spinner } from "../spinner/spinner.js";
4
+ import { IconButton } from "../button/button.js";
5
+ import { Field } from "../field/field.js";
2
6
  import { useFieldState } from "../field/use-field-state.js";
3
7
  import { useTimeZone } from "../time-zone-provider/time-zone-provider.js";
4
8
  import { DateRangeInput } from "./date-range-input.js";
@@ -25,7 +29,7 @@ import { useRef } from "react";
25
29
  * />
26
30
  */
27
31
  var DateRangeField = (t0) => {
28
- const $ = c(51);
32
+ const $ = c(82);
29
33
  const { label, description, errors, requiredness, optionalLabel, dirty, touched, pending, openCalendarLabel, previousMonthLabel, nextMonthLabel, monthLabel, yearLabel, noMatchingYearLabel, openCalendarIcon, previousIcon, nextIcon, checkIcon, expandIcon, value, defaultValue, onValueChange, onBlur, minValue, maxValue, visibleMonths, startName, endName, disabled, readOnly, className } = t0;
30
34
  const triggerRef = useRef(null);
31
35
  const timeZone = useTimeZone();
@@ -63,117 +67,225 @@ var DateRangeField = (t0) => {
63
67
  const field = useFieldState(t3);
64
68
  const { phase } = field;
65
69
  const fieldState = field.state;
66
- let t4;
67
- if ($[12] !== checkIcon || $[13] !== defaultValue || $[14] !== endName || $[15] !== expandIcon || $[16] !== field.disabled || $[17] !== field.invalid || $[18] !== fieldState || $[19] !== maxValue || $[20] !== minValue || $[21] !== monthLabel || $[22] !== nextIcon || $[23] !== nextMonthLabel || $[24] !== noMatchingYearLabel || $[25] !== onBlur || $[26] !== onValueChange || $[27] !== openCalendarIcon || $[28] !== openCalendarLabel || $[29] !== phase || $[30] !== previousIcon || $[31] !== previousMonthLabel || $[32] !== range || $[33] !== readOnly || $[34] !== requiredness || $[35] !== startName || $[36] !== timeZone || $[37] !== value || $[38] !== visibleMonths || $[39] !== yearLabel) {
68
- t4 = (t5) => {
69
- const { labelId, describedBy, controlId } = t5;
70
- return /* @__PURE__ */ jsx(DateRangeInput.Root, {
71
- state: fieldState,
72
- "aria-labelledby": labelId,
73
- "aria-describedby": describedBy,
74
- value: value === void 0 ? void 0 : range,
75
- defaultValue: isoToDayRange(defaultValue, timeZone) ?? void 0,
76
- onChange: (next) => onValueChange?.(dayRangeToIso(next)),
77
- onBlur,
78
- minValue: isoToDay(minValue, timeZone) ?? void 0,
79
- maxValue: isoToDay(maxValue, timeZone) ?? void 0,
80
- startName: startName ?? `${controlId}-start`,
81
- endName: endName ?? `${controlId}-end`,
82
- isDisabled: field.disabled,
83
- isReadOnly: readOnly,
84
- isRequired: requiredness === "required",
85
- isInvalid: field.invalid,
86
- children: (t6) => {
87
- const { isFocusWithin } = t6;
88
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(DateRangeInput.Group, {
89
- state: {
90
- ...fieldState,
91
- focused: isFocusWithin
92
- },
93
- children: [
94
- /* @__PURE__ */ jsx(DateRangeInput.Input, { slot: "start" }),
95
- /* @__PURE__ */ jsx(DateRangeInput.Separator, {}),
96
- /* @__PURE__ */ jsx(DateRangeInput.Input, { slot: "end" }),
97
- /* @__PURE__ */ jsx(DateRangeInput.Spacer, {}),
98
- phase !== "fresh" && /* @__PURE__ */ jsx(DateRangeInput.Pending, {}),
99
- /* @__PURE__ */ jsx(DateRangeInput.Trigger, {
100
- label: openCalendarLabel,
101
- ref: triggerRef,
102
- children: openCalendarIcon
103
- })
104
- ]
105
- }), /* @__PURE__ */ jsx(DateRangeInput.Popup, {
106
- triggerRef,
107
- children: /* @__PURE__ */ jsx(DateRangeInput.Calendar, {
108
- visibleMonths,
109
- previousMonthLabel,
110
- nextMonthLabel,
111
- monthLabel,
112
- yearLabel,
113
- noMatchingYearLabel,
114
- previousIcon,
115
- nextIcon,
116
- checkIcon,
117
- expandIcon
70
+ const ids = DateRangeInput.useIds();
71
+ const t4 = field.invalid;
72
+ const t5 = field.disabled;
73
+ let t6;
74
+ if ($[12] !== optionalLabel) {
75
+ t6 = /* @__PURE__ */ jsx(Field.Requiredness, { optionalLabel });
76
+ $[12] = optionalLabel;
77
+ $[13] = t6;
78
+ } else t6 = $[13];
79
+ let t7;
80
+ if ($[14] !== ids.labelId || $[15] !== label || $[16] !== t6) {
81
+ t7 = /* @__PURE__ */ jsxs(DateRangeInput.Label, {
82
+ id: ids.labelId,
83
+ children: [
84
+ label,
85
+ " ",
86
+ t6
87
+ ]
88
+ });
89
+ $[14] = ids.labelId;
90
+ $[15] = label;
91
+ $[16] = t6;
92
+ $[17] = t7;
93
+ } else t7 = $[17];
94
+ const t8 = ids.labelId;
95
+ let t9;
96
+ if ($[18] !== description || $[19] !== field.invalid || $[20] !== ids) {
97
+ t9 = ids.describedBy(description !== void 0, field.invalid);
98
+ $[18] = description;
99
+ $[19] = field.invalid;
100
+ $[20] = ids;
101
+ $[21] = t9;
102
+ } else t9 = $[21];
103
+ const t10 = value === void 0 ? void 0 : range;
104
+ let t11;
105
+ if ($[22] !== defaultValue || $[23] !== timeZone) {
106
+ t11 = isoToDayRange(defaultValue, timeZone) ?? void 0;
107
+ $[22] = defaultValue;
108
+ $[23] = timeZone;
109
+ $[24] = t11;
110
+ } else t11 = $[24];
111
+ let t12;
112
+ if ($[25] !== onValueChange) {
113
+ t12 = (next) => onValueChange?.(dayRangeToIso(next));
114
+ $[25] = onValueChange;
115
+ $[26] = t12;
116
+ } else t12 = $[26];
117
+ let t13;
118
+ if ($[27] !== minValue || $[28] !== timeZone) {
119
+ t13 = isoToDay(minValue, timeZone) ?? void 0;
120
+ $[27] = minValue;
121
+ $[28] = timeZone;
122
+ $[29] = t13;
123
+ } else t13 = $[29];
124
+ let t14;
125
+ if ($[30] !== maxValue || $[31] !== timeZone) {
126
+ t14 = isoToDay(maxValue, timeZone) ?? void 0;
127
+ $[30] = maxValue;
128
+ $[31] = timeZone;
129
+ $[32] = t14;
130
+ } else t14 = $[32];
131
+ const t15 = startName ?? `${ids.controlId}-start`;
132
+ const t16 = endName ?? `${ids.controlId}-end`;
133
+ const t17 = requiredness === "required";
134
+ let t18;
135
+ if ($[33] !== checkIcon || $[34] !== expandIcon || $[35] !== fieldState || $[36] !== monthLabel || $[37] !== nextIcon || $[38] !== nextMonthLabel || $[39] !== noMatchingYearLabel || $[40] !== openCalendarIcon || $[41] !== openCalendarLabel || $[42] !== phase || $[43] !== previousIcon || $[44] !== previousMonthLabel || $[45] !== visibleMonths || $[46] !== yearLabel) {
136
+ t18 = (t19) => {
137
+ const { isFocusWithin } = t19;
138
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(DateRangeInput.Group, {
139
+ state: {
140
+ ...fieldState,
141
+ focused: isFocusWithin
142
+ },
143
+ children: [
144
+ /* @__PURE__ */ jsx(DateRangeInput.Input, {
145
+ slot: "start",
146
+ children: _temp
147
+ }),
148
+ /* @__PURE__ */ jsx(DateRangeInput.Separator, { children: "–" }),
149
+ /* @__PURE__ */ jsx(DateRangeInput.Input, {
150
+ slot: "end",
151
+ children: _temp2
152
+ }),
153
+ /* @__PURE__ */ jsx(DateRangeInput.Spacer, {}),
154
+ phase !== "fresh" && /* @__PURE__ */ jsx(DateRangeInput.Pending, { children: /* @__PURE__ */ jsx(Spinner, { size: 1 }) }),
155
+ /* @__PURE__ */ jsx(DateRangeInput.Trigger, {
156
+ ref: triggerRef,
157
+ render: /* @__PURE__ */ jsx(IconButton, {
158
+ label: openCalendarLabel,
159
+ variant: "tertiary",
160
+ size: "sm",
161
+ children: openCalendarIcon
118
162
  })
119
- })] });
120
- }
121
- });
163
+ })
164
+ ]
165
+ }), /* @__PURE__ */ jsx(DateRangeInput.Popup, {
166
+ triggerRef,
167
+ children: /* @__PURE__ */ jsx(TemporalRangeCalendar, {
168
+ visibleMonths,
169
+ previousMonthLabel,
170
+ nextMonthLabel,
171
+ monthLabel,
172
+ yearLabel,
173
+ noMatchingYearLabel,
174
+ previousIcon,
175
+ nextIcon,
176
+ checkIcon,
177
+ expandIcon
178
+ })
179
+ })] });
122
180
  };
123
- $[12] = checkIcon;
124
- $[13] = defaultValue;
125
- $[14] = endName;
126
- $[15] = expandIcon;
127
- $[16] = field.disabled;
128
- $[17] = field.invalid;
129
- $[18] = fieldState;
130
- $[19] = maxValue;
131
- $[20] = minValue;
132
- $[21] = monthLabel;
133
- $[22] = nextIcon;
134
- $[23] = nextMonthLabel;
135
- $[24] = noMatchingYearLabel;
136
- $[25] = onBlur;
137
- $[26] = onValueChange;
138
- $[27] = openCalendarIcon;
139
- $[28] = openCalendarLabel;
140
- $[29] = phase;
141
- $[30] = previousIcon;
142
- $[31] = previousMonthLabel;
143
- $[32] = range;
144
- $[33] = readOnly;
145
- $[34] = requiredness;
146
- $[35] = startName;
147
- $[36] = timeZone;
148
- $[37] = value;
149
- $[38] = visibleMonths;
150
- $[39] = yearLabel;
151
- $[40] = t4;
152
- } else t4 = $[40];
153
- let t5;
154
- if ($[41] !== className || $[42] !== description || $[43] !== dirty || $[44] !== errors || $[45] !== label || $[46] !== optionalLabel || $[47] !== requiredness || $[48] !== t4 || $[49] !== touched) {
155
- t5 = /* @__PURE__ */ jsx(DateRangeInput.Frame, {
156
- label,
157
- description,
158
- errors,
181
+ $[33] = checkIcon;
182
+ $[34] = expandIcon;
183
+ $[35] = fieldState;
184
+ $[36] = monthLabel;
185
+ $[37] = nextIcon;
186
+ $[38] = nextMonthLabel;
187
+ $[39] = noMatchingYearLabel;
188
+ $[40] = openCalendarIcon;
189
+ $[41] = openCalendarLabel;
190
+ $[42] = phase;
191
+ $[43] = previousIcon;
192
+ $[44] = previousMonthLabel;
193
+ $[45] = visibleMonths;
194
+ $[46] = yearLabel;
195
+ $[47] = t18;
196
+ } else t18 = $[47];
197
+ let t19;
198
+ if ($[48] !== field.disabled || $[49] !== field.invalid || $[50] !== fieldState || $[51] !== ids.labelId || $[52] !== onBlur || $[53] !== readOnly || $[54] !== t10 || $[55] !== t11 || $[56] !== t12 || $[57] !== t13 || $[58] !== t14 || $[59] !== t15 || $[60] !== t16 || $[61] !== t17 || $[62] !== t18 || $[63] !== t9) {
199
+ t19 = /* @__PURE__ */ jsx(DateRangeInput.Root, {
200
+ state: fieldState,
201
+ "aria-labelledby": t8,
202
+ "aria-describedby": t9,
203
+ value: t10,
204
+ defaultValue: t11,
205
+ onChange: t12,
206
+ onBlur,
207
+ minValue: t13,
208
+ maxValue: t14,
209
+ startName: t15,
210
+ endName: t16,
211
+ isDisabled: field.disabled,
212
+ isReadOnly: readOnly,
213
+ isRequired: t17,
214
+ isInvalid: field.invalid,
215
+ children: t18
216
+ });
217
+ $[48] = field.disabled;
218
+ $[49] = field.invalid;
219
+ $[50] = fieldState;
220
+ $[51] = ids.labelId;
221
+ $[52] = onBlur;
222
+ $[53] = readOnly;
223
+ $[54] = t10;
224
+ $[55] = t11;
225
+ $[56] = t12;
226
+ $[57] = t13;
227
+ $[58] = t14;
228
+ $[59] = t15;
229
+ $[60] = t16;
230
+ $[61] = t17;
231
+ $[62] = t18;
232
+ $[63] = t9;
233
+ $[64] = t19;
234
+ } else t19 = $[64];
235
+ let t20;
236
+ if ($[65] !== description || $[66] !== ids.descriptionId) {
237
+ t20 = /* @__PURE__ */ jsx(DateRangeInput.Description, {
238
+ id: ids.descriptionId,
239
+ children: description
240
+ });
241
+ $[65] = description;
242
+ $[66] = ids.descriptionId;
243
+ $[67] = t20;
244
+ } else t20 = $[67];
245
+ let t21;
246
+ if ($[68] !== errors || $[69] !== ids.errorId) {
247
+ t21 = /* @__PURE__ */ jsx(DateRangeInput.Error, {
248
+ id: ids.errorId,
249
+ children: errors
250
+ });
251
+ $[68] = errors;
252
+ $[69] = ids.errorId;
253
+ $[70] = t21;
254
+ } else t21 = $[70];
255
+ let t22;
256
+ if ($[71] !== className || $[72] !== dirty || $[73] !== field.disabled || $[74] !== field.invalid || $[75] !== requiredness || $[76] !== t19 || $[77] !== t20 || $[78] !== t21 || $[79] !== t7 || $[80] !== touched) {
257
+ t22 = /* @__PURE__ */ jsxs(Field.Root, {
258
+ className,
259
+ invalid: t4,
260
+ disabled: t5,
159
261
  requiredness,
160
- optionalLabel,
161
262
  dirty,
162
263
  touched,
163
- className,
164
- children: t4
264
+ children: [
265
+ t7,
266
+ t19,
267
+ t20,
268
+ t21
269
+ ]
165
270
  });
166
- $[41] = className;
167
- $[42] = description;
168
- $[43] = dirty;
169
- $[44] = errors;
170
- $[45] = label;
171
- $[46] = optionalLabel;
172
- $[47] = requiredness;
173
- $[48] = t4;
174
- $[49] = touched;
175
- $[50] = t5;
176
- } else t5 = $[50];
177
- return t5;
271
+ $[71] = className;
272
+ $[72] = dirty;
273
+ $[73] = field.disabled;
274
+ $[74] = field.invalid;
275
+ $[75] = requiredness;
276
+ $[76] = t19;
277
+ $[77] = t20;
278
+ $[78] = t21;
279
+ $[79] = t7;
280
+ $[80] = touched;
281
+ $[81] = t22;
282
+ } else t22 = $[81];
283
+ return t22;
178
284
  };
285
+ function _temp(segment) {
286
+ return /* @__PURE__ */ jsx(DateRangeInput.Segment, { segment });
287
+ }
288
+ function _temp2(segment_0) {
289
+ return /* @__PURE__ */ jsx(DateRangeInput.Segment, { segment: segment_0 });
290
+ }
179
291
  export { DateRangeField };
@@ -1,7 +1,10 @@
1
+ import { TemporalRangeCalendar } from "../../lib/calendar/calendar-prefab.tsx";
1
2
  import type { CalendarDate } from "@internationalized/date";
2
- import type { ReactNode, Ref } from "react";
3
+ import type { ReactNode } from "react";
3
4
  import { type DateRangePickerProps as AriaDateRangePickerProps } from "react-aria-components";
4
- import { TemporalFrame, TemporalGroup, TemporalPopup, TemporalRangeCalendar, TemporalRangeInput, TemporalRangeSeparator, TemporalRangeSpacer, type TemporalStateProps } from "../../lib/calendar/temporal.tsx";
5
+ import { CalendarMonthPicker, CalendarPickers, CalendarYearPicker } from "../../lib/calendar/calendar-navigation.tsx";
6
+ import { CalendarCell, CalendarGrid, CalendarGridBody, CalendarGridHeader, CalendarHeader, CalendarHeaderCell, CalendarHeading, CalendarMonths, CalendarNext, CalendarPrevious, RangeCalendarRoot } from "../../lib/calendar/calendar-parts.tsx";
7
+ import { TemporalDialog, TemporalGroup, TemporalLabel, TemporalPopover, TemporalPopup, TemporalRangeInput, TemporalRangeSeparator, TemporalRangeSpacer, TemporalSegment, type TemporalStateProps, TemporalTrigger } from "../../lib/calendar/temporal.tsx";
5
8
  import { Field } from "../field/index.ts";
6
9
  export type DateRangeInputRootProps = AriaDateRangePickerProps<CalendarDate> & TemporalStateProps;
7
10
  /**
@@ -12,57 +15,98 @@ export type DateRangeInputRootProps = AriaDateRangePickerProps<CalendarDate> & T
12
15
  * <DateRangeInput.Root aria-labelledby={labelId}>…</DateRangeInput.Root>
13
16
  */
14
17
  declare const DateRangeInputRoot: ({ state, ...props }: DateRangeInputRootProps) => ReactNode;
15
- export type DateRangeInputTriggerProps = Readonly<{
16
- /** Accessible name, such as "Open calendar". */
17
- label: string;
18
- ref?: Ref<HTMLButtonElement>;
19
- /** The icon the button shows. */
20
- children: ReactNode;
21
- }>;
22
- /**
23
- * The icon-only button that opens the range calendar.
24
- *
25
- * @example
26
- * <DateRangeInput.Trigger label="Open calendar"><DateRangeIcon /></DateRangeInput.Trigger>
27
- */
28
- declare const DateRangeInputTrigger: ({ label, ref, children, }: DateRangeInputTriggerProps) => ReactNode;
29
18
  /** The parts of a date range input. */
30
19
  export type DateRangeInputParts = Readonly<{
31
- Frame: typeof TemporalFrame;
32
20
  Root: typeof DateRangeInputRoot;
21
+ Label: typeof TemporalLabel;
33
22
  Group: typeof TemporalGroup;
34
23
  Input: typeof TemporalRangeInput;
24
+ Segment: typeof TemporalSegment;
35
25
  Separator: typeof TemporalRangeSeparator;
36
26
  Spacer: typeof TemporalRangeSpacer;
37
- Trigger: typeof DateRangeInputTrigger;
38
- Popup: typeof TemporalPopup;
39
- Calendar: typeof TemporalRangeCalendar;
27
+ Trigger: typeof TemporalTrigger;
40
28
  Pending: typeof Field.Pending;
29
+ Popup: typeof TemporalPopup;
30
+ Popover: typeof TemporalPopover;
31
+ Dialog: typeof TemporalDialog;
32
+ Calendar: typeof RangeCalendarRoot;
33
+ StandardCalendar: typeof TemporalRangeCalendar;
34
+ CalendarHeader: typeof CalendarHeader;
35
+ Heading: typeof CalendarHeading;
36
+ Previous: typeof CalendarPrevious;
37
+ Next: typeof CalendarNext;
38
+ Pickers: typeof CalendarPickers;
39
+ MonthPicker: typeof CalendarMonthPicker;
40
+ YearPicker: typeof CalendarYearPicker;
41
+ Months: typeof CalendarMonths;
42
+ Grid: typeof CalendarGrid;
43
+ GridHeader: typeof CalendarGridHeader;
44
+ HeaderCell: typeof CalendarHeaderCell;
45
+ GridBody: typeof CalendarGridBody;
46
+ Cell: typeof CalendarCell;
47
+ Description: typeof Field.Description;
48
+ Error: typeof Field.Error;
49
+ useIds: typeof Field.useIds;
41
50
  }>;
42
51
  /**
43
52
  * The styled parts of a react-aria `DateRangePicker`, a start and an end date
44
- * entry plus a range calendar popover, carrying the field frame's ids rather
45
- * than a label of their own. For the ordinary case, use `DateRangeField`.
53
+ * entry plus a range calendar popover, following react-aria's own anatomy. It
54
+ * sits in a `Field.Root` and names itself through `Label`'s id. For the
55
+ * ordinary case, use `DateRangeField`, which is assembled from exactly these
56
+ * parts. `StandardCalendar` is the whole range calendar, its header, pickers
57
+ * and grids, assembled from them.
46
58
  *
47
59
  * @example
48
- * <DateRangeInput.Root aria-labelledby={labelId}>
49
- * {({ isFocusWithin }) => (
50
- * <>
51
- * <DateRangeInput.Group state={{ focused: isFocusWithin }}>
52
- * <DateRangeInput.Input slot="start" />
53
- * <DateRangeInput.Separator />
54
- * <DateRangeInput.Input slot="end" />
55
- * <DateRangeInput.Spacer />
56
- * <DateRangeInput.Trigger label="Open calendar">
57
- * <DateRangeIcon />
58
- * </DateRangeInput.Trigger>
59
- * </DateRangeInput.Group>
60
- * <DateRangeInput.Popup>
61
- * <DateRangeInput.Calendar {...calendarLabels} {...calendarIcons} />
62
- * </DateRangeInput.Popup>
63
- * </>
64
- * )}
65
- * </DateRangeInput.Root>
60
+ * const ids = DateRangeInput.useIds();
61
+ *
62
+ * <Field.Root>
63
+ * <DateRangeInput.Label id={ids.labelId}>Invoice period</DateRangeInput.Label>
64
+ * <DateRangeInput.Root aria-labelledby={ids.labelId}>
65
+ * {({ isFocusWithin }) => (
66
+ * <>
67
+ * <DateRangeInput.Group state={{ focused: isFocusWithin }}>
68
+ * <DateRangeInput.Input slot="start">
69
+ * {segment => <DateRangeInput.Segment segment={segment} />}
70
+ * </DateRangeInput.Input>
71
+ * <DateRangeInput.Separator>to</DateRangeInput.Separator>
72
+ * <DateRangeInput.Input slot="end">
73
+ * {segment => <DateRangeInput.Segment segment={segment} />}
74
+ * </DateRangeInput.Input>
75
+ * <DateRangeInput.Spacer />
76
+ * <DateRangeInput.Trigger
77
+ * ref={triggerRef}
78
+ * render={
79
+ * <IconButton label="Open calendar" variant="tertiary" size="sm">
80
+ * <DateRangeIcon />
81
+ * </IconButton>
82
+ * }
83
+ * />
84
+ * </DateRangeInput.Group>
85
+ * <DateRangeInput.Popup triggerRef={triggerRef}>
86
+ * <DateRangeInput.Calendar visibleMonths={2}>
87
+ * <DateRangeInput.CalendarHeader>
88
+ * <DateRangeInput.Previous render={<IconButton label="Previous month"><ChevronLeftIcon /></IconButton>} />
89
+ * <DateRangeInput.Heading />
90
+ * <DateRangeInput.Next render={<IconButton label="Next month"><ChevronRightIcon /></IconButton>} />
91
+ * </DateRangeInput.CalendarHeader>
92
+ * <DateRangeInput.Months>
93
+ * {[0, 1].map(month => (
94
+ * <DateRangeInput.Grid key={month} offset={{ months: month }}>
95
+ * <DateRangeInput.GridHeader>
96
+ * {day => <DateRangeInput.HeaderCell>{day}</DateRangeInput.HeaderCell>}
97
+ * </DateRangeInput.GridHeader>
98
+ * <DateRangeInput.GridBody>
99
+ * {date => <DateRangeInput.Cell date={date} />}
100
+ * </DateRangeInput.GridBody>
101
+ * </DateRangeInput.Grid>
102
+ * ))}
103
+ * </DateRangeInput.Months>
104
+ * </DateRangeInput.Calendar>
105
+ * </DateRangeInput.Popup>
106
+ * </>
107
+ * )}
108
+ * </DateRangeInput.Root>
109
+ * </Field.Root>
66
110
  */
67
111
  export declare const DateRangeInput: DateRangeInputParts;
68
112
  export {};
@@ -1,5 +1,8 @@
1
+ import { TemporalRangeCalendar } from "../../lib/calendar/calendar-prefab.js";
2
+ import { CalendarMonthPicker, CalendarPickers, CalendarYearPicker } from "../../lib/calendar/calendar-navigation.js";
3
+ import { CalendarCell as CalendarCell$1, CalendarGrid as CalendarGrid$1, CalendarGridBody as CalendarGridBody$1, CalendarGridHeader as CalendarGridHeader$1, CalendarHeader, CalendarHeaderCell as CalendarHeaderCell$1, CalendarHeading, CalendarMonths, CalendarNext, CalendarPrevious, RangeCalendarRoot } from "../../lib/calendar/calendar-parts.js";
1
4
  import { todayIn } from "../../lib/calendar/temporal-value.js";
2
- import { TemporalFrame, TemporalGroup, TemporalPopup, TemporalRangeCalendar, TemporalRangeInput, TemporalRangeSeparator, TemporalRangeSpacer, TemporalTrigger } from "../../lib/calendar/temporal.js";
5
+ import { TemporalDialog, TemporalGroup, TemporalLabel, TemporalPopover, TemporalPopup, TemporalRangeInput, TemporalRangeSeparator, TemporalRangeSpacer, TemporalSegment, TemporalTrigger } from "../../lib/calendar/temporal.js";
3
6
  import { Field } from "../field/field.js";
4
7
  import { fieldStateAttributes } from "../field/field-state.js";
5
8
  import { useTimeZone } from "../time-zone-provider/time-zone-provider.js";
@@ -62,63 +65,95 @@ var DateRangeInputRoot = (t0) => {
62
65
  return t5;
63
66
  };
64
67
  /**
65
- * The icon-only button that opens the range calendar.
66
- *
67
- * @example
68
- * <DateRangeInput.Trigger label="Open calendar"><DateRangeIcon /></DateRangeInput.Trigger>
69
- */
70
- var DateRangeInputTrigger = (t0) => {
71
- const $ = c(4);
72
- const { label, ref, children } = t0;
73
- let t1;
74
- if ($[0] !== children || $[1] !== label || $[2] !== ref) {
75
- t1 = /* @__PURE__ */ jsx(TemporalTrigger, {
76
- label,
77
- ref,
78
- children
79
- });
80
- $[0] = children;
81
- $[1] = label;
82
- $[2] = ref;
83
- $[3] = t1;
84
- } else t1 = $[3];
85
- return t1;
86
- };
87
- /**
88
68
  * The styled parts of a react-aria `DateRangePicker`, a start and an end date
89
- * entry plus a range calendar popover, carrying the field frame's ids rather
90
- * than a label of their own. For the ordinary case, use `DateRangeField`.
69
+ * entry plus a range calendar popover, following react-aria's own anatomy. It
70
+ * sits in a `Field.Root` and names itself through `Label`'s id. For the
71
+ * ordinary case, use `DateRangeField`, which is assembled from exactly these
72
+ * parts. `StandardCalendar` is the whole range calendar, its header, pickers
73
+ * and grids, assembled from them.
91
74
  *
92
75
  * @example
93
- * <DateRangeInput.Root aria-labelledby={labelId}>
94
- * {({ isFocusWithin }) => (
95
- * <>
96
- * <DateRangeInput.Group state={{ focused: isFocusWithin }}>
97
- * <DateRangeInput.Input slot="start" />
98
- * <DateRangeInput.Separator />
99
- * <DateRangeInput.Input slot="end" />
100
- * <DateRangeInput.Spacer />
101
- * <DateRangeInput.Trigger label="Open calendar">
102
- * <DateRangeIcon />
103
- * </DateRangeInput.Trigger>
104
- * </DateRangeInput.Group>
105
- * <DateRangeInput.Popup>
106
- * <DateRangeInput.Calendar {...calendarLabels} {...calendarIcons} />
107
- * </DateRangeInput.Popup>
108
- * </>
109
- * )}
110
- * </DateRangeInput.Root>
76
+ * const ids = DateRangeInput.useIds();
77
+ *
78
+ * <Field.Root>
79
+ * <DateRangeInput.Label id={ids.labelId}>Invoice period</DateRangeInput.Label>
80
+ * <DateRangeInput.Root aria-labelledby={ids.labelId}>
81
+ * {({ isFocusWithin }) => (
82
+ * <>
83
+ * <DateRangeInput.Group state={{ focused: isFocusWithin }}>
84
+ * <DateRangeInput.Input slot="start">
85
+ * {segment => <DateRangeInput.Segment segment={segment} />}
86
+ * </DateRangeInput.Input>
87
+ * <DateRangeInput.Separator>to</DateRangeInput.Separator>
88
+ * <DateRangeInput.Input slot="end">
89
+ * {segment => <DateRangeInput.Segment segment={segment} />}
90
+ * </DateRangeInput.Input>
91
+ * <DateRangeInput.Spacer />
92
+ * <DateRangeInput.Trigger
93
+ * ref={triggerRef}
94
+ * render={
95
+ * <IconButton label="Open calendar" variant="tertiary" size="sm">
96
+ * <DateRangeIcon />
97
+ * </IconButton>
98
+ * }
99
+ * />
100
+ * </DateRangeInput.Group>
101
+ * <DateRangeInput.Popup triggerRef={triggerRef}>
102
+ * <DateRangeInput.Calendar visibleMonths={2}>
103
+ * <DateRangeInput.CalendarHeader>
104
+ * <DateRangeInput.Previous render={<IconButton label="Previous month"><ChevronLeftIcon /></IconButton>} />
105
+ * <DateRangeInput.Heading />
106
+ * <DateRangeInput.Next render={<IconButton label="Next month"><ChevronRightIcon /></IconButton>} />
107
+ * </DateRangeInput.CalendarHeader>
108
+ * <DateRangeInput.Months>
109
+ * {[0, 1].map(month => (
110
+ * <DateRangeInput.Grid key={month} offset={{ months: month }}>
111
+ * <DateRangeInput.GridHeader>
112
+ * {day => <DateRangeInput.HeaderCell>{day}</DateRangeInput.HeaderCell>}
113
+ * </DateRangeInput.GridHeader>
114
+ * <DateRangeInput.GridBody>
115
+ * {date => <DateRangeInput.Cell date={date} />}
116
+ * </DateRangeInput.GridBody>
117
+ * </DateRangeInput.Grid>
118
+ * ))}
119
+ * </DateRangeInput.Months>
120
+ * </DateRangeInput.Calendar>
121
+ * </DateRangeInput.Popup>
122
+ * </>
123
+ * )}
124
+ * </DateRangeInput.Root>
125
+ * </Field.Root>
111
126
  */
112
127
  var DateRangeInput = {
113
- Frame: TemporalFrame,
114
128
  Root: DateRangeInputRoot,
129
+ Label: TemporalLabel,
115
130
  Group: TemporalGroup,
116
131
  Input: TemporalRangeInput,
132
+ Segment: TemporalSegment,
117
133
  Separator: TemporalRangeSeparator,
118
134
  Spacer: TemporalRangeSpacer,
119
- Trigger: DateRangeInputTrigger,
135
+ Trigger: TemporalTrigger,
136
+ Pending: Field.Pending,
120
137
  Popup: TemporalPopup,
121
- Calendar: TemporalRangeCalendar,
122
- Pending: Field.Pending
138
+ Popover: TemporalPopover,
139
+ Dialog: TemporalDialog,
140
+ Calendar: RangeCalendarRoot,
141
+ StandardCalendar: TemporalRangeCalendar,
142
+ CalendarHeader,
143
+ Heading: CalendarHeading,
144
+ Previous: CalendarPrevious,
145
+ Next: CalendarNext,
146
+ Pickers: CalendarPickers,
147
+ MonthPicker: CalendarMonthPicker,
148
+ YearPicker: CalendarYearPicker,
149
+ Months: CalendarMonths,
150
+ Grid: CalendarGrid$1,
151
+ GridHeader: CalendarGridHeader$1,
152
+ HeaderCell: CalendarHeaderCell$1,
153
+ GridBody: CalendarGridBody$1,
154
+ Cell: CalendarCell$1,
155
+ Description: Field.Description,
156
+ Error: Field.Error,
157
+ useIds: Field.useIds
123
158
  };
124
159
  export { DateRangeInput };