@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
package/src/utils/polymorphic.ts
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ComponentPropsWithoutRef,
|
|
3
|
-
ComponentPropsWithRef,
|
|
4
|
-
createElement,
|
|
5
|
-
ElementType,
|
|
6
|
-
ForwardRefRenderFunction,
|
|
7
|
-
forwardRef,
|
|
8
|
-
Ref
|
|
9
|
-
} from 'react'
|
|
10
|
-
|
|
11
|
-
import { devWarning } from './devWarning'
|
|
12
|
-
import { getSlotChild, Slot, SlotProvider } from './slot'
|
|
13
|
-
|
|
14
|
-
// Ref type inferred from a polymorphic component's currently-selected `component` element type.
|
|
15
|
-
export type PolymorphicRef<C extends ElementType> = ComponentPropsWithRef<C>['ref']
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Ref type for a polymorphic component that can also pick its element from a prop *other* than
|
|
19
|
-
* `component` — `Button`, `Chip`, `Avatar`, `NavbarBrand` and `PaginationItem` all render an
|
|
20
|
-
* `<a>` when given `href`, and `PaginationItem` a `<span>` when `active`, none of which moves `C`
|
|
21
|
-
* off its default. A plain `PolymorphicRef<C>` describes only the `component` branch, so a caller
|
|
22
|
-
* holding a ref for the element that actually gets rendered (`<Button href="/x" ref={anchorRef}>`)
|
|
23
|
-
* got a spurious type error while the runtime happily populated it.
|
|
24
|
-
*
|
|
25
|
-
* `Ref` over the *union* rather than a union of `Ref`s is what makes a
|
|
26
|
-
* `createRef<HTMLButtonElement | HTMLAnchorElement>()` assignable here: `RefObject` is invariant
|
|
27
|
-
* in its type argument, so `RefObject<A | B>` satisfies `Ref<A | B>` but neither `Ref<A>` nor
|
|
28
|
-
* `Ref<B>` on its own.
|
|
29
|
-
*/
|
|
30
|
-
export type PolymorphicRefWithFallback<C extends ElementType, Fallback extends HTMLElement> =
|
|
31
|
-
PolymorphicRef<C> | Ref<Fallback>
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* The `asChild` prop every polymorphic component accepts alongside `component` — see
|
|
35
|
-
* `createPolymorphicComponent` below for how it's implemented once for all of them.
|
|
36
|
-
*/
|
|
37
|
-
export interface AsChildProps {
|
|
38
|
-
/**
|
|
39
|
-
* Render the single child element in place of this component's own element, with this
|
|
40
|
-
* component's classes, props and ref merged onto it: `<Button asChild><Link href="/login">Log
|
|
41
|
-
* in</Link></Button>`. The alternative to `component` for React Server Components — an element
|
|
42
|
-
* can be passed from the server to this package's client components, a component reference
|
|
43
|
-
* (`component={Link}`) can't.
|
|
44
|
-
*/
|
|
45
|
-
asChild?: boolean
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Props for a polymorphic component: `OwnProps` (which must declare `component?: C`) plus
|
|
50
|
-
* whatever props `C` itself accepts, minus any name already claimed by `OwnProps` so the two
|
|
51
|
-
* don't conflict. Lets consumers swap `component` for e.g. a framework's `Image` and get full
|
|
52
|
-
* type-checking/autocomplete for that component's own props at the call site.
|
|
53
|
-
*/
|
|
54
|
-
export type PolymorphicComponentProps<C extends ElementType, OwnProps extends object> = OwnProps &
|
|
55
|
-
AsChildProps &
|
|
56
|
-
Omit<ComponentPropsWithoutRef<C>, keyof OwnProps | keyof AsChildProps>
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Wraps a polymorphic component's render function in `forwardRef` and stamps `displayName` — the
|
|
60
|
-
* two-step wiring every polymorphic component in this library repeats identically. `T` is the
|
|
61
|
-
* fully generic component type (e.g. `ButtonComponent`) that `forwardRef`'s own return type can't
|
|
62
|
-
* express, since `forwardRef` only accepts a non-generic render function — the caller still casts
|
|
63
|
-
* the render function to a concrete `Element`-typed instance before passing it in here.
|
|
64
|
-
*
|
|
65
|
-
* Also implements `asChild` for every polymorphic component at once (#23): the render function
|
|
66
|
-
* gets `component={Slot}` and the child element's own children, so it computes its classes,
|
|
67
|
-
* props and ref exactly as it would for any component reference (`component={Link}`) — `Slot`
|
|
68
|
-
* then clones the caller's child element with all of that merged on (see `./slot`). No render
|
|
69
|
-
* function needs to know `asChild` exists.
|
|
70
|
-
*/
|
|
71
|
-
export function createPolymorphicComponent<T>(
|
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
73
|
-
render: ForwardRefRenderFunction<Element, any>,
|
|
74
|
-
displayName: string
|
|
75
|
-
): T {
|
|
76
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
|
-
const Component = forwardRef<Element, any>(({ asChild, ...props }, ref) => {
|
|
78
|
-
const child = asChild ? getSlotChild(props.children, displayName) : null
|
|
79
|
-
if (!child) return render(props, ref)
|
|
80
|
-
|
|
81
|
-
devWarning(
|
|
82
|
-
props.component !== undefined,
|
|
83
|
-
`${displayName}: both \`asChild\` and \`component\` were passed; \`asChild\` wins and ` +
|
|
84
|
-
`\`component\` is ignored.`
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
return createElement(
|
|
88
|
-
SlotProvider,
|
|
89
|
-
{ value: child },
|
|
90
|
-
render(
|
|
91
|
-
{ ...props, component: Slot, children: (child.props as PropsWithChildren).children },
|
|
92
|
-
ref
|
|
93
|
-
)
|
|
94
|
-
)
|
|
95
|
-
}) as unknown as T & { displayName?: string }
|
|
96
|
-
Component.displayName = displayName
|
|
97
|
-
return Component
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
type PropsWithChildren = { children?: unknown }
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import React, { ReactNode } from 'react'
|
|
2
|
-
|
|
3
|
-
import { IconSlot } from './iconSlot'
|
|
4
|
-
|
|
5
|
-
export interface MenuItemContentDef {
|
|
6
|
-
/**
|
|
7
|
-
* Icon rendered at the item's leading edge (`.menu-item-icon`).
|
|
8
|
-
*/
|
|
9
|
-
icon?: ReactNode
|
|
10
|
-
/**
|
|
11
|
-
* Label content.
|
|
12
|
-
*/
|
|
13
|
-
label: ReactNode
|
|
14
|
-
/**
|
|
15
|
-
* Secondary line of text rendered below the label (`.menu-item-description`).
|
|
16
|
-
*/
|
|
17
|
-
description?: ReactNode
|
|
18
|
-
/**
|
|
19
|
-
* Renders a `.menu-item-check` at the trailing edge when true — `IconProvider`'s `check` icon.
|
|
20
|
-
*/
|
|
21
|
-
selected?: boolean
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Chassis-css defines identical markup for rich item content in both Menu and Combobox items
|
|
25
|
-
// (and, by extension, Autocomplete) — `.menu-item-icon` / `.menu-item-content` (label +
|
|
26
|
-
// `.menu-item-description`) / `.menu-item-check`. Shared here so every consumer produces
|
|
27
|
-
// byte-identical DOM instead of three near-duplicate implementations. Lives in `utils/` rather
|
|
28
|
-
// than `components/menu/` because it crosses that folder boundary — Combobox.tsx and
|
|
29
|
-
// Autocomplete.tsx both import it too. Renders bare `label` when there's nothing else to show,
|
|
30
|
-
// keeping simple items' markup as minimal as chassis-css's own simplest example.
|
|
31
|
-
export const renderMenuItemContent = ({
|
|
32
|
-
icon,
|
|
33
|
-
label,
|
|
34
|
-
description,
|
|
35
|
-
selected
|
|
36
|
-
}: MenuItemContentDef): ReactNode => {
|
|
37
|
-
if (icon == null && description == null && !selected) return label
|
|
38
|
-
|
|
39
|
-
return (
|
|
40
|
-
<>
|
|
41
|
-
{icon != null && (
|
|
42
|
-
<span className="menu-item-icon" aria-hidden="true">
|
|
43
|
-
{icon}
|
|
44
|
-
</span>
|
|
45
|
-
)}
|
|
46
|
-
{description != null ? (
|
|
47
|
-
<span className="menu-item-content">
|
|
48
|
-
<span>{label}</span>
|
|
49
|
-
<small className="menu-item-description">{description}</small>
|
|
50
|
-
</span>
|
|
51
|
-
) : (
|
|
52
|
-
label
|
|
53
|
-
)}
|
|
54
|
-
{selected && <IconSlot icon="check" className="menu-item-check" />}
|
|
55
|
-
</>
|
|
56
|
-
)
|
|
57
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { flushSync } from 'react-dom'
|
|
2
|
-
import { CalendarState, RangeCalendarState } from 'react-stately'
|
|
3
|
-
import { CalendarDate } from '@internationalized/date'
|
|
4
|
-
|
|
5
|
-
// Moves a (possibly multi-month) calendar's visible range so it starts at `desiredStart` — used by
|
|
6
|
-
// `CalendarMonthYearPicker` to jump straight to a picked month/year, in any visible block.
|
|
7
|
-
//
|
|
8
|
-
// `state.setFocusedDate` is the only way to move `visibleRange` from outside react-stately, but it
|
|
9
|
-
// doesn't just set `visibleRange.start` to wherever focus goes: react-stately keeps the visible
|
|
10
|
-
// range as separate internal state, only repositioning it when the newly focused date falls
|
|
11
|
-
// entirely *before* the current range (realigning so the range *ends* at that date's month) or
|
|
12
|
-
// entirely *after* it (realigning so it *starts* there) — a focused date that lands inside the
|
|
13
|
-
// current range moves focus without paging the range at all. That means a single `setFocusedDate`
|
|
14
|
-
// call can only land exactly on an arbitrary `desiredStart` when it's at least a full
|
|
15
|
-
// `visibleDuration` away from the current range. Anything closer — the common case here, since
|
|
16
|
-
// adjacent blocks in a multi-month calendar are only one month apart — either no-ops (desired
|
|
17
|
-
// start still inside the current range) or overshoots by up to a full `visibleDuration` (desired
|
|
18
|
-
// start just outside it, but not far enough for the realignment to land exactly).
|
|
19
|
-
//
|
|
20
|
-
// Worked around with two `setFocusedDate` hops when a single one can't reach exactly: first past
|
|
21
|
-
// `desiredStart` by one extra `visibleDuration` in the same direction (always far enough to land
|
|
22
|
-
// exactly, by the same rule), flushed synchronously so `visibleRange` actually updates before the
|
|
23
|
-
// second call runs, then back onto `desiredStart` itself — which, relative to that intermediate
|
|
24
|
-
// range, is now exactly one `visibleDuration` away and so lands exactly too.
|
|
25
|
-
export const setVisibleRangeStart = (
|
|
26
|
-
state: CalendarState<'single' | 'multiple'> | RangeCalendarState,
|
|
27
|
-
desiredStart: CalendarDate
|
|
28
|
-
): void => {
|
|
29
|
-
const { start: currentStart, end: currentEnd } = state.visibleRange
|
|
30
|
-
if (desiredStart.compare(currentStart) === 0) return
|
|
31
|
-
|
|
32
|
-
const durationMonths = state.visibleDuration.months || 1
|
|
33
|
-
const isForward = desiredStart.compare(currentStart) > 0
|
|
34
|
-
|
|
35
|
-
const reachableInOneHop = isForward
|
|
36
|
-
? desiredStart.compare(currentEnd) > 0
|
|
37
|
-
: desiredStart.add({ months: durationMonths - 1 }).compare(currentStart) < 0
|
|
38
|
-
|
|
39
|
-
if (reachableInOneHop) {
|
|
40
|
-
state.setFocusedDate(focusedDateForStart(desiredStart, isForward, durationMonths))
|
|
41
|
-
return
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const overshootStart = isForward
|
|
45
|
-
? desiredStart.add({ months: durationMonths })
|
|
46
|
-
: desiredStart.subtract({ months: durationMonths })
|
|
47
|
-
|
|
48
|
-
flushSync(() => {
|
|
49
|
-
state.setFocusedDate(focusedDateForStart(overshootStart, isForward, durationMonths))
|
|
50
|
-
})
|
|
51
|
-
// Relative to the now-updated range, `desiredStart` sits exactly one `visibleDuration` back the
|
|
52
|
-
// way we came — always far enough for a single hop to land exactly.
|
|
53
|
-
state.setFocusedDate(focusedDateForStart(desiredStart, !isForward, durationMonths))
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// react-stately's forward-paging realignment anchors the new range to whatever month
|
|
57
|
-
// `focusedDate` itself falls in; its backward-paging one anchors it `visibleDuration - 1` months
|
|
58
|
-
// *before* `focusedDate`'s month instead — so landing on a specific desired start takes a
|
|
59
|
-
// different `focusedDate` depending on which of the two is going to fire.
|
|
60
|
-
const focusedDateForStart = (
|
|
61
|
-
desiredStart: CalendarDate,
|
|
62
|
-
isForward: boolean,
|
|
63
|
-
durationMonths: number
|
|
64
|
-
): CalendarDate => (isForward ? desiredStart : desiredStart.add({ months: durationMonths - 1 }))
|
package/src/utils/slot.tsx
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
cloneElement,
|
|
3
|
-
createContext,
|
|
4
|
-
forwardRef,
|
|
5
|
-
Fragment,
|
|
6
|
-
isValidElement,
|
|
7
|
-
ReactElement,
|
|
8
|
-
ReactNode,
|
|
9
|
-
Ref,
|
|
10
|
-
useContext,
|
|
11
|
-
version
|
|
12
|
-
} from 'react'
|
|
13
|
-
import { mergeProps } from 'react-aria'
|
|
14
|
-
|
|
15
|
-
import { useForkedRef } from '../hooks/useForkedRef'
|
|
16
|
-
import { devWarning } from './devWarning'
|
|
17
|
-
|
|
18
|
-
// Backs the `asChild` prop every polymorphic component accepts (see `createPolymorphicComponent`).
|
|
19
|
-
// The component renders `Slot` as its `component`, exactly like any other component reference;
|
|
20
|
-
// `Slot` then renders the caller's child element in its place, with the props the component
|
|
21
|
-
// computed (className, handlers, ARIA attributes, ref) merged onto it.
|
|
22
|
-
//
|
|
23
|
-
// The child element travels through context rather than a prop because a render function spreads
|
|
24
|
-
// its `rest` props onto `component` in its own way (some filter them, some don't forward every
|
|
25
|
-
// one) — context reaches `Slot` no matter how the render function wires it up. `Slot` resets the
|
|
26
|
-
// context for its own subtree, so a polymorphic component nested *inside* the child doesn't pick
|
|
27
|
-
// up the outer one's element.
|
|
28
|
-
type SlotElement = ReactElement<Record<string, unknown>>
|
|
29
|
-
|
|
30
|
-
const SlotContext = createContext<SlotElement | null>(null)
|
|
31
|
-
|
|
32
|
-
export const SlotProvider = SlotContext.Provider
|
|
33
|
-
|
|
34
|
-
// React 19 moved `ref` onto `props` (and warns on reading `element.ref`); React 18 only has
|
|
35
|
-
// `element.ref`. The package supports both (`peerDependencies.react: >=18`).
|
|
36
|
-
const REACT_19 = parseInt(version, 10) >= 19
|
|
37
|
-
|
|
38
|
-
function getElementRef(element: SlotElement): Ref<unknown> | undefined {
|
|
39
|
-
return REACT_19
|
|
40
|
-
? (element.props as { ref?: Ref<unknown> }).ref
|
|
41
|
-
: (element as unknown as { ref?: Ref<unknown> }).ref
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// `Record` rather than a declared prop list: `Slot` forwards whatever the render function hands it.
|
|
45
|
-
type SlotProps = Record<string, unknown>
|
|
46
|
-
|
|
47
|
-
export const Slot = forwardRef<unknown, SlotProps>(function Slot({ children, ...slotProps }, ref) {
|
|
48
|
-
const element = useContext(SlotContext)
|
|
49
|
-
const forkedRef = useForkedRef(ref, element ? getElementRef(element) : undefined)
|
|
50
|
-
if (!element) return null
|
|
51
|
-
|
|
52
|
-
return (
|
|
53
|
-
<SlotContext.Provider value={null}>
|
|
54
|
-
{cloneElement(
|
|
55
|
-
element,
|
|
56
|
-
// react-aria's `mergeProps`: the child's own props win over the component's, except that
|
|
57
|
-
// classNames concatenate, event handlers chain (the component's first), and ids merge.
|
|
58
|
-
{ ...mergeProps(slotProps, element.props), ref: forkedRef } as Record<string, unknown>,
|
|
59
|
-
children as ReactNode
|
|
60
|
-
)}
|
|
61
|
-
</SlotContext.Provider>
|
|
62
|
-
)
|
|
63
|
-
})
|
|
64
|
-
|
|
65
|
-
// The single element `asChild` renders in place of the component's own element, or `null` (with
|
|
66
|
-
// a dev warning) when `children` isn't exactly one — the component then falls back to rendering
|
|
67
|
-
// its default element, so a misuse degrades to a working, if unstyled-as-intended, UI.
|
|
68
|
-
export function getSlotChild(children: ReactNode, displayName: string): SlotElement | null {
|
|
69
|
-
if (isValidElement<Record<string, unknown>>(children) && children.type !== Fragment) {
|
|
70
|
-
return children
|
|
71
|
-
}
|
|
72
|
-
devWarning(
|
|
73
|
-
true,
|
|
74
|
-
`${displayName}: \`asChild\` expects exactly one React element as its child (not text, a ` +
|
|
75
|
-
`fragment, or several elements); rendering the default element instead.`
|
|
76
|
-
)
|
|
77
|
-
return null
|
|
78
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Spacing } from '../types'
|
|
2
|
-
|
|
3
|
-
// A spacing prop (`gap`/`rowGap`/`gutter`/...) is typed `Spacing | 0`, but `0` is meaningful
|
|
4
|
-
// (chassis-css's `gap-0` etc. exist) while `undefined`/`false`-ish values mean "not set" — a
|
|
5
|
-
// plain truthy check would drop `0`, so every caller needs this same `typeof` guard instead.
|
|
6
|
-
// Shared by `Flex`, `Stack`, `Row`, and `CardBody`'s own `layoutClassNames`/`_className` builders,
|
|
7
|
-
// which otherwise duplicated it once per spacing prop (`gap`, `rowGap`, `columnGap`, `gutter`,
|
|
8
|
-
// `gutterX`, `gutterY`, ...).
|
|
9
|
-
export const spacingClassName = (
|
|
10
|
-
base: string,
|
|
11
|
-
value: Spacing | 0 | undefined,
|
|
12
|
-
prefix = ''
|
|
13
|
-
): string | null =>
|
|
14
|
-
typeof value === 'string' || typeof value === 'number' ? `${prefix}${base}-${value}` : null
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
// Chromium/WebKit's `:focus-visible` heuristic has no interaction history to consult on the very
|
|
2
|
-
// first focus event of a page load, so a genuine pointer press can still paint a focus ring as if
|
|
3
|
-
// it came from the keyboard — most visible on whatever element happens to be the first thing a
|
|
4
|
-
// visitor clicks. A single capture-phase `pointerdown` listener on `document`, installed once (see
|
|
5
|
-
// `install` below, called for its side effect from `index.ts`), preemptively suppresses the
|
|
6
|
-
// outline on whatever focusable element the press is about to focus — before the browser's own
|
|
7
|
-
// default action grants focus and paints the ring for it — then restores it on blur. Safe to run
|
|
8
|
-
// on every press, not just the page's first: if the browser was already going to correctly
|
|
9
|
-
// withhold the ring, this suppress/restore cycle is a no-op within the same frame.
|
|
10
|
-
//
|
|
11
|
-
// Mirrors react-aria's own `@react-aria/interactions` global modality tracking (one document-level
|
|
12
|
-
// listener rather than one per component/instance) without switching this library's focus rings
|
|
13
|
-
// from chassis-css's native `:focus-visible` CSS to JS-driven state — react-aria's `isFocusVisible`
|
|
14
|
-
// is consumed by applying a class/attribute, which would fork focus-ring styling from the vanilla,
|
|
15
|
-
// non-React product chassis-css also ships. Deliberately unscoped to this library's own markup, for
|
|
16
|
-
// the same reason react-aria's own fix is unscoped: the browser bug isn't specific to any one
|
|
17
|
-
// component library, and a page generally wants one consistent focus-ring policy for every
|
|
18
|
-
// focusable element on it, not just the subset a component library happens to own.
|
|
19
|
-
const FOCUSABLE_SELECTOR = 'a[href], button, input, select, textarea, [tabindex]'
|
|
20
|
-
|
|
21
|
-
const suppressed = new WeakSet<HTMLElement>()
|
|
22
|
-
|
|
23
|
-
// Which ring-painting style properties a given call suppresses. The global `pointerdown` path
|
|
24
|
-
// only ever needs `outline` (that's the whole of chassis-css's `:focus-visible` ring); a
|
|
25
|
-
// script-driven focus redirect also clears `boxShadow`, since an element it lands on may carry a
|
|
26
|
-
// ring painted that way — see `focusRedirect`.
|
|
27
|
-
export type SuppressibleStyle = 'outline' | 'boxShadow'
|
|
28
|
-
|
|
29
|
-
const DEFAULT_STYLES: readonly SuppressibleStyle[] = ['outline']
|
|
30
|
-
|
|
31
|
-
// Shared by the global `pointerdown` listener below and by call sites that move focus themselves
|
|
32
|
-
// via script (e.g. `RangeCalendar`'s hover-to-preview-a-range, which calls `element.focus()` from
|
|
33
|
-
// a `pointerenter` handler — outside the `pointerdown` this module otherwise listens for, and
|
|
34
|
-
// `focusRedirect`, which delegates here rather than reimplementing the save/restore cycle).
|
|
35
|
-
export function suppressFocusRing(
|
|
36
|
-
el: HTMLElement,
|
|
37
|
-
styles: readonly SuppressibleStyle[] = DEFAULT_STYLES
|
|
38
|
-
): void {
|
|
39
|
-
// chassis-css's `.form-input` placeholder deliberately grants its focus ring on `:focus-within`
|
|
40
|
-
// as well as `:focus-visible` (see `_form.scss`), unlike the `:focus-visible`-only policy this
|
|
41
|
-
// module otherwise mirrors for buttons/links/checks/etc. — a form field is meant to show its
|
|
42
|
-
// ring regardless of whether the focus came from a click or the keyboard, so the very
|
|
43
|
-
// first-press-of-page-load quirk this module works around isn't a bug for `.form-input` in the
|
|
44
|
-
// first place: forcing its outline off here would fight, then correctly-but-uselessly restore,
|
|
45
|
-
// an outline chassis-css wants visible the whole time the field is focused.
|
|
46
|
-
if (el.classList.contains('form-input')) return
|
|
47
|
-
// `suppressed` guards re-entrancy: a second call for the same element before it blurs (e.g. a
|
|
48
|
-
// rapid re-press, the pointer re-entering a cell, or a repeated `focusRedirect` onto the same
|
|
49
|
-
// element) would otherwise stack a second blur listener whose "previous" value it captured
|
|
50
|
-
// *after* the first call already set the property to `none` — restoring `none` and leaving the
|
|
51
|
-
// ring permanently suppressed. One shared set across every caller, so a global-listener
|
|
52
|
-
// suppression and a `focusRedirect` one can't stack on each other either.
|
|
53
|
-
if (suppressed.has(el)) return
|
|
54
|
-
|
|
55
|
-
suppressed.add(el)
|
|
56
|
-
const restore = styles.map((style) => [style, el.style[style]] as const)
|
|
57
|
-
for (const [style] of restore) el.style[style] = 'none'
|
|
58
|
-
el.addEventListener(
|
|
59
|
-
'blur',
|
|
60
|
-
() => {
|
|
61
|
-
for (const [style, value] of restore) el.style[style] = value
|
|
62
|
-
suppressed.delete(el)
|
|
63
|
-
},
|
|
64
|
-
{ once: true }
|
|
65
|
-
)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function handlePointerDown(event: PointerEvent) {
|
|
69
|
-
const target = event.target
|
|
70
|
-
if (!(target instanceof Element)) return
|
|
71
|
-
const el = target.closest<HTMLElement>(FOCUSABLE_SELECTOR)
|
|
72
|
-
if (!el) return
|
|
73
|
-
suppressFocusRing(el)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
let installed = false
|
|
77
|
-
|
|
78
|
-
export function install(): void {
|
|
79
|
-
if (installed || typeof document === 'undefined') return
|
|
80
|
-
installed = true
|
|
81
|
-
document.addEventListener('pointerdown', handlePointerDown, true)
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
install()
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import classNames from 'classnames'
|
|
2
|
-
|
|
3
|
-
import { Breakpoint, ContextColor } from '../types'
|
|
4
|
-
|
|
5
|
-
// The styling props `Table` and `StaticTable` share. Kept in one place so the two can't drift into
|
|
6
|
-
// applying different chassis-css classes for the same prop — `StaticTable` exists to be the
|
|
7
|
-
// zero-JS twin of `Table`'s look, so a prop meaning something different on each would defeat it.
|
|
8
|
-
export interface TableStyleProps {
|
|
9
|
-
/**
|
|
10
|
-
* Set the vertical alignment of cell content.
|
|
11
|
-
*/
|
|
12
|
-
align?: 'bottom' | 'middle' | 'top'
|
|
13
|
-
/**
|
|
14
|
-
* Add borders on all sides of the table and cells.
|
|
15
|
-
*/
|
|
16
|
-
bordered?: boolean
|
|
17
|
-
/**
|
|
18
|
-
* Remove borders on all sides of the table and cells.
|
|
19
|
-
*/
|
|
20
|
-
borderless?: boolean
|
|
21
|
-
/**
|
|
22
|
-
* A string of all className you want applied to the component.
|
|
23
|
-
*/
|
|
24
|
-
className?: string
|
|
25
|
-
/**
|
|
26
|
-
* Sets the color of the component.
|
|
27
|
-
*/
|
|
28
|
-
color?: ContextColor
|
|
29
|
-
/**
|
|
30
|
-
* Enable a hover state on table rows.
|
|
31
|
-
*/
|
|
32
|
-
hover?: boolean
|
|
33
|
-
/**
|
|
34
|
-
* Make any table responsive across all viewports or pick a maximum breakpoint.
|
|
35
|
-
*/
|
|
36
|
-
responsive?: boolean | Breakpoint
|
|
37
|
-
/**
|
|
38
|
-
* Make table more compact by cutting all cell padding.
|
|
39
|
-
*/
|
|
40
|
-
sm?: boolean
|
|
41
|
-
/**
|
|
42
|
-
* Convert rows into stacked label/value blocks below a container width, for tables with too
|
|
43
|
-
* many columns to read comfortably even with horizontal scrolling. `true` always stacks; a
|
|
44
|
-
* breakpoint name stacks only below it. Implies `responsive` when `responsive` isn't set
|
|
45
|
-
* separately, since stacking needs the same `.table-responsive` container-query ancestor.
|
|
46
|
-
*/
|
|
47
|
-
stacked?: boolean | Breakpoint
|
|
48
|
-
/**
|
|
49
|
-
* Add zebra-striping to table rows.
|
|
50
|
-
*/
|
|
51
|
-
striped?: boolean
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function tableClassName({
|
|
55
|
-
align,
|
|
56
|
-
bordered,
|
|
57
|
-
borderless,
|
|
58
|
-
className,
|
|
59
|
-
color,
|
|
60
|
-
hover,
|
|
61
|
-
sm,
|
|
62
|
-
stacked,
|
|
63
|
-
striped
|
|
64
|
-
}: TableStyleProps): string | undefined {
|
|
65
|
-
return (
|
|
66
|
-
classNames(
|
|
67
|
-
'table',
|
|
68
|
-
color,
|
|
69
|
-
{
|
|
70
|
-
[`align-${align}`]: align,
|
|
71
|
-
bordered,
|
|
72
|
-
borderless,
|
|
73
|
-
hoverable: hover,
|
|
74
|
-
sm,
|
|
75
|
-
stacked: stacked === true,
|
|
76
|
-
striped
|
|
77
|
-
},
|
|
78
|
-
typeof stacked === 'string' ? `max-${stacked}:stacked` : undefined,
|
|
79
|
-
className
|
|
80
|
-
) || undefined
|
|
81
|
-
)
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// `undefined` when the table needs no wrapper at all. Stacking needs the same `.table-responsive`
|
|
85
|
-
// container-query ancestor as horizontal scrolling, so `stacked` alone still gets one.
|
|
86
|
-
export function tableWrapperClassName({
|
|
87
|
-
responsive,
|
|
88
|
-
stacked
|
|
89
|
-
}: Pick<TableStyleProps, 'responsive' | 'stacked'>): string | undefined {
|
|
90
|
-
if (!responsive && !stacked) return undefined
|
|
91
|
-
if (!responsive || responsive === true) return 'table-responsive'
|
|
92
|
-
return `max-${responsive}:table-responsive`
|
|
93
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { HTMLAttributes, ReactElement, Ref, version as reactVersion } from 'react'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* `Popover`/`Tooltip` both take their trigger as a single `ReactElement` child and re-render it
|
|
5
|
-
* with `cloneElement`. A bare `ReactElement` types its props as `unknown`, which makes
|
|
6
|
-
* `cloneElement`'s config `Partial<unknown> & Attributes` — no `ref`, no event handlers, nothing
|
|
7
|
-
* to merge against. This is the narrowed view both components read the child through.
|
|
8
|
-
*
|
|
9
|
-
* Kept internal: each component's own public `children: ReactElement` stays as-is, so a caller
|
|
10
|
-
* can still pass any element without having to satisfy this shape.
|
|
11
|
-
*/
|
|
12
|
-
export type TriggerElementProps = HTMLAttributes<HTMLElement> & { ref?: Ref<HTMLElement> }
|
|
13
|
-
|
|
14
|
-
export type TriggerElement = ReactElement<TriggerElementProps>
|
|
15
|
-
|
|
16
|
-
export const asTriggerElement = (element: ReactElement): TriggerElement => element as TriggerElement
|
|
17
|
-
|
|
18
|
-
// React 19 turned `ref` into an ordinary prop; before that it lived on the element itself and was
|
|
19
|
-
// stripped out of `props`. React 19's development build installs a warning getter on
|
|
20
|
-
// `element.ref`, so this reads only the location that's correct for the React actually running
|
|
21
|
-
// rather than probing both and tripping that warning on every trigger that has no ref at all.
|
|
22
|
-
const REF_LIVES_IN_PROPS = parseInt(reactVersion, 10) >= 19
|
|
23
|
-
|
|
24
|
-
export const getTriggerRef = (element: TriggerElement): Ref<HTMLElement> | undefined =>
|
|
25
|
-
REF_LIVES_IN_PROPS ? element.props.ref : (element as { ref?: Ref<HTMLElement> }).ref
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// Chassis-css's validation-state classes, shared by every form control that supports
|
|
2
|
-
// `invalid`/`valid` (Radio, Switch, RangeInput, Select, TextInput, Textarea). Returns a
|
|
3
|
-
// `classNames`-compatible object rather than a resolved string so callers can still combine it
|
|
4
|
-
// with their own base/size classes and `className` in one `classNames(...)` call.
|
|
5
|
-
export const validationClassName = (invalid?: boolean, valid?: boolean) => ({
|
|
6
|
-
'is-invalid': invalid,
|
|
7
|
-
'is-valid': valid
|
|
8
|
-
})
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CSSProperties } from 'react'
|
|
2
|
-
|
|
3
|
-
// Options in a virtually-focused listbox (react-aria's combobox/listbox patterns) never receive
|
|
4
|
-
// real DOM focus — focus stays on the trigger (a text input or button) while the highlighted
|
|
5
|
-
// option is tracked virtually, so `:hover`/`:focus-visible` can't style it. To indicate the
|
|
6
|
-
// highlight without touching chassis-css, we reuse its own hover color tokens (already defined
|
|
7
|
-
// on the ancestor `.menu`, prefixed `--cx-` by chassis-css's build) as inline overrides instead
|
|
8
|
-
// of relying on `.active`, which chassis-css reserves for the pressed/`:active` look.
|
|
9
|
-
export const virtualFocusStyle: CSSProperties = {
|
|
10
|
-
'--cx-icon-color': 'var(--cx-item-hover-icon-color)',
|
|
11
|
-
'--cx-item-fg-color': 'var(--cx-item-hover-fg-color)',
|
|
12
|
-
'--cx-item-bg-color': 'var(--cx-item-hover-bg-color)'
|
|
13
|
-
} as CSSProperties
|
|
14
|
-
|
|
15
|
-
export const getVirtualFocusStyle = (isFocused: boolean): CSSProperties | undefined =>
|
|
16
|
-
isFocused ? virtualFocusStyle : undefined
|