@chassis-ui/react 0.1.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (721) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +56 -23
  3. package/dist/accordion.d.ts +2 -0
  4. package/dist/accordion.js +1 -0
  5. package/dist/alert.d.ts +2 -0
  6. package/dist/alert.js +1 -0
  7. package/dist/autocomplete.d.ts +2 -0
  8. package/dist/autocomplete.js +1 -0
  9. package/dist/avatar.d.ts +2 -0
  10. package/dist/avatar.js +1 -0
  11. package/dist/badge.d.ts +2 -0
  12. package/dist/badge.js +1 -0
  13. package/dist/breadcrumb.d.ts +2 -0
  14. package/dist/breadcrumb.js +1 -0
  15. package/dist/button-group.d.ts +2 -0
  16. package/dist/button-group.js +1 -0
  17. package/dist/button.d.ts +3 -0
  18. package/dist/button.js +1 -0
  19. package/dist/calendar.d.ts +3 -0
  20. package/dist/calendar.js +1 -0
  21. package/dist/card.d.ts +2 -0
  22. package/dist/card.js +1 -0
  23. package/dist/carousel.d.ts +2 -0
  24. package/dist/carousel.js +1 -0
  25. package/dist/checkbox.d.ts +3 -0
  26. package/dist/checkbox.js +1 -0
  27. package/dist/chip-input.d.ts +2 -0
  28. package/dist/chip-input.js +1 -0
  29. package/dist/chip.d.ts +2 -0
  30. package/dist/chip.js +1 -0
  31. package/dist/chunks/Button-BoymWE-L.js +2 -0
  32. package/dist/chunks/Button-BoymWE-L.js.map +1 -0
  33. package/dist/chunks/Button-Cptd4Yk7.d.ts +66 -0
  34. package/dist/chunks/Chip-DCaWaBqo.js +2 -0
  35. package/dist/chunks/Chip-DCaWaBqo.js.map +1 -0
  36. package/dist/chunks/CloseButton-DPgQztE0.js +2 -0
  37. package/dist/chunks/CloseButton-DPgQztE0.js.map +1 -0
  38. package/dist/chunks/ComboboxItem-C9TpoJOI.d.ts +55 -0
  39. package/dist/chunks/ComboboxListBox-Cm3L1ULl.js +2 -0
  40. package/dist/chunks/ComboboxListBox-Cm3L1ULl.js.map +1 -0
  41. package/dist/chunks/DateSegment-2agXAd0f.js +2 -0
  42. package/dist/chunks/DateSegment-2agXAd0f.js.map +1 -0
  43. package/dist/chunks/FormHelp-AE6_iSLJ.js +2 -0
  44. package/dist/chunks/FormHelp-AE6_iSLJ.js.map +1 -0
  45. package/dist/chunks/FormLabel-CYcQiFUI.js +2 -0
  46. package/dist/chunks/FormLabel-CYcQiFUI.js.map +1 -0
  47. package/dist/chunks/Icon-CioraWLF.d.ts +37 -0
  48. package/dist/chunks/Icon-DLB1f88W.js +2 -0
  49. package/dist/chunks/Icon-DLB1f88W.js.map +1 -0
  50. package/dist/chunks/Link-CZsWCnQb.js +2 -0
  51. package/dist/chunks/Link-CZsWCnQb.js.map +1 -0
  52. package/dist/chunks/Link-nrd0JWlO.d.ts +71 -0
  53. package/dist/chunks/Menu-CSBg2Zmc.js +2 -0
  54. package/dist/chunks/Menu-CSBg2Zmc.js.map +1 -0
  55. package/dist/chunks/Menu-QeYOzrUL.d.ts +95 -0
  56. package/{src/components/menu/MenuItemDef.ts → dist/chunks/MenuItemDef-D0VDtYIQ.d.ts} +25 -25
  57. package/dist/chunks/MenuToggle-BdQtF7FV.js +2 -0
  58. package/dist/chunks/MenuToggle-BdQtF7FV.js.map +1 -0
  59. package/dist/chunks/Portal-CgeR1WXV.js +2 -0
  60. package/dist/chunks/Portal-CgeR1WXV.js.map +1 -0
  61. package/dist/chunks/RangeCalendar-BJl-j4W2.js +2 -0
  62. package/dist/chunks/RangeCalendar-BJl-j4W2.js.map +1 -0
  63. package/dist/chunks/VisuallyHidden-C2dM7HhC.js +2 -0
  64. package/dist/chunks/VisuallyHidden-C2dM7HhC.js.map +1 -0
  65. package/dist/chunks/accordion-B8UWyvQB.js +2 -0
  66. package/dist/chunks/accordion-B8UWyvQB.js.map +1 -0
  67. package/dist/chunks/alert-BXI-_qlt.js +2 -0
  68. package/dist/chunks/alert-BXI-_qlt.js.map +1 -0
  69. package/dist/chunks/autocomplete-Baf9VSHN.js +2 -0
  70. package/dist/chunks/autocomplete-Baf9VSHN.js.map +1 -0
  71. package/dist/chunks/avatar-S3dGy6Qc.js +2 -0
  72. package/dist/chunks/avatar-S3dGy6Qc.js.map +1 -0
  73. package/dist/chunks/badge-D2oztCvs.js +2 -0
  74. package/dist/chunks/badge-D2oztCvs.js.map +1 -0
  75. package/dist/chunks/breadcrumb-s6J9itez.js +2 -0
  76. package/dist/chunks/breadcrumb-s6J9itez.js.map +1 -0
  77. package/dist/chunks/breakpoints-CJ-498B7.d.ts +7 -0
  78. package/dist/chunks/breakpoints-o_2Ev7ir.js +2 -0
  79. package/dist/chunks/breakpoints-o_2Ev7ir.js.map +1 -0
  80. package/dist/chunks/button-group-BGppPrIv.js +2 -0
  81. package/dist/chunks/button-group-BGppPrIv.js.map +1 -0
  82. package/dist/chunks/card-YXn3bj_d.js +2 -0
  83. package/dist/chunks/card-YXn3bj_d.js.map +1 -0
  84. package/dist/chunks/carousel-fTVPqnSV.js +2 -0
  85. package/dist/chunks/carousel-fTVPqnSV.js.map +1 -0
  86. package/dist/chunks/checkbox-ChACalAw.js +2 -0
  87. package/dist/chunks/checkbox-ChACalAw.js.map +1 -0
  88. package/dist/chunks/chip-input-BpVDRERg.js +2 -0
  89. package/dist/chunks/chip-input-BpVDRERg.js.map +1 -0
  90. package/dist/chunks/collapse--Go2Y73B.js +2 -0
  91. package/dist/chunks/collapse--Go2Y73B.js.map +1 -0
  92. package/dist/chunks/color-input-Bwl5ef5B.js +2 -0
  93. package/dist/chunks/color-input-Bwl5ef5B.js.map +1 -0
  94. package/dist/chunks/combobox-Bp1tIaiW.js +2 -0
  95. package/dist/chunks/combobox-Bp1tIaiW.js.map +1 -0
  96. package/dist/chunks/context-menu-B4a0tS-h.js +2 -0
  97. package/dist/chunks/context-menu-B4a0tS-h.js.map +1 -0
  98. package/dist/chunks/datagrid-CH3Cy-q7.js +3 -0
  99. package/dist/chunks/datagrid-CH3Cy-q7.js.map +1 -0
  100. package/dist/chunks/dateRangePresets-R1FtA1zp.d.ts +42 -0
  101. package/dist/chunks/datepicker-bOiM_zhJ.js +2 -0
  102. package/dist/chunks/datepicker-bOiM_zhJ.js.map +1 -0
  103. package/dist/chunks/dialogTransition-i9vw0i2Z.js +2 -0
  104. package/dist/chunks/dialogTransition-i9vw0i2Z.js.map +1 -0
  105. package/dist/chunks/direction-LN6uwsK5.js +2 -0
  106. package/dist/chunks/direction-LN6uwsK5.js.map +1 -0
  107. package/dist/chunks/divider-CjbF4OfA.js +2 -0
  108. package/dist/chunks/divider-CjbF4OfA.js.map +1 -0
  109. package/dist/chunks/drawer-C7Tz4XU_.js +2 -0
  110. package/dist/chunks/drawer-C7Tz4XU_.js.map +1 -0
  111. package/dist/chunks/file-input-CDM6qrmV.js +2 -0
  112. package/dist/chunks/file-input-CDM6qrmV.js.map +1 -0
  113. package/dist/chunks/flex-CmlJbKVj.js +2 -0
  114. package/dist/chunks/flex-CmlJbKVj.js.map +1 -0
  115. package/dist/chunks/floating-input-DmSZZc27.js +2 -0
  116. package/dist/chunks/floating-input-DmSZZc27.js.map +1 -0
  117. package/dist/chunks/focus-ring-SR_LwaN7.js +2 -0
  118. package/dist/chunks/focus-ring-SR_LwaN7.js.map +1 -0
  119. package/dist/chunks/focusRedirect-BrvK3U_o.js +2 -0
  120. package/dist/chunks/focusRedirect-BrvK3U_o.js.map +1 -0
  121. package/dist/chunks/form-GpdAyWWi.js +2 -0
  122. package/dist/chunks/form-GpdAyWWi.js.map +1 -0
  123. package/dist/chunks/form-field-CNPGTMiW.js +2 -0
  124. package/dist/chunks/form-field-CNPGTMiW.js.map +1 -0
  125. package/dist/chunks/grid-DK_vxz-4.js +2 -0
  126. package/dist/chunks/grid-DK_vxz-4.js.map +1 -0
  127. package/dist/chunks/icon-BQsT6YtE.js +2 -0
  128. package/dist/chunks/icon-BQsT6YtE.js.map +1 -0
  129. package/dist/chunks/iconConfig-C6gbYhsD.d.ts +71 -0
  130. package/dist/chunks/iconSlot-BNu2MrFI.js +2 -0
  131. package/dist/chunks/iconSlot-BNu2MrFI.js.map +1 -0
  132. package/dist/chunks/index-4cKG9KWB.d.ts +85 -0
  133. package/dist/chunks/index-6uob77s9.d.ts +81 -0
  134. package/dist/chunks/index-91YA-jkp.d.ts +127 -0
  135. package/dist/chunks/index-9rQeMqVI.d.ts +42 -0
  136. package/dist/chunks/index-B0-8n-Gs.d.ts +106 -0
  137. package/dist/chunks/index-B2K-O9kl.d.ts +59 -0
  138. package/dist/chunks/index-B8uaSJA9.d.ts +96 -0
  139. package/dist/chunks/index-BA-raEMm.d.ts +29 -0
  140. package/dist/chunks/index-BAsbRx5n.d.ts +54 -0
  141. package/dist/chunks/index-BF3OWUVc.d.ts +66 -0
  142. package/dist/chunks/index-BNf0jIIL.d.ts +213 -0
  143. package/dist/chunks/index-BO9jLOIb.d.ts +59 -0
  144. package/dist/chunks/index-BTTeKpiE.d.ts +364 -0
  145. package/dist/chunks/index-BVGGIaPX.d.ts +111 -0
  146. package/dist/chunks/index-B_UzbGOa.d.ts +195 -0
  147. package/dist/chunks/index-Bi8FFadV.d.ts +99 -0
  148. package/dist/chunks/index-Bkj17NEQ.d.ts +51 -0
  149. package/dist/chunks/index-Bm2NpgND.d.ts +82 -0
  150. package/dist/chunks/index-BnR7wjax.d.ts +68 -0
  151. package/dist/chunks/index-BxROljJI.d.ts +18 -0
  152. package/dist/chunks/index-Bz8MDq0H.d.ts +85 -0
  153. package/dist/chunks/index-C4Dks__B.d.ts +139 -0
  154. package/dist/chunks/index-CCXJXToc.d.ts +53 -0
  155. package/dist/chunks/index-CFnQubsV.d.ts +123 -0
  156. package/dist/chunks/index-CJXKl97l.d.ts +120 -0
  157. package/dist/chunks/index-CJzKu7QI.d.ts +41 -0
  158. package/dist/chunks/index-CKx1KHED.d.ts +303 -0
  159. package/dist/chunks/index-COsIPd8L.d.ts +63 -0
  160. package/dist/chunks/index-CRfm7W6C.d.ts +231 -0
  161. package/dist/chunks/index-CTpwB1yR.d.ts +236 -0
  162. package/dist/chunks/index-CVUMS0x7.d.ts +74 -0
  163. package/dist/chunks/index-CYgBmZ8w.d.ts +271 -0
  164. package/dist/chunks/index-Cc4SSslb.d.ts +205 -0
  165. package/dist/chunks/index-CftERHnE.d.ts +25 -0
  166. package/dist/chunks/index-Ci7AEgEc.d.ts +47 -0
  167. package/dist/chunks/index-CqZ68Z8R.d.ts +415 -0
  168. package/dist/chunks/index-CsARGAzD.d.ts +50 -0
  169. package/dist/chunks/index-CsMIgBsd.d.ts +40 -0
  170. package/dist/chunks/index-D9PZHY_I.d.ts +136 -0
  171. package/dist/chunks/index-DAoPg59I.d.ts +81 -0
  172. package/dist/chunks/index-DHGgezXU.d.ts +59 -0
  173. package/dist/chunks/index-DHOG_rjE.d.ts +121 -0
  174. package/dist/chunks/index-DJfga0Ce.d.ts +57 -0
  175. package/dist/chunks/index-DJr_ZK4b.d.ts +110 -0
  176. package/dist/chunks/index-DMbdEm__.d.ts +119 -0
  177. package/dist/chunks/index-DXjbI7Yv.d.ts +133 -0
  178. package/dist/chunks/index-DaHQdNul.d.ts +182 -0
  179. package/dist/chunks/index-Dcc_W6Kv.d.ts +147 -0
  180. package/dist/chunks/index-DceCODH9.d.ts +138 -0
  181. package/dist/chunks/index-Ddd7iWfm.d.ts +32 -0
  182. package/dist/chunks/index-Dfg4Ftb8.d.ts +69 -0
  183. package/dist/chunks/index-Dfy1YW5j.d.ts +74 -0
  184. package/dist/chunks/index-DgHvXzVh.d.ts +208 -0
  185. package/dist/chunks/index-Dh5CaHTP.d.ts +45 -0
  186. package/dist/chunks/index-DjXRq-n3.d.ts +98 -0
  187. package/dist/chunks/index-DjrEvKd-.d.ts +193 -0
  188. package/dist/chunks/index-DtbUXxjz.d.ts +54 -0
  189. package/dist/chunks/index-Du9fBqkT.d.ts +56 -0
  190. package/dist/chunks/index-FKh7iFQE.d.ts +95 -0
  191. package/dist/chunks/index-HrKN6s8z.d.ts +67 -0
  192. package/dist/chunks/index-I-H3VJ-L.d.ts +229 -0
  193. package/dist/chunks/index-RHJhkSY-.d.ts +273 -0
  194. package/dist/chunks/index-e7SJkI_m.d.ts +102 -0
  195. package/dist/chunks/index-g74gO0pc.d.ts +36 -0
  196. package/dist/chunks/index-qMq_-GY2.d.ts +105 -0
  197. package/dist/chunks/index-t_x6jj7l.d.ts +97 -0
  198. package/dist/chunks/input-adorn-DwdX-jxA.js +2 -0
  199. package/dist/chunks/input-adorn-DwdX-jxA.js.map +1 -0
  200. package/dist/chunks/input-group-Cuiuf4Dl.js +2 -0
  201. package/dist/chunks/input-group-Cuiuf4Dl.js.map +1 -0
  202. package/dist/chunks/lazyElement-tfMG21pZ.js +2 -0
  203. package/dist/chunks/lazyElement-tfMG21pZ.js.map +1 -0
  204. package/dist/chunks/list-BQCkwWjF.js +2 -0
  205. package/dist/chunks/list-BQCkwWjF.js.map +1 -0
  206. package/dist/chunks/menu-98EAD9nj.js +2 -0
  207. package/dist/chunks/menu-98EAD9nj.js.map +1 -0
  208. package/dist/chunks/modal-bgDR29Jh.js +2 -0
  209. package/dist/chunks/modal-bgDR29Jh.js.map +1 -0
  210. package/dist/chunks/nav-TiZuTHC6.js +2 -0
  211. package/dist/chunks/nav-TiZuTHC6.js.map +1 -0
  212. package/dist/chunks/nav-overflow-Ay5mM5Gc.js +2 -0
  213. package/dist/chunks/nav-overflow-Ay5mM5Gc.js.map +1 -0
  214. package/dist/chunks/navOverflow-B5krZe6D.js +2 -0
  215. package/dist/chunks/navOverflow-B5krZe6D.js.map +1 -0
  216. package/dist/chunks/navVariant-CnD21GBS.d.ts +5 -0
  217. package/dist/chunks/navVariant-DeGTk9B7.js +2 -0
  218. package/dist/chunks/navVariant-DeGTk9B7.js.map +1 -0
  219. package/dist/chunks/navbar-DxIwt0sc.js +2 -0
  220. package/dist/chunks/navbar-DxIwt0sc.js.map +1 -0
  221. package/dist/chunks/notification-Ds24wnPq.js +2 -0
  222. package/dist/chunks/notification-Ds24wnPq.js.map +1 -0
  223. package/dist/chunks/number-field-IBIX2IWH.js +2 -0
  224. package/dist/chunks/number-field-IBIX2IWH.js.map +1 -0
  225. package/dist/chunks/otp-input-ws393uPB.js +2 -0
  226. package/dist/chunks/otp-input-ws393uPB.js.map +1 -0
  227. package/dist/chunks/overlayPlacement-BtS90IVf.js +2 -0
  228. package/dist/chunks/overlayPlacement-BtS90IVf.js.map +1 -0
  229. package/dist/chunks/overlayPlacement-CIsLpycT.d.ts +7 -0
  230. package/dist/chunks/pagination-BkOquk-x.js +2 -0
  231. package/dist/chunks/pagination-BkOquk-x.js.map +1 -0
  232. package/dist/chunks/password-strength-DDK8pHRq.js +2 -0
  233. package/dist/chunks/password-strength-DDK8pHRq.js.map +1 -0
  234. package/dist/chunks/placeholder-BCr83sUn.js +2 -0
  235. package/dist/chunks/placeholder-BCr83sUn.js.map +1 -0
  236. package/dist/chunks/polymorphic-BhGNZQja.js +2 -0
  237. package/dist/chunks/polymorphic-BhGNZQja.js.map +1 -0
  238. package/dist/chunks/polymorphic-CVHbTHSN.d.ts +41 -0
  239. package/dist/chunks/popover-Bdg8D4sm.js +2 -0
  240. package/dist/chunks/popover-Bdg8D4sm.js.map +1 -0
  241. package/dist/chunks/progress-zWkTltor.js +2 -0
  242. package/dist/chunks/progress-zWkTltor.js.map +1 -0
  243. package/dist/chunks/radio-DOFYCfJi.js +2 -0
  244. package/dist/chunks/radio-DOFYCfJi.js.map +1 -0
  245. package/dist/chunks/range-input-CT_8TKL7.js +2 -0
  246. package/dist/chunks/range-input-CT_8TKL7.js.map +1 -0
  247. package/dist/chunks/renderFormCheck-DN_-V62U.js +2 -0
  248. package/dist/chunks/renderFormCheck-DN_-V62U.js.map +1 -0
  249. package/dist/chunks/renderFormCheck-DZh_5Df8.d.ts +24 -0
  250. package/dist/chunks/renderFormField-Brkw1yA6.js +2 -0
  251. package/dist/chunks/renderFormField-Brkw1yA6.js.map +1 -0
  252. package/dist/chunks/renderFormField-ChNagAFN.d.ts +15 -0
  253. package/dist/chunks/renderMenuItemContent-DUezZrpj.js +2 -0
  254. package/dist/chunks/renderMenuItemContent-DUezZrpj.js.map +1 -0
  255. package/dist/chunks/scrollspy-C2HmrnZ4.js +2 -0
  256. package/dist/chunks/scrollspy-C2HmrnZ4.js.map +1 -0
  257. package/dist/chunks/scrollspy-D_lPjb92.js +2 -0
  258. package/dist/chunks/scrollspy-D_lPjb92.js.map +1 -0
  259. package/dist/chunks/search-field--nDoCI_E.js +2 -0
  260. package/dist/chunks/search-field--nDoCI_E.js.map +1 -0
  261. package/dist/chunks/select-BwJIfv9f.js +2 -0
  262. package/dist/chunks/select-BwJIfv9f.js.map +1 -0
  263. package/dist/chunks/skeleton-BrD2JwNx.js +2 -0
  264. package/dist/chunks/skeleton-BrD2JwNx.js.map +1 -0
  265. package/dist/chunks/slot-CNhFZdHF.js +2 -0
  266. package/dist/chunks/slot-CNhFZdHF.js.map +1 -0
  267. package/dist/chunks/spacingClassName-DVhk8m3P.js +2 -0
  268. package/dist/chunks/spacingClassName-DVhk8m3P.js.map +1 -0
  269. package/dist/chunks/spinner-DblhvrHL.js +2 -0
  270. package/dist/chunks/spinner-DblhvrHL.js.map +1 -0
  271. package/dist/chunks/stack-CsMiQbpq.js +2 -0
  272. package/dist/chunks/stack-CsMiQbpq.js.map +1 -0
  273. package/dist/chunks/static-table-D0M4oc_t.js +2 -0
  274. package/dist/chunks/static-table-D0M4oc_t.js.map +1 -0
  275. package/dist/chunks/stepper-CVXMJ2yg.js +2 -0
  276. package/dist/chunks/stepper-CVXMJ2yg.js.map +1 -0
  277. package/dist/chunks/switch-C6s3LxEv.js +2 -0
  278. package/dist/chunks/switch-C6s3LxEv.js.map +1 -0
  279. package/dist/chunks/table-Cy6uEuEP.js +2 -0
  280. package/dist/chunks/table-Cy6uEuEP.js.map +1 -0
  281. package/dist/chunks/tableClassName-CZA2Bse8.js +2 -0
  282. package/dist/chunks/tableClassName-CZA2Bse8.js.map +1 -0
  283. package/dist/chunks/tabs-91T7-8qq.js +2 -0
  284. package/dist/chunks/tabs-91T7-8qq.js.map +1 -0
  285. package/dist/chunks/text-input-B4pTv6SU.js +2 -0
  286. package/dist/chunks/text-input-B4pTv6SU.js.map +1 -0
  287. package/dist/chunks/textarea-1A1nABQE.js +2 -0
  288. package/dist/chunks/textarea-1A1nABQE.js.map +1 -0
  289. package/dist/chunks/time-field-B3MA7ED_.js +2 -0
  290. package/dist/chunks/time-field-B3MA7ED_.js.map +1 -0
  291. package/dist/chunks/toast-CGHl3-oU.js +2 -0
  292. package/dist/chunks/toast-CGHl3-oU.js.map +1 -0
  293. package/dist/chunks/tooltip-Bc-u6nIW.js +2 -0
  294. package/dist/chunks/tooltip-Bc-u6nIW.js.map +1 -0
  295. package/dist/chunks/tree-Cql1veeZ.js +2 -0
  296. package/dist/chunks/tree-Cql1veeZ.js.map +1 -0
  297. package/dist/chunks/types-CS_40Txv.d.ts +35 -0
  298. package/dist/chunks/unhandledProps-9Kdj7WVf.js +2 -0
  299. package/dist/chunks/unhandledProps-9Kdj7WVf.js.map +1 -0
  300. package/dist/chunks/useButtonSemantics-CILM_lhi.js +2 -0
  301. package/dist/chunks/useButtonSemantics-CILM_lhi.js.map +1 -0
  302. package/dist/chunks/useControllableState-CPUJxfKW.js +2 -0
  303. package/dist/chunks/useControllableState-CPUJxfKW.js.map +1 -0
  304. package/dist/chunks/useDialogElement-CgOnJAzu.js +2 -0
  305. package/dist/chunks/useDialogElement-CgOnJAzu.js.map +1 -0
  306. package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js +2 -0
  307. package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js.map +1 -0
  308. package/dist/chunks/useFloatingOverlay-DLIvwx-8.js +2 -0
  309. package/dist/chunks/useFloatingOverlay-DLIvwx-8.js.map +1 -0
  310. package/dist/chunks/useForkedRef-DVEfT-KI.js +2 -0
  311. package/dist/chunks/useForkedRef-DVEfT-KI.js.map +1 -0
  312. package/dist/chunks/useFormField-BOqmBTC4.js +2 -0
  313. package/dist/chunks/useFormField-BOqmBTC4.js.map +1 -0
  314. package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js +2 -0
  315. package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js.map +1 -0
  316. package/dist/chunks/useOpenStateProps-DykUbnPJ.js +2 -0
  317. package/dist/chunks/useOpenStateProps-DykUbnPJ.js.map +1 -0
  318. package/dist/chunks/useToastRegionQueue-CIV5SdiE.js +2 -0
  319. package/dist/chunks/useToastRegionQueue-CIV5SdiE.js.map +1 -0
  320. package/dist/chunks/useTransitionState-e5ToY7eX.js +2 -0
  321. package/dist/chunks/useTransitionState-e5ToY7eX.js.map +1 -0
  322. package/dist/chunks/validationClassName-gRGs4KBm.js +2 -0
  323. package/dist/chunks/validationClassName-gRGs4KBm.js.map +1 -0
  324. package/dist/chunks/visibleState-B_i1zHu2.js +2 -0
  325. package/dist/chunks/visibleState-B_i1zHu2.js.map +1 -0
  326. package/dist/close-button.d.ts +2 -0
  327. package/dist/close-button.js +1 -0
  328. package/dist/collapse.d.ts +2 -0
  329. package/dist/collapse.js +1 -0
  330. package/dist/color-input.d.ts +2 -0
  331. package/dist/color-input.js +1 -0
  332. package/dist/combobox.d.ts +3 -0
  333. package/dist/combobox.js +1 -0
  334. package/dist/context-menu.d.ts +2 -0
  335. package/dist/context-menu.js +1 -0
  336. package/dist/datagrid.d.ts +2 -0
  337. package/dist/datagrid.js +1 -0
  338. package/dist/datepicker.d.ts +2 -0
  339. package/dist/datepicker.js +1 -0
  340. package/dist/divider.d.ts +2 -0
  341. package/dist/divider.js +1 -0
  342. package/dist/drawer.d.ts +2 -0
  343. package/dist/drawer.js +1 -0
  344. package/dist/file-input.d.ts +2 -0
  345. package/dist/file-input.js +1 -0
  346. package/dist/flex.d.ts +2 -0
  347. package/dist/flex.js +1 -0
  348. package/dist/floating-input.d.ts +2 -0
  349. package/dist/floating-input.js +1 -0
  350. package/dist/form-field.d.ts +2 -0
  351. package/dist/form-field.js +1 -0
  352. package/dist/form.d.ts +2 -0
  353. package/dist/form.js +1 -0
  354. package/dist/grid.d.ts +2 -0
  355. package/dist/grid.js +1 -0
  356. package/dist/icon.d.ts +4 -0
  357. package/dist/icon.js +1 -0
  358. package/dist/index.d.ts +84 -6369
  359. package/dist/index.js +1 -2
  360. package/dist/input-adorn.d.ts +2 -0
  361. package/dist/input-adorn.js +1 -0
  362. package/dist/input-group.d.ts +2 -0
  363. package/dist/input-group.js +1 -0
  364. package/dist/link.d.ts +3 -0
  365. package/dist/link.js +1 -0
  366. package/dist/list.d.ts +2 -0
  367. package/dist/list.js +1 -0
  368. package/dist/menu.d.ts +4 -0
  369. package/dist/menu.js +1 -0
  370. package/dist/modal.d.ts +2 -0
  371. package/dist/modal.js +1 -0
  372. package/dist/nav-overflow.d.ts +2 -0
  373. package/dist/nav-overflow.js +1 -0
  374. package/dist/nav.d.ts +2 -0
  375. package/dist/nav.js +1 -0
  376. package/dist/navbar.d.ts +2 -0
  377. package/dist/navbar.js +1 -0
  378. package/dist/notification.d.ts +2 -0
  379. package/dist/notification.js +1 -0
  380. package/dist/number-field.d.ts +2 -0
  381. package/dist/number-field.js +1 -0
  382. package/dist/otp-input.d.ts +2 -0
  383. package/dist/otp-input.js +1 -0
  384. package/dist/pagination.d.ts +2 -0
  385. package/dist/pagination.js +1 -0
  386. package/dist/password-strength.d.ts +2 -0
  387. package/dist/password-strength.js +1 -0
  388. package/dist/placeholder.d.ts +2 -0
  389. package/dist/placeholder.js +1 -0
  390. package/dist/popover.d.ts +2 -0
  391. package/dist/popover.js +1 -0
  392. package/dist/portal.d.ts +2 -0
  393. package/dist/portal.js +1 -0
  394. package/dist/progress.d.ts +2 -0
  395. package/dist/progress.js +1 -0
  396. package/dist/radio.d.ts +2 -0
  397. package/dist/radio.js +1 -0
  398. package/dist/range-input.d.ts +2 -0
  399. package/dist/range-input.js +1 -0
  400. package/dist/scrollspy.d.ts +2 -0
  401. package/dist/scrollspy.js +1 -0
  402. package/dist/search-field.d.ts +2 -0
  403. package/dist/search-field.js +1 -0
  404. package/dist/select.d.ts +2 -0
  405. package/dist/select.js +1 -0
  406. package/dist/skeleton.d.ts +2 -0
  407. package/dist/skeleton.js +1 -0
  408. package/dist/spinner.d.ts +2 -0
  409. package/dist/spinner.js +1 -0
  410. package/dist/stack.d.ts +2 -0
  411. package/dist/stack.js +1 -0
  412. package/dist/static-table.d.ts +2 -0
  413. package/dist/static-table.js +1 -0
  414. package/dist/stepper.d.ts +2 -0
  415. package/dist/stepper.js +1 -0
  416. package/dist/style.css +1 -1
  417. package/dist/switch.d.ts +2 -0
  418. package/dist/switch.js +1 -0
  419. package/dist/table.d.ts +2 -0
  420. package/dist/table.js +1 -0
  421. package/dist/tabs.d.ts +2 -0
  422. package/dist/tabs.js +1 -0
  423. package/dist/text-input.d.ts +2 -0
  424. package/dist/text-input.js +1 -0
  425. package/dist/textarea.d.ts +2 -0
  426. package/dist/textarea.js +1 -0
  427. package/dist/time-field.d.ts +2 -0
  428. package/dist/time-field.js +1 -0
  429. package/dist/toast.d.ts +2 -0
  430. package/dist/toast.js +1 -0
  431. package/dist/tooltip.d.ts +2 -0
  432. package/dist/tooltip.js +1 -0
  433. package/dist/tree.d.ts +2 -0
  434. package/dist/tree.js +1 -0
  435. package/dist/visually-hidden.d.ts +2 -0
  436. package/dist/visually-hidden.js +1 -0
  437. package/package.json +120 -53
  438. package/src/components/accordion/Accordion.tsx +0 -190
  439. package/src/components/accordion/AccordionBody.tsx +0 -46
  440. package/src/components/accordion/AccordionHeader.tsx +0 -21
  441. package/src/components/accordion/AccordionItem.tsx +0 -59
  442. package/src/components/accordion/context.ts +0 -8
  443. package/src/components/accordion/index.ts +0 -8
  444. package/src/components/autocomplete/Autocomplete.tsx +0 -464
  445. package/src/components/autocomplete/AutocompleteGroup.tsx +0 -20
  446. package/src/components/autocomplete/AutocompleteItem.tsx +0 -18
  447. package/src/components/autocomplete/index.ts +0 -6
  448. package/src/components/avatar/Avatar.tsx +0 -137
  449. package/src/components/avatar/AvatarImage.tsx +0 -19
  450. package/src/components/avatar/AvatarStack.tsx +0 -98
  451. package/src/components/avatar/index.ts +0 -6
  452. package/src/components/badge/Badge.tsx +0 -94
  453. package/src/components/badge/index.ts +0 -2
  454. package/src/components/breadcrumb/Breadcrumb.tsx +0 -68
  455. package/src/components/breadcrumb/BreadcrumbItem.tsx +0 -38
  456. package/src/components/breadcrumb/index.ts +0 -4
  457. package/src/components/button/Button.tsx +0 -232
  458. package/src/components/button/index.ts +0 -2
  459. package/src/components/button-group/ButtonGroup.tsx +0 -55
  460. package/src/components/button-group/ButtonToolbar.tsx +0 -47
  461. package/src/components/button-group/index.ts +0 -4
  462. package/src/components/calendar/Calendar.scss +0 -57
  463. package/src/components/calendar/Calendar.tsx +0 -338
  464. package/src/components/calendar/CalendarMonthBlock.tsx +0 -57
  465. package/src/components/calendar/CalendarMonthGrid.tsx +0 -94
  466. package/src/components/calendar/CalendarMonthYearPicker.tsx +0 -164
  467. package/src/components/calendar/CalendarNavButton.tsx +0 -24
  468. package/src/components/calendar/CalendarWeekGrid.tsx +0 -58
  469. package/src/components/calendar/CalendarYearGrid.tsx +0 -128
  470. package/src/components/calendar/RangeCalendar.scss +0 -95
  471. package/src/components/calendar/RangeCalendar.tsx +0 -373
  472. package/src/components/calendar/index.ts +0 -6
  473. package/src/components/calendar/labels.tsx +0 -71
  474. package/src/components/card/Card.tsx +0 -173
  475. package/src/components/card/CardBody.tsx +0 -75
  476. package/src/components/card/CardFooter.tsx +0 -47
  477. package/src/components/card/CardGroup.tsx +0 -51
  478. package/src/components/card/CardHeader.tsx +0 -47
  479. package/src/components/card/CardImage.tsx +0 -70
  480. package/src/components/card/CardImageOverlay.tsx +0 -47
  481. package/src/components/card/CardLink.tsx +0 -40
  482. package/src/components/card/CardSubtitle.tsx +0 -47
  483. package/src/components/card/CardText.tsx +0 -47
  484. package/src/components/card/CardTitle.tsx +0 -47
  485. package/src/components/card/index.ts +0 -22
  486. package/src/components/carousel/Carousel.tsx +0 -753
  487. package/src/components/carousel/CarouselControlButton.tsx +0 -74
  488. package/src/components/carousel/CarouselControlNext.tsx +0 -22
  489. package/src/components/carousel/CarouselControlPrev.tsx +0 -22
  490. package/src/components/carousel/CarouselIndicators.tsx +0 -44
  491. package/src/components/carousel/CarouselInner.tsx +0 -56
  492. package/src/components/carousel/CarouselItem.tsx +0 -51
  493. package/src/components/carousel/CarouselOverlay.tsx +0 -51
  494. package/src/components/carousel/CarouselPlayPause.tsx +0 -61
  495. package/src/components/carousel/carouselEngine.ts +0 -170
  496. package/src/components/carousel/context.ts +0 -29
  497. package/src/components/carousel/index.ts +0 -21
  498. package/src/components/checkbox/Checkbox.tsx +0 -252
  499. package/src/components/checkbox/CheckboxGroup.tsx +0 -145
  500. package/src/components/checkbox/context.ts +0 -14
  501. package/src/components/checkbox/index.ts +0 -4
  502. package/src/components/chip/Chip.tsx +0 -184
  503. package/src/components/chip/index.ts +0 -2
  504. package/src/components/chip-input/ChipInput.tsx +0 -371
  505. package/src/components/chip-input/ChipList.tsx +0 -95
  506. package/src/components/chip-input/index.ts +0 -2
  507. package/src/components/close-button/CloseButton.tsx +0 -205
  508. package/src/components/close-button/index.ts +0 -2
  509. package/src/components/collapse/Collapse.tsx +0 -128
  510. package/src/components/collapse/index.ts +0 -2
  511. package/src/components/color-input/ColorInput.tsx +0 -106
  512. package/src/components/color-input/index.ts +0 -2
  513. package/src/components/combobox/Combobox.tsx +0 -320
  514. package/src/components/combobox/ComboboxGroup.tsx +0 -27
  515. package/src/components/combobox/ComboboxItem.tsx +0 -44
  516. package/src/components/combobox/ComboboxListBox.tsx +0 -98
  517. package/src/components/combobox/index.ts +0 -6
  518. package/src/components/datagrid/DataGrid.scss +0 -203
  519. package/src/components/datagrid/DataGrid.tsx +0 -259
  520. package/src/components/datagrid/DataGridBody.tsx +0 -162
  521. package/src/components/datagrid/DataGridCell.tsx +0 -47
  522. package/src/components/datagrid/DataGridColumn.tsx +0 -109
  523. package/src/components/datagrid/DataGridHeader.tsx +0 -47
  524. package/src/components/datagrid/DataGridPinBehavior.tsx +0 -225
  525. package/src/components/datagrid/DataGridRow.tsx +0 -48
  526. package/src/components/datagrid/DataGridSelectionCell.tsx +0 -74
  527. package/src/components/datagrid/DataGridTableLayout.ts +0 -30
  528. package/src/components/datagrid/index.ts +0 -14
  529. package/src/components/datagrid/useColumnGeometry.ts +0 -161
  530. package/src/components/datepicker/CalendarToggleButton.tsx +0 -58
  531. package/src/components/datepicker/ClearButton.tsx +0 -38
  532. package/src/components/datepicker/DateField.tsx +0 -54
  533. package/src/components/datepicker/DatePicker.scss +0 -51
  534. package/src/components/datepicker/DatePicker.tsx +0 -606
  535. package/src/components/datepicker/DateRangePicker.scss +0 -11
  536. package/src/components/datepicker/DateRangePicker.tsx +0 -361
  537. package/src/components/datepicker/index.ts +0 -4
  538. package/src/components/datepicker/renderDatePickerShell.tsx +0 -104
  539. package/src/components/drawer/Drawer.tsx +0 -213
  540. package/src/components/drawer/DrawerBody.tsx +0 -47
  541. package/src/components/drawer/DrawerFooter.tsx +0 -51
  542. package/src/components/drawer/DrawerHeader.tsx +0 -60
  543. package/src/components/drawer/DrawerTitle.tsx +0 -49
  544. package/src/components/drawer/index.ts +0 -10
  545. package/src/components/file-input/FileInput.tsx +0 -100
  546. package/src/components/file-input/index.ts +0 -2
  547. package/src/components/flex/Flex.tsx +0 -134
  548. package/src/components/flex/index.ts +0 -2
  549. package/src/components/floating-input/FloatingInput.tsx +0 -94
  550. package/src/components/floating-input/index.ts +0 -2
  551. package/src/components/form/Form.tsx +0 -26
  552. package/src/components/form/FormFeedback.tsx +0 -64
  553. package/src/components/form/FormHelp.tsx +0 -46
  554. package/src/components/form/FormLabel.tsx +0 -26
  555. package/src/components/form/index.ts +0 -8
  556. package/src/components/form/renderFormCheck.tsx +0 -86
  557. package/src/components/form-field/FormField.tsx +0 -84
  558. package/src/components/form-field/index.ts +0 -2
  559. package/src/components/form-field/renderFormField.tsx +0 -85
  560. package/src/components/grid/Col.tsx +0 -69
  561. package/src/components/grid/Container.tsx +0 -59
  562. package/src/components/grid/Grid.tsx +0 -86
  563. package/src/components/grid/GridItem.tsx +0 -123
  564. package/src/components/grid/Row.tsx +0 -71
  565. package/src/components/grid/gap.ts +0 -8
  566. package/src/components/grid/index.ts +0 -10
  567. package/src/components/icon/Icon.tsx +0 -74
  568. package/src/components/icon/index.ts +0 -2
  569. package/src/components/input-adorn/InputAdorn.tsx +0 -55
  570. package/src/components/input-adorn/index.ts +0 -2
  571. package/src/components/input-group/InputGroup.tsx +0 -50
  572. package/src/components/input-group/InputGroupAddon.tsx +0 -50
  573. package/src/components/input-group/index.ts +0 -4
  574. package/src/components/link/Link.tsx +0 -148
  575. package/src/components/link/index.ts +0 -2
  576. package/src/components/list/List.tsx +0 -193
  577. package/src/components/list/ListItem.tsx +0 -91
  578. package/src/components/list/index.ts +0 -4
  579. package/src/components/menu/Menu.tsx +0 -408
  580. package/src/components/menu/MenuDivider.tsx +0 -19
  581. package/src/components/menu/MenuHeader.tsx +0 -55
  582. package/src/components/menu/MenuItem.tsx +0 -85
  583. package/src/components/menu/MenuList.tsx +0 -142
  584. package/src/components/menu/MenuSubmenu.tsx +0 -284
  585. package/src/components/menu/MenuSubmenuBack.tsx +0 -39
  586. package/src/components/menu/MenuText.tsx +0 -47
  587. package/src/components/menu/MenuToggle.tsx +0 -148
  588. package/src/components/menu/index.ts +0 -19
  589. package/src/components/menu/menuNavigation.ts +0 -106
  590. package/src/components/menu/submenuGroup.ts +0 -43
  591. package/src/components/modal/Modal.tsx +0 -164
  592. package/src/components/modal/ModalBody.tsx +0 -47
  593. package/src/components/modal/ModalFooter.tsx +0 -51
  594. package/src/components/modal/ModalHeader.tsx +0 -60
  595. package/src/components/modal/ModalTitle.tsx +0 -49
  596. package/src/components/modal/index.ts +0 -10
  597. package/src/components/nav/Nav.tsx +0 -97
  598. package/src/components/nav/NavItem.tsx +0 -42
  599. package/src/components/nav/NavLink.tsx +0 -48
  600. package/src/components/nav/NavTitle.tsx +0 -22
  601. package/src/components/nav/index.ts +0 -7
  602. package/src/components/navbar/Navbar.tsx +0 -112
  603. package/src/components/navbar/NavbarBrand.tsx +0 -58
  604. package/src/components/navbar/NavbarNav.tsx +0 -47
  605. package/src/components/navbar/NavbarText.tsx +0 -47
  606. package/src/components/navbar/NavbarToggler.tsx +0 -34
  607. package/src/components/navbar/index.ts +0 -10
  608. package/src/components/notification/Notification.scss +0 -15
  609. package/src/components/notification/Notification.tsx +0 -187
  610. package/src/components/notification/NotificationIcon.tsx +0 -21
  611. package/src/components/notification/NotificationStack.tsx +0 -66
  612. package/src/components/notification/NotificationText.tsx +0 -47
  613. package/src/components/notification/NotificationTitle.tsx +0 -47
  614. package/src/components/notification/context.ts +0 -14
  615. package/src/components/notification/index.ts +0 -17
  616. package/src/components/notification/notificationQueue.ts +0 -48
  617. package/src/components/otp-input/OtpBox.tsx +0 -68
  618. package/src/components/otp-input/OtpInput.tsx +0 -342
  619. package/src/components/otp-input/index.ts +0 -2
  620. package/src/components/pagination/Pagination.tsx +0 -199
  621. package/src/components/pagination/PaginationItem.tsx +0 -152
  622. package/src/components/pagination/index.ts +0 -4
  623. package/src/components/password-strength/PasswordStrength.tsx +0 -155
  624. package/src/components/password-strength/index.ts +0 -2
  625. package/src/components/password-strength/strengthScore.ts +0 -79
  626. package/src/components/placeholder/Placeholder.tsx +0 -178
  627. package/src/components/placeholder/index.ts +0 -2
  628. package/src/components/popover/Popover.tsx +0 -269
  629. package/src/components/popover/index.ts +0 -2
  630. package/src/components/progress/Progress.tsx +0 -154
  631. package/src/components/progress/ProgressBar.tsx +0 -88
  632. package/src/components/progress/index.ts +0 -4
  633. package/src/components/radio/Radio.tsx +0 -98
  634. package/src/components/radio/RadioGroup.tsx +0 -142
  635. package/src/components/radio/context.ts +0 -14
  636. package/src/components/radio/index.ts +0 -4
  637. package/src/components/range-input/RangeInput.tsx +0 -109
  638. package/src/components/range-input/index.ts +0 -2
  639. package/src/components/select/Select.tsx +0 -277
  640. package/src/components/select/index.ts +0 -2
  641. package/src/components/skeleton/Skeleton.tsx +0 -89
  642. package/src/components/skeleton/SkeletonLoader.tsx +0 -91
  643. package/src/components/skeleton/index.ts +0 -4
  644. package/src/components/spinner/Spinner.tsx +0 -77
  645. package/src/components/spinner/index.ts +0 -2
  646. package/src/components/stack/Stack.tsx +0 -81
  647. package/src/components/stack/index.ts +0 -2
  648. package/src/components/stepper/Stepper.tsx +0 -172
  649. package/src/components/stepper/StepperItem.tsx +0 -66
  650. package/src/components/stepper/index.ts +0 -4
  651. package/src/components/switch/Switch.tsx +0 -259
  652. package/src/components/switch/index.ts +0 -2
  653. package/src/components/table/Table.css +0 -39
  654. package/src/components/table/Table.tsx +0 -413
  655. package/src/components/table/TableBody.tsx +0 -25
  656. package/src/components/table/TableCell.tsx +0 -27
  657. package/src/components/table/TableColumn.tsx +0 -31
  658. package/src/components/table/TableHeader.tsx +0 -26
  659. package/src/components/table/TableRow.tsx +0 -24
  660. package/src/components/table/index.ts +0 -12
  661. package/src/components/tabs/Tab.tsx +0 -36
  662. package/src/components/tabs/TabList.tsx +0 -76
  663. package/src/components/tabs/TabPanel.tsx +0 -68
  664. package/src/components/tabs/Tabs.tsx +0 -136
  665. package/src/components/tabs/context.ts +0 -24
  666. package/src/components/tabs/index.ts +0 -8
  667. package/src/components/text-input/TextInput.tsx +0 -188
  668. package/src/components/text-input/index.ts +0 -2
  669. package/src/components/textarea/Textarea.tsx +0 -145
  670. package/src/components/textarea/index.ts +0 -2
  671. package/src/components/toast/Toast.tsx +0 -219
  672. package/src/components/toast/ToastBody.tsx +0 -64
  673. package/src/components/toast/ToastFooter.tsx +0 -47
  674. package/src/components/toast/ToastHeader.tsx +0 -104
  675. package/src/components/toast/ToastIcon.tsx +0 -21
  676. package/src/components/toast/Toaster.tsx +0 -87
  677. package/src/components/toast/context.ts +0 -14
  678. package/src/components/toast/index.ts +0 -18
  679. package/src/components/toast/toastQueue.ts +0 -56
  680. package/src/components/tooltip/Tooltip.tsx +0 -171
  681. package/src/components/tooltip/index.ts +0 -2
  682. package/src/global.d.ts +0 -2
  683. package/src/hooks/index.ts +0 -57
  684. package/src/hooks/useAutoDismiss.ts +0 -91
  685. package/src/hooks/useButtonSemantics.ts +0 -33
  686. package/src/hooks/useControllableState.ts +0 -24
  687. package/src/hooks/useDialogElement.ts +0 -226
  688. package/src/hooks/useDisabledAnchorGuard.ts +0 -22
  689. package/src/hooks/useDismissibleTransition.ts +0 -126
  690. package/src/hooks/useDrawer.ts +0 -9
  691. package/src/hooks/useFloatingOverlay.ts +0 -125
  692. package/src/hooks/useForkedRef.ts +0 -50
  693. package/src/hooks/useFormField.ts +0 -89
  694. package/src/hooks/useIsomorphicLayoutEffect.ts +0 -9
  695. package/src/hooks/useModal.ts +0 -9
  696. package/src/hooks/useNotification.ts +0 -10
  697. package/src/hooks/useOverlayPlacement.ts +0 -93
  698. package/src/hooks/usePagination.ts +0 -89
  699. package/src/hooks/useToast.ts +0 -9
  700. package/src/hooks/useToastRegionQueue.ts +0 -27
  701. package/src/index.ts +0 -502
  702. package/src/types.ts +0 -133
  703. package/src/utils/breakpoints.ts +0 -43
  704. package/src/utils/comboboxCollection.tsx +0 -152
  705. package/src/utils/dateRangePresets.ts +0 -6
  706. package/src/utils/devWarning.ts +0 -58
  707. package/src/utils/dialogTransition.ts +0 -39
  708. package/src/utils/direction.ts +0 -14
  709. package/src/utils/focusRedirect.ts +0 -23
  710. package/src/utils/isWholeUnitDisabled.ts +0 -17
  711. package/src/utils/mergeIsDateUnavailable.ts +0 -15
  712. package/src/utils/overlayPlacement.ts +0 -93
  713. package/src/utils/pointerInteraction.ts +0 -21
  714. package/src/utils/polymorphic.ts +0 -53
  715. package/src/utils/renderMenuItemContent.tsx +0 -62
  716. package/src/utils/setVisibleRangeStart.ts +0 -64
  717. package/src/utils/spacingClassName.ts +0 -14
  718. package/src/utils/suppressFocusRingGlobally.ts +0 -84
  719. package/src/utils/triggerElement.ts +0 -25
  720. package/src/utils/validationClassName.ts +0 -8
  721. package/src/utils/virtualFocusStyle.ts +0 -16
@@ -1,152 +0,0 @@
1
- import React, { ComponentType, ReactElement, ReactNode } from 'react'
2
- import { Item, Key, Section } from 'react-stately'
3
-
4
- import { ComboboxGroupProps } from '../components/combobox/ComboboxGroup'
5
- import { ComboboxItem, ComboboxItemProps } from '../components/combobox/ComboboxItem'
6
- import { MenuItemsDef } from '../components/menu/MenuItemDef'
7
- import { renderMenuItemContent } from './renderMenuItemContent'
8
-
9
- // Shared between Combobox.tsx/ComboboxListBox.tsx (which build/render this collection) and
10
- // Autocomplete.tsx (which reuses the same entry shape — see the comment on
11
- // `buildEntriesFromChildren` below). Lives in `utils/` rather than `components/combobox/` because
12
- // it crosses that folder boundary; kept in its own file to also avoid a circular import between
13
- // Combobox.tsx and ComboboxListBox.tsx.
14
-
15
- export type ComboboxItemElement = ReactElement<ComboboxItemProps>
16
-
17
- export interface ComboboxGroupEntry {
18
- entryType: 'group'
19
- key: Key
20
- label: ReactNode
21
- items: ComboboxItemElement[]
22
- }
23
-
24
- export type ComboboxEntry = ComboboxItemElement | ComboboxGroupEntry
25
-
26
- // `useComboBoxState`/`useComboBox`'s own `SelectionMode` ('single' | 'multiple') isn't
27
- // re-exported from react-stately's public entry point (only `ComboBoxState` etc. are) — this is
28
- // a structurally-identical stand-in so `ComboboxListBox` can stay generic over it without a
29
- // fragile deep import.
30
- export type ComboboxSelectionMode = 'single' | 'multiple'
31
-
32
- export const isComboboxGroupEntry = (entry: ComboboxEntry): entry is ComboboxGroupEntry =>
33
- (entry as ComboboxGroupEntry).entryType === 'group'
34
-
35
- // `Autocomplete`'s own `AutocompleteItem`/`AutocompleteGroup` are structurally identical to
36
- // `ComboboxItem`/`ComboboxGroup` (see AutocompleteItem.tsx/AutocompleteGroup.tsx — kept as
37
- // separate named types only so `Autocomplete`'s public API doesn't leak `Combobox`'s own prop
38
- // type), but they're different *runtime* component identities, which is what
39
- // `buildEntriesFromChildren` below needs to check consumer-authored `children` against. Passing
40
- // the pair in lets one implementation serve both families instead of two near-duplicate copies.
41
- export interface ComboboxCollectionComponents {
42
- Group: ComponentType<ComboboxGroupProps>
43
- Item: ComponentType<ComboboxItemProps>
44
- }
45
-
46
- // Splits `children` into a flat, ordered list of entries — bare `Item` elements and
47
- // `Group`-wrapped clusters of them — mirroring how `useComboBoxState`'s dynamic collection needs
48
- // top-level nodes: some rendered as a plain `<Item>`, some as a `<Section>` wrapping several
49
- // `<Item>`s (see `comboboxCollectionChildren` below).
50
- export const buildEntriesFromChildren = (
51
- children: ReactNode,
52
- { Group, Item: ItemComponent }: ComboboxCollectionComponents
53
- ): ComboboxEntry[] => {
54
- const entries: ComboboxEntry[] = []
55
- React.Children.forEach(children, (child, index) => {
56
- if (!React.isValidElement(child)) return
57
- if (child.type === Group) {
58
- const groupProps = child.props as ComboboxGroupProps
59
- const items: ComboboxItemElement[] = []
60
- React.Children.forEach(groupProps.children, (groupChild) => {
61
- if (React.isValidElement(groupChild) && groupChild.type === ItemComponent) {
62
- items.push(groupChild as ComboboxItemElement)
63
- }
64
- })
65
- entries.push({ entryType: 'group', key: `group-${index}`, label: groupProps.label, items })
66
- return
67
- }
68
- if (child.type === ItemComponent) {
69
- entries.push(child as ComboboxItemElement)
70
- }
71
- })
72
- return entries
73
- }
74
-
75
- // Same shape as `buildEntriesFromChildren`, from a flat `MenuItemsDef` instead. A `'header'`
76
- // entry opens a new group that all following items join until the next header (or the end of
77
- // the array) — matching how chassis-css itself renders grouped items (flat siblings, no
78
- // wrapping element per group). `'divider'` entries aren't meaningful for a listbox/option
79
- // collection and are skipped.
80
- //
81
- // Always builds a bare `ComboboxItem` internally regardless of which family (`Combobox` or
82
- // `Autocomplete`) called it: unlike `buildEntriesFromChildren`, nothing downstream re-checks
83
- // these elements' runtime type (they're read only via `.props.*`, never matched against a
84
- // component reference again), so there's no need to thread `ComboboxCollectionComponents`
85
- // through here too. `def.href`/`def.onClick` are intentionally not read — see the doc comments on
86
- // `MenuItemDef` itself for why: they're `Menu`-only fields on this shared type.
87
- export const buildEntriesFromItemsDef = (defs: MenuItemsDef): ComboboxEntry[] => {
88
- const entries: ComboboxEntry[] = []
89
- let currentGroup: ComboboxGroupEntry | null = null
90
-
91
- defs.forEach((def) => {
92
- if (def.type === 'divider') return
93
- if (def.type === 'header') {
94
- currentGroup = { entryType: 'group', key: def.id, label: def.label, items: [] }
95
- entries.push(currentGroup)
96
- return
97
- }
98
- const item = (
99
- <ComboboxItem
100
- key={def.id}
101
- id={def.id}
102
- disabled={def.disabled}
103
- icon={def.icon}
104
- description={def.description}
105
- textValue={def.textValue}
106
- >
107
- {def.label}
108
- </ComboboxItem>
109
- )
110
- if (currentGroup) currentGroup.items.push(item)
111
- else entries.push(item)
112
- })
113
-
114
- return entries
115
- }
116
-
117
- export const getDisabledKeys = (entries: ComboboxEntry[]): Key[] =>
118
- entries.reduce<Key[]>((keys, entry) => {
119
- const items = isComboboxGroupEntry(entry) ? entry.items : [entry]
120
- return keys.concat(items.filter((item) => item.props.disabled).map((item) => item.props.id))
121
- }, [])
122
-
123
- // Builds the react-stately `Item` node `useComboBoxState`'s collection actually renders from one
124
- // entry's props — identical for `Combobox` and `Autocomplete` regardless of which authoring
125
- // component (`ComboboxItem`/`AutocompleteItem`) produced it, since both share the same prop shape.
126
- export const renderComboboxCollectionItem = (item: ComboboxItemElement) => (
127
- <Item
128
- key={item.props.id}
129
- textValue={
130
- item.props.textValue ??
131
- (typeof item.props.children === 'string' ? item.props.children : undefined)
132
- }
133
- >
134
- {renderMenuItemContent({
135
- icon: item.props.icon,
136
- label: item.props.children,
137
- description: item.props.description
138
- })}
139
- </Item>
140
- )
141
-
142
- // `useComboBoxState`'s own `children` render prop, given one `ComboboxEntry` — a plain `Item` for
143
- // a bare entry, a `Section` wrapping its items for a group. Identical for `Combobox` and
144
- // `Autocomplete`'s state setup.
145
- export const comboboxCollectionChildren = (entry: ComboboxEntry) =>
146
- isComboboxGroupEntry(entry) ? (
147
- <Section key={entry.key} title={entry.label} items={entry.items}>
148
- {renderComboboxCollectionItem}
149
- </Section>
150
- ) : (
151
- renderComboboxCollectionItem(entry)
152
- )
@@ -1,6 +0,0 @@
1
- import { DateValue, RangeValue } from 'react-aria'
2
-
3
- export interface DateRangePreset {
4
- label: string
5
- range: RangeValue<DateValue>
6
- }
@@ -1,58 +0,0 @@
1
- // Development-only misuse warnings, in one place so every component reports misuse the same way
2
- // and none of it reaches a consumer's production bundle.
3
- //
4
- // Two problems this fixes over calling `console.warn` directly, which is what every call site used
5
- // to do:
6
- //
7
- // 1. **They fired in production.** Nothing in this package guarded on `NODE_ENV`, so every
8
- // `console.warn` ran for end users of a consuming app. `process.env.NODE_ENV` is the idiom
9
- // bundlers (Vite, webpack, Turbopack, Rollup) replace with a literal, so in a production build
10
- // `IS_DEV` folds to `false` and no warning is ever emitted. Relying on that substitution adds
11
- // no new constraint: `react-dom` — a peer dependency, so always present — already requires
12
- // exactly the same replacement.
13
- // 2. **They repeated.** Most call sites warn during render, so a warning re-fired on every
14
- // re-render, and twice per render under StrictMode's double-invoke. De-duplicating on the
15
- // message means a misuse is reported once and stays readable in the console.
16
- //
17
- // What this does *not* do is strip the message strings from the bundle. Measured with esbuild
18
- // against the built `dist/index.js`: a `NODE_ENV=production` consumer bundle still contains them.
19
- // `tsdown` minifies this package's own output first (`minify: true`), collapsing each function to
20
- // a `IS_DEV && cond && ...` expression, and a consumer's minifier won't then inline that call to
21
- // discover its arguments are droppable. Building unminified would let them drop, at the cost of
22
- // shipping pretty-printed dist — not worth it for a few hundred gzipped bytes. The behavior that
23
- // mattered (nothing logged in production, nothing repeated in development) is the part that's
24
- // fixed; treat the strings as part of the bundle's fixed cost.
25
- const IS_DEV = process.env.NODE_ENV !== 'production'
26
-
27
- const warned = new Set<string>()
28
-
29
- /**
30
- * Resets the de-duplication set. Test-only — the suite asserts on these warnings, and without a
31
- * reset between tests the *second* test in a file to trigger the same message would see nothing.
32
- * Called from a global `beforeEach` in `test/setup.ts`.
33
- */
34
- export function resetDevWarnings(): void {
35
- warned.clear()
36
- }
37
-
38
- /**
39
- * Logs `message` once via `console.warn` when `condition` is true, in development builds only.
40
- * Use for a recoverable misuse: the component still renders something sensible.
41
- */
42
- export function devWarning(condition: boolean, message: string): void {
43
- if (!IS_DEV) return
44
- if (!condition || warned.has(message)) return
45
- warned.add(message)
46
- console.warn(message)
47
- }
48
-
49
- /**
50
- * Logs `message` once via `console.error` when `condition` is true, in development builds only.
51
- * Use for a misuse that leaves the component genuinely broken (e.g. a required prop missing).
52
- */
53
- export function devError(condition: boolean, message: string): void {
54
- if (!IS_DEV) return
55
- if (!condition || warned.has(message)) return
56
- warned.add(message)
57
- console.error(message)
58
- }
@@ -1,39 +0,0 @@
1
- // Shared transition timing for native <dialog>-based components (Modal, Drawer). Body-scroll
2
- // locking is handled by react-aria's usePreventScroll directly in each component.
3
-
4
- export const getTransitionDuration = (element: HTMLElement) => {
5
- const { transitionDuration, transitionDelay } = window.getComputedStyle(element)
6
- const duration = Number.parseFloat(transitionDuration) || 0
7
- const delay = Number.parseFloat(transitionDelay) || 0
8
- if (!duration && !delay) return 0
9
- return (duration + delay) * 1000
10
- }
11
-
12
- export const executeAfterTransition = (
13
- element: HTMLElement,
14
- callback: () => void,
15
- animated: boolean
16
- ) => {
17
- if (!animated) {
18
- callback()
19
- return () => undefined
20
- }
21
-
22
- let called = false
23
- const done = () => {
24
- if (called) return
25
- called = true
26
- element.removeEventListener('transitionend', handleEnd)
27
- clearTimeout(timer)
28
- callback()
29
- }
30
- const handleEnd = (event: Event) => {
31
- if (event.target === element) done()
32
- }
33
- element.addEventListener('transitionend', handleEnd)
34
- const timer = setTimeout(done, getTransitionDuration(element) + 50)
35
- return () => {
36
- element.removeEventListener('transitionend', handleEnd)
37
- clearTimeout(timer)
38
- }
39
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Whether `element` renders right-to-left.
3
- *
4
- * Reads the *computed* direction rather than react-aria's `useLocale()`. The two are deliberately
5
- * separate signals in this library (see the Internationalization docs page): `useLocale()` follows
6
- * `I18nProvider`, and drives locale-dependent behavior like which calendar system to use;
7
- * everything about visual layout — including which physical arrow key moves "forward" through a
8
- * horizontally-laid-out control — follows the `dir` attribute, which is what `getComputedStyle`
9
- * resolves here. A page can set one without the other, and for arrow-key navigation it's the
10
- * rendered order the user sees that has to match.
11
- */
12
- export function isRTL(element: Element): boolean {
13
- return getComputedStyle(element).direction === 'rtl'
14
- }
@@ -1,23 +0,0 @@
1
- import { suppressFocusRing } from './suppressFocusRingGlobally'
2
-
3
- // Safari shows a `:focus-visible` ring on an element focused via script even when the
4
- // interaction that triggered the script was a real pointer click — unlike Chromium/Firefox,
5
- // which correctly suppress it in that case. Force the ring off for a pointer-triggered redirect,
6
- // then let normal focus-visible behavior resume the next time this element is genuinely
7
- // (re)focused, e.g. via Tab.
8
- //
9
- // The suppress/restore cycle itself is `suppressFocusRing`'s, not reimplemented here: it owns the
10
- // re-entrancy guard that keeps a second call before the element blurs from capturing the
11
- // already-suppressed value as the one to restore (which left the ring off for good — reachable by
12
- // clicking twice at the same disabled end of a `ends="stop"` carousel). `boxShadow` is suppressed
13
- // alongside `outline` here, but not on the global pointerdown path, because a redirect can land
14
- // on an element whose ring is painted that way.
15
- export function focusRedirect(
16
- el: HTMLElement | null,
17
- viaPointer: boolean,
18
- focusOptions?: FocusOptions
19
- ): void {
20
- if (!el) return
21
- if (viaPointer) suppressFocusRing(el, ['outline', 'boxShadow'])
22
- el.focus(focusOptions)
23
- }
@@ -1,17 +0,0 @@
1
- import { CalendarState, RangeCalendarState } from 'react-stately'
2
- import { CalendarDate, toCalendarDate } from '@internationalized/date'
3
-
4
- // Shared by `CalendarMonthGrid` and `CalendarYearGrid` — a month/year button is disabled when
5
- // every day it covers falls outside `minValue`/`maxValue`, not just when its first day does (e.g.
6
- // a `maxValue` of March 15th still leaves March itself partly selectable, so March's button stays
7
- // enabled; April's doesn't). `unitEnd` is the last day of the button's own month/year.
8
- export const isWholeUnitDisabled = (
9
- state: CalendarState<'single' | 'multiple'> | RangeCalendarState,
10
- unitStart: CalendarDate,
11
- unitEnd: CalendarDate
12
- ): boolean => {
13
- if (state.isDisabled) return true
14
- if (state.maxValue && unitStart.compare(toCalendarDate(state.maxValue)) > 0) return true
15
- if (state.minValue && unitEnd.compare(toCalendarDate(state.minValue)) < 0) return true
16
- return false
17
- }
@@ -1,15 +0,0 @@
1
- import { DateValue } from 'react-stately'
2
-
3
- // `date.toString()` on a `CalendarDate` (the only `DateValue` variant `Calendar`/`DatePicker`
4
- // ever produce — both are date-only, no time segments) yields the same ISO 8601 `YYYY-MM-DD`
5
- // string already used elsewhere for form submission (see `DatePicker`'s hidden input), so
6
- // `unavailableDates` entries are expected in that same format.
7
- export const mergeIsDateUnavailable = (
8
- unavailableDates: string[] | undefined,
9
- isDateUnavailable: ((date: DateValue) => boolean) | undefined
10
- ): ((date: DateValue) => boolean) | undefined => {
11
- if (!unavailableDates?.length && !isDateUnavailable) return undefined
12
-
13
- const set = unavailableDates?.length ? new Set(unavailableDates) : null
14
- return (date) => Boolean(set?.has(date.toString())) || Boolean(isDateUnavailable?.(date))
15
- }
@@ -1,93 +0,0 @@
1
- import type { CSSProperties } from 'react'
2
- import type { Placement as AriaPlacement, PlacementAxis } from 'react-aria'
3
-
4
- // Chassis CSS's floating components (`.menu`, `.tooltip`, `.popover`) read a `data-cx-placement`
5
- // attribute in this hyphenated, compound form (`"bottom-end"`, `"top-start"`, ...) to pick the
6
- // right transform-origin for the open/close animation. React Aria's `useOverlayPosition` speaks a
7
- // different, space-separated placement vocabulary (`"bottom end"`) and only reports back the
8
- // resolved main axis after flipping, not the full compound value — this module bridges the two.
9
- export type Placement =
10
- | 'top'
11
- | 'top-start'
12
- | 'top-end'
13
- | 'bottom'
14
- | 'bottom-start'
15
- | 'bottom-end'
16
- | 'left'
17
- | 'left-start'
18
- | 'left-end'
19
- | 'right'
20
- | 'right-start'
21
- | 'right-end'
22
-
23
- const ARIA_PLACEMENT: Record<Placement, AriaPlacement> = {
24
- top: 'top',
25
- 'top-start': 'top start',
26
- 'top-end': 'top end',
27
- bottom: 'bottom',
28
- 'bottom-start': 'bottom start',
29
- 'bottom-end': 'bottom end',
30
- left: 'left',
31
- 'left-start': 'left top',
32
- 'left-end': 'left bottom',
33
- right: 'right',
34
- 'right-start': 'right top',
35
- 'right-end': 'right bottom'
36
- }
37
-
38
- // Translates chassis-react's public `placement` prop values into the strings
39
- // `useOverlayPosition` expects.
40
- export const toAriaPlacement = (placement: Placement): AriaPlacement => ARIA_PLACEMENT[placement]
41
-
42
- // `useOverlayPosition`'s own `shouldFlip` only ever swaps the main axis (top<->bottom or
43
- // left<->right) — it never changes the requested cross-axis alignment — so the resolved compound
44
- // value is always the requested cross-axis suffix reattached to the (possibly flipped) main axis
45
- // `useOverlayPosition` reports back.
46
- export const resolveDataPlacement = (
47
- requested: Placement,
48
- resolvedMain: PlacementAxis | null
49
- ): string => {
50
- if (!resolvedMain || resolvedMain === 'center') return requested
51
- const cross = requested.split('-')[1]
52
- return cross ? `${resolvedMain}-${cross}` : resolvedMain
53
- }
54
-
55
- // Shared between `Menu`/`MenuSubmenu` and `Combobox`/`Autocomplete`, whose floating panels all
56
- // position via `useOverlayPosition` the same way: only `position`/`top`/`left` are taken from the
57
- // hook's computed style (`zIndex`/`maxHeight` stay owned by chassis-css's own `--zindex`/
58
- // `--max-height` tokens, see `_menu.scss`), and `data-cx-placement` needs the resolved main axis
59
- // reattached to the originally-requested cross-axis alignment. Lives here (rather than
60
- // `components/menu/`) for the same reason `renderMenuItemContent` does — `Combobox.tsx`/
61
- // `Autocomplete.tsx` need it too, and importing across that folder boundary from three call sites
62
- // is worse than housing it where none of the four has to reach into a sibling's folder.
63
- export interface MenuOverlayPositioning {
64
- menuStyle: CSSProperties
65
- placementAttr: string
66
- }
67
-
68
- export const resolveMenuOverlayPositioning = (
69
- overlayStyle: CSSProperties | undefined,
70
- requestedPlacement: Placement,
71
- resolvedPlacement: PlacementAxis | null
72
- ): MenuOverlayPositioning => ({
73
- menuStyle: {
74
- position: overlayStyle?.position,
75
- top: overlayStyle?.top,
76
- left: overlayStyle?.left
77
- },
78
- placementAttr: resolveDataPlacement(requestedPlacement, resolvedPlacement)
79
- })
80
-
81
- // chassis-css's `.combobox + .menu` sibling-selector rule (`_combobox.scss`) sets
82
- // `--menu-max-height`/`--menu-overflow-y` from `$combobox-menu-max-height`/
83
- // `$combobox-menu-overflow-y` (320px/auto by default) — but only while the panel is an adjacent
84
- // DOM sibling of `.combobox`. `Autocomplete`/`Combobox` portal their panel to `document.body` (or
85
- // an enclosing open `<dialog>`, via `useFloatingOverlay`), breaking that adjacency, so both inline
86
- // this as a fallback matching the shipped Sass defaults instead of the generic, uncapped `.menu`
87
- // fallback (`max-height: none`). A consumer who customized either Sass variable needs to
88
- // re-override `--menu-max-height`/`--menu-overflow-y` on `.menu` directly, since the
89
- // sibling-selector auto-application can no longer reach a portaled panel.
90
- export const COMBOBOX_MENU_OVERLAY_STYLE: CSSProperties = {
91
- '--menu-max-height': '320px',
92
- '--menu-overflow-y': 'auto'
93
- } as CSSProperties
@@ -1,21 +0,0 @@
1
- // Tracks, per-element, whether its most recent activation came from a real pointer click rather
2
- // than a keyboard one (a `click` fired by pointer activation has `detail >= 1`; one fired by
3
- // keyboard activation, e.g. Enter/Space on a focused button, has `detail === 0`) — for callers
4
- // that need that information later, asynchronously, once React has committed the state update the
5
- // click triggered (see `Carousel.tsx`'s disabled-end focus redirect, which needs it to decide
6
- // whether `focusRedirect` should suppress Safari's script-focus-after-pointer-click ring). A
7
- // `WeakSet` rather than a DOM attribute so it doesn't leak into markup/snapshots, and consuming it
8
- // clears the entry so a later, unrelated keyboard activation on the same element isn't
9
- // misattributed as pointer-triggered.
10
- const pointerClicks = new WeakSet<HTMLElement>()
11
-
12
- export function markPointerClick(el: HTMLElement): void {
13
- pointerClicks.add(el)
14
- }
15
-
16
- export function consumePointerClick(el: HTMLElement | null): boolean {
17
- if (!el) return false
18
- const wasPointer = pointerClicks.has(el)
19
- pointerClicks.delete(el)
20
- return wasPointer
21
- }
@@ -1,53 +0,0 @@
1
- import {
2
- ComponentPropsWithoutRef,
3
- ComponentPropsWithRef,
4
- ElementType,
5
- ForwardRefRenderFunction,
6
- forwardRef,
7
- Ref
8
- } from 'react'
9
-
10
- // Ref type inferred from a polymorphic component's currently-selected `component` element type.
11
- export type PolymorphicRef<C extends ElementType> = ComponentPropsWithRef<C>['ref']
12
-
13
- /**
14
- * Ref type for a polymorphic component that can also pick its element from a prop *other* than
15
- * `component` — `Button`, `Chip`, `Avatar`, `NavbarBrand` and `PaginationItem` all render an
16
- * `<a>` when given `href`, and `PaginationItem` a `<span>` when `active`, none of which moves `C`
17
- * off its default. A plain `PolymorphicRef<C>` describes only the `component` branch, so a caller
18
- * holding a ref for the element that actually gets rendered (`<Button href="/x" ref={anchorRef}>`)
19
- * got a spurious type error while the runtime happily populated it.
20
- *
21
- * `Ref` over the *union* rather than a union of `Ref`s is what makes a
22
- * `createRef<HTMLButtonElement | HTMLAnchorElement>()` assignable here: `RefObject` is invariant
23
- * in its type argument, so `RefObject<A | B>` satisfies `Ref<A | B>` but neither `Ref<A>` nor
24
- * `Ref<B>` on its own.
25
- */
26
- export type PolymorphicRefWithFallback<C extends ElementType, Fallback extends HTMLElement> =
27
- PolymorphicRef<C> | Ref<Fallback>
28
-
29
- /**
30
- * Props for a polymorphic component: `OwnProps` (which must declare `component?: C`) plus
31
- * whatever props `C` itself accepts, minus any name already claimed by `OwnProps` so the two
32
- * don't conflict. Lets consumers swap `component` for e.g. a framework's `Image` and get full
33
- * type-checking/autocomplete for that component's own props at the call site.
34
- */
35
- export type PolymorphicComponentProps<C extends ElementType, OwnProps extends object> = OwnProps &
36
- Omit<ComponentPropsWithoutRef<C>, keyof OwnProps>
37
-
38
- /**
39
- * Wraps a polymorphic component's render function in `forwardRef` and stamps `displayName` — the
40
- * two-step wiring every polymorphic component in this library repeats identically. `T` is the
41
- * fully generic component type (e.g. `ButtonComponent`) that `forwardRef`'s own return type can't
42
- * express, since `forwardRef` only accepts a non-generic render function — the caller still casts
43
- * the render function to a concrete `Element`-typed instance before passing it in here.
44
- */
45
- export function createPolymorphicComponent<T>(
46
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
- render: ForwardRefRenderFunction<Element, any>,
48
- displayName: string
49
- ): T {
50
- const Component = forwardRef(render) as unknown as T & { displayName?: string }
51
- Component.displayName = displayName
52
- return Component
53
- }
@@ -1,62 +0,0 @@
1
- import React, { ReactNode } from 'react'
2
-
3
- import { Icon } from '../components/icon/Icon'
4
-
5
- export interface MenuItemContentDef {
6
- /**
7
- * Icon rendered at the item's leading edge (`.menu-item-icon`).
8
- */
9
- icon?: ReactNode
10
- /**
11
- * Label content.
12
- */
13
- label: ReactNode
14
- /**
15
- * Secondary line of text rendered below the label (`.menu-item-description`).
16
- */
17
- description?: ReactNode
18
- /**
19
- * Renders a `.menu-item-check` at the trailing edge when true.
20
- */
21
- selected?: boolean
22
- /**
23
- * Icon name for the selected-state check. Defaults to chassis-css's own doc example.
24
- */
25
- checkIcon?: string
26
- }
27
-
28
- // Chassis-css defines identical markup for rich item content in both Menu and Combobox items
29
- // (and, by extension, Autocomplete) — `.menu-item-icon` / `.menu-item-content` (label +
30
- // `.menu-item-description`) / `.menu-item-check`. Shared here so every consumer produces
31
- // byte-identical DOM instead of three near-duplicate implementations. Lives in `utils/` rather
32
- // than `components/menu/` because it crosses that folder boundary — Combobox.tsx and
33
- // Autocomplete.tsx both import it too. Renders bare `label` when there's nothing else to show,
34
- // keeping simple items' markup as minimal as chassis-css's own simplest example.
35
- export const renderMenuItemContent = ({
36
- icon,
37
- label,
38
- description,
39
- selected,
40
- checkIcon = 'check-solid'
41
- }: MenuItemContentDef): ReactNode => {
42
- if (icon == null && description == null && !selected) return label
43
-
44
- return (
45
- <>
46
- {icon != null && (
47
- <span className="menu-item-icon" aria-hidden="true">
48
- {icon}
49
- </span>
50
- )}
51
- {description != null ? (
52
- <span className="menu-item-content">
53
- <span>{label}</span>
54
- <small className="menu-item-description">{description}</small>
55
- </span>
56
- ) : (
57
- label
58
- )}
59
- {selected && <Icon name={checkIcon} className="menu-item-check" />}
60
- </>
61
- )
62
- }
@@ -1,64 +0,0 @@
1
- import { flushSync } from 'react-dom'
2
- import { CalendarState, RangeCalendarState } from 'react-stately'
3
- import { CalendarDate } from '@internationalized/date'
4
-
5
- // Moves a (possibly multi-month) calendar's visible range so it starts at `desiredStart` — used by
6
- // `CalendarMonthYearPicker` to jump straight to a picked month/year, in any visible block.
7
- //
8
- // `state.setFocusedDate` is the only way to move `visibleRange` from outside react-stately, but it
9
- // doesn't just set `visibleRange.start` to wherever focus goes: react-stately keeps the visible
10
- // range as separate internal state, only repositioning it when the newly focused date falls
11
- // entirely *before* the current range (realigning so the range *ends* at that date's month) or
12
- // entirely *after* it (realigning so it *starts* there) — a focused date that lands inside the
13
- // current range moves focus without paging the range at all. That means a single `setFocusedDate`
14
- // call can only land exactly on an arbitrary `desiredStart` when it's at least a full
15
- // `visibleDuration` away from the current range. Anything closer — the common case here, since
16
- // adjacent blocks in a multi-month calendar are only one month apart — either no-ops (desired
17
- // start still inside the current range) or overshoots by up to a full `visibleDuration` (desired
18
- // start just outside it, but not far enough for the realignment to land exactly).
19
- //
20
- // Worked around with two `setFocusedDate` hops when a single one can't reach exactly: first past
21
- // `desiredStart` by one extra `visibleDuration` in the same direction (always far enough to land
22
- // exactly, by the same rule), flushed synchronously so `visibleRange` actually updates before the
23
- // second call runs, then back onto `desiredStart` itself — which, relative to that intermediate
24
- // range, is now exactly one `visibleDuration` away and so lands exactly too.
25
- export const setVisibleRangeStart = (
26
- state: CalendarState<'single' | 'multiple'> | RangeCalendarState,
27
- desiredStart: CalendarDate
28
- ): void => {
29
- const { start: currentStart, end: currentEnd } = state.visibleRange
30
- if (desiredStart.compare(currentStart) === 0) return
31
-
32
- const durationMonths = state.visibleDuration.months || 1
33
- const isForward = desiredStart.compare(currentStart) > 0
34
-
35
- const reachableInOneHop = isForward
36
- ? desiredStart.compare(currentEnd) > 0
37
- : desiredStart.add({ months: durationMonths - 1 }).compare(currentStart) < 0
38
-
39
- if (reachableInOneHop) {
40
- state.setFocusedDate(focusedDateForStart(desiredStart, isForward, durationMonths))
41
- return
42
- }
43
-
44
- const overshootStart = isForward
45
- ? desiredStart.add({ months: durationMonths })
46
- : desiredStart.subtract({ months: durationMonths })
47
-
48
- flushSync(() => {
49
- state.setFocusedDate(focusedDateForStart(overshootStart, isForward, durationMonths))
50
- })
51
- // Relative to the now-updated range, `desiredStart` sits exactly one `visibleDuration` back the
52
- // way we came — always far enough for a single hop to land exactly.
53
- state.setFocusedDate(focusedDateForStart(desiredStart, !isForward, durationMonths))
54
- }
55
-
56
- // react-stately's forward-paging realignment anchors the new range to whatever month
57
- // `focusedDate` itself falls in; its backward-paging one anchors it `visibleDuration - 1` months
58
- // *before* `focusedDate`'s month instead — so landing on a specific desired start takes a
59
- // different `focusedDate` depending on which of the two is going to fire.
60
- const focusedDateForStart = (
61
- desiredStart: CalendarDate,
62
- isForward: boolean,
63
- durationMonths: number
64
- ): CalendarDate => (isForward ? desiredStart : desiredStart.add({ months: durationMonths - 1 }))
@@ -1,14 +0,0 @@
1
- import { Spacing } from '../types'
2
-
3
- // A spacing prop (`gap`/`rowGap`/`gutter`/...) is typed `Spacing | 0`, but `0` is meaningful
4
- // (chassis-css's `gap-0` etc. exist) while `undefined`/`false`-ish values mean "not set" — a
5
- // plain truthy check would drop `0`, so every caller needs this same `typeof` guard instead.
6
- // Shared by `Flex`, `Stack`, `Row`, and `CardBody`'s own `layoutClassNames`/`_className` builders,
7
- // which otherwise duplicated it once per spacing prop (`gap`, `rowGap`, `columnGap`, `gutter`,
8
- // `gutterX`, `gutterY`, ...).
9
- export const spacingClassName = (
10
- base: string,
11
- value: Spacing | 0 | undefined,
12
- prefix = ''
13
- ): string | null =>
14
- typeof value === 'string' || typeof value === 'number' ? `${prefix}${base}-${value}` : null