@cimpress-ui/react 0.3.0 → 1.0.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 (709) hide show
  1. package/README.md +0 -2
  2. package/dist/commonjs/components/alert/alert.d.ts +25 -0
  3. package/dist/commonjs/components/alert/alert.d.ts.map +1 -0
  4. package/dist/commonjs/components/alert/alert.js +51 -0
  5. package/dist/commonjs/components/alert/alert.js.map +1 -0
  6. package/dist/commonjs/components/alert-dialog/alert-dialog.d.ts +51 -0
  7. package/dist/commonjs/components/alert-dialog/alert-dialog.d.ts.map +1 -0
  8. package/dist/commonjs/components/alert-dialog/alert-dialog.js +26 -0
  9. package/dist/commonjs/components/alert-dialog/alert-dialog.js.map +1 -0
  10. package/dist/commonjs/components/app-header/app-header.d.ts +20 -0
  11. package/dist/commonjs/components/app-header/app-header.d.ts.map +1 -0
  12. package/dist/commonjs/components/app-header/app-header.js +26 -0
  13. package/dist/commonjs/components/app-header/app-header.js.map +1 -0
  14. package/dist/commonjs/components/app-header/cimpress-logo.d.ts +2 -0
  15. package/dist/commonjs/components/app-header/cimpress-logo.d.ts.map +1 -0
  16. package/dist/commonjs/components/app-header/cimpress-logo.js +9 -0
  17. package/dist/commonjs/components/app-header/cimpress-logo.js.map +1 -0
  18. package/dist/commonjs/components/app-header/simple-auth-tool.d.ts +29 -0
  19. package/dist/commonjs/components/app-header/simple-auth-tool.d.ts.map +1 -0
  20. package/dist/commonjs/components/app-header/simple-auth-tool.js +31 -0
  21. package/dist/commonjs/components/app-header/simple-auth-tool.js.map +1 -0
  22. package/dist/commonjs/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  23. package/dist/commonjs/components/breadcrumbs/breadcrumbs.js +17 -1
  24. package/dist/commonjs/components/breadcrumbs/breadcrumbs.js.map +1 -1
  25. package/dist/commonjs/components/button/button.d.ts.map +1 -1
  26. package/dist/commonjs/components/button/button.js +3 -3
  27. package/dist/commonjs/components/button/button.js.map +1 -1
  28. package/dist/commonjs/components/button/icon-button.d.ts.map +1 -1
  29. package/dist/commonjs/components/button/icon-button.js +3 -3
  30. package/dist/commonjs/components/button/icon-button.js.map +1 -1
  31. package/dist/commonjs/components/button/icon-link-button.js +1 -1
  32. package/dist/commonjs/components/button/icon-link-button.js.map +1 -1
  33. package/dist/commonjs/components/button/link-button.js +1 -1
  34. package/dist/commonjs/components/button/link-button.js.map +1 -1
  35. package/dist/commonjs/components/button/types.js.map +1 -1
  36. package/dist/commonjs/components/callout/callout.d.ts +27 -0
  37. package/dist/commonjs/components/callout/callout.d.ts.map +1 -0
  38. package/dist/commonjs/components/callout/callout.js +46 -0
  39. package/dist/commonjs/components/callout/callout.js.map +1 -0
  40. package/dist/commonjs/components/card/card.d.ts +51 -11
  41. package/dist/commonjs/components/card/card.d.ts.map +1 -1
  42. package/dist/commonjs/components/card/card.js +19 -13
  43. package/dist/commonjs/components/card/card.js.map +1 -1
  44. package/dist/commonjs/components/checkbox/checkbox-group.d.ts +1 -1
  45. package/dist/commonjs/components/checkbox/checkbox-group.d.ts.map +1 -1
  46. package/dist/commonjs/components/checkbox/checkbox-group.js +2 -2
  47. package/dist/commonjs/components/checkbox/checkbox-group.js.map +1 -1
  48. package/dist/commonjs/components/checkbox/checkbox.d.ts.map +1 -1
  49. package/dist/commonjs/components/checkbox/checkbox.js +3 -3
  50. package/dist/commonjs/components/checkbox/checkbox.js.map +1 -1
  51. package/dist/commonjs/components/combo-box/combo-box.d.ts +7 -1
  52. package/dist/commonjs/components/combo-box/combo-box.d.ts.map +1 -1
  53. package/dist/commonjs/components/combo-box/combo-box.js +15 -6
  54. package/dist/commonjs/components/combo-box/combo-box.js.map +1 -1
  55. package/dist/commonjs/components/container/container.d.ts +16 -0
  56. package/dist/commonjs/components/container/container.d.ts.map +1 -0
  57. package/dist/commonjs/components/container/container.js +13 -0
  58. package/dist/commonjs/components/container/container.js.map +1 -0
  59. package/dist/commonjs/components/date-picker/date-picker-calendar.d.ts +2 -0
  60. package/dist/commonjs/components/date-picker/date-picker-calendar.d.ts.map +1 -0
  61. package/dist/commonjs/components/date-picker/date-picker-calendar.js +26 -0
  62. package/dist/commonjs/components/date-picker/date-picker-calendar.js.map +1 -0
  63. package/dist/commonjs/components/date-picker/date-picker.d.ts +17 -0
  64. package/dist/commonjs/components/date-picker/date-picker.d.ts.map +1 -0
  65. package/dist/commonjs/components/date-picker/date-picker.js +54 -0
  66. package/dist/commonjs/components/date-picker/date-picker.js.map +1 -0
  67. package/dist/commonjs/components/date-picker/utils.d.ts +2 -0
  68. package/dist/commonjs/components/date-picker/utils.d.ts.map +1 -0
  69. package/dist/commonjs/components/date-picker/utils.js +31 -0
  70. package/dist/commonjs/components/date-picker/utils.js.map +1 -0
  71. package/dist/commonjs/components/date-picker/views/month/month-view.d.ts +2 -0
  72. package/dist/commonjs/components/date-picker/views/month/month-view.d.ts.map +1 -0
  73. package/dist/commonjs/components/date-picker/views/month/month-view.js +35 -0
  74. package/dist/commonjs/components/date-picker/views/month/month-view.js.map +1 -0
  75. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.d.ts +2 -0
  76. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.d.ts.map +1 -0
  77. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.js +16 -0
  78. package/dist/commonjs/components/date-picker/views/multi-year/multi-year-view.js.map +1 -0
  79. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts +2 -0
  80. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts.map +1 -0
  81. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.js +130 -0
  82. package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -0
  83. package/dist/commonjs/components/date-picker/views/types.d.ts +2 -0
  84. package/dist/commonjs/components/date-picker/views/types.d.ts.map +1 -0
  85. package/dist/commonjs/components/date-picker/views/types.js +3 -0
  86. package/dist/commonjs/components/date-picker/views/types.js.map +1 -0
  87. package/dist/commonjs/components/date-picker/views/use-view-header.d.ts +2 -0
  88. package/dist/commonjs/components/date-picker/views/use-view-header.d.ts.map +1 -0
  89. package/dist/commonjs/components/date-picker/views/use-view-header.js +56 -0
  90. package/dist/commonjs/components/date-picker/views/use-view-header.js.map +1 -0
  91. package/dist/commonjs/components/date-picker/views/view-grid-cell.d.ts +2 -0
  92. package/dist/commonjs/components/date-picker/views/view-grid-cell.d.ts.map +1 -0
  93. package/dist/commonjs/components/date-picker/views/view-grid-cell.js +72 -0
  94. package/dist/commonjs/components/date-picker/views/view-grid-cell.js.map +1 -0
  95. package/dist/commonjs/components/date-picker/views/view-grid.d.ts +2 -0
  96. package/dist/commonjs/components/date-picker/views/view-grid.d.ts.map +1 -0
  97. package/dist/commonjs/components/date-picker/views/view-grid.js +75 -0
  98. package/dist/commonjs/components/date-picker/views/view-grid.js.map +1 -0
  99. package/dist/commonjs/components/date-picker/views/view-provider.d.ts +2 -0
  100. package/dist/commonjs/components/date-picker/views/view-provider.d.ts.map +1 -0
  101. package/dist/commonjs/components/date-picker/views/view-provider.js +21 -0
  102. package/dist/commonjs/components/date-picker/views/view-provider.js.map +1 -0
  103. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.d.ts +2 -0
  104. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.d.ts.map +1 -0
  105. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.js +158 -0
  106. package/dist/commonjs/components/date-picker/views/year/use-year-view-state.js.map +1 -0
  107. package/dist/commonjs/components/date-picker/views/year/year-view.d.ts +2 -0
  108. package/dist/commonjs/components/date-picker/views/year/year-view.d.ts.map +1 -0
  109. package/dist/commonjs/components/date-picker/views/year/year-view.js +20 -0
  110. package/dist/commonjs/components/date-picker/views/year/year-view.js.map +1 -0
  111. package/dist/commonjs/components/dialog-root/dialog-root.d.ts +20 -0
  112. package/dist/commonjs/components/dialog-root/dialog-root.d.ts.map +1 -0
  113. package/dist/commonjs/components/dialog-root/dialog-root.js +15 -0
  114. package/dist/commonjs/components/dialog-root/dialog-root.js.map +1 -0
  115. package/dist/commonjs/components/disclosure/context.d.ts +3 -0
  116. package/dist/commonjs/components/disclosure/context.d.ts.map +1 -0
  117. package/dist/commonjs/components/disclosure/context.js +7 -0
  118. package/dist/commonjs/components/disclosure/context.js.map +1 -0
  119. package/dist/commonjs/components/disclosure/disclosure-group.d.ts +15 -4
  120. package/dist/commonjs/components/disclosure/disclosure-group.d.ts.map +1 -1
  121. package/dist/commonjs/components/disclosure/disclosure-group.js +11 -5
  122. package/dist/commonjs/components/disclosure/disclosure-group.js.map +1 -1
  123. package/dist/commonjs/components/disclosure/disclosure.d.ts +35 -4
  124. package/dist/commonjs/components/disclosure/disclosure.d.ts.map +1 -1
  125. package/dist/commonjs/components/disclosure/disclosure.js +16 -5
  126. package/dist/commonjs/components/disclosure/disclosure.js.map +1 -1
  127. package/dist/commonjs/components/divider/divider.d.ts +12 -0
  128. package/dist/commonjs/components/divider/divider.d.ts.map +1 -0
  129. package/dist/commonjs/components/divider/divider.js +19 -0
  130. package/dist/commonjs/components/divider/divider.js.map +1 -0
  131. package/dist/commonjs/components/drawer/drawer.d.ts +81 -0
  132. package/dist/commonjs/components/drawer/drawer.d.ts.map +1 -0
  133. package/dist/commonjs/components/drawer/drawer.js +59 -0
  134. package/dist/commonjs/components/drawer/drawer.js.map +1 -0
  135. package/dist/commonjs/components/file-picker/file-picker.d.ts +19 -0
  136. package/dist/commonjs/components/file-picker/file-picker.d.ts.map +1 -0
  137. package/dist/commonjs/components/file-picker/file-picker.js +68 -0
  138. package/dist/commonjs/components/file-picker/file-picker.js.map +1 -0
  139. package/dist/commonjs/components/internal/form-field/form-field.js +1 -1
  140. package/dist/commonjs/components/internal/form-field/form-field.js.map +1 -1
  141. package/dist/commonjs/components/internal/x-button/x-button.d.ts +2 -0
  142. package/dist/commonjs/components/internal/x-button/x-button.d.ts.map +1 -0
  143. package/dist/commonjs/components/internal/x-button/x-button.js +17 -0
  144. package/dist/commonjs/components/internal/x-button/x-button.js.map +1 -0
  145. package/dist/commonjs/components/link-tabs/context.d.ts +2 -0
  146. package/dist/commonjs/components/link-tabs/context.d.ts.map +1 -0
  147. package/dist/commonjs/components/link-tabs/context.js +7 -0
  148. package/dist/commonjs/components/link-tabs/context.js.map +1 -0
  149. package/dist/commonjs/components/link-tabs/link-tabs.d.ts +36 -0
  150. package/dist/commonjs/components/link-tabs/link-tabs.d.ts.map +1 -0
  151. package/dist/commonjs/components/link-tabs/link-tabs.js +54 -0
  152. package/dist/commonjs/components/link-tabs/link-tabs.js.map +1 -0
  153. package/dist/commonjs/components/menu/menu.d.ts +3 -6
  154. package/dist/commonjs/components/menu/menu.d.ts.map +1 -1
  155. package/dist/commonjs/components/menu/menu.js +4 -9
  156. package/dist/commonjs/components/menu/menu.js.map +1 -1
  157. package/dist/commonjs/components/modal-dialog/modal-dialog.d.ts +63 -0
  158. package/dist/commonjs/components/modal-dialog/modal-dialog.d.ts.map +1 -0
  159. package/dist/commonjs/components/modal-dialog/modal-dialog.js +46 -0
  160. package/dist/commonjs/components/modal-dialog/modal-dialog.js.map +1 -0
  161. package/dist/commonjs/components/number-field/number-field.d.ts +1 -1
  162. package/dist/commonjs/components/number-field/number-field.d.ts.map +1 -1
  163. package/dist/commonjs/components/number-field/number-field.js +6 -4
  164. package/dist/commonjs/components/number-field/number-field.js.map +1 -1
  165. package/dist/commonjs/components/pagination/base-pagination.d.ts.map +1 -1
  166. package/dist/commonjs/components/pagination/base-pagination.js +9 -10
  167. package/dist/commonjs/components/pagination/base-pagination.js.map +1 -1
  168. package/dist/commonjs/components/pagination/pagination.d.ts.map +1 -1
  169. package/dist/commonjs/components/pagination/pagination.js +7 -5
  170. package/dist/commonjs/components/pagination/pagination.js.map +1 -1
  171. package/dist/commonjs/components/popover/popover.d.ts +7 -2
  172. package/dist/commonjs/components/popover/popover.d.ts.map +1 -1
  173. package/dist/commonjs/components/popover/popover.js +2 -2
  174. package/dist/commonjs/components/popover/popover.js.map +1 -1
  175. package/dist/commonjs/components/radio/radio-group.d.ts +1 -1
  176. package/dist/commonjs/components/radio/radio-group.d.ts.map +1 -1
  177. package/dist/commonjs/components/radio/radio-group.js +2 -2
  178. package/dist/commonjs/components/radio/radio-group.js.map +1 -1
  179. package/dist/commonjs/components/radio/radio.d.ts.map +1 -1
  180. package/dist/commonjs/components/radio/radio.js +3 -3
  181. package/dist/commonjs/components/radio/radio.js.map +1 -1
  182. package/dist/commonjs/components/select/select.d.ts +7 -1
  183. package/dist/commonjs/components/select/select.d.ts.map +1 -1
  184. package/dist/commonjs/components/select/select.js +14 -6
  185. package/dist/commonjs/components/select/select.js.map +1 -1
  186. package/dist/commonjs/components/spacing/stack/stack.d.ts +1 -1
  187. package/dist/commonjs/components/spacing/stack/stack.js +1 -1
  188. package/dist/commonjs/components/spacing/stack/stack.js.map +1 -1
  189. package/dist/commonjs/components/spacing/types.d.ts +1 -1
  190. package/dist/commonjs/components/spacing/types.d.ts.map +1 -1
  191. package/dist/commonjs/components/spacing/types.js +2 -2
  192. package/dist/commonjs/components/spacing/types.js.map +1 -1
  193. package/dist/commonjs/components/spinner/spinner.d.ts.map +1 -1
  194. package/dist/commonjs/components/spinner/spinner.js +3 -3
  195. package/dist/commonjs/components/spinner/spinner.js.map +1 -1
  196. package/dist/commonjs/components/table/contexts/column-collection.d.ts.map +1 -1
  197. package/dist/commonjs/components/table/contexts/column-collection.js +2 -0
  198. package/dist/commonjs/components/table/contexts/column-collection.js.map +1 -1
  199. package/dist/commonjs/components/table/contexts/table-state.d.ts +1 -0
  200. package/dist/commonjs/components/table/contexts/table-state.d.ts.map +1 -1
  201. package/dist/commonjs/components/table/contexts/table-state.js +6 -1
  202. package/dist/commonjs/components/table/contexts/table-state.js.map +1 -1
  203. package/dist/commonjs/components/table/hooks/use-table-cell.js +2 -2
  204. package/dist/commonjs/components/table/hooks/use-table-cell.js.map +1 -1
  205. package/dist/commonjs/components/table/table-empty-state.js +1 -1
  206. package/dist/commonjs/components/table/table-empty-state.js.map +1 -1
  207. package/dist/commonjs/components/table/table-header-button.d.ts +2 -0
  208. package/dist/commonjs/components/table/table-header-button.d.ts.map +1 -0
  209. package/dist/commonjs/components/table/table-header-button.js +16 -0
  210. package/dist/commonjs/components/table/table-header-button.js.map +1 -0
  211. package/dist/commonjs/components/table/table-header-cell.d.ts.map +1 -1
  212. package/dist/commonjs/components/table/table-header-cell.js +7 -5
  213. package/dist/commonjs/components/table/table-header-cell.js.map +1 -1
  214. package/dist/commonjs/components/table/table.d.ts +1 -1
  215. package/dist/commonjs/components/table/table.d.ts.map +1 -1
  216. package/dist/commonjs/components/table/table.js +2 -2
  217. package/dist/commonjs/components/table/table.js.map +1 -1
  218. package/dist/commonjs/components/tabs/tabs.d.ts +53 -0
  219. package/dist/commonjs/components/tabs/tabs.d.ts.map +1 -0
  220. package/dist/commonjs/components/tabs/tabs.js +69 -0
  221. package/dist/commonjs/components/tabs/tabs.js.map +1 -0
  222. package/dist/commonjs/components/tag/tag-group.d.ts +1 -1
  223. package/dist/commonjs/components/tag/tag-group.d.ts.map +1 -1
  224. package/dist/commonjs/components/tag/tag-group.js.map +1 -1
  225. package/dist/commonjs/components/tag/tag.js +1 -1
  226. package/dist/commonjs/components/tag/tag.js.map +1 -1
  227. package/dist/commonjs/components/tag-field/tag-field-input.d.ts +2 -0
  228. package/dist/commonjs/components/tag-field/tag-field-input.d.ts.map +1 -0
  229. package/dist/commonjs/components/tag-field/tag-field-input.js +30 -0
  230. package/dist/commonjs/components/tag-field/tag-field-input.js.map +1 -0
  231. package/dist/commonjs/components/tag-field/tag-field-list-box.d.ts +2 -0
  232. package/dist/commonjs/components/tag-field/tag-field-list-box.d.ts.map +1 -0
  233. package/dist/commonjs/components/tag-field/tag-field-list-box.js +38 -0
  234. package/dist/commonjs/components/tag-field/tag-field-list-box.js.map +1 -0
  235. package/dist/commonjs/components/tag-field/tag-field-tags.d.ts +2 -0
  236. package/dist/commonjs/components/tag-field/tag-field-tags.d.ts.map +1 -0
  237. package/dist/commonjs/components/tag-field/tag-field-tags.js +29 -0
  238. package/dist/commonjs/components/tag-field/tag-field-tags.js.map +1 -0
  239. package/dist/commonjs/components/tag-field/tag-field.d.ts +51 -0
  240. package/dist/commonjs/components/tag-field/tag-field.d.ts.map +1 -0
  241. package/dist/commonjs/components/tag-field/tag-field.js +143 -0
  242. package/dist/commonjs/components/tag-field/tag-field.js.map +1 -0
  243. package/dist/commonjs/components/text-inputs/text-area.d.ts +1 -1
  244. package/dist/commonjs/components/text-inputs/text-area.d.ts.map +1 -1
  245. package/dist/commonjs/components/text-inputs/text-area.js +3 -3
  246. package/dist/commonjs/components/text-inputs/text-area.js.map +1 -1
  247. package/dist/commonjs/components/text-inputs/text-field.d.ts +1 -1
  248. package/dist/commonjs/components/text-inputs/text-field.d.ts.map +1 -1
  249. package/dist/commonjs/components/text-inputs/text-field.js +3 -3
  250. package/dist/commonjs/components/text-inputs/text-field.js.map +1 -1
  251. package/dist/commonjs/components/toast/toast-region.d.ts +5 -0
  252. package/dist/commonjs/components/toast/toast-region.d.ts.map +1 -0
  253. package/dist/commonjs/components/toast/toast-region.js +24 -0
  254. package/dist/commonjs/components/toast/toast-region.js.map +1 -0
  255. package/dist/commonjs/components/toast/toast.d.ts +2 -0
  256. package/dist/commonjs/components/toast/toast.d.ts.map +1 -0
  257. package/dist/commonjs/components/toast/toast.js +24 -0
  258. package/dist/commonjs/components/toast/toast.js.map +1 -0
  259. package/dist/commonjs/components/toast/types.d.ts +5 -0
  260. package/dist/commonjs/components/toast/types.d.ts.map +1 -0
  261. package/dist/commonjs/components/toast/types.js +3 -0
  262. package/dist/commonjs/components/toast/types.js.map +1 -0
  263. package/dist/commonjs/components/toggle/toggle.d.ts +14 -0
  264. package/dist/commonjs/components/toggle/toggle.d.ts.map +1 -0
  265. package/dist/commonjs/components/toggle/toggle.js +32 -0
  266. package/dist/commonjs/components/toggle/toggle.js.map +1 -0
  267. package/dist/commonjs/components/toggle-button/toggle-button-group.d.ts +15 -0
  268. package/dist/commonjs/components/toggle-button/toggle-button-group.d.ts.map +1 -0
  269. package/dist/commonjs/components/toggle-button/toggle-button-group.js +30 -0
  270. package/dist/commonjs/components/toggle-button/toggle-button-group.js.map +1 -0
  271. package/dist/commonjs/components/toggle-button/toggle-button.d.ts +16 -0
  272. package/dist/commonjs/components/toggle-button/toggle-button.d.ts.map +1 -0
  273. package/dist/commonjs/components/toggle-button/toggle-button.js +24 -0
  274. package/dist/commonjs/components/toggle-button/toggle-button.js.map +1 -0
  275. package/dist/commonjs/components/toggle-button/toggle-icon-button.d.ts +14 -0
  276. package/dist/commonjs/components/toggle-button/toggle-icon-button.d.ts.map +1 -0
  277. package/dist/commonjs/components/toggle-button/toggle-icon-button.js +24 -0
  278. package/dist/commonjs/components/toggle-button/toggle-icon-button.js.map +1 -0
  279. package/dist/commonjs/components/tooltip/tooltip.d.ts +4 -2
  280. package/dist/commonjs/components/tooltip/tooltip.d.ts.map +1 -1
  281. package/dist/commonjs/components/tooltip/tooltip.js.map +1 -1
  282. package/dist/commonjs/components/types.d.ts +4 -0
  283. package/dist/commonjs/components/types.d.ts.map +1 -1
  284. package/dist/commonjs/components/types.js.map +1 -1
  285. package/dist/commonjs/components/typography/text.d.ts.map +1 -1
  286. package/dist/commonjs/date.d.ts +2 -0
  287. package/dist/commonjs/date.d.ts.map +1 -0
  288. package/dist/commonjs/date.js +27 -0
  289. package/dist/commonjs/date.js.map +1 -0
  290. package/dist/commonjs/i18n/index.d.ts +3 -0
  291. package/dist/commonjs/i18n/index.d.ts.map +1 -0
  292. package/dist/commonjs/i18n/index.js +19 -0
  293. package/dist/commonjs/i18n/index.js.map +1 -0
  294. package/dist/commonjs/i18n/localization-provider.d.ts +59 -0
  295. package/dist/commonjs/i18n/localization-provider.d.ts.map +1 -0
  296. package/dist/commonjs/i18n/localization-provider.js +82 -0
  297. package/dist/commonjs/i18n/localization-provider.js.map +1 -0
  298. package/dist/commonjs/i18n/messages/en-US.d.ts +4 -0
  299. package/dist/commonjs/i18n/messages/en-US.d.ts.map +1 -0
  300. package/dist/commonjs/i18n/messages/en-US.js +44 -0
  301. package/dist/commonjs/i18n/messages/en-US.js.map +1 -0
  302. package/dist/commonjs/i18n/messages/index.d.ts +3 -0
  303. package/dist/commonjs/i18n/messages/index.d.ts.map +1 -0
  304. package/dist/commonjs/i18n/messages/index.js +6 -0
  305. package/dist/commonjs/i18n/messages/index.js.map +1 -0
  306. package/dist/commonjs/i18n/messages/types.d.ts +82 -0
  307. package/dist/commonjs/i18n/messages/types.d.ts.map +1 -0
  308. package/dist/commonjs/i18n/messages/types.js +3 -0
  309. package/dist/commonjs/i18n/messages/types.js.map +1 -0
  310. package/dist/commonjs/icons/index.d.ts +1 -0
  311. package/dist/commonjs/icons/index.d.ts.map +1 -1
  312. package/dist/commonjs/icons/index.js +3 -1
  313. package/dist/commonjs/icons/index.js.map +1 -1
  314. package/dist/commonjs/icons/rating-star.d.ts +8 -0
  315. package/dist/commonjs/icons/rating-star.d.ts.map +1 -0
  316. package/dist/commonjs/icons/rating-star.js +24 -0
  317. package/dist/commonjs/icons/rating-star.js.map +1 -0
  318. package/dist/commonjs/index.d.ts +26 -5
  319. package/dist/commonjs/index.d.ts.map +1 -1
  320. package/dist/commonjs/index.js +24 -5
  321. package/dist/commonjs/index.js.map +1 -1
  322. package/dist/commonjs/providers/ssr/ssr-provider.d.ts +1 -3
  323. package/dist/commonjs/providers/ssr/ssr-provider.d.ts.map +1 -1
  324. package/dist/commonjs/providers/ssr/ssr-provider.js +2 -2
  325. package/dist/commonjs/providers/ssr/ssr-provider.js.map +1 -1
  326. package/dist/commonjs/utils/is-production.d.ts +2 -0
  327. package/dist/commonjs/utils/is-production.d.ts.map +1 -0
  328. package/dist/commonjs/utils/is-production.js +7 -0
  329. package/dist/commonjs/utils/is-production.js.map +1 -0
  330. package/dist/commonjs/utils/style/types.d.ts +1 -1
  331. package/dist/commonjs/utils/style/types.d.ts.map +1 -1
  332. package/dist/commonjs/utils/style/types.js.map +1 -1
  333. package/dist/commonjs/utils/use-media-query.d.ts +2 -0
  334. package/dist/commonjs/utils/use-media-query.d.ts.map +1 -0
  335. package/dist/commonjs/utils/use-media-query.js +35 -0
  336. package/dist/commonjs/utils/use-media-query.js.map +1 -0
  337. package/dist/commonjs/utils/use-production-warning.d.ts +3 -0
  338. package/dist/commonjs/utils/use-production-warning.d.ts.map +1 -0
  339. package/dist/commonjs/utils/use-production-warning.js +7 -0
  340. package/dist/commonjs/utils/use-production-warning.js.map +1 -0
  341. package/dist/commonjs/with-style-props.d.ts.map +1 -1
  342. package/dist/esm/components/alert/alert.d.ts +25 -0
  343. package/dist/esm/components/alert/alert.d.ts.map +1 -0
  344. package/dist/esm/components/alert/alert.js +45 -0
  345. package/dist/esm/components/alert/alert.js.map +1 -0
  346. package/dist/esm/components/alert-dialog/alert-dialog.d.ts +51 -0
  347. package/dist/esm/components/alert-dialog/alert-dialog.d.ts.map +1 -0
  348. package/dist/esm/components/alert-dialog/alert-dialog.js +20 -0
  349. package/dist/esm/components/alert-dialog/alert-dialog.js.map +1 -0
  350. package/dist/esm/components/app-header/app-header.d.ts +20 -0
  351. package/dist/esm/components/app-header/app-header.d.ts.map +1 -0
  352. package/dist/esm/components/app-header/app-header.js +20 -0
  353. package/dist/esm/components/app-header/app-header.js.map +1 -0
  354. package/dist/esm/components/app-header/cimpress-logo.d.ts +2 -0
  355. package/dist/esm/components/app-header/cimpress-logo.d.ts.map +1 -0
  356. package/dist/esm/components/app-header/cimpress-logo.js +6 -0
  357. package/dist/esm/components/app-header/cimpress-logo.js.map +1 -0
  358. package/dist/esm/components/app-header/simple-auth-tool.d.ts +29 -0
  359. package/dist/esm/components/app-header/simple-auth-tool.d.ts.map +1 -0
  360. package/dist/esm/components/app-header/simple-auth-tool.js +28 -0
  361. package/dist/esm/components/app-header/simple-auth-tool.js.map +1 -0
  362. package/dist/esm/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  363. package/dist/esm/components/breadcrumbs/breadcrumbs.js +18 -2
  364. package/dist/esm/components/breadcrumbs/breadcrumbs.js.map +1 -1
  365. package/dist/esm/components/button/button.d.ts.map +1 -1
  366. package/dist/esm/components/button/button.js +3 -3
  367. package/dist/esm/components/button/button.js.map +1 -1
  368. package/dist/esm/components/button/icon-button.d.ts.map +1 -1
  369. package/dist/esm/components/button/icon-button.js +3 -3
  370. package/dist/esm/components/button/icon-button.js.map +1 -1
  371. package/dist/esm/components/button/icon-link-button.js +1 -1
  372. package/dist/esm/components/button/icon-link-button.js.map +1 -1
  373. package/dist/esm/components/button/link-button.js +1 -1
  374. package/dist/esm/components/button/link-button.js.map +1 -1
  375. package/dist/esm/components/button/types.js.map +1 -1
  376. package/dist/esm/components/callout/callout.d.ts +27 -0
  377. package/dist/esm/components/callout/callout.d.ts.map +1 -0
  378. package/dist/esm/components/callout/callout.js +40 -0
  379. package/dist/esm/components/callout/callout.js.map +1 -0
  380. package/dist/esm/components/card/card.d.ts +51 -11
  381. package/dist/esm/components/card/card.d.ts.map +1 -1
  382. package/dist/esm/components/card/card.js +17 -12
  383. package/dist/esm/components/card/card.js.map +1 -1
  384. package/dist/esm/components/checkbox/checkbox-group.d.ts +1 -1
  385. package/dist/esm/components/checkbox/checkbox-group.d.ts.map +1 -1
  386. package/dist/esm/components/checkbox/checkbox-group.js +2 -2
  387. package/dist/esm/components/checkbox/checkbox-group.js.map +1 -1
  388. package/dist/esm/components/checkbox/checkbox.d.ts.map +1 -1
  389. package/dist/esm/components/checkbox/checkbox.js +3 -3
  390. package/dist/esm/components/checkbox/checkbox.js.map +1 -1
  391. package/dist/esm/components/combo-box/combo-box.d.ts +7 -1
  392. package/dist/esm/components/combo-box/combo-box.d.ts.map +1 -1
  393. package/dist/esm/components/combo-box/combo-box.js +17 -8
  394. package/dist/esm/components/combo-box/combo-box.js.map +1 -1
  395. package/dist/esm/components/container/container.d.ts +16 -0
  396. package/dist/esm/components/container/container.d.ts.map +1 -0
  397. package/dist/esm/components/container/container.js +7 -0
  398. package/dist/esm/components/container/container.js.map +1 -0
  399. package/dist/esm/components/date-picker/date-picker-calendar.d.ts +2 -0
  400. package/dist/esm/components/date-picker/date-picker-calendar.d.ts.map +1 -0
  401. package/dist/esm/components/date-picker/date-picker-calendar.js +23 -0
  402. package/dist/esm/components/date-picker/date-picker-calendar.js.map +1 -0
  403. package/dist/esm/components/date-picker/date-picker.d.ts +17 -0
  404. package/dist/esm/components/date-picker/date-picker.d.ts.map +1 -0
  405. package/dist/esm/components/date-picker/date-picker.js +48 -0
  406. package/dist/esm/components/date-picker/date-picker.js.map +1 -0
  407. package/dist/esm/components/date-picker/utils.d.ts +2 -0
  408. package/dist/esm/components/date-picker/utils.d.ts.map +1 -0
  409. package/dist/esm/components/date-picker/utils.js +26 -0
  410. package/dist/esm/components/date-picker/utils.js.map +1 -0
  411. package/dist/esm/components/date-picker/views/month/month-view.d.ts +2 -0
  412. package/dist/esm/components/date-picker/views/month/month-view.d.ts.map +1 -0
  413. package/dist/esm/components/date-picker/views/month/month-view.js +29 -0
  414. package/dist/esm/components/date-picker/views/month/month-view.js.map +1 -0
  415. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.d.ts +2 -0
  416. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.d.ts.map +1 -0
  417. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.js +13 -0
  418. package/dist/esm/components/date-picker/views/multi-year/multi-year-view.js.map +1 -0
  419. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts +2 -0
  420. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.d.ts.map +1 -0
  421. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.js +127 -0
  422. package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -0
  423. package/dist/esm/components/date-picker/views/types.d.ts +2 -0
  424. package/dist/esm/components/date-picker/views/types.d.ts.map +1 -0
  425. package/dist/esm/components/date-picker/views/types.js +2 -0
  426. package/dist/esm/components/date-picker/views/types.js.map +1 -0
  427. package/dist/esm/components/date-picker/views/use-view-header.d.ts +2 -0
  428. package/dist/esm/components/date-picker/views/use-view-header.d.ts.map +1 -0
  429. package/dist/esm/components/date-picker/views/use-view-header.js +53 -0
  430. package/dist/esm/components/date-picker/views/use-view-header.js.map +1 -0
  431. package/dist/esm/components/date-picker/views/view-grid-cell.d.ts +2 -0
  432. package/dist/esm/components/date-picker/views/view-grid-cell.d.ts.map +1 -0
  433. package/dist/esm/components/date-picker/views/view-grid-cell.js +66 -0
  434. package/dist/esm/components/date-picker/views/view-grid-cell.js.map +1 -0
  435. package/dist/esm/components/date-picker/views/view-grid.d.ts +2 -0
  436. package/dist/esm/components/date-picker/views/view-grid.d.ts.map +1 -0
  437. package/dist/esm/components/date-picker/views/view-grid.js +69 -0
  438. package/dist/esm/components/date-picker/views/view-grid.js.map +1 -0
  439. package/dist/esm/components/date-picker/views/view-provider.d.ts +2 -0
  440. package/dist/esm/components/date-picker/views/view-provider.d.ts.map +1 -0
  441. package/dist/esm/components/date-picker/views/view-provider.js +17 -0
  442. package/dist/esm/components/date-picker/views/view-provider.js.map +1 -0
  443. package/dist/esm/components/date-picker/views/year/use-year-view-state.d.ts +2 -0
  444. package/dist/esm/components/date-picker/views/year/use-year-view-state.d.ts.map +1 -0
  445. package/dist/esm/components/date-picker/views/year/use-year-view-state.js +155 -0
  446. package/dist/esm/components/date-picker/views/year/use-year-view-state.js.map +1 -0
  447. package/dist/esm/components/date-picker/views/year/year-view.d.ts +2 -0
  448. package/dist/esm/components/date-picker/views/year/year-view.d.ts.map +1 -0
  449. package/dist/esm/components/date-picker/views/year/year-view.js +17 -0
  450. package/dist/esm/components/date-picker/views/year/year-view.js.map +1 -0
  451. package/dist/esm/components/dialog-root/dialog-root.d.ts +20 -0
  452. package/dist/esm/components/dialog-root/dialog-root.d.ts.map +1 -0
  453. package/dist/esm/components/dialog-root/dialog-root.js +12 -0
  454. package/dist/esm/components/dialog-root/dialog-root.js.map +1 -0
  455. package/dist/esm/components/disclosure/context.d.ts +3 -0
  456. package/dist/esm/components/disclosure/context.d.ts.map +1 -0
  457. package/dist/esm/components/disclosure/context.js +4 -0
  458. package/dist/esm/components/disclosure/context.js.map +1 -0
  459. package/dist/esm/components/disclosure/disclosure-group.d.ts +15 -4
  460. package/dist/esm/components/disclosure/disclosure-group.d.ts.map +1 -1
  461. package/dist/esm/components/disclosure/disclosure-group.js +10 -4
  462. package/dist/esm/components/disclosure/disclosure-group.js.map +1 -1
  463. package/dist/esm/components/disclosure/disclosure.d.ts +35 -4
  464. package/dist/esm/components/disclosure/disclosure.d.ts.map +1 -1
  465. package/dist/esm/components/disclosure/disclosure.js +16 -5
  466. package/dist/esm/components/disclosure/disclosure.js.map +1 -1
  467. package/dist/esm/components/divider/divider.d.ts +12 -0
  468. package/dist/esm/components/divider/divider.d.ts.map +1 -0
  469. package/dist/esm/components/divider/divider.js +13 -0
  470. package/dist/esm/components/divider/divider.js.map +1 -0
  471. package/dist/esm/components/drawer/drawer.d.ts +81 -0
  472. package/dist/esm/components/drawer/drawer.d.ts.map +1 -0
  473. package/dist/esm/components/drawer/drawer.js +50 -0
  474. package/dist/esm/components/drawer/drawer.js.map +1 -0
  475. package/dist/esm/components/file-picker/file-picker.d.ts +19 -0
  476. package/dist/esm/components/file-picker/file-picker.d.ts.map +1 -0
  477. package/dist/esm/components/file-picker/file-picker.js +62 -0
  478. package/dist/esm/components/file-picker/file-picker.js.map +1 -0
  479. package/dist/esm/components/internal/form-field/form-field.js +1 -1
  480. package/dist/esm/components/internal/form-field/form-field.js.map +1 -1
  481. package/dist/esm/components/internal/x-button/x-button.d.ts +2 -0
  482. package/dist/esm/components/internal/x-button/x-button.d.ts.map +1 -0
  483. package/dist/esm/components/internal/x-button/x-button.js +11 -0
  484. package/dist/esm/components/internal/x-button/x-button.js.map +1 -0
  485. package/dist/esm/components/link-tabs/context.d.ts +2 -0
  486. package/dist/esm/components/link-tabs/context.d.ts.map +1 -0
  487. package/dist/esm/components/link-tabs/context.js +4 -0
  488. package/dist/esm/components/link-tabs/context.js.map +1 -0
  489. package/dist/esm/components/link-tabs/link-tabs.d.ts +36 -0
  490. package/dist/esm/components/link-tabs/link-tabs.d.ts.map +1 -0
  491. package/dist/esm/components/link-tabs/link-tabs.js +47 -0
  492. package/dist/esm/components/link-tabs/link-tabs.js.map +1 -0
  493. package/dist/esm/components/menu/menu.d.ts +3 -6
  494. package/dist/esm/components/menu/menu.d.ts.map +1 -1
  495. package/dist/esm/components/menu/menu.js +5 -9
  496. package/dist/esm/components/menu/menu.js.map +1 -1
  497. package/dist/esm/components/modal-dialog/modal-dialog.d.ts +63 -0
  498. package/dist/esm/components/modal-dialog/modal-dialog.d.ts.map +1 -0
  499. package/dist/esm/components/modal-dialog/modal-dialog.js +38 -0
  500. package/dist/esm/components/modal-dialog/modal-dialog.js.map +1 -0
  501. package/dist/esm/components/number-field/number-field.d.ts +1 -1
  502. package/dist/esm/components/number-field/number-field.d.ts.map +1 -1
  503. package/dist/esm/components/number-field/number-field.js +5 -3
  504. package/dist/esm/components/number-field/number-field.js.map +1 -1
  505. package/dist/esm/components/pagination/base-pagination.d.ts.map +1 -1
  506. package/dist/esm/components/pagination/base-pagination.js +6 -7
  507. package/dist/esm/components/pagination/base-pagination.js.map +1 -1
  508. package/dist/esm/components/pagination/pagination.d.ts.map +1 -1
  509. package/dist/esm/components/pagination/pagination.js +7 -5
  510. package/dist/esm/components/pagination/pagination.js.map +1 -1
  511. package/dist/esm/components/popover/popover.d.ts +7 -2
  512. package/dist/esm/components/popover/popover.d.ts.map +1 -1
  513. package/dist/esm/components/popover/popover.js +2 -2
  514. package/dist/esm/components/popover/popover.js.map +1 -1
  515. package/dist/esm/components/radio/radio-group.d.ts +1 -1
  516. package/dist/esm/components/radio/radio-group.d.ts.map +1 -1
  517. package/dist/esm/components/radio/radio-group.js +2 -2
  518. package/dist/esm/components/radio/radio-group.js.map +1 -1
  519. package/dist/esm/components/radio/radio.d.ts.map +1 -1
  520. package/dist/esm/components/radio/radio.js +3 -3
  521. package/dist/esm/components/radio/radio.js.map +1 -1
  522. package/dist/esm/components/select/select.d.ts +7 -1
  523. package/dist/esm/components/select/select.d.ts.map +1 -1
  524. package/dist/esm/components/select/select.js +15 -7
  525. package/dist/esm/components/select/select.js.map +1 -1
  526. package/dist/esm/components/spacing/stack/stack.d.ts +1 -1
  527. package/dist/esm/components/spacing/stack/stack.js +1 -1
  528. package/dist/esm/components/spacing/stack/stack.js.map +1 -1
  529. package/dist/esm/components/spacing/types.d.ts +1 -1
  530. package/dist/esm/components/spacing/types.d.ts.map +1 -1
  531. package/dist/esm/components/spacing/types.js +2 -2
  532. package/dist/esm/components/spacing/types.js.map +1 -1
  533. package/dist/esm/components/spinner/spinner.d.ts.map +1 -1
  534. package/dist/esm/components/spinner/spinner.js +3 -3
  535. package/dist/esm/components/spinner/spinner.js.map +1 -1
  536. package/dist/esm/components/table/contexts/column-collection.d.ts.map +1 -1
  537. package/dist/esm/components/table/contexts/column-collection.js +2 -0
  538. package/dist/esm/components/table/contexts/column-collection.js.map +1 -1
  539. package/dist/esm/components/table/contexts/table-state.d.ts +1 -0
  540. package/dist/esm/components/table/contexts/table-state.d.ts.map +1 -1
  541. package/dist/esm/components/table/contexts/table-state.js +8 -3
  542. package/dist/esm/components/table/contexts/table-state.js.map +1 -1
  543. package/dist/esm/components/table/hooks/use-table-cell.js +2 -2
  544. package/dist/esm/components/table/hooks/use-table-cell.js.map +1 -1
  545. package/dist/esm/components/table/table-empty-state.js +1 -1
  546. package/dist/esm/components/table/table-empty-state.js.map +1 -1
  547. package/dist/esm/components/table/table-header-button.d.ts +2 -0
  548. package/dist/esm/components/table/table-header-button.d.ts.map +1 -0
  549. package/dist/esm/components/table/table-header-button.js +10 -0
  550. package/dist/esm/components/table/table-header-button.js.map +1 -0
  551. package/dist/esm/components/table/table-header-cell.d.ts.map +1 -1
  552. package/dist/esm/components/table/table-header-cell.js +9 -7
  553. package/dist/esm/components/table/table-header-cell.js.map +1 -1
  554. package/dist/esm/components/table/table.d.ts +1 -1
  555. package/dist/esm/components/table/table.d.ts.map +1 -1
  556. package/dist/esm/components/table/table.js +2 -2
  557. package/dist/esm/components/table/table.js.map +1 -1
  558. package/dist/esm/components/tabs/tabs.d.ts +53 -0
  559. package/dist/esm/components/tabs/tabs.d.ts.map +1 -0
  560. package/dist/esm/components/tabs/tabs.js +59 -0
  561. package/dist/esm/components/tabs/tabs.js.map +1 -0
  562. package/dist/esm/components/tag/tag-group.d.ts +1 -1
  563. package/dist/esm/components/tag/tag-group.d.ts.map +1 -1
  564. package/dist/esm/components/tag/tag-group.js.map +1 -1
  565. package/dist/esm/components/tag/tag.js +1 -1
  566. package/dist/esm/components/tag/tag.js.map +1 -1
  567. package/dist/esm/components/tag-field/tag-field-input.d.ts +2 -0
  568. package/dist/esm/components/tag-field/tag-field-input.d.ts.map +1 -0
  569. package/dist/esm/components/tag-field/tag-field-input.js +24 -0
  570. package/dist/esm/components/tag-field/tag-field-input.js.map +1 -0
  571. package/dist/esm/components/tag-field/tag-field-list-box.d.ts +2 -0
  572. package/dist/esm/components/tag-field/tag-field-list-box.d.ts.map +1 -0
  573. package/dist/esm/components/tag-field/tag-field-list-box.js +35 -0
  574. package/dist/esm/components/tag-field/tag-field-list-box.js.map +1 -0
  575. package/dist/esm/components/tag-field/tag-field-tags.d.ts +2 -0
  576. package/dist/esm/components/tag-field/tag-field-tags.d.ts.map +1 -0
  577. package/dist/esm/components/tag-field/tag-field-tags.js +26 -0
  578. package/dist/esm/components/tag-field/tag-field-tags.js.map +1 -0
  579. package/dist/esm/components/tag-field/tag-field.d.ts +51 -0
  580. package/dist/esm/components/tag-field/tag-field.d.ts.map +1 -0
  581. package/dist/esm/components/tag-field/tag-field.js +135 -0
  582. package/dist/esm/components/tag-field/tag-field.js.map +1 -0
  583. package/dist/esm/components/text-inputs/text-area.d.ts +1 -1
  584. package/dist/esm/components/text-inputs/text-area.d.ts.map +1 -1
  585. package/dist/esm/components/text-inputs/text-area.js +3 -3
  586. package/dist/esm/components/text-inputs/text-area.js.map +1 -1
  587. package/dist/esm/components/text-inputs/text-field.d.ts +1 -1
  588. package/dist/esm/components/text-inputs/text-field.d.ts.map +1 -1
  589. package/dist/esm/components/text-inputs/text-field.js +3 -3
  590. package/dist/esm/components/text-inputs/text-field.js.map +1 -1
  591. package/dist/esm/components/toast/toast-region.d.ts +5 -0
  592. package/dist/esm/components/toast/toast-region.d.ts.map +1 -0
  593. package/dist/esm/components/toast/toast-region.js +20 -0
  594. package/dist/esm/components/toast/toast-region.js.map +1 -0
  595. package/dist/esm/components/toast/toast.d.ts +2 -0
  596. package/dist/esm/components/toast/toast.d.ts.map +1 -0
  597. package/dist/esm/components/toast/toast.js +21 -0
  598. package/dist/esm/components/toast/toast.js.map +1 -0
  599. package/dist/esm/components/toast/types.d.ts +5 -0
  600. package/dist/esm/components/toast/types.d.ts.map +1 -0
  601. package/dist/esm/components/toast/types.js +2 -0
  602. package/dist/esm/components/toast/types.js.map +1 -0
  603. package/dist/esm/components/toggle/toggle.d.ts +14 -0
  604. package/dist/esm/components/toggle/toggle.d.ts.map +1 -0
  605. package/dist/esm/components/toggle/toggle.js +26 -0
  606. package/dist/esm/components/toggle/toggle.js.map +1 -0
  607. package/dist/esm/components/toggle-button/toggle-button-group.d.ts +15 -0
  608. package/dist/esm/components/toggle-button/toggle-button-group.d.ts.map +1 -0
  609. package/dist/esm/components/toggle-button/toggle-button-group.js +24 -0
  610. package/dist/esm/components/toggle-button/toggle-button-group.js.map +1 -0
  611. package/dist/esm/components/toggle-button/toggle-button.d.ts +16 -0
  612. package/dist/esm/components/toggle-button/toggle-button.d.ts.map +1 -0
  613. package/dist/esm/components/toggle-button/toggle-button.js +18 -0
  614. package/dist/esm/components/toggle-button/toggle-button.js.map +1 -0
  615. package/dist/esm/components/toggle-button/toggle-icon-button.d.ts +14 -0
  616. package/dist/esm/components/toggle-button/toggle-icon-button.d.ts.map +1 -0
  617. package/dist/esm/components/toggle-button/toggle-icon-button.js +18 -0
  618. package/dist/esm/components/toggle-button/toggle-icon-button.js.map +1 -0
  619. package/dist/esm/components/tooltip/tooltip.d.ts +4 -2
  620. package/dist/esm/components/tooltip/tooltip.d.ts.map +1 -1
  621. package/dist/esm/components/tooltip/tooltip.js.map +1 -1
  622. package/dist/esm/components/types.d.ts +4 -0
  623. package/dist/esm/components/types.d.ts.map +1 -1
  624. package/dist/esm/components/types.js.map +1 -1
  625. package/dist/esm/components/typography/text.d.ts.map +1 -1
  626. package/dist/esm/date.d.ts +2 -0
  627. package/dist/esm/date.d.ts.map +1 -0
  628. package/dist/esm/date.js +11 -0
  629. package/dist/esm/date.js.map +1 -0
  630. package/dist/esm/i18n/index.d.ts +3 -0
  631. package/dist/esm/i18n/index.d.ts.map +1 -0
  632. package/dist/esm/i18n/index.js +3 -0
  633. package/dist/esm/i18n/index.js.map +1 -0
  634. package/dist/esm/i18n/localization-provider.d.ts +59 -0
  635. package/dist/esm/i18n/localization-provider.d.ts.map +1 -0
  636. package/dist/esm/i18n/localization-provider.js +76 -0
  637. package/dist/esm/i18n/localization-provider.js.map +1 -0
  638. package/dist/esm/i18n/messages/en-US.d.ts +4 -0
  639. package/dist/esm/i18n/messages/en-US.d.ts.map +1 -0
  640. package/dist/esm/i18n/messages/en-US.js +41 -0
  641. package/dist/esm/i18n/messages/en-US.js.map +1 -0
  642. package/dist/esm/i18n/messages/index.d.ts +3 -0
  643. package/dist/esm/i18n/messages/index.d.ts.map +1 -0
  644. package/dist/esm/i18n/messages/index.js +2 -0
  645. package/dist/esm/i18n/messages/index.js.map +1 -0
  646. package/dist/esm/i18n/messages/types.d.ts +82 -0
  647. package/dist/esm/i18n/messages/types.d.ts.map +1 -0
  648. package/dist/esm/i18n/messages/types.js +2 -0
  649. package/dist/esm/i18n/messages/types.js.map +1 -0
  650. package/dist/esm/icons/index.d.ts +1 -0
  651. package/dist/esm/icons/index.d.ts.map +1 -1
  652. package/dist/esm/icons/index.js +1 -0
  653. package/dist/esm/icons/index.js.map +1 -1
  654. package/dist/esm/icons/rating-star.d.ts +8 -0
  655. package/dist/esm/icons/rating-star.d.ts.map +1 -0
  656. package/dist/esm/icons/rating-star.js +19 -0
  657. package/dist/esm/icons/rating-star.js.map +1 -0
  658. package/dist/esm/index.d.ts +26 -5
  659. package/dist/esm/index.d.ts.map +1 -1
  660. package/dist/esm/index.js +24 -5
  661. package/dist/esm/index.js.map +1 -1
  662. package/dist/esm/providers/ssr/ssr-provider.d.ts +1 -3
  663. package/dist/esm/providers/ssr/ssr-provider.d.ts.map +1 -1
  664. package/dist/esm/providers/ssr/ssr-provider.js +3 -3
  665. package/dist/esm/providers/ssr/ssr-provider.js.map +1 -1
  666. package/dist/esm/utils/is-production.d.ts +2 -0
  667. package/dist/esm/utils/is-production.d.ts.map +1 -0
  668. package/dist/esm/utils/is-production.js +4 -0
  669. package/dist/esm/utils/is-production.js.map +1 -0
  670. package/dist/esm/utils/style/types.d.ts +1 -1
  671. package/dist/esm/utils/style/types.d.ts.map +1 -1
  672. package/dist/esm/utils/style/types.js.map +1 -1
  673. package/dist/esm/utils/use-media-query.d.ts +2 -0
  674. package/dist/esm/utils/use-media-query.d.ts.map +1 -0
  675. package/dist/esm/utils/use-media-query.js +32 -0
  676. package/dist/esm/utils/use-media-query.js.map +1 -0
  677. package/dist/esm/utils/use-production-warning.d.ts +3 -0
  678. package/dist/esm/utils/use-production-warning.d.ts.map +1 -0
  679. package/dist/esm/utils/use-production-warning.js +4 -0
  680. package/dist/esm/utils/use-production-warning.js.map +1 -0
  681. package/dist/esm/with-style-props.d.ts.map +1 -1
  682. package/dist-styles/core.css +1 -1
  683. package/dist-styles/normalize.css +1 -1
  684. package/dist-styles/styles.css +1 -1
  685. package/package.json +64 -20
  686. package/dist/commonjs/components/card/card-context.d.ts +0 -4
  687. package/dist/commonjs/components/card/card-context.d.ts.map +0 -1
  688. package/dist/commonjs/components/card/card-context.js +0 -6
  689. package/dist/commonjs/components/card/card-context.js.map +0 -1
  690. package/dist/commonjs/components/modal/modal.d.ts +0 -64
  691. package/dist/commonjs/components/modal/modal.d.ts.map +0 -1
  692. package/dist/commonjs/components/modal/modal.js +0 -40
  693. package/dist/commonjs/components/modal/modal.js.map +0 -1
  694. package/dist/commonjs/components/nav-tabs/nav-tabs.d.ts +0 -23
  695. package/dist/commonjs/components/nav-tabs/nav-tabs.d.ts.map +0 -1
  696. package/dist/commonjs/components/nav-tabs/nav-tabs.js +0 -27
  697. package/dist/commonjs/components/nav-tabs/nav-tabs.js.map +0 -1
  698. package/dist/esm/components/card/card-context.d.ts +0 -4
  699. package/dist/esm/components/card/card-context.d.ts.map +0 -1
  700. package/dist/esm/components/card/card-context.js +0 -3
  701. package/dist/esm/components/card/card-context.js.map +0 -1
  702. package/dist/esm/components/modal/modal.d.ts +0 -64
  703. package/dist/esm/components/modal/modal.d.ts.map +0 -1
  704. package/dist/esm/components/modal/modal.js +0 -33
  705. package/dist/esm/components/modal/modal.js.map +0 -1
  706. package/dist/esm/components/nav-tabs/nav-tabs.d.ts +0 -23
  707. package/dist/esm/components/nav-tabs/nav-tabs.d.ts.map +0 -1
  708. package/dist/esm/components/nav-tabs/nav-tabs.js +0 -20
  709. package/dist/esm/components/nav-tabs/nav-tabs.js.map +0 -1
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { getLocalTimeZone, toCalendarDate, today } from '@internationalized/date';
3
+ import { useContext, useState } from 'react';
4
+ import { Calendar as RACCalendar, DatePickerStateContext as RACDatePickerStateContext, } from 'react-aria-components';
5
+ import { MonthView } from './views/month/month-view.js';
6
+ import { MultiYearView } from './views/multi-year/multi-year-view.js';
7
+ import { DatePickerViewProvider } from './views/view-provider.js';
8
+ import { YearView } from './views/year/year-view.js';
9
+ /** @internal */
10
+ export function DatePickerCalendar({ focusedValue, defaultFocusedValue, placeholderValue, }) {
11
+ const datePickerState = useContext(RACDatePickerStateContext);
12
+ const [view, setView] = useState('month');
13
+ const [focusedDate, setFocusedDate] = useState(() => toCalendarDate(focusedValue ?? datePickerState?.value ?? defaultFocusedValue ?? placeholderValue ?? today(getLocalTimeZone())));
14
+ // `RACCalendar` has to be rendered unconditionally so that we have access to the calendar state.
15
+ // However, `RACCalendar` assumes that it's always displaying the month view, and keeps announcing the focused day to screen readers on every change.
16
+ // To prevent this, we control the focused date in `RACCalendar` with a separate state that isn't updated when the month view is hidden.
17
+ const [monthViewFocusedDate, setMonthViewFocusedDate] = useState(focusedDate);
18
+ return (_jsx(DatePickerViewProvider, { currentView: view, switchToView: setView, focusedDate: focusedDate, setFocusedDate: setFocusedDate, children: _jsx(RACCalendar, { focusedValue: view === 'month' ? focusedDate : monthViewFocusedDate, onFocusChange: (date) => {
19
+ setMonthViewFocusedDate(date);
20
+ setFocusedDate(date);
21
+ }, children: view === 'month' ? (_jsx(MonthView, {})) : view === 'year' ? (_jsx(YearView, {})) : view === 'multi-year' ? (_jsx(MultiYearView, {})) : (`Unsupported view '${view}'`) }) }));
22
+ }
23
+ //# sourceMappingURL=date-picker-calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-picker-calendar.js","sourceRoot":"","sources":["../../../../src/components/date-picker/date-picker-calendar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAqB,gBAAgB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EACL,QAAQ,IAAI,WAAW,EAIvB,sBAAsB,IAAI,yBAAyB,GACpD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAuB,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAMrD,gBAAgB;AAChB,MAAM,UAAU,kBAAkB,CAAyB,EACzD,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACW;IAC3B,MAAM,eAAe,GAAG,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,OAAO,CAAC,CAAC;IAC1D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAe,GAAG,EAAE,CAChE,cAAc,CACZ,YAAY,IAAI,eAAe,EAAE,KAAK,IAAI,mBAAmB,IAAI,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAC/G,CACF,CAAC;IAEF,iGAAiG;IACjG,qJAAqJ;IACrJ,wIAAwI;IACxI,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAe,WAAW,CAAC,CAAC;IAE5F,OAAO,CACL,KAAC,sBAAsB,IACrB,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,YAE9B,KAAC,WAAW,IACV,YAAY,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,EACnE,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtB,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAC9B,cAAc,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,YAEA,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAClB,KAAC,SAAS,KAAG,CACd,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACpB,KAAC,QAAQ,KAAG,CACb,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAC1B,KAAC,aAAa,KAAG,CAClB,CAAC,CAAC,CAAC,CACF,qBAAqB,IAAI,GAAG,CAC7B,GACW,GACS,CAC1B,CAAC;AACJ,CAAC","sourcesContent":["import { type CalendarDate, getLocalTimeZone, toCalendarDate, today } from '@internationalized/date';\nimport { useContext, useState } from 'react';\nimport {\n Calendar as RACCalendar,\n type CalendarProps as RACCalendarProps,\n type DateValue as RACDateValue,\n type DatePickerProps as RACDatePickerProps,\n DatePickerStateContext as RACDatePickerStateContext,\n} from 'react-aria-components';\nimport { MonthView } from './views/month/month-view.js';\nimport { MultiYearView } from './views/multi-year/multi-year-view.js';\nimport { type DatePickerView, DatePickerViewProvider } from './views/view-provider.js';\nimport { YearView } from './views/year/year-view.js';\n\ninterface DatePickerCalendarProps<T extends RACDateValue>\n extends Pick<RACDatePickerProps<T>, 'placeholderValue'>,\n Pick<RACCalendarProps<T>, 'focusedValue' | 'defaultFocusedValue'> {}\n\n/** @internal */\nexport function DatePickerCalendar<T extends RACDateValue>({\n focusedValue,\n defaultFocusedValue,\n placeholderValue,\n}: DatePickerCalendarProps<T>) {\n const datePickerState = useContext(RACDatePickerStateContext);\n const [view, setView] = useState<DatePickerView>('month');\n const [focusedDate, setFocusedDate] = useState<CalendarDate>(() =>\n toCalendarDate(\n focusedValue ?? datePickerState?.value ?? defaultFocusedValue ?? placeholderValue ?? today(getLocalTimeZone()),\n ),\n );\n\n // `RACCalendar` has to be rendered unconditionally so that we have access to the calendar state.\n // However, `RACCalendar` assumes that it's always displaying the month view, and keeps announcing the focused day to screen readers on every change.\n // To prevent this, we control the focused date in `RACCalendar` with a separate state that isn't updated when the month view is hidden.\n const [monthViewFocusedDate, setMonthViewFocusedDate] = useState<CalendarDate>(focusedDate);\n\n return (\n <DatePickerViewProvider\n currentView={view}\n switchToView={setView}\n focusedDate={focusedDate}\n setFocusedDate={setFocusedDate}\n >\n <RACCalendar\n focusedValue={view === 'month' ? focusedDate : monthViewFocusedDate}\n onFocusChange={(date) => {\n setMonthViewFocusedDate(date);\n setFocusedDate(date);\n }}\n >\n {view === 'month' ? (\n <MonthView />\n ) : view === 'year' ? (\n <YearView />\n ) : view === 'multi-year' ? (\n <MultiYearView />\n ) : (\n `Unsupported view '${view}'`\n )}\n </RACCalendar>\n </DatePickerViewProvider>\n );\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import type { CalendarDate, CalendarDateTime, ZonedDateTime } from '@internationalized/date';
2
+ import { type CalendarProps as RACCalendarProps, type DatePickerProps as RACDatePickerProps } from 'react-aria-components';
3
+ import type { CommonProps, FieldProps } from '../types.js';
4
+ /** Represents a date with optional time and timezone components. */
5
+ export type DateValue = CalendarDate | CalendarDateTime | ZonedDateTime;
6
+ /** Maps a date value to a specific subtype depending on which components it contains. */
7
+ export type MappedDateValue<T> = T extends ZonedDateTime ? ZonedDateTime : T extends CalendarDateTime ? CalendarDateTime : T extends CalendarDate ? CalendarDate : never;
8
+ export interface DatePickerProps<T extends DateValue> extends CommonProps, FieldProps<MappedDateValue<T>>, Pick<RACDatePickerProps<T>, 'value' | 'defaultValue' | 'placeholderValue' | 'onChange' | 'isDisabled' | 'isRequired' | 'isInvalid' | 'isReadOnly' | 'autoFocus' | 'onFocus' | 'onBlur' | 'isOpen' | 'defaultOpen' | 'onOpenChange' | 'minValue' | 'maxValue' | 'isDateUnavailable' | 'granularity' | 'firstDayOfWeek'>, Pick<RACCalendarProps<T>, 'focusedValue' | 'defaultFocusedValue'> {
9
+ }
10
+ /**
11
+ * Allows users to enter or select a date and time value.
12
+ *
13
+ * See [date picker usage guidelines](https://ui.cimpress.io/components/date-picker/).
14
+ */
15
+ declare const _DatePicker: <T extends DateValue>(props: DatePickerProps<T> & import("react").RefAttributes<HTMLDivElement> & import("../../with-style-props.js").StyleProps) => import("react").JSX.Element | null;
16
+ export { _DatePicker as DatePicker };
17
+ //# sourceMappingURL=date-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/date-picker/date-picker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7F,OAAO,EACL,KAAK,aAAa,IAAI,gBAAgB,EAGtC,KAAK,eAAe,IAAI,kBAAkB,EAM3C,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI3D,oEAAoE;AACpE,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAExE,yFAAyF;AACzF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,GACpD,aAAa,GACb,CAAC,SAAS,gBAAgB,GACxB,gBAAgB,GAChB,CAAC,SAAS,YAAY,GACpB,YAAY,GACZ,KAAK,CAAC;AAEd,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,SAAS,CAClD,SAAQ,WAAW,EACjB,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAC9B,IAAI,CACF,kBAAkB,CAAC,CAAC,CAAC,EACnB,OAAO,GACP,cAAc,GACd,kBAAkB,GAClB,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,cAAc,GACd,UAAU,GACV,UAAU,GACV,mBAAmB,GACnB,aAAa,GACb,gBAAgB,CACnB,EACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG,qBAAqB,CAAC;CAAG;AAqExE;;;;GAIG;AACH,QAAA,MAAM,WAAW,GAxEG,CAAC,SAAS,SAAS,mKAwEiC,CAAC;AAEzE,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,CAAC"}
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import clsx from 'clsx';
4
+ import { useContext } from 'react';
5
+ import { DateInput as RACDateInput, DatePicker as RACDatePicker, DatePickerStateContext as RACDatePickerStateContext, DateSegment as RACDateSegment, Dialog as RACDialog, Group as RACGroup, Popover as RACPopover, } from 'react-aria-components';
6
+ import { forwardRef } from '../../forward-ref.js';
7
+ import { useLocalizedMessages } from '../../i18n/index.js';
8
+ import { IconCalendarEmpty } from '../../icons/index.js';
9
+ import { useProductionWarning } from '../../utils/use-production-warning.js';
10
+ import { withStyleProps } from '../../with-style-props.js';
11
+ import { IconButton } from '../button/icon-button.js';
12
+ import { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';
13
+ import { textStyle } from '../typography/utils.js';
14
+ import { DatePickerCalendar } from './date-picker-calendar.js';
15
+ function DatePicker({ label, description, error: errorMessage, focusedValue, defaultFocusedValue, UNSAFE_className, UNSAFE_style, ...props }, ref) {
16
+ const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;
17
+ useProductionWarning(() => {
18
+ if (!label && !ariaLabel && !ariaLabelledBy) {
19
+ console.warn('DatePicker requires one of label / aria-label / aria-labelledby for accessibility');
20
+ }
21
+ }, [label, ariaLabel, ariaLabelledBy]);
22
+ const messages = useLocalizedMessages('datePicker');
23
+ return (_jsxs(RACDatePicker, { ...props, ref: ref, className: clsx('cim-date-picker', UNSAFE_className), style: UNSAFE_style, children: [_jsx(FormFieldLabel, { isRequired: props.isRequired, isDisabled: props.isDisabled, children: label }), _jsxs(RACGroup, { className: "cim-date-picker-input-group", "data-readonly": props.isReadOnly || undefined, children: [_jsx(RACDateInput, { className: clsx('cim-date-picker-input', textStyle({ variant: 'body' })), children: (segment) => (_jsx("span", { className: "cim-date-picker-segment-wrapper", children: _jsx(RACDateSegment, { segment: segment }) })) }), _jsxs("div", { className: "cim-date-picker-input-controls", children: [_jsx(DatePickerClearButton, { isDisabled: props.isDisabled || props.isReadOnly }), _jsx(IconButton, { icon: _jsx(IconCalendarEmpty, {}), "aria-label": messages.format('openCalendar'), variant: "tertiary", size: "small" })] })] }), _jsx(FormFieldError, { children: errorMessage }), _jsx(FormFieldDescription, { children: description }), _jsx(RACPopover, { className: "cim-date-picker-popover", placement: "bottom end", offset: 5, containerPadding: 16, "data-cim-style-root": true, children: _jsx(RACDialog, { children: _jsx(DatePickerCalendar, { focusedValue: focusedValue, defaultFocusedValue: defaultFocusedValue, placeholderValue: props.placeholderValue }) }) })] }));
24
+ }
25
+ /**
26
+ * Allows users to enter or select a date and time value.
27
+ *
28
+ * See [date picker usage guidelines](https://ui.cimpress.io/components/date-picker/).
29
+ */
30
+ const _DatePicker = withStyleProps(forwardRef(DatePicker), 'DatePicker');
31
+ export { _DatePicker as DatePicker };
32
+ function DatePickerClearButton({ isDisabled }) {
33
+ const datePickerState = useContext(RACDatePickerStateContext);
34
+ const messages = useLocalizedMessages('datePicker');
35
+ if (!datePickerState.value) {
36
+ return null;
37
+ }
38
+ return (_jsx(IconButton
39
+ // Don't inherit default Button behavior from DatePicker
40
+ , {
41
+ // Don't inherit default Button behavior from DatePicker
42
+ slot: null, UNSAFE_className: "cim-date-picker-clear", "aria-label": messages.format('clearValue'), onPress: () => datePickerState.setValue(null), icon: _jsx(IconCloseDetached, {}), variant: "tertiary", size: "small", isDisabled: isDisabled }));
43
+ }
44
+ // TODO: use one of our standard icons instead of this custom one
45
+ function IconCloseDetached() {
46
+ return (_jsx("svg", { viewBox: "0 0 12 12", xmlns: "http://www.w3.org/2000/svg", className: "cim-icon", fill: "currentcolor", "data-icon": true, children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M0.21967 0.21967C0.512563 -0.0732233 0.987437 -0.0732233 1.28033 0.21967L6 4.93934L10.7197 0.21967C11.0126 -0.0732233 11.4874 -0.0732233 11.7803 0.21967C12.0732 0.512563 12.0732 0.987437 11.7803 1.28033L7.06066 6L11.7803 10.7197C12.0732 11.0126 12.0732 11.4874 11.7803 11.7803C11.4874 12.0732 11.0126 12.0732 10.7197 11.7803L6 7.06066L1.28033 11.7803C0.987437 12.0732 0.512563 12.0732 0.21967 11.7803C-0.0732233 11.4874 -0.0732233 11.0126 0.21967 10.7197L4.93934 6L0.21967 1.28033C-0.0732233 0.987437 -0.0732233 0.512563 0.21967 0.21967Z" }) }));
47
+ }
48
+ //# sourceMappingURL=date-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../../src/components/date-picker/date-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport type { CalendarDate, CalendarDateTime, ZonedDateTime } from '@internationalized/date';\nimport clsx from 'clsx';\nimport { useContext, type ForwardedRef } from 'react';\nimport {\n type CalendarProps as RACCalendarProps,\n DateInput as RACDateInput,\n DatePicker as RACDatePicker,\n type DatePickerProps as RACDatePickerProps,\n DatePickerStateContext as RACDatePickerStateContext,\n DateSegment as RACDateSegment,\n Dialog as RACDialog,\n Group as RACGroup,\n Popover as RACPopover,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useLocalizedMessages } from '../../i18n/index.js';\nimport { IconCalendarEmpty } from '../../icons/index.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { IconButton } from '../button/icon-button.js';\nimport { FormFieldDescription, FormFieldError, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport type { CommonProps, FieldProps } from '../types.js';\nimport { textStyle } from '../typography/utils.js';\nimport { DatePickerCalendar } from './date-picker-calendar.js';\n\n/** Represents a date with optional time and timezone components. */\nexport type DateValue = CalendarDate | CalendarDateTime | ZonedDateTime;\n\n/** Maps a date value to a specific subtype depending on which components it contains. */\nexport type MappedDateValue<T> = T extends ZonedDateTime\n ? ZonedDateTime\n : T extends CalendarDateTime\n ? CalendarDateTime\n : T extends CalendarDate\n ? CalendarDate\n : never;\n\nexport interface DatePickerProps<T extends DateValue>\n extends CommonProps,\n FieldProps<MappedDateValue<T>>,\n Pick<\n RACDatePickerProps<T>,\n | 'value'\n | 'defaultValue'\n | 'placeholderValue'\n | 'onChange'\n | 'isDisabled'\n | 'isRequired'\n | 'isInvalid'\n | 'isReadOnly'\n | 'autoFocus'\n | 'onFocus'\n | 'onBlur'\n | 'isOpen'\n | 'defaultOpen'\n | 'onOpenChange'\n | 'minValue'\n | 'maxValue'\n | 'isDateUnavailable'\n | 'granularity'\n | 'firstDayOfWeek'\n >,\n Pick<RACCalendarProps<T>, 'focusedValue' | 'defaultFocusedValue'> {}\n\nfunction DatePicker<T extends DateValue>(\n {\n label,\n description,\n error: errorMessage,\n focusedValue,\n defaultFocusedValue,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: DatePickerProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy } = props;\n\n useProductionWarning(() => {\n if (!label && !ariaLabel && !ariaLabelledBy) {\n console.warn('DatePicker requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n const messages = useLocalizedMessages('datePicker');\n\n return (\n <RACDatePicker {...props} ref={ref} className={clsx('cim-date-picker', UNSAFE_className)} style={UNSAFE_style}>\n <FormFieldLabel isRequired={props.isRequired} isDisabled={props.isDisabled}>\n {label}\n </FormFieldLabel>\n <RACGroup className=\"cim-date-picker-input-group\" data-readonly={props.isReadOnly || undefined}>\n <RACDateInput className={clsx('cim-date-picker-input', textStyle({ variant: 'body' }))}>\n {(segment) => (\n <span className=\"cim-date-picker-segment-wrapper\">\n <RACDateSegment segment={segment} />\n </span>\n )}\n </RACDateInput>\n <div className=\"cim-date-picker-input-controls\">\n <DatePickerClearButton isDisabled={props.isDisabled || props.isReadOnly} />\n <IconButton\n icon={<IconCalendarEmpty />}\n aria-label={messages.format('openCalendar')}\n variant=\"tertiary\"\n size=\"small\"\n />\n </div>\n </RACGroup>\n <FormFieldError>{errorMessage}</FormFieldError>\n <FormFieldDescription>{description}</FormFieldDescription>\n <RACPopover\n className=\"cim-date-picker-popover\"\n placement=\"bottom end\"\n offset={5} // 1px border + 4px actual offset\n containerPadding={16}\n data-cim-style-root\n >\n <RACDialog>\n <DatePickerCalendar<T>\n focusedValue={focusedValue}\n defaultFocusedValue={defaultFocusedValue}\n placeholderValue={props.placeholderValue}\n />\n </RACDialog>\n </RACPopover>\n </RACDatePicker>\n );\n}\n\n/**\n * Allows users to enter or select a date and time value.\n *\n * See [date picker usage guidelines](https://ui.cimpress.io/components/date-picker/).\n */\nconst _DatePicker = withStyleProps(forwardRef(DatePicker), 'DatePicker');\n\nexport { _DatePicker as DatePicker };\n\nfunction DatePickerClearButton({ isDisabled }: { isDisabled: boolean | undefined }) {\n const datePickerState = useContext(RACDatePickerStateContext)!;\n const messages = useLocalizedMessages('datePicker');\n\n if (!datePickerState.value) {\n return null;\n }\n\n return (\n <IconButton\n // Don't inherit default Button behavior from DatePicker\n slot={null}\n UNSAFE_className=\"cim-date-picker-clear\"\n aria-label={messages.format('clearValue')}\n onPress={() => datePickerState.setValue(null)}\n icon={<IconCloseDetached />}\n variant=\"tertiary\"\n size=\"small\"\n isDisabled={isDisabled}\n />\n );\n}\n\n// TODO: use one of our standard icons instead of this custom one\nfunction IconCloseDetached() {\n return (\n <svg viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\" className=\"cim-icon\" fill=\"currentcolor\" data-icon>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0.21967 0.21967C0.512563 -0.0732233 0.987437 -0.0732233 1.28033 0.21967L6 4.93934L10.7197 0.21967C11.0126 -0.0732233 11.4874 -0.0732233 11.7803 0.21967C12.0732 0.512563 12.0732 0.987437 11.7803 1.28033L7.06066 6L11.7803 10.7197C12.0732 11.0126 12.0732 11.4874 11.7803 11.7803C11.4874 12.0732 11.0126 12.0732 10.7197 11.7803L6 7.06066L1.28033 11.7803C0.987437 12.0732 0.512563 12.0732 0.21967 11.7803C-0.0732233 11.4874 -0.0732233 11.0126 0.21967 10.7197L4.93934 6L0.21967 1.28033C-0.0732233 0.987437 -0.0732233 0.512563 0.21967 0.21967Z\"\n />\n </svg>\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/date-picker/utils.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { maxDate, minDate, toCalendarDate } from '@internationalized/date';
2
+ /** @internal */
3
+ export function getEraFormat(date) {
4
+ return date?.calendar.identifier === 'gregory' && date.era === 'BC' ? 'short' : undefined;
5
+ }
6
+ /** @internal */
7
+ export function isDateInvalid(date, minValue, maxValue) {
8
+ return (minValue != null && date.compare(minValue) < 0) || (maxValue != null && date.compare(maxValue) > 0);
9
+ }
10
+ /** @internal */
11
+ export function constrainValue(date, minValue, maxValue) {
12
+ if (minValue) {
13
+ const newDate = maxDate(date, toCalendarDate(minValue));
14
+ if (newDate) {
15
+ date = newDate;
16
+ }
17
+ }
18
+ if (maxValue) {
19
+ const newDate = minDate(date, toCalendarDate(maxValue));
20
+ if (newDate) {
21
+ date = newDate;
22
+ }
23
+ }
24
+ return date;
25
+ }
26
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/date-picker/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAqC,MAAM,yBAAyB,CAAC;AAO9G,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAAC,IAA8B;IACzD,OAAO,IAAI,EAAE,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5F,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAAC,IAAe,EAAE,QAA2B,EAAE,QAA2B;IACrG,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9G,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAC5B,IAAkB,EAClB,QAA2B,EAC3B,QAA2B;IAE3B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,GAAG,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,GAAG,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { maxDate, minDate, toCalendarDate, type CalendarDate, type DateValue } from '@internationalized/date';\nimport type { Context } from 'react';\nimport type { CalendarStateContext as RACCalendarStateContext } from 'react-aria-components';\n\n/** @internal */\nexport type CalendarState = typeof RACCalendarStateContext extends Context<infer R> ? NonNullable<R> : never;\n\n/** @internal */\nexport function getEraFormat(date: CalendarDate | undefined): 'short' | undefined {\n return date?.calendar.identifier === 'gregory' && date.era === 'BC' ? 'short' : undefined;\n}\n\n/** @internal */\nexport function isDateInvalid(date: DateValue, minValue?: DateValue | null, maxValue?: DateValue | null): boolean {\n return (minValue != null && date.compare(minValue) < 0) || (maxValue != null && date.compare(maxValue) > 0);\n}\n\n/** @internal */\nexport function constrainValue(\n date: CalendarDate,\n minValue?: DateValue | null,\n maxValue?: DateValue | null,\n): CalendarDate {\n if (minValue) {\n const newDate = maxDate(date, toCalendarDate(minValue));\n if (newDate) {\n date = newDate;\n }\n }\n\n if (maxValue) {\n const newDate = minDate(date, toCalendarDate(maxValue));\n if (newDate) {\n date = newDate;\n }\n }\n\n return date;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=month-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"month-view.d.ts","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/month/month-view.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { isToday } from '@internationalized/date';
3
+ import clsx from 'clsx';
4
+ import { useContext, useEffect } from 'react';
5
+ import { CalendarCell as RACCalendarCell, CalendarGrid as RACCalendarGrid, CalendarGridBody as RACCalendarGridBody, CalendarGridHeader as RACCalendarGridHeader, CalendarHeaderCell as RACCalendarHeaderCell, CalendarStateContext as RACCalendarStateContext, HeadingContext as RACHeadingContext, } from 'react-aria-components';
6
+ import { useLocalizedMessages } from '../../../../i18n/index.js';
7
+ import { IconChevronLeft, IconChevronRight } from '../../../../icons/index.js';
8
+ import { Button } from '../../../button/button.js';
9
+ import { IconButton } from '../../../button/icon-button.js';
10
+ import { textStyle } from '../../../typography/utils.js';
11
+ import { useDatePickerView } from './../view-provider.js';
12
+ /** @internal */
13
+ export function MonthView() {
14
+ const state = useContext(RACCalendarStateContext);
15
+ const {
16
+ // @ts-expect-error RACHeadingContext contains a `children` property, but it's not in the types
17
+ children: title, } = useContext(RACHeadingContext);
18
+ const { switchToView } = useDatePickerView();
19
+ const messages = useLocalizedMessages('datePicker');
20
+ useEffect(() => {
21
+ state?.setFocused(true);
22
+ // eslint-disable-next-line react-hooks/exhaustive-deps
23
+ }, []);
24
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "cim-date-picker-view-header", children: [_jsx(IconButton, { slot: "previous", "aria-label": messages.format('previousMonth'), icon: _jsx(IconChevronLeft, {}), variant: "tertiary", size: "small" }), _jsx(Button, { slot: null, "aria-label": messages.format('switchToYearView'), variant: "tertiary", onPress: () => switchToView('year'), children: title }), _jsx(IconButton, { slot: "next", "aria-label": messages.format('nextMonth'), icon: _jsx(IconChevronRight, {}), variant: "tertiary", size: "small" })] }), _jsxs(RACCalendarGrid, { className: "cim-date-picker-view-grid", weekdayStyle: "narrow", children: [_jsx(RACCalendarGridHeader, { children: (day) => (_jsx(RACCalendarHeaderCell, { children: _jsx("div", { className: clsx('cim-date-picker-calendar-header-cell', textStyle({ variant: 'medium-semibold', tone: 'base' })), children: day }) })) }), _jsx(RACCalendarGridBody, { children: (date) => {
25
+ const isCurrentDate = isToday(date, state.timeZone);
26
+ return (_jsx(RACCalendarCell, { className: clsx('cim-date-picker-calendar-cell', textStyle({ variant: isCurrentDate ? 'medium-semibold' : 'medium' })), date: date, "data-current": isCurrentDate || undefined }));
27
+ } })] })] }));
28
+ }
29
+ //# sourceMappingURL=month-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"month-view.js","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/month/month-view.tsx"],"names":[],"mappings":"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","sourcesContent":["import { isToday } from '@internationalized/date';\nimport clsx from 'clsx';\nimport { useContext, useEffect } from 'react';\nimport {\n CalendarCell as RACCalendarCell,\n CalendarGrid as RACCalendarGrid,\n CalendarGridBody as RACCalendarGridBody,\n CalendarGridHeader as RACCalendarGridHeader,\n CalendarHeaderCell as RACCalendarHeaderCell,\n CalendarStateContext as RACCalendarStateContext,\n HeadingContext as RACHeadingContext,\n} from 'react-aria-components';\nimport { useLocalizedMessages } from '../../../../i18n/index.js';\nimport { IconChevronLeft, IconChevronRight } from '../../../../icons/index.js';\nimport { Button } from '../../../button/button.js';\nimport { IconButton } from '../../../button/icon-button.js';\nimport { textStyle } from '../../../typography/utils.js';\nimport { useDatePickerView } from './../view-provider.js';\n\n/** @internal */\nexport function MonthView() {\n const state = useContext(RACCalendarStateContext);\n const {\n // @ts-expect-error RACHeadingContext contains a `children` property, but it's not in the types\n children: title,\n } = useContext(RACHeadingContext);\n const { switchToView } = useDatePickerView();\n const messages = useLocalizedMessages('datePicker');\n\n useEffect(() => {\n state?.setFocused(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <>\n <div className=\"cim-date-picker-view-header\">\n <IconButton\n slot=\"previous\"\n aria-label={messages.format('previousMonth')}\n icon={<IconChevronLeft />}\n variant=\"tertiary\"\n size=\"small\"\n />\n\n <Button\n slot={null}\n aria-label={messages.format('switchToYearView')}\n variant=\"tertiary\"\n onPress={() => switchToView('year')}\n >\n {title}\n </Button>\n\n <IconButton\n slot=\"next\"\n aria-label={messages.format('nextMonth')}\n icon={<IconChevronRight />}\n variant=\"tertiary\"\n size=\"small\"\n />\n </div>\n\n <RACCalendarGrid className=\"cim-date-picker-view-grid\" weekdayStyle=\"narrow\">\n <RACCalendarGridHeader>\n {(day) => (\n <RACCalendarHeaderCell>\n <div\n className={clsx(\n 'cim-date-picker-calendar-header-cell',\n textStyle({ variant: 'medium-semibold', tone: 'base' }),\n )}\n >\n {day}\n </div>\n </RACCalendarHeaderCell>\n )}\n </RACCalendarGridHeader>\n <RACCalendarGridBody>\n {(date) => {\n const isCurrentDate = isToday(date, state!.timeZone);\n\n return (\n <RACCalendarCell\n className={clsx(\n 'cim-date-picker-calendar-cell',\n textStyle({ variant: isCurrentDate ? 'medium-semibold' : 'medium' }),\n )}\n date={date}\n data-current={isCurrentDate || undefined}\n />\n );\n }}\n </RACCalendarGridBody>\n </RACCalendarGrid>\n </>\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=multi-year-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-year-view.d.ts","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/multi-year/multi-year-view.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { IconButton } from '../../../button/icon-button.js';
3
+ import { Text } from '../../../typography/text.js';
4
+ import { useViewHeader } from '../use-view-header.js';
5
+ import { ViewGrid } from '../view-grid.js';
6
+ import { useMultiYearViewState } from './use-multi-year-view-state.js';
7
+ /** @internal */
8
+ export function MultiYearView() {
9
+ const state = useMultiYearViewState();
10
+ const { nextButtonProps, prevButtonProps } = useViewHeader(state);
11
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "cim-date-picker-view-header", children: [_jsx(IconButton, { slot: null, ...prevButtonProps }), _jsx(Text, { as: "span", variant: "title-6", tone: "base", children: state.header }), _jsx(IconButton, { slot: null, ...nextButtonProps })] }), _jsx(ViewGrid, { state: state, className: "cim-date-picker-view-grid-multi-year" })] }));
12
+ }
13
+ //# sourceMappingURL=multi-year-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-year-view.js","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/multi-year/multi-year-view.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,gBAAgB;AAChB,MAAM,UAAU,aAAa;IAC3B,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CACL,8BACE,eAAK,SAAS,EAAC,6BAA6B,aAC1C,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,KAAM,eAAe,GAAI,EAE/C,KAAC,IAAI,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,YAC1C,KAAK,CAAC,MAAM,GACR,EAEP,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,KAAM,eAAe,GAAI,IAC3C,EAEN,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,sCAAsC,GAAG,IAC1E,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import { IconButton } from '../../../button/icon-button.js';\nimport { Text } from '../../../typography/text.js';\nimport { useViewHeader } from '../use-view-header.js';\nimport { ViewGrid } from '../view-grid.js';\nimport { useMultiYearViewState } from './use-multi-year-view-state.js';\n\n/** @internal */\nexport function MultiYearView() {\n const state = useMultiYearViewState();\n const { nextButtonProps, prevButtonProps } = useViewHeader(state);\n\n return (\n <>\n <div className=\"cim-date-picker-view-header\">\n <IconButton slot={null} {...prevButtonProps} />\n\n <Text as=\"span\" variant=\"title-6\" tone=\"base\">\n {state.header}\n </Text>\n\n <IconButton slot={null} {...nextButtonProps} />\n </div>\n\n <ViewGrid state={state} className=\"cim-date-picker-view-grid-multi-year\" />\n </>\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=use-multi-year-view-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-multi-year-view-state.d.ts","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/multi-year/use-multi-year-view-state.ts"],"names":[],"mappings":""}
@@ -0,0 +1,127 @@
1
+ import { endOfYear, isSameDay, isSameYear, startOfYear, today } from '@internationalized/date';
2
+ import { useContext, useMemo, useState } from 'react';
3
+ import { useDateFormatter } from 'react-aria';
4
+ import { CalendarStateContext as RACCalendarStateContext } from 'react-aria-components';
5
+ import { useLocalizedMessages } from '../../../../i18n/index.js';
6
+ import { constrainValue, getEraFormat, isDateInvalid } from '../../utils.js';
7
+ import { useDatePickerView } from '../view-provider.js';
8
+ const ITEMS_PER_ROW = 4;
9
+ const YEARS_PER_SECTION = 20;
10
+ const YEARS_SKIP_AMOUNT = 100;
11
+ /** @internal */
12
+ export function useMultiYearViewState() {
13
+ const calendarState = useContext(RACCalendarStateContext);
14
+ const { switchToView, focusedDate, setFocusedDate } = useDatePickerView();
15
+ const messages = useLocalizedMessages('datePicker');
16
+ const [isFocused, setIsFocused] = useState(true);
17
+ const currentDate = useMemo(() => today(calendarState.timeZone), [calendarState.timeZone]);
18
+ const yearFormatter = useDateFormatter({
19
+ year: 'numeric',
20
+ era: getEraFormat(focusedDate),
21
+ calendar: focusedDate.calendar.identifier,
22
+ timeZone: calendarState.timeZone,
23
+ });
24
+ let startYear = (Math.ceil(focusedDate.year / YEARS_PER_SECTION) - 1) * YEARS_PER_SECTION + 1;
25
+ let endYear = startYear + YEARS_PER_SECTION - 1;
26
+ // Years are always represented by positive numbers.
27
+ // If era implies negative years, flip start and end.
28
+ const isNegativeEra = focusedDate.era === 'BC';
29
+ if (isNegativeEra) {
30
+ const temp = startYear;
31
+ startYear = endYear;
32
+ endYear = temp;
33
+ }
34
+ const data = useMemo(() => {
35
+ const rowCount = Math.ceil(YEARS_PER_SECTION / ITEMS_PER_ROW);
36
+ const result = new Array(rowCount);
37
+ for (let rowIdx = 0; rowIdx < rowCount; rowIdx++) {
38
+ result[rowIdx] = new Array(ITEMS_PER_ROW).fill(null);
39
+ }
40
+ for (let yearIdx = 0; yearIdx < YEARS_PER_SECTION; yearIdx++) {
41
+ const rowIdx = Math.floor(yearIdx / ITEMS_PER_ROW);
42
+ const colIdx = yearIdx % ITEMS_PER_ROW;
43
+ const yearToSet = startYear + (isNegativeEra ? -yearIdx : yearIdx);
44
+ const date = focusedDate.set({ year: yearToSet });
45
+ if (date.year !== yearToSet) {
46
+ // Reached minimum/maximum date
47
+ continue;
48
+ }
49
+ const content = yearFormatter.format(date.toDate(calendarState.timeZone));
50
+ result[rowIdx][colIdx] = {
51
+ date,
52
+ content,
53
+ ariaLabel: content,
54
+ isCurrent: isSameYear(date, currentDate),
55
+ };
56
+ }
57
+ return result;
58
+ }, [startYear, calendarState.timeZone, focusedDate, yearFormatter, isNegativeEra, currentDate]);
59
+ const focusCell = (date) => {
60
+ setFocusedDate(constrainValue(date, calendarState.minValue, calendarState.maxValue));
61
+ };
62
+ return {
63
+ header: yearFormatter.formatRange(focusedDate.set({ year: startYear }).toDate(calendarState.timeZone), focusedDate.set({ year: endYear }).toDate(calendarState.timeZone)),
64
+ previousLabel: messages.format('previousMultiYearSection', { yearCount: 20 }),
65
+ nextLabel: messages.format('nextMultiYearSection', { yearCount: 20 }),
66
+ data,
67
+ isReadOnly: calendarState.isReadOnly,
68
+ isDisabled: calendarState.isDisabled,
69
+ isFocused,
70
+ setIsFocused,
71
+ focusedDate,
72
+ setFocusedDate,
73
+ timeZone: calendarState.timeZone,
74
+ focusPreviousItem() {
75
+ focusCell(focusedDate.subtract({ years: 1 }));
76
+ },
77
+ focusNextItem() {
78
+ focusCell(focusedDate.add({ years: 1 }));
79
+ },
80
+ focusPreviousRow() {
81
+ focusCell(focusedDate.subtract({ years: ITEMS_PER_ROW }));
82
+ },
83
+ focusNextRow() {
84
+ focusCell(focusedDate.add({ years: ITEMS_PER_ROW }));
85
+ },
86
+ focusSectionStart() {
87
+ focusCell(focusedDate.set({ year: startYear }));
88
+ },
89
+ focusSectionEnd() {
90
+ focusCell(focusedDate.set({ year: endYear }));
91
+ },
92
+ focusPreviousSection(shouldSkip) {
93
+ focusCell(focusedDate.subtract({ years: shouldSkip ? YEARS_SKIP_AMOUNT : YEARS_PER_SECTION }));
94
+ },
95
+ focusNextSection(shouldSkip) {
96
+ focusCell(focusedDate.add({ years: shouldSkip ? YEARS_SKIP_AMOUNT : YEARS_PER_SECTION }));
97
+ },
98
+ isPreviousSectionInvalid() {
99
+ const current = startOfYear(focusedDate.set({ year: startYear }));
100
+ const prev = current.subtract({ days: 1 });
101
+ return (isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||
102
+ isDateInvalid(prev, calendarState.minValue, calendarState.maxValue) ||
103
+ isSameDay(prev, current));
104
+ },
105
+ isNextSectionInvalid() {
106
+ const current = endOfYear(focusedDate.set({ year: endYear }));
107
+ const next = current.add({ days: 1 });
108
+ return (isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||
109
+ isDateInvalid(next, calendarState.minValue, calendarState.maxValue) ||
110
+ isSameDay(next, current));
111
+ },
112
+ selectFocusedDate() {
113
+ switchToView('year');
114
+ },
115
+ isCellDisabled(date) {
116
+ return (isDateInvalid(endOfYear(date), calendarState.minValue, null) ||
117
+ isDateInvalid(startOfYear(date), null, calendarState.maxValue));
118
+ },
119
+ isCellSelected(date) {
120
+ return calendarState.value !== null && isSameYear(date, calendarState.value);
121
+ },
122
+ isCellTabbable(date) {
123
+ return isSameYear(date, focusedDate);
124
+ },
125
+ };
126
+ }
127
+ //# sourceMappingURL=use-multi-year-view-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-multi-year-view-state.js","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/multi-year/use-multi-year-view-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { endOfYear, isSameDay, isSameYear, startOfYear, today, type CalendarDate } from '@internationalized/date';\nimport { useContext, useMemo, useState } from 'react';\nimport { useDateFormatter } from 'react-aria';\nimport { CalendarStateContext as RACCalendarStateContext } from 'react-aria-components';\nimport { useLocalizedMessages } from '../../../../i18n/index.js';\nimport { constrainValue, getEraFormat, isDateInvalid } from '../../utils.js';\nimport type { ViewGridCellData, ViewGridState } from '../types.js';\nimport { useDatePickerView } from '../view-provider.js';\n\nconst ITEMS_PER_ROW = 4;\nconst YEARS_PER_SECTION = 20;\nconst YEARS_SKIP_AMOUNT = 100;\n\n/** @internal */\nexport function useMultiYearViewState(): ViewGridState {\n const calendarState = useContext(RACCalendarStateContext)!;\n const { switchToView, focusedDate, setFocusedDate } = useDatePickerView();\n const messages = useLocalizedMessages('datePicker');\n const [isFocused, setIsFocused] = useState(true);\n\n const currentDate = useMemo(() => today(calendarState.timeZone), [calendarState.timeZone]);\n\n const yearFormatter = useDateFormatter({\n year: 'numeric',\n era: getEraFormat(focusedDate),\n calendar: focusedDate.calendar.identifier,\n timeZone: calendarState.timeZone,\n });\n\n let startYear = (Math.ceil(focusedDate.year / YEARS_PER_SECTION) - 1) * YEARS_PER_SECTION + 1;\n let endYear = startYear + YEARS_PER_SECTION - 1;\n\n // Years are always represented by positive numbers.\n // If era implies negative years, flip start and end.\n const isNegativeEra = focusedDate.era === 'BC';\n if (isNegativeEra) {\n const temp = startYear;\n startYear = endYear;\n endYear = temp;\n }\n\n const data: (ViewGridCellData | null)[][] = useMemo(() => {\n const rowCount = Math.ceil(YEARS_PER_SECTION / ITEMS_PER_ROW);\n const result: (ViewGridCellData | null)[][] = new Array(rowCount);\n\n for (let rowIdx = 0; rowIdx < rowCount; rowIdx++) {\n result[rowIdx] = new Array(ITEMS_PER_ROW).fill(null);\n }\n\n for (let yearIdx = 0; yearIdx < YEARS_PER_SECTION; yearIdx++) {\n const rowIdx = Math.floor(yearIdx / ITEMS_PER_ROW);\n const colIdx = yearIdx % ITEMS_PER_ROW;\n\n const yearToSet = startYear + (isNegativeEra ? -yearIdx : yearIdx);\n const date = focusedDate.set({ year: yearToSet });\n\n if (date.year !== yearToSet) {\n // Reached minimum/maximum date\n continue;\n }\n\n const content = yearFormatter.format(date.toDate(calendarState.timeZone));\n\n result[rowIdx]![colIdx] = {\n date,\n content,\n ariaLabel: content,\n isCurrent: isSameYear(date, currentDate),\n };\n }\n\n return result;\n }, [startYear, calendarState.timeZone, focusedDate, yearFormatter, isNegativeEra, currentDate]);\n\n const focusCell = (date: CalendarDate) => {\n setFocusedDate(constrainValue(date, calendarState.minValue, calendarState.maxValue));\n };\n\n return {\n header: yearFormatter.formatRange(\n focusedDate.set({ year: startYear }).toDate(calendarState.timeZone),\n focusedDate.set({ year: endYear }).toDate(calendarState.timeZone),\n ),\n previousLabel: messages.format('previousMultiYearSection', { yearCount: 20 }),\n nextLabel: messages.format('nextMultiYearSection', { yearCount: 20 }),\n data,\n isReadOnly: calendarState.isReadOnly,\n isDisabled: calendarState.isDisabled,\n isFocused,\n setIsFocused,\n focusedDate,\n setFocusedDate,\n timeZone: calendarState.timeZone,\n focusPreviousItem() {\n focusCell(focusedDate.subtract({ years: 1 }));\n },\n focusNextItem() {\n focusCell(focusedDate.add({ years: 1 }));\n },\n focusPreviousRow() {\n focusCell(focusedDate.subtract({ years: ITEMS_PER_ROW }));\n },\n focusNextRow() {\n focusCell(focusedDate.add({ years: ITEMS_PER_ROW }));\n },\n focusSectionStart() {\n focusCell(focusedDate.set({ year: startYear }));\n },\n focusSectionEnd() {\n focusCell(focusedDate.set({ year: endYear }));\n },\n focusPreviousSection(shouldSkip) {\n focusCell(focusedDate.subtract({ years: shouldSkip ? YEARS_SKIP_AMOUNT : YEARS_PER_SECTION }));\n },\n focusNextSection(shouldSkip) {\n focusCell(focusedDate.add({ years: shouldSkip ? YEARS_SKIP_AMOUNT : YEARS_PER_SECTION }));\n },\n isPreviousSectionInvalid() {\n const current = startOfYear(focusedDate.set({ year: startYear }));\n const prev = current.subtract({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(prev, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(prev, current)\n );\n },\n isNextSectionInvalid() {\n const current = endOfYear(focusedDate.set({ year: endYear }));\n const next = current.add({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(next, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(next, current)\n );\n },\n selectFocusedDate() {\n switchToView('year');\n },\n isCellDisabled(date) {\n return (\n isDateInvalid(endOfYear(date), calendarState.minValue, null) ||\n isDateInvalid(startOfYear(date), null, calendarState.maxValue)\n );\n },\n isCellSelected(date) {\n return calendarState.value !== null && isSameYear(date, calendarState.value);\n },\n isCellTabbable(date) {\n return isSameYear(date, focusedDate);\n },\n };\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/date-picker/views/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/components/date-picker/views/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { CalendarDate } from '@internationalized/date';\n\n/** @internal */\nexport interface ViewGridCellData {\n date: CalendarDate;\n content: string;\n ariaLabel: string;\n isCurrent: boolean;\n}\n\n/** @internal */\nexport interface ViewGridState {\n header: string;\n previousLabel: string;\n nextLabel: string;\n data: (ViewGridCellData | null)[][];\n isReadOnly: boolean;\n isDisabled: boolean;\n isFocused: boolean;\n setIsFocused(value: boolean): void;\n focusedDate: CalendarDate;\n setFocusedDate(date: CalendarDate): void;\n timeZone: string;\n focusPreviousItem(): void;\n focusNextItem(): void;\n focusPreviousRow(): void;\n focusNextRow(): void;\n focusSectionStart(): void;\n focusSectionEnd(): void;\n focusPreviousSection(shouldSkip?: boolean): void;\n focusNextSection(shouldSkip?: boolean): void;\n isPreviousSectionInvalid(): boolean;\n isNextSectionInvalid(): boolean;\n selectFocusedDate(): void;\n isCellDisabled(date: CalendarDate): boolean;\n isCellSelected(date: CalendarDate): boolean;\n isCellTabbable(date: CalendarDate): boolean;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=use-view-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-view-header.d.ts","sourceRoot":"","sources":["../../../../../src/components/date-picker/views/use-view-header.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { announce } from '@react-aria/live-announcer';
3
+ import { useUpdateEffect } from '@react-aria/utils';
4
+ import { useState } from 'react';
5
+ import { IconChevronLeft, IconChevronRight } from '../../../icons/index.js';
6
+ /** @internal */
7
+ export function useViewHeader(state) {
8
+ const { isFocused, header } = state;
9
+ // Announce when the section changes
10
+ useUpdateEffect(() => {
11
+ // only when pressing the Previous or Next button
12
+ if (!isFocused) {
13
+ announce(header);
14
+ }
15
+ // eslint-disable-next-line react-hooks/exhaustive-deps
16
+ }, [header]);
17
+ // If the next or previous buttons become disabled while they are focused, move focus to the grid.
18
+ const [previousFocused, setPreviousFocused] = useState(false);
19
+ const previousDisabled = state.isDisabled || state.isPreviousSectionInvalid();
20
+ if (previousDisabled && previousFocused) {
21
+ setPreviousFocused(false);
22
+ state.setIsFocused(true);
23
+ }
24
+ const [nextFocused, setNextFocused] = useState(false);
25
+ const nextDisabled = state.isDisabled || state.isNextSectionInvalid();
26
+ if (nextDisabled && nextFocused) {
27
+ setNextFocused(false);
28
+ state.setIsFocused(true);
29
+ }
30
+ return {
31
+ prevButtonProps: {
32
+ onPress: () => state.focusPreviousSection(),
33
+ 'aria-label': state.previousLabel,
34
+ icon: _jsx(IconChevronLeft, {}),
35
+ variant: 'tertiary',
36
+ size: 'small',
37
+ isDisabled: previousDisabled,
38
+ // @ts-expect-error our buttons don't expose `onFocusChange`, but it gets passed to React Aria anyway
39
+ onFocusChange: setPreviousFocused,
40
+ },
41
+ nextButtonProps: {
42
+ onPress: () => state.focusNextSection(),
43
+ 'aria-label': state.nextLabel,
44
+ icon: _jsx(IconChevronRight, {}),
45
+ variant: 'tertiary',
46
+ size: 'small',
47
+ isDisabled: nextDisabled,
48
+ // @ts-expect-error our buttons don't expose `onFocusChange`, but it gets passed to React Aria anyway
49
+ onFocusChange: setNextFocused,
50
+ },
51
+ };
52
+ }
53
+ //# sourceMappingURL=use-view-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-view-header.js","sourceRoot":"","sources":["../../../../../src/components/date-picker/views/use-view-header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAS5E,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAAC,KAAoB;IAChD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEpC,oCAAoC;IACpC,eAAe,CAAC,GAAG,EAAE;QACnB,iDAAiD;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,kGAAkG;IAClG,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC;IAC9E,IAAI,gBAAgB,IAAI,eAAe,EAAE,CAAC;QACxC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;IACtE,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QAChC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,eAAe,EAAE;YACf,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE;YAC3C,YAAY,EAAE,KAAK,CAAC,aAAa;YACjC,IAAI,EAAE,KAAC,eAAe,KAAG;YACzB,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,gBAAgB;YAC5B,qGAAqG;YACrG,aAAa,EAAE,kBAAkB;SAClC;QACD,eAAe,EAAE;YACf,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACvC,YAAY,EAAE,KAAK,CAAC,SAAS;YAC7B,IAAI,EAAE,KAAC,gBAAgB,KAAG;YAC1B,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,YAAY;YACxB,qGAAqG;YACrG,aAAa,EAAE,cAAc;SAC9B;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { announce } from '@react-aria/live-announcer';\nimport { useUpdateEffect } from '@react-aria/utils';\nimport { useState } from 'react';\nimport { IconChevronLeft, IconChevronRight } from '../../../icons/index.js';\nimport type { IconButtonProps } from '../../button/icon-button.js';\nimport type { ViewGridState } from './types.js';\n\ninterface UseViewHeader {\n prevButtonProps: IconButtonProps;\n nextButtonProps: IconButtonProps;\n}\n\n/** @internal */\nexport function useViewHeader(state: ViewGridState): UseViewHeader {\n const { isFocused, header } = state;\n\n // Announce when the section changes\n useUpdateEffect(() => {\n // only when pressing the Previous or Next button\n if (!isFocused) {\n announce(header);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [header]);\n\n // If the next or previous buttons become disabled while they are focused, move focus to the grid.\n const [previousFocused, setPreviousFocused] = useState(false);\n const previousDisabled = state.isDisabled || state.isPreviousSectionInvalid();\n if (previousDisabled && previousFocused) {\n setPreviousFocused(false);\n state.setIsFocused(true);\n }\n\n const [nextFocused, setNextFocused] = useState(false);\n const nextDisabled = state.isDisabled || state.isNextSectionInvalid();\n if (nextDisabled && nextFocused) {\n setNextFocused(false);\n state.setIsFocused(true);\n }\n\n return {\n prevButtonProps: {\n onPress: () => state.focusPreviousSection(),\n 'aria-label': state.previousLabel,\n icon: <IconChevronLeft />,\n variant: 'tertiary',\n size: 'small',\n isDisabled: previousDisabled,\n // @ts-expect-error our buttons don't expose `onFocusChange`, but it gets passed to React Aria anyway\n onFocusChange: setPreviousFocused,\n },\n nextButtonProps: {\n onPress: () => state.focusNextSection(),\n 'aria-label': state.nextLabel,\n icon: <IconChevronRight />,\n variant: 'tertiary',\n size: 'small',\n isDisabled: nextDisabled,\n // @ts-expect-error our buttons don't expose `onFocusChange`, but it gets passed to React Aria anyway\n onFocusChange: setNextFocused,\n },\n };\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=view-grid-cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-grid-cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/date-picker/views/view-grid-cell.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useFocusRing } from '@react-aria/focus';
3
+ import { getInteractionModality, useHover, usePress } from '@react-aria/interactions';
4
+ import { focusWithoutScrolling, getScrollParent, mergeProps, scrollIntoViewport } from '@react-aria/utils';
5
+ import clsx from 'clsx';
6
+ import { useEffect, useRef } from 'react';
7
+ import { textStyle } from '../../typography/utils.js';
8
+ /** @internal */
9
+ export function ViewGridCell({ cellData, state }) {
10
+ const ref = useRef(null);
11
+ const isDisabled = cellData ? state.isDisabled || state.isCellDisabled(cellData.date) : true;
12
+ const isSelected = cellData ? !isDisabled && state.isCellSelected(cellData.date) : false;
13
+ const isTabbable = cellData ? state.isCellTabbable(cellData.date) : false;
14
+ const isFocused = state.isFocused && isTabbable;
15
+ const { pressProps, isPressed } = usePress({
16
+ preventFocusOnPress: true,
17
+ isDisabled: isDisabled || state.isReadOnly,
18
+ onPress: () => {
19
+ if (!state.isReadOnly && cellData) {
20
+ state.setFocusedDate(cellData.date);
21
+ state.selectFocusedDate();
22
+ }
23
+ },
24
+ });
25
+ let tabIndex = undefined;
26
+ if (!isDisabled) {
27
+ tabIndex = isTabbable ? 0 : -1;
28
+ }
29
+ // Focus the button in the DOM when the state updates.
30
+ useEffect(() => {
31
+ if (isFocused && ref.current) {
32
+ focusWithoutScrolling(ref.current);
33
+ // Scroll into view if navigating with a keyboard
34
+ if (getInteractionModality() !== 'pointer' && document.activeElement === ref.current) {
35
+ scrollIntoViewport(ref.current, { containingElement: getScrollParent(ref.current) });
36
+ }
37
+ }
38
+ }, [isFocused]);
39
+ const { hoverProps, isHovered } = useHover({ isDisabled });
40
+ const { focusProps, isFocusVisible } = useFocusRing();
41
+ const cellProps = {
42
+ role: 'gridcell',
43
+ 'aria-disabled': isDisabled || undefined,
44
+ 'aria-selected': isSelected || undefined,
45
+ };
46
+ if (!cellData) {
47
+ return _jsx("td", { ...cellProps });
48
+ }
49
+ const { date, content, ariaLabel, isCurrent } = cellData;
50
+ const buttonProps = mergeProps(pressProps, hoverProps, focusProps, {
51
+ onFocus() {
52
+ if (!isDisabled) {
53
+ state.setFocusedDate(date);
54
+ }
55
+ },
56
+ tabIndex,
57
+ role: 'button',
58
+ 'aria-disabled': isDisabled || undefined,
59
+ 'aria-label': ariaLabel,
60
+ onContextMenu(e) {
61
+ e.preventDefault();
62
+ },
63
+ });
64
+ return (_jsx("td", { ...cellProps, children: _jsx("div", { ...buttonProps, ref: ref, className: clsx('cim-date-picker-calendar-cell', textStyle({ variant: isCurrent ? 'medium-semibold' : 'medium' })), "data-disabled": isDisabled || undefined, "data-hovered": isHovered || undefined, "data-pressed": isPressed || undefined, "data-selected": isSelected || undefined, "data-focus-visible": (isFocusVisible && isFocused) || undefined, "data-current": isCurrent || undefined, children: content }) }));
65
+ }
66
+ //# sourceMappingURL=view-grid-cell.js.map