@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,58 +0,0 @@
1
- import React, { ReactNode } from 'react'
2
- import { useCalendarGrid } from 'react-aria'
3
- import { CalendarState, RangeCalendarState } from 'react-stately'
4
- import { CalendarDate } from '@internationalized/date'
5
-
6
- interface CalendarWeekGridProps {
7
- firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
8
- renderCell: (date: CalendarDate, index: number, week: (CalendarDate | null)[]) => ReactNode
9
- startDate?: CalendarDate
10
- state: CalendarState<'single' | 'multiple'> | RangeCalendarState
11
- }
12
-
13
- // Shared week-day header + date-rows grid, used by both `Calendar` and `RangeCalendar` —
14
- // `startDate` lets a range calendar anchor this to one of several visible months (see
15
- // `useCalendarGrid`'s own docs); omitted, it defaults to the calendar's own visible start. Only the
16
- // individual cell differs between the two callers (range selection needs start/end/in-between pill
17
- // state a single-date cell has no equivalent for), so cell rendering is left to `renderCell`.
18
- export const CalendarWeekGrid = ({
19
- firstDayOfWeek,
20
- renderCell,
21
- startDate,
22
- state
23
- }: CalendarWeekGridProps) => {
24
- const { gridProps, headerProps, weekDays, weeksInMonth } = useCalendarGrid(
25
- { firstDayOfWeek, startDate },
26
- state
27
- )
28
-
29
- return (
30
- <div {...gridProps} className="datepicker-content">
31
- <div {...headerProps} className="datepicker-week" role="row">
32
- {weekDays.map((day, index) => (
33
- // eslint-disable-next-line react/no-array-index-key
34
- <span className="datepicker-week-day" key={index} role="columnheader">
35
- {day}
36
- </span>
37
- ))}
38
- </div>
39
- <div className="datepicker-dates">
40
- {[...new Array(weeksInMonth).keys()].map((weekIndex) => {
41
- const week = state.getDatesInWeek(weekIndex, startDate)
42
- return (
43
- <div className="datepicker-dates-row" key={weekIndex} role="row">
44
- {week.map((date, i) =>
45
- date ? (
46
- <React.Fragment key={date.toString()}>{renderCell(date, i, week)}</React.Fragment>
47
- ) : (
48
- // eslint-disable-next-line react/no-array-index-key
49
- <div className="datepicker-date" key={i} role="gridcell" />
50
- )
51
- )}
52
- </div>
53
- )
54
- })}
55
- </div>
56
- </div>
57
- )
58
- }
@@ -1,128 +0,0 @@
1
- import React, { useState } from 'react'
2
- import classNames from 'classnames'
3
- import { useDateFormatter } from 'react-aria'
4
- import { CalendarState, RangeCalendarState } from 'react-stately'
5
- import { CalendarDate, toCalendarDate } from '@internationalized/date'
6
-
7
- import { isWholeUnitDisabled } from '../../utils/isWholeUnitDisabled'
8
- import { useCalendarLabels } from './labels'
9
-
10
- interface CalendarYearGridProps {
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 (or paging within it)
14
- // doesn't fire one 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
- const YEARS_PER_PAGE = 15
23
-
24
- // The year view of `CalendarMonthYearPicker` — a paged 3-column grid, `YEARS_PER_PAGE` years at a
25
- // time starting from the currently visible year. Unlike the month view, a year range doesn't fit
26
- // on one screen, so this owns its own prev/next paging (independent of the day grid's own
27
- // prev/next, which keep paging by month underneath whenever this view isn't showing).
28
- export const CalendarYearGrid = ({
29
- announce = true,
30
- monthStart,
31
- onBack,
32
- onSelect,
33
- state
34
- }: CalendarYearGridProps) => {
35
- const labels = useCalendarLabels()
36
- const yearFormatter = useDateFormatter({
37
- calendar: monthStart.calendar.identifier,
38
- timeZone: state.timeZone,
39
- year: 'numeric'
40
- })
41
- // Lazy initializer only — this view unmounts on every exit, so there's no case where `monthStart`
42
- // changes while it's still mounted that this would need to react to.
43
- const [pageStart, setPageStart] = useState(() => monthStart.year)
44
-
45
- // `date` preserves `monthStart`'s own month/day, changing only the year — picking a year should
46
- // land on the same month it started from, not reset to January (`yearStart`/`yearEnd` are the
47
- // Jan 1–Dec 31 bounds used only for the disabled-range check below, kept separate so the actual
48
- // selection target isn't affected by them).
49
- const years = [...new Array(YEARS_PER_PAGE).keys()].map((i) => {
50
- const date = monthStart.set({ year: pageStart + i })
51
- const yearStart = date.set({ day: 1, month: 1 })
52
- const yearEnd = yearStart.add({ years: 1 }).subtract({ days: 1 })
53
- return {
54
- date,
55
- formatted: yearFormatter.format(date.toDate(state.timeZone)),
56
- yearEnd,
57
- yearStart
58
- }
59
- })
60
- // `years` always has exactly `YEARS_PER_PAGE` (15) entries — a fixed, non-zero constant, never
61
- // empty — so the first/last indices are always in range.
62
- const firstYear = years[0]!
63
- const lastYear = years[years.length - 1]!
64
- const firstYearStart = firstYear.yearStart
65
- const lastYearEnd = lastYear.yearEnd
66
- const rangeLabel = `${firstYear.formatted} – ${lastYear.formatted}`
67
-
68
- const isPrevDisabled =
69
- state.isDisabled ||
70
- (state.minValue != null &&
71
- firstYearStart.subtract({ days: 1 }).compare(toCalendarDate(state.minValue)) < 0)
72
- const isNextDisabled =
73
- state.isDisabled ||
74
- (state.maxValue != null &&
75
- lastYearEnd.add({ days: 1 }).compare(toCalendarDate(state.maxValue)) > 0)
76
-
77
- return (
78
- <>
79
- <div className="datepicker-header">
80
- <button
81
- aria-label={labels.previousYears}
82
- className="datepicker-arrow datepicker-arrow-prev"
83
- disabled={isPrevDisabled}
84
- onClick={() => setPageStart((start) => start - YEARS_PER_PAGE)}
85
- type="button"
86
- />
87
- <div className="datepicker-header-content">
88
- <button className="datepicker-year" onClick={onBack} type="button">
89
- {rangeLabel}
90
- </button>
91
- </div>
92
- <button
93
- aria-label={labels.nextYears}
94
- className="datepicker-arrow datepicker-arrow-next"
95
- disabled={isNextDisabled}
96
- onClick={() => setPageStart((start) => start + YEARS_PER_PAGE)}
97
- type="button"
98
- />
99
- </div>
100
- {announce && (
101
- <span role="status" className="visually-hidden">
102
- {`${labels.selectYear}, ${rangeLabel}`}
103
- </span>
104
- )}
105
- <div className="datepicker-content">
106
- <div aria-label={rangeLabel} className="datepicker-years" role="group">
107
- {years.map((year) => {
108
- const isSelected = year.date.year === monthStart.year
109
- const isDisabled = isWholeUnitDisabled(state, year.yearStart, year.yearEnd)
110
-
111
- return (
112
- <button
113
- aria-current={isSelected ? 'true' : undefined}
114
- className={classNames('datepicker-years-year', { selected: isSelected })}
115
- disabled={isDisabled}
116
- key={year.date.year}
117
- onClick={() => onSelect(year.date)}
118
- type="button"
119
- >
120
- {year.formatted}
121
- </button>
122
- )
123
- })}
124
- </div>
125
- </div>
126
- </>
127
- )
128
- }
@@ -1,95 +0,0 @@
1
- @use "@chassis-ui/css/scss/config" as *;
2
- @use "@chassis-ui/css/scss/mixins" as *;
3
-
4
- /*
5
- * `RangeCalendar` reuses chassis-css's `.datepicker-*` classes as-is (see `Calendar.scss`).
6
- * This file only covers the gaps: range-specific state (`.datepicker-date-in-range`,
7
- * `-range-start`/`-end`) and the quick-select list beside the grid, which chassis-css
8
- * doesn't style.
9
- */
10
-
11
- @layer components {
12
- .datepicker-date-in-range {
13
- color: var(--day-range-fg-color);
14
- background-color: var(--day-range-bg-color);
15
- }
16
-
17
- .datepicker-date-in-range > .datepicker-date-btn:hover {
18
- background-color: unset;
19
- }
20
-
21
- .datepicker-date-in-range.datepicker-date-range-start {
22
- @include border-top-start-radius(var(--border-radius-md));
23
- @include border-bottom-start-radius(var(--border-radius-md));
24
- }
25
-
26
- .datepicker-date-in-range.datepicker-date-range-end {
27
- @include border-top-end-radius(var(--border-radius-md));
28
- @include border-bottom-end-radius(var(--border-radius-md));
29
- }
30
-
31
- .datepicker-date-btn:is(.datepicker-date-range-start, .datepicker-date-range-end),
32
- .datepicker-date-btn:is(.datepicker-date-range-start, .datepicker-date-range-end):hover {
33
- color: var(--primary-contrast);
34
- background-color: var(--primary);
35
- }
36
-
37
- .datepicker-date-btn.datepicker-date-range-start:not(.datepicker-date-range-end) {
38
- @include border-top-end-radius(0);
39
- @include border-bottom-end-radius(0);
40
- }
41
-
42
- .datepicker-date-btn.datepicker-date-range-end:not(.datepicker-date-range-start) {
43
- @include border-top-start-radius(0);
44
- @include border-bottom-start-radius(0);
45
- }
46
-
47
- /* Wins the specificity tie with chassis-css's "today" rule for a range endpoint that's also
48
- today (same approach as `Calendar.scss`'s selected+today override). */
49
- .datepicker-date[aria-current="date"] > .datepicker-date-btn.datepicker-date-range-start,
50
- .datepicker-date[aria-current="date"] > .datepicker-date-btn.datepicker-date-range-end {
51
- color: var(--primary-contrast);
52
- background-color: var(--primary);
53
- }
54
-
55
- /* Quick-select list beside the grid; no chassis-css equivalent, so fully custom. */
56
- .datepicker-presets {
57
- display: flex;
58
- flex-direction: column;
59
- gap: var(--gap);
60
- padding-inline: 0 var(--padding-x);
61
- margin: 0;
62
- list-style: none;
63
- border-inline-end: var(--border-width-md) solid var(--border-subtle);
64
- }
65
-
66
- .datepicker-preset {
67
- padding: var(--space-2xs) var(--space-xs);
68
- color: var(--fg-main);
69
- text-align: start;
70
- white-space: nowrap;
71
- cursor: pointer;
72
- background-color: transparent;
73
- border: 0;
74
- @include border-radius(var(--border-radius-md));
75
- }
76
-
77
- .datepicker-preset:hover {
78
- background-color: var(--bg-hover);
79
- }
80
-
81
- .datepicker-preset:focus-visible {
82
- outline: var(--border-width-xl) solid var(--primary);
83
- outline-offset: -1px;
84
- }
85
-
86
- .datepicker-preset.selected {
87
- color: var(--primary-contrast);
88
- background-color: var(--primary);
89
- }
90
-
91
- .datepicker-preset.selected:hover {
92
- background-color: var(--primary);
93
- }
94
- }
95
-
@@ -1,373 +0,0 @@
1
- import React, { forwardRef, HTMLAttributes, useMemo, useRef, useState } from 'react'
2
- import classNames from 'classnames'
3
- import {
4
- AriaRangeCalendarProps,
5
- mergeProps,
6
- RangeValue,
7
- useCalendarCell,
8
- useLocale,
9
- useRangeCalendar
10
- } from 'react-aria'
11
- import { DateValue, RangeCalendarState, useRangeCalendarState } from 'react-stately'
12
- import {
13
- CalendarDate,
14
- createCalendar,
15
- getLocalTimeZone,
16
- isSameDay,
17
- isToday,
18
- isWeekend
19
- } from '@internationalized/date'
20
-
21
- import { useForkedRef } from '../../hooks'
22
- import { CalendarMonthBlock } from './CalendarMonthBlock'
23
- import { CalendarNavButton } from './CalendarNavButton'
24
- import { DateRangePreset } from '../../utils/dateRangePresets'
25
- import { mergeIsDateUnavailable } from '../../utils/mergeIsDateUnavailable'
26
- import { suppressFocusRing } from '../../utils/suppressFocusRingGlobally'
27
- import './Calendar.scss'
28
- import './RangeCalendar.scss'
29
- import { CalendarLabels, CalendarLabelsProvider } from './labels'
30
-
31
- export interface RangeCalendarProps extends Omit<
32
- HTMLAttributes<HTMLDivElement>,
33
- 'onChange' | 'defaultValue'
34
- > {
35
- /**
36
- * An accessible label for the calendar, used when there's no visible label. Required for
37
- * standalone use — a calendar grid has no other accessible name of its own.
38
- */
39
- 'aria-label'?: string
40
- /**
41
- * Identifies a visible label element for the calendar.
42
- */
43
- 'aria-labelledby'?: string
44
- /**
45
- * Whether to automatically focus the calendar when it mounts.
46
- */
47
- autoFocus?: boolean
48
- /**
49
- * A string of all className you want applied to the base component.
50
- */
51
- className?: string
52
- /**
53
- * The initial selected date range (uncontrolled).
54
- */
55
- defaultValue?: RangeValue<DateValue> | null
56
- /**
57
- * Prevents the calendar from being focused or interacted with.
58
- */
59
- disabled?: boolean
60
- /**
61
- * The day that starts the week, overriding the default set by the active locale.
62
- *
63
- * @default 'mon'
64
- */
65
- firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
66
- /**
67
- * Callback that is called for each date in the calendar. If it returns `true`, that date is
68
- * shown but cannot be selected.
69
- */
70
- isDateUnavailable?: (date: DateValue) => boolean
71
- /**
72
- * Overrides for the handful of strings this component renders itself rather than getting from
73
- * the active locale (the year view's paging arrows, its live-region announcements, and the
74
- * month/year header buttons). Everything else — month and weekday names, the calendar system —
75
- * follows `I18nProvider`'s locale via react-aria and needs no override. Merged over the English
76
- * defaults, so passing one key leaves the rest alone.
77
- */
78
- labels?: Partial<CalendarLabels>
79
- /**
80
- * The maximum allowed date that a user may select.
81
- */
82
- maxValue?: DateValue | null
83
- /**
84
- * The minimum allowed date that a user may select.
85
- */
86
- minValue?: DateValue | null
87
- /**
88
- * Callback fired when a complete range is selected (both a start and end date).
89
- */
90
- onChange?: (value: RangeValue<DateValue>) => void
91
- /**
92
- * A list of quick-select range presets shown beside the calendar. Selecting a preset commits
93
- * its range immediately, the same as picking a start and end date from the grid. The preset
94
- * matching the current selection (if any) is marked selected. Omit to not show a preset list.
95
- */
96
- presets?: DateRangePreset[]
97
- /**
98
- * ISO 8601 dates (`YYYY-MM-DD`) to mark unselectable, as a convenience alternative to
99
- * `isDateUnavailable` for data-driven cases (e.g. booked dates fetched from an API). Composed
100
- * with `isDateUnavailable` when both are given — a date unavailable by either is unavailable.
101
- */
102
- unavailableDates?: string[]
103
- /**
104
- * The selected date range (controlled).
105
- */
106
- value?: RangeValue<DateValue> | null
107
- /**
108
- * Number of months to display side by side, sharing one selection. Wraps to multiple rows in
109
- * a narrow container (e.g. a popover on a sm screen) rather than overflowing — the wrap is
110
- * driven by the calendar's own width, not the viewport, so it adapts correctly regardless of
111
- * where the calendar is embedded.
112
- *
113
- * @default 1
114
- */
115
- visibleMonths?: number
116
- }
117
-
118
- // Range counterpart to `Calendar` — same dialog-agnostic composition boundary (see that
119
- // component's own comment) and the same header/month-year-picker/grid visual language, reusing
120
- // `Calendar.scss`'s shared classes directly. Kept as its own component rather than a `mode` prop
121
- // on `Calendar`: the underlying react-stately/react-aria hooks are a genuinely different pair
122
- // (`useRangeCalendarState`/`useRangeCalendar` vs `useCalendarState`/`useCalendar`), and the cell
123
- // rendering has range-only concerns (start/end/in-between pill styling) with no single-date
124
- // equivalent.
125
- export const RangeCalendar = forwardRef<HTMLDivElement, RangeCalendarProps>(
126
- (
127
- {
128
- autoFocus,
129
- className,
130
- defaultValue,
131
- disabled,
132
- firstDayOfWeek = 'mon',
133
- isDateUnavailable,
134
- labels,
135
- maxValue,
136
- minValue,
137
- onChange,
138
- presets,
139
- unavailableDates,
140
- value,
141
- visibleMonths = 1,
142
- ...rest
143
- },
144
- forwardedRef
145
- ) => {
146
- const { locale } = useLocale()
147
- const internalRef = useRef<HTMLDivElement>(null)
148
- const ref = useForkedRef(internalRef, forwardedRef)
149
- const combinedIsDateUnavailable = useMemo(
150
- () => mergeIsDateUnavailable(unavailableDates, isDateUnavailable),
151
- [unavailableDates, isDateUnavailable]
152
- )
153
- const resolvedPresets = presets && presets.length > 0 ? presets : null
154
- // Tracks each visible month block's own view, keyed by `monthIndex` — needed only to know
155
- // whether *any* block has switched away from the day grid. `CalendarYearGrid` owns its own
156
- // prev/next pager, which would otherwise sit right underneath the global `.datepicker-controls`
157
- // overlay below (see its own comment) — and even in the month view, where there's no such
158
- // literal overlap, the global pager would still page the day grid one block is no longer
159
- // showing, which reads as it doing nothing.
160
- const [monthViews, setMonthViews] = useState<Record<number, 'days' | 'months' | 'years'>>({})
161
- const hasPickerView = Object.values(monthViews).some((view) => view !== 'days')
162
-
163
- const state = useRangeCalendarState({
164
- autoFocus,
165
- createCalendar,
166
- defaultValue,
167
- firstDayOfWeek,
168
- isDateUnavailable: combinedIsDateUnavailable,
169
- isDisabled: disabled,
170
- locale,
171
- maxValue,
172
- minValue,
173
- onChange,
174
- // Prev/next always slide the visible window by one month, regardless of `visibleMonths` —
175
- // react-stately's own default (`pageBehavior: 'visible'`) instead pages by the *entire*
176
- // visible span at once (e.g. jumping straight from Nov/Dec to Jan/Feb for `visibleMonths={2}`,
177
- // skipping Dec/Jan entirely), which reads as broken next to `CalendarMonthYearDropdowns`'
178
- // own one-month-at-a-time jumps.
179
- pageBehavior: 'single',
180
- value,
181
- visibleDuration: { months: visibleMonths }
182
- })
183
-
184
- const ariaProps: AriaRangeCalendarProps<DateValue> = {
185
- 'aria-label': rest['aria-label'],
186
- 'aria-labelledby': rest['aria-labelledby'],
187
- autoFocus,
188
- defaultValue,
189
- isDateUnavailable: combinedIsDateUnavailable,
190
- isDisabled: disabled,
191
- maxValue,
192
- minValue,
193
- onChange,
194
- value
195
- }
196
-
197
- const { calendarProps, prevButtonProps, nextButtonProps } = useRangeCalendar(
198
- ariaProps,
199
- state,
200
- internalRef
201
- )
202
- // A single pair of buttons, placed in exactly one spot depending on `visibleMonths` — inline
203
- // in the (only) month's own header for a single month, or once as a global overlay for
204
- // several — never both, so there's no risk of two DOM nodes fighting over one ref.
205
- const prevButton = <CalendarNavButton buttonProps={prevButtonProps} direction="prev" />
206
- const nextButton = <CalendarNavButton buttonProps={nextButtonProps} direction="next" />
207
- const singleMonthArrows = visibleMonths === 1 ? { next: nextButton, prev: prevButton } : null
208
-
209
- // Goes through the same `state.setValue` path a two-click grid selection does (rather than
210
- // calling `onChange` directly), so it behaves identically whether `value` is controlled or
211
- // uncontrolled — including `DateRangePicker`, which relies on this to auto-close its popover
212
- // the same way completing a range in the grid already does.
213
- const handlePresetSelect = (range: RangeValue<DateValue>) => {
214
- state.setValue(range)
215
- }
216
-
217
- return (
218
- <CalendarLabelsProvider labels={labels}>
219
- <div
220
- {...mergeProps(calendarProps, rest)}
221
- className={classNames('datepicker', className)}
222
- data-cx-inline="true"
223
- ref={ref}
224
- >
225
- <div className="datepicker-grid">
226
- {resolvedPresets && (
227
- <DateRangePresets
228
- onSelect={handlePresetSelect}
229
- presets={resolvedPresets}
230
- value={state.value}
231
- />
232
- )}
233
- <div className="datepicker-body">
234
- {visibleMonths > 1 && !hasPickerView && (
235
- <div className="datepicker-controls">
236
- {prevButton}
237
- {nextButton}
238
- </div>
239
- )}
240
- <div className="datepicker-grid">
241
- {[...new Array(visibleMonths).keys()].map((monthIndex) => (
242
- <CalendarMonthBlock
243
- arrows={monthIndex === 0 ? singleMonthArrows : null}
244
- firstDayOfWeek={firstDayOfWeek}
245
- key={monthIndex}
246
- monthIndex={monthIndex}
247
- onViewChange={(view) =>
248
- setMonthViews((prev) => ({ ...prev, [monthIndex]: view }))
249
- }
250
- renderCell={(date, i, week) => (
251
- <CalendarCell
252
- date={date}
253
- isFirstInRow={i === 0}
254
- isLastInRow={i === week.length - 1}
255
- locale={locale}
256
- state={state}
257
- />
258
- )}
259
- state={state}
260
- />
261
- ))}
262
- </div>
263
- </div>
264
- </div>
265
- </div>
266
- </CalendarLabelsProvider>
267
- )
268
- }
269
- )
270
-
271
- RangeCalendar.displayName = 'RangeCalendar'
272
-
273
- interface CalendarCellProps {
274
- date: CalendarDate
275
- isFirstInRow: boolean
276
- isLastInRow: boolean
277
- locale: string
278
- state: RangeCalendarState
279
- }
280
-
281
- const CalendarCell = ({ date, isFirstInRow, isLastInRow, locale, state }: CalendarCellProps) => {
282
- const ref = useRef<HTMLButtonElement>(null)
283
- const {
284
- cellProps,
285
- buttonProps,
286
- isSelected,
287
- isOutsideVisibleRange,
288
- isDisabled,
289
- isUnavailable,
290
- formattedDate
291
- } = useCalendarCell({ date }, state, ref)
292
-
293
- // `isSelected` is true for every day in the range, not just its endpoints — the pill's rounded
294
- // caps belong only at the true start/end (or wherever a row wraps mid-range, so the band still
295
- // reads as continuous week to week); everything else in between is a flush, square-edged band.
296
- const { highlightedRange } = state
297
- const isRangeStart = Boolean(highlightedRange && isSameDay(date, highlightedRange.start))
298
- const isRangeEnd = Boolean(highlightedRange && isSameDay(date, highlightedRange.end))
299
- const isCurrentDate = isToday(date, getLocalTimeZone())
300
-
301
- return (
302
- <div
303
- {...cellProps}
304
- aria-current={isCurrentDate ? 'date' : undefined}
305
- className={classNames('datepicker-date', {
306
- 'datepicker-date-today': isCurrentDate,
307
- 'datepicker-date-in-range': isSelected,
308
- 'datepicker-date-range-start': isSelected && (isRangeStart || isFirstInRow),
309
- 'datepicker-date-range-end': isSelected && (isRangeEnd || isLastInRow),
310
- 'datepicker-date-outside': isOutsideVisibleRange,
311
- 'datepicker-date-disabled': isDisabled,
312
- 'datepicker-date-unavailable': isUnavailable,
313
- 'datepicker-date-weekend': isWeekend(date, locale)
314
- })}
315
- >
316
- <button
317
- {...mergeProps(buttonProps, {
318
- // Hovering to preview a range's end date moves real DOM focus via `element.focus()`
319
- // (`useCalendarCell`'s `onPointerEnter` -> `state.highlightDate`), which browsers can
320
- // paint as a visible focus ring even though the input modality is a pointer, not a
321
- // keyboard — suppress it the same way a mouse press does elsewhere in the library.
322
- onPointerEnter: () => {
323
- if (state.anchorDate && ref.current) suppressFocusRing(ref.current)
324
- }
325
- })}
326
- type="button"
327
- className={classNames('datepicker-date-btn', {
328
- 'datepicker-date-range-start': isRangeStart,
329
- 'datepicker-date-range-end': isRangeEnd
330
- })}
331
- ref={ref}
332
- >
333
- {formattedDate}
334
- </button>
335
- </div>
336
- )
337
- }
338
-
339
- interface DateRangePresetsProps {
340
- onSelect: (range: RangeValue<DateValue>) => void
341
- presets: DateRangePreset[]
342
- value: RangeValue<DateValue> | null
343
- }
344
-
345
- // A preset "matches" the current selection when both endpoints land on the same day — the same
346
- // granularity `CalendarCell` already uses to compare dates, so a preset stays marked selected
347
- // regardless of whether `value` is a `CalendarDate`, `CalendarDateTime`, or `ZonedDateTime`.
348
- const isSameRange = (a: RangeValue<DateValue>, b: RangeValue<DateValue>) =>
349
- isSameDay(a.start, b.start) && isSameDay(a.end, b.end)
350
-
351
- // Plain buttons in a list, not a listbox — a group of independent actions (each one commits
352
- // immediately) rather than a single-selection widget, so native Tab/Enter/Space is the right
353
- // interaction model without extra roving-tabindex/arrow-key wiring.
354
- const DateRangePresets = ({ onSelect, presets, value }: DateRangePresetsProps) => (
355
- <ul className="datepicker-presets">
356
- {presets.map((preset) => {
357
- const isSelected = Boolean(value && isSameRange(value, preset.range))
358
-
359
- return (
360
- <li key={preset.label}>
361
- <button
362
- aria-current={isSelected ? 'true' : undefined}
363
- className={classNames('datepicker-preset', { selected: isSelected })}
364
- onClick={() => onSelect(preset.range)}
365
- type="button"
366
- >
367
- {preset.label}
368
- </button>
369
- </li>
370
- )
371
- })}
372
- </ul>
373
- )
@@ -1,6 +0,0 @@
1
- export { Calendar } from './Calendar'
2
- export type { CalendarProps, CalendarSingleProps, CalendarMultipleProps } from './Calendar'
3
- export { RangeCalendar } from './RangeCalendar'
4
- export type { RangeCalendarProps } from './RangeCalendar'
5
- export type { CalendarLabels } from './labels'
6
- export type { DateRangePreset } from '../../utils/dateRangePresets'