@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,98 +0,0 @@
|
|
|
1
|
-
import React, { RefObject, useRef } from 'react'
|
|
2
|
-
import classNames from 'classnames'
|
|
3
|
-
import { AriaListBoxOptions, useListBox, useOption } from 'react-aria'
|
|
4
|
-
import { ComboBoxState, Node } from 'react-stately'
|
|
5
|
-
|
|
6
|
-
import { getVirtualFocusStyle } from '../../utils/virtualFocusStyle'
|
|
7
|
-
import { ComboboxEntry, ComboboxSelectionMode } from '../../utils/comboboxCollection'
|
|
8
|
-
import { IconSlot } from '../../utils/iconSlot'
|
|
9
|
-
|
|
10
|
-
interface ComboboxListBoxProps<M extends ComboboxSelectionMode = 'single'> {
|
|
11
|
-
listBoxProps: AriaListBoxOptions<ComboboxEntry>
|
|
12
|
-
listBoxRef: RefObject<HTMLElement | null>
|
|
13
|
-
state: ComboBoxState<ComboboxEntry, M>
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Generic over `M` (single- vs multi-select) purely so both `Combobox` (always single) and
|
|
17
|
-
// `Autocomplete` (either) can pass their own `ComboBoxState` here without a cast — nothing in
|
|
18
|
-
// this file's rendering logic actually depends on which mode is active.
|
|
19
|
-
export const ComboboxListBox = <M extends ComboboxSelectionMode = 'single'>({
|
|
20
|
-
listBoxProps,
|
|
21
|
-
listBoxRef,
|
|
22
|
-
state
|
|
23
|
-
}: ComboboxListBoxProps<M>) => {
|
|
24
|
-
const { listBoxProps: domListBoxProps } = useListBox(listBoxProps, state, listBoxRef)
|
|
25
|
-
|
|
26
|
-
return (
|
|
27
|
-
<div {...domListBoxProps} ref={listBoxRef as RefObject<HTMLDivElement>}>
|
|
28
|
-
{[...state.collection].map((node) =>
|
|
29
|
-
node.type === 'section' ? (
|
|
30
|
-
<ComboboxSection key={node.key} node={node} state={state} />
|
|
31
|
-
) : (
|
|
32
|
-
<ComboboxOption key={node.key} item={node} state={state} />
|
|
33
|
-
)
|
|
34
|
-
)}
|
|
35
|
-
</div>
|
|
36
|
-
)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
interface ComboboxSectionProps<M extends ComboboxSelectionMode = 'single'> {
|
|
40
|
-
node: Node<ComboboxEntry>
|
|
41
|
-
state: ComboBoxState<ComboboxEntry, M>
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// Chassis-css groups are `.menu-header` siblings interleaved with `.menu-item`s, no wrapping
|
|
45
|
-
// element — plain, static markup, so there's no need for react-aria's `useListBoxSection`.
|
|
46
|
-
// `useComboBoxState`'s filtering hides child items whose text doesn't match, but doesn't drop an
|
|
47
|
-
// emptied-out section node itself, so a fully-filtered-out group's header is skipped by hand here
|
|
48
|
-
// rather than left to render on its own.
|
|
49
|
-
const ComboboxSection = <M extends ComboboxSelectionMode = 'single'>({
|
|
50
|
-
node,
|
|
51
|
-
state
|
|
52
|
-
}: ComboboxSectionProps<M>) => {
|
|
53
|
-
const childNodes = [...state.collection.getChildren!(node.key)]
|
|
54
|
-
if (childNodes.length === 0) return null
|
|
55
|
-
|
|
56
|
-
return (
|
|
57
|
-
<>
|
|
58
|
-
<div className="menu-header" role="presentation">
|
|
59
|
-
{node.rendered}
|
|
60
|
-
</div>
|
|
61
|
-
{childNodes.map((child) => (
|
|
62
|
-
<ComboboxOption key={child.key} item={child} state={state} />
|
|
63
|
-
))}
|
|
64
|
-
</>
|
|
65
|
-
)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
interface ComboboxOptionProps<M extends ComboboxSelectionMode = 'single'> {
|
|
69
|
-
item: Node<ComboboxEntry>
|
|
70
|
-
state: ComboBoxState<ComboboxEntry, M>
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
const ComboboxOption = <M extends ComboboxSelectionMode = 'single'>({
|
|
74
|
-
item,
|
|
75
|
-
state
|
|
76
|
-
}: ComboboxOptionProps<M>) => {
|
|
77
|
-
const ref = useRef<HTMLDivElement>(null)
|
|
78
|
-
const { optionProps, isSelected, isDisabled, isFocused } = useOption(
|
|
79
|
-
{ key: item.key },
|
|
80
|
-
state,
|
|
81
|
-
ref
|
|
82
|
-
)
|
|
83
|
-
|
|
84
|
-
return (
|
|
85
|
-
<div
|
|
86
|
-
className={classNames('menu-item', {
|
|
87
|
-
selected: isSelected,
|
|
88
|
-
disabled: isDisabled
|
|
89
|
-
})}
|
|
90
|
-
style={getVirtualFocusStyle(isFocused)}
|
|
91
|
-
{...optionProps}
|
|
92
|
-
ref={ref}
|
|
93
|
-
>
|
|
94
|
-
{item.rendered}
|
|
95
|
-
{isSelected && <IconSlot icon="check" className="menu-item-check" />}
|
|
96
|
-
</div>
|
|
97
|
-
)
|
|
98
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
|
|
3
|
-
import '../../utils/suppressFocusRingGlobally'
|
|
4
|
-
|
|
5
|
-
export { Combobox } from './Combobox'
|
|
6
|
-
export type { ComboboxProps } from './Combobox'
|
|
7
|
-
export { ComboboxGroup } from './ComboboxGroup'
|
|
8
|
-
export type { ComboboxGroupProps } from './ComboboxGroup'
|
|
9
|
-
export { ComboboxItem } from './ComboboxItem'
|
|
10
|
-
export type { ComboboxItemProps } from './ComboboxItem'
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
@use "@chassis-ui/css/scss/config" as *;
|
|
2
|
-
@use "@chassis-ui/css/scss/mixins" as *;
|
|
3
|
-
|
|
4
|
-
// DataGrid renders react-aria-components' Virtualizer output: <div>s carrying grid/row/gridcell
|
|
5
|
-
// roles, not a real <table> — native table layout can't support windowed rows (see this component's
|
|
6
|
-
// entry under THEMING.md's "Component-scoped CSS"). chassis-css has no equivalent for that markup
|
|
7
|
-
// shape, so unlike Table's two sm Table.css overrides, this stylesheet owns the whole visual
|
|
8
|
-
// surface. It reads the SAME `--table-*` public custom properties `_table.scss` defines instead of
|
|
9
|
-
// inventing `--datagrid-*` duplicates, so a consumer who's already re-themed `.table` globally (on
|
|
10
|
-
// `:root`/`body`) gets a visually consistent `DataGrid` for free — a scoped override applied
|
|
11
|
-
// directly on a `<Table>` element's own subtree won't reach a separate `<DataGrid>` instance
|
|
12
|
-
// elsewhere in the DOM, since custom properties only cascade downward through shared ancestors.
|
|
13
|
-
@layer components {
|
|
14
|
-
.datagrid {
|
|
15
|
-
// scss-docs-start datagrid-variables
|
|
16
|
-
--fg-color: var(--table-td-fg-color, #{$table-td-fg-color});
|
|
17
|
-
--bg-color: var(--table-td-bg-color, #{$table-td-bg-color});
|
|
18
|
-
--th-fg-color: var(--table-th-fg-color, #{$table-th-fg-color});
|
|
19
|
-
--th-bg-color: var(--table-th-bg-color, #{$table-th-bg-color});
|
|
20
|
-
--hover-fg-color: var(--table-hover-fg-color, #{$table-hover-fg-color});
|
|
21
|
-
--hover-bg-color: var(--table-hover-bg-color, #{$table-hover-bg-color});
|
|
22
|
-
--active-fg-color: var(--table-active-fg-color, #{$table-active-fg-color});
|
|
23
|
-
--active-bg-color: var(--table-active-bg-color, #{$table-active-bg-color});
|
|
24
|
-
--border-width: var(--table-border-width, #{$table-border-width});
|
|
25
|
-
--border-color: var(--table-border-color, #{$table-border-color});
|
|
26
|
-
--cue-color: var(--table-cue-color, #{$table-cue-color});
|
|
27
|
-
--cell-padding-y: var(--table-cell-padding-y, #{$table-cell-padding-y});
|
|
28
|
-
--cell-padding-x: var(--table-cell-padding-x, #{$table-cell-padding-x});
|
|
29
|
-
// scss-docs-start datagrid-pin-cue-variables
|
|
30
|
-
// Read by DataGridPinBehavior's generated stylesheet — not exposed via `--table-*` since
|
|
31
|
-
// pinned columns have no `Table` equivalent to stay consistent with.
|
|
32
|
-
--datagrid-pin-cue-shadow-start: inset 6px 0 6px -6px rgb(0 0 0 / 30%);
|
|
33
|
-
--datagrid-pin-cue-shadow-end: inset -6px 0 6px -6px rgb(0 0 0 / 30%);
|
|
34
|
-
// scss-docs-end datagrid-pin-cue-variables
|
|
35
|
-
|
|
36
|
-
@if $enable-table-font-tokens {
|
|
37
|
-
// Same public `--table-*` override namespace Table's own `.table` uses (passing `table` as
|
|
38
|
-
// the component name, not `datagrid`) — see this file's top comment.
|
|
39
|
-
@include map-font($table-td-font, table, td);
|
|
40
|
-
@include map-font($table-th-font, table, th);
|
|
41
|
-
}
|
|
42
|
-
// scss-docs-end datagrid-variables
|
|
43
|
-
|
|
44
|
-
position: relative;
|
|
45
|
-
display: block;
|
|
46
|
-
width: 100%;
|
|
47
|
-
// A virtualizer needs a bounded viewport to know when to stop rendering rows — without an
|
|
48
|
-
// explicit height it lays out its full scroll content, defeating windowing entirely. This is
|
|
49
|
-
// a floor so the component isn't broken out of the box; callers size it for their own layout.
|
|
50
|
-
height: 400px;
|
|
51
|
-
overflow: auto;
|
|
52
|
-
vertical-align: var(--table-cell-vertical-align, $table-cell-vertical-align);
|
|
53
|
-
border-color: var(--border-color);
|
|
54
|
-
|
|
55
|
-
// `[role="rowheader"]` is the identifying cell of a *data* row (the `isRowHeader` column,
|
|
56
|
-
// ARIA's analog of `<th scope="row">`) — a plain data cell, not header chrome. Only
|
|
57
|
-
// `.datagrid-header`'s own `[role="columnheader"]` cells get the th treatment; which
|
|
58
|
-
// rowgroup a cell belongs to (not its role) decides styling here, same as `_table.scss`'s
|
|
59
|
-
// `.table > thead` override applying regardless of `<td>`/`<th>`.
|
|
60
|
-
[role="columnheader"],
|
|
61
|
-
[role="gridcell"],
|
|
62
|
-
[role="rowheader"] {
|
|
63
|
-
box-sizing: border-box;
|
|
64
|
-
height: 100%;
|
|
65
|
-
padding: var(--cell-padding-y) var(--cell-padding-x);
|
|
66
|
-
color: var(--fg-color);
|
|
67
|
-
background-color: var(--bg-color);
|
|
68
|
-
// Style/color unconditional, width per-side — `border-width` alone is a no-op (a browser
|
|
69
|
-
// computes an unstyled edge's width as 0 regardless of the declared value), so `.bordered`/
|
|
70
|
-
// `.borderless` below only ever touch `border-width`, never style or color.
|
|
71
|
-
border-color: var(--border-color);
|
|
72
|
-
border-style: solid;
|
|
73
|
-
border-width: 0 0 var(--border-width) 0;
|
|
74
|
-
@include font(td);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.datagrid-header [role="columnheader"] {
|
|
78
|
-
--fg-color: var(--th-fg-color);
|
|
79
|
-
--bg-color: var(--th-bg-color);
|
|
80
|
-
@include font(th);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
[role="row"][data-selected] > * {
|
|
84
|
-
--fg-color: var(--active-fg-color);
|
|
85
|
-
--bg-color: var(--active-bg-color);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
&.hoverable [role="row"]:not([data-selected]):hover > *{
|
|
89
|
-
--fg-color: var(--hover-fg-color);
|
|
90
|
-
--bg-color: var(--hover-bg-color);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
&.bordered {
|
|
94
|
-
border: var(--border-width) solid var(--border-color);
|
|
95
|
-
|
|
96
|
-
[role="columnheader"],
|
|
97
|
-
[role="gridcell"],
|
|
98
|
-
[role="rowheader"] {
|
|
99
|
-
border-width: 0 var(--border-width) var(--border-width) 0;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
&.borderless {
|
|
104
|
-
[role="columnheader"],
|
|
105
|
-
[role="gridcell"],
|
|
106
|
-
[role="rowheader"] {
|
|
107
|
-
border-width: 0;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
[role="row"]:focus-visible,
|
|
112
|
-
[role="gridcell"]:focus-visible,
|
|
113
|
-
[role="columnheader"]:focus-visible,
|
|
114
|
-
[role="rowheader"]:focus-visible {
|
|
115
|
-
outline: var(--cx-border-width-xl) solid var(--cx-primary);
|
|
116
|
-
outline-offset: -2px;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
[role="columnheader"][data-allows-sorting] {
|
|
120
|
-
cursor: pointer;
|
|
121
|
-
user-select: none;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.datagrid-sort-icon {
|
|
125
|
-
display: inline-block;
|
|
126
|
-
margin-inline-start: var(--cx-space-2xs);
|
|
127
|
-
@include font-size(.75em);
|
|
128
|
-
opacity: .6;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
[data-sort-direction] .datagrid-sort-icon {
|
|
132
|
-
opacity: 1;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
// react-aria-components' internal virtualizer wraps BOTH the `.datagrid-header` and
|
|
136
|
-
// `.datagrid-body` rowgroups in their own auto-generated positioning divs (role=
|
|
137
|
-
// "presentation", no class hook of their own) that default to `overflow: hidden` — every
|
|
138
|
-
// OTHER auto-generated wrapper this virtualizer produces (rows, individual cells) already
|
|
139
|
-
// defaults to `overflow: visible`, so these two are outliers. Left alone, this would clip
|
|
140
|
-
// `pin="start"`'s sticky-positioned cells (see `DataGridTableLayout`) and `pin="end"`'s
|
|
141
|
-
// scroll-driven `transform` (see `DataGridPinBehavior`) alike whenever either moves beyond
|
|
142
|
-
// this wrapper's own box. Nothing under here is meant to be clipped in the first place — rows
|
|
143
|
-
// are windowed by the virtualizer's own JS, not by this rule — so force both to match every
|
|
144
|
-
// other wrapper's own default. `!important` is required here — it's the only way to win
|
|
145
|
-
// against that wrapper's own inline style, which has higher specificity than any plain rule.
|
|
146
|
-
:has(> .datagrid-header),
|
|
147
|
-
:has(> .datagrid-body) {
|
|
148
|
-
// stylelint-disable-next-line declaration-no-important
|
|
149
|
-
overflow: visible !important;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// `pin="start"` is handled by DataGridTableLayout (the layout engine's own sticky
|
|
153
|
-
// positioning, reused from what already keeps the header row pinned to the top) — no CSS of
|
|
154
|
-
// ours is needed for the positioning itself, in either the header or body row group.
|
|
155
|
-
// `pin="end"` has no engine-level equivalent — its sticky mechanism is hardcoded to the
|
|
156
|
-
// leading edge, and a pure-CSS `position: sticky; right: 0` doesn't work for a trailing pin
|
|
157
|
-
// either (see `DataGridPinBehavior`'s doc comment for why) — so it's positioned imperatively
|
|
158
|
-
// by that component instead, via a scroll-driven `transform` (and the `z-index` that goes
|
|
159
|
-
// with it) on each `pin="end"` cell. The scroll-cue `box-shadow` is generated there too, as a
|
|
160
|
-
// per-instance-scoped stylesheet keyed on `aria-colindex`, applied uniformly to both row groups
|
|
161
|
-
// since a header row and a body row share the same rendered shape. Nothing about pinning is in
|
|
162
|
-
// this file — only the custom properties those generated rules read, above.
|
|
163
|
-
|
|
164
|
-
// No `width: 1%` here, unlike `.table-selection-cell` — that's a native `<table>` auto-layout
|
|
165
|
-
// trick (an unstyled cell shrinks to content, so `1%` beats the browser down to the
|
|
166
|
-
// checkbox's own width) that has no equivalent in this virtualized, JS-sized layout. Give a
|
|
167
|
-
// `DataGridColumn` carrying this class an explicit `defaultWidth`/`minWidth` instead — see
|
|
168
|
-
// `DataGridColumn`'s own doc comment.
|
|
169
|
-
.datagrid-selection-cell {
|
|
170
|
-
padding-inline-end: 0;
|
|
171
|
-
text-align: center;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// Rendered as a sibling of `.datagrid`, not a descendant of it (see DataGrid.tsx's own doc
|
|
176
|
-
// comment on `footer`) — it has to live outside the scrollable/virtualized element so it never
|
|
177
|
-
// scrolls away with the body rows, which means it can't read `.datagrid`'s own custom
|
|
178
|
-
// properties via inheritance. Re-reads the same `--table-*` fallback chain independently rather
|
|
179
|
-
// than duplicating `.datagrid`'s variable block onto a shared ancestor for this alone. One
|
|
180
|
-
// consequence, documented in datagrid.mdx's Scope section: a consumer override scoped directly
|
|
181
|
-
// to a specific `DataGrid` instance's own class won't reach the footer, only a global
|
|
182
|
-
// `--table-*` override will.
|
|
183
|
-
.datagrid-footer {
|
|
184
|
-
--fg-color: var(--table-td-fg-color, #{$table-td-fg-color});
|
|
185
|
-
--bg-color: var(--table-td-bg-color, #{$table-td-bg-color});
|
|
186
|
-
--border-width: var(--table-border-width, #{$table-border-width});
|
|
187
|
-
--border-color: var(--table-border-color, #{$table-border-color});
|
|
188
|
-
--cell-padding-y: var(--table-cell-padding-y, #{$table-cell-padding-y});
|
|
189
|
-
--cell-padding-x: var(--table-cell-padding-x, #{$table-cell-padding-x});
|
|
190
|
-
|
|
191
|
-
box-sizing: border-box;
|
|
192
|
-
padding: var(--cell-padding-y) var(--cell-padding-x);
|
|
193
|
-
color: var(--fg-color);
|
|
194
|
-
background-color: var(--bg-color);
|
|
195
|
-
border-color: var(--border-color);
|
|
196
|
-
border-style: solid;
|
|
197
|
-
border-width: var(--border-width) 0 0 0;
|
|
198
|
-
|
|
199
|
-
&.borderless {
|
|
200
|
-
border-width: 0;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
ReactElement,
|
|
3
|
-
ReactNode,
|
|
4
|
-
Ref,
|
|
5
|
-
forwardRef,
|
|
6
|
-
useEffect,
|
|
7
|
-
useId,
|
|
8
|
-
useMemo,
|
|
9
|
-
useRef,
|
|
10
|
-
useState
|
|
11
|
-
} from 'react'
|
|
12
|
-
import classNames from 'classnames'
|
|
13
|
-
import {
|
|
14
|
-
Key,
|
|
15
|
-
Selection,
|
|
16
|
-
SortDescriptor,
|
|
17
|
-
Table as AriaTable,
|
|
18
|
-
Virtualizer
|
|
19
|
-
} from 'react-aria-components'
|
|
20
|
-
|
|
21
|
-
import { useForkedRef } from '../../hooks/useForkedRef'
|
|
22
|
-
import { ContextColor } from '../../types'
|
|
23
|
-
import { DataGridBodyProps } from './DataGridBody'
|
|
24
|
-
import { DataGridHeaderProps } from './DataGridHeader'
|
|
25
|
-
import { DataGridPinBehavior } from './DataGridPinBehavior'
|
|
26
|
-
import { DataGridTableLayout } from './DataGridTableLayout'
|
|
27
|
-
import './DataGrid.scss'
|
|
28
|
-
|
|
29
|
-
// No `striped`/`stacked` props: zebra-striping via CSS `:nth-of-type` (Table's approach) isn't
|
|
30
|
-
// virtualization-safe — a windowed row's DOM siblings are only the currently-mounted rows, not
|
|
31
|
-
// every logical row, so the stripe parity would flip as the mounted window's starting index
|
|
32
|
-
// changes during scroll. A correct implementation needs the row's real index at render time, not
|
|
33
|
-
// a pure-CSS trick; deferred rather than shipped broken.
|
|
34
|
-
interface DataGridOwnProps<T extends object> {
|
|
35
|
-
/**
|
|
36
|
-
* An accessible label for the grid, used when there's no visible heading.
|
|
37
|
-
*/
|
|
38
|
-
'aria-label'?: string
|
|
39
|
-
/**
|
|
40
|
-
* Identifies a visible heading element for the grid.
|
|
41
|
-
*/
|
|
42
|
-
'aria-labelledby'?: string
|
|
43
|
-
/**
|
|
44
|
-
* Set the vertical alignment of cell content. Mirrors `Table`'s prop of the same name for API
|
|
45
|
-
* parity — same as `Table`, this awaits chassis-css adding the matching `.align-*` styles.
|
|
46
|
-
*/
|
|
47
|
-
align?: 'bottom' | 'middle' | 'top'
|
|
48
|
-
/**
|
|
49
|
-
* Add borders on all sides of the grid and cells.
|
|
50
|
-
*/
|
|
51
|
-
bordered?: boolean
|
|
52
|
-
/**
|
|
53
|
-
* Remove borders on all sides of the grid and cells.
|
|
54
|
-
*/
|
|
55
|
-
borderless?: boolean
|
|
56
|
-
/**
|
|
57
|
-
* A `DataGridHeader` and a `DataGridBody`, each built from `DataGridColumn`/`DataGridRow`/
|
|
58
|
-
* `DataGridCell`.
|
|
59
|
-
*/
|
|
60
|
-
children: [ReactElement<DataGridHeaderProps<T>>, ReactElement<DataGridBodyProps<T>>]
|
|
61
|
-
/**
|
|
62
|
-
* A string of all className you want applied to the component.
|
|
63
|
-
*/
|
|
64
|
-
className?: string
|
|
65
|
-
/**
|
|
66
|
-
* Sets the color of the component.
|
|
67
|
-
*/
|
|
68
|
-
color?: ContextColor
|
|
69
|
-
/**
|
|
70
|
-
* A list of row keys to disable. Disabled rows cannot be selected, focused, or interacted with.
|
|
71
|
-
*/
|
|
72
|
-
disabledKeys?: Iterable<Key>
|
|
73
|
-
/**
|
|
74
|
-
* Content shown below the grid, e.g. a totals row or a "load more" control. Rendered as plain
|
|
75
|
-
* markup outside the grid's own scrollable/virtualized region — not part of the
|
|
76
|
-
* keyboard-navigable grid, and never scrolls out of view along with the body rows. Mirrors
|
|
77
|
-
* `Table`'s `footer` prop for API parity.
|
|
78
|
-
*/
|
|
79
|
-
footer?: ReactNode
|
|
80
|
-
/**
|
|
81
|
-
* Enable a hover state on grid rows.
|
|
82
|
-
*/
|
|
83
|
-
hover?: boolean
|
|
84
|
-
/**
|
|
85
|
-
* Handler that is called when the selection changes.
|
|
86
|
-
*/
|
|
87
|
-
onSelectionChange?: (keys: Selection) => void
|
|
88
|
-
/**
|
|
89
|
-
* Handler that is called when a column is sorted.
|
|
90
|
-
*/
|
|
91
|
-
onSortChange?: (descriptor: SortDescriptor) => void
|
|
92
|
-
/**
|
|
93
|
-
* The currently selected row keys (controlled).
|
|
94
|
-
*/
|
|
95
|
-
selectedKeys?: Selection
|
|
96
|
-
/**
|
|
97
|
-
* The type of selection that is allowed.
|
|
98
|
-
*/
|
|
99
|
-
selectionMode?: 'none' | 'single' | 'multiple'
|
|
100
|
-
/**
|
|
101
|
-
* Make the grid more compact by cutting all cell padding.
|
|
102
|
-
*/
|
|
103
|
-
sm?: boolean
|
|
104
|
-
/**
|
|
105
|
-
* The current sort column and direction.
|
|
106
|
-
*/
|
|
107
|
-
sortDescriptor?: SortDescriptor
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
type DataGridRowHeightProps =
|
|
111
|
-
| {
|
|
112
|
-
/**
|
|
113
|
-
* Row height in pixels, or `"auto"` to measure each row from its own rendered content
|
|
114
|
-
* instead of a single fixed height shared by every row (pair it with a required
|
|
115
|
-
* `estimatedRowHeight`, and see the docs site's "Variable row height" section for the
|
|
116
|
-
* tradeoffs). A fixed number renders every row, including the header, at that exact
|
|
117
|
-
* height; content taller than it visually overflows rather than growing the row.
|
|
118
|
-
*/
|
|
119
|
-
rowHeight: number
|
|
120
|
-
estimatedRowHeight?: never
|
|
121
|
-
}
|
|
122
|
-
| {
|
|
123
|
-
rowHeight: 'auto'
|
|
124
|
-
/**
|
|
125
|
-
* Seeds the virtualizer's scroll-position math for rows that haven't been measured yet.
|
|
126
|
-
* Required when `rowHeight="auto"` — pick a value close to the typical row's real height
|
|
127
|
-
* to minimize scroll-jump on first measurement. A row's real height can still turn out far
|
|
128
|
-
* from this estimate once it renders, which can cause a visible scroll-jump for rows the
|
|
129
|
-
* viewport hasn't reached yet.
|
|
130
|
-
*/
|
|
131
|
-
estimatedRowHeight: number
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export type DataGridProps<T extends object> = DataGridOwnProps<T> & DataGridRowHeightProps
|
|
135
|
-
|
|
136
|
-
const DataGridInner = <T extends object>(
|
|
137
|
-
{
|
|
138
|
-
align,
|
|
139
|
-
bordered,
|
|
140
|
-
borderless,
|
|
141
|
-
children,
|
|
142
|
-
className,
|
|
143
|
-
color,
|
|
144
|
-
disabledKeys,
|
|
145
|
-
estimatedRowHeight,
|
|
146
|
-
footer,
|
|
147
|
-
hover,
|
|
148
|
-
onSelectionChange,
|
|
149
|
-
onSortChange,
|
|
150
|
-
rowHeight,
|
|
151
|
-
selectedKeys,
|
|
152
|
-
selectionMode = 'none',
|
|
153
|
-
sm,
|
|
154
|
-
sortDescriptor,
|
|
155
|
-
...rest
|
|
156
|
-
}: DataGridProps<T>,
|
|
157
|
-
forwardedRef: Ref<HTMLDivElement>
|
|
158
|
-
) => {
|
|
159
|
-
const isVariableRowHeight = rowHeight === 'auto'
|
|
160
|
-
const layout = useMemo(
|
|
161
|
-
() =>
|
|
162
|
-
new DataGridTableLayout<T>(
|
|
163
|
-
// `headingHeight` is pinned to `estimatedRowHeight` (fixed, not itself an estimate) in
|
|
164
|
-
// variable-height mode — leaving it unset falls back to `estimatedRowHeight` as an
|
|
165
|
-
// *estimate* for the header too, which sounds harmless but isn't: the header's own
|
|
166
|
-
// sticky-positioned outer wrapper (built once in `buildTableHeader`, see
|
|
167
|
-
// `DataGridTableLayout`'s doc comment for why the header is sticky at all) is never
|
|
168
|
-
// recomputed when a column-header cell's later real measurement corrects its height, so
|
|
169
|
-
// the outer wrapper's stale height desyncs from the cell's real one, spilling header
|
|
170
|
-
// content into the body's first row instead of the header growing to fit it. Fixing the
|
|
171
|
-
// header's height sidesteps that gap instead of shipping it.
|
|
172
|
-
isVariableRowHeight
|
|
173
|
-
? { estimatedRowHeight, headingHeight: estimatedRowHeight }
|
|
174
|
-
: { rowHeight }
|
|
175
|
-
),
|
|
176
|
-
[isVariableRowHeight, rowHeight, estimatedRowHeight]
|
|
177
|
-
)
|
|
178
|
-
const gridRef = useRef<HTMLDivElement>(null)
|
|
179
|
-
const ref = useForkedRef(forwardedRef, gridRef)
|
|
180
|
-
|
|
181
|
-
// A stable per-instance class, scoping DataGridPinBehavior's generated CSS so multiple grids on
|
|
182
|
-
// the same page (each with their own pinned columns) don't collide.
|
|
183
|
-
const rawId = useId()
|
|
184
|
-
const instanceClassName = `datagrid-${rawId.replace(/[^a-zA-Z0-9]/g, '')}`
|
|
185
|
-
|
|
186
|
-
// Drives the pin=start/pin=end scroll-cue box-shadow — see DataGridPinBehavior — which should
|
|
187
|
-
// only appear once there's actually hidden content under the pinned column to cue.
|
|
188
|
-
const [scrolledStart, setScrolledStart] = useState(false)
|
|
189
|
-
const [scrolledEnd, setScrolledEnd] = useState(false)
|
|
190
|
-
|
|
191
|
-
useEffect(() => {
|
|
192
|
-
const grid = gridRef.current
|
|
193
|
-
if (!grid) return
|
|
194
|
-
|
|
195
|
-
const updateScrollState = () => {
|
|
196
|
-
setScrolledStart(grid.scrollLeft > 0)
|
|
197
|
-
setScrolledEnd(Math.ceil(grid.scrollLeft + grid.clientWidth) < grid.scrollWidth)
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
updateScrollState()
|
|
201
|
-
grid.addEventListener('scroll', updateScrollState, { passive: true })
|
|
202
|
-
const observer =
|
|
203
|
-
typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(updateScrollState)
|
|
204
|
-
observer?.observe(grid)
|
|
205
|
-
return () => {
|
|
206
|
-
grid.removeEventListener('scroll', updateScrollState)
|
|
207
|
-
observer?.disconnect()
|
|
208
|
-
}
|
|
209
|
-
}, [])
|
|
210
|
-
|
|
211
|
-
const _className = classNames(
|
|
212
|
-
'datagrid',
|
|
213
|
-
instanceClassName,
|
|
214
|
-
color,
|
|
215
|
-
{
|
|
216
|
-
[`align-${align}`]: align,
|
|
217
|
-
bordered,
|
|
218
|
-
borderless,
|
|
219
|
-
hoverable: hover,
|
|
220
|
-
sm,
|
|
221
|
-
'datagrid-scrolled-start': scrolledStart,
|
|
222
|
-
'datagrid-scrolled-end': scrolledEnd
|
|
223
|
-
},
|
|
224
|
-
className
|
|
225
|
-
)
|
|
226
|
-
|
|
227
|
-
return (
|
|
228
|
-
<Virtualizer layout={layout} shouldObserveItemSize={isVariableRowHeight}>
|
|
229
|
-
<AriaTable
|
|
230
|
-
aria-label={rest['aria-label']}
|
|
231
|
-
aria-labelledby={rest['aria-labelledby']}
|
|
232
|
-
className={_className || undefined}
|
|
233
|
-
disabledKeys={disabledKeys}
|
|
234
|
-
onSelectionChange={onSelectionChange}
|
|
235
|
-
onSortChange={onSortChange}
|
|
236
|
-
ref={ref}
|
|
237
|
-
selectedKeys={selectedKeys}
|
|
238
|
-
selectionMode={selectionMode}
|
|
239
|
-
sortDescriptor={sortDescriptor}
|
|
240
|
-
>
|
|
241
|
-
{children}
|
|
242
|
-
</AriaTable>
|
|
243
|
-
{footer && <div className={classNames('datagrid-footer', { borderless })}>{footer}</div>}
|
|
244
|
-
<DataGridPinBehavior
|
|
245
|
-
containerRef={gridRef}
|
|
246
|
-
header={children[0]}
|
|
247
|
-
instanceClassName={instanceClassName}
|
|
248
|
-
/>
|
|
249
|
-
</Virtualizer>
|
|
250
|
-
)
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
// `forwardRef` erases type parameters, so the generic component is cast back to a generic
|
|
254
|
-
// signature for callers — same pattern `Table` uses.
|
|
255
|
-
export const DataGrid = forwardRef(DataGridInner) as <T extends object>(
|
|
256
|
-
props: DataGridProps<T> & { ref?: Ref<HTMLDivElement> }
|
|
257
|
-
) => ReactElement
|
|
258
|
-
|
|
259
|
-
;(DataGrid as { displayName?: string }).displayName = 'DataGrid'
|