@chassis-ui/react 0.1.3 → 0.2.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 (350) hide show
  1. package/dist/accordion.d.ts +2 -0
  2. package/dist/accordion.js +1 -0
  3. package/dist/autocomplete.d.ts +2 -0
  4. package/dist/autocomplete.js +1 -0
  5. package/dist/avatar.d.ts +2 -0
  6. package/dist/avatar.js +1 -0
  7. package/dist/badge.d.ts +2 -0
  8. package/dist/badge.js +1 -0
  9. package/dist/breadcrumb.d.ts +2 -0
  10. package/dist/breadcrumb.js +1 -0
  11. package/dist/button-group.d.ts +2 -0
  12. package/dist/button-group.js +1 -0
  13. package/dist/button.d.ts +3 -0
  14. package/dist/button.js +1 -0
  15. package/dist/calendar.d.ts +3 -0
  16. package/dist/calendar.js +1 -0
  17. package/dist/card.d.ts +2 -0
  18. package/dist/card.js +1 -0
  19. package/dist/carousel.d.ts +2 -0
  20. package/dist/carousel.js +1 -0
  21. package/dist/checkbox.d.ts +3 -0
  22. package/dist/checkbox.js +1 -0
  23. package/dist/chip-input.d.ts +2 -0
  24. package/dist/chip-input.js +1 -0
  25. package/dist/chip.d.ts +2 -0
  26. package/dist/chip.js +1 -0
  27. package/dist/chunks/Button-Cptd4Yk7.d.ts +65 -0
  28. package/dist/chunks/Button-I0aUy5h-.js +1 -0
  29. package/dist/chunks/Chip-D0Cw0mAr.js +1 -0
  30. package/dist/chunks/CloseButton-DJM7FRKh.js +1 -0
  31. package/dist/chunks/ComboboxItem-C9TpoJOI.d.ts +54 -0
  32. package/dist/chunks/ComboboxListBox-BhO8uRNg.js +1 -0
  33. package/dist/chunks/FormHelp-Be2PQL0y.js +1 -0
  34. package/dist/chunks/FormLabel-CYcQiFUI.js +1 -0
  35. package/dist/chunks/Icon-BIwkD-kx.js +1 -0
  36. package/dist/chunks/Icon-CioraWLF.d.ts +36 -0
  37. package/dist/chunks/Link-B0Y1xgYi.d.ts +69 -0
  38. package/dist/chunks/Link-Cq7FNWpm.js +1 -0
  39. package/dist/chunks/MenuItemDef-D0VDtYIQ.d.ts +82 -0
  40. package/dist/chunks/RangeCalendar-COnSfurr.js +1 -0
  41. package/dist/chunks/accordion-okRicuG5.js +1 -0
  42. package/dist/chunks/autocomplete-B0xTc6kg.js +1 -0
  43. package/dist/chunks/avatar-Bjm0DlPO.js +1 -0
  44. package/dist/chunks/badge-Bj8mf8lu.js +1 -0
  45. package/dist/chunks/breadcrumb-DDxnx_iS.js +1 -0
  46. package/dist/chunks/breakpoints-SLMTNHF9.d.ts +5 -0
  47. package/dist/chunks/breakpoints-o_2Ev7ir.js +1 -0
  48. package/dist/chunks/button-group-CPZYA6aZ.js +1 -0
  49. package/dist/chunks/card-DfF2K_5p.js +1 -0
  50. package/dist/chunks/carousel-DEvwcA7H.js +1 -0
  51. package/dist/chunks/checkbox-BFPS0pD6.js +1 -0
  52. package/dist/chunks/chip-input-CB1lE6vP.js +1 -0
  53. package/dist/chunks/collapse-WifcChO8.js +1 -0
  54. package/dist/chunks/color-input-CyRaLR_G.js +1 -0
  55. package/dist/chunks/combobox-DWEj-Sv7.js +1 -0
  56. package/dist/chunks/datagrid-nbnNThsT.js +2 -0
  57. package/dist/chunks/dateRangePresets-R1FtA1zp.d.ts +41 -0
  58. package/dist/chunks/datepicker-CslLKMm1.js +1 -0
  59. package/dist/chunks/dialogTransition-i9vw0i2Z.js +1 -0
  60. package/dist/chunks/direction-CPhdeL3A.js +1 -0
  61. package/dist/chunks/drawer-zReFjoJG.js +1 -0
  62. package/dist/chunks/file-input-RRqZSzjH.js +1 -0
  63. package/dist/chunks/flex-BTvpgaRv.js +1 -0
  64. package/dist/chunks/floating-input-CIC9Lm2a.js +1 -0
  65. package/dist/chunks/focus-ring-SR_LwaN7.js +1 -0
  66. package/dist/chunks/focusRedirect-BrvK3U_o.js +1 -0
  67. package/dist/chunks/form-GpdAyWWi.js +1 -0
  68. package/dist/chunks/form-field-BjQ9SIjx.js +1 -0
  69. package/dist/chunks/grid-CuFw89yV.js +1 -0
  70. package/dist/chunks/icon-mxYpL5nL.js +1 -0
  71. package/dist/chunks/iconConfig-Bu6Pt9o3.d.ts +69 -0
  72. package/dist/chunks/iconSlot-BmWxJh27.js +1 -0
  73. package/dist/chunks/index--0_IpTDT.d.ts +17 -0
  74. package/dist/chunks/index-6uob77s9.d.ts +80 -0
  75. package/dist/chunks/index-8PhBSbNQ.d.ts +93 -0
  76. package/dist/chunks/index-B0-8n-Gs.d.ts +105 -0
  77. package/dist/chunks/index-B8uaSJA9.d.ts +95 -0
  78. package/dist/chunks/index-BA-raEMm.d.ts +28 -0
  79. package/dist/chunks/index-BDfh8YBc.d.ts +39 -0
  80. package/dist/chunks/index-BKMW0rkw.d.ts +80 -0
  81. package/dist/chunks/index-BO9jLOIb.d.ts +58 -0
  82. package/dist/chunks/index-BO_1MN66.d.ts +87 -0
  83. package/dist/chunks/index-BTDgfLxK.d.ts +94 -0
  84. package/dist/chunks/index-BTTeKpiE.d.ts +363 -0
  85. package/dist/chunks/index-BVGGIaPX.d.ts +110 -0
  86. package/dist/chunks/index-Bi8FFadV.d.ts +98 -0
  87. package/dist/chunks/index-Bkj17NEQ.d.ts +50 -0
  88. package/dist/chunks/index-BlgkO3dn.d.ts +280 -0
  89. package/dist/chunks/index-BxTlIaZu.d.ts +301 -0
  90. package/dist/chunks/index-C61tPIJ-.d.ts +50 -0
  91. package/dist/chunks/index-CCXJXToc.d.ts +52 -0
  92. package/dist/chunks/index-CJzKu7QI.d.ts +40 -0
  93. package/dist/chunks/index-COsIPd8L.d.ts +62 -0
  94. package/dist/chunks/index-COsYSDrz.d.ts +109 -0
  95. package/dist/chunks/index-CRfm7W6C.d.ts +230 -0
  96. package/dist/chunks/index-CVUMS0x7.d.ts +73 -0
  97. package/dist/chunks/index-CaQ1JY5D.d.ts +49 -0
  98. package/dist/chunks/index-Cf2n0l0U.d.ts +138 -0
  99. package/dist/chunks/index-CftERHnE.d.ts +24 -0
  100. package/dist/chunks/index-ClT3E_hv.d.ts +302 -0
  101. package/dist/chunks/index-CsMIgBsd.d.ts +39 -0
  102. package/dist/chunks/index-Ctuk1xBU.d.ts +99 -0
  103. package/dist/chunks/index-D2VVO8rx.d.ts +49 -0
  104. package/dist/chunks/index-D949AidR.d.ts +40 -0
  105. package/dist/chunks/index-D9PZHY_I.d.ts +135 -0
  106. package/dist/chunks/index-DAoPg59I.d.ts +80 -0
  107. package/dist/chunks/index-DB_ToPdz.d.ts +202 -0
  108. package/dist/chunks/index-DEb9zXlC.d.ts +210 -0
  109. package/dist/chunks/index-DHGgezXU.d.ts +58 -0
  110. package/dist/chunks/index-DJJocp_q.d.ts +132 -0
  111. package/dist/chunks/index-DKma0jQw.d.ts +104 -0
  112. package/dist/chunks/index-DPV62IdF.d.ts +118 -0
  113. package/dist/chunks/index-DR8sYtvd.d.ts +296 -0
  114. package/dist/chunks/index-Dcc_W6Kv.d.ts +146 -0
  115. package/dist/chunks/index-Dfg4Ftb8.d.ts +68 -0
  116. package/dist/chunks/index-Dfy1YW5j.d.ts +73 -0
  117. package/dist/chunks/index-Dh5CaHTP.d.ts +44 -0
  118. package/dist/chunks/index-DtbUXxjz.d.ts +53 -0
  119. package/dist/chunks/index-Dum6Y9XR.d.ts +187 -0
  120. package/dist/chunks/index-HrKN6s8z.d.ts +66 -0
  121. package/dist/chunks/index-JllMXhVx.d.ts +176 -0
  122. package/dist/chunks/index-XjLvaH4G.d.ts +67 -0
  123. package/dist/chunks/index-dh3TKanY.d.ts +235 -0
  124. package/dist/chunks/index-nklPDKlC.d.ts +137 -0
  125. package/dist/chunks/index-qgZ5VGmc.d.ts +177 -0
  126. package/dist/chunks/index-tOodmT36.d.ts +129 -0
  127. package/dist/chunks/index-t_x6jj7l.d.ts +96 -0
  128. package/dist/chunks/input-adorn-C_EHML68.js +1 -0
  129. package/dist/chunks/input-group-iI7azfvE.js +1 -0
  130. package/dist/chunks/list-CMr-wB9d.js +1 -0
  131. package/dist/chunks/menu-CXUc-Gva.js +1 -0
  132. package/dist/chunks/modal-ByIj71Mq.js +1 -0
  133. package/dist/chunks/nav-BldxFo_B.js +1 -0
  134. package/dist/chunks/navbar-BwcsQuBk.js +1 -0
  135. package/dist/chunks/notification-DdqigVB1.js +1 -0
  136. package/dist/chunks/otp-input-CXe_wkII.js +1 -0
  137. package/dist/chunks/overlayPlacement-B7843a-Q.d.ts +6 -0
  138. package/dist/chunks/overlayPlacement-BtS90IVf.js +1 -0
  139. package/dist/chunks/pagination-BOpEAYW2.js +1 -0
  140. package/dist/chunks/password-strength-BfLiYiGj.js +1 -0
  141. package/dist/chunks/placeholder-pg95KELl.js +1 -0
  142. package/dist/chunks/polymorphic-CACPOv1_.js +1 -0
  143. package/dist/chunks/polymorphic-CVHbTHSN.d.ts +40 -0
  144. package/dist/chunks/popover-BpSfnZzk.js +1 -0
  145. package/dist/chunks/progress-DlrZ71aV.js +1 -0
  146. package/dist/chunks/radio-BV7Sq6D1.js +1 -0
  147. package/dist/chunks/range-input-BN3430j-.js +1 -0
  148. package/dist/chunks/renderFormCheck-BXBs6_ov.js +1 -0
  149. package/dist/chunks/renderFormCheck-CYWG-Rbt.d.ts +23 -0
  150. package/dist/chunks/renderFormField-fBEny6JV.d.ts +14 -0
  151. package/dist/chunks/renderFormField-wiaxvvLG.js +1 -0
  152. package/dist/chunks/renderMenuItemContent-CmqT3YUQ.js +1 -0
  153. package/dist/chunks/select-CclIIux8.js +1 -0
  154. package/dist/chunks/skeleton-CKq76sE_.js +1 -0
  155. package/dist/chunks/spacingClassName-DVhk8m3P.js +1 -0
  156. package/dist/chunks/spinner-BEq4PAlu.js +1 -0
  157. package/dist/chunks/stack-D3retZ-W.js +1 -0
  158. package/dist/chunks/static-table-D0M4oc_t.js +1 -0
  159. package/dist/chunks/stepper-CTa6e8uv.js +1 -0
  160. package/dist/chunks/switch-BmHpq4tL.js +1 -0
  161. package/dist/chunks/table-Fme9GbAR.js +1 -0
  162. package/dist/chunks/tableClassName-CZA2Bse8.js +1 -0
  163. package/dist/chunks/tabs-BnbMJM_b.js +1 -0
  164. package/dist/chunks/text-input-DD3d08Yf.js +1 -0
  165. package/dist/chunks/textarea-C0qQdCcu.js +1 -0
  166. package/dist/chunks/toast-BQhZ2pv5.js +1 -0
  167. package/dist/chunks/tooltip-DHtVAYUo.js +1 -0
  168. package/dist/chunks/triggerElement-BIqA4KqZ.js +1 -0
  169. package/dist/chunks/types-CS_40Txv.d.ts +34 -0
  170. package/dist/chunks/useButtonSemantics-CILM_lhi.js +1 -0
  171. package/dist/chunks/useDialogElement-BRIU60cT.js +1 -0
  172. package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js +1 -0
  173. package/dist/chunks/useFloatingOverlay-CcmDZKMK.js +1 -0
  174. package/dist/chunks/useForkedRef-DVEfT-KI.js +1 -0
  175. package/dist/chunks/useFormField-BOqmBTC4.js +1 -0
  176. package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js +1 -0
  177. package/dist/chunks/useToastRegionQueue-BH6bWZ73.js +1 -0
  178. package/dist/chunks/validationClassName-gRGs4KBm.js +1 -0
  179. package/dist/close-button.d.ts +2 -0
  180. package/dist/close-button.js +1 -0
  181. package/dist/collapse.d.ts +2 -0
  182. package/dist/collapse.js +1 -0
  183. package/dist/color-input.d.ts +2 -0
  184. package/dist/color-input.js +1 -0
  185. package/dist/combobox.d.ts +3 -0
  186. package/dist/combobox.js +1 -0
  187. package/dist/datagrid.d.ts +2 -0
  188. package/dist/datagrid.js +1 -0
  189. package/dist/datepicker.d.ts +2 -0
  190. package/dist/datepicker.js +1 -0
  191. package/dist/drawer.d.ts +2 -0
  192. package/dist/drawer.js +1 -0
  193. package/dist/file-input.d.ts +2 -0
  194. package/dist/file-input.js +1 -0
  195. package/dist/flex.d.ts +2 -0
  196. package/dist/flex.js +1 -0
  197. package/dist/floating-input.d.ts +2 -0
  198. package/dist/floating-input.js +1 -0
  199. package/dist/form-field.d.ts +2 -0
  200. package/dist/form-field.js +1 -0
  201. package/dist/form.d.ts +2 -0
  202. package/dist/form.js +1 -0
  203. package/dist/grid.d.ts +2 -0
  204. package/dist/grid.js +1 -0
  205. package/dist/icon.d.ts +4 -0
  206. package/dist/icon.js +1 -0
  207. package/dist/index.d.ts +72 -6369
  208. package/dist/index.js +1 -2
  209. package/dist/input-adorn.d.ts +2 -0
  210. package/dist/input-adorn.js +1 -0
  211. package/dist/input-group.d.ts +2 -0
  212. package/dist/input-group.js +1 -0
  213. package/dist/link.d.ts +3 -0
  214. package/dist/link.js +1 -0
  215. package/dist/list.d.ts +2 -0
  216. package/dist/list.js +1 -0
  217. package/dist/menu.d.ts +3 -0
  218. package/dist/menu.js +1 -0
  219. package/dist/modal.d.ts +2 -0
  220. package/dist/modal.js +1 -0
  221. package/dist/nav.d.ts +2 -0
  222. package/dist/nav.js +1 -0
  223. package/dist/navbar.d.ts +2 -0
  224. package/dist/navbar.js +1 -0
  225. package/dist/notification.d.ts +2 -0
  226. package/dist/notification.js +1 -0
  227. package/dist/otp-input.d.ts +2 -0
  228. package/dist/otp-input.js +1 -0
  229. package/dist/pagination.d.ts +2 -0
  230. package/dist/pagination.js +1 -0
  231. package/dist/password-strength.d.ts +2 -0
  232. package/dist/password-strength.js +1 -0
  233. package/dist/placeholder.d.ts +2 -0
  234. package/dist/placeholder.js +1 -0
  235. package/dist/popover.d.ts +2 -0
  236. package/dist/popover.js +1 -0
  237. package/dist/progress.d.ts +2 -0
  238. package/dist/progress.js +1 -0
  239. package/dist/radio.d.ts +2 -0
  240. package/dist/radio.js +1 -0
  241. package/dist/range-input.d.ts +2 -0
  242. package/dist/range-input.js +1 -0
  243. package/dist/select.d.ts +2 -0
  244. package/dist/select.js +1 -0
  245. package/dist/skeleton.d.ts +2 -0
  246. package/dist/skeleton.js +1 -0
  247. package/dist/spinner.d.ts +2 -0
  248. package/dist/spinner.js +1 -0
  249. package/dist/stack.d.ts +2 -0
  250. package/dist/stack.js +1 -0
  251. package/dist/static-table.d.ts +2 -0
  252. package/dist/static-table.js +1 -0
  253. package/dist/stepper.d.ts +2 -0
  254. package/dist/stepper.js +1 -0
  255. package/dist/style.css +1 -1
  256. package/dist/switch.d.ts +2 -0
  257. package/dist/switch.js +1 -0
  258. package/dist/table.d.ts +2 -0
  259. package/dist/table.js +1 -0
  260. package/dist/tabs.d.ts +2 -0
  261. package/dist/tabs.js +1 -0
  262. package/dist/text-input.d.ts +2 -0
  263. package/dist/text-input.js +1 -0
  264. package/dist/textarea.d.ts +2 -0
  265. package/dist/textarea.js +1 -0
  266. package/dist/toast.d.ts +2 -0
  267. package/dist/toast.js +1 -0
  268. package/dist/tooltip.d.ts +2 -0
  269. package/dist/tooltip.js +1 -0
  270. package/package.json +62 -4
  271. package/src/components/accordion/index.ts +4 -0
  272. package/src/components/autocomplete/index.ts +4 -0
  273. package/src/components/avatar/index.ts +4 -0
  274. package/src/components/badge/index.ts +4 -0
  275. package/src/components/breadcrumb/index.ts +4 -0
  276. package/src/components/button/index.ts +4 -0
  277. package/src/components/button-group/index.ts +4 -0
  278. package/src/components/calendar/index.ts +4 -0
  279. package/src/components/card/index.ts +4 -0
  280. package/src/components/carousel/CarouselControlButton.tsx +11 -4
  281. package/src/components/carousel/CarouselControlNext.tsx +6 -0
  282. package/src/components/carousel/CarouselControlPrev.tsx +6 -0
  283. package/src/components/carousel/CarouselPlayPause.tsx +27 -4
  284. package/src/components/carousel/index.ts +4 -0
  285. package/src/components/checkbox/index.ts +4 -0
  286. package/src/components/chip/index.ts +4 -0
  287. package/src/components/chip-input/index.ts +4 -0
  288. package/src/components/close-button/index.ts +4 -0
  289. package/src/components/collapse/index.ts +4 -0
  290. package/src/components/color-input/index.ts +4 -0
  291. package/src/components/combobox/ComboboxListBox.tsx +2 -2
  292. package/src/components/combobox/index.ts +4 -0
  293. package/src/components/datagrid/index.ts +4 -0
  294. package/src/components/datepicker/index.ts +4 -0
  295. package/src/components/drawer/index.ts +8 -0
  296. package/src/components/file-input/index.ts +4 -0
  297. package/src/components/flex/index.ts +4 -0
  298. package/src/components/floating-input/index.ts +4 -0
  299. package/src/components/form/index.ts +4 -0
  300. package/src/components/form-field/index.ts +4 -0
  301. package/src/components/grid/index.ts +4 -0
  302. package/src/components/icon/Icon.tsx +69 -38
  303. package/src/components/icon/IconProvider.tsx +40 -0
  304. package/src/components/icon/index.ts +7 -0
  305. package/src/components/input-adorn/index.ts +4 -0
  306. package/src/components/input-group/index.ts +4 -0
  307. package/src/components/link/index.ts +4 -0
  308. package/src/components/list/index.ts +4 -0
  309. package/src/components/menu/index.ts +4 -0
  310. package/src/components/modal/index.ts +8 -0
  311. package/src/components/nav/index.ts +4 -0
  312. package/src/components/navbar/NavbarToggler.tsx +9 -3
  313. package/src/components/navbar/index.ts +4 -0
  314. package/src/components/notification/Notification.tsx +6 -5
  315. package/src/components/notification/index.ts +8 -0
  316. package/src/components/otp-input/index.ts +4 -0
  317. package/src/components/pagination/Pagination.tsx +16 -3
  318. package/src/components/pagination/index.ts +8 -0
  319. package/src/components/password-strength/index.ts +4 -0
  320. package/src/components/placeholder/index.ts +4 -0
  321. package/src/components/popover/index.ts +4 -0
  322. package/src/components/progress/index.ts +4 -0
  323. package/src/components/radio/index.ts +4 -0
  324. package/src/components/range-input/index.ts +4 -0
  325. package/src/components/select/index.ts +4 -0
  326. package/src/components/skeleton/SkeletonLoader.tsx +13 -6
  327. package/src/components/skeleton/index.ts +4 -0
  328. package/src/components/spinner/index.ts +4 -0
  329. package/src/components/stack/index.ts +4 -0
  330. package/src/components/static-table/StaticTable.tsx +78 -0
  331. package/src/components/static-table/index.ts +8 -0
  332. package/src/components/stepper/index.ts +4 -0
  333. package/src/components/switch/index.ts +4 -0
  334. package/src/components/table/Table.tsx +14 -22
  335. package/src/components/table/index.ts +4 -0
  336. package/src/components/tabs/index.ts +4 -0
  337. package/src/components/text-input/index.ts +4 -0
  338. package/src/components/textarea/index.ts +4 -0
  339. package/src/components/toast/Toast.tsx +2 -1
  340. package/src/components/toast/ToastHeader.tsx +4 -3
  341. package/src/components/toast/index.ts +8 -0
  342. package/src/components/tooltip/index.ts +4 -0
  343. package/src/hooks/useIconConfig.ts +6 -0
  344. package/src/index.ts +24 -4
  345. package/src/utils/iconConfig.ts +88 -0
  346. package/src/utils/iconSlot.tsx +41 -0
  347. package/src/utils/polymorphic.ts +49 -2
  348. package/src/utils/renderMenuItemContent.tsx +4 -9
  349. package/src/utils/slot.tsx +78 -0
  350. package/src/utils/tableClassName.ts +93 -0
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{t as ee}from"./useForkedRef-DVEfT-KI.js";import{r as e}from"./useFloatingOverlay-CcmDZKMK.js";import{t}from"./useFormField-BOqmBTC4.js";import{i as n,r,t as i}from"./overlayPlacement-BtS90IVf.js";import{a,i as te,n as ne,o,r as s,t as c}from"./ComboboxListBox-BhO8uRNg.js";import{t as l}from"./renderFormField-wiaxvvLG.js";import{t as u}from"./validationClassName-gRGs4KBm.js";import d,{forwardRef as f,useId as p,useMemo as m,useRef as h}from"react";import g from"classnames";import{useComboBox as re,useFilter as _,useOverlayPosition as v}from"react-aria";import{createPortal as ie}from"react-dom";import{useComboBoxState as ae}from"react-stately";const y=ee=>null;y.displayName=`ComboboxGroup`;const b=f(({"aria-describedby":f,"aria-label":b,"aria-labelledby":oe,children:x,className:S,defaultValue:C,disabled:w,help:T,id:E,invalid:D,invalidFeedback:O,items:k,label:A,name:j,noResultsText:M=`No results found`,onChange:N,placeholder:P,size:F,valid:I,validFeedback:L,value:R,...z},B)=>{let V=m(()=>k?s(k):ne(x,{Group:y,Item:o}),[k,x]),H=m(()=>a(V),[V]),{contains:U}=_({sensitivity:`base`}),W=ae({children:te,defaultItems:V,disabledKeys:H,defaultFilter:U,defaultValue:C,value:R,onChange:N,allowsEmptyCollection:!0,menuTrigger:`focus`}),G=h(null),K=ee(B,G),q=h(null),J=h(null),Y=h(null),X=p(),{describedBy:se,feedbackId:ce,helpId:le,inputId:Z,labelId:ue,labelledBy:de}=t({ariaDescribedBy:f,ariaLabelledBy:oe,help:T,id:E,invalid:D,invalidFeedback:O,label:A,valid:I,validFeedback:L}),{inputProps:fe,listBoxProps:pe}=re({"aria-label":b,"aria-labelledby":de,id:Z,inputRef:q,listBoxRef:J,popoverRef:Y,isDisabled:w,placeholder:P},W),{overlayProps:me,placement:Q}=v({targetRef:G,overlayRef:Y,placement:n(`bottom-start`),offset:2,isOpen:W.isOpen,onClose:null}),he=e({close:W.close,isOpen:W.isOpen,open:W.open,triggerRef:G}),{menuStyle:ge,placementAttr:_e}=r(me.style,`bottom-start`,Q),ve={...i,...ge},ye=fe,$=W.collection.size===0,be=[se,$&&X].filter(Boolean).join(` `)||void 0;return l({children:d.createElement(d.Fragment,null,d.createElement(`div`,{className:g(`form-input`,`combobox`,F,{disabled:w},u(D,I),S),ref:K,...z},d.createElement(`input`,{autoComplete:`off`,className:`combobox-value`,...ye,"aria-describedby":be,"aria-invalid":D||void 0,ref:q})),typeof window<`u`&&ie(d.createElement(`div`,{className:g(`menu`,{show:W.isOpen}),"data-cx-placement":_e,style:ve,hidden:!W.isOpen,ref:Y},d.createElement(c,{state:W,listBoxProps:pe,listBoxRef:J}),$&&d.createElement(`div`,{className:`combobox-no-results`,id:X,role:`status`},M)),he??document.body),j&&d.createElement(`input`,{type:`hidden`,name:j,value:W.value??``,disabled:w})),help:T,ids:{feedback:ce,help:le,input:Z,label:ue},invalid:D,invalidFeedback:O,label:A,valid:I,validFeedback:L})});b.displayName=`Combobox`;export{y as n,b as t};
@@ -0,0 +1,2 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{t as e}from"./useForkedRef-DVEfT-KI.js";import t,{forwardRef as n,useEffect as r,useId as i,useMemo as a,useRef as o,useState as s}from"react";import c from"classnames";import{useCheckbox as l}from"react-aria";import{useToggleState as u}from"react-stately";import{Cell as d,CheckboxContext as f,Column as p,Row as m,Table as h,TableBody as g,TableHeader as _,TableLayout as v,TableLoadMoreItem as y,Virtualizer as b,useSlottedContext as x}from"react-aria-components";const S=/^\d+(\.\d+)?%?$/,C=e=>e!=null&&(typeof e==`number`||S.test(e)),w=(e,t)=>typeof e==`number`?e:e.endsWith(`%`)?parseFloat(e)/100*t:parseFloat(e);function T(e,t){let n=new Map,r=0,i=!0;for(let a of e){if(!i||!C(a.defaultWidth)){i=!1,n.set(a.id,null);continue}let e=w(a.defaultWidth,t);C(a.minWidth)&&(e=Math.max(e,w(a.minWidth,t))),C(a.maxWidth)&&(e=Math.min(e,w(a.maxWidth,t))),n.set(a.id,{id:a.id,offset:r,width:e}),r+=e}return n}const E=e=>{let t=new Map;return e.querySelectorAll(`[role="columnheader"]`).forEach(e=>{let n=Number(e.getAttribute(`aria-colindex`));!Number.isInteger(n)||n<1||t.set(n-1,{offset:e.offsetLeft,width:e.offsetWidth})}),t};function D(e,t){let[n,i]=s(0),[o,c]=s(()=>new Map);r(()=>{let e=t.current;if(!e||typeof ResizeObserver>`u`)return;let n=()=>{i(e.clientWidth),c(E(e))};n();let r=new ResizeObserver(n);return r.observe(e),()=>r.disconnect()},[t]);let l=a(()=>T(e,n),[e,n]);return a(()=>{let t=new Map;return e.forEach((e,n)=>{let r=l.get(e.id),i=o.get(n);r?t.set(e.id,r):i&&t.set(e.id,{id:e.id,...i})}),t},[e,l,o])}const O=e=>`[aria-colindex="${e+1}"]`,k=({header:e,instanceClassName:n,containerRef:i})=>{let o=e.props.children,s=a(()=>typeof o==`function`?[]:t.Children.toArray(o),[o]),c=s.map(e=>{if(!t.isValidElement(e))return``;let{defaultWidth:n,maxWidth:r,minWidth:i,pin:a}=e.props;return`${n??``}/${i??``}/${r??``}/${a??``}`}).join(`|`),{all:l,endIndices:u,startIndices:d}=a(()=>{let e={all:[],endIndices:[],startIndices:[]};return s.forEach((n,r)=>{if(!t.isValidElement(n))return;let{defaultWidth:i,maxWidth:a,minWidth:o,pin:s}=n.props;e.all.push({id:r,defaultWidth:i,maxWidth:a,minWidth:o}),s===`start`?e.startIndices.push(r):s===`end`&&e.endIndices.push(r)}),e},[c]),f=D(l,i),p=a(()=>{let e=new Map,t=0;for(let n=u.length-1;n>=0;n--){let r=u[n];if(r==null)continue;let i=f.get(r)?.width??0;e.set(r,{index:r,rightOffset:t}),t+=i}return e},[u,f]);if(r(()=>{let e=i.current;if(!e||p.size===0)return;let t=null,n=new Set,r=()=>{t=null;let r=e.clientWidth,i=e.scrollLeft;e.querySelectorAll(`[role="row"]`).forEach(e=>{p.forEach(({index:t,rightOffset:a})=>{let o=e.querySelector(O(t))?.parentElement;if(!o)return;let s=f.get(t);if(!s)return;let c=s.offset+s.width,l=r-a-c+i;o.style.transform=`translateX(${l}px)`,o.style.zIndex=`2`,n.add(o)})})},a=()=>{t??=requestAnimationFrame(r)};a(),e.addEventListener(`scroll`,a,{passive:!0});let o=typeof ResizeObserver>`u`?null:new ResizeObserver(a);o?.observe(e);let s=typeof MutationObserver>`u`?null:new MutationObserver(a);return s?.observe(e,{childList:!0,subtree:!0}),()=>{t!=null&&cancelAnimationFrame(t),e.removeEventListener(`scroll`,a),o?.disconnect(),s?.disconnect(),n.forEach(e=>{e.style.transform=``,e.style.zIndex=``})}},[i,p,f]),d.length===0&&u.length===0)return null;let m=[];if(d.length>0){let e=Math.max(...d);m.push(`.${n}.datagrid-scrolled-start ${O(e)} { box-shadow: var(--datagrid-pin-cue-shadow-start); }`)}if(u.length>0){let e=Math.min(...u);m.push(`.${n}.datagrid-scrolled-end ${O(e)} { box-shadow: var(--datagrid-pin-cue-shadow-end); }`)}return t.createElement(`style`,null,m.join(`
2
+ `))};var A=class extends v{isStickyColumn(e){let t=e.type===`column`?e.index:e.colIndex??e.index;return t!=null&&this.collection.columns[t]?.props?.pin===`start`}};const j=n(({align:n,bordered:l,borderless:u,children:d,className:f,color:p,disabledKeys:m,estimatedRowHeight:g,footer:_,hover:v,onSelectionChange:y,onSortChange:x,rowHeight:S,selectedKeys:C,selectionMode:w=`none`,sm:T,sortDescriptor:E,...D},O)=>{let j=S===`auto`,M=a(()=>new A(j?{estimatedRowHeight:g,headingHeight:g}:{rowHeight:S}),[j,S,g]),N=o(null),P=e(O,N),F=`datagrid-${i().replace(/[^a-zA-Z0-9]/g,``)}`,[I,L]=s(!1),[R,z]=s(!1);r(()=>{let e=N.current;if(!e)return;let t=()=>{L(e.scrollLeft>0),z(Math.ceil(e.scrollLeft+e.clientWidth)<e.scrollWidth)};t(),e.addEventListener(`scroll`,t,{passive:!0});let n=typeof ResizeObserver>`u`?null:new ResizeObserver(t);return n?.observe(e),()=>{e.removeEventListener(`scroll`,t),n?.disconnect()}},[]);let B=c(`datagrid`,F,p,{[`align-${n}`]:n,bordered:l,borderless:u,hoverable:v,sm:T,"datagrid-scrolled-start":I,"datagrid-scrolled-end":R},f);return t.createElement(b,{layout:M,shouldObserveItemSize:j},t.createElement(h,{"aria-label":D[`aria-label`],"aria-labelledby":D[`aria-labelledby`],className:B||void 0,disabledKeys:m,onSelectionChange:y,onSortChange:x,ref:P,selectedKeys:C,selectionMode:w,sortDescriptor:E},d),_&&t.createElement(`div`,{className:c(`datagrid-footer`,{borderless:u})},_),t.createElement(k,{containerRef:N,header:d[0],instanceClassName:F}))});j.displayName=`DataGrid`;const M={id:`__datagrid-body-loader__`},N=({children:e,className:n,dependencies:r,isLoading:i,items:o,loadingContent:s,onLoadMore:l,renderEmptyState:u})=>{let d=l!=null&&o!=null,f=a(()=>d?[...o,M]:o,[d,o]),p=a(()=>d?[...r??[],i,l,s]:r,[r,d,i,l,s]),m=d?n=>n===M?t.createElement(y,{className:`datagrid-loader`,isLoading:i,onLoadMore:i?void 0:l},s):e(n):e;return t.createElement(g,{className:c(`datagrid-body`,n),dependencies:p,items:f,renderEmptyState:u},m)},P=({children:e,className:n,colSpan:r,id:i,textValue:a})=>t.createElement(d,{className:c(`datagrid-cell`,n),colSpan:r,id:i,textValue:a},e),F=({allowsSorting:e,children:n,className:r,defaultWidth:i,id:a,isRowHeader:o,maxWidth:s,minWidth:l,pin:u,textValue:d})=>t.createElement(p,{allowsSorting:e,className:c(`datagrid-col`,u&&`datagrid-col-pinned-${u}`,r),defaultWidth:i,id:a,isRowHeader:o,maxWidth:s,minWidth:l,textValue:d,pin:u},e?({sortDirection:e})=>t.createElement(t.Fragment,null,n,t.createElement(`span`,{"aria-hidden":`true`,className:`datagrid-sort-icon`},e===`ascending`?`▲`:e===`descending`?`▼`:`⇅`)):n),I=({children:e,className:n,columns:r,dependencies:i})=>t.createElement(_,{className:c(`datagrid-header`,n),columns:r,dependencies:i},e),L=({children:e,className:n,columns:r,id:i,textValue:a})=>t.createElement(m,{className:c(`datagrid-row`,n),columns:r,id:i,textValue:a},e),R=e=>{let t=x(f,`selection`);if(!t)throw Error(`${e} must be rendered inside a DataGrid with selection enabled.`);return t},z=({className:e})=>{let n=R(`DataGridSelectionCell`);return t.createElement(V,{checkboxProps:n,className:e})},B=({className:e})=>{let n=R(`DataGridSelectAllCell`);return t.createElement(V,{checkboxProps:n,className:e})},V=({checkboxProps:e,className:n})=>{let r=u(e),i=o(null),{inputProps:a}=l(e,r,i);return t.createElement(`input`,{...a,className:n??`check-input`,ref:i})};export{F as a,j as c,I as i,z as n,P as o,L as r,N as s,B as t};
@@ -0,0 +1,41 @@
1
+ import React, { ReactNode } from "react";
2
+ import { DateValue, RangeValue } from "react-aria";
3
+ //#region src/components/calendar/labels.d.ts
4
+ /**
5
+ * The user-facing strings the calendar/datepicker family renders itself, rather than getting from
6
+ * the active locale.
7
+ *
8
+ * Everything else these components say — weekday names, month names, the calendar system, segment
9
+ * order — comes from `I18nProvider`'s locale via react-aria, which ships its own translations. The
10
+ * strings below have no equivalent in react-aria's dictionaries, so they were hardcoded English
11
+ * with no way to override them: under `<I18nProvider locale="ar-SA">` a user got Arabic month
12
+ * names interleaved with an English "Previous years". Pass `labels` to translate them, the same
13
+ * way `Pagination`'s `previousLabel`/`nextLabel` are translated (see the Internationalization
14
+ * docs page).
15
+ */
16
+ interface CalendarLabels {
17
+ /** Accessible name of the year view's "page back" arrow. */
18
+ previousYears: string;
19
+ /** Accessible name of the year view's "page forward" arrow. */
20
+ nextYears: string;
21
+ /** Prefix of the year view's live-region announcement, rendered as `${selectYear}, 2020 – 2034`. */
22
+ selectYear: string;
23
+ /** Prefix of the month view's live-region announcement, rendered as `${selectMonth}, 2024`. */
24
+ selectMonth: string;
25
+ /** Prefix of the header month button's accessible name, rendered as `${month}: March`. */
26
+ month: string;
27
+ /** Prefix of the header year button's accessible name, rendered as `${year}: 2024`. */
28
+ year: string;
29
+ /** Accessible name of the trigger that opens the calendar overlay. */
30
+ calendar: string;
31
+ /** Accessible name of the adornment that resets the current selection. */
32
+ clear: string;
33
+ }
34
+ //#endregion
35
+ //#region src/utils/dateRangePresets.d.ts
36
+ interface DateRangePreset {
37
+ label: string;
38
+ range: RangeValue<DateValue>;
39
+ }
40
+ //#endregion
41
+ export { CalendarLabels as n, DateRangePreset as t };
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{t as e}from"./useForkedRef-DVEfT-KI.js";import{t}from"./useFormField-BOqmBTC4.js";import{i as n,n as r}from"./overlayPlacement-BtS90IVf.js";import{t as i}from"./renderFormField-wiaxvvLG.js";import{a,i as o,n as s,o as c,r as l,t as u}from"./RangeCalendar-COnSfurr.js";import{t as d}from"./validationClassName-gRGs4KBm.js";import f,{forwardRef as p,useMemo as m,useRef as h,useState as g}from"react";import _ from"classnames";import{FocusScope as v,mergeProps as y,useButton as b,useDateField as x,useDateFormatter as S,useDatePicker as C,useDateRangePicker as w,useDateSegment as T,useDialog as E,useLocale as D,useOverlay as O,useOverlayPosition as k}from"react-aria";import{useDateFieldState as ee,useDatePickerState as te,useDateRangePickerState as A,useOverlayTriggerState as j}from"react-stately";import{createCalendar as M,getLocalTimeZone as N}from"@internationalized/date";const ne=({overlayRef:e,state:t,triggerRef:i})=>{let{overlayProps:a}=O({isDismissable:!0,isOpen:t.isOpen,onClose:t.close,shouldCloseOnBlur:!0,shouldCloseOnInteractOutside:e=>!i.current?.contains(e)},e),{overlayProps:o,placement:s}=k({isOpen:t.isOpen,offset:2,onClose:null,overlayRef:e,placement:n(`bottom-start`),targetRef:i}),{style:c,...l}=y(a,o);return{overlayStyle:{position:c?.position,top:c?.top,left:c?.left},placementAttr:r(`bottom-start`,s),overlayDismissProps:l}},P=p(({buttonProps:t,state:n},r)=>{let i=h(null),a=e(i,r),{buttonProps:o}=b({...t,onPress:()=>n.toggle()},i);return f.createElement(`button`,{...o,className:`input-adorn`,ref:a,type:`button`},f.createElement(`svg`,{fill:`none`,height:`16`,viewBox:`0 0 16 16`,width:`16`,xmlns:`http://www.w3.org/2000/svg`},f.createElement(`rect`,{height:`12`,rx:`1.5`,stroke:`currentColor`,strokeWidth:`1.25`,width:`13`,x:`1.5`,y:`3`}),f.createElement(`path`,{d:`M1.5 6.5h13`,stroke:`currentColor`,strokeWidth:`1.25`}),f.createElement(`path`,{d:`M4.5 1.5v3M11.5 1.5v3`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.25`})))});P.displayName=`CalendarToggleButton`;const re=({isDisabled:e,onPress:t})=>{let n=h(null),r=c(),{buttonProps:i}=b({"aria-label":r.clear,isDisabled:e,onPress:t},n);return f.createElement(`button`,{...i,className:`input-adorn`,ref:n,type:`button`},f.createElement(`svg`,{fill:`none`,height:`16`,viewBox:`0 0 16 16`,width:`16`,xmlns:`http://www.w3.org/2000/svg`},f.createElement(`path`,{d:`M4 4l8 8M12 4l-8 8`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.25`})))},F=({fieldProps:e})=>{let{locale:t}=D(),n=ee({...e,createCalendar:M,locale:t}),r=h(null),{fieldProps:i}=x(e,n,r);return f.createElement(`div`,{...i,className:`datepicker-field`,ref:r},n.segments.map((e,t)=>f.createElement(I,{key:t,segment:e,state:n})))},I=({segment:e,state:t})=>{let n=h(null),{segmentProps:r}=T(e,t,n);return f.createElement(`span`,{...r,className:_(`datepicker-segment`,{placeholder:e.isPlaceholder}),ref:n},e.text)},ie=({calendar:e,className:t,clearButton:n,disabled:r,field:i,fieldClassName:a,groupProps:o,groupRef:s,invalid:c,isOpen:l,overlayDismissProps:u,overlayRef:p,overlayStyle:m,placementAttr:h,size:g,toggleButton:y,valid:b})=>f.createElement(f.Fragment,null,f.createElement(`div`,{...o,className:_(`form-input`,g,{disabled:r},d(c,b),t),ref:s},f.createElement(`div`,{className:a},i),n,y),f.createElement(`div`,{className:`datepicker`,"data-cx-placement":h,hidden:!l,ref:p,...u,style:m},l&&f.createElement(v,{contain:!0,restoreFocus:!0},e))),L=p((e,t)=>e.selectionMode===`multiple`?f.createElement(z,{...e,ref:t}):f.createElement(R,{...e,ref:t}));L.displayName=`DatePicker`;const R=p(({className:n,defaultOpen:r,defaultValue:a,disabled:c,firstDayOfWeek:u,help:d,id:p,invalid:g,invalidFeedback:_,isDateUnavailable:v,isOpen:b,label:x,labels:S,maxValue:w,minValue:T,name:D,onChange:O,onOpenChange:k,selectionMode:ee,size:A,unavailableDates:j,valid:M,validFeedback:N,value:I,visibleMonths:L,...R},z)=>{let B=m(()=>l(j,v),[j,v]),V=te({defaultOpen:r,defaultValue:a,isDateUnavailable:B,isDisabled:c,isOpen:b,maxValue:w,minValue:T,onChange:O,onOpenChange:k,value:I}),H=h(null),ae=e(z,H),U=h(null),W=h(null),G=h(null),{describedBy:K,feedbackId:q,helpId:oe,inputId:J,labelId:Y,labelledBy:X}=t({ariaDescribedBy:R[`aria-describedby`],ariaLabelledBy:R[`aria-labelledby`],help:d,id:p,invalid:g,invalidFeedback:_,label:x,valid:M,validFeedback:N}),{groupProps:se,fieldProps:ce,buttonProps:le,calendarProps:Z,dialogProps:Q}=C({"aria-label":R[`aria-label`],"aria-labelledby":X,defaultValue:a,id:J,isDateUnavailable:B,isDisabled:c,isInvalid:g,maxValue:w,minValue:T,onChange:O,value:I},V,H),{overlayStyle:$,placementAttr:ue,overlayDismissProps:de}=ne({overlayRef:W,state:V,triggerRef:H}),{dialogProps:fe}=E(Q,U);return f.createElement(o,{labels:S},i({children:f.createElement(f.Fragment,null,ie({calendar:f.createElement(s,{...fe,autoFocus:!0,disabled:c,firstDayOfWeek:u,isDateUnavailable:B,maxValue:w,minValue:T,onChange:Z.onChange,ref:U,value:Z.value,visibleMonths:L}),className:n,clearButton:V.value&&!c&&f.createElement(re,{onPress:()=>{V.setValue(null),G.current?.focus()}}),disabled:c,field:f.createElement(F,{fieldProps:ce}),fieldClassName:`w-100 overflow-x-scroll`,groupProps:{...y(se,R),"aria-describedby":K,"aria-labelledby":X},groupRef:ae,invalid:g,isOpen:V.isOpen,overlayDismissProps:de,overlayRef:W,overlayStyle:$,placementAttr:ue,size:A,toggleButton:f.createElement(P,{buttonProps:le,ref:G,state:V}),valid:M}),D&&f.createElement(`input`,{disabled:c,name:D,type:`hidden`,value:V.value?V.value.toString():``})),help:d,ids:{feedback:q,help:oe,label:Y},invalid:g,invalidFeedback:_,label:x,valid:M,validFeedback:N}))});R.displayName=`DatePickerSingle`;const z=p(({className:n,defaultOpen:r,defaultValue:c,disabled:u,firstDayOfWeek:d,help:p,id:_,invalid:v,invalidFeedback:b,isDateUnavailable:x,isOpen:S,label:C,labels:w,maxValue:T,minValue:D,name:O,onChange:k,onOpenChange:ee,selectionMode:te,size:A,unavailableDates:M,valid:N,validFeedback:F,value:I,visibleMonths:L,...R},z)=>{let B=m(()=>l(M,x),[M,x]),H=I!==void 0,[ae,U]=g(c??[]),W=H?I??[]:ae,G=e=>{H||U(e),k?.(e)},K=j({defaultOpen:r,isOpen:S,onOpenChange:ee}),q=h(null),oe=e(z,q),J=h(null),Y=h(null),X=h(null),{describedBy:se,feedbackId:ce,helpId:le,inputId:Z,labelId:Q,labelledBy:$}=t({ariaDescribedBy:R[`aria-describedby`],ariaLabelledBy:R[`aria-labelledby`],help:p,id:_,invalid:v,invalidFeedback:b,label:C,valid:N,validFeedback:F}),{overlayStyle:ue,placementAttr:de,overlayDismissProps:fe}=ne({overlayRef:Y,state:K,triggerRef:q}),{dialogProps:pe}=E({"aria-label":R[`aria-label`],"aria-labelledby":$},J),me={...a,...w},he={"aria-expanded":K.isOpen,"aria-haspopup":`dialog`,"aria-label":me.calendar,isDisabled:u};return f.createElement(o,{labels:w},i({children:f.createElement(f.Fragment,null,ie({calendar:f.createElement(s,{...pe,autoFocus:!0,disabled:u,firstDayOfWeek:d,isDateUnavailable:B,maxValue:T,minValue:D,onChange:G,ref:J,selectionMode:`multiple`,value:W,visibleMonths:L}),className:n,clearButton:W.length>0&&!u&&f.createElement(re,{onPress:()=>{G([]),X.current?.focus()}}),disabled:u,field:f.createElement(V,{values:W}),fieldClassName:`w-100 overflow-x-scroll`,groupProps:{...y(R),"aria-describedby":se,"aria-disabled":u||void 0,"aria-labelledby":$,id:Z,role:`group`},groupRef:oe,invalid:v,isOpen:K.isOpen,overlayDismissProps:fe,overlayRef:Y,overlayStyle:ue,placementAttr:de,size:A,toggleButton:f.createElement(P,{buttonProps:he,ref:X,state:K}),valid:N}),O&&W.map(e=>f.createElement(`input`,{disabled:u,key:e.toString(),name:O,type:`hidden`,value:e.toString()}))),help:p,ids:{feedback:ce,help:le,label:Q},invalid:v,invalidFeedback:b,label:C,valid:N,validFeedback:F}))});z.displayName=`DatePickerMultiple`;const B=e=>`timeZone`in e?e.toDate():e.toDate(N()),V=({values:e})=>{let t=S({dateStyle:`medium`});return f.createElement(`div`,{className:`datepicker-field`},e.length>0&&f.createElement(f.Fragment,null,e.slice().sort((e,t)=>e.compare(t)).map(e=>t.format(B(e))).join(`, `)))},H=p(({className:n,defaultOpen:r,defaultValue:a,disabled:s,firstDayOfWeek:c,help:d,id:p,invalid:g,invalidFeedback:_,isDateUnavailable:v,isOpen:b,label:x,labels:S,maxValue:C,minValue:T,name:D,onChange:O,onOpenChange:k,presets:ee,size:te,unavailableDates:j,valid:M,validFeedback:N,value:I,visibleMonths:L,...R},z)=>{let B=m(()=>l(j,v),[j,v]),V=A({defaultOpen:r,defaultValue:a,isDateUnavailable:B,isDisabled:s,isOpen:b,maxValue:C,minValue:T,onChange:O,onOpenChange:k,value:I}),H=h(null),ae=e(z,H),U=h(null),W=h(null),G=h(null),{describedBy:K,feedbackId:q,helpId:oe,inputId:J,labelId:Y,labelledBy:X}=t({ariaDescribedBy:R[`aria-describedby`],ariaLabelledBy:R[`aria-labelledby`],help:d,id:p,invalid:g,invalidFeedback:_,label:x,valid:M,validFeedback:N}),{groupProps:se,startFieldProps:ce,endFieldProps:le,buttonProps:Z,calendarProps:Q,dialogProps:$}=w({"aria-label":R[`aria-label`],"aria-labelledby":X,defaultValue:a,id:J,isDateUnavailable:B,isDisabled:s,isInvalid:g,maxValue:C,minValue:T,onChange:O,value:I},V,H),{overlayStyle:ue,placementAttr:de,overlayDismissProps:fe}=ne({overlayRef:W,state:V,triggerRef:H}),{dialogProps:pe}=E($,U);return f.createElement(o,{labels:S},i({children:f.createElement(f.Fragment,null,ie({calendar:f.createElement(u,{...pe,autoFocus:!0,disabled:s,firstDayOfWeek:c,isDateUnavailable:B,maxValue:C,minValue:T,onChange:Q.onChange,presets:ee,ref:U,value:Q.value,visibleMonths:L}),className:n,clearButton:(V.value?.start||V.value?.end)&&!s&&f.createElement(re,{onPress:()=>{V.setValue(null),G.current?.focus()}}),disabled:s,field:f.createElement(f.Fragment,null,f.createElement(F,{fieldProps:ce}),f.createElement(`span`,{"aria-hidden":`true`,className:`daterangepicker-separator`},`–`),f.createElement(F,{fieldProps:le})),fieldClassName:`d-flex w-100`,groupProps:{...y(se,R),"aria-describedby":K,"aria-labelledby":X},groupRef:ae,invalid:g,isOpen:V.isOpen,overlayDismissProps:fe,overlayRef:W,overlayStyle:ue,placementAttr:de,size:te,toggleButton:f.createElement(P,{buttonProps:Z,ref:G,state:V}),valid:M}),D&&f.createElement(f.Fragment,null,f.createElement(`input`,{disabled:s,name:`${D}Start`,type:`hidden`,value:V.value?.start?V.value.start.toString():``}),f.createElement(`input`,{disabled:s,name:`${D}End`,type:`hidden`,value:V.value?.end?V.value.end.toString():``}))),help:d,ids:{feedback:q,help:oe,label:Y},invalid:g,invalidFeedback:_,label:x,valid:M,validFeedback:N}))});H.displayName=`DateRangePicker`;export{L as n,H as t};
@@ -0,0 +1 @@
1
+ const e=e=>{let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e),r=Number.parseFloat(t)||0,i=Number.parseFloat(n)||0;return!r&&!i?0:(r+i)*1e3},t=(t,n,r)=>{if(!r)return n(),()=>void 0;let i=!1,a=()=>{i||(i=!0,t.removeEventListener(`transitionend`,o),clearTimeout(s),n())},o=e=>{e.target===t&&a()};t.addEventListener(`transitionend`,o);let s=setTimeout(a,e(t)+50);return()=>{t.removeEventListener(`transitionend`,o),clearTimeout(s)}};export{t};
@@ -0,0 +1 @@
1
+ import{useState as e}from"react";function t(t,n,r){let i=t!==void 0,[a,o]=e(n);return[i?t:a,e=>{i||o(e),r?.(e)}]}function n(e){return getComputedStyle(e).direction===`rtl`}export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{t as e}from"./polymorphic-CACPOv1_.js";import{t}from"./useDialogElement-BRIU60cT.js";import{t as n}from"./CloseButton-DJM7FRKh.js";import r,{createContext as i,forwardRef as a,useContext as o,useEffect as s,useId as c,useRef as l}from"react";import u from"classnames";const d=i({close:()=>{}}),f=new Set,p=a(({children:e,backdrop:n=!0,className:i,fitContent:a,fullscreen:o,instant:p,keyboard:m=!0,onClick:h,onClose:g,onClosePrevented:_,onHidden:v,onShow:y,onShown:b,placement:x,responsive:S,scroll:C=!1,sheet:w,translucent:T,visible:E,...D},O)=>{let{close:k,dialogRef:A,forkedRef:j,handleBackdropClick:M,handleCancel:N,hiding:P,staticBounce:F}=t({backdrop:n,instant:p,isModal:!!n||!C,keyboard:m,onBeforeShow:e=>{for(let t of f)t.dialog!==e&&t.close()},onClick:h,onClose:g,onClosePrevented:_,onHidden:v,onShow:y,onShown:b,ref:O,visible:E}),I=c(),L=l(k);L.current=k,s(()=>{let e=A.current;if(!e)return;let t={dialog:e,close:()=>L.current()};return f.add(t),()=>{f.delete(t)}},[A]);let R=u(S?`max-${S}:drawer`:`drawer`,`drawer-${x}`,{fullscreen:o,sheet:w,translucent:T,instant:p,"drawer-fit-content":a,nonmodal:!(n||!C),static:F,hiding:P},i);return r.createElement(d.Provider,{value:{close:k,titleId:I}},r.createElement(`dialog`,{"aria-labelledby":I,...D,className:R,onCancel:N,onClick:M,ref:j},e))});p.displayName=`Drawer`;const m=()=>o(d);function h({children:e,className:t,component:n,...i},a){let o=n??`div`,s=u(`drawer-body`,t);return r.createElement(o,{className:s,...i,ref:a},e)}const g=e(h,`DrawerBody`);function _({children:e,className:t,component:n,stacked:i,...a},o){let s=n??`div`,c=u(`drawer-footer`,{stacked:i},t);return r.createElement(s,{className:c,...a,ref:o},e)}const v=e(_,`DrawerFooter`);function y({children:e,className:t,closeButton:i=!0,closeLabel:a,component:o,...s},c){let l=o??`div`,{close:d}=m(),f=u(`drawer-header`,t);return r.createElement(l,{className:f,...s,ref:c},e,i&&r.createElement(n,{label:a,onClick:d}))}const b=e(y,`DrawerHeader`);function x({children:e,component:t,className:n,id:i,...a},o){let{titleId:s}=m(),c=t??`h2`,l=u(`drawer-title`,n);return r.createElement(c,{className:l,id:i??s,...a,ref:o},e)}const S=e(x,`DrawerTitle`);export{m as a,g as i,b as n,p as o,v as r,S as t};
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{t as e}from"./useFormField-BOqmBTC4.js";import{t}from"./renderFormField-wiaxvvLG.js";import{t as n}from"./validationClassName-gRGs4KBm.js";import r,{forwardRef as i}from"react";import a from"classnames";const o=i(({className:i,help:o,id:s,invalid:c,invalidFeedback:l,label:u,size:d,valid:f,validFeedback:p,...m},h)=>{let{describedBy:g,feedbackId:_,helpId:v,inputId:y}=e({ariaDescribedBy:m[`aria-describedby`],help:o,id:s,invalid:c,invalidFeedback:l,valid:f,validFeedback:p}),b=a(`form-input`,d,n(c,f),i);return t({children:r.createElement(`input`,{...m,"aria-describedby":g,"aria-invalid":c||void 0,className:b,id:y,ref:h,type:`file`}),help:o,ids:{feedback:_,help:v,input:y},invalid:c,invalidFeedback:l,label:u,valid:f,validFeedback:p})});o.displayName=`FileInput`;export{o as t};
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{t as e}from"./polymorphic-CACPOv1_.js";import{t}from"./breakpoints-o_2Ev7ir.js";import{t as n}from"./spacingClassName-DVhk8m3P.js";import r from"react";import i from"classnames";const a=({direction:e,wrap:t,justify:r,align:i,alignContent:a,gap:o,rowGap:s,columnGap:c},l)=>[e&&`${l}flex-${e}`,t&&`${l}flex-${t}`,r&&`${l}justify-content-${r}`,i&&`${l}align-items-${i}`,a&&`${l}align-content-${a}`,n(`gap`,o,l),n(`row-gap`,s,l),n(`column-gap`,c,l)];function o({children:e,className:n,component:o,inline:s,direction:c,wrap:l,justify:u,align:d,alignContent:f,gap:p,rowGap:m,columnGap:h,responsive:g,..._},v){let y=o??`div`,b=i(s?`d-inline-flex`:`d-flex`,t(a,{direction:c,wrap:l,justify:u,align:d,alignContent:f,gap:p,rowGap:m,columnGap:h},g),n);return r.createElement(y,{className:b,..._,ref:v},e)}const s=e(o,`Flex`);export{s as t};
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{r as e}from"./polymorphic-CACPOv1_.js";import{t}from"./FormLabel-CYcQiFUI.js";import{t as n}from"./renderFormField-wiaxvvLG.js";import r,{forwardRef as i}from"react";import a from"classnames";const o=i(({children:i,className:o,help:s,ids:c,invalid:l,invalidFeedback:u,label:d,valid:f,validFeedback:p,...m},h)=>(e(!c?.input&&!c?.label,"FloatingInput: `ids.input`/`ids.label` are not set — the rendered label won't be associated with your control (no `htmlFor`, no `aria-labelledby` target). Pass `ids={{ input: yourControlId }}` (or `ids.label` for a group with no single input) so the label has something to point at."),n({children:r.createElement(`div`,{className:a(`form-floating`,o),...m,ref:h},r.createElement(t,{htmlFor:c?.input,id:c?.label},d),i),help:s,ids:{feedback:c?.feedback,help:c?.help},invalid:l,invalidFeedback:u,valid:f,validFeedback:p})));o.displayName=`FloatingInput`;export{o as t};
@@ -0,0 +1 @@
1
+ const e=new WeakSet,t=[`outline`];function n(n,r=t){if(n.classList.contains(`form-input`)||e.has(n))return;e.add(n);let i=r.map(e=>[e,n.style[e]]);for(let[e]of i)n.style[e]=`none`;n.addEventListener(`blur`,()=>{for(let[e,t]of i)n.style[e]=t;e.delete(n)},{once:!0})}function r(e){let t=e.target;if(!(t instanceof Element))return;let r=t.closest(`a[href], button, input, select, textarea, [tabindex]`);r&&n(r)}let i=!1;function a(){i||typeof document>`u`||(i=!0,document.addEventListener(`pointerdown`,r,!0))}a();export{n as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./focus-ring-SR_LwaN7.js";function t(t,n,r){t&&(n&&e(t,[`outline`,`boxShadow`]),t.focus(r))}export{t};
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import e,{forwardRef as t}from"react";import n from"classnames";const r=t(({children:t,className:r,validated:i,...a},o)=>{let s=n({"was-validated":i},r);return e.createElement(`form`,{className:s,...a,ref:o},t)});r.displayName=`Form`;export{r as t};
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{r as e}from"./polymorphic-CACPOv1_.js";import{t}from"./renderFormField-wiaxvvLG.js";const n=({children:n,className:r,help:i,ids:a,invalid:o,invalidFeedback:s,label:c,valid:l,validFeedback:u})=>(e(!!c&&!a?.input&&!a?.label,"FormField: `label` is set but `ids.input`/`ids.label` are not — the rendered label won't be associated with your control (no `htmlFor`, no `aria-labelledby` target). Pass `ids={{ input: yourControlId }}` (or `ids.label` for a group with no single input) so the label has something to point at."),t({children:n,className:r,help:i,ids:a,invalid:o,invalidFeedback:s,label:c,valid:l,validFeedback:u}));n.displayName=`FormField`;export{n as t};
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{t as e}from"./polymorphic-CACPOv1_.js";import{t}from"./breakpoints-o_2Ev7ir.js";import{t as n}from"./spacingClassName-DVhk8m3P.js";import r,{forwardRef as i}from"react";import a from"classnames";const o=({span:e,offset:t,order:n},r)=>[typeof e==`number`||typeof e==`string`?`${r}col-${e}`:null,e===!0?`${r}col`:null,typeof t==`number`||typeof t==`string`?`${r}offset-${t}`:null,typeof n==`number`||typeof n==`string`?`${r}order-${n}`:null],s=i(({children:e,className:n,span:i,offset:s,order:c,responsive:l,...u},d)=>{let f=t(o,{span:i,offset:s,order:c},l),p=a(i===void 0&&`col`,f,n);return r.createElement(`div`,{className:p,...u,ref:d},e)});s.displayName=`Col`;function c({children:e,className:t,component:n,fluidUntil:i,fluid:o,...s},c){let l=n??`div`,u=a(`container`,o&&`fluid`,i,t);return r.createElement(l,{className:u,...s,ref:c},e)}const l=e(c,`Container`),u=new Set([`zero`,`4xs`,`3xs`,`2xs`,`xs`,`sm`,`md`,`lg`,`xl`,`2xl`,`3xl`,`4xl`,`5xl`,`6xl`]),d=e=>u.has(e)?`var(--cx-space-${e})`:e;function f({children:e,className:t,component:n,columns:i,rows:o,gap:s,fill:c,style:l,...u},f){let p=n??`div`,m=a(c?`grid-fill`:`grid`,t),h={...l};return c?s!==void 0&&(h[`--cx-gap`]=d(s)):(i!==void 0&&(h[`--cx-grid-columns`]=i),o!==void 0&&(h[`--cx-grid-rows`]=o),s!==void 0&&(h[`--cx-grid-gap`]=d(s))),r.createElement(p,{className:m,style:h,...u,ref:f},e)}const p=e(f,`Grid`),m=({span:e,start:t},n)=>[typeof e==`number`?`${n}g-col-${e}`:null,typeof t==`number`?`${n}g-start-${t}`:null];function h({children:e,className:n,component:i,span:o,start:s,responsive:c,subgrid:l,rows:u,gap:f,style:p,...h},g){let _=i??`div`,v=a(t(m,{span:o,start:s},c),l&&`grid grid-cols-subgrid`,n),y={...p};return l&&(u!==void 0&&(y[`--cx-grid-rows`]=u),f!==void 0&&(y[`--cx-grid-gap`]=d(f))),r.createElement(_,{className:v,style:y,...h,ref:g},e)}const g=e(h,`GridItem`),_=({cols:e,gutter:t,gutterX:r,gutterY:i},a)=>[e?`${a}row-cols-${e}`:null,n(`g`,t,a),n(`gx`,r,a),n(`gy`,i,a)],v=i(({children:e,className:n,cols:i,gutter:o,gutterX:s,gutterY:c,responsive:l,...u},d)=>{let f=a(`row`,t(_,{cols:i,gutter:o,gutterX:s,gutterY:c},l),n);return r.createElement(`div`,{className:f,...u,ref:d},e)});v.displayName=`Row`;export{s as a,l as i,g as n,p as r,v as t};
@@ -0,0 +1 @@
1
+ import"./focus-ring-SR_LwaN7.js";import{i as e,n as t}from"./Icon-BIwkD-kx.js";import n,{useMemo as r}from"react";const i=({children:i,className:a,component:o,font:s,fontPrefix:c,icons:l,sprite:u})=>{let d=t(),f=r(()=>({className:a??d.className,component:o??d.component,font:s??d.font,fontPrefix:c??d.fontPrefix,icons:l?{...d.icons,...l}:d.icons,sprite:u??d.sprite}),[d,a,o,s,c,l,u]);return n.createElement(e.Provider,{value:f},i)};i.displayName=`IconProvider`;export{i as t};
@@ -0,0 +1,69 @@
1
+ import { ComponentType, ReactElement } from "react";
2
+ //#region src/utils/iconConfig.d.ts
3
+ /**
4
+ * The icons this library's own components draw, by purpose rather than by icon name — so a
5
+ * consumer can map each one onto any icon set (see `IconProvider`'s `icons`).
6
+ */
7
+ type IconKey = 'check' | 'previous' | 'next' | 'menu' | 'play' | 'pause';
8
+ /**
9
+ * An icon given to `IconProvider`'s `icons` or to a component's icon prop: a string is an icon
10
+ * name, rendered by `IconProvider`'s `component` (or the built-in `Icon`); an element is rendered
11
+ * as-is, with the component's own class names merged onto it.
12
+ */
13
+ type IconValue = string | ReactElement;
14
+ /**
15
+ * Props `IconProvider`'s `component` receives for every icon name it's asked to render.
16
+ */
17
+ interface IconComponentProps {
18
+ /**
19
+ * The icon name — an `IconValue` string, or `IconProvider`'s default for that icon.
20
+ */
21
+ name: string;
22
+ /**
23
+ * The class names the rendering component needs on the icon (e.g. `menu-item-check`,
24
+ * `directional-icon`) for chassis-css to position and flip it.
25
+ */
26
+ className?: string;
27
+ [prop: string]: unknown;
28
+ }
29
+ interface IconConfig {
30
+ /**
31
+ * Class names added to every `Icon`, alongside its own `icon` class.
32
+ */
33
+ className?: string;
34
+ /**
35
+ * Replaces the built-in `Icon` for every icon this library's components render by name — the
36
+ * strings in `icons` and their defaults, and a string `icon` on `Toast`/`Notification`. A
37
+ * component reference can't be passed from a React Server Component, so set this in a
38
+ * `'use client'` module.
39
+ */
40
+ component?: ComponentType<IconComponentProps>;
41
+ /**
42
+ * Render `Icon` as an icon-font glyph instead of an SVG sprite reference, unless an `Icon` sets
43
+ * `font` itself. Needs the icon font's stylesheet loaded.
44
+ */
45
+ font?: boolean;
46
+ /**
47
+ * Class-name prefix of the icon font's glyphs: an icon named `check-solid` renders as
48
+ * `{fontPrefix}check-solid`.
49
+ *
50
+ * @default 'cx-'
51
+ */
52
+ fontPrefix?: string;
53
+ /**
54
+ * The icon to render for each of the library's own icons, by purpose. Unset ones keep their
55
+ * defaults (`check-solid`, `chevron-left-outline`, `chevron-right-outline`, `bars-outline`,
56
+ * `play-solid`, `pause-solid`).
57
+ */
58
+ icons?: Partial<Record<IconKey, IconValue>>;
59
+ /**
60
+ * URL of the SVG sprite `Icon` references, e.g. `/static/icons/chassis-icons.svg`. Leave empty
61
+ * (the default) when the sprite is embedded in the page, so icons render as `href="#name"`.
62
+ * Browsers don't load an external sprite from another origin.
63
+ *
64
+ * @default ''
65
+ */
66
+ sprite?: string;
67
+ }
68
+ //#endregion
69
+ export { IconValue as i, IconConfig as n, IconKey as r, IconComponentProps as t };
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"./Icon-BIwkD-kx.js";import r,{cloneElement as i}from"react";import{mergeProps as a}from"react-aria";function o({value:t,...o}){let{component:s}=e(),c={"aria-hidden":!0,...o};if(typeof t!=`string`){let e=t;return i(e,a(c,e.props))}return s?r.createElement(s,{name:t,...c}):r.createElement(n,{name:t,...c})}function s({icon:n,override:i,...a}){let{icons:s}=e();return r.createElement(o,{value:i??s?.[n]??t[n],...a})}export{o as n,s as t};
@@ -0,0 +1,17 @@
1
+ import "./focus-ring-SR_LwaN7.js";
2
+ import { n as IconConfig } from "./iconConfig-Bu6Pt9o3.js";
3
+ import "./Icon-CioraWLF.js";
4
+ import React, { ReactNode } from "react";
5
+ //#region src/components/icon/IconProvider.d.ts
6
+ interface IconProviderProps extends IconConfig {
7
+ /**
8
+ * The part of the app these icon settings apply to.
9
+ */
10
+ children?: ReactNode;
11
+ }
12
+ declare const IconProvider: {
13
+ ({ children, className, component, font, fontPrefix, icons, sprite }: IconProviderProps): React.JSX.Element;
14
+ displayName: string;
15
+ };
16
+ //#endregion
17
+ export { IconProviderProps as n, IconProvider as t };
@@ -0,0 +1,80 @@
1
+ import "./focus-ring-SR_LwaN7.js";
2
+ import React, { InputHTMLAttributes, ReactNode } from "react";
3
+ //#region src/components/text-input/TextInput.d.ts
4
+ interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'defaultValue' | 'onChange' | 'size' | 'value'> {
5
+ /**
6
+ * Content rendered at the input's trailing edge, e.g. a `InputAdorn` icon, text, or button.
7
+ * Setting either `adornStart` or `adornEnd` renders a `.form-input` wrapper around a
8
+ * `.ghost-input`, matching chassis-css's [input help](https://chassis-ui.com/css/docs/forms/input-adorn) pattern.
9
+ */
10
+ adornEnd?: ReactNode;
11
+ /**
12
+ * Content rendered at the input's leading edge, e.g. a `InputAdorn` icon, text, or button.
13
+ * Setting either `adornStart` or `adornEnd` renders a `.form-input` wrapper around a
14
+ * `.ghost-input`, matching chassis-css's [input help](https://chassis-ui.com/css/docs/forms/input-adorn) pattern.
15
+ */
16
+ adornStart?: ReactNode;
17
+ /**
18
+ * A string of all className you want applied to the component.
19
+ */
20
+ className?: string;
21
+ /**
22
+ * The value of the input, uncontrolled.
23
+ */
24
+ defaultValue?: string;
25
+ /**
26
+ * Toggle the disabled state for the component.
27
+ */
28
+ disabled?: boolean;
29
+ /**
30
+ * A description for the field, rendered below the input.
31
+ */
32
+ help?: ReactNode;
33
+ /**
34
+ * Set component validation state to invalid.
35
+ */
36
+ invalid?: boolean;
37
+ /**
38
+ * An error message for the field, rendered below the input when `invalid` is set.
39
+ */
40
+ invalidFeedback?: ReactNode;
41
+ /**
42
+ * The field's caption, rendered as a `FormLabel` associated with this input.
43
+ */
44
+ label?: ReactNode;
45
+ /**
46
+ * Handler that is called when the value changes.
47
+ */
48
+ onChange?: (value: string) => void;
49
+ /**
50
+ * Render the component styled as plain text. Removes the default form field styling and preserve the correct margin and padding. Recommend to use only along side `readonly` [docs]
51
+ */
52
+ plainText?: boolean;
53
+ /**
54
+ * Toggle the readonly state for the component.
55
+ */
56
+ readOnly?: boolean;
57
+ /**
58
+ * Size the component sm or lg.
59
+ */
60
+ size?: 'sm' | 'lg';
61
+ /**
62
+ * Specifies the type of component. For `color` or `file` inputs, use the dedicated `ColorInput` or `FileInput` components instead.
63
+ */
64
+ type?: 'date' | 'datetime-local' | 'email' | 'month' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url' | 'week' | (string & {});
65
+ /**
66
+ * Set component validation state to valid.
67
+ */
68
+ valid?: boolean;
69
+ /**
70
+ * A success message for the field, rendered below the input when `valid` is set.
71
+ */
72
+ validFeedback?: ReactNode;
73
+ /**
74
+ * The value of the input, controlled.
75
+ */
76
+ value?: string;
77
+ }
78
+ declare const TextInput: React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<HTMLInputElement>>;
79
+ //#endregion
80
+ export { TextInputProps as n, TextInput as t };
@@ -0,0 +1,93 @@
1
+ import "./focus-ring-SR_LwaN7.js";
2
+ import { n as PolymorphicRef, t as PolymorphicComponentProps } from "./polymorphic-CVHbTHSN.js";
3
+ import { n as ContextColor, t as Breakpoint } from "./types-CS_40Txv.js";
4
+ import { n as Span } from "./breakpoints-SLMTNHF9.js";
5
+ import { ComponentPropsWithoutRef, ElementType, ReactElement, ReactNode } from "react";
6
+ //#region src/components/skeleton/Skeleton.d.ts
7
+ type SkeletonOwnProps<C extends ElementType> = {
8
+ /**
9
+ * Adds `skeleton-{animation}` alongside the base `skeleton` class, so the element animates
10
+ * itself as well as any nested `<Skeleton>` children. Nest plain `<Skeleton>` children inside
11
+ * it for the glow pulse to reach them too, or apply `wave` to a container of one or more
12
+ * `<Skeleton>` children for a directional sweep across the whole group.
13
+ */
14
+ animation?: 'glow' | 'wave';
15
+ /**
16
+ * A string of all className you want applied to the component.
17
+ */
18
+ className?: string;
19
+ /**
20
+ * Sets the color of the component to one of Chassis context colors.
21
+ */
22
+ color?: ContextColor;
23
+ /**
24
+ * Component used for the root node. Either a string to use an HTML element or a component —
25
+ * e.g. `Avatar` or `Button`. Its own props are type-checked at the call site once passed here.
26
+ *
27
+ * @default 'span'
28
+ */
29
+ component?: C;
30
+ /**
31
+ * Width of the skeleton, expressed as a column span (of 12), or `'auto'`/`true` for a
32
+ * natural-width skeleton. Unset by default, so the rendered element's own intrinsic width
33
+ * applies — set it explicitly (e.g. `span={12}`) for a full-width text line; leave it unset
34
+ * when `component` is something that sizes itself, like `Avatar` or `Button`.
35
+ *
36
+ * @type { 'auto' | number | string | boolean }
37
+ */
38
+ span?: Span;
39
+ /**
40
+ * Overrides `span` at a breakpoint and up.
41
+ *
42
+ * @type { Partial<Record<'sm' | 'md' | 'lg' | 'xl' | '2xl', 'auto' | number | string | boolean>> }
43
+ */
44
+ responsive?: Partial<Record<Breakpoint, Span>>;
45
+ };
46
+ type SkeletonProps<C extends ElementType = 'span'> = PolymorphicComponentProps<C, SkeletonOwnProps<C>>;
47
+ type SkeletonComponent = (<C extends ElementType = 'span'>(props: SkeletonProps<C> & {
48
+ ref?: PolymorphicRef<C>;
49
+ }) => ReactElement | null) & {
50
+ displayName?: string;
51
+ };
52
+ declare const Skeleton: SkeletonComponent;
53
+ //#endregion
54
+ //#region src/components/skeleton/SkeletonLoader.d.ts
55
+ type SkeletonLoaderOwnProps<C extends ElementType> = {
56
+ /**
57
+ * The real content, rendered unchanged (no wrapping element) once `loading` is `false`.
58
+ */
59
+ children: ReactNode;
60
+ /**
61
+ * Sets the color of the generated skeleton lines to one of Chassis context colors.
62
+ */
63
+ color?: ContextColor;
64
+ /**
65
+ * Component used for the generated skeleton(s) — e.g. `Avatar` or `Button` — for swapping
66
+ * non-text content, not just text runs. Its own props are type-checked at the call site once
67
+ * passed here, same as `Skeleton`'s own `component` prop.
68
+ *
69
+ * @default 'span'
70
+ */
71
+ component?: C;
72
+ /**
73
+ * Swaps `children` for one `<Skeleton>` per entry in `spans` while `true`.
74
+ */
75
+ loading: boolean;
76
+ /**
77
+ * One skeleton line per entry, using the same values as `Skeleton`'s `span` prop — e.g.
78
+ * `[12, 6]` for a full-width line followed by a half-width one. A single value (e.g. `6`) is
79
+ * shorthand for a single line, equivalent to `[6]`. Leave unset for a single skeleton sized by
80
+ * `component`'s own intrinsic width instead — e.g. an `Avatar`'s `size` prop. Rendered instead
81
+ * of `children` while `loading` is `true`; ignored once `loading` is `false`.
82
+ *
83
+ * @type { 'auto' | number | string | boolean | Array<'auto' | number | string | boolean> }
84
+ */
85
+ spans?: Span | Span[];
86
+ };
87
+ type SkeletonLoaderProps<C extends ElementType = 'span'> = SkeletonLoaderOwnProps<C> & Omit<ComponentPropsWithoutRef<C>, keyof SkeletonLoaderOwnProps<C> | 'asChild'>;
88
+ type SkeletonLoaderComponent = (<C extends ElementType = 'span'>(props: SkeletonLoaderProps<C>) => ReactElement | null) & {
89
+ displayName?: string;
90
+ };
91
+ declare const SkeletonLoader: SkeletonLoaderComponent;
92
+ //#endregion
93
+ export { SkeletonProps as i, SkeletonLoaderProps as n, Skeleton as r, SkeletonLoader as t };
@@ -0,0 +1,105 @@
1
+ import "./focus-ring-SR_LwaN7.js";
2
+ import React, { HTMLAttributes, ReactNode } from "react";
3
+ //#region src/components/otp-input/OtpInput.d.ts
4
+ interface OtpInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
5
+ /**
6
+ * Identifies the element that describes the group, e.g. a `FormHelp` help element.
7
+ */
8
+ 'aria-describedby'?: string;
9
+ /**
10
+ * An accessible label for the group, used when there's no visible `<label>`.
11
+ */
12
+ 'aria-label'?: string;
13
+ /**
14
+ * Identifies a visible `<label>` element for the group.
15
+ */
16
+ 'aria-labelledby'?: string;
17
+ /**
18
+ * A string of all className you want applied to the base component.
19
+ */
20
+ className?: string;
21
+ /**
22
+ * The initial code (uncontrolled), e.g. `"123"` for a partially filled code.
23
+ */
24
+ defaultValue?: string;
25
+ /**
26
+ * Prevents input and makes every box non-interactive.
27
+ */
28
+ disabled?: boolean;
29
+ /**
30
+ * Splits the boxes into groups (e.g. `[3, 3]` for a "123-456" layout), rendering a
31
+ * `.form-otp-separator` between each group. The total number of boxes becomes the sum of
32
+ * `groupSizes`, overriding `length`.
33
+ */
34
+ groupSizes?: number[];
35
+ /**
36
+ * A description for the field, rendered below the boxes.
37
+ */
38
+ help?: ReactNode;
39
+ /**
40
+ * `id` forwarded to the group container.
41
+ */
42
+ id?: string;
43
+ /**
44
+ * Visually connects the boxes into a single bordered control. When `groupSizes` is set, each
45
+ * group is connected separately.
46
+ */
47
+ inputGroup?: boolean;
48
+ /**
49
+ * Set component validation state to invalid.
50
+ */
51
+ invalid?: boolean;
52
+ /**
53
+ * An error message for the field, rendered below the boxes when `invalid` is set.
54
+ */
55
+ invalidFeedback?: ReactNode;
56
+ /**
57
+ * The field's caption, rendered as a `FormLabel` associated with the group via
58
+ * `aria-labelledby` (there's no single input to target with `htmlFor`).
59
+ */
60
+ label?: ReactNode;
61
+ /**
62
+ * Number of digit boxes. Ignored when `groupSizes` is set. Defaults to `6`.
63
+ */
64
+ length?: number;
65
+ /**
66
+ * Mask entered digits using `type="password"` boxes.
67
+ */
68
+ mask?: boolean;
69
+ /**
70
+ * `name` of an auto-created hidden input kept in sync with the code, for native form
71
+ * submission. Omit to skip creating it.
72
+ */
73
+ name?: string;
74
+ /**
75
+ * Callback fired whenever the code changes.
76
+ */
77
+ onChange?: (value: string) => void;
78
+ /**
79
+ * Callback fired once every box is filled.
80
+ */
81
+ onComplete?: (value: string) => void;
82
+ /**
83
+ * Content of the separator rendered between groups when `groupSizes` is set. Defaults to `–`.
84
+ */
85
+ separator?: ReactNode;
86
+ /**
87
+ * Size the boxes sm or lg.
88
+ */
89
+ size?: 'sm' | 'lg';
90
+ /**
91
+ * Set component validation state to valid.
92
+ */
93
+ valid?: boolean;
94
+ /**
95
+ * A success message for the field, rendered below the boxes when `valid` is set.
96
+ */
97
+ validFeedback?: ReactNode;
98
+ /**
99
+ * The code (controlled), digits only, e.g. `"123456"`.
100
+ */
101
+ value?: string;
102
+ }
103
+ declare const OtpInput: React.ForwardRefExoticComponent<OtpInputProps & React.RefAttributes<HTMLDivElement>>;
104
+ //#endregion
105
+ export { OtpInputProps as n, OtpInput as t };
@@ -0,0 +1,95 @@
1
+ import "./focus-ring-SR_LwaN7.js";
2
+ import React, { HTMLAttributes, ReactNode } from "react";
3
+ //#region src/components/chip-input/ChipInput.d.ts
4
+ interface ChipInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
5
+ /**
6
+ * An accessible label for the chip group, used when there's no visible `<label>`.
7
+ */
8
+ 'aria-label'?: string;
9
+ /**
10
+ * Identifies a visible `<label>` element for the chip group.
11
+ */
12
+ 'aria-labelledby'?: string;
13
+ /**
14
+ * Allow the same value to be added more than once. Defaults to `false`.
15
+ */
16
+ allowDuplicates?: boolean;
17
+ /**
18
+ * Space-separated chassis-css chip modifier classes (e.g. `"primary smooth"`) applied to every
19
+ * chip. Defaults to `"default"`.
20
+ */
21
+ chipVariant?: string;
22
+ /**
23
+ * A string of all className you want applied to the base component.
24
+ */
25
+ className?: string;
26
+ /**
27
+ * The initial set of chip values (uncontrolled).
28
+ */
29
+ defaultValue?: string[];
30
+ /**
31
+ * Prevents new chips from being added and makes existing chips non-interactive.
32
+ */
33
+ disabled?: boolean;
34
+ /**
35
+ * A description for the field, rendered below the chips.
36
+ */
37
+ help?: ReactNode;
38
+ /**
39
+ * `id` forwarded to the text input — useful for pairing with a `<label for>`.
40
+ */
41
+ id?: string;
42
+ /**
43
+ * Set component validation state to invalid.
44
+ */
45
+ invalid?: boolean;
46
+ /**
47
+ * An error message for the field, rendered below the chips when `invalid` is set.
48
+ */
49
+ invalidFeedback?: ReactNode;
50
+ /**
51
+ * The field's caption, rendered as a `FormLabel` associated with the text input.
52
+ */
53
+ label?: ReactNode;
54
+ /**
55
+ * Maximum number of chips allowed. Omit for no limit.
56
+ */
57
+ maxChips?: number;
58
+ /**
59
+ * `name` of an auto-created hidden input per chip, kept in sync with the values, for native
60
+ * form submission. Omit to skip creating them.
61
+ */
62
+ name?: string;
63
+ /**
64
+ * Callback fired whenever a chip is added or removed.
65
+ */
66
+ onChange?: (values: string[]) => void;
67
+ /**
68
+ * Placeholder shown in the input when empty.
69
+ */
70
+ placeholder?: string;
71
+ /**
72
+ * Character that creates a new chip when typed, or pasted text is split on. Set to `null` to
73
+ * disable. Defaults to `,`.
74
+ */
75
+ separator?: string | null;
76
+ /**
77
+ * Size the component sm or lg.
78
+ */
79
+ size?: 'sm' | 'lg';
80
+ /**
81
+ * Set component validation state to valid.
82
+ */
83
+ valid?: boolean;
84
+ /**
85
+ * A success message for the field, rendered below the chips when `valid` is set.
86
+ */
87
+ validFeedback?: ReactNode;
88
+ /**
89
+ * The set of chip values (controlled).
90
+ */
91
+ value?: string[];
92
+ }
93
+ declare const ChipInput: React.ForwardRefExoticComponent<ChipInputProps & React.RefAttributes<HTMLDivElement>>;
94
+ //#endregion
95
+ export { ChipInputProps as n, ChipInput as t };
@@ -0,0 +1,28 @@
1
+ import "./focus-ring-SR_LwaN7.js";
2
+ import React, { HTMLAttributes } from "react";
3
+ //#region src/components/collapse/Collapse.d.ts
4
+ interface CollapseProps extends HTMLAttributes<HTMLDivElement> {
5
+ /**
6
+ * A string of all className you want applied to the base component.
7
+ */
8
+ className?: string;
9
+ /**
10
+ * Set horizontal collapsing to transition the width instead of height.
11
+ */
12
+ horizontal?: boolean;
13
+ /**
14
+ * Callback fired when the component requests to be hidden.
15
+ */
16
+ onHide?: () => void;
17
+ /**
18
+ * Callback fired when the component requests to be shown.
19
+ */
20
+ onShow?: () => void;
21
+ /**
22
+ * Toggle the visibility of component.
23
+ */
24
+ visible?: boolean;
25
+ }
26
+ declare const Collapse: React.ForwardRefExoticComponent<CollapseProps & React.RefAttributes<HTMLDivElement>>;
27
+ //#endregion
28
+ export { CollapseProps as n, Collapse as t };