@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,193 +0,0 @@
1
- import React, {
2
- Children,
3
- ElementType,
4
- ForwardRefRenderFunction,
5
- isValidElement,
6
- ReactElement
7
- } from 'react'
8
- import classNames from 'classnames'
9
-
10
- import { ContextColor, ContextStyle } from '../../types'
11
- import {
12
- createPolymorphicComponent,
13
- PolymorphicComponentProps,
14
- PolymorphicRef
15
- } from '../../utils/polymorphic'
16
- import { ListItem } from './ListItem'
17
-
18
- export interface ListItemDef {
19
- /**
20
- * Stable key for the rendered item. Falls back to the item's index in `items`.
21
- */
22
- id?: number | string
23
- /**
24
- * Item label content.
25
- */
26
- label: React.ReactNode
27
- /**
28
- * Makes the item a link.
29
- */
30
- href?: string
31
- /**
32
- * Sets the color of the item.
33
- */
34
- color?: ContextColor
35
- /**
36
- * Marks the item as active.
37
- */
38
- active?: boolean
39
- /**
40
- * Marks the item as disabled.
41
- */
42
- disabled?: boolean
43
- }
44
-
45
- type ListOwnProps<C extends ElementType> = {
46
- /**
47
- * A string of all className you want applied to the component.
48
- */
49
- className?: string
50
- /**
51
- * Component used for the root node. Either a string to use a HTML element or a component.
52
- * Defaults to `'ul'`, unless an item (a data-driven item with `href`, or a `<ListItem
53
- * component="a">`/`<ListItem component="button">` child) is interactive — a bare `<a>`/
54
- * `<button>` isn't a valid direct child of `<ul>`/`<ol>`, so the default switches to `'div'`
55
- * instead. Pass `component` explicitly to opt out of this.
56
- */
57
- component?: C
58
- /**
59
- * Sets the color of the component to one of Chassis context colors.
60
- */
61
- color?: ContextColor
62
- /**
63
- * Remove outer borders and rounded corners to render list items edge-to-edge in a parent component (e.g., `<Card>`).
64
- */
65
- flush?: boolean
66
- /**
67
- * Array of item definitions for data-driven rendering. When provided, children are ignored.
68
- */
69
- items?: ListItemDef[]
70
- /**
71
- * Specify a layout type.
72
- */
73
- layout?:
74
- | 'horizontal'
75
- | 'sm:horizontal'
76
- | 'md:horizontal'
77
- | 'lg:horizontal'
78
- | 'xl:horizontal'
79
- | '2xl:horizontal'
80
- /**
81
- * Number list items sequentially using CSS counters. Pair with `component="ol"` for semantic correctness.
82
- */
83
- numbered?: boolean
84
- /**
85
- * Remove outer borders, rounded corners, and horizontal padding for a minimal, edge-to-edge appearance.
86
- */
87
- plain?: boolean
88
- /**
89
- * Applies a `.solid`, `.outline`, or `.smooth` context style. Only meaningful together with `color`.
90
- */
91
- variant?: ContextStyle
92
- }
93
-
94
- export type ListProps<C extends ElementType = 'ul'> = PolymorphicComponentProps<C, ListOwnProps<C>>
95
-
96
- type ListComponent = (<C extends ElementType = 'ul'>(
97
- props: ListProps<C> & { ref?: PolymorphicRef<C> }
98
- ) => ReactElement | null) & { displayName?: string }
99
-
100
- function ListRender<C extends ElementType = 'ul'>(
101
- {
102
- children,
103
- className,
104
- component,
105
- color,
106
- variant,
107
- flush,
108
- items,
109
- layout,
110
- numbered,
111
- plain,
112
- ...rest
113
- }: ListProps<C>,
114
- ref: PolymorphicRef<C>
115
- ) {
116
- // A linked item (data-driven `href`, or a `<ListItem component="a"|"button">` child) can't
117
- // render as a bare `<a>`/`<button>` inside the default `<ul>`/`<ol>` root — only `<li>`/
118
- // `script`/`template` are valid children there. Default to `<div>` instead when that's the
119
- // case (unless the caller already chose their own `component`), matching the same
120
- // `component="div"` pattern already documented for `Stepper`'s composed interactive usage.
121
- const hasInteractiveItem = items
122
- ? items.some((item) => !!item.href)
123
- : Children.toArray(children).some(
124
- (child) =>
125
- isValidElement<{ component?: string | ElementType }>(child) &&
126
- child.type === ListItem &&
127
- (child.props.component === 'a' || child.props.component === 'button')
128
- )
129
- const Component = (component ?? (hasInteractiveItem ? 'div' : 'ul')) as ElementType
130
- const isListSemantic = Component === 'ul' || Component === 'ol'
131
-
132
- const _className = classNames(
133
- 'list',
134
- color && 'context',
135
- color,
136
- variant,
137
- layout,
138
- {
139
- flush,
140
- plain,
141
- numbered
142
- },
143
- className
144
- )
145
-
146
- const autoContent = items
147
- ? items.map((item, idx) => {
148
- const itemClass = classNames('list-item', item.color && 'context', item.color, {
149
- 'list-action': !!item.href,
150
- active: item.active,
151
- disabled: item.disabled
152
- })
153
- const Tag = item.href ? 'a' : isListSemantic ? 'li' : 'div'
154
- return (
155
- <Tag
156
- key={item.id ?? idx}
157
- className={itemClass}
158
- {...(item.href ? { href: item.href } : {})}
159
- {...(item.active ? { 'aria-current': 'page' } : {})}
160
- {...(item.disabled ? { 'aria-disabled': true } : {})}
161
- >
162
- {item.label}
163
- </Tag>
164
- )
165
- })
166
- : null
167
-
168
- // When the root switched to `div` because of an interactive child, every plain `<ListItem>`
169
- // sibling defaulting to `<li>` would be just as invalid (only valid inside `<ul>`/`<ol>`/
170
- // `<menu>`) — so give each `ListItem` child the same `div` treatment the auto-generated items
171
- // above already get, unless it set its own `component`. Other child types are left untouched
172
- // — this is only meaningful for `List`'s own list items.
173
- const renderedChildren =
174
- autoContent ??
175
- (isListSemantic
176
- ? children
177
- : Children.map(children, (child) =>
178
- isValidElement<{ component?: string | ElementType }>(child) && child.type === ListItem
179
- ? React.cloneElement(child, { component: child.props.component ?? 'div' })
180
- : child
181
- ))
182
-
183
- return (
184
- <Component className={_className} {...rest} ref={ref}>
185
- {renderedChildren}
186
- </Component>
187
- )
188
- }
189
-
190
- export const List = createPolymorphicComponent<ListComponent>(
191
- ListRender as ForwardRefRenderFunction<Element, ListProps<ElementType>>,
192
- 'List'
193
- )
@@ -1,91 +0,0 @@
1
- import React, { ElementType, ForwardRefRenderFunction, ReactElement } from 'react'
2
- import classNames from 'classnames'
3
-
4
- import { ContextColor } from '../../types'
5
- import {
6
- createPolymorphicComponent,
7
- PolymorphicComponentProps,
8
- PolymorphicRef
9
- } from '../../utils/polymorphic'
10
- import { Link } from '../link/Link'
11
-
12
- type ListItemOwnProps<C extends ElementType> = {
13
- /**
14
- * Toggle the active state for the component.
15
- */
16
- active?: boolean
17
- /**
18
- * A string of all className you want applied to the component.
19
- */
20
- className?: string
21
- /**
22
- * Sets the color of the component to one of Chassis context colors.
23
- */
24
- color?: ContextColor
25
- /**
26
- * Toggle the disabled state for the component.
27
- */
28
- disabled?: boolean
29
- /**
30
- * Component used for the root node. Either a string to use a HTML element or a component.
31
- */
32
- component?: C
33
- /**
34
- * The href attribute specifies the URL of the page the link goes to. Only applicable when
35
- * `component` is `"a"`.
36
- */
37
- href?: string
38
- }
39
-
40
- export type ListItemProps<C extends ElementType = 'li'> = PolymorphicComponentProps<
41
- C,
42
- ListItemOwnProps<C>
43
- >
44
-
45
- type ListItemComponent = (<C extends ElementType = 'li'>(
46
- props: ListItemProps<C> & { ref?: PolymorphicRef<C> }
47
- ) => ReactElement | null) & { displayName?: string }
48
-
49
- function ListItemRender<C extends ElementType = 'li'>(
50
- { children, active, className, disabled, color, component, ...rest }: ListItemProps<C>,
51
- ref: PolymorphicRef<C>
52
- ) {
53
- const tag = component ?? 'li'
54
- const isInteractive = tag === 'a' || tag === 'button'
55
-
56
- const _className = classNames(
57
- 'list-item',
58
- color && 'context',
59
- color,
60
- {
61
- 'list-action': isInteractive,
62
- active,
63
- disabled
64
- },
65
- className
66
- )
67
-
68
- const Component = (isInteractive ? Link : tag) as ElementType
69
-
70
- const finalRest = {
71
- ...(isInteractive && {
72
- active,
73
- disabled,
74
- component: tag
75
- }),
76
- ...(active && { 'aria-current': 'page' }),
77
- ...(disabled && { 'aria-disabled': true }),
78
- ...rest
79
- }
80
-
81
- return (
82
- <Component className={_className} {...finalRest} ref={ref}>
83
- {children}
84
- </Component>
85
- )
86
- }
87
-
88
- export const ListItem = createPolymorphicComponent<ListItemComponent>(
89
- ListItemRender as ForwardRefRenderFunction<Element, ListItemProps<ElementType>>,
90
- 'ListItem'
91
- )
@@ -1,8 +0,0 @@
1
- 'use client'
2
-
3
- import '../../utils/suppressFocusRingGlobally'
4
-
5
- export { List } from './List'
6
- export type { ListProps, ListItemDef } from './List'
7
- export { ListItem } from './ListItem'
8
- export type { ListItemProps } from './ListItem'
@@ -1,408 +0,0 @@
1
- import React, {
2
- createContext,
3
- ElementType,
4
- ForwardRefRenderFunction,
5
- Fragment,
6
- ReactElement,
7
- useEffect,
8
- useMemo,
9
- useRef
10
- } from 'react'
11
- import classNames from 'classnames'
12
- import { AriaButtonProps, useMenuTrigger, useOverlayPosition } from 'react-aria'
13
- import { useMenuTriggerState } from 'react-stately'
14
-
15
- import { useForkedRef, useIsomorphicLayoutEffect } from '../../hooks'
16
- import { executeAfterTransition } from '../../utils/dialogTransition'
17
- import {
18
- Placement,
19
- resolveMenuOverlayPositioning,
20
- toAriaPlacement
21
- } from '../../utils/overlayPlacement'
22
- import {
23
- createPolymorphicComponent,
24
- PolymorphicComponentProps,
25
- PolymorphicRef
26
- } from '../../utils/polymorphic'
27
-
28
- export type { Placement }
29
- export type MenuFocusStrategy = 'first' | 'last'
30
-
31
- export type MenuAutoClose = boolean | 'inside' | 'outside'
32
-
33
- type MenuOwnProps<C extends ElementType> = {
34
- /**
35
- * Controls which clicks close the menu. `true` closes on any click inside or outside.
36
- * `false` requires a programmatic `visible` change. `'inside'` closes only on click inside
37
- * the menu. `'outside'` closes only on click outside the menu.
38
- */
39
- autoClose?: MenuAutoClose
40
- /**
41
- * A string of all className you want applied to the base component.
42
- */
43
- className?: string
44
- /**
45
- * Component used for the root node. Either a string to use a HTML element or a component.
46
- * Defaults to `Fragment` — `MenuToggle`/`MenuList` render with no wrapping element, so
47
- * they land as direct children of whatever contains the `Menu`. This matters inside
48
- * `ButtonGroup`/`InputGroup`, whose CSS expects the toggle button and menu panel as direct
49
- * children rather than nested inside an intermediate node.
50
- *
51
- * Pass an actual element (e.g. `"div"`, or `"li"` for a navbar item) to opt back into a
52
- * wrapper — needed if you want to apply `className`/`style`/other rest props to a container
53
- * around the whole menu, for semantic wrapping like a nav `<li>`, or for `reference="parent"`,
54
- * which positions off this wrapper and has nothing to measure against without one.
55
- */
56
- component?: C
57
- /**
58
- * Teleports the menu panel to a container element on open. Accepts an element reference, or
59
- * `true` to append to `document.body`.
60
- */
61
- container?: boolean | Element
62
- /**
63
- * Distance between the menu and its reference element, as `[skidding, distance]` in pixels.
64
- */
65
- offset?: [number, number]
66
- /**
67
- * Callback fired when the menu requests to be hidden.
68
- */
69
- onHide?: () => void
70
- /**
71
- * Callback fired after the menu finishes hiding.
72
- */
73
- onHidden?: () => void
74
- /**
75
- * Callback fired when the menu requests to be shown.
76
- */
77
- onShow?: () => void
78
- /**
79
- * Callback fired after the menu finishes showing.
80
- */
81
- onShown?: () => void
82
- /**
83
- * Initial placement. Chassis will flip it to keep the menu in view.
84
- *
85
- * @type 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'
86
- */
87
- placement?: Placement
88
- /**
89
- * Reference element used for positioning. `'toggle'` uses the trigger. `'parent'` uses this
90
- * component's own rendered element, useful for split buttons and button groups.
91
- */
92
- reference?: 'toggle' | 'parent'
93
- /**
94
- * Toggle the visibility of the menu component.
95
- */
96
- visible?: boolean
97
- }
98
-
99
- export type MenuProps<C extends ElementType = typeof Fragment> = PolymorphicComponentProps<
100
- C,
101
- MenuOwnProps<C>
102
- >
103
-
104
- type MenuComponent = (<C extends ElementType = typeof Fragment>(
105
- props: MenuProps<C> & { ref?: PolymorphicRef<C> }
106
- ) => ReactElement | null) & { displayName?: string }
107
-
108
- export interface MenuContextProps {
109
- autoClose: MenuAutoClose
110
- close: () => void
111
- container?: boolean | Element
112
- focusStrategy: MenuFocusStrategy | null
113
- hide: () => void
114
- menuId: string
115
- menuStyle: React.CSSProperties
116
- menuTriggerProps: AriaButtonProps
117
- overlayRef: React.MutableRefObject<HTMLElement | null>
118
- placementAttr: string
119
- reference: 'toggle' | 'parent'
120
- /**
121
- * Registers (or, passing `null`, unregisters) a nested `MenuSubmenu`'s own portaled panel
122
- * element, so this `Menu`'s outside/inside click-dismiss logic recognizes clicks landing in it
123
- * as "inside" the menu — see `MenuSubmenu`'s own use for why this is necessary: its panel
124
- * portals straight to `document.body`, structurally detached from this menu's own DOM subtree.
125
- */
126
- registerOverlay: (id: string, node: HTMLElement | null) => void
127
- show: (focusStrategy?: MenuFocusStrategy | null) => void
128
- targetRef: React.MutableRefObject<HTMLElement | null>
129
- toggle: (focusStrategy?: MenuFocusStrategy | null) => void
130
- toggleNodeRef: React.MutableRefObject<HTMLElement | null>
131
- triggerId: string
132
- visible: boolean
133
- }
134
-
135
- // A fully-shaped no-op default so a `MenuToggle`/`MenuList`/`MenuSubmenu` rendered without a
136
- // `Menu` ancestor (or in an environment where context can't cross a component boundary, e.g.
137
- // some static-site prerenderers) degrades to an inert, always-closed menu instead of throwing.
138
- const noop = () => undefined
139
-
140
- const defaultMenuContext: MenuContextProps = {
141
- autoClose: true,
142
- close: noop,
143
- focusStrategy: null,
144
- hide: noop,
145
- menuId: '',
146
- menuStyle: {},
147
- menuTriggerProps: {},
148
- overlayRef: { current: null },
149
- placementAttr: 'bottom-start',
150
- reference: 'toggle',
151
- registerOverlay: noop,
152
- show: noop,
153
- targetRef: { current: null },
154
- toggle: noop,
155
- toggleNodeRef: { current: null },
156
- triggerId: '',
157
- visible: false
158
- }
159
-
160
- export const MenuContext = createContext(defaultMenuContext)
161
-
162
- function MenuRender<C extends ElementType = typeof Fragment>(
163
- {
164
- children,
165
- autoClose = true,
166
- className,
167
- component,
168
- container,
169
- offset: offsetProp = [0, 2],
170
- onHide,
171
- onHidden,
172
- onShow,
173
- onShown,
174
- placement = 'bottom-start',
175
- reference = 'toggle',
176
- visible,
177
- ...rest
178
- }: MenuProps<C>,
179
- ref: PolymorphicRef<C>
180
- ) {
181
- const Component = component ?? (Fragment as ElementType)
182
- const wrapperRef = useRef<HTMLElement>(null)
183
- const forkedRef = useForkedRef(ref, wrapperRef)
184
- const toggleNodeRef = useRef<HTMLElement | null>(null)
185
- const targetRef = useRef<HTMLElement | null>(null)
186
- const overlayRef = useRef<HTMLElement | null>(null)
187
- // Portaled `MenuSubmenu` panels register themselves here (see `registerOverlay` below and
188
- // `MenuSubmenu`'s own ref callback) so `handleDismiss` can recognize clicks inside them as
189
- // "inside" this menu despite living outside `overlayRef.current`'s own DOM subtree.
190
- const submenuOverlaysRef = useRef<Map<string, HTMLElement>>(new Map())
191
- const registerOverlay = (id: string, node: HTMLElement | null) => {
192
- if (node) submenuOverlaysRef.current.set(id, node)
193
- else submenuOverlaysRef.current.delete(id)
194
- }
195
-
196
- const state = useMenuTriggerState({ defaultOpen: !!visible })
197
- const { menuTriggerProps, menuProps } = useMenuTrigger<unknown>({}, state, toggleNodeRef)
198
-
199
- // Sync-on-change, not strictly controlled — matches `Modal`'s `visible` semantics.
200
- // Internal `show`/`hide`/`toggle` calls (from `MenuToggle`, autoClose dismissal, etc.)
201
- // still work freely between prop changes; `visible` only re-asserts the open state when
202
- // its own value actually changes.
203
- useEffect(() => {
204
- if (visible === undefined) return
205
- if (visible) state.open()
206
- else state.close()
207
- // eslint-disable-next-line react-hooks/exhaustive-deps
208
- }, [visible])
209
-
210
- useIsomorphicLayoutEffect(() => {
211
- if (reference === 'parent') {
212
- targetRef.current = wrapperRef.current
213
- }
214
- }, [reference])
215
-
216
- // `onShown`/`onHidden` wait for chassis-css's own opacity/transform transition on `.menu`
217
- // (see `_menu.scss`) to actually finish, matching `Modal`'s identically-worded "requests to
218
- // be shown" vs "finishes showing" contract (`Modal.tsx`'s own `executeAfterTransition` use).
219
- // `overlayRef.current` is `MenuList`'s root element — already in the DOM and already
220
- // reflecting the new `.show` class by the time this effect runs, since React commits the
221
- // render before passive effects execute. Falls back to firing synchronously when no
222
- // `MenuList` is mounted to measure (nothing to transition, so nothing to wait for).
223
- //
224
- // All four report *transitions*, so none fires for the initial commit — mounting closed is not
225
- // a hide. Without this guard, mounting fired `onHide` (and scheduled `onHidden`) for every menu
226
- // on the page before `onShow` had ever fired once, which `Menu.spec.tsx` used to have to
227
- // `mockClear()` past.
228
- const mountedRef = useRef(false)
229
-
230
- useEffect(() => {
231
- const overlay = overlayRef.current
232
- const isInitialCommit = !mountedRef.current
233
- mountedRef.current = true
234
- if (isInitialCommit) return undefined
235
-
236
- if (state.isOpen) {
237
- onShow?.()
238
- if (!overlay) {
239
- onShown?.()
240
- return undefined
241
- }
242
- return executeAfterTransition(overlay, () => onShown?.(), true)
243
- }
244
-
245
- onHide?.()
246
- if (!overlay) {
247
- onHidden?.()
248
- return undefined
249
- }
250
- return executeAfterTransition(overlay, () => onHidden?.(), true)
251
- // eslint-disable-next-line react-hooks/exhaustive-deps
252
- }, [state.isOpen])
253
-
254
- const { overlayProps, placement: resolvedPlacement } = useOverlayPosition({
255
- targetRef,
256
- overlayRef,
257
- placement: toAriaPlacement(placement),
258
- offset: offsetProp[1],
259
- crossOffset: offsetProp[0],
260
- containerPadding: 8,
261
- isOpen: state.isOpen,
262
- // `useOverlayPosition` closes on any window scroll via a backward-compat `WeakMap` that
263
- // `useMenuTrigger` populates for `targetRef.current` (see `MenuToggle`'s `setRefs`).
264
- // Passing `null` opts out so the menu repositions with its trigger instead of vanishing —
265
- // matching `Autocomplete`/`Combobox`, neither of which is wired into that map.
266
- onClose: null
267
- })
268
-
269
- const { menuStyle, placementAttr } = resolveMenuOverlayPositioning(
270
- overlayProps.style,
271
- placement,
272
- resolvedPlacement
273
- )
274
-
275
- const show = (focusStrategy?: MenuFocusStrategy | null) => state.open(focusStrategy)
276
- const hide = () => state.close()
277
- const toggleVisible = (focusStrategy?: MenuFocusStrategy | null) => state.toggle(focusStrategy)
278
- const close = () => {
279
- state.close()
280
- toggleNodeRef.current?.focus()
281
- }
282
-
283
- // Deferred so the click that opened the menu doesn't immediately close it, and scoped
284
- // to match menu.js's `clearMenus`: skip the toggle itself, honor `inside`/`outside`
285
- // modes, and let Tab or clicks on form controls inside the menu pass through untouched.
286
- useEffect(() => {
287
- if (!state.isOpen || autoClose === false) return undefined
288
-
289
- const handleDismiss = (event: MouseEvent | KeyboardEvent) => {
290
- if (event instanceof KeyboardEvent && event.key !== 'Tab') return
291
-
292
- const target = event.target as Node
293
- const toggleNode = toggleNodeRef.current
294
- const menuNode = overlayRef.current
295
-
296
- if (toggleNode?.contains(target)) return
297
-
298
- const isMenuTarget =
299
- !!menuNode?.contains(target) ||
300
- Array.from(submenuOverlaysRef.current.values()).some((node) => node.contains(target))
301
-
302
- if (autoClose === 'inside' && !isMenuTarget) return
303
- if (autoClose === 'outside' && isMenuTarget) return
304
-
305
- if (
306
- isMenuTarget &&
307
- ((event instanceof KeyboardEvent && event.key === 'Tab') ||
308
- /input|select|option|textarea|form/i.test((target as HTMLElement).tagName ?? ''))
309
- ) {
310
- return
311
- }
312
-
313
- hide()
314
- }
315
-
316
- const id = window.setTimeout(() => {
317
- window.addEventListener('click', handleDismiss)
318
- window.addEventListener('keyup', handleDismiss)
319
- })
320
-
321
- return () => {
322
- window.clearTimeout(id)
323
- window.removeEventListener('click', handleDismiss)
324
- window.removeEventListener('keyup', handleDismiss)
325
- }
326
- // eslint-disable-next-line react-hooks/exhaustive-deps
327
- }, [state.isOpen, autoClose])
328
-
329
- // Escape should always close the menu, independent of `autoClose`'s inside/outside/false
330
- // modes. `MenuList`'s own `onKeyDown` handling only fires when focus is already inside the
331
- // panel (e.g. opened via ArrowDown) — a mouse-press open via `useMenuTrigger` leaves focus on
332
- // the trigger button, where that handler is unreachable. Listening on `window` catches Escape
333
- // regardless of where focus currently is.
334
- useEffect(() => {
335
- if (!state.isOpen) return undefined
336
-
337
- const handleEscape = (event: KeyboardEvent) => {
338
- if (event.key !== 'Escape') return
339
- close()
340
- }
341
-
342
- window.addEventListener('keydown', handleEscape)
343
-
344
- return () => {
345
- window.removeEventListener('keydown', handleEscape)
346
- }
347
- // eslint-disable-next-line react-hooks/exhaustive-deps
348
- }, [state.isOpen])
349
-
350
- const contextValue: MenuContextProps = useMemo(
351
- () => ({
352
- autoClose,
353
- close,
354
- container,
355
- focusStrategy: state.focusStrategy as MenuFocusStrategy | null,
356
- hide,
357
- menuId: menuProps.id ?? '',
358
- menuStyle,
359
- menuTriggerProps,
360
- overlayRef,
361
- placementAttr,
362
- reference,
363
- registerOverlay,
364
- show,
365
- targetRef,
366
- toggle: toggleVisible,
367
- toggleNodeRef,
368
- triggerId: menuTriggerProps.id ?? '',
369
- visible: state.isOpen
370
- }),
371
- // eslint-disable-next-line react-hooks/exhaustive-deps
372
- [
373
- autoClose,
374
- container,
375
- state.focusStrategy,
376
- menuProps.id,
377
- menuStyle,
378
- menuTriggerProps,
379
- placementAttr,
380
- reference,
381
- state.isOpen
382
- ]
383
- )
384
-
385
- return (
386
- <MenuContext.Provider value={contextValue}>
387
- {Component === Fragment ? (
388
- children
389
- ) : (
390
- // `show` mirrors vanilla menu.js's `this._parent.classList.add('show')` — needed for
391
- // e.g. `.nav-item.show .nav-link` to put a `NavLink`-rooted `MenuToggle` into its
392
- // pressed look while open, since a bare `.nav-link.show` has no styling of its own.
393
- <Component
394
- className={classNames(className, { show: state.isOpen })}
395
- {...rest}
396
- ref={forkedRef}
397
- >
398
- {children}
399
- </Component>
400
- )}
401
- </MenuContext.Provider>
402
- )
403
- }
404
-
405
- export const Menu = createPolymorphicComponent<MenuComponent>(
406
- MenuRender as ForwardRefRenderFunction<Element, MenuProps<ElementType>>,
407
- 'Menu'
408
- )