@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
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
.anvil2 {/* BASE */.
|
|
1
|
+
.anvil2 {/* BASE */._combobox_1mlsg_2 {
|
|
2
2
|
min-width: 8rem;
|
|
3
3
|
position: relative;
|
|
4
|
-
}._search-
|
|
4
|
+
}._search-field_1mlsg_7 {
|
|
5
5
|
flex-direction: column;
|
|
6
6
|
font-size: var(--a2-typography-paragraph-size-default, var(--a2-font-size-400, 1rem));
|
|
7
7
|
gap: var(--a2-size-2, 0.5rem);
|
|
8
|
-
}._search-
|
|
8
|
+
}._search-field_1mlsg_7._select_1mlsg_13 {
|
|
9
9
|
cursor: pointer;
|
|
10
|
-
}._popover-
|
|
10
|
+
}._popover-content_1mlsg_17 ._search-field_1mlsg_7 {
|
|
11
11
|
border-block-end: var(--a2-size-quarter, 0.0625rem) solid var(--a2-border-color-default, light-dark(var(--a2-color-neutral-400, #8b8b8b), var(--a2-color-neutral-600, #545454)));
|
|
12
12
|
margin-block-end: var(--a2-size-4, 1rem);
|
|
13
13
|
padding-block-end: var(--a2-size-6, 1.5rem);
|
|
14
14
|
padding-block-start: var(--a2-size-2, 0.5rem);
|
|
15
15
|
padding-inline-end: var(--a2-size-2, 0.5rem);
|
|
16
16
|
padding-inline-start: var(--a2-size-2, 0.5rem);
|
|
17
|
-
}._input-
|
|
18
|
-
--a2-
|
|
17
|
+
}._input-wrapper_1mlsg_26 {
|
|
18
|
+
--a2-mod-multi-select-field-input-height: calc(
|
|
19
19
|
var(--a2-size-10, 2.5rem) - (var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem)) * 2)
|
|
20
20
|
);
|
|
21
21
|
--a2-mod-multi-select-field-input-padding-inline-end: 4.5rem;
|
|
@@ -38,30 +38,30 @@
|
|
|
38
38
|
padding-inline-end: var(--a2-mod-multi-select-field-input-padding-inline-end);
|
|
39
39
|
padding-inline-start: var(--a2-size-3, 0.75rem);
|
|
40
40
|
position: relative;
|
|
41
|
-
}._input-
|
|
41
|
+
}._input-wrapper_1mlsg_26:focus:not([disabled]), ._input-wrapper_1mlsg_26:focus-visible, ._input-wrapper_1mlsg_26:has(._input_1mlsg_26:focus-visible) {
|
|
42
42
|
outline-width: var(--a2-size-half, 0.125rem);
|
|
43
|
-
}._input-
|
|
43
|
+
}._input-wrapper_1mlsg_26:has(._input_1mlsg_26._error_1mlsg_54) {
|
|
44
44
|
border-color: var(--a2-border-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-200, #ffac9e)));
|
|
45
|
-
}._input-
|
|
45
|
+
}._input-wrapper_1mlsg_26:focus:has(._input_1mlsg_26._error_1mlsg_54):not([disabled]), ._input-wrapper_1mlsg_26:focus-visible:has(._input_1mlsg_26._error_1mlsg_54), ._input-wrapper_1mlsg_26:has(._input_1mlsg_26._error_1mlsg_54:focus-visible) {
|
|
46
46
|
outline-color: var(--a2-focus-ring-color-danger, var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d))));
|
|
47
47
|
outline-width: var(--a2-size-half, 0.125rem);
|
|
48
|
-
}._input-
|
|
48
|
+
}._input-wrapper_1mlsg_26._disabled_1mlsg_61, ._input-wrapper_1mlsg_26[disabled], ._input-wrapper_1mlsg_26:has(._input_1mlsg_26:disabled) {
|
|
49
49
|
opacity: 0.4;
|
|
50
|
-
}._input-
|
|
50
|
+
}._input-wrapper_1mlsg_26._disabled_1mlsg_61 *, ._input-wrapper_1mlsg_26[disabled] *, ._input-wrapper_1mlsg_26:has(._input_1mlsg_26:disabled) * {
|
|
51
51
|
cursor: not-allowed;
|
|
52
|
-
}._input-
|
|
52
|
+
}._input-wrapper_1mlsg_26:has(input._input_1mlsg_26:-moz-read-only) {
|
|
53
53
|
background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
|
|
54
|
-
}._input-
|
|
54
|
+
}._input-wrapper_1mlsg_26[disabled], ._input-wrapper_1mlsg_26[readonly], ._input-wrapper_1mlsg_26._disabled_1mlsg_61, ._input-wrapper_1mlsg_26:has(input._input_1mlsg_26:read-only) {
|
|
55
55
|
background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
|
|
56
|
-
}._input-
|
|
56
|
+
}._input-flex_1mlsg_71 {
|
|
57
57
|
flex: 1 1 100px;
|
|
58
58
|
min-width: 100px;
|
|
59
59
|
overflow: hidden;
|
|
60
60
|
text-overflow: ellipsis;
|
|
61
61
|
white-space: nowrap;
|
|
62
62
|
width: 0;
|
|
63
|
-
}.
|
|
64
|
-
.
|
|
63
|
+
}._input_1mlsg_26,
|
|
64
|
+
._input_1mlsg_26[type] {
|
|
65
65
|
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
66
66
|
font-size: 100%;
|
|
67
67
|
color: inherit;
|
|
@@ -77,32 +77,35 @@
|
|
|
77
77
|
box-shadow: none;
|
|
78
78
|
display: flex;
|
|
79
79
|
flex: 1 0 100px;
|
|
80
|
-
height: var(--a2-
|
|
80
|
+
height: var(--a2-mod-multi-select-field-input-height);
|
|
81
81
|
min-width: 100px;
|
|
82
82
|
padding-block: var(--a2-size-2, 0.5rem);
|
|
83
83
|
padding-inline: 0;
|
|
84
84
|
transition: outline var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
|
|
85
85
|
width: 100px;
|
|
86
|
-
}.
|
|
86
|
+
}._input_1mlsg_26:focus,
|
|
87
|
+
._input_1mlsg_26[type]:focus {
|
|
88
|
+
box-shadow: none;
|
|
89
|
+
}._input_1mlsg_26::-moz-placeholder, ._input_1mlsg_26[type]::-moz-placeholder {
|
|
87
90
|
color: var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4)));
|
|
88
|
-
}.
|
|
89
|
-
.
|
|
91
|
+
}._input_1mlsg_26::placeholder,
|
|
92
|
+
._input_1mlsg_26[type]::placeholder {
|
|
90
93
|
color: var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4)));
|
|
91
|
-
}.
|
|
92
|
-
.
|
|
94
|
+
}._input_1mlsg_26:focus-visible,
|
|
95
|
+
._input_1mlsg_26[type]:focus-visible {
|
|
93
96
|
box-shadow: none;
|
|
94
97
|
outline: none;
|
|
95
98
|
}@media (prefers-reduced-motion: reduce) {
|
|
96
|
-
.
|
|
97
|
-
.
|
|
99
|
+
._input_1mlsg_26,
|
|
100
|
+
._input_1mlsg_26[type] {
|
|
98
101
|
transition-duration: 0.01ms !important;
|
|
99
102
|
transition-property: outline;
|
|
100
103
|
}
|
|
101
|
-
}input.
|
|
104
|
+
}input._input_1mlsg_26:-moz-read-only {
|
|
102
105
|
background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
|
|
103
|
-
}input.
|
|
106
|
+
}input._input_1mlsg_26:read-only {
|
|
104
107
|
background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
|
|
105
|
-
}._rows-
|
|
108
|
+
}._rows-wrapper_1mlsg_129 {
|
|
106
109
|
align-items: stretch;
|
|
107
110
|
display: flex;
|
|
108
111
|
flex-direction: row;
|
|
@@ -111,15 +114,15 @@
|
|
|
111
114
|
gap: 0 var(--a2-size-2, 0.5rem);
|
|
112
115
|
max-width: 100%;
|
|
113
116
|
width: 100%;
|
|
114
|
-
}._chip-
|
|
117
|
+
}._chip-wrapper_1mlsg_140 {
|
|
115
118
|
align-items: center;
|
|
116
119
|
display: flex;
|
|
117
|
-
height: var(--a2-
|
|
120
|
+
height: var(--a2-mod-multi-select-field-input-height);
|
|
118
121
|
justify-content: center;
|
|
119
122
|
max-width: 100%;
|
|
120
|
-
}.
|
|
121
|
-
--a2-chip-max-width: 100%;
|
|
122
|
-
}._buttons-
|
|
123
|
+
}._chip_1mlsg_140 {
|
|
124
|
+
--a2-mod-chip-max-width: 100%;
|
|
125
|
+
}._buttons-wrapper_1mlsg_152 {
|
|
123
126
|
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
124
127
|
font-size: 100%;
|
|
125
128
|
color: inherit;
|
|
@@ -130,11 +133,11 @@
|
|
|
130
133
|
border-color: transparent;
|
|
131
134
|
box-sizing: border-box;
|
|
132
135
|
display: flex;
|
|
133
|
-
height: var(--a2-
|
|
136
|
+
height: var(--a2-mod-multi-select-field-input-height);
|
|
134
137
|
inset-block-start: 0;
|
|
135
138
|
inset-inline-end: 0;
|
|
136
139
|
position: absolute;
|
|
137
|
-
}._close-button-
|
|
140
|
+
}._close-button-wrapper_1mlsg_169 {
|
|
138
141
|
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
139
142
|
font-size: 100%;
|
|
140
143
|
color: inherit;
|
|
@@ -148,11 +151,11 @@
|
|
|
148
151
|
align-items: center;
|
|
149
152
|
cursor: pointer;
|
|
150
153
|
display: flex;
|
|
151
|
-
}._close-
|
|
154
|
+
}._close-button_1mlsg_169 {
|
|
152
155
|
--a2-mod-button-background-color: transparent;
|
|
153
|
-
}._close-
|
|
156
|
+
}._close-button_1mlsg_169[data-interactive=hover]::before, ._close-button_1mlsg_169:hover::before, ._close-button_1mlsg_169:disabled:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188), ._close-button_1mlsg_169._disabled_1mlsg_61:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188), ._close-button_1mlsg_169[aria-disabled=true]:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188) {
|
|
154
157
|
--a2-mod-button-background-color: transparent;
|
|
155
|
-
}._toggle-button-
|
|
158
|
+
}._toggle-button-wrapper_1mlsg_192 {
|
|
156
159
|
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
157
160
|
font-size: 100%;
|
|
158
161
|
color: inherit;
|
|
@@ -166,23 +169,23 @@
|
|
|
166
169
|
align-items: center;
|
|
167
170
|
cursor: pointer;
|
|
168
171
|
display: flex;
|
|
169
|
-
}._toggle-
|
|
172
|
+
}._toggle-button_1mlsg_192 {
|
|
170
173
|
--a2-mod-button-background-color: transparent;
|
|
171
|
-
--a2-mod-button-
|
|
174
|
+
--a2-mod-button-foreground-color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)));
|
|
172
175
|
transform: rotate(90deg);
|
|
173
176
|
transition: transform var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
|
|
174
|
-
}._toggle-
|
|
177
|
+
}._toggle-button_1mlsg_192[aria-expanded=true] {
|
|
175
178
|
transform: rotate(270deg);
|
|
176
|
-
}._toggle-
|
|
179
|
+
}._toggle-button_1mlsg_192[data-interactive=hover]::before, ._toggle-button_1mlsg_192:hover::before, ._toggle-button_1mlsg_192:disabled:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188), ._toggle-button_1mlsg_192._disabled_1mlsg_61:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188), ._toggle-button_1mlsg_192[aria-disabled=true]:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188) {
|
|
177
180
|
--a2-mod-button-background-color: transparent;
|
|
178
181
|
}@media (prefers-reduced-motion: reduce) {
|
|
179
|
-
._toggle-
|
|
182
|
+
._toggle-button_1mlsg_192 {
|
|
180
183
|
transition-duration: 0.01ms !important;
|
|
181
184
|
}
|
|
182
|
-
}[aria-expanded=true] ._toggle-button-
|
|
185
|
+
}[aria-expanded=true] ._toggle-button-wrapper_1mlsg_192 ._toggle-button_1mlsg_192 {
|
|
183
186
|
transform: rotate(270deg);
|
|
184
|
-
}.
|
|
185
|
-
.
|
|
187
|
+
}._prefix_1mlsg_230,
|
|
188
|
+
._suffix_1mlsg_231 {
|
|
186
189
|
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
187
190
|
font-size: 100%;
|
|
188
191
|
color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)));
|
|
@@ -198,27 +201,27 @@
|
|
|
198
201
|
font-weight: var(--a2-font-weight-semibold, 600);
|
|
199
202
|
justify-content: center;
|
|
200
203
|
min-width: var(--a2-size-8, 2rem);
|
|
201
|
-
}.
|
|
204
|
+
}._prefix_1mlsg_230 {
|
|
202
205
|
padding-inline-end: var(--a2-size-2, 0.5rem);
|
|
203
|
-
}.
|
|
206
|
+
}._suffix_1mlsg_231 {
|
|
204
207
|
padding-inline-end: var(--a2-size-2, 0.5rem);
|
|
205
208
|
padding-inline-start: var(--a2-size-2, 0.5rem);
|
|
206
|
-
}._popover-
|
|
209
|
+
}._popover-content_1mlsg_17 {
|
|
207
210
|
display: flex;
|
|
208
211
|
flex-direction: column;
|
|
209
212
|
overflow: hidden;
|
|
210
|
-
}.
|
|
213
|
+
}._listview_1mlsg_264 {
|
|
211
214
|
padding-block: var(--a2-size-2, 0.5rem);
|
|
212
215
|
padding-inline: var(--a2-size-2, 0.5rem);
|
|
213
|
-
}._loading-
|
|
216
|
+
}._loading-spinner_1mlsg_269 {
|
|
214
217
|
height: var(--a2-size-6, 1.5rem);
|
|
215
218
|
width: var(--a2-size-6, 1.5rem);
|
|
216
|
-
}.
|
|
219
|
+
}._empty_1mlsg_274 {
|
|
217
220
|
padding-block-end: var(--a2-size-4, 1rem);
|
|
218
221
|
padding-block-start: var(--a2-size-3, 0.75rem);
|
|
219
222
|
padding-inline-end: var(--a2-size-6, 1.5rem);
|
|
220
223
|
padding-inline-start: var(--a2-size-6, 1.5rem);
|
|
221
|
-
}.
|
|
224
|
+
}._item_1mlsg_281 {
|
|
222
225
|
--a2-mod-multi-select-field-item-background-color: transparent;
|
|
223
226
|
--a2-mod-multi-select-field-item-color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)));
|
|
224
227
|
background-color: var(--a2-mod-multi-select-field-item-background-color);
|
|
@@ -232,37 +235,37 @@
|
|
|
232
235
|
padding-block: var(--a2-size-2, 0.5rem);
|
|
233
236
|
padding-inline: var(--a2-size-4, 1rem);
|
|
234
237
|
position: relative;
|
|
235
|
-
}/* MODIFIERS */._no-clear-
|
|
238
|
+
}/* MODIFIERS */._no-clear-button_1mlsg_298 {
|
|
236
239
|
--a2-mod-multi-select-field-input-padding-inline-end: var(--a2-size-8, 2rem);
|
|
237
|
-
}._no-toggle-
|
|
240
|
+
}._no-toggle-button_1mlsg_302 {
|
|
238
241
|
--a2-mod-multi-select-field-input-padding-inline-end: var(--a2-size-8, 2rem);
|
|
239
|
-
}.
|
|
240
|
-
--a2-
|
|
242
|
+
}._small_1mlsg_306 {
|
|
243
|
+
--a2-mod-multi-select-field-input-height: calc(
|
|
241
244
|
var(--a2-size-8, 2rem) - (var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem)) * 2)
|
|
242
245
|
);
|
|
243
|
-
}.
|
|
244
|
-
--a2-
|
|
246
|
+
}._large_1mlsg_312 {
|
|
247
|
+
--a2-mod-multi-select-field-input-height: calc(
|
|
245
248
|
var(--a2-size-12, 3rem) - (var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem)) * 2)
|
|
246
249
|
);
|
|
247
|
-
}._listview-
|
|
250
|
+
}._listview-option_1mlsg_318:not([aria-disabled=true]) {
|
|
248
251
|
cursor: pointer;
|
|
249
|
-
}._listview-
|
|
252
|
+
}._listview-option_1mlsg_318[aria-selected=true]:not([aria-disabled=true]) {
|
|
250
253
|
--a2-mod-multi-select-field-item-background-color: var(--a2-background-color-transparent-default-hover, light-dark(color-mix(in srgb, var(--a2-color-neutral-400, #8b8b8b) 8%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 8%, transparent)));
|
|
251
|
-
}.
|
|
252
|
-
.
|
|
253
|
-
.
|
|
254
|
+
}._item_1mlsg_281[data-interactive=hover]:not([aria-disabled=true]),
|
|
255
|
+
._item_1mlsg_281:hover:not([aria-disabled=true]),
|
|
256
|
+
._item_1mlsg_281[aria-selected=true]:not([aria-disabled=true]) {
|
|
254
257
|
--a2-mod-multi-select-field-item-background-color: var(--a2-background-color-transparent-default-hover, light-dark(color-mix(in srgb, var(--a2-color-neutral-400, #8b8b8b) 8%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 8%, transparent)));
|
|
255
|
-
}.
|
|
258
|
+
}._item_1mlsg_281[aria-disabled=true] {
|
|
256
259
|
cursor: not-allowed;
|
|
257
260
|
opacity: 0.6;
|
|
258
|
-
}.
|
|
261
|
+
}._item_1mlsg_281[data-checked=true] {
|
|
259
262
|
--a2-mod-multi-select-field-item-background-color: var(--a2-background-color-primary-subdued, light-dark(var(--a2-color-blue-50, #e6f1ff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 20%, transparent)));
|
|
260
263
|
--a2-mod-multi-select-field-item-color: var(--a2-foreground-color-primary, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff)));
|
|
261
|
-
}.
|
|
262
|
-
.
|
|
263
|
-
.
|
|
264
|
+
}._item_1mlsg_281[data-checked=true]:hover:not([aria-disabled=true]),
|
|
265
|
+
._item_1mlsg_281[data-checked=true][aria-selected=true]:not([aria-disabled=true]),
|
|
266
|
+
._item_1mlsg_281[data-checked=true][data-interactive=hover]:not([aria-disabled=true]) {
|
|
264
267
|
--a2-mod-multi-select-field-item-background-color: var(--a2-background-color-primary-subdued-hover, light-dark(var(--a2-color-blue-100, #cce3ff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 30%, transparent)));
|
|
265
|
-
}.
|
|
268
|
+
}._item_1mlsg_281[data-checked=true]:active:not([aria-disabled=true]) {
|
|
266
269
|
--a2-mod-multi-select-field-item-background-color: var(--a2-background-color-primary-subdued-active, light-dark(var(--a2-color-blue-200, #9ecaff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 40%, transparent)));
|
|
267
270
|
}
|
|
268
271
|
}
|
package/dist/MultiSelectMenu.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-
|
|
1
|
+
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-Drz8SEk9.js';
|
|
2
2
|
//# sourceMappingURL=MultiSelectMenu.js.map
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef, useRef, useId, useMemo, useState, useCallback
|
|
3
|
-
import { u as useToggleSelection, M as MultiSelectOptions } from './useToggleSelection-
|
|
4
|
-
import {
|
|
5
|
-
import { u as
|
|
2
|
+
import { forwardRef, useRef, useId, useMemo, useEffect, useState, useCallback } from 'react';
|
|
3
|
+
import { u as useBulkActionRunner, a as useToggleSelection, M as MultiSelectOptions } from './useToggleSelection-Bn7h-gGD.js';
|
|
4
|
+
import { O as OptionsDialog, a as OptionsPopover } from './useAdaptiveView-CeYKH0Me.js';
|
|
5
|
+
import { u as useSelectOrchestration, a as useProcessedOptions, b as buildSelectItems, c as useDebouncedCallback, A as AddNewItemButton, d as defaultSyncFilter, t as toSyncFilterFn } from './syncFilterUtils-DZqeVWTS.js';
|
|
6
|
+
import { M as MenuFooter } from './MenuFooter-CrsZdXvN.js';
|
|
7
|
+
import { u as useMenuInteraction } from './useMenuInteraction-NEJXUD4I.js';
|
|
8
|
+
import { r as resolveConfirmation, u as useConfirmationDraft, a as arrayIdsEqual } from './confirmationTypes-CG7xl50f.js';
|
|
9
|
+
import { S as SearchField } from './SearchField-BMHJCVFu.js';
|
|
6
10
|
import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
|
|
7
|
-
import { S as SearchField } from './SearchField-3tUPU8hH.js';
|
|
8
11
|
|
|
9
12
|
const MultiSelectMenu = forwardRef((props, ref) => {
|
|
10
13
|
const triggerRef = useRef(null);
|
|
@@ -33,8 +36,11 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
33
36
|
onImplicitClose,
|
|
34
37
|
onExplicitClose,
|
|
35
38
|
addItemLabel,
|
|
36
|
-
onAddNewItem
|
|
39
|
+
onAddNewItem,
|
|
40
|
+
confirmation: confirmationProp,
|
|
41
|
+
clear
|
|
37
42
|
} = props;
|
|
43
|
+
const confirmation = resolveConfirmation(confirmationProp);
|
|
38
44
|
const groupToString = "groupToString" in props ? props.groupToString : void 0;
|
|
39
45
|
const groupSorter = "groupSorter" in props ? props.groupSorter : void 0;
|
|
40
46
|
const autoId = useId();
|
|
@@ -66,8 +72,9 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
66
72
|
});
|
|
67
73
|
const selectAll = useMemo(
|
|
68
74
|
() => selectAllProp ? {
|
|
69
|
-
label: selectAllProp.label
|
|
75
|
+
label: selectAllProp.label,
|
|
70
76
|
onClick: selectAllProp.onClick,
|
|
77
|
+
compute: selectAllProp.compute,
|
|
71
78
|
checkState: selectAllProp.checkState === true ? "checked" : selectAllProp.checkState === false ? "unchecked" : selectAllProp.checkState ?? "indeterminate"
|
|
72
79
|
} : void 0,
|
|
73
80
|
[selectAllProp]
|
|
@@ -78,11 +85,20 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
78
85
|
return {
|
|
79
86
|
label: config.label,
|
|
80
87
|
onClick: config.onClick,
|
|
88
|
+
compute: config.compute,
|
|
81
89
|
checkState: config.checkState === true ? "checked" : config.checkState === false ? "unchecked" : config.checkState ?? "indeterminate"
|
|
82
90
|
};
|
|
83
91
|
} : void 0,
|
|
84
92
|
[selectFilteredProp]
|
|
85
93
|
);
|
|
94
|
+
useEffect(() => {
|
|
95
|
+
if (!confirmation.enabled) return;
|
|
96
|
+
if (selectAllProp && !selectAllProp.compute) {
|
|
97
|
+
warnOnce(
|
|
98
|
+
"MultiSelectMenu: `selectAll.onClick` bypasses confirmation. Use `selectAll.compute` to integrate the bulk action with the draft."
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
}, [confirmation.enabled, selectAllProp]);
|
|
86
102
|
const [inputValue, setInputValue] = useState("");
|
|
87
103
|
const searchValue = disableSearch ? "" : inputValue;
|
|
88
104
|
const { pinnedSections, ungroupedItems, groupSections } = useProcessedOptions(
|
|
@@ -94,12 +110,49 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
94
110
|
groupSorter
|
|
95
111
|
}
|
|
96
112
|
);
|
|
113
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
114
|
+
const {
|
|
115
|
+
displayValue: draftSelectedOptions,
|
|
116
|
+
setDraft,
|
|
117
|
+
apply,
|
|
118
|
+
cancel
|
|
119
|
+
} = useConfirmationDraft({
|
|
120
|
+
value: selectedOptions,
|
|
121
|
+
onCommit: onSelectedOptionsChange,
|
|
122
|
+
isOpen,
|
|
123
|
+
enabled: confirmation.enabled,
|
|
124
|
+
isEqual: arrayIdsEqual
|
|
125
|
+
});
|
|
126
|
+
const {
|
|
127
|
+
pending: bulkPending,
|
|
128
|
+
runBulk,
|
|
129
|
+
setDraftAndBump,
|
|
130
|
+
reset: resetBulk
|
|
131
|
+
} = useBulkActionRunner({ setDraft });
|
|
97
132
|
const { handleItemClick } = useToggleSelection({
|
|
98
133
|
options,
|
|
99
134
|
pinnedSections,
|
|
100
|
-
selectedOptions,
|
|
101
|
-
|
|
135
|
+
selectedOptions: draftSelectedOptions,
|
|
136
|
+
// Route per-option toggles through setDraftAndBump so that any in-flight
|
|
137
|
+
// bulk-action promise's resolution is discarded if it arrives after this
|
|
138
|
+
// click.
|
|
139
|
+
onSelectedOptionsChange: setDraftAndBump
|
|
102
140
|
});
|
|
141
|
+
const runBulkAction = useCallback(
|
|
142
|
+
(config, kind) => {
|
|
143
|
+
if (config.compute) {
|
|
144
|
+
runBulk(config.compute, draftSelectedOptions);
|
|
145
|
+
} else if (config.onClick) {
|
|
146
|
+
if (confirmation.enabled && kind === "selectFiltered") {
|
|
147
|
+
warnOnce(
|
|
148
|
+
"MultiSelectMenu: `selectFiltered.onClick` bypasses confirmation. Use `selectFiltered.compute` to integrate the bulk action with the draft."
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
config.onClick();
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
[runBulk, draftSelectedOptions, confirmation.enabled]
|
|
155
|
+
);
|
|
103
156
|
const bulkActionItems = useMemo(() => {
|
|
104
157
|
const items2 = [];
|
|
105
158
|
if (selectAll && !searchValue) {
|
|
@@ -107,7 +160,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
107
160
|
id: "select-all",
|
|
108
161
|
type: "select-all",
|
|
109
162
|
original: { id: "select-all", label: selectAll.label ?? "Select All" },
|
|
110
|
-
checkState: selectAll.checkState
|
|
163
|
+
checkState: bulkPending ? "loading" : selectAll.checkState
|
|
111
164
|
});
|
|
112
165
|
}
|
|
113
166
|
if (selectFiltered && searchValue && !loading) {
|
|
@@ -119,11 +172,11 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
119
172
|
id: "select-filtered",
|
|
120
173
|
label: config.label ?? "Select Filtered"
|
|
121
174
|
},
|
|
122
|
-
checkState: config.checkState
|
|
175
|
+
checkState: bulkPending ? "loading" : config.checkState
|
|
123
176
|
});
|
|
124
177
|
}
|
|
125
178
|
return items2;
|
|
126
|
-
}, [selectAll, selectFiltered, searchValue, loading]);
|
|
179
|
+
}, [selectAll, selectFiltered, searchValue, loading, bulkPending]);
|
|
127
180
|
const { items, sectionsMeta } = useMemo(
|
|
128
181
|
() => buildSelectItems({
|
|
129
182
|
prefixItems: bulkActionItems,
|
|
@@ -134,24 +187,23 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
134
187
|
[bulkActionItems, pinnedSections, groupSections, ungroupedItems]
|
|
135
188
|
);
|
|
136
189
|
const selectedItemIds = useMemo(
|
|
137
|
-
() => new Set(
|
|
138
|
-
[
|
|
190
|
+
() => new Set(draftSelectedOptions.map((o) => o.id)),
|
|
191
|
+
[draftSelectedOptions]
|
|
139
192
|
);
|
|
140
193
|
const handleItemActivate = useCallback(
|
|
141
194
|
(item) => {
|
|
142
195
|
if (item.type === "select-all") {
|
|
143
|
-
selectAll
|
|
196
|
+
if (selectAll) runBulkAction(selectAll, "selectAll");
|
|
144
197
|
} else if (item.type === "select-filtered" && selectFiltered) {
|
|
145
|
-
|
|
146
|
-
config.onClick();
|
|
198
|
+
runBulkAction(selectFiltered(searchValue), "selectFiltered");
|
|
147
199
|
} else if (item.type === "option" || item.type === "pinned-option" || item.type === "grouped-option") {
|
|
148
200
|
handleItemClick(item.original);
|
|
149
201
|
}
|
|
150
202
|
},
|
|
151
|
-
[selectAll, selectFiltered, searchValue, handleItemClick]
|
|
203
|
+
[selectAll, selectFiltered, searchValue, handleItemClick, runBulkAction]
|
|
152
204
|
);
|
|
205
|
+
const pendingApplyRef = useRef(false);
|
|
153
206
|
const {
|
|
154
|
-
isOpen,
|
|
155
207
|
closeMenu,
|
|
156
208
|
highlightedIndex,
|
|
157
209
|
getTriggerProps,
|
|
@@ -167,11 +219,25 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
167
219
|
selectedItemIds,
|
|
168
220
|
displayAs,
|
|
169
221
|
closeOnActivate: false,
|
|
222
|
+
// While a bulk-action promise is pending, disable all rows.
|
|
223
|
+
disabled: bulkPending,
|
|
170
224
|
id,
|
|
171
225
|
triggerRef,
|
|
172
226
|
label,
|
|
173
|
-
|
|
174
|
-
|
|
227
|
+
isOpen,
|
|
228
|
+
setIsOpen,
|
|
229
|
+
onImplicitClose: () => {
|
|
230
|
+
if (confirmation.enabled && !pendingApplyRef.current) cancel();
|
|
231
|
+
pendingApplyRef.current = false;
|
|
232
|
+
resetBulk();
|
|
233
|
+
onImplicitClose?.();
|
|
234
|
+
},
|
|
235
|
+
onExplicitClose: () => {
|
|
236
|
+
if (confirmation.enabled && !pendingApplyRef.current) cancel();
|
|
237
|
+
pendingApplyRef.current = false;
|
|
238
|
+
resetBulk();
|
|
239
|
+
onExplicitClose?.();
|
|
240
|
+
}
|
|
175
241
|
});
|
|
176
242
|
const debouncedOptionLoader = useDebouncedCallback((value) => {
|
|
177
243
|
loadOptions(value, { initial: true });
|
|
@@ -262,6 +328,14 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
262
328
|
debouncedOptionLoader("");
|
|
263
329
|
onSearchChange?.("");
|
|
264
330
|
}, [debouncedOptionLoader, onSearchChange]);
|
|
331
|
+
const handleApply = useCallback(() => {
|
|
332
|
+
apply();
|
|
333
|
+
pendingApplyRef.current = true;
|
|
334
|
+
closeMenu();
|
|
335
|
+
}, [apply, closeMenu]);
|
|
336
|
+
const handleCancel = useCallback(() => {
|
|
337
|
+
closeMenu();
|
|
338
|
+
}, [closeMenu]);
|
|
265
339
|
const searchInput = !disableSearch ? /* @__PURE__ */ jsx(
|
|
266
340
|
SearchField,
|
|
267
341
|
{
|
|
@@ -282,9 +356,35 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
282
356
|
searchText: inputValue,
|
|
283
357
|
addItemLabel,
|
|
284
358
|
onAddNewItem,
|
|
285
|
-
onCloseMenu: () =>
|
|
359
|
+
onCloseMenu: () => {
|
|
360
|
+
pendingApplyRef.current = true;
|
|
361
|
+
closeMenu({ restoreFocus: false });
|
|
362
|
+
}
|
|
286
363
|
}
|
|
287
364
|
) : null;
|
|
365
|
+
const confirmationConfig = confirmation.enabled ? {
|
|
366
|
+
applyLabel: confirmation.applyLabel,
|
|
367
|
+
cancelLabel: confirmation.cancelLabel,
|
|
368
|
+
onApply: handleApply,
|
|
369
|
+
onCancel: handleCancel
|
|
370
|
+
} : void 0;
|
|
371
|
+
const wrappedClear = clear ? {
|
|
372
|
+
...clear,
|
|
373
|
+
onClick: () => {
|
|
374
|
+
clear.onClick();
|
|
375
|
+
if (confirmation.enabled) pendingApplyRef.current = true;
|
|
376
|
+
closeMenu();
|
|
377
|
+
}
|
|
378
|
+
} : void 0;
|
|
379
|
+
const hasFooter = !!wrappedClear || !!confirmationConfig || !!addNewItemButton;
|
|
380
|
+
const footer = hasFooter ? /* @__PURE__ */ jsx(
|
|
381
|
+
MenuFooter,
|
|
382
|
+
{
|
|
383
|
+
clear: wrappedClear,
|
|
384
|
+
confirmation: confirmationConfig,
|
|
385
|
+
addNew: addNewItemButton
|
|
386
|
+
}
|
|
387
|
+
) : void 0;
|
|
288
388
|
if (displayAs === "dialog") {
|
|
289
389
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
290
390
|
trigger(triggerProps),
|
|
@@ -296,7 +396,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
296
396
|
onClose: closeMenu,
|
|
297
397
|
title: label,
|
|
298
398
|
field: searchInput ?? void 0,
|
|
299
|
-
footer:
|
|
399
|
+
footer: footer ?? void 0,
|
|
300
400
|
initialFocusResolver: !disableSearch ? (elements) => elements.find((el) => el.tagName === "INPUT") || elements[0] : void 0,
|
|
301
401
|
children: /* @__PURE__ */ jsx(
|
|
302
402
|
MultiSelectOptions,
|
|
@@ -314,7 +414,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
314
414
|
},
|
|
315
415
|
getItemProps,
|
|
316
416
|
highlightedIndex,
|
|
317
|
-
selectedOptions,
|
|
417
|
+
selectedOptions: draftSelectedOptions,
|
|
318
418
|
hasMore,
|
|
319
419
|
onLoadMore: handleLoadMore,
|
|
320
420
|
loading,
|
|
@@ -336,7 +436,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
336
436
|
open: isOpen && displayAs === "popover",
|
|
337
437
|
onClose: handleClickOutside,
|
|
338
438
|
width: popoverWidth ?? 320,
|
|
339
|
-
footer:
|
|
439
|
+
footer: footer ?? void 0,
|
|
340
440
|
children: [
|
|
341
441
|
searchInput,
|
|
342
442
|
/* @__PURE__ */ jsx(
|
|
@@ -355,7 +455,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
|
|
|
355
455
|
},
|
|
356
456
|
getItemProps,
|
|
357
457
|
highlightedIndex,
|
|
358
|
-
selectedOptions,
|
|
458
|
+
selectedOptions: draftSelectedOptions,
|
|
359
459
|
hasMore,
|
|
360
460
|
onLoadMore: handleLoadMore,
|
|
361
461
|
loading,
|
|
@@ -391,19 +491,21 @@ const MultiSelectMenuSync = (props) => {
|
|
|
391
491
|
const labelProp = typeof selectAllProp === "object" ? selectAllProp.label : void 0;
|
|
392
492
|
const label = typeof labelProp === "function" ? labelProp(allSelected) : labelProp;
|
|
393
493
|
const checkState = allSelected ? "checked" : selectedCount > 0 ? "indeterminate" : "unchecked";
|
|
394
|
-
const
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
494
|
+
const compute = (current) => {
|
|
495
|
+
const currentIds = new Set(current.map((v) => v.id));
|
|
496
|
+
const allEnabledSelected = enabledOptions.length > 0 && enabledOptions.every((o) => currentIds.has(o.id));
|
|
497
|
+
if (allEnabledSelected) {
|
|
498
|
+
return current.filter((v) => !enabledIds.has(v.id));
|
|
399
499
|
}
|
|
500
|
+
const additions = enabledOptions.filter((o) => !currentIds.has(o.id));
|
|
501
|
+
return [...current, ...additions];
|
|
400
502
|
};
|
|
401
503
|
return {
|
|
402
504
|
label,
|
|
403
|
-
|
|
505
|
+
compute,
|
|
404
506
|
checkState
|
|
405
507
|
};
|
|
406
|
-
}, [selectAllProp, options, value
|
|
508
|
+
}, [selectAllProp, options, value]);
|
|
407
509
|
const selectFilteredConfig = useMemo(() => {
|
|
408
510
|
if (!selectFilteredProp) return void 0;
|
|
409
511
|
return (searchValue) => {
|
|
@@ -411,6 +513,9 @@ const MultiSelectMenuSync = (props) => {
|
|
|
411
513
|
const enabledFilteredOptions = filteredOptions.filter(
|
|
412
514
|
(opt) => !opt.disabled
|
|
413
515
|
);
|
|
516
|
+
const enabledFilteredIds = new Set(
|
|
517
|
+
enabledFilteredOptions.map((o) => o.id)
|
|
518
|
+
);
|
|
414
519
|
const selectedIds = new Set(value.map((v) => v.id));
|
|
415
520
|
const allFilteredSelected = enabledFilteredOptions.length > 0 && enabledFilteredOptions.every((opt) => selectedIds.has(opt.id));
|
|
416
521
|
const someFilteredSelected = enabledFilteredOptions.some(
|
|
@@ -418,25 +523,24 @@ const MultiSelectMenuSync = (props) => {
|
|
|
418
523
|
);
|
|
419
524
|
const label = typeof selectFilteredProp === "function" ? selectFilteredProp(searchValue).label : void 0;
|
|
420
525
|
const checkState = allFilteredSelected ? "checked" : someFilteredSelected ? "indeterminate" : "unchecked";
|
|
421
|
-
const
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
const currentIds = new Set(value.map((v) => v.id));
|
|
427
|
-
const newSelections = enabledFilteredOptions.filter(
|
|
428
|
-
(opt) => !currentIds.has(opt.id)
|
|
429
|
-
);
|
|
430
|
-
onSelectedOptionsChange([...value, ...newSelections]);
|
|
526
|
+
const compute = (current) => {
|
|
527
|
+
const currentIds = new Set(current.map((v) => v.id));
|
|
528
|
+
const allEnabledFilteredSelected = enabledFilteredOptions.length > 0 && enabledFilteredOptions.every((o) => currentIds.has(o.id));
|
|
529
|
+
if (allEnabledFilteredSelected) {
|
|
530
|
+
return current.filter((v) => !enabledFilteredIds.has(v.id));
|
|
431
531
|
}
|
|
532
|
+
const additions = enabledFilteredOptions.filter(
|
|
533
|
+
(o) => !currentIds.has(o.id)
|
|
534
|
+
);
|
|
535
|
+
return [...current, ...additions];
|
|
432
536
|
};
|
|
433
537
|
return {
|
|
434
538
|
label,
|
|
435
|
-
|
|
539
|
+
compute,
|
|
436
540
|
checkState
|
|
437
541
|
};
|
|
438
542
|
};
|
|
439
|
-
}, [selectFilteredProp, options, value,
|
|
543
|
+
}, [selectFilteredProp, options, value, filter]);
|
|
440
544
|
const fieldRef = useRef(null);
|
|
441
545
|
const prevOptionsRef = useRef(options);
|
|
442
546
|
useEffect(() => {
|
|
@@ -462,4 +566,4 @@ const MultiSelectMenuSync = (props) => {
|
|
|
462
566
|
};
|
|
463
567
|
|
|
464
568
|
export { MultiSelectMenu as M, MultiSelectMenuSync as a };
|
|
465
|
-
//# sourceMappingURL=MultiSelectMenuSync-
|
|
569
|
+
//# sourceMappingURL=MultiSelectMenuSync-Drz8SEk9.js.map
|