@chassis-ui/react 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +56 -23
- package/dist/accordion.js +1 -1
- package/dist/alert.d.ts +2 -0
- package/dist/alert.js +1 -0
- package/dist/autocomplete.d.ts +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.js +1 -1
- package/dist/badge.js +1 -1
- package/dist/breadcrumb.js +1 -1
- package/dist/button-group.d.ts +1 -1
- package/dist/button-group.js +1 -1
- package/dist/button.js +1 -1
- package/dist/calendar.d.ts +1 -1
- package/dist/calendar.js +1 -1
- package/dist/card.d.ts +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +1 -1
- package/dist/checkbox.d.ts +2 -2
- package/dist/checkbox.js +1 -1
- package/dist/chip-input.js +1 -1
- package/dist/chip.js +1 -1
- package/dist/chunks/Button-BoymWE-L.js +2 -0
- package/dist/chunks/Button-BoymWE-L.js.map +1 -0
- package/dist/chunks/Button-Cptd4Yk7.d.ts +2 -1
- package/dist/chunks/Chip-DCaWaBqo.js +2 -0
- package/dist/chunks/Chip-DCaWaBqo.js.map +1 -0
- package/dist/chunks/CloseButton-DPgQztE0.js +2 -0
- package/dist/chunks/CloseButton-DPgQztE0.js.map +1 -0
- package/dist/chunks/ComboboxItem-C9TpoJOI.d.ts +2 -1
- package/dist/chunks/ComboboxListBox-Cm3L1ULl.js +2 -0
- package/dist/chunks/ComboboxListBox-Cm3L1ULl.js.map +1 -0
- package/dist/chunks/DateSegment-2agXAd0f.js +2 -0
- package/dist/chunks/DateSegment-2agXAd0f.js.map +1 -0
- package/dist/chunks/{FormHelp-Be2PQL0y.js → FormHelp-AE6_iSLJ.js} +2 -1
- package/dist/chunks/FormHelp-AE6_iSLJ.js.map +1 -0
- package/dist/chunks/FormLabel-CYcQiFUI.js +2 -1
- package/dist/chunks/FormLabel-CYcQiFUI.js.map +1 -0
- package/dist/chunks/Icon-CioraWLF.d.ts +2 -1
- package/dist/chunks/Icon-DLB1f88W.js +2 -0
- package/dist/chunks/Icon-DLB1f88W.js.map +1 -0
- package/dist/chunks/Link-CZsWCnQb.js +2 -0
- package/dist/chunks/Link-CZsWCnQb.js.map +1 -0
- package/dist/chunks/{Link-B0Y1xgYi.d.ts → Link-nrd0JWlO.d.ts} +7 -5
- package/dist/chunks/Menu-CSBg2Zmc.js +2 -0
- package/dist/chunks/Menu-CSBg2Zmc.js.map +1 -0
- package/dist/chunks/Menu-QeYOzrUL.d.ts +95 -0
- package/dist/chunks/MenuItemDef-D0VDtYIQ.d.ts +2 -1
- package/dist/chunks/MenuToggle-BdQtF7FV.js +2 -0
- package/dist/chunks/MenuToggle-BdQtF7FV.js.map +1 -0
- package/dist/chunks/Portal-CgeR1WXV.js +2 -0
- package/dist/chunks/Portal-CgeR1WXV.js.map +1 -0
- package/dist/chunks/RangeCalendar-BJl-j4W2.js +2 -0
- package/dist/chunks/RangeCalendar-BJl-j4W2.js.map +1 -0
- package/dist/chunks/VisuallyHidden-C2dM7HhC.js +2 -0
- package/dist/chunks/VisuallyHidden-C2dM7HhC.js.map +1 -0
- package/dist/chunks/accordion-B8UWyvQB.js +2 -0
- package/dist/chunks/accordion-B8UWyvQB.js.map +1 -0
- package/dist/chunks/alert-BXI-_qlt.js +2 -0
- package/dist/chunks/alert-BXI-_qlt.js.map +1 -0
- package/dist/chunks/autocomplete-Baf9VSHN.js +2 -0
- package/dist/chunks/autocomplete-Baf9VSHN.js.map +1 -0
- package/dist/chunks/avatar-S3dGy6Qc.js +2 -0
- package/dist/chunks/avatar-S3dGy6Qc.js.map +1 -0
- package/dist/chunks/{badge-Bj8mf8lu.js → badge-D2oztCvs.js} +2 -1
- package/dist/chunks/badge-D2oztCvs.js.map +1 -0
- package/dist/chunks/{breadcrumb-DDxnx_iS.js → breadcrumb-s6J9itez.js} +2 -1
- package/dist/chunks/breadcrumb-s6J9itez.js.map +1 -0
- package/dist/chunks/breakpoints-CJ-498B7.d.ts +7 -0
- package/dist/chunks/breakpoints-o_2Ev7ir.js +2 -1
- package/dist/chunks/breakpoints-o_2Ev7ir.js.map +1 -0
- package/dist/chunks/button-group-BGppPrIv.js +2 -0
- package/dist/chunks/button-group-BGppPrIv.js.map +1 -0
- package/dist/chunks/{card-DfF2K_5p.js → card-YXn3bj_d.js} +2 -1
- package/dist/chunks/card-YXn3bj_d.js.map +1 -0
- package/dist/chunks/carousel-fTVPqnSV.js +2 -0
- package/dist/chunks/carousel-fTVPqnSV.js.map +1 -0
- package/dist/chunks/checkbox-ChACalAw.js +2 -0
- package/dist/chunks/checkbox-ChACalAw.js.map +1 -0
- package/dist/chunks/chip-input-BpVDRERg.js +2 -0
- package/dist/chunks/chip-input-BpVDRERg.js.map +1 -0
- package/dist/chunks/collapse--Go2Y73B.js +2 -0
- package/dist/chunks/collapse--Go2Y73B.js.map +1 -0
- package/dist/chunks/{color-input-CyRaLR_G.js → color-input-Bwl5ef5B.js} +2 -1
- package/dist/chunks/color-input-Bwl5ef5B.js.map +1 -0
- package/dist/chunks/combobox-Bp1tIaiW.js +2 -0
- package/dist/chunks/combobox-Bp1tIaiW.js.map +1 -0
- package/dist/chunks/context-menu-B4a0tS-h.js +2 -0
- package/dist/chunks/context-menu-B4a0tS-h.js.map +1 -0
- package/dist/chunks/datagrid-CH3Cy-q7.js +3 -0
- package/dist/chunks/datagrid-CH3Cy-q7.js.map +1 -0
- package/dist/chunks/dateRangePresets-R1FtA1zp.d.ts +2 -1
- package/dist/chunks/datepicker-bOiM_zhJ.js +2 -0
- package/dist/chunks/datepicker-bOiM_zhJ.js.map +1 -0
- package/dist/chunks/dialogTransition-i9vw0i2Z.js +2 -1
- package/dist/chunks/dialogTransition-i9vw0i2Z.js.map +1 -0
- package/dist/chunks/direction-LN6uwsK5.js +2 -0
- package/dist/chunks/direction-LN6uwsK5.js.map +1 -0
- package/dist/chunks/divider-CjbF4OfA.js +2 -0
- package/dist/chunks/divider-CjbF4OfA.js.map +1 -0
- package/dist/chunks/drawer-C7Tz4XU_.js +2 -0
- package/dist/chunks/drawer-C7Tz4XU_.js.map +1 -0
- package/dist/chunks/{file-input-RRqZSzjH.js → file-input-CDM6qrmV.js} +2 -1
- package/dist/chunks/file-input-CDM6qrmV.js.map +1 -0
- package/dist/chunks/{flex-BTvpgaRv.js → flex-CmlJbKVj.js} +2 -1
- package/dist/chunks/flex-CmlJbKVj.js.map +1 -0
- package/dist/chunks/floating-input-DmSZZc27.js +2 -0
- package/dist/chunks/floating-input-DmSZZc27.js.map +1 -0
- package/dist/chunks/focus-ring-SR_LwaN7.js +2 -1
- package/dist/chunks/focus-ring-SR_LwaN7.js.map +1 -0
- package/dist/chunks/focusRedirect-BrvK3U_o.js +2 -1
- package/dist/chunks/focusRedirect-BrvK3U_o.js.map +1 -0
- package/dist/chunks/form-GpdAyWWi.js +2 -1
- package/dist/chunks/form-GpdAyWWi.js.map +1 -0
- package/dist/chunks/form-field-CNPGTMiW.js +2 -0
- package/dist/chunks/form-field-CNPGTMiW.js.map +1 -0
- package/dist/chunks/grid-DK_vxz-4.js +2 -0
- package/dist/chunks/grid-DK_vxz-4.js.map +1 -0
- package/dist/chunks/{icon-mxYpL5nL.js → icon-BQsT6YtE.js} +2 -1
- package/dist/chunks/icon-BQsT6YtE.js.map +1 -0
- package/dist/chunks/{iconConfig-Bu6Pt9o3.d.ts → iconConfig-C6gbYhsD.d.ts} +5 -3
- package/dist/chunks/iconSlot-BNu2MrFI.js +2 -0
- package/dist/chunks/iconSlot-BNu2MrFI.js.map +1 -0
- package/dist/chunks/{index-BO_1MN66.d.ts → index-4cKG9KWB.d.ts} +3 -5
- package/dist/chunks/index-6uob77s9.d.ts +2 -1
- package/dist/chunks/{index-tOodmT36.d.ts → index-91YA-jkp.d.ts} +4 -6
- package/dist/chunks/index-9rQeMqVI.d.ts +42 -0
- package/dist/chunks/index-B0-8n-Gs.d.ts +2 -1
- package/dist/chunks/index-B2K-O9kl.d.ts +59 -0
- package/dist/chunks/index-B8uaSJA9.d.ts +2 -1
- package/dist/chunks/index-BA-raEMm.d.ts +2 -1
- package/dist/chunks/{index-C61tPIJ-.d.ts → index-BAsbRx5n.d.ts} +6 -2
- package/dist/chunks/index-BF3OWUVc.d.ts +66 -0
- package/dist/chunks/{index-DB_ToPdz.d.ts → index-BNf0jIIL.d.ts} +12 -1
- package/dist/chunks/index-BO9jLOIb.d.ts +2 -1
- package/dist/chunks/index-BTTeKpiE.d.ts +2 -1
- package/dist/chunks/index-BVGGIaPX.d.ts +2 -1
- package/dist/chunks/{index-qgZ5VGmc.d.ts → index-B_UzbGOa.d.ts} +20 -2
- package/dist/chunks/index-Bi8FFadV.d.ts +2 -1
- package/dist/chunks/index-Bkj17NEQ.d.ts +2 -1
- package/dist/chunks/{index-BKMW0rkw.d.ts → index-Bm2NpgND.d.ts} +4 -2
- package/dist/chunks/{index-XjLvaH4G.d.ts → index-BnR7wjax.d.ts} +6 -5
- package/dist/chunks/{index--0_IpTDT.d.ts → index-BxROljJI.d.ts} +3 -2
- package/dist/chunks/index-Bz8MDq0H.d.ts +85 -0
- package/dist/chunks/{index-Cf2n0l0U.d.ts → index-C4Dks__B.d.ts} +3 -2
- package/dist/chunks/index-CCXJXToc.d.ts +2 -1
- package/dist/chunks/{index-COsYSDrz.d.ts → index-CFnQubsV.d.ts} +17 -3
- package/dist/chunks/{index-DPV62IdF.d.ts → index-CJXKl97l.d.ts} +11 -9
- package/dist/chunks/index-CJzKu7QI.d.ts +2 -1
- package/dist/chunks/{index-ClT3E_hv.d.ts → index-CKx1KHED.d.ts} +4 -3
- package/dist/chunks/index-COsIPd8L.d.ts +2 -1
- package/dist/chunks/index-CRfm7W6C.d.ts +2 -1
- package/dist/chunks/{index-dh3TKanY.d.ts → index-CTpwB1yR.d.ts} +3 -2
- package/dist/chunks/index-CVUMS0x7.d.ts +2 -1
- package/dist/chunks/{index-BlgkO3dn.d.ts → index-CYgBmZ8w.d.ts} +24 -33
- package/dist/chunks/{index-Dum6Y9XR.d.ts → index-Cc4SSslb.d.ts} +20 -2
- package/dist/chunks/index-CftERHnE.d.ts +2 -1
- package/dist/chunks/{index-CaQ1JY5D.d.ts → index-Ci7AEgEc.d.ts} +4 -6
- package/dist/chunks/{index-BxTlIaZu.d.ts → index-CqZ68Z8R.d.ts} +125 -11
- package/dist/chunks/{index-D2VVO8rx.d.ts → index-CsARGAzD.d.ts} +3 -2
- package/dist/chunks/index-CsMIgBsd.d.ts +2 -1
- package/dist/chunks/index-D9PZHY_I.d.ts +2 -1
- package/dist/chunks/index-DAoPg59I.d.ts +2 -1
- package/dist/chunks/index-DHGgezXU.d.ts +2 -1
- package/dist/chunks/index-DHOG_rjE.d.ts +121 -0
- package/dist/chunks/index-DJfga0Ce.d.ts +57 -0
- package/dist/chunks/{index-BTDgfLxK.d.ts → index-DJr_ZK4b.d.ts} +21 -5
- package/dist/chunks/index-DMbdEm__.d.ts +119 -0
- package/dist/chunks/{index-DJJocp_q.d.ts → index-DXjbI7Yv.d.ts} +3 -2
- package/dist/chunks/index-DaHQdNul.d.ts +182 -0
- package/dist/chunks/index-Dcc_W6Kv.d.ts +2 -1
- package/dist/chunks/{index-nklPDKlC.d.ts → index-DceCODH9.d.ts} +3 -2
- package/dist/chunks/index-Ddd7iWfm.d.ts +32 -0
- package/dist/chunks/index-Dfg4Ftb8.d.ts +2 -1
- package/dist/chunks/index-Dfy1YW5j.d.ts +2 -1
- package/dist/chunks/index-DgHvXzVh.d.ts +208 -0
- package/dist/chunks/index-Dh5CaHTP.d.ts +2 -1
- package/dist/chunks/{index-8PhBSbNQ.d.ts → index-DjXRq-n3.d.ts} +15 -10
- package/dist/chunks/{index-JllMXhVx.d.ts → index-DjrEvKd-.d.ts} +21 -4
- package/dist/chunks/index-DtbUXxjz.d.ts +2 -1
- package/dist/chunks/index-Du9fBqkT.d.ts +56 -0
- package/dist/chunks/index-FKh7iFQE.d.ts +95 -0
- package/dist/chunks/index-HrKN6s8z.d.ts +2 -1
- package/dist/chunks/{index-DR8sYtvd.d.ts → index-I-H3VJ-L.d.ts} +20 -87
- package/dist/chunks/{index-DEb9zXlC.d.ts → index-RHJhkSY-.d.ts} +79 -16
- package/dist/chunks/{index-Ctuk1xBU.d.ts → index-e7SJkI_m.d.ts} +9 -6
- package/dist/chunks/index-g74gO0pc.d.ts +36 -0
- package/dist/chunks/{index-DKma0jQw.d.ts → index-qMq_-GY2.d.ts} +3 -2
- package/dist/chunks/index-t_x6jj7l.d.ts +2 -1
- package/dist/chunks/{input-adorn-C_EHML68.js → input-adorn-DwdX-jxA.js} +2 -1
- package/dist/chunks/input-adorn-DwdX-jxA.js.map +1 -0
- package/dist/chunks/{input-group-iI7azfvE.js → input-group-Cuiuf4Dl.js} +2 -1
- package/dist/chunks/input-group-Cuiuf4Dl.js.map +1 -0
- package/dist/chunks/lazyElement-tfMG21pZ.js +2 -0
- package/dist/chunks/lazyElement-tfMG21pZ.js.map +1 -0
- package/dist/chunks/list-BQCkwWjF.js +2 -0
- package/dist/chunks/list-BQCkwWjF.js.map +1 -0
- package/dist/chunks/menu-98EAD9nj.js +2 -0
- package/dist/chunks/menu-98EAD9nj.js.map +1 -0
- package/dist/chunks/modal-bgDR29Jh.js +2 -0
- package/dist/chunks/modal-bgDR29Jh.js.map +1 -0
- package/dist/chunks/nav-TiZuTHC6.js +2 -0
- package/dist/chunks/nav-TiZuTHC6.js.map +1 -0
- package/dist/chunks/nav-overflow-Ay5mM5Gc.js +2 -0
- package/dist/chunks/nav-overflow-Ay5mM5Gc.js.map +1 -0
- package/dist/chunks/navOverflow-B5krZe6D.js +2 -0
- package/dist/chunks/navOverflow-B5krZe6D.js.map +1 -0
- package/dist/chunks/navVariant-CnD21GBS.d.ts +5 -0
- package/dist/chunks/navVariant-DeGTk9B7.js +2 -0
- package/dist/chunks/navVariant-DeGTk9B7.js.map +1 -0
- package/dist/chunks/navbar-DxIwt0sc.js +2 -0
- package/dist/chunks/navbar-DxIwt0sc.js.map +1 -0
- package/dist/chunks/notification-Ds24wnPq.js +2 -0
- package/dist/chunks/notification-Ds24wnPq.js.map +1 -0
- package/dist/chunks/number-field-IBIX2IWH.js +2 -0
- package/dist/chunks/number-field-IBIX2IWH.js.map +1 -0
- package/dist/chunks/otp-input-ws393uPB.js +2 -0
- package/dist/chunks/otp-input-ws393uPB.js.map +1 -0
- package/dist/chunks/overlayPlacement-BtS90IVf.js +2 -1
- package/dist/chunks/overlayPlacement-BtS90IVf.js.map +1 -0
- package/dist/chunks/{overlayPlacement-B7843a-Q.d.ts → overlayPlacement-CIsLpycT.d.ts} +3 -2
- package/dist/chunks/pagination-BkOquk-x.js +2 -0
- package/dist/chunks/pagination-BkOquk-x.js.map +1 -0
- package/dist/chunks/password-strength-DDK8pHRq.js +2 -0
- package/dist/chunks/password-strength-DDK8pHRq.js.map +1 -0
- package/dist/chunks/placeholder-BCr83sUn.js +2 -0
- package/dist/chunks/placeholder-BCr83sUn.js.map +1 -0
- package/dist/chunks/polymorphic-BhGNZQja.js +2 -0
- package/dist/chunks/polymorphic-BhGNZQja.js.map +1 -0
- package/dist/chunks/polymorphic-CVHbTHSN.d.ts +2 -1
- package/dist/chunks/popover-Bdg8D4sm.js +2 -0
- package/dist/chunks/popover-Bdg8D4sm.js.map +1 -0
- package/dist/chunks/{progress-DlrZ71aV.js → progress-zWkTltor.js} +2 -1
- package/dist/chunks/progress-zWkTltor.js.map +1 -0
- package/dist/chunks/radio-DOFYCfJi.js +2 -0
- package/dist/chunks/radio-DOFYCfJi.js.map +1 -0
- package/dist/chunks/{range-input-BN3430j-.js → range-input-CT_8TKL7.js} +2 -1
- package/dist/chunks/range-input-CT_8TKL7.js.map +1 -0
- package/dist/chunks/renderFormCheck-DN_-V62U.js +2 -0
- package/dist/chunks/renderFormCheck-DN_-V62U.js.map +1 -0
- package/dist/chunks/{renderFormCheck-CYWG-Rbt.d.ts → renderFormCheck-DZh_5Df8.d.ts} +3 -2
- package/dist/chunks/renderFormField-Brkw1yA6.js +2 -0
- package/dist/chunks/renderFormField-Brkw1yA6.js.map +1 -0
- package/dist/chunks/{renderFormField-fBEny6JV.d.ts → renderFormField-ChNagAFN.d.ts} +3 -2
- package/dist/chunks/{renderMenuItemContent-CmqT3YUQ.js → renderMenuItemContent-DUezZrpj.js} +2 -1
- package/dist/chunks/renderMenuItemContent-DUezZrpj.js.map +1 -0
- package/dist/chunks/scrollspy-C2HmrnZ4.js +2 -0
- package/dist/chunks/scrollspy-C2HmrnZ4.js.map +1 -0
- package/dist/chunks/scrollspy-D_lPjb92.js +2 -0
- package/dist/chunks/scrollspy-D_lPjb92.js.map +1 -0
- package/dist/chunks/search-field--nDoCI_E.js +2 -0
- package/dist/chunks/search-field--nDoCI_E.js.map +1 -0
- package/dist/chunks/select-BwJIfv9f.js +2 -0
- package/dist/chunks/select-BwJIfv9f.js.map +1 -0
- package/dist/chunks/skeleton-BrD2JwNx.js +2 -0
- package/dist/chunks/skeleton-BrD2JwNx.js.map +1 -0
- package/dist/chunks/slot-CNhFZdHF.js +2 -0
- package/dist/chunks/slot-CNhFZdHF.js.map +1 -0
- package/dist/chunks/spacingClassName-DVhk8m3P.js +2 -1
- package/dist/chunks/spacingClassName-DVhk8m3P.js.map +1 -0
- package/dist/chunks/spinner-DblhvrHL.js +2 -0
- package/dist/chunks/spinner-DblhvrHL.js.map +1 -0
- package/dist/chunks/{stack-D3retZ-W.js → stack-CsMiQbpq.js} +2 -1
- package/dist/chunks/stack-CsMiQbpq.js.map +1 -0
- package/dist/chunks/static-table-D0M4oc_t.js +2 -1
- package/dist/chunks/static-table-D0M4oc_t.js.map +1 -0
- package/dist/chunks/stepper-CVXMJ2yg.js +2 -0
- package/dist/chunks/stepper-CVXMJ2yg.js.map +1 -0
- package/dist/chunks/switch-C6s3LxEv.js +2 -0
- package/dist/chunks/switch-C6s3LxEv.js.map +1 -0
- package/dist/chunks/table-Cy6uEuEP.js +2 -0
- package/dist/chunks/table-Cy6uEuEP.js.map +1 -0
- package/dist/chunks/tableClassName-CZA2Bse8.js +2 -1
- package/dist/chunks/tableClassName-CZA2Bse8.js.map +1 -0
- package/dist/chunks/tabs-91T7-8qq.js +2 -0
- package/dist/chunks/tabs-91T7-8qq.js.map +1 -0
- package/dist/chunks/text-input-B4pTv6SU.js +2 -0
- package/dist/chunks/text-input-B4pTv6SU.js.map +1 -0
- package/dist/chunks/textarea-1A1nABQE.js +2 -0
- package/dist/chunks/textarea-1A1nABQE.js.map +1 -0
- package/dist/chunks/time-field-B3MA7ED_.js +2 -0
- package/dist/chunks/time-field-B3MA7ED_.js.map +1 -0
- package/dist/chunks/toast-CGHl3-oU.js +2 -0
- package/dist/chunks/toast-CGHl3-oU.js.map +1 -0
- package/dist/chunks/tooltip-Bc-u6nIW.js +2 -0
- package/dist/chunks/tooltip-Bc-u6nIW.js.map +1 -0
- package/dist/chunks/tree-Cql1veeZ.js +2 -0
- package/dist/chunks/tree-Cql1veeZ.js.map +1 -0
- package/dist/chunks/types-CS_40Txv.d.ts +2 -1
- package/dist/chunks/unhandledProps-9Kdj7WVf.js +2 -0
- package/dist/chunks/unhandledProps-9Kdj7WVf.js.map +1 -0
- package/dist/chunks/useButtonSemantics-CILM_lhi.js +2 -1
- package/dist/chunks/useButtonSemantics-CILM_lhi.js.map +1 -0
- package/dist/chunks/useControllableState-CPUJxfKW.js +2 -0
- package/dist/chunks/useControllableState-CPUJxfKW.js.map +1 -0
- package/dist/chunks/useDialogElement-CgOnJAzu.js +2 -0
- package/dist/chunks/useDialogElement-CgOnJAzu.js.map +1 -0
- package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js +2 -1
- package/dist/chunks/useDisabledAnchorGuard-Cz58UCXy.js.map +1 -0
- package/dist/chunks/useFloatingOverlay-DLIvwx-8.js +2 -0
- package/dist/chunks/useFloatingOverlay-DLIvwx-8.js.map +1 -0
- package/dist/chunks/useForkedRef-DVEfT-KI.js +2 -1
- package/dist/chunks/useForkedRef-DVEfT-KI.js.map +1 -0
- package/dist/chunks/useFormField-BOqmBTC4.js +2 -1
- package/dist/chunks/useFormField-BOqmBTC4.js.map +1 -0
- package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js +2 -1
- package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js.map +1 -0
- package/dist/chunks/useOpenStateProps-DykUbnPJ.js +2 -0
- package/dist/chunks/useOpenStateProps-DykUbnPJ.js.map +1 -0
- package/dist/chunks/useToastRegionQueue-CIV5SdiE.js +2 -0
- package/dist/chunks/useToastRegionQueue-CIV5SdiE.js.map +1 -0
- package/dist/chunks/useTransitionState-e5ToY7eX.js +2 -0
- package/dist/chunks/useTransitionState-e5ToY7eX.js.map +1 -0
- package/dist/chunks/validationClassName-gRGs4KBm.js +2 -1
- package/dist/chunks/validationClassName-gRGs4KBm.js.map +1 -0
- package/dist/chunks/visibleState-B_i1zHu2.js +2 -0
- package/dist/chunks/visibleState-B_i1zHu2.js.map +1 -0
- package/dist/close-button.d.ts +1 -1
- package/dist/close-button.js +1 -1
- package/dist/collapse.js +1 -1
- package/dist/color-input.js +1 -1
- package/dist/combobox.js +1 -1
- package/dist/context-menu.d.ts +2 -0
- package/dist/context-menu.js +1 -0
- package/dist/datagrid.js +1 -1
- package/dist/datepicker.d.ts +1 -1
- package/dist/datepicker.js +1 -1
- package/dist/divider.d.ts +2 -0
- package/dist/divider.js +1 -0
- package/dist/drawer.d.ts +1 -1
- package/dist/drawer.js +1 -1
- package/dist/file-input.js +1 -1
- package/dist/flex.js +1 -1
- package/dist/floating-input.d.ts +1 -1
- package/dist/floating-input.js +1 -1
- package/dist/form-field.d.ts +1 -1
- package/dist/form-field.js +1 -1
- package/dist/form.js +1 -1
- package/dist/grid.d.ts +2 -2
- package/dist/grid.js +1 -1
- package/dist/icon.d.ts +2 -2
- package/dist/icon.js +1 -1
- package/dist/index.d.ts +50 -38
- package/dist/index.js +1 -1
- package/dist/input-adorn.js +1 -1
- package/dist/input-group.js +1 -1
- package/dist/link.d.ts +1 -1
- package/dist/link.js +1 -1
- package/dist/list.d.ts +1 -1
- package/dist/list.js +1 -1
- package/dist/menu.d.ts +2 -1
- package/dist/menu.js +1 -1
- package/dist/modal.d.ts +1 -1
- package/dist/modal.js +1 -1
- package/dist/nav-overflow.d.ts +2 -0
- package/dist/nav-overflow.js +1 -0
- package/dist/nav.d.ts +2 -2
- package/dist/nav.js +1 -1
- package/dist/navbar.d.ts +1 -1
- package/dist/navbar.js +1 -1
- package/dist/notification.d.ts +1 -1
- package/dist/notification.js +1 -1
- package/dist/number-field.d.ts +2 -0
- package/dist/number-field.js +1 -0
- package/dist/otp-input.js +1 -1
- package/dist/pagination.d.ts +1 -1
- package/dist/pagination.js +1 -1
- package/dist/password-strength.d.ts +1 -1
- package/dist/password-strength.js +1 -1
- package/dist/placeholder.d.ts +1 -1
- package/dist/placeholder.js +1 -1
- package/dist/popover.d.ts +1 -1
- package/dist/popover.js +1 -1
- package/dist/portal.d.ts +2 -0
- package/dist/portal.js +1 -0
- package/dist/progress.js +1 -1
- package/dist/radio.d.ts +1 -1
- package/dist/radio.js +1 -1
- package/dist/range-input.js +1 -1
- package/dist/scrollspy.d.ts +2 -0
- package/dist/scrollspy.js +1 -0
- package/dist/search-field.d.ts +2 -0
- package/dist/search-field.js +1 -0
- package/dist/select.js +1 -1
- package/dist/skeleton.d.ts +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/spinner.js +1 -1
- package/dist/stack.js +1 -1
- package/dist/stepper.d.ts +1 -1
- package/dist/stepper.js +1 -1
- package/dist/style.css +1 -1
- package/dist/switch.js +1 -1
- package/dist/table.js +1 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.js +1 -1
- package/dist/text-input.js +1 -1
- package/dist/textarea.js +1 -1
- package/dist/time-field.d.ts +2 -0
- package/dist/time-field.js +1 -0
- package/dist/toast.d.ts +1 -1
- package/dist/toast.js +1 -1
- package/dist/tooltip.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/tree.d.ts +2 -0
- package/dist/tree.js +1 -0
- package/dist/visually-hidden.d.ts +2 -0
- package/dist/visually-hidden.js +1 -0
- package/package.json +61 -52
- package/dist/chunks/Button-I0aUy5h-.js +0 -1
- package/dist/chunks/Chip-D0Cw0mAr.js +0 -1
- package/dist/chunks/CloseButton-DJM7FRKh.js +0 -1
- package/dist/chunks/ComboboxListBox-BhO8uRNg.js +0 -1
- package/dist/chunks/Icon-BIwkD-kx.js +0 -1
- package/dist/chunks/Link-Cq7FNWpm.js +0 -1
- package/dist/chunks/RangeCalendar-COnSfurr.js +0 -1
- package/dist/chunks/accordion-okRicuG5.js +0 -1
- package/dist/chunks/autocomplete-B0xTc6kg.js +0 -1
- package/dist/chunks/avatar-Bjm0DlPO.js +0 -1
- package/dist/chunks/breakpoints-SLMTNHF9.d.ts +0 -5
- package/dist/chunks/button-group-CPZYA6aZ.js +0 -1
- package/dist/chunks/carousel-DEvwcA7H.js +0 -1
- package/dist/chunks/checkbox-BFPS0pD6.js +0 -1
- package/dist/chunks/chip-input-CB1lE6vP.js +0 -1
- package/dist/chunks/collapse-WifcChO8.js +0 -1
- package/dist/chunks/combobox-DWEj-Sv7.js +0 -1
- package/dist/chunks/datagrid-nbnNThsT.js +0 -2
- package/dist/chunks/datepicker-CslLKMm1.js +0 -1
- package/dist/chunks/direction-CPhdeL3A.js +0 -1
- package/dist/chunks/drawer-zReFjoJG.js +0 -1
- package/dist/chunks/floating-input-CIC9Lm2a.js +0 -1
- package/dist/chunks/form-field-BjQ9SIjx.js +0 -1
- package/dist/chunks/grid-CuFw89yV.js +0 -1
- package/dist/chunks/iconSlot-BmWxJh27.js +0 -1
- package/dist/chunks/index-BDfh8YBc.d.ts +0 -39
- package/dist/chunks/index-D949AidR.d.ts +0 -40
- package/dist/chunks/list-CMr-wB9d.js +0 -1
- package/dist/chunks/menu-CXUc-Gva.js +0 -1
- package/dist/chunks/modal-ByIj71Mq.js +0 -1
- package/dist/chunks/nav-BldxFo_B.js +0 -1
- package/dist/chunks/navbar-BwcsQuBk.js +0 -1
- package/dist/chunks/notification-DdqigVB1.js +0 -1
- package/dist/chunks/otp-input-CXe_wkII.js +0 -1
- package/dist/chunks/pagination-BOpEAYW2.js +0 -1
- package/dist/chunks/password-strength-BfLiYiGj.js +0 -1
- package/dist/chunks/placeholder-pg95KELl.js +0 -1
- package/dist/chunks/polymorphic-CACPOv1_.js +0 -1
- package/dist/chunks/popover-BpSfnZzk.js +0 -1
- package/dist/chunks/radio-BV7Sq6D1.js +0 -1
- package/dist/chunks/renderFormCheck-BXBs6_ov.js +0 -1
- package/dist/chunks/renderFormField-wiaxvvLG.js +0 -1
- package/dist/chunks/select-CclIIux8.js +0 -1
- package/dist/chunks/skeleton-CKq76sE_.js +0 -1
- package/dist/chunks/spinner-BEq4PAlu.js +0 -1
- package/dist/chunks/stepper-CTa6e8uv.js +0 -1
- package/dist/chunks/switch-BmHpq4tL.js +0 -1
- package/dist/chunks/table-Fme9GbAR.js +0 -1
- package/dist/chunks/tabs-BnbMJM_b.js +0 -1
- package/dist/chunks/text-input-DD3d08Yf.js +0 -1
- package/dist/chunks/textarea-C0qQdCcu.js +0 -1
- package/dist/chunks/toast-BQhZ2pv5.js +0 -1
- package/dist/chunks/tooltip-DHtVAYUo.js +0 -1
- package/dist/chunks/triggerElement-BIqA4KqZ.js +0 -1
- package/dist/chunks/useDialogElement-BRIU60cT.js +0 -1
- package/dist/chunks/useFloatingOverlay-CcmDZKMK.js +0 -1
- package/dist/chunks/useToastRegionQueue-BH6bWZ73.js +0 -1
- package/src/components/accordion/Accordion.tsx +0 -190
- package/src/components/accordion/AccordionBody.tsx +0 -46
- package/src/components/accordion/AccordionHeader.tsx +0 -21
- package/src/components/accordion/AccordionItem.tsx +0 -59
- package/src/components/accordion/context.ts +0 -8
- package/src/components/accordion/index.ts +0 -12
- package/src/components/autocomplete/Autocomplete.tsx +0 -464
- package/src/components/autocomplete/AutocompleteGroup.tsx +0 -20
- package/src/components/autocomplete/AutocompleteItem.tsx +0 -18
- package/src/components/autocomplete/index.ts +0 -10
- package/src/components/avatar/Avatar.tsx +0 -137
- package/src/components/avatar/AvatarImage.tsx +0 -19
- package/src/components/avatar/AvatarStack.tsx +0 -98
- package/src/components/avatar/index.ts +0 -10
- package/src/components/badge/Badge.tsx +0 -94
- package/src/components/badge/index.ts +0 -6
- package/src/components/breadcrumb/Breadcrumb.tsx +0 -68
- package/src/components/breadcrumb/BreadcrumbItem.tsx +0 -38
- package/src/components/breadcrumb/index.ts +0 -8
- package/src/components/button/Button.tsx +0 -232
- package/src/components/button/index.ts +0 -6
- package/src/components/button-group/ButtonGroup.tsx +0 -55
- package/src/components/button-group/ButtonToolbar.tsx +0 -47
- package/src/components/button-group/index.ts +0 -8
- package/src/components/calendar/Calendar.scss +0 -57
- package/src/components/calendar/Calendar.tsx +0 -338
- package/src/components/calendar/CalendarMonthBlock.tsx +0 -57
- package/src/components/calendar/CalendarMonthGrid.tsx +0 -94
- package/src/components/calendar/CalendarMonthYearPicker.tsx +0 -164
- package/src/components/calendar/CalendarNavButton.tsx +0 -24
- package/src/components/calendar/CalendarWeekGrid.tsx +0 -58
- package/src/components/calendar/CalendarYearGrid.tsx +0 -128
- package/src/components/calendar/RangeCalendar.scss +0 -95
- package/src/components/calendar/RangeCalendar.tsx +0 -373
- package/src/components/calendar/index.ts +0 -10
- package/src/components/calendar/labels.tsx +0 -71
- package/src/components/card/Card.tsx +0 -173
- package/src/components/card/CardBody.tsx +0 -75
- package/src/components/card/CardFooter.tsx +0 -47
- package/src/components/card/CardGroup.tsx +0 -51
- package/src/components/card/CardHeader.tsx +0 -47
- package/src/components/card/CardImage.tsx +0 -70
- package/src/components/card/CardImageOverlay.tsx +0 -47
- package/src/components/card/CardLink.tsx +0 -40
- package/src/components/card/CardSubtitle.tsx +0 -47
- package/src/components/card/CardText.tsx +0 -47
- package/src/components/card/CardTitle.tsx +0 -47
- package/src/components/card/index.ts +0 -26
- package/src/components/carousel/Carousel.tsx +0 -753
- package/src/components/carousel/CarouselControlButton.tsx +0 -81
- package/src/components/carousel/CarouselControlNext.tsx +0 -28
- package/src/components/carousel/CarouselControlPrev.tsx +0 -28
- package/src/components/carousel/CarouselIndicators.tsx +0 -44
- package/src/components/carousel/CarouselInner.tsx +0 -56
- package/src/components/carousel/CarouselItem.tsx +0 -51
- package/src/components/carousel/CarouselOverlay.tsx +0 -51
- package/src/components/carousel/CarouselPlayPause.tsx +0 -84
- package/src/components/carousel/carouselEngine.ts +0 -170
- package/src/components/carousel/context.ts +0 -29
- package/src/components/carousel/index.ts +0 -25
- package/src/components/checkbox/Checkbox.tsx +0 -252
- package/src/components/checkbox/CheckboxGroup.tsx +0 -145
- package/src/components/checkbox/context.ts +0 -14
- package/src/components/checkbox/index.ts +0 -8
- package/src/components/chip/Chip.tsx +0 -184
- package/src/components/chip/index.ts +0 -6
- package/src/components/chip-input/ChipInput.tsx +0 -371
- package/src/components/chip-input/ChipList.tsx +0 -95
- package/src/components/chip-input/index.ts +0 -6
- package/src/components/close-button/CloseButton.tsx +0 -205
- package/src/components/close-button/index.ts +0 -6
- package/src/components/collapse/Collapse.tsx +0 -128
- package/src/components/collapse/index.ts +0 -6
- package/src/components/color-input/ColorInput.tsx +0 -106
- package/src/components/color-input/index.ts +0 -6
- package/src/components/combobox/Combobox.tsx +0 -320
- package/src/components/combobox/ComboboxGroup.tsx +0 -27
- package/src/components/combobox/ComboboxItem.tsx +0 -44
- package/src/components/combobox/ComboboxListBox.tsx +0 -98
- package/src/components/combobox/index.ts +0 -10
- package/src/components/datagrid/DataGrid.scss +0 -203
- package/src/components/datagrid/DataGrid.tsx +0 -259
- package/src/components/datagrid/DataGridBody.tsx +0 -162
- package/src/components/datagrid/DataGridCell.tsx +0 -47
- package/src/components/datagrid/DataGridColumn.tsx +0 -109
- package/src/components/datagrid/DataGridHeader.tsx +0 -47
- package/src/components/datagrid/DataGridPinBehavior.tsx +0 -225
- package/src/components/datagrid/DataGridRow.tsx +0 -48
- package/src/components/datagrid/DataGridSelectionCell.tsx +0 -74
- package/src/components/datagrid/DataGridTableLayout.ts +0 -30
- package/src/components/datagrid/index.ts +0 -18
- package/src/components/datagrid/useColumnGeometry.ts +0 -161
- package/src/components/datepicker/CalendarToggleButton.tsx +0 -58
- package/src/components/datepicker/ClearButton.tsx +0 -38
- package/src/components/datepicker/DateField.tsx +0 -54
- package/src/components/datepicker/DatePicker.scss +0 -51
- package/src/components/datepicker/DatePicker.tsx +0 -606
- package/src/components/datepicker/DateRangePicker.scss +0 -11
- package/src/components/datepicker/DateRangePicker.tsx +0 -361
- package/src/components/datepicker/index.ts +0 -8
- package/src/components/datepicker/renderDatePickerShell.tsx +0 -104
- package/src/components/drawer/Drawer.tsx +0 -213
- package/src/components/drawer/DrawerBody.tsx +0 -47
- package/src/components/drawer/DrawerFooter.tsx +0 -51
- package/src/components/drawer/DrawerHeader.tsx +0 -60
- package/src/components/drawer/DrawerTitle.tsx +0 -49
- package/src/components/drawer/index.ts +0 -18
- package/src/components/file-input/FileInput.tsx +0 -100
- package/src/components/file-input/index.ts +0 -6
- package/src/components/flex/Flex.tsx +0 -134
- package/src/components/flex/index.ts +0 -6
- package/src/components/floating-input/FloatingInput.tsx +0 -94
- package/src/components/floating-input/index.ts +0 -6
- package/src/components/form/Form.tsx +0 -26
- package/src/components/form/FormFeedback.tsx +0 -64
- package/src/components/form/FormHelp.tsx +0 -46
- package/src/components/form/FormLabel.tsx +0 -26
- package/src/components/form/index.ts +0 -12
- package/src/components/form/renderFormCheck.tsx +0 -86
- package/src/components/form-field/FormField.tsx +0 -84
- package/src/components/form-field/index.ts +0 -6
- package/src/components/form-field/renderFormField.tsx +0 -85
- package/src/components/grid/Col.tsx +0 -69
- package/src/components/grid/Container.tsx +0 -59
- package/src/components/grid/Grid.tsx +0 -86
- package/src/components/grid/GridItem.tsx +0 -123
- package/src/components/grid/Row.tsx +0 -71
- package/src/components/grid/gap.ts +0 -8
- package/src/components/grid/index.ts +0 -14
- package/src/components/icon/Icon.tsx +0 -105
- package/src/components/icon/IconProvider.tsx +0 -40
- package/src/components/icon/index.ts +0 -9
- package/src/components/input-adorn/InputAdorn.tsx +0 -55
- package/src/components/input-adorn/index.ts +0 -6
- package/src/components/input-group/InputGroup.tsx +0 -50
- package/src/components/input-group/InputGroupAddon.tsx +0 -50
- package/src/components/input-group/index.ts +0 -8
- package/src/components/link/Link.tsx +0 -148
- package/src/components/link/index.ts +0 -6
- package/src/components/list/List.tsx +0 -193
- package/src/components/list/ListItem.tsx +0 -91
- package/src/components/list/index.ts +0 -8
- package/src/components/menu/Menu.tsx +0 -408
- package/src/components/menu/MenuDivider.tsx +0 -19
- package/src/components/menu/MenuHeader.tsx +0 -55
- package/src/components/menu/MenuItem.tsx +0 -85
- package/src/components/menu/MenuItemDef.ts +0 -83
- package/src/components/menu/MenuList.tsx +0 -142
- package/src/components/menu/MenuSubmenu.tsx +0 -284
- package/src/components/menu/MenuSubmenuBack.tsx +0 -39
- package/src/components/menu/MenuText.tsx +0 -47
- package/src/components/menu/MenuToggle.tsx +0 -148
- package/src/components/menu/index.ts +0 -23
- package/src/components/menu/menuNavigation.ts +0 -106
- package/src/components/menu/submenuGroup.ts +0 -43
- package/src/components/modal/Modal.tsx +0 -164
- package/src/components/modal/ModalBody.tsx +0 -47
- package/src/components/modal/ModalFooter.tsx +0 -51
- package/src/components/modal/ModalHeader.tsx +0 -60
- package/src/components/modal/ModalTitle.tsx +0 -49
- package/src/components/modal/index.ts +0 -18
- package/src/components/nav/Nav.tsx +0 -97
- package/src/components/nav/NavItem.tsx +0 -42
- package/src/components/nav/NavLink.tsx +0 -48
- package/src/components/nav/NavTitle.tsx +0 -22
- package/src/components/nav/index.ts +0 -11
- package/src/components/navbar/Navbar.tsx +0 -112
- package/src/components/navbar/NavbarBrand.tsx +0 -58
- package/src/components/navbar/NavbarNav.tsx +0 -47
- package/src/components/navbar/NavbarText.tsx +0 -47
- package/src/components/navbar/NavbarToggler.tsx +0 -40
- package/src/components/navbar/index.ts +0 -14
- package/src/components/notification/Notification.scss +0 -15
- package/src/components/notification/Notification.tsx +0 -188
- package/src/components/notification/NotificationIcon.tsx +0 -21
- package/src/components/notification/NotificationStack.tsx +0 -66
- package/src/components/notification/NotificationText.tsx +0 -47
- package/src/components/notification/NotificationTitle.tsx +0 -47
- package/src/components/notification/context.ts +0 -14
- package/src/components/notification/index.ts +0 -25
- package/src/components/notification/notificationQueue.ts +0 -48
- package/src/components/otp-input/OtpBox.tsx +0 -68
- package/src/components/otp-input/OtpInput.tsx +0 -342
- package/src/components/otp-input/index.ts +0 -6
- package/src/components/pagination/Pagination.tsx +0 -212
- package/src/components/pagination/PaginationItem.tsx +0 -152
- package/src/components/pagination/index.ts +0 -12
- package/src/components/password-strength/PasswordStrength.tsx +0 -155
- package/src/components/password-strength/index.ts +0 -6
- package/src/components/password-strength/strengthScore.ts +0 -79
- package/src/components/placeholder/Placeholder.tsx +0 -178
- package/src/components/placeholder/index.ts +0 -6
- package/src/components/popover/Popover.tsx +0 -269
- package/src/components/popover/index.ts +0 -6
- package/src/components/progress/Progress.tsx +0 -154
- package/src/components/progress/ProgressBar.tsx +0 -88
- package/src/components/progress/index.ts +0 -8
- package/src/components/radio/Radio.tsx +0 -98
- package/src/components/radio/RadioGroup.tsx +0 -142
- package/src/components/radio/context.ts +0 -14
- package/src/components/radio/index.ts +0 -8
- package/src/components/range-input/RangeInput.tsx +0 -109
- package/src/components/range-input/index.ts +0 -6
- package/src/components/select/Select.tsx +0 -277
- package/src/components/select/index.ts +0 -6
- package/src/components/skeleton/Skeleton.tsx +0 -89
- package/src/components/skeleton/SkeletonLoader.tsx +0 -98
- package/src/components/skeleton/index.ts +0 -8
- package/src/components/spinner/Spinner.tsx +0 -77
- package/src/components/spinner/index.ts +0 -6
- package/src/components/stack/Stack.tsx +0 -81
- package/src/components/stack/index.ts +0 -6
- package/src/components/static-table/StaticTable.tsx +0 -78
- package/src/components/static-table/index.ts +0 -8
- package/src/components/stepper/Stepper.tsx +0 -172
- package/src/components/stepper/StepperItem.tsx +0 -66
- package/src/components/stepper/index.ts +0 -8
- package/src/components/switch/Switch.tsx +0 -259
- package/src/components/switch/index.ts +0 -6
- package/src/components/table/Table.css +0 -39
- package/src/components/table/Table.tsx +0 -405
- package/src/components/table/TableBody.tsx +0 -25
- package/src/components/table/TableCell.tsx +0 -27
- package/src/components/table/TableColumn.tsx +0 -31
- package/src/components/table/TableHeader.tsx +0 -26
- package/src/components/table/TableRow.tsx +0 -24
- package/src/components/table/index.ts +0 -16
- package/src/components/tabs/Tab.tsx +0 -36
- package/src/components/tabs/TabList.tsx +0 -76
- package/src/components/tabs/TabPanel.tsx +0 -68
- package/src/components/tabs/Tabs.tsx +0 -136
- package/src/components/tabs/context.ts +0 -24
- package/src/components/tabs/index.ts +0 -12
- package/src/components/text-input/TextInput.tsx +0 -188
- package/src/components/text-input/index.ts +0 -6
- package/src/components/textarea/Textarea.tsx +0 -145
- package/src/components/textarea/index.ts +0 -6
- package/src/components/toast/Toast.tsx +0 -220
- package/src/components/toast/ToastBody.tsx +0 -64
- package/src/components/toast/ToastFooter.tsx +0 -47
- package/src/components/toast/ToastHeader.tsx +0 -105
- package/src/components/toast/ToastIcon.tsx +0 -21
- package/src/components/toast/Toaster.tsx +0 -87
- package/src/components/toast/context.ts +0 -14
- package/src/components/toast/index.ts +0 -26
- package/src/components/toast/toastQueue.ts +0 -56
- package/src/components/tooltip/Tooltip.tsx +0 -171
- package/src/components/tooltip/index.ts +0 -6
- package/src/global.d.ts +0 -2
- package/src/hooks/index.ts +0 -57
- package/src/hooks/useAutoDismiss.ts +0 -91
- package/src/hooks/useButtonSemantics.ts +0 -33
- package/src/hooks/useControllableState.ts +0 -24
- package/src/hooks/useDialogElement.ts +0 -226
- package/src/hooks/useDisabledAnchorGuard.ts +0 -22
- package/src/hooks/useDismissibleTransition.ts +0 -126
- package/src/hooks/useDrawer.ts +0 -9
- package/src/hooks/useFloatingOverlay.ts +0 -125
- package/src/hooks/useForkedRef.ts +0 -50
- package/src/hooks/useFormField.ts +0 -89
- package/src/hooks/useIconConfig.ts +0 -6
- package/src/hooks/useIsomorphicLayoutEffect.ts +0 -9
- package/src/hooks/useModal.ts +0 -9
- package/src/hooks/useNotification.ts +0 -10
- package/src/hooks/useOverlayPlacement.ts +0 -93
- package/src/hooks/usePagination.ts +0 -89
- package/src/hooks/useToast.ts +0 -9
- package/src/hooks/useToastRegionQueue.ts +0 -27
- package/src/index.ts +0 -522
- package/src/types.ts +0 -133
- package/src/utils/breakpoints.ts +0 -43
- package/src/utils/comboboxCollection.tsx +0 -152
- package/src/utils/dateRangePresets.ts +0 -6
- package/src/utils/devWarning.ts +0 -58
- package/src/utils/dialogTransition.ts +0 -39
- package/src/utils/direction.ts +0 -14
- package/src/utils/focusRedirect.ts +0 -23
- package/src/utils/iconConfig.ts +0 -88
- package/src/utils/iconSlot.tsx +0 -41
- package/src/utils/isWholeUnitDisabled.ts +0 -17
- package/src/utils/mergeIsDateUnavailable.ts +0 -15
- package/src/utils/overlayPlacement.ts +0 -93
- package/src/utils/pointerInteraction.ts +0 -21
- package/src/utils/polymorphic.ts +0 -100
- package/src/utils/renderMenuItemContent.tsx +0 -57
- package/src/utils/setVisibleRangeStart.ts +0 -64
- package/src/utils/slot.tsx +0 -78
- package/src/utils/spacingClassName.ts +0 -14
- package/src/utils/suppressFocusRingGlobally.ts +0 -84
- package/src/utils/tableClassName.ts +0 -93
- package/src/utils/triggerElement.ts +0 -25
- package/src/utils/validationClassName.ts +0 -8
- package/src/utils/virtualFocusStyle.ts +0 -16
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { useState } from 'react'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Shared controlled/uncontrolled state pattern: `value` present means controlled (the returned
|
|
5
|
-
* state always mirrors it), otherwise state is tracked internally starting from `defaultValue`.
|
|
6
|
-
* The returned setter updates internal state (when uncontrolled) and always calls `onChange`,
|
|
7
|
-
* leaving the caller free to layer additional logic (e.g. an `onComplete` callback) around it.
|
|
8
|
-
*/
|
|
9
|
-
export function useControllableState<T>(
|
|
10
|
-
value: T | undefined,
|
|
11
|
-
defaultValue: T,
|
|
12
|
-
onChange?: (value: T) => void
|
|
13
|
-
): [T, (next: T) => void] {
|
|
14
|
-
const isControlled = value !== undefined
|
|
15
|
-
const [uncontrolledValue, setUncontrolledValue] = useState<T>(defaultValue)
|
|
16
|
-
const state = isControlled ? (value as T) : uncontrolledValue
|
|
17
|
-
|
|
18
|
-
const setState = (next: T) => {
|
|
19
|
-
if (!isControlled) setUncontrolledValue(next)
|
|
20
|
-
onChange?.(next)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return [state, setState]
|
|
24
|
-
}
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ForwardedRef,
|
|
3
|
-
MouseEvent as ReactMouseEvent,
|
|
4
|
-
MouseEventHandler,
|
|
5
|
-
SyntheticEvent,
|
|
6
|
-
useEffect,
|
|
7
|
-
useRef,
|
|
8
|
-
useState
|
|
9
|
-
} from 'react'
|
|
10
|
-
import { usePreventScroll } from 'react-aria'
|
|
11
|
-
|
|
12
|
-
import { useForkedRef } from './useForkedRef'
|
|
13
|
-
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'
|
|
14
|
-
import { executeAfterTransition } from '../utils/dialogTransition'
|
|
15
|
-
|
|
16
|
-
export interface UseDialogElementOptions {
|
|
17
|
-
/**
|
|
18
|
-
* Same-named prop from the caller (`Modal`/`Drawer`) — only ever consulted here to
|
|
19
|
-
* distinguish `'static'` from everything else for the backdrop-click/Escape bounce.
|
|
20
|
-
*/
|
|
21
|
-
backdrop?: boolean | 'static'
|
|
22
|
-
/**
|
|
23
|
-
* Disables the open/close transition entirely.
|
|
24
|
-
*/
|
|
25
|
-
instant?: boolean
|
|
26
|
-
/**
|
|
27
|
-
* Whether this open should use `showModal()` (top-layer, native backdrop, scroll-locked) or
|
|
28
|
-
* `show()` — `Modal` passes its own `modal` prop straight through; `Drawer` derives it from
|
|
29
|
-
* `backdrop`/`scroll` instead, since its vanilla chassis-css counterpart does the same.
|
|
30
|
-
*/
|
|
31
|
-
isModal: boolean
|
|
32
|
-
/**
|
|
33
|
-
* Closes on the escape key / native `cancel` event.
|
|
34
|
-
*/
|
|
35
|
-
keyboard?: boolean
|
|
36
|
-
/**
|
|
37
|
-
* Fires synchronously right before a closed dialog actually opens (after the "already open"
|
|
38
|
-
* bail-out, before capturing the pre-open trigger element) — `Drawer`'s only hook into the
|
|
39
|
-
* show effect, used to auto-close every other open drawer first.
|
|
40
|
-
*/
|
|
41
|
-
onBeforeShow?: (dialog: HTMLDialogElement) => void
|
|
42
|
-
/**
|
|
43
|
-
* The caller's own `onClick`, chained ahead of the backdrop-click handling below rather than
|
|
44
|
-
* left in the props spread — a `<dialog>` needs `onClick` for its own backdrop detection, so
|
|
45
|
-
* spreading the caller's alongside it silently dropped one of the two. Fires for every click
|
|
46
|
-
* on the dialog, not just backdrop ones.
|
|
47
|
-
*/
|
|
48
|
-
onClick?: MouseEventHandler<HTMLDialogElement>
|
|
49
|
-
onClose?: () => void
|
|
50
|
-
onClosePrevented?: () => void
|
|
51
|
-
onHidden?: () => void
|
|
52
|
-
onShow?: () => void
|
|
53
|
-
onShown?: () => void
|
|
54
|
-
ref: ForwardedRef<HTMLDialogElement>
|
|
55
|
-
visible?: boolean
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Shared open/close machinery for a native `<dialog>`-based component — `Modal` and `Drawer`
|
|
59
|
-
// otherwise duplicated this near-verbatim: forked ref, the show/begin-hide effect (showModal()
|
|
60
|
-
// vs. show(), initial focus, scroll lock), the finish-hide effect (waits out the exit
|
|
61
|
-
// transition), the non-modal Escape-key listener (the native `cancel` event only fires for
|
|
62
|
-
// dialogs opened with `showModal()`), and the static-backdrop "bounce" used by both the
|
|
63
|
-
// backdrop-click handler and the Escape/`cancel` handler. What's left in each caller is only
|
|
64
|
-
// what's genuinely component-specific: `Modal`/`Drawer`'s own `_className` building, and
|
|
65
|
-
// `Drawer`'s cross-instance "auto-close every other open drawer" registry (wired in via
|
|
66
|
-
// `onBeforeShow`, since it needs to run at one precise point inside the show effect).
|
|
67
|
-
export const useDialogElement = ({
|
|
68
|
-
backdrop,
|
|
69
|
-
instant,
|
|
70
|
-
isModal,
|
|
71
|
-
keyboard = true,
|
|
72
|
-
onBeforeShow,
|
|
73
|
-
onClick,
|
|
74
|
-
onClose,
|
|
75
|
-
onClosePrevented,
|
|
76
|
-
onHidden,
|
|
77
|
-
onShow,
|
|
78
|
-
onShown,
|
|
79
|
-
ref,
|
|
80
|
-
visible
|
|
81
|
-
}: UseDialogElementOptions) => {
|
|
82
|
-
const dialogRef = useRef<HTMLDialogElement>(null)
|
|
83
|
-
const forkedRef = useForkedRef(ref, dialogRef)
|
|
84
|
-
|
|
85
|
-
const [_visible, setVisible] = useState(visible)
|
|
86
|
-
const [hiding, setHiding] = useState(false)
|
|
87
|
-
const [staticBounce, setStaticBounce] = useState(false)
|
|
88
|
-
const [scrollLocked, setScrollLocked] = useState(false)
|
|
89
|
-
const openedAsModalRef = useRef(false)
|
|
90
|
-
const triggerRef = useRef<HTMLElement | null>(null)
|
|
91
|
-
|
|
92
|
-
// Locked from showModal() until the exit transition finishes (see the show/hide effect
|
|
93
|
-
// below) — usePreventScroll releases it automatically on unmount too, even mid-transition.
|
|
94
|
-
usePreventScroll({ isDisabled: !scrollLocked })
|
|
95
|
-
|
|
96
|
-
useEffect(() => {
|
|
97
|
-
setVisible(visible)
|
|
98
|
-
}, [visible])
|
|
99
|
-
|
|
100
|
-
const close = () => {
|
|
101
|
-
onClose?.()
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
const triggerStaticBounce = () => {
|
|
105
|
-
onClosePrevented?.()
|
|
106
|
-
const dialog = dialogRef.current
|
|
107
|
-
if (!dialog) return
|
|
108
|
-
setStaticBounce(true)
|
|
109
|
-
executeAfterTransition(dialog, () => setStaticBounce(false), !instant)
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// Read through refs, kept current every render, so the keydown listener below — which only
|
|
113
|
-
// resubscribes when `keyboard` changes — never invokes a stale `close`/`triggerStaticBounce`
|
|
114
|
-
// closure if `onClose`/`onClosePrevented`/`instant` change identity without `keyboard` also
|
|
115
|
-
// changing. Same pattern as `Drawer`'s own `closeRef` and `useFloatingOverlay`'s `closeRef`.
|
|
116
|
-
const closeRef = useRef(close)
|
|
117
|
-
closeRef.current = close
|
|
118
|
-
const triggerStaticBounceRef = useRef(triggerStaticBounce)
|
|
119
|
-
triggerStaticBounceRef.current = triggerStaticBounce
|
|
120
|
-
|
|
121
|
-
// Show / begin-hide
|
|
122
|
-
useIsomorphicLayoutEffect(() => {
|
|
123
|
-
const dialog = dialogRef.current
|
|
124
|
-
if (!dialog) return undefined
|
|
125
|
-
|
|
126
|
-
if (_visible) {
|
|
127
|
-
if (dialog.open) return undefined
|
|
128
|
-
|
|
129
|
-
onBeforeShow?.(dialog)
|
|
130
|
-
|
|
131
|
-
triggerRef.current =
|
|
132
|
-
document.activeElement instanceof HTMLElement ? document.activeElement : null
|
|
133
|
-
|
|
134
|
-
openedAsModalRef.current = isModal
|
|
135
|
-
if (isModal) {
|
|
136
|
-
dialog.showModal()
|
|
137
|
-
setScrollLocked(true)
|
|
138
|
-
} else {
|
|
139
|
-
dialog.show()
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
const autofocusEl = dialog.querySelector<HTMLElement>('[autofocus]')
|
|
143
|
-
if (autofocusEl) {
|
|
144
|
-
autofocusEl.focus()
|
|
145
|
-
} else {
|
|
146
|
-
dialog.setAttribute('tabindex', '-1')
|
|
147
|
-
dialog.focus()
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
onShow?.()
|
|
151
|
-
setHiding(false)
|
|
152
|
-
|
|
153
|
-
return executeAfterTransition(dialog, () => onShown?.(), !instant)
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
if (!dialog.open) return undefined
|
|
157
|
-
setHiding(true)
|
|
158
|
-
return undefined
|
|
159
|
-
}, [_visible])
|
|
160
|
-
|
|
161
|
-
// Finish hide once the exit transition (or lack thereof) completes
|
|
162
|
-
useEffect(() => {
|
|
163
|
-
const dialog = dialogRef.current
|
|
164
|
-
if (!hiding || !dialog) return undefined
|
|
165
|
-
|
|
166
|
-
return executeAfterTransition(
|
|
167
|
-
dialog,
|
|
168
|
-
() => {
|
|
169
|
-
if (dialog.open) {
|
|
170
|
-
dialog.close()
|
|
171
|
-
}
|
|
172
|
-
if (openedAsModalRef.current) {
|
|
173
|
-
setScrollLocked(false)
|
|
174
|
-
}
|
|
175
|
-
setHiding(false)
|
|
176
|
-
onHidden?.()
|
|
177
|
-
const trigger = triggerRef.current
|
|
178
|
-
if (trigger && document.contains(trigger)) {
|
|
179
|
-
trigger.focus()
|
|
180
|
-
}
|
|
181
|
-
},
|
|
182
|
-
!instant
|
|
183
|
-
)
|
|
184
|
-
}, [hiding])
|
|
185
|
-
|
|
186
|
-
// Escape key for non-modal (show()) dialogs — the native `cancel` event below only
|
|
187
|
-
// fires for dialogs opened with showModal().
|
|
188
|
-
useEffect(() => {
|
|
189
|
-
const dialog = dialogRef.current
|
|
190
|
-
if (!dialog) return undefined
|
|
191
|
-
|
|
192
|
-
const handleKeyDown = (event: KeyboardEvent) => {
|
|
193
|
-
if (event.key !== 'Escape' || openedAsModalRef.current) return
|
|
194
|
-
event.preventDefault()
|
|
195
|
-
if (!keyboard) {
|
|
196
|
-
triggerStaticBounceRef.current()
|
|
197
|
-
return
|
|
198
|
-
}
|
|
199
|
-
closeRef.current()
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
dialog.addEventListener('keydown', handleKeyDown)
|
|
203
|
-
return () => dialog.removeEventListener('keydown', handleKeyDown)
|
|
204
|
-
}, [keyboard])
|
|
205
|
-
|
|
206
|
-
const handleCancel = (event: SyntheticEvent<HTMLDialogElement>) => {
|
|
207
|
-
event.preventDefault()
|
|
208
|
-
if (!keyboard) {
|
|
209
|
-
triggerStaticBounce()
|
|
210
|
-
return
|
|
211
|
-
}
|
|
212
|
-
close()
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
const handleBackdropClick = (event: ReactMouseEvent<HTMLDialogElement>) => {
|
|
216
|
-
onClick?.(event)
|
|
217
|
-
if (event.target !== dialogRef.current || !openedAsModalRef.current) return
|
|
218
|
-
if (backdrop === 'static') {
|
|
219
|
-
triggerStaticBounce()
|
|
220
|
-
return
|
|
221
|
-
}
|
|
222
|
-
close()
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
return { close, dialogRef, forkedRef, handleBackdropClick, handleCancel, hiding, staticBounce }
|
|
226
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { MouseEvent, MouseEventHandler } from 'react'
|
|
2
|
-
|
|
3
|
-
// A native `<button>`/`<input>` stops firing `click` on its own once `disabled` is set — an
|
|
4
|
-
// `<a>` (or any other non-native-button element standing in for one) has no real `disabled`
|
|
5
|
-
// attribute, so it still fires click (and an anchor still navigates) unless blocked by hand.
|
|
6
|
-
// `guard` is the caller's own "is this rendering as a non-native-button element" check (e.g.
|
|
7
|
-
// `Component === 'a'` for `Button`/`CloseButton`, `!isButton` for `Chip`) — kept as an explicit
|
|
8
|
-
// parameter rather than inferred here, since each caller's own set of native, guard-free elements
|
|
9
|
-
// differs slightly.
|
|
10
|
-
export const useDisabledAnchorGuard = <T extends HTMLElement>(
|
|
11
|
-
guard: boolean,
|
|
12
|
-
disabled: boolean | undefined,
|
|
13
|
-
onClick: MouseEventHandler<T> | undefined
|
|
14
|
-
): MouseEventHandler<T> => {
|
|
15
|
-
return (event: MouseEvent<T>) => {
|
|
16
|
-
if (guard && disabled) {
|
|
17
|
-
event.preventDefault()
|
|
18
|
-
return
|
|
19
|
-
}
|
|
20
|
-
onClick?.(event)
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { ForwardedRef, RefObject, useCallback, useEffect, useId, useRef, useState } from 'react'
|
|
2
|
-
|
|
3
|
-
import { useForkedRef } from './useForkedRef'
|
|
4
|
-
|
|
5
|
-
export interface UseDismissibleTransitionOptions {
|
|
6
|
-
/**
|
|
7
|
-
* Callback fired once the exit transition completes and the component is fully hidden.
|
|
8
|
-
*/
|
|
9
|
-
onClose?: () => void
|
|
10
|
-
/**
|
|
11
|
-
* Callback fired when the component starts to show.
|
|
12
|
-
*/
|
|
13
|
-
onShow?: () => void
|
|
14
|
-
ref: ForwardedRef<HTMLDivElement>
|
|
15
|
-
/**
|
|
16
|
-
* Toggle the visibility of the component.
|
|
17
|
-
*/
|
|
18
|
-
visible?: boolean
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface UseDismissibleTransitionTransitionProps {
|
|
22
|
-
appear: true
|
|
23
|
-
in: boolean
|
|
24
|
-
nodeRef: RefObject<HTMLDivElement | null>
|
|
25
|
-
onEnter: () => void
|
|
26
|
-
onEntered: () => void
|
|
27
|
-
onExit: () => void
|
|
28
|
-
onExited: () => void
|
|
29
|
-
unmountOnExit: true
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface UseDismissibleTransitionResult {
|
|
33
|
-
/**
|
|
34
|
-
* Requests the component be closed — sets the internal visible state to `false`, which kicks
|
|
35
|
-
* off the exit transition; `onClose` fires once it finishes. Stable across re-renders (see the
|
|
36
|
-
* hook's own doc comment for why that matters).
|
|
37
|
-
*/
|
|
38
|
-
close: () => void
|
|
39
|
-
/**
|
|
40
|
-
* Whether the entrance transition has actually finished — `false` while still fading/sliding
|
|
41
|
-
* in, even though `visible` is already `true`. Gate anything that should only start once the
|
|
42
|
-
* component is fully, visibly present (e.g. an autohide timer) on this rather than `visible`
|
|
43
|
-
* alone.
|
|
44
|
-
*/
|
|
45
|
-
entered: boolean
|
|
46
|
-
forkedRef: ReturnType<typeof useForkedRef<HTMLDivElement>>
|
|
47
|
-
getTransitionClass: (state: string) => string | undefined
|
|
48
|
-
textId: string
|
|
49
|
-
titleId: string
|
|
50
|
-
/**
|
|
51
|
-
* Spread directly onto `<Transition>`. Each caller still supplies its own `timeout` (and any
|
|
52
|
-
* extra props, e.g. `mountOnEnter`) on top of this.
|
|
53
|
-
*/
|
|
54
|
-
transitionProps: UseDismissibleTransitionTransitionProps
|
|
55
|
-
/**
|
|
56
|
-
* The internal, transition-driving visible state — distinct from the `visible` prop, since a
|
|
57
|
-
* `close()` call (or the exit transition itself) needs to flip this independently of whatever
|
|
58
|
-
* the caller is currently passing in.
|
|
59
|
-
*/
|
|
60
|
-
visible: boolean
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// Shared dismiss/transition machinery for `Toast` and `Notification` — both otherwise duplicated
|
|
64
|
-
// this near-verbatim: visible-state + prop-sync effect, a forked ref, `getTransitionClass`,
|
|
65
|
-
// `titleId`/`textId` via `useId()`, and the `Transition` entry/exit callback wiring.
|
|
66
|
-
//
|
|
67
|
-
// `close` is memoized once here with `useCallback` (empty deps — it only ever calls
|
|
68
|
-
// `setVisible(false)`, whose setter identity is itself stable) specifically so it has a stable
|
|
69
|
-
// identity across re-renders. Previously each component built its own unmemoized
|
|
70
|
-
// `() => setVisible(false)` inline and passed it straight into `useAutoDismiss`, whose scheduling
|
|
71
|
-
// effect depends on that closure's identity — since `Toaster`/`NotificationStack` re-render every
|
|
72
|
-
// mounted item whenever the shared queue changes (`ToastQueue.add()`/`.close()` notify all
|
|
73
|
-
// subscribers synchronously), that meant adding or dismissing any one toast/notification silently
|
|
74
|
-
// restarted every other visible one's autohide countdown, with no code change needed to trigger
|
|
75
|
-
// it beyond normal multi-item usage.
|
|
76
|
-
//
|
|
77
|
-
// `entered` similarly gates "has the entrance transition actually finished" uniformly for both —
|
|
78
|
-
// `Toast` already had this (gating on `visible` alone would start the autohide timer the instant
|
|
79
|
-
// `visible` flips true, while still fading/sliding in); `Notification` didn't, so this extraction
|
|
80
|
-
// gives it the same fix for free.
|
|
81
|
-
export function useDismissibleTransition({
|
|
82
|
-
onClose,
|
|
83
|
-
onShow,
|
|
84
|
-
ref,
|
|
85
|
-
visible = false
|
|
86
|
-
}: UseDismissibleTransitionOptions): UseDismissibleTransitionResult {
|
|
87
|
-
const [_visible, setVisible] = useState(visible)
|
|
88
|
-
const [entered, setEntered] = useState(false)
|
|
89
|
-
const nodeRef = useRef<HTMLDivElement>(null)
|
|
90
|
-
const forkedRef = useForkedRef(ref, nodeRef)
|
|
91
|
-
const titleId = useId()
|
|
92
|
-
const textId = useId()
|
|
93
|
-
|
|
94
|
-
useEffect(() => {
|
|
95
|
-
setVisible(visible)
|
|
96
|
-
}, [visible])
|
|
97
|
-
|
|
98
|
-
const close = useCallback(() => setVisible(false), [])
|
|
99
|
-
|
|
100
|
-
const getTransitionClass = (state: string) =>
|
|
101
|
-
state === 'entering' || state === 'exiting'
|
|
102
|
-
? 'show showing'
|
|
103
|
-
: state === 'entered'
|
|
104
|
-
? 'show'
|
|
105
|
-
: undefined
|
|
106
|
-
|
|
107
|
-
return {
|
|
108
|
-
close,
|
|
109
|
-
entered,
|
|
110
|
-
forkedRef,
|
|
111
|
-
getTransitionClass,
|
|
112
|
-
textId,
|
|
113
|
-
titleId,
|
|
114
|
-
transitionProps: {
|
|
115
|
-
appear: true,
|
|
116
|
-
in: _visible,
|
|
117
|
-
nodeRef,
|
|
118
|
-
onEnter: () => onShow?.(),
|
|
119
|
-
onEntered: () => setEntered(true),
|
|
120
|
-
onExit: () => setEntered(false),
|
|
121
|
-
onExited: () => onClose?.(),
|
|
122
|
-
unmountOnExit: true
|
|
123
|
-
},
|
|
124
|
-
visible: _visible
|
|
125
|
-
}
|
|
126
|
-
}
|
package/src/hooks/useDrawer.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { useContext } from 'react'
|
|
2
|
-
import { DrawerContext, DrawerContextProps } from '../components/drawer/Drawer'
|
|
3
|
-
|
|
4
|
-
export type UseDrawerResult = DrawerContextProps
|
|
5
|
-
|
|
6
|
-
// Reach the enclosing `Drawer`'s close handler from anywhere in its composed markup — e.g. to
|
|
7
|
-
// close it from a plain `Button` placed in a `DrawerFooter`. Only meaningful inside a `Drawer`;
|
|
8
|
-
// outside one it returns a no-op `close`.
|
|
9
|
-
export const useDrawer = (): UseDrawerResult => useContext(DrawerContext)
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { CSSProperties, HTMLAttributes, RefObject, useEffect, useRef, useState } from 'react'
|
|
2
|
-
|
|
3
|
-
export interface UseFloatingOverlayOptions {
|
|
4
|
-
/**
|
|
5
|
-
* Imperatively closes the overlay — called when `visible` syncs to `false` and when the
|
|
6
|
-
* containing `<dialog>` fires its native `close` event. Pass a stable callback (e.g. the
|
|
7
|
-
* trigger state's own `close`) where possible; an inline arrow is fine too, since only its
|
|
8
|
-
* latest value is ever invoked.
|
|
9
|
-
*/
|
|
10
|
-
close: () => void
|
|
11
|
-
/**
|
|
12
|
-
* Whether the overlay is currently open — drives `onShow`/`onHide` and portal-container
|
|
13
|
-
* resolution.
|
|
14
|
-
*/
|
|
15
|
-
isOpen: boolean
|
|
16
|
-
/**
|
|
17
|
-
* Imperatively opens the overlay — called when `visible` syncs to `true`.
|
|
18
|
-
*/
|
|
19
|
-
open: () => void
|
|
20
|
-
onHide?: () => void
|
|
21
|
-
onShow?: () => void
|
|
22
|
-
/**
|
|
23
|
-
* Ref to the element that triggers the overlay, used to resolve which `<dialog>` (if any) it
|
|
24
|
-
* lives inside.
|
|
25
|
-
*/
|
|
26
|
-
triggerRef: RefObject<HTMLElement | null>
|
|
27
|
-
/**
|
|
28
|
-
* Controlled visibility prop from the consuming component; `undefined` means uncontrolled.
|
|
29
|
-
*/
|
|
30
|
-
visible?: boolean
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Shared portal-container/visibility wiring for `Popover` and `Tooltip`: resolves the `<dialog>`
|
|
35
|
-
* a trigger lives inside (if any), syncs an uncontrolled-by-default `visible` prop to the
|
|
36
|
-
* trigger state, fires `onShow`/`onHide`, and resets on the containing dialog's native `close`
|
|
37
|
-
* event. Positioning-specific concerns (placement, arrow, escape/outside-click dismissal) stay
|
|
38
|
-
* in each component — only this ~80% overlap is shared.
|
|
39
|
-
*/
|
|
40
|
-
export function useFloatingOverlay({
|
|
41
|
-
close,
|
|
42
|
-
isOpen,
|
|
43
|
-
open,
|
|
44
|
-
onHide,
|
|
45
|
-
onShow,
|
|
46
|
-
triggerRef,
|
|
47
|
-
visible
|
|
48
|
-
}: UseFloatingOverlayOptions) {
|
|
49
|
-
const [portalContainer, setPortalContainer] = useState<Element | null>(null)
|
|
50
|
-
|
|
51
|
-
// Overlays inside an open `<dialog>` are appended to that dialog instead of `document.body`,
|
|
52
|
-
// so they render in its top layer and close with it automatically.
|
|
53
|
-
const resolvePortalContainer = () => triggerRef.current?.closest('dialog[open]') ?? document.body
|
|
54
|
-
|
|
55
|
-
// Sync-on-change, not strictly controlled — matches `Menu`'s `visible` semantics.
|
|
56
|
-
useEffect(() => {
|
|
57
|
-
if (visible === undefined) return
|
|
58
|
-
setPortalContainer(resolvePortalContainer())
|
|
59
|
-
if (visible) open()
|
|
60
|
-
else close()
|
|
61
|
-
}, [visible])
|
|
62
|
-
|
|
63
|
-
// `onShow`/`onHide` report *transitions*, so neither fires for the initial commit — mounting
|
|
64
|
-
// closed is not a hide. Without this guard the `else` branch ran on mount and every
|
|
65
|
-
// `<Popover onHide>`/`<Tooltip onHide>` on the page reported a close that never happened,
|
|
66
|
-
// before `onShow` had ever fired once. The portal container still resolves on mount, since
|
|
67
|
-
// an overlay mounted already-open needs one immediately.
|
|
68
|
-
const mountedRef = useRef(false)
|
|
69
|
-
|
|
70
|
-
useEffect(() => {
|
|
71
|
-
const isInitialCommit = !mountedRef.current
|
|
72
|
-
mountedRef.current = true
|
|
73
|
-
|
|
74
|
-
if (isOpen) {
|
|
75
|
-
setPortalContainer(resolvePortalContainer())
|
|
76
|
-
if (!isInitialCommit) onShow?.()
|
|
77
|
-
} else if (!isInitialCommit) {
|
|
78
|
-
onHide?.()
|
|
79
|
-
}
|
|
80
|
-
}, [isOpen])
|
|
81
|
-
|
|
82
|
-
// `close` is read through a ref so this effect only re-subscribes when `isOpen`/
|
|
83
|
-
// `portalContainer` actually change, regardless of whether the caller passes a stable
|
|
84
|
-
// callback or a fresh inline arrow each render.
|
|
85
|
-
const closeRef = useRef(close)
|
|
86
|
-
closeRef.current = close
|
|
87
|
-
|
|
88
|
-
// A dialog fires a native `close` event on ESC, backdrop click, or `.close()`, so resetting
|
|
89
|
-
// on it keeps a reopened dialog from showing a stale, already-open overlay.
|
|
90
|
-
useEffect(() => {
|
|
91
|
-
const dialog = portalContainer?.closest('dialog')
|
|
92
|
-
if (!isOpen || !dialog) return
|
|
93
|
-
|
|
94
|
-
const handleClose = () => closeRef.current()
|
|
95
|
-
dialog.addEventListener('close', handleClose)
|
|
96
|
-
return () => dialog.removeEventListener('close', handleClose)
|
|
97
|
-
}, [isOpen, portalContainer])
|
|
98
|
-
|
|
99
|
-
return portalContainer
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// `useOverlayPosition`'s `arrowProps.style` sets a single cross-axis offset (`top` for a
|
|
103
|
-
// left/right overlay, `left` for a top/bottom one) to the trigger's center point, not the arrow
|
|
104
|
-
// element's top-left corner — so it must be recentered by half the arrow's own size on that
|
|
105
|
-
// axis. Chassis-css's JS plugin never has this problem since Floating UI's `arrow` middleware
|
|
106
|
-
// returns a top-left-corner coordinate directly; react-aria's is center-based. Unlike the
|
|
107
|
-
// chassis-css JS plugin, react-aria also never sets `position: absolute` on the arrow element
|
|
108
|
-
// itself, so without it the offset has no effect and the arrow renders in normal document flow.
|
|
109
|
-
export function getOverlayArrowStyle(arrowProps: HTMLAttributes<HTMLDivElement>): CSSProperties {
|
|
110
|
-
return {
|
|
111
|
-
position: 'absolute',
|
|
112
|
-
...arrowProps.style,
|
|
113
|
-
transform: arrowProps.style?.top !== undefined ? 'translateY(-50%)' : 'translateX(-50%)'
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export function getOverlayTransitionClass(transitionState: string): string {
|
|
118
|
-
return transitionState === 'entering'
|
|
119
|
-
? 'fade'
|
|
120
|
-
: transitionState === 'entered'
|
|
121
|
-
? 'fade show'
|
|
122
|
-
: transitionState === 'exiting'
|
|
123
|
-
? 'fade'
|
|
124
|
-
: 'fade'
|
|
125
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// code borrowed from https://github.com/reach/reach-ui
|
|
2
|
-
// problem described https://github.com/facebook/react/issues/13029
|
|
3
|
-
|
|
4
|
-
import { useMemo } from 'react'
|
|
5
|
-
|
|
6
|
-
export type AssignableRef<ValueType> =
|
|
7
|
-
| {
|
|
8
|
-
bivarianceHack(instance: ValueType | null): void
|
|
9
|
-
}['bivarianceHack']
|
|
10
|
-
| React.MutableRefObject<ValueType | null>
|
|
11
|
-
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
export function useForkedRef<RefValueType = any>(
|
|
14
|
-
...refs: (AssignableRef<RefValueType> | null | undefined)[]
|
|
15
|
-
) {
|
|
16
|
-
return useMemo(() => {
|
|
17
|
-
if (refs.every((ref) => ref == null)) {
|
|
18
|
-
return null
|
|
19
|
-
}
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21
|
-
return (node: any) => {
|
|
22
|
-
refs.forEach((ref) => {
|
|
23
|
-
assignRef(ref, node)
|
|
24
|
-
})
|
|
25
|
-
}
|
|
26
|
-
}, refs)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
30
|
-
export function assignRef<RefValueType = any>(
|
|
31
|
-
ref: AssignableRef<RefValueType> | null | undefined,
|
|
32
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
33
|
-
value: any
|
|
34
|
-
) {
|
|
35
|
-
if (ref == null) return
|
|
36
|
-
if (isFunction(ref)) {
|
|
37
|
-
ref(value)
|
|
38
|
-
} else {
|
|
39
|
-
try {
|
|
40
|
-
ref.current = value
|
|
41
|
-
} catch (error) {
|
|
42
|
-
throw new Error(`Cannot assign value "${value}" to ref "${ref}"`, { cause: error })
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-function-type
|
|
48
|
-
export function isFunction(value: any): value is Function {
|
|
49
|
-
return !!(value && {}.toString.call(value) == '[object Function]')
|
|
50
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { ReactNode, useId } from 'react'
|
|
2
|
-
|
|
3
|
-
export interface UseFormFieldOptions {
|
|
4
|
-
/**
|
|
5
|
-
* A caller-supplied `aria-describedby` to merge in alongside the generated help/feedback ids
|
|
6
|
-
* (e.g. `rest['aria-describedby']`).
|
|
7
|
-
*/
|
|
8
|
-
ariaDescribedBy?: string
|
|
9
|
-
/**
|
|
10
|
-
* A caller-supplied `aria-labelledby` to merge in alongside `labelId` (e.g.
|
|
11
|
-
* `rest['aria-labelledby']`). Relevant for the `role="group"` shape and for any single-input
|
|
12
|
-
* component backed by a react-aria hook — see `labelledBy`.
|
|
13
|
-
*/
|
|
14
|
-
ariaLabelledBy?: string
|
|
15
|
-
help?: ReactNode
|
|
16
|
-
id?: string
|
|
17
|
-
invalid?: boolean
|
|
18
|
-
invalidFeedback?: ReactNode
|
|
19
|
-
label?: ReactNode
|
|
20
|
-
valid?: boolean
|
|
21
|
-
validFeedback?: ReactNode
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface UseFormFieldResult {
|
|
25
|
-
/**
|
|
26
|
-
* Merged `aria-describedby` value (help id + feedback id, if shown + `ariaDescribedBy`), or
|
|
27
|
-
* `undefined` when none apply. Safe to spread straight onto the real control:
|
|
28
|
-
* `aria-describedby={describedBy}`.
|
|
29
|
-
*/
|
|
30
|
-
describedBy?: string
|
|
31
|
-
feedbackId: string
|
|
32
|
-
helpId: string
|
|
33
|
-
/**
|
|
34
|
-
* Id for the one real focusable control — pair with `<FormLabel htmlFor={inputId}>` (via
|
|
35
|
-
* `ids.input`). Ignore this and use `labelId`/`labelledBy` instead for a `role="group"` wrapper
|
|
36
|
-
* with no single input to target — see FORMS.md's "`htmlFor` vs `aria-labelledby`" section.
|
|
37
|
-
*/
|
|
38
|
-
inputId: string
|
|
39
|
-
/**
|
|
40
|
-
* This field's own label id, for a control to reference via its own `aria-labelledby` (via
|
|
41
|
-
* `ids.label`) instead of `htmlFor`.
|
|
42
|
-
*/
|
|
43
|
-
labelId: string
|
|
44
|
-
/**
|
|
45
|
-
* Merged `aria-labelledby` value (`labelId`, only when `label` is set + `ariaLabelledBy`), or
|
|
46
|
-
* `undefined` when neither applies. Feed this into the underlying react-aria hook's own
|
|
47
|
-
* `aria-labelledby` (in addition to any `htmlFor`-based association) so its own dev-mode
|
|
48
|
-
* "no accessible label" warning knows about a visible `label` it can't otherwise see.
|
|
49
|
-
*/
|
|
50
|
-
labelledBy?: string
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Shared id-generation and aria-describedby/aria-labelledby merge logic behind every
|
|
54
|
-
// renderFormField-based component (see FORMS.md's "The two engines" section). Every id is
|
|
55
|
-
// generated with React's own useId(), not react-aria's — see FORMS.md for why that's deliberate.
|
|
56
|
-
//
|
|
57
|
-
// If you spread the result of a react-aria hook via mergeProps(hookProps, rest) instead of
|
|
58
|
-
// directly onto the control, re-apply `describedBy`/`labelledBy` as explicit props *after* that
|
|
59
|
-
// spread — mergeProps lets the later argument win, so rest's raw (un-merged) aria-describedby/
|
|
60
|
-
// aria-labelledby can silently overwrite these otherwise. See FORMS.md gotcha #4.
|
|
61
|
-
export const useFormField = ({
|
|
62
|
-
ariaDescribedBy,
|
|
63
|
-
ariaLabelledBy,
|
|
64
|
-
help,
|
|
65
|
-
id,
|
|
66
|
-
invalid,
|
|
67
|
-
invalidFeedback,
|
|
68
|
-
label,
|
|
69
|
-
valid,
|
|
70
|
-
validFeedback
|
|
71
|
-
}: UseFormFieldOptions): UseFormFieldResult => {
|
|
72
|
-
const generatedId = useId()
|
|
73
|
-
const inputId = id ?? generatedId
|
|
74
|
-
const labelId = `${generatedId}-label`
|
|
75
|
-
const helpId = `${generatedId}-help`
|
|
76
|
-
const feedbackId = `${generatedId}-feedback`
|
|
77
|
-
|
|
78
|
-
const showInvalidFeedback = invalid && invalidFeedback
|
|
79
|
-
const showValidFeedback = valid && validFeedback
|
|
80
|
-
|
|
81
|
-
const describedBy =
|
|
82
|
-
[help && helpId, (showInvalidFeedback || showValidFeedback) && feedbackId, ariaDescribedBy]
|
|
83
|
-
.filter(Boolean)
|
|
84
|
-
.join(' ') || undefined
|
|
85
|
-
|
|
86
|
-
const labelledBy = [label && labelId, ariaLabelledBy].filter(Boolean).join(' ') || undefined
|
|
87
|
-
|
|
88
|
-
return { describedBy, feedbackId, helpId, inputId, labelId, labelledBy }
|
|
89
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { useContext } from 'react'
|
|
2
|
-
|
|
3
|
-
import { IconConfig, IconContext } from '../utils/iconConfig'
|
|
4
|
-
|
|
5
|
-
// The nearest `IconProvider`'s settings, merged with every provider above it; empty outside one.
|
|
6
|
-
export const useIconConfig = (): IconConfig => useContext(IconContext)
|