@igne-agency/react-web-ui 0.4.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 (257) hide show
  1. package/dist/base.css +3 -0
  2. package/dist/components/accordion/accordion.css +21 -21
  3. package/dist/components/accordion/accordion.d.ts +17 -4
  4. package/dist/components/accordion/accordion.js +83 -36
  5. package/dist/components/accordion/accordion.module.js +6 -6
  6. package/dist/components/attachment-tile/attachment-preview.d.ts +56 -13
  7. package/dist/components/attachment-tile/attachment-preview.js +388 -119
  8. package/dist/components/attachment-tile/attachment-tile.css +31 -25
  9. package/dist/components/attachment-tile/attachment-tile.d.ts +32 -10
  10. package/dist/components/attachment-tile/attachment-tile.js +160 -43
  11. package/dist/components/attachment-tile/attachment-tile.module.js +8 -8
  12. package/dist/components/attachment-tile/index.d.ts +1 -1
  13. package/dist/components/avatar/avatar.css +9 -9
  14. package/dist/components/avatar/avatar.d.ts +50 -5
  15. package/dist/components/avatar/avatar.js +178 -64
  16. package/dist/components/avatar/avatar.module.js +3 -3
  17. package/dist/components/avatar-group/avatar-group-context.d.ts +2 -4
  18. package/dist/components/avatar-group/avatar-group-context.js +2 -2
  19. package/dist/components/avatar-group/avatar-group.css +26 -20
  20. package/dist/components/avatar-group/avatar-group.d.ts +85 -27
  21. package/dist/components/avatar-group/avatar-group.js +400 -246
  22. package/dist/components/avatar-group/avatar-group.module.js +8 -8
  23. package/dist/components/breadcrumbs/breadcrumbs.css +12 -12
  24. package/dist/components/breadcrumbs/breadcrumbs.d.ts +69 -23
  25. package/dist/components/breadcrumbs/breadcrumbs.js +299 -248
  26. package/dist/components/breadcrumbs/breadcrumbs.module.js +8 -8
  27. package/dist/components/button/button.css +29 -31
  28. package/dist/components/button/button.d.ts +20 -16
  29. package/dist/components/button/button.js +140 -145
  30. package/dist/components/button/button.module.js +1 -1
  31. package/dist/components/button/index.js +1 -1
  32. package/dist/components/checkbox-field/checkbox-field.js +63 -49
  33. package/dist/components/checkbox-field/checkbox.css +105 -56
  34. package/dist/components/checkbox-field/checkbox.d.ts +3 -2
  35. package/dist/components/checkbox-field/checkbox.js +12 -9
  36. package/dist/components/checkbox-field/checkbox.module.js +4 -4
  37. package/dist/components/checkbox-group-field/checkbox-group-field.js +78 -72
  38. package/dist/components/checkbox-group-field/checkbox-group.css +14 -10
  39. package/dist/components/checkbox-group-field/checkbox-group.d.ts +2 -2
  40. package/dist/components/checkbox-group-field/checkbox-group.js +2 -2
  41. package/dist/components/checkbox-group-field/checkbox-group.module.js +2 -2
  42. package/dist/components/collapsible/collapsible.css +20 -20
  43. package/dist/components/collapsible/collapsible.d.ts +17 -4
  44. package/dist/components/collapsible/collapsible.js +83 -36
  45. package/dist/components/collapsible/collapsible.module.js +5 -5
  46. package/dist/components/combobox-field/combobox-field.js +206 -158
  47. package/dist/components/combobox-field/combobox.css +492 -277
  48. package/dist/components/combobox-field/combobox.d.ts +148 -39
  49. package/dist/components/combobox-field/combobox.js +506 -206
  50. package/dist/components/combobox-field/combobox.module.js +21 -21
  51. package/dist/components/combobox-field/value-state-view.css +5 -5
  52. package/dist/components/combobox-field/value-state-view.module.js +4 -4
  53. package/dist/components/composer/composer-attachments.d.ts +30 -11
  54. package/dist/components/composer/composer-attachments.js +45 -40
  55. package/dist/components/composer/composer-editor.css +40 -35
  56. package/dist/components/composer/composer-editor.d.ts +14 -4
  57. package/dist/components/composer/composer-editor.js +134 -44
  58. package/dist/components/composer/composer-editor.module.js +5 -5
  59. package/dist/components/composer/composer.css +22 -22
  60. package/dist/components/composer/composer.d.ts +13 -2
  61. package/dist/components/composer/composer.js +78 -63
  62. package/dist/components/composer/composer.module.js +5 -5
  63. package/dist/components/composer/index.d.ts +2 -2
  64. package/dist/components/composer/mention-text.css +5 -5
  65. package/dist/components/composer/mention-text.module.js +1 -1
  66. package/dist/components/confirm-dialog/confirm-dialog.css +29 -29
  67. package/dist/components/confirm-dialog/confirm-dialog.d.ts +57 -3
  68. package/dist/components/confirm-dialog/confirm-dialog.js +266 -108
  69. package/dist/components/confirm-dialog/confirm-dialog.module.js +5 -5
  70. package/dist/components/conversation/conversation.css +52 -52
  71. package/dist/components/conversation/conversation.d.ts +43 -18
  72. package/dist/components/conversation/conversation.js +120 -78
  73. package/dist/components/conversation/conversation.module.js +15 -15
  74. package/dist/components/date-field/date-field.d.ts +1 -1
  75. package/dist/components/date-field/date-field.js +202 -100
  76. package/dist/components/date-field/date-input.d.ts +73 -37
  77. package/dist/components/date-field/date-input.js +72 -45
  78. package/dist/components/date-field/index.d.ts +1 -1
  79. package/dist/components/date-range-field/date-range-field.d.ts +1 -1
  80. package/dist/components/date-range-field/date-range-field.js +219 -107
  81. package/dist/components/date-range-field/date-range-input.d.ts +84 -40
  82. package/dist/components/date-range-field/date-range-input.js +83 -48
  83. package/dist/components/dialog/dialog.css +32 -32
  84. package/dist/components/dialog/dialog.d.ts +8 -7
  85. package/dist/components/dialog/dialog.js +8 -26
  86. package/dist/components/dialog/dialog.module.js +6 -6
  87. package/dist/components/divider/divider.css +6 -6
  88. package/dist/components/divider/divider.d.ts +36 -2
  89. package/dist/components/divider/divider.js +195 -29
  90. package/dist/components/divider/divider.module.js +3 -3
  91. package/dist/components/drawer/drawer.css +55 -56
  92. package/dist/components/drawer/drawer.d.ts +8 -7
  93. package/dist/components/drawer/drawer.js +8 -26
  94. package/dist/components/drawer/drawer.module.js +6 -6
  95. package/dist/components/field/field.css +34 -24
  96. package/dist/components/field/field.d.ts +60 -37
  97. package/dist/components/field/field.js +242 -157
  98. package/dist/components/field/field.module.js +12 -10
  99. package/dist/components/field/input-parts.d.ts +11 -13
  100. package/dist/components/field/input-parts.js +23 -42
  101. package/dist/components/field-placeholder/field-placeholder.css +6 -6
  102. package/dist/components/field-placeholder/field-placeholder.module.js +4 -4
  103. package/dist/components/fieldset/field-group.d.ts +1 -1
  104. package/dist/components/fieldset/field-group.js +48 -42
  105. package/dist/components/fieldset/fieldset-root.d.ts +1 -1
  106. package/dist/components/fieldset/fieldset-root.js +19 -17
  107. package/dist/components/fieldset/fieldset.d.ts +2 -2
  108. package/dist/components/fieldset/fieldset.js +2 -2
  109. package/dist/components/file-field/file-field.css +126 -60
  110. package/dist/components/file-field/file-field.js +201 -109
  111. package/dist/components/file-field/file-field.module.js +4 -4
  112. package/dist/components/file-field/file-input.d.ts +66 -40
  113. package/dist/components/file-field/file-input.js +188 -132
  114. package/dist/components/filter-bar/filter-bar.css +8 -8
  115. package/dist/components/filter-bar/filter-bar.d.ts +12 -3
  116. package/dist/components/filter-bar/filter-bar.js +23 -25
  117. package/dist/components/filter-bar/filter-bar.module.js +5 -5
  118. package/dist/components/form/form.d.ts +19 -7
  119. package/dist/components/form/form.js +80 -29
  120. package/dist/components/icon/icon.css +2 -2
  121. package/dist/components/icon/icon.module.js +1 -1
  122. package/dist/components/link/link.css +6 -5
  123. package/dist/components/link/link.module.js +1 -1
  124. package/dist/components/menu/menu.css +52 -47
  125. package/dist/components/menu/menu.d.ts +32 -25
  126. package/dist/components/menu/menu.js +75 -124
  127. package/dist/components/menu/menu.module.js +8 -8
  128. package/dist/components/nav/nav-context.d.ts +1 -1
  129. package/dist/components/nav/nav-item-view.d.ts +10 -13
  130. package/dist/components/nav/nav-item-view.js +42 -54
  131. package/dist/components/nav/nav.css +150 -119
  132. package/dist/components/nav/nav.d.ts +61 -17
  133. package/dist/components/nav/nav.js +271 -176
  134. package/dist/components/nav/nav.module.js +17 -15
  135. package/dist/components/number-field/number-field.css +153 -64
  136. package/dist/components/number-field/number-field.d.ts +2 -2
  137. package/dist/components/number-field/number-field.js +112 -91
  138. package/dist/components/number-field/number-field.module.js +6 -6
  139. package/dist/components/number-field/number-input.d.ts +43 -23
  140. package/dist/components/number-field/number-input.js +179 -125
  141. package/dist/components/otp-field/otp-field.css +153 -60
  142. package/dist/components/otp-field/otp-field.d.ts +2 -2
  143. package/dist/components/otp-field/otp-field.js +62 -46
  144. package/dist/components/otp-field/otp-field.module.js +4 -4
  145. package/dist/components/otp-field/otp-input.d.ts +8 -6
  146. package/dist/components/otp-field/otp-input.js +92 -92
  147. package/dist/components/pagination/pagination.d.ts +46 -15
  148. package/dist/components/pagination/pagination.js +217 -224
  149. package/dist/components/password-field/password-field.css +23 -23
  150. package/dist/components/password-field/password-field.js +107 -85
  151. package/dist/components/password-field/password-field.module.js +8 -8
  152. package/dist/components/password-field/password-strength.d.ts +107 -3
  153. package/dist/components/password-field/password-strength.js +569 -92
  154. package/dist/components/photo-field/photo-field.js +137 -112
  155. package/dist/components/photo-field/photo-input.css +67 -44
  156. package/dist/components/photo-field/photo-input.d.ts +59 -15
  157. package/dist/components/photo-field/photo-input.js +173 -86
  158. package/dist/components/photo-field/photo-input.module.js +10 -8
  159. package/dist/components/popover/popover.css +41 -41
  160. package/dist/components/popover/popover.d.ts +66 -25
  161. package/dist/components/popover/popover.js +332 -217
  162. package/dist/components/popover/popover.module.js +15 -19
  163. package/dist/components/radio-group-field/radio-group-field.js +80 -71
  164. package/dist/components/radio-group-field/radio-group.css +112 -60
  165. package/dist/components/radio-group-field/radio-group.d.ts +19 -3
  166. package/dist/components/radio-group-field/radio-group.js +66 -23
  167. package/dist/components/radio-group-field/radio-group.module.js +4 -4
  168. package/dist/components/segmented-control-field/segmented-control-field.d.ts +1 -1
  169. package/dist/components/segmented-control-field/segmented-control-field.js +111 -96
  170. package/dist/components/segmented-control-field/segmented-control.css +132 -79
  171. package/dist/components/segmented-control-field/segmented-control.d.ts +39 -15
  172. package/dist/components/segmented-control-field/segmented-control.js +124 -41
  173. package/dist/components/segmented-control-field/segmented-control.module.js +4 -4
  174. package/dist/components/select-field/select.css +214 -101
  175. package/dist/components/select-field/select.d.ts +43 -11
  176. package/dist/components/select-field/select.js +194 -109
  177. package/dist/components/select-field/select.module.js +14 -14
  178. package/dist/components/skeleton/skeleton.css +4 -4
  179. package/dist/components/skeleton/skeleton.module.js +3 -3
  180. package/dist/components/stale/stale.css +15 -15
  181. package/dist/components/stale/stale.d.ts +27 -3
  182. package/dist/components/stale/stale.js +147 -66
  183. package/dist/components/stale/stale.module.js +6 -6
  184. package/dist/components/status-message/status-message.css +22 -22
  185. package/dist/components/status-message/status-message.module.js +6 -6
  186. package/dist/components/switch-field/switch-field.js +77 -57
  187. package/dist/components/switch-field/switch.css +112 -63
  188. package/dist/components/switch-field/switch.d.ts +20 -3
  189. package/dist/components/switch-field/switch.js +70 -27
  190. package/dist/components/switch-field/switch.module.js +4 -4
  191. package/dist/components/tabs/tabs.css +32 -32
  192. package/dist/components/tabs/tabs.d.ts +21 -7
  193. package/dist/components/tabs/tabs.js +73 -14
  194. package/dist/components/tabs/tabs.module.js +7 -7
  195. package/dist/components/tag/tag.css +84 -84
  196. package/dist/components/tag/tag.module.js +3 -3
  197. package/dist/components/tag-group/tag-group.css +94 -94
  198. package/dist/components/tag-group/tag-group.module.js +4 -4
  199. package/dist/components/text-field/text-field.css +159 -82
  200. package/dist/components/text-field/text-field.d.ts +1 -1
  201. package/dist/components/text-field/text-field.js +139 -110
  202. package/dist/components/text-field/text-field.module.js +9 -9
  203. package/dist/components/text-field/text-input.d.ts +81 -45
  204. package/dist/components/text-field/text-input.js +366 -217
  205. package/dist/components/textarea-field/textarea-field.css +7 -2
  206. package/dist/components/textarea-field/textarea-field.js +72 -56
  207. package/dist/components/textarea-field/textarea-field.module.js +2 -2
  208. package/dist/components/time-field/time-field.js +153 -60
  209. package/dist/components/time-field/time-input.d.ts +21 -10
  210. package/dist/components/time-field/time-input.js +22 -11
  211. package/dist/components/toast/toast-provider.css +34 -31
  212. package/dist/components/toast/toast-provider.d.ts +63 -14
  213. package/dist/components/toast/toast-provider.js +174 -111
  214. package/dist/components/toast/toast-provider.module.js +7 -7
  215. package/dist/components/toggle-group-field/toggle-group-field.d.ts +1 -1
  216. package/dist/components/toggle-group-field/toggle-group-field.js +95 -89
  217. package/dist/components/toggle-group-field/toggle-group.css +117 -67
  218. package/dist/components/toggle-group-field/toggle-group.d.ts +2 -2
  219. package/dist/components/toggle-group-field/toggle-group.js +2 -2
  220. package/dist/components/toggle-group-field/toggle-group.module.js +2 -2
  221. package/dist/components/tooltip/tooltip.css +4 -4
  222. package/dist/components/tooltip/tooltip.module.js +1 -1
  223. package/dist/data-table/data-table-content.js +6 -5
  224. package/dist/data-table/data-table-parts.d.ts +41 -13
  225. package/dist/data-table/data-table-parts.js +213 -172
  226. package/dist/data-table/data-table-selection.d.ts +105 -3
  227. package/dist/data-table/data-table-selection.js +654 -145
  228. package/dist/data-table/data-table.css +125 -128
  229. package/dist/data-table/data-table.d.ts +21 -26
  230. package/dist/data-table/data-table.js +20 -23
  231. package/dist/data-table/data-table.module.js +32 -34
  232. package/dist/data-table/index.d.ts +2 -2
  233. package/dist/index.js +3 -3
  234. package/dist/lib/calendar/calendar-navigation.d.ts +39 -5
  235. package/dist/lib/calendar/calendar-navigation.js +185 -118
  236. package/dist/lib/calendar/calendar-parts.d.ts +143 -0
  237. package/dist/lib/calendar/calendar-parts.js +540 -0
  238. package/dist/lib/calendar/calendar-prefab.d.ts +52 -0
  239. package/dist/lib/calendar/calendar-prefab.js +311 -0
  240. package/dist/lib/calendar/calendar-year.d.ts +3 -1
  241. package/dist/lib/calendar/calendar-year.js +139 -131
  242. package/dist/lib/calendar/temporal.css +325 -232
  243. package/dist/lib/calendar/temporal.d.ts +67 -82
  244. package/dist/lib/calendar/temporal.js +258 -569
  245. package/dist/lib/calendar/temporal.module.js +38 -38
  246. package/dist/lib/forms/use-connected-field.d.ts +1 -1
  247. package/dist/lib/forms/use-connected-field.js +1 -1
  248. package/dist/lib/render-as.d.ts +13 -0
  249. package/dist/lib/render-as.js +46 -0
  250. package/dist/terrazzo/index.d.ts +4 -3
  251. package/dist/terrazzo/index.js +17 -6
  252. package/dist/tokens.css +28 -4
  253. package/package.json +2 -2
  254. package/tokens/dark.tokens.json +6 -0
  255. package/tokens/sys.tokens.json +7 -0
  256. package/dist/components/button/close-button.d.ts +0 -16
  257. 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 };