@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,6 +1,6 @@
1
1
  import { Pagination } from "../components/pagination/pagination.js";
2
2
  import { DataTableContent } from "./data-table-content.js";
3
- import { Body, Cell, ErrorMessage, Frame, Head, HeaderCell, HeaderRow, LoadingCaption, PlaceholderRows, RefreshFailed, Row, Scroller, SortButton, StaleOverlay, StateRow, SubRow, Table } from "./data-table-parts.js";
3
+ import { Body, Cell, ErrorMessage, Frame, Head, HeaderCell, HeaderRow, LoadingCaption, PlaceholderRows, RefreshFailed, Row, Scroller, SortButton, SortIcon, StaleOverlay, StateRow, SubRow, Table } from "./data-table-parts.js";
4
4
  import { DataTableContext, useDataTable } from "./data-table-context.js";
5
5
  import { DataTableSelectionBar } from "./data-table-selection.js";
6
6
  import { PAGE_SIZE_OPTIONS } from "./table-features.js";
@@ -82,11 +82,16 @@ var Toolbar = (t0) => {
82
82
  return t2;
83
83
  };
84
84
  /**
85
- * The pager driven by the instance's pagination API (built with
86
- * `manualPagination` + server `rowCount`): the ready-made `Pagination` from its
87
- * labels and icons, or a `Pagination.Root` holding the parts it is given. The
88
- * page sizes come from the table's `meta.pageSizeOptions`, and picking one
89
- * returns to the first page.
85
+ * The `Pagination.Root` driven by the instance's pagination API (built with
86
+ * `manualPagination` + server `rowCount`), holding the `Pagination` parts it is
87
+ * given. The page sizes come from the table's `meta.pageSizeOptions`, and
88
+ * picking one returns to the first page.
89
+ *
90
+ * @example
91
+ * <DataTable.Pagination>
92
+ * <Pagination.Index label={page => `Page ${page.pageIndex + 1} of ${page.pageCount}`} />
93
+ * <Pagination.Controls>…</Pagination.Controls>
94
+ * </DataTable.Pagination>
90
95
  */
91
96
  var DataTablePagination = (props) => {
92
97
  const $ = c(18);
@@ -148,10 +153,7 @@ var DataTablePagination = (props) => {
148
153
  const bound = t6;
149
154
  let t7;
150
155
  if ($[15] !== bound || $[16] !== props) {
151
- t7 = props.indexLabel === void 0 ? /* @__PURE__ */ jsx(Pagination.Root, {
152
- ...props,
153
- ...bound
154
- }) : /* @__PURE__ */ jsx(Pagination, {
156
+ t7 = /* @__PURE__ */ jsx(Pagination.Root, {
155
157
  ...props,
156
158
  ...bound
157
159
  });
@@ -185,19 +187,13 @@ var DataTablePagination = (props) => {
185
187
  * sortAscendingIcon={<ArrowUpwardIcon />}
186
188
  * sortDescendingIcon={<ArrowDownwardIcon />}
187
189
  * />
188
- * <DataTable.Pagination
189
- * pageSizeLabel="Rows per page"
190
- * indexLabel={page => `Page ${page.pageIndex + 1} of ${page.pageCount}`}
191
- * firstLabel="First page"
192
- * previousLabel="Previous page"
193
- * nextLabel="Next page"
194
- * lastLabel="Last page"
195
- * firstIcon={<FirstPageIcon />}
196
- * previousIcon={<ChevronLeftIcon />}
197
- * nextIcon={<ChevronRightIcon />}
198
- * lastIcon={<LastPageIcon />}
199
- * checkIcon={<CheckIcon />}
200
- * />
190
+ * <DataTable.Pagination>
191
+ * <Pagination.Index label={page => `Page ${page.pageIndex + 1} of ${page.pageCount}`} />
192
+ * <Pagination.Controls>
193
+ * <Pagination.Previous render={<IconButton label="Previous page" variant="tertiary"><ChevronLeftIcon /></IconButton>} />
194
+ * <Pagination.Next render={<IconButton label="Next page" variant="tertiary"><ChevronRightIcon /></IconButton>} />
195
+ * </Pagination.Controls>
196
+ * </DataTable.Pagination>
201
197
  * </DataTable.Root>
202
198
  */
203
199
  var DataTable = {
@@ -216,6 +212,7 @@ var DataTable = {
216
212
  HeaderRow,
217
213
  HeaderCell,
218
214
  SortButton,
215
+ SortIcon,
219
216
  Body,
220
217
  Row,
221
218
  Cell,
@@ -1,41 +1,39 @@
1
1
  import './data-table.css';// src/data-table/data-table.module.scss
2
- var root = "_root_k21i7_3";
3
- var toolbar = "_toolbar_k21i7_77";
4
- var scrollFrame = "_scrollFrame_k21i7_84";
5
- var stale = "_stale_k21i7_92";
6
- var staleOverlay = "_staleOverlay_k21i7_98";
7
- var contentWrap = "_contentWrap_k21i7_101";
8
- var th = "_th_k21i7_132";
9
- var edgeStart = "_edgeStart_k21i7_1";
10
- var edgeEnd = "_edgeEnd_k21i7_1";
11
- var refreshFailed = "_refreshFailed_k21i7_165";
12
- var table = "_table_k21i7_177";
13
- var thead = "_thead_k21i7_185";
14
- var sortToggle = "_sortToggle_k21i7_200";
15
- var sortIcon = "_sortIcon_k21i7_251";
16
- var td = "_td_k21i7_260";
17
- var row = "_row_k21i7_285";
18
- var subRow = "_subRow_k21i7_307";
19
- var skeletonBar = "_skeletonBar_k21i7_316";
20
- var busyCaption = "_busyCaption_k21i7_319";
21
- var stateCell = "_stateCell_k21i7_327";
22
- var errorState = "_errorState_k21i7_332";
23
- var pagination = "_pagination_k21i7_335";
24
- var selectionContainer = "_selectionContainer_k21i7_339";
25
- var selectionBar = "_selectionBar_k21i7_343";
26
- var selectionSummary = "_selectionSummary_k21i7_413";
27
- var selectionTotal = "_selectionTotal_k21i7_428";
28
- var selectionCount = "_selectionCount_k21i7_429";
29
- var selectionMeasure = "_selectionMeasure_k21i7_430";
30
- var selectionStatus = "_selectionStatus_k21i7_462";
31
- var selectionActions = "_selectionActions_k21i7_470";
32
- var selectionSelectAll = "_selectionSelectAll_k21i7_500";
33
- var selectionBulk = "_selectionBulk_k21i7_503";
2
+ var root = "_root_ywjb2_3";
3
+ var toolbar = "_toolbar_ywjb2_77";
4
+ var scrollFrame = "_scrollFrame_ywjb2_84";
5
+ var staleOverlay = "_staleOverlay_ywjb2_92";
6
+ var contentWrap = "_contentWrap_ywjb2_95";
7
+ var th = "_th_ywjb2_126";
8
+ var edgeStart = "_edgeStart_ywjb2_1";
9
+ var edgeEnd = "_edgeEnd_ywjb2_1";
10
+ var refreshFailed = "_refreshFailed_ywjb2_159";
11
+ var table = "_table_ywjb2_171";
12
+ var thead = "_thead_ywjb2_179";
13
+ var sortToggle = "_sortToggle_ywjb2_194";
14
+ var sortIcon = "_sortIcon_ywjb2_245";
15
+ var td = "_td_ywjb2_254";
16
+ var row = "_row_ywjb2_279";
17
+ var subRow = "_subRow_ywjb2_301";
18
+ var skeletonBar = "_skeletonBar_ywjb2_310";
19
+ var busyCaption = "_busyCaption_ywjb2_313";
20
+ var stateCell = "_stateCell_ywjb2_321";
21
+ var errorState = "_errorState_ywjb2_326";
22
+ var pagination = "_pagination_ywjb2_329";
23
+ var selectionContainer = "_selectionContainer_ywjb2_333";
24
+ var selectionBar = "_selectionBar_ywjb2_337";
25
+ var selectionSummary = "_selectionSummary_ywjb2_410";
26
+ var selectionTotal = "_selectionTotal_ywjb2_425";
27
+ var selectionCount = "_selectionCount_ywjb2_426";
28
+ var selectionMeasure = "_selectionMeasure_ywjb2_427";
29
+ var selectionStatus = "_selectionStatus_ywjb2_459";
30
+ var selectionActions = "_selectionActions_ywjb2_467";
31
+ var selectionSelectAll = "_selectionSelectAll_ywjb2_497";
32
+ var selectionBulk = "_selectionBulk_ywjb2_500";
34
33
  var data_table_module_default = {
35
34
  root,
36
35
  toolbar,
37
36
  scrollFrame,
38
- stale,
39
37
  staleOverlay,
40
38
  contentWrap,
41
39
  th,
@@ -65,4 +63,4 @@ var data_table_module_default = {
65
63
  selectionSelectAll,
66
64
  selectionBulk
67
65
  };
68
- export { busyCaption, contentWrap, data_table_module_default as default, edgeEnd, edgeStart, errorState, pagination, refreshFailed, root, row, scrollFrame, selectionActions, selectionBar, selectionBulk, selectionContainer, selectionCount, selectionMeasure, selectionSelectAll, selectionStatus, selectionSummary, selectionTotal, skeletonBar, sortIcon, sortToggle, stale, staleOverlay, stateCell, subRow, table, td, th, thead, toolbar };
66
+ export { busyCaption, contentWrap, data_table_module_default as default, edgeEnd, edgeStart, errorState, pagination, refreshFailed, root, row, scrollFrame, selectionActions, selectionBar, selectionBulk, selectionContainer, selectionCount, selectionMeasure, selectionSelectAll, selectionStatus, selectionSummary, selectionTotal, skeletonBar, sortIcon, sortToggle, staleOverlay, stateCell, subRow, table, td, th, thead, toolbar };
@@ -1,7 +1,7 @@
1
1
  export * from "./data-table.tsx";
2
2
  export type { DataTableContentProps } from "./data-table-content.tsx";
3
3
  export { type DataTableState, useDataTable, } from "./data-table-context.tsx";
4
- export { type DataTableBodyProps, type DataTableCellProps, type DataTableErrorMessageProps, type DataTableFrameProps, type DataTableHeadProps, type DataTableHeaderCellProps, type DataTableHeaderRowProps, type DataTableLoadingCaptionProps, type DataTableRefreshFailedProps, type DataTableRowProps, type DataTableScrollerProps, type DataTableSortButtonProps, type DataTableStateRowProps, type DataTableSubRowProps, type DataTableTableProps, useDataTableView, } from "./data-table-parts.tsx";
5
- export { type DataTableSelectionBarProps, type SelectionColumnOptions, selectionColumn, } from "./data-table-selection.tsx";
4
+ export { type DataTableBodyProps, type DataTableCellProps, type DataTableErrorMessageProps, type DataTableFrameProps, type DataTableHeadProps, type DataTableHeaderCellProps, type DataTableHeaderRowProps, type DataTableLoadingCaptionProps, type DataTableRefreshFailedProps, type DataTableRowProps, type DataTableScrollerProps, type DataTableSort, type DataTableSortButtonProps, type DataTableSortIconProps, type DataTableStateRowProps, type DataTableSubRowProps, type DataTableTableProps, useDataTableView, } from "./data-table-parts.tsx";
5
+ export { type DataTableSelectionBarActionsProps, type DataTableSelectionBarBulkProps, type DataTableSelectionBarClearProps, type DataTableSelectionBarParts, type DataTableSelectionBarProps, type DataTableSelectionBarRootProps, type DataTableSelectionBarSelectAllProps, type DataTableSelectionBarStatusProps, type DataTableSelectionBarSummaryProps, type SelectionColumnOptions, selectionColumn, } from "./data-table-selection.tsx";
6
6
  export type { DataTableStatus, ResolvedView, TableView, } from "./resolve-view.ts";
7
7
  export * from "./table-features.ts";
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import { ActiveFilters, useActiveFilterChips } from "./components/active-filters
7
7
  import { useBusyPhase } from "./lib/hooks/use-busy-phase.js";
8
8
  import { Skeleton } from "./components/skeleton/skeleton.js";
9
9
  import { useAttachmentPreview } from "./components/attachment-tile/attachment-preview.js";
10
- import { Button } from "./components/button/button.js";
10
+ import { Button, IconButton } from "./components/button/button.js";
11
11
  import { AttachmentTile, SentAttachmentTile } from "./components/attachment-tile/attachment-tile.js";
12
12
  import { Avatar } from "./components/avatar/avatar.js";
13
13
  import { LocaleProvider, useLocale } from "./components/locale-provider/locale-provider.js";
@@ -19,7 +19,6 @@ import { useFold } from "./components/breadcrumbs/use-fold.js";
19
19
  import { Breadcrumbs } from "./components/breadcrumbs/breadcrumbs.js";
20
20
  import { getFieldErrors, normalizeFieldErrors } from "./lib/forms/errors.js";
21
21
  import { ErrorText } from "./components/error-text/error-text.js";
22
- import { Spinner } from "./components/spinner/spinner.js";
23
22
  import { useFieldContext, useFormContext } from "./lib/forms/context.js";
24
23
  import { Field } from "./components/field/field.js";
25
24
  import { fieldStateAttributes } from "./components/field/field-state.js";
@@ -35,6 +34,7 @@ import { CheckboxGroup } from "./components/checkbox-group-field/checkbox-group.
35
34
  import { CheckboxGroupField } from "./components/checkbox-group-field/checkbox-group-field.js";
36
35
  import { TSFCheckboxGroupField } from "./components/checkbox-group-field/tsf-checkbox-group-field.js";
37
36
  import { Collapsible } from "./components/collapsible/collapsible.js";
37
+ import { Spinner } from "./components/spinner/spinner.js";
38
38
  import { Combobox } from "./components/combobox-field/combobox.js";
39
39
  import { ComboboxField } from "./components/combobox-field/combobox-field.js";
40
40
  import { TSFComboboxField } from "./components/combobox-field/tsf-combobox-field.js";
@@ -132,4 +132,4 @@ import { useTheme } from "./lib/hooks/use-theme.js";
132
132
  import { storedPageSize, tableStoredValue } from "./lib/table-storage.js";
133
133
  import { useBeforeUnload } from "./lib/unsaved-changes/before-unload.js";
134
134
  import { LeaveGuardDialog, useLeaveGuard } from "./lib/unsaved-changes/leave-guard.js";
135
- export { Accordion, ActiveFilters, AttachmentTile, Avatar, AvatarGroup, Badge, Breadcrumbs, Button, Checkbox, CheckboxField, CheckboxGroup, CheckboxGroupField, Collapsible, Combobox, ComboboxField, ConfirmDialog, Conversation, DateField, DateInput, DateRangeField, DateRangeInput, DetailList, Dialog, Divider, Drawer, EmailField, EmptyMessage, ErrorBoundary, ErrorMessage, ErrorText, Field, FieldGroup, FieldPlaceholder, Fieldset, FileField, FileInput, FilterBar, Form, Icon, LeaveGuardDialog, Link, LinkButton, LoadingMessage, LocaleProvider, Menu, Nav, NavItemView, NumberField, NumberInput, OtpField, OtpInput, Pagination, PasswordField, PasswordStrength, PhoneField, PhotoField, PhotoInput, Popover, RadioGroup, RadioGroupField, SearchField, SegmentedControl, SegmentedControlField, Select, SelectField, SentAttachmentTile, Skeleton, Spinner, Stale, StatusMessage, Switch, SwitchField, TSFCheckboxField, TSFCheckboxGroupField, TSFComboboxField, TSFDateField, TSFDateRangeField, TSFEmailField, TSFFieldGroup, TSFFileField, TSFNumberField, TSFOtpField, TSFPasswordField, TSFPhoneField, TSFPhotoField, TSFRadioGroupField, TSFSearchField, TSFSegmentedControlField, TSFSelectField, TSFSwitchField, TSFTextField, TSFTextareaField, TSFTimeField, TSFToggleGroupField, Tabs, Tag, TagGroup, TextField, TextInput, Textarea, TextareaField, TimeField, TimeInput, TimeZoneProvider, Toast, ToastProvider, ToggleGroup, ToggleGroupField, Tooltip, connectTextPreset, createAppForm, currencyFormat, describeFlag, describeList, describeValue, fieldStateAttributes, getFieldErrors, groupByBurst, groupByDay, isoDateRangeToInstants, never, normalizeFieldErrors, optionsLoad, percentFormat, storedPageSize, tableStoredValue, toast, toastManager, unitFormat, useActiveFilterChips, useAttachmentPreview, useBeforeUnload, useBusyPhase, useConnectedField, useFieldContext, useFieldFocus, useFieldState, useFilterView, useFold, useFormContext, useFormDisabled, useLeaveGuard, useLocale, useMediaQuery, usePresence, useReportUnsavedChanges, useRowSelection, useTheme, useTimeZone, useUnsavedChanges, whenDirty };
135
+ export { Accordion, ActiveFilters, AttachmentTile, Avatar, AvatarGroup, Badge, Breadcrumbs, Button, Checkbox, CheckboxField, CheckboxGroup, CheckboxGroupField, Collapsible, Combobox, ComboboxField, ConfirmDialog, Conversation, DateField, DateInput, DateRangeField, DateRangeInput, DetailList, Dialog, Divider, Drawer, EmailField, EmptyMessage, ErrorBoundary, ErrorMessage, ErrorText, Field, FieldGroup, FieldPlaceholder, Fieldset, FileField, FileInput, FilterBar, Form, Icon, IconButton, LeaveGuardDialog, Link, LinkButton, LoadingMessage, LocaleProvider, Menu, Nav, NavItemView, NumberField, NumberInput, OtpField, OtpInput, Pagination, PasswordField, PasswordStrength, PhoneField, PhotoField, PhotoInput, Popover, RadioGroup, RadioGroupField, SearchField, SegmentedControl, SegmentedControlField, Select, SelectField, SentAttachmentTile, Skeleton, Spinner, Stale, StatusMessage, Switch, SwitchField, TSFCheckboxField, TSFCheckboxGroupField, TSFComboboxField, TSFDateField, TSFDateRangeField, TSFEmailField, TSFFieldGroup, TSFFileField, TSFNumberField, TSFOtpField, TSFPasswordField, TSFPhoneField, TSFPhotoField, TSFRadioGroupField, TSFSearchField, TSFSegmentedControlField, TSFSelectField, TSFSwitchField, TSFTextField, TSFTextareaField, TSFTimeField, TSFToggleGroupField, Tabs, Tag, TagGroup, TextField, TextInput, Textarea, TextareaField, TimeField, TimeInput, TimeZoneProvider, Toast, ToastProvider, ToggleGroup, ToggleGroupField, Tooltip, connectTextPreset, createAppForm, currencyFormat, describeFlag, describeList, describeValue, fieldStateAttributes, getFieldErrors, groupByBurst, groupByDay, isoDateRangeToInstants, never, normalizeFieldErrors, optionsLoad, percentFormat, storedPageSize, tableStoredValue, toast, toastManager, unitFormat, useActiveFilterChips, useAttachmentPreview, useBeforeUnload, useBusyPhase, useConnectedField, useFieldContext, useFieldFocus, useFieldState, useFilterView, useFold, useFormContext, useFormDisabled, useLeaveGuard, useLocale, useMediaQuery, usePresence, useReportUnsavedChanges, useRowSelection, useTheme, useTimeZone, useUnsavedChanges, whenDirty };
@@ -1,3 +1,4 @@
1
+ import { useRender } from "@base-ui/react/use-render";
1
2
  import { type ReactNode } from "react";
2
3
  /** The copy the month and year controls in a calendar header announce. */
3
4
  export type CalendarNavigationLabels = Readonly<{
@@ -15,12 +16,45 @@ export type CalendarNavigationIcons = Readonly<{
15
16
  /** The chevron on the month and year controls. Left out, none shows. */
16
17
  expandIcon?: ReactNode;
17
18
  }>;
19
+ export type CalendarPickersProps = useRender.ComponentProps<"div">;
18
20
  /**
19
- * The month and year controls in a calendar header, driven by whichever
20
- * calendar state is above them. The month list holds the months the focused
21
- * year actually has; the year list is every year in its era.
21
+ * The space between the month steppers that holds the month and year pickers,
22
+ * and the year list while it is open.
22
23
  *
23
24
  * @example
24
- * <CalendarNavigation monthLabel="Month" yearLabel="Year" noMatchingYearLabel="No matching year." checkIcon={<CheckIcon />} />
25
+ * <DateInput.Pickers>
26
+ * <DateInput.MonthPicker label="Month" checkIcon={<CheckIcon />} />
27
+ * <DateInput.YearPicker label="Year" noMatchingYearLabel="No matching year." checkIcon={<CheckIcon />} />
28
+ * </DateInput.Pickers>
25
29
  */
26
- export declare const CalendarNavigation: ({ monthLabel, yearLabel, noMatchingYearLabel, checkIcon, expandIcon, }: CalendarNavigationLabels & CalendarNavigationIcons) => ReactNode;
30
+ export declare const CalendarPickers: ({ render, className, ref, ...props }: CalendarPickersProps) => ReactNode;
31
+ export type CalendarMonthPickerProps = CalendarNavigationIcons & Readonly<{
32
+ /** Accessible name of the month list, such as "Month". */
33
+ label: string;
34
+ /** Applied to the month control. */
35
+ className?: string;
36
+ }>;
37
+ /**
38
+ * The month control in a calendar header: a list of the months the focused
39
+ * year has, driven by whichever calendar state is above it.
40
+ *
41
+ * @example
42
+ * <DateInput.MonthPicker label="Month" checkIcon={<CheckIcon />} expandIcon={<ExpandMoreIcon />} />
43
+ */
44
+ export declare const CalendarMonthPicker: ({ label, checkIcon, expandIcon, className, }: CalendarMonthPickerProps) => ReactNode;
45
+ export type CalendarYearPickerProps = CalendarNavigationIcons & Readonly<{
46
+ /** Accessible name of the year input, such as "Year". */
47
+ label: string;
48
+ /** What the year list says when no year matches the typed text. */
49
+ noMatchingYearLabel: string;
50
+ /** Applied to the year control. */
51
+ className?: string;
52
+ }>;
53
+ /**
54
+ * The year control in a calendar header: every year in the focused date's era,
55
+ * filtered by typing, driven by whichever calendar state is above it.
56
+ *
57
+ * @example
58
+ * <DateInput.YearPicker label="Year" noMatchingYearLabel="No matching year." checkIcon={<CheckIcon />} expandIcon={<ExpandMoreIcon />} />
59
+ */
60
+ export declare const CalendarYearPicker: ({ label, noMatchingYearLabel, checkIcon, expandIcon, className, }: CalendarYearPickerProps) => ReactNode;
@@ -6,30 +6,18 @@ import { CalendarYear } from "./calendar-year.js";
6
6
  import { dayToPlainDate } from "./temporal-value.js";
7
7
  import temporal_module_default from "./temporal.module.js";
8
8
  import { c } from "react/compiler-runtime";
9
+ import { useRender } from "@base-ui/react/use-render";
10
+ import { clsx } from "clsx";
9
11
  import { jsx, jsxs } from "react/jsx-runtime";
10
12
  import { useRef } from "react";
11
13
  import { Field } from "@base-ui/react/field";
12
14
  import { Intl } from "temporal-polyfill";
13
- import { startOfYear } from "@internationalized/date";
14
15
  import { Select } from "@base-ui/react/select";
16
+ import { startOfYear } from "@internationalized/date";
15
17
  // src/lib/calendar/calendar-navigation.tsx
16
- var OwnField = (t0) => {
17
- const $ = c(2);
18
- const { children } = t0;
19
- let t1;
20
- if ($[0] !== children) {
21
- t1 = /* @__PURE__ */ jsx(Field.Root, {
22
- className: temporal_module_default.navField,
23
- children
24
- });
25
- $[0] = children;
26
- $[1] = t1;
27
- } else t1 = $[1];
28
- return t1;
29
- };
30
18
  var CalendarMonthSelect = (t0) => {
31
- const $ = c(29);
32
- const { state, label, checkIcon, expandIcon } = t0;
19
+ const $ = c(32);
20
+ const { state, label, checkIcon, expandIcon, className } = t0;
33
21
  const locale = useLocale();
34
22
  const timeZone = useTimeZone();
35
23
  const { ref, collisionPadding } = usePopupEdgePadding();
@@ -63,47 +51,54 @@ var CalendarMonthSelect = (t0) => {
63
51
  $[6] = t3;
64
52
  } else t3 = $[6];
65
53
  let t4;
66
- if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
67
- t4 = /* @__PURE__ */ jsx(Select.Value, { className: temporal_module_default.navValue });
68
- $[7] = t4;
69
- } else t4 = $[7];
54
+ if ($[7] !== className) {
55
+ t4 = clsx(temporal_module_default.navTrigger, className);
56
+ $[7] = className;
57
+ $[8] = t4;
58
+ } else t4 = $[8];
70
59
  let t5;
71
- if ($[8] !== options) {
72
- t5 = /* @__PURE__ */ jsxs("span", {
60
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
61
+ t5 = /* @__PURE__ */ jsx(Select.Value, { className: temporal_module_default.navValue });
62
+ $[9] = t5;
63
+ } else t5 = $[9];
64
+ let t6;
65
+ if ($[10] !== options) {
66
+ t6 = /* @__PURE__ */ jsxs("span", {
73
67
  className: temporal_module_default.navLabel,
74
- children: [t4, /* @__PURE__ */ jsx("span", {
68
+ children: [t5, /* @__PURE__ */ jsx("span", {
75
69
  className: temporal_module_default.navSizer,
76
70
  "aria-hidden": "true",
77
71
  children: options.map(_temp)
78
72
  })]
79
73
  });
80
- $[8] = options;
81
- $[9] = t5;
82
- } else t5 = $[9];
83
- let t6;
84
- if ($[10] !== expandIcon) {
85
- t6 = expandIcon !== void 0 && /* @__PURE__ */ jsx(Select.Icon, {
86
- className: temporal_module_default.navIcon,
87
- children: expandIcon
88
- });
89
- $[10] = expandIcon;
74
+ $[10] = options;
90
75
  $[11] = t6;
91
76
  } else t6 = $[11];
92
77
  let t7;
93
- if ($[12] !== label || $[13] !== t5 || $[14] !== t6) {
94
- t7 = /* @__PURE__ */ jsxs(Select.Trigger, {
95
- "aria-label": label,
96
- className: temporal_module_default.navTrigger,
97
- children: [t5, t6]
78
+ if ($[12] !== expandIcon) {
79
+ t7 = expandIcon !== void 0 && /* @__PURE__ */ jsx(Select.Icon, {
80
+ className: temporal_module_default.navIcon,
81
+ children: expandIcon
98
82
  });
99
- $[12] = label;
100
- $[13] = t5;
101
- $[14] = t6;
102
- $[15] = t7;
103
- } else t7 = $[15];
83
+ $[12] = expandIcon;
84
+ $[13] = t7;
85
+ } else t7 = $[13];
104
86
  let t8;
105
- if ($[16] !== checkIcon || $[17] !== options) {
106
- t8 = /* @__PURE__ */ jsx(Select.Popup, {
87
+ if ($[14] !== label || $[15] !== t4 || $[16] !== t6 || $[17] !== t7) {
88
+ t8 = /* @__PURE__ */ jsxs(Select.Trigger, {
89
+ "aria-label": label,
90
+ className: t4,
91
+ children: [t6, t7]
92
+ });
93
+ $[14] = label;
94
+ $[15] = t4;
95
+ $[16] = t6;
96
+ $[17] = t7;
97
+ $[18] = t8;
98
+ } else t8 = $[18];
99
+ let t9;
100
+ if ($[19] !== checkIcon || $[20] !== options) {
101
+ t9 = /* @__PURE__ */ jsx(Select.Popup, {
107
102
  className: temporal_module_default.navPopup,
108
103
  children: /* @__PURE__ */ jsx(Select.List, { children: options.map((option_0) => /* @__PURE__ */ jsxs(Select.Item, {
109
104
  value: option_0.value,
@@ -115,101 +110,173 @@ var CalendarMonthSelect = (t0) => {
115
110
  }), /* @__PURE__ */ jsx(Select.ItemText, { children: option_0.label })]
116
111
  }, option_0.value)) })
117
112
  });
118
- $[16] = checkIcon;
119
- $[17] = options;
120
- $[18] = t8;
121
- } else t8 = $[18];
122
- let t9;
123
- if ($[19] !== collisionPadding || $[20] !== ref || $[21] !== t8) {
124
- t9 = /* @__PURE__ */ jsx(Select.Positioner, {
113
+ $[19] = checkIcon;
114
+ $[20] = options;
115
+ $[21] = t9;
116
+ } else t9 = $[21];
117
+ let t10;
118
+ if ($[22] !== collisionPadding || $[23] !== ref || $[24] !== t9) {
119
+ t10 = /* @__PURE__ */ jsx(Select.Positioner, {
125
120
  ref,
126
121
  className: temporal_module_default.navPositioner,
127
122
  sideOffset: 4,
128
123
  alignItemWithTrigger: false,
129
124
  collisionPadding,
130
- children: t8
125
+ children: t9
131
126
  });
132
- $[19] = collisionPadding;
133
- $[20] = ref;
134
- $[21] = t8;
135
- $[22] = t9;
136
- } else t9 = $[22];
137
- let t10;
138
- if ($[23] !== options || $[24] !== t2 || $[25] !== t3 || $[26] !== t7 || $[27] !== t9) {
139
- t10 = /* @__PURE__ */ jsxs(Select.Root, {
127
+ $[22] = collisionPadding;
128
+ $[23] = ref;
129
+ $[24] = t9;
130
+ $[25] = t10;
131
+ } else t10 = $[25];
132
+ let t11;
133
+ if ($[26] !== options || $[27] !== t10 || $[28] !== t2 || $[29] !== t3 || $[30] !== t8) {
134
+ t11 = /* @__PURE__ */ jsxs(Select.Root, {
140
135
  items: options,
141
136
  value: t2,
142
137
  onValueChange: t3,
143
- children: [t7, t9]
138
+ children: [t8, t10]
144
139
  });
145
- $[23] = options;
146
- $[24] = t2;
147
- $[25] = t3;
148
- $[26] = t7;
149
- $[27] = t9;
150
- $[28] = t10;
151
- } else t10 = $[28];
152
- return t10;
140
+ $[26] = options;
141
+ $[27] = t10;
142
+ $[28] = t2;
143
+ $[29] = t3;
144
+ $[30] = t8;
145
+ $[31] = t11;
146
+ } else t11 = $[31];
147
+ return t11;
153
148
  };
154
149
  /**
155
- * The month and year controls in a calendar header, driven by whichever
156
- * calendar state is above them. The month list holds the months the focused
157
- * year actually has; the year list is every year in its era.
150
+ * The space between the month steppers that holds the month and year pickers,
151
+ * and the year list while it is open.
158
152
  *
159
153
  * @example
160
- * <CalendarNavigation monthLabel="Month" yearLabel="Year" noMatchingYearLabel="No matching year." checkIcon={<CheckIcon />} />
154
+ * <DateInput.Pickers>
155
+ * <DateInput.MonthPicker label="Month" checkIcon={<CheckIcon />} />
156
+ * <DateInput.YearPicker label="Year" noMatchingYearLabel="No matching year." checkIcon={<CheckIcon />} />
157
+ * </DateInput.Pickers>
161
158
  */
162
- var CalendarNavigation = (t0) => {
159
+ var CalendarPickers = (t0) => {
163
160
  const $ = c(14);
164
- const { monthLabel, yearLabel, noMatchingYearLabel, checkIcon, expandIcon } = t0;
165
- const containerRef = useRef(null);
166
- const state = useCalendarNavigationState();
167
- if (state === null) return null;
161
+ let className;
162
+ let props;
163
+ let ref;
164
+ let render;
165
+ if ($[0] !== t0) {
166
+ ({render, className, ref, ...props} = t0);
167
+ $[0] = t0;
168
+ $[1] = className;
169
+ $[2] = props;
170
+ $[3] = ref;
171
+ $[4] = render;
172
+ } else {
173
+ className = $[1];
174
+ props = $[2];
175
+ ref = $[3];
176
+ render = $[4];
177
+ }
168
178
  let t1;
169
- if ($[0] !== checkIcon || $[1] !== expandIcon || $[2] !== monthLabel || $[3] !== state) {
170
- t1 = /* @__PURE__ */ jsx(OwnField, { children: /* @__PURE__ */ jsx(CalendarMonthSelect, {
171
- state,
172
- label: monthLabel,
173
- checkIcon,
174
- expandIcon
175
- }) });
176
- $[0] = checkIcon;
177
- $[1] = expandIcon;
178
- $[2] = monthLabel;
179
- $[3] = state;
180
- $[4] = t1;
181
- } else t1 = $[4];
179
+ if ($[5] !== className) {
180
+ t1 = clsx(temporal_module_default.navigation, className);
181
+ $[5] = className;
182
+ $[6] = t1;
183
+ } else t1 = $[6];
182
184
  let t2;
183
- if ($[5] !== checkIcon || $[6] !== expandIcon || $[7] !== noMatchingYearLabel || $[8] !== state || $[9] !== yearLabel) {
184
- t2 = /* @__PURE__ */ jsx(OwnField, { children: /* @__PURE__ */ jsx(CalendarYear, {
185
- state,
186
- container: containerRef,
187
- label: yearLabel,
188
- noMatchLabel: noMatchingYearLabel,
189
- checkIcon,
190
- expandIcon
191
- }) });
192
- $[5] = checkIcon;
193
- $[6] = expandIcon;
194
- $[7] = noMatchingYearLabel;
195
- $[8] = state;
196
- $[9] = yearLabel;
197
- $[10] = t2;
198
- } else t2 = $[10];
185
+ if ($[7] !== props || $[8] !== t1) {
186
+ t2 = {
187
+ ...props,
188
+ className: t1
189
+ };
190
+ $[7] = props;
191
+ $[8] = t1;
192
+ $[9] = t2;
193
+ } else t2 = $[9];
199
194
  let t3;
200
- if ($[11] !== t1 || $[12] !== t2) {
201
- t3 = /* @__PURE__ */ jsxs("div", {
202
- ref: containerRef,
203
- className: temporal_module_default.navigation,
204
- children: [t1, t2]
205
- });
206
- $[11] = t1;
195
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
196
+ t3 = {
197
+ render,
198
+ ref,
199
+ props: t2
200
+ };
201
+ $[10] = ref;
202
+ $[11] = render;
207
203
  $[12] = t2;
208
204
  $[13] = t3;
209
205
  } else t3 = $[13];
210
- return t3;
206
+ return useRender(t3);
207
+ };
208
+ /**
209
+ * The month control in a calendar header: a list of the months the focused
210
+ * year has, driven by whichever calendar state is above it.
211
+ *
212
+ * @example
213
+ * <DateInput.MonthPicker label="Month" checkIcon={<CheckIcon />} expandIcon={<ExpandMoreIcon />} />
214
+ */
215
+ var CalendarMonthPicker = (t0) => {
216
+ const $ = c(6);
217
+ const { label, checkIcon, expandIcon, className } = t0;
218
+ const state = useCalendarNavigationState();
219
+ if (state === null) return null;
220
+ let t1;
221
+ if ($[0] !== checkIcon || $[1] !== className || $[2] !== expandIcon || $[3] !== label || $[4] !== state) {
222
+ t1 = /* @__PURE__ */ jsx(Field.Root, {
223
+ className: temporal_module_default.navField,
224
+ children: /* @__PURE__ */ jsx(CalendarMonthSelect, {
225
+ state,
226
+ label,
227
+ checkIcon,
228
+ expandIcon,
229
+ className
230
+ })
231
+ });
232
+ $[0] = checkIcon;
233
+ $[1] = className;
234
+ $[2] = expandIcon;
235
+ $[3] = label;
236
+ $[4] = state;
237
+ $[5] = t1;
238
+ } else t1 = $[5];
239
+ return t1;
240
+ };
241
+ /**
242
+ * The year control in a calendar header: every year in the focused date's era,
243
+ * filtered by typing, driven by whichever calendar state is above it.
244
+ *
245
+ * @example
246
+ * <DateInput.YearPicker label="Year" noMatchingYearLabel="No matching year." checkIcon={<CheckIcon />} expandIcon={<ExpandMoreIcon />} />
247
+ */
248
+ var CalendarYearPicker = (t0) => {
249
+ const $ = c(7);
250
+ const { label, noMatchingYearLabel, checkIcon, expandIcon, className } = t0;
251
+ const containerRef = useRef(null);
252
+ const state = useCalendarNavigationState();
253
+ if (state === null) return null;
254
+ let t1;
255
+ if ($[0] !== checkIcon || $[1] !== className || $[2] !== expandIcon || $[3] !== label || $[4] !== noMatchingYearLabel || $[5] !== state) {
256
+ t1 = /* @__PURE__ */ jsx(Field.Root, {
257
+ ref: containerRef,
258
+ className: temporal_module_default.navField,
259
+ children: /* @__PURE__ */ jsx(CalendarYear, {
260
+ state,
261
+ container: containerRef,
262
+ label,
263
+ noMatchLabel: noMatchingYearLabel,
264
+ checkIcon,
265
+ expandIcon,
266
+ className
267
+ })
268
+ });
269
+ $[0] = checkIcon;
270
+ $[1] = className;
271
+ $[2] = expandIcon;
272
+ $[3] = label;
273
+ $[4] = noMatchingYearLabel;
274
+ $[5] = state;
275
+ $[6] = t1;
276
+ } else t1 = $[6];
277
+ return t1;
211
278
  };
212
279
  function _temp(option) {
213
280
  return /* @__PURE__ */ jsx("span", { children: option.label }, option.value);
214
281
  }
215
- export { CalendarNavigation };
282
+ export { CalendarMonthPicker, CalendarPickers, CalendarYearPicker };