@servicetitan/anvil2 3.13.0 → 3.13.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 +30 -0
- package/dist/{AiMark-Bf0x9FF3.js → AiMark-DvxF40mc.js} +6 -5
- package/dist/{AiMark-Bf0x9FF3.js.map → AiMark-DvxF40mc.js.map} +1 -1
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-S4D2DGx7.js → Alert-jMcoYnn3.js} +4 -4
- package/dist/{Alert-S4D2DGx7.js.map → Alert-jMcoYnn3.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-CGglhMfd.js → Announcement-CGTv6M31.js} +6 -5
- package/dist/Announcement-CGTv6M31.js.map +1 -0
- package/dist/Announcement.js +1 -1
- package/dist/{AnvilProvider-Deh-Vgep.js → AnvilProvider-CgYBk3YP.js} +2 -2
- package/dist/{AnvilProvider-Deh-Vgep.js.map → AnvilProvider-CgYBk3YP.js.map} +1 -1
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Avatar-lLiNUrxq.js → Avatar-D31JDNrs.js} +2 -2
- package/dist/{Avatar-lLiNUrxq.js.map → Avatar-D31JDNrs.js.map} +1 -1
- package/dist/{Avatar-ioIwH1KT.js → Avatar-DXI-w1Vi.js} +2 -2
- package/dist/{Avatar-ioIwH1KT.js.map → Avatar-DXI-w1Vi.js.map} +1 -1
- package/dist/Avatar.js +2 -2
- package/dist/{Breadcrumbs-CR1od1rZ.js → Breadcrumbs-lrFI8Kq5.js} +2 -2
- package/dist/{Breadcrumbs-CR1od1rZ.js.map → Breadcrumbs-lrFI8Kq5.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Calendar-B-K7eGua.js → Calendar-BDIucj98.js} +2 -2
- package/dist/{Calendar-B-K7eGua.js.map → Calendar-BDIucj98.js.map} +1 -1
- package/dist/{Calendar-DZnnO3m_.js → Calendar-PMw2HhYu.js} +2 -2
- package/dist/{Calendar-DZnnO3m_.js.map → Calendar-PMw2HhYu.js.map} +1 -1
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-D5-HJC6_.js → Checkbox-D6F6szD5.js} +2 -2
- package/dist/{Checkbox-D5-HJC6_.js.map → Checkbox-D6F6szD5.js.map} +1 -1
- package/dist/{Checkbox-CXfrIo6I.js → Checkbox-laf_32U2.js} +5 -5
- package/dist/{Checkbox-CXfrIo6I.js.map → Checkbox-laf_32U2.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-DLK31FkK.js → Chip-DbmQFaSy.js} +4 -4
- package/dist/{Chip-DLK31FkK.js.map → Chip-DbmQFaSy.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-ZczGbHZT.js → DataTable-B3Nctek_.js} +53 -52
- package/dist/DataTable-B3Nctek_.js.map +1 -0
- package/dist/DataTable.css +96 -115
- package/dist/{DateFieldRange-8JO-rJm-.js → DateFieldRange-Babt-rTV.js} +4 -4
- package/dist/{DateFieldRange-8JO-rJm-.js.map → DateFieldRange-Babt-rTV.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-CrTMTL9v.js → DateFieldSingle-DMcfJwxk.js} +4 -4
- package/dist/{DateFieldSingle-CrTMTL9v.js.map → DateFieldSingle-DMcfJwxk.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-Bo1V-4K2.js → DateFieldYearless-cX9tklg3.js} +5 -5
- package/dist/{DateFieldYearless-Bo1V-4K2.js.map → DateFieldYearless-cX9tklg3.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-rj36AQhR.js → DateFieldYearlessRange-B5q1JJ4o.js} +4 -4
- package/dist/{DateFieldYearlessRange-rj36AQhR.js.map → DateFieldYearlessRange-B5q1JJ4o.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-B39FZ-TR.js → DaysOfTheWeek-BGeOcpvH.js} +4 -4
- package/dist/{DaysOfTheWeek-B39FZ-TR.js.map → DaysOfTheWeek-BGeOcpvH.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Dialog-PcuDCqK7.js → Dialog-DHheusQG.js} +3 -3
- package/dist/{Dialog-PcuDCqK7.js.map → Dialog-DHheusQG.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-CEsvth0Z.js → Drawer-ZpS1rSAo.js} +4 -4
- package/dist/{Drawer-CEsvth0Z.js.map → Drawer-ZpS1rSAo.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-CtWVEAsA.js → EditCard-Cfi2Vz2n.js} +2 -2
- package/dist/{EditCard-CtWVEAsA.js.map → EditCard-Cfi2Vz2n.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-BFJdJP_W.js → FieldLabel-8AZcbhoO.js} +3 -3
- package/dist/{FieldLabel-BFJdJP_W.js.map → FieldLabel-8AZcbhoO.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/{FieldMessage-mTGdycSA.js → FieldMessage-8c9yA_kw.js} +4 -4
- package/dist/{FieldMessage-mTGdycSA.js.map → FieldMessage-8c9yA_kw.js.map} +1 -1
- package/dist/FieldMessage.js +1 -1
- package/dist/{FilterBar-lIGh4xIl.js → FilterBar-BBG7xChV.js} +5 -6
- package/dist/FilterBar-BBG7xChV.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/{Helper-Bq6Npkgh.js → Helper-BHpOgh7k.js} +2 -2
- package/dist/{Helper-Bq6Npkgh.js.map → Helper-BHpOgh7k.js.map} +1 -1
- package/dist/{InputMask-DJTXKPmK.js → InputMask-l91oggrN.js} +3 -3
- package/dist/{InputMask-DJTXKPmK.js.map → InputMask-l91oggrN.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{ListView-CPDHEpD-.js → ListView-CZhtsHeq.js} +2 -2
- package/dist/{ListView-CPDHEpD-.js.map → ListView-CZhtsHeq.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-Of-WaRWI.js → Listbox-XzguYMmw.js} +2 -2
- package/dist/{Listbox-Of-WaRWI.js.map → Listbox-XzguYMmw.js.map} +1 -1
- package/dist/Listbox.js +1 -1
- package/dist/{Menu-CM0EndhK.js → Menu-BjPE_ODh.js} +45 -38
- package/dist/Menu-BjPE_ODh.js.map +1 -0
- package/dist/Menu.css +21 -21
- package/dist/Menu.js +1 -1
- package/dist/Menu.module-CMDgSO9k.js +13 -0
- package/dist/Menu.module-CMDgSO9k.js.map +1 -0
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-CFw607cm.js → MultiSelectFieldSync-LbZxIXJ1.js} +58 -34
- package/dist/MultiSelectFieldSync-LbZxIXJ1.js.map +1 -0
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-C6afc80f.js → MultiSelectMenuSync-jlTj0prP.js} +6 -5
- package/dist/{MultiSelectMenuSync-C6afc80f.js.map → MultiSelectMenuSync-jlTj0prP.js.map} +1 -1
- package/dist/{NumberField-ASyiQu5l.js → NumberField-KO51fZ_O.js} +4 -4
- package/dist/{NumberField-ASyiQu5l.js.map → NumberField-KO51fZ_O.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/{Page-D5NbV2Y8.js → Page-Z_ttFQJZ.js} +219 -148
- package/dist/Page-Z_ttFQJZ.js.map +1 -0
- package/dist/Page.css +123 -88
- package/dist/Page.js +1 -1
- package/dist/{Pagination-B4HCZNYw.js → Pagination-C0x5v_yk.js} +3 -3
- package/dist/{Pagination-B4HCZNYw.js.map → Pagination-C0x5v_yk.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-CjsE5FG0.js → Popover-BPg2nwm3.js} +5 -5
- package/dist/Popover-BPg2nwm3.js.map +1 -0
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-C_HXy_Hx.js → ProgressBar-Dc8PTakM.js} +4 -5
- package/dist/{ProgressBar-C_HXy_Hx.js.map → ProgressBar-Dc8PTakM.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-B5KxT85j.js → Radio-BDBjGCJR.js} +5 -5
- package/dist/{Radio-B5KxT85j.js.map → Radio-BDBjGCJR.js.map} +1 -1
- package/dist/{Radio-CBQpuxLP.js → Radio-kONDu2uD.js} +2 -2
- package/dist/{Radio-CBQpuxLP.js.map → Radio-kONDu2uD.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-C7CCeqGW.js → RichTextEditor-U5xv9w8O.js} +10 -10
- package/dist/{RichTextEditor-C7CCeqGW.js.map → RichTextEditor-U5xv9w8O.js.map} +1 -1
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-BwnP6fuk.js → SavedFiltersButton-LViLmMde.js} +9 -9
- package/dist/{SavedFiltersButton-BwnP6fuk.js.map → SavedFiltersButton-LViLmMde.js.map} +1 -1
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/{SelectCard-DbWOdnuI.js → SelectCard-BhVmrXxS.js} +3 -3
- package/dist/{SelectCard-DbWOdnuI.js.map → SelectCard-BhVmrXxS.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-CujwhWLB.js → SelectFieldLabel-hJwER0Gc.js} +2 -2
- package/dist/{SelectFieldLabel-CujwhWLB.js.map → SelectFieldLabel-hJwER0Gc.js.map} +1 -1
- package/dist/{SelectFieldSync-BdYCHwPd.js → SelectFieldSync-DDL_XnSP.js} +6 -6
- package/dist/{SelectFieldSync-BdYCHwPd.js.map → SelectFieldSync-DDL_XnSP.js.map} +1 -1
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DlqmXr04.js → SelectMenuSync-BdrLS1Jg.js} +4 -4
- package/dist/{SelectMenuSync-DlqmXr04.js.map → SelectMenuSync-BdrLS1Jg.js.map} +1 -1
- package/dist/{SelectOptions-Cz4mU7WG.js → SelectOptions-BbQaDz-p.js} +2 -2
- package/dist/{SelectOptions-Cz4mU7WG.js.map → SelectOptions-BbQaDz-p.js.map} +1 -1
- package/dist/{SelectTrigger-QkI2I04A.js → SelectTrigger-CKiKG_Z_.js} +3 -3
- package/dist/{SelectTrigger-QkI2I04A.js.map → SelectTrigger-CKiKG_Z_.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-C5C6JmDF.js → SelectTriggerBase-C53mpZ6G.js} +4 -4
- package/dist/{SelectTriggerBase-C5C6JmDF.js.map → SelectTriggerBase-C53mpZ6G.js.map} +1 -1
- package/dist/{StatusIcon-BwULopyH.js → StatusIcon-BqorkNJf.js} +13 -9
- package/dist/{StatusIcon-BwULopyH.js.map → StatusIcon-BqorkNJf.js.map} +1 -1
- package/dist/StatusIcon.css +16 -10
- package/dist/{Switch-MfbL3JVk.js → Switch-BuIZ8Peh.js} +3 -3
- package/dist/{Switch-MfbL3JVk.js.map → Switch-BuIZ8Peh.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-CEJHoh0p.js → Text-Ci-L0y2z.js} +2 -2
- package/dist/{Text-CEJHoh0p.js.map → Text-Ci-L0y2z.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-DTbZOxwI.js → TextField-C5db78Nb.js} +4 -4
- package/dist/{TextField-DTbZOxwI.js.map → TextField-C5db78Nb.js.map} +1 -1
- package/dist/{TextField-DWbDQfHY.js → TextField-CIF-Ibkg.js} +2 -2
- package/dist/{TextField-DWbDQfHY.js.map → TextField-CIF-Ibkg.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-CSXwaDf6.js → Textarea-90BDBw_L.js} +4 -4
- package/dist/{Textarea-CSXwaDf6.js.map → Textarea-90BDBw_L.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{ThemeProvider-BlEOL-sk.js → ThemeProvider-D4dbBfHd.js} +33 -24
- package/dist/ThemeProvider-D4dbBfHd.js.map +1 -0
- package/dist/ThemeProvider.js +1 -1
- package/dist/ThemeProviderContext-l52GohYT.js.map +1 -1
- package/dist/{TimeField-BZQP8KSf.js → TimeField-C_K-uPrE.js} +4 -4
- package/dist/{TimeField-BZQP8KSf.js.map → TimeField-C_K-uPrE.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-C2z5rCrc.js → Toaster-CC34KRD9.js} +60 -32
- package/dist/Toaster-CC34KRD9.js.map +1 -0
- package/dist/{Toaster-B1xZq1bs.js → Toaster-CRoqsuBq.js} +41 -30
- package/dist/Toaster-CRoqsuBq.js.map +1 -0
- package/dist/{Toolbar-BDjgSnCU.js → Toolbar-C1fBdJiE.js} +5 -5
- package/dist/{Toolbar-BDjgSnCU.js.map → Toolbar-C1fBdJiE.js.map} +1 -1
- package/dist/{Toolbar-neulke7h.js → Toolbar-CKgEX5iE.js} +4 -4
- package/dist/{Toolbar-neulke7h.js.map → Toolbar-CKgEX5iE.js.map} +1 -1
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-C_Dq_qyS.js → ToolbarButtonToggle-DEPfji6E.js} +2 -2
- package/dist/{ToolbarButtonToggle-C_Dq_qyS.js.map → ToolbarButtonToggle-DEPfji6E.js.map} +1 -1
- package/dist/{Tooltip-CzrJgl98.js → Tooltip-DM63W1Np.js} +6 -6
- package/dist/Tooltip-DM63W1Np.js.map +1 -0
- package/dist/Tooltip.js +1 -1
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-D7ntJmDF.js → TreeSelectFieldSync-D7ou3LDX.js} +6 -6
- package/dist/{TreeSelectFieldSync-D7ntJmDF.js.map → TreeSelectFieldSync-D7ou3LDX.js.map} +1 -1
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-CTm2n1vJ.js → TreeSelectMenuSync-DVbQ-6UN.js} +5 -4
- package/dist/{TreeSelectMenuSync-CTm2n1vJ.js.map → TreeSelectMenuSync-DVbQ-6UN.js.map} +1 -1
- package/dist/{TypeaheadTextField-CEWM_N-N.js → TypeaheadTextField-C1uO5wgs.js} +4 -4
- package/dist/{TypeaheadTextField-CEWM_N-N.js.map → TypeaheadTextField-C1uO5wgs.js.map} +1 -1
- package/dist/TypeaheadTextField.js +1 -1
- package/dist/{YearlessDateInputWithPicker-D6N_mYDe.js → YearlessDateInputWithPicker-Cav1QK7J.js} +2 -2
- package/dist/{YearlessDateInputWithPicker-D6N_mYDe.js.map → YearlessDateInputWithPicker-Cav1QK7J.js.map} +1 -1
- package/dist/arrayIdsEqual-DnevhwqN.js +13 -0
- package/dist/arrayIdsEqual-DnevhwqN.js.map +1 -0
- package/dist/beta.js +17 -16
- package/dist/beta.js.map +1 -1
- package/dist/{bulkActionTypes-jKqcdwuO.js → bulkActionTypes-DHvrhDC5.js} +2 -2
- package/dist/{bulkActionTypes-jKqcdwuO.js.map → bulkActionTypes-DHvrhDC5.js.map} +1 -1
- package/dist/check_circle-C3DDoVXp.js +8 -0
- package/dist/check_circle-C3DDoVXp.js.map +1 -0
- package/dist/{confirmationTypes-CG7xl50f.js → confirmationTypes-DeRtO_Cw.js} +2 -13
- package/dist/confirmationTypes-DeRtO_Cw.js.map +1 -0
- package/dist/{filter-state-TEgOgQVy.js → filter-state-CaOTUqh1.js} +25 -30
- package/dist/filter-state-CaOTUqh1.js.map +1 -0
- package/dist/filter-state.css +27 -14
- package/dist/{floating-ui.react-dom-CyrxPiI-.js → floating-ui.react-dom-BIKT960u.js} +2 -2
- package/dist/{floating-ui.react-dom-CyrxPiI-.js.map → floating-ui.react-dom-BIKT960u.js.map} +1 -1
- package/dist/{index-lV_kQQH8.js → index-BObnJSIh.js} +2 -2
- package/dist/{index-lV_kQQH8.js.map → index-BObnJSIh.js.map} +1 -1
- package/dist/index.js +916 -58
- package/dist/index.js.map +1 -1
- package/dist/index2.css +407 -0
- package/dist/portalScopeClassNames--sU7fdKW.js +16 -0
- package/dist/portalScopeClassNames--sU7fdKW.js.map +1 -0
- package/dist/settings-Bsahaln8.js +10 -0
- package/dist/settings-Bsahaln8.js.map +1 -0
- package/dist/src/beta/components/Page/Page.d.ts +231 -0
- package/dist/src/beta/components/Page/Page.figma.d.ts +1 -0
- package/dist/src/beta/components/Page/PageContent.d.ts +22 -0
- package/dist/src/beta/components/Page/PageContext.d.ts +6 -0
- package/dist/src/beta/components/Page/PageFooter.d.ts +25 -0
- package/dist/src/beta/components/Page/PageHeader.d.ts +157 -0
- package/dist/src/beta/components/Page/PagePanel.d.ts +145 -0
- package/dist/src/beta/components/Page/PagePanelContent.d.ts +46 -0
- package/dist/src/beta/components/Page/PagePanelFooter.d.ts +34 -0
- package/dist/src/beta/components/Page/PagePanelHeader.d.ts +21 -0
- package/dist/src/beta/components/Page/PageSidebar.d.ts +57 -0
- package/dist/src/beta/components/Page/PageSidebarContext.d.ts +5 -0
- package/dist/src/beta/components/Page/PageSidebarHeader.d.ts +23 -0
- package/dist/src/beta/components/Page/index.d.ts +11 -0
- package/dist/src/beta/components/Page/internal/PagePanelContext.d.ts +11 -0
- package/dist/src/beta/components/Page/pageBreakpoint.d.ts +25 -0
- package/dist/src/beta/components/index.d.ts +1 -0
- package/dist/src/components/Menu/internal/menuSelectors.d.ts +4 -0
- package/dist/src/components/Menu/types.d.ts +24 -4
- package/dist/src/components/Toast/Toaster.d.ts +5 -4
- package/dist/src/components/Toast/internal/Toaster.d.ts +21 -0
- package/dist/src/integration-testing/beta-page-native-scroll.spec.d.ts +1 -0
- package/dist/src/internal/components/StatusIcon/StatusIcon.d.ts +1 -1
- package/dist/src/internal/functions/portalScopeClassNames.d.ts +15 -0
- package/dist/src/internal/hooks/useCommitSelectionIfChanged.d.ts +20 -0
- package/dist/src/providers/ThemeProvider/internal/ThemeProviderContext.d.ts +8 -0
- package/dist/src/providers/ThemeProvider/themeToCssVars.d.ts +16 -0
- package/dist/{stripInlineMarkdown-BGdIj-cj.js → stripInlineMarkdown-aIDVZDGr.js} +2 -2
- package/dist/{stripInlineMarkdown-BGdIj-cj.js.map → stripInlineMarkdown-aIDVZDGr.js.map} +1 -1
- package/dist/{syncFilterUtils-9Pqeq8J4.js → syncFilterUtils-BPuSOFJn.js} +3 -3
- package/dist/{syncFilterUtils-9Pqeq8J4.js.map → syncFilterUtils-BPuSOFJn.js.map} +1 -1
- package/dist/{treeSync-tEqZxxHQ.js → treeSync-IYtVu8Jq.js} +3 -3
- package/dist/{treeSync-tEqZxxHQ.js.map → treeSync-IYtVu8Jq.js.map} +1 -1
- package/dist/{useDrilldown-D5iDWSx7.js → useDrilldown-CHukLz7z.js} +2 -2
- package/dist/{useDrilldown-D5iDWSx7.js.map → useDrilldown-CHukLz7z.js.map} +1 -1
- package/dist/{useInfiniteCombobox-DRd_Fp1w.js → useInfiniteCombobox-DNXkXJN5.js} +5 -5
- package/dist/{useInfiniteCombobox-DRd_Fp1w.js.map → useInfiniteCombobox-DNXkXJN5.js.map} +1 -1
- package/dist/{useInvalidateOnOptionsChange-CC_6sRp9.js → useInvalidateOnOptionsChange-C92u1JZc.js} +8 -6
- package/dist/useInvalidateOnOptionsChange-C92u1JZc.js.map +1 -0
- package/dist/usePrefersColorScheme-CwOF0TjZ.js +31 -0
- package/dist/usePrefersColorScheme-CwOF0TjZ.js.map +1 -0
- package/dist/usePrefersColorScheme.js +1 -1
- package/package.json +2 -2
- package/dist/Announcement-CGglhMfd.js.map +0 -1
- package/dist/DataTable-ZczGbHZT.js.map +0 -1
- package/dist/FilterBar-lIGh4xIl.js.map +0 -1
- package/dist/Menu-CM0EndhK.js.map +0 -1
- package/dist/Menu.module-CoyI86tZ.js +0 -13
- package/dist/Menu.module-CoyI86tZ.js.map +0 -1
- package/dist/MultiSelectFieldSync-CFw607cm.js.map +0 -1
- package/dist/Page-D5NbV2Y8.js.map +0 -1
- package/dist/Popover-CjsE5FG0.js.map +0 -1
- package/dist/ThemeProvider-BlEOL-sk.js.map +0 -1
- package/dist/Toaster-B1xZq1bs.js.map +0 -1
- package/dist/Toaster-C2z5rCrc.js.map +0 -1
- package/dist/Tooltip-CzrJgl98.js.map +0 -1
- package/dist/check_circle-CM0ukqXv.js +0 -6
- package/dist/check_circle-CM0ukqXv.js.map +0 -1
- package/dist/confirmationTypes-CG7xl50f.js.map +0 -1
- package/dist/error-DR_wWdYY.js +0 -6
- package/dist/error-DR_wWdYY.js.map +0 -1
- package/dist/filter-state-TEgOgQVy.js.map +0 -1
- package/dist/portalScopeClassNames-BTyv0FY8.js +0 -7
- package/dist/portalScopeClassNames-BTyv0FY8.js.map +0 -1
- package/dist/useInvalidateOnOptionsChange-CC_6sRp9.js.map +0 -1
- package/dist/usePrefersColorScheme-_hT7dK7_.js +0 -31
- package/dist/usePrefersColorScheme-_hT7dK7_.js.map +0 -1
- package/dist/warning-c4Wj1rI4.js +0 -6
- package/dist/warning-c4Wj1rI4.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,91 +1,109 @@
|
|
|
1
|
-
export { DndSort, DndSortCard, DndSortZone } from './DndSort.js';
|
|
2
|
-
export { A as Alert } from './Alert-
|
|
3
|
-
|
|
4
|
-
export { A as
|
|
5
|
-
export { A as
|
|
6
|
-
export { A as
|
|
1
|
+
import './index2.css';export { DndSort, DndSortCard, DndSortZone } from './DndSort.js';
|
|
2
|
+
export { A as Alert } from './Alert-jMcoYnn3.js';
|
|
3
|
+
import { P as Popover, a as usePopoverContext } from './AiMark-DvxF40mc.js';
|
|
4
|
+
export { A as AiMark } from './AiMark-DvxF40mc.js';
|
|
5
|
+
export { A as Announcement } from './Announcement-CGTv6M31.js';
|
|
6
|
+
export { A as Avatar } from './Avatar-DXI-w1Vi.js';
|
|
7
|
+
export { A as AvatarGroup } from './Avatar-D31JDNrs.js';
|
|
7
8
|
export { B as Badge } from './Badge-BNrYBFiU.js';
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
import { B as Breadcrumbs } from './Breadcrumbs-lrFI8Kq5.js';
|
|
10
|
+
import { B as Button } from './Button-Dwh_Nd4l.js';
|
|
10
11
|
export { B as ButtonCompound } from './ButtonCompound-D7kA0qXr.js';
|
|
11
|
-
|
|
12
|
+
import { B as ButtonLink } from './ButtonLink-DOFAxNvC.js';
|
|
12
13
|
export { B as ButtonToggle } from './ButtonToggle-DKDBD1g3.js';
|
|
13
|
-
export { a as Calendar, g as CalendarMonth, f as CalendarMonthButton, e as CalendarNext, b as CalendarNow, d as CalendarPrev, c as CalendarYearButton } from './Calendar-
|
|
14
|
+
export { a as Calendar, g as CalendarMonth, f as CalendarMonthButton, e as CalendarNext, b as CalendarNow, d as CalendarPrev, c as CalendarYearButton } from './Calendar-BDIucj98.js';
|
|
14
15
|
export { C as Card } from './Card-Bt0F6RTq.js';
|
|
15
|
-
export { C as Checkbox } from './Checkbox-
|
|
16
|
-
|
|
17
|
-
export { C as Combobox, a as ComboboxElement, c as ComboboxList, b as ComboboxSelect, u as useInfiniteCombobox } from './useInfiniteCombobox-
|
|
18
|
-
export { D as DateFieldRange } from './DateFieldRange-
|
|
19
|
-
export { D as DateFieldSingle } from './DateFieldSingle-
|
|
20
|
-
export { D as DateFieldYearless } from './DateFieldYearless-
|
|
21
|
-
export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-
|
|
22
|
-
export { D as DaysOfTheWeek } from './DaysOfTheWeek-
|
|
16
|
+
export { C as Checkbox } from './Checkbox-D6F6szD5.js';
|
|
17
|
+
import { C as Chip } from './Chip-DbmQFaSy.js';
|
|
18
|
+
export { C as Combobox, a as ComboboxElement, c as ComboboxList, b as ComboboxSelect, u as useInfiniteCombobox } from './useInfiniteCombobox-DNXkXJN5.js';
|
|
19
|
+
export { D as DateFieldRange } from './DateFieldRange-Babt-rTV.js';
|
|
20
|
+
export { D as DateFieldSingle } from './DateFieldSingle-DMcfJwxk.js';
|
|
21
|
+
export { D as DateFieldYearless } from './DateFieldYearless-cX9tklg3.js';
|
|
22
|
+
export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-B5q1JJ4o.js';
|
|
23
|
+
export { D as DaysOfTheWeek } from './DaysOfTheWeek-BGeOcpvH.js';
|
|
23
24
|
export { D as Details } from './Details-CVA5zbrR.js';
|
|
24
|
-
|
|
25
|
+
import { D as Dialog } from './Dialog-DHheusQG.js';
|
|
25
26
|
export { D as Divider } from './Divider-C7fp5Xb6.js';
|
|
26
27
|
export { D as Dnd } from './index-BwV_Pz7v.js';
|
|
27
|
-
export { D as Drawer } from './Drawer-
|
|
28
|
-
export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, u as useDrillDown } from './useDrilldown-
|
|
29
|
-
export { E as EditCard } from './EditCard-
|
|
30
|
-
export { F as FieldLabel } from './FieldLabel-
|
|
28
|
+
export { D as Drawer } from './Drawer-ZpS1rSAo.js';
|
|
29
|
+
export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, u as useDrillDown } from './useDrilldown-CHukLz7z.js';
|
|
30
|
+
export { E as EditCard } from './EditCard-Cfi2Vz2n.js';
|
|
31
|
+
export { F as FieldLabel } from './FieldLabel-8AZcbhoO.js';
|
|
31
32
|
export { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
|
|
32
|
-
export { F as FieldMessage } from './FieldMessage-
|
|
33
|
-
|
|
33
|
+
export { F as FieldMessage } from './FieldMessage-8c9yA_kw.js';
|
|
34
|
+
import { F as Flex } from './Flex-CRF7gj0_.js';
|
|
34
35
|
export { G as Grid } from './Grid-CvGQrIhE.js';
|
|
35
|
-
|
|
36
|
-
export { I as InputMask } from './InputMask-
|
|
37
|
-
|
|
36
|
+
import { I as Icon } from './Icon-B5zwN7GD.js';
|
|
37
|
+
export { I as InputMask } from './InputMask-l91oggrN.js';
|
|
38
|
+
import { L as Layout } from './Layout-C2Q2hyLG.js';
|
|
39
|
+
export { b as LayoutElement, a as LayoutItem } from './Layout-C2Q2hyLG.js';
|
|
38
40
|
export { L as Link, u as useLinkStyles } from './Link-D7ycmfQ_.js';
|
|
39
41
|
export { L as LinkButton } from './LinkButton-C0wps8r1.js';
|
|
40
42
|
export { L as List } from './List-BvzfZ9TW.js';
|
|
41
|
-
export { L as Listbox } from './Listbox-
|
|
42
|
-
export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-
|
|
43
|
-
|
|
44
|
-
export { N as NumberField } from './NumberField-
|
|
43
|
+
export { L as Listbox } from './Listbox-XzguYMmw.js';
|
|
44
|
+
export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-CZhtsHeq.js';
|
|
45
|
+
import { M as Menu } from './Menu-BjPE_ODh.js';
|
|
46
|
+
export { N as NumberField } from './NumberField-KO51fZ_O.js';
|
|
45
47
|
export { Overflow, OverflowText } from './Overflow.js';
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
export {
|
|
48
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
49
|
+
import { createContext, forwardRef, useContext, useState, useLayoutEffect, useRef, useEffect, useMemo, useCallback } from 'react';
|
|
50
|
+
import { c as cx } from './index-De1g9FRV.js';
|
|
51
|
+
import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
|
|
52
|
+
export { P as Pagination } from './Pagination-C0x5v_yk.js';
|
|
53
|
+
export { P as Popover } from './Popover-BPg2nwm3.js';
|
|
54
|
+
export { P as ProgressBar } from './ProgressBar-Dc8PTakM.js';
|
|
55
|
+
export { R as Radio } from './Radio-kONDu2uD.js';
|
|
51
56
|
export { S as SearchField } from './SearchField-ChoNtw8w.js';
|
|
52
57
|
export { S as SegmentedControl, a as SegmentedControlSegment } from './SegmentedControl-CQ6DrbDc.js';
|
|
53
|
-
export { S as SelectCard } from './SelectCard-
|
|
54
|
-
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-
|
|
55
|
-
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-
|
|
56
|
-
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-
|
|
57
|
-
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-
|
|
58
|
-
export { S as SelectTrigger } from './SelectTrigger-
|
|
58
|
+
export { S as SelectCard } from './SelectCard-BhVmrXxS.js';
|
|
59
|
+
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-DDL_XnSP.js';
|
|
60
|
+
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-LbZxIXJ1.js';
|
|
61
|
+
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-BdrLS1Jg.js';
|
|
62
|
+
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-jlTj0prP.js';
|
|
63
|
+
export { S as SelectTrigger } from './SelectTrigger-CKiKG_Z_.js';
|
|
59
64
|
export { S as SideNav } from './SideNav-BLXgM918.js';
|
|
60
65
|
export { Skeleton, SkeletonCircle, SkeletonPill, SkeletonRectangle, SkeletonText } from './Skeleton.js';
|
|
61
66
|
export { S as Spinner } from './Spinner-B7tTWcP6.js';
|
|
62
67
|
export { S as SrOnly } from './SrOnly-pnf8ajnh.js';
|
|
63
68
|
export { S as Stepper, a as StepperBase } from './Stepper-CCKHWlUr.js';
|
|
64
|
-
export { S as Switch } from './Switch-
|
|
69
|
+
export { S as Switch } from './Switch-BuIZ8Peh.js';
|
|
65
70
|
export { T as Tab } from './Tab-Bqfvg8Ce.js';
|
|
66
|
-
|
|
67
|
-
export { T as Textarea } from './Textarea-
|
|
68
|
-
|
|
69
|
-
export { T as TimeField } from './TimeField-
|
|
70
|
-
export { T as Toaster } from './Toaster-
|
|
71
|
-
export { t as toast } from './Toaster-
|
|
72
|
-
export { T as Toolbar } from './Toolbar-
|
|
73
|
-
|
|
71
|
+
import { T as Text } from './Text-Ci-L0y2z.js';
|
|
72
|
+
export { T as Textarea } from './Textarea-90BDBw_L.js';
|
|
73
|
+
import { T as TextField } from './TextField-CIF-Ibkg.js';
|
|
74
|
+
export { T as TimeField } from './TimeField-C_K-uPrE.js';
|
|
75
|
+
export { T as Toaster } from './Toaster-CRoqsuBq.js';
|
|
76
|
+
export { t as toast } from './Toaster-CC34KRD9.js';
|
|
77
|
+
export { T as Toolbar } from './Toolbar-CKgEX5iE.js';
|
|
78
|
+
import { T as Tooltip } from './Tooltip-DM63W1Np.js';
|
|
74
79
|
export { u as useAccessibleColor } from './useAccessibleColor-BYKjkGRg.js';
|
|
75
80
|
export { u as useBreakpoint } from './useBreakpoint-BBNRlMGZ.js';
|
|
76
|
-
export { u as
|
|
77
|
-
export { u as usePrefersColorScheme } from './usePrefersColorScheme-_hT7dK7_.js';
|
|
81
|
+
export { u as usePrefersColorScheme } from './usePrefersColorScheme-CwOF0TjZ.js';
|
|
78
82
|
export { u as usePrefersReducedMotion } from './usePrefersReducedMotion-DR9B_D6w.js';
|
|
79
83
|
export { u as useSwipe } from './useSwipe-Cp-CJxLU.js';
|
|
80
|
-
|
|
81
|
-
export { A as AnvilProvider, a as AnvilProviderContext } from './AnvilProvider-
|
|
84
|
+
import { useTrackingId } from './useTrackingId.js';
|
|
85
|
+
export { A as AnvilProvider, a as AnvilProviderContext } from './AnvilProvider-CgYBk3YP.js';
|
|
82
86
|
export { L as LocalizationProvider } from './LocalizationProvider-BPcOU7YX.js';
|
|
83
87
|
export { L as LocalizationContext, u as useLocalizationContext } from './LocalizationContext-UsmB5mnR.js';
|
|
84
88
|
export { P as PortalProvider, a as PortalProviderContext } from './PortalProvider-Cj_y3gbC.js';
|
|
85
|
-
export { T as ThemeProvider } from './ThemeProvider-
|
|
89
|
+
export { T as ThemeProvider } from './ThemeProvider-D4dbBfHd.js';
|
|
86
90
|
export { u as useTheme } from './useTheme-B4i6a3bM.js';
|
|
87
91
|
export { T as TrackingProvider } from './TrackingProvider-Co4lyoI9.js';
|
|
88
92
|
export { u as useTrackingContext } from './useTrackingContext-C522P4sv.js';
|
|
93
|
+
import { S as SvgSegment, a as SvgChevronLeft, b as SvgSettings } from './settings-Bsahaln8.js';
|
|
94
|
+
import { S as SvgKeyboardArrowDown } from './keyboard_arrow_down-C8WQ38p1.js';
|
|
95
|
+
import { S as SvgKeyboardArrowUp } from './keyboard_arrow_up-CxzK6LAl.js';
|
|
96
|
+
import { S as SvgChevronRight } from './chevron_right-BdpsxX7x.js';
|
|
97
|
+
import { b as BreakpointLg } from './primitive-BXgYQTTw.js';
|
|
98
|
+
import { S as SvgMoreVert } from './more_vert-C_lJSyxt.js';
|
|
99
|
+
import { S as SvgEdit } from './edit-DQOiktcu.js';
|
|
100
|
+
import { S as SvgCheck } from './check-Cf67OWrZ.js';
|
|
101
|
+
import { S as SvgClose } from './close-DZj38AEh.js';
|
|
102
|
+
import { createPortal } from 'react-dom';
|
|
103
|
+
import { d as drillDownStyles, D as DrillDownContext } from './DrillDown.module-1VBKDZRA.js';
|
|
104
|
+
import { u as useDrillDownContextState } from './useInitialFocus-BUxEDMEG.js';
|
|
105
|
+
import { u as useDrillDownContext } from './useDrillDownContext-D5_NjqY4.js';
|
|
106
|
+
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
|
|
89
107
|
|
|
90
108
|
const IANA_TIMEZONES = [
|
|
91
109
|
"Pacific/Kiritimati",
|
|
@@ -516,5 +534,845 @@ const IANA_TIMEZONES = [
|
|
|
516
534
|
"Pacific/Pago_Pago"
|
|
517
535
|
];
|
|
518
536
|
|
|
519
|
-
|
|
537
|
+
const page = "_page_1a6ta_1";
|
|
538
|
+
const container = "_container_1a6ta_29";
|
|
539
|
+
const panel = "_panel_1a6ta_58";
|
|
540
|
+
const open = "_open_1a6ta_58";
|
|
541
|
+
const small = "_small_1a6ta_58";
|
|
542
|
+
const medium = "_medium_1a6ta_61";
|
|
543
|
+
const large = "_large_1a6ta_64";
|
|
544
|
+
const sidebar = "_sidebar_1a6ta_67";
|
|
545
|
+
const collapsed = "_collapsed_1a6ta_67";
|
|
546
|
+
const content = "_content_1a6ta_77";
|
|
547
|
+
const noPadding = "_noPadding_1a6ta_365";
|
|
548
|
+
const header = "_header_1a6ta_442";
|
|
549
|
+
const layout = "_layout_1a6ta_446";
|
|
550
|
+
const title = "_title_1a6ta_454";
|
|
551
|
+
const chips = "_chips_1a6ta_464";
|
|
552
|
+
const actions = "_actions_1a6ta_468";
|
|
553
|
+
const description = "_description_1a6ta_481";
|
|
554
|
+
const styles = {
|
|
555
|
+
page: page,
|
|
556
|
+
container: container,
|
|
557
|
+
panel: panel,
|
|
558
|
+
open: open,
|
|
559
|
+
small: small,
|
|
560
|
+
medium: medium,
|
|
561
|
+
large: large,
|
|
562
|
+
sidebar: sidebar,
|
|
563
|
+
collapsed: collapsed,
|
|
564
|
+
content: content,
|
|
565
|
+
"content-footer": "_content-footer_1a6ta_77",
|
|
566
|
+
"virtual-scroll-container": "_virtual-scroll-container_1a6ta_84",
|
|
567
|
+
"content-wrapper": "_content-wrapper_1a6ta_92",
|
|
568
|
+
"footer-slot": "_footer-slot_1a6ta_99",
|
|
569
|
+
"content-inner": "_content-inner_1a6ta_109",
|
|
570
|
+
"content-header-inner": "_content-header-inner_1a6ta_131",
|
|
571
|
+
"sidebar-inner": "_sidebar-inner_1a6ta_195",
|
|
572
|
+
"sidebar-header": "_sidebar-header_1a6ta_234",
|
|
573
|
+
"sidebar-adaptive-trigger-container": "_sidebar-adaptive-trigger-container_1a6ta_256",
|
|
574
|
+
"sidebar-adaptive-trigger": "_sidebar-adaptive-trigger_1a6ta_256",
|
|
575
|
+
"sidebar-adaptive-trigger-icon": "_sidebar-adaptive-trigger-icon_1a6ta_277",
|
|
576
|
+
"sidebar-adaptive-container": "_sidebar-adaptive-container_1a6ta_281",
|
|
577
|
+
"sidebar-adaptive": "_sidebar-adaptive_1a6ta_256",
|
|
578
|
+
"toggle-button-wrapper": "_toggle-button-wrapper_1a6ta_295",
|
|
579
|
+
"toggle-button-tooltip": "_toggle-button-tooltip_1a6ta_304",
|
|
580
|
+
"toggle-button": "_toggle-button_1a6ta_295",
|
|
581
|
+
noPadding: noPadding,
|
|
582
|
+
"panel-inner": "_panel-inner_1a6ta_365",
|
|
583
|
+
"drilldown-open": "_drilldown-open_1a6ta_403",
|
|
584
|
+
header: header,
|
|
585
|
+
layout: layout,
|
|
586
|
+
"title-wrapper": "_title-wrapper_1a6ta_454",
|
|
587
|
+
title: title,
|
|
588
|
+
"preference-action": "_preference-action_1a6ta_461",
|
|
589
|
+
chips: chips,
|
|
590
|
+
actions: actions,
|
|
591
|
+
description: description
|
|
592
|
+
};
|
|
593
|
+
|
|
594
|
+
const PageSideBarContext = createContext(
|
|
595
|
+
null
|
|
596
|
+
);
|
|
597
|
+
|
|
598
|
+
const PageContext = createContext({});
|
|
599
|
+
|
|
600
|
+
const PAGE_LG_BREAKPOINT = +(BreakpointLg?.value?.replace("px", "") ?? 0);
|
|
601
|
+
const isPageMobileWidth = (pageWidth) => (pageWidth ?? 0) < PAGE_LG_BREAKPOINT;
|
|
602
|
+
const showsPageVirtualScroll = (pageWidth) => PAGE_LG_BREAKPOINT > 0 && (pageWidth ?? 0) >= PAGE_LG_BREAKPOINT;
|
|
603
|
+
|
|
604
|
+
function AdaptiveSidebarContent({
|
|
605
|
+
children,
|
|
606
|
+
className,
|
|
607
|
+
innerRef
|
|
608
|
+
}) {
|
|
609
|
+
const { closePopover, openState } = usePopoverContext();
|
|
610
|
+
const containerRef = useRef(null);
|
|
611
|
+
const mergedRef = useMergeRefs([containerRef, innerRef]);
|
|
612
|
+
useEffect(() => {
|
|
613
|
+
if (!openState) return;
|
|
614
|
+
const overflow = document.body.style.overflow;
|
|
615
|
+
document.body.style.overflow = "hidden";
|
|
616
|
+
return () => {
|
|
617
|
+
document.body.style.overflow = overflow;
|
|
618
|
+
};
|
|
619
|
+
}, [openState]);
|
|
620
|
+
useEffect(() => {
|
|
621
|
+
const el = containerRef.current;
|
|
622
|
+
if (!el) return;
|
|
623
|
+
const handleClick = (e) => {
|
|
624
|
+
if (!(e.target instanceof Element)) return;
|
|
625
|
+
if (e.target.closest("a")) closePopover();
|
|
626
|
+
};
|
|
627
|
+
el.addEventListener("click", handleClick);
|
|
628
|
+
return () => el.removeEventListener("click", handleClick);
|
|
629
|
+
}, [closePopover]);
|
|
630
|
+
return /* @__PURE__ */ jsx(Flex, { direction: "column", className, ref: mergedRef, children });
|
|
631
|
+
}
|
|
632
|
+
const PageSidebar = forwardRef(
|
|
633
|
+
(props, ref) => {
|
|
634
|
+
const {
|
|
635
|
+
children,
|
|
636
|
+
className,
|
|
637
|
+
currentPageTitle,
|
|
638
|
+
localStorageKey = "sidebar-collapsed",
|
|
639
|
+
...rest
|
|
640
|
+
} = props;
|
|
641
|
+
const data = {
|
|
642
|
+
localStorageKey
|
|
643
|
+
};
|
|
644
|
+
const { pageWidth } = useContext(PageContext);
|
|
645
|
+
const [isMobile, setIsMobile] = useState(
|
|
646
|
+
() => typeof window !== "undefined" ? isPageMobileWidth(window.innerWidth) : false
|
|
647
|
+
);
|
|
648
|
+
useLayoutEffect(() => {
|
|
649
|
+
if (!pageWidth) return;
|
|
650
|
+
setIsMobile(isPageMobileWidth(pageWidth));
|
|
651
|
+
}, [pageWidth]);
|
|
652
|
+
const trackingId = useTrackingId({
|
|
653
|
+
name: "PageSidebarButton",
|
|
654
|
+
data,
|
|
655
|
+
hasOverride: !!props["data-tracking-id"]
|
|
656
|
+
});
|
|
657
|
+
const [collapsed, setCollapsed] = useState(() => {
|
|
658
|
+
const sidebarState = localStorage.getItem(localStorageKey);
|
|
659
|
+
return sidebarState ? JSON.parse(sidebarState) : false;
|
|
660
|
+
});
|
|
661
|
+
const classNames = cx([styles["sidebar"]], className, {
|
|
662
|
+
[styles["collapsed"]]: collapsed
|
|
663
|
+
});
|
|
664
|
+
const onToggleButtonClick = () => {
|
|
665
|
+
setCollapsed((prev) => {
|
|
666
|
+
localStorage.setItem(localStorageKey, JSON.stringify(!prev));
|
|
667
|
+
return !prev;
|
|
668
|
+
});
|
|
669
|
+
};
|
|
670
|
+
if (isMobile) {
|
|
671
|
+
return /* @__PURE__ */ jsxs(Popover, { fillAvailableHeight: true, matchReferenceWidth: true, noPadding: true, children: [
|
|
672
|
+
/* @__PURE__ */ jsx(Popover.Trigger, { children: (props2) => {
|
|
673
|
+
return /* @__PURE__ */ jsx("div", { className: styles["sidebar-adaptive-trigger-container"], children: /* @__PURE__ */ jsxs(
|
|
674
|
+
Button,
|
|
675
|
+
{
|
|
676
|
+
className: styles["sidebar-adaptive-trigger"],
|
|
677
|
+
icon: SvgSegment,
|
|
678
|
+
appearance: "ghost",
|
|
679
|
+
...props2,
|
|
680
|
+
children: [
|
|
681
|
+
!currentPageTitle ? "Menu" : currentPageTitle,
|
|
682
|
+
/* @__PURE__ */ jsx(
|
|
683
|
+
Icon,
|
|
684
|
+
{
|
|
685
|
+
className: styles["sidebar-adaptive-trigger-icon"],
|
|
686
|
+
justifyContent: "end",
|
|
687
|
+
svg: props2["data-state"] === "open" ? SvgKeyboardArrowUp : SvgKeyboardArrowDown
|
|
688
|
+
}
|
|
689
|
+
)
|
|
690
|
+
]
|
|
691
|
+
}
|
|
692
|
+
) });
|
|
693
|
+
} }),
|
|
694
|
+
/* @__PURE__ */ jsx(Popover.Content, { className: styles["sidebar-adaptive-container"], children: /* @__PURE__ */ jsx(
|
|
695
|
+
AdaptiveSidebarContent,
|
|
696
|
+
{
|
|
697
|
+
className: styles["sidebar-adaptive"],
|
|
698
|
+
innerRef: ref,
|
|
699
|
+
children
|
|
700
|
+
}
|
|
701
|
+
) })
|
|
702
|
+
] });
|
|
703
|
+
}
|
|
704
|
+
return /* @__PURE__ */ jsx(PageSideBarContext.Provider, { value: { collapsed }, children: /* @__PURE__ */ jsxs("div", { className: classNames, ref, ...rest, children: [
|
|
705
|
+
/* @__PURE__ */ jsx("div", { className: styles["sidebar-inner"], "aria-hidden": collapsed, children: /* @__PURE__ */ jsx("div", { children }) }),
|
|
706
|
+
/* @__PURE__ */ jsx("div", { className: styles["toggle-button-wrapper"], children: /* @__PURE__ */ jsxs(Tooltip, { placement: "right", children: [
|
|
707
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { className: styles["toggle-button-tooltip"], children: /* @__PURE__ */ jsx(
|
|
708
|
+
Button,
|
|
709
|
+
{
|
|
710
|
+
size: "small",
|
|
711
|
+
onClick: onToggleButtonClick,
|
|
712
|
+
className: styles["toggle-button"],
|
|
713
|
+
"aria-label": collapsed ? "Open Sidebar" : "Close Sidebar",
|
|
714
|
+
"data-tracking-id": trackingId,
|
|
715
|
+
icon: collapsed ? SvgChevronRight : SvgChevronLeft
|
|
716
|
+
}
|
|
717
|
+
) }),
|
|
718
|
+
/* @__PURE__ */ jsx(Tooltip.Content, { children: collapsed ? "Open Sidebar" : "Close Sidebar" })
|
|
719
|
+
] }) })
|
|
720
|
+
] }) });
|
|
721
|
+
}
|
|
722
|
+
);
|
|
723
|
+
PageSidebar.displayName = "Page.Sidebar";
|
|
724
|
+
|
|
725
|
+
const PageSidebarHeader = forwardRef(
|
|
726
|
+
(props, ref) => {
|
|
727
|
+
const { children, className, ...rest } = props;
|
|
728
|
+
const context = useContext(PageSideBarContext);
|
|
729
|
+
const classNames = cx([styles["sidebar-header"]], className);
|
|
730
|
+
return /* @__PURE__ */ jsx("div", { className: classNames, ref, ...rest, children: /* @__PURE__ */ jsx(
|
|
731
|
+
"div",
|
|
732
|
+
{
|
|
733
|
+
className: styles["header-content"],
|
|
734
|
+
"aria-hidden": context?.collapsed,
|
|
735
|
+
children
|
|
736
|
+
}
|
|
737
|
+
) });
|
|
738
|
+
}
|
|
739
|
+
);
|
|
740
|
+
PageSidebarHeader.displayName = "Page.SidebarHeader";
|
|
741
|
+
|
|
742
|
+
const renderMenuItems = (actions) => actions.map((action, index) => {
|
|
743
|
+
const icon = typeof action.icon === "function" ? action.icon : action.icon && "after" in action.icon ? action.icon.after : void 0;
|
|
744
|
+
return /* @__PURE__ */ jsx(
|
|
745
|
+
Menu.Item,
|
|
746
|
+
{
|
|
747
|
+
label: action.label,
|
|
748
|
+
onClick: action.onClick,
|
|
749
|
+
disabled: action.disabled,
|
|
750
|
+
icon,
|
|
751
|
+
className: action.className
|
|
752
|
+
},
|
|
753
|
+
index
|
|
754
|
+
);
|
|
755
|
+
});
|
|
756
|
+
const renderPrimaryMenuTrigger = (primary) => ({ ref, ...triggerProps }) => {
|
|
757
|
+
const { items: _items, label, ...buttonProps } = primary;
|
|
758
|
+
return /* @__PURE__ */ jsx(
|
|
759
|
+
Button,
|
|
760
|
+
{
|
|
761
|
+
appearance: "primary",
|
|
762
|
+
...buttonProps,
|
|
763
|
+
icon: { after: SvgKeyboardArrowDown },
|
|
764
|
+
...triggerProps,
|
|
765
|
+
ref,
|
|
766
|
+
children: label
|
|
767
|
+
}
|
|
768
|
+
);
|
|
769
|
+
};
|
|
770
|
+
const PageHeader = forwardRef(
|
|
771
|
+
(props, ref) => {
|
|
772
|
+
const {
|
|
773
|
+
title: titleProp,
|
|
774
|
+
breadcrumbs,
|
|
775
|
+
chips,
|
|
776
|
+
description,
|
|
777
|
+
actions,
|
|
778
|
+
preferenceAction,
|
|
779
|
+
layout,
|
|
780
|
+
className,
|
|
781
|
+
...rest
|
|
782
|
+
} = props;
|
|
783
|
+
const title = typeof titleProp === "string" ? { text: titleProp } : titleProp;
|
|
784
|
+
const [editing, setEditing] = useState(false);
|
|
785
|
+
const [editingTitle, setEditingTitle] = useState(title.text);
|
|
786
|
+
const editFieldRef = useRef(null);
|
|
787
|
+
const editButtonRef = useRef(null);
|
|
788
|
+
const firstRenderRef = useRef(true);
|
|
789
|
+
useEffect(() => {
|
|
790
|
+
if (firstRenderRef.current) {
|
|
791
|
+
firstRenderRef.current = false;
|
|
792
|
+
return;
|
|
793
|
+
}
|
|
794
|
+
if (editing === true && editFieldRef.current) {
|
|
795
|
+
editFieldRef.current.focus();
|
|
796
|
+
}
|
|
797
|
+
if (editing === false && editButtonRef.current) {
|
|
798
|
+
editButtonRef.current.focus();
|
|
799
|
+
}
|
|
800
|
+
}, [editing]);
|
|
801
|
+
const { fluid, variant } = layout || {};
|
|
802
|
+
const preferenceItem = preferenceAction && ("href" in preferenceAction ? /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
803
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
|
|
804
|
+
ButtonLink,
|
|
805
|
+
{
|
|
806
|
+
appearance: "ghost",
|
|
807
|
+
icon: SvgSettings,
|
|
808
|
+
size: "small",
|
|
809
|
+
className: styles["preference-action"],
|
|
810
|
+
...preferenceAction
|
|
811
|
+
}
|
|
812
|
+
) }),
|
|
813
|
+
/* @__PURE__ */ jsx(Tooltip.Content, { children: preferenceAction["aria-label"] })
|
|
814
|
+
] }) : /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
815
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
|
|
816
|
+
Button,
|
|
817
|
+
{
|
|
818
|
+
appearance: "ghost",
|
|
819
|
+
icon: SvgSettings,
|
|
820
|
+
size: "small",
|
|
821
|
+
className: styles["preference-action"],
|
|
822
|
+
...preferenceAction
|
|
823
|
+
}
|
|
824
|
+
) }),
|
|
825
|
+
/* @__PURE__ */ jsx(Tooltip.Content, { children: preferenceAction["aria-label"] })
|
|
826
|
+
] }));
|
|
827
|
+
const secondaryActions = actions?.secondary ?? [];
|
|
828
|
+
const primaryAction = actions?.primary;
|
|
829
|
+
const collapseSecondary = secondaryActions.length >= 3 || secondaryActions.length >= 2 && !!primaryAction;
|
|
830
|
+
const actionItems = actions && /* @__PURE__ */ jsxs(Flex, { justifyContent: "flex-end", className: styles.actions, children: [
|
|
831
|
+
collapseSecondary ? /* @__PURE__ */ jsx(
|
|
832
|
+
Menu,
|
|
833
|
+
{
|
|
834
|
+
trigger: ({ ref: ref2, ...rest2 }) => /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
835
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
|
|
836
|
+
Button,
|
|
837
|
+
{
|
|
838
|
+
appearance: "secondary",
|
|
839
|
+
icon: SvgMoreVert,
|
|
840
|
+
"aria-label": "More actions",
|
|
841
|
+
...rest2,
|
|
842
|
+
ref: ref2
|
|
843
|
+
}
|
|
844
|
+
) }),
|
|
845
|
+
/* @__PURE__ */ jsx(Tooltip.Content, { children: "More actions" })
|
|
846
|
+
] }),
|
|
847
|
+
children: renderMenuItems(secondaryActions)
|
|
848
|
+
}
|
|
849
|
+
) : secondaryActions.map((action, index) => /* @__PURE__ */ jsx(Button, { appearance: "secondary", ...action, children: action.label }, index)),
|
|
850
|
+
primaryAction && ("items" in primaryAction ? /* @__PURE__ */ jsx(
|
|
851
|
+
Menu,
|
|
852
|
+
{
|
|
853
|
+
label: primaryAction.label,
|
|
854
|
+
trigger: renderPrimaryMenuTrigger(primaryAction),
|
|
855
|
+
children: renderMenuItems(primaryAction.items)
|
|
856
|
+
}
|
|
857
|
+
) : /* @__PURE__ */ jsx(Button, { appearance: "primary", ...primaryAction, children: primaryAction.label }))
|
|
858
|
+
] });
|
|
859
|
+
const headerClassName = cx(styles.content, styles.header, className);
|
|
860
|
+
const headerContentClassName = cx(
|
|
861
|
+
styles["content-inner"],
|
|
862
|
+
styles["content-header-inner"]
|
|
863
|
+
);
|
|
864
|
+
return /* @__PURE__ */ jsx("header", { ref, className: headerClassName, ...rest, children: /* @__PURE__ */ jsx("div", { className: headerContentClassName, children: /* @__PURE__ */ jsxs(Layout, { fluid, variant, className: styles["layout"], children: [
|
|
865
|
+
breadcrumbs && /* @__PURE__ */ jsx(Layout.Item, { children: /* @__PURE__ */ jsx(Breadcrumbs, { children: breadcrumbs.map((breadcrumb, index) => /* @__PURE__ */ jsx(Breadcrumbs.Link, { ...breadcrumb }, index)) }) }),
|
|
866
|
+
/* @__PURE__ */ jsxs(Layout.Item, { sm: 2, md: actionItems || editing ? 6 : 12, children: [
|
|
867
|
+
/* @__PURE__ */ jsxs("div", { className: styles["title-wrapper"], children: [
|
|
868
|
+
title.onChange && editing ? /* @__PURE__ */ jsx(
|
|
869
|
+
"form",
|
|
870
|
+
{
|
|
871
|
+
onSubmit: (e) => {
|
|
872
|
+
e.preventDefault();
|
|
873
|
+
if (title.onChange?.(editingTitle) !== false) {
|
|
874
|
+
setEditing(false);
|
|
875
|
+
}
|
|
876
|
+
},
|
|
877
|
+
style: { display: "flex" },
|
|
878
|
+
children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", grow: 1, gap: 2, children: [
|
|
879
|
+
/* @__PURE__ */ jsx(
|
|
880
|
+
TextField,
|
|
881
|
+
{
|
|
882
|
+
"aria-label": title.editFieldLabel ?? "Page title",
|
|
883
|
+
defaultValue: title.text,
|
|
884
|
+
flexGrow: 1,
|
|
885
|
+
ref: editFieldRef,
|
|
886
|
+
onChange: (event) => setEditingTitle(event.target.value),
|
|
887
|
+
onKeyDown: (e) => {
|
|
888
|
+
if (e.code === "Escape") {
|
|
889
|
+
setEditing(false);
|
|
890
|
+
setEditingTitle(title.text);
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
),
|
|
895
|
+
/* @__PURE__ */ jsxs(Flex, { alignItems: "center", gap: 1, children: [
|
|
896
|
+
/* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
897
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
|
|
898
|
+
Button,
|
|
899
|
+
{
|
|
900
|
+
icon: SvgCheck,
|
|
901
|
+
"aria-label": title.confirmButtonLabel ?? "Update title",
|
|
902
|
+
size: "small",
|
|
903
|
+
appearance: "primary",
|
|
904
|
+
onClick: () => {
|
|
905
|
+
if (title.onChange?.(editingTitle) !== false) {
|
|
906
|
+
setEditing(false);
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
) }),
|
|
911
|
+
/* @__PURE__ */ jsx(Tooltip.Content, { children: title.confirmButtonLabel ?? "Update title" })
|
|
912
|
+
] }),
|
|
913
|
+
/* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
914
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
|
|
915
|
+
Button,
|
|
916
|
+
{
|
|
917
|
+
icon: SvgClose,
|
|
918
|
+
"aria-label": title.cancelButtonLabel ?? "Cancel",
|
|
919
|
+
size: "small",
|
|
920
|
+
onClick: () => {
|
|
921
|
+
setEditing(false);
|
|
922
|
+
setEditingTitle(title.text);
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
) }),
|
|
926
|
+
/* @__PURE__ */ jsx(Tooltip.Content, { children: title.cancelButtonLabel ?? "Cancel" })
|
|
927
|
+
] })
|
|
928
|
+
] })
|
|
929
|
+
] })
|
|
930
|
+
}
|
|
931
|
+
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
932
|
+
/* @__PURE__ */ jsx(
|
|
933
|
+
Text,
|
|
934
|
+
{
|
|
935
|
+
variant: "headline",
|
|
936
|
+
size: "large",
|
|
937
|
+
el: "h1",
|
|
938
|
+
className: styles.title,
|
|
939
|
+
children: title.text
|
|
940
|
+
}
|
|
941
|
+
),
|
|
942
|
+
title.onChange != null ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
943
|
+
" ",
|
|
944
|
+
/* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
945
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(
|
|
946
|
+
Button,
|
|
947
|
+
{
|
|
948
|
+
icon: SvgEdit,
|
|
949
|
+
"aria-label": title.editButtonLabel ?? "Edit title",
|
|
950
|
+
size: "small",
|
|
951
|
+
appearance: "ghost",
|
|
952
|
+
ref: editButtonRef,
|
|
953
|
+
onClick: () => setEditing(true)
|
|
954
|
+
}
|
|
955
|
+
) }),
|
|
956
|
+
/* @__PURE__ */ jsx(Tooltip.Content, { children: title.editButtonLabel ?? "Edit title" })
|
|
957
|
+
] })
|
|
958
|
+
] }) : null
|
|
959
|
+
] }),
|
|
960
|
+
preferenceItem
|
|
961
|
+
] }),
|
|
962
|
+
chips && /* @__PURE__ */ jsx(Flex, { className: styles.chips, children: chips.map((chip, index) => /* @__PURE__ */ jsx(Chip, { ...chip }, index)) })
|
|
963
|
+
] }),
|
|
964
|
+
actions && /* @__PURE__ */ jsx(Layout.Item, { sm: 2, md: 6, children: actionItems }),
|
|
965
|
+
description && /* @__PURE__ */ jsx(Layout.Item, { md: 12, className: styles.description, children: description })
|
|
966
|
+
] }) }) });
|
|
967
|
+
}
|
|
968
|
+
);
|
|
969
|
+
PageHeader.displayName = "Page.Header";
|
|
970
|
+
|
|
971
|
+
const PageContent = forwardRef(
|
|
972
|
+
(props, ref) => {
|
|
973
|
+
const { children, className, ...rest } = props;
|
|
974
|
+
const classNames = cx([styles["content"]], className);
|
|
975
|
+
const sectionRef = useRef(null);
|
|
976
|
+
const virtualScrollRef = useRef(null);
|
|
977
|
+
const mergedRef = useMergeRefs([sectionRef, ref]);
|
|
978
|
+
const blocker = useRef(true);
|
|
979
|
+
const rafIdRef = useRef(0);
|
|
980
|
+
const [leftOffset, setLeftOffset] = useState(-9);
|
|
981
|
+
const [contentHeight, setContentHeight] = useState(0);
|
|
982
|
+
const { contentWrapper, pageWidth } = useContext(PageContext);
|
|
983
|
+
const showVirtualScroll = showsPageVirtualScroll(pageWidth);
|
|
984
|
+
useEffect(() => {
|
|
985
|
+
if (typeof window === "undefined") return;
|
|
986
|
+
if (!blocker.current) return;
|
|
987
|
+
function updatePosition() {
|
|
988
|
+
const newValue = window.scrollY;
|
|
989
|
+
virtualScrollRef.current?.scrollTo(0, newValue ?? 0);
|
|
990
|
+
}
|
|
991
|
+
window?.addEventListener("scroll", updatePosition, { passive: true });
|
|
992
|
+
return () => {
|
|
993
|
+
window?.removeEventListener("scroll", updatePosition);
|
|
994
|
+
};
|
|
995
|
+
}, []);
|
|
996
|
+
useEffect(() => {
|
|
997
|
+
const section2 = sectionRef.current;
|
|
998
|
+
if (!section2) return;
|
|
999
|
+
const wrapperParent = section2.parentElement;
|
|
1000
|
+
const isWrapped = wrapperParent?.classList.contains(styles["content-wrapper"]) ?? false;
|
|
1001
|
+
const heightTarget = isWrapped ? wrapperParent : section2;
|
|
1002
|
+
const observer = new ResizeObserver(() => {
|
|
1003
|
+
if (rafIdRef.current) return;
|
|
1004
|
+
rafIdRef.current = requestAnimationFrame(() => {
|
|
1005
|
+
rafIdRef.current = 0;
|
|
1006
|
+
if (!sectionRef.current) return;
|
|
1007
|
+
setLeftOffset(
|
|
1008
|
+
sectionRef.current.offsetLeft + sectionRef.current.offsetWidth - 9
|
|
1009
|
+
);
|
|
1010
|
+
const offset = parseFloat(
|
|
1011
|
+
getComputedStyle(sectionRef.current).getPropertyValue("--offset")
|
|
1012
|
+
) || 0;
|
|
1013
|
+
const rawHeight = document.documentElement.scrollHeight - offset;
|
|
1014
|
+
setContentHeight(
|
|
1015
|
+
Number.isFinite(rawHeight) ? Math.max(0, rawHeight) : 0
|
|
1016
|
+
);
|
|
1017
|
+
});
|
|
1018
|
+
});
|
|
1019
|
+
observer.observe(section2);
|
|
1020
|
+
if (isWrapped) observer.observe(heightTarget);
|
|
1021
|
+
return () => {
|
|
1022
|
+
observer.disconnect();
|
|
1023
|
+
if (rafIdRef.current) {
|
|
1024
|
+
cancelAnimationFrame(rafIdRef.current);
|
|
1025
|
+
rafIdRef.current = 0;
|
|
1026
|
+
}
|
|
1027
|
+
};
|
|
1028
|
+
}, [contentWrapper]);
|
|
1029
|
+
function scrollBody(e) {
|
|
1030
|
+
if (typeof window === "undefined") return;
|
|
1031
|
+
if (blocker.current) return;
|
|
1032
|
+
window.scrollTo(0, e.target.scrollTop);
|
|
1033
|
+
}
|
|
1034
|
+
const section = /* @__PURE__ */ jsxs("section", { className: classNames, ref: mergedRef, ...rest, children: [
|
|
1035
|
+
/* @__PURE__ */ jsx("div", { className: styles["content-inner"], children }),
|
|
1036
|
+
/* @__PURE__ */ jsx(
|
|
1037
|
+
"div",
|
|
1038
|
+
{
|
|
1039
|
+
className: styles["virtual-scroll-container"],
|
|
1040
|
+
ref: virtualScrollRef,
|
|
1041
|
+
style: {
|
|
1042
|
+
left: leftOffset
|
|
1043
|
+
},
|
|
1044
|
+
onScrollCapture: scrollBody,
|
|
1045
|
+
onMouseEnter: () => {
|
|
1046
|
+
blocker.current = false;
|
|
1047
|
+
},
|
|
1048
|
+
onMouseLeave: () => {
|
|
1049
|
+
blocker.current = true;
|
|
1050
|
+
},
|
|
1051
|
+
children: showVirtualScroll && /* @__PURE__ */ jsx("div", { style: { width: 1, height: contentHeight } })
|
|
1052
|
+
}
|
|
1053
|
+
)
|
|
1054
|
+
] });
|
|
1055
|
+
if (contentWrapper) {
|
|
1056
|
+
return createPortal(section, contentWrapper);
|
|
1057
|
+
}
|
|
1058
|
+
if (contentWrapper === void 0) {
|
|
1059
|
+
return section;
|
|
1060
|
+
}
|
|
1061
|
+
return null;
|
|
1062
|
+
}
|
|
1063
|
+
);
|
|
1064
|
+
PageContent.displayName = "PageContent";
|
|
1065
|
+
|
|
1066
|
+
const PagePanelInner = ({
|
|
1067
|
+
style,
|
|
1068
|
+
open,
|
|
1069
|
+
children
|
|
1070
|
+
}) => {
|
|
1071
|
+
const { index } = useDrillDownContext();
|
|
1072
|
+
const classNames = cx([styles["panel-inner"]], {
|
|
1073
|
+
[styles["drilldown-open"]]: index !== void 0
|
|
1074
|
+
});
|
|
1075
|
+
return /* @__PURE__ */ jsx(
|
|
1076
|
+
"div",
|
|
1077
|
+
{
|
|
1078
|
+
className: classNames,
|
|
1079
|
+
tabIndex: typeof open !== "undefined" && open ? 0 : -1,
|
|
1080
|
+
style: { ...style, overflowY: index === void 0 ? "auto" : "hidden" },
|
|
1081
|
+
children: /* @__PURE__ */ jsx("div", { children })
|
|
1082
|
+
}
|
|
1083
|
+
);
|
|
1084
|
+
};
|
|
1085
|
+
const PagePanel = forwardRef(
|
|
1086
|
+
(props, ref) => {
|
|
1087
|
+
const {
|
|
1088
|
+
children,
|
|
1089
|
+
open,
|
|
1090
|
+
size = "medium",
|
|
1091
|
+
noPadding,
|
|
1092
|
+
style,
|
|
1093
|
+
className,
|
|
1094
|
+
defaultDrillDownIndex,
|
|
1095
|
+
onDrillDownContextChange,
|
|
1096
|
+
...rest
|
|
1097
|
+
} = props;
|
|
1098
|
+
const [isMobile, setIsMobile] = useState(false);
|
|
1099
|
+
const classNames = cx(
|
|
1100
|
+
[styles.panel, drillDownStyles.panel],
|
|
1101
|
+
[styles[size]],
|
|
1102
|
+
className,
|
|
1103
|
+
{
|
|
1104
|
+
[styles["open"]]: typeof open === "undefined" ? true : open,
|
|
1105
|
+
[styles["persistent"]]: typeof open === "undefined",
|
|
1106
|
+
[styles["noPadding"]]: noPadding
|
|
1107
|
+
}
|
|
1108
|
+
);
|
|
1109
|
+
const drillDownContextValue = useDrillDownContextState({
|
|
1110
|
+
defaultDrillDownIndex
|
|
1111
|
+
});
|
|
1112
|
+
const drillDownContextProviderValue = useMemo(
|
|
1113
|
+
() => ({
|
|
1114
|
+
...drillDownContextValue,
|
|
1115
|
+
hostIsInteractive: open !== false
|
|
1116
|
+
}),
|
|
1117
|
+
[drillDownContextValue, open]
|
|
1118
|
+
);
|
|
1119
|
+
useLayoutEffect(() => {
|
|
1120
|
+
onDrillDownContextChange?.(drillDownContextProviderValue);
|
|
1121
|
+
}, [drillDownContextProviderValue]);
|
|
1122
|
+
const { pageWidth } = useContext(PageContext);
|
|
1123
|
+
const previousOpenRef = useRef(open);
|
|
1124
|
+
useEffect(() => {
|
|
1125
|
+
if (isMobile) {
|
|
1126
|
+
previousOpenRef.current = open;
|
|
1127
|
+
return;
|
|
1128
|
+
}
|
|
1129
|
+
if (previousOpenRef.current && open === false) {
|
|
1130
|
+
drillDownContextValue.onHostClose?.();
|
|
1131
|
+
drillDownContextValue.onHostClosed?.();
|
|
1132
|
+
}
|
|
1133
|
+
previousOpenRef.current = open;
|
|
1134
|
+
}, [open, isMobile, drillDownContextValue]);
|
|
1135
|
+
useLayoutEffect(() => {
|
|
1136
|
+
if (isMobile || !open || previousOpenRef.current) {
|
|
1137
|
+
return;
|
|
1138
|
+
}
|
|
1139
|
+
drillDownContextValue.setHostTrigger?.(
|
|
1140
|
+
document.activeElement instanceof HTMLElement ? document.activeElement : null
|
|
1141
|
+
);
|
|
1142
|
+
}, [open, isMobile, drillDownContextValue]);
|
|
1143
|
+
useLayoutEffect(() => {
|
|
1144
|
+
setIsMobile(isPageMobileWidth(pageWidth));
|
|
1145
|
+
}, [pageWidth]);
|
|
1146
|
+
if (typeof open !== "undefined" && isMobile) {
|
|
1147
|
+
return /* @__PURE__ */ jsx(
|
|
1148
|
+
Dialog,
|
|
1149
|
+
{
|
|
1150
|
+
open,
|
|
1151
|
+
defaultDrillDownIndex,
|
|
1152
|
+
onDrillDownContextChange,
|
|
1153
|
+
children: /* @__PURE__ */ jsx(Dialog.Content, { children: /* @__PURE__ */ jsx(
|
|
1154
|
+
"div",
|
|
1155
|
+
{
|
|
1156
|
+
className: classNames,
|
|
1157
|
+
"aria-hidden": !open,
|
|
1158
|
+
"aria-disabled": !open,
|
|
1159
|
+
ref,
|
|
1160
|
+
...rest,
|
|
1161
|
+
children
|
|
1162
|
+
}
|
|
1163
|
+
) })
|
|
1164
|
+
}
|
|
1165
|
+
);
|
|
1166
|
+
}
|
|
1167
|
+
return /* @__PURE__ */ jsx(DrillDownContext.Provider, { value: drillDownContextProviderValue, children: /* @__PURE__ */ jsx(
|
|
1168
|
+
"div",
|
|
1169
|
+
{
|
|
1170
|
+
className: classNames,
|
|
1171
|
+
"aria-hidden": !open,
|
|
1172
|
+
"aria-disabled": !open,
|
|
1173
|
+
ref,
|
|
1174
|
+
...rest,
|
|
1175
|
+
children: /* @__PURE__ */ jsx(PagePanelInner, { style, open, children })
|
|
1176
|
+
}
|
|
1177
|
+
) });
|
|
1178
|
+
}
|
|
1179
|
+
);
|
|
1180
|
+
PagePanel.displayName = "PagePanel";
|
|
1181
|
+
|
|
1182
|
+
const PageFooter = forwardRef(
|
|
1183
|
+
(props, ref) => {
|
|
1184
|
+
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
1185
|
+
const { children, className, style, ...rest } = componentProps;
|
|
1186
|
+
const { footerSlot } = useContext(PageContext);
|
|
1187
|
+
const classNames = cx([styles["content-footer"]], className);
|
|
1188
|
+
const styleCombined = {
|
|
1189
|
+
...style,
|
|
1190
|
+
...layoutStyles
|
|
1191
|
+
};
|
|
1192
|
+
const footer = /* @__PURE__ */ jsx("footer", { className: classNames, ref, style: styleCombined, ...rest, children });
|
|
1193
|
+
if (footerSlot) {
|
|
1194
|
+
return createPortal(footer, footerSlot);
|
|
1195
|
+
}
|
|
1196
|
+
if (footerSlot === void 0) {
|
|
1197
|
+
return footer;
|
|
1198
|
+
}
|
|
1199
|
+
return null;
|
|
1200
|
+
}
|
|
1201
|
+
);
|
|
1202
|
+
PageFooter.displayName = "PageFooter";
|
|
1203
|
+
|
|
1204
|
+
const Page = Object.assign(
|
|
1205
|
+
forwardRef(function PageInner(props, ref) {
|
|
1206
|
+
const { children, className, ...rest } = props;
|
|
1207
|
+
const classNames = cx(styles["page"], className);
|
|
1208
|
+
const elRef = useRef(null);
|
|
1209
|
+
const combinedRef = useMergeRefs([elRef, ref]);
|
|
1210
|
+
const [pageWidth, setPageWidth] = useState(0);
|
|
1211
|
+
const [contentWrapper, setContentWrapper] = useState(
|
|
1212
|
+
null
|
|
1213
|
+
);
|
|
1214
|
+
const [footerSlot, setFooterSlot] = useState(null);
|
|
1215
|
+
const contentWrapperRef = useCallback((node) => {
|
|
1216
|
+
setContentWrapper((prev) => node && node !== prev ? node : prev);
|
|
1217
|
+
}, []);
|
|
1218
|
+
const footerSlotRef = useCallback((node) => {
|
|
1219
|
+
setFooterSlot((prev) => node && node !== prev ? node : prev);
|
|
1220
|
+
}, []);
|
|
1221
|
+
useLayoutEffect(() => {
|
|
1222
|
+
const element = elRef.current;
|
|
1223
|
+
const resizeObserver = new ResizeObserver((entries) => {
|
|
1224
|
+
const entry = entries[0];
|
|
1225
|
+
if (entry) {
|
|
1226
|
+
setPageWidth(entry.contentRect.width);
|
|
1227
|
+
}
|
|
1228
|
+
});
|
|
1229
|
+
if (element) {
|
|
1230
|
+
resizeObserver.observe(element);
|
|
1231
|
+
}
|
|
1232
|
+
return () => resizeObserver.disconnect();
|
|
1233
|
+
}, [elRef]);
|
|
1234
|
+
const contextValue = useMemo(
|
|
1235
|
+
() => ({ pageWidth, contentWrapper, footerSlot }),
|
|
1236
|
+
[pageWidth, contentWrapper, footerSlot]
|
|
1237
|
+
);
|
|
1238
|
+
return /* @__PURE__ */ jsx(PageContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx("div", { className: classNames, "data-anv": "Page", ref: combinedRef, ...rest, children: /* @__PURE__ */ jsxs("div", { className: styles["container"], children: [
|
|
1239
|
+
children,
|
|
1240
|
+
/* @__PURE__ */ jsx(
|
|
1241
|
+
"main",
|
|
1242
|
+
{
|
|
1243
|
+
className: styles["content-wrapper"],
|
|
1244
|
+
ref: contentWrapperRef
|
|
1245
|
+
}
|
|
1246
|
+
),
|
|
1247
|
+
/* @__PURE__ */ jsx("div", { className: styles["footer-slot"], ref: footerSlotRef })
|
|
1248
|
+
] }) }) });
|
|
1249
|
+
}),
|
|
1250
|
+
{
|
|
1251
|
+
/**
|
|
1252
|
+
* PageSidebar component for creating collapsible navigation sidebars.
|
|
1253
|
+
*
|
|
1254
|
+
* Features:
|
|
1255
|
+
* - Collapsible sidebar with localStorage persistence
|
|
1256
|
+
* - Responsive design with adaptive popover on mobile
|
|
1257
|
+
* - Automatic tracking ID generation for analytics
|
|
1258
|
+
* - Keyboard navigation and accessibility support
|
|
1259
|
+
* - Toggle button with tooltip
|
|
1260
|
+
* - Context provider for sidebar state
|
|
1261
|
+
* - Mobile-friendly popover navigation
|
|
1262
|
+
*
|
|
1263
|
+
* @example
|
|
1264
|
+
* <Page.Sidebar currentPageTitle="Navigation">
|
|
1265
|
+
* <Page.SidebarHeader>
|
|
1266
|
+
* <Text variant="headline" el="h2">Sidebar Title</Text>
|
|
1267
|
+
* </Page.SidebarHeader>
|
|
1268
|
+
* <SideNav>
|
|
1269
|
+
* <SideNavLink pathname="/">Home</SideNavLink>
|
|
1270
|
+
* </SideNav>
|
|
1271
|
+
* </Page.Sidebar>
|
|
1272
|
+
*/
|
|
1273
|
+
Sidebar: PageSidebar,
|
|
1274
|
+
/**
|
|
1275
|
+
* PageSidebarHeader component for creating header sections within sidebars.
|
|
1276
|
+
*
|
|
1277
|
+
* Features:
|
|
1278
|
+
* - Container for sidebar header content
|
|
1279
|
+
* - Automatic visibility handling based on sidebar collapsed state
|
|
1280
|
+
* - Supports all standard div props
|
|
1281
|
+
* - Context-aware styling
|
|
1282
|
+
*
|
|
1283
|
+
* @example
|
|
1284
|
+
* <Page.SidebarHeader>
|
|
1285
|
+
* <Text variant="headline" el="h2" size="medium">
|
|
1286
|
+
* Sidebar Title
|
|
1287
|
+
* </Text>
|
|
1288
|
+
* </Page.SidebarHeader>
|
|
1289
|
+
*/
|
|
1290
|
+
SidebarHeader: PageSidebarHeader,
|
|
1291
|
+
/**
|
|
1292
|
+
* PageHeader component for creating page headers with navigation and actions.
|
|
1293
|
+
*
|
|
1294
|
+
* Features:
|
|
1295
|
+
* - Page title with semantic heading
|
|
1296
|
+
* - Breadcrumb navigation support
|
|
1297
|
+
* - Status chips display
|
|
1298
|
+
* - Primary and secondary action buttons
|
|
1299
|
+
* - Preference action button/link
|
|
1300
|
+
* - Responsive layout with fluid grid
|
|
1301
|
+
* - Accessibility support with proper ARIA labels
|
|
1302
|
+
* - Flexible layout configuration
|
|
1303
|
+
* - Description content support
|
|
1304
|
+
*
|
|
1305
|
+
* @example
|
|
1306
|
+
* <Page.Header
|
|
1307
|
+
* title="Page Title"
|
|
1308
|
+
* breadcrumbs={[
|
|
1309
|
+
* { href: "/", children: "Home" },
|
|
1310
|
+
* { children: "Current Page" }
|
|
1311
|
+
* ]}
|
|
1312
|
+
* chips={[{ label: "Status" }]}
|
|
1313
|
+
* actions={{
|
|
1314
|
+
* primary: { label: "Save", onClick: handleSave },
|
|
1315
|
+
* secondary: [{ label: "Cancel", onClick: handleCancel }]
|
|
1316
|
+
* }}
|
|
1317
|
+
* />
|
|
1318
|
+
*/
|
|
1319
|
+
Header: PageHeader,
|
|
1320
|
+
/**
|
|
1321
|
+
* PageContent component for the main content area of a page.
|
|
1322
|
+
*
|
|
1323
|
+
* Features:
|
|
1324
|
+
* - Renders as a section element inside Page's main landmark
|
|
1325
|
+
* - Virtual scrolling support for long content
|
|
1326
|
+
* - Automatic scroll synchronization
|
|
1327
|
+
* - Responsive design
|
|
1328
|
+
* - Portals into Page's content wrapper via context
|
|
1329
|
+
* - Scroll position management
|
|
1330
|
+
*
|
|
1331
|
+
* @example
|
|
1332
|
+
* <Page.Content>
|
|
1333
|
+
* <Text>Main page content goes here</Text>
|
|
1334
|
+
* <Button>Action Button</Button>
|
|
1335
|
+
* </Page.Content>
|
|
1336
|
+
*/
|
|
1337
|
+
Content: PageContent,
|
|
1338
|
+
/**
|
|
1339
|
+
* PagePanel component for creating slide-out panels or dialogs.
|
|
1340
|
+
*
|
|
1341
|
+
* Features:
|
|
1342
|
+
* - Responsive design with dialog fallback on mobile
|
|
1343
|
+
* - Multiple size variants (small, medium, large)
|
|
1344
|
+
* - Optional padding control
|
|
1345
|
+
* - Persistent or controlled open state
|
|
1346
|
+
* - Automatic mobile dialog conversion
|
|
1347
|
+
* - Keyboard navigation and accessibility support
|
|
1348
|
+
* - Smooth animations and transitions
|
|
1349
|
+
*
|
|
1350
|
+
* @example
|
|
1351
|
+
* <Page.Panel open={isOpen} size="medium">
|
|
1352
|
+
* <Text variant="headline" el="h3">Panel Content</Text>
|
|
1353
|
+
* <Button onClick={() => setIsOpen(false)}>Close</Button>
|
|
1354
|
+
* </Page.Panel>
|
|
1355
|
+
*/
|
|
1356
|
+
Panel: PagePanel,
|
|
1357
|
+
/**
|
|
1358
|
+
* PageFooter component for creating page footers with layout utilities.
|
|
1359
|
+
*
|
|
1360
|
+
* Features:
|
|
1361
|
+
* - Semantic footer element
|
|
1362
|
+
* - Layout utility props support
|
|
1363
|
+
* - Responsive design
|
|
1364
|
+
* - Accessibility support with proper footer landmark
|
|
1365
|
+
* - Flexible content positioning
|
|
1366
|
+
*
|
|
1367
|
+
* @example
|
|
1368
|
+
* <Page.Footer>
|
|
1369
|
+
* <Text>Footer content with layout utilities</Text>
|
|
1370
|
+
* </Page.Footer>
|
|
1371
|
+
*/
|
|
1372
|
+
Footer: PageFooter
|
|
1373
|
+
}
|
|
1374
|
+
);
|
|
1375
|
+
Page.displayName = "Page";
|
|
1376
|
+
|
|
1377
|
+
export { Breadcrumbs, Button, ButtonLink, Chip, Dialog, Flex, IANA_TIMEZONES, Icon, Layout, Menu, Page, Text, TextField, Tooltip, useMergeRefs, useTrackingId };
|
|
520
1378
|
//# sourceMappingURL=index.js.map
|