@chassis-ui/react 0.2.0 → 0.4.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 (777) 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.d.ts +1 -1
  9. package/dist/avatar.js +1 -1
  10. package/dist/badge.d.ts +1 -1
  11. package/dist/badge.js +1 -1
  12. package/dist/breadcrumb.js +1 -1
  13. package/dist/button-group.d.ts +1 -1
  14. package/dist/button-group.js +1 -1
  15. package/dist/button.d.ts +1 -1
  16. package/dist/button.js +1 -1
  17. package/dist/calendar.d.ts +1 -1
  18. package/dist/calendar.js +1 -1
  19. package/dist/card.d.ts +1 -1
  20. package/dist/card.js +1 -1
  21. package/dist/carousel.d.ts +1 -1
  22. package/dist/carousel.js +1 -1
  23. package/dist/checkbox.d.ts +2 -2
  24. package/dist/checkbox.js +1 -1
  25. package/dist/chip-input.js +1 -1
  26. package/dist/chip.d.ts +1 -1
  27. package/dist/chip.js +1 -1
  28. package/dist/chunks/Button-BoymWE-L.js +2 -0
  29. package/dist/chunks/Button-BoymWE-L.js.map +1 -0
  30. package/dist/chunks/{Button-Cptd4Yk7.d.ts → Button-BuZ_GOHS.d.ts} +3 -2
  31. package/dist/chunks/Chip-DCaWaBqo.js +2 -0
  32. package/dist/chunks/Chip-DCaWaBqo.js.map +1 -0
  33. package/dist/chunks/CloseButton-DPgQztE0.js +2 -0
  34. package/dist/chunks/CloseButton-DPgQztE0.js.map +1 -0
  35. package/dist/chunks/ComboboxItem-C9TpoJOI.d.ts +2 -1
  36. package/dist/chunks/ComboboxListBox-Cm3L1ULl.js +2 -0
  37. package/dist/chunks/ComboboxListBox-Cm3L1ULl.js.map +1 -0
  38. package/dist/chunks/DateSegment-2agXAd0f.js +2 -0
  39. package/dist/chunks/DateSegment-2agXAd0f.js.map +1 -0
  40. package/dist/chunks/{FormHelp-Be2PQL0y.js → FormHelp-AE6_iSLJ.js} +2 -1
  41. package/dist/chunks/FormHelp-AE6_iSLJ.js.map +1 -0
  42. package/dist/chunks/FormLabel-CYcQiFUI.js +2 -1
  43. package/dist/chunks/FormLabel-CYcQiFUI.js.map +1 -0
  44. package/dist/chunks/Icon-CioraWLF.d.ts +2 -1
  45. package/dist/chunks/Icon-DLB1f88W.js +2 -0
  46. package/dist/chunks/Icon-DLB1f88W.js.map +1 -0
  47. package/dist/chunks/{Link-B0Y1xgYi.d.ts → Link-CKymd2ru.d.ts} +8 -6
  48. package/dist/chunks/Link-CZsWCnQb.js +2 -0
  49. package/dist/chunks/Link-CZsWCnQb.js.map +1 -0
  50. package/dist/chunks/Menu-CSBg2Zmc.js +2 -0
  51. package/dist/chunks/Menu-CSBg2Zmc.js.map +1 -0
  52. package/dist/chunks/Menu-QeYOzrUL.d.ts +95 -0
  53. package/dist/chunks/MenuItemDef-D0VDtYIQ.d.ts +2 -1
  54. package/dist/chunks/MenuToggle-BdQtF7FV.js +2 -0
  55. package/dist/chunks/MenuToggle-BdQtF7FV.js.map +1 -0
  56. package/dist/chunks/Portal-CgeR1WXV.js +2 -0
  57. package/dist/chunks/Portal-CgeR1WXV.js.map +1 -0
  58. package/dist/chunks/RangeCalendar-BJl-j4W2.js +2 -0
  59. package/dist/chunks/RangeCalendar-BJl-j4W2.js.map +1 -0
  60. package/dist/chunks/VisuallyHidden-C2dM7HhC.js +2 -0
  61. package/dist/chunks/VisuallyHidden-C2dM7HhC.js.map +1 -0
  62. package/dist/chunks/accordion-B8UWyvQB.js +2 -0
  63. package/dist/chunks/accordion-B8UWyvQB.js.map +1 -0
  64. package/dist/chunks/alert-BXI-_qlt.js +2 -0
  65. package/dist/chunks/alert-BXI-_qlt.js.map +1 -0
  66. package/dist/chunks/autocomplete-Baf9VSHN.js +2 -0
  67. package/dist/chunks/autocomplete-Baf9VSHN.js.map +1 -0
  68. package/dist/chunks/avatar-S3dGy6Qc.js +2 -0
  69. package/dist/chunks/avatar-S3dGy6Qc.js.map +1 -0
  70. package/dist/chunks/{badge-Bj8mf8lu.js → badge-D2oztCvs.js} +2 -1
  71. package/dist/chunks/badge-D2oztCvs.js.map +1 -0
  72. package/dist/chunks/{breadcrumb-DDxnx_iS.js → breadcrumb-s6J9itez.js} +2 -1
  73. package/dist/chunks/breadcrumb-s6J9itez.js.map +1 -0
  74. package/dist/chunks/breakpoints-CGk8szzR.js +2 -0
  75. package/dist/chunks/breakpoints-CGk8szzR.js.map +1 -0
  76. package/dist/chunks/breakpoints-ECy4lKQT.d.ts +6 -0
  77. package/dist/chunks/button-group-BGppPrIv.js +2 -0
  78. package/dist/chunks/button-group-BGppPrIv.js.map +1 -0
  79. package/dist/chunks/card-CobeDpf1.js +2 -0
  80. package/dist/chunks/card-CobeDpf1.js.map +1 -0
  81. package/dist/chunks/carousel-fTVPqnSV.js +2 -0
  82. package/dist/chunks/carousel-fTVPqnSV.js.map +1 -0
  83. package/dist/chunks/checkbox-ZyQn5Ku5.js +2 -0
  84. package/dist/chunks/checkbox-ZyQn5Ku5.js.map +1 -0
  85. package/dist/chunks/chip-input-BpVDRERg.js +2 -0
  86. package/dist/chunks/chip-input-BpVDRERg.js.map +1 -0
  87. package/dist/chunks/collapse--Go2Y73B.js +2 -0
  88. package/dist/chunks/collapse--Go2Y73B.js.map +1 -0
  89. package/dist/chunks/{color-input-CyRaLR_G.js → color-input-Bwl5ef5B.js} +2 -1
  90. package/dist/chunks/color-input-Bwl5ef5B.js.map +1 -0
  91. package/dist/chunks/combobox-Bp1tIaiW.js +2 -0
  92. package/dist/chunks/combobox-Bp1tIaiW.js.map +1 -0
  93. package/dist/chunks/context-menu-B4a0tS-h.js +2 -0
  94. package/dist/chunks/context-menu-B4a0tS-h.js.map +1 -0
  95. package/dist/chunks/datagrid-CH3Cy-q7.js +3 -0
  96. package/dist/chunks/datagrid-CH3Cy-q7.js.map +1 -0
  97. package/dist/chunks/dateRangePresets-R1FtA1zp.d.ts +2 -1
  98. package/dist/chunks/datepicker-bOiM_zhJ.js +2 -0
  99. package/dist/chunks/datepicker-bOiM_zhJ.js.map +1 -0
  100. package/dist/chunks/dialogTransition-i9vw0i2Z.js +2 -1
  101. package/dist/chunks/dialogTransition-i9vw0i2Z.js.map +1 -0
  102. package/dist/chunks/direction-LN6uwsK5.js +2 -0
  103. package/dist/chunks/direction-LN6uwsK5.js.map +1 -0
  104. package/dist/chunks/divider-CjbF4OfA.js +2 -0
  105. package/dist/chunks/divider-CjbF4OfA.js.map +1 -0
  106. package/dist/chunks/drawer-C7Tz4XU_.js +2 -0
  107. package/dist/chunks/drawer-C7Tz4XU_.js.map +1 -0
  108. package/dist/chunks/{file-input-RRqZSzjH.js → file-input-CDM6qrmV.js} +2 -1
  109. package/dist/chunks/file-input-CDM6qrmV.js.map +1 -0
  110. package/dist/chunks/flex-B52oLCCC.js +2 -0
  111. package/dist/chunks/flex-B52oLCCC.js.map +1 -0
  112. package/dist/chunks/floating-input-DmSZZc27.js +2 -0
  113. package/dist/chunks/floating-input-DmSZZc27.js.map +1 -0
  114. package/dist/chunks/focus-ring-SR_LwaN7.js +2 -1
  115. package/dist/chunks/focus-ring-SR_LwaN7.js.map +1 -0
  116. package/dist/chunks/focusRedirect-BrvK3U_o.js +2 -1
  117. package/dist/chunks/focusRedirect-BrvK3U_o.js.map +1 -0
  118. package/dist/chunks/form-GpdAyWWi.js +2 -1
  119. package/dist/chunks/form-GpdAyWWi.js.map +1 -0
  120. package/dist/chunks/form-field-CNPGTMiW.js +2 -0
  121. package/dist/chunks/form-field-CNPGTMiW.js.map +1 -0
  122. package/dist/chunks/grid-C7tO-ppc.js +2 -0
  123. package/dist/chunks/grid-C7tO-ppc.js.map +1 -0
  124. package/dist/chunks/{icon-mxYpL5nL.js → icon-BQsT6YtE.js} +2 -1
  125. package/dist/chunks/icon-BQsT6YtE.js.map +1 -0
  126. package/dist/chunks/{iconConfig-Bu6Pt9o3.d.ts → iconConfig-C6gbYhsD.d.ts} +5 -3
  127. package/dist/chunks/iconSlot-BNu2MrFI.js +2 -0
  128. package/dist/chunks/iconSlot-BNu2MrFI.js.map +1 -0
  129. package/dist/chunks/{index-BKMW0rkw.d.ts → index-0jbACjYQ.d.ts} +5 -3
  130. package/dist/chunks/{index-BO_1MN66.d.ts → index-4cKG9KWB.d.ts} +3 -5
  131. package/dist/chunks/index-6uob77s9.d.ts +2 -1
  132. package/dist/chunks/{index-tOodmT36.d.ts → index-91YA-jkp.d.ts} +4 -6
  133. package/dist/chunks/index-9rQeMqVI.d.ts +42 -0
  134. package/dist/chunks/index-B0-8n-Gs.d.ts +2 -1
  135. package/dist/chunks/{index-D9PZHY_I.d.ts → index-B19ZH3fm.d.ts} +3 -2
  136. package/dist/chunks/{index-COsIPd8L.d.ts → index-B1kw0jzM.d.ts} +3 -2
  137. package/dist/chunks/index-B2K-O9kl.d.ts +59 -0
  138. package/dist/chunks/{index-CJzKu7QI.d.ts → index-B5bF1JxF.d.ts} +3 -2
  139. package/dist/chunks/index-B8uaSJA9.d.ts +2 -1
  140. package/dist/chunks/index-BA-raEMm.d.ts +2 -1
  141. package/dist/chunks/{index-C61tPIJ-.d.ts → index-BAsbRx5n.d.ts} +6 -2
  142. package/dist/chunks/index-BF3OWUVc.d.ts +66 -0
  143. package/dist/chunks/{index-Ctuk1xBU.d.ts → index-BLS1jhSJ.d.ts} +10 -7
  144. package/dist/chunks/{index-JllMXhVx.d.ts → index-BMkbJVHg.d.ts} +22 -5
  145. package/dist/chunks/{index-DB_ToPdz.d.ts → index-BNf0jIIL.d.ts} +12 -1
  146. package/dist/chunks/{index-t_x6jj7l.d.ts → index-BOx8v-oT.d.ts} +3 -2
  147. package/dist/chunks/index-BSLneLYu.d.ts +79 -0
  148. package/dist/chunks/index-BVGGIaPX.d.ts +2 -1
  149. package/dist/chunks/{index-qgZ5VGmc.d.ts → index-B_UzbGOa.d.ts} +20 -2
  150. package/dist/chunks/{index-XjLvaH4G.d.ts → index-BfEJYF4c.d.ts} +7 -6
  151. package/dist/chunks/index-Bi8FFadV.d.ts +2 -1
  152. package/dist/chunks/index-Bkj17NEQ.d.ts +2 -1
  153. package/dist/chunks/{index--0_IpTDT.d.ts → index-BxROljJI.d.ts} +3 -2
  154. package/dist/chunks/index-Bz8MDq0H.d.ts +85 -0
  155. package/dist/chunks/{index-Cf2n0l0U.d.ts → index-C4Dks__B.d.ts} +3 -2
  156. package/dist/chunks/{index-CRfm7W6C.d.ts → index-C9gzVqwX.d.ts} +3 -2
  157. package/dist/chunks/index-CCXJXToc.d.ts +2 -1
  158. package/dist/chunks/{index-COsYSDrz.d.ts → index-CFnQubsV.d.ts} +17 -3
  159. package/dist/chunks/{index-8PhBSbNQ.d.ts → index-CHQR8x8_.d.ts} +16 -17
  160. package/dist/chunks/{index-BTTeKpiE.d.ts → index-CIwzgZJi.d.ts} +3 -2
  161. package/dist/chunks/{index-dh3TKanY.d.ts → index-CTpwB1yR.d.ts} +3 -2
  162. package/dist/chunks/{index-DR8sYtvd.d.ts → index-CYvVmTPR.d.ts} +20 -87
  163. package/dist/chunks/{index-Dum6Y9XR.d.ts → index-Cc4SSslb.d.ts} +20 -2
  164. package/dist/chunks/index-CftERHnE.d.ts +2 -1
  165. package/dist/chunks/{index-CaQ1JY5D.d.ts → index-Ci7AEgEc.d.ts} +4 -6
  166. package/dist/chunks/{index-DKma0jQw.d.ts → index-CjT_4IZx.d.ts} +4 -3
  167. package/dist/chunks/{index-BxTlIaZu.d.ts → index-CqZ68Z8R.d.ts} +125 -11
  168. package/dist/chunks/{index-D2VVO8rx.d.ts → index-CsARGAzD.d.ts} +3 -2
  169. package/dist/chunks/index-CxjNw4ss.d.ts +216 -0
  170. package/dist/chunks/index-DAoPg59I.d.ts +2 -1
  171. package/dist/chunks/index-DHGgezXU.d.ts +2 -1
  172. package/dist/chunks/index-DHOG_rjE.d.ts +121 -0
  173. package/dist/chunks/index-DHcztR18.d.ts +208 -0
  174. package/dist/chunks/index-DJfga0Ce.d.ts +57 -0
  175. package/dist/chunks/{index-DJJocp_q.d.ts → index-DM01FX3a.d.ts} +4 -3
  176. package/dist/chunks/index-DMbdEm__.d.ts +119 -0
  177. package/dist/chunks/{index-BlgkO3dn.d.ts → index-DP5xugE-.d.ts} +25 -34
  178. package/dist/chunks/index-DPCwFiJL.d.ts +95 -0
  179. package/dist/chunks/{index-BTDgfLxK.d.ts → index-DQImhbhy.d.ts} +21 -5
  180. package/dist/chunks/index-DaHQdNul.d.ts +182 -0
  181. package/dist/chunks/index-Dcc_W6Kv.d.ts +2 -1
  182. package/dist/chunks/index-Ddd7iWfm.d.ts +32 -0
  183. package/dist/chunks/index-Dfg4Ftb8.d.ts +2 -1
  184. package/dist/chunks/index-DtbUXxjz.d.ts +2 -1
  185. package/dist/chunks/{index-DPV62IdF.d.ts → index-DtvHH_Mb.d.ts} +12 -10
  186. package/dist/chunks/index-Du9fBqkT.d.ts +56 -0
  187. package/dist/chunks/index-HrKN6s8z.d.ts +2 -1
  188. package/dist/chunks/{index-ClT3E_hv.d.ts → index-NGgDkhyn.d.ts} +19 -25
  189. package/dist/chunks/{index-Dfy1YW5j.d.ts → index-U27Ar174.d.ts} +3 -2
  190. package/dist/chunks/{index-CsMIgBsd.d.ts → index-YJ9QdBuq.d.ts} +10 -10
  191. package/dist/chunks/{index-Dh5CaHTP.d.ts → index-aRdgpeRb.d.ts} +3 -2
  192. package/dist/chunks/index-g74gO0pc.d.ts +36 -0
  193. package/dist/chunks/{index-BO9jLOIb.d.ts → index-lSPcxiii.d.ts} +3 -2
  194. package/dist/chunks/{index-nklPDKlC.d.ts → index-x0vZRyoU.d.ts} +4 -3
  195. package/dist/chunks/{input-adorn-C_EHML68.js → input-adorn-DwdX-jxA.js} +2 -1
  196. package/dist/chunks/input-adorn-DwdX-jxA.js.map +1 -0
  197. package/dist/chunks/{input-group-iI7azfvE.js → input-group-Cuiuf4Dl.js} +2 -1
  198. package/dist/chunks/input-group-Cuiuf4Dl.js.map +1 -0
  199. package/dist/chunks/lazyElement-tfMG21pZ.js +2 -0
  200. package/dist/chunks/lazyElement-tfMG21pZ.js.map +1 -0
  201. package/dist/chunks/list-BQCkwWjF.js +2 -0
  202. package/dist/chunks/list-BQCkwWjF.js.map +1 -0
  203. package/dist/chunks/menu-98EAD9nj.js +2 -0
  204. package/dist/chunks/menu-98EAD9nj.js.map +1 -0
  205. package/dist/chunks/modal-bgDR29Jh.js +2 -0
  206. package/dist/chunks/modal-bgDR29Jh.js.map +1 -0
  207. package/dist/chunks/nav-TiZuTHC6.js +2 -0
  208. package/dist/chunks/nav-TiZuTHC6.js.map +1 -0
  209. package/dist/chunks/nav-overflow-Ay5mM5Gc.js +2 -0
  210. package/dist/chunks/nav-overflow-Ay5mM5Gc.js.map +1 -0
  211. package/dist/chunks/navOverflow-B5krZe6D.js +2 -0
  212. package/dist/chunks/navOverflow-B5krZe6D.js.map +1 -0
  213. package/dist/chunks/navVariant-CnD21GBS.d.ts +5 -0
  214. package/dist/chunks/navVariant-DeGTk9B7.js +2 -0
  215. package/dist/chunks/navVariant-DeGTk9B7.js.map +1 -0
  216. package/dist/chunks/navbar-DxIwt0sc.js +2 -0
  217. package/dist/chunks/navbar-DxIwt0sc.js.map +1 -0
  218. package/dist/chunks/notification-Dbci5Ka3.js +2 -0
  219. package/dist/chunks/notification-Dbci5Ka3.js.map +1 -0
  220. package/dist/chunks/number-field-IBIX2IWH.js +2 -0
  221. package/dist/chunks/number-field-IBIX2IWH.js.map +1 -0
  222. package/dist/chunks/otp-input-ws393uPB.js +2 -0
  223. package/dist/chunks/otp-input-ws393uPB.js.map +1 -0
  224. package/dist/chunks/overlayPlacement-BtS90IVf.js +2 -1
  225. package/dist/chunks/overlayPlacement-BtS90IVf.js.map +1 -0
  226. package/dist/chunks/{overlayPlacement-B7843a-Q.d.ts → overlayPlacement-CIsLpycT.d.ts} +3 -2
  227. package/dist/chunks/pagination-BkOquk-x.js +2 -0
  228. package/dist/chunks/pagination-BkOquk-x.js.map +1 -0
  229. package/dist/chunks/password-strength-DDK8pHRq.js +2 -0
  230. package/dist/chunks/password-strength-DDK8pHRq.js.map +1 -0
  231. package/dist/chunks/placeholder-BCr83sUn.js +2 -0
  232. package/dist/chunks/placeholder-BCr83sUn.js.map +1 -0
  233. package/dist/chunks/polymorphic-BhGNZQja.js +2 -0
  234. package/dist/chunks/polymorphic-BhGNZQja.js.map +1 -0
  235. package/dist/chunks/polymorphic-CVHbTHSN.d.ts +2 -1
  236. package/dist/chunks/popover-Bdg8D4sm.js +2 -0
  237. package/dist/chunks/popover-Bdg8D4sm.js.map +1 -0
  238. package/dist/chunks/{progress-DlrZ71aV.js → progress-zWkTltor.js} +2 -1
  239. package/dist/chunks/progress-zWkTltor.js.map +1 -0
  240. package/dist/chunks/radio-B6gJdtoN.js +2 -0
  241. package/dist/chunks/radio-B6gJdtoN.js.map +1 -0
  242. package/dist/chunks/{range-input-BN3430j-.js → range-input-CT_8TKL7.js} +2 -1
  243. package/dist/chunks/range-input-CT_8TKL7.js.map +1 -0
  244. package/dist/chunks/renderFormCheck-DN_-V62U.js +2 -0
  245. package/dist/chunks/renderFormCheck-DN_-V62U.js.map +1 -0
  246. package/dist/chunks/{renderFormCheck-CYWG-Rbt.d.ts → renderFormCheck-nKgpa_a3.d.ts} +4 -3
  247. package/dist/chunks/renderFormField-Brkw1yA6.js +2 -0
  248. package/dist/chunks/renderFormField-Brkw1yA6.js.map +1 -0
  249. package/dist/chunks/{renderFormField-fBEny6JV.d.ts → renderFormField-ChNagAFN.d.ts} +3 -2
  250. package/dist/chunks/{renderMenuItemContent-CmqT3YUQ.js → renderMenuItemContent-DUezZrpj.js} +2 -1
  251. package/dist/chunks/renderMenuItemContent-DUezZrpj.js.map +1 -0
  252. package/dist/chunks/scrollspy-C2HmrnZ4.js +2 -0
  253. package/dist/chunks/scrollspy-C2HmrnZ4.js.map +1 -0
  254. package/dist/chunks/scrollspy-D_lPjb92.js +2 -0
  255. package/dist/chunks/scrollspy-D_lPjb92.js.map +1 -0
  256. package/dist/chunks/search-field--nDoCI_E.js +2 -0
  257. package/dist/chunks/search-field--nDoCI_E.js.map +1 -0
  258. package/dist/chunks/select-BwJIfv9f.js +2 -0
  259. package/dist/chunks/select-BwJIfv9f.js.map +1 -0
  260. package/dist/chunks/skeleton-CmZBLJwp.js +2 -0
  261. package/dist/chunks/skeleton-CmZBLJwp.js.map +1 -0
  262. package/dist/chunks/slot-CNhFZdHF.js +2 -0
  263. package/dist/chunks/slot-CNhFZdHF.js.map +1 -0
  264. package/dist/chunks/spacingClassName-DVhk8m3P.js +2 -1
  265. package/dist/chunks/spacingClassName-DVhk8m3P.js.map +1 -0
  266. package/dist/chunks/spinner-DblhvrHL.js +2 -0
  267. package/dist/chunks/spinner-DblhvrHL.js.map +1 -0
  268. package/dist/chunks/stack-DK5F53VT.js +2 -0
  269. package/dist/chunks/stack-DK5F53VT.js.map +1 -0
  270. package/dist/chunks/static-table-D0M4oc_t.js +2 -1
  271. package/dist/chunks/static-table-D0M4oc_t.js.map +1 -0
  272. package/dist/chunks/stepper-CVXMJ2yg.js +2 -0
  273. package/dist/chunks/stepper-CVXMJ2yg.js.map +1 -0
  274. package/dist/chunks/switch-C6s3LxEv.js +2 -0
  275. package/dist/chunks/switch-C6s3LxEv.js.map +1 -0
  276. package/dist/chunks/table-Cy6uEuEP.js +2 -0
  277. package/dist/chunks/table-Cy6uEuEP.js.map +1 -0
  278. package/dist/chunks/tableClassName-CZA2Bse8.js +2 -1
  279. package/dist/chunks/tableClassName-CZA2Bse8.js.map +1 -0
  280. package/dist/chunks/tabs-91T7-8qq.js +2 -0
  281. package/dist/chunks/tabs-91T7-8qq.js.map +1 -0
  282. package/dist/chunks/text-input-B4pTv6SU.js +2 -0
  283. package/dist/chunks/text-input-B4pTv6SU.js.map +1 -0
  284. package/dist/chunks/textarea-1A1nABQE.js +2 -0
  285. package/dist/chunks/textarea-1A1nABQE.js.map +1 -0
  286. package/dist/chunks/time-field-B3MA7ED_.js +2 -0
  287. package/dist/chunks/time-field-B3MA7ED_.js.map +1 -0
  288. package/dist/chunks/toast-CGHl3-oU.js +2 -0
  289. package/dist/chunks/toast-CGHl3-oU.js.map +1 -0
  290. package/dist/chunks/tooltip-Bc-u6nIW.js +2 -0
  291. package/dist/chunks/tooltip-Bc-u6nIW.js.map +1 -0
  292. package/dist/chunks/tree-Cql1veeZ.js +2 -0
  293. package/dist/chunks/tree-Cql1veeZ.js.map +1 -0
  294. package/dist/chunks/{types-CS_40Txv.d.ts → types-D6FM7bYR.d.ts} +16 -1
  295. package/dist/chunks/unhandledProps-9Kdj7WVf.js +2 -0
  296. package/dist/chunks/unhandledProps-9Kdj7WVf.js.map +1 -0
  297. package/dist/chunks/useButtonSemantics-CILM_lhi.js +2 -1
  298. package/dist/chunks/useButtonSemantics-CILM_lhi.js.map +1 -0
  299. package/dist/chunks/useControllableState-CPUJxfKW.js +2 -0
  300. package/dist/chunks/useControllableState-CPUJxfKW.js.map +1 -0
  301. package/dist/chunks/useDialogElement-CgOnJAzu.js +2 -0
  302. package/dist/chunks/useDialogElement-CgOnJAzu.js.map +1 -0
  303. package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js +2 -1
  304. package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js.map +1 -0
  305. package/dist/chunks/useFloatingOverlay-DLIvwx-8.js +2 -0
  306. package/dist/chunks/useFloatingOverlay-DLIvwx-8.js.map +1 -0
  307. package/dist/chunks/useForkedRef-DVEfT-KI.js +2 -1
  308. package/dist/chunks/useForkedRef-DVEfT-KI.js.map +1 -0
  309. package/dist/chunks/useFormField-BOqmBTC4.js +2 -1
  310. package/dist/chunks/useFormField-BOqmBTC4.js.map +1 -0
  311. package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js +2 -1
  312. package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js.map +1 -0
  313. package/dist/chunks/useOpenStateProps-DykUbnPJ.js +2 -0
  314. package/dist/chunks/useOpenStateProps-DykUbnPJ.js.map +1 -0
  315. package/dist/chunks/useToastRegionQueue-CIV5SdiE.js +2 -0
  316. package/dist/chunks/useToastRegionQueue-CIV5SdiE.js.map +1 -0
  317. package/dist/chunks/useTransitionState-e5ToY7eX.js +2 -0
  318. package/dist/chunks/useTransitionState-e5ToY7eX.js.map +1 -0
  319. package/dist/chunks/validationClassName-gRGs4KBm.js +2 -1
  320. package/dist/chunks/validationClassName-gRGs4KBm.js.map +1 -0
  321. package/dist/chunks/visibleState-B_i1zHu2.js +2 -0
  322. package/dist/chunks/visibleState-B_i1zHu2.js.map +1 -0
  323. package/dist/close-button.d.ts +1 -1
  324. package/dist/close-button.js +1 -1
  325. package/dist/collapse.js +1 -1
  326. package/dist/color-input.js +1 -1
  327. package/dist/combobox.js +1 -1
  328. package/dist/context-menu.d.ts +2 -0
  329. package/dist/context-menu.js +1 -0
  330. package/dist/datagrid.d.ts +1 -1
  331. package/dist/datagrid.js +1 -1
  332. package/dist/datepicker.d.ts +1 -1
  333. package/dist/datepicker.js +1 -1
  334. package/dist/divider.d.ts +2 -0
  335. package/dist/divider.js +1 -0
  336. package/dist/drawer.d.ts +1 -1
  337. package/dist/drawer.js +1 -1
  338. package/dist/file-input.js +1 -1
  339. package/dist/flex.d.ts +1 -1
  340. package/dist/flex.js +1 -1
  341. package/dist/floating-input.d.ts +1 -1
  342. package/dist/floating-input.js +1 -1
  343. package/dist/form-field.d.ts +1 -1
  344. package/dist/form-field.js +1 -1
  345. package/dist/form.js +1 -1
  346. package/dist/grid.d.ts +2 -2
  347. package/dist/grid.js +1 -1
  348. package/dist/icon.d.ts +2 -2
  349. package/dist/icon.js +1 -1
  350. package/dist/index.d.ts +61 -49
  351. package/dist/index.js +1 -1
  352. package/dist/input-adorn.js +1 -1
  353. package/dist/input-group.js +1 -1
  354. package/dist/link.d.ts +1 -1
  355. package/dist/link.js +1 -1
  356. package/dist/list.d.ts +1 -1
  357. package/dist/list.js +1 -1
  358. package/dist/menu.d.ts +2 -1
  359. package/dist/menu.js +1 -1
  360. package/dist/modal.d.ts +1 -1
  361. package/dist/modal.js +1 -1
  362. package/dist/nav-overflow.d.ts +2 -0
  363. package/dist/nav-overflow.js +1 -0
  364. package/dist/nav.d.ts +2 -2
  365. package/dist/nav.js +1 -1
  366. package/dist/navbar.d.ts +1 -1
  367. package/dist/navbar.js +1 -1
  368. package/dist/notification.d.ts +1 -1
  369. package/dist/notification.js +1 -1
  370. package/dist/number-field.d.ts +2 -0
  371. package/dist/number-field.js +1 -0
  372. package/dist/otp-input.js +1 -1
  373. package/dist/pagination.d.ts +1 -1
  374. package/dist/pagination.js +1 -1
  375. package/dist/password-strength.d.ts +1 -1
  376. package/dist/password-strength.js +1 -1
  377. package/dist/placeholder.d.ts +1 -1
  378. package/dist/placeholder.js +1 -1
  379. package/dist/popover.d.ts +1 -1
  380. package/dist/popover.js +1 -1
  381. package/dist/portal.d.ts +2 -0
  382. package/dist/portal.js +1 -0
  383. package/dist/progress.d.ts +1 -1
  384. package/dist/progress.js +1 -1
  385. package/dist/radio.d.ts +1 -1
  386. package/dist/radio.js +1 -1
  387. package/dist/range-input.js +1 -1
  388. package/dist/scrollspy.d.ts +2 -0
  389. package/dist/scrollspy.js +1 -0
  390. package/dist/search-field.d.ts +2 -0
  391. package/dist/search-field.js +1 -0
  392. package/dist/select.js +1 -1
  393. package/dist/skeleton.d.ts +1 -1
  394. package/dist/skeleton.js +1 -1
  395. package/dist/spinner.d.ts +1 -1
  396. package/dist/spinner.js +1 -1
  397. package/dist/stack.d.ts +1 -1
  398. package/dist/stack.js +1 -1
  399. package/dist/static-table.d.ts +1 -1
  400. package/dist/stepper.d.ts +1 -1
  401. package/dist/stepper.js +1 -1
  402. package/dist/style.css +1 -1
  403. package/dist/switch.d.ts +1 -1
  404. package/dist/switch.js +1 -1
  405. package/dist/table.d.ts +1 -1
  406. package/dist/table.js +1 -1
  407. package/dist/tabs.d.ts +1 -1
  408. package/dist/tabs.js +1 -1
  409. package/dist/text-input.js +1 -1
  410. package/dist/textarea.js +1 -1
  411. package/dist/time-field.d.ts +2 -0
  412. package/dist/time-field.js +1 -0
  413. package/dist/toast.d.ts +1 -1
  414. package/dist/toast.js +1 -1
  415. package/dist/tooltip.d.ts +1 -1
  416. package/dist/tooltip.js +1 -1
  417. package/dist/tree.d.ts +2 -0
  418. package/dist/tree.js +1 -0
  419. package/dist/visually-hidden.d.ts +2 -0
  420. package/dist/visually-hidden.js +1 -0
  421. package/package.json +61 -52
  422. package/dist/chunks/Button-I0aUy5h-.js +0 -1
  423. package/dist/chunks/Chip-D0Cw0mAr.js +0 -1
  424. package/dist/chunks/CloseButton-DJM7FRKh.js +0 -1
  425. package/dist/chunks/ComboboxListBox-BhO8uRNg.js +0 -1
  426. package/dist/chunks/Icon-BIwkD-kx.js +0 -1
  427. package/dist/chunks/Link-Cq7FNWpm.js +0 -1
  428. package/dist/chunks/RangeCalendar-COnSfurr.js +0 -1
  429. package/dist/chunks/accordion-okRicuG5.js +0 -1
  430. package/dist/chunks/autocomplete-B0xTc6kg.js +0 -1
  431. package/dist/chunks/avatar-Bjm0DlPO.js +0 -1
  432. package/dist/chunks/breakpoints-SLMTNHF9.d.ts +0 -5
  433. package/dist/chunks/breakpoints-o_2Ev7ir.js +0 -1
  434. package/dist/chunks/button-group-CPZYA6aZ.js +0 -1
  435. package/dist/chunks/card-DfF2K_5p.js +0 -1
  436. package/dist/chunks/carousel-DEvwcA7H.js +0 -1
  437. package/dist/chunks/checkbox-BFPS0pD6.js +0 -1
  438. package/dist/chunks/chip-input-CB1lE6vP.js +0 -1
  439. package/dist/chunks/collapse-WifcChO8.js +0 -1
  440. package/dist/chunks/combobox-DWEj-Sv7.js +0 -1
  441. package/dist/chunks/datagrid-nbnNThsT.js +0 -2
  442. package/dist/chunks/datepicker-CslLKMm1.js +0 -1
  443. package/dist/chunks/direction-CPhdeL3A.js +0 -1
  444. package/dist/chunks/drawer-zReFjoJG.js +0 -1
  445. package/dist/chunks/flex-BTvpgaRv.js +0 -1
  446. package/dist/chunks/floating-input-CIC9Lm2a.js +0 -1
  447. package/dist/chunks/form-field-BjQ9SIjx.js +0 -1
  448. package/dist/chunks/grid-CuFw89yV.js +0 -1
  449. package/dist/chunks/iconSlot-BmWxJh27.js +0 -1
  450. package/dist/chunks/index-BDfh8YBc.d.ts +0 -39
  451. package/dist/chunks/index-CVUMS0x7.d.ts +0 -73
  452. package/dist/chunks/index-D949AidR.d.ts +0 -40
  453. package/dist/chunks/index-DEb9zXlC.d.ts +0 -210
  454. package/dist/chunks/list-CMr-wB9d.js +0 -1
  455. package/dist/chunks/menu-CXUc-Gva.js +0 -1
  456. package/dist/chunks/modal-ByIj71Mq.js +0 -1
  457. package/dist/chunks/nav-BldxFo_B.js +0 -1
  458. package/dist/chunks/navbar-BwcsQuBk.js +0 -1
  459. package/dist/chunks/notification-DdqigVB1.js +0 -1
  460. package/dist/chunks/otp-input-CXe_wkII.js +0 -1
  461. package/dist/chunks/pagination-BOpEAYW2.js +0 -1
  462. package/dist/chunks/password-strength-BfLiYiGj.js +0 -1
  463. package/dist/chunks/placeholder-pg95KELl.js +0 -1
  464. package/dist/chunks/polymorphic-CACPOv1_.js +0 -1
  465. package/dist/chunks/popover-BpSfnZzk.js +0 -1
  466. package/dist/chunks/radio-BV7Sq6D1.js +0 -1
  467. package/dist/chunks/renderFormCheck-BXBs6_ov.js +0 -1
  468. package/dist/chunks/renderFormField-wiaxvvLG.js +0 -1
  469. package/dist/chunks/select-CclIIux8.js +0 -1
  470. package/dist/chunks/skeleton-CKq76sE_.js +0 -1
  471. package/dist/chunks/spinner-BEq4PAlu.js +0 -1
  472. package/dist/chunks/stack-D3retZ-W.js +0 -1
  473. package/dist/chunks/stepper-CTa6e8uv.js +0 -1
  474. package/dist/chunks/switch-BmHpq4tL.js +0 -1
  475. package/dist/chunks/table-Fme9GbAR.js +0 -1
  476. package/dist/chunks/tabs-BnbMJM_b.js +0 -1
  477. package/dist/chunks/text-input-DD3d08Yf.js +0 -1
  478. package/dist/chunks/textarea-C0qQdCcu.js +0 -1
  479. package/dist/chunks/toast-BQhZ2pv5.js +0 -1
  480. package/dist/chunks/tooltip-DHtVAYUo.js +0 -1
  481. package/dist/chunks/triggerElement-BIqA4KqZ.js +0 -1
  482. package/dist/chunks/useDialogElement-BRIU60cT.js +0 -1
  483. package/dist/chunks/useFloatingOverlay-CcmDZKMK.js +0 -1
  484. package/dist/chunks/useToastRegionQueue-BH6bWZ73.js +0 -1
  485. package/src/components/accordion/Accordion.tsx +0 -190
  486. package/src/components/accordion/AccordionBody.tsx +0 -46
  487. package/src/components/accordion/AccordionHeader.tsx +0 -21
  488. package/src/components/accordion/AccordionItem.tsx +0 -59
  489. package/src/components/accordion/context.ts +0 -8
  490. package/src/components/accordion/index.ts +0 -12
  491. package/src/components/autocomplete/Autocomplete.tsx +0 -464
  492. package/src/components/autocomplete/AutocompleteGroup.tsx +0 -20
  493. package/src/components/autocomplete/AutocompleteItem.tsx +0 -18
  494. package/src/components/autocomplete/index.ts +0 -10
  495. package/src/components/avatar/Avatar.tsx +0 -137
  496. package/src/components/avatar/AvatarImage.tsx +0 -19
  497. package/src/components/avatar/AvatarStack.tsx +0 -98
  498. package/src/components/avatar/index.ts +0 -10
  499. package/src/components/badge/Badge.tsx +0 -94
  500. package/src/components/badge/index.ts +0 -6
  501. package/src/components/breadcrumb/Breadcrumb.tsx +0 -68
  502. package/src/components/breadcrumb/BreadcrumbItem.tsx +0 -38
  503. package/src/components/breadcrumb/index.ts +0 -8
  504. package/src/components/button/Button.tsx +0 -232
  505. package/src/components/button/index.ts +0 -6
  506. package/src/components/button-group/ButtonGroup.tsx +0 -55
  507. package/src/components/button-group/ButtonToolbar.tsx +0 -47
  508. package/src/components/button-group/index.ts +0 -8
  509. package/src/components/calendar/Calendar.scss +0 -57
  510. package/src/components/calendar/Calendar.tsx +0 -338
  511. package/src/components/calendar/CalendarMonthBlock.tsx +0 -57
  512. package/src/components/calendar/CalendarMonthGrid.tsx +0 -94
  513. package/src/components/calendar/CalendarMonthYearPicker.tsx +0 -164
  514. package/src/components/calendar/CalendarNavButton.tsx +0 -24
  515. package/src/components/calendar/CalendarWeekGrid.tsx +0 -58
  516. package/src/components/calendar/CalendarYearGrid.tsx +0 -128
  517. package/src/components/calendar/RangeCalendar.scss +0 -95
  518. package/src/components/calendar/RangeCalendar.tsx +0 -373
  519. package/src/components/calendar/index.ts +0 -10
  520. package/src/components/calendar/labels.tsx +0 -71
  521. package/src/components/card/Card.tsx +0 -173
  522. package/src/components/card/CardBody.tsx +0 -75
  523. package/src/components/card/CardFooter.tsx +0 -47
  524. package/src/components/card/CardGroup.tsx +0 -51
  525. package/src/components/card/CardHeader.tsx +0 -47
  526. package/src/components/card/CardImage.tsx +0 -70
  527. package/src/components/card/CardImageOverlay.tsx +0 -47
  528. package/src/components/card/CardLink.tsx +0 -40
  529. package/src/components/card/CardSubtitle.tsx +0 -47
  530. package/src/components/card/CardText.tsx +0 -47
  531. package/src/components/card/CardTitle.tsx +0 -47
  532. package/src/components/card/index.ts +0 -26
  533. package/src/components/carousel/Carousel.tsx +0 -753
  534. package/src/components/carousel/CarouselControlButton.tsx +0 -81
  535. package/src/components/carousel/CarouselControlNext.tsx +0 -28
  536. package/src/components/carousel/CarouselControlPrev.tsx +0 -28
  537. package/src/components/carousel/CarouselIndicators.tsx +0 -44
  538. package/src/components/carousel/CarouselInner.tsx +0 -56
  539. package/src/components/carousel/CarouselItem.tsx +0 -51
  540. package/src/components/carousel/CarouselOverlay.tsx +0 -51
  541. package/src/components/carousel/CarouselPlayPause.tsx +0 -84
  542. package/src/components/carousel/carouselEngine.ts +0 -170
  543. package/src/components/carousel/context.ts +0 -29
  544. package/src/components/carousel/index.ts +0 -25
  545. package/src/components/checkbox/Checkbox.tsx +0 -252
  546. package/src/components/checkbox/CheckboxGroup.tsx +0 -145
  547. package/src/components/checkbox/context.ts +0 -14
  548. package/src/components/checkbox/index.ts +0 -8
  549. package/src/components/chip/Chip.tsx +0 -184
  550. package/src/components/chip/index.ts +0 -6
  551. package/src/components/chip-input/ChipInput.tsx +0 -371
  552. package/src/components/chip-input/ChipList.tsx +0 -95
  553. package/src/components/chip-input/index.ts +0 -6
  554. package/src/components/close-button/CloseButton.tsx +0 -205
  555. package/src/components/close-button/index.ts +0 -6
  556. package/src/components/collapse/Collapse.tsx +0 -128
  557. package/src/components/collapse/index.ts +0 -6
  558. package/src/components/color-input/ColorInput.tsx +0 -106
  559. package/src/components/color-input/index.ts +0 -6
  560. package/src/components/combobox/Combobox.tsx +0 -320
  561. package/src/components/combobox/ComboboxGroup.tsx +0 -27
  562. package/src/components/combobox/ComboboxItem.tsx +0 -44
  563. package/src/components/combobox/ComboboxListBox.tsx +0 -98
  564. package/src/components/combobox/index.ts +0 -10
  565. package/src/components/datagrid/DataGrid.scss +0 -203
  566. package/src/components/datagrid/DataGrid.tsx +0 -259
  567. package/src/components/datagrid/DataGridBody.tsx +0 -162
  568. package/src/components/datagrid/DataGridCell.tsx +0 -47
  569. package/src/components/datagrid/DataGridColumn.tsx +0 -109
  570. package/src/components/datagrid/DataGridHeader.tsx +0 -47
  571. package/src/components/datagrid/DataGridPinBehavior.tsx +0 -225
  572. package/src/components/datagrid/DataGridRow.tsx +0 -48
  573. package/src/components/datagrid/DataGridSelectionCell.tsx +0 -74
  574. package/src/components/datagrid/DataGridTableLayout.ts +0 -30
  575. package/src/components/datagrid/index.ts +0 -18
  576. package/src/components/datagrid/useColumnGeometry.ts +0 -161
  577. package/src/components/datepicker/CalendarToggleButton.tsx +0 -58
  578. package/src/components/datepicker/ClearButton.tsx +0 -38
  579. package/src/components/datepicker/DateField.tsx +0 -54
  580. package/src/components/datepicker/DatePicker.scss +0 -51
  581. package/src/components/datepicker/DatePicker.tsx +0 -606
  582. package/src/components/datepicker/DateRangePicker.scss +0 -11
  583. package/src/components/datepicker/DateRangePicker.tsx +0 -361
  584. package/src/components/datepicker/index.ts +0 -8
  585. package/src/components/datepicker/renderDatePickerShell.tsx +0 -104
  586. package/src/components/drawer/Drawer.tsx +0 -213
  587. package/src/components/drawer/DrawerBody.tsx +0 -47
  588. package/src/components/drawer/DrawerFooter.tsx +0 -51
  589. package/src/components/drawer/DrawerHeader.tsx +0 -60
  590. package/src/components/drawer/DrawerTitle.tsx +0 -49
  591. package/src/components/drawer/index.ts +0 -18
  592. package/src/components/file-input/FileInput.tsx +0 -100
  593. package/src/components/file-input/index.ts +0 -6
  594. package/src/components/flex/Flex.tsx +0 -134
  595. package/src/components/flex/index.ts +0 -6
  596. package/src/components/floating-input/FloatingInput.tsx +0 -94
  597. package/src/components/floating-input/index.ts +0 -6
  598. package/src/components/form/Form.tsx +0 -26
  599. package/src/components/form/FormFeedback.tsx +0 -64
  600. package/src/components/form/FormHelp.tsx +0 -46
  601. package/src/components/form/FormLabel.tsx +0 -26
  602. package/src/components/form/index.ts +0 -12
  603. package/src/components/form/renderFormCheck.tsx +0 -86
  604. package/src/components/form-field/FormField.tsx +0 -84
  605. package/src/components/form-field/index.ts +0 -6
  606. package/src/components/form-field/renderFormField.tsx +0 -85
  607. package/src/components/grid/Col.tsx +0 -69
  608. package/src/components/grid/Container.tsx +0 -59
  609. package/src/components/grid/Grid.tsx +0 -86
  610. package/src/components/grid/GridItem.tsx +0 -123
  611. package/src/components/grid/Row.tsx +0 -71
  612. package/src/components/grid/gap.ts +0 -8
  613. package/src/components/grid/index.ts +0 -14
  614. package/src/components/icon/Icon.tsx +0 -105
  615. package/src/components/icon/IconProvider.tsx +0 -40
  616. package/src/components/icon/index.ts +0 -9
  617. package/src/components/input-adorn/InputAdorn.tsx +0 -55
  618. package/src/components/input-adorn/index.ts +0 -6
  619. package/src/components/input-group/InputGroup.tsx +0 -50
  620. package/src/components/input-group/InputGroupAddon.tsx +0 -50
  621. package/src/components/input-group/index.ts +0 -8
  622. package/src/components/link/Link.tsx +0 -148
  623. package/src/components/link/index.ts +0 -6
  624. package/src/components/list/List.tsx +0 -193
  625. package/src/components/list/ListItem.tsx +0 -91
  626. package/src/components/list/index.ts +0 -8
  627. package/src/components/menu/Menu.tsx +0 -408
  628. package/src/components/menu/MenuDivider.tsx +0 -19
  629. package/src/components/menu/MenuHeader.tsx +0 -55
  630. package/src/components/menu/MenuItem.tsx +0 -85
  631. package/src/components/menu/MenuItemDef.ts +0 -83
  632. package/src/components/menu/MenuList.tsx +0 -142
  633. package/src/components/menu/MenuSubmenu.tsx +0 -284
  634. package/src/components/menu/MenuSubmenuBack.tsx +0 -39
  635. package/src/components/menu/MenuText.tsx +0 -47
  636. package/src/components/menu/MenuToggle.tsx +0 -148
  637. package/src/components/menu/index.ts +0 -23
  638. package/src/components/menu/menuNavigation.ts +0 -106
  639. package/src/components/menu/submenuGroup.ts +0 -43
  640. package/src/components/modal/Modal.tsx +0 -164
  641. package/src/components/modal/ModalBody.tsx +0 -47
  642. package/src/components/modal/ModalFooter.tsx +0 -51
  643. package/src/components/modal/ModalHeader.tsx +0 -60
  644. package/src/components/modal/ModalTitle.tsx +0 -49
  645. package/src/components/modal/index.ts +0 -18
  646. package/src/components/nav/Nav.tsx +0 -97
  647. package/src/components/nav/NavItem.tsx +0 -42
  648. package/src/components/nav/NavLink.tsx +0 -48
  649. package/src/components/nav/NavTitle.tsx +0 -22
  650. package/src/components/nav/index.ts +0 -11
  651. package/src/components/navbar/Navbar.tsx +0 -112
  652. package/src/components/navbar/NavbarBrand.tsx +0 -58
  653. package/src/components/navbar/NavbarNav.tsx +0 -47
  654. package/src/components/navbar/NavbarText.tsx +0 -47
  655. package/src/components/navbar/NavbarToggler.tsx +0 -40
  656. package/src/components/navbar/index.ts +0 -14
  657. package/src/components/notification/Notification.scss +0 -15
  658. package/src/components/notification/Notification.tsx +0 -188
  659. package/src/components/notification/NotificationIcon.tsx +0 -21
  660. package/src/components/notification/NotificationStack.tsx +0 -66
  661. package/src/components/notification/NotificationText.tsx +0 -47
  662. package/src/components/notification/NotificationTitle.tsx +0 -47
  663. package/src/components/notification/context.ts +0 -14
  664. package/src/components/notification/index.ts +0 -25
  665. package/src/components/notification/notificationQueue.ts +0 -48
  666. package/src/components/otp-input/OtpBox.tsx +0 -68
  667. package/src/components/otp-input/OtpInput.tsx +0 -342
  668. package/src/components/otp-input/index.ts +0 -6
  669. package/src/components/pagination/Pagination.tsx +0 -212
  670. package/src/components/pagination/PaginationItem.tsx +0 -152
  671. package/src/components/pagination/index.ts +0 -12
  672. package/src/components/password-strength/PasswordStrength.tsx +0 -155
  673. package/src/components/password-strength/index.ts +0 -6
  674. package/src/components/password-strength/strengthScore.ts +0 -79
  675. package/src/components/placeholder/Placeholder.tsx +0 -178
  676. package/src/components/placeholder/index.ts +0 -6
  677. package/src/components/popover/Popover.tsx +0 -269
  678. package/src/components/popover/index.ts +0 -6
  679. package/src/components/progress/Progress.tsx +0 -154
  680. package/src/components/progress/ProgressBar.tsx +0 -88
  681. package/src/components/progress/index.ts +0 -8
  682. package/src/components/radio/Radio.tsx +0 -98
  683. package/src/components/radio/RadioGroup.tsx +0 -142
  684. package/src/components/radio/context.ts +0 -14
  685. package/src/components/radio/index.ts +0 -8
  686. package/src/components/range-input/RangeInput.tsx +0 -109
  687. package/src/components/range-input/index.ts +0 -6
  688. package/src/components/select/Select.tsx +0 -277
  689. package/src/components/select/index.ts +0 -6
  690. package/src/components/skeleton/Skeleton.tsx +0 -89
  691. package/src/components/skeleton/SkeletonLoader.tsx +0 -98
  692. package/src/components/skeleton/index.ts +0 -8
  693. package/src/components/spinner/Spinner.tsx +0 -77
  694. package/src/components/spinner/index.ts +0 -6
  695. package/src/components/stack/Stack.tsx +0 -81
  696. package/src/components/stack/index.ts +0 -6
  697. package/src/components/static-table/StaticTable.tsx +0 -78
  698. package/src/components/static-table/index.ts +0 -8
  699. package/src/components/stepper/Stepper.tsx +0 -172
  700. package/src/components/stepper/StepperItem.tsx +0 -66
  701. package/src/components/stepper/index.ts +0 -8
  702. package/src/components/switch/Switch.tsx +0 -259
  703. package/src/components/switch/index.ts +0 -6
  704. package/src/components/table/Table.css +0 -39
  705. package/src/components/table/Table.tsx +0 -405
  706. package/src/components/table/TableBody.tsx +0 -25
  707. package/src/components/table/TableCell.tsx +0 -27
  708. package/src/components/table/TableColumn.tsx +0 -31
  709. package/src/components/table/TableHeader.tsx +0 -26
  710. package/src/components/table/TableRow.tsx +0 -24
  711. package/src/components/table/index.ts +0 -16
  712. package/src/components/tabs/Tab.tsx +0 -36
  713. package/src/components/tabs/TabList.tsx +0 -76
  714. package/src/components/tabs/TabPanel.tsx +0 -68
  715. package/src/components/tabs/Tabs.tsx +0 -136
  716. package/src/components/tabs/context.ts +0 -24
  717. package/src/components/tabs/index.ts +0 -12
  718. package/src/components/text-input/TextInput.tsx +0 -188
  719. package/src/components/text-input/index.ts +0 -6
  720. package/src/components/textarea/Textarea.tsx +0 -145
  721. package/src/components/textarea/index.ts +0 -6
  722. package/src/components/toast/Toast.tsx +0 -220
  723. package/src/components/toast/ToastBody.tsx +0 -64
  724. package/src/components/toast/ToastFooter.tsx +0 -47
  725. package/src/components/toast/ToastHeader.tsx +0 -105
  726. package/src/components/toast/ToastIcon.tsx +0 -21
  727. package/src/components/toast/Toaster.tsx +0 -87
  728. package/src/components/toast/context.ts +0 -14
  729. package/src/components/toast/index.ts +0 -26
  730. package/src/components/toast/toastQueue.ts +0 -56
  731. package/src/components/tooltip/Tooltip.tsx +0 -171
  732. package/src/components/tooltip/index.ts +0 -6
  733. package/src/global.d.ts +0 -2
  734. package/src/hooks/index.ts +0 -57
  735. package/src/hooks/useAutoDismiss.ts +0 -91
  736. package/src/hooks/useButtonSemantics.ts +0 -33
  737. package/src/hooks/useControllableState.ts +0 -24
  738. package/src/hooks/useDialogElement.ts +0 -226
  739. package/src/hooks/useDisabledAnchorGuard.ts +0 -22
  740. package/src/hooks/useDismissibleTransition.ts +0 -126
  741. package/src/hooks/useDrawer.ts +0 -9
  742. package/src/hooks/useFloatingOverlay.ts +0 -125
  743. package/src/hooks/useForkedRef.ts +0 -50
  744. package/src/hooks/useFormField.ts +0 -89
  745. package/src/hooks/useIconConfig.ts +0 -6
  746. package/src/hooks/useIsomorphicLayoutEffect.ts +0 -9
  747. package/src/hooks/useModal.ts +0 -9
  748. package/src/hooks/useNotification.ts +0 -10
  749. package/src/hooks/useOverlayPlacement.ts +0 -93
  750. package/src/hooks/usePagination.ts +0 -89
  751. package/src/hooks/useToast.ts +0 -9
  752. package/src/hooks/useToastRegionQueue.ts +0 -27
  753. package/src/index.ts +0 -522
  754. package/src/types.ts +0 -133
  755. package/src/utils/breakpoints.ts +0 -43
  756. package/src/utils/comboboxCollection.tsx +0 -152
  757. package/src/utils/dateRangePresets.ts +0 -6
  758. package/src/utils/devWarning.ts +0 -58
  759. package/src/utils/dialogTransition.ts +0 -39
  760. package/src/utils/direction.ts +0 -14
  761. package/src/utils/focusRedirect.ts +0 -23
  762. package/src/utils/iconConfig.ts +0 -88
  763. package/src/utils/iconSlot.tsx +0 -41
  764. package/src/utils/isWholeUnitDisabled.ts +0 -17
  765. package/src/utils/mergeIsDateUnavailable.ts +0 -15
  766. package/src/utils/overlayPlacement.ts +0 -93
  767. package/src/utils/pointerInteraction.ts +0 -21
  768. package/src/utils/polymorphic.ts +0 -100
  769. package/src/utils/renderMenuItemContent.tsx +0 -57
  770. package/src/utils/setVisibleRangeStart.ts +0 -64
  771. package/src/utils/slot.tsx +0 -78
  772. package/src/utils/spacingClassName.ts +0 -14
  773. package/src/utils/suppressFocusRingGlobally.ts +0 -84
  774. package/src/utils/tableClassName.ts +0 -93
  775. package/src/utils/triggerElement.ts +0 -25
  776. package/src/utils/validationClassName.ts +0 -8
  777. package/src/utils/virtualFocusStyle.ts +0 -16
@@ -1,19 +0,0 @@
1
- import React, { forwardRef, HTMLAttributes } from 'react'
2
- import classNames from 'classnames'
3
-
4
- export interface MenuDividerProps extends HTMLAttributes<HTMLHRElement> {
5
- /**
6
- * A string of all className you want applied to the component.
7
- */
8
- className?: string
9
- }
10
-
11
- export const MenuDivider = forwardRef<HTMLHRElement, MenuDividerProps>(
12
- ({ className, ...rest }, ref) => {
13
- const _className = classNames('menu-divider', className)
14
-
15
- return <hr className={_className} {...rest} ref={ref} />
16
- }
17
- )
18
-
19
- MenuDivider.displayName = 'MenuDivider'
@@ -1,55 +0,0 @@
1
- import React, { ElementType, ForwardRefRenderFunction, ReactElement } from 'react'
2
- import classNames from 'classnames'
3
-
4
- import {
5
- createPolymorphicComponent,
6
- PolymorphicComponentProps,
7
- PolymorphicRef
8
- } from '../../utils/polymorphic'
9
-
10
- type MenuHeaderOwnProps<C extends ElementType> = {
11
- /**
12
- * A string of all className you want applied to the component.
13
- */
14
- className?: string
15
- /**
16
- * Component used for the root node. Either a string to use a HTML element or a component.
17
- */
18
- component?: C
19
- /**
20
- * ARIA role applied to the root node. Defaults to `'presentation'` — see the render function
21
- * for why.
22
- */
23
- role?: React.AriaRole
24
- }
25
-
26
- export type MenuHeaderProps<C extends ElementType = 'h4'> = PolymorphicComponentProps<
27
- C,
28
- MenuHeaderOwnProps<C>
29
- >
30
-
31
- type MenuHeaderComponent = (<C extends ElementType = 'h4'>(
32
- props: MenuHeaderProps<C> & { ref?: PolymorphicRef<C> }
33
- ) => ReactElement | null) & { displayName?: string }
34
-
35
- function MenuHeaderRender<C extends ElementType = 'h4'>(
36
- { children, className, component, role = 'presentation', ...rest }: MenuHeaderProps<C>,
37
- ref: PolymorphicRef<C>
38
- ) {
39
- const Component = component ?? 'h4'
40
- const _className = classNames('menu-header', className)
41
-
42
- // Always rendered as a direct child of `role="menu"` (see MenuList) — ARIA's menu role only
43
- // permits menuitem/group/separator children, so a bare heading fails aria-required-children.
44
- // `role="presentation"` opts the element itself out without hiding its text content.
45
- return (
46
- <Component className={_className} role={role} {...rest} ref={ref}>
47
- {children}
48
- </Component>
49
- )
50
- }
51
-
52
- export const MenuHeader = createPolymorphicComponent<MenuHeaderComponent>(
53
- MenuHeaderRender as ForwardRefRenderFunction<Element, MenuHeaderProps<ElementType>>,
54
- 'MenuHeader'
55
- )
@@ -1,85 +0,0 @@
1
- import React, {
2
- ElementType,
3
- ForwardRefRenderFunction,
4
- MouseEvent,
5
- ReactElement,
6
- ReactNode
7
- } from 'react'
8
- import classNames from 'classnames'
9
-
10
- import { createPolymorphicComponent, PolymorphicRef } from '../../utils/polymorphic'
11
- import { renderMenuItemContent } from '../../utils/renderMenuItemContent'
12
- import { LinkProps, Link } from '../link/Link'
13
-
14
- type MenuItemOwnProps = {
15
- /**
16
- * A string of all className you want applied to the component.
17
- */
18
- className?: string
19
- /**
20
- * Secondary line of text rendered below `children` (`.menu-item-description`).
21
- */
22
- description?: ReactNode
23
- /**
24
- * Icon rendered at the item's leading edge (`.menu-item-icon`).
25
- */
26
- icon?: ReactNode
27
- /**
28
- * Marks the item as the current selection in a choice list. Renders in a heavier font weight.
29
- * Combine with a manually-composed `.menu-item-check` icon (in `children`, or via `icon` on a
30
- * plain, non-selection item) to also show a checkmark — this prop alone doesn't add one, so
31
- * existing font-weight-only usage keeps rendering unchanged.
32
- */
33
- selected?: boolean
34
- }
35
-
36
- export type MenuItemProps<C extends ElementType = 'a'> = LinkProps<C> & MenuItemOwnProps
37
-
38
- type MenuItemComponent = (<C extends ElementType = 'a'>(
39
- props: MenuItemProps<C> & { ref?: PolymorphicRef<C> }
40
- ) => ReactElement | null) & { displayName?: string }
41
-
42
- function MenuItemRender<C extends ElementType = 'a'>(
43
- {
44
- children,
45
- className,
46
- component,
47
- description,
48
- href,
49
- icon,
50
- onClick,
51
- selected,
52
- ...rest
53
- }: MenuItemProps<C>,
54
- ref: PolymorphicRef<C>
55
- ) {
56
- const _className = classNames('menu-item', { selected }, className)
57
-
58
- // `href="#"` is a common placeholder for menu items that act via `onClick` rather than
59
- // real navigation. Left alone, a plain anchor click still navigates to the empty fragment,
60
- // which scrolls the page to the top — so we suppress that default for the placeholder case
61
- // only, leaving real same-page anchors (`href="#some-id"`) free to navigate as expected.
62
- const handleClick = (event: MouseEvent<HTMLAnchorElement | HTMLButtonElement>) => {
63
- if (href === '#') event.preventDefault()
64
- onClick?.(event)
65
- }
66
-
67
- return (
68
- <Link
69
- role="menuitem"
70
- component={component as ElementType}
71
- href={href}
72
- onClick={handleClick}
73
- {...(rest as Record<string, unknown>)}
74
- className={_className}
75
- ref={ref as PolymorphicRef<ElementType>}
76
- >
77
- {renderMenuItemContent({ icon, label: children, description })}
78
- </Link>
79
- )
80
- }
81
-
82
- export const MenuItem = createPolymorphicComponent<MenuItemComponent>(
83
- MenuItemRender as ForwardRefRenderFunction<Element, MenuItemProps<ElementType>>,
84
- 'MenuItem'
85
- )
@@ -1,83 +0,0 @@
1
- import { ReactNode } from 'react'
2
- import { Key } from 'react-stately'
3
-
4
- export interface MenuItemDef {
5
- /**
6
- * Discriminates this entry from `MenuHeaderDef`/`MenuDividerDef` in a `MenuItemsDef`
7
- * array. Omit for a normal item — it's the default.
8
- */
9
- type?: 'item'
10
- /**
11
- * React key for this item.
12
- */
13
- id: Key
14
- /**
15
- * Label content for the item.
16
- */
17
- label: ReactNode
18
- /**
19
- * Text used for filtering/typeahead. Required when `label` isn't a plain string — components
20
- * that filter (e.g. `Combobox`, `Autocomplete`) can't derive it from rich content.
21
- */
22
- textValue?: string
23
- /**
24
- * URL for the item, when it acts as a link.
25
- */
26
- href?: string
27
- /**
28
- * Callback fired when the item is activated.
29
- */
30
- onClick?: () => void
31
- /**
32
- * Marks the item as disabled — it can't be clicked or reached via the keyboard.
33
- */
34
- disabled?: boolean
35
- /**
36
- * Marks the item as the current selection in a choice list.
37
- */
38
- selected?: boolean
39
- /**
40
- * Icon rendered at the item's leading edge (`.menu-item-icon`).
41
- */
42
- icon?: ReactNode
43
- /**
44
- * Secondary line of text rendered below the label (`.menu-item-description`).
45
- */
46
- description?: ReactNode
47
- }
48
-
49
- export interface MenuHeaderDef {
50
- /**
51
- * Discriminates this entry as a non-interactive group header.
52
- */
53
- type: 'header'
54
- /**
55
- * React key for this entry.
56
- */
57
- id: Key
58
- /**
59
- * Header content.
60
- */
61
- label: ReactNode
62
- }
63
-
64
- export interface MenuDividerDef {
65
- /**
66
- * Discriminates this entry as a divider.
67
- */
68
- type: 'divider'
69
- /**
70
- * React key for this entry.
71
- */
72
- id: Key
73
- }
74
-
75
- /**
76
- * A flat array of item/header/divider definitions for data-driven rendering — headers and
77
- * dividers are interleaved with items in authoring order, matching how chassis-css itself
78
- * renders grouped items (flat DOM siblings under `.menu`, no wrapping element per group).
79
- *
80
- * Covers flat items, headers, and dividers only — nested/recursive submenus aren't
81
- * representable here. Compose with `children`/`MenuSubmenu` directly for those.
82
- */
83
- export type MenuItemsDef = (MenuItemDef | MenuHeaderDef | MenuDividerDef)[]
@@ -1,142 +0,0 @@
1
- import React, {
2
- ElementType,
3
- ForwardRefRenderFunction,
4
- ReactElement,
5
- ReactNode,
6
- useContext,
7
- useEffect
8
- } from 'react'
9
- import { createPortal } from 'react-dom'
10
- import classNames from 'classnames'
11
-
12
- import { useForkedRef } from '../../hooks'
13
- import { renderMenuItemContent } from '../../utils/renderMenuItemContent'
14
- import {
15
- createPolymorphicComponent,
16
- PolymorphicComponentProps,
17
- PolymorphicRef
18
- } from '../../utils/polymorphic'
19
- import { MenuContext } from './Menu'
20
- import { MenuDivider } from './MenuDivider'
21
- import { MenuHeader } from './MenuHeader'
22
- import { MenuItem } from './MenuItem'
23
- import { MenuItemsDef } from './MenuItemDef'
24
- import { focusMenuItem, getMenuItems, handleMenuKeyDown } from './menuNavigation'
25
- import { SubmenuGroupContext, useSubmenuGroupProvider } from './submenuGroup'
26
-
27
- type MenuListOwnProps<C extends ElementType> = {
28
- /**
29
- * A string of all className you want applied to the base component.
30
- */
31
- className?: string
32
- /**
33
- * Component used for the root node. Either a string to use a HTML element or a component.
34
- */
35
- component?: C
36
- /**
37
- * Array of item/header/divider definitions for data-driven rendering. When provided, children
38
- * are ignored. Covers flat items, headers, and dividers only — for nested submenus, compose
39
- * with `children` and `MenuSubmenu` instead.
40
- */
41
- items?: MenuItemsDef
42
- }
43
-
44
- export type MenuListProps<C extends ElementType = 'div'> = PolymorphicComponentProps<
45
- C,
46
- MenuListOwnProps<C>
47
- >
48
-
49
- type MenuListComponent = (<C extends ElementType = 'div'>(
50
- props: MenuListProps<C> & { ref?: PolymorphicRef<C> }
51
- ) => ReactElement | null) & { displayName?: string }
52
-
53
- const renderMenuItemDef = (def: MenuItemsDef[number]): ReactNode => {
54
- if (def.type === 'header') {
55
- return <MenuHeader key={def.id}>{def.label}</MenuHeader>
56
- }
57
- if (def.type === 'divider') {
58
- return <MenuDivider key={def.id} />
59
- }
60
- return (
61
- <MenuItem
62
- key={def.id}
63
- component={def.href ? 'a' : 'button'}
64
- href={def.href}
65
- disabled={def.disabled}
66
- selected={def.selected}
67
- onClick={def.onClick}
68
- >
69
- {renderMenuItemContent({
70
- icon: def.icon,
71
- label: def.label,
72
- description: def.description,
73
- selected: def.selected
74
- })}
75
- </MenuItem>
76
- )
77
- }
78
-
79
- function MenuListRender<C extends ElementType = 'div'>(
80
- { children, className, component, items, onKeyDown, ...rest }: MenuListProps<C>,
81
- ref: PolymorphicRef<C>
82
- ) {
83
- const Component = component ?? 'div'
84
- const {
85
- close,
86
- container,
87
- focusStrategy,
88
- menuId,
89
- menuStyle,
90
- overlayRef,
91
- placementAttr,
92
- triggerId,
93
- visible
94
- } = useContext(MenuContext)
95
- const forkedRef = useForkedRef(ref, overlayRef)
96
- const submenuGroup = useSubmenuGroupProvider()
97
-
98
- // ArrowDown/ArrowUp on the trigger opens the menu with a focus strategy (see `Menu`'s
99
- // `useMenuTrigger` wiring) — this is where that intent actually lands, since we're not
100
- // adopting `useMenu`'s own collection-aware auto-focus.
101
- useEffect(() => {
102
- if (!visible || !focusStrategy) return
103
- focusMenuItem(getMenuItems(overlayRef.current), focusStrategy === 'last' ? 'last' : 'first')
104
- // eslint-disable-next-line react-hooks/exhaustive-deps
105
- }, [visible, focusStrategy])
106
-
107
- const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {
108
- handleMenuKeyDown(event, { onEscape: close })
109
- onKeyDown?.(event as React.KeyboardEvent<HTMLDivElement>)
110
- }
111
-
112
- const content = (
113
- <Component
114
- role="menu"
115
- id={menuId}
116
- aria-labelledby={triggerId}
117
- className={classNames('menu', { show: visible }, className)}
118
- style={menuStyle}
119
- data-cx-placement={placementAttr}
120
- aria-hidden={!visible}
121
- {...rest}
122
- onKeyDown={handleKeyDown}
123
- ref={forkedRef}
124
- >
125
- <SubmenuGroupContext.Provider value={submenuGroup}>
126
- {items ? items.map(renderMenuItemDef) : children}
127
- </SubmenuGroupContext.Provider>
128
- </Component>
129
- )
130
-
131
- if (container) {
132
- if (typeof window === 'undefined') return null
133
- return createPortal(content, container === true ? document.body : container)
134
- }
135
-
136
- return content
137
- }
138
-
139
- export const MenuList = createPolymorphicComponent<MenuListComponent>(
140
- MenuListRender as ForwardRefRenderFunction<Element, MenuListProps<ElementType>>,
141
- 'MenuList'
142
- )
@@ -1,284 +0,0 @@
1
- import React, {
2
- forwardRef,
3
- HTMLAttributes,
4
- ReactNode,
5
- useCallback,
6
- useContext,
7
- useEffect,
8
- useId,
9
- useRef,
10
- useState
11
- } from 'react'
12
- import { createPortal } from 'react-dom'
13
- import classNames from 'classnames'
14
- import { useLocale, useOverlayPosition } from 'react-aria'
15
-
16
- import { MenuContext } from './Menu'
17
- import {
18
- Placement,
19
- resolveMenuOverlayPositioning,
20
- toAriaPlacement
21
- } from '../../utils/overlayPlacement'
22
- import { focusMenuItem, getMenuItems, handleMenuKeyDown } from './menuNavigation'
23
- import { SubmenuActionsContext, SubmenuGroupContext, useSubmenuGroupProvider } from './submenuGroup'
24
-
25
- export interface MenuSubmenuProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> {
26
- /**
27
- * MenuSubmenu activation mode on hover-capable devices. `'click'` activates on click only.
28
- * `'hover'` activates on hover only. `'both'` (the default) activates on both. Touch
29
- * devices always use tap regardless of this setting.
30
- */
31
- activation?: 'click' | 'hover' | 'both'
32
- /**
33
- * A string of all className you want applied to the base component.
34
- */
35
- className?: string
36
- /**
37
- * Prevents the submenu from opening.
38
- */
39
- disabled?: boolean
40
- /**
41
- * Distance between the nested menu and the trigger, as `[skidding, distance]` in pixels.
42
- */
43
- offset?: [number, number]
44
- /**
45
- * Placement of the nested menu relative to the trigger. Defaults to cascading in the reading
46
- * direction — `'right-start'` under LTR locales, `'left-start'` under RTL ones (see
47
- * `useLocale`) — matching native OS/browser submenu behavior. An explicit value always wins
48
- * over that locale-based default.
49
- */
50
- placement?: Placement
51
- /**
52
- * Switches to a view-replacement pattern below the `sm` breakpoint. Pair with a
53
- * `MenuSubmenuBack` as the first item of the nested menu.
54
- */
55
- stacked?: boolean
56
- /**
57
- * Milliseconds before closing the submenu when the pointer leaves it.
58
- */
59
- submenuDelay?: number
60
- /**
61
- * Content of the `.menu-item` trigger that opens the submenu.
62
- */
63
- trigger: ReactNode
64
- }
65
-
66
- export const MenuSubmenu = forwardRef<HTMLDivElement, MenuSubmenuProps>(
67
- (
68
- {
69
- children,
70
- activation = 'both',
71
- className,
72
- disabled,
73
- offset: offsetProp = [-4, 0],
74
- placement,
75
- stacked,
76
- submenuDelay = 100,
77
- trigger,
78
- ...rest
79
- },
80
- ref
81
- ) => {
82
- const id = useId()
83
- const triggerId = `${id}-trigger`
84
- const menuId = `${id}-menu`
85
- const [visible, setVisible] = useState(false)
86
- // Portaling is only safe once mounted on the client: during SSR (and the initial client
87
- // hydration pass, which must match the server-rendered markup) the panel renders inline next
88
- // to its trigger, then moves to `document.body` on the next render once this flips to true.
89
- const [mounted, setMounted] = useState(false)
90
- const closeTimeoutRef = useRef<number | undefined>(undefined)
91
- const focusFirstRafRef = useRef<number | undefined>(undefined)
92
- const triggerRef = useRef<HTMLButtonElement | null>(null)
93
- const overlayRef = useRef<HTMLElement | null>(null)
94
- const parentGroup = useContext(SubmenuGroupContext)
95
- const ownGroup = useSubmenuGroupProvider()
96
- const { registerOverlay, visible: parentMenuVisible } = useContext(MenuContext)
97
- const { direction } = useLocale()
98
- const isRtl = direction === 'rtl'
99
- const effectivePlacement = placement ?? (isRtl ? 'left-start' : 'right-start')
100
-
101
- const { overlayProps, placement: resolvedPlacement } = useOverlayPosition({
102
- targetRef: triggerRef,
103
- overlayRef,
104
- // Viewport-relative (matching the portal below): the trigger lives inside the parent
105
- // menu's own floated panel, and `useOverlayPosition` measures against the overlay's real
106
- // containing block — since the panel portals straight to `document.body`, that resolves
107
- // the same way a `fixed`-strategy engine would.
108
- placement: toAriaPlacement(effectivePlacement),
109
- offset: offsetProp[1],
110
- crossOffset: offsetProp[0],
111
- containerPadding: 8,
112
- isOpen: visible,
113
- // See `useOverlayPlacement`'s comment for why this needs to be explicit `null`, not left
114
- // unset — matches the same fix already applied to `Autocomplete`/`Combobox`/`Menu`/`Popover`.
115
- onClose: null
116
- })
117
-
118
- const { menuStyle, placementAttr } = resolveMenuOverlayPositioning(
119
- overlayProps.style,
120
- effectivePlacement,
121
- resolvedPlacement
122
- )
123
-
124
- const clearCloseTimeout = useCallback(() => {
125
- if (closeTimeoutRef.current !== undefined) {
126
- window.clearTimeout(closeTimeoutRef.current)
127
- closeTimeoutRef.current = undefined
128
- }
129
- }, [])
130
-
131
- const cancelFocusFirstRaf = useCallback(() => {
132
- if (focusFirstRafRef.current !== undefined) {
133
- cancelAnimationFrame(focusFirstRafRef.current)
134
- focusFirstRafRef.current = undefined
135
- }
136
- }, [])
137
-
138
- const close = useCallback(() => {
139
- clearCloseTimeout()
140
- cancelFocusFirstRaf()
141
- setVisible(false)
142
- }, [clearCloseTimeout, cancelFocusFirstRaf])
143
-
144
- const open = () => {
145
- if (disabled || visible) return
146
- clearCloseTimeout()
147
- parentGroup?.notifyOpen(id)
148
- setVisible(true)
149
- }
150
-
151
- const scheduleClose = () => {
152
- clearCloseTimeout()
153
- closeTimeoutRef.current = window.setTimeout(close, submenuDelay)
154
- }
155
-
156
- useEffect(() => parentGroup?.register(id, close), [parentGroup, id, close])
157
- useEffect(() => clearCloseTimeout, [clearCloseTimeout])
158
- useEffect(() => cancelFocusFirstRaf, [cancelFocusFirstRaf])
159
- useEffect(() => setMounted(true), [])
160
-
161
- // The submenu's own open state is local and doesn't otherwise hear about its ancestor
162
- // `Menu` closing (via Escape, outside click, etc.) — without this it's left open and
163
- // fully visible (it's portaled to `document.body`, so nothing hides it for free) even
164
- // after the menu it belongs to has disappeared.
165
- useEffect(() => {
166
- if (!parentMenuVisible) close()
167
- }, [parentMenuVisible, close])
168
-
169
- const supportsHover =
170
- typeof window !== 'undefined' &&
171
- !!window.matchMedia &&
172
- window.matchMedia('(hover: hover)').matches
173
- const hoverEnabled = supportsHover && (activation === 'hover' || activation === 'both')
174
- const clickEnabled = activation === 'click' || activation === 'both'
175
-
176
- const openAndFocusFirst = () => {
177
- open()
178
- cancelFocusFirstRaf()
179
- focusFirstRafRef.current = requestAnimationFrame(() => {
180
- focusFirstRafRef.current = undefined
181
- focusMenuItem(getMenuItems(overlayRef.current), 'first')
182
- })
183
- }
184
-
185
- const closeAndRefocusTrigger = () => {
186
- close()
187
- triggerRef.current?.focus()
188
- }
189
-
190
- const handleTriggerClick = (event: React.MouseEvent<HTMLButtonElement>) => {
191
- if (!clickEnabled || disabled) return
192
- event.preventDefault()
193
- event.stopPropagation()
194
- visible ? close() : openAndFocusFirst()
195
- }
196
-
197
- // A submenu cascades toward the reading direction, so the arrow key that opens it (and the
198
- // one its own item list closes on, below) mirror too: ArrowRight/ArrowLeft under LTR,
199
- // ArrowLeft/ArrowRight under RTL.
200
- const openKey = isRtl ? 'ArrowLeft' : 'ArrowRight'
201
-
202
- const handleTriggerKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {
203
- if (disabled) return
204
- if (event.key === 'Enter' || event.key === ' ' || event.key === openKey) {
205
- event.preventDefault()
206
- event.stopPropagation()
207
- openAndFocusFirst()
208
- }
209
- }
210
-
211
- const actionsValue = { close: closeAndRefocusTrigger }
212
-
213
- return (
214
- <div className={classNames('submenu', { show: visible }, className)} {...rest} ref={ref}>
215
- <button
216
- type="button"
217
- id={triggerId}
218
- role="menuitem"
219
- className="menu-item"
220
- aria-expanded={visible}
221
- aria-haspopup="true"
222
- aria-controls={visible ? menuId : undefined}
223
- disabled={disabled}
224
- onClick={handleTriggerClick}
225
- onKeyDown={handleTriggerKeyDown}
226
- onMouseEnter={hoverEnabled ? open : undefined}
227
- onMouseLeave={hoverEnabled ? scheduleClose : undefined}
228
- ref={(node) => {
229
- triggerRef.current = node
230
- }}
231
- >
232
- {trigger}
233
- </button>
234
- {(() => {
235
- const panel = (
236
- <div
237
- role="menu"
238
- id={menuId}
239
- aria-labelledby={triggerId}
240
- className={classNames('menu', { show: visible, 'submenu-stacked': stacked })}
241
- style={menuStyle}
242
- data-cx-placement={placementAttr}
243
- aria-hidden={!visible}
244
- onKeyDown={(event) =>
245
- handleMenuKeyDown(event, {
246
- onEscape: closeAndRefocusTrigger,
247
- ...(isRtl
248
- ? { onArrowRight: closeAndRefocusTrigger }
249
- : { onArrowLeft: closeAndRefocusTrigger })
250
- })
251
- }
252
- onMouseEnter={hoverEnabled ? clearCloseTimeout : undefined}
253
- onMouseLeave={hoverEnabled ? scheduleClose : undefined}
254
- // Registers this panel with the ancestor `Menu` (see `MenuContext.registerOverlay`)
255
- // so its own click-dismiss logic recognizes clicks here as "inside" the menu — the
256
- // panel portals straight to `document.body` when not `stacked`, so plain DOM
257
- // containment against the top-level menu's own element wouldn't otherwise see it.
258
- ref={(node) => {
259
- overlayRef.current = node
260
- registerOverlay(menuId, node)
261
- }}
262
- >
263
- <SubmenuActionsContext.Provider value={actionsValue}>
264
- <SubmenuGroupContext.Provider value={ownGroup}>
265
- {children}
266
- </SubmenuGroupContext.Provider>
267
- </SubmenuActionsContext.Provider>
268
- </div>
269
- )
270
-
271
- // `stacked`'s sm-breakpoint CSS (`.menu:has(.submenu-stacked.show) ...`) needs the
272
- // panel to be a real DOM descendant of `.menu`/`.submenu` to match — portaling would
273
- // break that ancestor relationship, so it renders inline instead. Trade-off: above the
274
- // `sm` breakpoint a `stacked` submenu no longer escapes ancestor overflow/stacking-
275
- // context clipping the way a portaled one does; accepted since `stacked` targets mobile
276
- // nav/drawer usage, not floating dropdowns.
277
- return mounted && !stacked ? createPortal(panel, document.body) : panel
278
- })()}
279
- </div>
280
- )
281
- }
282
- )
283
-
284
- MenuSubmenu.displayName = 'MenuSubmenu'