@chassis-ui/react 0.1.3 → 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.d.ts +2 -0
- package/dist/accordion.js +1 -0
- package/dist/alert.d.ts +2 -0
- package/dist/alert.js +1 -0
- package/dist/autocomplete.d.ts +2 -0
- package/dist/autocomplete.js +1 -0
- package/dist/avatar.d.ts +2 -0
- package/dist/avatar.js +1 -0
- package/dist/badge.d.ts +2 -0
- package/dist/badge.js +1 -0
- package/dist/breadcrumb.d.ts +2 -0
- package/dist/breadcrumb.js +1 -0
- package/dist/button-group.d.ts +2 -0
- package/dist/button-group.js +1 -0
- package/dist/button.d.ts +3 -0
- package/dist/button.js +1 -0
- package/dist/calendar.d.ts +3 -0
- package/dist/calendar.js +1 -0
- package/dist/card.d.ts +2 -0
- package/dist/card.js +1 -0
- package/dist/carousel.d.ts +2 -0
- package/dist/carousel.js +1 -0
- package/dist/checkbox.d.ts +3 -0
- package/dist/checkbox.js +1 -0
- package/dist/chip-input.d.ts +2 -0
- package/dist/chip-input.js +1 -0
- package/dist/chip.d.ts +2 -0
- package/dist/chip.js +1 -0
- 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 +66 -0
- 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 +55 -0
- 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-AE6_iSLJ.js +2 -0
- package/dist/chunks/FormHelp-AE6_iSLJ.js.map +1 -0
- package/dist/chunks/FormLabel-CYcQiFUI.js +2 -0
- package/dist/chunks/FormLabel-CYcQiFUI.js.map +1 -0
- package/dist/chunks/Icon-CioraWLF.d.ts +37 -0
- 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-nrd0JWlO.d.ts +71 -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/{src/components/menu/MenuItemDef.ts → dist/chunks/MenuItemDef-D0VDtYIQ.d.ts} +25 -25
- 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-D2oztCvs.js +2 -0
- package/dist/chunks/badge-D2oztCvs.js.map +1 -0
- package/dist/chunks/breadcrumb-s6J9itez.js +2 -0
- 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 -0
- 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-YXn3bj_d.js +2 -0
- 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-Bwl5ef5B.js +2 -0
- 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 +42 -0
- 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 -0
- 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-CDM6qrmV.js +2 -0
- package/dist/chunks/file-input-CDM6qrmV.js.map +1 -0
- package/dist/chunks/flex-CmlJbKVj.js +2 -0
- 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 -0
- package/dist/chunks/focus-ring-SR_LwaN7.js.map +1 -0
- package/dist/chunks/focusRedirect-BrvK3U_o.js +2 -0
- package/dist/chunks/focusRedirect-BrvK3U_o.js.map +1 -0
- package/dist/chunks/form-GpdAyWWi.js +2 -0
- 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-BQsT6YtE.js +2 -0
- package/dist/chunks/icon-BQsT6YtE.js.map +1 -0
- package/dist/chunks/iconConfig-C6gbYhsD.d.ts +71 -0
- package/dist/chunks/iconSlot-BNu2MrFI.js +2 -0
- package/dist/chunks/iconSlot-BNu2MrFI.js.map +1 -0
- package/dist/chunks/index-4cKG9KWB.d.ts +85 -0
- package/dist/chunks/index-6uob77s9.d.ts +81 -0
- package/dist/chunks/index-91YA-jkp.d.ts +127 -0
- package/dist/chunks/index-9rQeMqVI.d.ts +42 -0
- package/dist/chunks/index-B0-8n-Gs.d.ts +106 -0
- package/dist/chunks/index-B2K-O9kl.d.ts +59 -0
- package/dist/chunks/index-B8uaSJA9.d.ts +96 -0
- package/dist/chunks/index-BA-raEMm.d.ts +29 -0
- package/dist/chunks/index-BAsbRx5n.d.ts +54 -0
- package/dist/chunks/index-BF3OWUVc.d.ts +66 -0
- package/dist/chunks/index-BNf0jIIL.d.ts +213 -0
- package/dist/chunks/index-BO9jLOIb.d.ts +59 -0
- package/dist/chunks/index-BTTeKpiE.d.ts +364 -0
- package/dist/chunks/index-BVGGIaPX.d.ts +111 -0
- package/dist/chunks/index-B_UzbGOa.d.ts +195 -0
- package/dist/chunks/index-Bi8FFadV.d.ts +99 -0
- package/dist/chunks/index-Bkj17NEQ.d.ts +51 -0
- package/dist/chunks/index-Bm2NpgND.d.ts +82 -0
- package/dist/chunks/index-BnR7wjax.d.ts +68 -0
- package/dist/chunks/index-BxROljJI.d.ts +18 -0
- package/dist/chunks/index-Bz8MDq0H.d.ts +85 -0
- package/dist/chunks/index-C4Dks__B.d.ts +139 -0
- package/dist/chunks/index-CCXJXToc.d.ts +53 -0
- package/dist/chunks/index-CFnQubsV.d.ts +123 -0
- package/dist/chunks/index-CJXKl97l.d.ts +120 -0
- package/dist/chunks/index-CJzKu7QI.d.ts +41 -0
- package/dist/chunks/index-CKx1KHED.d.ts +303 -0
- package/dist/chunks/index-COsIPd8L.d.ts +63 -0
- package/dist/chunks/index-CRfm7W6C.d.ts +231 -0
- package/dist/chunks/index-CTpwB1yR.d.ts +236 -0
- package/dist/chunks/index-CVUMS0x7.d.ts +74 -0
- package/dist/chunks/index-CYgBmZ8w.d.ts +271 -0
- package/dist/chunks/index-Cc4SSslb.d.ts +205 -0
- package/dist/chunks/index-CftERHnE.d.ts +25 -0
- package/dist/chunks/index-Ci7AEgEc.d.ts +47 -0
- package/dist/chunks/index-CqZ68Z8R.d.ts +415 -0
- package/dist/chunks/index-CsARGAzD.d.ts +50 -0
- package/dist/chunks/index-CsMIgBsd.d.ts +40 -0
- package/dist/chunks/index-D9PZHY_I.d.ts +136 -0
- package/dist/chunks/index-DAoPg59I.d.ts +81 -0
- package/dist/chunks/index-DHGgezXU.d.ts +59 -0
- package/dist/chunks/index-DHOG_rjE.d.ts +121 -0
- package/dist/chunks/index-DJfga0Ce.d.ts +57 -0
- package/dist/chunks/index-DJr_ZK4b.d.ts +110 -0
- package/dist/chunks/index-DMbdEm__.d.ts +119 -0
- package/dist/chunks/index-DXjbI7Yv.d.ts +133 -0
- package/dist/chunks/index-DaHQdNul.d.ts +182 -0
- package/dist/chunks/index-Dcc_W6Kv.d.ts +147 -0
- package/dist/chunks/index-DceCODH9.d.ts +138 -0
- package/dist/chunks/index-Ddd7iWfm.d.ts +32 -0
- package/dist/chunks/index-Dfg4Ftb8.d.ts +69 -0
- package/dist/chunks/index-Dfy1YW5j.d.ts +74 -0
- package/dist/chunks/index-DgHvXzVh.d.ts +208 -0
- package/dist/chunks/index-Dh5CaHTP.d.ts +45 -0
- package/dist/chunks/index-DjXRq-n3.d.ts +98 -0
- package/dist/chunks/index-DjrEvKd-.d.ts +193 -0
- package/dist/chunks/index-DtbUXxjz.d.ts +54 -0
- 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 +67 -0
- package/dist/chunks/index-I-H3VJ-L.d.ts +229 -0
- package/dist/chunks/index-RHJhkSY-.d.ts +273 -0
- package/dist/chunks/index-e7SJkI_m.d.ts +102 -0
- package/dist/chunks/index-g74gO0pc.d.ts +36 -0
- package/dist/chunks/index-qMq_-GY2.d.ts +105 -0
- package/dist/chunks/index-t_x6jj7l.d.ts +97 -0
- package/dist/chunks/input-adorn-DwdX-jxA.js +2 -0
- package/dist/chunks/input-adorn-DwdX-jxA.js.map +1 -0
- package/dist/chunks/input-group-Cuiuf4Dl.js +2 -0
- 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 -0
- package/dist/chunks/overlayPlacement-BtS90IVf.js.map +1 -0
- package/dist/chunks/overlayPlacement-CIsLpycT.d.ts +7 -0
- 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 +41 -0
- package/dist/chunks/popover-Bdg8D4sm.js +2 -0
- package/dist/chunks/popover-Bdg8D4sm.js.map +1 -0
- package/dist/chunks/progress-zWkTltor.js +2 -0
- 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-CT_8TKL7.js +2 -0
- 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-DZh_5Df8.d.ts +24 -0
- package/dist/chunks/renderFormField-Brkw1yA6.js +2 -0
- package/dist/chunks/renderFormField-Brkw1yA6.js.map +1 -0
- package/dist/chunks/renderFormField-ChNagAFN.d.ts +15 -0
- package/dist/chunks/renderMenuItemContent-DUezZrpj.js +2 -0
- 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 -0
- 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-CsMiQbpq.js +2 -0
- package/dist/chunks/stack-CsMiQbpq.js.map +1 -0
- package/dist/chunks/static-table-D0M4oc_t.js +2 -0
- 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 -0
- 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 +35 -0
- 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 -0
- 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 -0
- 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 -0
- package/dist/chunks/useForkedRef-DVEfT-KI.js.map +1 -0
- package/dist/chunks/useFormField-BOqmBTC4.js +2 -0
- package/dist/chunks/useFormField-BOqmBTC4.js.map +1 -0
- package/dist/chunks/useIsomorphicLayoutEffect-BbqRwuqn.js +2 -0
- 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 -0
- 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 +2 -0
- package/dist/close-button.js +1 -0
- package/dist/collapse.d.ts +2 -0
- package/dist/collapse.js +1 -0
- package/dist/color-input.d.ts +2 -0
- package/dist/color-input.js +1 -0
- package/dist/combobox.d.ts +3 -0
- package/dist/combobox.js +1 -0
- package/dist/context-menu.d.ts +2 -0
- package/dist/context-menu.js +1 -0
- package/dist/datagrid.d.ts +2 -0
- package/dist/datagrid.js +1 -0
- package/dist/datepicker.d.ts +2 -0
- package/dist/datepicker.js +1 -0
- package/dist/divider.d.ts +2 -0
- package/dist/divider.js +1 -0
- package/dist/drawer.d.ts +2 -0
- package/dist/drawer.js +1 -0
- package/dist/file-input.d.ts +2 -0
- package/dist/file-input.js +1 -0
- package/dist/flex.d.ts +2 -0
- package/dist/flex.js +1 -0
- package/dist/floating-input.d.ts +2 -0
- package/dist/floating-input.js +1 -0
- package/dist/form-field.d.ts +2 -0
- package/dist/form-field.js +1 -0
- package/dist/form.d.ts +2 -0
- package/dist/form.js +1 -0
- package/dist/grid.d.ts +2 -0
- package/dist/grid.js +1 -0
- package/dist/icon.d.ts +4 -0
- package/dist/icon.js +1 -0
- package/dist/index.d.ts +84 -6369
- package/dist/index.js +1 -2
- package/dist/input-adorn.d.ts +2 -0
- package/dist/input-adorn.js +1 -0
- package/dist/input-group.d.ts +2 -0
- package/dist/input-group.js +1 -0
- package/dist/link.d.ts +3 -0
- package/dist/link.js +1 -0
- package/dist/list.d.ts +2 -0
- package/dist/list.js +1 -0
- package/dist/menu.d.ts +4 -0
- package/dist/menu.js +1 -0
- package/dist/modal.d.ts +2 -0
- package/dist/modal.js +1 -0
- package/dist/nav-overflow.d.ts +2 -0
- package/dist/nav-overflow.js +1 -0
- package/dist/nav.d.ts +2 -0
- package/dist/nav.js +1 -0
- package/dist/navbar.d.ts +2 -0
- package/dist/navbar.js +1 -0
- package/dist/notification.d.ts +2 -0
- package/dist/notification.js +1 -0
- package/dist/number-field.d.ts +2 -0
- package/dist/number-field.js +1 -0
- package/dist/otp-input.d.ts +2 -0
- package/dist/otp-input.js +1 -0
- package/dist/pagination.d.ts +2 -0
- package/dist/pagination.js +1 -0
- package/dist/password-strength.d.ts +2 -0
- package/dist/password-strength.js +1 -0
- package/dist/placeholder.d.ts +2 -0
- package/dist/placeholder.js +1 -0
- package/dist/popover.d.ts +2 -0
- package/dist/popover.js +1 -0
- package/dist/portal.d.ts +2 -0
- package/dist/portal.js +1 -0
- package/dist/progress.d.ts +2 -0
- package/dist/progress.js +1 -0
- package/dist/radio.d.ts +2 -0
- package/dist/radio.js +1 -0
- package/dist/range-input.d.ts +2 -0
- package/dist/range-input.js +1 -0
- 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.d.ts +2 -0
- package/dist/select.js +1 -0
- package/dist/skeleton.d.ts +2 -0
- package/dist/skeleton.js +1 -0
- package/dist/spinner.d.ts +2 -0
- package/dist/spinner.js +1 -0
- package/dist/stack.d.ts +2 -0
- package/dist/stack.js +1 -0
- package/dist/static-table.d.ts +2 -0
- package/dist/static-table.js +1 -0
- package/dist/stepper.d.ts +2 -0
- package/dist/stepper.js +1 -0
- package/dist/style.css +1 -1
- package/dist/switch.d.ts +2 -0
- package/dist/switch.js +1 -0
- package/dist/table.d.ts +2 -0
- package/dist/table.js +1 -0
- package/dist/tabs.d.ts +2 -0
- package/dist/tabs.js +1 -0
- package/dist/text-input.d.ts +2 -0
- package/dist/text-input.js +1 -0
- package/dist/textarea.d.ts +2 -0
- package/dist/textarea.js +1 -0
- package/dist/time-field.d.ts +2 -0
- package/dist/time-field.js +1 -0
- package/dist/toast.d.ts +2 -0
- package/dist/toast.js +1 -0
- package/dist/tooltip.d.ts +2 -0
- package/dist/tooltip.js +1 -0
- 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 +120 -53
- 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 -8
- 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 -6
- 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 -6
- package/src/components/badge/Badge.tsx +0 -94
- package/src/components/badge/index.ts +0 -2
- package/src/components/breadcrumb/Breadcrumb.tsx +0 -68
- package/src/components/breadcrumb/BreadcrumbItem.tsx +0 -38
- package/src/components/breadcrumb/index.ts +0 -4
- package/src/components/button/Button.tsx +0 -232
- package/src/components/button/index.ts +0 -2
- 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 -4
- 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 -6
- 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 -22
- package/src/components/carousel/Carousel.tsx +0 -753
- package/src/components/carousel/CarouselControlButton.tsx +0 -74
- package/src/components/carousel/CarouselControlNext.tsx +0 -22
- package/src/components/carousel/CarouselControlPrev.tsx +0 -22
- 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 -61
- package/src/components/carousel/carouselEngine.ts +0 -170
- package/src/components/carousel/context.ts +0 -29
- package/src/components/carousel/index.ts +0 -21
- 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 -4
- package/src/components/chip/Chip.tsx +0 -184
- package/src/components/chip/index.ts +0 -2
- 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 -2
- package/src/components/close-button/CloseButton.tsx +0 -205
- package/src/components/close-button/index.ts +0 -2
- package/src/components/collapse/Collapse.tsx +0 -128
- package/src/components/collapse/index.ts +0 -2
- package/src/components/color-input/ColorInput.tsx +0 -106
- package/src/components/color-input/index.ts +0 -2
- 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 -6
- 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 -14
- 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 -4
- 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 -10
- package/src/components/file-input/FileInput.tsx +0 -100
- package/src/components/file-input/index.ts +0 -2
- package/src/components/flex/Flex.tsx +0 -134
- package/src/components/flex/index.ts +0 -2
- package/src/components/floating-input/FloatingInput.tsx +0 -94
- package/src/components/floating-input/index.ts +0 -2
- 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 -8
- 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 -2
- 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 -10
- package/src/components/icon/Icon.tsx +0 -74
- package/src/components/icon/index.ts +0 -2
- package/src/components/input-adorn/InputAdorn.tsx +0 -55
- package/src/components/input-adorn/index.ts +0 -2
- 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 -4
- package/src/components/link/Link.tsx +0 -148
- package/src/components/link/index.ts +0 -2
- package/src/components/list/List.tsx +0 -193
- package/src/components/list/ListItem.tsx +0 -91
- package/src/components/list/index.ts +0 -4
- 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/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 -19
- 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 -10
- 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 -7
- 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 -34
- package/src/components/navbar/index.ts +0 -10
- package/src/components/notification/Notification.scss +0 -15
- package/src/components/notification/Notification.tsx +0 -187
- 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 -17
- 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 -2
- package/src/components/pagination/Pagination.tsx +0 -199
- package/src/components/pagination/PaginationItem.tsx +0 -152
- package/src/components/pagination/index.ts +0 -4
- package/src/components/password-strength/PasswordStrength.tsx +0 -155
- package/src/components/password-strength/index.ts +0 -2
- package/src/components/password-strength/strengthScore.ts +0 -79
- package/src/components/placeholder/Placeholder.tsx +0 -178
- package/src/components/placeholder/index.ts +0 -2
- package/src/components/popover/Popover.tsx +0 -269
- package/src/components/popover/index.ts +0 -2
- package/src/components/progress/Progress.tsx +0 -154
- package/src/components/progress/ProgressBar.tsx +0 -88
- package/src/components/progress/index.ts +0 -4
- 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 -4
- package/src/components/range-input/RangeInput.tsx +0 -109
- package/src/components/range-input/index.ts +0 -2
- package/src/components/select/Select.tsx +0 -277
- package/src/components/select/index.ts +0 -2
- package/src/components/skeleton/Skeleton.tsx +0 -89
- package/src/components/skeleton/SkeletonLoader.tsx +0 -91
- package/src/components/skeleton/index.ts +0 -4
- package/src/components/spinner/Spinner.tsx +0 -77
- package/src/components/spinner/index.ts +0 -2
- package/src/components/stack/Stack.tsx +0 -81
- package/src/components/stack/index.ts +0 -2
- package/src/components/stepper/Stepper.tsx +0 -172
- package/src/components/stepper/StepperItem.tsx +0 -66
- package/src/components/stepper/index.ts +0 -4
- package/src/components/switch/Switch.tsx +0 -259
- package/src/components/switch/index.ts +0 -2
- package/src/components/table/Table.css +0 -39
- package/src/components/table/Table.tsx +0 -413
- 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 -12
- 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 -8
- package/src/components/text-input/TextInput.tsx +0 -188
- package/src/components/text-input/index.ts +0 -2
- package/src/components/textarea/Textarea.tsx +0 -145
- package/src/components/textarea/index.ts +0 -2
- package/src/components/toast/Toast.tsx +0 -219
- package/src/components/toast/ToastBody.tsx +0 -64
- package/src/components/toast/ToastFooter.tsx +0 -47
- package/src/components/toast/ToastHeader.tsx +0 -104
- 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 -18
- package/src/components/toast/toastQueue.ts +0 -56
- package/src/components/tooltip/Tooltip.tsx +0 -171
- package/src/components/tooltip/index.ts +0 -2
- 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/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 -502
- 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/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 -53
- package/src/utils/renderMenuItemContent.tsx +0 -62
- package/src/utils/setVisibleRangeStart.ts +0 -64
- package/src/utils/spacingClassName.ts +0 -14
- package/src/utils/suppressFocusRingGlobally.ts +0 -84
- package/src/utils/triggerElement.ts +0 -25
- package/src/utils/validationClassName.ts +0 -8
- package/src/utils/virtualFocusStyle.ts +0 -16
|
@@ -1,413 +0,0 @@
|
|
|
1
|
-
import React, { ReactElement, ReactNode, Ref, forwardRef, useRef } from 'react'
|
|
2
|
-
import classNames from 'classnames'
|
|
3
|
-
import {
|
|
4
|
-
AriaCheckboxProps,
|
|
5
|
-
Key,
|
|
6
|
-
useCheckbox,
|
|
7
|
-
useTable,
|
|
8
|
-
useTableCell,
|
|
9
|
-
useTableColumnHeader,
|
|
10
|
-
useTableHeaderRow,
|
|
11
|
-
useTableRow,
|
|
12
|
-
useTableRowGroup,
|
|
13
|
-
useTableSelectAllCheckbox,
|
|
14
|
-
useTableSelectionCheckbox
|
|
15
|
-
} from 'react-aria'
|
|
16
|
-
import {
|
|
17
|
-
Selection,
|
|
18
|
-
SortDescriptor,
|
|
19
|
-
TableBodyProps,
|
|
20
|
-
TableHeaderProps,
|
|
21
|
-
TableState,
|
|
22
|
-
useTableState,
|
|
23
|
-
useToggleState
|
|
24
|
-
} from 'react-stately'
|
|
25
|
-
|
|
26
|
-
import { useForkedRef } from '../../hooks/useForkedRef'
|
|
27
|
-
import { ContextColor } from '../../types'
|
|
28
|
-
import './Table.css'
|
|
29
|
-
|
|
30
|
-
// `GridNode<T>` (from `@react-types/shared`) isn't re-exported by either package's public
|
|
31
|
-
// surface — derived from the hooks' own parameter types instead of adding an undeclared
|
|
32
|
-
// dependency on react-aria/react-stately's shared internals package.
|
|
33
|
-
type ColumnNode<T> = Parameters<typeof useTableColumnHeader<T>>[0]['node']
|
|
34
|
-
type RowNode<T> = Parameters<typeof useTableRow<T>>[0]['node']
|
|
35
|
-
type CellNode<T> = Parameters<typeof useTableCell<T>>[0]['node']
|
|
36
|
-
|
|
37
|
-
export interface TableProps<T extends object> {
|
|
38
|
-
/**
|
|
39
|
-
* An accessible label for the table, used when there's no visible heading.
|
|
40
|
-
*/
|
|
41
|
-
'aria-label'?: string
|
|
42
|
-
/**
|
|
43
|
-
* Identifies a visible heading element for the table.
|
|
44
|
-
*/
|
|
45
|
-
'aria-labelledby'?: string
|
|
46
|
-
/**
|
|
47
|
-
* Set the vertical alignment of cell content.
|
|
48
|
-
*/
|
|
49
|
-
align?: 'bottom' | 'middle' | 'top'
|
|
50
|
-
/**
|
|
51
|
-
* Add borders on all sides of the table and cells.
|
|
52
|
-
*/
|
|
53
|
-
bordered?: boolean
|
|
54
|
-
/**
|
|
55
|
-
* Remove borders on all sides of the table and cells.
|
|
56
|
-
*/
|
|
57
|
-
borderless?: boolean
|
|
58
|
-
/**
|
|
59
|
-
* Content shown above the table, functioning as a heading for it.
|
|
60
|
-
*/
|
|
61
|
-
caption?: ReactNode
|
|
62
|
-
/**
|
|
63
|
-
* A `TableHeader` and a `TableBody`, each built from `TableColumn`/`TableRow`/
|
|
64
|
-
* `TableCell` — read as data to build the table's collection. Not rendered directly.
|
|
65
|
-
*/
|
|
66
|
-
children: [
|
|
67
|
-
ReactElement<TableHeaderProps<T> & { className?: string }>,
|
|
68
|
-
ReactElement<TableBodyProps<T> & { className?: string }>
|
|
69
|
-
]
|
|
70
|
-
/**
|
|
71
|
-
* A string of all className you want applied to the component.
|
|
72
|
-
*/
|
|
73
|
-
className?: string
|
|
74
|
-
/**
|
|
75
|
-
* Sets the color of the component.
|
|
76
|
-
*/
|
|
77
|
-
color?: ContextColor
|
|
78
|
-
/**
|
|
79
|
-
* A list of row keys to disable. Disabled rows cannot be selected, focused, or interacted with.
|
|
80
|
-
*/
|
|
81
|
-
disabledKeys?: Iterable<Key>
|
|
82
|
-
/**
|
|
83
|
-
* Content shown below the table in a `<tfoot>`, e.g. a totals row. Rendered as plain markup —
|
|
84
|
-
* not part of the keyboard-navigable grid.
|
|
85
|
-
*/
|
|
86
|
-
footer?: ReactNode
|
|
87
|
-
/**
|
|
88
|
-
* Enable a hover state on table rows.
|
|
89
|
-
*/
|
|
90
|
-
hover?: boolean
|
|
91
|
-
/**
|
|
92
|
-
* `id` forwarded to the table element.
|
|
93
|
-
*/
|
|
94
|
-
id?: string
|
|
95
|
-
/**
|
|
96
|
-
* Handler that is called when the selection changes.
|
|
97
|
-
*/
|
|
98
|
-
onSelectionChange?: (keys: Selection) => void
|
|
99
|
-
/**
|
|
100
|
-
* Handler that is called when a column is sorted.
|
|
101
|
-
*/
|
|
102
|
-
onSortChange?: (descriptor: SortDescriptor) => void
|
|
103
|
-
/**
|
|
104
|
-
* Make any table responsive across all viewports or pick a maximum breakpoint.
|
|
105
|
-
*/
|
|
106
|
-
responsive?: boolean | 'sm' | 'md' | 'lg' | 'xl' | '2xl'
|
|
107
|
-
/**
|
|
108
|
-
* The currently selected row keys (controlled).
|
|
109
|
-
*/
|
|
110
|
-
selectedKeys?: Selection
|
|
111
|
-
/**
|
|
112
|
-
* The type of selection that is allowed.
|
|
113
|
-
*/
|
|
114
|
-
selectionMode?: 'none' | 'single' | 'multiple'
|
|
115
|
-
/**
|
|
116
|
-
* Make table more compact by cutting all cell padding.
|
|
117
|
-
*/
|
|
118
|
-
sm?: boolean
|
|
119
|
-
/**
|
|
120
|
-
* The current sort column and direction.
|
|
121
|
-
*/
|
|
122
|
-
sortDescriptor?: SortDescriptor
|
|
123
|
-
/**
|
|
124
|
-
* Convert rows into stacked label/value blocks below a container width, for tables with too
|
|
125
|
-
* many columns to read comfortably even with horizontal scrolling. `true` always stacks; a
|
|
126
|
-
* breakpoint name stacks only below it. Implies `responsive` when `responsive` isn't set
|
|
127
|
-
* separately, since stacking needs the same `.table-responsive` container-query ancestor.
|
|
128
|
-
* Labels come from each `TableColumn`'s text (or its `textValue`, for non-text headers).
|
|
129
|
-
*/
|
|
130
|
-
stacked?: boolean | 'sm' | 'md' | 'lg' | 'xl' | '2xl'
|
|
131
|
-
/**
|
|
132
|
-
* Add zebra-striping to table rows.
|
|
133
|
-
*/
|
|
134
|
-
striped?: boolean
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
const TableInner = <T extends object>(
|
|
138
|
-
{
|
|
139
|
-
align,
|
|
140
|
-
bordered,
|
|
141
|
-
borderless,
|
|
142
|
-
caption,
|
|
143
|
-
children,
|
|
144
|
-
className,
|
|
145
|
-
color,
|
|
146
|
-
disabledKeys,
|
|
147
|
-
footer,
|
|
148
|
-
hover,
|
|
149
|
-
id,
|
|
150
|
-
onSelectionChange,
|
|
151
|
-
onSortChange,
|
|
152
|
-
responsive,
|
|
153
|
-
selectedKeys,
|
|
154
|
-
selectionMode = 'none',
|
|
155
|
-
sm,
|
|
156
|
-
sortDescriptor,
|
|
157
|
-
stacked,
|
|
158
|
-
striped,
|
|
159
|
-
...rest
|
|
160
|
-
}: TableProps<T>,
|
|
161
|
-
forwardedRef: Ref<HTMLTableElement>
|
|
162
|
-
) => {
|
|
163
|
-
const state = useTableState<T>({
|
|
164
|
-
children,
|
|
165
|
-
disabledKeys,
|
|
166
|
-
onSelectionChange,
|
|
167
|
-
onSortChange,
|
|
168
|
-
selectedKeys,
|
|
169
|
-
selectionMode,
|
|
170
|
-
showSelectionCheckboxes: selectionMode === 'multiple',
|
|
171
|
-
sortDescriptor
|
|
172
|
-
})
|
|
173
|
-
|
|
174
|
-
const internalRef = useRef<HTMLTableElement>(null)
|
|
175
|
-
const ref = useForkedRef(internalRef, forwardedRef)
|
|
176
|
-
const { gridProps } = useTable(
|
|
177
|
-
{ 'aria-label': rest['aria-label'], 'aria-labelledby': rest['aria-labelledby'], id },
|
|
178
|
-
state,
|
|
179
|
-
internalRef
|
|
180
|
-
)
|
|
181
|
-
|
|
182
|
-
const _className = classNames(
|
|
183
|
-
'table',
|
|
184
|
-
color,
|
|
185
|
-
{
|
|
186
|
-
[`align-${align}`]: align,
|
|
187
|
-
bordered,
|
|
188
|
-
borderless,
|
|
189
|
-
hoverable: hover,
|
|
190
|
-
sm,
|
|
191
|
-
stacked: stacked === true,
|
|
192
|
-
striped
|
|
193
|
-
},
|
|
194
|
-
typeof stacked === 'string' ? `max-${stacked}:stacked` : undefined,
|
|
195
|
-
className
|
|
196
|
-
)
|
|
197
|
-
|
|
198
|
-
const tableEl = (
|
|
199
|
-
<table {...gridProps} className={_className || undefined} ref={ref}>
|
|
200
|
-
{caption && <caption>{caption}</caption>}
|
|
201
|
-
<TableRowGroup className={children[0].props.className} type="thead">
|
|
202
|
-
{state.collection.headerRows.map((headerRow) => (
|
|
203
|
-
<TableHeaderRow key={headerRow.key} item={headerRow} state={state}>
|
|
204
|
-
{[...(state.collection.getChildren?.(headerRow.key) ?? [])].map((column) =>
|
|
205
|
-
column.props?.isSelectionCell ? (
|
|
206
|
-
<TableSelectAllCell key={column.key} column={column} state={state} />
|
|
207
|
-
) : (
|
|
208
|
-
<TableColumnHeader key={column.key} column={column} state={state} />
|
|
209
|
-
)
|
|
210
|
-
)}
|
|
211
|
-
</TableHeaderRow>
|
|
212
|
-
))}
|
|
213
|
-
</TableRowGroup>
|
|
214
|
-
<TableRowGroup className={children[1].props.className} type="tbody">
|
|
215
|
-
{[...state.collection.body.childNodes].map((row) => (
|
|
216
|
-
<TableRow key={row.key} item={row} state={state}>
|
|
217
|
-
{[...(state.collection.getChildren?.(row.key) ?? [])].map((cell) =>
|
|
218
|
-
cell.props?.isSelectionCell ? (
|
|
219
|
-
<TableSelectionCell key={cell.key} cell={cell} state={state} />
|
|
220
|
-
) : (
|
|
221
|
-
<TableCell key={cell.key} cell={cell} stacked={!!stacked} state={state} />
|
|
222
|
-
)
|
|
223
|
-
)}
|
|
224
|
-
</TableRow>
|
|
225
|
-
))}
|
|
226
|
-
</TableRowGroup>
|
|
227
|
-
{footer && <tfoot>{footer}</tfoot>}
|
|
228
|
-
</table>
|
|
229
|
-
)
|
|
230
|
-
|
|
231
|
-
if (!responsive && !stacked) return tableEl
|
|
232
|
-
|
|
233
|
-
const wrapperClassName = responsive
|
|
234
|
-
? typeof responsive === 'boolean'
|
|
235
|
-
? 'table-responsive'
|
|
236
|
-
: `max-${responsive}:table-responsive`
|
|
237
|
-
: 'table-responsive'
|
|
238
|
-
|
|
239
|
-
return <div className={wrapperClassName}>{tableEl}</div>
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
// `forwardRef` erases type parameters, so the generic component is cast back to a generic
|
|
243
|
-
// signature for callers — same reasoning as `TableHeader`/`TableBody`'s casts above.
|
|
244
|
-
export const Table = forwardRef(TableInner) as <T extends object>(
|
|
245
|
-
props: TableProps<T> & { ref?: Ref<HTMLTableElement> }
|
|
246
|
-
) => ReactElement
|
|
247
|
-
|
|
248
|
-
;(Table as { displayName?: string }).displayName = 'Table'
|
|
249
|
-
|
|
250
|
-
const TableRowGroup = ({
|
|
251
|
-
className,
|
|
252
|
-
type: Element,
|
|
253
|
-
children
|
|
254
|
-
}: {
|
|
255
|
-
children: ReactNode
|
|
256
|
-
className?: string
|
|
257
|
-
type: 'thead' | 'tbody'
|
|
258
|
-
}) => {
|
|
259
|
-
const { rowGroupProps } = useTableRowGroup()
|
|
260
|
-
return (
|
|
261
|
-
<Element {...rowGroupProps} className={className || undefined}>
|
|
262
|
-
{children}
|
|
263
|
-
</Element>
|
|
264
|
-
)
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
interface TableHeaderRowProps<T> {
|
|
268
|
-
children: ReactNode
|
|
269
|
-
item: RowNode<T>
|
|
270
|
-
state: TableState<T>
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
const TableHeaderRow = <T extends object>({ children, item, state }: TableHeaderRowProps<T>) => {
|
|
274
|
-
const ref = useRef<HTMLTableRowElement>(null)
|
|
275
|
-
const { rowProps } = useTableHeaderRow({ node: item }, state, ref)
|
|
276
|
-
return (
|
|
277
|
-
<tr {...rowProps} ref={ref}>
|
|
278
|
-
{children}
|
|
279
|
-
</tr>
|
|
280
|
-
)
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
interface TableColumnHeaderProps<T> {
|
|
284
|
-
column: ColumnNode<T>
|
|
285
|
-
state: TableState<T>
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
const TableColumnHeader = <T extends object>({ column, state }: TableColumnHeaderProps<T>) => {
|
|
289
|
-
const ref = useRef<HTMLTableCellElement>(null)
|
|
290
|
-
const { columnHeaderProps } = useTableColumnHeader({ node: column }, state, ref)
|
|
291
|
-
const sortActive = state.sortDescriptor?.column === column.key
|
|
292
|
-
const sortIcon = state.sortDescriptor?.direction === 'ascending' ? '▲' : '▼'
|
|
293
|
-
|
|
294
|
-
return (
|
|
295
|
-
<th
|
|
296
|
-
{...columnHeaderProps}
|
|
297
|
-
className={column.props?.className || undefined}
|
|
298
|
-
colSpan={column.colSpan ?? undefined}
|
|
299
|
-
// react-aria's `useTableColumnHeader` supplies `role="columnheader"` for the ARIA grid
|
|
300
|
-
// pattern but no `scope`, so the native table semantics were left ambiguous — a `<th>` with
|
|
301
|
-
// no `scope` fails WCAG H63, and assistive technology reading the table natively (rather
|
|
302
|
-
// than through the grid roles) has to guess whether the header applies to its column or its
|
|
303
|
-
// row. These are always column headers; the row-header case doesn't exist in this API.
|
|
304
|
-
scope="col"
|
|
305
|
-
ref={ref}
|
|
306
|
-
>
|
|
307
|
-
{column.rendered}
|
|
308
|
-
{column.props?.allowsSorting && (
|
|
309
|
-
<span aria-hidden="true" className="table-sort-icon">
|
|
310
|
-
{sortActive ? sortIcon : '⇅'}
|
|
311
|
-
</span>
|
|
312
|
-
)}
|
|
313
|
-
</th>
|
|
314
|
-
)
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
interface TableSelectAllCellProps<T> {
|
|
318
|
-
column: ColumnNode<T>
|
|
319
|
-
state: TableState<T>
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
const TableSelectAllCell = <T extends object>({ column, state }: TableSelectAllCellProps<T>) => {
|
|
323
|
-
const ref = useRef<HTMLTableCellElement>(null)
|
|
324
|
-
const { columnHeaderProps } = useTableColumnHeader({ node: column }, state, ref)
|
|
325
|
-
const { checkboxProps } = useTableSelectAllCheckbox(state)
|
|
326
|
-
|
|
327
|
-
return (
|
|
328
|
-
<th
|
|
329
|
-
{...columnHeaderProps}
|
|
330
|
-
className="table-selection-cell"
|
|
331
|
-
scope="col"
|
|
332
|
-
// react-stately's internal "select all" column key is a module-scoped
|
|
333
|
-
// `'row-header-column-' + Math.random()` constant (@react-stately/table's TableCollection),
|
|
334
|
-
// computed once per JS environment rather than per render. Under SSR this makes `id`/
|
|
335
|
-
// `data-key` here differ between the server module instance and the browser's, on every
|
|
336
|
-
// request — a real react-stately bug, not something this component can influence (the key
|
|
337
|
-
// never reaches a public prop) — see README.md's Table/DataGrid known-issue section for the
|
|
338
|
-
// upstream write-up. The mismatch is confined to this internal bookkeeping attribute (no
|
|
339
|
-
// visible content, nothing else references this id), so suppressing the warning is safe
|
|
340
|
-
// rather than papering over a real functional break.
|
|
341
|
-
suppressHydrationWarning
|
|
342
|
-
ref={ref}
|
|
343
|
-
>
|
|
344
|
-
<TableCheckbox checkboxProps={checkboxProps} />
|
|
345
|
-
</th>
|
|
346
|
-
)
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
interface TableRowProps<T> {
|
|
350
|
-
children: ReactNode
|
|
351
|
-
item: RowNode<T>
|
|
352
|
-
state: TableState<T>
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
const TableRow = <T extends object>({ children, item, state }: TableRowProps<T>) => {
|
|
356
|
-
const ref = useRef<HTMLTableRowElement>(null)
|
|
357
|
-
const { rowProps } = useTableRow({ node: item }, state, ref)
|
|
358
|
-
const isSelected = state.selectionManager.isSelected(item.key)
|
|
359
|
-
|
|
360
|
-
return (
|
|
361
|
-
<tr
|
|
362
|
-
{...rowProps}
|
|
363
|
-
className={classNames({ active: isSelected }, item.props?.className)}
|
|
364
|
-
ref={ref}
|
|
365
|
-
>
|
|
366
|
-
{children}
|
|
367
|
-
</tr>
|
|
368
|
-
)
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
interface TableCellProps<T> {
|
|
372
|
-
cell: CellNode<T>
|
|
373
|
-
stacked?: boolean
|
|
374
|
-
state: TableState<T>
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
const TableCell = <T extends object>({ cell, stacked, state }: TableCellProps<T>) => {
|
|
378
|
-
const ref = useRef<HTMLTableCellElement>(null)
|
|
379
|
-
const { gridCellProps } = useTableCell({ node: cell }, state, ref)
|
|
380
|
-
|
|
381
|
-
return (
|
|
382
|
-
<td
|
|
383
|
-
{...gridCellProps}
|
|
384
|
-
className={cell.props?.className || undefined}
|
|
385
|
-
data-cell={stacked ? cell.column?.textValue || undefined : undefined}
|
|
386
|
-
ref={ref}
|
|
387
|
-
>
|
|
388
|
-
{cell.rendered}
|
|
389
|
-
</td>
|
|
390
|
-
)
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
const TableSelectionCell = <T extends object>({ cell, state }: TableCellProps<T>) => {
|
|
394
|
-
const ref = useRef<HTMLTableCellElement>(null)
|
|
395
|
-
const { gridCellProps } = useTableCell({ node: cell }, state, ref)
|
|
396
|
-
const { checkboxProps } = useTableSelectionCheckbox({ key: cell.parentKey! }, state)
|
|
397
|
-
|
|
398
|
-
return (
|
|
399
|
-
// See `TableSelectAllCell`'s comment: this cell's `id`/`data-key` derive from the same
|
|
400
|
-
// module-scoped random column key and mismatch between server and client under SSR.
|
|
401
|
-
<td {...gridCellProps} className="table-selection-cell" suppressHydrationWarning ref={ref}>
|
|
402
|
-
<TableCheckbox checkboxProps={checkboxProps} />
|
|
403
|
-
</td>
|
|
404
|
-
)
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
const TableCheckbox = ({ checkboxProps }: { checkboxProps: AriaCheckboxProps }) => {
|
|
408
|
-
const toggleState = useToggleState(checkboxProps)
|
|
409
|
-
const ref = useRef<HTMLInputElement>(null)
|
|
410
|
-
const { inputProps } = useCheckbox(checkboxProps, toggleState, ref)
|
|
411
|
-
|
|
412
|
-
return <input {...inputProps} className="check-input" ref={ref} />
|
|
413
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react'
|
|
2
|
-
import { TableBody as StatelyTableBody } from 'react-stately'
|
|
3
|
-
|
|
4
|
-
export interface TableBodyProps<T> {
|
|
5
|
-
/**
|
|
6
|
-
* `TableRow` elements, or a render function paired with `items` for dynamic row generation.
|
|
7
|
-
*/
|
|
8
|
-
children: ReactElement | ReactElement[] | ((item: T) => ReactElement)
|
|
9
|
-
/**
|
|
10
|
-
* A string of all className you want applied to the `<tbody>` element.
|
|
11
|
-
*/
|
|
12
|
-
className?: string
|
|
13
|
-
/**
|
|
14
|
-
* A list of row data objects, rendered via the function form of `children`.
|
|
15
|
-
*/
|
|
16
|
-
items?: Iterable<T>
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Collection node, data-only — read by `Table` to build the table's row collection. Never
|
|
21
|
-
* rendered directly.
|
|
22
|
-
*/
|
|
23
|
-
export const TableBody = StatelyTableBody as unknown as <T>(
|
|
24
|
-
props: TableBodyProps<T>
|
|
25
|
-
) => ReactElement
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ReactElement, ReactNode } from 'react'
|
|
2
|
-
import { Cell } from 'react-stately'
|
|
3
|
-
|
|
4
|
-
export interface TableCellProps {
|
|
5
|
-
/**
|
|
6
|
-
* The contents of the cell.
|
|
7
|
-
*/
|
|
8
|
-
children: ReactNode
|
|
9
|
-
/**
|
|
10
|
-
* A string of all className you want applied to the cell.
|
|
11
|
-
*/
|
|
12
|
-
className?: string
|
|
13
|
-
/**
|
|
14
|
-
* Indicates how many columns the cell spans.
|
|
15
|
-
*/
|
|
16
|
-
colSpan?: number
|
|
17
|
-
/**
|
|
18
|
-
* A string representation of the cell's contents, used for typeahead.
|
|
19
|
-
*/
|
|
20
|
-
textValue?: string
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Collection node, data-only — see `TableHeader`. Read by `Table` to build a cell in the
|
|
25
|
-
* table's collection; never rendered directly.
|
|
26
|
-
*/
|
|
27
|
-
export const TableCell = Cell as unknown as (props: TableCellProps) => ReactElement
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { ReactElement, ReactNode } from 'react'
|
|
2
|
-
import { Column } from 'react-stately'
|
|
3
|
-
|
|
4
|
-
export interface TableColumnProps {
|
|
5
|
-
/**
|
|
6
|
-
* Whether the column allows sorting. Adds a sort indicator and makes the header
|
|
7
|
-
* clickable/keyboard-activatable.
|
|
8
|
-
*/
|
|
9
|
-
allowsSorting?: boolean
|
|
10
|
-
/**
|
|
11
|
-
* Rendered contents of the column header.
|
|
12
|
-
*/
|
|
13
|
-
children: ReactNode
|
|
14
|
-
/**
|
|
15
|
-
* A string of all className you want applied to the column header.
|
|
16
|
-
*/
|
|
17
|
-
className?: string
|
|
18
|
-
/**
|
|
19
|
-
* A string representation of the column header, used for accessibility announcements and,
|
|
20
|
-
* when `Table`'s `stacked` prop is set, as the label shown before each row's value for this
|
|
21
|
-
* column. Defaults to `children` when it's a plain string — set this explicitly when the
|
|
22
|
-
* header contains anything else (an icon, a `Tooltip`, etc.).
|
|
23
|
-
*/
|
|
24
|
-
textValue?: string
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Collection node, data-only — see `TableHeader`. Read by `Table` to build a column in the
|
|
29
|
-
* table's collection; never rendered directly.
|
|
30
|
-
*/
|
|
31
|
-
export const TableColumn = Column as unknown as (props: TableColumnProps) => ReactElement
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react'
|
|
2
|
-
import { TableHeader as StatelyTableHeader } from 'react-stately'
|
|
3
|
-
|
|
4
|
-
export interface TableHeaderProps<T> {
|
|
5
|
-
/**
|
|
6
|
-
* `TableColumn` elements, or a render function paired with `columns` for dynamic column
|
|
7
|
-
* generation.
|
|
8
|
-
*/
|
|
9
|
-
children: ReactElement | ReactElement[] | ((column: T) => ReactElement)
|
|
10
|
-
/**
|
|
11
|
-
* A string of all className you want applied to the `<thead>` element.
|
|
12
|
-
*/
|
|
13
|
-
className?: string
|
|
14
|
-
/**
|
|
15
|
-
* A list of column data objects, rendered via the function form of `children`.
|
|
16
|
-
*/
|
|
17
|
-
columns?: readonly T[]
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Collection node, data-only — read by `Table` to build the table's column collection. Never
|
|
22
|
-
* rendered directly.
|
|
23
|
-
*/
|
|
24
|
-
export const TableHeader = StatelyTableHeader as unknown as <T>(
|
|
25
|
-
props: TableHeaderProps<T>
|
|
26
|
-
) => ReactElement
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Key, ReactElement } from 'react'
|
|
2
|
-
import { Row } from 'react-stately'
|
|
3
|
-
|
|
4
|
-
export interface TableRowProps {
|
|
5
|
-
/**
|
|
6
|
-
* `TableCell` elements, or a render function called once per column with that column's key —
|
|
7
|
-
* required when the row's parent `TableBody` uses the `items`/render-function form.
|
|
8
|
-
*/
|
|
9
|
-
children: ReactElement | ReactElement[] | ((columnKey: Key) => ReactElement)
|
|
10
|
-
/**
|
|
11
|
-
* A string of all className you want applied to the row.
|
|
12
|
-
*/
|
|
13
|
-
className?: string
|
|
14
|
-
/**
|
|
15
|
-
* A string representation of the row's contents, used for typeahead.
|
|
16
|
-
*/
|
|
17
|
-
textValue?: string
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Collection node, data-only — see `TableHeader`. Read by `Table` to build a row in the
|
|
22
|
-
* table's collection; never rendered directly.
|
|
23
|
-
*/
|
|
24
|
-
export const TableRow = Row as unknown as (props: TableRowProps) => ReactElement
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export { Table } from './Table'
|
|
2
|
-
export type { TableProps } from './Table'
|
|
3
|
-
export { TableBody } from './TableBody'
|
|
4
|
-
export type { TableBodyProps } from './TableBody'
|
|
5
|
-
export { TableCell } from './TableCell'
|
|
6
|
-
export type { TableCellProps } from './TableCell'
|
|
7
|
-
export { TableColumn } from './TableColumn'
|
|
8
|
-
export type { TableColumnProps } from './TableColumn'
|
|
9
|
-
export { TableHeader } from './TableHeader'
|
|
10
|
-
export type { TableHeaderProps } from './TableHeader'
|
|
11
|
-
export { TableRow } from './TableRow'
|
|
12
|
-
export type { TableRowProps } from './TableRow'
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react'
|
|
2
|
-
import { Key } from 'react-stately'
|
|
3
|
-
|
|
4
|
-
export interface TabProps {
|
|
5
|
-
/**
|
|
6
|
-
* Label content for the tab. Must be a plain string for it to be used as the tab's accessible
|
|
7
|
-
* name when the rendered content itself doesn't expose one (e.g. an icon-only tab).
|
|
8
|
-
*/
|
|
9
|
-
children: ReactNode
|
|
10
|
-
/**
|
|
11
|
-
* Prevents the tab from being selected, focused, or otherwise interacted with.
|
|
12
|
-
*/
|
|
13
|
-
disabled?: boolean
|
|
14
|
-
/**
|
|
15
|
-
* Identifies this tab and pairs it with the `TabPanel` of the same `id`.
|
|
16
|
-
*/
|
|
17
|
-
id: Key
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// `Tab` is never actually mounted — it's read as data by `Tabs`, which builds react-aria's tab
|
|
21
|
-
// collection from each `Tab`'s `id` and `children` (see `Tabs.tsx`), and `TabList` renders the
|
|
22
|
-
// real, focusable tab elements from that collection instead. This keeps the public authoring
|
|
23
|
-
// shape as plain composed JSX:
|
|
24
|
-
//
|
|
25
|
-
// <TabList aria-label="...">
|
|
26
|
-
// <Tab id="home">Home</Tab>
|
|
27
|
-
// <Tab id="profile">Profile</Tab>
|
|
28
|
-
// </TabList>
|
|
29
|
-
// <TabPanel id="home">...</TabPanel>
|
|
30
|
-
// <TabPanel id="profile">...</TabPanel>
|
|
31
|
-
//
|
|
32
|
-
// `id` (not React's own `key`) is what pairs a tab with its panel — still give each `Tab`/
|
|
33
|
-
// `TabPanel` a React `key` too, as you would for any list.
|
|
34
|
-
export const Tab = (_props: TabProps): null => null
|
|
35
|
-
|
|
36
|
-
Tab.displayName = 'Tab'
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import React, { AriaAttributes, forwardRef, ReactElement, ReactNode, useRef } from 'react'
|
|
2
|
-
import classNames from 'classnames'
|
|
3
|
-
import { useTab, useTabList } from 'react-aria'
|
|
4
|
-
import { Node } from 'react-stately'
|
|
5
|
-
|
|
6
|
-
import { useForkedRef } from '../../hooks'
|
|
7
|
-
import { TabProps } from './Tab'
|
|
8
|
-
import { useTabsContext } from './context'
|
|
9
|
-
|
|
10
|
-
export interface TabListProps extends AriaAttributes {
|
|
11
|
-
/**
|
|
12
|
-
* `Tab` elements — read as data by `Tabs` to build the tab collection (see `Tabs.tsx`). Not
|
|
13
|
-
* rendered directly.
|
|
14
|
-
*/
|
|
15
|
-
children: ReactNode
|
|
16
|
-
/**
|
|
17
|
-
* A string of all className you want applied to the base component.
|
|
18
|
-
*/
|
|
19
|
-
className?: string
|
|
20
|
-
/**
|
|
21
|
-
* Set the tab list variant to tabs or pills.
|
|
22
|
-
*/
|
|
23
|
-
variant?: 'tabs' | 'pills'
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Renders the actual, focusable tabs from `state.collection` — built by the ancestor `Tabs`
|
|
27
|
-
// from this component's own `children` (see the comment there). This component's own `children`
|
|
28
|
-
// prop is intentionally unused for rendering.
|
|
29
|
-
export const TabList = forwardRef<HTMLUListElement, TabListProps>(
|
|
30
|
-
({ className, variant = 'tabs', ...rest }, ref) => {
|
|
31
|
-
const { keyboardActivation, orientation, state } = useTabsContext()
|
|
32
|
-
const listRef = useRef<HTMLUListElement>(null)
|
|
33
|
-
const forkedRef = useForkedRef(ref, listRef)
|
|
34
|
-
const { tabListProps } = useTabList(
|
|
35
|
-
{ keyboardActivation, orientation, ...rest },
|
|
36
|
-
state,
|
|
37
|
-
listRef
|
|
38
|
-
)
|
|
39
|
-
|
|
40
|
-
const _className = classNames('nav', `nav-${variant}`, className)
|
|
41
|
-
|
|
42
|
-
return (
|
|
43
|
-
<ul className={_className} {...tabListProps} ref={forkedRef}>
|
|
44
|
-
{[...state.collection].map((item) => (
|
|
45
|
-
<TabItem key={item.key} item={item} />
|
|
46
|
-
))}
|
|
47
|
-
</ul>
|
|
48
|
-
)
|
|
49
|
-
}
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
TabList.displayName = 'TabList'
|
|
53
|
-
|
|
54
|
-
interface TabItemProps {
|
|
55
|
-
item: Node<ReactElement<TabProps>>
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const TabItem = ({ item }: TabItemProps) => {
|
|
59
|
-
const { state } = useTabsContext()
|
|
60
|
-
const ref = useRef<HTMLAnchorElement>(null)
|
|
61
|
-
const { tabProps, isSelected, isDisabled } = useTab({ key: item.key }, state, ref)
|
|
62
|
-
|
|
63
|
-
return (
|
|
64
|
-
// ARIA's `tablist` role only permits `tab`-role children — `role="presentation"` opts this
|
|
65
|
-
// `<li>` wrapper out without hiding its content, same pattern as `MenuHeader`.
|
|
66
|
-
<li className="nav-item" role="presentation">
|
|
67
|
-
<a
|
|
68
|
-
className={classNames('nav-link', { active: isSelected, disabled: isDisabled })}
|
|
69
|
-
{...tabProps}
|
|
70
|
-
ref={ref}
|
|
71
|
-
>
|
|
72
|
-
{item.rendered}
|
|
73
|
-
</a>
|
|
74
|
-
</li>
|
|
75
|
-
)
|
|
76
|
-
}
|