@chassis-ui/react 0.2.0 → 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 (759) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +56 -23
  3. package/dist/accordion.js +1 -1
  4. package/dist/alert.d.ts +2 -0
  5. package/dist/alert.js +1 -0
  6. package/dist/autocomplete.d.ts +1 -1
  7. package/dist/autocomplete.js +1 -1
  8. package/dist/avatar.js +1 -1
  9. package/dist/badge.js +1 -1
  10. package/dist/breadcrumb.js +1 -1
  11. package/dist/button-group.d.ts +1 -1
  12. package/dist/button-group.js +1 -1
  13. package/dist/button.js +1 -1
  14. package/dist/calendar.d.ts +1 -1
  15. package/dist/calendar.js +1 -1
  16. package/dist/card.d.ts +1 -1
  17. package/dist/card.js +1 -1
  18. package/dist/carousel.d.ts +1 -1
  19. package/dist/carousel.js +1 -1
  20. package/dist/checkbox.d.ts +2 -2
  21. package/dist/checkbox.js +1 -1
  22. package/dist/chip-input.js +1 -1
  23. package/dist/chip.js +1 -1
  24. package/dist/chunks/Button-BoymWE-L.js +2 -0
  25. package/dist/chunks/Button-BoymWE-L.js.map +1 -0
  26. package/dist/chunks/Button-Cptd4Yk7.d.ts +2 -1
  27. package/dist/chunks/Chip-DCaWaBqo.js +2 -0
  28. package/dist/chunks/Chip-DCaWaBqo.js.map +1 -0
  29. package/dist/chunks/CloseButton-DPgQztE0.js +2 -0
  30. package/dist/chunks/CloseButton-DPgQztE0.js.map +1 -0
  31. package/dist/chunks/ComboboxItem-C9TpoJOI.d.ts +2 -1
  32. package/dist/chunks/ComboboxListBox-Cm3L1ULl.js +2 -0
  33. package/dist/chunks/ComboboxListBox-Cm3L1ULl.js.map +1 -0
  34. package/dist/chunks/DateSegment-2agXAd0f.js +2 -0
  35. package/dist/chunks/DateSegment-2agXAd0f.js.map +1 -0
  36. package/dist/chunks/{FormHelp-Be2PQL0y.js → FormHelp-AE6_iSLJ.js} +2 -1
  37. package/dist/chunks/FormHelp-AE6_iSLJ.js.map +1 -0
  38. package/dist/chunks/FormLabel-CYcQiFUI.js +2 -1
  39. package/dist/chunks/FormLabel-CYcQiFUI.js.map +1 -0
  40. package/dist/chunks/Icon-CioraWLF.d.ts +2 -1
  41. package/dist/chunks/Icon-DLB1f88W.js +2 -0
  42. package/dist/chunks/Icon-DLB1f88W.js.map +1 -0
  43. package/dist/chunks/Link-CZsWCnQb.js +2 -0
  44. package/dist/chunks/Link-CZsWCnQb.js.map +1 -0
  45. package/dist/chunks/{Link-B0Y1xgYi.d.ts → Link-nrd0JWlO.d.ts} +7 -5
  46. package/dist/chunks/Menu-CSBg2Zmc.js +2 -0
  47. package/dist/chunks/Menu-CSBg2Zmc.js.map +1 -0
  48. package/dist/chunks/Menu-QeYOzrUL.d.ts +95 -0
  49. package/dist/chunks/MenuItemDef-D0VDtYIQ.d.ts +2 -1
  50. package/dist/chunks/MenuToggle-BdQtF7FV.js +2 -0
  51. package/dist/chunks/MenuToggle-BdQtF7FV.js.map +1 -0
  52. package/dist/chunks/Portal-CgeR1WXV.js +2 -0
  53. package/dist/chunks/Portal-CgeR1WXV.js.map +1 -0
  54. package/dist/chunks/RangeCalendar-BJl-j4W2.js +2 -0
  55. package/dist/chunks/RangeCalendar-BJl-j4W2.js.map +1 -0
  56. package/dist/chunks/VisuallyHidden-C2dM7HhC.js +2 -0
  57. package/dist/chunks/VisuallyHidden-C2dM7HhC.js.map +1 -0
  58. package/dist/chunks/accordion-B8UWyvQB.js +2 -0
  59. package/dist/chunks/accordion-B8UWyvQB.js.map +1 -0
  60. package/dist/chunks/alert-BXI-_qlt.js +2 -0
  61. package/dist/chunks/alert-BXI-_qlt.js.map +1 -0
  62. package/dist/chunks/autocomplete-Baf9VSHN.js +2 -0
  63. package/dist/chunks/autocomplete-Baf9VSHN.js.map +1 -0
  64. package/dist/chunks/avatar-S3dGy6Qc.js +2 -0
  65. package/dist/chunks/avatar-S3dGy6Qc.js.map +1 -0
  66. package/dist/chunks/{badge-Bj8mf8lu.js → badge-D2oztCvs.js} +2 -1
  67. package/dist/chunks/badge-D2oztCvs.js.map +1 -0
  68. package/dist/chunks/{breadcrumb-DDxnx_iS.js → breadcrumb-s6J9itez.js} +2 -1
  69. package/dist/chunks/breadcrumb-s6J9itez.js.map +1 -0
  70. package/dist/chunks/breakpoints-CJ-498B7.d.ts +7 -0
  71. package/dist/chunks/breakpoints-o_2Ev7ir.js +2 -1
  72. package/dist/chunks/breakpoints-o_2Ev7ir.js.map +1 -0
  73. package/dist/chunks/button-group-BGppPrIv.js +2 -0
  74. package/dist/chunks/button-group-BGppPrIv.js.map +1 -0
  75. package/dist/chunks/{card-DfF2K_5p.js → card-YXn3bj_d.js} +2 -1
  76. package/dist/chunks/card-YXn3bj_d.js.map +1 -0
  77. package/dist/chunks/carousel-fTVPqnSV.js +2 -0
  78. package/dist/chunks/carousel-fTVPqnSV.js.map +1 -0
  79. package/dist/chunks/checkbox-ChACalAw.js +2 -0
  80. package/dist/chunks/checkbox-ChACalAw.js.map +1 -0
  81. package/dist/chunks/chip-input-BpVDRERg.js +2 -0
  82. package/dist/chunks/chip-input-BpVDRERg.js.map +1 -0
  83. package/dist/chunks/collapse--Go2Y73B.js +2 -0
  84. package/dist/chunks/collapse--Go2Y73B.js.map +1 -0
  85. package/dist/chunks/{color-input-CyRaLR_G.js → color-input-Bwl5ef5B.js} +2 -1
  86. package/dist/chunks/color-input-Bwl5ef5B.js.map +1 -0
  87. package/dist/chunks/combobox-Bp1tIaiW.js +2 -0
  88. package/dist/chunks/combobox-Bp1tIaiW.js.map +1 -0
  89. package/dist/chunks/context-menu-B4a0tS-h.js +2 -0
  90. package/dist/chunks/context-menu-B4a0tS-h.js.map +1 -0
  91. package/dist/chunks/datagrid-CH3Cy-q7.js +3 -0
  92. package/dist/chunks/datagrid-CH3Cy-q7.js.map +1 -0
  93. package/dist/chunks/dateRangePresets-R1FtA1zp.d.ts +2 -1
  94. package/dist/chunks/datepicker-bOiM_zhJ.js +2 -0
  95. package/dist/chunks/datepicker-bOiM_zhJ.js.map +1 -0
  96. package/dist/chunks/dialogTransition-i9vw0i2Z.js +2 -1
  97. package/dist/chunks/dialogTransition-i9vw0i2Z.js.map +1 -0
  98. package/dist/chunks/direction-LN6uwsK5.js +2 -0
  99. package/dist/chunks/direction-LN6uwsK5.js.map +1 -0
  100. package/dist/chunks/divider-CjbF4OfA.js +2 -0
  101. package/dist/chunks/divider-CjbF4OfA.js.map +1 -0
  102. package/dist/chunks/drawer-C7Tz4XU_.js +2 -0
  103. package/dist/chunks/drawer-C7Tz4XU_.js.map +1 -0
  104. package/dist/chunks/{file-input-RRqZSzjH.js → file-input-CDM6qrmV.js} +2 -1
  105. package/dist/chunks/file-input-CDM6qrmV.js.map +1 -0
  106. package/dist/chunks/{flex-BTvpgaRv.js → flex-CmlJbKVj.js} +2 -1
  107. package/dist/chunks/flex-CmlJbKVj.js.map +1 -0
  108. package/dist/chunks/floating-input-DmSZZc27.js +2 -0
  109. package/dist/chunks/floating-input-DmSZZc27.js.map +1 -0
  110. package/dist/chunks/focus-ring-SR_LwaN7.js +2 -1
  111. package/dist/chunks/focus-ring-SR_LwaN7.js.map +1 -0
  112. package/dist/chunks/focusRedirect-BrvK3U_o.js +2 -1
  113. package/dist/chunks/focusRedirect-BrvK3U_o.js.map +1 -0
  114. package/dist/chunks/form-GpdAyWWi.js +2 -1
  115. package/dist/chunks/form-GpdAyWWi.js.map +1 -0
  116. package/dist/chunks/form-field-CNPGTMiW.js +2 -0
  117. package/dist/chunks/form-field-CNPGTMiW.js.map +1 -0
  118. package/dist/chunks/grid-DK_vxz-4.js +2 -0
  119. package/dist/chunks/grid-DK_vxz-4.js.map +1 -0
  120. package/dist/chunks/{icon-mxYpL5nL.js → icon-BQsT6YtE.js} +2 -1
  121. package/dist/chunks/icon-BQsT6YtE.js.map +1 -0
  122. package/dist/chunks/{iconConfig-Bu6Pt9o3.d.ts → iconConfig-C6gbYhsD.d.ts} +5 -3
  123. package/dist/chunks/iconSlot-BNu2MrFI.js +2 -0
  124. package/dist/chunks/iconSlot-BNu2MrFI.js.map +1 -0
  125. package/dist/chunks/{index-BO_1MN66.d.ts → index-4cKG9KWB.d.ts} +3 -5
  126. package/dist/chunks/index-6uob77s9.d.ts +2 -1
  127. package/dist/chunks/{index-tOodmT36.d.ts → index-91YA-jkp.d.ts} +4 -6
  128. package/dist/chunks/index-9rQeMqVI.d.ts +42 -0
  129. package/dist/chunks/index-B0-8n-Gs.d.ts +2 -1
  130. package/dist/chunks/index-B2K-O9kl.d.ts +59 -0
  131. package/dist/chunks/index-B8uaSJA9.d.ts +2 -1
  132. package/dist/chunks/index-BA-raEMm.d.ts +2 -1
  133. package/dist/chunks/{index-C61tPIJ-.d.ts → index-BAsbRx5n.d.ts} +6 -2
  134. package/dist/chunks/index-BF3OWUVc.d.ts +66 -0
  135. package/dist/chunks/{index-DB_ToPdz.d.ts → index-BNf0jIIL.d.ts} +12 -1
  136. package/dist/chunks/index-BO9jLOIb.d.ts +2 -1
  137. package/dist/chunks/index-BTTeKpiE.d.ts +2 -1
  138. package/dist/chunks/index-BVGGIaPX.d.ts +2 -1
  139. package/dist/chunks/{index-qgZ5VGmc.d.ts → index-B_UzbGOa.d.ts} +20 -2
  140. package/dist/chunks/index-Bi8FFadV.d.ts +2 -1
  141. package/dist/chunks/index-Bkj17NEQ.d.ts +2 -1
  142. package/dist/chunks/{index-BKMW0rkw.d.ts → index-Bm2NpgND.d.ts} +4 -2
  143. package/dist/chunks/{index-XjLvaH4G.d.ts → index-BnR7wjax.d.ts} +6 -5
  144. package/dist/chunks/{index--0_IpTDT.d.ts → index-BxROljJI.d.ts} +3 -2
  145. package/dist/chunks/index-Bz8MDq0H.d.ts +85 -0
  146. package/dist/chunks/{index-Cf2n0l0U.d.ts → index-C4Dks__B.d.ts} +3 -2
  147. package/dist/chunks/index-CCXJXToc.d.ts +2 -1
  148. package/dist/chunks/{index-COsYSDrz.d.ts → index-CFnQubsV.d.ts} +17 -3
  149. package/dist/chunks/{index-DPV62IdF.d.ts → index-CJXKl97l.d.ts} +11 -9
  150. package/dist/chunks/index-CJzKu7QI.d.ts +2 -1
  151. package/dist/chunks/{index-ClT3E_hv.d.ts → index-CKx1KHED.d.ts} +4 -3
  152. package/dist/chunks/index-COsIPd8L.d.ts +2 -1
  153. package/dist/chunks/index-CRfm7W6C.d.ts +2 -1
  154. package/dist/chunks/{index-dh3TKanY.d.ts → index-CTpwB1yR.d.ts} +3 -2
  155. package/dist/chunks/index-CVUMS0x7.d.ts +2 -1
  156. package/dist/chunks/{index-BlgkO3dn.d.ts → index-CYgBmZ8w.d.ts} +24 -33
  157. package/dist/chunks/{index-Dum6Y9XR.d.ts → index-Cc4SSslb.d.ts} +20 -2
  158. package/dist/chunks/index-CftERHnE.d.ts +2 -1
  159. package/dist/chunks/{index-CaQ1JY5D.d.ts → index-Ci7AEgEc.d.ts} +4 -6
  160. package/dist/chunks/{index-BxTlIaZu.d.ts → index-CqZ68Z8R.d.ts} +125 -11
  161. package/dist/chunks/{index-D2VVO8rx.d.ts → index-CsARGAzD.d.ts} +3 -2
  162. package/dist/chunks/index-CsMIgBsd.d.ts +2 -1
  163. package/dist/chunks/index-D9PZHY_I.d.ts +2 -1
  164. package/dist/chunks/index-DAoPg59I.d.ts +2 -1
  165. package/dist/chunks/index-DHGgezXU.d.ts +2 -1
  166. package/dist/chunks/index-DHOG_rjE.d.ts +121 -0
  167. package/dist/chunks/index-DJfga0Ce.d.ts +57 -0
  168. package/dist/chunks/{index-BTDgfLxK.d.ts → index-DJr_ZK4b.d.ts} +21 -5
  169. package/dist/chunks/index-DMbdEm__.d.ts +119 -0
  170. package/dist/chunks/{index-DJJocp_q.d.ts → index-DXjbI7Yv.d.ts} +3 -2
  171. package/dist/chunks/index-DaHQdNul.d.ts +182 -0
  172. package/dist/chunks/index-Dcc_W6Kv.d.ts +2 -1
  173. package/dist/chunks/{index-nklPDKlC.d.ts → index-DceCODH9.d.ts} +3 -2
  174. package/dist/chunks/index-Ddd7iWfm.d.ts +32 -0
  175. package/dist/chunks/index-Dfg4Ftb8.d.ts +2 -1
  176. package/dist/chunks/index-Dfy1YW5j.d.ts +2 -1
  177. package/dist/chunks/index-DgHvXzVh.d.ts +208 -0
  178. package/dist/chunks/index-Dh5CaHTP.d.ts +2 -1
  179. package/dist/chunks/{index-8PhBSbNQ.d.ts → index-DjXRq-n3.d.ts} +15 -10
  180. package/dist/chunks/{index-JllMXhVx.d.ts → index-DjrEvKd-.d.ts} +21 -4
  181. package/dist/chunks/index-DtbUXxjz.d.ts +2 -1
  182. package/dist/chunks/index-Du9fBqkT.d.ts +56 -0
  183. package/dist/chunks/index-FKh7iFQE.d.ts +95 -0
  184. package/dist/chunks/index-HrKN6s8z.d.ts +2 -1
  185. package/dist/chunks/{index-DR8sYtvd.d.ts → index-I-H3VJ-L.d.ts} +20 -87
  186. package/dist/chunks/{index-DEb9zXlC.d.ts → index-RHJhkSY-.d.ts} +79 -16
  187. package/dist/chunks/{index-Ctuk1xBU.d.ts → index-e7SJkI_m.d.ts} +9 -6
  188. package/dist/chunks/index-g74gO0pc.d.ts +36 -0
  189. package/dist/chunks/{index-DKma0jQw.d.ts → index-qMq_-GY2.d.ts} +3 -2
  190. package/dist/chunks/index-t_x6jj7l.d.ts +2 -1
  191. package/dist/chunks/{input-adorn-C_EHML68.js → input-adorn-DwdX-jxA.js} +2 -1
  192. package/dist/chunks/input-adorn-DwdX-jxA.js.map +1 -0
  193. package/dist/chunks/{input-group-iI7azfvE.js → input-group-Cuiuf4Dl.js} +2 -1
  194. package/dist/chunks/input-group-Cuiuf4Dl.js.map +1 -0
  195. package/dist/chunks/lazyElement-tfMG21pZ.js +2 -0
  196. package/dist/chunks/lazyElement-tfMG21pZ.js.map +1 -0
  197. package/dist/chunks/list-BQCkwWjF.js +2 -0
  198. package/dist/chunks/list-BQCkwWjF.js.map +1 -0
  199. package/dist/chunks/menu-98EAD9nj.js +2 -0
  200. package/dist/chunks/menu-98EAD9nj.js.map +1 -0
  201. package/dist/chunks/modal-bgDR29Jh.js +2 -0
  202. package/dist/chunks/modal-bgDR29Jh.js.map +1 -0
  203. package/dist/chunks/nav-TiZuTHC6.js +2 -0
  204. package/dist/chunks/nav-TiZuTHC6.js.map +1 -0
  205. package/dist/chunks/nav-overflow-Ay5mM5Gc.js +2 -0
  206. package/dist/chunks/nav-overflow-Ay5mM5Gc.js.map +1 -0
  207. package/dist/chunks/navOverflow-B5krZe6D.js +2 -0
  208. package/dist/chunks/navOverflow-B5krZe6D.js.map +1 -0
  209. package/dist/chunks/navVariant-CnD21GBS.d.ts +5 -0
  210. package/dist/chunks/navVariant-DeGTk9B7.js +2 -0
  211. package/dist/chunks/navVariant-DeGTk9B7.js.map +1 -0
  212. package/dist/chunks/navbar-DxIwt0sc.js +2 -0
  213. package/dist/chunks/navbar-DxIwt0sc.js.map +1 -0
  214. package/dist/chunks/notification-Ds24wnPq.js +2 -0
  215. package/dist/chunks/notification-Ds24wnPq.js.map +1 -0
  216. package/dist/chunks/number-field-IBIX2IWH.js +2 -0
  217. package/dist/chunks/number-field-IBIX2IWH.js.map +1 -0
  218. package/dist/chunks/otp-input-ws393uPB.js +2 -0
  219. package/dist/chunks/otp-input-ws393uPB.js.map +1 -0
  220. package/dist/chunks/overlayPlacement-BtS90IVf.js +2 -1
  221. package/dist/chunks/overlayPlacement-BtS90IVf.js.map +1 -0
  222. package/dist/chunks/{overlayPlacement-B7843a-Q.d.ts → overlayPlacement-CIsLpycT.d.ts} +3 -2
  223. package/dist/chunks/pagination-BkOquk-x.js +2 -0
  224. package/dist/chunks/pagination-BkOquk-x.js.map +1 -0
  225. package/dist/chunks/password-strength-DDK8pHRq.js +2 -0
  226. package/dist/chunks/password-strength-DDK8pHRq.js.map +1 -0
  227. package/dist/chunks/placeholder-BCr83sUn.js +2 -0
  228. package/dist/chunks/placeholder-BCr83sUn.js.map +1 -0
  229. package/dist/chunks/polymorphic-BhGNZQja.js +2 -0
  230. package/dist/chunks/polymorphic-BhGNZQja.js.map +1 -0
  231. package/dist/chunks/polymorphic-CVHbTHSN.d.ts +2 -1
  232. package/dist/chunks/popover-Bdg8D4sm.js +2 -0
  233. package/dist/chunks/popover-Bdg8D4sm.js.map +1 -0
  234. package/dist/chunks/{progress-DlrZ71aV.js → progress-zWkTltor.js} +2 -1
  235. package/dist/chunks/progress-zWkTltor.js.map +1 -0
  236. package/dist/chunks/radio-DOFYCfJi.js +2 -0
  237. package/dist/chunks/radio-DOFYCfJi.js.map +1 -0
  238. package/dist/chunks/{range-input-BN3430j-.js → range-input-CT_8TKL7.js} +2 -1
  239. package/dist/chunks/range-input-CT_8TKL7.js.map +1 -0
  240. package/dist/chunks/renderFormCheck-DN_-V62U.js +2 -0
  241. package/dist/chunks/renderFormCheck-DN_-V62U.js.map +1 -0
  242. package/dist/chunks/{renderFormCheck-CYWG-Rbt.d.ts → renderFormCheck-DZh_5Df8.d.ts} +3 -2
  243. package/dist/chunks/renderFormField-Brkw1yA6.js +2 -0
  244. package/dist/chunks/renderFormField-Brkw1yA6.js.map +1 -0
  245. package/dist/chunks/{renderFormField-fBEny6JV.d.ts → renderFormField-ChNagAFN.d.ts} +3 -2
  246. package/dist/chunks/{renderMenuItemContent-CmqT3YUQ.js → renderMenuItemContent-DUezZrpj.js} +2 -1
  247. package/dist/chunks/renderMenuItemContent-DUezZrpj.js.map +1 -0
  248. package/dist/chunks/scrollspy-C2HmrnZ4.js +2 -0
  249. package/dist/chunks/scrollspy-C2HmrnZ4.js.map +1 -0
  250. package/dist/chunks/scrollspy-D_lPjb92.js +2 -0
  251. package/dist/chunks/scrollspy-D_lPjb92.js.map +1 -0
  252. package/dist/chunks/search-field--nDoCI_E.js +2 -0
  253. package/dist/chunks/search-field--nDoCI_E.js.map +1 -0
  254. package/dist/chunks/select-BwJIfv9f.js +2 -0
  255. package/dist/chunks/select-BwJIfv9f.js.map +1 -0
  256. package/dist/chunks/skeleton-BrD2JwNx.js +2 -0
  257. package/dist/chunks/skeleton-BrD2JwNx.js.map +1 -0
  258. package/dist/chunks/slot-CNhFZdHF.js +2 -0
  259. package/dist/chunks/slot-CNhFZdHF.js.map +1 -0
  260. package/dist/chunks/spacingClassName-DVhk8m3P.js +2 -1
  261. package/dist/chunks/spacingClassName-DVhk8m3P.js.map +1 -0
  262. package/dist/chunks/spinner-DblhvrHL.js +2 -0
  263. package/dist/chunks/spinner-DblhvrHL.js.map +1 -0
  264. package/dist/chunks/{stack-D3retZ-W.js → stack-CsMiQbpq.js} +2 -1
  265. package/dist/chunks/stack-CsMiQbpq.js.map +1 -0
  266. package/dist/chunks/static-table-D0M4oc_t.js +2 -1
  267. package/dist/chunks/static-table-D0M4oc_t.js.map +1 -0
  268. package/dist/chunks/stepper-CVXMJ2yg.js +2 -0
  269. package/dist/chunks/stepper-CVXMJ2yg.js.map +1 -0
  270. package/dist/chunks/switch-C6s3LxEv.js +2 -0
  271. package/dist/chunks/switch-C6s3LxEv.js.map +1 -0
  272. package/dist/chunks/table-Cy6uEuEP.js +2 -0
  273. package/dist/chunks/table-Cy6uEuEP.js.map +1 -0
  274. package/dist/chunks/tableClassName-CZA2Bse8.js +2 -1
  275. package/dist/chunks/tableClassName-CZA2Bse8.js.map +1 -0
  276. package/dist/chunks/tabs-91T7-8qq.js +2 -0
  277. package/dist/chunks/tabs-91T7-8qq.js.map +1 -0
  278. package/dist/chunks/text-input-B4pTv6SU.js +2 -0
  279. package/dist/chunks/text-input-B4pTv6SU.js.map +1 -0
  280. package/dist/chunks/textarea-1A1nABQE.js +2 -0
  281. package/dist/chunks/textarea-1A1nABQE.js.map +1 -0
  282. package/dist/chunks/time-field-B3MA7ED_.js +2 -0
  283. package/dist/chunks/time-field-B3MA7ED_.js.map +1 -0
  284. package/dist/chunks/toast-CGHl3-oU.js +2 -0
  285. package/dist/chunks/toast-CGHl3-oU.js.map +1 -0
  286. package/dist/chunks/tooltip-Bc-u6nIW.js +2 -0
  287. package/dist/chunks/tooltip-Bc-u6nIW.js.map +1 -0
  288. package/dist/chunks/tree-Cql1veeZ.js +2 -0
  289. package/dist/chunks/tree-Cql1veeZ.js.map +1 -0
  290. package/dist/chunks/types-CS_40Txv.d.ts +2 -1
  291. package/dist/chunks/unhandledProps-9Kdj7WVf.js +2 -0
  292. package/dist/chunks/unhandledProps-9Kdj7WVf.js.map +1 -0
  293. package/dist/chunks/useButtonSemantics-CILM_lhi.js +2 -1
  294. package/dist/chunks/useButtonSemantics-CILM_lhi.js.map +1 -0
  295. package/dist/chunks/useControllableState-CPUJxfKW.js +2 -0
  296. package/dist/chunks/useControllableState-CPUJxfKW.js.map +1 -0
  297. package/dist/chunks/useDialogElement-CgOnJAzu.js +2 -0
  298. package/dist/chunks/useDialogElement-CgOnJAzu.js.map +1 -0
  299. package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js +2 -1
  300. package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js.map +1 -0
  301. package/dist/chunks/useFloatingOverlay-DLIvwx-8.js +2 -0
  302. package/dist/chunks/useFloatingOverlay-DLIvwx-8.js.map +1 -0
  303. package/dist/chunks/useForkedRef-DVEfT-KI.js +2 -1
  304. package/dist/chunks/useForkedRef-DVEfT-KI.js.map +1 -0
  305. package/dist/chunks/useFormField-BOqmBTC4.js +2 -1
  306. package/dist/chunks/useFormField-BOqmBTC4.js.map +1 -0
  307. package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js +2 -1
  308. package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js.map +1 -0
  309. package/dist/chunks/useOpenStateProps-DykUbnPJ.js +2 -0
  310. package/dist/chunks/useOpenStateProps-DykUbnPJ.js.map +1 -0
  311. package/dist/chunks/useToastRegionQueue-CIV5SdiE.js +2 -0
  312. package/dist/chunks/useToastRegionQueue-CIV5SdiE.js.map +1 -0
  313. package/dist/chunks/useTransitionState-e5ToY7eX.js +2 -0
  314. package/dist/chunks/useTransitionState-e5ToY7eX.js.map +1 -0
  315. package/dist/chunks/validationClassName-gRGs4KBm.js +2 -1
  316. package/dist/chunks/validationClassName-gRGs4KBm.js.map +1 -0
  317. package/dist/chunks/visibleState-B_i1zHu2.js +2 -0
  318. package/dist/chunks/visibleState-B_i1zHu2.js.map +1 -0
  319. package/dist/close-button.d.ts +1 -1
  320. package/dist/close-button.js +1 -1
  321. package/dist/collapse.js +1 -1
  322. package/dist/color-input.js +1 -1
  323. package/dist/combobox.js +1 -1
  324. package/dist/context-menu.d.ts +2 -0
  325. package/dist/context-menu.js +1 -0
  326. package/dist/datagrid.js +1 -1
  327. package/dist/datepicker.d.ts +1 -1
  328. package/dist/datepicker.js +1 -1
  329. package/dist/divider.d.ts +2 -0
  330. package/dist/divider.js +1 -0
  331. package/dist/drawer.d.ts +1 -1
  332. package/dist/drawer.js +1 -1
  333. package/dist/file-input.js +1 -1
  334. package/dist/flex.js +1 -1
  335. package/dist/floating-input.d.ts +1 -1
  336. package/dist/floating-input.js +1 -1
  337. package/dist/form-field.d.ts +1 -1
  338. package/dist/form-field.js +1 -1
  339. package/dist/form.js +1 -1
  340. package/dist/grid.d.ts +2 -2
  341. package/dist/grid.js +1 -1
  342. package/dist/icon.d.ts +2 -2
  343. package/dist/icon.js +1 -1
  344. package/dist/index.d.ts +50 -38
  345. package/dist/index.js +1 -1
  346. package/dist/input-adorn.js +1 -1
  347. package/dist/input-group.js +1 -1
  348. package/dist/link.d.ts +1 -1
  349. package/dist/link.js +1 -1
  350. package/dist/list.d.ts +1 -1
  351. package/dist/list.js +1 -1
  352. package/dist/menu.d.ts +2 -1
  353. package/dist/menu.js +1 -1
  354. package/dist/modal.d.ts +1 -1
  355. package/dist/modal.js +1 -1
  356. package/dist/nav-overflow.d.ts +2 -0
  357. package/dist/nav-overflow.js +1 -0
  358. package/dist/nav.d.ts +2 -2
  359. package/dist/nav.js +1 -1
  360. package/dist/navbar.d.ts +1 -1
  361. package/dist/navbar.js +1 -1
  362. package/dist/notification.d.ts +1 -1
  363. package/dist/notification.js +1 -1
  364. package/dist/number-field.d.ts +2 -0
  365. package/dist/number-field.js +1 -0
  366. package/dist/otp-input.js +1 -1
  367. package/dist/pagination.d.ts +1 -1
  368. package/dist/pagination.js +1 -1
  369. package/dist/password-strength.d.ts +1 -1
  370. package/dist/password-strength.js +1 -1
  371. package/dist/placeholder.d.ts +1 -1
  372. package/dist/placeholder.js +1 -1
  373. package/dist/popover.d.ts +1 -1
  374. package/dist/popover.js +1 -1
  375. package/dist/portal.d.ts +2 -0
  376. package/dist/portal.js +1 -0
  377. package/dist/progress.js +1 -1
  378. package/dist/radio.d.ts +1 -1
  379. package/dist/radio.js +1 -1
  380. package/dist/range-input.js +1 -1
  381. package/dist/scrollspy.d.ts +2 -0
  382. package/dist/scrollspy.js +1 -0
  383. package/dist/search-field.d.ts +2 -0
  384. package/dist/search-field.js +1 -0
  385. package/dist/select.js +1 -1
  386. package/dist/skeleton.d.ts +1 -1
  387. package/dist/skeleton.js +1 -1
  388. package/dist/spinner.js +1 -1
  389. package/dist/stack.js +1 -1
  390. package/dist/stepper.d.ts +1 -1
  391. package/dist/stepper.js +1 -1
  392. package/dist/style.css +1 -1
  393. package/dist/switch.js +1 -1
  394. package/dist/table.js +1 -1
  395. package/dist/tabs.d.ts +1 -1
  396. package/dist/tabs.js +1 -1
  397. package/dist/text-input.js +1 -1
  398. package/dist/textarea.js +1 -1
  399. package/dist/time-field.d.ts +2 -0
  400. package/dist/time-field.js +1 -0
  401. package/dist/toast.d.ts +1 -1
  402. package/dist/toast.js +1 -1
  403. package/dist/tooltip.d.ts +1 -1
  404. package/dist/tooltip.js +1 -1
  405. package/dist/tree.d.ts +2 -0
  406. package/dist/tree.js +1 -0
  407. package/dist/visually-hidden.d.ts +2 -0
  408. package/dist/visually-hidden.js +1 -0
  409. package/package.json +61 -52
  410. package/dist/chunks/Button-I0aUy5h-.js +0 -1
  411. package/dist/chunks/Chip-D0Cw0mAr.js +0 -1
  412. package/dist/chunks/CloseButton-DJM7FRKh.js +0 -1
  413. package/dist/chunks/ComboboxListBox-BhO8uRNg.js +0 -1
  414. package/dist/chunks/Icon-BIwkD-kx.js +0 -1
  415. package/dist/chunks/Link-Cq7FNWpm.js +0 -1
  416. package/dist/chunks/RangeCalendar-COnSfurr.js +0 -1
  417. package/dist/chunks/accordion-okRicuG5.js +0 -1
  418. package/dist/chunks/autocomplete-B0xTc6kg.js +0 -1
  419. package/dist/chunks/avatar-Bjm0DlPO.js +0 -1
  420. package/dist/chunks/breakpoints-SLMTNHF9.d.ts +0 -5
  421. package/dist/chunks/button-group-CPZYA6aZ.js +0 -1
  422. package/dist/chunks/carousel-DEvwcA7H.js +0 -1
  423. package/dist/chunks/checkbox-BFPS0pD6.js +0 -1
  424. package/dist/chunks/chip-input-CB1lE6vP.js +0 -1
  425. package/dist/chunks/collapse-WifcChO8.js +0 -1
  426. package/dist/chunks/combobox-DWEj-Sv7.js +0 -1
  427. package/dist/chunks/datagrid-nbnNThsT.js +0 -2
  428. package/dist/chunks/datepicker-CslLKMm1.js +0 -1
  429. package/dist/chunks/direction-CPhdeL3A.js +0 -1
  430. package/dist/chunks/drawer-zReFjoJG.js +0 -1
  431. package/dist/chunks/floating-input-CIC9Lm2a.js +0 -1
  432. package/dist/chunks/form-field-BjQ9SIjx.js +0 -1
  433. package/dist/chunks/grid-CuFw89yV.js +0 -1
  434. package/dist/chunks/iconSlot-BmWxJh27.js +0 -1
  435. package/dist/chunks/index-BDfh8YBc.d.ts +0 -39
  436. package/dist/chunks/index-D949AidR.d.ts +0 -40
  437. package/dist/chunks/list-CMr-wB9d.js +0 -1
  438. package/dist/chunks/menu-CXUc-Gva.js +0 -1
  439. package/dist/chunks/modal-ByIj71Mq.js +0 -1
  440. package/dist/chunks/nav-BldxFo_B.js +0 -1
  441. package/dist/chunks/navbar-BwcsQuBk.js +0 -1
  442. package/dist/chunks/notification-DdqigVB1.js +0 -1
  443. package/dist/chunks/otp-input-CXe_wkII.js +0 -1
  444. package/dist/chunks/pagination-BOpEAYW2.js +0 -1
  445. package/dist/chunks/password-strength-BfLiYiGj.js +0 -1
  446. package/dist/chunks/placeholder-pg95KELl.js +0 -1
  447. package/dist/chunks/polymorphic-CACPOv1_.js +0 -1
  448. package/dist/chunks/popover-BpSfnZzk.js +0 -1
  449. package/dist/chunks/radio-BV7Sq6D1.js +0 -1
  450. package/dist/chunks/renderFormCheck-BXBs6_ov.js +0 -1
  451. package/dist/chunks/renderFormField-wiaxvvLG.js +0 -1
  452. package/dist/chunks/select-CclIIux8.js +0 -1
  453. package/dist/chunks/skeleton-CKq76sE_.js +0 -1
  454. package/dist/chunks/spinner-BEq4PAlu.js +0 -1
  455. package/dist/chunks/stepper-CTa6e8uv.js +0 -1
  456. package/dist/chunks/switch-BmHpq4tL.js +0 -1
  457. package/dist/chunks/table-Fme9GbAR.js +0 -1
  458. package/dist/chunks/tabs-BnbMJM_b.js +0 -1
  459. package/dist/chunks/text-input-DD3d08Yf.js +0 -1
  460. package/dist/chunks/textarea-C0qQdCcu.js +0 -1
  461. package/dist/chunks/toast-BQhZ2pv5.js +0 -1
  462. package/dist/chunks/tooltip-DHtVAYUo.js +0 -1
  463. package/dist/chunks/triggerElement-BIqA4KqZ.js +0 -1
  464. package/dist/chunks/useDialogElement-BRIU60cT.js +0 -1
  465. package/dist/chunks/useFloatingOverlay-CcmDZKMK.js +0 -1
  466. package/dist/chunks/useToastRegionQueue-BH6bWZ73.js +0 -1
  467. package/src/components/accordion/Accordion.tsx +0 -190
  468. package/src/components/accordion/AccordionBody.tsx +0 -46
  469. package/src/components/accordion/AccordionHeader.tsx +0 -21
  470. package/src/components/accordion/AccordionItem.tsx +0 -59
  471. package/src/components/accordion/context.ts +0 -8
  472. package/src/components/accordion/index.ts +0 -12
  473. package/src/components/autocomplete/Autocomplete.tsx +0 -464
  474. package/src/components/autocomplete/AutocompleteGroup.tsx +0 -20
  475. package/src/components/autocomplete/AutocompleteItem.tsx +0 -18
  476. package/src/components/autocomplete/index.ts +0 -10
  477. package/src/components/avatar/Avatar.tsx +0 -137
  478. package/src/components/avatar/AvatarImage.tsx +0 -19
  479. package/src/components/avatar/AvatarStack.tsx +0 -98
  480. package/src/components/avatar/index.ts +0 -10
  481. package/src/components/badge/Badge.tsx +0 -94
  482. package/src/components/badge/index.ts +0 -6
  483. package/src/components/breadcrumb/Breadcrumb.tsx +0 -68
  484. package/src/components/breadcrumb/BreadcrumbItem.tsx +0 -38
  485. package/src/components/breadcrumb/index.ts +0 -8
  486. package/src/components/button/Button.tsx +0 -232
  487. package/src/components/button/index.ts +0 -6
  488. package/src/components/button-group/ButtonGroup.tsx +0 -55
  489. package/src/components/button-group/ButtonToolbar.tsx +0 -47
  490. package/src/components/button-group/index.ts +0 -8
  491. package/src/components/calendar/Calendar.scss +0 -57
  492. package/src/components/calendar/Calendar.tsx +0 -338
  493. package/src/components/calendar/CalendarMonthBlock.tsx +0 -57
  494. package/src/components/calendar/CalendarMonthGrid.tsx +0 -94
  495. package/src/components/calendar/CalendarMonthYearPicker.tsx +0 -164
  496. package/src/components/calendar/CalendarNavButton.tsx +0 -24
  497. package/src/components/calendar/CalendarWeekGrid.tsx +0 -58
  498. package/src/components/calendar/CalendarYearGrid.tsx +0 -128
  499. package/src/components/calendar/RangeCalendar.scss +0 -95
  500. package/src/components/calendar/RangeCalendar.tsx +0 -373
  501. package/src/components/calendar/index.ts +0 -10
  502. package/src/components/calendar/labels.tsx +0 -71
  503. package/src/components/card/Card.tsx +0 -173
  504. package/src/components/card/CardBody.tsx +0 -75
  505. package/src/components/card/CardFooter.tsx +0 -47
  506. package/src/components/card/CardGroup.tsx +0 -51
  507. package/src/components/card/CardHeader.tsx +0 -47
  508. package/src/components/card/CardImage.tsx +0 -70
  509. package/src/components/card/CardImageOverlay.tsx +0 -47
  510. package/src/components/card/CardLink.tsx +0 -40
  511. package/src/components/card/CardSubtitle.tsx +0 -47
  512. package/src/components/card/CardText.tsx +0 -47
  513. package/src/components/card/CardTitle.tsx +0 -47
  514. package/src/components/card/index.ts +0 -26
  515. package/src/components/carousel/Carousel.tsx +0 -753
  516. package/src/components/carousel/CarouselControlButton.tsx +0 -81
  517. package/src/components/carousel/CarouselControlNext.tsx +0 -28
  518. package/src/components/carousel/CarouselControlPrev.tsx +0 -28
  519. package/src/components/carousel/CarouselIndicators.tsx +0 -44
  520. package/src/components/carousel/CarouselInner.tsx +0 -56
  521. package/src/components/carousel/CarouselItem.tsx +0 -51
  522. package/src/components/carousel/CarouselOverlay.tsx +0 -51
  523. package/src/components/carousel/CarouselPlayPause.tsx +0 -84
  524. package/src/components/carousel/carouselEngine.ts +0 -170
  525. package/src/components/carousel/context.ts +0 -29
  526. package/src/components/carousel/index.ts +0 -25
  527. package/src/components/checkbox/Checkbox.tsx +0 -252
  528. package/src/components/checkbox/CheckboxGroup.tsx +0 -145
  529. package/src/components/checkbox/context.ts +0 -14
  530. package/src/components/checkbox/index.ts +0 -8
  531. package/src/components/chip/Chip.tsx +0 -184
  532. package/src/components/chip/index.ts +0 -6
  533. package/src/components/chip-input/ChipInput.tsx +0 -371
  534. package/src/components/chip-input/ChipList.tsx +0 -95
  535. package/src/components/chip-input/index.ts +0 -6
  536. package/src/components/close-button/CloseButton.tsx +0 -205
  537. package/src/components/close-button/index.ts +0 -6
  538. package/src/components/collapse/Collapse.tsx +0 -128
  539. package/src/components/collapse/index.ts +0 -6
  540. package/src/components/color-input/ColorInput.tsx +0 -106
  541. package/src/components/color-input/index.ts +0 -6
  542. package/src/components/combobox/Combobox.tsx +0 -320
  543. package/src/components/combobox/ComboboxGroup.tsx +0 -27
  544. package/src/components/combobox/ComboboxItem.tsx +0 -44
  545. package/src/components/combobox/ComboboxListBox.tsx +0 -98
  546. package/src/components/combobox/index.ts +0 -10
  547. package/src/components/datagrid/DataGrid.scss +0 -203
  548. package/src/components/datagrid/DataGrid.tsx +0 -259
  549. package/src/components/datagrid/DataGridBody.tsx +0 -162
  550. package/src/components/datagrid/DataGridCell.tsx +0 -47
  551. package/src/components/datagrid/DataGridColumn.tsx +0 -109
  552. package/src/components/datagrid/DataGridHeader.tsx +0 -47
  553. package/src/components/datagrid/DataGridPinBehavior.tsx +0 -225
  554. package/src/components/datagrid/DataGridRow.tsx +0 -48
  555. package/src/components/datagrid/DataGridSelectionCell.tsx +0 -74
  556. package/src/components/datagrid/DataGridTableLayout.ts +0 -30
  557. package/src/components/datagrid/index.ts +0 -18
  558. package/src/components/datagrid/useColumnGeometry.ts +0 -161
  559. package/src/components/datepicker/CalendarToggleButton.tsx +0 -58
  560. package/src/components/datepicker/ClearButton.tsx +0 -38
  561. package/src/components/datepicker/DateField.tsx +0 -54
  562. package/src/components/datepicker/DatePicker.scss +0 -51
  563. package/src/components/datepicker/DatePicker.tsx +0 -606
  564. package/src/components/datepicker/DateRangePicker.scss +0 -11
  565. package/src/components/datepicker/DateRangePicker.tsx +0 -361
  566. package/src/components/datepicker/index.ts +0 -8
  567. package/src/components/datepicker/renderDatePickerShell.tsx +0 -104
  568. package/src/components/drawer/Drawer.tsx +0 -213
  569. package/src/components/drawer/DrawerBody.tsx +0 -47
  570. package/src/components/drawer/DrawerFooter.tsx +0 -51
  571. package/src/components/drawer/DrawerHeader.tsx +0 -60
  572. package/src/components/drawer/DrawerTitle.tsx +0 -49
  573. package/src/components/drawer/index.ts +0 -18
  574. package/src/components/file-input/FileInput.tsx +0 -100
  575. package/src/components/file-input/index.ts +0 -6
  576. package/src/components/flex/Flex.tsx +0 -134
  577. package/src/components/flex/index.ts +0 -6
  578. package/src/components/floating-input/FloatingInput.tsx +0 -94
  579. package/src/components/floating-input/index.ts +0 -6
  580. package/src/components/form/Form.tsx +0 -26
  581. package/src/components/form/FormFeedback.tsx +0 -64
  582. package/src/components/form/FormHelp.tsx +0 -46
  583. package/src/components/form/FormLabel.tsx +0 -26
  584. package/src/components/form/index.ts +0 -12
  585. package/src/components/form/renderFormCheck.tsx +0 -86
  586. package/src/components/form-field/FormField.tsx +0 -84
  587. package/src/components/form-field/index.ts +0 -6
  588. package/src/components/form-field/renderFormField.tsx +0 -85
  589. package/src/components/grid/Col.tsx +0 -69
  590. package/src/components/grid/Container.tsx +0 -59
  591. package/src/components/grid/Grid.tsx +0 -86
  592. package/src/components/grid/GridItem.tsx +0 -123
  593. package/src/components/grid/Row.tsx +0 -71
  594. package/src/components/grid/gap.ts +0 -8
  595. package/src/components/grid/index.ts +0 -14
  596. package/src/components/icon/Icon.tsx +0 -105
  597. package/src/components/icon/IconProvider.tsx +0 -40
  598. package/src/components/icon/index.ts +0 -9
  599. package/src/components/input-adorn/InputAdorn.tsx +0 -55
  600. package/src/components/input-adorn/index.ts +0 -6
  601. package/src/components/input-group/InputGroup.tsx +0 -50
  602. package/src/components/input-group/InputGroupAddon.tsx +0 -50
  603. package/src/components/input-group/index.ts +0 -8
  604. package/src/components/link/Link.tsx +0 -148
  605. package/src/components/link/index.ts +0 -6
  606. package/src/components/list/List.tsx +0 -193
  607. package/src/components/list/ListItem.tsx +0 -91
  608. package/src/components/list/index.ts +0 -8
  609. package/src/components/menu/Menu.tsx +0 -408
  610. package/src/components/menu/MenuDivider.tsx +0 -19
  611. package/src/components/menu/MenuHeader.tsx +0 -55
  612. package/src/components/menu/MenuItem.tsx +0 -85
  613. package/src/components/menu/MenuItemDef.ts +0 -83
  614. package/src/components/menu/MenuList.tsx +0 -142
  615. package/src/components/menu/MenuSubmenu.tsx +0 -284
  616. package/src/components/menu/MenuSubmenuBack.tsx +0 -39
  617. package/src/components/menu/MenuText.tsx +0 -47
  618. package/src/components/menu/MenuToggle.tsx +0 -148
  619. package/src/components/menu/index.ts +0 -23
  620. package/src/components/menu/menuNavigation.ts +0 -106
  621. package/src/components/menu/submenuGroup.ts +0 -43
  622. package/src/components/modal/Modal.tsx +0 -164
  623. package/src/components/modal/ModalBody.tsx +0 -47
  624. package/src/components/modal/ModalFooter.tsx +0 -51
  625. package/src/components/modal/ModalHeader.tsx +0 -60
  626. package/src/components/modal/ModalTitle.tsx +0 -49
  627. package/src/components/modal/index.ts +0 -18
  628. package/src/components/nav/Nav.tsx +0 -97
  629. package/src/components/nav/NavItem.tsx +0 -42
  630. package/src/components/nav/NavLink.tsx +0 -48
  631. package/src/components/nav/NavTitle.tsx +0 -22
  632. package/src/components/nav/index.ts +0 -11
  633. package/src/components/navbar/Navbar.tsx +0 -112
  634. package/src/components/navbar/NavbarBrand.tsx +0 -58
  635. package/src/components/navbar/NavbarNav.tsx +0 -47
  636. package/src/components/navbar/NavbarText.tsx +0 -47
  637. package/src/components/navbar/NavbarToggler.tsx +0 -40
  638. package/src/components/navbar/index.ts +0 -14
  639. package/src/components/notification/Notification.scss +0 -15
  640. package/src/components/notification/Notification.tsx +0 -188
  641. package/src/components/notification/NotificationIcon.tsx +0 -21
  642. package/src/components/notification/NotificationStack.tsx +0 -66
  643. package/src/components/notification/NotificationText.tsx +0 -47
  644. package/src/components/notification/NotificationTitle.tsx +0 -47
  645. package/src/components/notification/context.ts +0 -14
  646. package/src/components/notification/index.ts +0 -25
  647. package/src/components/notification/notificationQueue.ts +0 -48
  648. package/src/components/otp-input/OtpBox.tsx +0 -68
  649. package/src/components/otp-input/OtpInput.tsx +0 -342
  650. package/src/components/otp-input/index.ts +0 -6
  651. package/src/components/pagination/Pagination.tsx +0 -212
  652. package/src/components/pagination/PaginationItem.tsx +0 -152
  653. package/src/components/pagination/index.ts +0 -12
  654. package/src/components/password-strength/PasswordStrength.tsx +0 -155
  655. package/src/components/password-strength/index.ts +0 -6
  656. package/src/components/password-strength/strengthScore.ts +0 -79
  657. package/src/components/placeholder/Placeholder.tsx +0 -178
  658. package/src/components/placeholder/index.ts +0 -6
  659. package/src/components/popover/Popover.tsx +0 -269
  660. package/src/components/popover/index.ts +0 -6
  661. package/src/components/progress/Progress.tsx +0 -154
  662. package/src/components/progress/ProgressBar.tsx +0 -88
  663. package/src/components/progress/index.ts +0 -8
  664. package/src/components/radio/Radio.tsx +0 -98
  665. package/src/components/radio/RadioGroup.tsx +0 -142
  666. package/src/components/radio/context.ts +0 -14
  667. package/src/components/radio/index.ts +0 -8
  668. package/src/components/range-input/RangeInput.tsx +0 -109
  669. package/src/components/range-input/index.ts +0 -6
  670. package/src/components/select/Select.tsx +0 -277
  671. package/src/components/select/index.ts +0 -6
  672. package/src/components/skeleton/Skeleton.tsx +0 -89
  673. package/src/components/skeleton/SkeletonLoader.tsx +0 -98
  674. package/src/components/skeleton/index.ts +0 -8
  675. package/src/components/spinner/Spinner.tsx +0 -77
  676. package/src/components/spinner/index.ts +0 -6
  677. package/src/components/stack/Stack.tsx +0 -81
  678. package/src/components/stack/index.ts +0 -6
  679. package/src/components/static-table/StaticTable.tsx +0 -78
  680. package/src/components/static-table/index.ts +0 -8
  681. package/src/components/stepper/Stepper.tsx +0 -172
  682. package/src/components/stepper/StepperItem.tsx +0 -66
  683. package/src/components/stepper/index.ts +0 -8
  684. package/src/components/switch/Switch.tsx +0 -259
  685. package/src/components/switch/index.ts +0 -6
  686. package/src/components/table/Table.css +0 -39
  687. package/src/components/table/Table.tsx +0 -405
  688. package/src/components/table/TableBody.tsx +0 -25
  689. package/src/components/table/TableCell.tsx +0 -27
  690. package/src/components/table/TableColumn.tsx +0 -31
  691. package/src/components/table/TableHeader.tsx +0 -26
  692. package/src/components/table/TableRow.tsx +0 -24
  693. package/src/components/table/index.ts +0 -16
  694. package/src/components/tabs/Tab.tsx +0 -36
  695. package/src/components/tabs/TabList.tsx +0 -76
  696. package/src/components/tabs/TabPanel.tsx +0 -68
  697. package/src/components/tabs/Tabs.tsx +0 -136
  698. package/src/components/tabs/context.ts +0 -24
  699. package/src/components/tabs/index.ts +0 -12
  700. package/src/components/text-input/TextInput.tsx +0 -188
  701. package/src/components/text-input/index.ts +0 -6
  702. package/src/components/textarea/Textarea.tsx +0 -145
  703. package/src/components/textarea/index.ts +0 -6
  704. package/src/components/toast/Toast.tsx +0 -220
  705. package/src/components/toast/ToastBody.tsx +0 -64
  706. package/src/components/toast/ToastFooter.tsx +0 -47
  707. package/src/components/toast/ToastHeader.tsx +0 -105
  708. package/src/components/toast/ToastIcon.tsx +0 -21
  709. package/src/components/toast/Toaster.tsx +0 -87
  710. package/src/components/toast/context.ts +0 -14
  711. package/src/components/toast/index.ts +0 -26
  712. package/src/components/toast/toastQueue.ts +0 -56
  713. package/src/components/tooltip/Tooltip.tsx +0 -171
  714. package/src/components/tooltip/index.ts +0 -6
  715. package/src/global.d.ts +0 -2
  716. package/src/hooks/index.ts +0 -57
  717. package/src/hooks/useAutoDismiss.ts +0 -91
  718. package/src/hooks/useButtonSemantics.ts +0 -33
  719. package/src/hooks/useControllableState.ts +0 -24
  720. package/src/hooks/useDialogElement.ts +0 -226
  721. package/src/hooks/useDisabledAnchorGuard.ts +0 -22
  722. package/src/hooks/useDismissibleTransition.ts +0 -126
  723. package/src/hooks/useDrawer.ts +0 -9
  724. package/src/hooks/useFloatingOverlay.ts +0 -125
  725. package/src/hooks/useForkedRef.ts +0 -50
  726. package/src/hooks/useFormField.ts +0 -89
  727. package/src/hooks/useIconConfig.ts +0 -6
  728. package/src/hooks/useIsomorphicLayoutEffect.ts +0 -9
  729. package/src/hooks/useModal.ts +0 -9
  730. package/src/hooks/useNotification.ts +0 -10
  731. package/src/hooks/useOverlayPlacement.ts +0 -93
  732. package/src/hooks/usePagination.ts +0 -89
  733. package/src/hooks/useToast.ts +0 -9
  734. package/src/hooks/useToastRegionQueue.ts +0 -27
  735. package/src/index.ts +0 -522
  736. package/src/types.ts +0 -133
  737. package/src/utils/breakpoints.ts +0 -43
  738. package/src/utils/comboboxCollection.tsx +0 -152
  739. package/src/utils/dateRangePresets.ts +0 -6
  740. package/src/utils/devWarning.ts +0 -58
  741. package/src/utils/dialogTransition.ts +0 -39
  742. package/src/utils/direction.ts +0 -14
  743. package/src/utils/focusRedirect.ts +0 -23
  744. package/src/utils/iconConfig.ts +0 -88
  745. package/src/utils/iconSlot.tsx +0 -41
  746. package/src/utils/isWholeUnitDisabled.ts +0 -17
  747. package/src/utils/mergeIsDateUnavailable.ts +0 -15
  748. package/src/utils/overlayPlacement.ts +0 -93
  749. package/src/utils/pointerInteraction.ts +0 -21
  750. package/src/utils/polymorphic.ts +0 -100
  751. package/src/utils/renderMenuItemContent.tsx +0 -57
  752. package/src/utils/setVisibleRangeStart.ts +0 -64
  753. package/src/utils/slot.tsx +0 -78
  754. package/src/utils/spacingClassName.ts +0 -14
  755. package/src/utils/suppressFocusRingGlobally.ts +0 -84
  756. package/src/utils/tableClassName.ts +0 -93
  757. package/src/utils/triggerElement.ts +0 -25
  758. package/src/utils/validationClassName.ts +0 -8
  759. package/src/utils/virtualFocusStyle.ts +0 -16
@@ -1,342 +0,0 @@
1
- import React, {
2
- ClipboardEvent,
3
- forwardRef,
4
- Fragment,
5
- HTMLAttributes,
6
- KeyboardEvent,
7
- ReactNode,
8
- useMemo,
9
- useRef
10
- } from 'react'
11
- import classNames from 'classnames'
12
-
13
- import { useControllableState, useForkedRef, useFormField } from '../../hooks'
14
- import { validationClassName } from '../../utils/validationClassName'
15
- import { renderFormField } from '../form-field/renderFormField'
16
- import { OtpBox } from './OtpBox'
17
- import { isRTL } from '../../utils/direction'
18
-
19
- export interface OtpInputProps extends Omit<
20
- HTMLAttributes<HTMLDivElement>,
21
- 'onChange' | 'defaultValue'
22
- > {
23
- /**
24
- * Identifies the element that describes the group, e.g. a `FormHelp` help element.
25
- */
26
- 'aria-describedby'?: string
27
- /**
28
- * An accessible label for the group, used when there's no visible `<label>`.
29
- */
30
- 'aria-label'?: string
31
- /**
32
- * Identifies a visible `<label>` element for the group.
33
- */
34
- 'aria-labelledby'?: string
35
- /**
36
- * A string of all className you want applied to the base component.
37
- */
38
- className?: string
39
- /**
40
- * The initial code (uncontrolled), e.g. `"123"` for a partially filled code.
41
- */
42
- defaultValue?: string
43
- /**
44
- * Prevents input and makes every box non-interactive.
45
- */
46
- disabled?: boolean
47
- /**
48
- * Splits the boxes into groups (e.g. `[3, 3]` for a "123-456" layout), rendering a
49
- * `.form-otp-separator` between each group. The total number of boxes becomes the sum of
50
- * `groupSizes`, overriding `length`.
51
- */
52
- groupSizes?: number[]
53
- /**
54
- * A description for the field, rendered below the boxes.
55
- */
56
- help?: ReactNode
57
- /**
58
- * `id` forwarded to the group container.
59
- */
60
- id?: string
61
- /**
62
- * Visually connects the boxes into a single bordered control. When `groupSizes` is set, each
63
- * group is connected separately.
64
- */
65
- inputGroup?: boolean
66
- /**
67
- * Set component validation state to invalid.
68
- */
69
- invalid?: boolean
70
- /**
71
- * An error message for the field, rendered below the boxes when `invalid` is set.
72
- */
73
- invalidFeedback?: ReactNode
74
- /**
75
- * The field's caption, rendered as a `FormLabel` associated with the group via
76
- * `aria-labelledby` (there's no single input to target with `htmlFor`).
77
- */
78
- label?: ReactNode
79
- /**
80
- * Number of digit boxes. Ignored when `groupSizes` is set. Defaults to `6`.
81
- */
82
- length?: number
83
- /**
84
- * Mask entered digits using `type="password"` boxes.
85
- */
86
- mask?: boolean
87
- /**
88
- * `name` of an auto-created hidden input kept in sync with the code, for native form
89
- * submission. Omit to skip creating it.
90
- */
91
- name?: string
92
- /**
93
- * Callback fired whenever the code changes.
94
- */
95
- onChange?: (value: string) => void
96
- /**
97
- * Callback fired once every box is filled.
98
- */
99
- onComplete?: (value: string) => void
100
- /**
101
- * Content of the separator rendered between groups when `groupSizes` is set. Defaults to `–`.
102
- */
103
- separator?: ReactNode
104
- /**
105
- * Size the boxes sm or lg.
106
- */
107
- size?: 'sm' | 'lg'
108
- /**
109
- * Set component validation state to valid.
110
- */
111
- valid?: boolean
112
- /**
113
- * A success message for the field, rendered below the boxes when `valid` is set.
114
- */
115
- validFeedback?: ReactNode
116
- /**
117
- * The code (controlled), digits only, e.g. `"123456"`.
118
- */
119
- value?: string
120
- }
121
-
122
- const onlyDigits = (raw: string) => raw.replace(/\D/g, '')
123
-
124
- const toBoxes = (raw: string, total: number): string[] => {
125
- const digits = [...onlyDigits(raw)].slice(0, total)
126
- return Array.from({ length: total }, (_, i) => digits[i] ?? '')
127
- }
128
-
129
- export const OtpInput = forwardRef<HTMLDivElement, OtpInputProps>(
130
- (
131
- {
132
- className,
133
- defaultValue,
134
- disabled,
135
- groupSizes,
136
- help,
137
- id,
138
- inputGroup,
139
- invalid,
140
- invalidFeedback,
141
- label,
142
- length = 6,
143
- mask,
144
- name,
145
- onChange,
146
- onComplete,
147
- separator = '–',
148
- size,
149
- valid,
150
- validFeedback,
151
- value,
152
- ...rest
153
- }: OtpInputProps,
154
- ref
155
- ): ReactNode => {
156
- const total =
157
- groupSizes && groupSizes.length > 0 ? groupSizes.reduce((a, b) => a + b, 0) : length
158
-
159
- const [rawValue, setRawValue] = useControllableState(value, defaultValue ?? '', onChange)
160
- const boxes = useMemo(() => toBoxes(rawValue, total), [rawValue, total])
161
-
162
- const boxRefs = useRef<Array<HTMLInputElement | null>>([])
163
- const focusBox = (index: number) => boxRefs.current[index]?.focus()
164
- const containerRef = useRef<HTMLDivElement>(null)
165
- const forkedRef = useForkedRef(ref, containerRef)
166
-
167
- const commit = (nextBoxes: string[]) => {
168
- const next = nextBoxes.join('')
169
- setRawValue(next)
170
- if (nextBoxes.length === total && nextBoxes.every((box) => box !== '')) {
171
- onComplete?.(next)
172
- }
173
- }
174
-
175
- const handleChange = (index: number, raw: string) => {
176
- const digits = onlyDigits(raw)
177
-
178
- if (digits.length > 1) {
179
- // Multi-character value landing in a single box (autofill, or a fast typist outrunning
180
- // the auto-advance) — distribute across this and subsequent boxes, matching chassis-css's
181
- // vanilla otp-input.js `_handleInput`.
182
- const chars = [...digits]
183
- const nextBoxes = [...boxes]
184
- for (let i = 0; i < chars.length && index + i < total; i++) {
185
- nextBoxes[index + i] = chars[i]!
186
- }
187
- commit(nextBoxes)
188
- focusBox(Math.min(index + chars.length, total - 1))
189
- return
190
- }
191
-
192
- const nextBoxes = [...boxes]
193
- nextBoxes[index] = digits
194
- commit(nextBoxes)
195
- if (digits && index < total - 1) focusBox(index + 1)
196
- }
197
-
198
- const handleKeyDown = (index: number, event: KeyboardEvent<HTMLInputElement>) => {
199
- if (disabled) return
200
-
201
- switch (event.key) {
202
- case 'Backspace': {
203
- if (!boxes[index] && index > 0) {
204
- event.preventDefault()
205
- const nextBoxes = [...boxes]
206
- nextBoxes[index - 1] = ''
207
- commit(nextBoxes)
208
- focusBox(index - 1)
209
- }
210
- break
211
- }
212
- case 'Delete': {
213
- event.preventDefault()
214
- // `boxes` (and every copy derived from it) is always exactly `total` entries long — see
215
- // `toBoxes` — so `i + 1` (bounded by `i < total - 1`) never reads past the end.
216
- const nextBoxes = [...boxes]
217
- for (let i = index; i < total - 1; i++) nextBoxes[i] = nextBoxes[i + 1]!
218
- nextBoxes[total - 1] = ''
219
- commit(nextBoxes)
220
- break
221
- }
222
- // Arrow keys move by *visual* direction, so they mirror under RTL: the box to the left of
223
- // the focused one is the next box, not the previous. `Carousel` and `MenuSubmenu` already
224
- // mirror their own arrow handling this way; this used to hardcode the LTR mapping and sent
225
- // an RTL user backwards through the field.
226
- case 'ArrowLeft':
227
- case 'ArrowRight': {
228
- const movesForward = (event.key === 'ArrowRight') !== isRTL(event.currentTarget)
229
- const nextIndex = movesForward ? index + 1 : index - 1
230
- if (nextIndex >= 0 && nextIndex < total) {
231
- event.preventDefault()
232
- focusBox(nextIndex)
233
- }
234
- break
235
- }
236
- default:
237
- break
238
- }
239
- }
240
-
241
- const handlePaste = (event: ClipboardEvent<HTMLInputElement>) => {
242
- event.preventDefault()
243
- if (disabled) return
244
- const digits = onlyDigits(event.clipboardData.getData('text')).slice(0, total)
245
- if (!digits) return
246
- commit(toBoxes(digits, total))
247
- focusBox(Math.min(digits.length, total) - 1)
248
- }
249
-
250
- const renderBoxes = (start: number, count: number) =>
251
- Array.from({ length: count }, (_, i) => start + i).map((i) => (
252
- <OtpBox
253
- disabled={disabled}
254
- index={i}
255
- invalid={invalid}
256
- key={i}
257
- mask={mask}
258
- onChangeValue={(next) => handleChange(i, next)}
259
- onKeyDownBox={(event) => handleKeyDown(i, event)}
260
- onPasteBox={handlePaste}
261
- ref={(el) => {
262
- boxRefs.current[i] = el
263
- }}
264
- size={size}
265
- valid={valid}
266
- value={boxes[i] ?? ''}
267
- />
268
- ))
269
-
270
- let content: ReactNode
271
- if (groupSizes && groupSizes.length > 0) {
272
- let cursor = 0
273
- content = groupSizes.map((groupSize, groupIndex) => {
274
- const start = cursor
275
- cursor += groupSize
276
- return (
277
- // eslint-disable-next-line react/no-array-index-key
278
- <Fragment key={groupIndex}>
279
- {groupIndex > 0 && <span className="form-otp-separator">{separator}</span>}
280
- {inputGroup ? (
281
- <div className="input-group">{renderBoxes(start, groupSize)}</div>
282
- ) : (
283
- renderBoxes(start, groupSize)
284
- )}
285
- </Fragment>
286
- )
287
- })
288
- } else {
289
- content = renderBoxes(0, total)
290
- }
291
-
292
- const {
293
- describedBy,
294
- feedbackId,
295
- helpId,
296
- inputId: groupId,
297
- labelId,
298
- labelledBy
299
- } = useFormField({
300
- ariaDescribedBy: rest['aria-describedby'],
301
- ariaLabelledBy: rest['aria-labelledby'],
302
- help,
303
- id,
304
- invalid,
305
- invalidFeedback,
306
- label,
307
- valid,
308
- validFeedback
309
- })
310
-
311
- return renderFormField({
312
- children: (
313
- <div
314
- {...rest}
315
- aria-describedby={describedBy}
316
- aria-labelledby={labelledBy}
317
- className={classNames(
318
- 'form-otp',
319
- { 'input-group': inputGroup && !(groupSizes && groupSizes.length > 0) },
320
- validationClassName(invalid, valid),
321
- className
322
- )}
323
- id={groupId}
324
- ref={forkedRef}
325
- role="group"
326
- >
327
- {content}
328
- {name && <input disabled={disabled} name={name} type="hidden" value={boxes.join('')} />}
329
- </div>
330
- ),
331
- help,
332
- ids: { feedback: feedbackId, help: helpId, label: labelId },
333
- invalid,
334
- invalidFeedback,
335
- label,
336
- valid,
337
- validFeedback
338
- })
339
- }
340
- )
341
-
342
- OtpInput.displayName = 'OtpInput'
@@ -1,6 +0,0 @@
1
- 'use client'
2
-
3
- import '../../utils/suppressFocusRingGlobally'
4
-
5
- export { OtpInput } from './OtpInput'
6
- export type { OtpInputProps } from './OtpInput'
@@ -1,212 +0,0 @@
1
- import React, { forwardRef, HTMLAttributes } from 'react'
2
- import { IconValue } from '../../utils/iconConfig'
3
- import { IconSlot } from '../../utils/iconSlot'
4
- import classNames from 'classnames'
5
-
6
- import { PaginationItem } from './PaginationItem'
7
- import { usePagination } from '../../hooks'
8
-
9
- export interface PaginationProps extends HTMLAttributes<HTMLElement> {
10
- /**
11
- * Current active page (1-indexed). Used with `pages` for data-driven mode.
12
- */
13
- activePage?: number
14
- /**
15
- * Set the alignment of pagination components.
16
- */
17
- align?: 'start' | 'center' | 'end'
18
- /**
19
- * Accessible label for the pagination `<nav>` landmark. Override for non-English locales,
20
- * or when multiple paginators appear on the same page.
21
- *
22
- * @default 'Pagination'
23
- */
24
- 'aria-label'?: string
25
- /**
26
- * A string of all className you want applied to the base component.
27
- */
28
- className?: string
29
- /**
30
- * Maximum number of visible page buttons (default: 5). Flanking pages are collapsed to ellipsis.
31
- */
32
- maxVisiblePages?: number
33
- /**
34
- * The "next page" control's icon in smart pagination mode: an icon name, or an element of your
35
- * own icon set. Defaults to `IconProvider`'s `next` icon.
36
- */
37
- nextIcon?: IconValue
38
- /**
39
- * Accessible label for the "next page" control, used in smart pagination mode. Override for
40
- * non-English locales.
41
- *
42
- * @default 'Next'
43
- */
44
- nextLabel?: string
45
- /**
46
- * Callback fired when the active page changes.
47
- */
48
- onActivePageChange?: (page: number) => void
49
- /**
50
- * Total number of pages. When provided alongside `activePage` and `onActivePageChange`,
51
- * the component renders a fully-controlled smart paginator with Prev/Next and ellipsis.
52
- */
53
- pages?: number
54
- /**
55
- * The "previous page" control's icon in smart pagination mode: an icon name, or an element of
56
- * your own icon set. Defaults to `IconProvider`'s `previous` icon.
57
- */
58
- previousIcon?: IconValue
59
- /**
60
- * Accessible label for the "previous page" control, used in smart pagination mode. Override
61
- * for non-English locales.
62
- *
63
- * @default 'Previous'
64
- */
65
- previousLabel?: string
66
- /**
67
- * Show the numbered page buttons in smart pagination mode. Set `false` alongside
68
- * `showPrevNext` to build a Prev/Next-only paginator.
69
- *
70
- * @default true
71
- */
72
- showPageNumbers?: boolean
73
- /**
74
- * Show the Prev/Next controls in smart pagination mode. Set `false` alongside
75
- * `showPageNumbers` to build a page-numbers-only paginator.
76
- *
77
- * @default true
78
- */
79
- showPrevNext?: boolean
80
- /**
81
- * Size the component sm or lg.
82
- */
83
- size?: 'sm' | 'lg'
84
- }
85
-
86
- function getPageRange(activePage: number, pages: number, maxVisible: number): (number | '...')[] {
87
- const safeMaxVisible = Math.max(1, maxVisible)
88
-
89
- if (pages <= safeMaxVisible) {
90
- return Array.from({ length: pages }, (_, i) => i + 1)
91
- }
92
-
93
- const half = Math.floor(safeMaxVisible / 2)
94
- let start = Math.max(1, activePage - half)
95
- const end = Math.min(pages, start + safeMaxVisible - 1)
96
-
97
- if (end - start < safeMaxVisible - 1) {
98
- start = Math.max(1, end - safeMaxVisible + 1)
99
- }
100
-
101
- const result: (number | '...')[] = []
102
-
103
- if (start > 1) {
104
- result.push(1)
105
- if (start > 2) result.push('...')
106
- }
107
-
108
- for (let i = start; i <= end; i++) {
109
- result.push(i)
110
- }
111
-
112
- if (end < pages) {
113
- if (end < pages - 1) result.push('...')
114
- result.push(pages)
115
- }
116
-
117
- return result
118
- }
119
-
120
- export const Pagination = forwardRef<HTMLElement, PaginationProps>(
121
- (
122
- {
123
- activePage = 1,
124
- align,
125
- 'aria-label': ariaLabel = 'Pagination',
126
- children,
127
- className,
128
- maxVisiblePages = 5,
129
- nextIcon,
130
- nextLabel = 'Next',
131
- onActivePageChange,
132
- pages,
133
- previousIcon,
134
- previousLabel = 'Previous',
135
- showPageNumbers = true,
136
- showPrevNext = true,
137
- size,
138
- ...rest
139
- },
140
- ref
141
- ) => {
142
- const _className = classNames(
143
- 'pagination',
144
- size,
145
- {
146
- [`justify-content-${align}`]: align
147
- },
148
- className
149
- )
150
-
151
- const clampedActivePage = pages ? Math.min(Math.max(activePage, 1), pages) : activePage
152
- const prevDisabled = pages ? clampedActivePage <= 1 : false
153
- const nextDisabled = pages ? clampedActivePage >= pages : false
154
-
155
- const { prevRef, nextRef, handlePrevClick, handleNextClick } = usePagination({
156
- prevDisabled,
157
- nextDisabled,
158
- onPrev: () => onActivePageChange && onActivePageChange(clampedActivePage - 1),
159
- onNext: () => onActivePageChange && onActivePageChange(clampedActivePage + 1)
160
- })
161
-
162
- const smartContent = pages ? (
163
- <>
164
- {showPrevNext && (
165
- <PaginationItem
166
- ref={prevRef}
167
- disabled={prevDisabled}
168
- onClick={handlePrevClick}
169
- aria-label={previousLabel}
170
- >
171
- <IconSlot icon="previous" override={previousIcon} className="directional-icon" />
172
- </PaginationItem>
173
- )}
174
- {showPageNumbers &&
175
- getPageRange(clampedActivePage, pages, maxVisiblePages).map((page, idx) =>
176
- page === '...' ? (
177
- // eslint-disable-next-line react/no-array-index-key
178
- <PaginationItem key={`ellipsis-${idx}`} disabled component="span" aria-hidden="true">
179
- &hellip;
180
- </PaginationItem>
181
- ) : (
182
- <PaginationItem
183
- key={page}
184
- active={page === clampedActivePage}
185
- onClick={() => onActivePageChange && onActivePageChange(page)}
186
- >
187
- {page}
188
- </PaginationItem>
189
- )
190
- )}
191
- {showPrevNext && (
192
- <PaginationItem
193
- ref={nextRef}
194
- disabled={nextDisabled}
195
- onClick={handleNextClick}
196
- aria-label={nextLabel}
197
- >
198
- <IconSlot icon="next" override={nextIcon} className="directional-icon" />
199
- </PaginationItem>
200
- )}
201
- </>
202
- ) : null
203
-
204
- return (
205
- <nav aria-label={ariaLabel} ref={ref} {...rest}>
206
- <ul className={_className}>{smartContent ?? children}</ul>
207
- </nav>
208
- )
209
- }
210
- )
211
-
212
- Pagination.displayName = 'Pagination'
@@ -1,152 +0,0 @@
1
- import React, {
2
- ElementType,
3
- ForwardRefRenderFunction,
4
- MouseEvent,
5
- MouseEventHandler,
6
- ReactElement,
7
- Ref
8
- } from 'react'
9
- import classNames from 'classnames'
10
- import { mergeProps } from 'react-aria'
11
-
12
- import { useButtonSemantics } from '../../hooks'
13
- import {
14
- createPolymorphicComponent,
15
- PolymorphicComponentProps,
16
- PolymorphicRef,
17
- PolymorphicRefWithFallback
18
- } from '../../utils/polymorphic'
19
-
20
- type PaginationItemOwnProps<C extends ElementType> = {
21
- /**
22
- * Toggle the active state for the component.
23
- */
24
- active?: boolean
25
- /**
26
- * Component used for the root node. Either a string to use a HTML element or a component.
27
- */
28
- component?: C
29
- /**
30
- * Toggle the disabled state for the component.
31
- */
32
- disabled?: boolean
33
- /**
34
- * The href attribute. When provided the item renders as an `<a>` tag; otherwise as a `<button>`.
35
- */
36
- href?: string
37
- }
38
-
39
- export type PaginationItemProps<C extends ElementType = 'button'> = PolymorphicComponentProps<
40
- C,
41
- PaginationItemOwnProps<C>
42
- >
43
-
44
- type PaginationItemComponent = (<C extends ElementType = 'button'>(
45
- props: PaginationItemProps<C> & {
46
- ref?: PolymorphicRefWithFallback<C, HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement>
47
- }
48
- ) => ReactElement | null) & { displayName?: string }
49
-
50
- function PaginationItemRender<C extends ElementType = 'button'>(
51
- {
52
- active,
53
- children,
54
- className,
55
- component,
56
- disabled,
57
- href,
58
- onClick,
59
- ...rest
60
- }: PaginationItemProps<C>,
61
- ref: PolymorphicRef<C>
62
- ) {
63
- const _className = classNames(
64
- 'pagination-item',
65
- {
66
- active,
67
- disabled
68
- },
69
- className
70
- )
71
-
72
- // The active page keeps whatever element it would render anyway (`<button>`, or `<a>` when
73
- // given `href`) rather than collapsing to a `<span>`. Swapping the tag on activation made React
74
- // unmount the focused control and mount a different element in its place, so a keyboard user who
75
- // activated a page was dropped to `<body>` and had to tab in from the top of the document again
76
- // (WCAG 2.4.3). The `<span>` wasn't even inert: `Pagination`'s smart mode passes an `onClick`,
77
- // so `useButtonSemantics` gave it `role="button"` and `tabIndex={0}` — a synthetic button,
78
- // strictly worse than the real one it replaced. Styling is unaffected either way: chassis-css
79
- // matches `.pagination-link { &.active, .active > & }`, and `active` still lands on the `<li>`.
80
- const Component = (component ?? (href ? 'a' : 'button')) as ElementType
81
-
82
- // `<a>` has no real `disabled` attribute, so a disabled anchor pagination item still fires
83
- // click (and still navigates) unless it's blocked here, same guard `Button` applies.
84
- const handleClick = (event: MouseEvent<HTMLAnchorElement | HTMLButtonElement>) => {
85
- if (Component === 'a' && disabled) {
86
- event.preventDefault()
87
- return
88
- }
89
- onClick?.(event as never)
90
- }
91
-
92
- // A custom `component`/default (non-`button`/`a`) branch gets a raw `onClick` with no keyboard
93
- // semantics otherwise — the same gap `Link` fills via `useButtonSemantics`.
94
- const needsButtonSemantics = Component !== 'button' && Component !== 'a' && !!onClick
95
- const { buttonProps, forkedRef } = useButtonSemantics<HTMLElement>(ref as Ref<HTMLElement>, {
96
- disabled,
97
- onClick: onClick as MouseEventHandler<HTMLElement> | undefined
98
- })
99
-
100
- // `aria-current="page"` goes on the control itself, not the wrapping `<li>` — that's where the
101
- // WAI-ARIA pagination pattern puts it, and it's what a screen reader conveys when focus lands on
102
- // the control. On the `<li>` it was attached to a presentational list item nothing focuses.
103
- const currentProps = active ? { 'aria-current': 'page' as const } : {}
104
-
105
- return (
106
- <li className={_className}>
107
- {Component === 'button' ? (
108
- <button
109
- {...(rest as Record<string, unknown>)}
110
- className="pagination-link"
111
- type="button"
112
- disabled={disabled}
113
- onClick={handleClick}
114
- {...currentProps}
115
- ref={ref as Ref<HTMLButtonElement>}
116
- >
117
- {children}
118
- </button>
119
- ) : Component === 'a' ? (
120
- <a
121
- {...(rest as Record<string, unknown>)}
122
- className="pagination-link"
123
- href={href}
124
- onClick={handleClick}
125
- {...(disabled && { 'aria-disabled': true, tabIndex: -1 })}
126
- {...currentProps}
127
- ref={ref as Ref<HTMLAnchorElement>}
128
- >
129
- {children}
130
- </a>
131
- ) : (
132
- <Component
133
- className="pagination-link"
134
- {...(mergeProps(rest, needsButtonSemantics ? buttonProps : {}) as Record<
135
- string,
136
- unknown
137
- >)}
138
- {...(!needsButtonSemantics && { onClick: handleClick })}
139
- {...currentProps}
140
- ref={needsButtonSemantics ? forkedRef : ref}
141
- >
142
- {children}
143
- </Component>
144
- )}
145
- </li>
146
- )
147
- }
148
-
149
- export const PaginationItem = createPolymorphicComponent<PaginationItemComponent>(
150
- PaginationItemRender as ForwardRefRenderFunction<Element, PaginationItemProps<ElementType>>,
151
- 'PaginationItem'
152
- )