@elementor/editor-app-bar 0.8.0 → 0.9.0
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 +11 -0
- package/dist/index.js +25 -25
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +32 -32
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
- package/src/extensions/documents-indicator/components/__tests__/settings-button.test.tsx +5 -5
- package/src/extensions/documents-indicator/components/settings-button.tsx +4 -4
- package/src/extensions/documents-preview/hooks/__tests__/use-document-preview-props.test.ts +5 -5
- package/src/extensions/documents-preview/hooks/use-action-props.ts +3 -3
- package/src/extensions/documents-save/components/__tests__/primary-action.test.tsx +14 -14
- package/src/extensions/documents-save/components/primary-action.tsx +4 -4
- package/src/extensions/documents-save/hooks/__tests__/use-document-save-draft-props.test.ts +4 -4
- package/src/extensions/documents-save/hooks/__tests__/use-document-save-template-props.test.ts +2 -2
- package/src/extensions/documents-save/hooks/use-document-save-draft-props.ts +3 -3
- package/src/extensions/documents-save/hooks/use-document-save-template-props.ts +2 -2
- package/src/extensions/elements/hooks/__tests__/use-action-props.test.ts +3 -3
- package/src/extensions/elements/hooks/use-action-props.ts +1 -1
- package/src/extensions/elements/sync/__tests__/sync-panel-title.test.ts +2 -2
- package/src/extensions/elements/sync/sync-panel-title.ts +1 -1
- package/src/extensions/finder/hooks/__tests__/use-action-props.test.ts +3 -3
- package/src/extensions/finder/hooks/use-action-props.ts +1 -1
- package/src/extensions/history/hooks/__tests__/use-action-props.test.ts +3 -3
- package/src/extensions/history/hooks/use-action-props.ts +1 -1
- package/src/extensions/keyboard-shortcuts/hooks/__tests__/use-action-props.test.ts +2 -2
- package/src/extensions/keyboard-shortcuts/hooks/use-action-props.ts +1 -1
- package/src/extensions/site-settings/components/__tests__/portalled-primary-action.test.tsx +5 -5
- package/src/extensions/site-settings/components/__tests__/primary-action.test.tsx +7 -7
- package/src/extensions/site-settings/components/portal.tsx +1 -1
- package/src/extensions/site-settings/components/primary-action.tsx +3 -3
- package/src/extensions/site-settings/hooks/__tests__/use-action-props.test.ts +3 -3
- package/src/extensions/site-settings/hooks/use-action-props.ts +1 -1
- package/src/extensions/structure/hooks/__tests__/use-action-props.test.ts +3 -3
- package/src/extensions/structure/hooks/use-action-props.ts +1 -1
- package/src/extensions/theme-builder/hooks/__tests__/use-action-props.test.ts +2 -2
- package/src/extensions/theme-builder/hooks/use-action-props.ts +1 -1
- package/src/extensions/user-preferences/hooks/__tests__/use-action-props.test.ts +3 -3
- package/src/extensions/user-preferences/hooks/use-action-props.ts +1 -1
- package/src/extensions/wordpress/index.ts +2 -2
- package/src/sync/__tests__/redirect-old-menus.test.ts +2 -2
- package/src/sync/redirect-old-menus.ts +1 -1
package/dist/index.mjs
CHANGED
|
@@ -527,7 +527,7 @@ function AppBar() {
|
|
|
527
527
|
import { injectIntoTop as injectIntoTop2 } from "@elementor/editor";
|
|
528
528
|
|
|
529
529
|
// src/sync/redirect-old-menus.ts
|
|
530
|
-
import { listenTo, openRoute, routeOpenEvent } from "@elementor/editor-v1-adapters";
|
|
530
|
+
import { __privateListenTo as listenTo, __privateOpenRoute as openRoute, routeOpenEvent } from "@elementor/editor-v1-adapters";
|
|
531
531
|
function redirectOldMenus() {
|
|
532
532
|
listenTo(routeOpenEvent("panel/menu"), () => {
|
|
533
533
|
openRoute("panel/elements/categories");
|
|
@@ -538,12 +538,12 @@ function redirectOldMenus() {
|
|
|
538
538
|
import * as React22 from "react";
|
|
539
539
|
import { Box as Box4, ToggleButton as ToggleButton3, Tooltip as BaseTooltip2 } from "@elementor/ui";
|
|
540
540
|
import { __ as __4 } from "@wordpress/i18n";
|
|
541
|
-
import {
|
|
541
|
+
import { __privateOpenRoute as openRoute2, __privateUseRouteStatus as useRouteStatus } from "@elementor/editor-v1-adapters";
|
|
542
542
|
import { SettingsIcon } from "@elementor/icons";
|
|
543
|
-
import { __useActiveDocument, __useHostDocument } from "@elementor/editor-documents";
|
|
543
|
+
import { __useActiveDocument as useActiveDocument, __useHostDocument as useHostDocument } from "@elementor/editor-documents";
|
|
544
544
|
function SettingsButton() {
|
|
545
|
-
const activeDocument =
|
|
546
|
-
const hostDocument =
|
|
545
|
+
const activeDocument = useActiveDocument();
|
|
546
|
+
const hostDocument = useHostDocument();
|
|
547
547
|
const document2 = activeDocument && activeDocument.type.value !== "kit" ? activeDocument : hostDocument;
|
|
548
548
|
const { isActive, isBlocked } = useRouteStatus("panel/page-settings");
|
|
549
549
|
if (!document2) {
|
|
@@ -602,10 +602,10 @@ function init() {
|
|
|
602
602
|
// src/extensions/documents-preview/hooks/use-action-props.ts
|
|
603
603
|
import { __ as __5 } from "@wordpress/i18n";
|
|
604
604
|
import { EyeIcon } from "@elementor/icons";
|
|
605
|
-
import { runCommand } from "@elementor/editor-v1-adapters";
|
|
606
|
-
import { __useActiveDocument as
|
|
605
|
+
import { __privateRunCommand as runCommand } from "@elementor/editor-v1-adapters";
|
|
606
|
+
import { __useActiveDocument as useActiveDocument2 } from "@elementor/editor-documents";
|
|
607
607
|
function useActionProps() {
|
|
608
|
-
const document2 =
|
|
608
|
+
const document2 = useActiveDocument2();
|
|
609
609
|
return {
|
|
610
610
|
icon: EyeIcon,
|
|
611
611
|
title: __5("Preview Changes", "elementor"),
|
|
@@ -629,10 +629,10 @@ function init2() {
|
|
|
629
629
|
// src/extensions/documents-save/hooks/use-document-save-draft-props.ts
|
|
630
630
|
import { __ as __6 } from "@wordpress/i18n";
|
|
631
631
|
import { FileReportIcon } from "@elementor/icons";
|
|
632
|
-
import { __useActiveDocument as
|
|
632
|
+
import { __useActiveDocument as useActiveDocument3, __useActiveDocumentActions as useActiveDocumentActions } from "@elementor/editor-documents";
|
|
633
633
|
function useDocumentSaveDraftProps() {
|
|
634
|
-
const document2 =
|
|
635
|
-
const { saveDraft } =
|
|
634
|
+
const document2 = useActiveDocument3();
|
|
635
|
+
const { saveDraft } = useActiveDocumentActions();
|
|
636
636
|
return {
|
|
637
637
|
icon: FileReportIcon,
|
|
638
638
|
title: __6("Save Draft", "elementor"),
|
|
@@ -644,9 +644,9 @@ function useDocumentSaveDraftProps() {
|
|
|
644
644
|
// src/extensions/documents-save/hooks/use-document-save-template-props.ts
|
|
645
645
|
import { __ as __7 } from "@wordpress/i18n";
|
|
646
646
|
import { FolderIcon } from "@elementor/icons";
|
|
647
|
-
import { __useActiveDocumentActions as
|
|
647
|
+
import { __useActiveDocumentActions as useActiveDocumentActions2 } from "@elementor/editor-documents";
|
|
648
648
|
function useDocumentSaveTemplateProps() {
|
|
649
|
-
const { saveTemplate } =
|
|
649
|
+
const { saveTemplate } = useActiveDocumentActions2();
|
|
650
650
|
return {
|
|
651
651
|
icon: FolderIcon,
|
|
652
652
|
title: __7("Save as Template", "elementor"),
|
|
@@ -710,12 +710,12 @@ import {
|
|
|
710
710
|
Tooltip as Tooltip4,
|
|
711
711
|
usePopupState as usePopupState4
|
|
712
712
|
} from "@elementor/ui";
|
|
713
|
-
import { __useActiveDocument as
|
|
713
|
+
import { __useActiveDocument as useActiveDocument4, __useActiveDocumentActions as useActiveDocumentActions3 } from "@elementor/editor-documents";
|
|
714
714
|
import { ChevronDownIcon } from "@elementor/icons";
|
|
715
|
-
import { useIsPreviewMode } from "@elementor/editor-v1-adapters";
|
|
715
|
+
import { __privateUseIsPreviewMode as useIsPreviewMode } from "@elementor/editor-v1-adapters";
|
|
716
716
|
function PrimaryAction() {
|
|
717
|
-
const document2 =
|
|
718
|
-
const { save } =
|
|
717
|
+
const document2 = useActiveDocument4();
|
|
718
|
+
const { save } = useActiveDocumentActions3();
|
|
719
719
|
const isPreviewMode = useIsPreviewMode();
|
|
720
720
|
const popupState = usePopupState4({
|
|
721
721
|
variant: "popover",
|
|
@@ -802,7 +802,7 @@ function init3() {
|
|
|
802
802
|
|
|
803
803
|
// src/extensions/elements/sync/sync-panel-title.ts
|
|
804
804
|
import { __ as __9 } from "@wordpress/i18n";
|
|
805
|
-
import { isRouteActive,
|
|
805
|
+
import { __privateIsRouteActive as isRouteActive, __privateListenTo as listenTo2, routeOpenEvent as routeOpenEvent2, v1ReadyEvent } from "@elementor/editor-v1-adapters";
|
|
806
806
|
function syncPanelTitle() {
|
|
807
807
|
const panelTitle = __9("Elements", "elementor");
|
|
808
808
|
const tabTitle = __9("Widgets", "elementor");
|
|
@@ -836,7 +836,7 @@ function setTabTitle(title) {
|
|
|
836
836
|
// src/extensions/elements/hooks/use-action-props.ts
|
|
837
837
|
import { PlusIcon } from "@elementor/icons";
|
|
838
838
|
import { __ as __10 } from "@wordpress/i18n";
|
|
839
|
-
import {
|
|
839
|
+
import { __privateOpenRoute as openRoute3, __privateUseRouteStatus as useRouteStatus2 } from "@elementor/editor-v1-adapters";
|
|
840
840
|
function useActionProps2() {
|
|
841
841
|
const { isActive, isBlocked } = useRouteStatus2("panel/elements");
|
|
842
842
|
return {
|
|
@@ -861,7 +861,7 @@ function init4() {
|
|
|
861
861
|
// src/extensions/finder/hooks/use-action-props.ts
|
|
862
862
|
import { __ as __11 } from "@wordpress/i18n";
|
|
863
863
|
import { SearchIcon } from "@elementor/icons";
|
|
864
|
-
import {
|
|
864
|
+
import { __privateRunCommand as runCommand2, __privateUseRouteStatus as useRouteStatus3 } from "@elementor/editor-v1-adapters";
|
|
865
865
|
function useActionProps3() {
|
|
866
866
|
const { isBlocked } = useRouteStatus3("finder", {
|
|
867
867
|
blockOnKitRoutes: false,
|
|
@@ -907,7 +907,7 @@ function init6() {
|
|
|
907
907
|
// src/extensions/history/hooks/use-action-props.ts
|
|
908
908
|
import { HistoryIcon } from "@elementor/icons";
|
|
909
909
|
import { __ as __13 } from "@wordpress/i18n";
|
|
910
|
-
import {
|
|
910
|
+
import { __privateOpenRoute as openRoute4, __privateUseRouteStatus as useRouteStatus4 } from "@elementor/editor-v1-adapters";
|
|
911
911
|
function useActionProps4() {
|
|
912
912
|
const { isActive, isBlocked } = useRouteStatus4("panel/history");
|
|
913
913
|
return {
|
|
@@ -931,7 +931,7 @@ function init7() {
|
|
|
931
931
|
// src/extensions/keyboard-shortcuts/hooks/use-action-props.ts
|
|
932
932
|
import { __ as __14 } from "@wordpress/i18n";
|
|
933
933
|
import { KeyboardIcon } from "@elementor/icons";
|
|
934
|
-
import {
|
|
934
|
+
import { __privateRunCommand as runCommand3 } from "@elementor/editor-v1-adapters";
|
|
935
935
|
function useActionProps5() {
|
|
936
936
|
return {
|
|
937
937
|
icon: KeyboardIcon,
|
|
@@ -960,7 +960,7 @@ import * as React27 from "react";
|
|
|
960
960
|
// src/extensions/site-settings/components/portal.tsx
|
|
961
961
|
import * as React25 from "react";
|
|
962
962
|
import { Portal as BasePortal } from "@elementor/ui";
|
|
963
|
-
import {
|
|
963
|
+
import { __privateIsRouteActive as isRouteActive2, routeCloseEvent, routeOpenEvent as routeOpenEvent3, __privateUseListenTo as useListenTo } from "@elementor/editor-v1-adapters";
|
|
964
964
|
function Portal(props) {
|
|
965
965
|
const containerRef = useListenTo(
|
|
966
966
|
[
|
|
@@ -980,12 +980,12 @@ function getContainerRef() {
|
|
|
980
980
|
|
|
981
981
|
// src/extensions/site-settings/components/primary-action.tsx
|
|
982
982
|
import * as React26 from "react";
|
|
983
|
-
import { __useActiveDocument as
|
|
983
|
+
import { __useActiveDocument as useActiveDocument5, __useActiveDocumentActions as useActiveDocumentActions4 } from "@elementor/editor-documents";
|
|
984
984
|
import { Button as Button2, CircularProgress as CircularProgress2, Paper } from "@elementor/ui";
|
|
985
985
|
import { __ as __15 } from "@wordpress/i18n";
|
|
986
986
|
function PrimaryAction2() {
|
|
987
|
-
const document2 =
|
|
988
|
-
const { save } =
|
|
987
|
+
const document2 = useActiveDocument5();
|
|
988
|
+
const { save } = useActiveDocumentActions4();
|
|
989
989
|
return /* @__PURE__ */ React26.createElement(Paper, { sx: {
|
|
990
990
|
px: 5,
|
|
991
991
|
py: 4,
|
|
@@ -1011,7 +1011,7 @@ function PortalledPrimaryAction() {
|
|
|
1011
1011
|
|
|
1012
1012
|
// src/extensions/site-settings/hooks/use-action-props.ts
|
|
1013
1013
|
import { __ as __16 } from "@wordpress/i18n";
|
|
1014
|
-
import {
|
|
1014
|
+
import { __privateRunCommand as runCommand4, __privateUseRouteStatus as useRouteStatus5 } from "@elementor/editor-v1-adapters";
|
|
1015
1015
|
import { AdjustmentsHorizontalIcon } from "@elementor/icons";
|
|
1016
1016
|
function useActionProps6() {
|
|
1017
1017
|
const { isActive, isBlocked } = useRouteStatus5("panel/global", {
|
|
@@ -1041,7 +1041,7 @@ function init9() {
|
|
|
1041
1041
|
|
|
1042
1042
|
// src/extensions/structure/hooks/use-action-props.ts
|
|
1043
1043
|
import { __ as __17 } from "@wordpress/i18n";
|
|
1044
|
-
import {
|
|
1044
|
+
import { __privateRunCommand as runCommand5, __privateUseRouteStatus as useRouteStatus6 } from "@elementor/editor-v1-adapters";
|
|
1045
1045
|
import { StructureIcon } from "@elementor/icons";
|
|
1046
1046
|
function useActionProps7() {
|
|
1047
1047
|
const { isActive, isBlocked } = useRouteStatus6("navigator");
|
|
@@ -1066,7 +1066,7 @@ function init10() {
|
|
|
1066
1066
|
// src/extensions/theme-builder/hooks/use-action-props.ts
|
|
1067
1067
|
import { __ as __18 } from "@wordpress/i18n";
|
|
1068
1068
|
import { ThemeBuilderIcon } from "@elementor/icons";
|
|
1069
|
-
import {
|
|
1069
|
+
import { __privateRunCommand as runCommand6 } from "@elementor/editor-v1-adapters";
|
|
1070
1070
|
function useActionProps8() {
|
|
1071
1071
|
return {
|
|
1072
1072
|
icon: ThemeBuilderIcon,
|
|
@@ -1086,7 +1086,7 @@ function init11() {
|
|
|
1086
1086
|
// src/extensions/user-preferences/hooks/use-action-props.ts
|
|
1087
1087
|
import { __ as __19 } from "@wordpress/i18n";
|
|
1088
1088
|
import { ToggleRightIcon } from "@elementor/icons";
|
|
1089
|
-
import {
|
|
1089
|
+
import { __privateOpenRoute as openRoute5, __privateUseRouteStatus as useRouteStatus7 } from "@elementor/editor-v1-adapters";
|
|
1090
1090
|
function useActionProps9() {
|
|
1091
1091
|
const { isActive, isBlocked } = useRouteStatus7("panel/editor-preferences");
|
|
1092
1092
|
return {
|
|
@@ -1111,13 +1111,13 @@ function init12() {
|
|
|
1111
1111
|
// src/extensions/wordpress/index.ts
|
|
1112
1112
|
import { __ as __20 } from "@wordpress/i18n";
|
|
1113
1113
|
import { WordpressIcon } from "@elementor/icons";
|
|
1114
|
-
import { __useActiveDocument as
|
|
1114
|
+
import { __useActiveDocument as useActiveDocument6 } from "@elementor/editor-documents";
|
|
1115
1115
|
function init13() {
|
|
1116
1116
|
mainMenu.registerLink({
|
|
1117
1117
|
id: "exit-to-wordpress",
|
|
1118
1118
|
group: "exits",
|
|
1119
1119
|
useProps: () => {
|
|
1120
|
-
const document2 =
|
|
1120
|
+
const document2 = useActiveDocument6();
|
|
1121
1121
|
return {
|
|
1122
1122
|
title: __20("Exit to WordPress", "elementor"),
|
|
1123
1123
|
href: document2?.links?.platformEdit,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/locations/menus.tsx","../src/components/actions/action.tsx","../src/contexts/menu-context.tsx","../src/components/ui/toolbar-menu-item.tsx","../src/components/ui/popover-menu-item.tsx","../src/components/actions/toggle-action.tsx","../src/components/ui/toolbar-menu-toggle-item.tsx","../src/components/actions/link.tsx","../src/locations/index.ts","../src/components/app-bar.tsx","../src/components/locations/main-menu-location.tsx","../src/components/ui/popover-menu.tsx","../src/components/ui/toolbar-logo.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/ui/popover-sub-menu.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/utilities-menu-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/page-indication-location.tsx","../src/components/locations/responsive-location.tsx","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-preview/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/index.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts","../src/index.ts"],"sourcesContent":["import * as React from 'react';\nimport { ComponentPropsWithoutRef, ElementType, useMemo } from 'react';\nimport { createLocation, Location } from '@elementor/locations';\nimport Action from '../components/actions/action';\nimport ToggleAction from '../components/actions/toggle-action';\nimport Link from '../components/actions/link';\n\ntype GroupName = string;\n\ntype MenuGroup<TGroup extends GroupName> = TGroup | 'default';\n\ntype GroupedItems<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Array<{ id: string, MenuItem: ElementType }>>;\n\ntype GroupLocationMap<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Location>;\n\ntype MenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n> = {\n\tid: string,\n\tgroup?: TGroup,\n\tpriority?: number,\n\toverwrite?: boolean,\n} & (\n\t{ props: ComponentPropsWithoutRef<TComponent>, useProps?: never } |\n\t{ useProps: () => ComponentPropsWithoutRef<TComponent>, props?: never }\n)\n\ntype MenuActions<TGroup extends GroupName> = {\n\tregisterAction: ( args: MenuItem<TGroup, typeof Action> ) => void,\n\tregisterToggleAction: ( args: MenuItem<TGroup, typeof ToggleAction> ) => void,\n\tregisterLink: ( args: MenuItem<TGroup, typeof Link> ) => void,\n\tuseMenuItems: () => GroupedItems<TGroup>,\n}\n\nexport function createMenu<\n\tTGroup extends GroupName = 'default'\n>( groups: TGroup[] = [] ): MenuActions<MenuGroup<TGroup>> {\n\tconst menuGroups: MenuGroup<TGroup>[] = [\n\t\t...groups,\n\t\t'default' as const,\n\t];\n\n\tconst locations = menuGroups.reduce(\n\t\t( carry, group ) => ( {\n\t\t\t...carry,\n\t\t\t[ group ]: createLocation(),\n\t\t} ),\n\t\t{} as GroupLocationMap<TGroup>\n\t);\n\n\tconst [\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t] = [ Action, ToggleAction, Link ].map(\n\t\t( Component ) => createRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: Component,\n\t\t} )\n\t);\n\n\tconst useMenuItems = createUseMenuItems( locations );\n\n\treturn {\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t\tuseMenuItems,\n\t};\n}\n\nfunction createRegisterMenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n>( { locations, menuGroups, component }: {\n\tlocations: GroupLocationMap<TGroup>\n\tmenuGroups: MenuGroup<TGroup>[],\n\tcomponent: TComponent,\n} ) {\n\treturn ( { group = 'default', id, overwrite, priority, ...args }: MenuItem<MenuGroup<TGroup>, TComponent> ) => {\n\t\tif ( ! menuGroups.includes( group ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst useProps = 'props' in args ? () => args.props : args.useProps;\n\n\t\tconst Component = component as ElementType;\n\n\t\tconst InjectedComponent = ( props: object ) => {\n\t\t\tconst componentProps = useProps();\n\n\t\t\treturn <Component { ...props } { ...componentProps } />;\n\t\t};\n\n\t\tlocations[ group ].inject( {\n\t\t\tid,\n\t\t\tcomponent: InjectedComponent,\n\t\t\toptions: {\n\t\t\t\tpriority,\n\t\t\t\toverwrite,\n\t\t\t},\n\t\t} );\n\t};\n}\n\nfunction createUseMenuItems<TGroup extends GroupName>( locations : GroupLocationMap<TGroup> ) {\n\treturn () => {\n\t\t// Normalize the injections groups to an object with the groups as keys.\n\t\treturn useMemo( () => {\n\t\t\treturn Object.entries( locations ).reduce<GroupedItems<TGroup>>(\n\t\t\t\t( carry, [ groupName, location ] ) => {\n\t\t\t\t\tconst items = location.getInjections()\n\t\t\t\t\t\t.map( ( injection ) => ( {\n\t\t\t\t\t\t\tid: injection.id,\n\t\t\t\t\t\t\tMenuItem: injection.component,\n\t\t\t\t\t\t} ) );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...carry,\n\t\t\t\t\t\t[ groupName ]: items,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{} as GroupedItems<TGroup>\n\t\t\t);\n\t\t}, [] );\n\t};\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { createContext, PropsWithChildren, useContext } from 'react';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n}\n\nconst MenuContext = createContext<MenuContextValue>( { type: 'toolbar' } );\n\nexport function MenuContextProvider( { type, children }: PropsWithChildren<MenuContextValue> ) {\n\treturn (\n\t\t<MenuContext.Provider value={ { type } }>\n\t\t\t{ children }\n\t\t</MenuContext.Provider>\n\t);\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { Box, IconButton, IconButtonProps, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\n\nexport type ToolbarMenuItemProps = IconButtonProps & {\n\ttitle?: string;\n\tselected?: boolean;\n}\n\nexport default function ToolbarMenuItem( { title, ...props }: ToolbarMenuItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<IconButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\t'& .MuiSvgIcon-root': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\tcolor: 'text.primary',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn <BaseTooltip\n\t\tPopperProps={ {\n\t\t\tsx: {\n\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\tmt: 2,\n\t\t\t\t},\n\t\t\t},\n\t\t} }\n\t\t{ ...props }\n\t/>;\n}\n","import * as React from 'react';\nimport {\n\tMenuItem,\n\tMenuItemProps,\n\tListItemText,\n\tListItemIcon,\n\twithDirection,\n} from '@elementor/ui';\nimport { ArrowUpRightIcon } from '@elementor/icons';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n}\n\nexport type PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\n\nexport default function PopoverMenuItem( { text, icon, onClick, href, target, disabled, ...props }: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank';\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t\tsx={ {\n\t\t\t\t'&:hover': {\n\t\t\t\t\tcolor: 'text.primary', // Overriding global CSS from the editor.\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, ToggleButtonProps, Tooltip } from '@elementor/ui';\n\nexport type ToolbarMenuToggleItemProps = Omit<ToggleButtonProps, 'onChange'> & {\n\ttitle?: string;\n\tonClick?: () => void;\n}\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonChange={ onClick }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'& .MuiSvgIcon-root': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n}\n\nexport default function Link( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import { createMenu } from './menus';\nimport { createLocation } from '@elementor/locations';\n\nexport { createMenu } from './menus';\n\nexport const {\n\tinject: injectIntoPageIndication,\n\tSlot: PageIndicationSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoResponsive,\n\tSlot: ResponsiveSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoPrimaryAction,\n\tSlot: PrimaryActionSlot,\n} = createLocation();\n\nexport const mainMenu = createMenu( [ 'exits' ] );\n\nexport const toolsMenu = createMenu();\n\nexport const utilitiesMenu = createMenu();\n\nexport const integrationsMenu = createMenu();\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import * as React from 'react';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider } from '@elementor/ui';\nimport MainMenuLocation from './locations/main-menu-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ToolbarMenu from './ui/toolbar-menu';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport ResponsiveLocation from './locations/responsive-location';\n\nexport default function AppBar() {\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\">\n\t\t\t\t\t<Grid container>\n\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t<ToolsMenuLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t<ToolbarMenu spacing={ 1.5 }>\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"flex-end\">\n\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t</Box>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { usePopupState, bindMenu, bindTrigger, Stack, Divider } from '@elementor/ui';\nimport { mainMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo\n\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\tselected={ popupState.isOpen }\n\t\t\t/>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\n\t\t\t\t<IntegrationsMenuLocation key=\"integrations-location\" parentPopupState={ popupState } />\n\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, MenuProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps;\n\nexport default function PopoverMenu( { children, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 1.5 },\n\t\t\t\t} }\n\t\t\t\t{ ...props }\n\t\t\t\tMenuListProps={ {\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tdense: true,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { ToggleButton, ToggleButtonProps, SvgIconProps, SvgIcon, styled } from '@elementor/ui';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit<ToggleButtonProps, 'value'>;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpadding: 0,\n\tborder: 0,\n\tcolor: theme.palette.text.primary,\n\t'&.MuiToggleButton-root:hover': {\n\t\tbackgroundColor: 'initial',\n\t},\n\t'&.MuiToggleButton-root.Mui-selected': {\n\t\tbackgroundColor: 'initial',\n\t},\n} ) );\n\nconst StyledElementorLogo = styled( ElementorLogo, {\n\tshouldForwardProp: ( prop ) => prop !== 'showMenuIcon',\n} )<StyledElementorLogoProps>( ( { theme, showMenuIcon } ) => ( {\n\t'& path': {\n\t\tfill: theme.palette.background.default,\n\t\ttransition: 'all 0.2s linear',\n\t\ttransformOrigin: 'bottom left',\n\t\t'&:first-of-type': {\n\t\t\ttransitionDelay: ! showMenuIcon && '0.2s',\n\t\t\ttransform: showMenuIcon && 'translateY(-9px) scaleY(0)',\n\t\t},\n\t\t'&:not(:first-of-type)': {\n\t\t\t// Emotion automatically change 4 to -4 in RTL moode.\n\t\t\ttransform: ! showMenuIcon && `translateX(${ theme.direction === 'rtl' ? '4' : '9' }px) scaleX(0.6)`,\n\t\t},\n\t\t'&:nth-of-type(2)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0' : '0.2s',\n\t\t},\n\t\t'&:nth-of-type(3)': {\n\t\t\ttransitionDelay: '0.1s',\n\t\t},\n\t\t'&:nth-of-type(4)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0.2s' : '0',\n\t\t},\n\t},\n} ) );\n\nexport default function ToolbarLogo( props: ToolbarLogoProps ) {\n\tconst [ isHoverState, setIsHoverState ] = useState( false );\n\tconst showMenuIcon = props.selected || isHoverState;\n\n\treturn (\n\t\t<StyledToggleButton\n\t\t\t{ ...props }\n\t\t\tvalue=\"selected\"\n\t\t\tsize=\"large\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo\n\t\t\t\tfontSize=\"large\"\n\t\t\t\tshowMenuIcon={ showMenuIcon }\n\t\t\t\ttitleAccess={ __( 'Elementor Logo', 'elementor' ) }\n\t\t\t/>\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\nimport { integrationsMenu } from '../../locations';\nimport {\n\tbindMenu,\n\tDivider,\n\tListItemIcon,\n\tListItemText,\n\tMenuItem,\n\tusePopupState,\n\tbindHover,\n\tbindFocus,\n\twithDirection,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { ChevronRightIcon, PlugIcon } from '@elementor/icons';\nimport PopoverSubMenu from '../ui/popover-sub-menu';\n\ntype Props = {\n\tparentPopupState: ReturnType<typeof usePopupState>;\n}\n\nconst { useMenuItems } = integrationsMenu;\n\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function IntegrationsMenuLocation( { parentPopupState }: Props ) {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tparentPopupState,\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Divider />\n\t\t\t<MenuItem\n\t\t\t\t{ ...bindHover( popupState ) }\n\t\t\t\t{ ...bindFocus( popupState ) }\n\t\t\t>\n\t\t\t\t<ListItemIcon>\n\t\t\t\t\t<PlugIcon />\n\t\t\t\t</ListItemIcon>\n\t\t\t\t<ListItemText primary={ __( 'Integrations', 'elementor' ) } />\n\t\t\t\t<DirectionalChevronIcon />\n\t\t\t\t<PopoverSubMenu { ...bindMenu( popupState ) } onClick={ popupState.close }>\n\t\t\t\t\t{ menuItems.default.map(\n\t\t\t\t\t\t( { MenuItem: IntegrationsMenuItem, id } ) => <IntegrationsMenuItem key={ id } />\n\t\t\t\t\t) }\n\t\t\t\t</PopoverSubMenu>\n\t\t\t</MenuItem>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport PopoverMenu, { PopoverMenuProps } from './popover-menu';\nimport { useTheme } from '@elementor/ui';\n\nexport default function PopoverSubMenu( { children, ...props }: PopoverMenuProps ) {\n\tconst theme = useTheme();\n\tconst isRTL = theme.direction === 'rtl';\n\n\treturn (\n\t\t<PopoverMenu\n\t\t\tsx={ { pointerEvents: 'none' } }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t// This is a workaround to support RTL in PopoverMenu, since it doesn't support it yet.\n\t\t\t\t\t...( isRTL\n\t\t\t\t\t\t? { marginInlineEnd: -2 }\n\t\t\t\t\t\t: { marginInlineStart: 2 }\n\t\t\t\t\t),\n\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t},\n\t\t\t} }\n\t\t\tanchorOrigin={ { vertical: 'center', horizontal: isRTL ? 'left' : 'right' } }\n\t\t\ttransformOrigin={ { vertical: 'center', horizontal: isRTL ? 'right' : 'left' } }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</PopoverMenu>\n\t);\n}\n","import * as React from 'react';\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, StackProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 1.5 } } spacing={ 1.5 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { PropsWithChildren } from 'react';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport ToolbarMenuItem from './toolbar-menu-item';\nimport { __ } from '@wordpress/i18n';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport PopoverMenu from './popover-menu';\n\nexport type ToolbarMenuMoreProps = PropsWithChildren<{\n\tid: string;\n}>\n\nexport default function ToolbarMenuMore( { children, id }: ToolbarMenuMoreProps ) {\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: id,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'More', 'elementor' ) }>\n\t\t\t\t<DotsVerticalIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) }>\n\t\t\t\t{ children }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport { utilitiesMenu } from '../../locations';\nimport { Divider } from '@elementor/ui';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 3;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map(\n\t\t\t\t( { MenuItem, id }, index ) => (\n\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t\t<MenuItem />\n\t\t\t\t\t</Fragment>\n\t\t\t\t)\n\t\t\t) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn (\n\t\t<PrimaryActionSlot />\n\t);\n}\n","import * as React from 'react';\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn (\n\t\t<PageIndicationSlot />\n\t);\n}\n","import * as React from 'react';\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn (\n\t\t<ResponsiveSlot />\n\t);\n}\n","import AppBar from './components/app-bar';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { listenTo, openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { __useActiveDocument, __useHostDocument } from '@elementor/editor-documents';\n\nexport default function SettingsButton() {\n\tconst activeDocument = __useActiveDocument();\n\tconst hostDocument = __useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => openRoute( 'panel/page-settings/settings' ) }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn <BaseTooltip\n\t\tPopperProps={ {\n\t\t\tsx: {\n\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\tmt: 1.7,\n\t\t\t\t},\n\t\t\t},\n\t\t} }\n\t\t{ ...props }\n\t/>;\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { __useActiveDocument } from '@elementor/editor-documents';\n\nexport default function useActionProps() {\n\tconst document = __useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => document && runCommand( 'editor/documents/preview', {\n\t\t\tid: document.id,\n\t\t\tforce: true,\n\t\t} ),\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __useActiveDocument, __useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = __useActiveDocument();\n\tconst { saveDraft } = __useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FolderIcon } from '@elementor/icons';\nimport { __useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = __useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, __useActiveDocument, __useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport { useIsPreviewMode } from '@elementor/editor-v1-adapters';\n\nexport default function PrimaryAction() {\n\tconst document = __useActiveDocument();\n\tconst { save } = __useActiveDocumentActions();\n\tconst isPreviewMode = useIsPreviewMode();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = isPreviewMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = isPreviewMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => ! document.isSaving && save() }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { documentOptionsMenu } from '../../../locations';\nimport PopoverMenu, { PopoverMenuProps } from '../../../components/ui/popover-menu';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers when a group is rendered empty (due to a limitation in our locations' mechanism).\n// It doesn't cover all the cases (i.e. when there are multiple dividers at the end), but it's good enough for our use-case.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root > .MuiDivider-root {\n\t\t&:only-child, /* A divider is being rendered lonely */\n\t\t&:last-child, /* The last group renders empty but renders a divider */\n\t\t& + .MuiDivider-root /* Multiple dividers due to multiple empty groups */ {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { documentOptionsMenu, injectIntoPrimaryAction } from '../../locations';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport PrimaryAction from './components/primary-action';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\t// Documents options menu.\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10, // Before save as template.\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20, // After save draft.\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { isRouteActive, listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => openRoute( 'panel/elements/categories' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => runCommand( 'finder/toggle' ),\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { utilitiesMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => openRoute( 'panel/history/actions' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => runCommand( 'shortcuts/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { isRouteActive, routeCloseEvent, routeOpenEvent, useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { __useActiveDocument, __useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = __useActiveDocument();\n\tconst { save } = __useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '../../../types';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => (\n\t\t\tisActive\n\t\t\t\t? runCommand( 'panel/global/close' )\n\t\t\t\t: runCommand( 'panel/global/open' )\n\t\t),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => runCommand( 'navigator/toggle' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => runCommand( 'app/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '../../../types';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => openRoute( 'panel/editor-preferences' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { mainMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __useActiveDocument } from '@elementor/editor-documents';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = __useActiveDocument();\n\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n","export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tdocumentOptionsMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nimport init from './init';\n\ninit();\n"],"mappings":";AAAA,YAAYA,YAAW;AACvB,SAAgD,eAAe;AAC/D,SAAS,sBAAgC;;;ACFzC,YAAYC,YAAW;;;ACAvB,YAAY,WAAW;AACvB,SAAS,eAAkC,kBAAkB;AAM7D,IAAM,cAAc,cAAiC,EAAE,MAAM,UAAU,CAAE;AAElE,SAAS,oBAAqB,EAAE,MAAM,SAAS,GAAyC;AAC9F,SACC,oCAAC,YAAY,UAAZ,EAAqB,OAAQ,EAAE,KAAK,KAClC,QACH;AAEF;AAEO,SAAS,iBAAiB;AAChC,SAAO,WAAY,WAAY;AAChC;;;ACnBA,YAAYC,YAAW;AACvB,SAAS,KAAK,YAA6B,WAAW,mBAAiC;AAOxE,SAAR,gBAAkC,EAAE,OAAO,GAAG,MAAM,GAA0B;AACpF,SACC,qCAAC,WAAQ,SAER,qCAAC,OAAI,WAAU,QAAO,cAAa,UAClC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,cAAa;AAAA,MACb,MAAK;AAAA,MACL,IAAK;AAAA,QACJ,sBAAsB;AAAA,UACrB,UAAU;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACV,OAAO;AAAA,QACR;AAAA,MACD;AAAA;AAAA,EACD,CACD,CACD;AAEF;AAEA,SAAS,QAAS,OAAsB;AACvC,SAAO;AAAA,IAAC;AAAA;AAAA,MACP,aAAc;AAAA,QACb,IAAI;AAAA,UACH,6EAA6E;AAAA,YAC5E,IAAI;AAAA,UACL;AAAA,QACD;AAAA,MACD;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AACD;;;AC1CA,YAAYC,YAAW;AACvB;AAAA,EACC;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,wBAAwB;AAWjC,IAAM,uBAAuB,cAAe,gBAAiB;AAE9C,SAAR,gBAAkC,EAAE,MAAM,MAAM,SAAS,MAAM,QAAQ,UAAU,GAAG,MAAM,GAA0B;AAC1H,QAAM,iBAAiB,QAAQ,WAAW;AAE1C,SACC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAY,OAAO,MAAM;AAAA,MACzB;AAAA,MACA;AAAA,MACA,IAAK;AAAA,QACJ,WAAW;AAAA,UACV,OAAO;AAAA;AAAA,QACR;AAAA,MACD;AAAA;AAAA,IAEA,qCAAC,oBAAe,IAAM;AAAA,IACtB,qCAAC,gBAAa,SAAU,MAAO;AAAA,IAC7B,kBAAkB,qCAAC,0BAAqB;AAAA,EAC3C;AAEF;;;AH7Be,SAAR,OAAyB,EAAE,MAAM,MAAM,OAAO,UAAU,MAAM,GAAG,MAAM,GAAW;AACxF,QAAM,EAAE,KAAK,IAAI,eAAe;AAEhC,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AAEA,SAAO,SAAS,YACf,qCAAC,mBAAgB,OAAkB,GAAG,SACrC,qCAAC,UAAK,CACP,IAEA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,MAAO;AAAA,MACP,MAAO,qCAAC,UAAK;AAAA;AAAA,EACd;AAEF;;;AIhCA,YAAYC,YAAW;;;ACAvB,YAAYC,YAAW;AACvB,SAAS,OAAAC,MAAK,cAAiC,WAAAC,gBAAe;AAO/C,SAAR,sBAAwC,EAAE,OAAO,SAAS,GAAG,MAAM,GAAgC;AACzG,SACC,qCAACA,UAAA,EAAQ,SAER,qCAACD,MAAA,EAAI,WAAU,QAAO,cAAa,UAClC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,UAAW;AAAA,MACX,cAAa;AAAA,MACb,MAAK;AAAA,MACL,IAAK;AAAA,QACJ,QAAQ;AAAA;AAAA,QACR,kBAAkB;AAAA,UACjB,QAAQ;AAAA;AAAA,QACT;AAAA,QACA,sBAAsB;AAAA,UACrB,UAAU;AAAA,QACX;AAAA,MACD;AAAA;AAAA,EACD,CACD,CACD;AAEF;;;ADfe,SAAR,aAA+B,EAAE,MAAM,MAAM,OAAO,OAAO,UAAU,MAAM,GAAG,MAAM,GAAW;AACrG,QAAM,EAAE,KAAK,IAAI,eAAe;AAEhC,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AAEA,SAAO,SAAS,YACf,qCAAC,yBAAsB,OAAQ,SAAS,OAAQ,OAAkB,GAAG,SACpE,qCAAC,UAAK,CACP,IAEA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,MAAO;AAAA,MACP,MAAO,qCAAC,UAAK;AAAA;AAAA,EACd;AAEF;;;AElCA,YAAYE,YAAW;AAcR,SAAR,KAAuB,EAAE,MAAM,MAAM,OAAO,UAAU,MAAM,GAAG,MAAM,GAAW;AACtF,QAAM,EAAE,KAAK,IAAI,eAAe;AAEhC,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AAEA,SAAO,SAAS,YACf,qCAAC,mBAAgB,OAAkB,GAAG,SACrC,qCAAC,UAAK,CACP,IAEA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,MAAO;AAAA,MACP,MAAO,qCAAC,UAAK;AAAA;AAAA,EACd;AAEF;;;APGO,SAAS,WAEb,SAAmB,CAAC,GAAoC;AAC1D,QAAM,aAAkC;AAAA,IACvC,GAAG;AAAA,IACH;AAAA,EACD;AAEA,QAAM,YAAY,WAAW;AAAA,IAC5B,CAAE,OAAO,WAAa;AAAA,MACrB,GAAG;AAAA,MACH,CAAE,KAAM,GAAG,eAAe;AAAA,IAC3B;AAAA,IACA,CAAC;AAAA,EACF;AAEA,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,CAAE,QAAQ,cAAc,IAAK,EAAE;AAAA,IAClC,CAAE,cAAe,uBAAwB;AAAA,MACxC;AAAA,MACA;AAAA,MACA,WAAW;AAAA,IACZ,CAAE;AAAA,EACH;AAEA,QAAMC,gBAAe,mBAAoB,SAAU;AAEnD,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAAA;AAAA,EACD;AACD;AAEA,SAAS,uBAGN,EAAE,WAAW,YAAY,UAAU,GAIlC;AACH,SAAO,CAAE,EAAE,QAAQ,WAAW,IAAI,WAAW,UAAU,GAAG,KAAK,MAAgD;AAC9G,QAAK,CAAE,WAAW,SAAU,KAAM,GAAI;AACrC;AAAA,IACD;AAEA,UAAM,WAAW,WAAW,OAAO,MAAM,KAAK,QAAQ,KAAK;AAE3D,UAAM,YAAY;AAElB,UAAM,oBAAoB,CAAE,UAAmB;AAC9C,YAAM,iBAAiB,SAAS;AAEhC,aAAO,qCAAC,aAAY,GAAG,OAAU,GAAG,gBAAiB;AAAA,IACtD;AAEA,cAAW,KAAM,EAAE,OAAQ;AAAA,MAC1B;AAAA,MACA,WAAW;AAAA,MACX,SAAS;AAAA,QACR;AAAA,QACA;AAAA,MACD;AAAA,IACD,CAAE;AAAA,EACH;AACD;AAEA,SAAS,mBAA8C,WAAuC;AAC7F,SAAO,MAAM;AAEZ,WAAO,QAAS,MAAM;AACrB,aAAO,OAAO,QAAS,SAAU,EAAE;AAAA,QAClC,CAAE,OAAO,CAAE,WAAW,QAAS,MAAO;AACrC,gBAAM,QAAQ,SAAS,cAAc,EACnC,IAAK,CAAE,eAAiB;AAAA,YACxB,IAAI,UAAU;AAAA,YACd,UAAU,UAAU;AAAA,UACrB,EAAI;AAEL,iBAAO;AAAA,YACN,GAAG;AAAA,YACH,CAAE,SAAU,GAAG;AAAA,UAChB;AAAA,QACD;AAAA,QACA,CAAC;AAAA,MACF;AAAA,IACD,GAAG,CAAC,CAAE;AAAA,EACP;AACD;;;AQ/HA,SAAS,kBAAAC,uBAAsB;AAIxB,IAAM;AAAA,EACZ,QAAQ;AAAA,EACR,MAAM;AACP,IAAIA,gBAAe;AAEZ,IAAM;AAAA,EACZ,QAAQ;AAAA,EACR,MAAM;AACP,IAAIA,gBAAe;AAEZ,IAAM;AAAA,EACZ,QAAQ;AAAA,EACR,MAAM;AACP,IAAIA,gBAAe;AAEZ,IAAM,WAAW,WAAY,CAAE,OAAQ,CAAE;AAEzC,IAAM,YAAY,WAAW;AAE7B,IAAM,gBAAgB,WAAW;AAEjC,IAAM,mBAAmB,WAAW;AAEpC,IAAM,sBAAsB,WAAY,CAAE,MAAO,CAAE;;;AC5B1D,YAAYC,aAAW;AACvB,SAAS,UAAU,YAAY,OAAAC,MAAK,WAAAC,UAAS,MAAM,qBAAqB;;;ACDxE,YAAYC,aAAW;AACvB,SAAS,iBAAAC,gBAAe,YAAAC,WAAU,aAAa,OAAO,WAAAC,gBAAe;;;ACDrE,YAAYC,YAAW;AACvB,SAAS,YAAuB;AAKjB,SAAR,YAA8B,EAAE,UAAU,GAAG,MAAM,GAAsB;AAC/E,SACC,qCAAC,uBAAoB,MAAO,aAC3B;AAAA,IAAC;AAAA;AAAA,MACA,YAAa;AAAA,QACZ,IAAI,EAAE,IAAI,IAAI;AAAA,MACf;AAAA,MACE,GAAG;AAAA,MACL,eAAgB;AAAA,QACf,WAAW;AAAA,QACX,OAAO;AAAA,MACR;AAAA;AAAA,IAEE;AAAA,EACH,CACD;AAEF;;;ACvBA,YAAYC,aAAW;AACvB,SAAS,gBAAgB;AACzB,SAAS,UAAU;AACnB,SAAS,gBAAAC,eAA+C,SAAS,cAAc;AAQ/E,IAAM,gBAAgB,CAAE,UAAyB;AAChD,SACC,sCAAC,WAAQ,SAAQ,aAAc,GAAG,SACjC,sCAAC,WACA,sCAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,GAC/B,sCAAC,UAAK,GAAE,0BAAyB,GACjC,sCAAC,UAAK,GAAE,0BAAyB,GACjC,sCAAC,UAAK,GAAE,yCAAwC,GAChD,sCAAC,UAAK,GAAE,yCAAwC,CACjD,CACD;AAEF;AAEA,IAAM,qBAAqB,OAAQA,aAAa,EAAG,CAAE,EAAE,MAAM,OAAS;AAAA,EACrE,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO,MAAM,QAAQ,KAAK;AAAA,EAC1B,gCAAgC;AAAA,IAC/B,iBAAiB;AAAA,EAClB;AAAA,EACA,uCAAuC;AAAA,IACtC,iBAAiB;AAAA,EAClB;AACD,EAAI;AAEJ,IAAM,sBAAsB,OAAQ,eAAe;AAAA,EAClD,mBAAmB,CAAE,SAAU,SAAS;AACzC,CAAE,EAA6B,CAAE,EAAE,OAAO,aAAa,OAAS;AAAA,EAC/D,UAAU;AAAA,IACT,MAAM,MAAM,QAAQ,WAAW;AAAA,IAC/B,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,MAClB,iBAAiB,CAAE,gBAAgB;AAAA,MACnC,WAAW,gBAAgB;AAAA,IAC5B;AAAA,IACA,yBAAyB;AAAA;AAAA,MAExB,WAAW,CAAE,gBAAgB,cAAe,MAAM,cAAc,QAAQ,MAAM,GAAI;AAAA,IACnF;AAAA,IACA,oBAAoB;AAAA,MACnB,iBAAiB,eAAe,MAAM;AAAA,IACvC;AAAA,IACA,oBAAoB;AAAA,MACnB,iBAAiB;AAAA,IAClB;AAAA,IACA,oBAAoB;AAAA,MACnB,iBAAiB,eAAe,SAAS;AAAA,IAC1C;AAAA,EACD;AACD,EAAI;AAEW,SAAR,YAA8B,OAA0B;AAC9D,QAAM,CAAE,cAAc,eAAgB,IAAI,SAAU,KAAM;AAC1D,QAAM,eAAe,MAAM,YAAY;AAEvC,SACC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,OAAM;AAAA,MACN,MAAK;AAAA,MACL,cAAe,MAAM,gBAAiB,IAAK;AAAA,MAC3C,cAAe,MAAM,gBAAiB,KAAM;AAAA;AAAA,IAE5C;AAAA,MAAC;AAAA;AAAA,QACA,UAAS;AAAA,QACT;AAAA,QACA,aAAc,GAAI,kBAAkB,WAAY;AAAA;AAAA,IACjD;AAAA,EACD;AAEF;;;ACnFA,YAAYC,aAAW;AAEvB;AAAA,EACC;AAAA,EACA;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAAC;AAAA,OACM;AACP,SAAS,MAAAC,WAAU;AACnB,SAAS,kBAAkB,gBAAgB;;;ACd3C,YAAYC,aAAW;AAEvB,SAAS,gBAAgB;AAEV,SAAR,eAAiC,EAAE,UAAU,GAAG,MAAM,GAAsB;AAClF,QAAM,QAAQ,SAAS;AACvB,QAAM,QAAQ,MAAM,cAAc;AAElC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,IAAK,EAAE,eAAe,OAAO;AAAA,MAC7B,YAAa;AAAA,QACZ,IAAI;AAAA;AAAA,UAEH,GAAK,QACF,EAAE,iBAAiB,GAAG,IACtB,EAAE,mBAAmB,EAAE;AAAA,UAE1B,eAAe;AAAA,QAChB;AAAA,MACD;AAAA,MACA,cAAe,EAAE,UAAU,UAAU,YAAY,QAAQ,SAAS,QAAQ;AAAA,MAC1E,iBAAkB,EAAE,UAAU,UAAU,YAAY,QAAQ,UAAU,OAAO;AAAA,MAC3E,GAAG;AAAA;AAAA,IAEH;AAAA,EACH;AAEF;;;ADPA,IAAM,EAAE,aAAa,IAAI;AAEzB,IAAM,yBAAyBC,eAAe,gBAAiB;AAEhD,SAAR,yBAA2C,EAAE,iBAAiB,GAAW;AAC/E,QAAM,YAAY,aAAa;AAE/B,QAAM,aAAa,cAAe;AAAA,IACjC;AAAA,IACA,SAAS;AAAA,IACT,SAAS;AAAA,EACV,CAAE;AAEF,MAAK,UAAU,QAAQ,WAAW,GAAI;AACrC,WAAO;AAAA,EACR;AAEA,SACC,8DACC,sCAAC,aAAQ,GACT;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAG,UAAW,UAAW;AAAA,MACzB,GAAG,UAAW,UAAW;AAAA;AAAA,IAE3B,sCAACC,eAAA,MACA,sCAAC,cAAS,CACX;AAAA,IACA,sCAACC,eAAA,EAAa,SAAUC,IAAI,gBAAgB,WAAY,GAAI;AAAA,IAC5D,sCAAC,4BAAuB;AAAA,IACxB,sCAAC,kBAAiB,GAAG,SAAU,UAAW,GAAI,SAAU,WAAW,SAChE,UAAU,QAAQ;AAAA,MACnB,CAAE,EAAE,UAAU,sBAAsB,GAAG,MAAO,sCAAC,wBAAqB,KAAM,IAAK;AAAA,IAChF,CACD;AAAA,EACD,CACD;AAEF;;;AHnDA,IAAM,EAAE,cAAAC,cAAa,IAAI;AAEV,SAAR,mBAAoC;AAC1C,QAAM,YAAYA,cAAa;AAE/B,QAAM,aAAaC,eAAe;AAAA,IACjC,SAAS;AAAA,IACT,SAAS;AAAA,EACV,CAAE;AAEF,SACC,sCAAC,SAAM,IAAK,EAAE,oBAAoB,EAAE,GAAI,WAAU,OAAM,YAAW,YAClE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG,YAAa,UAAW;AAAA,MAC7B,UAAW,WAAW;AAAA;AAAA,EACvB,GACA;AAAA,IAAC;AAAA;AAAA,MACA,SAAU,WAAW;AAAA,MACnB,GAAGC,UAAU,UAAW;AAAA,MAC1B,iBAAkB;AAAA;AAAA,IAEhB,UAAU,QAAQ,IAAK,CAAE,EAAE,UAAAC,WAAU,GAAG,MAAO,sCAACA,WAAA,EAAS,KAAM,IAAK,CAAG;AAAA,IAEzE,sCAAC,4BAAyB,KAAI,yBAAwB,kBAAmB,YAAa;AAAA,IAEpF,UAAU,MAAM,SAAS,KAAK,sCAACC,UAAA,IAAQ;AAAA,IACvC,UAAU,MAAM,IAAK,CAAE,EAAE,UAAAD,WAAU,GAAG,MAAO,sCAACA,WAAA,EAAS,KAAM,IAAK,CAAG;AAAA,EACxE,CACD;AAEF;;;AKrCA,YAAYE,aAAW;;;ACAvB,YAAYC,aAAW;AACvB,SAAS,SAAAC,cAAyB;AAKnB,SAAR,YAA8B,EAAE,UAAU,GAAG,MAAM,GAAsB;AAC/E,SACC,sCAAC,uBAAoB,MAAO,aAC3B,sCAACC,QAAA,EAAM,IAAK,EAAE,IAAI,IAAI,GAAI,SAAU,KAAM,WAAU,OAAM,YAAW,UAAW,GAAG,SAChF,QACH,CACD;AAEF;;;ACdA,YAAYC,aAAW;AAEvB,SAAS,YAAAC,WAAU,eAAAC,cAAa,iBAAAC,sBAAqB;AAErD,SAAS,MAAAC,WAAU;AACnB,SAAS,wBAAwB;AAOlB,SAAR,gBAAkC,EAAE,UAAU,GAAG,GAA0B;AACjF,QAAM,aAAaC,eAAe;AAAA,IACjC,SAAS;AAAA,IACT,SAAS;AAAA,EACV,CAAE;AAEF,SACC,8DACC,sCAAC,mBAAkB,GAAGC,aAAa,UAAW,GAAI,OAAQC,IAAI,QAAQ,WAAY,KACjF,sCAAC,sBAAiB,CACnB,GACA,sCAAC,eAAY,SAAU,WAAW,OAAU,GAAGC,UAAU,UAAW,KACjE,QACH,CACD;AAEF;;;AFvBA,IAAM,sBAAsB;AAE5B,IAAM,EAAE,cAAAC,cAAa,IAAI;AAEV,SAAR,oBAAqC;AAC3C,QAAM,YAAYA,cAAa;AAE/B,QAAM,mBAAmB,UAAU,QAAQ,MAAO,GAAG,mBAAoB;AACzE,QAAM,mBAAmB,UAAU,QAAQ,MAAO,mBAAoB;AAEtE,SACC,sCAAC,mBACE,iBAAiB,IAAK,CAAE,EAAE,UAAAC,WAAU,GAAG,MAAO,sCAACA,WAAA,EAAS,KAAM,IAAK,CAAG,GACtE,iBAAiB,SAAS,KAC3B,sCAAC,mBAAgB,IAAG,yCACjB,iBAAiB,IAAK,CAAE,EAAE,UAAAA,WAAU,GAAG,MAAO,sCAACA,WAAA,EAAS,KAAM,IAAK,CAAG,CACzE,CAEF;AAEF;;;AGzBA,YAAYC,aAAW;AACvB,SAAS,YAAAC,iBAAgB;AAGzB,SAAS,WAAAC,gBAAe;AAGxB,IAAMC,uBAAsB;AAE5B,IAAM,EAAE,cAAAC,cAAa,IAAI;AAEV,SAAR,wBAAyC;AAC/C,QAAM,YAAYA,cAAa;AAE/B,QAAM,mBAAmB,UAAU,QAAQ,MAAO,GAAGD,oBAAoB;AACzE,QAAM,mBAAmB,UAAU,QAAQ,MAAOA,oBAAoB;AAEtE,SACC,sCAAC,mBACE,iBAAiB;AAAA,IAClB,CAAE,EAAE,UAAAE,WAAU,GAAG,GAAG,UACnB,sCAACC,WAAA,EAAS,KAAM,MACb,UAAU,KAAK,sCAACC,UAAA,EAAQ,aAAY,YAAW,GACjD,sCAACF,WAAA,IAAS,CACX;AAAA,EAEF,GACE,iBAAiB,SAAS,KAC3B,sCAAC,mBAAgB,IAAG,6CACjB,iBAAiB,IAAK,CAAE,EAAE,UAAAA,WAAU,GAAG,MAAO,sCAACA,WAAA,EAAS,KAAM,IAAK,CAAG,CACzE,CAEF;AAEF;;;AClCA,YAAYG,aAAW;AAGR,SAAR,wBAAyC;AAC/C,SACC,sCAAC,uBAAkB;AAErB;;;ACPA,YAAYC,aAAW;AAGR,SAAR,yBAA0C;AAChD,SACC,sCAAC,wBAAmB;AAEtB;;;ACPA,YAAYC,aAAW;AAGR,SAAR,qBAAsC;AAC5C,SACC,sCAAC,oBAAe;AAElB;;;AZGe,SAAR,SAA0B;AAChC,SACC,sCAAC,iBAAc,aAAY,UAC1B,sCAAC,cAAW,UAAS,YACpB,sCAACC,MAAA,EAAI,SAAQ,QAAO,qBAAoB,oBACvC,sCAAC,QAAK,WAAS,QACd,sCAAC,sBAAiB,GAClB,sCAAC,uBAAkB,CACpB,GACA,sCAAC,QAAK,WAAS,MAAC,gBAAe,YAC9B,sCAAC,eAAY,SAAU,OACtB,sCAACC,UAAA,EAAQ,aAAY,YAAW,GAChC,sCAAC,4BAAuB,GACxB,sCAACA,UAAA,EAAQ,aAAY,YAAW,GAChC,sCAAC,wBAAmB,GACpB,sCAACA,UAAA,EAAQ,aAAY,YAAW,CACjC,CACD,GACA,sCAAC,QAAK,WAAS,MAAC,gBAAe,cAC9B,sCAAC,2BAAsB,GACvB,sCAAC,2BAAsB,CACxB,CACD,CACD,CACD;AAEF;;;AanCA,SAAS,iBAAAC,sBAAqB;;;ACD9B,SAAS,UAAU,WAAW,sBAAsB;AAErC,SAAR,mBAAoC;AAG1C,WAAU,eAAgB,YAAa,GAAG,MAAM;AAC/C,cAAW,2BAA4B;AAAA,EACxC,CAAE;AACH;;;ACRA,YAAYC,aAAW;AACvB,SAAS,OAAAC,MAAK,gBAAAC,eAAc,WAAWC,oBAAiC;AACxE,SAAS,MAAAC,WAAU;AACnB,SAAS,aAAAC,YAAW,sBAAsB;AAC1C,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB,yBAAyB;AAExC,SAAR,iBAAkC;AACxC,QAAM,iBAAiB,oBAAoB;AAC3C,QAAM,eAAe,kBAAkB;AAEvC,QAAMC,YAAW,kBAAkB,eAAe,KAAK,UAAU,QAC9D,iBACA;AAEH,QAAM,EAAE,UAAU,UAAU,IAAI,eAAgB,qBAAsB;AAEtE,MAAK,CAAEA,WAAW;AACjB,WAAO;AAAA,EACR;AAGA,QAAM,QAAQF,IAAI,eAAe,WAAY,EAC3C,QAAS,MAAME,UAAS,KAAK,KAAM;AAErC,SACC,sCAACC,UAAA,EAAQ,SAER,sCAACN,MAAA,EAAI,WAAU,QAAO,cAAa,UAClC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,OAAM;AAAA,MACN,UAAW;AAAA,MACX,UAAW;AAAA,MACX,UAAW,MAAMG,WAAW,8BAA+B;AAAA,MAC3D,cAAa;AAAA,MACb,MAAK;AAAA,MACL,IAAK;AAAA,QACJ,QAAQ;AAAA;AAAA,QACR,kBAAkB;AAAA,UACjB,QAAQ;AAAA;AAAA,QACT;AAAA,MACD;AAAA;AAAA,IAEA,sCAAC,gBAAa,UAAS,SAAQ;AAAA,EAChC,CACD,CACD;AAEF;AAEA,SAASE,SAAS,OAAsB;AACvC,SAAO;AAAA,IAACJ;AAAA,IAAA;AAAA,MACP,aAAc;AAAA,QACb,IAAI;AAAA,UACH,6EAA6E;AAAA,YAC5E,IAAI;AAAA,UACL;AAAA,QACD;AAAA,MACD;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AACD;;;AC1DO,SAAS,OAAO;AACtB,2BAA0B;AAAA,IACzB,IAAI;AAAA,IACJ,WAAW;AAAA,IACX,SAAS;AAAA,MACR,UAAU;AAAA;AAAA,IACX;AAAA,EACD,CAAE;AACH;;;ACXA,SAAS,MAAAK,WAAU;AACnB,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAC3B,SAAS,uBAAAC,4BAA2B;AAErB,SAAR,iBAAkC;AACxC,QAAMC,YAAWD,qBAAoB;AAErC,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOD,IAAI,mBAAmB,WAAY;AAAA,IAC1C,SAAS,MAAME,aAAY,WAAY,4BAA4B;AAAA,MAClE,IAAIA,UAAS;AAAA,MACb,OAAO;AAAA,IACR,CAAE;AAAA,EACH;AACD;;;ACbO,SAASC,QAAO;AACtB,gBAAc,eAAgB;AAAA,IAC7B,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAU;AAAA,EACX,CAAE;AACH;;;ACTA,SAAS,MAAAC,WAAU;AAEnB,SAAS,sBAAsB;AAC/B,SAAS,uBAAAC,sBAAqB,kCAAkC;AAEjD,SAAR,4BAA0D;AAChE,QAAMC,YAAWD,qBAAoB;AACrC,QAAM,EAAE,UAAU,IAAI,2BAA2B;AAEjD,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOD,IAAI,cAAc,WAAY;AAAA,IACrC,SAAS;AAAA,IACT,UAAU,CAAEE,aAAYA,UAAS,YAAYA,UAAS,iBAAiB,CAAEA,UAAS;AAAA,EACnF;AACD;;;ACfA,SAAS,MAAAC,WAAU;AAEnB,SAAS,kBAAkB;AAC3B,SAAS,8BAAAC,mCAAkC;AAE5B,SAAR,+BAA6D;AACnE,QAAM,EAAE,aAAa,IAAIA,4BAA2B;AAEpD,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOD,IAAI,oBAAoB,WAAY;AAAA,IAC3C,SAAS;AAAA,EACV;AACD;;;ACbA,YAAYE,aAAW;AACvB,SAAS,MAAAC,WAAU;;;ACDnB,YAAYC,aAAW;AACvB,SAAS,WAAAC,UAAS,UAAAC,eAAc;AAIhC,IAAM,EAAE,cAAAC,cAAa,IAAI;AAIzB,IAAM,oBAAoBC,QAAQ,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU/B,SAAR,kBAAoC,OAA0B;AACpE,QAAM,EAAE,MAAM,aAAa,SAAS,eAAe,IAAID,cAAa;AAEpE,SACC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,cAAe;AAAA,QACd,UAAU;AAAA,QACV,YAAY;AAAA,MACb;AAAA,MACA,iBAAkB;AAAA,QACjB,UAAU;AAAA,QACV,YAAY;AAAA,MACb;AAAA,MACA,iBAAkB;AAAA,MAClB,YAAa;AAAA,QACZ,IAAI,EAAE,IAAI,IAAI;AAAA,MACf;AAAA;AAAA,IAEE,YAAY,IAAK,CAAE,EAAE,UAAAE,WAAU,GAAG,GAAG,UAAa;AAAA,MACjD,QAAQ,KAAO,sCAACC,UAAA,EAAQ,KAAM,GAAI,EAAG,YAAa;AAAA,MACpD,sCAACD,WAAA,EAAS,KAAM,IAAK;AAAA,IACtB,CAAI;AAAA,IAEF,eAAe,SAAS,KAAK,sCAACC,UAAA,IAAQ;AAAA,IAEtC,eAAe,IAAK,CAAE,EAAE,UAAAD,WAAU,GAAG,MAAO,sCAACA,WAAA,EAAS,KAAM,IAAK,CAAG;AAAA,EACvE;AAEF;;;AD7CA;AAAA,EACC,YAAAE;AAAA,EACA,eAAAC;AAAA,EACA,OAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,OACM;AACP,SAAmB,uBAAAC,sBAAqB,8BAAAC,mCAAkC;AAC1E,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAElB,SAAR,gBAAiC;AACvC,QAAMC,YAAWF,qBAAoB;AACrC,QAAM,EAAE,KAAK,IAAIC,4BAA2B;AAC5C,QAAM,gBAAgB,iBAAiB;AAEvC,QAAM,aAAaF,eAAe;AAAA,IACjC,SAAS;AAAA,IACT,SAAS;AAAA,EACV,CAAE;AAEF,MAAK,CAAEG,WAAW;AACjB,WAAO;AAAA,EACR;AAEA,QAAM,oBAAoB,iBAAiB,CAAE,iBAAkBA,SAAS;AACxE,QAAM,wBAAwB,iBAAiBA,UAAS,KAAK,UAAU;AAIvE,QAAM,oBAAoBA,UAAS,YAAY,CAAE;AAEjD,SACC,8DACC,sCAAC,eAAY,MAAK,SAAQ,SAAQ,eACjC;AAAA,IAAC;AAAA;AAAA,MACA,SAAU,MAAM,CAAEA,UAAS,YAAY,KAAK;AAAA,MAC5C,IAAK;AAAA,QACJ,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,UAAU;AAAA,QACV,+CAA+C;AAAA,UAC9C,UAAU;AAAA,QACX;AAAA,MACD;AAAA,MACA,UAAW;AAAA;AAAA,IAET,oBAAoB,sCAAC,oBAAiB,OAAM,WAAU,MAAK,SAAQ,IAAK,SAAUA,SAAS;AAAA,EAC9F,GAEA;AAAA,IAACJ;AAAA,IAAA;AAAA,MACA,OAAQK,IAAI,gBAAgB,WAAY;AAAA,MACxC,aAAc;AAAA,QACb,IAAI;AAAA,UACH,6EAA6E;AAAA,YAC5E,IAAI;AAAA,YACJ,IAAI;AAAA,UACL;AAAA,QACD;AAAA,MACD;AAAA;AAAA,IAEA,sCAACN,MAAA,EAAI,WAAU,QAAO,cAAa,UAClC;AAAA,MAAC;AAAA;AAAA,QACA,MAAK;AAAA,QACH,GAAGD,aAAa,UAAW;AAAA,QAC7B,IAAK,EAAE,IAAI,GAAG,QAAQ,QAAQ,cAAc,EAAE;AAAA,QAC9C,UAAW;AAAA,QACX,cAAaO,IAAI,gBAAgB,WAAY;AAAA;AAAA,MAE7C,sCAAC,qBAAgB;AAAA,IAClB,CACD;AAAA,EACD,CACD,GACA,sCAAC,qBAAoB,GAAGR,UAAU,UAAW,GAAI,SAAU,WAAW,OAAQ,CAC/E;AAEF;AAEA,SAAS,SAAUO,WAAqB;AACvC,SAAOA,UAAS,QAAQ,UACrBC,IAAI,WAAW,WAAY,IAC3BA,IAAI,UAAU,WAAY;AAC9B;AAEA,SAAS,iBAAkBD,WAAqB;AAC/C,MAAKA,UAAS,KAAK,UAAU,OAAQ;AACpC,WAAO;AAAA,EACR;AAEA,SAAOA,UAAS,WAAWA,UAAS,OAAO,UAAU;AACtD;;;AE5FO,SAASE,QAAO;AACtB,0BAAyB;AAAA,IACxB,IAAI;AAAA,IACJ,WAAW;AAAA,EACZ,CAAE;AAGF,sBAAoB,eAAgB;AAAA,IACnC,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAU;AAAA,EACX,CAAE;AAEF,sBAAoB,eAAgB;AAAA,IACnC,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAU;AAAA,EACX,CAAE;AACH;;;ACzBA,SAAS,MAAAC,WAAU;AACnB,SAAS,eAAe,YAAAC,WAAU,kBAAAC,iBAAgB,oBAAoB;AAYvD,SAAR,iBAAkC;AACxC,QAAM,aAAaF,IAAI,YAAY,WAAY;AAC/C,QAAM,WAAWA,IAAI,WAAW,WAAY;AAE5C,EAAAC;AAAA,IACCC,gBAAgB,gBAAiB;AAAA,IACjC,MAAM;AACL,oBAAe,UAAW;AAC1B,kBAAa,QAAS;AAAA,IACvB;AAAA,EACD;AAEA,EAAAD;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AACL,UAAK,cAAe,gBAAiB,GAAI;AACxC,sBAAe,UAAW;AAC1B,oBAAa,QAAS;AAAA,MACvB;AAAA,IACD;AAAA,EACD;AACD;AAEA,SAAS,cAAe,OAAgB;AACvC,EAAE,OAAsC,WAAW,eAAe,GAAG,gBAAgB,GAAG,WAAY,KAAM;AAC3G;AAEA,SAAS,YAAa,OAAgB;AACrC,QAAM,MAAM,SAAS,cAAe,iDAAkD;AAEtF,MAAK,KAAM;AACV,QAAI,cAAc;AAAA,EACnB;AACD;;;AC9CA,SAAS,gBAAgB;AACzB,SAAS,MAAAE,YAAU;AACnB,SAAS,aAAAC,YAAW,kBAAAC,uBAAsB;AAE3B,SAARC,kBAAkC;AACxC,QAAM,EAAE,UAAU,UAAU,IAAID,gBAAgB,gBAAiB;AAEjE,SAAO;AAAA,IACN,OAAOF,KAAI,eAAe,WAAY;AAAA,IACtC,MAAM;AAAA,IACN,SAAS,MAAMC,WAAW,2BAA4B;AAAA,IACtD,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;ACVO,SAASG,QAAO;AACtB,iBAAe;AAEf,YAAU,qBAAsB;AAAA,IAC/B,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACZA,SAAS,MAAAC,YAAU;AACnB,SAAS,kBAAkB;AAC3B,SAAS,cAAAC,aAAY,kBAAAC,uBAAsB;AAE5B,SAARC,kBAAkC;AACxC,QAAM,EAAE,UAAU,IAAID,gBAAgB,UAAU;AAAA,IAC/C,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,EACrB,CAAE;AAEF,SAAO;AAAA,IACN,OAAOF,KAAI,UAAU,WAAY;AAAA,IACjC,MAAM;AAAA,IACN,SAAS,MAAMC,YAAY,eAAgB;AAAA,IAC3C,UAAU;AAAA,EACX;AACD;;;ACbO,SAASG,QAAO;AACtB,gBAAc,eAAgB;AAAA,IAC7B,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACRA,SAAS,MAAAC,YAAU;AACnB,SAAS,gBAAgB;AAElB,SAASC,QAAO;AACtB,gBAAc,aAAc;AAAA,IAC3B,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAU,MAAM;AACf,aAAO;AAAA,QACN,OAAOD,KAAI,QAAQ,WAAY;AAAA,QAC/B,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,EACD,CAAE;AACH;;;ACjBA,SAAS,mBAAmB;AAC5B,SAAS,MAAAE,YAAU;AACnB,SAAS,aAAAC,YAAW,kBAAAC,uBAAsB;AAE3B,SAARC,kBAAkC;AACxC,QAAM,EAAE,UAAU,UAAU,IAAID,gBAAgB,eAAgB;AAEhE,SAAO;AAAA,IACN,OAAOF,KAAI,WAAW,WAAY;AAAA,IAClC,MAAM;AAAA,IACN,SAAS,MAAMC,WAAW,uBAAwB;AAAA,IAClD,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;ACXO,SAASG,QAAO;AACtB,WAAS,qBAAsB;AAAA,IAC9B,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACTA,SAAS,MAAAC,YAAU;AAEnB,SAAS,oBAAoB;AAC7B,SAAS,cAAAC,mBAAkB;AAEZ,SAARC,kBAA+C;AACrD,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOF,KAAI,sBAAsB,WAAY;AAAA,IAC7C,SAAS,MAAMC,YAAY,gBAAiB;AAAA,EAC7C;AACD;;;ACRO,SAASE,QAAO;AACtB,WAAS,eAAgB;AAAA,IACxB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACVA,SAAS,qBAAqB;;;ACA9B,YAAYC,aAAW;;;ACAvB,YAAYC,aAAW;AACvB,SAAS,UAAU,kBAA+B;AAClD,SAAS,iBAAAC,gBAAe,iBAAiB,kBAAAC,iBAAgB,mBAAmB;AAE7D,SAAR,OAAyB,OAAwC;AACvE,QAAM,eAAe;AAAA,IACpB;AAAA,MACCA,gBAAgB,cAAe;AAAA,MAC/B,gBAAiB,cAAe;AAAA,IACjC;AAAA,IACA;AAAA,EACD;AAEA,MAAK,CAAE,aAAa,SAAU;AAC7B,WAAO;AAAA,EACR;AAEA,SACC,sCAAC,cAAW,WAAY,aAAa,SAAY,GAAG,OAAQ;AAE9D;AAEA,SAAS,kBAAkB;AAC1B,SAAOD,eAAe,cAAe,IAClC,EAAE,SAAS,SAAS,cAAe,wBAAyB,EAAE,IAC9D,EAAE,SAAS,KAAK;AACpB;;;AC1BA,YAAYE,aAAW;AACvB,SAAS,uBAAAC,sBAAqB,8BAAAC,mCAAkC;AAChE,SAAS,UAAAC,SAAQ,oBAAAC,mBAAkB,aAAa;AAChD,SAAS,MAAAC,YAAU;AAEJ,SAARC,iBAAiC;AACvC,QAAMC,YAAWN,qBAAoB;AACrC,QAAM,EAAE,KAAK,IAAIC,4BAA2B;AAE5C,SACC,sCAAC,SAAM,IAAK;AAAA,IACX,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,WAAW;AAAA,IACX,aAAa;AAAA,EACd,KACC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,SAAQ;AAAA,MACR,UAAW,CAAEI,aAAY,CAAEA,UAAS;AAAA,MACpC,MAAK;AAAA,MACL,IAAK,EAAE,OAAO,OAAO;AAAA,MACrB,SAAU,MAAMA,aAAY,CAAEA,UAAS,WAAW,KAAK,IAAI;AAAA;AAAA,IAG1DA,WAAU,WACP,sCAACH,mBAAA,IAAiB,IAClBC,KAAI,gBAAgB,WAAY;AAAA,EAErC,CACD;AAEF;;;AF3Be,SAAR,yBAA0C;AAChD,SACC,sCAAC,cACA,sCAACG,gBAAA,IAAc,CAChB;AAEF;;;AGVA,SAAS,MAAAC,YAAU;AACnB,SAAS,cAAAC,aAAY,kBAAAC,uBAAsB;AAE3C,SAAS,iCAAiC;AAE3B,SAARC,kBAAqD;AAC3D,QAAM,EAAE,UAAU,UAAU,IAAID,gBAAgB,gBAAgB;AAAA,IAC/D,kBAAkB;AAAA,EACnB,CAAE;AAEF,SAAO;AAAA,IACN,OAAOF,KAAI,iBAAiB,WAAY;AAAA,IACxC,MAAM;AAAA,IACN,SAAS,MACR,WACGC,YAAY,oBAAqB,IACjCA,YAAY,mBAAoB;AAAA,IAEpC,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;AJhBO,SAASG,QAAO;AAEtB,gBAAe;AAAA,IACd,IAAI;AAAA,IACJ,WAAW;AAAA,EACZ,CAAE;AAEF,YAAU,qBAAsB;AAAA,IAC/B,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;AKjBA,SAAS,MAAAC,YAAU;AACnB,SAAS,cAAAC,aAAY,kBAAAC,uBAAsB;AAC3C,SAAS,qBAAqB;AAGf,SAARC,kBAAqD;AAC3D,QAAM,EAAE,UAAU,UAAU,IAAID,gBAAgB,WAAY;AAE5D,SAAO;AAAA,IACN,OAAOF,KAAI,aAAa,WAAY;AAAA,IACpC,MAAM;AAAA,IACN,SAAS,MAAMC,YAAY,kBAAmB;AAAA,IAC9C,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;ACZO,SAASG,SAAO;AACtB,YAAU,qBAAsB;AAAA,IAC/B,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACTA,SAAS,MAAAC,YAAU;AACnB,SAAS,wBAAwB;AACjC,SAAS,cAAAC,mBAAkB;AAGZ,SAARC,kBAA+C;AACrD,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOF,KAAI,iBAAiB,WAAY;AAAA,IACxC,SAAS,MAAMC,YAAY,UAAW;AAAA,EACvC;AACD;;;ACRO,SAASE,SAAO;AACtB,WAAS,eAAgB;AAAA,IACxB,IAAI;AAAA,IACJ,UAAUC;AAAA,EACX,CAAE;AACH;;;ACRA,SAAS,MAAAC,YAAU;AAEnB,SAAS,uBAAuB;AAChC,SAAS,aAAAC,YAAW,kBAAAC,uBAAsB;AAE3B,SAARC,kBAAqD;AAC3D,QAAM,EAAE,UAAU,UAAU,IAAID,gBAAgB,0BAA2B;AAE3E,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOF,KAAI,oBAAoB,WAAY;AAAA,IAC3C,SAAS,MAAMC,WAAW,0BAA2B;AAAA,IACrD,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;ACZO,SAASG,SAAO;AACtB,WAAS,qBAAsB;AAAA,IAC9B,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACRA,SAAS,MAAAC,YAAU;AACnB,SAAS,qBAAqB;AAC9B,SAAS,uBAAAC,4BAA2B;AAE7B,SAASC,SAAO;AACtB,WAAS,aAAc;AAAA,IACtB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU,MAAM;AACf,YAAMC,YAAWF,qBAAoB;AAErC,aAAO;AAAA,QACN,OAAOD,KAAI,qBAAqB,WAAY;AAAA,QAC5C,MAAMG,WAAU,OAAO;AAAA,QACvB,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD,CAAE;AACH;;;ACAO,SAASC,SAAO;AACtB,OAAuB;AACvB,EAAAA,MAAqB;AACrB,EAAAA,MAAkB;AAClB,EAAAA,MAAa;AACb,EAAAA,MAAW;AACX,EAAAA,MAAS;AACT,EAAAA,MAAY;AACZ,EAAAA,MAAsB;AACtB,EAAAA,MAAiB;AACjB,EAAAA,OAAc;AACd,EAAAA,OAAiB;AACjB,EAAAA,OAAoB;AACpB,EAAAA,OAAc;AACf;;;AjC5Be,SAARC,SAAwB;AAC9B,mBAAiB;AAEjB,EAAAA,OAAe;AAEf,EAAAC,eAAe;AAAA,IACd,IAAI;AAAA,IACJ,WAAW;AAAA,EACZ,CAAE;AACH;;;AkCDAC,OAAK;","names":["React","React","React","React","React","React","Box","Tooltip","React","useMenuItems","createLocation","React","Box","Divider","React","usePopupState","bindMenu","Divider","React","React","ToggleButton","React","ListItemIcon","ListItemText","MenuItem","withDirection","__","React","withDirection","MenuItem","ListItemIcon","ListItemText","__","useMenuItems","usePopupState","bindMenu","MenuItem","Divider","React","React","Stack","Stack","React","bindMenu","bindTrigger","usePopupState","__","usePopupState","bindTrigger","__","bindMenu","useMenuItems","MenuItem","React","Fragment","Divider","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","Fragment","Divider","React","React","React","Box","Divider","injectIntoTop","React","Box","ToggleButton","BaseTooltip","__","openRoute","document","Tooltip","__","__useActiveDocument","document","init","__","__useActiveDocument","document","__","__useActiveDocumentActions","React","__","React","Divider","styled","useMenuItems","styled","MenuItem","Divider","bindMenu","bindTrigger","Box","Tooltip","usePopupState","__useActiveDocument","__useActiveDocumentActions","document","__","init","__","listenTo","routeOpenEvent","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","init","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useActionProps","init","useActionProps","React","React","isRouteActive","routeOpenEvent","React","__useActiveDocument","__useActiveDocumentActions","Button","CircularProgress","__","PrimaryAction","document","PrimaryAction","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useActionProps","init","useActionProps","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","__useActiveDocument","init","document","init","init","injectIntoTop","init"]}
|
|
1
|
+
{"version":3,"sources":["../src/locations/menus.tsx","../src/components/actions/action.tsx","../src/contexts/menu-context.tsx","../src/components/ui/toolbar-menu-item.tsx","../src/components/ui/popover-menu-item.tsx","../src/components/actions/toggle-action.tsx","../src/components/ui/toolbar-menu-toggle-item.tsx","../src/components/actions/link.tsx","../src/locations/index.ts","../src/components/app-bar.tsx","../src/components/locations/main-menu-location.tsx","../src/components/ui/popover-menu.tsx","../src/components/ui/toolbar-logo.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/ui/popover-sub-menu.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/utilities-menu-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/page-indication-location.tsx","../src/components/locations/responsive-location.tsx","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-preview/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/index.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts","../src/index.ts"],"sourcesContent":["import * as React from 'react';\nimport { ComponentPropsWithoutRef, ElementType, useMemo } from 'react';\nimport { createLocation, Location } from '@elementor/locations';\nimport Action from '../components/actions/action';\nimport ToggleAction from '../components/actions/toggle-action';\nimport Link from '../components/actions/link';\n\ntype GroupName = string;\n\ntype MenuGroup<TGroup extends GroupName> = TGroup | 'default';\n\ntype GroupedItems<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Array<{ id: string, MenuItem: ElementType }>>;\n\ntype GroupLocationMap<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Location>;\n\ntype MenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n> = {\n\tid: string,\n\tgroup?: TGroup,\n\tpriority?: number,\n\toverwrite?: boolean,\n} & (\n\t{ props: ComponentPropsWithoutRef<TComponent>, useProps?: never } |\n\t{ useProps: () => ComponentPropsWithoutRef<TComponent>, props?: never }\n)\n\ntype MenuActions<TGroup extends GroupName> = {\n\tregisterAction: ( args: MenuItem<TGroup, typeof Action> ) => void,\n\tregisterToggleAction: ( args: MenuItem<TGroup, typeof ToggleAction> ) => void,\n\tregisterLink: ( args: MenuItem<TGroup, typeof Link> ) => void,\n\tuseMenuItems: () => GroupedItems<TGroup>,\n}\n\nexport function createMenu<\n\tTGroup extends GroupName = 'default'\n>( groups: TGroup[] = [] ): MenuActions<MenuGroup<TGroup>> {\n\tconst menuGroups: MenuGroup<TGroup>[] = [\n\t\t...groups,\n\t\t'default' as const,\n\t];\n\n\tconst locations = menuGroups.reduce(\n\t\t( carry, group ) => ( {\n\t\t\t...carry,\n\t\t\t[ group ]: createLocation(),\n\t\t} ),\n\t\t{} as GroupLocationMap<TGroup>\n\t);\n\n\tconst [\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t] = [ Action, ToggleAction, Link ].map(\n\t\t( Component ) => createRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: Component,\n\t\t} )\n\t);\n\n\tconst useMenuItems = createUseMenuItems( locations );\n\n\treturn {\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t\tuseMenuItems,\n\t};\n}\n\nfunction createRegisterMenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n>( { locations, menuGroups, component }: {\n\tlocations: GroupLocationMap<TGroup>\n\tmenuGroups: MenuGroup<TGroup>[],\n\tcomponent: TComponent,\n} ) {\n\treturn ( { group = 'default', id, overwrite, priority, ...args }: MenuItem<MenuGroup<TGroup>, TComponent> ) => {\n\t\tif ( ! menuGroups.includes( group ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst useProps = 'props' in args ? () => args.props : args.useProps;\n\n\t\tconst Component = component as ElementType;\n\n\t\tconst InjectedComponent = ( props: object ) => {\n\t\t\tconst componentProps = useProps();\n\n\t\t\treturn <Component { ...props } { ...componentProps } />;\n\t\t};\n\n\t\tlocations[ group ].inject( {\n\t\t\tid,\n\t\t\tcomponent: InjectedComponent,\n\t\t\toptions: {\n\t\t\t\tpriority,\n\t\t\t\toverwrite,\n\t\t\t},\n\t\t} );\n\t};\n}\n\nfunction createUseMenuItems<TGroup extends GroupName>( locations : GroupLocationMap<TGroup> ) {\n\treturn () => {\n\t\t// Normalize the injections groups to an object with the groups as keys.\n\t\treturn useMemo( () => {\n\t\t\treturn Object.entries( locations ).reduce<GroupedItems<TGroup>>(\n\t\t\t\t( carry, [ groupName, location ] ) => {\n\t\t\t\t\tconst items = location.getInjections()\n\t\t\t\t\t\t.map( ( injection ) => ( {\n\t\t\t\t\t\t\tid: injection.id,\n\t\t\t\t\t\t\tMenuItem: injection.component,\n\t\t\t\t\t\t} ) );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...carry,\n\t\t\t\t\t\t[ groupName ]: items,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{} as GroupedItems<TGroup>\n\t\t\t);\n\t\t}, [] );\n\t};\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { createContext, PropsWithChildren, useContext } from 'react';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n}\n\nconst MenuContext = createContext<MenuContextValue>( { type: 'toolbar' } );\n\nexport function MenuContextProvider( { type, children }: PropsWithChildren<MenuContextValue> ) {\n\treturn (\n\t\t<MenuContext.Provider value={ { type } }>\n\t\t\t{ children }\n\t\t</MenuContext.Provider>\n\t);\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { Box, IconButton, IconButtonProps, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\n\nexport type ToolbarMenuItemProps = IconButtonProps & {\n\ttitle?: string;\n\tselected?: boolean;\n}\n\nexport default function ToolbarMenuItem( { title, ...props }: ToolbarMenuItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<IconButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\t'& .MuiSvgIcon-root': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\tcolor: 'text.primary',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn <BaseTooltip\n\t\tPopperProps={ {\n\t\t\tsx: {\n\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\tmt: 2,\n\t\t\t\t},\n\t\t\t},\n\t\t} }\n\t\t{ ...props }\n\t/>;\n}\n","import * as React from 'react';\nimport {\n\tMenuItem,\n\tMenuItemProps,\n\tListItemText,\n\tListItemIcon,\n\twithDirection,\n} from '@elementor/ui';\nimport { ArrowUpRightIcon } from '@elementor/icons';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n}\n\nexport type PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\n\nexport default function PopoverMenuItem( { text, icon, onClick, href, target, disabled, ...props }: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank';\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t\tsx={ {\n\t\t\t\t'&:hover': {\n\t\t\t\t\tcolor: 'text.primary', // Overriding global CSS from the editor.\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, ToggleButtonProps, Tooltip } from '@elementor/ui';\n\nexport type ToolbarMenuToggleItemProps = Omit<ToggleButtonProps, 'onChange'> & {\n\ttitle?: string;\n\tonClick?: () => void;\n}\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonChange={ onClick }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'& .MuiSvgIcon-root': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n}\n\nexport default function Link( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import { createMenu } from './menus';\nimport { createLocation } from '@elementor/locations';\n\nexport { createMenu } from './menus';\n\nexport const {\n\tinject: injectIntoPageIndication,\n\tSlot: PageIndicationSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoResponsive,\n\tSlot: ResponsiveSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoPrimaryAction,\n\tSlot: PrimaryActionSlot,\n} = createLocation();\n\nexport const mainMenu = createMenu( [ 'exits' ] );\n\nexport const toolsMenu = createMenu();\n\nexport const utilitiesMenu = createMenu();\n\nexport const integrationsMenu = createMenu();\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import * as React from 'react';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider } from '@elementor/ui';\nimport MainMenuLocation from './locations/main-menu-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ToolbarMenu from './ui/toolbar-menu';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport ResponsiveLocation from './locations/responsive-location';\n\nexport default function AppBar() {\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\">\n\t\t\t\t\t<Grid container>\n\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t<ToolsMenuLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t<ToolbarMenu spacing={ 1.5 }>\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"flex-end\">\n\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t</Box>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { usePopupState, bindMenu, bindTrigger, Stack, Divider } from '@elementor/ui';\nimport { mainMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo\n\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\tselected={ popupState.isOpen }\n\t\t\t/>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\n\t\t\t\t<IntegrationsMenuLocation key=\"integrations-location\" parentPopupState={ popupState } />\n\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, MenuProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps;\n\nexport default function PopoverMenu( { children, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 1.5 },\n\t\t\t\t} }\n\t\t\t\t{ ...props }\n\t\t\t\tMenuListProps={ {\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tdense: true,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { ToggleButton, ToggleButtonProps, SvgIconProps, SvgIcon, styled } from '@elementor/ui';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit<ToggleButtonProps, 'value'>;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpadding: 0,\n\tborder: 0,\n\tcolor: theme.palette.text.primary,\n\t'&.MuiToggleButton-root:hover': {\n\t\tbackgroundColor: 'initial',\n\t},\n\t'&.MuiToggleButton-root.Mui-selected': {\n\t\tbackgroundColor: 'initial',\n\t},\n} ) );\n\nconst StyledElementorLogo = styled( ElementorLogo, {\n\tshouldForwardProp: ( prop ) => prop !== 'showMenuIcon',\n} )<StyledElementorLogoProps>( ( { theme, showMenuIcon } ) => ( {\n\t'& path': {\n\t\tfill: theme.palette.background.default,\n\t\ttransition: 'all 0.2s linear',\n\t\ttransformOrigin: 'bottom left',\n\t\t'&:first-of-type': {\n\t\t\ttransitionDelay: ! showMenuIcon && '0.2s',\n\t\t\ttransform: showMenuIcon && 'translateY(-9px) scaleY(0)',\n\t\t},\n\t\t'&:not(:first-of-type)': {\n\t\t\t// Emotion automatically change 4 to -4 in RTL moode.\n\t\t\ttransform: ! showMenuIcon && `translateX(${ theme.direction === 'rtl' ? '4' : '9' }px) scaleX(0.6)`,\n\t\t},\n\t\t'&:nth-of-type(2)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0' : '0.2s',\n\t\t},\n\t\t'&:nth-of-type(3)': {\n\t\t\ttransitionDelay: '0.1s',\n\t\t},\n\t\t'&:nth-of-type(4)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0.2s' : '0',\n\t\t},\n\t},\n} ) );\n\nexport default function ToolbarLogo( props: ToolbarLogoProps ) {\n\tconst [ isHoverState, setIsHoverState ] = useState( false );\n\tconst showMenuIcon = props.selected || isHoverState;\n\n\treturn (\n\t\t<StyledToggleButton\n\t\t\t{ ...props }\n\t\t\tvalue=\"selected\"\n\t\t\tsize=\"large\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo\n\t\t\t\tfontSize=\"large\"\n\t\t\t\tshowMenuIcon={ showMenuIcon }\n\t\t\t\ttitleAccess={ __( 'Elementor Logo', 'elementor' ) }\n\t\t\t/>\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\nimport { integrationsMenu } from '../../locations';\nimport {\n\tbindMenu,\n\tDivider,\n\tListItemIcon,\n\tListItemText,\n\tMenuItem,\n\tusePopupState,\n\tbindHover,\n\tbindFocus,\n\twithDirection,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { ChevronRightIcon, PlugIcon } from '@elementor/icons';\nimport PopoverSubMenu from '../ui/popover-sub-menu';\n\ntype Props = {\n\tparentPopupState: ReturnType<typeof usePopupState>;\n}\n\nconst { useMenuItems } = integrationsMenu;\n\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function IntegrationsMenuLocation( { parentPopupState }: Props ) {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tparentPopupState,\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Divider />\n\t\t\t<MenuItem\n\t\t\t\t{ ...bindHover( popupState ) }\n\t\t\t\t{ ...bindFocus( popupState ) }\n\t\t\t>\n\t\t\t\t<ListItemIcon>\n\t\t\t\t\t<PlugIcon />\n\t\t\t\t</ListItemIcon>\n\t\t\t\t<ListItemText primary={ __( 'Integrations', 'elementor' ) } />\n\t\t\t\t<DirectionalChevronIcon />\n\t\t\t\t<PopoverSubMenu { ...bindMenu( popupState ) } onClick={ popupState.close }>\n\t\t\t\t\t{ menuItems.default.map(\n\t\t\t\t\t\t( { MenuItem: IntegrationsMenuItem, id } ) => <IntegrationsMenuItem key={ id } />\n\t\t\t\t\t) }\n\t\t\t\t</PopoverSubMenu>\n\t\t\t</MenuItem>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport PopoverMenu, { PopoverMenuProps } from './popover-menu';\nimport { useTheme } from '@elementor/ui';\n\nexport default function PopoverSubMenu( { children, ...props }: PopoverMenuProps ) {\n\tconst theme = useTheme();\n\tconst isRTL = theme.direction === 'rtl';\n\n\treturn (\n\t\t<PopoverMenu\n\t\t\tsx={ { pointerEvents: 'none' } }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t// This is a workaround to support RTL in PopoverMenu, since it doesn't support it yet.\n\t\t\t\t\t...( isRTL\n\t\t\t\t\t\t? { marginInlineEnd: -2 }\n\t\t\t\t\t\t: { marginInlineStart: 2 }\n\t\t\t\t\t),\n\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t},\n\t\t\t} }\n\t\t\tanchorOrigin={ { vertical: 'center', horizontal: isRTL ? 'left' : 'right' } }\n\t\t\ttransformOrigin={ { vertical: 'center', horizontal: isRTL ? 'right' : 'left' } }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</PopoverMenu>\n\t);\n}\n","import * as React from 'react';\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, StackProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 1.5 } } spacing={ 1.5 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { PropsWithChildren } from 'react';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport ToolbarMenuItem from './toolbar-menu-item';\nimport { __ } from '@wordpress/i18n';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport PopoverMenu from './popover-menu';\n\nexport type ToolbarMenuMoreProps = PropsWithChildren<{\n\tid: string;\n}>\n\nexport default function ToolbarMenuMore( { children, id }: ToolbarMenuMoreProps ) {\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: id,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'More', 'elementor' ) }>\n\t\t\t\t<DotsVerticalIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) }>\n\t\t\t\t{ children }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport { utilitiesMenu } from '../../locations';\nimport { Divider } from '@elementor/ui';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 3;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map(\n\t\t\t\t( { MenuItem, id }, index ) => (\n\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t\t<MenuItem />\n\t\t\t\t\t</Fragment>\n\t\t\t\t)\n\t\t\t) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn (\n\t\t<PrimaryActionSlot />\n\t);\n}\n","import * as React from 'react';\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn (\n\t\t<PageIndicationSlot />\n\t);\n}\n","import * as React from 'react';\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn (\n\t\t<ResponsiveSlot />\n\t);\n}\n","import AppBar from './components/app-bar';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { __privateListenTo as listenTo, __privateOpenRoute as openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useHostDocument as useHostDocument } from '@elementor/editor-documents';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => openRoute( 'panel/page-settings/settings' ) }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn <BaseTooltip\n\t\tPopperProps={ {\n\t\t\tsx: {\n\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\tmt: 1.7,\n\t\t\t\t},\n\t\t\t},\n\t\t} }\n\t\t{ ...props }\n\t/>;\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => document && runCommand( 'editor/documents/preview', {\n\t\t\tid: document.id,\n\t\t\tforce: true,\n\t\t} ),\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { saveDraft } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FolderIcon } from '@elementor/icons';\nimport { __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport { __privateUseIsPreviewMode as useIsPreviewMode } from '@elementor/editor-v1-adapters';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\tconst isPreviewMode = useIsPreviewMode();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = isPreviewMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = isPreviewMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => ! document.isSaving && save() }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { documentOptionsMenu } from '../../../locations';\nimport PopoverMenu, { PopoverMenuProps } from '../../../components/ui/popover-menu';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers when a group is rendered empty (due to a limitation in our locations' mechanism).\n// It doesn't cover all the cases (i.e. when there are multiple dividers at the end), but it's good enough for our use-case.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root > .MuiDivider-root {\n\t\t&:only-child, /* A divider is being rendered lonely */\n\t\t&:last-child, /* The last group renders empty but renders a divider */\n\t\t& + .MuiDivider-root /* Multiple dividers due to multiple empty groups */ {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { documentOptionsMenu, injectIntoPrimaryAction } from '../../locations';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport PrimaryAction from './components/primary-action';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\t// Documents options menu.\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10, // Before save as template.\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20, // After save draft.\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateIsRouteActive as isRouteActive, __privateListenTo as listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => openRoute( 'panel/elements/categories' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => runCommand( 'finder/toggle' ),\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { utilitiesMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => openRoute( 'panel/history/actions' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => runCommand( 'shortcuts/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { __privateIsRouteActive as isRouteActive, routeCloseEvent, routeOpenEvent, __privateUseListenTo as useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { __useActiveDocument as useActiveDocument, __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '../../../types';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => (\n\t\t\tisActive\n\t\t\t\t? runCommand( 'panel/global/close' )\n\t\t\t\t: runCommand( 'panel/global/open' )\n\t\t),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { __privateRunCommand as runCommand, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => runCommand( 'navigator/toggle' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => runCommand( 'app/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '../../../types';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { __privateOpenRoute as openRoute, __privateUseRouteStatus as useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => openRoute( 'panel/editor-preferences' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { mainMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n","export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tdocumentOptionsMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nimport init from './init';\n\ninit();\n"],"mappings":"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","names":["React","React","React","React","React","React","Box","Tooltip","React","useMenuItems","createLocation","React","Box","Divider","React","usePopupState","bindMenu","Divider","React","React","ToggleButton","React","ListItemIcon","ListItemText","MenuItem","withDirection","__","React","withDirection","MenuItem","ListItemIcon","ListItemText","__","useMenuItems","usePopupState","bindMenu","MenuItem","Divider","React","React","Stack","Stack","React","bindMenu","bindTrigger","usePopupState","__","usePopupState","bindTrigger","__","bindMenu","useMenuItems","MenuItem","React","Fragment","Divider","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","Fragment","Divider","React","React","React","Box","Divider","injectIntoTop","React","Box","ToggleButton","BaseTooltip","__","openRoute","document","Tooltip","__","useActiveDocument","document","init","__","useActiveDocument","document","__","useActiveDocumentActions","React","__","React","Divider","styled","useMenuItems","styled","MenuItem","Divider","bindMenu","bindTrigger","Box","Tooltip","usePopupState","useActiveDocument","useActiveDocumentActions","document","__","init","__","listenTo","routeOpenEvent","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","init","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useActionProps","init","useActionProps","React","React","isRouteActive","routeOpenEvent","React","useActiveDocument","useActiveDocumentActions","Button","CircularProgress","__","PrimaryAction","document","PrimaryAction","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useActionProps","init","useActionProps","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","useActiveDocument","init","document","init","init","injectIntoTop","init"]}
|