@servicetitan/anvil2 3.0.6 → 3.0.8
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 +52 -0
- package/dist/{AiMark-BXL0sWIV.js → AiMark-CS6MvraM.js} +5 -4
- package/dist/{AiMark-BXL0sWIV.js.map → AiMark-CS6MvraM.js.map} +1 -1
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-BNH0UD2s.js → Alert-CNDLoh6b.js} +2 -2
- package/dist/{Alert-BNH0UD2s.js.map → Alert-CNDLoh6b.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{AnvilProvider-J9DjoJiB.js → AnvilProvider-BFK29dL5.js} +3 -2
- package/dist/{AnvilProvider-J9DjoJiB.js.map → AnvilProvider-BFK29dL5.js.map} +1 -1
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Avatar-FDHyqiCy.js → Avatar-Bl-Dxbhf.js} +7 -2
- package/dist/Avatar-Bl-Dxbhf.js.map +1 -0
- package/dist/{Avatar-B_cRQqKR.js → Avatar-CdAIJ5VK.js} +2 -2
- package/dist/{Avatar-B_cRQqKR.js.map → Avatar-CdAIJ5VK.js.map} +1 -1
- package/dist/Avatar.js +2 -2
- package/dist/{Breadcrumbs-Bzxbdu-S.js → Breadcrumbs--Xt6l_2L.js} +2 -2
- package/dist/{Breadcrumbs-Bzxbdu-S.js.map → Breadcrumbs--Xt6l_2L.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Calendar-DS5eWpGF.js → Calendar-5mAxtdNh.js} +2 -2
- package/dist/{Calendar-DS5eWpGF.js.map → Calendar-5mAxtdNh.js.map} +1 -1
- package/dist/{Calendar-BYNFAWpZ.js → Calendar-rITorBvD.js} +5 -3
- package/dist/{Calendar-BYNFAWpZ.js.map → Calendar-rITorBvD.js.map} +1 -1
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-BeIzx_ZX.js → Checkbox-BYWhkYoK.js} +2 -2
- package/dist/{Checkbox-BeIzx_ZX.js.map → Checkbox-BYWhkYoK.js.map} +1 -1
- package/dist/{Checkbox-BB3BDJsK.js → Checkbox-DTzoDcJl.js} +3 -3
- package/dist/{Checkbox-BB3BDJsK.js.map → Checkbox-DTzoDcJl.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-D2k5X_wX.js → Chip-CyMNyEPR.js} +3 -3
- package/dist/{Chip-D2k5X_wX.js.map → Chip-CyMNyEPR.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -2
- package/dist/Combobox.js.map +1 -1
- package/dist/{DataTable-0kOuVgSB.js → DataTable-Dwhwvm6R.js} +205 -78
- package/dist/DataTable-Dwhwvm6R.js.map +1 -0
- package/dist/DataTable.css +47 -5
- package/dist/{DateFieldRange-Be_I9GTp.js → DateFieldRange-BUug1tUy.js} +27 -15
- package/dist/DateFieldRange-BUug1tUy.js.map +1 -0
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-CsrsY9i8.js → DateFieldSingle-DR7faQGD.js} +5 -5
- package/dist/{DateFieldSingle-CsrsY9i8.js.map → DateFieldSingle-DR7faQGD.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-m_Hl2gMY.js → DateFieldYearless-7MFcR7L6.js} +4 -4
- package/dist/{DateFieldYearless-m_Hl2gMY.js.map → DateFieldYearless-7MFcR7L6.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-DNqSTBDr.js → DateFieldYearlessRange-DGtdyISH.js} +3 -3
- package/dist/{DateFieldYearlessRange-DNqSTBDr.js.map → DateFieldYearlessRange-DGtdyISH.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-D58z_eF3.js → DaysOfTheWeek-C7oN9nIe.js} +3 -3
- package/dist/{DaysOfTheWeek-D58z_eF3.js.map → DaysOfTheWeek-C7oN9nIe.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Dialog-CD-SDfPT.js → Dialog-dE9c90iR.js} +4 -4
- package/dist/{Dialog-CD-SDfPT.js.map → Dialog-dE9c90iR.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-s2y0xcgV.js → Drawer-Dk0MsaOU.js} +3 -3
- package/dist/{Drawer-s2y0xcgV.js.map → Drawer-Dk0MsaOU.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-B25pj0Jx.js → EditCard-DV2N7zWr.js} +2 -2
- package/dist/{EditCard-B25pj0Jx.js.map → EditCard-DV2N7zWr.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-D1qPAGtB.js → FieldLabel-VVn8GR64.js} +3 -3
- package/dist/{FieldLabel-D1qPAGtB.js.map → FieldLabel-VVn8GR64.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/FilterBar-CXGsoWw5.js +413 -0
- package/dist/FilterBar-CXGsoWw5.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/{InputMask-BDl09V4u.js → InputMask-VBHWGZGN.js} +3 -3
- package/dist/{InputMask-BDl09V4u.js.map → InputMask-VBHWGZGN.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{ListView-CcRRh1ap.js → ListView-BUrfz75g.js} +6 -6
- package/dist/{ListView-CcRRh1ap.js.map → ListView-BUrfz75g.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{ListView.module-CKUQP3kf.js → ListView.module-DfqtCL3Q.js} +3 -3
- package/dist/ListView.module-DfqtCL3Q.js.map +1 -0
- package/dist/{Listbox-CvQHBFWb.js → Listbox-CRY-0BkS.js} +2 -2
- package/dist/{Listbox-CvQHBFWb.js.map → Listbox-CRY-0BkS.js.map} +1 -1
- package/dist/Listbox.js +1 -1
- package/dist/{Menu-W0c-xKdX.js → Menu-DNJ0YqjA.js} +11 -7
- package/dist/Menu-DNJ0YqjA.js.map +1 -0
- package/dist/Menu.js +1 -1
- package/dist/MenuFooter-CrsZdXvN.js +115 -0
- package/dist/MenuFooter-CrsZdXvN.js.map +1 -0
- package/dist/MenuFooter.css +28 -0
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-BMVROOjy.js → MultiSelectFieldSync-CIuy3aRD.js} +64 -79
- package/dist/MultiSelectFieldSync-CIuy3aRD.js.map +1 -0
- package/dist/MultiSelectFieldSync.css +72 -69
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-BNPp_2Bm.js → MultiSelectMenuSync-Drz8SEk9.js} +150 -46
- package/dist/MultiSelectMenuSync-Drz8SEk9.js.map +1 -0
- package/dist/{NumberField-BymFZhIJ.js → NumberField-bgYX7JGs.js} +3 -3
- package/dist/{NumberField-BymFZhIJ.js.map → NumberField-bgYX7JGs.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/{Page-SBy27-Wv.js → Page-BSHydn4p.js} +9 -9
- package/dist/{Page-SBy27-Wv.js.map → Page-BSHydn4p.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Pagination-Cm8-K6VH.js → Pagination-CAeyJ7Pl.js} +193 -27
- package/dist/Pagination-CAeyJ7Pl.js.map +1 -0
- package/dist/Pagination.css +4 -2
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-8mTJoMy7.js → Popover-Cq5tirFz.js} +11 -5
- package/dist/Popover-Cq5tirFz.js.map +1 -0
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-C1CkQHV5.js → ProgressBar-ByR50ln7.js} +2 -2
- package/dist/{ProgressBar-C1CkQHV5.js.map → ProgressBar-ByR50ln7.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-BcHMk8dD.js → Radio-CPuctRpl.js} +2 -2
- package/dist/{Radio-BcHMk8dD.js.map → Radio-CPuctRpl.js.map} +1 -1
- package/dist/{Radio-D5WyQN2i.js → Radio-WlsZFRzX.js} +3 -3
- package/dist/{Radio-D5WyQN2i.js.map → Radio-WlsZFRzX.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-DstVbYch.js → RichTextEditor-CoPXdaWI.js} +78 -42
- package/dist/RichTextEditor-CoPXdaWI.js.map +1 -0
- package/dist/RichTextEditor.js +1 -1
- package/dist/SavedFiltersButton-DzJijqHz.js +651 -0
- package/dist/SavedFiltersButton-DzJijqHz.js.map +1 -0
- package/dist/SavedFiltersButton.css +8 -0
- package/dist/SavedFiltersButton.d.ts +1 -0
- package/dist/SavedFiltersButton.js +2 -0
- package/dist/SavedFiltersButton.js.map +1 -0
- package/dist/{SearchField-3tUPU8hH.js → SearchField-BMHJCVFu.js} +2 -2
- package/dist/{SearchField-3tUPU8hH.js.map → SearchField-BMHJCVFu.js.map} +1 -1
- package/dist/{SearchField-BcQZ5e0x.js → SearchField-fXc_vWEr.js} +2 -2
- package/dist/{SearchField-BcQZ5e0x.js.map → SearchField-fXc_vWEr.js.map} +1 -1
- package/dist/SearchField.js +1 -1
- package/dist/{SelectCard-BN-LI14f.js → SelectCard-DLWLHi_i.js} +3 -3
- package/dist/{SelectCard-BN-LI14f.js.map → SelectCard-DLWLHi_i.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-UbQT7fDD.js → SelectFieldLabel-vemffdmu.js} +2 -2
- package/dist/{SelectFieldLabel-UbQT7fDD.js.map → SelectFieldLabel-vemffdmu.js.map} +1 -1
- package/dist/{SelectFieldSync-BeDYbJ2M.js → SelectFieldSync-DlGiJ-Iy.js} +5 -4
- package/dist/{SelectFieldSync-BeDYbJ2M.js.map → SelectFieldSync-DlGiJ-Iy.js.map} +1 -1
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-C-PFemsQ.js → SelectMenuSync-CAweNjRL.js} +23 -9
- package/dist/SelectMenuSync-CAweNjRL.js.map +1 -0
- package/dist/{SelectOptions-Tr11Ckqw.js → SelectOptions-BGCap9fZ.js} +2 -2
- package/dist/{SelectOptions-Tr11Ckqw.js.map → SelectOptions-BGCap9fZ.js.map} +1 -1
- package/dist/{SelectTrigger-DTz7V-Xx.js → SelectTrigger-BbneVXMz.js} +3 -3
- package/dist/{SelectTrigger-DTz7V-Xx.js.map → SelectTrigger-BbneVXMz.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-Ds6I7Qbr.js → SelectTriggerBase-BjIOERXr.js} +136 -40
- package/dist/SelectTriggerBase-BjIOERXr.js.map +1 -0
- package/dist/{Switch-onmiKoRd.js → Switch-B6bKmpwN.js} +3 -3
- package/dist/{Switch-onmiKoRd.js.map → Switch-B6bKmpwN.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-BTzgTpqu.js → Text-w2gWn4K6.js} +2 -2
- package/dist/{Text-BTzgTpqu.js.map → Text-w2gWn4K6.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-WTYZJlX3.js → TextField-BQsCh5Nb.js} +2 -2
- package/dist/{TextField-WTYZJlX3.js.map → TextField-BQsCh5Nb.js.map} +1 -1
- package/dist/{TextField-rVfctM1E.js → TextField-DJ3gEIP6.js} +3 -3
- package/dist/{TextField-rVfctM1E.js.map → TextField-DJ3gEIP6.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-PXjppEQ6.js → Textarea-BK4Vf84K.js} +3 -3
- package/dist/{Textarea-PXjppEQ6.js.map → Textarea-BK4Vf84K.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{ThemeProvider-D4KdGCaP.js → ThemeProvider-BC6wbuLU.js} +4 -9
- package/dist/{ThemeProvider-D4KdGCaP.js.map → ThemeProvider-BC6wbuLU.js.map} +1 -1
- package/dist/ThemeProvider.js +1 -1
- package/dist/ThemeProvider.module-D9pNGYjP.js +8 -0
- package/dist/ThemeProvider.module-D9pNGYjP.js.map +1 -0
- package/dist/{TimeField-BJPXIv6W.js → TimeField-B4IW2B_o.js} +4 -4
- package/dist/{TimeField-BJPXIv6W.js.map → TimeField-B4IW2B_o.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-CoChsMD0.js → Toaster-BGY2IzF5.js} +53 -48
- package/dist/Toaster-BGY2IzF5.js.map +1 -0
- package/dist/{Toaster-DXLc86VD.js → Toaster-DTF9qnTy.js} +2 -2
- package/dist/{Toaster-DXLc86VD.js.map → Toaster-DTF9qnTy.js.map} +1 -1
- package/dist/{Toolbar-Bt3kShho.js → Toolbar-DObrJ_S5.js} +5 -4
- package/dist/{Toolbar-Bt3kShho.js.map → Toolbar-DObrJ_S5.js.map} +1 -1
- package/dist/{Toolbar-BUd9eNkq.js → Toolbar-DRJGKk8D.js} +7 -6
- package/dist/{Toolbar-BUd9eNkq.js.map → Toolbar-DRJGKk8D.js.map} +1 -1
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-C06cqJ6F.js → ToolbarButtonToggle-BCKgA8FE.js} +5 -4
- package/dist/ToolbarButtonToggle-BCKgA8FE.js.map +1 -0
- package/dist/{Tooltip-yr1D06BE.js → Tooltip-DqS6xDUf.js} +27 -25
- package/dist/Tooltip-DqS6xDUf.js.map +1 -0
- package/dist/Tooltip.js +1 -1
- package/dist/TreeSelectField.d.ts +1 -0
- package/dist/TreeSelectField.js +2 -0
- package/dist/TreeSelectField.js.map +1 -0
- package/dist/TreeSelectFieldSync-Do5ffU0b.js +609 -0
- package/dist/TreeSelectFieldSync-Do5ffU0b.js.map +1 -0
- package/dist/TreeSelectFieldSync.css +173 -0
- package/dist/TreeSelectMenu.d.ts +1 -0
- package/dist/TreeSelectMenu.js +2 -0
- package/dist/TreeSelectMenu.js.map +1 -0
- package/dist/TreeSelectMenuSync-s05Ly6lj.js +413 -0
- package/dist/TreeSelectMenuSync-s05Ly6lj.js.map +1 -0
- package/dist/{YearlessDateInputWithPicker-BIcVgz-J.js → YearlessDateInputWithPicker-BHfFjCqE.js} +2 -2
- package/dist/{YearlessDateInputWithPicker-BIcVgz-J.js.map → YearlessDateInputWithPicker-BHfFjCqE.js.map} +1 -1
- package/dist/beta.js +15 -12
- package/dist/beta.js.map +1 -1
- package/dist/confirmationTypes-CG7xl50f.js +75 -0
- package/dist/confirmationTypes-CG7xl50f.js.map +1 -0
- package/dist/filter-state-DyMDjdRS.js +1867 -0
- package/dist/filter-state-DyMDjdRS.js.map +1 -0
- package/dist/{FilterBar.css → filter-state.css} +19 -33
- package/dist/{floating-ui.react-dom-CHrYz13o.js → floating-ui.react-dom-BIKT960u.js} +2 -2
- package/dist/{floating-ui.react-dom-CHrYz13o.js.map → floating-ui.react-dom-BIKT960u.js.map} +1 -1
- package/dist/{index-DVYRUKtW.js → index-fSKD4ey4.js} +79 -109
- package/dist/{index-DVYRUKtW.js.map → index-fSKD4ey4.js.map} +1 -1
- package/dist/index.js +43 -44
- package/dist/index.js.map +1 -1
- package/dist/keyboard_arrow_left-CiE1n99w.js +6 -0
- package/dist/keyboard_arrow_left-CiE1n99w.js.map +1 -0
- package/dist/keyboard_arrow_right-DMloHg_F.js +6 -0
- package/dist/keyboard_arrow_right-DMloHg_F.js.map +1 -0
- package/dist/portalScopeClassNames-jlZkdug_.js +7 -0
- package/dist/portalScopeClassNames-jlZkdug_.js.map +1 -0
- package/dist/src/beta/components/FilterBar/FilterBar.d.ts +12 -10
- package/dist/src/beta/components/FilterBar/FilterDateList.d.ts +15 -5
- package/dist/src/beta/components/FilterBar/FilterDateRange.d.ts +34 -29
- package/dist/src/beta/components/FilterBar/FilterDateSingle.d.ts +31 -22
- package/dist/src/beta/components/FilterBar/FilterDrawer.d.ts +1 -1
- package/dist/src/beta/components/FilterBar/FilterItemWrapper.d.ts +4 -12
- package/dist/src/beta/components/FilterBar/FilterNumericRange.d.ts +29 -0
- package/dist/src/beta/components/FilterBar/FilterPopoverButton.d.ts +86 -0
- package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +29 -0
- package/dist/src/beta/components/FilterBar/FilterToggleButton.d.ts +2 -2
- package/dist/src/beta/components/FilterBar/FilterTriggerButton.d.ts +50 -0
- package/dist/src/beta/components/FilterBar/index.d.ts +1 -1
- package/dist/src/beta/components/FilterBar/internal/FilterGroupContext.d.ts +5 -9
- package/dist/src/beta/components/FilterBar/internal/adapters/asyncMultiSelect.d.ts +6 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/asyncSelect.d.ts +6 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/asyncTree.d.ts +6 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/boolean.d.ts +3 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/custom.d.ts +3 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/date.d.ts +5 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/dateList.d.ts +5 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/dateRange.d.ts +8 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/index.d.ts +15 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/multiSelect.d.ts +6 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/numericRange.d.ts +3 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/singleSelect.d.ts +6 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/textInput.d.ts +3 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/tree.d.ts +6 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +81 -0
- package/dist/src/beta/components/FilterBar/internal/types.d.ts +223 -61
- package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +2 -2
- package/dist/src/beta/components/FilterBar/internal/utils/filter-state.d.ts +2 -40
- package/dist/src/beta/components/FilterBar/internal/utils/test.d.ts +16 -28
- package/dist/src/beta/components/FilterBar/internal/utils/value-compare.d.ts +14 -0
- package/dist/src/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
- package/dist/src/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
- package/dist/src/beta/components/MultiSelectField/internal/types.d.ts +4 -2
- package/dist/src/beta/components/MultiSelectField/internal/useComboMultiple.d.ts +7 -5
- package/dist/src/beta/components/MultiSelectField/internal/useSelectModeMultiple.d.ts +5 -2
- package/dist/src/beta/components/MultiSelectField/types.d.ts +21 -36
- package/dist/src/beta/components/MultiSelectMenu/MultiSelectMenu.d.ts +1 -0
- package/dist/src/beta/components/MultiSelectMenu/types.d.ts +52 -12
- package/dist/src/beta/components/SavedFiltersButton/SavedFiltersButton.d.ts +40 -0
- package/dist/src/beta/components/SavedFiltersButton/index.d.ts +2 -0
- package/dist/src/beta/components/SavedFiltersButton/internal/AddSavedFilterDrawer.d.ts +27 -0
- package/dist/src/beta/components/SavedFiltersButton/internal/EditSavedFiltersDrawer.d.ts +38 -0
- package/dist/src/beta/components/SavedFiltersButton/types.d.ts +147 -0
- package/dist/src/beta/components/SelectField/types.d.ts +7 -11
- package/dist/src/beta/components/SelectMenu/internal/useMenuInteraction.d.ts +8 -1
- package/dist/src/beta/components/SelectMenu/types.d.ts +21 -1
- package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +4 -6
- package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +6 -1
- package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +6 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -11
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +0 -2
- package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/types.d.ts +43 -10
- package/dist/src/beta/components/Toolbar/internal/ToolbarContext.d.ts +3 -2
- package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +68 -0
- package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +64 -0
- package/dist/src/beta/components/TreeSelectField/index.d.ts +3 -0
- package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +31 -0
- package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +56 -0
- package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +56 -0
- package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +82 -0
- package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +57 -0
- package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +33 -0
- package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +25 -0
- package/dist/src/beta/components/TreeSelectField/internal/types.d.ts +12 -0
- package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +99 -0
- package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +93 -0
- package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +42 -0
- package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +56 -0
- package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +58 -0
- package/dist/src/beta/components/TreeSelectField/stories/TreeSelectField.stories.data.d.ts +21 -0
- package/dist/src/beta/components/TreeSelectField/types.d.ts +124 -0
- package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +29 -0
- package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +65 -0
- package/dist/src/beta/components/TreeSelectMenu/index.d.ts +4 -0
- package/dist/src/beta/components/TreeSelectMenu/types.d.ts +103 -0
- package/dist/src/beta/components/index.d.ts +3 -0
- package/dist/src/components/Pagination/internal/Pagination.d.ts +1 -0
- package/dist/src/components/Pagination/internal/PaginationOverflowMenu.d.ts +12 -1
- package/dist/src/internal/components/MenuFooter/MenuFooter.d.ts +43 -0
- package/dist/src/internal/components/OptionCheckbox.d.ts +6 -0
- package/dist/src/internal/components/OptionContentArea.d.ts +8 -0
- package/dist/src/internal/components/OptionRow.d.ts +10 -0
- package/dist/src/internal/components/OptionsPopover/OptionsPopover.d.ts +4 -4
- package/dist/src/internal/functions/portalScopeClassNames.d.ts +14 -0
- package/dist/src/internal/hooks/index.d.ts +2 -0
- package/dist/src/internal/hooks/useBulkActionRunner.d.ts +41 -0
- package/dist/src/internal/hooks/useConfirmationDraft.d.ts +21 -0
- package/dist/src/internal/types/bulkActionTypes.d.ts +39 -0
- package/dist/src/internal/types/confirmationTypes.d.ts +19 -0
- package/dist/src/internal/types/optionContent.d.ts +19 -0
- package/dist/src/internal/types/selectFieldInternalTypes.d.ts +2 -0
- package/dist/src/internal/utils/arrayIdsEqual.d.ts +10 -0
- package/dist/src/internal/utils/index.d.ts +1 -0
- package/dist/{stripInlineMarkdown-C5DNxxwf.js → stripInlineMarkdown-C0bVmYgG.js} +2 -2
- package/dist/{stripInlineMarkdown-C5DNxxwf.js.map → stripInlineMarkdown-C0bVmYgG.js.map} +1 -1
- package/dist/{syncFilterUtils-COxBIkt6.js → syncFilterUtils-DZqeVWTS.js} +49 -385
- package/dist/syncFilterUtils-DZqeVWTS.js.map +1 -0
- package/dist/syncFilterUtils.css +21 -164
- package/dist/treeSync-Cz3H08cr.js +1453 -0
- package/dist/treeSync-Cz3H08cr.js.map +1 -0
- package/dist/treeSync.css +40 -0
- package/dist/useAdaptiveView-CeYKH0Me.js +386 -0
- package/dist/useAdaptiveView-CeYKH0Me.js.map +1 -0
- package/dist/useAdaptiveView.css +181 -0
- package/dist/useChipLayout-BWZfKDgd.js +51 -0
- package/dist/useChipLayout-BWZfKDgd.js.map +1 -0
- package/dist/{useDrilldown-KZ9rRsXQ.js → useDrilldown-BJ2dHHKV.js} +2 -2
- package/dist/{useDrilldown-KZ9rRsXQ.js.map → useDrilldown-BJ2dHHKV.js.map} +1 -1
- package/dist/{Combobox-Cp7M4-4r.js → useInfiniteCombobox-C6TDFfds.js} +206 -31
- package/dist/useInfiniteCombobox-C6TDFfds.js.map +1 -0
- package/dist/{useMenuInteraction-C4RU5Fdq.js → useMenuInteraction-NEJXUD4I.js} +5 -4
- package/dist/useMenuInteraction-NEJXUD4I.js.map +1 -0
- package/dist/{useToggleSelection-B5PnTuT2.js → useToggleSelection-Bn7h-gGD.js} +53 -4
- package/dist/useToggleSelection-Bn7h-gGD.js.map +1 -0
- package/package.json +3 -5
- package/dist/Avatar-FDHyqiCy.js.map +0 -1
- package/dist/Combobox-Cp7M4-4r.js.map +0 -1
- package/dist/DataTable-0kOuVgSB.js.map +0 -1
- package/dist/DateFieldRange-Be_I9GTp.js.map +0 -1
- package/dist/FilterBar-yysyZ-t1.js +0 -1797
- package/dist/FilterBar-yysyZ-t1.js.map +0 -1
- package/dist/ListView.module-CKUQP3kf.js.map +0 -1
- package/dist/Menu-W0c-xKdX.js.map +0 -1
- package/dist/MultiSelectFieldSync-BMVROOjy.js.map +0 -1
- package/dist/MultiSelectMenuSync-BNPp_2Bm.js.map +0 -1
- package/dist/Pagination-Cm8-K6VH.js.map +0 -1
- package/dist/Popover-8mTJoMy7.js.map +0 -1
- package/dist/RichTextEditor-DstVbYch.js.map +0 -1
- package/dist/SelectMenuSync-C-PFemsQ.js.map +0 -1
- package/dist/SelectTriggerBase-Ds6I7Qbr.js.map +0 -1
- package/dist/Toaster-CoChsMD0.js.map +0 -1
- package/dist/ToolbarButtonToggle-C06cqJ6F.js.map +0 -1
- package/dist/Tooltip-yr1D06BE.js.map +0 -1
- package/dist/keyboard_arrow_right-DZWNVytH.js +0 -8
- package/dist/keyboard_arrow_right-DZWNVytH.js.map +0 -1
- package/dist/src/beta/components/FilterBar/FilterButton.d.ts +0 -33
- package/dist/src/beta/components/FilterBar/FilterSelect.d.ts +0 -29
- package/dist/syncFilterUtils-COxBIkt6.js.map +0 -1
- package/dist/useInfiniteCombobox-WcRgC9p6.js +0 -179
- package/dist/useInfiniteCombobox-WcRgC9p6.js.map +0 -1
- package/dist/useMenuInteraction-C4RU5Fdq.js.map +0 -1
- package/dist/useToggleSelection-B5PnTuT2.js.map +0 -1
- /package/dist/{Combobox.css → useInfiniteCombobox.css} +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { Filter } from './internal/types';
|
|
3
|
+
/**
|
|
4
|
+
* Render-prop ctx passed to FilterPopoverButton's children. The `custom`
|
|
5
|
+
* adapter (and any consumer using a `custom` filter) uses this to receive the
|
|
6
|
+
* draft (or committed) value and an `onChange` for its rendered body.
|
|
7
|
+
*
|
|
8
|
+
* When commitOnSelect is false (the default), `value` is the in-progress draft
|
|
9
|
+
* and `onChange` updates it; the user must click Apply for it to commit.
|
|
10
|
+
*
|
|
11
|
+
* When commitOnSelect is true, `value` is the filter's currently-committed
|
|
12
|
+
* value and `onChange` commits immediately (and closes the popover).
|
|
13
|
+
*/
|
|
14
|
+
export type FilterPopoverButtonRenderCtx<V = unknown> = {
|
|
15
|
+
value: V;
|
|
16
|
+
onChange: (value: V) => void;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Base props shared by both commit modes. `commitOnSelect` is left out so each
|
|
20
|
+
* variant can refine it as a literal; that's what lets `initialValue` be required
|
|
21
|
+
* for the draft branch and absent for the commit-on-select branch.
|
|
22
|
+
*/
|
|
23
|
+
type FilterPopoverButtonBaseProps<V> = {
|
|
24
|
+
/** The filter being edited. Used for id and dispatching commits. */
|
|
25
|
+
filter: Filter;
|
|
26
|
+
/** Trigger button label. Adapters typically pass adapter.formatLabel(filter). */
|
|
27
|
+
label: ReactNode;
|
|
28
|
+
/** Whether the filter currently has a non-default value (drives selected styling). */
|
|
29
|
+
isSelected: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* The filter's currently-committed value. Used to seed the draft on open and
|
|
32
|
+
* to detect parent-provided changes mid-open. Adapters typically pass
|
|
33
|
+
* adapter.getValue(filter).
|
|
34
|
+
*/
|
|
35
|
+
committedValue: V;
|
|
36
|
+
/** Body content as a render-prop. Receives draft (or live) value + onChange. */
|
|
37
|
+
children: (ctx: FilterPopoverButtonRenderCtx<V>) => ReactNode;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Draft-mode props: requires `initialValue` so each consumer declares what
|
|
41
|
+
* "empty draft" means for its V (e.g. an array-shaped custom filter passes
|
|
42
|
+
* `[]`, a nullable scalar passes `null`). Eliminates the `[] as unknown as V`
|
|
43
|
+
* cast and forces non-nullable V consumers to opt in explicitly.
|
|
44
|
+
*/
|
|
45
|
+
type DraftModeProps<V> = FilterPopoverButtonBaseProps<V> & {
|
|
46
|
+
commitOnSelect?: false;
|
|
47
|
+
/**
|
|
48
|
+
* Initial draft value used until the popover opens and the draft is seeded
|
|
49
|
+
* from `committedValue`. Each adapter owns the empty-state for its V.
|
|
50
|
+
*/
|
|
51
|
+
initialValue: V;
|
|
52
|
+
/**
|
|
53
|
+
* If true, in uncontrolled mode the popover stays open after a body change
|
|
54
|
+
* instead of closing — for multi-selection workflows.
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
keepOpenOnUncontrolledChange?: boolean;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Commit-on-select props: no draft state exists, so `initialValue` and
|
|
61
|
+
* `keepOpenOnUncontrolledChange` don't apply.
|
|
62
|
+
*/
|
|
63
|
+
type CommitOnSelectProps<V> = FilterPopoverButtonBaseProps<V> & {
|
|
64
|
+
commitOnSelect: true;
|
|
65
|
+
};
|
|
66
|
+
type FilterPopoverButtonProps<V> = DraftModeProps<V> | CommitOnSelectProps<V>;
|
|
67
|
+
/**
|
|
68
|
+
* FilterPopoverButton is the popover-based trigger primitive used by the
|
|
69
|
+
* `custom` filter adapter (and anything else that needs to render an
|
|
70
|
+
* adapter-agnostic popover body with draft / Apply-Cancel semantics).
|
|
71
|
+
*
|
|
72
|
+
* Other filter types (`singleSelect`, `multiSelect`, `asyncSelect`,
|
|
73
|
+
* `asyncMultiSelect`, `date`, `dateRange`, `dateList`) compose menu primitives
|
|
74
|
+
* (`SelectMenu`, `MultiSelectMenu`) or their own popover shells directly and
|
|
75
|
+
* do not go through this component.
|
|
76
|
+
*
|
|
77
|
+
* It owns:
|
|
78
|
+
* - The trigger button (label + icon + selected state)
|
|
79
|
+
* - The OptionsPopover wrapper (open state, outside-press handling)
|
|
80
|
+
* - When commitOnSelect is false: draft state + MenuFooter Apply/Cancel chrome
|
|
81
|
+
*
|
|
82
|
+
* The body is supplied via render-prop children, which receive the
|
|
83
|
+
* appropriate value + onChange for the current commit mode.
|
|
84
|
+
*/
|
|
85
|
+
export declare const FilterPopoverButton: <V>(props: FilterPopoverButtonProps<V>) => import("react/jsx-runtime").JSX.Element;
|
|
86
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TextInputFilter } from './internal/types';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the FilterTextInput component.
|
|
4
|
+
*/
|
|
5
|
+
interface FilterTextInputProps {
|
|
6
|
+
/** The text input filter — drives label, placeholder, and max length. */
|
|
7
|
+
filter: TextInputFilter;
|
|
8
|
+
/** Current text value. */
|
|
9
|
+
value: string;
|
|
10
|
+
/** Callback to update the value. Receives the truncated string. */
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
/**
|
|
13
|
+
* `compact` hides the field's own label (toolbar popover — the filter
|
|
14
|
+
* button doubles as the label); `grid` shows it (drawer cell).
|
|
15
|
+
*/
|
|
16
|
+
layout: "compact" | "grid";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Single-line TextField for the textInput filter. Used as the popover body in
|
|
20
|
+
* the toolbar (`layout="compact"`) and as the cell in the drawer
|
|
21
|
+
* (`layout="grid"`).
|
|
22
|
+
*
|
|
23
|
+
* Features:
|
|
24
|
+
* - Truncates entered text to `filter.maxLength` before emitting
|
|
25
|
+
* - Optional `current/max` character counter (`showCounter`)
|
|
26
|
+
* - Hides its own label in `compact` (the filter button doubles as the label)
|
|
27
|
+
*/
|
|
28
|
+
export declare const FilterTextInput: ({ filter, value, onChange, layout, }: FilterTextInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export {};
|
|
@@ -13,12 +13,12 @@ export type FilterToggleButtonProps = Omit<ToolbarButtonToggleProps, "checked">
|
|
|
13
13
|
children: React.ReactNode;
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
|
-
* FilterToggleButton wraps ToolbarButtonToggle in a FilterItemWrapper for
|
|
16
|
+
* FilterToggleButton wraps ToolbarButtonToggle in a FilterItemWrapper for
|
|
17
|
+
* consistent rendering with other filter types.
|
|
17
18
|
* Built into FilterGroup for boolean filter rendering.
|
|
18
19
|
*
|
|
19
20
|
* Features:
|
|
20
21
|
* - Renders a toggle button for boolean filters
|
|
21
|
-
* - Integrates with FilterGroup and FilterItemWrapper for overflow handling
|
|
22
22
|
* - Supports accessibility and keyboard navigation
|
|
23
23
|
*/
|
|
24
24
|
export declare const FilterToggleButton: ({ id, checked, children, ...props }: FilterToggleButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ButtonProps } from '../../../components/Button';
|
|
3
|
+
/**
|
|
4
|
+
* Props that drive the visual identity of a filter's bar trigger — shared by
|
|
5
|
+
* any popover/menu primitive that wants the standard filter-trigger styling.
|
|
6
|
+
*
|
|
7
|
+
* All other Button props (ref, onClick, onKeyDown, aria-*, data-state, …) are
|
|
8
|
+
* accepted via spread, which lets this component slot underneath any menu
|
|
9
|
+
* primitive's trigger render-prop (`SelectMenu`, `MultiSelectMenu`,
|
|
10
|
+
* `FilterDateSingle` / `FilterDateRange`'s popover shell) or, for `custom`,
|
|
11
|
+
* `FilterPopoverButton`'s `Popover.Button`.
|
|
12
|
+
*/
|
|
13
|
+
export type FilterTriggerButtonProps = Omit<ButtonProps, "children" | "icon"> & {
|
|
14
|
+
/** Filter id — emitted as `data-id` for test selectors and analytics. */
|
|
15
|
+
filterId: string;
|
|
16
|
+
/** Label content rendered inside the button. */
|
|
17
|
+
label: ReactNode;
|
|
18
|
+
/** Whether the filter has a committed selection (drives the selected-state class). */
|
|
19
|
+
isSelected: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Trigger icon.
|
|
22
|
+
* - `calendar` → leading Event icon (used by date-shaped filters)
|
|
23
|
+
* - `dropdown` → trailing chevron (default)
|
|
24
|
+
* @default "dropdown"
|
|
25
|
+
*/
|
|
26
|
+
icon?: "calendar" | "dropdown";
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* FilterTriggerButton is the styled trigger primitive used by every popover-
|
|
30
|
+
* or menu-based filter type. It owns the visual identity (ghost appearance,
|
|
31
|
+
* toolbar-sized, selected-state, dropdown/calendar icon, data-id) and nothing
|
|
32
|
+
* else — open state and popover wiring belong to whatever component composes
|
|
33
|
+
* it (a menu's trigger render-prop, the date popover shells, or
|
|
34
|
+
* `FilterPopoverButton` for `custom`).
|
|
35
|
+
*/
|
|
36
|
+
export declare const FilterTriggerButton: import('react').ForwardRefExoticComponent<Omit<ButtonProps, "children" | "icon"> & {
|
|
37
|
+
/** Filter id — emitted as `data-id` for test selectors and analytics. */
|
|
38
|
+
filterId: string;
|
|
39
|
+
/** Label content rendered inside the button. */
|
|
40
|
+
label: ReactNode;
|
|
41
|
+
/** Whether the filter has a committed selection (drives the selected-state class). */
|
|
42
|
+
isSelected: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Trigger icon.
|
|
45
|
+
* - `calendar` → leading Event icon (used by date-shaped filters)
|
|
46
|
+
* - `dropdown` → trailing chevron (default)
|
|
47
|
+
* @default "dropdown"
|
|
48
|
+
*/
|
|
49
|
+
icon?: "calendar" | "dropdown";
|
|
50
|
+
} & import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './FilterBar';
|
|
2
2
|
export { FilterBar as default, type FilterBarProps } from './FilterBar';
|
|
3
|
-
export { type Filter, type BooleanFilter, type CustomFilter, type SingleSelectFilter, type MultiSelectFilter, type DateFilter, type DateRangeFilter, type DateListFilter, type DateListOption, type DateListLibraryOptionId, type FilterValue, type FilterRenderProps, type BaseFilter, } from './internal/types';
|
|
3
|
+
export { type Filter, type BooleanFilter, type CustomFilter, type SingleSelectFilter, type MultiSelectFilter, type DateFilter, type DateRangeFilter, type DateListFilter, type DateListOption, type DateListLibraryOptionId, type AsyncSelectFilter, type AsyncMultiSelectFilter, type TreeFilter, type AsyncTreeFilter, type NumericRangeFilter, type NumericRangeValue, type TextInputFilter, type FilterValue, type FilterRenderProps, type BaseFilter, } from './internal/types';
|
|
@@ -19,18 +19,14 @@ type FilterGroupContextProps = FilterBarProps & {
|
|
|
19
19
|
* @default () => {}
|
|
20
20
|
*/
|
|
21
21
|
updateFilter: (filterId: string, value: FilterValue, submit: boolean) => void;
|
|
22
|
-
/**
|
|
22
|
+
/** Filters configured as drawer-only — never rendered inline in the toolbar
|
|
23
23
|
* @default []
|
|
24
24
|
*/
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @default
|
|
28
|
-
*/
|
|
29
|
-
addHiddenFilter: (filter: Filter) => void;
|
|
30
|
-
/** Function to mark a filter as visible
|
|
31
|
-
* @default () => {}
|
|
25
|
+
drawerOnlyFilters: Filter[];
|
|
26
|
+
/** Whether the container is wide enough to render filters inline in the toolbar
|
|
27
|
+
* @default false
|
|
32
28
|
*/
|
|
33
|
-
|
|
29
|
+
showInlineFilters: boolean;
|
|
34
30
|
};
|
|
35
31
|
/**
|
|
36
32
|
* Context provider for filter-related operations
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MultiSelectMenuOption } from '../../../MultiSelectMenu';
|
|
2
|
+
import { AsyncMultiSelectFilter } from '../types';
|
|
3
|
+
import { FilterTypeAdapter } from './types';
|
|
4
|
+
type Value = MultiSelectMenuOption[];
|
|
5
|
+
export declare const asyncMultiSelectAdapter: FilterTypeAdapter<AsyncMultiSelectFilter, Value>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SelectMenuOption } from '../../../SelectMenu';
|
|
2
|
+
import { AsyncSelectFilter } from '../types';
|
|
3
|
+
import { FilterTypeAdapter } from './types';
|
|
4
|
+
type Value = SelectMenuOption | undefined;
|
|
5
|
+
export declare const asyncSelectAdapter: FilterTypeAdapter<AsyncSelectFilter, Value>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TreeSelectMenuValue } from '../../../TreeSelectMenu';
|
|
2
|
+
import { AsyncTreeFilter } from '../types';
|
|
3
|
+
import { FilterTypeAdapter } from './types';
|
|
4
|
+
type Value = TreeSelectMenuValue[];
|
|
5
|
+
export declare const asyncTreeAdapter: FilterTypeAdapter<AsyncTreeFilter, Value>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DateRangeFilter } from '../types';
|
|
2
|
+
import { FilterTypeAdapter } from './types';
|
|
3
|
+
type Value = {
|
|
4
|
+
startDate: string | null;
|
|
5
|
+
endDate: string | null;
|
|
6
|
+
} | null;
|
|
7
|
+
export declare const dateRangeAdapter: FilterTypeAdapter<DateRangeFilter, Value>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Filter } from '../types';
|
|
2
|
+
import { FilterAdapters, FilterTypeAdapter } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Per-type adapters keyed by Filter["type"]. Exhaustive: adding a new Filter
|
|
5
|
+
* variant forces a compile error here until an adapter is provided.
|
|
6
|
+
*/
|
|
7
|
+
export declare const filterAdapters: FilterAdapters;
|
|
8
|
+
/**
|
|
9
|
+
* Looks up the adapter for a given filter. The returned adapter's F and V
|
|
10
|
+
* are widened to Filter / unknown — callers that need narrow typing should pass
|
|
11
|
+
* the filter directly through the adapter methods, which preserves variance.
|
|
12
|
+
* Falls back to a no-op adapter for unknown filter types.
|
|
13
|
+
*/
|
|
14
|
+
export declare const getAdapter: (filter: Filter) => FilterTypeAdapter<Filter, unknown>;
|
|
15
|
+
export type { FilterTypeAdapter } from './types';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MultiSelectMenuOption } from '../../../MultiSelectMenu';
|
|
2
|
+
import { MultiSelectFilter } from '../types';
|
|
3
|
+
import { FilterTypeAdapter } from './types';
|
|
4
|
+
type Value = MultiSelectMenuOption[];
|
|
5
|
+
export declare const multiSelectAdapter: FilterTypeAdapter<MultiSelectFilter, Value>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SelectMenuOption } from '../../../SelectMenu';
|
|
2
|
+
import { SingleSelectFilter } from '../types';
|
|
3
|
+
import { FilterTypeAdapter } from './types';
|
|
4
|
+
type Value = SelectMenuOption | undefined;
|
|
5
|
+
export declare const singleSelectAdapter: FilterTypeAdapter<SingleSelectFilter, Value>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TreeSelectMenuValue } from '../../../TreeSelectMenu';
|
|
2
|
+
import { TreeFilter } from '../types';
|
|
3
|
+
import { FilterTypeAdapter } from './types';
|
|
4
|
+
type Value = TreeSelectMenuValue[];
|
|
5
|
+
export declare const treeAdapter: FilterTypeAdapter<TreeFilter, Value>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { AsyncMultiSelectFilter, AsyncSelectFilter, BooleanFilter, CustomFilter, DateFilter, DateListFilter, DateListLibraryOptionId, DateRangeFilter, Filter, MultiSelectFilter, NumericRangeFilter, SingleSelectFilter, TextInputFilter, TreeFilter, AsyncTreeFilter } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Context passed to renderBarControl — the inline FilterBar control for a filter.
|
|
5
|
+
*
|
|
6
|
+
* `controlledFiltering` mirrors the FilterBar prop of the same name: when true,
|
|
7
|
+
* select-style adapters should opt their underlying menu into confirmation mode
|
|
8
|
+
* (clicks update a draft, Apply commits, dismiss cancels).
|
|
9
|
+
*/
|
|
10
|
+
export type BarControlRenderCtx<F extends Filter> = {
|
|
11
|
+
filter: F;
|
|
12
|
+
updateFilter: (filterId: string, value: unknown, submit: boolean) => void;
|
|
13
|
+
controlledFiltering: boolean;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Context passed to renderDrawer — the FilterDrawer form control for a filter.
|
|
17
|
+
* Receives both the draft filter (with current draft selection) and the
|
|
18
|
+
* original filter (for stable references to consumer-supplied data).
|
|
19
|
+
*
|
|
20
|
+
* `requestDateListDialog` is provided so the dateList adapter can ask the drawer
|
|
21
|
+
* to open its shared DateListDialog when a library option is picked.
|
|
22
|
+
*/
|
|
23
|
+
export type DrawerRenderCtx<F extends Filter> = {
|
|
24
|
+
originalFilter: F;
|
|
25
|
+
draftFilter: F;
|
|
26
|
+
onDraftChange: (filterId: string, value: unknown) => void;
|
|
27
|
+
requestDateListDialog: (filterId: string, libraryId: DateListLibraryOptionId) => void;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Per-filter-type adapter. Each filter variant contributes one adapter
|
|
31
|
+
* implementing every operation FilterBar / FilterDrawer need.
|
|
32
|
+
*
|
|
33
|
+
* F = the specific Filter variant
|
|
34
|
+
* V = the value type (what getValue / setValue traffic in)
|
|
35
|
+
*
|
|
36
|
+
* `renderBarControl` returns the complete inline UI for this filter type.
|
|
37
|
+
* Most adapters compose `SelectMenu` / `MultiSelectMenu` (or one of the
|
|
38
|
+
* filter-specific shells like `FilterDateSingle`) directly, supplying the
|
|
39
|
+
* trigger via render-prop. The `custom` adapter composes `FilterPopoverButton`
|
|
40
|
+
* for fully consumer-rendered popover bodies; `boolean` uses a toggle button
|
|
41
|
+
* with no popover at all. The adapter type itself stays agnostic about UI
|
|
42
|
+
* shape.
|
|
43
|
+
*/
|
|
44
|
+
export type FilterTypeAdapter<F extends Filter, V> = {
|
|
45
|
+
getValue: (filter: F) => V;
|
|
46
|
+
setValue: (filter: F, value: V) => F;
|
|
47
|
+
reset: (filter: F) => F;
|
|
48
|
+
isActive: (filter: F) => boolean;
|
|
49
|
+
preserveState: (newFilter: F, existingFilter: F) => F;
|
|
50
|
+
cloneWithItemRefs: (filter: F) => F;
|
|
51
|
+
renderBarControl: (ctx: BarControlRenderCtx<F>) => ReactNode;
|
|
52
|
+
renderDrawer: (ctx: DrawerRenderCtx<F>) => ReactNode;
|
|
53
|
+
formatLabel: (filter: F) => ReactNode;
|
|
54
|
+
isSelected: (filter: F) => boolean;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Map from a Filter's `type` discriminant to its specific variant.
|
|
58
|
+
* Used to keep the adapter map exhaustive at the type level.
|
|
59
|
+
*/
|
|
60
|
+
export type FilterVariantMap = {
|
|
61
|
+
boolean: BooleanFilter;
|
|
62
|
+
custom: CustomFilter<any>;
|
|
63
|
+
singleSelect: SingleSelectFilter;
|
|
64
|
+
multiSelect: MultiSelectFilter;
|
|
65
|
+
date: DateFilter;
|
|
66
|
+
dateRange: DateRangeFilter;
|
|
67
|
+
dateList: DateListFilter;
|
|
68
|
+
asyncSelect: AsyncSelectFilter;
|
|
69
|
+
asyncMultiSelect: AsyncMultiSelectFilter;
|
|
70
|
+
tree: TreeFilter;
|
|
71
|
+
asyncTree: AsyncTreeFilter;
|
|
72
|
+
numericRange: NumericRangeFilter;
|
|
73
|
+
textInput: TextInputFilter;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Exhaustive map from Filter["type"] to its adapter. Forces compile-time
|
|
77
|
+
* completeness when a new filter type is added.
|
|
78
|
+
*/
|
|
79
|
+
export type FilterAdapters = {
|
|
80
|
+
[K in keyof FilterVariantMap]: FilterTypeAdapter<FilterVariantMap[K], any>;
|
|
81
|
+
};
|