@chassis-ui/react 0.2.0 → 0.4.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.d.ts +1 -1
- package/dist/avatar.js +1 -1
- package/dist/badge.d.ts +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.d.ts +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.d.ts +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 → Button-BuZ_GOHS.d.ts} +3 -2
- 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-B0Y1xgYi.d.ts → Link-CKymd2ru.d.ts} +8 -6
- package/dist/chunks/Link-CZsWCnQb.js +2 -0
- package/dist/chunks/Link-CZsWCnQb.js.map +1 -0
- 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-CGk8szzR.js +2 -0
- package/dist/chunks/breakpoints-CGk8szzR.js.map +1 -0
- package/dist/chunks/breakpoints-ECy4lKQT.d.ts +6 -0
- package/dist/chunks/button-group-BGppPrIv.js +2 -0
- package/dist/chunks/button-group-BGppPrIv.js.map +1 -0
- package/dist/chunks/card-CobeDpf1.js +2 -0
- package/dist/chunks/card-CobeDpf1.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-ZyQn5Ku5.js +2 -0
- package/dist/chunks/checkbox-ZyQn5Ku5.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-B52oLCCC.js +2 -0
- package/dist/chunks/flex-B52oLCCC.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-C7tO-ppc.js +2 -0
- package/dist/chunks/grid-C7tO-ppc.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-BKMW0rkw.d.ts → index-0jbACjYQ.d.ts} +5 -3
- 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-D9PZHY_I.d.ts → index-B19ZH3fm.d.ts} +3 -2
- package/dist/chunks/{index-COsIPd8L.d.ts → index-B1kw0jzM.d.ts} +3 -2
- package/dist/chunks/index-B2K-O9kl.d.ts +59 -0
- package/dist/chunks/{index-CJzKu7QI.d.ts → index-B5bF1JxF.d.ts} +3 -2
- 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-Ctuk1xBU.d.ts → index-BLS1jhSJ.d.ts} +10 -7
- package/dist/chunks/{index-JllMXhVx.d.ts → index-BMkbJVHg.d.ts} +22 -5
- package/dist/chunks/{index-DB_ToPdz.d.ts → index-BNf0jIIL.d.ts} +12 -1
- package/dist/chunks/{index-t_x6jj7l.d.ts → index-BOx8v-oT.d.ts} +3 -2
- package/dist/chunks/index-BSLneLYu.d.ts +79 -0
- 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-XjLvaH4G.d.ts → index-BfEJYF4c.d.ts} +7 -6
- package/dist/chunks/index-Bi8FFadV.d.ts +2 -1
- package/dist/chunks/index-Bkj17NEQ.d.ts +2 -1
- 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-CRfm7W6C.d.ts → index-C9gzVqwX.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-8PhBSbNQ.d.ts → index-CHQR8x8_.d.ts} +16 -17
- package/dist/chunks/{index-BTTeKpiE.d.ts → index-CIwzgZJi.d.ts} +3 -2
- package/dist/chunks/{index-dh3TKanY.d.ts → index-CTpwB1yR.d.ts} +3 -2
- package/dist/chunks/{index-DR8sYtvd.d.ts → index-CYvVmTPR.d.ts} +20 -87
- 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-DKma0jQw.d.ts → index-CjT_4IZx.d.ts} +4 -3
- 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-CxjNw4ss.d.ts +216 -0
- 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-DHcztR18.d.ts +208 -0
- package/dist/chunks/index-DJfga0Ce.d.ts +57 -0
- package/dist/chunks/{index-DJJocp_q.d.ts → index-DM01FX3a.d.ts} +4 -3
- package/dist/chunks/index-DMbdEm__.d.ts +119 -0
- package/dist/chunks/{index-BlgkO3dn.d.ts → index-DP5xugE-.d.ts} +25 -34
- package/dist/chunks/index-DPCwFiJL.d.ts +95 -0
- package/dist/chunks/{index-BTDgfLxK.d.ts → index-DQImhbhy.d.ts} +21 -5
- package/dist/chunks/index-DaHQdNul.d.ts +182 -0
- package/dist/chunks/index-Dcc_W6Kv.d.ts +2 -1
- package/dist/chunks/index-Ddd7iWfm.d.ts +32 -0
- package/dist/chunks/index-Dfg4Ftb8.d.ts +2 -1
- package/dist/chunks/index-DtbUXxjz.d.ts +2 -1
- package/dist/chunks/{index-DPV62IdF.d.ts → index-DtvHH_Mb.d.ts} +12 -10
- package/dist/chunks/index-Du9fBqkT.d.ts +56 -0
- package/dist/chunks/index-HrKN6s8z.d.ts +2 -1
- package/dist/chunks/{index-ClT3E_hv.d.ts → index-NGgDkhyn.d.ts} +19 -25
- package/dist/chunks/{index-Dfy1YW5j.d.ts → index-U27Ar174.d.ts} +3 -2
- package/dist/chunks/{index-CsMIgBsd.d.ts → index-YJ9QdBuq.d.ts} +10 -10
- package/dist/chunks/{index-Dh5CaHTP.d.ts → index-aRdgpeRb.d.ts} +3 -2
- package/dist/chunks/index-g74gO0pc.d.ts +36 -0
- package/dist/chunks/{index-BO9jLOIb.d.ts → index-lSPcxiii.d.ts} +3 -2
- package/dist/chunks/{index-nklPDKlC.d.ts → index-x0vZRyoU.d.ts} +4 -3
- 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-Dbci5Ka3.js +2 -0
- package/dist/chunks/notification-Dbci5Ka3.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-B6gJdtoN.js +2 -0
- package/dist/chunks/radio-B6gJdtoN.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-nKgpa_a3.d.ts} +4 -3
- 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-CmZBLJwp.js +2 -0
- package/dist/chunks/skeleton-CmZBLJwp.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-DK5F53VT.js +2 -0
- package/dist/chunks/stack-DK5F53VT.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 → types-D6FM7bYR.d.ts} +16 -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.d.ts +1 -1
- 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.d.ts +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 +61 -49
- 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.d.ts +1 -1
- 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.d.ts +1 -1
- package/dist/spinner.js +1 -1
- package/dist/stack.d.ts +1 -1
- package/dist/stack.js +1 -1
- package/dist/static-table.d.ts +1 -1
- package/dist/stepper.d.ts +1 -1
- package/dist/stepper.js +1 -1
- package/dist/style.css +1 -1
- package/dist/switch.d.ts +1 -1
- package/dist/switch.js +1 -1
- package/dist/table.d.ts +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/breakpoints-o_2Ev7ir.js +0 -1
- package/dist/chunks/button-group-CPZYA6aZ.js +0 -1
- package/dist/chunks/card-DfF2K_5p.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/flex-BTvpgaRv.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-CVUMS0x7.d.ts +0 -73
- package/dist/chunks/index-D949AidR.d.ts +0 -40
- package/dist/chunks/index-DEb9zXlC.d.ts +0 -210
- 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/stack-D3retZ-W.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,162 +0,0 @@
|
|
|
1
|
-
import React, { ReactElement, ReactNode, useMemo } from 'react'
|
|
2
|
-
import classNames from 'classnames'
|
|
3
|
-
import {
|
|
4
|
-
TableBody as AriaTableBody,
|
|
5
|
-
TableBodyRenderProps,
|
|
6
|
-
TableLoadMoreItem
|
|
7
|
-
} from 'react-aria-components'
|
|
8
|
-
|
|
9
|
-
// A unique value appended to `items` internally to represent the trailing "load more" row in
|
|
10
|
-
// react-aria-components' collection. `TableLoadMoreItem` has to be returned from the per-item
|
|
11
|
-
// render function like any other row — react-aria-components' `useCachedChildren` only supports
|
|
12
|
-
// EITHER `items` + a render function OR static `children`, never a mix of both in the same
|
|
13
|
-
// `children` prop, so a `<TableLoadMoreItem>` placed as a plain JSX sibling inside `<TableBody>`
|
|
14
|
-
// is silently dropped (or crashes, if `children` becomes an array mixing the render function in).
|
|
15
|
-
// Checked by reference (`item === LOADER_ITEM`), so it can never collide with a real `T` the way a
|
|
16
|
-
// `{ __loader: true }` marker object might if compared structurally. Its `id` matters too, not
|
|
17
|
-
// just its identity: react-aria-components derives each rendered item's React key from
|
|
18
|
-
// `rendered.props.id ?? item?.key ?? item?.id ?? <positional index>` (`useCachedChildren`) —
|
|
19
|
-
// `TableLoadMoreItem` doesn't accept an `id` prop itself, so without this object's own `id` the
|
|
20
|
-
// loader's key falls back to its position in the array, which collides with a real row whenever a
|
|
21
|
-
// row's own `id` happens to equal that count (e.g. a 2-item list with a row literally id `"2"`).
|
|
22
|
-
const LOADER_ITEM = { id: '__datagrid-body-loader__' }
|
|
23
|
-
|
|
24
|
-
interface DataGridBodyOwnProps {
|
|
25
|
-
/**
|
|
26
|
-
* A string of all className you want applied to the body row group.
|
|
27
|
-
*/
|
|
28
|
-
className?: string
|
|
29
|
-
/**
|
|
30
|
-
* Values that should invalidate the row cache when using the `items`/render-function form of
|
|
31
|
-
* `children` — e.g. a value from outside `items` that the render function reads. Without this,
|
|
32
|
-
* changing that outside value won't re-render already-cached rows, since dynamic rows are only
|
|
33
|
-
* rebuilt when `items` or `dependencies` change by reference, not on every parent re-render.
|
|
34
|
-
*/
|
|
35
|
-
dependencies?: ReadonlyArray<unknown>
|
|
36
|
-
/**
|
|
37
|
-
* Content shown in place of rows when `items` is empty.
|
|
38
|
-
*/
|
|
39
|
-
renderEmptyState?: (props: TableBodyRenderProps) => React.ReactNode
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* The `items` + render-function form. `isLoading`/`loadingContent`/`onLoadMore` live here rather
|
|
44
|
-
* than alongside the static form because the loader row is generated by appending to `items` and
|
|
45
|
-
* rendering through that same function — there's no growing dataset to load more of, and nothing
|
|
46
|
-
* to render the loader with, in a hand-written list of `DataGridRow` elements.
|
|
47
|
-
*/
|
|
48
|
-
interface DataGridBodyDynamicProps<T> {
|
|
49
|
-
/**
|
|
50
|
-
* A render function called once per item in `items`, returning that row's `DataGridRow`.
|
|
51
|
-
*/
|
|
52
|
-
children: (item: T) => ReactElement
|
|
53
|
-
/**
|
|
54
|
-
* Whether more items are currently being fetched. Shows `loadingContent` in the loader row while
|
|
55
|
-
* true, and — until this goes back to `false` — suppresses further `onLoadMore` calls, so one
|
|
56
|
-
* scroll-into-view doesn't fire the callback again before the in-flight fetch resolves.
|
|
57
|
-
*/
|
|
58
|
-
isLoading?: boolean
|
|
59
|
-
/**
|
|
60
|
-
* A list of row data objects, rendered via the function form of `children`.
|
|
61
|
-
*/
|
|
62
|
-
items: Iterable<T>
|
|
63
|
-
/**
|
|
64
|
-
* Content rendered inside the loader row while `isLoading` is true, e.g. a spinner. Only takes
|
|
65
|
-
* effect alongside `onLoadMore`.
|
|
66
|
-
*/
|
|
67
|
-
loadingContent?: ReactNode
|
|
68
|
-
/**
|
|
69
|
-
* Called when the grid scrolls near its last row, so more data can be fetched and appended to
|
|
70
|
-
* `items`. Pair with `isLoading` so a fetch already in flight isn't triggered again before it
|
|
71
|
-
* resolves.
|
|
72
|
-
*/
|
|
73
|
-
onLoadMore?: () => void
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/** The static form: `DataGridRow` elements written out directly. */
|
|
77
|
-
interface DataGridBodyStaticProps {
|
|
78
|
-
/**
|
|
79
|
-
* `DataGridRow` elements.
|
|
80
|
-
*/
|
|
81
|
-
children: ReactElement | ReactElement[]
|
|
82
|
-
isLoading?: never
|
|
83
|
-
items?: never
|
|
84
|
-
loadingContent?: never
|
|
85
|
-
onLoadMore?: never
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Split into a static and a dynamic form so the two can't be mixed: the loader row is appended to
|
|
90
|
-
* `items` and rendered through `children`, so `onLoadMore` alongside a static list of elements used
|
|
91
|
-
* to type-check and then throw at render ("children is not a function") the moment the loader row
|
|
92
|
-
* came up.
|
|
93
|
-
*/
|
|
94
|
-
export type DataGridBodyProps<T> = DataGridBodyOwnProps &
|
|
95
|
-
(DataGridBodyDynamicProps<T> | DataGridBodyStaticProps)
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Body row group for `DataGrid`, containing `DataGridRow`s. Unlike `Table`'s sub-parts, this
|
|
99
|
-
* renders directly — it's a thin wrapper over react-aria-components' own `TableBody`.
|
|
100
|
-
*
|
|
101
|
-
* Always carries the `datagrid-body` class — see `DataGridHeader`'s equivalent note.
|
|
102
|
-
*/
|
|
103
|
-
export const DataGridBody = <T extends object>({
|
|
104
|
-
children,
|
|
105
|
-
className,
|
|
106
|
-
dependencies,
|
|
107
|
-
isLoading,
|
|
108
|
-
items,
|
|
109
|
-
loadingContent,
|
|
110
|
-
onLoadMore,
|
|
111
|
-
renderEmptyState
|
|
112
|
-
}: DataGridBodyProps<T>) => {
|
|
113
|
-
const hasLoader = onLoadMore != null && items != null
|
|
114
|
-
|
|
115
|
-
const itemsWithLoader = useMemo(() => {
|
|
116
|
-
if (!hasLoader) return items
|
|
117
|
-
return [...(items as Iterable<T>), LOADER_ITEM] as Iterable<T>
|
|
118
|
-
}, [hasLoader, items])
|
|
119
|
-
|
|
120
|
-
// react-aria-components caches each rendered row by item identity (see `dependencies`'s own doc
|
|
121
|
-
// comment above) — the loader branch below reads `isLoading`/`onLoadMore`/`loadingContent`, none
|
|
122
|
-
// of which are part of `items`, so without surfacing them here the cached loader row would keep
|
|
123
|
-
// whatever `isLoading` value (and stale `onLoadMore` closure) was in scope the first time it
|
|
124
|
-
// rendered, never picking up a later change.
|
|
125
|
-
const dependenciesWithLoader = useMemo(
|
|
126
|
-
() =>
|
|
127
|
-
hasLoader ? [...(dependencies ?? []), isLoading, onLoadMore, loadingContent] : dependencies,
|
|
128
|
-
[dependencies, hasLoader, isLoading, onLoadMore, loadingContent]
|
|
129
|
-
)
|
|
130
|
-
|
|
131
|
-
const bodyChildren = hasLoader
|
|
132
|
-
? (item: T) =>
|
|
133
|
-
(item as unknown) === LOADER_ITEM ? (
|
|
134
|
-
<TableLoadMoreItem
|
|
135
|
-
className="datagrid-loader"
|
|
136
|
-
isLoading={isLoading}
|
|
137
|
-
// Suppresses re-triggering onLoadMore while a fetch is already in flight — the
|
|
138
|
-
// underlying sentinel has no built-in debounce of its own and calls onLoadMore again
|
|
139
|
-
// whenever it (re-)observes the sentinel still intersecting, e.g. after the collection
|
|
140
|
-
// changes but the loader row hasn't yet scrolled out of view.
|
|
141
|
-
onLoadMore={isLoading ? undefined : onLoadMore}
|
|
142
|
-
>
|
|
143
|
-
{loadingContent}
|
|
144
|
-
</TableLoadMoreItem>
|
|
145
|
-
) : (
|
|
146
|
-
// `hasLoader` implies the dynamic form of the props union, whose `children` is the
|
|
147
|
-
// render function — `onLoadMore` isn't assignable alongside static children.
|
|
148
|
-
(children as (item: T) => ReactElement)(item)
|
|
149
|
-
)
|
|
150
|
-
: children
|
|
151
|
-
|
|
152
|
-
return (
|
|
153
|
-
<AriaTableBody
|
|
154
|
-
className={classNames('datagrid-body', className)}
|
|
155
|
-
dependencies={dependenciesWithLoader}
|
|
156
|
-
items={itemsWithLoader}
|
|
157
|
-
renderEmptyState={renderEmptyState}
|
|
158
|
-
>
|
|
159
|
-
{bodyChildren}
|
|
160
|
-
</AriaTableBody>
|
|
161
|
-
)
|
|
162
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import React, { ReactNode } from 'react'
|
|
2
|
-
import { Key, Cell as AriaCell } from 'react-aria-components'
|
|
3
|
-
import classNames from 'classnames'
|
|
4
|
-
|
|
5
|
-
export interface DataGridCellProps {
|
|
6
|
-
/**
|
|
7
|
-
* The contents of the cell.
|
|
8
|
-
*/
|
|
9
|
-
children: ReactNode
|
|
10
|
-
/**
|
|
11
|
-
* A string of all className you want applied to the cell.
|
|
12
|
-
*/
|
|
13
|
-
className?: string
|
|
14
|
-
/**
|
|
15
|
-
* Indicates how many columns the cell spans.
|
|
16
|
-
*/
|
|
17
|
-
colSpan?: number
|
|
18
|
-
/**
|
|
19
|
-
* The unique id of the cell.
|
|
20
|
-
*/
|
|
21
|
-
id?: Key
|
|
22
|
-
/**
|
|
23
|
-
* A string representation of the cell's contents, used for typeahead.
|
|
24
|
-
*/
|
|
25
|
-
textValue?: string
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* A cell within a `DataGrid` row. Unlike `Table`'s sub-parts, this renders directly — it's a
|
|
30
|
-
* thin wrapper over react-aria-components' own `Cell`.
|
|
31
|
-
*/
|
|
32
|
-
export const DataGridCell = ({
|
|
33
|
-
children,
|
|
34
|
-
className,
|
|
35
|
-
colSpan,
|
|
36
|
-
id,
|
|
37
|
-
textValue
|
|
38
|
-
}: DataGridCellProps) => (
|
|
39
|
-
<AriaCell
|
|
40
|
-
className={classNames('datagrid-cell', className)}
|
|
41
|
-
colSpan={colSpan}
|
|
42
|
-
id={id}
|
|
43
|
-
textValue={textValue}
|
|
44
|
-
>
|
|
45
|
-
{children}
|
|
46
|
-
</AriaCell>
|
|
47
|
-
)
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import React, { ReactNode } from 'react'
|
|
2
|
-
import classNames from 'classnames'
|
|
3
|
-
import { Key, Column as AriaColumn } from 'react-aria-components'
|
|
4
|
-
import { ColumnSize, ColumnStaticSize } from 'react-stately'
|
|
5
|
-
|
|
6
|
-
export interface DataGridColumnProps {
|
|
7
|
-
/**
|
|
8
|
-
* Whether the column allows sorting. Adds a sort indicator and makes the header
|
|
9
|
-
* clickable/keyboard-activatable.
|
|
10
|
-
*/
|
|
11
|
-
allowsSorting?: boolean
|
|
12
|
-
/**
|
|
13
|
-
* Rendered contents of the column header.
|
|
14
|
-
*/
|
|
15
|
-
children: ReactNode
|
|
16
|
-
/**
|
|
17
|
-
* A string of all className you want applied to the column header.
|
|
18
|
-
*/
|
|
19
|
-
className?: string
|
|
20
|
-
/**
|
|
21
|
-
* The initial width of the column, e.g. for a narrow selection/icon column — a plain number or
|
|
22
|
-
* `'<n>%'` for a fixed size, or `'<n>fr'` to share remaining space with other fractional
|
|
23
|
-
* columns in proportion (columns default to `'1fr'`, so they split space evenly unless given
|
|
24
|
-
* one of these). Unlike `Table`, which sizes a narrow column via `width: 1%` relying on native
|
|
25
|
-
* `<table>` auto-layout, `DataGrid`'s virtualized layout computes every column's width itself —
|
|
26
|
-
* a CSS `width` rule on the cell has no effect, so this prop is the only way to size a column.
|
|
27
|
-
*/
|
|
28
|
-
defaultWidth?: ColumnSize | null
|
|
29
|
-
/**
|
|
30
|
-
* The unique id of the column, referenced by `sortDescriptor.column`.
|
|
31
|
-
*/
|
|
32
|
-
id?: Key
|
|
33
|
-
/**
|
|
34
|
-
* Whether this column is a row header, announced by assistive technology during row
|
|
35
|
-
* navigation.
|
|
36
|
-
*/
|
|
37
|
-
isRowHeader?: boolean
|
|
38
|
-
/**
|
|
39
|
-
* The maximum width of the column, as a fixed pixel number or `'<n>%'`.
|
|
40
|
-
*/
|
|
41
|
-
maxWidth?: ColumnStaticSize | null
|
|
42
|
-
/**
|
|
43
|
-
* The minimum width of the column, as a fixed pixel number or `'<n>%'`.
|
|
44
|
-
*/
|
|
45
|
-
minWidth?: ColumnStaticSize | null
|
|
46
|
-
/**
|
|
47
|
-
* Pin the column so it stays visible while the grid scrolls horizontally: `'start'` pins it to
|
|
48
|
-
* the leading edge, `'end'` to the trailing edge. Stacks correctly with other pinned columns on
|
|
49
|
-
* the same side, in declaration order.
|
|
50
|
-
*/
|
|
51
|
-
pin?: 'start' | 'end'
|
|
52
|
-
/**
|
|
53
|
-
* A string representation of the column header, used for accessibility announcements. Defaults
|
|
54
|
-
* to `children` when it's a plain string — set this explicitly when the header contains
|
|
55
|
-
* anything else (an icon, a `Tooltip`, etc.).
|
|
56
|
-
*/
|
|
57
|
-
textValue?: string
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* A column within `DataGrid`. Unlike `Table`'s sub-parts, this renders directly — it's a thin
|
|
62
|
-
* wrapper over react-aria-components' own `Column`.
|
|
63
|
-
*
|
|
64
|
-
* When `allowsSorting` is set, renders a sort indicator after `children` — mirrors `Table`'s own
|
|
65
|
-
* `TableColumnHeader`, but reads the active direction from react-aria-components' own
|
|
66
|
-
* `ColumnRenderProps` (via the `children` render-prop form) instead of reaching into table state
|
|
67
|
-
* directly, since this wrapper has no state of its own to read.
|
|
68
|
-
*/
|
|
69
|
-
export const DataGridColumn = ({
|
|
70
|
-
allowsSorting,
|
|
71
|
-
children,
|
|
72
|
-
className,
|
|
73
|
-
defaultWidth,
|
|
74
|
-
id,
|
|
75
|
-
isRowHeader,
|
|
76
|
-
maxWidth,
|
|
77
|
-
minWidth,
|
|
78
|
-
pin,
|
|
79
|
-
textValue
|
|
80
|
-
}: DataGridColumnProps) => (
|
|
81
|
-
<AriaColumn
|
|
82
|
-
allowsSorting={allowsSorting}
|
|
83
|
-
className={classNames('datagrid-col', pin && `datagrid-col-pinned-${pin}`, className)}
|
|
84
|
-
defaultWidth={defaultWidth}
|
|
85
|
-
id={id}
|
|
86
|
-
isRowHeader={isRowHeader}
|
|
87
|
-
maxWidth={maxWidth}
|
|
88
|
-
minWidth={minWidth}
|
|
89
|
-
textValue={textValue}
|
|
90
|
-
// `pin` isn't a react-aria-components `Column` prop, but its collection builder preserves
|
|
91
|
-
// the full props object it's given verbatim (see react-stately's `Column.getCollectionNode`)
|
|
92
|
-
// — passing it through here is what makes it reach `column.props.pin` in
|
|
93
|
-
// `DataGridTableLayout`'s `isStickyColumn` override, which is what positions `pin="start"`.
|
|
94
|
-
// `pin="end"` is handled separately by `DataGridPinBehavior`, which reads the same prop off
|
|
95
|
-
// the header's JSX rather than the resolved collection.
|
|
96
|
-
{...({ pin } as Record<string, unknown>)}
|
|
97
|
-
>
|
|
98
|
-
{allowsSorting
|
|
99
|
-
? ({ sortDirection }) => (
|
|
100
|
-
<>
|
|
101
|
-
{children}
|
|
102
|
-
<span aria-hidden="true" className="datagrid-sort-icon">
|
|
103
|
-
{sortDirection === 'ascending' ? '▲' : sortDirection === 'descending' ? '▼' : '⇅'}
|
|
104
|
-
</span>
|
|
105
|
-
</>
|
|
106
|
-
)
|
|
107
|
-
: children}
|
|
108
|
-
</AriaColumn>
|
|
109
|
-
)
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import React, { ReactElement, ReactNode } from 'react'
|
|
2
|
-
import classNames from 'classnames'
|
|
3
|
-
import { TableHeader as AriaTableHeader } from 'react-aria-components'
|
|
4
|
-
|
|
5
|
-
export interface DataGridHeaderProps<T> {
|
|
6
|
-
/**
|
|
7
|
-
* `DataGridColumn` elements, or a render function paired with `columns` for dynamic column
|
|
8
|
-
* generation.
|
|
9
|
-
*/
|
|
10
|
-
children: ReactNode | ((column: T) => ReactElement)
|
|
11
|
-
/**
|
|
12
|
-
* A string of all className you want applied to the header row group.
|
|
13
|
-
*/
|
|
14
|
-
className?: string
|
|
15
|
-
/**
|
|
16
|
-
* A list of column data objects, rendered via the function form of `children`.
|
|
17
|
-
*/
|
|
18
|
-
columns?: Iterable<T>
|
|
19
|
-
/**
|
|
20
|
-
* Values that should invalidate the column cache when using the `columns`/render-function form
|
|
21
|
-
* of `children` — see `DataGridBody`'s `dependencies` for why this matters.
|
|
22
|
-
*/
|
|
23
|
-
dependencies?: ReadonlyArray<unknown>
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Header row group for `DataGrid`, containing `DataGridColumn`s. Unlike `Table`'s sub-parts,
|
|
28
|
-
* this renders directly — it's a thin wrapper over react-aria-components' own `TableHeader`.
|
|
29
|
-
*
|
|
30
|
-
* Always carries the `datagrid-header` class (not just the caller's `className`) — `DataGrid.scss`
|
|
31
|
-
* uses it to tell header cells from body cells, since react-aria-components renders both as plain
|
|
32
|
-
* `[role="rowgroup"]` divs with no structural difference to select on otherwise.
|
|
33
|
-
*/
|
|
34
|
-
export const DataGridHeader = <T extends object>({
|
|
35
|
-
children,
|
|
36
|
-
className,
|
|
37
|
-
columns,
|
|
38
|
-
dependencies
|
|
39
|
-
}: DataGridHeaderProps<T>) => (
|
|
40
|
-
<AriaTableHeader
|
|
41
|
-
className={classNames('datagrid-header', className)}
|
|
42
|
-
columns={columns}
|
|
43
|
-
dependencies={dependencies}
|
|
44
|
-
>
|
|
45
|
-
{children}
|
|
46
|
-
</AriaTableHeader>
|
|
47
|
-
)
|
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
import React, { ReactElement, RefObject, useEffect, useMemo } from 'react'
|
|
2
|
-
|
|
3
|
-
import { DataGridColumnProps } from './DataGridColumn'
|
|
4
|
-
import { DataGridHeaderProps } from './DataGridHeader'
|
|
5
|
-
import { ColumnGeometryColumn, useColumnGeometry } from './useColumnGeometry'
|
|
6
|
-
|
|
7
|
-
export interface DataGridPinBehaviorProps<T> {
|
|
8
|
-
/**
|
|
9
|
-
* The same header element passed as `DataGrid`'s first child. Read directly (rather than via
|
|
10
|
-
* `TableStateContext`) because react-aria-components' virtualized `<Table>` only ever renders
|
|
11
|
-
* DOM output for its own collection-derived tree — an arbitrary extra child (like this
|
|
12
|
-
* component, if it were nested inside `<Table>`) never mounts, regardless of context
|
|
13
|
-
* availability. Only the static-children form of `DataGridHeader` can be introspected this
|
|
14
|
-
* way; the `columns`/render-function form gets no pinned-column behavior from here (`pin=
|
|
15
|
-
* "start"`'s positioning still works either way — see `DataGridTableLayout`, which reads pin
|
|
16
|
-
* state off the resolved collection instead, not off this introspection).
|
|
17
|
-
*/
|
|
18
|
-
header: ReactElement<DataGridHeaderProps<T>>
|
|
19
|
-
/**
|
|
20
|
-
* A CSS class unique to this `DataGrid` instance, scoping the generated rules below so
|
|
21
|
-
* multiple grids on the same page (with different pinned columns) don't collide.
|
|
22
|
-
*/
|
|
23
|
-
instanceClassName: string
|
|
24
|
-
/**
|
|
25
|
-
* Ref to `DataGrid`'s own scrolling root — used both to measure `fr`-sized pinned columns via
|
|
26
|
-
* `useColumnGeometry` and, for `pin="end"`, to find and reposition its cells on scroll (see
|
|
27
|
-
* below).
|
|
28
|
-
*/
|
|
29
|
-
containerRef: RefObject<HTMLElement | null>
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
interface PinnedColumnInfo {
|
|
33
|
-
index: number
|
|
34
|
-
/** Cumulative width of the end-pinned columns after this one — its distance from the edge. */
|
|
35
|
-
rightOffset: number
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
interface DeclaredColumns {
|
|
39
|
-
all: ColumnGeometryColumn[]
|
|
40
|
-
endIndices: number[]
|
|
41
|
-
startIndices: number[]
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* A cell's (1-based) `aria-colindex` for the (0-based) column position it was declared at.
|
|
46
|
-
*
|
|
47
|
-
* Every cell and column header react-aria-components renders carries `aria-colindex`, set from the
|
|
48
|
-
* column's position in the resolved collection — which is the declaration order this component
|
|
49
|
-
* reads off the header's JSX. That makes it the one stable handle from a declared column back to
|
|
50
|
-
* its rendered DOM, and the reason nothing here counts DOM children: the layout engine windows
|
|
51
|
-
* columns horizontally as well as rows (only the cells intersecting the horizontal viewport are
|
|
52
|
-
* mounted, see `datagrid.mdx`'s Scope section), so a row's child count is the size of the mounted
|
|
53
|
-
* window, not the column count. The `nth-child`/`nth-last-child` arithmetic this used to do was
|
|
54
|
-
* therefore only correct while every column happened to be mounted, and silently moved and
|
|
55
|
-
* shadowed the wrong cells in exactly the wide grids pinning exists for.
|
|
56
|
-
*/
|
|
57
|
-
const colIndexSelector = (index: number) => `[aria-colindex="${index + 1}"]`
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Handles the two things `DataGrid`'s own layout subclass (`DataGridTableLayout`) can't:
|
|
61
|
-
*
|
|
62
|
-
* - `pin="end"`'s positioning. `DataGridTableLayout` reuses the layout engine's own sticky
|
|
63
|
-
* mechanism for `pin="start"`, but that mechanism is hardcoded to the leading edge — there's no
|
|
64
|
-
* upstream hook for a trailing-edge pin. A pure-CSS `position: sticky; right: 0` equivalent
|
|
65
|
-
* doesn't work either: for the *last* child of a horizontally-scrolling container, the browser's
|
|
66
|
-
* own max-scroll bound is defined such that its gap to the viewport's trailing edge never goes
|
|
67
|
-
* negative until the very last pixel of scroll — sticky has nothing to correct until then, so it
|
|
68
|
-
* renders exactly like `position: absolute` for the entire scroll range up to that point (this is
|
|
69
|
-
* a well-known, verified-here CSS limitation, not specific to this layout). So `pin="end"` is
|
|
70
|
-
* positioned imperatively instead: on every scroll (and on mount/resize), each `pin="end"`
|
|
71
|
-
* column's auto-generated wrapper div gets a `transform: translateX(...)` that keeps it flush
|
|
72
|
-
* against the scroll viewport's trailing edge, computed from `useColumnGeometry`'s cumulative
|
|
73
|
-
* offsets, plus the `z-index` that keeps it above the cells it now overlaps. This bypasses React
|
|
74
|
-
* for those two styles, similar to how other virtualized grids (e.g. AG-Grid) handle right-pinned
|
|
75
|
-
* columns — react-aria-components' own layout doesn't re-render an already-mounted cell's style on
|
|
76
|
-
* a plain scroll (its `layoutInfo` doesn't depend on scroll position), so there's no fight between
|
|
77
|
-
* this and React's own reconciliation; newly-mounted rows (from vertical scroll bringing fresh
|
|
78
|
-
* cells into the virtualized window) are covered by the same scroll-driven sync running again.
|
|
79
|
-
* - The scroll-cue box-shadow on the boundary column of each pinned group (the last `pin="start"`
|
|
80
|
-
* column, the first `pin="end"` column) — shown only once the grid has actually scrolled far
|
|
81
|
-
* enough to hide content under it, via the `datagrid-scrolled-start`/`datagrid-scrolled-end`
|
|
82
|
-
* classes `DataGrid` toggles on scroll. This part stays pure CSS since box-shadow, unlike
|
|
83
|
-
* sticky's position offsets, has no "last child" gotcha.
|
|
84
|
-
*
|
|
85
|
-
* Rendered as a plain sibling of `DataGrid`'s `<Table>`, not inside it.
|
|
86
|
-
*/
|
|
87
|
-
export const DataGridPinBehavior = <T extends object>({
|
|
88
|
-
header,
|
|
89
|
-
instanceClassName,
|
|
90
|
-
containerRef
|
|
91
|
-
}: DataGridPinBehaviorProps<T>) => {
|
|
92
|
-
const headerChildren = header.props.children
|
|
93
|
-
|
|
94
|
-
// Re-derived only when a column's own sizing/pin props actually change, not on every parent
|
|
95
|
-
// render: `useColumnGeometry` keys its memoized result off this array's identity, and the
|
|
96
|
-
// scroll-sync effect below keys off that result in turn — rebuilding it unconditionally tore
|
|
97
|
-
// down and re-registered the effect's scroll listener and its two observers on every single
|
|
98
|
-
// `DataGrid` render.
|
|
99
|
-
const columnElements = useMemo(
|
|
100
|
-
() => (typeof headerChildren === 'function' ? [] : React.Children.toArray(headerChildren)),
|
|
101
|
-
[headerChildren]
|
|
102
|
-
)
|
|
103
|
-
const declaredKey = columnElements
|
|
104
|
-
.map((element) => {
|
|
105
|
-
if (!React.isValidElement<DataGridColumnProps>(element)) return ''
|
|
106
|
-
const { defaultWidth, maxWidth, minWidth, pin } = element.props
|
|
107
|
-
return `${defaultWidth ?? ''}/${minWidth ?? ''}/${maxWidth ?? ''}/${pin ?? ''}`
|
|
108
|
-
})
|
|
109
|
-
.join('|')
|
|
110
|
-
|
|
111
|
-
const {
|
|
112
|
-
all: allColumns,
|
|
113
|
-
endIndices,
|
|
114
|
-
startIndices
|
|
115
|
-
} = useMemo<DeclaredColumns>(() => {
|
|
116
|
-
const declared: DeclaredColumns = { all: [], endIndices: [], startIndices: [] }
|
|
117
|
-
columnElements.forEach((element, index) => {
|
|
118
|
-
if (!React.isValidElement<DataGridColumnProps>(element)) return
|
|
119
|
-
const { defaultWidth, maxWidth, minWidth, pin } = element.props
|
|
120
|
-
declared.all.push({ id: index, defaultWidth, maxWidth, minWidth })
|
|
121
|
-
if (pin === 'start') declared.startIndices.push(index)
|
|
122
|
-
else if (pin === 'end') declared.endIndices.push(index)
|
|
123
|
-
})
|
|
124
|
-
return declared
|
|
125
|
-
// `declaredKey` is the value-based identity of `columnElements` — a fresh JSX array every
|
|
126
|
-
// render, so its own reference can't be the dependency.
|
|
127
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
128
|
-
}, [declaredKey])
|
|
129
|
-
|
|
130
|
-
const offsets = useColumnGeometry(allColumns, containerRef)
|
|
131
|
-
|
|
132
|
-
// Cumulative width of the end-pinned columns after this one, keyed by column index — how far
|
|
133
|
-
// from the viewport's trailing edge each one needs to sit so they stack correctly.
|
|
134
|
-
const endPinnedInfo = useMemo(() => {
|
|
135
|
-
const info = new Map<number, PinnedColumnInfo>()
|
|
136
|
-
let right = 0
|
|
137
|
-
for (let i = endIndices.length - 1; i >= 0; i--) {
|
|
138
|
-
const index = endIndices[i]
|
|
139
|
-
if (index == null) continue
|
|
140
|
-
const width = offsets.get(index)?.width ?? 0
|
|
141
|
-
info.set(index, { index, rightOffset: right })
|
|
142
|
-
right += width
|
|
143
|
-
}
|
|
144
|
-
return info
|
|
145
|
-
}, [endIndices, offsets])
|
|
146
|
-
|
|
147
|
-
useEffect(() => {
|
|
148
|
-
const container = containerRef.current
|
|
149
|
-
if (!container || endPinnedInfo.size === 0) return
|
|
150
|
-
|
|
151
|
-
let frame: number | null = null
|
|
152
|
-
// The wrappers this effect has written inline styles onto, so they can be handed back
|
|
153
|
-
// unstyled when it tears down — un-pinning a column at runtime (or unmounting this behavior
|
|
154
|
-
// while the grid stays) otherwise left its cells stuck at their last scroll offset.
|
|
155
|
-
const styled = new Set<HTMLElement>()
|
|
156
|
-
|
|
157
|
-
const sync = () => {
|
|
158
|
-
frame = null
|
|
159
|
-
const clientWidth = container.clientWidth
|
|
160
|
-
const scrollLeft = container.scrollLeft
|
|
161
|
-
const rows = container.querySelectorAll<HTMLElement>('[role="row"]')
|
|
162
|
-
rows.forEach((row) => {
|
|
163
|
-
endPinnedInfo.forEach(({ index, rightOffset }) => {
|
|
164
|
-
const cell = row.querySelector<HTMLElement>(colIndexSelector(index))
|
|
165
|
-
const wrapper = cell?.parentElement
|
|
166
|
-
if (!wrapper) return
|
|
167
|
-
const offset = offsets.get(index)
|
|
168
|
-
if (!offset) return
|
|
169
|
-
const rightEdge = offset.offset + offset.width
|
|
170
|
-
const delta = clientWidth - rightOffset - rightEdge + scrollLeft
|
|
171
|
-
wrapper.style.transform = `translateX(${delta}px)`
|
|
172
|
-
// Above the unpinned cells it now overlaps. Set here rather than in the generated
|
|
173
|
-
// stylesheet below because the virtualizer writes the wrapper's own `z-index` inline,
|
|
174
|
-
// which no plain rule can outrank without `!important`.
|
|
175
|
-
wrapper.style.zIndex = '2'
|
|
176
|
-
styled.add(wrapper)
|
|
177
|
-
})
|
|
178
|
-
})
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
const scheduleSync = () => {
|
|
182
|
-
if (frame == null) frame = requestAnimationFrame(sync)
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
scheduleSync()
|
|
186
|
-
container.addEventListener('scroll', scheduleSync, { passive: true })
|
|
187
|
-
const resizeObserver =
|
|
188
|
-
typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(scheduleSync)
|
|
189
|
-
resizeObserver?.observe(container)
|
|
190
|
-
const mutationObserver =
|
|
191
|
-
typeof MutationObserver === 'undefined' ? null : new MutationObserver(scheduleSync)
|
|
192
|
-
mutationObserver?.observe(container, { childList: true, subtree: true })
|
|
193
|
-
|
|
194
|
-
return () => {
|
|
195
|
-
if (frame != null) cancelAnimationFrame(frame)
|
|
196
|
-
container.removeEventListener('scroll', scheduleSync)
|
|
197
|
-
resizeObserver?.disconnect()
|
|
198
|
-
mutationObserver?.disconnect()
|
|
199
|
-
styled.forEach((wrapper) => {
|
|
200
|
-
wrapper.style.transform = ''
|
|
201
|
-
wrapper.style.zIndex = ''
|
|
202
|
-
})
|
|
203
|
-
}
|
|
204
|
-
}, [containerRef, endPinnedInfo, offsets])
|
|
205
|
-
|
|
206
|
-
if (startIndices.length === 0 && endIndices.length === 0) return null
|
|
207
|
-
|
|
208
|
-
const rules: string[] = []
|
|
209
|
-
|
|
210
|
-
if (startIndices.length > 0) {
|
|
211
|
-
const lastStartIndex = Math.max(...startIndices)
|
|
212
|
-
rules.push(
|
|
213
|
-
`.${instanceClassName}.datagrid-scrolled-start ${colIndexSelector(lastStartIndex)} { box-shadow: var(--datagrid-pin-cue-shadow-start); }`
|
|
214
|
-
)
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
if (endIndices.length > 0) {
|
|
218
|
-
const firstEndIndex = Math.min(...endIndices)
|
|
219
|
-
rules.push(
|
|
220
|
-
`.${instanceClassName}.datagrid-scrolled-end ${colIndexSelector(firstEndIndex)} { box-shadow: var(--datagrid-pin-cue-shadow-end); }`
|
|
221
|
-
)
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
return <style>{rules.join('\n')}</style>
|
|
225
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import React, { ReactElement, ReactNode } from 'react'
|
|
2
|
-
import classNames from 'classnames'
|
|
3
|
-
import { Key, Row as AriaRow } from 'react-aria-components'
|
|
4
|
-
|
|
5
|
-
export interface DataGridRowProps<T> {
|
|
6
|
-
/**
|
|
7
|
-
* `DataGridCell` elements, or a render function called once per column with that column's
|
|
8
|
-
* data — required when the row's parent `DataGridBody` uses the `items`/render-function form.
|
|
9
|
-
*/
|
|
10
|
-
children: ReactNode | ((column: T) => ReactElement)
|
|
11
|
-
/**
|
|
12
|
-
* A string of all className you want applied to the row.
|
|
13
|
-
*/
|
|
14
|
-
className?: string
|
|
15
|
-
/**
|
|
16
|
-
* A list of column data objects, rendered via the function form of `children`.
|
|
17
|
-
*/
|
|
18
|
-
columns?: Iterable<T>
|
|
19
|
-
/**
|
|
20
|
-
* The unique id of the row, referenced by `selectedKeys`/`disabledKeys`.
|
|
21
|
-
*/
|
|
22
|
-
id?: Key
|
|
23
|
-
/**
|
|
24
|
-
* A string representation of the row's contents, used for typeahead.
|
|
25
|
-
*/
|
|
26
|
-
textValue?: string
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* A row within `DataGrid`. Unlike `Table`'s sub-parts, this renders directly — it's a thin
|
|
31
|
-
* wrapper over react-aria-components' own `Row`.
|
|
32
|
-
*/
|
|
33
|
-
export const DataGridRow = <T extends object>({
|
|
34
|
-
children,
|
|
35
|
-
className,
|
|
36
|
-
columns,
|
|
37
|
-
id,
|
|
38
|
-
textValue
|
|
39
|
-
}: DataGridRowProps<T>) => (
|
|
40
|
-
<AriaRow
|
|
41
|
-
className={classNames('datagrid-row', className)}
|
|
42
|
-
columns={columns}
|
|
43
|
-
id={id}
|
|
44
|
-
textValue={textValue}
|
|
45
|
-
>
|
|
46
|
-
{children}
|
|
47
|
-
</AriaRow>
|
|
48
|
-
)
|