@chassis-ui/react 0.1.3 → 0.3.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 (721) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +56 -23
  3. package/dist/accordion.d.ts +2 -0
  4. package/dist/accordion.js +1 -0
  5. package/dist/alert.d.ts +2 -0
  6. package/dist/alert.js +1 -0
  7. package/dist/autocomplete.d.ts +2 -0
  8. package/dist/autocomplete.js +1 -0
  9. package/dist/avatar.d.ts +2 -0
  10. package/dist/avatar.js +1 -0
  11. package/dist/badge.d.ts +2 -0
  12. package/dist/badge.js +1 -0
  13. package/dist/breadcrumb.d.ts +2 -0
  14. package/dist/breadcrumb.js +1 -0
  15. package/dist/button-group.d.ts +2 -0
  16. package/dist/button-group.js +1 -0
  17. package/dist/button.d.ts +3 -0
  18. package/dist/button.js +1 -0
  19. package/dist/calendar.d.ts +3 -0
  20. package/dist/calendar.js +1 -0
  21. package/dist/card.d.ts +2 -0
  22. package/dist/card.js +1 -0
  23. package/dist/carousel.d.ts +2 -0
  24. package/dist/carousel.js +1 -0
  25. package/dist/checkbox.d.ts +3 -0
  26. package/dist/checkbox.js +1 -0
  27. package/dist/chip-input.d.ts +2 -0
  28. package/dist/chip-input.js +1 -0
  29. package/dist/chip.d.ts +2 -0
  30. package/dist/chip.js +1 -0
  31. package/dist/chunks/Button-BoymWE-L.js +2 -0
  32. package/dist/chunks/Button-BoymWE-L.js.map +1 -0
  33. package/dist/chunks/Button-Cptd4Yk7.d.ts +66 -0
  34. package/dist/chunks/Chip-DCaWaBqo.js +2 -0
  35. package/dist/chunks/Chip-DCaWaBqo.js.map +1 -0
  36. package/dist/chunks/CloseButton-DPgQztE0.js +2 -0
  37. package/dist/chunks/CloseButton-DPgQztE0.js.map +1 -0
  38. package/dist/chunks/ComboboxItem-C9TpoJOI.d.ts +55 -0
  39. package/dist/chunks/ComboboxListBox-Cm3L1ULl.js +2 -0
  40. package/dist/chunks/ComboboxListBox-Cm3L1ULl.js.map +1 -0
  41. package/dist/chunks/DateSegment-2agXAd0f.js +2 -0
  42. package/dist/chunks/DateSegment-2agXAd0f.js.map +1 -0
  43. package/dist/chunks/FormHelp-AE6_iSLJ.js +2 -0
  44. package/dist/chunks/FormHelp-AE6_iSLJ.js.map +1 -0
  45. package/dist/chunks/FormLabel-CYcQiFUI.js +2 -0
  46. package/dist/chunks/FormLabel-CYcQiFUI.js.map +1 -0
  47. package/dist/chunks/Icon-CioraWLF.d.ts +37 -0
  48. package/dist/chunks/Icon-DLB1f88W.js +2 -0
  49. package/dist/chunks/Icon-DLB1f88W.js.map +1 -0
  50. package/dist/chunks/Link-CZsWCnQb.js +2 -0
  51. package/dist/chunks/Link-CZsWCnQb.js.map +1 -0
  52. package/dist/chunks/Link-nrd0JWlO.d.ts +71 -0
  53. package/dist/chunks/Menu-CSBg2Zmc.js +2 -0
  54. package/dist/chunks/Menu-CSBg2Zmc.js.map +1 -0
  55. package/dist/chunks/Menu-QeYOzrUL.d.ts +95 -0
  56. package/{src/components/menu/MenuItemDef.ts → dist/chunks/MenuItemDef-D0VDtYIQ.d.ts} +25 -25
  57. package/dist/chunks/MenuToggle-BdQtF7FV.js +2 -0
  58. package/dist/chunks/MenuToggle-BdQtF7FV.js.map +1 -0
  59. package/dist/chunks/Portal-CgeR1WXV.js +2 -0
  60. package/dist/chunks/Portal-CgeR1WXV.js.map +1 -0
  61. package/dist/chunks/RangeCalendar-BJl-j4W2.js +2 -0
  62. package/dist/chunks/RangeCalendar-BJl-j4W2.js.map +1 -0
  63. package/dist/chunks/VisuallyHidden-C2dM7HhC.js +2 -0
  64. package/dist/chunks/VisuallyHidden-C2dM7HhC.js.map +1 -0
  65. package/dist/chunks/accordion-B8UWyvQB.js +2 -0
  66. package/dist/chunks/accordion-B8UWyvQB.js.map +1 -0
  67. package/dist/chunks/alert-BXI-_qlt.js +2 -0
  68. package/dist/chunks/alert-BXI-_qlt.js.map +1 -0
  69. package/dist/chunks/autocomplete-Baf9VSHN.js +2 -0
  70. package/dist/chunks/autocomplete-Baf9VSHN.js.map +1 -0
  71. package/dist/chunks/avatar-S3dGy6Qc.js +2 -0
  72. package/dist/chunks/avatar-S3dGy6Qc.js.map +1 -0
  73. package/dist/chunks/badge-D2oztCvs.js +2 -0
  74. package/dist/chunks/badge-D2oztCvs.js.map +1 -0
  75. package/dist/chunks/breadcrumb-s6J9itez.js +2 -0
  76. package/dist/chunks/breadcrumb-s6J9itez.js.map +1 -0
  77. package/dist/chunks/breakpoints-CJ-498B7.d.ts +7 -0
  78. package/dist/chunks/breakpoints-o_2Ev7ir.js +2 -0
  79. package/dist/chunks/breakpoints-o_2Ev7ir.js.map +1 -0
  80. package/dist/chunks/button-group-BGppPrIv.js +2 -0
  81. package/dist/chunks/button-group-BGppPrIv.js.map +1 -0
  82. package/dist/chunks/card-YXn3bj_d.js +2 -0
  83. package/dist/chunks/card-YXn3bj_d.js.map +1 -0
  84. package/dist/chunks/carousel-fTVPqnSV.js +2 -0
  85. package/dist/chunks/carousel-fTVPqnSV.js.map +1 -0
  86. package/dist/chunks/checkbox-ChACalAw.js +2 -0
  87. package/dist/chunks/checkbox-ChACalAw.js.map +1 -0
  88. package/dist/chunks/chip-input-BpVDRERg.js +2 -0
  89. package/dist/chunks/chip-input-BpVDRERg.js.map +1 -0
  90. package/dist/chunks/collapse--Go2Y73B.js +2 -0
  91. package/dist/chunks/collapse--Go2Y73B.js.map +1 -0
  92. package/dist/chunks/color-input-Bwl5ef5B.js +2 -0
  93. package/dist/chunks/color-input-Bwl5ef5B.js.map +1 -0
  94. package/dist/chunks/combobox-Bp1tIaiW.js +2 -0
  95. package/dist/chunks/combobox-Bp1tIaiW.js.map +1 -0
  96. package/dist/chunks/context-menu-B4a0tS-h.js +2 -0
  97. package/dist/chunks/context-menu-B4a0tS-h.js.map +1 -0
  98. package/dist/chunks/datagrid-CH3Cy-q7.js +3 -0
  99. package/dist/chunks/datagrid-CH3Cy-q7.js.map +1 -0
  100. package/dist/chunks/dateRangePresets-R1FtA1zp.d.ts +42 -0
  101. package/dist/chunks/datepicker-bOiM_zhJ.js +2 -0
  102. package/dist/chunks/datepicker-bOiM_zhJ.js.map +1 -0
  103. package/dist/chunks/dialogTransition-i9vw0i2Z.js +2 -0
  104. package/dist/chunks/dialogTransition-i9vw0i2Z.js.map +1 -0
  105. package/dist/chunks/direction-LN6uwsK5.js +2 -0
  106. package/dist/chunks/direction-LN6uwsK5.js.map +1 -0
  107. package/dist/chunks/divider-CjbF4OfA.js +2 -0
  108. package/dist/chunks/divider-CjbF4OfA.js.map +1 -0
  109. package/dist/chunks/drawer-C7Tz4XU_.js +2 -0
  110. package/dist/chunks/drawer-C7Tz4XU_.js.map +1 -0
  111. package/dist/chunks/file-input-CDM6qrmV.js +2 -0
  112. package/dist/chunks/file-input-CDM6qrmV.js.map +1 -0
  113. package/dist/chunks/flex-CmlJbKVj.js +2 -0
  114. package/dist/chunks/flex-CmlJbKVj.js.map +1 -0
  115. package/dist/chunks/floating-input-DmSZZc27.js +2 -0
  116. package/dist/chunks/floating-input-DmSZZc27.js.map +1 -0
  117. package/dist/chunks/focus-ring-SR_LwaN7.js +2 -0
  118. package/dist/chunks/focus-ring-SR_LwaN7.js.map +1 -0
  119. package/dist/chunks/focusRedirect-BrvK3U_o.js +2 -0
  120. package/dist/chunks/focusRedirect-BrvK3U_o.js.map +1 -0
  121. package/dist/chunks/form-GpdAyWWi.js +2 -0
  122. package/dist/chunks/form-GpdAyWWi.js.map +1 -0
  123. package/dist/chunks/form-field-CNPGTMiW.js +2 -0
  124. package/dist/chunks/form-field-CNPGTMiW.js.map +1 -0
  125. package/dist/chunks/grid-DK_vxz-4.js +2 -0
  126. package/dist/chunks/grid-DK_vxz-4.js.map +1 -0
  127. package/dist/chunks/icon-BQsT6YtE.js +2 -0
  128. package/dist/chunks/icon-BQsT6YtE.js.map +1 -0
  129. package/dist/chunks/iconConfig-C6gbYhsD.d.ts +71 -0
  130. package/dist/chunks/iconSlot-BNu2MrFI.js +2 -0
  131. package/dist/chunks/iconSlot-BNu2MrFI.js.map +1 -0
  132. package/dist/chunks/index-4cKG9KWB.d.ts +85 -0
  133. package/dist/chunks/index-6uob77s9.d.ts +81 -0
  134. package/dist/chunks/index-91YA-jkp.d.ts +127 -0
  135. package/dist/chunks/index-9rQeMqVI.d.ts +42 -0
  136. package/dist/chunks/index-B0-8n-Gs.d.ts +106 -0
  137. package/dist/chunks/index-B2K-O9kl.d.ts +59 -0
  138. package/dist/chunks/index-B8uaSJA9.d.ts +96 -0
  139. package/dist/chunks/index-BA-raEMm.d.ts +29 -0
  140. package/dist/chunks/index-BAsbRx5n.d.ts +54 -0
  141. package/dist/chunks/index-BF3OWUVc.d.ts +66 -0
  142. package/dist/chunks/index-BNf0jIIL.d.ts +213 -0
  143. package/dist/chunks/index-BO9jLOIb.d.ts +59 -0
  144. package/dist/chunks/index-BTTeKpiE.d.ts +364 -0
  145. package/dist/chunks/index-BVGGIaPX.d.ts +111 -0
  146. package/dist/chunks/index-B_UzbGOa.d.ts +195 -0
  147. package/dist/chunks/index-Bi8FFadV.d.ts +99 -0
  148. package/dist/chunks/index-Bkj17NEQ.d.ts +51 -0
  149. package/dist/chunks/index-Bm2NpgND.d.ts +82 -0
  150. package/dist/chunks/index-BnR7wjax.d.ts +68 -0
  151. package/dist/chunks/index-BxROljJI.d.ts +18 -0
  152. package/dist/chunks/index-Bz8MDq0H.d.ts +85 -0
  153. package/dist/chunks/index-C4Dks__B.d.ts +139 -0
  154. package/dist/chunks/index-CCXJXToc.d.ts +53 -0
  155. package/dist/chunks/index-CFnQubsV.d.ts +123 -0
  156. package/dist/chunks/index-CJXKl97l.d.ts +120 -0
  157. package/dist/chunks/index-CJzKu7QI.d.ts +41 -0
  158. package/dist/chunks/index-CKx1KHED.d.ts +303 -0
  159. package/dist/chunks/index-COsIPd8L.d.ts +63 -0
  160. package/dist/chunks/index-CRfm7W6C.d.ts +231 -0
  161. package/dist/chunks/index-CTpwB1yR.d.ts +236 -0
  162. package/dist/chunks/index-CVUMS0x7.d.ts +74 -0
  163. package/dist/chunks/index-CYgBmZ8w.d.ts +271 -0
  164. package/dist/chunks/index-Cc4SSslb.d.ts +205 -0
  165. package/dist/chunks/index-CftERHnE.d.ts +25 -0
  166. package/dist/chunks/index-Ci7AEgEc.d.ts +47 -0
  167. package/dist/chunks/index-CqZ68Z8R.d.ts +415 -0
  168. package/dist/chunks/index-CsARGAzD.d.ts +50 -0
  169. package/dist/chunks/index-CsMIgBsd.d.ts +40 -0
  170. package/dist/chunks/index-D9PZHY_I.d.ts +136 -0
  171. package/dist/chunks/index-DAoPg59I.d.ts +81 -0
  172. package/dist/chunks/index-DHGgezXU.d.ts +59 -0
  173. package/dist/chunks/index-DHOG_rjE.d.ts +121 -0
  174. package/dist/chunks/index-DJfga0Ce.d.ts +57 -0
  175. package/dist/chunks/index-DJr_ZK4b.d.ts +110 -0
  176. package/dist/chunks/index-DMbdEm__.d.ts +119 -0
  177. package/dist/chunks/index-DXjbI7Yv.d.ts +133 -0
  178. package/dist/chunks/index-DaHQdNul.d.ts +182 -0
  179. package/dist/chunks/index-Dcc_W6Kv.d.ts +147 -0
  180. package/dist/chunks/index-DceCODH9.d.ts +138 -0
  181. package/dist/chunks/index-Ddd7iWfm.d.ts +32 -0
  182. package/dist/chunks/index-Dfg4Ftb8.d.ts +69 -0
  183. package/dist/chunks/index-Dfy1YW5j.d.ts +74 -0
  184. package/dist/chunks/index-DgHvXzVh.d.ts +208 -0
  185. package/dist/chunks/index-Dh5CaHTP.d.ts +45 -0
  186. package/dist/chunks/index-DjXRq-n3.d.ts +98 -0
  187. package/dist/chunks/index-DjrEvKd-.d.ts +193 -0
  188. package/dist/chunks/index-DtbUXxjz.d.ts +54 -0
  189. package/dist/chunks/index-Du9fBqkT.d.ts +56 -0
  190. package/dist/chunks/index-FKh7iFQE.d.ts +95 -0
  191. package/dist/chunks/index-HrKN6s8z.d.ts +67 -0
  192. package/dist/chunks/index-I-H3VJ-L.d.ts +229 -0
  193. package/dist/chunks/index-RHJhkSY-.d.ts +273 -0
  194. package/dist/chunks/index-e7SJkI_m.d.ts +102 -0
  195. package/dist/chunks/index-g74gO0pc.d.ts +36 -0
  196. package/dist/chunks/index-qMq_-GY2.d.ts +105 -0
  197. package/dist/chunks/index-t_x6jj7l.d.ts +97 -0
  198. package/dist/chunks/input-adorn-DwdX-jxA.js +2 -0
  199. package/dist/chunks/input-adorn-DwdX-jxA.js.map +1 -0
  200. package/dist/chunks/input-group-Cuiuf4Dl.js +2 -0
  201. package/dist/chunks/input-group-Cuiuf4Dl.js.map +1 -0
  202. package/dist/chunks/lazyElement-tfMG21pZ.js +2 -0
  203. package/dist/chunks/lazyElement-tfMG21pZ.js.map +1 -0
  204. package/dist/chunks/list-BQCkwWjF.js +2 -0
  205. package/dist/chunks/list-BQCkwWjF.js.map +1 -0
  206. package/dist/chunks/menu-98EAD9nj.js +2 -0
  207. package/dist/chunks/menu-98EAD9nj.js.map +1 -0
  208. package/dist/chunks/modal-bgDR29Jh.js +2 -0
  209. package/dist/chunks/modal-bgDR29Jh.js.map +1 -0
  210. package/dist/chunks/nav-TiZuTHC6.js +2 -0
  211. package/dist/chunks/nav-TiZuTHC6.js.map +1 -0
  212. package/dist/chunks/nav-overflow-Ay5mM5Gc.js +2 -0
  213. package/dist/chunks/nav-overflow-Ay5mM5Gc.js.map +1 -0
  214. package/dist/chunks/navOverflow-B5krZe6D.js +2 -0
  215. package/dist/chunks/navOverflow-B5krZe6D.js.map +1 -0
  216. package/dist/chunks/navVariant-CnD21GBS.d.ts +5 -0
  217. package/dist/chunks/navVariant-DeGTk9B7.js +2 -0
  218. package/dist/chunks/navVariant-DeGTk9B7.js.map +1 -0
  219. package/dist/chunks/navbar-DxIwt0sc.js +2 -0
  220. package/dist/chunks/navbar-DxIwt0sc.js.map +1 -0
  221. package/dist/chunks/notification-Ds24wnPq.js +2 -0
  222. package/dist/chunks/notification-Ds24wnPq.js.map +1 -0
  223. package/dist/chunks/number-field-IBIX2IWH.js +2 -0
  224. package/dist/chunks/number-field-IBIX2IWH.js.map +1 -0
  225. package/dist/chunks/otp-input-ws393uPB.js +2 -0
  226. package/dist/chunks/otp-input-ws393uPB.js.map +1 -0
  227. package/dist/chunks/overlayPlacement-BtS90IVf.js +2 -0
  228. package/dist/chunks/overlayPlacement-BtS90IVf.js.map +1 -0
  229. package/dist/chunks/overlayPlacement-CIsLpycT.d.ts +7 -0
  230. package/dist/chunks/pagination-BkOquk-x.js +2 -0
  231. package/dist/chunks/pagination-BkOquk-x.js.map +1 -0
  232. package/dist/chunks/password-strength-DDK8pHRq.js +2 -0
  233. package/dist/chunks/password-strength-DDK8pHRq.js.map +1 -0
  234. package/dist/chunks/placeholder-BCr83sUn.js +2 -0
  235. package/dist/chunks/placeholder-BCr83sUn.js.map +1 -0
  236. package/dist/chunks/polymorphic-BhGNZQja.js +2 -0
  237. package/dist/chunks/polymorphic-BhGNZQja.js.map +1 -0
  238. package/dist/chunks/polymorphic-CVHbTHSN.d.ts +41 -0
  239. package/dist/chunks/popover-Bdg8D4sm.js +2 -0
  240. package/dist/chunks/popover-Bdg8D4sm.js.map +1 -0
  241. package/dist/chunks/progress-zWkTltor.js +2 -0
  242. package/dist/chunks/progress-zWkTltor.js.map +1 -0
  243. package/dist/chunks/radio-DOFYCfJi.js +2 -0
  244. package/dist/chunks/radio-DOFYCfJi.js.map +1 -0
  245. package/dist/chunks/range-input-CT_8TKL7.js +2 -0
  246. package/dist/chunks/range-input-CT_8TKL7.js.map +1 -0
  247. package/dist/chunks/renderFormCheck-DN_-V62U.js +2 -0
  248. package/dist/chunks/renderFormCheck-DN_-V62U.js.map +1 -0
  249. package/dist/chunks/renderFormCheck-DZh_5Df8.d.ts +24 -0
  250. package/dist/chunks/renderFormField-Brkw1yA6.js +2 -0
  251. package/dist/chunks/renderFormField-Brkw1yA6.js.map +1 -0
  252. package/dist/chunks/renderFormField-ChNagAFN.d.ts +15 -0
  253. package/dist/chunks/renderMenuItemContent-DUezZrpj.js +2 -0
  254. package/dist/chunks/renderMenuItemContent-DUezZrpj.js.map +1 -0
  255. package/dist/chunks/scrollspy-C2HmrnZ4.js +2 -0
  256. package/dist/chunks/scrollspy-C2HmrnZ4.js.map +1 -0
  257. package/dist/chunks/scrollspy-D_lPjb92.js +2 -0
  258. package/dist/chunks/scrollspy-D_lPjb92.js.map +1 -0
  259. package/dist/chunks/search-field--nDoCI_E.js +2 -0
  260. package/dist/chunks/search-field--nDoCI_E.js.map +1 -0
  261. package/dist/chunks/select-BwJIfv9f.js +2 -0
  262. package/dist/chunks/select-BwJIfv9f.js.map +1 -0
  263. package/dist/chunks/skeleton-BrD2JwNx.js +2 -0
  264. package/dist/chunks/skeleton-BrD2JwNx.js.map +1 -0
  265. package/dist/chunks/slot-CNhFZdHF.js +2 -0
  266. package/dist/chunks/slot-CNhFZdHF.js.map +1 -0
  267. package/dist/chunks/spacingClassName-DVhk8m3P.js +2 -0
  268. package/dist/chunks/spacingClassName-DVhk8m3P.js.map +1 -0
  269. package/dist/chunks/spinner-DblhvrHL.js +2 -0
  270. package/dist/chunks/spinner-DblhvrHL.js.map +1 -0
  271. package/dist/chunks/stack-CsMiQbpq.js +2 -0
  272. package/dist/chunks/stack-CsMiQbpq.js.map +1 -0
  273. package/dist/chunks/static-table-D0M4oc_t.js +2 -0
  274. package/dist/chunks/static-table-D0M4oc_t.js.map +1 -0
  275. package/dist/chunks/stepper-CVXMJ2yg.js +2 -0
  276. package/dist/chunks/stepper-CVXMJ2yg.js.map +1 -0
  277. package/dist/chunks/switch-C6s3LxEv.js +2 -0
  278. package/dist/chunks/switch-C6s3LxEv.js.map +1 -0
  279. package/dist/chunks/table-Cy6uEuEP.js +2 -0
  280. package/dist/chunks/table-Cy6uEuEP.js.map +1 -0
  281. package/dist/chunks/tableClassName-CZA2Bse8.js +2 -0
  282. package/dist/chunks/tableClassName-CZA2Bse8.js.map +1 -0
  283. package/dist/chunks/tabs-91T7-8qq.js +2 -0
  284. package/dist/chunks/tabs-91T7-8qq.js.map +1 -0
  285. package/dist/chunks/text-input-B4pTv6SU.js +2 -0
  286. package/dist/chunks/text-input-B4pTv6SU.js.map +1 -0
  287. package/dist/chunks/textarea-1A1nABQE.js +2 -0
  288. package/dist/chunks/textarea-1A1nABQE.js.map +1 -0
  289. package/dist/chunks/time-field-B3MA7ED_.js +2 -0
  290. package/dist/chunks/time-field-B3MA7ED_.js.map +1 -0
  291. package/dist/chunks/toast-CGHl3-oU.js +2 -0
  292. package/dist/chunks/toast-CGHl3-oU.js.map +1 -0
  293. package/dist/chunks/tooltip-Bc-u6nIW.js +2 -0
  294. package/dist/chunks/tooltip-Bc-u6nIW.js.map +1 -0
  295. package/dist/chunks/tree-Cql1veeZ.js +2 -0
  296. package/dist/chunks/tree-Cql1veeZ.js.map +1 -0
  297. package/dist/chunks/types-CS_40Txv.d.ts +35 -0
  298. package/dist/chunks/unhandledProps-9Kdj7WVf.js +2 -0
  299. package/dist/chunks/unhandledProps-9Kdj7WVf.js.map +1 -0
  300. package/dist/chunks/useButtonSemantics-CILM_lhi.js +2 -0
  301. package/dist/chunks/useButtonSemantics-CILM_lhi.js.map +1 -0
  302. package/dist/chunks/useControllableState-CPUJxfKW.js +2 -0
  303. package/dist/chunks/useControllableState-CPUJxfKW.js.map +1 -0
  304. package/dist/chunks/useDialogElement-CgOnJAzu.js +2 -0
  305. package/dist/chunks/useDialogElement-CgOnJAzu.js.map +1 -0
  306. package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js +2 -0
  307. package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js.map +1 -0
  308. package/dist/chunks/useFloatingOverlay-DLIvwx-8.js +2 -0
  309. package/dist/chunks/useFloatingOverlay-DLIvwx-8.js.map +1 -0
  310. package/dist/chunks/useForkedRef-DVEfT-KI.js +2 -0
  311. package/dist/chunks/useForkedRef-DVEfT-KI.js.map +1 -0
  312. package/dist/chunks/useFormField-BOqmBTC4.js +2 -0
  313. package/dist/chunks/useFormField-BOqmBTC4.js.map +1 -0
  314. package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js +2 -0
  315. package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js.map +1 -0
  316. package/dist/chunks/useOpenStateProps-DykUbnPJ.js +2 -0
  317. package/dist/chunks/useOpenStateProps-DykUbnPJ.js.map +1 -0
  318. package/dist/chunks/useToastRegionQueue-CIV5SdiE.js +2 -0
  319. package/dist/chunks/useToastRegionQueue-CIV5SdiE.js.map +1 -0
  320. package/dist/chunks/useTransitionState-e5ToY7eX.js +2 -0
  321. package/dist/chunks/useTransitionState-e5ToY7eX.js.map +1 -0
  322. package/dist/chunks/validationClassName-gRGs4KBm.js +2 -0
  323. package/dist/chunks/validationClassName-gRGs4KBm.js.map +1 -0
  324. package/dist/chunks/visibleState-B_i1zHu2.js +2 -0
  325. package/dist/chunks/visibleState-B_i1zHu2.js.map +1 -0
  326. package/dist/close-button.d.ts +2 -0
  327. package/dist/close-button.js +1 -0
  328. package/dist/collapse.d.ts +2 -0
  329. package/dist/collapse.js +1 -0
  330. package/dist/color-input.d.ts +2 -0
  331. package/dist/color-input.js +1 -0
  332. package/dist/combobox.d.ts +3 -0
  333. package/dist/combobox.js +1 -0
  334. package/dist/context-menu.d.ts +2 -0
  335. package/dist/context-menu.js +1 -0
  336. package/dist/datagrid.d.ts +2 -0
  337. package/dist/datagrid.js +1 -0
  338. package/dist/datepicker.d.ts +2 -0
  339. package/dist/datepicker.js +1 -0
  340. package/dist/divider.d.ts +2 -0
  341. package/dist/divider.js +1 -0
  342. package/dist/drawer.d.ts +2 -0
  343. package/dist/drawer.js +1 -0
  344. package/dist/file-input.d.ts +2 -0
  345. package/dist/file-input.js +1 -0
  346. package/dist/flex.d.ts +2 -0
  347. package/dist/flex.js +1 -0
  348. package/dist/floating-input.d.ts +2 -0
  349. package/dist/floating-input.js +1 -0
  350. package/dist/form-field.d.ts +2 -0
  351. package/dist/form-field.js +1 -0
  352. package/dist/form.d.ts +2 -0
  353. package/dist/form.js +1 -0
  354. package/dist/grid.d.ts +2 -0
  355. package/dist/grid.js +1 -0
  356. package/dist/icon.d.ts +4 -0
  357. package/dist/icon.js +1 -0
  358. package/dist/index.d.ts +84 -6369
  359. package/dist/index.js +1 -2
  360. package/dist/input-adorn.d.ts +2 -0
  361. package/dist/input-adorn.js +1 -0
  362. package/dist/input-group.d.ts +2 -0
  363. package/dist/input-group.js +1 -0
  364. package/dist/link.d.ts +3 -0
  365. package/dist/link.js +1 -0
  366. package/dist/list.d.ts +2 -0
  367. package/dist/list.js +1 -0
  368. package/dist/menu.d.ts +4 -0
  369. package/dist/menu.js +1 -0
  370. package/dist/modal.d.ts +2 -0
  371. package/dist/modal.js +1 -0
  372. package/dist/nav-overflow.d.ts +2 -0
  373. package/dist/nav-overflow.js +1 -0
  374. package/dist/nav.d.ts +2 -0
  375. package/dist/nav.js +1 -0
  376. package/dist/navbar.d.ts +2 -0
  377. package/dist/navbar.js +1 -0
  378. package/dist/notification.d.ts +2 -0
  379. package/dist/notification.js +1 -0
  380. package/dist/number-field.d.ts +2 -0
  381. package/dist/number-field.js +1 -0
  382. package/dist/otp-input.d.ts +2 -0
  383. package/dist/otp-input.js +1 -0
  384. package/dist/pagination.d.ts +2 -0
  385. package/dist/pagination.js +1 -0
  386. package/dist/password-strength.d.ts +2 -0
  387. package/dist/password-strength.js +1 -0
  388. package/dist/placeholder.d.ts +2 -0
  389. package/dist/placeholder.js +1 -0
  390. package/dist/popover.d.ts +2 -0
  391. package/dist/popover.js +1 -0
  392. package/dist/portal.d.ts +2 -0
  393. package/dist/portal.js +1 -0
  394. package/dist/progress.d.ts +2 -0
  395. package/dist/progress.js +1 -0
  396. package/dist/radio.d.ts +2 -0
  397. package/dist/radio.js +1 -0
  398. package/dist/range-input.d.ts +2 -0
  399. package/dist/range-input.js +1 -0
  400. package/dist/scrollspy.d.ts +2 -0
  401. package/dist/scrollspy.js +1 -0
  402. package/dist/search-field.d.ts +2 -0
  403. package/dist/search-field.js +1 -0
  404. package/dist/select.d.ts +2 -0
  405. package/dist/select.js +1 -0
  406. package/dist/skeleton.d.ts +2 -0
  407. package/dist/skeleton.js +1 -0
  408. package/dist/spinner.d.ts +2 -0
  409. package/dist/spinner.js +1 -0
  410. package/dist/stack.d.ts +2 -0
  411. package/dist/stack.js +1 -0
  412. package/dist/static-table.d.ts +2 -0
  413. package/dist/static-table.js +1 -0
  414. package/dist/stepper.d.ts +2 -0
  415. package/dist/stepper.js +1 -0
  416. package/dist/style.css +1 -1
  417. package/dist/switch.d.ts +2 -0
  418. package/dist/switch.js +1 -0
  419. package/dist/table.d.ts +2 -0
  420. package/dist/table.js +1 -0
  421. package/dist/tabs.d.ts +2 -0
  422. package/dist/tabs.js +1 -0
  423. package/dist/text-input.d.ts +2 -0
  424. package/dist/text-input.js +1 -0
  425. package/dist/textarea.d.ts +2 -0
  426. package/dist/textarea.js +1 -0
  427. package/dist/time-field.d.ts +2 -0
  428. package/dist/time-field.js +1 -0
  429. package/dist/toast.d.ts +2 -0
  430. package/dist/toast.js +1 -0
  431. package/dist/tooltip.d.ts +2 -0
  432. package/dist/tooltip.js +1 -0
  433. package/dist/tree.d.ts +2 -0
  434. package/dist/tree.js +1 -0
  435. package/dist/visually-hidden.d.ts +2 -0
  436. package/dist/visually-hidden.js +1 -0
  437. package/package.json +120 -53
  438. package/src/components/accordion/Accordion.tsx +0 -190
  439. package/src/components/accordion/AccordionBody.tsx +0 -46
  440. package/src/components/accordion/AccordionHeader.tsx +0 -21
  441. package/src/components/accordion/AccordionItem.tsx +0 -59
  442. package/src/components/accordion/context.ts +0 -8
  443. package/src/components/accordion/index.ts +0 -8
  444. package/src/components/autocomplete/Autocomplete.tsx +0 -464
  445. package/src/components/autocomplete/AutocompleteGroup.tsx +0 -20
  446. package/src/components/autocomplete/AutocompleteItem.tsx +0 -18
  447. package/src/components/autocomplete/index.ts +0 -6
  448. package/src/components/avatar/Avatar.tsx +0 -137
  449. package/src/components/avatar/AvatarImage.tsx +0 -19
  450. package/src/components/avatar/AvatarStack.tsx +0 -98
  451. package/src/components/avatar/index.ts +0 -6
  452. package/src/components/badge/Badge.tsx +0 -94
  453. package/src/components/badge/index.ts +0 -2
  454. package/src/components/breadcrumb/Breadcrumb.tsx +0 -68
  455. package/src/components/breadcrumb/BreadcrumbItem.tsx +0 -38
  456. package/src/components/breadcrumb/index.ts +0 -4
  457. package/src/components/button/Button.tsx +0 -232
  458. package/src/components/button/index.ts +0 -2
  459. package/src/components/button-group/ButtonGroup.tsx +0 -55
  460. package/src/components/button-group/ButtonToolbar.tsx +0 -47
  461. package/src/components/button-group/index.ts +0 -4
  462. package/src/components/calendar/Calendar.scss +0 -57
  463. package/src/components/calendar/Calendar.tsx +0 -338
  464. package/src/components/calendar/CalendarMonthBlock.tsx +0 -57
  465. package/src/components/calendar/CalendarMonthGrid.tsx +0 -94
  466. package/src/components/calendar/CalendarMonthYearPicker.tsx +0 -164
  467. package/src/components/calendar/CalendarNavButton.tsx +0 -24
  468. package/src/components/calendar/CalendarWeekGrid.tsx +0 -58
  469. package/src/components/calendar/CalendarYearGrid.tsx +0 -128
  470. package/src/components/calendar/RangeCalendar.scss +0 -95
  471. package/src/components/calendar/RangeCalendar.tsx +0 -373
  472. package/src/components/calendar/index.ts +0 -6
  473. package/src/components/calendar/labels.tsx +0 -71
  474. package/src/components/card/Card.tsx +0 -173
  475. package/src/components/card/CardBody.tsx +0 -75
  476. package/src/components/card/CardFooter.tsx +0 -47
  477. package/src/components/card/CardGroup.tsx +0 -51
  478. package/src/components/card/CardHeader.tsx +0 -47
  479. package/src/components/card/CardImage.tsx +0 -70
  480. package/src/components/card/CardImageOverlay.tsx +0 -47
  481. package/src/components/card/CardLink.tsx +0 -40
  482. package/src/components/card/CardSubtitle.tsx +0 -47
  483. package/src/components/card/CardText.tsx +0 -47
  484. package/src/components/card/CardTitle.tsx +0 -47
  485. package/src/components/card/index.ts +0 -22
  486. package/src/components/carousel/Carousel.tsx +0 -753
  487. package/src/components/carousel/CarouselControlButton.tsx +0 -74
  488. package/src/components/carousel/CarouselControlNext.tsx +0 -22
  489. package/src/components/carousel/CarouselControlPrev.tsx +0 -22
  490. package/src/components/carousel/CarouselIndicators.tsx +0 -44
  491. package/src/components/carousel/CarouselInner.tsx +0 -56
  492. package/src/components/carousel/CarouselItem.tsx +0 -51
  493. package/src/components/carousel/CarouselOverlay.tsx +0 -51
  494. package/src/components/carousel/CarouselPlayPause.tsx +0 -61
  495. package/src/components/carousel/carouselEngine.ts +0 -170
  496. package/src/components/carousel/context.ts +0 -29
  497. package/src/components/carousel/index.ts +0 -21
  498. package/src/components/checkbox/Checkbox.tsx +0 -252
  499. package/src/components/checkbox/CheckboxGroup.tsx +0 -145
  500. package/src/components/checkbox/context.ts +0 -14
  501. package/src/components/checkbox/index.ts +0 -4
  502. package/src/components/chip/Chip.tsx +0 -184
  503. package/src/components/chip/index.ts +0 -2
  504. package/src/components/chip-input/ChipInput.tsx +0 -371
  505. package/src/components/chip-input/ChipList.tsx +0 -95
  506. package/src/components/chip-input/index.ts +0 -2
  507. package/src/components/close-button/CloseButton.tsx +0 -205
  508. package/src/components/close-button/index.ts +0 -2
  509. package/src/components/collapse/Collapse.tsx +0 -128
  510. package/src/components/collapse/index.ts +0 -2
  511. package/src/components/color-input/ColorInput.tsx +0 -106
  512. package/src/components/color-input/index.ts +0 -2
  513. package/src/components/combobox/Combobox.tsx +0 -320
  514. package/src/components/combobox/ComboboxGroup.tsx +0 -27
  515. package/src/components/combobox/ComboboxItem.tsx +0 -44
  516. package/src/components/combobox/ComboboxListBox.tsx +0 -98
  517. package/src/components/combobox/index.ts +0 -6
  518. package/src/components/datagrid/DataGrid.scss +0 -203
  519. package/src/components/datagrid/DataGrid.tsx +0 -259
  520. package/src/components/datagrid/DataGridBody.tsx +0 -162
  521. package/src/components/datagrid/DataGridCell.tsx +0 -47
  522. package/src/components/datagrid/DataGridColumn.tsx +0 -109
  523. package/src/components/datagrid/DataGridHeader.tsx +0 -47
  524. package/src/components/datagrid/DataGridPinBehavior.tsx +0 -225
  525. package/src/components/datagrid/DataGridRow.tsx +0 -48
  526. package/src/components/datagrid/DataGridSelectionCell.tsx +0 -74
  527. package/src/components/datagrid/DataGridTableLayout.ts +0 -30
  528. package/src/components/datagrid/index.ts +0 -14
  529. package/src/components/datagrid/useColumnGeometry.ts +0 -161
  530. package/src/components/datepicker/CalendarToggleButton.tsx +0 -58
  531. package/src/components/datepicker/ClearButton.tsx +0 -38
  532. package/src/components/datepicker/DateField.tsx +0 -54
  533. package/src/components/datepicker/DatePicker.scss +0 -51
  534. package/src/components/datepicker/DatePicker.tsx +0 -606
  535. package/src/components/datepicker/DateRangePicker.scss +0 -11
  536. package/src/components/datepicker/DateRangePicker.tsx +0 -361
  537. package/src/components/datepicker/index.ts +0 -4
  538. package/src/components/datepicker/renderDatePickerShell.tsx +0 -104
  539. package/src/components/drawer/Drawer.tsx +0 -213
  540. package/src/components/drawer/DrawerBody.tsx +0 -47
  541. package/src/components/drawer/DrawerFooter.tsx +0 -51
  542. package/src/components/drawer/DrawerHeader.tsx +0 -60
  543. package/src/components/drawer/DrawerTitle.tsx +0 -49
  544. package/src/components/drawer/index.ts +0 -10
  545. package/src/components/file-input/FileInput.tsx +0 -100
  546. package/src/components/file-input/index.ts +0 -2
  547. package/src/components/flex/Flex.tsx +0 -134
  548. package/src/components/flex/index.ts +0 -2
  549. package/src/components/floating-input/FloatingInput.tsx +0 -94
  550. package/src/components/floating-input/index.ts +0 -2
  551. package/src/components/form/Form.tsx +0 -26
  552. package/src/components/form/FormFeedback.tsx +0 -64
  553. package/src/components/form/FormHelp.tsx +0 -46
  554. package/src/components/form/FormLabel.tsx +0 -26
  555. package/src/components/form/index.ts +0 -8
  556. package/src/components/form/renderFormCheck.tsx +0 -86
  557. package/src/components/form-field/FormField.tsx +0 -84
  558. package/src/components/form-field/index.ts +0 -2
  559. package/src/components/form-field/renderFormField.tsx +0 -85
  560. package/src/components/grid/Col.tsx +0 -69
  561. package/src/components/grid/Container.tsx +0 -59
  562. package/src/components/grid/Grid.tsx +0 -86
  563. package/src/components/grid/GridItem.tsx +0 -123
  564. package/src/components/grid/Row.tsx +0 -71
  565. package/src/components/grid/gap.ts +0 -8
  566. package/src/components/grid/index.ts +0 -10
  567. package/src/components/icon/Icon.tsx +0 -74
  568. package/src/components/icon/index.ts +0 -2
  569. package/src/components/input-adorn/InputAdorn.tsx +0 -55
  570. package/src/components/input-adorn/index.ts +0 -2
  571. package/src/components/input-group/InputGroup.tsx +0 -50
  572. package/src/components/input-group/InputGroupAddon.tsx +0 -50
  573. package/src/components/input-group/index.ts +0 -4
  574. package/src/components/link/Link.tsx +0 -148
  575. package/src/components/link/index.ts +0 -2
  576. package/src/components/list/List.tsx +0 -193
  577. package/src/components/list/ListItem.tsx +0 -91
  578. package/src/components/list/index.ts +0 -4
  579. package/src/components/menu/Menu.tsx +0 -408
  580. package/src/components/menu/MenuDivider.tsx +0 -19
  581. package/src/components/menu/MenuHeader.tsx +0 -55
  582. package/src/components/menu/MenuItem.tsx +0 -85
  583. package/src/components/menu/MenuList.tsx +0 -142
  584. package/src/components/menu/MenuSubmenu.tsx +0 -284
  585. package/src/components/menu/MenuSubmenuBack.tsx +0 -39
  586. package/src/components/menu/MenuText.tsx +0 -47
  587. package/src/components/menu/MenuToggle.tsx +0 -148
  588. package/src/components/menu/index.ts +0 -19
  589. package/src/components/menu/menuNavigation.ts +0 -106
  590. package/src/components/menu/submenuGroup.ts +0 -43
  591. package/src/components/modal/Modal.tsx +0 -164
  592. package/src/components/modal/ModalBody.tsx +0 -47
  593. package/src/components/modal/ModalFooter.tsx +0 -51
  594. package/src/components/modal/ModalHeader.tsx +0 -60
  595. package/src/components/modal/ModalTitle.tsx +0 -49
  596. package/src/components/modal/index.ts +0 -10
  597. package/src/components/nav/Nav.tsx +0 -97
  598. package/src/components/nav/NavItem.tsx +0 -42
  599. package/src/components/nav/NavLink.tsx +0 -48
  600. package/src/components/nav/NavTitle.tsx +0 -22
  601. package/src/components/nav/index.ts +0 -7
  602. package/src/components/navbar/Navbar.tsx +0 -112
  603. package/src/components/navbar/NavbarBrand.tsx +0 -58
  604. package/src/components/navbar/NavbarNav.tsx +0 -47
  605. package/src/components/navbar/NavbarText.tsx +0 -47
  606. package/src/components/navbar/NavbarToggler.tsx +0 -34
  607. package/src/components/navbar/index.ts +0 -10
  608. package/src/components/notification/Notification.scss +0 -15
  609. package/src/components/notification/Notification.tsx +0 -187
  610. package/src/components/notification/NotificationIcon.tsx +0 -21
  611. package/src/components/notification/NotificationStack.tsx +0 -66
  612. package/src/components/notification/NotificationText.tsx +0 -47
  613. package/src/components/notification/NotificationTitle.tsx +0 -47
  614. package/src/components/notification/context.ts +0 -14
  615. package/src/components/notification/index.ts +0 -17
  616. package/src/components/notification/notificationQueue.ts +0 -48
  617. package/src/components/otp-input/OtpBox.tsx +0 -68
  618. package/src/components/otp-input/OtpInput.tsx +0 -342
  619. package/src/components/otp-input/index.ts +0 -2
  620. package/src/components/pagination/Pagination.tsx +0 -199
  621. package/src/components/pagination/PaginationItem.tsx +0 -152
  622. package/src/components/pagination/index.ts +0 -4
  623. package/src/components/password-strength/PasswordStrength.tsx +0 -155
  624. package/src/components/password-strength/index.ts +0 -2
  625. package/src/components/password-strength/strengthScore.ts +0 -79
  626. package/src/components/placeholder/Placeholder.tsx +0 -178
  627. package/src/components/placeholder/index.ts +0 -2
  628. package/src/components/popover/Popover.tsx +0 -269
  629. package/src/components/popover/index.ts +0 -2
  630. package/src/components/progress/Progress.tsx +0 -154
  631. package/src/components/progress/ProgressBar.tsx +0 -88
  632. package/src/components/progress/index.ts +0 -4
  633. package/src/components/radio/Radio.tsx +0 -98
  634. package/src/components/radio/RadioGroup.tsx +0 -142
  635. package/src/components/radio/context.ts +0 -14
  636. package/src/components/radio/index.ts +0 -4
  637. package/src/components/range-input/RangeInput.tsx +0 -109
  638. package/src/components/range-input/index.ts +0 -2
  639. package/src/components/select/Select.tsx +0 -277
  640. package/src/components/select/index.ts +0 -2
  641. package/src/components/skeleton/Skeleton.tsx +0 -89
  642. package/src/components/skeleton/SkeletonLoader.tsx +0 -91
  643. package/src/components/skeleton/index.ts +0 -4
  644. package/src/components/spinner/Spinner.tsx +0 -77
  645. package/src/components/spinner/index.ts +0 -2
  646. package/src/components/stack/Stack.tsx +0 -81
  647. package/src/components/stack/index.ts +0 -2
  648. package/src/components/stepper/Stepper.tsx +0 -172
  649. package/src/components/stepper/StepperItem.tsx +0 -66
  650. package/src/components/stepper/index.ts +0 -4
  651. package/src/components/switch/Switch.tsx +0 -259
  652. package/src/components/switch/index.ts +0 -2
  653. package/src/components/table/Table.css +0 -39
  654. package/src/components/table/Table.tsx +0 -413
  655. package/src/components/table/TableBody.tsx +0 -25
  656. package/src/components/table/TableCell.tsx +0 -27
  657. package/src/components/table/TableColumn.tsx +0 -31
  658. package/src/components/table/TableHeader.tsx +0 -26
  659. package/src/components/table/TableRow.tsx +0 -24
  660. package/src/components/table/index.ts +0 -12
  661. package/src/components/tabs/Tab.tsx +0 -36
  662. package/src/components/tabs/TabList.tsx +0 -76
  663. package/src/components/tabs/TabPanel.tsx +0 -68
  664. package/src/components/tabs/Tabs.tsx +0 -136
  665. package/src/components/tabs/context.ts +0 -24
  666. package/src/components/tabs/index.ts +0 -8
  667. package/src/components/text-input/TextInput.tsx +0 -188
  668. package/src/components/text-input/index.ts +0 -2
  669. package/src/components/textarea/Textarea.tsx +0 -145
  670. package/src/components/textarea/index.ts +0 -2
  671. package/src/components/toast/Toast.tsx +0 -219
  672. package/src/components/toast/ToastBody.tsx +0 -64
  673. package/src/components/toast/ToastFooter.tsx +0 -47
  674. package/src/components/toast/ToastHeader.tsx +0 -104
  675. package/src/components/toast/ToastIcon.tsx +0 -21
  676. package/src/components/toast/Toaster.tsx +0 -87
  677. package/src/components/toast/context.ts +0 -14
  678. package/src/components/toast/index.ts +0 -18
  679. package/src/components/toast/toastQueue.ts +0 -56
  680. package/src/components/tooltip/Tooltip.tsx +0 -171
  681. package/src/components/tooltip/index.ts +0 -2
  682. package/src/global.d.ts +0 -2
  683. package/src/hooks/index.ts +0 -57
  684. package/src/hooks/useAutoDismiss.ts +0 -91
  685. package/src/hooks/useButtonSemantics.ts +0 -33
  686. package/src/hooks/useControllableState.ts +0 -24
  687. package/src/hooks/useDialogElement.ts +0 -226
  688. package/src/hooks/useDisabledAnchorGuard.ts +0 -22
  689. package/src/hooks/useDismissibleTransition.ts +0 -126
  690. package/src/hooks/useDrawer.ts +0 -9
  691. package/src/hooks/useFloatingOverlay.ts +0 -125
  692. package/src/hooks/useForkedRef.ts +0 -50
  693. package/src/hooks/useFormField.ts +0 -89
  694. package/src/hooks/useIsomorphicLayoutEffect.ts +0 -9
  695. package/src/hooks/useModal.ts +0 -9
  696. package/src/hooks/useNotification.ts +0 -10
  697. package/src/hooks/useOverlayPlacement.ts +0 -93
  698. package/src/hooks/usePagination.ts +0 -89
  699. package/src/hooks/useToast.ts +0 -9
  700. package/src/hooks/useToastRegionQueue.ts +0 -27
  701. package/src/index.ts +0 -502
  702. package/src/types.ts +0 -133
  703. package/src/utils/breakpoints.ts +0 -43
  704. package/src/utils/comboboxCollection.tsx +0 -152
  705. package/src/utils/dateRangePresets.ts +0 -6
  706. package/src/utils/devWarning.ts +0 -58
  707. package/src/utils/dialogTransition.ts +0 -39
  708. package/src/utils/direction.ts +0 -14
  709. package/src/utils/focusRedirect.ts +0 -23
  710. package/src/utils/isWholeUnitDisabled.ts +0 -17
  711. package/src/utils/mergeIsDateUnavailable.ts +0 -15
  712. package/src/utils/overlayPlacement.ts +0 -93
  713. package/src/utils/pointerInteraction.ts +0 -21
  714. package/src/utils/polymorphic.ts +0 -53
  715. package/src/utils/renderMenuItemContent.tsx +0 -62
  716. package/src/utils/setVisibleRangeStart.ts +0 -64
  717. package/src/utils/spacingClassName.ts +0 -14
  718. package/src/utils/suppressFocusRingGlobally.ts +0 -84
  719. package/src/utils/triggerElement.ts +0 -25
  720. package/src/utils/validationClassName.ts +0 -8
  721. package/src/utils/virtualFocusStyle.ts +0 -16
@@ -1,338 +0,0 @@
1
- import React, { forwardRef, HTMLAttributes, useMemo, useRef, useState } from 'react'
2
- import classNames from 'classnames'
3
- import { AriaCalendarProps, mergeProps, useCalendar, useCalendarCell, useLocale } from 'react-aria'
4
- import { CalendarState as StatelyCalendarState, DateValue, useCalendarState } from 'react-stately'
5
- import {
6
- CalendarDate,
7
- createCalendar,
8
- getLocalTimeZone,
9
- isToday,
10
- isWeekend,
11
- today
12
- } from '@internationalized/date'
13
-
14
- import { useForkedRef } from '../../hooks'
15
- import { CalendarMonthBlock } from './CalendarMonthBlock'
16
- import { CalendarMonthYearPicker } from './CalendarMonthYearPicker'
17
- import { CalendarNavButton } from './CalendarNavButton'
18
- import { CalendarWeekGrid } from './CalendarWeekGrid'
19
- import { mergeIsDateUnavailable } from '../../utils/mergeIsDateUnavailable'
20
- import './Calendar.scss'
21
- import { CalendarLabels, CalendarLabelsProvider } from './labels'
22
-
23
- interface CalendarBaseProps extends Omit<
24
- HTMLAttributes<HTMLDivElement>,
25
- 'onChange' | 'defaultValue'
26
- > {
27
- /**
28
- * An accessible label for the calendar, used when there's no visible label. Required for
29
- * standalone use — a calendar grid has no other accessible name of its own.
30
- */
31
- 'aria-label'?: string
32
- /**
33
- * Identifies a visible label element for the calendar.
34
- */
35
- 'aria-labelledby'?: string
36
- /**
37
- * Whether to automatically focus the calendar when it mounts.
38
- */
39
- autoFocus?: boolean
40
- /**
41
- * A string of all className you want applied to the base component.
42
- */
43
- className?: string
44
- /**
45
- * Prevents the calendar from being focused or interacted with.
46
- */
47
- disabled?: boolean
48
- /**
49
- * The day that starts the week, overriding the default set by the active locale.
50
- *
51
- * @default 'mon'
52
- */
53
- firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
54
- /**
55
- * Callback that is called for each date in the calendar. If it returns `true`, that date is
56
- * shown but cannot be selected.
57
- */
58
- isDateUnavailable?: (date: DateValue) => boolean
59
- /**
60
- * Overrides for the handful of strings this component renders itself rather than getting from
61
- * the active locale (the year view's paging arrows, its live-region announcements, and the
62
- * month/year header buttons). Everything else — month and weekday names, the calendar system —
63
- * follows `I18nProvider`'s locale via react-aria and needs no override. Merged over the English
64
- * defaults, so passing one key leaves the rest alone.
65
- */
66
- labels?: Partial<CalendarLabels>
67
- /**
68
- * The maximum allowed date that a user may select.
69
- */
70
- maxValue?: DateValue | null
71
- /**
72
- * The minimum allowed date that a user may select.
73
- */
74
- minValue?: DateValue | null
75
- /**
76
- * ISO 8601 dates (`YYYY-MM-DD`) to mark unselectable, as a convenience alternative to
77
- * `isDateUnavailable` for data-driven cases (e.g. booked dates fetched from an API). Composed
78
- * with `isDateUnavailable` when both are given — a date unavailable by either is unavailable.
79
- */
80
- unavailableDates?: string[]
81
- /**
82
- * Number of months to display side by side, sharing one selection. Wraps to multiple rows in
83
- * a narrow container (e.g. a popover on a sm screen) rather than overflowing — the wrap is
84
- * driven by the calendar's own width, not the viewport, so it adapts correctly regardless of
85
- * where the calendar is embedded.
86
- *
87
- * @default 1
88
- */
89
- visibleMonths?: number
90
- }
91
-
92
- export interface CalendarSingleProps extends CalendarBaseProps {
93
- /**
94
- * The initial selected date (uncontrolled).
95
- */
96
- defaultValue?: DateValue | null
97
- /**
98
- * Callback fired when the selected date changes. Unlike `DatePicker`'s `onChange` (whose
99
- * segmented field can be cleared to `null`), a calendar selection is always a concrete date.
100
- */
101
- onChange?: (value: DateValue) => void
102
- /**
103
- * Whether a single date or multiple, independently toggled dates can be selected.
104
- *
105
- * @default 'single'
106
- */
107
- selectionMode?: 'single'
108
- /**
109
- * The selected date (controlled).
110
- */
111
- value?: DateValue | null
112
- }
113
-
114
- export interface CalendarMultipleProps extends CalendarBaseProps {
115
- /**
116
- * The initial selected dates (uncontrolled).
117
- */
118
- defaultValue?: DateValue[] | null
119
- /**
120
- * Callback fired when the set of selected dates changes.
121
- */
122
- onChange?: (value: DateValue[]) => void
123
- /**
124
- * Whether a single date or multiple, independently toggled dates can be selected.
125
- *
126
- * @default 'single'
127
- */
128
- selectionMode: 'multiple'
129
- /**
130
- * The selected dates (controlled).
131
- */
132
- value?: DateValue[] | null
133
- }
134
-
135
- export type CalendarProps = CalendarSingleProps | CalendarMultipleProps
136
-
137
- // Public, standalone calendar grid — also used internally by `DatePicker` to render the grid
138
- // inside its popover. Deliberately has no knowledge of dialog/popover semantics (role="dialog",
139
- // focus trapping, etc.) — that's the caller's concern, layered on via the `...rest` passthrough
140
- // below (see `DatePicker`, which merges its own `useDialog` output in this way).
141
- //
142
- // `selectionMode` is a discriminated union on the public props (single vs. multiple value/
143
- // onChange shapes), bridged onto one underlying `useCalendarState`/`useCalendar` call instantiated
144
- // over the union of both modes — react-stately/react-aria are natively selection-mode-aware at
145
- // that layer (including `useCalendarCell`'s `isSelected`), so no custom multi-select logic is
146
- // needed here, just narrow, provably-safe casts at the seam between the public union and the
147
- // single generic call (react-stately always reports/expects the value shape matching whichever
148
- // `selectionMode` was actually passed in).
149
- export const Calendar = forwardRef<HTMLDivElement, CalendarProps>((props, forwardedRef) => {
150
- const {
151
- autoFocus,
152
- className,
153
- defaultValue,
154
- disabled,
155
- firstDayOfWeek = 'mon',
156
- isDateUnavailable,
157
- labels,
158
- maxValue,
159
- minValue,
160
- onChange,
161
- selectionMode = 'single',
162
- unavailableDates,
163
- value,
164
- visibleMonths = 1,
165
- ...rest
166
- } = props
167
-
168
- const { locale } = useLocale()
169
- const internalRef = useRef<HTMLDivElement>(null)
170
- const ref = useForkedRef(internalRef, forwardedRef)
171
- const combinedIsDateUnavailable = useMemo(
172
- () => mergeIsDateUnavailable(unavailableDates, isDateUnavailable),
173
- [unavailableDates, isDateUnavailable]
174
- )
175
- // Tracks each visible month block's own view, keyed by `monthIndex` — same reasoning as
176
- // `RangeCalendar`'s identical state: needed only to know whether *any* block has switched
177
- // away from the day grid, so the global `.datepicker-controls` overlay can hide itself rather
178
- // than sit on top of `CalendarYearGrid`'s own pager.
179
- const [monthViews, setMonthViews] = useState<Record<number, 'days' | 'months' | 'years'>>({})
180
- const hasPickerView = Object.values(monthViews).some((view) => view !== 'days')
181
-
182
- const handleChange = (next: DateValue | readonly DateValue[]) => {
183
- if (selectionMode === 'multiple') {
184
- ;(onChange as ((value: DateValue[]) => void) | undefined)?.(next as DateValue[])
185
- } else {
186
- ;(onChange as ((value: DateValue) => void) | undefined)?.(next as DateValue)
187
- }
188
- }
189
- const normalizedValue = value as DateValue | readonly DateValue[] | null | undefined
190
- const normalizedDefaultValue = defaultValue as DateValue | readonly DateValue[] | null | undefined
191
- // react-stately's `useCalendarState` crashes computing the initial focused date for
192
- // `selectionMode: 'multiple'` when the (controlled or default) value is a genuinely empty
193
- // array — its own fallback-to-today logic only runs when the value is nullish, but an empty
194
- // array is truthy, so it instead indexes the (nonexistent) first element and calls `.subtract`
195
- // on the resulting `undefined`. Supplying `defaultFocusedValue` ourselves in exactly that case
196
- // short-circuits react-stately's logic before it ever reaches the buggy branch, without
197
- // affecting the normal "focus follows the selection" behavior whenever there is one.
198
- const resolvedValue = normalizedValue !== undefined ? normalizedValue : normalizedDefaultValue
199
- const defaultFocusedValue =
200
- selectionMode === 'multiple' && Array.isArray(resolvedValue) && resolvedValue.length === 0
201
- ? today(getLocalTimeZone())
202
- : undefined
203
-
204
- const state = useCalendarState<DateValue, 'single' | 'multiple'>({
205
- autoFocus,
206
- createCalendar,
207
- defaultFocusedValue,
208
- defaultValue: normalizedDefaultValue,
209
- firstDayOfWeek,
210
- isDateUnavailable: combinedIsDateUnavailable,
211
- isDisabled: disabled,
212
- locale,
213
- maxValue,
214
- minValue,
215
- onChange: handleChange,
216
- // Prev/next always slide the visible window by one month, regardless of `visibleMonths` —
217
- // same reasoning as `RangeCalendar`'s identical setting (see that component's own comment).
218
- pageBehavior: 'single',
219
- selectionMode,
220
- value: normalizedValue,
221
- visibleDuration: { months: visibleMonths }
222
- })
223
-
224
- const ariaProps: AriaCalendarProps<DateValue, 'single' | 'multiple'> = {
225
- 'aria-label': rest['aria-label'],
226
- 'aria-labelledby': rest['aria-labelledby'],
227
- autoFocus,
228
- defaultFocusedValue,
229
- defaultValue: normalizedDefaultValue,
230
- isDateUnavailable: combinedIsDateUnavailable,
231
- isDisabled: disabled,
232
- maxValue,
233
- minValue,
234
- onChange: handleChange,
235
- selectionMode,
236
- value: normalizedValue
237
- }
238
-
239
- const { calendarProps, prevButtonProps, nextButtonProps } = useCalendar(ariaProps, state)
240
- const prevButton = <CalendarNavButton buttonProps={prevButtonProps} direction="prev" />
241
- const nextButton = <CalendarNavButton buttonProps={nextButtonProps} direction="next" />
242
-
243
- return (
244
- <CalendarLabelsProvider labels={labels}>
245
- <div
246
- {...mergeProps(calendarProps, rest)}
247
- className={classNames('datepicker', className)}
248
- data-cx-inline="true"
249
- ref={ref}
250
- >
251
- {visibleMonths === 1 ? (
252
- <CalendarMonthYearPicker
253
- monthStart={state.visibleRange.start}
254
- nextArrow={nextButton}
255
- prevArrow={prevButton}
256
- state={state}
257
- >
258
- <CalendarWeekGrid
259
- firstDayOfWeek={firstDayOfWeek}
260
- renderCell={(date) => <CalendarCell date={date} locale={locale} state={state} />}
261
- state={state}
262
- />
263
- </CalendarMonthYearPicker>
264
- ) : (
265
- <>
266
- {/* `.datepicker[data-cx-inline]` (the root above) is already `position: relative` in
267
- chassis-css, so this overlay needs no extra positioning wrapper of its own — unlike
268
- `RangeCalendar`, which has a `presets` column sharing that root and so scopes its
269
- own copy of this overlay to a nested `.datepicker-body` instead. */}
270
- {!hasPickerView && (
271
- <div className="datepicker-controls">
272
- {prevButton}
273
- {nextButton}
274
- </div>
275
- )}
276
- <div className="datepicker-grid">
277
- {[...new Array(visibleMonths).keys()].map((monthIndex) => (
278
- <CalendarMonthBlock
279
- firstDayOfWeek={firstDayOfWeek}
280
- key={monthIndex}
281
- monthIndex={monthIndex}
282
- onViewChange={(view) =>
283
- setMonthViews((prev) => ({ ...prev, [monthIndex]: view }))
284
- }
285
- renderCell={(date) => <CalendarCell date={date} locale={locale} state={state} />}
286
- state={state}
287
- />
288
- ))}
289
- </div>
290
- </>
291
- )}
292
- </div>
293
- </CalendarLabelsProvider>
294
- )
295
- })
296
-
297
- Calendar.displayName = 'Calendar'
298
-
299
- type CalendarState = StatelyCalendarState<'single' | 'multiple'>
300
-
301
- interface CalendarCellProps {
302
- date: CalendarDate
303
- locale: string
304
- state: CalendarState
305
- }
306
-
307
- const CalendarCell = ({ date, locale, state }: CalendarCellProps) => {
308
- const ref = useRef<HTMLButtonElement>(null)
309
- const {
310
- cellProps,
311
- buttonProps,
312
- isSelected,
313
- isOutsideVisibleRange,
314
- isDisabled,
315
- isUnavailable,
316
- formattedDate
317
- } = useCalendarCell({ date }, state, ref)
318
- const isCurrentDate = isToday(date, getLocalTimeZone())
319
-
320
- return (
321
- <div
322
- {...cellProps}
323
- aria-current={isCurrentDate ? 'date' : undefined}
324
- className={classNames('datepicker-date', {
325
- 'datepicker-date-selected': isSelected,
326
- 'datepicker-date-today': isCurrentDate,
327
- 'datepicker-date-outside': isOutsideVisibleRange,
328
- 'datepicker-date-disabled': isDisabled,
329
- 'datepicker-date-unavailable': isUnavailable,
330
- 'datepicker-date-weekend': isWeekend(date, locale)
331
- })}
332
- >
333
- <button {...buttonProps} type="button" className="datepicker-date-btn" ref={ref}>
334
- {formattedDate}
335
- </button>
336
- </div>
337
- )
338
- }
@@ -1,57 +0,0 @@
1
- import React, { ReactNode } from 'react'
2
- import { CalendarState, RangeCalendarState } from 'react-stately'
3
- import { CalendarDate } from '@internationalized/date'
4
-
5
- import { CalendarMonthYearPicker } from './CalendarMonthYearPicker'
6
- import { CalendarWeekGrid } from './CalendarWeekGrid'
7
-
8
- interface CalendarMonthBlockProps {
9
- // `null`/omitted when a global prev/next pair elsewhere is paging every visible month block at
10
- // once (`RangeCalendar` with `visibleMonths > 1`) rather than this block having its own — see
11
- // that component's own `arrows` prop.
12
- arrows?: { next: ReactNode; prev: ReactNode } | null
13
- firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
14
- monthIndex: number
15
- onViewChange: (view: 'days' | 'months' | 'years') => void
16
- // The individual cell differs between `Calendar` and `RangeCalendar` (range selection needs
17
- // start/end/in-between pill state a single-date cell has no equivalent for), so cell rendering
18
- // is left to the caller — same shape `CalendarWeekGrid` itself already expects.
19
- renderCell: (date: CalendarDate, index: number, week: (CalendarDate | null)[]) => ReactNode
20
- state: CalendarState<'single' | 'multiple'> | RangeCalendarState
21
- }
22
-
23
- // One visible month within `visibleMonths` — shared by `Calendar` and `RangeCalendar`, which
24
- // otherwise duplicated this wiring near-verbatim. `monthIndex` is the offset of this block's own
25
- // month from `state.focusedDate` (`0` for a single-month calendar), letting `setVisibleRangeStart`
26
- // (inside `CalendarMonthYearPicker`) land a pick correctly regardless of which visible block it
27
- // came from.
28
- export const CalendarMonthBlock = ({
29
- arrows,
30
- firstDayOfWeek,
31
- monthIndex,
32
- onViewChange,
33
- renderCell,
34
- state
35
- }: CalendarMonthBlockProps) => {
36
- const monthStart = state.visibleRange.start.add({ months: monthIndex })
37
-
38
- return (
39
- <>
40
- <CalendarMonthYearPicker
41
- monthIndex={monthIndex}
42
- monthStart={monthStart}
43
- nextArrow={arrows?.next}
44
- onViewChange={onViewChange}
45
- prevArrow={arrows?.prev}
46
- state={state}
47
- >
48
- <CalendarWeekGrid
49
- firstDayOfWeek={firstDayOfWeek}
50
- renderCell={renderCell}
51
- startDate={monthStart}
52
- state={state}
53
- />
54
- </CalendarMonthYearPicker>
55
- </>
56
- )
57
- }
@@ -1,94 +0,0 @@
1
- import React from 'react'
2
- import classNames from 'classnames'
3
- import { useDateFormatter } from 'react-aria'
4
- import { CalendarState, RangeCalendarState } from 'react-stately'
5
- import { CalendarDate } from '@internationalized/date'
6
-
7
- import { isWholeUnitDisabled } from '../../utils/isWholeUnitDisabled'
8
- import { useCalendarLabels } from './labels'
9
-
10
- interface CalendarMonthGridProps {
11
- // Whether to render the visually-hidden `aria-live` announcement of this view's current header
12
- // (see `CalendarMonthYearPicker`'s own equivalent gate) — `false` for every visible month block
13
- // but the first when `visibleMonths > 1`, so switching into this view doesn't fire one
14
- // simultaneous announcement per block.
15
- announce?: boolean
16
- monthStart: CalendarDate
17
- onBack: () => void
18
- onSelect: (date: CalendarDate) => void
19
- state: CalendarState<'single' | 'multiple'> | RangeCalendarState
20
- }
21
-
22
- // The month view of `CalendarMonthYearPicker` — every month in `monthStart`'s own year, laid out
23
- // as a static 3-column grid (no paging; picking a different year is the year view's job).
24
- export const CalendarMonthGrid = ({
25
- announce = true,
26
- monthStart,
27
- onBack,
28
- onSelect,
29
- state
30
- }: CalendarMonthGridProps) => {
31
- const labels = useCalendarLabels()
32
- const monthFormatter = useDateFormatter({
33
- calendar: monthStart.calendar.identifier,
34
- month: 'short',
35
- timeZone: state.timeZone
36
- })
37
- const yearFormatter = useDateFormatter({
38
- calendar: monthStart.calendar.identifier,
39
- timeZone: state.timeZone,
40
- year: 'numeric'
41
- })
42
-
43
- const numMonths = monthStart.calendar.getMonthsInYear(monthStart)
44
- const months = [...new Array(numMonths).keys()].map((i) => {
45
- const date = monthStart.set({ day: 1, month: i + 1 })
46
- return { date, formatted: monthFormatter.format(date.toDate(state.timeZone)) }
47
- })
48
-
49
- return (
50
- <>
51
- <div className="datepicker-header">
52
- <div className="datepicker-header-content">
53
- <button className="datepicker-month" onClick={onBack} type="button">
54
- {yearFormatter.format(monthStart.toDate(state.timeZone))}
55
- </button>
56
- </div>
57
- </div>
58
- {announce && (
59
- <span role="status" className="visually-hidden">
60
- {`${labels.selectMonth}, ${yearFormatter.format(monthStart.toDate(state.timeZone))}`}
61
- </span>
62
- )}
63
- <div className="datepicker-content">
64
- <div
65
- aria-label={yearFormatter.format(monthStart.toDate(state.timeZone))}
66
- className="datepicker-months"
67
- role="group"
68
- >
69
- {months.map((month) => {
70
- const isSelected = month.date.month === monthStart.month
71
- const isDisabled = isWholeUnitDisabled(
72
- state,
73
- month.date,
74
- month.date.add({ months: 1 }).subtract({ days: 1 })
75
- )
76
-
77
- return (
78
- <button
79
- aria-current={isSelected ? 'true' : undefined}
80
- className={classNames('datepicker-months-month', { selected: isSelected })}
81
- disabled={isDisabled}
82
- key={month.date.month}
83
- onClick={() => onSelect(month.date)}
84
- type="button"
85
- >
86
- {month.formatted}
87
- </button>
88
- )
89
- })}
90
- </div>
91
- </div>
92
- </>
93
- )
94
- }
@@ -1,164 +0,0 @@
1
- import React, { ReactNode, useEffect, useRef, useState } from 'react'
2
- import { useDateFormatter } from 'react-aria'
3
- import { CalendarState, RangeCalendarState } from 'react-stately'
4
- import { CalendarDate } from '@internationalized/date'
5
-
6
- import { CalendarMonthGrid } from './CalendarMonthGrid'
7
- import { CalendarYearGrid } from './CalendarYearGrid'
8
- import { setVisibleRangeStart } from '../../utils/setVisibleRangeStart'
9
- import { useCalendarLabels } from './labels'
10
-
11
- interface CalendarMonthYearPickerProps {
12
- // The day grid, shown in the default 'days' view — owned by the caller (`Calendar` and
13
- // `RangeCalendar` render genuinely different cells: single-date vs. range pill styling), so
14
- // this only decides *whether* it's showing, never how it's built.
15
- children: ReactNode
16
- monthIndex?: number
17
- monthStart: CalendarDate
18
- // `null` when a global prev/next pair elsewhere is paging every visible month block at once
19
- // (`RangeCalendar` with `visibleMonths > 1`) rather than this block having its own — see that
20
- // component's own `arrows` prop. Only ever rendered in the 'days' view; the month/year views page
21
- // themselves independently (`CalendarYearGrid`) or don't page at all (`CalendarMonthGrid`).
22
- nextArrow?: ReactNode
23
- // Reports this block's own view whenever it changes, so a parent rendering several blocks
24
- // (`RangeCalendar` with `visibleMonths > 1`) can tell when one of them has switched to the
25
- // year view — `CalendarYearGrid` owns its own prev/next pager in that view, which would
26
- // otherwise sit right underneath the parent's global `.datepicker-controls` overlay.
27
- onViewChange?: (view: 'days' | 'months' | 'years') => void
28
- prevArrow?: ReactNode
29
- state: CalendarState<'single' | 'multiple'> | RangeCalendarState
30
- }
31
-
32
- // Header + body for one visible month block: the day grid by default, switching in place to a
33
- // month or year grid when the header's own month/year button is pressed (chassis-css's actual
34
- // `_datepicker.scss` design for this — `[data-vc="months"]`/`[data-vc="years"]`, swapped in for
35
- // `[data-vc="dates"]` — not a `<select>`, which is what this component used to render here. Native
36
- // `<select>` turned out to be the whole problem: picking a value forced a synchronous re-render
37
- // from inside the browser's own `change`-event dispatch, and in Safari that corrupted `usePress`'s
38
- // pointerup-vs-click target check for whatever the user clicked next — a page bug specific to
39
- // native form controls, not present here since a grid button is a plain, ordinary press.
40
- //
41
- // Shared by `Calendar` and `RangeCalendar` — `monthIndex` is the offset of this block's own
42
- // month from `state.focusedDate` (`0` for a single-month calendar), letting `setVisibleRangeStart`
43
- // land a pick correctly regardless of which visible block it came from.
44
- export const CalendarMonthYearPicker = ({
45
- children,
46
- monthIndex = 0,
47
- monthStart,
48
- nextArrow,
49
- onViewChange,
50
- prevArrow,
51
- state
52
- }: CalendarMonthYearPickerProps) => {
53
- const labels = useCalendarLabels()
54
- const [view, setView] = useState<'days' | 'months' | 'years'>('days')
55
- const containerRef = useRef<HTMLDivElement>(null)
56
- // Skipped on mount — there's no prior view to restore focus from yet, and stealing focus
57
- // as soon as the calendar renders would fight `autoFocus`/the caller's own focus management.
58
- const isFirstRender = useRef(true)
59
-
60
- const changeView = (next: 'days' | 'months' | 'years') => {
61
- setView(next)
62
- onViewChange?.(next)
63
- }
64
-
65
- // Switching `view` swaps in a whole new subtree, unmounting whatever was focused (the month/
66
- // year trigger button, or the month/year grid button just picked) — React has no reason to move
67
- // focus anywhere on its own, so without this it drops to `document.body`, breaking out of
68
- // `FocusScope`'s containment in `DatePicker`/`DateRangePicker`'s popover entirely. Lands
69
- // focus on the selected month/year button when entering the month/year view (falling back to
70
- // the first option if nothing is selected on the currently visible page), or back onto the
71
- // day grid's own roving-tabindex cell when returning to 'days'.
72
- useEffect(() => {
73
- if (isFirstRender.current) {
74
- isFirstRender.current = false
75
- return
76
- }
77
-
78
- const container = containerRef.current
79
- if (!container) return
80
-
81
- const target =
82
- view === 'days'
83
- ? container.querySelector<HTMLElement>('.datepicker-date-btn[tabindex="0"]')
84
- : (container.querySelector<HTMLElement>(
85
- '.datepicker-months-month.selected, .datepicker-years-year.selected'
86
- ) ??
87
- container.querySelector<HTMLElement>('.datepicker-months-month, .datepicker-years-year'))
88
-
89
- target?.focus()
90
- }, [view])
91
-
92
- const monthFormatter = useDateFormatter({
93
- calendar: monthStart.calendar.identifier,
94
- month: 'long',
95
- timeZone: state.timeZone
96
- })
97
- const yearFormatter = useDateFormatter({
98
- calendar: monthStart.calendar.identifier,
99
- timeZone: state.timeZone,
100
- year: 'numeric'
101
- })
102
-
103
- const commitAndReturn = (date: CalendarDate) => {
104
- setVisibleRangeStart(state, date.subtract({ months: monthIndex }))
105
- changeView('days')
106
- }
107
-
108
- return (
109
- <div className="datepicker-column" ref={containerRef}>
110
- {view === 'months' && (
111
- <CalendarMonthGrid
112
- announce={monthIndex === 0}
113
- monthStart={monthStart}
114
- onBack={() => changeView('days')}
115
- onSelect={commitAndReturn}
116
- state={state}
117
- />
118
- )}
119
- {view === 'years' && (
120
- <CalendarYearGrid
121
- announce={monthIndex === 0}
122
- monthStart={monthStart}
123
- onBack={() => changeView('days')}
124
- onSelect={commitAndReturn}
125
- state={state}
126
- />
127
- )}
128
- {view === 'days' && (
129
- <>
130
- <div className="datepicker-header">
131
- {prevArrow}
132
- <div className="datepicker-header-content">
133
- <button
134
- aria-label={`${labels.month}: ${monthFormatter.format(monthStart.toDate(state.timeZone))}`}
135
- className="datepicker-month"
136
- disabled={state.isDisabled}
137
- onClick={() => changeView('months')}
138
- type="button"
139
- >
140
- {monthFormatter.format(monthStart.toDate(state.timeZone))}
141
- </button>
142
- <button
143
- aria-label={`${labels.year}: ${yearFormatter.format(monthStart.toDate(state.timeZone))}`}
144
- className="datepicker-year"
145
- disabled={state.isDisabled}
146
- onClick={() => changeView('years')}
147
- type="button"
148
- >
149
- {yearFormatter.format(monthStart.toDate(state.timeZone))}
150
- </button>
151
- </div>
152
- {nextArrow}
153
- </div>
154
- {monthIndex === 0 && (
155
- <span role="status" className="visually-hidden">
156
- {`${monthFormatter.format(monthStart.toDate(state.timeZone))} ${yearFormatter.format(monthStart.toDate(state.timeZone))}`}
157
- </span>
158
- )}
159
- {children}
160
- </>
161
- )}
162
- </div>
163
- )
164
- }
@@ -1,24 +0,0 @@
1
- import React, { useRef } from 'react'
2
- import { AriaButtonProps, useButton } from 'react-aria'
3
-
4
- interface CalendarNavButtonProps {
5
- buttonProps: AriaButtonProps
6
- direction: 'prev' | 'next'
7
- }
8
-
9
- // Shared prev/next arrow, used twice by both `Calendar` and `RangeCalendar` — `buttonProps`
10
- // comes from that caller's own `useCalendar`/`useRangeCalendar`, so this only owns the DOM ref and
11
- // the `useButton` wiring plus the arrow markup itself.
12
- export const CalendarNavButton = ({ buttonProps, direction }: CalendarNavButtonProps) => {
13
- const ref = useRef<HTMLButtonElement>(null)
14
- const { buttonProps: domButtonProps } = useButton(buttonProps, ref)
15
-
16
- return (
17
- <button
18
- {...domButtonProps}
19
- className={`datepicker-arrow datepicker-arrow-${direction}`}
20
- ref={ref}
21
- type="button"
22
- ></button>
23
- )
24
- }