@servicetitan/anvil2 3.0.0 → 3.0.2
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 +45 -0
- package/README.md +8 -6
- package/dist/{AiMark-B1-M3ZgP.js → AiMark-DiMotaq3.js} +3 -3
- package/dist/{AiMark-B1-M3ZgP.js.map → AiMark-DiMotaq3.js.map} +1 -1
- package/dist/AiMark.css +3 -3
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-DmbqtMg_.js → Alert-DhhVURcl.js} +2 -2
- package/dist/{Alert-DmbqtMg_.js.map → Alert-DhhVURcl.js.map} +1 -1
- package/dist/Alert.css +1 -1
- package/dist/Alert.js +1 -1
- package/dist/Announcement.css +1 -1
- package/dist/AnvilProvider.css +1 -2
- package/dist/{Avatar-NbFc4Ovc.js → Avatar-BmNcLUg-.js} +2 -2
- package/dist/{Avatar-NbFc4Ovc.js.map → Avatar-BmNcLUg-.js.map} +1 -1
- package/dist/{Avatar-B4hRHku9.js → Avatar-Cw8B8xZV.js} +2 -2
- package/dist/Avatar-Cw8B8xZV.js.map +1 -0
- package/dist/Avatar.css +2 -2
- package/dist/Avatar.js +2 -2
- package/dist/Badge.css +1 -1
- package/dist/{Breadcrumbs-CYmciJ1D.js → Breadcrumbs-vvKOtFwN.js} +2 -2
- package/dist/{Breadcrumbs-CYmciJ1D.js.map → Breadcrumbs-vvKOtFwN.js.map} +1 -1
- package/dist/Breadcrumbs.css +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/Button.css +1 -1
- package/dist/ButtonCompound.css +1 -1
- package/dist/ButtonToggle.css +1 -1
- package/dist/{Calendar-BAbAagIx.js → Calendar-BLvBN8Ou.js} +2 -2
- package/dist/{Calendar-BAbAagIx.js.map → Calendar-BLvBN8Ou.js.map} +1 -1
- package/dist/{Calendar-CaCMa_jq.js → Calendar-Dtn07sfJ.js} +2 -2
- package/dist/{Calendar-CaCMa_jq.js.map → Calendar-Dtn07sfJ.js.map} +1 -1
- package/dist/Calendar.css +2 -2
- package/dist/Calendar.js +2 -2
- package/dist/Card.css +1 -1
- package/dist/{Checkbox-BSAS8-DM.js → Checkbox-BngBrjEV.js} +3 -3
- package/dist/{Checkbox-BSAS8-DM.js.map → Checkbox-BngBrjEV.js.map} +1 -1
- package/dist/{Checkbox-Ckl8EFpF.js → Checkbox-lSwl_u26.js} +2 -2
- package/dist/{Checkbox-Ckl8EFpF.js.map → Checkbox-lSwl_u26.js.map} +1 -1
- package/dist/Checkbox.css +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-CR5i8mQW.js → Chip-DBn3KRak.js} +3 -3
- package/dist/{Chip-CR5i8mQW.js.map → Chip-DBn3KRak.js.map} +1 -1
- package/dist/Chip.css +1 -1
- package/dist/Chip.js +1 -1
- package/dist/{Combobox-BffGTugd.js → Combobox-BqhvHG9H.js} +5 -5
- package/dist/{Combobox-BffGTugd.js.map → Combobox-BqhvHG9H.js.map} +1 -1
- package/dist/Combobox.css +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-D9Xj1nq5.js → DataTable-CB-exG-7.js} +1173 -142
- package/dist/DataTable-CB-exG-7.js.map +1 -0
- package/dist/DataTable.css +274 -118
- package/dist/{DateFieldRange-DPTC3EZz.js → DateFieldRange-Ci-OHK6g.js} +4 -4
- package/dist/{DateFieldRange-DPTC3EZz.js.map → DateFieldRange-Ci-OHK6g.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-w1G-zd9G.js → DateFieldSingle-JOEy4kSL.js} +4 -4
- package/dist/{DateFieldSingle-w1G-zd9G.js.map → DateFieldSingle-JOEy4kSL.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-DHNVc7Sd.js → DateFieldYearless-CIqPup6O.js} +4 -4
- package/dist/{DateFieldYearless-DHNVc7Sd.js.map → DateFieldYearless-CIqPup6O.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-C5ktVUgG.js → DateFieldYearlessRange-Cf11uZhk.js} +3 -3
- package/dist/{DateFieldYearlessRange-C5ktVUgG.js.map → DateFieldYearlessRange-Cf11uZhk.js.map} +1 -1
- package/dist/DateFieldYearlessRange.css +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-BubWkBZ0.js → DaysOfTheWeek-R2-y7cqh.js} +3 -3
- package/dist/{DaysOfTheWeek-BubWkBZ0.js.map → DaysOfTheWeek-R2-y7cqh.js.map} +1 -1
- package/dist/DaysOfTheWeek.css +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/Details.css +1 -1
- package/dist/{Dialog-DGmF6qx3.js → Dialog-C3yST7Ly.js} +5 -5
- package/dist/Dialog-C3yST7Ly.js.map +1 -0
- package/dist/Dialog.css +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/Divider.css +1 -1
- package/dist/Dnd.js +2 -1
- package/dist/Dnd.js.map +1 -1
- package/dist/DndHandleButton-Dgt9G-dF.js +43 -0
- package/dist/DndHandleButton-Dgt9G-dF.js.map +1 -0
- package/dist/DndHandleButton.css +22 -0
- package/dist/DndSort.css +1 -1
- package/dist/DndSort.js +2 -1
- package/dist/DndSort.js.map +1 -1
- package/dist/{Drawer-iewBy1DW.js → Drawer-CouIrQ8u.js} +6 -6
- package/dist/{Drawer-iewBy1DW.js.map → Drawer-CouIrQ8u.js.map} +1 -1
- package/dist/Drawer.css +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.css +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-D7-Ye7R0.js → EditCard-DFBjxF9l.js} +2 -2
- package/dist/{EditCard-D7-Ye7R0.js.map → EditCard-DFBjxF9l.js.map} +1 -1
- package/dist/EditCard.css +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-DZWu5dMp.js → FieldLabel-rHPbiyR3.js} +3 -3
- package/dist/{FieldLabel-DZWu5dMp.js.map → FieldLabel-rHPbiyR3.js.map} +1 -1
- package/dist/FieldLabel.css +2 -2
- package/dist/FieldLabel.js +1 -1
- package/dist/FieldMessage.css +1 -1
- package/dist/{Toolbar-C1_etxss.js → FilterBar-kVue-bVK.js} +127 -939
- package/dist/FilterBar-kVue-bVK.js.map +1 -0
- package/dist/FilterBar.css +59 -0
- package/dist/FilterBar.d.ts +6 -0
- package/dist/FilterBar.js +2 -0
- package/dist/FilterBar.js.map +1 -0
- package/dist/Flex.css +1 -1
- package/dist/Grid.css +1 -1
- package/dist/Helper.css +1 -1
- package/dist/Icon.css +1 -1
- package/dist/{InputMask-EwEJlW-t.js → InputMask-DxbFpzo7.js} +3 -3
- package/dist/{InputMask-EwEJlW-t.js.map → InputMask-DxbFpzo7.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/InteractiveCard-KGs2b_al.js +119 -0
- package/dist/InteractiveCard-KGs2b_al.js.map +1 -0
- package/dist/InteractiveCard.css +22 -29
- package/dist/InteractiveCard.js +1 -1
- package/dist/Layout.css +1 -1
- package/dist/Link.css +1 -1
- package/dist/List.css +1 -1
- package/dist/{ListView-DBO9Bl1H.js → ListView-CYkuvkAy.js} +2 -2
- package/dist/{ListView-DBO9Bl1H.js.map → ListView-CYkuvkAy.js.map} +1 -1
- package/dist/ListView.css +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-DDlxpVu9.js → Listbox-BBrsMfO3.js} +2 -2
- package/dist/{Listbox-DDlxpVu9.js.map → Listbox-BBrsMfO3.js.map} +1 -1
- package/dist/Listbox.css +1 -1
- package/dist/Listbox.js +1 -1
- package/dist/Menu.css +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-DZ3tm7zt.js → MultiSelectFieldSync-BWZQ4MFC.js} +5 -5
- package/dist/{MultiSelectFieldSync-DZ3tm7zt.js.map → MultiSelectFieldSync-BWZQ4MFC.js.map} +1 -1
- package/dist/MultiSelectFieldSync.css +1 -1
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-dgO9SmHi.js → MultiSelectMenuSync-Bl4ty0je.js} +4 -4
- package/dist/{MultiSelectMenuSync-dgO9SmHi.js.map → MultiSelectMenuSync-Bl4ty0je.js.map} +1 -1
- package/dist/{NumberField-DJbdyatF.js → NumberField-DMHJ2Cyi.js} +4 -5
- package/dist/NumberField-DMHJ2Cyi.js.map +1 -0
- package/dist/NumberField.css +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/Overflow.css +2 -2
- package/dist/Overflow.js +1 -1
- package/dist/{Page-Be1Blwme.js → Page-Blw4TE5J.js} +9 -9
- package/dist/{Page-Be1Blwme.js.map → Page-Blw4TE5J.js.map} +1 -1
- package/dist/Page.css +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Pagination-USDJM5vi.js → Pagination-DYNH3WeU.js} +2 -2
- package/dist/{Pagination-USDJM5vi.js.map → Pagination-DYNH3WeU.js.map} +1 -1
- package/dist/Pagination.css +6 -6
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-CyB7yzSf.js → Popover-C_XdNvAZ.js} +2 -2
- package/dist/{Popover-CyB7yzSf.js.map → Popover-C_XdNvAZ.js.map} +1 -1
- package/dist/Popover.css +1 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-DSrjgLTx.js → ProgressBar-BwHaAD25.js} +2 -2
- package/dist/{ProgressBar-DSrjgLTx.js.map → ProgressBar-BwHaAD25.js.map} +1 -1
- package/dist/ProgressBar.css +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-CQaXJ72d.js → Radio-DJ6KgfcS.js} +2 -2
- package/dist/{Radio-CQaXJ72d.js.map → Radio-DJ6KgfcS.js.map} +1 -1
- package/dist/{Radio-DO4UhbBE.js → Radio-IksHWkBl.js} +3 -3
- package/dist/{Radio-DO4UhbBE.js.map → Radio-IksHWkBl.js.map} +1 -1
- package/dist/Radio.css +1 -1
- package/dist/Radio.js +1 -1
- package/dist/RichTextEditor-C_Boj8QP.js +30852 -0
- package/dist/RichTextEditor-C_Boj8QP.js.map +1 -0
- package/dist/RichTextEditor.css +178 -0
- package/dist/RichTextEditor.d.ts +2 -0
- package/dist/RichTextEditor.js +2 -0
- package/dist/RichTextEditor.js.map +1 -0
- package/dist/{SearchField-CsRGYZx3.js → SearchField-BKJOW-vI.js} +3 -10
- package/dist/SearchField-BKJOW-vI.js.map +1 -0
- package/dist/SearchField-BplvDpBG.js +13 -0
- package/dist/SearchField-BplvDpBG.js.map +1 -0
- package/dist/SearchField.css +1 -1
- package/dist/SearchField.js +1 -1
- package/dist/SegmentedControl.css +1 -1
- package/dist/{SelectCard-CtXwY8FZ.js → SelectCard-E-13CjHS.js} +3 -3
- package/dist/{SelectCard-CtXwY8FZ.js.map → SelectCard-E-13CjHS.js.map} +1 -1
- package/dist/SelectCard.css +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-DLT5dKbx.js → SelectFieldLabel-C-MrQm-n.js} +2 -2
- package/dist/{SelectFieldLabel-DLT5dKbx.js.map → SelectFieldLabel-C-MrQm-n.js.map} +1 -1
- package/dist/{SelectFieldSync-C44hPeeS.js → SelectFieldSync-BbJFd_bV.js} +4 -4
- package/dist/{SelectFieldSync-C44hPeeS.js.map → SelectFieldSync-BbJFd_bV.js.map} +1 -1
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-V97oN85V.js → SelectMenuSync-CBMdmGTU.js} +4 -4
- package/dist/{SelectMenuSync-V97oN85V.js.map → SelectMenuSync-CBMdmGTU.js.map} +1 -1
- package/dist/{SelectOptions-CDoo4AUu.js → SelectOptions-BT9OCfPh.js} +2 -2
- package/dist/{SelectOptions-CDoo4AUu.js.map → SelectOptions-BT9OCfPh.js.map} +1 -1
- package/dist/{SelectTrigger-BWN3Tx43.js → SelectTrigger-DtyxYDzP.js} +3 -3
- package/dist/{SelectTrigger-BWN3Tx43.js.map → SelectTrigger-DtyxYDzP.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-Do7lQ5rw.js → SelectTriggerBase-Xwq929Wr.js} +3 -3
- package/dist/{SelectTriggerBase-Do7lQ5rw.js.map → SelectTriggerBase-Xwq929Wr.js.map} +1 -1
- package/dist/SelectTriggerBase.css +1 -1
- package/dist/SideNav.css +1 -1
- package/dist/Skeleton.css +1 -1
- package/dist/Spinner.css +1 -1
- package/dist/SrOnly.css +1 -1
- package/dist/StatusIcon.css +1 -1
- package/dist/Stepper.css +4 -4
- package/dist/{Switch-DeBu4Ucg.js → Switch-CElshQ9N.js} +2 -2
- package/dist/{Switch-DeBu4Ucg.js.map → Switch-CElshQ9N.js.map} +1 -1
- package/dist/Switch.css +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Tab.css +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-J5YtSSXY.js → Text-C0F8AkvH.js} +5 -5
- package/dist/Text-C0F8AkvH.js.map +1 -0
- package/dist/Text.css +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-CRDTnuUN.js → TextField-CLZEj0aI.js} +3 -3
- package/dist/{TextField-CRDTnuUN.js.map → TextField-CLZEj0aI.js.map} +1 -1
- package/dist/{TextField-YlMkDHp-.js → TextField-yL52fx5R.js} +2 -2
- package/dist/{TextField-YlMkDHp-.js.map → TextField-yL52fx5R.js.map} +1 -1
- package/dist/TextField.css +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-CxXmr_Gx.js → Textarea-CGgyvnM8.js} +3 -3
- package/dist/{Textarea-CxXmr_Gx.js.map → Textarea-CGgyvnM8.js.map} +1 -1
- package/dist/Textarea.css +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/ThemeProvider.css +0 -1
- package/dist/{TimeField-DTg0CE5L.js → TimeField-BEvxjjFp.js} +4 -4
- package/dist/{TimeField-DTg0CE5L.js.map → TimeField-BEvxjjFp.js.map} +1 -1
- package/dist/TimeField.css +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/TimezoneMessage.css +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-Bq42x6Gx.js → Toaster-DllJAOK8.js} +3 -3
- package/dist/{Toaster-Bq42x6Gx.js.map → Toaster-DllJAOK8.js.map} +1 -1
- package/dist/{Toaster-Dly3rfva.js → Toaster-DuadB8pq.js} +2 -2
- package/dist/{Toaster-Dly3rfva.js.map → Toaster-DuadB8pq.js.map} +1 -1
- package/dist/Toaster.css +1 -1
- package/dist/Toolbar-J5cakHba.js +588 -0
- package/dist/Toolbar-J5cakHba.js.map +1 -0
- package/dist/Toolbar-QYRQv45Y.js +780 -0
- package/dist/Toolbar-QYRQv45Y.js.map +1 -0
- package/dist/Toolbar.css +2 -96
- package/dist/Toolbar.js +2 -1
- package/dist/Toolbar.js.map +1 -1
- package/dist/{index2.css → Toolbar2.css} +1 -1
- package/dist/ToolbarButtonToggle-Ch0SH4oH.js +285 -0
- package/dist/ToolbarButtonToggle-Ch0SH4oH.js.map +1 -0
- package/dist/ToolbarButtonToggle.css +41 -0
- package/dist/{Tooltip-BlStOXN3.js → Tooltip-lBmgi5ZB.js} +7 -6
- package/dist/Tooltip-lBmgi5ZB.js.map +1 -0
- package/dist/Tooltip.css +7 -6
- package/dist/Tooltip.js +1 -1
- package/dist/{YearlessDateInputWithPicker-DyytWt0x.js → YearlessDateInputWithPicker-DryLX8sA.js} +2 -2
- package/dist/{YearlessDateInputWithPicker-DyytWt0x.js.map → YearlessDateInputWithPicker-DryLX8sA.js.map} +1 -1
- package/dist/YearlessDateInputWithPicker.css +2 -2
- package/dist/add-BcQkAUip.js +6 -0
- package/dist/add-BcQkAUip.js.map +1 -0
- package/dist/assets/css-utils/a2-border.css +23 -53
- package/dist/assets/css-utils/a2-color.css +221 -449
- package/dist/assets/css-utils/a2-font.css +21 -47
- package/dist/assets/css-utils/a2-spacing.css +238 -481
- package/dist/assets/css-utils/a2-utils.css +497 -1002
- package/dist/assets/css-utils/border.css +23 -53
- package/dist/assets/css-utils/color.css +221 -449
- package/dist/assets/css-utils/font.css +21 -47
- package/dist/assets/css-utils/spacing.css +238 -481
- package/dist/assets/css-utils/utils.css +497 -1002
- package/dist/assets/icons/st/unsorted.svg +1 -1
- package/dist/beta/components/FilterBar/FilterBar.d.ts +87 -0
- package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterToggleButton.d.ts +1 -1
- package/dist/beta/components/FilterBar/index.d.ts +3 -0
- package/dist/beta/components/{Toolbar/Filters → FilterBar}/internal/FilterGroupContext.d.ts +5 -5
- package/dist/beta/components/{Toolbar/Filters → FilterBar}/internal/types.d.ts +2 -2
- package/dist/beta/components/{Toolbar/Filters → FilterBar}/internal/utils/test.d.ts +1 -0
- package/dist/beta/components/InteractiveCard/InteractiveCard.d.ts +3 -1
- package/dist/beta/components/RichTextEditor/RichTextEditor.d.ts +27 -0
- package/dist/beta/components/RichTextEditor/index.d.ts +2 -0
- package/dist/beta/components/RichTextEditor/internal/LinkPopover.d.ts +14 -0
- package/dist/beta/components/RichTextEditor/internal/MentionList.d.ts +14 -0
- package/dist/beta/components/RichTextEditor/internal/MentionNodeView.d.ts +11 -0
- package/dist/beta/components/RichTextEditor/internal/MentionPopover.d.ts +16 -0
- package/dist/beta/components/RichTextEditor/internal/RichTextEditorContext.d.ts +57 -0
- package/dist/beta/components/RichTextEditor/internal/RichTextEditorDragHandle.d.ts +6 -0
- package/dist/beta/components/RichTextEditor/internal/RichTextEditorMockData.d.ts +8 -0
- package/dist/beta/components/RichTextEditor/internal/RichTextEditorProvider.d.ts +8 -0
- package/dist/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
- package/dist/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +11 -0
- package/dist/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +11 -0
- package/dist/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +3 -0
- package/dist/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +8 -0
- package/dist/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +18 -0
- package/dist/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +8 -0
- package/dist/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +32 -0
- package/dist/beta/components/RichTextEditor/types.d.ts +103 -0
- package/dist/beta/components/Table/DataTable/DataTable.d.ts +40 -1
- package/dist/beta/components/Table/DataTable/internal/DataTableBody.d.ts +22 -0
- package/dist/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +18 -1
- package/dist/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +16 -0
- package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +8 -0
- package/dist/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +49 -0
- package/dist/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +9 -5
- package/dist/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +3 -0
- package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +13 -1
- package/dist/beta/components/Table/createColumnHelper.d.ts +48 -22
- package/dist/beta/components/Table/internal/getCommonPinningClasses.d.ts +1 -1
- package/dist/beta/components/Table/types.d.ts +311 -7
- package/dist/beta/components/Toolbar/Toolbar.d.ts +0 -54
- package/dist/beta/components/Toolbar/index.d.ts +0 -1
- package/dist/beta/components/index.d.ts +2 -0
- package/dist/beta.js +13 -10
- package/dist/beta.js.map +1 -1
- package/dist/components/Toolbar/internal/utils/accessibility.d.ts +5 -0
- package/dist/getKeyboardFocusableElements-B_U9rt6y.js +11 -0
- package/dist/getKeyboardFocusableElements-B_U9rt6y.js.map +1 -0
- package/dist/index-DUzqzmOX.js +17044 -0
- package/dist/index-DUzqzmOX.js.map +1 -0
- package/dist/index-DtsM4pjR.js +71 -0
- package/dist/index-DtsM4pjR.js.map +1 -0
- package/dist/index.css +1 -22
- package/dist/index.js +49 -813
- package/dist/index.js.map +1 -1
- package/dist/internal/components/Surface/Surface.d.ts +141 -0
- package/dist/internal/components/Surface/index.d.ts +1 -0
- package/dist/internal/components/index.d.ts +1 -0
- package/dist/internal/functions/getKeyboardFocusableElements.d.ts +11 -0
- package/dist/{stripInlineMarkdown-BWbMy7r_.js → stripInlineMarkdown-BOi-eJO3.js} +2 -2
- package/dist/{stripInlineMarkdown-BWbMy7r_.js.map → stripInlineMarkdown-BOi-eJO3.js.map} +1 -1
- package/dist/{syncFilterUtils-BLcRXQfd.js → syncFilterUtils-Gvm81gyv.js} +5 -5
- package/dist/{syncFilterUtils-BLcRXQfd.js.map → syncFilterUtils-Gvm81gyv.js.map} +1 -1
- package/dist/syncFilterUtils.css +4 -4
- package/dist/token/core/css-utils/a2-border.css +0 -30
- package/dist/token/core/css-utils/a2-color.css +0 -228
- package/dist/token/core/css-utils/a2-font.css +1 -27
- package/dist/token/core/css-utils/a2-spacing.css +1 -244
- package/dist/token/core/css-utils/a2-utils.css +0 -505
- package/dist/token/core/css-utils/border.css +0 -30
- package/dist/token/core/css-utils/color.css +0 -228
- package/dist/token/core/css-utils/font.css +1 -27
- package/dist/token/core/css-utils/spacing.css +1 -244
- package/dist/token/core/css-utils/utils.css +0 -505
- package/dist/{useDrilldown-D5WWJRU2.js → useDrilldown-6SfknQ2s.js} +3 -3
- package/dist/{useDrilldown-D5WWJRU2.js.map → useDrilldown-6SfknQ2s.js.map} +1 -1
- package/dist/{useInitialFocus-BUxEDMEG.js → useInitialFocus-BIvXK1Rp.js} +2 -2
- package/dist/{useInitialFocus-BUxEDMEG.js.map → useInitialFocus-BIvXK1Rp.js.map} +1 -1
- package/dist/{usePopoverTransitionStates-CDXCdyKa.js → usePopoverTransitionStates-B1opfxxn.js} +1 -2
- package/dist/{usePopoverTransitionStates-CDXCdyKa.js.map → usePopoverTransitionStates-B1opfxxn.js.map} +1 -1
- package/dist/{useToggleSelection-D_2qS0P1.js → useToggleSelection-odFvSS5t.js} +2 -2
- package/dist/{useToggleSelection-D_2qS0P1.js.map → useToggleSelection-odFvSS5t.js.map} +1 -1
- package/package.json +26 -11
- package/dist/Avatar-B4hRHku9.js.map +0 -1
- package/dist/DataTable-D9Xj1nq5.js.map +0 -1
- package/dist/Dialog-DGmF6qx3.js.map +0 -1
- package/dist/InteractiveCard-CnW0m_F-.js +0 -87
- package/dist/InteractiveCard-CnW0m_F-.js.map +0 -1
- package/dist/NumberField-DJbdyatF.js.map +0 -1
- package/dist/SearchField-CsRGYZx3.js.map +0 -1
- package/dist/Text-J5YtSSXY.js.map +0 -1
- package/dist/Toolbar-C1_etxss.js.map +0 -1
- package/dist/Tooltip-BlStOXN3.js.map +0 -1
- package/dist/beta/components/Toolbar/Filters/FilterGroup.d.ts +0 -25
- package/dist/getKeyboardFocusableElements-QqcABz0D.js +0 -12
- package/dist/getKeyboardFocusableElements-QqcABz0D.js.map +0 -1
- package/dist/index-ByMdotWU.js +0 -107
- package/dist/index-ByMdotWU.js.map +0 -1
- /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterButton.d.ts +0 -0
- /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterDateRange.d.ts +0 -0
- /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterDateSingle.d.ts +0 -0
- /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterDrawer.d.ts +0 -0
- /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterItemWrapper.d.ts +0 -0
- /package/dist/beta/components/{Toolbar/Filters → FilterBar}/FilterSelect.d.ts +0 -0
- /package/dist/beta/components/{Toolbar/Filters → FilterBar}/internal/utils/filter-state.d.ts +0 -0
|
@@ -1,40 +1,33 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { useState, useEffect, useContext,
|
|
4
|
-
import { B as Button } from './Button-Bnt8XUI7.js';
|
|
5
|
-
import { T as Tooltip } from './Tooltip-BlStOXN3.js';
|
|
6
|
-
import { g as getKeyboardFocusableElements } from './getKeyboardFocusableElements-QqcABz0D.js';
|
|
7
|
-
import { c as cx } from './index-De1g9FRV.js';
|
|
8
|
-
import { u as useIntersectionObserver } from './useIntersectionObserver-BEmMDO3P.js';
|
|
9
|
-
import { useTrackingId } from './useTrackingId.js';
|
|
10
|
-
import { B as ButtonToggle } from './ButtonToggle-Ct9_5bhC.js';
|
|
11
|
-
import { B as ButtonLink } from './ButtonLink-j3h_wRNi.js';
|
|
12
|
-
import { S as SvgArrowDropDown } from './arrow_drop_down-ChAdBDux.js';
|
|
13
|
-
import { L as Listbox } from './Listbox-DDlxpVu9.js';
|
|
14
|
-
import { P as Popover } from './AiMark-B1-M3ZgP.js';
|
|
15
|
-
import { F as Flex } from './Flex-DOUtHiPi.js';
|
|
16
|
-
import { S as SvgMoreHoriz } from './more_horiz-DJgdQiy0.js';
|
|
17
|
-
import { S as SvgMoreVert } from './more_vert-C_lJSyxt.js';
|
|
18
|
-
import { I as Icon } from './Icon-BMMbp40n.js';
|
|
3
|
+
import { useState, useEffect, createContext, useContext, useCallback, useMemo, useRef, forwardRef } from 'react';
|
|
19
4
|
import { S as SvgClose } from './close-DZj38AEh.js';
|
|
5
|
+
import { b as ToolbarItemWrapper, T as ToolbarButtonToggle, a as useToolbarSize, d as updateToolbarItemsTabIndex, e as handleToolbarKeyDown, c as ToolbarContext } from './ToolbarButtonToggle-Ch0SH4oH.js';
|
|
6
|
+
import { B as Button } from './Button-Bnt8XUI7.js';
|
|
20
7
|
import { S as SvgKeyboardArrowDown } from './keyboard_arrow_down-C8WQ38p1.js';
|
|
21
8
|
import { S as SvgEvent } from './TimezoneMessage-BrKB_psP.js';
|
|
22
9
|
import { D as DateTime } from './luxon-wpz4A-OQ.js';
|
|
23
|
-
import { C as Chip } from './Chip-
|
|
24
|
-
import { t as tabbable } from './usePopoverTransitionStates-
|
|
25
|
-
import { L as
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
10
|
+
import { C as Chip } from './Chip-DBn3KRak.js';
|
|
11
|
+
import { t as tabbable } from './usePopoverTransitionStates-B1opfxxn.js';
|
|
12
|
+
import { L as Listbox } from './Listbox-BBrsMfO3.js';
|
|
13
|
+
import { L as ListView } from './ListView-CYkuvkAy.js';
|
|
14
|
+
import { S as SearchField } from './SearchField-BplvDpBG.js';
|
|
15
|
+
import { F as Flex } from './Flex-DOUtHiPi.js';
|
|
16
|
+
import { u as useDateFieldSingleConversion, a as useDateFieldSingleState, M as MaskedDateInput, b as DateFieldSingleCalendar, D as DateFieldSingle } from './DateFieldSingle-JOEy4kSL.js';
|
|
17
|
+
import { u as useDateFieldRangeConversion, a as useDateFieldRangeState, M as MaskedDateRangeInput, b as DateFieldRangeCalendar, D as DateFieldRange } from './DateFieldRange-Ci-OHK6g.js';
|
|
18
|
+
import { c as cx } from './index-De1g9FRV.js';
|
|
19
|
+
import { P as Popover } from './AiMark-DiMotaq3.js';
|
|
20
|
+
import { a as SvgSearch } from './SearchField-BKJOW-vI.js';
|
|
21
|
+
import { C as Checkbox } from './Checkbox-lSwl_u26.js';
|
|
22
|
+
import { R as Radio } from './Radio-DJ6KgfcS.js';
|
|
23
|
+
import { C as Combobox } from './Combobox-BqhvHG9H.js';
|
|
24
|
+
import { B as ButtonToggle } from './ButtonToggle-Ct9_5bhC.js';
|
|
25
|
+
import { D as Drawer } from './Drawer-CouIrQ8u.js';
|
|
33
26
|
import { d as BreakpointSm, c as BreakpointMd, b as BreakpointLg, a as BreakpointXl, B as BreakpointXxl } from './primitive-DXlHdTFb.js';
|
|
34
|
-
import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
|
|
35
27
|
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-CB_zHDbW.js';
|
|
28
|
+
import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
|
|
36
29
|
|
|
37
|
-
import './
|
|
30
|
+
import './FilterBar.css';function containerBreakpoint(containerWidth, name, min, max) {
|
|
38
31
|
if ((min == null || containerWidth >= min) && (max == null || containerWidth < max)) {
|
|
39
32
|
return {
|
|
40
33
|
name,
|
|
@@ -84,571 +77,15 @@ const useContainerQuery = (containerRef, props) => {
|
|
|
84
77
|
return size;
|
|
85
78
|
};
|
|
86
79
|
|
|
87
|
-
const OverflowItemContext = createContext({
|
|
88
|
-
isInOverflowMenu: false
|
|
89
|
-
});
|
|
90
|
-
const useOverFlowItemContext = () => useContext(OverflowItemContext);
|
|
91
|
-
|
|
92
|
-
const ToolbarContext = createContext({
|
|
93
|
-
overflowItems: [],
|
|
94
|
-
addItem: () => {
|
|
95
|
-
return;
|
|
96
|
-
},
|
|
97
|
-
removeItem: () => {
|
|
98
|
-
return;
|
|
99
|
-
},
|
|
100
|
-
toolbarRef: { current: null },
|
|
101
|
-
orderedIds: [],
|
|
102
|
-
overflow: "wrap",
|
|
103
|
-
size: "xsmall"
|
|
104
|
-
});
|
|
105
|
-
const useToolbarSize = () => useContext(ToolbarContext).size;
|
|
106
|
-
|
|
107
|
-
function getToolbarElements(toolbarElement) {
|
|
108
|
-
const toolbarContent = toolbarElement.querySelector(
|
|
109
|
-
'[data-anv="toolbar-content"]'
|
|
110
|
-
);
|
|
111
|
-
const mainItems = getKeyboardFocusableElements(toolbarContent).filter(
|
|
112
|
-
(item) => {
|
|
113
|
-
const isHidden = !item.closest('[aria-hidden="true"]');
|
|
114
|
-
const isInDrawer = !item.closest('[data-anv="filter-group-drawer"]');
|
|
115
|
-
const isInPopover = !item.closest('[data-anv="popover-content"]');
|
|
116
|
-
return isHidden && isInDrawer && isInPopover;
|
|
117
|
-
}
|
|
118
|
-
);
|
|
119
|
-
const overflowTrigger = toolbarElement.querySelector(
|
|
120
|
-
'[data-anv="toolbar-overflow-trigger"]'
|
|
121
|
-
);
|
|
122
|
-
return overflowTrigger ? [...mainItems, overflowTrigger] : mainItems;
|
|
123
|
-
}
|
|
124
|
-
function updateToolbarItemsTabIndex(toolbarElement, activeItem) {
|
|
125
|
-
if (!toolbarElement) return;
|
|
126
|
-
const items = getToolbarElements(toolbarElement);
|
|
127
|
-
if (!items.length) return;
|
|
128
|
-
let activeIndex = 0;
|
|
129
|
-
if (typeof activeItem === "number") {
|
|
130
|
-
activeIndex = Math.max(0, Math.min(activeItem, items.length - 1));
|
|
131
|
-
} else if (activeItem instanceof Element) {
|
|
132
|
-
const foundIndex = items.indexOf(activeItem);
|
|
133
|
-
if (foundIndex !== -1) {
|
|
134
|
-
activeIndex = foundIndex;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
items.forEach((item, index) => {
|
|
138
|
-
item.setAttribute("tabindex", index === activeIndex ? "0" : "-1");
|
|
139
|
-
});
|
|
140
|
-
return items[activeIndex];
|
|
141
|
-
}
|
|
142
|
-
function handleToolbarKeyDown(event, toolbarElement) {
|
|
143
|
-
if (!toolbarElement || event.altKey || event.ctrlKey || event.metaKey) return;
|
|
144
|
-
const items = getToolbarElements(toolbarElement);
|
|
145
|
-
if (!items.length) return;
|
|
146
|
-
const activeElement = event.target;
|
|
147
|
-
if (!toolbarElement.contains(activeElement)) return;
|
|
148
|
-
const activeItem = items.find(
|
|
149
|
-
(item) => item === activeElement || Array.from(item.children).some((child) => child === activeElement)
|
|
150
|
-
);
|
|
151
|
-
const activeIndex = activeItem ? items.indexOf(activeItem) : -1;
|
|
152
|
-
if (activeIndex === -1) return;
|
|
153
|
-
let nextIndex = activeIndex;
|
|
154
|
-
const isVertical = toolbarElement.getAttribute("aria-orientation") === "vertical";
|
|
155
|
-
switch (event.key) {
|
|
156
|
-
case "ArrowLeft":
|
|
157
|
-
case "ArrowUp":
|
|
158
|
-
event.preventDefault();
|
|
159
|
-
if (isVertical && event.key === "ArrowUp" || !isVertical && event.key === "ArrowLeft") {
|
|
160
|
-
nextIndex = activeIndex <= 0 ? items.length - 1 : activeIndex - 1;
|
|
161
|
-
}
|
|
162
|
-
break;
|
|
163
|
-
case "ArrowRight":
|
|
164
|
-
case "ArrowDown":
|
|
165
|
-
event.preventDefault();
|
|
166
|
-
if (isVertical && event.key === "ArrowDown" || !isVertical && event.key === "ArrowRight") {
|
|
167
|
-
nextIndex = activeIndex >= items.length - 1 ? 0 : activeIndex + 1;
|
|
168
|
-
}
|
|
169
|
-
break;
|
|
170
|
-
case "Home":
|
|
171
|
-
event.preventDefault();
|
|
172
|
-
nextIndex = 0;
|
|
173
|
-
break;
|
|
174
|
-
case "End":
|
|
175
|
-
event.preventDefault();
|
|
176
|
-
nextIndex = items.length - 1;
|
|
177
|
-
break;
|
|
178
|
-
default:
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
updateToolbarItemsTabIndex(toolbarElement, nextIndex);
|
|
182
|
-
items[nextIndex]?.focus();
|
|
183
|
-
}
|
|
184
|
-
const handleMenuKeyboardNavigation = (event) => {
|
|
185
|
-
const menuItems = Array.from(
|
|
186
|
-
event.currentTarget.querySelectorAll('[role="menuitem"]')
|
|
187
|
-
).map((menuItem) => {
|
|
188
|
-
return getKeyboardFocusableElements(menuItem)[0] || menuItem;
|
|
189
|
-
});
|
|
190
|
-
if (!menuItems.length) return;
|
|
191
|
-
const currentIndex = menuItems.indexOf(document.activeElement);
|
|
192
|
-
if (currentIndex === -1) return;
|
|
193
|
-
let nextIndex = currentIndex;
|
|
194
|
-
const isModifierKey = event.altKey || event.ctrlKey || event.metaKey;
|
|
195
|
-
if (isModifierKey) return;
|
|
196
|
-
switch (event.key) {
|
|
197
|
-
case "ArrowDown":
|
|
198
|
-
case "ArrowUp": {
|
|
199
|
-
event.preventDefault();
|
|
200
|
-
const direction = event.key === "ArrowDown" ? 1 : -1;
|
|
201
|
-
nextIndex = (currentIndex + direction + menuItems.length) % menuItems.length;
|
|
202
|
-
break;
|
|
203
|
-
}
|
|
204
|
-
case "Home":
|
|
205
|
-
event.preventDefault();
|
|
206
|
-
nextIndex = 0;
|
|
207
|
-
break;
|
|
208
|
-
case "End":
|
|
209
|
-
event.preventDefault();
|
|
210
|
-
nextIndex = menuItems.length - 1;
|
|
211
|
-
break;
|
|
212
|
-
default:
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
menuItems[nextIndex]?.focus();
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
const toolbar = "_toolbar_t4zws_1";
|
|
219
|
-
const styles$3 = {
|
|
220
|
-
toolbar: toolbar,
|
|
221
|
-
"toolbar-item": "_toolbar-item_t4zws_8",
|
|
222
|
-
"toolbar-button-item": "_toolbar-button-item_t4zws_9",
|
|
223
|
-
"toolbar-overflow-trigger": "_toolbar-overflow-trigger_t4zws_10",
|
|
224
|
-
"toolbar-content": "_toolbar-content_t4zws_14",
|
|
225
|
-
"overflow-wrap": "_overflow-wrap_t4zws_20",
|
|
226
|
-
"overflow-collapse": "_overflow-collapse_t4zws_24",
|
|
227
|
-
"toolbar-overflow-content": "_toolbar-overflow-content_t4zws_32",
|
|
228
|
-
"toolbar-button-toggle-item": "_toolbar-button-toggle-item_t4zws_49"
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
const ToolbarItemWrapper = ({
|
|
232
|
-
item,
|
|
233
|
-
children,
|
|
234
|
-
observerRoot,
|
|
235
|
-
onVisibilityChange,
|
|
236
|
-
rootMargin,
|
|
237
|
-
className
|
|
238
|
-
}) => {
|
|
239
|
-
const { addItem, removeItem, toolbarRef, overflow } = useContext(ToolbarContext);
|
|
240
|
-
const itemId = useId();
|
|
241
|
-
const elementRef = useRef(null);
|
|
242
|
-
const isCollapseMode = overflow === "collapse";
|
|
243
|
-
const prevIntersectingRef = useRef(true);
|
|
244
|
-
const handleVisibilityChange = useCallback(
|
|
245
|
-
(isVisible) => {
|
|
246
|
-
if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;
|
|
247
|
-
if (onVisibilityChange) {
|
|
248
|
-
onVisibilityChange(isVisible);
|
|
249
|
-
} else if (item) {
|
|
250
|
-
const itemWithId = { ...item, id: itemId };
|
|
251
|
-
if (isVisible) {
|
|
252
|
-
removeItem(itemWithId);
|
|
253
|
-
} else {
|
|
254
|
-
addItem(itemWithId);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
prevIntersectingRef.current = isVisible;
|
|
258
|
-
},
|
|
259
|
-
[isCollapseMode, onVisibilityChange, item, itemId, addItem, removeItem]
|
|
260
|
-
);
|
|
261
|
-
const { isIntersecting, ref } = useIntersectionObserver({
|
|
262
|
-
root: isCollapseMode ? observerRoot ?? toolbarRef.current : null,
|
|
263
|
-
threshold: 1,
|
|
264
|
-
initialIsIntersecting: true,
|
|
265
|
-
// Start as visible
|
|
266
|
-
onChange: handleVisibilityChange,
|
|
267
|
-
rootMargin
|
|
268
|
-
});
|
|
269
|
-
const setRefCallback = useCallback(
|
|
270
|
-
(node) => {
|
|
271
|
-
elementRef.current = node;
|
|
272
|
-
if (isCollapseMode) {
|
|
273
|
-
ref(node);
|
|
274
|
-
}
|
|
275
|
-
},
|
|
276
|
-
[ref, isCollapseMode]
|
|
277
|
-
);
|
|
278
|
-
const handleFocusOrClick = useCallback(() => {
|
|
279
|
-
if (!toolbarRef.current || !elementRef.current) return;
|
|
280
|
-
const currentElement = elementRef.current.querySelector("button, a, input");
|
|
281
|
-
if (!currentElement) return;
|
|
282
|
-
updateToolbarItemsTabIndex(toolbarRef.current, currentElement);
|
|
283
|
-
}, [toolbarRef]);
|
|
284
|
-
useEffect(() => {
|
|
285
|
-
const interactiveEl = elementRef.current?.querySelector("button, a, input");
|
|
286
|
-
if (!interactiveEl) return;
|
|
287
|
-
interactiveEl.addEventListener("focus", handleFocusOrClick);
|
|
288
|
-
interactiveEl.addEventListener("click", handleFocusOrClick);
|
|
289
|
-
return () => {
|
|
290
|
-
interactiveEl.removeEventListener("focus", handleFocusOrClick);
|
|
291
|
-
interactiveEl.removeEventListener("click", handleFocusOrClick);
|
|
292
|
-
};
|
|
293
|
-
}, [handleFocusOrClick]);
|
|
294
|
-
const toolbarItemClassName = cx(styles$3["toolbar-item"], className);
|
|
295
|
-
const isHidden = isCollapseMode && !isIntersecting;
|
|
296
|
-
return /* @__PURE__ */ jsx(
|
|
297
|
-
"div",
|
|
298
|
-
{
|
|
299
|
-
ref: setRefCallback,
|
|
300
|
-
className: toolbarItemClassName,
|
|
301
|
-
style: { visibility: isHidden ? "hidden" : "visible" },
|
|
302
|
-
"aria-hidden": isHidden,
|
|
303
|
-
...{ inert: isHidden ? "" : void 0 },
|
|
304
|
-
"data-id": itemId,
|
|
305
|
-
"data-anv": "toolbar-item",
|
|
306
|
-
children
|
|
307
|
-
}
|
|
308
|
-
);
|
|
309
|
-
};
|
|
310
|
-
|
|
311
|
-
const ToolbarButton = forwardRef(
|
|
312
|
-
(props, _ref) => {
|
|
313
|
-
const { appearance = "ghost", className, children, ...rest } = props;
|
|
314
|
-
const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
|
|
315
|
-
const size = useToolbarSize();
|
|
316
|
-
const trackingId = useTrackingId({
|
|
317
|
-
name: "ToolbarButton",
|
|
318
|
-
data: {
|
|
319
|
-
disabled: props.disabled,
|
|
320
|
-
"aria-label": props["aria-label"],
|
|
321
|
-
children: props.children
|
|
322
|
-
},
|
|
323
|
-
hasOverride: !!props["data-tracking-id"]
|
|
324
|
-
});
|
|
325
|
-
const buttonClassNames = cx(className, styles$3["toolbar-button-item"]);
|
|
326
|
-
const item = children ? /* @__PURE__ */ jsx(
|
|
327
|
-
Button,
|
|
328
|
-
{
|
|
329
|
-
"data-tracking-id": trackingId,
|
|
330
|
-
appearance,
|
|
331
|
-
size,
|
|
332
|
-
"data-anv": "toolbar-button",
|
|
333
|
-
className: buttonClassNames,
|
|
334
|
-
...rest,
|
|
335
|
-
children
|
|
336
|
-
}
|
|
337
|
-
) : /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
338
|
-
/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
|
|
339
|
-
Button,
|
|
340
|
-
{
|
|
341
|
-
"data-tracking-id": trackingId,
|
|
342
|
-
appearance,
|
|
343
|
-
size,
|
|
344
|
-
"data-anv": "toolbar-button",
|
|
345
|
-
className: buttonClassNames,
|
|
346
|
-
...rest
|
|
347
|
-
}
|
|
348
|
-
) }),
|
|
349
|
-
/* @__PURE__ */ jsx(Tooltip.Content, { children: rest["aria-label"] })
|
|
350
|
-
] });
|
|
351
|
-
if (isInOverflowMenu) {
|
|
352
|
-
return item;
|
|
353
|
-
}
|
|
354
|
-
return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "button" }, children: item });
|
|
355
|
-
}
|
|
356
|
-
);
|
|
357
|
-
ToolbarButton.displayName = "ToolbarButton";
|
|
358
|
-
|
|
359
|
-
const ToolbarButtonToggle = forwardRef((props, _ref) => {
|
|
360
|
-
const { className, children, isFilter, ...rest } = props;
|
|
361
|
-
const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
|
|
362
|
-
const size = useToolbarSize();
|
|
363
|
-
const trackingId = useTrackingId({
|
|
364
|
-
name: "ToolbarButtonToggle",
|
|
365
|
-
data: {
|
|
366
|
-
checked: props.checked,
|
|
367
|
-
disabled: props.disabled,
|
|
368
|
-
"aria-label": props["aria-label"],
|
|
369
|
-
children: props.children
|
|
370
|
-
},
|
|
371
|
-
hasOverride: !!props["data-tracking-id"]
|
|
372
|
-
});
|
|
373
|
-
const buttonToggleClassNames = cx(
|
|
374
|
-
className,
|
|
375
|
-
styles$3["toolbar-button-item"],
|
|
376
|
-
styles$3["toolbar-button-toggle-item"]
|
|
377
|
-
);
|
|
378
|
-
const item = children ? /* @__PURE__ */ jsx(
|
|
379
|
-
ButtonToggle,
|
|
380
|
-
{
|
|
381
|
-
"data-tracking-id": trackingId,
|
|
382
|
-
size,
|
|
383
|
-
"data-anv": "toolbar-button-toggle",
|
|
384
|
-
className: buttonToggleClassNames,
|
|
385
|
-
...rest,
|
|
386
|
-
children
|
|
387
|
-
}
|
|
388
|
-
) : /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
389
|
-
/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
|
|
390
|
-
ButtonToggle,
|
|
391
|
-
{
|
|
392
|
-
"data-tracking-id": trackingId,
|
|
393
|
-
size,
|
|
394
|
-
"data-anv": "toolbar-button-toggle",
|
|
395
|
-
className: buttonToggleClassNames,
|
|
396
|
-
...rest
|
|
397
|
-
}
|
|
398
|
-
) }),
|
|
399
|
-
/* @__PURE__ */ jsx(Tooltip.Content, { children: rest["aria-label"] })
|
|
400
|
-
] });
|
|
401
|
-
if (isInOverflowMenu || isFilter) {
|
|
402
|
-
return item;
|
|
403
|
-
}
|
|
404
|
-
return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "buttonToggle" }, children: item });
|
|
405
|
-
});
|
|
406
|
-
ToolbarButtonToggle.displayName = "ToolbarButtonToggle";
|
|
407
|
-
|
|
408
|
-
const ToolbarButtonLink = forwardRef((props, _ref) => {
|
|
409
|
-
const { appearance = "ghost", className, children, ...rest } = props;
|
|
410
|
-
const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
|
|
411
|
-
const size = useToolbarSize();
|
|
412
|
-
const trackingId = useTrackingId({
|
|
413
|
-
name: "ToolbarButtonLink",
|
|
414
|
-
data: {
|
|
415
|
-
href: props.href,
|
|
416
|
-
disabled: props.disabled,
|
|
417
|
-
"aria-label": props["aria-label"],
|
|
418
|
-
children: props.children,
|
|
419
|
-
target: props.target
|
|
420
|
-
},
|
|
421
|
-
hasOverride: !!props["data-tracking-id"]
|
|
422
|
-
});
|
|
423
|
-
const buttonLinkClassNames = cx(className, styles$3["toolbar-button-item"]);
|
|
424
|
-
const item = children ? /* @__PURE__ */ jsx(
|
|
425
|
-
ButtonLink,
|
|
426
|
-
{
|
|
427
|
-
"data-tracking-id": trackingId,
|
|
428
|
-
appearance,
|
|
429
|
-
size,
|
|
430
|
-
"data-anv": "toolbar-button-link",
|
|
431
|
-
className: buttonLinkClassNames,
|
|
432
|
-
...rest,
|
|
433
|
-
children
|
|
434
|
-
}
|
|
435
|
-
) : /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
436
|
-
/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
|
|
437
|
-
ButtonLink,
|
|
438
|
-
{
|
|
439
|
-
"data-tracking-id": trackingId,
|
|
440
|
-
appearance,
|
|
441
|
-
size,
|
|
442
|
-
"data-anv": "toolbar-button-link",
|
|
443
|
-
className: buttonLinkClassNames,
|
|
444
|
-
...rest
|
|
445
|
-
}
|
|
446
|
-
) }),
|
|
447
|
-
/* @__PURE__ */ jsx(Tooltip.Content, { children: rest["aria-label"] })
|
|
448
|
-
] });
|
|
449
|
-
if (isInOverflowMenu) {
|
|
450
|
-
return item;
|
|
451
|
-
}
|
|
452
|
-
return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "buttonLink" }, children: item });
|
|
453
|
-
});
|
|
454
|
-
ToolbarButtonLink.displayName = "ToolbarButtonLink";
|
|
455
|
-
|
|
456
|
-
const ToolbarSelect = forwardRef(
|
|
457
|
-
(props, _ref) => {
|
|
458
|
-
const {
|
|
459
|
-
appearance = "ghost",
|
|
460
|
-
onChange,
|
|
461
|
-
selected: selectedItemId,
|
|
462
|
-
accessibleLabel,
|
|
463
|
-
className,
|
|
464
|
-
items,
|
|
465
|
-
...rest
|
|
466
|
-
} = props;
|
|
467
|
-
const selectId = useId();
|
|
468
|
-
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
|
|
469
|
-
const defaultId = items.length > 0 ? items[0].id : "";
|
|
470
|
-
const [internalSelectedId, setInternalSelectedId] = useState(defaultId);
|
|
471
|
-
const selectedId = selectedItemId ?? internalSelectedId;
|
|
472
|
-
const selectedItem = items.find((item2) => item2.id === selectedId) || items.find((item2) => item2.id === defaultId);
|
|
473
|
-
useEffect(() => {
|
|
474
|
-
if (!selectedItemId && items.length > 0 && !items.some((item2) => item2.id === internalSelectedId)) {
|
|
475
|
-
setInternalSelectedId(items[0].id);
|
|
476
|
-
}
|
|
477
|
-
}, [items, selectedItemId, internalSelectedId]);
|
|
478
|
-
const handleSelectionChange = (selected) => {
|
|
479
|
-
if (selected?.id) {
|
|
480
|
-
if (selectedItemId === void 0) {
|
|
481
|
-
setInternalSelectedId(selected.id);
|
|
482
|
-
}
|
|
483
|
-
onChange?.(selected.id);
|
|
484
|
-
setIsPopoverOpen(false);
|
|
485
|
-
}
|
|
486
|
-
};
|
|
487
|
-
const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};
|
|
488
|
-
const toolbarSize = useToolbarSize();
|
|
489
|
-
const trackingId = useTrackingId({
|
|
490
|
-
name: "ToolbarSelect",
|
|
491
|
-
data: {
|
|
492
|
-
selected: props.selected,
|
|
493
|
-
disabled: props.disabled,
|
|
494
|
-
"aria-label": props["aria-label"],
|
|
495
|
-
items: props.items
|
|
496
|
-
},
|
|
497
|
-
hasOverride: !!props["data-tracking-id"]
|
|
498
|
-
});
|
|
499
|
-
const buttonClassNames = cx(className, styles$3["toolbar-button-item"]);
|
|
500
|
-
const item = /* @__PURE__ */ jsxs(
|
|
501
|
-
Popover,
|
|
502
|
-
{
|
|
503
|
-
noPadding: true,
|
|
504
|
-
open: isPopoverOpen,
|
|
505
|
-
onClickOutside: () => {
|
|
506
|
-
setIsPopoverOpen(false);
|
|
507
|
-
},
|
|
508
|
-
onClose: () => {
|
|
509
|
-
setIsPopoverOpen(false);
|
|
510
|
-
},
|
|
511
|
-
children: [
|
|
512
|
-
/* @__PURE__ */ jsx(
|
|
513
|
-
Popover.Button,
|
|
514
|
-
{
|
|
515
|
-
"data-tracking-id": trackingId,
|
|
516
|
-
appearance,
|
|
517
|
-
size: toolbarSize,
|
|
518
|
-
icon: { after: SvgArrowDropDown },
|
|
519
|
-
className: buttonClassNames,
|
|
520
|
-
id: selectId,
|
|
521
|
-
"data-anv": "toolbar-select",
|
|
522
|
-
onClick: () => {
|
|
523
|
-
setIsPopoverOpen(!isPopoverOpen);
|
|
524
|
-
},
|
|
525
|
-
...rest,
|
|
526
|
-
children: selectedItem?.label
|
|
527
|
-
}
|
|
528
|
-
),
|
|
529
|
-
/* @__PURE__ */ jsx(
|
|
530
|
-
Popover.Content,
|
|
531
|
-
{
|
|
532
|
-
className: styles$3["toolbar-select-content"],
|
|
533
|
-
"aria-label": accessibleLabel,
|
|
534
|
-
children: /* @__PURE__ */ jsx(
|
|
535
|
-
Listbox,
|
|
536
|
-
{
|
|
537
|
-
selected: selectedItem,
|
|
538
|
-
onSelectionChange: handleSelectionChange,
|
|
539
|
-
items,
|
|
540
|
-
"aria-labelledby": selectId,
|
|
541
|
-
disableAutoSelectOnFocus: true,
|
|
542
|
-
children: ({ items: items2 }) => items2.map((item2) => /* @__PURE__ */ jsx(Listbox.Option, { item: item2, children: item2.label }, item2.label))
|
|
543
|
-
}
|
|
544
|
-
)
|
|
545
|
-
}
|
|
546
|
-
)
|
|
547
|
-
]
|
|
548
|
-
}
|
|
549
|
-
);
|
|
550
|
-
if (isInOverflowMenu) {
|
|
551
|
-
return item;
|
|
552
|
-
}
|
|
553
|
-
return /* @__PURE__ */ jsx(ToolbarItemWrapper, { item: { itemProps: props, itemType: "select" }, children: item });
|
|
554
|
-
}
|
|
555
|
-
);
|
|
556
|
-
ToolbarSelect.displayName = "ToolbarSelect";
|
|
557
|
-
|
|
558
|
-
const OverflowItem = ({ itemType, itemProps }) => {
|
|
559
|
-
switch (itemType) {
|
|
560
|
-
case "button":
|
|
561
|
-
return /* @__PURE__ */ jsx(ToolbarButton, { ...itemProps });
|
|
562
|
-
case "buttonToggle":
|
|
563
|
-
return /* @__PURE__ */ jsx(ToolbarButtonToggle, { ...itemProps });
|
|
564
|
-
case "buttonLink":
|
|
565
|
-
return /* @__PURE__ */ jsx(ToolbarButtonLink, { ...itemProps });
|
|
566
|
-
case "select":
|
|
567
|
-
return /* @__PURE__ */ jsx(ToolbarSelect, { ...itemProps });
|
|
568
|
-
default:
|
|
569
|
-
return null;
|
|
570
|
-
}
|
|
571
|
-
};
|
|
572
|
-
const ToolbarOverflowMenu = ({
|
|
573
|
-
additionalItems,
|
|
574
|
-
direction
|
|
575
|
-
}) => {
|
|
576
|
-
const { overflowItems, orderedIds } = useContext(ToolbarContext);
|
|
577
|
-
const menuTriggerId = useId();
|
|
578
|
-
const size = useToolbarSize();
|
|
579
|
-
const orderedItems = useMemo(() => {
|
|
580
|
-
const allElements = orderedIds?.map((id) => {
|
|
581
|
-
return overflowItems.find((item) => item.id === id);
|
|
582
|
-
});
|
|
583
|
-
return allElements?.filter((item) => item !== void 0) || [];
|
|
584
|
-
}, [orderedIds, overflowItems]);
|
|
585
|
-
const popoverButtonClassNames = cx(
|
|
586
|
-
styles$3["toolbar-button-item"],
|
|
587
|
-
styles$3["toolbar-overflow-trigger"]
|
|
588
|
-
);
|
|
589
|
-
const overflowIcon = direction === "horizontal" ? SvgMoreHoriz : SvgMoreVert;
|
|
590
|
-
return /* @__PURE__ */ jsxs(Popover, { noPadding: true, children: [
|
|
591
|
-
/* @__PURE__ */ jsx(
|
|
592
|
-
Popover.Button,
|
|
593
|
-
{
|
|
594
|
-
size,
|
|
595
|
-
appearance: "ghost",
|
|
596
|
-
id: menuTriggerId,
|
|
597
|
-
className: popoverButtonClassNames,
|
|
598
|
-
"data-anv": "toolbar-overflow-trigger",
|
|
599
|
-
"aria-label": "Additional toolbar options",
|
|
600
|
-
children: /* @__PURE__ */ jsx(Icon, { svg: overflowIcon, size: size === "xsmall" ? "small" : size })
|
|
601
|
-
}
|
|
602
|
-
),
|
|
603
|
-
/* @__PURE__ */ jsx(Popover.Content, { children: /* @__PURE__ */ jsx(OverflowItemContext.Provider, { value: { isInOverflowMenu: true }, children: /* @__PURE__ */ jsxs(
|
|
604
|
-
"ul",
|
|
605
|
-
{
|
|
606
|
-
role: "menu",
|
|
607
|
-
className: styles$3["toolbar-overflow-content"],
|
|
608
|
-
"data-anv": "toolbar-overflow-menu",
|
|
609
|
-
"aria-labelledby": menuTriggerId,
|
|
610
|
-
onKeyDown: handleMenuKeyboardNavigation,
|
|
611
|
-
children: [
|
|
612
|
-
orderedItems.map((item) => {
|
|
613
|
-
const { itemType, itemProps, id } = item;
|
|
614
|
-
return /* @__PURE__ */ jsx(
|
|
615
|
-
"li",
|
|
616
|
-
{
|
|
617
|
-
role: "menuitem",
|
|
618
|
-
"data-anv": "toolbar-overflow-item",
|
|
619
|
-
children: /* @__PURE__ */ jsx(
|
|
620
|
-
OverflowItem,
|
|
621
|
-
{
|
|
622
|
-
itemType,
|
|
623
|
-
itemProps,
|
|
624
|
-
id
|
|
625
|
-
}
|
|
626
|
-
)
|
|
627
|
-
},
|
|
628
|
-
`${itemType}-${id}`
|
|
629
|
-
);
|
|
630
|
-
}),
|
|
631
|
-
additionalItems?.map((item, index) => /* @__PURE__ */ jsx(
|
|
632
|
-
"li",
|
|
633
|
-
{
|
|
634
|
-
role: "menuitem",
|
|
635
|
-
"data-anv": "toolbar-overflow-item",
|
|
636
|
-
children: item
|
|
637
|
-
},
|
|
638
|
-
`additional-item-${index}`
|
|
639
|
-
))
|
|
640
|
-
]
|
|
641
|
-
}
|
|
642
|
-
) }) })
|
|
643
|
-
] });
|
|
644
|
-
};
|
|
645
|
-
|
|
646
80
|
const FilterGroupContext = createContext({
|
|
647
81
|
filterGroupRef: { current: null },
|
|
648
82
|
filters: [],
|
|
649
83
|
updateFilter: () => {
|
|
650
84
|
},
|
|
85
|
+
onFilterChange: () => {
|
|
86
|
+
},
|
|
651
87
|
controlledFiltering: false,
|
|
88
|
+
associatedContent: "",
|
|
652
89
|
hiddenFilters: [],
|
|
653
90
|
addHiddenFilter: () => {
|
|
654
91
|
},
|
|
@@ -656,16 +93,16 @@ const FilterGroupContext = createContext({
|
|
|
656
93
|
}
|
|
657
94
|
});
|
|
658
95
|
|
|
659
|
-
const styles
|
|
660
|
-
"filter-button-trigger": "_filter-button-
|
|
661
|
-
"filter-button-trigger--selected": "_filter-button-trigger--
|
|
662
|
-
"filter-button-content": "_filter-button-
|
|
663
|
-
"filter-select-content": "_filter-select-
|
|
664
|
-
"filter-button-buttons": "_filter-button-
|
|
665
|
-
"filter-drawer-trigger": "_filter-drawer-
|
|
666
|
-
"filter-drawer-trigger--chipped": "_filter-drawer-trigger--
|
|
667
|
-
"filter-item": "_filter-
|
|
668
|
-
"filter-select-search": "_filter-select-
|
|
96
|
+
const styles = {
|
|
97
|
+
"filter-button-trigger": "_filter-button-trigger_1ky9m_1",
|
|
98
|
+
"filter-button-trigger--selected": "_filter-button-trigger--selected_1ky9m_5",
|
|
99
|
+
"filter-button-content": "_filter-button-content_1ky9m_14",
|
|
100
|
+
"filter-select-content": "_filter-select-content_1ky9m_19",
|
|
101
|
+
"filter-button-buttons": "_filter-button-buttons_1ky9m_25",
|
|
102
|
+
"filter-drawer-trigger": "_filter-drawer-trigger_1ky9m_29",
|
|
103
|
+
"filter-drawer-trigger--chipped": "_filter-drawer-trigger--chipped_1ky9m_41",
|
|
104
|
+
"filter-item": "_filter-item_1ky9m_65",
|
|
105
|
+
"filter-select-search": "_filter-select-search_1ky9m_70"
|
|
669
106
|
};
|
|
670
107
|
|
|
671
108
|
const FilterItemWrapper = ({
|
|
@@ -695,7 +132,7 @@ const FilterItemWrapper = ({
|
|
|
695
132
|
}
|
|
696
133
|
},
|
|
697
134
|
children,
|
|
698
|
-
className: styles
|
|
135
|
+
className: styles["filter-item"],
|
|
699
136
|
observerRoot: filterGroupRef.current,
|
|
700
137
|
onVisibilityChange: handleVisibilityChange,
|
|
701
138
|
rootMargin: "0px -80px 0px 0px"
|
|
@@ -941,7 +378,7 @@ const FilterToggleButton = ({
|
|
|
941
378
|
checked,
|
|
942
379
|
isFilter: true,
|
|
943
380
|
...props,
|
|
944
|
-
className: styles
|
|
381
|
+
className: styles["filter-button-trigger"],
|
|
945
382
|
"data-anv": "toolbar-boolean-filter",
|
|
946
383
|
children
|
|
947
384
|
}
|
|
@@ -1049,7 +486,7 @@ const FilterSelect = ({
|
|
|
1049
486
|
SearchField,
|
|
1050
487
|
{
|
|
1051
488
|
size: "small",
|
|
1052
|
-
className: styles
|
|
489
|
+
className: styles["filter-select-search"],
|
|
1053
490
|
onChange: handleSearch,
|
|
1054
491
|
onClear: handleSearchClear,
|
|
1055
492
|
onKeyDown: handleSearchKeyDown,
|
|
@@ -1358,10 +795,10 @@ const FilterButton = ({
|
|
|
1358
795
|
}
|
|
1359
796
|
}
|
|
1360
797
|
};
|
|
1361
|
-
const triggerClasses = cx(styles
|
|
1362
|
-
[styles
|
|
798
|
+
const triggerClasses = cx(styles["filter-button-trigger"], {
|
|
799
|
+
[styles["filter-button-trigger--selected"]]: filter.type === "custom" && filter.value || filter.type === "singleSelect" && filter.selectedItem || filter.type === "multiSelect" && filter.selectedItems && filter.selectedItems.length > 0 || filter.type === "date" && filter.value || filter.type === "dateRange" && filter.value?.startDate && filter.value?.endDate
|
|
1363
800
|
});
|
|
1364
|
-
const contentClasses = cx(styles
|
|
801
|
+
const contentClasses = cx(styles["filter-button-content"], className);
|
|
1365
802
|
const iconOptions = filter.type === "date" || filter.type === "dateRange" ? { before: SvgEvent } : { after: SvgKeyboardArrowDown };
|
|
1366
803
|
return /* @__PURE__ */ jsx(FilterItemWrapper, { filter, children: /* @__PURE__ */ jsxs(
|
|
1367
804
|
Popover,
|
|
@@ -1394,7 +831,7 @@ const FilterButton = ({
|
|
|
1394
831
|
{
|
|
1395
832
|
gap: 2,
|
|
1396
833
|
justifyContent: "flex-end",
|
|
1397
|
-
className: styles
|
|
834
|
+
className: styles["filter-button-buttons"],
|
|
1398
835
|
children: [
|
|
1399
836
|
/* @__PURE__ */ jsx(Popover.Close, { size: "small", children: "Cancel" }),
|
|
1400
837
|
/* @__PURE__ */ jsx(Button, { appearance: "primary", size: "small", onClick: handleSubmit, children: "Apply" })
|
|
@@ -1407,32 +844,6 @@ const FilterButton = ({
|
|
|
1407
844
|
) });
|
|
1408
845
|
};
|
|
1409
846
|
|
|
1410
|
-
const styles$1 = {
|
|
1411
|
-
"toolbar-control-group": "_toolbar-control-group_th00x_1"
|
|
1412
|
-
};
|
|
1413
|
-
|
|
1414
|
-
const ToolbarControlGroupElement = forwardRef((props, ref) => {
|
|
1415
|
-
const { children, "aria-label": ariaLabel, ...rest } = props;
|
|
1416
|
-
const { overflow } = useContext(ToolbarContext);
|
|
1417
|
-
return /* @__PURE__ */ jsx(
|
|
1418
|
-
Flex,
|
|
1419
|
-
{
|
|
1420
|
-
ref,
|
|
1421
|
-
alignItems: "center",
|
|
1422
|
-
gap: 1,
|
|
1423
|
-
wrap: overflow === "collapse" ? "nowrap" : "wrap",
|
|
1424
|
-
"data-anv": "toolbar-control-group",
|
|
1425
|
-
role: "group",
|
|
1426
|
-
"aria-label": ariaLabel ? ariaLabel : "Toolbar controls",
|
|
1427
|
-
className: styles$1["toolbar-control-group"],
|
|
1428
|
-
...rest,
|
|
1429
|
-
children
|
|
1430
|
-
}
|
|
1431
|
-
);
|
|
1432
|
-
});
|
|
1433
|
-
ToolbarControlGroupElement.displayName = "ToolbarControlGroup";
|
|
1434
|
-
const ToolbarControlGroup = ToolbarControlGroupElement;
|
|
1435
|
-
|
|
1436
847
|
const SvgTune = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M3 18c0 .55.45 1 1 1h5v-2H4c-.55 0-1 .45-1 1zM3 6c0 .55.45 1 1 1h9V5H4c-.55 0-1 .45-1 1zm10 14v-1h7c.55 0 1-.45 1-1s-.45-1-1-1h-7v-1c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1s1-.45 1-1zM7 10v1H4c-.55 0-1 .45-1 1s.45 1 1 1h3v1c0 .55.45 1 1 1s1-.45 1-1v-4c0-.55-.45-1-1-1s-1 .45-1 1zm14 2c0-.55-.45-1-1-1h-9v2h9c.55 0 1-.45 1-1zm-5-3c.55 0 1-.45 1-1V7h3c.55 0 1-.45 1-1s-.45-1-1-1h-3V4c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1z" }));
|
|
1437
848
|
|
|
1438
849
|
const FilterDrawer = () => {
|
|
@@ -1752,10 +1163,10 @@ const FilterDrawer = () => {
|
|
|
1752
1163
|
};
|
|
1753
1164
|
const hasHiddenActiveFilters = activeFiltersCount > 0;
|
|
1754
1165
|
const triggerClasses = cx(
|
|
1755
|
-
styles
|
|
1756
|
-
styles
|
|
1166
|
+
styles["filter-button-trigger"],
|
|
1167
|
+
styles["filter-drawer-trigger"],
|
|
1757
1168
|
{
|
|
1758
|
-
[styles
|
|
1169
|
+
[styles["filter-drawer-trigger--chipped"]]: hasHiddenActiveFilters
|
|
1759
1170
|
}
|
|
1760
1171
|
);
|
|
1761
1172
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -1818,19 +1229,25 @@ const FilterDrawer = () => {
|
|
|
1818
1229
|
] });
|
|
1819
1230
|
};
|
|
1820
1231
|
|
|
1821
|
-
const
|
|
1822
|
-
(props, ref)
|
|
1232
|
+
const FilterBar = forwardRef(
|
|
1233
|
+
function FilterBarInner(props, ref) {
|
|
1234
|
+
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
1823
1235
|
const {
|
|
1824
1236
|
filters: initialFilters,
|
|
1825
1237
|
onFilterChange,
|
|
1826
1238
|
controlledFiltering = false,
|
|
1239
|
+
associatedContent,
|
|
1240
|
+
size = "xsmall",
|
|
1241
|
+
overflow = "wrap",
|
|
1242
|
+
className,
|
|
1243
|
+
style,
|
|
1244
|
+
onKeyDown,
|
|
1827
1245
|
...rest
|
|
1828
|
-
} =
|
|
1246
|
+
} = componentProps;
|
|
1829
1247
|
const [filters, setFilters] = useState(initialFilters);
|
|
1830
1248
|
const [hiddenFilters, setHiddenFilters] = useState([]);
|
|
1831
|
-
const
|
|
1832
|
-
const containerQuery = useContainerQuery(
|
|
1833
|
-
const toolbarSize = useToolbarSize();
|
|
1249
|
+
const filterBarRef = useRef(null);
|
|
1250
|
+
const containerQuery = useContainerQuery(filterBarRef);
|
|
1834
1251
|
const showInlineFilters = containerQuery && containerQuery.name !== "xs" && containerQuery.name !== "sm";
|
|
1835
1252
|
useEffect(() => {
|
|
1836
1253
|
setFilters((prevFilters) => {
|
|
@@ -1848,12 +1265,12 @@ const FilterGroupElement = forwardRef(
|
|
|
1848
1265
|
});
|
|
1849
1266
|
}, [initialFilters]);
|
|
1850
1267
|
const updateFilter = useCallback(
|
|
1851
|
-
(filterId,
|
|
1268
|
+
(filterId, value, submit) => {
|
|
1852
1269
|
setFilters((prevFilters) => {
|
|
1853
1270
|
const updatedFilters = updateSingleFilter(
|
|
1854
1271
|
prevFilters,
|
|
1855
1272
|
filterId,
|
|
1856
|
-
|
|
1273
|
+
value
|
|
1857
1274
|
);
|
|
1858
1275
|
if (submit) {
|
|
1859
1276
|
onFilterChange?.(updatedFilters);
|
|
@@ -1873,16 +1290,16 @@ const FilterGroupElement = forwardRef(
|
|
|
1873
1290
|
const resetAllFilters = resetFilters(filters);
|
|
1874
1291
|
setFilters(resetAllFilters);
|
|
1875
1292
|
onFilterChange?.(resetAllFilters);
|
|
1876
|
-
|
|
1877
|
-
if (
|
|
1878
|
-
const firstFocusable =
|
|
1293
|
+
requestAnimationFrame(() => {
|
|
1294
|
+
if (filterBarRef.current) {
|
|
1295
|
+
const firstFocusable = filterBarRef.current.querySelector(
|
|
1879
1296
|
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
|
|
1880
1297
|
);
|
|
1881
1298
|
if (firstFocusable) {
|
|
1882
1299
|
firstFocusable.focus();
|
|
1883
1300
|
}
|
|
1884
1301
|
}
|
|
1885
|
-
}
|
|
1302
|
+
});
|
|
1886
1303
|
};
|
|
1887
1304
|
const hasActiveFilters = checkActiveFilters(filters);
|
|
1888
1305
|
const filterGroupControls = filters.map((filter) => {
|
|
@@ -1906,7 +1323,7 @@ const FilterGroupElement = forwardRef(
|
|
|
1906
1323
|
FilterButton,
|
|
1907
1324
|
{
|
|
1908
1325
|
filter,
|
|
1909
|
-
className: styles
|
|
1326
|
+
className: styles["filter-select-content"]
|
|
1910
1327
|
},
|
|
1911
1328
|
filter.id
|
|
1912
1329
|
);
|
|
@@ -1914,341 +1331,112 @@ const FilterGroupElement = forwardRef(
|
|
|
1914
1331
|
case "date":
|
|
1915
1332
|
case "dateRange":
|
|
1916
1333
|
return /* @__PURE__ */ jsx(FilterButton, { filter }, filter.id);
|
|
1917
|
-
// TODO: Add cases for other filter types here as needed
|
|
1918
1334
|
default:
|
|
1919
1335
|
return null;
|
|
1920
1336
|
}
|
|
1921
1337
|
});
|
|
1922
|
-
const
|
|
1338
|
+
const toolbarContextValue = useMemo(
|
|
1923
1339
|
() => ({
|
|
1924
|
-
|
|
1340
|
+
overflowItems: [],
|
|
1341
|
+
addItem: () => {
|
|
1342
|
+
},
|
|
1343
|
+
removeItem: () => {
|
|
1344
|
+
},
|
|
1345
|
+
toolbarRef: filterBarRef,
|
|
1346
|
+
overflow,
|
|
1347
|
+
size
|
|
1348
|
+
}),
|
|
1349
|
+
[overflow, size]
|
|
1350
|
+
);
|
|
1351
|
+
const filterGroupContextValue = useMemo(
|
|
1352
|
+
() => ({
|
|
1353
|
+
filterGroupRef: filterBarRef,
|
|
1925
1354
|
filters,
|
|
1926
1355
|
updateFilter,
|
|
1927
1356
|
onFilterChange,
|
|
1928
1357
|
controlledFiltering,
|
|
1358
|
+
associatedContent,
|
|
1929
1359
|
hiddenFilters,
|
|
1930
1360
|
addHiddenFilter,
|
|
1931
1361
|
removeHiddenFilter
|
|
1932
1362
|
}),
|
|
1933
1363
|
[
|
|
1934
|
-
|
|
1364
|
+
filterBarRef,
|
|
1935
1365
|
filters,
|
|
1936
1366
|
updateFilter,
|
|
1937
1367
|
onFilterChange,
|
|
1938
1368
|
controlledFiltering,
|
|
1369
|
+
associatedContent,
|
|
1939
1370
|
hiddenFilters,
|
|
1940
1371
|
addHiddenFilter,
|
|
1941
1372
|
removeHiddenFilter
|
|
1942
1373
|
]
|
|
1943
1374
|
);
|
|
1944
|
-
return /* @__PURE__ */ jsx(FilterGroupContext.Provider, { value, children: /* @__PURE__ */ jsxs(
|
|
1945
|
-
ToolbarControlGroup,
|
|
1946
|
-
{
|
|
1947
|
-
ref: useMergeRefs([filterGroupRef, ref]),
|
|
1948
|
-
"data-anv": "toolbar-filter-group",
|
|
1949
|
-
"aria-label": "Filter controls",
|
|
1950
|
-
...rest,
|
|
1951
|
-
children: [
|
|
1952
|
-
showInlineFilters && filterGroupControls,
|
|
1953
|
-
/* @__PURE__ */ jsx(FilterDrawer, {}),
|
|
1954
|
-
showInlineFilters && hasActiveFilters && /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
|
|
1955
|
-
Button,
|
|
1956
|
-
{
|
|
1957
|
-
appearance: "ghost",
|
|
1958
|
-
size: toolbarSize,
|
|
1959
|
-
className: styles$2["filter-button-trigger"],
|
|
1960
|
-
icon: {
|
|
1961
|
-
before: SvgClose
|
|
1962
|
-
},
|
|
1963
|
-
onClick: clearAllFilters,
|
|
1964
|
-
children: "Clear Filters"
|
|
1965
|
-
}
|
|
1966
|
-
) })
|
|
1967
|
-
]
|
|
1968
|
-
}
|
|
1969
|
-
) });
|
|
1970
|
-
}
|
|
1971
|
-
);
|
|
1972
|
-
FilterGroupElement.displayName = "FilterGroup";
|
|
1973
|
-
const FilterGroup = FilterGroupElement;
|
|
1974
|
-
|
|
1975
|
-
const styles = {
|
|
1976
|
-
"toolbar-search-field-container": "_toolbar-search-field-container_1kk8y_1",
|
|
1977
|
-
"toolbar-search-field": "_toolbar-search-field_1kk8y_1"
|
|
1978
|
-
};
|
|
1979
|
-
|
|
1980
|
-
const ToolbarSearchField = forwardRef(
|
|
1981
|
-
(props, ref) => {
|
|
1982
|
-
const { className, ...rest } = props;
|
|
1983
|
-
const size = useToolbarSize();
|
|
1984
|
-
const searchFieldStyles = cx(styles["toolbar-search-field"], className);
|
|
1985
|
-
return /* @__PURE__ */ jsx("div", { className: styles["toolbar-search-field-container"], children: /* @__PURE__ */ jsx(
|
|
1986
|
-
SearchField$1,
|
|
1987
|
-
{
|
|
1988
|
-
ref,
|
|
1989
|
-
className: searchFieldStyles,
|
|
1990
|
-
size,
|
|
1991
|
-
"data-anv": "toolbar-search-field",
|
|
1992
|
-
...rest
|
|
1993
|
-
}
|
|
1994
|
-
) });
|
|
1995
|
-
}
|
|
1996
|
-
);
|
|
1997
|
-
ToolbarSearchField.displayName = "ToolbarSearchField";
|
|
1998
|
-
|
|
1999
|
-
const Toolbar = Object.assign(
|
|
2000
|
-
forwardRef(function ToolbarInner(props, ref) {
|
|
2001
|
-
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
2002
|
-
const {
|
|
2003
|
-
associatedContent,
|
|
2004
|
-
className,
|
|
2005
|
-
children,
|
|
2006
|
-
style,
|
|
2007
|
-
direction = "horizontal",
|
|
2008
|
-
overflow = "wrap",
|
|
2009
|
-
onKeyDown,
|
|
2010
|
-
additionalItems,
|
|
2011
|
-
size = "xsmall",
|
|
2012
|
-
...rest
|
|
2013
|
-
} = componentProps;
|
|
2014
|
-
const [overflowItems, setOverflowItems] = useState([]);
|
|
2015
|
-
const toolbarItemsRef = useRef(null);
|
|
2016
|
-
const toolbarRef = useRef(null);
|
|
2017
|
-
const [orderedIds, setOrderedIds] = useState([]);
|
|
2018
1375
|
useEffect(() => {
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
).map((el) => {
|
|
2022
|
-
return el.getAttribute("data-id");
|
|
2023
|
-
});
|
|
2024
|
-
setOrderedIds(newOrderedIds);
|
|
2025
|
-
}, [children]);
|
|
2026
|
-
const addItem = useCallback((item) => {
|
|
2027
|
-
setOverflowItems((prev) => [...prev, item]);
|
|
2028
|
-
}, []);
|
|
2029
|
-
const removeItem = useCallback((item) => {
|
|
2030
|
-
setOverflowItems(
|
|
2031
|
-
(prev) => prev.filter((component) => component.id !== item.id)
|
|
2032
|
-
);
|
|
2033
|
-
}, []);
|
|
2034
|
-
useEffect(() => {
|
|
2035
|
-
if (toolbarRef.current) {
|
|
2036
|
-
updateToolbarItemsTabIndex(toolbarRef.current);
|
|
1376
|
+
if (filterBarRef.current) {
|
|
1377
|
+
updateToolbarItemsTabIndex(filterBarRef.current);
|
|
2037
1378
|
}
|
|
2038
|
-
}, [
|
|
1379
|
+
}, [filters]);
|
|
2039
1380
|
const handleKeyDown = useCallback(
|
|
2040
1381
|
(event) => {
|
|
2041
|
-
if (
|
|
2042
|
-
handleToolbarKeyDown(event,
|
|
1382
|
+
if (filterBarRef.current) {
|
|
1383
|
+
handleToolbarKeyDown(event, filterBarRef.current);
|
|
2043
1384
|
}
|
|
2044
1385
|
onKeyDown?.(event);
|
|
2045
1386
|
},
|
|
2046
1387
|
[onKeyDown]
|
|
2047
1388
|
);
|
|
2048
|
-
const showOverflowMenu = overflow === "collapse" && overflowItems.length > 0 || !!additionalItems;
|
|
2049
|
-
const value = useMemo(
|
|
2050
|
-
() => ({
|
|
2051
|
-
overflowItems,
|
|
2052
|
-
addItem,
|
|
2053
|
-
removeItem,
|
|
2054
|
-
toolbarRef,
|
|
2055
|
-
orderedIds,
|
|
2056
|
-
overflow,
|
|
2057
|
-
size
|
|
2058
|
-
}),
|
|
2059
|
-
[
|
|
2060
|
-
overflowItems,
|
|
2061
|
-
addItem,
|
|
2062
|
-
removeItem,
|
|
2063
|
-
toolbarRef,
|
|
2064
|
-
orderedIds,
|
|
2065
|
-
overflow,
|
|
2066
|
-
size
|
|
2067
|
-
]
|
|
2068
|
-
);
|
|
2069
1389
|
const styleCombined = {
|
|
2070
1390
|
...style,
|
|
2071
1391
|
...layoutStyles
|
|
2072
1392
|
};
|
|
2073
|
-
|
|
2074
|
-
const toolbarContentClassNames = cx(styles$3["toolbar-content"], {
|
|
2075
|
-
[styles$3[`overflow-${overflow}`]]: overflow
|
|
2076
|
-
});
|
|
2077
|
-
return /* @__PURE__ */ jsx(ToolbarContext.Provider, { value, children: /* @__PURE__ */ jsxs(
|
|
1393
|
+
return /* @__PURE__ */ jsx(ToolbarContext.Provider, { value: toolbarContextValue, children: /* @__PURE__ */ jsx(FilterGroupContext.Provider, { value: filterGroupContextValue, children: /* @__PURE__ */ jsx(
|
|
2078
1394
|
Flex,
|
|
2079
1395
|
{
|
|
2080
|
-
|
|
2081
|
-
wrap: overflow === "wrap" ? "wrap" : "nowrap",
|
|
2082
|
-
alignItems: "center",
|
|
2083
|
-
className: toolbarClassNames,
|
|
2084
|
-
style: styleCombined,
|
|
2085
|
-
ref: useMergeRefs([toolbarRef, ref]),
|
|
1396
|
+
ref: useMergeRefs([filterBarRef, ref]),
|
|
2086
1397
|
role: "toolbar",
|
|
2087
|
-
"
|
|
2088
|
-
"aria-orientation":
|
|
2089
|
-
"aria-label": `Toolbar for ${associatedContent}. Use arrow keys to navigate through toolbar controls.`,
|
|
1398
|
+
"aria-label": `Filters for ${associatedContent}. Use arrow keys to navigate through filter controls.`,
|
|
1399
|
+
"aria-orientation": "horizontal",
|
|
2090
1400
|
onKeyDown: handleKeyDown,
|
|
1401
|
+
alignItems: "center",
|
|
1402
|
+
gap: 1,
|
|
1403
|
+
wrap: overflow === "collapse" ? "nowrap" : "wrap",
|
|
1404
|
+
className,
|
|
1405
|
+
style: styleCombined,
|
|
1406
|
+
"data-anv": "filter-bar",
|
|
2091
1407
|
...rest,
|
|
2092
|
-
children:
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
1408
|
+
children: /* @__PURE__ */ jsxs(
|
|
1409
|
+
Flex,
|
|
1410
|
+
{
|
|
1411
|
+
alignItems: "center",
|
|
1412
|
+
gap: 1,
|
|
1413
|
+
wrap: overflow === "collapse" ? "nowrap" : "wrap",
|
|
1414
|
+
grow: 1,
|
|
1415
|
+
"data-anv": "toolbar-content",
|
|
1416
|
+
children: [
|
|
1417
|
+
showInlineFilters && filterGroupControls,
|
|
1418
|
+
/* @__PURE__ */ jsx(FilterDrawer, {}),
|
|
1419
|
+
showInlineFilters && hasActiveFilters && /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
|
|
1420
|
+
Button,
|
|
1421
|
+
{
|
|
1422
|
+
appearance: "ghost",
|
|
1423
|
+
size,
|
|
1424
|
+
className: styles["filter-button-trigger"],
|
|
1425
|
+
icon: {
|
|
1426
|
+
before: SvgClose
|
|
1427
|
+
},
|
|
1428
|
+
onClick: clearAllFilters,
|
|
1429
|
+
children: "Clear Filters"
|
|
1430
|
+
}
|
|
1431
|
+
) })
|
|
1432
|
+
]
|
|
1433
|
+
}
|
|
1434
|
+
)
|
|
2115
1435
|
}
|
|
2116
|
-
) });
|
|
2117
|
-
}),
|
|
2118
|
-
{
|
|
2119
|
-
/**
|
|
2120
|
-
* ToolbarButton component for standard clickable actions within a toolbar with anvil2 tracking.
|
|
2121
|
-
*
|
|
2122
|
-
* Features:
|
|
2123
|
-
* - Designed specifically for toolbar integration
|
|
2124
|
-
* - Consistent styling with other toolbar items
|
|
2125
|
-
* - Automatic tooltip for icon-only buttons
|
|
2126
|
-
* - Overflow menu support
|
|
2127
|
-
* - Accessibility enforcement for aria-labels
|
|
2128
|
-
* - Ghost and primary appearance options
|
|
2129
|
-
* - Automatic tracking ID generation for analytics
|
|
2130
|
-
*
|
|
2131
|
-
* @example
|
|
2132
|
-
* <Toolbar.Button icon={BoldIcon} aria-label="Bold text" />
|
|
2133
|
-
*
|
|
2134
|
-
* @example
|
|
2135
|
-
* <Toolbar.Button appearance="primary">
|
|
2136
|
-
* Save
|
|
2137
|
-
* </Toolbar.Button>
|
|
2138
|
-
*/
|
|
2139
|
-
Button: ToolbarButton,
|
|
2140
|
-
/**
|
|
2141
|
-
* ToolbarButtonToggle component for toggleable actions within a toolbar with anvil2 tracking.
|
|
2142
|
-
*
|
|
2143
|
-
* Features:
|
|
2144
|
-
* - Toggle state management
|
|
2145
|
-
* - Designed specifically for toolbar integration
|
|
2146
|
-
* - Consistent styling with other toolbar items
|
|
2147
|
-
* - Overflow menu support
|
|
2148
|
-
* - Accessibility enforcement for aria-labels
|
|
2149
|
-
* - Ghost and primary appearance options
|
|
2150
|
-
* - Automatic tracking ID generation for analytics
|
|
2151
|
-
*
|
|
2152
|
-
* @example
|
|
2153
|
-
* <Toolbar.ButtonToggle icon={BoldIcon} aria-label="Bold" checked={isBold} />
|
|
2154
|
-
*/
|
|
2155
|
-
ButtonToggle: ToolbarButtonToggle,
|
|
2156
|
-
/**
|
|
2157
|
-
* ToolbarButtonLink component for link actions within a toolbar with anvil2 tracking.
|
|
2158
|
-
*
|
|
2159
|
-
* Features:
|
|
2160
|
-
* - Link functionality with href support
|
|
2161
|
-
* - Designed specifically for toolbar integration
|
|
2162
|
-
* - Consistent styling with other toolbar items
|
|
2163
|
-
* - Overflow menu support
|
|
2164
|
-
* - Accessibility enforcement for aria-labels
|
|
2165
|
-
* - Ghost and primary appearance options
|
|
2166
|
-
* - Automatic tracking ID generation for analytics
|
|
2167
|
-
*
|
|
2168
|
-
* @example
|
|
2169
|
-
* <Toolbar.ButtonLink href="/help">
|
|
2170
|
-
* Help
|
|
2171
|
-
* </Toolbar.ButtonLink>
|
|
2172
|
-
*/
|
|
2173
|
-
ButtonLink: ToolbarButtonLink,
|
|
2174
|
-
/**
|
|
2175
|
-
* ToolbarSelect component provides a dropdown selector within a toolbar with anvil2 tracking.
|
|
2176
|
-
*
|
|
2177
|
-
* Features:
|
|
2178
|
-
* - Dropdown menu with selectable options
|
|
2179
|
-
* - Controlled and uncontrolled usage patterns
|
|
2180
|
-
* - Automatic overflow menu integration
|
|
2181
|
-
* - Accessibility support with proper ARIA labels
|
|
2182
|
-
* - Ghost and primary appearance options
|
|
2183
|
-
* - Dropdown arrow icon indicator
|
|
2184
|
-
* - Listbox integration for keyboard navigation
|
|
2185
|
-
* - Automatic tracking ID generation for analytics
|
|
2186
|
-
*
|
|
2187
|
-
* @example
|
|
2188
|
-
* <Toolbar.Select
|
|
2189
|
-
* items={fontOptions}
|
|
2190
|
-
* selected="arial"
|
|
2191
|
-
* accessibleLabel="Font family"
|
|
2192
|
-
* onChange={(id) => setFont(id)}
|
|
2193
|
-
* />
|
|
2194
|
-
*/
|
|
2195
|
-
Select: ToolbarSelect,
|
|
2196
|
-
/**
|
|
2197
|
-
* FilterGroup component displays a group of filters with toggles and a clear button.
|
|
2198
|
-
* Also contains the FilterDrawer for additional filter options.
|
|
2199
|
-
*
|
|
2200
|
-
* Features:
|
|
2201
|
-
* - Renders filter toggles and popovers for all filter types
|
|
2202
|
-
* - Supports controlled and uncontrolled filtering
|
|
2203
|
-
* - Integrates with FilterDrawer for batch filter editing
|
|
2204
|
-
* - Provides a clear all filters button
|
|
2205
|
-
* - Handles overflow and hidden filters
|
|
2206
|
-
* - Shares filter state via context for child components
|
|
2207
|
-
* - Supports boolean, custom, single-select, multi-select, date, and date range filter types
|
|
2208
|
-
* - Date filters include calendar popup for easy selection
|
|
2209
|
-
* - Date range filters support start and end date selection
|
|
2210
|
-
*
|
|
2211
|
-
* @example
|
|
2212
|
-
* <Toolbar.Filters
|
|
2213
|
-
* filters={filters}
|
|
2214
|
-
* onFilterChange={handleFilter}
|
|
2215
|
-
* controlledFiltering={true}
|
|
2216
|
-
* />
|
|
2217
|
-
*/
|
|
2218
|
-
Filters: FilterGroup,
|
|
2219
|
-
/**
|
|
2220
|
-
* ToolbarControlGroup component provides a flex container for grouping related toolbar controls.
|
|
2221
|
-
* Can be used for filters, buttons, or other toolbar items.
|
|
2222
|
-
*
|
|
2223
|
-
* Features:
|
|
2224
|
-
* - Groups related toolbar controls in a flex container
|
|
2225
|
-
* - Supports accessibility with aria-label
|
|
2226
|
-
* - Handles overflow and wrapping based on toolbar context
|
|
2227
|
-
* - Integrates with layout utilities for spacing and alignment
|
|
2228
|
-
*
|
|
2229
|
-
* @example
|
|
2230
|
-
* <Toolbar.ControlGroup aria-label="Formatting controls">
|
|
2231
|
-
* <Toolbar.Button icon={BoldIcon} aria-label="Bold" />
|
|
2232
|
-
* <Toolbar.Button icon={ItalicIcon} aria-label="Italic" />
|
|
2233
|
-
* </Toolbar.ControlGroup>
|
|
2234
|
-
*/
|
|
2235
|
-
ControlGroup: ToolbarControlGroup,
|
|
2236
|
-
/**
|
|
2237
|
-
* ToolbarSearchField component renders a search field for use in toolbars.
|
|
2238
|
-
*
|
|
2239
|
-
* Features:
|
|
2240
|
-
* - Renders a search field styled for toolbar usage
|
|
2241
|
-
* - Supports all SearchField props except size
|
|
2242
|
-
* - Integrates with toolbar layouts and accessibility
|
|
2243
|
-
*
|
|
2244
|
-
* @example
|
|
2245
|
-
* <Toolbar.Search placeholder="Search..." />
|
|
2246
|
-
*/
|
|
2247
|
-
Search: ToolbarSearchField
|
|
1436
|
+
) }) });
|
|
2248
1437
|
}
|
|
2249
1438
|
);
|
|
2250
|
-
|
|
2251
|
-
const ToolbarElement = Toolbar;
|
|
1439
|
+
FilterBar.displayName = "FilterBar";
|
|
2252
1440
|
|
|
2253
|
-
export {
|
|
2254
|
-
//# sourceMappingURL=
|
|
1441
|
+
export { FilterBar as F };
|
|
1442
|
+
//# sourceMappingURL=FilterBar-kVue-bVK.js.map
|