@servicetitan/anvil2 3.15.0 → 3.15.1
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/CHANGELOG.md +12 -0
- package/dist/{AiMark-D57s1e0T.js → AiMark-BfmK30vL.js} +3 -3
- package/dist/{AiMark-D57s1e0T.js.map → AiMark-BfmK30vL.js.map} +1 -1
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-DExHiAbM.js → Alert-lLo1N7Tj.js} +3 -3
- package/dist/{Alert-DExHiAbM.js.map → Alert-lLo1N7Tj.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-CGTv6M31.js → Announcement-Cnz80WGx.js} +2 -2
- package/dist/{Announcement-CGTv6M31.js.map → Announcement-Cnz80WGx.js.map} +1 -1
- package/dist/Announcement.js +1 -1
- package/dist/{Breadcrumbs-DtLSS0PJ.js → Breadcrumbs-RdL4Fvmu.js} +2 -2
- package/dist/{Breadcrumbs-DtLSS0PJ.js.map → Breadcrumbs-RdL4Fvmu.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-Dwh_Nd4l.js → Button-Dn6-01xl.js} +230 -67
- package/dist/Button-Dn6-01xl.js.map +1 -0
- package/dist/Button.js +1 -1
- package/dist/{ButtonToggle-DKDBD1g3.js → ButtonToggle-BSU8GBxr.js} +2 -2
- package/dist/{ButtonToggle-DKDBD1g3.js.map → ButtonToggle-BSU8GBxr.js.map} +1 -1
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-BUFPc5UN.js → Calendar-DoLRAWLp.js} +2 -2
- package/dist/Calendar-DoLRAWLp.js.map +1 -0
- package/dist/{Calendar-CEf7ke8X.js → Calendar-IzXG1aJw.js} +3 -3
- package/dist/Calendar-IzXG1aJw.js.map +1 -0
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-DVy-QESI.js → Checkbox-CVxbe-iN.js} +3 -3
- package/dist/{Checkbox-DVy-QESI.js.map → Checkbox-CVxbe-iN.js.map} +1 -1
- package/dist/{Checkbox-DBE35nMv.js → Checkbox-U-kuWhgc.js} +2 -2
- package/dist/{Checkbox-DBE35nMv.js.map → Checkbox-U-kuWhgc.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-B4G4zaP-.js → Chip-2OydLs66.js} +2 -2
- package/dist/{Chip-B4G4zaP-.js.map → Chip-2OydLs66.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-DbuXfDNJ.js → DataTable-DkEpJ_Op.js} +16 -41
- package/dist/DataTable-DkEpJ_Op.js.map +1 -0
- package/dist/{DateFieldRange-nyj8mtUP.js → DateFieldRange-X2jdOTYY.js} +4 -4
- package/dist/{DateFieldRange-nyj8mtUP.js.map → DateFieldRange-X2jdOTYY.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-BmCghXba.js → DateFieldSingle-BJ16tpOz.js} +4 -4
- package/dist/{DateFieldSingle-BmCghXba.js.map → DateFieldSingle-BJ16tpOz.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-Df7fA85i.js → DateFieldYearless-CMm8vtz_.js} +4 -4
- package/dist/{DateFieldYearless-Df7fA85i.js.map → DateFieldYearless-CMm8vtz_.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-DYpY4K1c.js → DateFieldYearlessRange-BHHs-Z1Q.js} +3 -3
- package/dist/{DateFieldYearlessRange-DYpY4K1c.js.map → DateFieldYearlessRange-BHHs-Z1Q.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-CyWGRqFG.js → DaysOfTheWeek-BHXxs0Bo.js} +3 -3
- package/dist/{DaysOfTheWeek-CyWGRqFG.js.map → DaysOfTheWeek-BHXxs0Bo.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-oM-nR4ju.js → Details-BxqP-5vp.js} +11 -9
- package/dist/Details-BxqP-5vp.js.map +1 -0
- package/dist/Details.css +18 -14
- package/dist/Details.js +1 -1
- package/dist/{Dialog-vSiZAR1y.js → Dialog-B9llUKJz.js} +5 -5
- package/dist/{Dialog-vSiZAR1y.js.map → Dialog-B9llUKJz.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{DialogCancelButton-DBL0aKTK.js → DialogCancelButton-C0r8hJ8Z.js} +2 -2
- package/dist/{DialogCancelButton-DBL0aKTK.js.map → DialogCancelButton-C0r8hJ8Z.js.map} +1 -1
- package/dist/{Drawer-B4pxj_2P.js → Drawer-Bjd2XLUX.js} +6 -6
- package/dist/{Drawer-B4pxj_2P.js.map → Drawer-Bjd2XLUX.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-CX1G7G2Q.js → EditCard-B6l2vhBS.js} +3 -3
- package/dist/{EditCard-CX1G7G2Q.js.map → EditCard-B6l2vhBS.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-CAusaqUY.js → FieldLabel-ThEmUiAq.js} +2 -2
- package/dist/{FieldLabel-CAusaqUY.js.map → FieldLabel-ThEmUiAq.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/{FilterBar-CKYf-1oU.js → FilterBar-ecqJDraA.js} +7 -7
- package/dist/FilterBar-ecqJDraA.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/{InputMask-xMpquXPU.js → InputMask-BQigi5oW.js} +3 -3
- package/dist/{InputMask-xMpquXPU.js.map → InputMask-BQigi5oW.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{InteractiveCard-C0g5PxB6.js → InteractiveCard-C2CYRtgQ.js} +3 -3
- package/dist/InteractiveCard-C2CYRtgQ.js.map +1 -0
- package/dist/InteractiveCard.js +1 -1
- package/dist/{ListView-D6l1KY92.js → ListView-YJscfG4x.js} +2 -2
- package/dist/{ListView-D6l1KY92.js.map → ListView-YJscfG4x.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-Dep1eJ3u.js → Listbox-CD9ZptSZ.js} +2 -2
- package/dist/{Listbox-Dep1eJ3u.js.map → Listbox-CD9ZptSZ.js.map} +1 -1
- package/dist/Listbox.js +1 -1
- package/dist/{Menu-eLxQwmZk.js → Menu-Da2OEN0o.js} +2 -2
- package/dist/{Menu-eLxQwmZk.js.map → Menu-Da2OEN0o.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{MenuFooter-fGSZYh8e.js → MenuFooter-D__gg92C.js} +2 -2
- package/dist/{MenuFooter-fGSZYh8e.js.map → MenuFooter-D__gg92C.js.map} +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-ZNoNOm6d.js → MultiSelectFieldSync-DpPO0cya.js} +7 -7
- package/dist/{MultiSelectFieldSync-ZNoNOm6d.js.map → MultiSelectFieldSync-DpPO0cya.js.map} +1 -1
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-DrgqaUJj.js → MultiSelectMenuSync-BN_3moW_.js} +5 -5
- package/dist/{MultiSelectMenuSync-DrgqaUJj.js.map → MultiSelectMenuSync-BN_3moW_.js.map} +1 -1
- package/dist/{NumberField-D5ZzEHg1.js → NumberField-CxmJx4gs.js} +4 -4
- package/dist/{NumberField-D5ZzEHg1.js.map → NumberField-CxmJx4gs.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/{Page-B2HZzNGP.js → Page-IZ4p51iJ.js} +19 -188
- package/dist/Page-IZ4p51iJ.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/{Pagination-CAgXtt9t.js → Pagination-Su4VBAhT.js} +5 -5
- package/dist/{Pagination-CAgXtt9t.js.map → Pagination-Su4VBAhT.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-CjL2ixjB.js → Popover-CIh1CsoJ.js} +3 -3
- package/dist/{Popover-CjL2ixjB.js.map → Popover-CIh1CsoJ.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-ClKcOcXq.js → ProgressBar-TQ0fPmn9.js} +2 -2
- package/dist/{ProgressBar-ClKcOcXq.js.map → ProgressBar-TQ0fPmn9.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-_ftIQSru.js → Radio-BYowelK2.js} +3 -3
- package/dist/{Radio-_ftIQSru.js.map → Radio-BYowelK2.js.map} +1 -1
- package/dist/{Radio-C2BJqWlV.js → Radio-C1VnatcL.js} +2 -2
- package/dist/{Radio-C2BJqWlV.js.map → Radio-C1VnatcL.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-TcZUnqcp.js → RichTextEditor-BpzUo8dB.js} +12 -17
- package/dist/RichTextEditor-BpzUo8dB.js.map +1 -0
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-B8lf3L2T.js → SavedFiltersButton-D9GJbJQu.js} +10 -24
- package/dist/SavedFiltersButton-D9GJbJQu.js.map +1 -0
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/{SegmentedControl-CtKoYHoO.js → SegmentedControl-BHVJmmTH.js} +3 -3
- package/dist/{SegmentedControl-CtKoYHoO.js.map → SegmentedControl-BHVJmmTH.js.map} +1 -1
- package/dist/SegmentedControl.js +1 -1
- package/dist/{SelectCard-BwIbfore.js → SelectCard-DrmMU_GD.js} +3 -3
- package/dist/{SelectCard-BwIbfore.js.map → SelectCard-DrmMU_GD.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-7VTZ83QJ.js → SelectFieldLabel-BxsKvfqo.js} +2 -2
- package/dist/{SelectFieldLabel-7VTZ83QJ.js.map → SelectFieldLabel-BxsKvfqo.js.map} +1 -1
- package/dist/{SelectFieldSync-CB75kkka.js → SelectFieldSync-BN2ebLWT.js} +6 -6
- package/dist/{SelectFieldSync-CB75kkka.js.map → SelectFieldSync-BN2ebLWT.js.map} +1 -1
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DIMfovCI.js → SelectMenuSync-DuPf8KCc.js} +5 -5
- package/dist/{SelectMenuSync-DIMfovCI.js.map → SelectMenuSync-DuPf8KCc.js.map} +1 -1
- package/dist/{SelectOptions-si_rVLEZ.js → SelectOptions-BK7kNjYM.js} +2 -2
- package/dist/{SelectOptions-si_rVLEZ.js.map → SelectOptions-BK7kNjYM.js.map} +1 -1
- package/dist/{SelectTrigger-C3-Cne3D.js → SelectTrigger-B5h-aqhl.js} +2 -2
- package/dist/{SelectTrigger-C3-Cne3D.js.map → SelectTrigger-B5h-aqhl.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-BnsTYWVb.js → SelectTriggerBase-SML2Mlt-.js} +4 -4
- package/dist/{SelectTriggerBase-BnsTYWVb.js.map → SelectTriggerBase-SML2Mlt-.js.map} +1 -1
- package/dist/{Stepper-C-QC9QHx.js → Stepper-l_P6VPOv.js} +3 -3
- package/dist/{Stepper-C-QC9QHx.js.map → Stepper-l_P6VPOv.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-DWq4QI8M.js → Switch-1iNdXTik.js} +2 -2
- package/dist/{Switch-DWq4QI8M.js.map → Switch-1iNdXTik.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/{Tab-mXEQ0ifM.js → Tab-DR5YYXkq.js} +124 -19
- package/dist/Tab-DR5YYXkq.js.map +1 -0
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-dONmlARH.js → Text-rihxXHSe.js} +2 -2
- package/dist/{Text-dONmlARH.js.map → Text-rihxXHSe.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-CtXjbtqa.js → TextField-Bxd-Qzoi.js} +2 -2
- package/dist/{TextField-CtXjbtqa.js.map → TextField-Bxd-Qzoi.js.map} +1 -1
- package/dist/{TextField-CQ7e3mC4.js → TextField-vuS7xeo-.js} +3 -3
- package/dist/{TextField-CQ7e3mC4.js.map → TextField-vuS7xeo-.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-DGVHQktZ.js → Textarea-ppapJUwh.js} +3 -3
- package/dist/{Textarea-DGVHQktZ.js.map → Textarea-ppapJUwh.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{TimeField-AttXPsQw.js → TimeField-Hwt_oRbg.js} +4 -4
- package/dist/{TimeField-AttXPsQw.js.map → TimeField-Hwt_oRbg.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-CNtAl-tF.js → Toaster-BryQmKe1.js} +4 -4
- package/dist/{Toaster-CNtAl-tF.js.map → Toaster-BryQmKe1.js.map} +1 -1
- package/dist/{Toaster-DYO8NLTo.js → Toaster-BtP_HezK.js} +2 -2
- package/dist/{Toaster-DYO8NLTo.js.map → Toaster-BtP_HezK.js.map} +1 -1
- package/dist/{Toolbar-BIbbaCxh.js → Toolbar-CMulzswf.js} +5 -5
- package/dist/{Toolbar-BIbbaCxh.js.map → Toolbar-CMulzswf.js.map} +1 -1
- package/dist/{Toolbar-B_lHD0c2.js → Toolbar-DGHZpFi9.js} +11 -105
- package/dist/Toolbar-DGHZpFi9.js.map +1 -0
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-BMBmBdw1.js → ToolbarButtonToggle-T8YnSJ5x.js} +2 -3
- package/dist/ToolbarButtonToggle-T8YnSJ5x.js.map +1 -0
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-CKnFwROC.js → TreeSelectFieldSync-C0mXwYZL.js} +7 -7
- package/dist/TreeSelectFieldSync-C0mXwYZL.js.map +1 -0
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-CK-x2_ne.js → TreeSelectMenuSync-D2TvKxP-.js} +4 -4
- package/dist/TreeSelectMenuSync-D2TvKxP-.js.map +1 -0
- package/dist/{TypeaheadTextField-DqnUGXj0.js → TypeaheadTextField-DgazozK7.js} +10 -19
- package/dist/TypeaheadTextField-DgazozK7.js.map +1 -0
- package/dist/TypeaheadTextField.js +1 -1
- package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js → YearlessDateInputWithPicker-Bc8a33D5.js} +2 -2
- package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js.map → YearlessDateInputWithPicker-Bc8a33D5.js.map} +1 -1
- package/dist/beta.js +18 -18
- package/dist/{bulkActionTypes-sbwWLsDi.js → bulkActionTypes-D5y3Acn1.js} +2 -2
- package/dist/{bulkActionTypes-sbwWLsDi.js.map → bulkActionTypes-D5y3Acn1.js.map} +1 -1
- package/dist/{filter-state-DW8YmRHb.js → filter-state-Do862BNr.js} +55 -37
- package/dist/filter-state-Do862BNr.js.map +1 -0
- package/dist/{index-Cw2HFh0a.js → index-Dt0zG4YB.js} +2 -2
- package/dist/{index-Cw2HFh0a.js.map → index-Dt0zG4YB.js.map} +1 -1
- package/dist/index.js +49 -49
- package/dist/{proxy-DEehATlA.js → react-ORV84FjM.js} +6862 -5814
- package/dist/react-ORV84FjM.js.map +1 -0
- package/dist/src/beta/components/Calendar/Calendar.d.ts +8 -17
- package/dist/src/beta/components/Calendar/CalendarBetaPropsContext.d.ts +1 -0
- package/dist/src/beta/components/Calendar/useCalendarBetaProps.d.ts +1 -0
- package/dist/src/beta/components/FilterBar/FilterBar.d.ts +12 -53
- package/dist/src/beta/components/FilterBar/FilterDateList.d.ts +8 -0
- package/dist/src/beta/components/FilterBar/FilterDateRange.d.ts +15 -9
- package/dist/src/beta/components/FilterBar/FilterDateSingle.d.ts +15 -9
- package/dist/src/beta/components/FilterBar/FilterDrawer.d.ts +1 -14
- package/dist/src/beta/components/FilterBar/FilterItemWrapper.d.ts +0 -7
- package/dist/src/beta/components/FilterBar/FilterNumericRange.d.ts +4 -13
- package/dist/src/beta/components/FilterBar/FilterPopoverButton.d.ts +6 -8
- package/dist/src/beta/components/FilterBar/FilterSearchField.d.ts +3 -6
- package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +4 -13
- package/dist/src/beta/components/FilterBar/FilterToggleButton.d.ts +3 -14
- package/dist/src/beta/components/FilterBar/FilterTriggerButton.d.ts +3 -3
- package/dist/src/beta/components/FilterBar/internal/FilterGroupContext.d.ts +6 -20
- package/dist/src/beta/components/FilterBar/internal/adapters/index.d.ts +3 -8
- package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +7 -19
- package/dist/src/beta/components/FilterBar/internal/types.d.ts +48 -57
- package/dist/src/beta/components/FilterBar/internal/utils/dateConstraints.d.ts +3 -3
- package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +4 -7
- package/dist/src/beta/components/FilterBar/internal/utils/filter-state.d.ts +3 -24
- package/dist/src/beta/components/InteractiveCard/InteractiveCard.d.ts +2 -47
- package/dist/src/beta/components/InteractiveCard/types.d.ts +13 -71
- package/dist/src/beta/components/Page/Page.d.ts +8 -166
- package/dist/src/beta/components/Page/PageContent.d.ts +3 -17
- package/dist/src/beta/components/Page/PageContext.d.ts +9 -0
- package/dist/src/beta/components/Page/PageFooter.d.ts +2 -15
- package/dist/src/beta/components/Page/PageHeader.d.ts +38 -91
- package/dist/src/beta/components/Page/PagePanel.d.ts +17 -115
- package/dist/src/beta/components/Page/PagePanelContent.d.ts +5 -37
- package/dist/src/beta/components/Page/PagePanelFooter.d.ts +4 -27
- package/dist/src/beta/components/Page/PagePanelHeader.d.ts +3 -16
- package/dist/src/beta/components/Page/PageSidebar.d.ts +8 -41
- package/dist/src/beta/components/Page/PageSidebarHeader.d.ts +2 -20
- package/dist/src/beta/components/Page/internal/PagePanelContext.d.ts +1 -6
- package/dist/src/beta/components/Page/pageBreakpoint.d.ts +5 -18
- package/dist/src/beta/components/RichTextEditor/RichTextEditor.d.ts +2 -25
- package/dist/src/beta/components/RichTextEditor/internal/LinkPopover.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/MentionList.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/MentionPopover.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +5 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/SafeImageExtension.d.ts +3 -10
- package/dist/src/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +4 -0
- package/dist/src/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +3 -17
- package/dist/src/beta/components/RichTextEditor/types.d.ts +46 -71
- package/dist/src/beta/components/SavedFiltersButton/SavedFiltersButton.d.ts +2 -33
- package/dist/src/beta/components/SavedFiltersButton/internal/AddSavedFilterDrawer.d.ts +2 -12
- package/dist/src/beta/components/SavedFiltersButton/internal/EditSavedFiltersDrawer.d.ts +2 -20
- package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +0 -23
- package/dist/src/beta/components/SavedFiltersButton/types.d.ts +36 -85
- package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +34 -84
- package/dist/src/beta/components/Table/DataTable/internal/DataTableBody.d.ts +15 -22
- package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +47 -18
- package/dist/src/beta/components/Table/DataTable/internal/DataTableCellAffordance.d.ts +8 -0
- package/dist/src/beta/components/Table/DataTable/internal/DataTableFooter.d.ts +17 -23
- package/dist/src/beta/components/Table/DataTable/internal/DataTableHeader.d.ts +6 -9
- package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +16 -0
- package/dist/src/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +2 -11
- package/dist/src/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +7 -5
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyCell.d.ts +4 -8
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyImmutableCell.d.ts +4 -17
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyMutableCell.d.ts +4 -18
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableFooterCell.d.ts +3 -10
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +3 -15
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableOverflowCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/cells/useCellFocusListener.d.ts +2 -6
- package/dist/src/beta/components/Table/DataTable/internal/constants.d.ts +13 -30
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -6
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusProvider.d.ts +3 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusStateContext.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickContext.d.ts +2 -5
- package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickProvider.d.ts +2 -5
- package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/useDataTableRowClick.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorContext.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorProvider.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/surface/useDataTableSurfaceCoordinator.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/dataTableCellAffordanceHostClassName.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableBooleanCell.d.ts +6 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCellEditIcon.d.ts +1 -4
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +5 -25
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +3 -13
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableNumberCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +5 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableTextCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/types.d.ts +7 -20
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +13 -26
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +2 -10
- package/dist/src/beta/components/Table/DataTable/internal/useAsyncData.d.ts +8 -0
- package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +2 -2
- package/dist/src/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +7 -18
- package/dist/src/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +6 -10
- package/dist/src/beta/components/Table/DataTable/internal/util/cellPositionHelpers.d.ts +0 -3
- package/dist/src/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +7 -24
- package/dist/src/beta/components/Table/DataTable/internal/util/getCellInteractives.d.ts +4 -17
- package/dist/src/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +5 -29
- package/dist/src/beta/components/Table/DataTable/internal/util/shallowSortingEqual.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/parts.d.ts +3 -17
- package/dist/src/beta/components/Table/DataTable/types.d.ts +41 -64
- package/dist/src/beta/components/Table/base/TableBase.d.ts +8 -26
- package/dist/src/beta/components/Table/base/TableBody.d.ts +5 -14
- package/dist/src/beta/components/Table/base/TableContainer.d.ts +1 -11
- package/dist/src/beta/components/Table/base/TableFooter.d.ts +5 -14
- package/dist/src/beta/components/Table/base/TableHeader.d.ts +5 -14
- package/dist/src/beta/components/Table/base/cells/TableBodyCell.d.ts +4 -13
- package/dist/src/beta/components/Table/base/cells/TableEmptyCellContent.d.ts +1 -1
- package/dist/src/beta/components/Table/base/cells/TableFooterCell.d.ts +5 -13
- package/dist/src/beta/components/Table/base/cells/TableHeaderCell.d.ts +8 -25
- package/dist/src/beta/components/Table/base/cells/types.d.ts +2 -6
- package/dist/src/beta/components/Table/columnTypeDefaults.d.ts +7 -36
- package/dist/src/beta/components/Table/createColumnHelper.d.ts +38 -153
- package/dist/src/beta/components/Table/formatters/booleanFormatter.d.ts +4 -15
- package/dist/src/beta/components/Table/formatters/chipsFormatter.d.ts +7 -9
- package/dist/src/beta/components/Table/formatters/currencyFormatter.d.ts +3 -15
- package/dist/src/beta/components/Table/formatters/dateFormatter.d.ts +10 -23
- package/dist/src/beta/components/Table/formatters/dateTimeFormatter.d.ts +23 -46
- package/dist/src/beta/components/Table/formatters/htmlFormatter.d.ts +2 -11
- package/dist/src/beta/components/Table/formatters/htmlToMarkdown.d.ts +5 -10
- package/dist/src/beta/components/Table/formatters/markdownFormatter.d.ts +3 -8
- package/dist/src/beta/components/Table/formatters/numberFormatter.d.ts +8 -27
- package/dist/src/beta/components/Table/formatters/percentFormatter.d.ts +4 -15
- package/dist/src/beta/components/Table/formatters/presets.d.ts +4 -12
- package/dist/src/beta/components/Table/formatters/timeFormatter.d.ts +7 -17
- package/dist/src/beta/components/Table/formatters/yearlessDateFormatter.d.ts +9 -21
- package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +5 -9
- package/dist/src/beta/components/Table/internal/TruncateChips.d.ts +2 -11
- package/dist/src/beta/components/Table/internal/getCommonPinningClasses.d.ts +2 -1
- package/dist/src/beta/components/Table/internal/getCommonPinningStyles.d.ts +6 -2
- package/dist/src/beta/components/Table/internal/scrollCellIntoView.d.ts +3 -7
- package/dist/src/beta/components/Table/internal/types.d.ts +2 -7
- package/dist/src/beta/components/Table/types.d.ts +183 -462
- package/dist/src/beta/components/Toolbar/Toolbar.d.ts +35 -267
- package/dist/src/beta/components/Toolbar/ToolbarButton.d.ts +5 -26
- package/dist/src/beta/components/Toolbar/ToolbarButtonLink.d.ts +5 -28
- package/dist/src/beta/components/Toolbar/ToolbarButtonToggle.d.ts +5 -27
- package/dist/src/beta/components/Toolbar/ToolbarControlGroup.d.ts +6 -8
- package/dist/src/beta/components/Toolbar/ToolbarSearchField.d.ts +3 -14
- package/dist/src/beta/components/Toolbar/ToolbarSelect.d.ts +13 -65
- package/dist/src/beta/components/Toolbar/internal/ToolbarContext.d.ts +0 -32
- package/dist/src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +0 -13
- package/dist/src/beta/components/Toolbar/internal/ToolbarItemWrapper.d.ts +2 -28
- package/dist/src/beta/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +4 -21
- package/dist/src/beta/components/Toolbar/internal/utils/accessibility.d.ts +7 -15
- package/dist/src/beta/components/Toolbar/types.d.ts +7 -26
- package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +2 -23
- package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +10 -46
- package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +5 -21
- package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +1 -38
- package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +6 -38
- package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +2 -50
- package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +2 -39
- package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +6 -21
- package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +3 -19
- package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +9 -50
- package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +8 -79
- package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +3 -29
- package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +8 -36
- package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +10 -34
- package/dist/src/beta/components/TreeSelectField/parts.d.ts +3 -9
- package/dist/src/beta/components/TreeSelectField/types.d.ts +82 -68
- package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +4 -18
- package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +9 -47
- package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +4 -4
- package/dist/src/beta/components/TreeSelectMenu/types.d.ts +44 -54
- package/dist/src/beta/components/TypeaheadTextField/TypeaheadTextField.d.ts +15 -43
- package/dist/src/beta/components/TypeaheadTextField/internal/SuggestionItem.d.ts +1 -18
- package/dist/src/beta/hooks/useAdaptiveView/useAdaptiveView.d.ts +6 -41
- package/dist/src/integration-testing/stepper-panel-flicker.spec.d.ts +1 -0
- package/dist/{stripInlineMarkdown-DmU2adBb.js → stripInlineMarkdown-BhYLEiXu.js} +2 -2
- package/dist/{stripInlineMarkdown-DmU2adBb.js.map → stripInlineMarkdown-BhYLEiXu.js.map} +1 -1
- package/dist/{syncFilterUtils-CP4dhWVs.js → syncFilterUtils-ClEj4Oeg.js} +4 -4
- package/dist/{syncFilterUtils-CP4dhWVs.js.map → syncFilterUtils-ClEj4Oeg.js.map} +1 -1
- package/dist/{treeSync-CDrgjuw8.js → treeSync-B38r1dRQ.js} +5 -11
- package/dist/treeSync-B38r1dRQ.js.map +1 -0
- package/dist/{use-reduced-motion-CqjZZ5QB.js → use-reduced-motion-yYB9Tb0D.js} +2 -2
- package/dist/use-reduced-motion-yYB9Tb0D.js.map +1 -0
- package/dist/{useDrilldown-DV4qyVOI.js → useDrilldown-BOeeNUsy.js} +4 -4
- package/dist/{useDrilldown-DV4qyVOI.js.map → useDrilldown-BOeeNUsy.js.map} +1 -1
- package/dist/{useInfiniteCombobox-DvyQpdwv.js → useInfiniteCombobox-7oIT2Mzn.js} +4 -4
- package/dist/{useInfiniteCombobox-DvyQpdwv.js.map → useInfiniteCombobox-7oIT2Mzn.js.map} +1 -1
- package/dist/{useInitialFocus-0TZ78bPz.js → useInitialFocus-CGybEc6x.js} +2 -2
- package/dist/{useInitialFocus-0TZ78bPz.js.map → useInitialFocus-CGybEc6x.js.map} +1 -1
- package/dist/{useInvalidateOnOptionsChange-D3KWg4qK.js → useInvalidateOnOptionsChange-BD2VBpbK.js} +5 -5
- package/dist/useInvalidateOnOptionsChange-BD2VBpbK.js.map +1 -0
- package/dist/{usePopoverTransitionStates-B1opfxxn.js → usePopoverTransitionStates-CDXCdyKa.js} +2 -1
- package/dist/{usePopoverTransitionStates-B1opfxxn.js.map → usePopoverTransitionStates-CDXCdyKa.js.map} +1 -1
- package/package.json +6 -4
- package/dist/Button-Dwh_Nd4l.js.map +0 -1
- package/dist/Calendar-BUFPc5UN.js.map +0 -1
- package/dist/Calendar-CEf7ke8X.js.map +0 -1
- package/dist/DataTable-DbuXfDNJ.js.map +0 -1
- package/dist/Details-oM-nR4ju.js.map +0 -1
- package/dist/FilterBar-CKYf-1oU.js.map +0 -1
- package/dist/InteractiveCard-C0g5PxB6.js.map +0 -1
- package/dist/Page-B2HZzNGP.js.map +0 -1
- package/dist/RichTextEditor-TcZUnqcp.js.map +0 -1
- package/dist/SavedFiltersButton-B8lf3L2T.js.map +0 -1
- package/dist/Tab-mXEQ0ifM.js.map +0 -1
- package/dist/Toolbar-B_lHD0c2.js.map +0 -1
- package/dist/ToolbarButtonToggle-BMBmBdw1.js.map +0 -1
- package/dist/TreeSelectFieldSync-CKnFwROC.js.map +0 -1
- package/dist/TreeSelectMenuSync-CK-x2_ne.js.map +0 -1
- package/dist/TypeaheadTextField-DqnUGXj0.js.map +0 -1
- package/dist/filter-state-DW8YmRHb.js.map +0 -1
- package/dist/proxy-DEehATlA.js.map +0 -1
- package/dist/treeSync-CDrgjuw8.js.map +0 -1
- package/dist/use-reduced-motion-CqjZZ5QB.js.map +0 -1
- package/dist/useInvalidateOnOptionsChange-D3KWg4qK.js.map +0 -1
|
@@ -7,13 +7,11 @@ import { MultiSelectMenuOption } from '../../../components/MultiSelectMenu';
|
|
|
7
7
|
import { MultiSelectMenuSyncProps } from '../../../components/MultiSelectMenu/MultiSelectMenuSync';
|
|
8
8
|
import { MultiSelectMenuProps } from '../../../components/MultiSelectMenu/types';
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
* Each type maps to a default formatter and alignment.
|
|
10
|
+
* Built-in display treatments. Each maps to default formatting and alignment.
|
|
12
11
|
*/
|
|
13
12
|
export type ColumnType = "text" | "number" | "currency" | "percent" | "date" | "dateTime" | "time" | "boolean" | "markdown" | "html";
|
|
14
13
|
/**
|
|
15
|
-
*
|
|
16
|
-
* Used for type-safe formatter configuration.
|
|
14
|
+
* Formatter options accepted by each built-in column type.
|
|
17
15
|
*/
|
|
18
16
|
export type ColumnTypeOptionsMap = {
|
|
19
17
|
text: undefined;
|
|
@@ -28,15 +26,12 @@ export type ColumnTypeOptionsMap = {
|
|
|
28
26
|
html: undefined;
|
|
29
27
|
};
|
|
30
28
|
/**
|
|
31
|
-
*
|
|
32
|
-
* Can be a simple type string (uses defaults) or an object with custom options.
|
|
29
|
+
* Built-in type shorthand, or an object that customizes its formatter.
|
|
33
30
|
*
|
|
34
31
|
* @example
|
|
35
32
|
* ```ts
|
|
36
|
-
* // Simple - uses default formatter options
|
|
37
33
|
* type: "currency"
|
|
38
34
|
*
|
|
39
|
-
* // With options - customizes formatter behavior
|
|
40
35
|
* type: { type: "currency", options: { currency: "EUR", locale: "de-DE" } }
|
|
41
36
|
* ```
|
|
42
37
|
*/
|
|
@@ -44,21 +39,10 @@ export type ColumnTypeConfig<T extends ColumnType = ColumnType> = T | {
|
|
|
44
39
|
type: T;
|
|
45
40
|
options: ColumnTypeOptionsMap[T];
|
|
46
41
|
};
|
|
47
|
-
/**
|
|
48
|
-
* Edit mode literals for editable cells.
|
|
49
|
-
*/
|
|
42
|
+
/** Supported `editConfig` discriminants. */
|
|
50
43
|
export type EditMode = "text" | "number" | "select" | "select-async" | "multiselect" | "multiselect-async" | "boolean" | "custom";
|
|
51
|
-
/**
|
|
52
|
-
* Base edit configuration shared by all edit modes.
|
|
53
|
-
* @template T - The row data type
|
|
54
|
-
* @template K - The column key
|
|
55
|
-
*/
|
|
56
44
|
type BaseEditConfig<T, K extends keyof T> = {
|
|
57
|
-
/**
|
|
58
|
-
* Callback fired when the cell value is saved.
|
|
59
|
-
* @param value - The new value
|
|
60
|
-
* @param rowId - The id of the row being edited
|
|
61
|
-
*/
|
|
45
|
+
/** Persists the committed value for the identified row. */
|
|
62
46
|
onChange: (value: T[K], rowId: string) => void;
|
|
63
47
|
};
|
|
64
48
|
type CustomEditInvalidPresentValue<TValue> = Extract<NonNullable<TValue>, readonly unknown[]> | Extract<NonNullable<TValue>, (...args: never[]) => unknown> | Exclude<NonNullable<TValue>, object>;
|
|
@@ -66,91 +50,75 @@ type CustomEditPresentObjectValueForValue<TValue> = [
|
|
|
66
50
|
CustomEditInvalidPresentValue<TValue>
|
|
67
51
|
] extends [never] ? NonNullable<TValue> extends object ? NonNullable<TValue> : never : never;
|
|
68
52
|
type CustomEditPartialPresentValue<TValue extends object> = TValue extends object ? Partial<TValue> : never;
|
|
53
|
+
/** Nullish members explicitly allowed by a custom-edit value type. */
|
|
69
54
|
export type CustomEditAllowedNullishValue<TValue> = Extract<TValue, null | undefined>;
|
|
55
|
+
/**
|
|
56
|
+
* The non-null object accepted by custom edit mode, or `never` when the value
|
|
57
|
+
* also permits arrays, functions, or non-object members.
|
|
58
|
+
*/
|
|
70
59
|
export type CustomEditPresentObjectValue<T, K extends keyof T> = CustomEditPresentObjectValueForValue<T[K]>;
|
|
60
|
+
/** A partial custom-edit object plus nullish members declared by the value type. */
|
|
71
61
|
export type CustomEditDraftValueForValue<TValue> = [
|
|
72
62
|
CustomEditPresentObjectValueForValue<TValue>
|
|
73
63
|
] extends [never] ? never : CustomEditPartialPresentValue<CustomEditPresentObjectValueForValue<TValue>> | CustomEditAllowedNullishValue<TValue>;
|
|
64
|
+
/** Draft shape for a custom-edit column. */
|
|
74
65
|
export type CustomEditDraftValue<T, K extends keyof T> = CustomEditDraftValueForValue<T[K]>;
|
|
66
|
+
/** Committed row value captured when custom editing begins. */
|
|
75
67
|
export type CustomEditInitialValue<T, K extends keyof T> = T[K];
|
|
68
|
+
/** Direct field value or updater receiving the current field and full draft. */
|
|
76
69
|
export type CustomEditFieldValueUpdater<TValue extends object, TField extends keyof TValue> = TValue[TField] | ((previousValue: TValue[TField] | undefined, draftValue: Partial<TValue>) => TValue[TField]);
|
|
70
|
+
/** Events and commands that can request custom-editor closure. */
|
|
77
71
|
export type CustomEditCloseReason = "submit" | "escape" | "outside-click" | "close-button" | "programmatic";
|
|
72
|
+
/** Form- and field-level messages for a custom-editor draft. */
|
|
78
73
|
export type CustomEditValidation<TValue extends object> = {
|
|
79
|
-
/**
|
|
80
|
-
* Form-level validation summary for the entire editor.
|
|
81
|
-
*/
|
|
74
|
+
/** Editor-wide message shown independently of individual fields. */
|
|
82
75
|
formError?: ReactNode;
|
|
83
|
-
/**
|
|
84
|
-
* Field-level validation messages keyed by draft field.
|
|
85
|
-
*/
|
|
76
|
+
/** Messages keyed by draft field. */
|
|
86
77
|
fieldErrors?: Partial<Record<keyof TValue, ReactNode>>;
|
|
87
78
|
};
|
|
79
|
+
/** Presentation and keyboard overrides for the custom-editor Surface. */
|
|
88
80
|
export type CustomEditSurfaceConfig = {
|
|
89
|
-
/**
|
|
90
|
-
* Optional title rendered in the editor surface header.
|
|
91
|
-
*/
|
|
81
|
+
/** Header content; omitting it removes the header title. */
|
|
92
82
|
title?: ReactNode;
|
|
93
|
-
/**
|
|
94
|
-
* Optional surface width.
|
|
95
|
-
*/
|
|
83
|
+
/** CSS width of the editor Surface. */
|
|
96
84
|
width?: number | string;
|
|
97
|
-
/**
|
|
98
|
-
* Optional surface max height.
|
|
99
|
-
*/
|
|
85
|
+
/** CSS max-height of the editor Surface. */
|
|
100
86
|
maxHeight?: number | string;
|
|
101
|
-
/**
|
|
102
|
-
* Accessible label for the close button.
|
|
103
|
-
*/
|
|
87
|
+
/** Accessible name for the header close button. */
|
|
104
88
|
closeButtonLabel?: string;
|
|
105
|
-
/**
|
|
106
|
-
* Optional keydown handler forwarded to the surface.
|
|
107
|
-
*/
|
|
89
|
+
/** Runs before built-in key handling; prevent default to skip that handling. */
|
|
108
90
|
onKeyDown?: (event: ReactKeyboardEvent<HTMLDivElement>) => void;
|
|
109
91
|
};
|
|
92
|
+
/** Draft state supplied when custom-editor closure is requested. */
|
|
110
93
|
export type CustomEditCloseRequest<TValue extends object, TDraftValue = Partial<TValue>, TInitialValue = TValue> = {
|
|
111
|
-
/**
|
|
112
|
-
* Why the close was requested.
|
|
113
|
-
*/
|
|
94
|
+
/** Trigger that initiated this request. */
|
|
114
95
|
reason: CustomEditCloseReason;
|
|
115
|
-
/**
|
|
116
|
-
* Draft value at the time the request is evaluated.
|
|
117
|
-
*/
|
|
96
|
+
/** Draft snapshot evaluated by the close policy. */
|
|
118
97
|
draftValue: TDraftValue;
|
|
119
|
-
/**
|
|
120
|
-
* Original committed value when editing began.
|
|
121
|
-
*/
|
|
98
|
+
/** Committed value captured when editing began. */
|
|
122
99
|
initialValue: TInitialValue;
|
|
123
|
-
/**
|
|
124
|
-
* Whether the draft differs from the initial value.
|
|
125
|
-
*/
|
|
100
|
+
/** Whether draft and initial values differ. */
|
|
126
101
|
isDirty: boolean;
|
|
127
|
-
/**
|
|
128
|
-
* Current validation metadata.
|
|
129
|
-
*/
|
|
102
|
+
/** Validation snapshot evaluated by the close policy. */
|
|
130
103
|
validation: CustomEditValidation<TValue>;
|
|
131
104
|
};
|
|
105
|
+
/** Draft, validation, focus, and lifecycle controls for a custom editor. */
|
|
132
106
|
export type CustomEditController<TValue extends object, TDraftValue = Partial<TValue>, TInitialValue = TValue> = {
|
|
133
107
|
/**
|
|
134
108
|
* Current local draft. Custom editors may hold a partial object, or a
|
|
135
109
|
* row-type-supported nullish value.
|
|
136
110
|
*/
|
|
137
111
|
draftValue: TDraftValue;
|
|
138
|
-
/**
|
|
139
|
-
* Original value before editing began.
|
|
140
|
-
*/
|
|
112
|
+
/** Committed value captured when editing began. */
|
|
141
113
|
initialValue: TInitialValue;
|
|
142
|
-
/**
|
|
143
|
-
* Whether the draft differs from the initial value.
|
|
144
|
-
*/
|
|
114
|
+
/** Whether draft and initial values differ. */
|
|
145
115
|
isDirty: boolean;
|
|
146
116
|
/**
|
|
147
117
|
* Ordered list of changed object fields. Whole-value nullish changes are
|
|
148
118
|
* represented by `isDirty`, not by synthetic field names.
|
|
149
119
|
*/
|
|
150
120
|
changedFields: ReadonlyArray<keyof TValue>;
|
|
151
|
-
/**
|
|
152
|
-
* Current validation metadata for the draft.
|
|
153
|
-
*/
|
|
121
|
+
/** Validation metadata for the current draft. */
|
|
154
122
|
validation: CustomEditValidation<TValue>;
|
|
155
123
|
/**
|
|
156
124
|
* Replace the entire draft value. Null and undefined are accepted only when
|
|
@@ -162,33 +130,29 @@ export type CustomEditController<TValue extends object, TDraftValue = Partial<TV
|
|
|
162
130
|
* nullish, a partial object containing this field is synthesized.
|
|
163
131
|
*/
|
|
164
132
|
setDraftField: <TField extends keyof TValue>(field: TField, nextValue: CustomEditFieldValueUpdater<TValue, TField>) => TDraftValue;
|
|
165
|
-
/**
|
|
166
|
-
* Submit the current draft and close the editor.
|
|
167
|
-
*/
|
|
133
|
+
/** Commits the current draft and closes when policy allows. */
|
|
168
134
|
submit: () => void;
|
|
169
|
-
/**
|
|
170
|
-
* Restore the initial value and close the editor.
|
|
171
|
-
*/
|
|
135
|
+
/** Restores the initial value and closes without committing. */
|
|
172
136
|
discard: () => void;
|
|
173
137
|
/**
|
|
174
138
|
* Request closure using the configured policy for the supplied reason.
|
|
175
139
|
*/
|
|
176
140
|
requestClose: (reason: CustomEditCloseReason) => void;
|
|
177
|
-
/**
|
|
178
|
-
* Register the one preferred initial-focus action for the editor.
|
|
179
|
-
*/
|
|
141
|
+
/** Registers the editor's one preferred initial-focus action. */
|
|
180
142
|
setInitialFocus: (focus: (() => void) | null) => void;
|
|
181
|
-
/**
|
|
182
|
-
* Canonical submit handler for form-based editors.
|
|
183
|
-
*/
|
|
143
|
+
/** Prevents native submission, then delegates to {@link submit}. */
|
|
184
144
|
handleSubmit: (event?: {
|
|
185
145
|
preventDefault?: () => void;
|
|
186
146
|
}) => void;
|
|
187
147
|
};
|
|
148
|
+
/** Row data available to read-path renderers and text extractors. */
|
|
188
149
|
export type ColumnReadRenderContext<T> = {
|
|
150
|
+
/** Full row for cross-field read rendering. */
|
|
189
151
|
row: T;
|
|
152
|
+
/** Zero-based nesting depth. */
|
|
190
153
|
depth: number;
|
|
191
154
|
};
|
|
155
|
+
/** Rich read content paired with optional sortable text. */
|
|
192
156
|
export type ColumnReadRenderResult = {
|
|
193
157
|
/**
|
|
194
158
|
* Advanced read-path rendered content.
|
|
@@ -196,19 +160,14 @@ export type ColumnReadRenderResult = {
|
|
|
196
160
|
* this shape when one hook should return both rendered content and sortable text.
|
|
197
161
|
*/
|
|
198
162
|
content: ReactNode;
|
|
199
|
-
/**
|
|
200
|
-
* Optional sortable plain-text representation of the rendered content.
|
|
201
|
-
*/
|
|
163
|
+
/** Sortable plain text for the rendered content. */
|
|
202
164
|
rawString?: string;
|
|
203
165
|
};
|
|
166
|
+
/** Row and controller state supplied to a custom editor renderer. */
|
|
204
167
|
export type CustomEditRenderContext<T, K extends keyof T> = {
|
|
205
|
-
/**
|
|
206
|
-
* Full row data for the cell being edited.
|
|
207
|
-
*/
|
|
168
|
+
/** Full row for cross-field editor behavior. */
|
|
208
169
|
row: T;
|
|
209
|
-
/**
|
|
210
|
-
* String row id for the cell being edited.
|
|
211
|
-
*/
|
|
170
|
+
/** String-normalized id of the edited row. */
|
|
212
171
|
rowId: string;
|
|
213
172
|
/**
|
|
214
173
|
* Committed value for the cell, exactly as declared by the row type.
|
|
@@ -220,47 +179,31 @@ export type CustomEditRenderContext<T, K extends keyof T> = {
|
|
|
220
179
|
controller: CustomEditController<CustomEditPresentObjectValue<T, K>, CustomEditDraftValue<T, K>, CustomEditInitialValue<T, K>>;
|
|
221
180
|
};
|
|
222
181
|
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
* value remains `T[K]`; editable drafts may be partial objects, plus `null`
|
|
226
|
-
* or `undefined` when those values are part of `T[K]`.
|
|
227
|
-
*
|
|
228
|
-
* @template T - The row data type
|
|
229
|
-
* @template K - The column key
|
|
182
|
+
* Custom Surface editor for structured object columns. Drafts are partial
|
|
183
|
+
* objects plus any nullish members declared by the row value.
|
|
230
184
|
*/
|
|
231
185
|
export type CustomEditConfig<T, K extends keyof T> = [
|
|
232
186
|
CustomEditPresentObjectValue<T, K>
|
|
233
187
|
] extends [never] ? never : Omit<BaseEditConfig<T, K>, "onChange"> & {
|
|
234
|
-
/**
|
|
235
|
-
* Custom edit mode - renders a multi-field editor surface.
|
|
236
|
-
*/
|
|
188
|
+
/** Opens a consumer-rendered multi-field Surface editor. */
|
|
237
189
|
mode: "custom";
|
|
238
190
|
/**
|
|
239
191
|
* Callback fired when the current draft is committed. The value is the
|
|
240
192
|
* exact draft state: partial object, full object, or allowed nullish value.
|
|
241
193
|
*/
|
|
242
194
|
onCommit: (value: CustomEditDraftValue<T, K>, rowId: string) => void;
|
|
243
|
-
/**
|
|
244
|
-
* Callback fired on every local draft mutation with the exact draft state.
|
|
245
|
-
*/
|
|
195
|
+
/** Observes every local draft mutation without committing it. */
|
|
246
196
|
onDraftUpdate?: (value: CustomEditDraftValue<T, K>, rowId: string) => void;
|
|
247
|
-
/**
|
|
248
|
-
* Optional validation metadata derived from the current draft.
|
|
249
|
-
*/
|
|
197
|
+
/** Derives form and field errors from the current draft. */
|
|
250
198
|
validateDraft?: (draftValue: CustomEditDraftValue<T, K>, rowId: string) => CustomEditValidation<CustomEditPresentObjectValue<T, K>> | undefined;
|
|
251
199
|
/**
|
|
252
200
|
* When true, submit-style close requests are blocked while validation contains
|
|
253
201
|
* a form error or any field error. Defaults to `false`.
|
|
254
202
|
*/
|
|
255
203
|
blockOnValidationError?: boolean;
|
|
256
|
-
/**
|
|
257
|
-
* Optional close interception hook.
|
|
258
|
-
* Return `false` to keep the editor open.
|
|
259
|
-
*/
|
|
204
|
+
/** Return `false` to reject the requested close. */
|
|
260
205
|
onRequestClose?: (request: CustomEditCloseRequest<CustomEditPresentObjectValue<T, K>, CustomEditDraftValue<T, K>, CustomEditInitialValue<T, K>>) => boolean | void;
|
|
261
|
-
/**
|
|
262
|
-
* Optional surface presentation overrides.
|
|
263
|
-
*/
|
|
206
|
+
/** Presentation and keyboard overrides for the editor Surface. */
|
|
264
207
|
surface?: CustomEditSurfaceConfig;
|
|
265
208
|
/**
|
|
266
209
|
* Consumer-owned renderer for the custom editor contents. Editors should
|
|
@@ -268,121 +211,60 @@ export type CustomEditConfig<T, K extends keyof T> = [
|
|
|
268
211
|
*/
|
|
269
212
|
renderEditor: (context: CustomEditRenderContext<T, K>) => ReactNode;
|
|
270
213
|
};
|
|
271
|
-
/**
|
|
272
|
-
* Edit configuration for text mode cells.
|
|
273
|
-
* @template T - The row data type
|
|
274
|
-
* @template K - The column key
|
|
275
|
-
*/
|
|
214
|
+
/** Inline text editor configuration. */
|
|
276
215
|
export type TextEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
|
|
277
|
-
/**
|
|
278
|
-
* Text edit mode - renders an inline text input.
|
|
279
|
-
*/
|
|
216
|
+
/** Renders an inline text field. */
|
|
280
217
|
mode: "text";
|
|
281
218
|
};
|
|
282
|
-
/**
|
|
283
|
-
* Edit configuration for number mode cells.
|
|
284
|
-
* Renders an inline number input with increment/decrement support.
|
|
285
|
-
*
|
|
286
|
-
* @template T - The row data type
|
|
287
|
-
* @template K - The column key
|
|
288
|
-
*/
|
|
219
|
+
/** Inline numeric editor configuration. */
|
|
289
220
|
export type NumberEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
|
|
290
|
-
/**
|
|
291
|
-
* Number edit mode - renders an inline number input with formatting and validation.
|
|
292
|
-
*/
|
|
221
|
+
/** Renders an inline number field. */
|
|
293
222
|
mode: "number";
|
|
294
|
-
/**
|
|
295
|
-
* The minimum value for the number field.
|
|
296
|
-
* @default 0
|
|
297
|
-
*/
|
|
223
|
+
/** Inclusive minimum. Defaults to `0`. */
|
|
298
224
|
minValue?: number;
|
|
299
|
-
/**
|
|
300
|
-
* The maximum value for the number field.
|
|
301
|
-
* @default 100000000000000
|
|
302
|
-
*/
|
|
225
|
+
/** Inclusive maximum. Defaults to `100000000000000`. */
|
|
303
226
|
maxValue?: number;
|
|
304
|
-
/**
|
|
305
|
-
* The step value for the number field.
|
|
306
|
-
* @default 1
|
|
307
|
-
*/
|
|
227
|
+
/** Increment used by stepping controls. Defaults to `1`. */
|
|
308
228
|
step?: number;
|
|
309
|
-
/**
|
|
310
|
-
* The maximum number of decimal places for the number field.
|
|
311
|
-
* @default 0
|
|
312
|
-
*/
|
|
229
|
+
/** Maximum accepted fraction digits. Defaults to `0`. */
|
|
313
230
|
maximumFractionDigits?: number;
|
|
314
|
-
/**
|
|
315
|
-
* The minimum number of decimal places for the number field.
|
|
316
|
-
* @default 0
|
|
317
|
-
*/
|
|
231
|
+
/** Minimum displayed fraction digits. Defaults to `0`. */
|
|
318
232
|
minimumFractionDigits?: number;
|
|
319
233
|
};
|
|
320
234
|
type SelectMenuCellPassthroughProps = Omit<SelectMenuSyncProps, "trigger" | "label" | "value" | "onSelectedOptionChange" | "options" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
|
|
321
235
|
type MultiSelectMenuCellPassthroughProps = Omit<MultiSelectMenuSyncProps, "trigger" | "label" | "value" | "onSelectedOptionsChange" | "options" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
|
|
322
|
-
/**
|
|
323
|
-
* Edit configuration for select mode cells.
|
|
324
|
-
* @template T - The row data type
|
|
325
|
-
* @template K - The column key
|
|
326
|
-
*/
|
|
236
|
+
/** Synchronous single-select editor configuration. */
|
|
327
237
|
export type SelectEditConfig<T, K extends keyof T> = Omit<BaseEditConfig<T, K>, "onChange"> & {
|
|
328
|
-
/**
|
|
329
|
-
* Select edit mode - renders a SelectMenu popover.
|
|
330
|
-
*/
|
|
238
|
+
/** Opens a SelectMenu popover. */
|
|
331
239
|
mode: "select";
|
|
332
|
-
/**
|
|
333
|
-
* The options available for selection.
|
|
334
|
-
*/
|
|
240
|
+
/** Complete option set shown by the menu. */
|
|
335
241
|
options: SelectMenuOption[];
|
|
336
|
-
/**
|
|
337
|
-
* Callback fired when the selected option changes.
|
|
338
|
-
* @param option - The newly selected option, or null if cleared
|
|
339
|
-
* @param rowId - The id of the row being edited
|
|
340
|
-
*/
|
|
242
|
+
/** Persists the selected option, or `null` after Clear, for the row. */
|
|
341
243
|
onChange: (option: SelectMenuOption | null, rowId: string) => void;
|
|
342
244
|
} & SelectMenuCellPassthroughProps;
|
|
343
|
-
/**
|
|
344
|
-
* Edit configuration for multiselect mode cells.
|
|
345
|
-
* @template T - The row data type
|
|
346
|
-
* @template K - The column key
|
|
347
|
-
*/
|
|
245
|
+
/** Synchronous multi-select editor configuration. */
|
|
348
246
|
export type MultiselectEditConfig<T, K extends keyof T> = Omit<BaseEditConfig<T, K>, "onChange"> & {
|
|
349
|
-
/**
|
|
350
|
-
* Multiselect edit mode - renders a searchable MultiSelectMenu popover.
|
|
351
|
-
*/
|
|
247
|
+
/** Opens a searchable MultiSelectMenu popover. */
|
|
352
248
|
mode: "multiselect";
|
|
353
|
-
/**
|
|
354
|
-
* The options available for selection.
|
|
355
|
-
*/
|
|
249
|
+
/** Complete option set shown by the menu. */
|
|
356
250
|
options: MultiSelectMenuOption[];
|
|
357
|
-
/**
|
|
358
|
-
* Callback fired when the selected options change.
|
|
359
|
-
* @param options - The newly selected options
|
|
360
|
-
* @param rowId - The id of the row being edited
|
|
361
|
-
*/
|
|
251
|
+
/** Persists the selected option objects for the row. */
|
|
362
252
|
onChange: (options: MultiSelectMenuOption[], rowId: string) => void;
|
|
363
253
|
} & MultiSelectMenuCellPassthroughProps;
|
|
364
254
|
type SelectMenuAsyncCellPassthroughProps = Omit<SelectMenuProps, "trigger" | "label" | "value" | "onSelectedOptionChange" | "loadOptions" | "lazy" | "lazyOptions" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
|
|
365
255
|
type MultiSelectMenuAsyncCellPassthroughProps = Omit<MultiSelectMenuProps, "trigger" | "label" | "value" | "onSelectedOptionsChange" | "loadOptions" | "lazy" | "lazyOptions" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
|
|
366
256
|
/**
|
|
367
|
-
*
|
|
368
|
-
* Provides row data for per-row option loading.
|
|
369
|
-
* @template T - The row data type
|
|
370
|
-
* @property row - The full row data object
|
|
371
|
-
* @property rowId - The string id of the row
|
|
257
|
+
* Row-specific context appended to async option-loader arguments.
|
|
372
258
|
*/
|
|
373
259
|
export type AsyncCellContext<T> = {
|
|
374
260
|
row: T;
|
|
375
261
|
rowId: string;
|
|
376
262
|
};
|
|
377
263
|
/**
|
|
378
|
-
*
|
|
379
|
-
* @template T - The row data type
|
|
264
|
+
* Returns all matching single-select options for a query and row.
|
|
380
265
|
*/
|
|
381
266
|
export type SelectAsyncCellEagerLoader<T> = (searchValue: string, context: AsyncCellContext<T>) => SelectMenuOption[] | Promise<SelectMenuOption[]>;
|
|
382
|
-
/**
|
|
383
|
-
* Page-based lazy loader for `mode: "select-async"`.
|
|
384
|
-
* @template T - The row data type
|
|
385
|
-
*/
|
|
267
|
+
/** Loads one numbered page of single-select options for a query and row. */
|
|
386
268
|
export type SelectAsyncCellPageLoader<T> = (searchValue: string, pageNumber: number, pageSize: number, context: AsyncCellContext<T>) => {
|
|
387
269
|
options: SelectMenuOption[];
|
|
388
270
|
hasMore?: boolean;
|
|
@@ -390,10 +272,7 @@ export type SelectAsyncCellPageLoader<T> = (searchValue: string, pageNumber: num
|
|
|
390
272
|
options: SelectMenuOption[];
|
|
391
273
|
hasMore?: boolean;
|
|
392
274
|
}>;
|
|
393
|
-
/**
|
|
394
|
-
* Offset-based lazy loader for `mode: "select-async"`.
|
|
395
|
-
* @template T - The row data type
|
|
396
|
-
*/
|
|
275
|
+
/** Loads one offset window of single-select options for a query and row. */
|
|
397
276
|
export type SelectAsyncCellOffsetLoader<T> = (searchValue: string, offset: number, limit: number, context: AsyncCellContext<T>) => {
|
|
398
277
|
options: SelectMenuOption[];
|
|
399
278
|
hasMore?: boolean;
|
|
@@ -401,10 +280,7 @@ export type SelectAsyncCellOffsetLoader<T> = (searchValue: string, offset: numbe
|
|
|
401
280
|
options: SelectMenuOption[];
|
|
402
281
|
hasMore?: boolean;
|
|
403
282
|
}>;
|
|
404
|
-
/**
|
|
405
|
-
* Group-based lazy loader for `mode: "select-async"`.
|
|
406
|
-
* @template T - The row data type
|
|
407
|
-
*/
|
|
283
|
+
/** Loads the single-select group after `previousGroupKey`. */
|
|
408
284
|
export type SelectAsyncCellGroupLoader<T> = (searchValue: string, previousGroupKey: SelectMenuGroupByValue | null, context: AsyncCellContext<T>) => {
|
|
409
285
|
options: SelectMenuOption[];
|
|
410
286
|
hasMore?: boolean;
|
|
@@ -412,15 +288,9 @@ export type SelectAsyncCellGroupLoader<T> = (searchValue: string, previousGroupK
|
|
|
412
288
|
options: SelectMenuOption[];
|
|
413
289
|
hasMore?: boolean;
|
|
414
290
|
}>;
|
|
415
|
-
/**
|
|
416
|
-
* Eager loader for `mode: "multiselect-async"` — returns all matching options at once.
|
|
417
|
-
* @template T - The row data type
|
|
418
|
-
*/
|
|
291
|
+
/** Returns all matching multi-select options for a query and row. */
|
|
419
292
|
export type MultiselectAsyncCellEagerLoader<T> = (searchValue: string, context: AsyncCellContext<T>) => MultiSelectMenuOption[] | Promise<MultiSelectMenuOption[]>;
|
|
420
|
-
/**
|
|
421
|
-
* Page-based lazy loader for `mode: "multiselect-async"`.
|
|
422
|
-
* @template T - The row data type
|
|
423
|
-
*/
|
|
293
|
+
/** Loads one numbered page of multi-select options for a query and row. */
|
|
424
294
|
export type MultiselectAsyncCellPageLoader<T> = (searchValue: string, pageNumber: number, pageSize: number, context: AsyncCellContext<T>) => {
|
|
425
295
|
options: MultiSelectMenuOption[];
|
|
426
296
|
hasMore?: boolean;
|
|
@@ -428,10 +298,7 @@ export type MultiselectAsyncCellPageLoader<T> = (searchValue: string, pageNumber
|
|
|
428
298
|
options: MultiSelectMenuOption[];
|
|
429
299
|
hasMore?: boolean;
|
|
430
300
|
}>;
|
|
431
|
-
/**
|
|
432
|
-
* Offset-based lazy loader for `mode: "multiselect-async"`.
|
|
433
|
-
* @template T - The row data type
|
|
434
|
-
*/
|
|
301
|
+
/** Loads one offset window of multi-select options for a query and row. */
|
|
435
302
|
export type MultiselectAsyncCellOffsetLoader<T> = (searchValue: string, offset: number, limit: number, context: AsyncCellContext<T>) => {
|
|
436
303
|
options: MultiSelectMenuOption[];
|
|
437
304
|
hasMore?: boolean;
|
|
@@ -439,10 +306,7 @@ export type MultiselectAsyncCellOffsetLoader<T> = (searchValue: string, offset:
|
|
|
439
306
|
options: MultiSelectMenuOption[];
|
|
440
307
|
hasMore?: boolean;
|
|
441
308
|
}>;
|
|
442
|
-
/**
|
|
443
|
-
* Group-based lazy loader for `mode: "multiselect-async"`.
|
|
444
|
-
* @template T - The row data type
|
|
445
|
-
*/
|
|
309
|
+
/** Loads the multi-select group after `previousGroupKey`. */
|
|
446
310
|
export type MultiselectAsyncCellGroupLoader<T> = (searchValue: string, previousGroupKey: SelectMenuGroupByValue | null, context: AsyncCellContext<T>) => {
|
|
447
311
|
options: MultiSelectMenuOption[];
|
|
448
312
|
hasMore?: boolean;
|
|
@@ -451,192 +315,133 @@ export type MultiselectAsyncCellGroupLoader<T> = (searchValue: string, previousG
|
|
|
451
315
|
hasMore?: boolean;
|
|
452
316
|
}>;
|
|
453
317
|
type SelectAsyncEditConfigBase = {
|
|
454
|
-
/**
|
|
455
|
-
* Callback fired when the selected option changes.
|
|
456
|
-
* @param option - The newly selected option, or null if cleared
|
|
457
|
-
* @param rowId - The id of the row being edited
|
|
458
|
-
*/
|
|
318
|
+
/** Persists the selected option, or `null` after Clear, for the row. */
|
|
459
319
|
onChange: (option: SelectMenuOption | null, rowId: string) => void;
|
|
460
320
|
} & SelectMenuAsyncCellPassthroughProps;
|
|
461
321
|
/**
|
|
462
|
-
*
|
|
463
|
-
*
|
|
464
|
-
*
|
|
465
|
-
* The `loadOptions` function receives a `context` argument as its last parameter,
|
|
466
|
-
* containing the current row data and row id. This enables per-row option loading.
|
|
467
|
-
*
|
|
468
|
-
* By default, caching is disabled to prevent cross-row cache pollution when `loadOptions`
|
|
469
|
-
* uses row context. Pass `cache={{ enabled: true }}` to override.
|
|
470
|
-
*
|
|
471
|
-
* Cell value is expected to be a primitive that matches a `SelectMenuOption.id`.
|
|
472
|
-
*
|
|
473
|
-
* @template T - The row data type
|
|
322
|
+
* Server-loaded single-select editor for primitive values matching option ids.
|
|
323
|
+
* Loaders receive row context, so caching defaults off to avoid sharing results
|
|
324
|
+
* across rows.
|
|
474
325
|
*/
|
|
475
326
|
export type SelectAsyncEditConfig<T> = (SelectAsyncEditConfigBase & {
|
|
327
|
+
/** Opens a server-loaded SelectMenu. */
|
|
476
328
|
mode: "select-async";
|
|
329
|
+
/** Eager loading. Defaults to `false`. */
|
|
477
330
|
lazy?: false;
|
|
331
|
+
/** Returns all options matching the search. */
|
|
478
332
|
loadOptions: SelectAsyncCellEagerLoader<T>;
|
|
333
|
+
/** Eager loading accepts no pagination settings. */
|
|
479
334
|
lazyOptions?: never;
|
|
480
335
|
}) | (SelectAsyncEditConfigBase & {
|
|
336
|
+
/** Opens a server-loaded SelectMenu. */
|
|
481
337
|
mode: "select-async";
|
|
338
|
+
/** Loads options by page number. */
|
|
482
339
|
lazy: "page";
|
|
340
|
+
/** Returns one page matching the search. */
|
|
483
341
|
loadOptions: SelectAsyncCellPageLoader<T>;
|
|
342
|
+
/** Page-size override forwarded to the menu. */
|
|
484
343
|
lazyOptions?: {
|
|
485
344
|
pageSize?: number;
|
|
486
345
|
};
|
|
487
346
|
}) | (SelectAsyncEditConfigBase & {
|
|
347
|
+
/** Opens a server-loaded SelectMenu. */
|
|
488
348
|
mode: "select-async";
|
|
349
|
+
/** Loads options by offset. */
|
|
489
350
|
lazy: "offset";
|
|
351
|
+
/** Returns one offset window matching the search. */
|
|
490
352
|
loadOptions: SelectAsyncCellOffsetLoader<T>;
|
|
353
|
+
/** Window-size override forwarded to the menu. */
|
|
491
354
|
lazyOptions?: {
|
|
492
355
|
limit?: number;
|
|
493
356
|
};
|
|
494
357
|
}) | (SelectAsyncEditConfigBase & {
|
|
358
|
+
/** Opens a server-loaded SelectMenu. */
|
|
495
359
|
mode: "select-async";
|
|
360
|
+
/** Loads options one group at a time. */
|
|
496
361
|
lazy: "group";
|
|
362
|
+
/** Returns the group after the supplied group key. */
|
|
497
363
|
loadOptions: SelectAsyncCellGroupLoader<T>;
|
|
364
|
+
/** Group-loading settings forwarded to the menu. */
|
|
498
365
|
lazyOptions?: object;
|
|
499
366
|
});
|
|
500
367
|
type MultiselectAsyncEditConfigBase = {
|
|
501
|
-
/**
|
|
502
|
-
* Callback fired when the selected options change.
|
|
503
|
-
* @param options - The newly selected options (full option objects)
|
|
504
|
-
* @param rowId - The id of the row being edited
|
|
505
|
-
*/
|
|
368
|
+
/** Persists the selected full option objects for the row. */
|
|
506
369
|
onChange: (options: MultiSelectMenuOption[], rowId: string) => void;
|
|
507
370
|
} & MultiSelectMenuAsyncCellPassthroughProps;
|
|
508
371
|
/**
|
|
509
|
-
*
|
|
510
|
-
*
|
|
511
|
-
*
|
|
512
|
-
* The `loadOptions` function receives a `context` argument as its last parameter,
|
|
513
|
-
* containing the current row data and row id. This enables per-row option loading.
|
|
514
|
-
*
|
|
515
|
-
* By default, caching is disabled to prevent cross-row cache pollution when `loadOptions`
|
|
516
|
-
* uses row context. Pass `cache={{ enabled: true }}` to override.
|
|
517
|
-
*
|
|
518
|
-
* **Value contract**: Unlike `mode: "multiselect"` (which stores ID arrays), the cell value
|
|
519
|
-
* for `mode: "multiselect-async"` must be `MultiSelectMenuOption[]` — full option objects.
|
|
520
|
-
* The `onChange` callback receives these objects directly and the consumer stores them wholesale.
|
|
521
|
-
*
|
|
522
|
-
* @template T - The row data type
|
|
372
|
+
* Server-loaded multi-select editor whose cell value is the full option-object
|
|
373
|
+
* array. Loaders receive row context, so caching defaults off to avoid sharing
|
|
374
|
+
* results across rows.
|
|
523
375
|
*/
|
|
524
376
|
export type MultiselectAsyncEditConfig<T> = (MultiselectAsyncEditConfigBase & {
|
|
377
|
+
/** Opens a server-loaded MultiSelectMenu. */
|
|
525
378
|
mode: "multiselect-async";
|
|
379
|
+
/** Eager loading. Defaults to `false`. */
|
|
526
380
|
lazy?: false;
|
|
381
|
+
/** Returns all options matching the search. */
|
|
527
382
|
loadOptions: MultiselectAsyncCellEagerLoader<T>;
|
|
383
|
+
/** Eager loading accepts no pagination settings. */
|
|
528
384
|
lazyOptions?: never;
|
|
529
385
|
}) | (MultiselectAsyncEditConfigBase & {
|
|
386
|
+
/** Opens a server-loaded MultiSelectMenu. */
|
|
530
387
|
mode: "multiselect-async";
|
|
388
|
+
/** Loads options by page number. */
|
|
531
389
|
lazy: "page";
|
|
390
|
+
/** Returns one page matching the search. */
|
|
532
391
|
loadOptions: MultiselectAsyncCellPageLoader<T>;
|
|
392
|
+
/** Page-size override forwarded to the menu. */
|
|
533
393
|
lazyOptions?: {
|
|
534
394
|
pageSize?: number;
|
|
535
395
|
};
|
|
536
396
|
}) | (MultiselectAsyncEditConfigBase & {
|
|
397
|
+
/** Opens a server-loaded MultiSelectMenu. */
|
|
537
398
|
mode: "multiselect-async";
|
|
399
|
+
/** Loads options by offset. */
|
|
538
400
|
lazy: "offset";
|
|
401
|
+
/** Returns one offset window matching the search. */
|
|
539
402
|
loadOptions: MultiselectAsyncCellOffsetLoader<T>;
|
|
403
|
+
/** Window-size override forwarded to the menu. */
|
|
540
404
|
lazyOptions?: {
|
|
541
405
|
limit?: number;
|
|
542
406
|
};
|
|
543
407
|
}) | (MultiselectAsyncEditConfigBase & {
|
|
408
|
+
/** Opens a server-loaded MultiSelectMenu. */
|
|
544
409
|
mode: "multiselect-async";
|
|
410
|
+
/** Loads options one group at a time. */
|
|
545
411
|
lazy: "group";
|
|
412
|
+
/** Returns the group after the supplied group key. */
|
|
546
413
|
loadOptions: MultiselectAsyncCellGroupLoader<T>;
|
|
414
|
+
/** Group-loading settings forwarded to the menu. */
|
|
547
415
|
lazyOptions?: object;
|
|
548
416
|
});
|
|
549
417
|
/**
|
|
550
|
-
*
|
|
551
|
-
* Renders a dropdown menu with predefined true/false options and an optional null option.
|
|
552
|
-
*
|
|
553
|
-
* @template T - The row data type
|
|
554
|
-
* @template K - The column key
|
|
418
|
+
* Boolean dropdown editor with an optional null choice.
|
|
555
419
|
*/
|
|
556
420
|
export type BooleanEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
|
|
557
|
-
/**
|
|
558
|
-
* Boolean edit mode - renders a dropdown with true/false/null options.
|
|
559
|
-
*/
|
|
421
|
+
/** Opens the boolean-options menu. */
|
|
560
422
|
mode: "boolean";
|
|
561
|
-
/**
|
|
562
|
-
* The label displayed for the `true` option.
|
|
563
|
-
* @default "True"
|
|
564
|
-
*/
|
|
423
|
+
/** Label for `true`. Defaults to `"True"`. */
|
|
565
424
|
trueLabel?: string;
|
|
566
|
-
/**
|
|
567
|
-
* The label displayed for the `false` option.
|
|
568
|
-
* @default "False"
|
|
569
|
-
*/
|
|
425
|
+
/** Label for `false`. Defaults to `"False"`. */
|
|
570
426
|
falseLabel?: string;
|
|
571
|
-
/**
|
|
572
|
-
* Whether to include a null option in the dropdown.
|
|
573
|
-
* @default false
|
|
574
|
-
*/
|
|
427
|
+
/** Adds a null choice. Defaults to `false`. */
|
|
575
428
|
allowNull?: boolean;
|
|
576
|
-
/**
|
|
577
|
-
* The label displayed for the `null` option. Only used when `allowNull` is true.
|
|
578
|
-
* @default "Unset"
|
|
579
|
-
*/
|
|
429
|
+
/** Label for the null choice. Defaults to `"Unset"`. */
|
|
580
430
|
nullLabel?: string;
|
|
581
431
|
};
|
|
582
432
|
/**
|
|
583
|
-
*
|
|
584
|
-
*
|
|
585
|
-
*
|
|
586
|
-
* @template T - The row data type
|
|
587
|
-
* @template K - The column key
|
|
588
|
-
*
|
|
589
|
-
* @example
|
|
590
|
-
* ```ts
|
|
591
|
-
* // Text editing
|
|
592
|
-
* editConfig: { mode: "text", onChange: (value, rowId) => save(value, rowId) }
|
|
593
|
-
*
|
|
594
|
-
* // Number editing
|
|
595
|
-
* editConfig: {
|
|
596
|
-
* mode: "number",
|
|
597
|
-
* minValue: 0,
|
|
598
|
-
* maxValue: 1000,
|
|
599
|
-
* step: 1,
|
|
600
|
-
* onChange: (value, rowId) => save(value, rowId)
|
|
601
|
-
* }
|
|
602
|
-
*
|
|
603
|
-
* // Select editing
|
|
604
|
-
* editConfig: {
|
|
605
|
-
* mode: "select",
|
|
606
|
-
* options: [{ id: "active", label: "Active" }],
|
|
607
|
-
* onChange: (option, rowId) => save(option?.id, rowId)
|
|
608
|
-
* }
|
|
609
|
-
*
|
|
610
|
-
* // Boolean editing
|
|
611
|
-
* editConfig: {
|
|
612
|
-
* mode: "boolean",
|
|
613
|
-
* trueLabel: "Yes",
|
|
614
|
-
* falseLabel: "No",
|
|
615
|
-
* onChange: (value, rowId) => save(value, rowId)
|
|
616
|
-
* }
|
|
617
|
-
*
|
|
618
|
-
* // Custom editing keeps renderCell as the read path
|
|
619
|
-
* editConfig: {
|
|
620
|
-
* mode: "custom",
|
|
621
|
-
* onCommit: (draft, rowId) => saveDraft(draft, rowId),
|
|
622
|
-
* onDraftUpdate: (draft, rowId) => previewDraft(draft, rowId),
|
|
623
|
-
* renderEditor: ({ controller }) => renderAddressEditor(controller)
|
|
624
|
-
* }
|
|
625
|
-
* ```
|
|
433
|
+
* Edit configurations available for a keyed row value. `createColumnHelper`
|
|
434
|
+
* narrows this union to modes compatible with that value type.
|
|
626
435
|
*/
|
|
627
436
|
export type EditConfig<T, K extends keyof T> = TextEditConfig<T, K> | NumberEditConfig<T, K> | SelectEditConfig<T, K> | SelectAsyncEditConfig<T> | MultiselectEditConfig<T, K> | MultiselectAsyncEditConfig<T> | BooleanEditConfig<T, K> | CustomEditConfig<T, K>;
|
|
628
437
|
/**
|
|
629
|
-
*
|
|
630
|
-
*
|
|
438
|
+
* Consumer row data plus the identity and optional status/expansion metadata
|
|
439
|
+
* required by DataTable.
|
|
631
440
|
*/
|
|
632
441
|
export type TableRow<T> = T & {
|
|
633
|
-
/**
|
|
634
|
-
* The id of the row
|
|
635
|
-
*/
|
|
442
|
+
/** Stable identity used for selection, editing, and React keys. */
|
|
636
443
|
id: string | number;
|
|
637
|
-
/**
|
|
638
|
-
* Row metadata including errors
|
|
639
|
-
*/
|
|
444
|
+
/** Cell- and row-level validation status. */
|
|
640
445
|
meta?: {
|
|
641
446
|
/**
|
|
642
447
|
* Cell-level errors keyed by column id.
|
|
@@ -665,36 +470,31 @@ export type TableRow<T> = T & {
|
|
|
665
470
|
*/
|
|
666
471
|
rowWarning?: boolean | string;
|
|
667
472
|
};
|
|
668
|
-
/**
|
|
669
|
-
* The sub component displayed when the row is expanded
|
|
670
|
-
*/
|
|
473
|
+
/** Detail content shown beneath an expanded row. */
|
|
671
474
|
subComponent?: ReactNode;
|
|
672
|
-
/**
|
|
673
|
-
* The sub rows of the row when the row is expanded
|
|
674
|
-
*/
|
|
475
|
+
/** Nested rows revealed by expansion. */
|
|
675
476
|
subRows?: TableRow<T>[];
|
|
676
477
|
};
|
|
478
|
+
/** Read-only overflow treatment for a leaf column. */
|
|
677
479
|
export type ColumnOverflowConfig = {
|
|
678
480
|
/**
|
|
679
481
|
* Disclosure behavior used when mounted read-only cell content is clipped.
|
|
680
482
|
*/
|
|
681
483
|
mode: "surface";
|
|
682
484
|
};
|
|
485
|
+
/** Header, sizing, alignment, pinning, and footer options shared by columns. */
|
|
683
486
|
export type ColumnBaseDef = ColumnHeaderConfig & {
|
|
684
487
|
/**
|
|
685
|
-
*
|
|
686
|
-
*
|
|
488
|
+
* On leaf columns, overrides the alignment inferred from `type`. Group
|
|
489
|
+
* headers stay start-aligned.
|
|
687
490
|
*/
|
|
688
491
|
align?: "start" | "center" | "end";
|
|
689
492
|
/**
|
|
690
|
-
*
|
|
691
|
-
*
|
|
692
|
-
* the column-level value takes precedence.
|
|
493
|
+
* Replaces the table's empty-cell content for this column. Applies to `null`,
|
|
494
|
+
* `undefined`, and empty strings.
|
|
693
495
|
*/
|
|
694
496
|
emptyCellContent?: ReactNode;
|
|
695
|
-
/**
|
|
696
|
-
* The content of the footer cell. An array will display multiple footer rows
|
|
697
|
-
*/
|
|
497
|
+
/** One footer value, or one value per footer row. */
|
|
698
498
|
footerContent?: ReactNode | ReactNode[];
|
|
699
499
|
/**
|
|
700
500
|
* The maximum width of the column, in pixels. Caps automatic growth when
|
|
@@ -708,39 +508,25 @@ export type ColumnBaseDef = ColumnHeaderConfig & {
|
|
|
708
508
|
*/
|
|
709
509
|
minWidth?: number;
|
|
710
510
|
/**
|
|
711
|
-
*
|
|
712
|
-
*
|
|
713
|
-
*
|
|
714
|
-
*
|
|
715
|
-
* instead.
|
|
716
|
-
*
|
|
717
|
-
* Manual resize via the column's resize handle is still bounded by
|
|
718
|
-
* `minWidth`/`maxWidth`, so users can drag a column below `defaultWidth`
|
|
719
|
-
* down to `minWidth`.
|
|
720
|
-
*
|
|
721
|
-
* @remarks Values outside `minWidth`/`maxWidth` are not validated when
|
|
722
|
-
* provided. CSS grid clamps the rendered width at display time.
|
|
511
|
+
* Preferred starting width in pixels. Unpinned columns render at this width,
|
|
512
|
+
* grow toward `maxWidth` when the table has spare space, and never
|
|
513
|
+
* auto-shrink below it (the table scrolls instead). Pinned columns stay at
|
|
514
|
+
* this size. Manual resize is still bounded by `minWidth`/`maxWidth`.
|
|
723
515
|
*
|
|
724
|
-
*
|
|
516
|
+
* Values outside `minWidth`/`maxWidth` are not validated when provided; CSS
|
|
517
|
+
* grid clamps at display time. Falls back to `minWidth` when omitted.
|
|
725
518
|
*/
|
|
726
519
|
defaultWidth?: number;
|
|
727
|
-
/**
|
|
728
|
-
* The pinning location of the column
|
|
729
|
-
*/
|
|
520
|
+
/** Keeps the column against the chosen edge while horizontally scrolling. */
|
|
730
521
|
pinned?: "left" | "right";
|
|
731
|
-
/**
|
|
732
|
-
* Whether the column is resizable
|
|
733
|
-
*/
|
|
522
|
+
/** Shows a pointer-driven resize handle. */
|
|
734
523
|
resizable?: boolean;
|
|
735
524
|
};
|
|
525
|
+
/** Header group containing nested leaf or group columns. */
|
|
736
526
|
export type ColumnGroupDef<T> = ColumnBaseDef & {
|
|
737
|
-
/**
|
|
738
|
-
* Group column id.
|
|
739
|
-
*/
|
|
527
|
+
/** Stable id for the header group. */
|
|
740
528
|
id: string;
|
|
741
|
-
/**
|
|
742
|
-
* Columns of a group column
|
|
743
|
-
*/
|
|
529
|
+
/** Leaf or nested columns displayed beneath this group header. */
|
|
744
530
|
columns: ColumnDef<T>[];
|
|
745
531
|
editConfig?: never;
|
|
746
532
|
overflow?: never;
|
|
@@ -749,155 +535,90 @@ export type ColumnGroupDef<T> = ColumnBaseDef & {
|
|
|
749
535
|
type?: never;
|
|
750
536
|
};
|
|
751
537
|
type ColumnDataDefBase<T, K extends keyof T> = ColumnBaseDef & {
|
|
752
|
-
/**
|
|
753
|
-
* The id of the column - must be a key of T
|
|
754
|
-
*/
|
|
538
|
+
/** Row key read by this column. */
|
|
755
539
|
id: K;
|
|
756
|
-
/**
|
|
757
|
-
* Columns of a group column
|
|
758
|
-
*/
|
|
759
540
|
columns?: undefined;
|
|
760
541
|
/**
|
|
761
|
-
*
|
|
762
|
-
*
|
|
763
|
-
* Custom edit columns continue to use this read-only render path.
|
|
542
|
+
* Overrides the renderer inferred from `type`. Custom edit columns continue
|
|
543
|
+
* to use this for their read-only state.
|
|
764
544
|
*/
|
|
765
545
|
renderCell?: (value: T[K], context: ColumnReadRenderContext<TableRow<T>>) => ReactNode;
|
|
766
|
-
/**
|
|
767
|
-
* Optional plain-text extractor for the read path.
|
|
768
|
-
* Useful when `renderCell` returns JSX or multiline content but default sorting
|
|
769
|
-
* should still use a simple string.
|
|
770
|
-
*/
|
|
546
|
+
/** Supplies sortable text when `renderCell` returns rich content. */
|
|
771
547
|
getCellText?: (value: T[K], context: ColumnReadRenderContext<TableRow<T>>) => string;
|
|
772
548
|
/**
|
|
773
|
-
*
|
|
774
|
-
*
|
|
775
|
-
*
|
|
776
|
-
* hook to return both rendered read content and the sortable raw string.
|
|
549
|
+
* Supplies rendered content and sortable text together. When set, it wins
|
|
550
|
+
* over `renderCell` and `getCellText`. Prefer `getCellText` when only
|
|
551
|
+
* sorting needs an alternate representation.
|
|
777
552
|
*/
|
|
778
553
|
getReadRenderResult?: (value: T[K], context: ColumnReadRenderContext<TableRow<T>>) => ColumnReadRenderResult;
|
|
779
|
-
/**
|
|
780
|
-
* Whether the column is sortable, or a function to customize the sorting logic.
|
|
781
|
-
* When a function, receives values of the column's value type.
|
|
782
|
-
*/
|
|
554
|
+
/** Enables default sorting, or supplies a value comparator. */
|
|
783
555
|
sortable?: boolean | ((valueA: T[K], valueB: T[K]) => number);
|
|
784
556
|
/**
|
|
785
|
-
*
|
|
786
|
-
*
|
|
557
|
+
* Supplies default formatting and alignment; explicit column options override
|
|
558
|
+
* those defaults.
|
|
787
559
|
*/
|
|
788
560
|
type?: ColumnTypeConfig;
|
|
789
561
|
};
|
|
790
562
|
type ColumnReadOnlyDefForKey<T, K extends keyof T> = ColumnDataDefBase<T, K> & {
|
|
791
563
|
editConfig?: undefined;
|
|
792
|
-
/**
|
|
793
|
-
* Shows full read-only cell content in a Surface when mounted content is clipped.
|
|
794
|
-
*/
|
|
564
|
+
/** Shows clipped read-only content in a disclosure Surface. */
|
|
795
565
|
overflow?: ColumnOverflowConfig;
|
|
796
566
|
};
|
|
797
567
|
type ColumnEditableDefForKey<T, K extends keyof T> = ColumnDataDefBase<T, K> & {
|
|
798
|
-
/**
|
|
799
|
-
* Configuration for cell editing. Presence enables editing for the column.
|
|
800
|
-
* Consolidates edit mode, options, and onChange into a single object.
|
|
801
|
-
*/
|
|
568
|
+
/** Enables cell editing with the selected mode and persistence callback. */
|
|
802
569
|
editConfig: EditConfig<T, K>;
|
|
803
570
|
overflow?: never;
|
|
804
571
|
};
|
|
572
|
+
/** Read-only or editable leaf definition for one row key. */
|
|
805
573
|
export type ColumnDefForKey<T, K extends keyof T> = ColumnReadOnlyDefForKey<T, K> | ColumnEditableDefForKey<T, K>;
|
|
806
574
|
type ColumnLeafDef<T> = ColumnDataDefBase<T, keyof T> & ({
|
|
807
575
|
editConfig?: undefined;
|
|
808
|
-
/**
|
|
809
|
-
* Shows full read-only cell content in a Surface when mounted content is clipped.
|
|
810
|
-
*/
|
|
576
|
+
/** Shows clipped read-only content in a disclosure Surface. */
|
|
811
577
|
overflow?: ColumnOverflowConfig;
|
|
812
578
|
} | {
|
|
813
|
-
/**
|
|
814
|
-
* Configuration for cell editing. Presence enables editing for the column.
|
|
815
|
-
* Consolidates edit mode, options, and onChange into a single object.
|
|
816
|
-
*/
|
|
579
|
+
/** Enables cell editing with the selected mode and persistence callback. */
|
|
817
580
|
editConfig: EditConfig<T, keyof T>;
|
|
818
581
|
overflow?: never;
|
|
819
582
|
});
|
|
820
|
-
/**
|
|
821
|
-
* Column definition type for DataTable columns.
|
|
822
|
-
*
|
|
823
|
-
* Use `createColumnHelper<T>()` to create type-safe column definitions with
|
|
824
|
-
* proper type inference for `type`, `editConfig`, and value types.
|
|
825
|
-
*
|
|
826
|
-
* @example
|
|
827
|
-
* ```ts
|
|
828
|
-
* type Data = { name: string; amount: number; tags: string[] };
|
|
829
|
-
* const createColumn = createColumnHelper<Data>();
|
|
830
|
-
*
|
|
831
|
-
* const columns = [
|
|
832
|
-
* // Display-only column with type defaults
|
|
833
|
-
* createColumn("amount", { header: { label: "Amount" }, type: "currency" }),
|
|
834
|
-
*
|
|
835
|
-
* // Editable column with editConfig
|
|
836
|
-
* createColumn("name", {
|
|
837
|
-
* header: { label: "Name" },
|
|
838
|
-
* type: "text",
|
|
839
|
-
* editConfig: { mode: "text", onChange: (value, rowId) => save(value, rowId) }
|
|
840
|
-
* }),
|
|
841
|
-
*
|
|
842
|
-
* // Multiselect editing
|
|
843
|
-
* createColumn("tags", {
|
|
844
|
-
* header: { label: "Tags" },
|
|
845
|
-
* editConfig: {
|
|
846
|
-
* mode: "multiselect",
|
|
847
|
-
* options: [{ value: "urgent", label: "Urgent" }],
|
|
848
|
-
* onChange: (value, rowId) => save(value, rowId)
|
|
849
|
-
* }
|
|
850
|
-
* }),
|
|
851
|
-
* ];
|
|
852
|
-
* ```
|
|
853
|
-
*/
|
|
583
|
+
/** Visible label and optional indicator/help content for a column header. */
|
|
854
584
|
export type ColumnHeader = {
|
|
855
|
-
/**
|
|
856
|
-
* The visible header label text.
|
|
857
|
-
*/
|
|
585
|
+
/** Text used as the visible and accessible column label. */
|
|
858
586
|
label: string;
|
|
859
|
-
/**
|
|
860
|
-
* Whether the header should show a required indicator.
|
|
861
|
-
*/
|
|
587
|
+
/** Shows the required indicator beside the label. */
|
|
862
588
|
required?: boolean;
|
|
863
|
-
/**
|
|
864
|
-
* Additional contextual content rendered from a keyboard-accessible more-info trigger.
|
|
865
|
-
*/
|
|
589
|
+
/** Content opened from the header's keyboard-accessible more-info trigger. */
|
|
866
590
|
moreInfo?: ReactNode;
|
|
867
591
|
};
|
|
592
|
+
/**
|
|
593
|
+
* Requires either the current structured header or the deprecated label.
|
|
594
|
+
*/
|
|
868
595
|
export type ColumnHeaderConfig = {
|
|
869
|
-
/**
|
|
870
|
-
* The forward-looking header configuration.
|
|
871
|
-
*/
|
|
596
|
+
/** Label and optional header adornments. */
|
|
872
597
|
header: ColumnHeader;
|
|
873
598
|
/**
|
|
874
|
-
*
|
|
599
|
+
* Deprecated string label used when `header` is omitted.
|
|
875
600
|
* @deprecated Use `header.label` instead.
|
|
876
601
|
*/
|
|
877
602
|
headerLabel?: string;
|
|
878
603
|
} | {
|
|
879
|
-
/**
|
|
880
|
-
* The forward-looking header configuration.
|
|
881
|
-
*/
|
|
604
|
+
/** Label and optional header adornments. */
|
|
882
605
|
header?: ColumnHeader;
|
|
883
606
|
/**
|
|
884
|
-
*
|
|
607
|
+
* Deprecated string label used when `header` is omitted.
|
|
885
608
|
* @deprecated Use `header.label` instead.
|
|
886
609
|
*/
|
|
887
610
|
headerLabel: string;
|
|
888
611
|
};
|
|
889
|
-
export type ColumnDef<T> = ColumnGroupDef<T> | ColumnLeafDef<T>;
|
|
890
612
|
/**
|
|
891
|
-
*
|
|
613
|
+
* Group or leaf definition consumed by DataTable. Prefer
|
|
614
|
+
* {@link createColumnHelper} for value-aware edit-mode inference.
|
|
892
615
|
*/
|
|
616
|
+
export type ColumnDef<T> = ColumnGroupDef<T> | ColumnLeafDef<T>;
|
|
617
|
+
/** Values passed to a custom footer-cell renderer. */
|
|
893
618
|
export type CustomTableFooterCellProps = {
|
|
894
|
-
/**
|
|
895
|
-
* The content of the footer cell
|
|
896
|
-
*/
|
|
619
|
+
/** Rendered footer content. */
|
|
897
620
|
content: ReactNode;
|
|
898
|
-
/**
|
|
899
|
-
* The number of columns the footer cell should span
|
|
900
|
-
*/
|
|
621
|
+
/** Grid columns occupied by this footer cell. */
|
|
901
622
|
colSpan: number;
|
|
902
623
|
};
|
|
903
624
|
export {};
|