@elementor/editor-app-bar 0.17.0 → 0.18.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 CHANGED
@@ -1,8 +1,22 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.18.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 52cc8ba: Adjust the limitation for amount of icons on the top-bar
8
+
9
+ ### Patch Changes
10
+
11
+ - 44d49dd: Update `@elementor/ui` version
12
+
3
13
  All notable changes to this project will be documented in this file.
4
14
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
15
 
16
+ ## [0.17.1](https://github.com/elementor/elementor-packages/compare/@elementor/editor-app-bar@0.17.0...@elementor/editor-app-bar@0.17.1) (2024-08-20)
17
+
18
+ **Note:** Version bump only for package @elementor/editor-app-bar
19
+
6
20
  # [0.17.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor-app-bar@0.16.1...@elementor/editor-app-bar@0.17.0) (2024-08-14)
7
21
 
8
22
  ### Features
package/dist/index.d.mts CHANGED
@@ -78,4 +78,4 @@ declare const integrationsMenu: MenuActions<"default">;
78
78
 
79
79
  declare const documentOptionsMenu: MenuActions<"default" | "save">;
80
80
 
81
- export { Props$3 as ActionProps, Props$1 as LinkProps, Props$2 as ToggleActionProps, documentOptionsMenu, injectIntoPageIndication, injectIntoPrimaryAction, injectIntoResponsive, integrationsMenu, mainMenu, toolsMenu, utilitiesMenu };
81
+ export { type Props$3 as ActionProps, type Props$1 as LinkProps, type Props$2 as ToggleActionProps, documentOptionsMenu, injectIntoPageIndication, injectIntoPrimaryAction, injectIntoResponsive, integrationsMenu, mainMenu, toolsMenu, utilitiesMenu };
package/dist/index.d.ts CHANGED
@@ -78,4 +78,4 @@ declare const integrationsMenu: MenuActions<"default">;
78
78
 
79
79
  declare const documentOptionsMenu: MenuActions<"default" | "save">;
80
80
 
81
- export { Props$3 as ActionProps, Props$1 as LinkProps, Props$2 as ToggleActionProps, documentOptionsMenu, injectIntoPageIndication, injectIntoPrimaryAction, injectIntoResponsive, integrationsMenu, mainMenu, toolsMenu, utilitiesMenu };
81
+ export { type Props$3 as ActionProps, type Props$1 as LinkProps, type Props$2 as ToggleActionProps, documentOptionsMenu, injectIntoPageIndication, injectIntoPrimaryAction, injectIntoResponsive, integrationsMenu, mainMenu, toolsMenu, utilitiesMenu };
package/dist/index.js CHANGED
@@ -564,8 +564,9 @@ var MAX_TOOLBAR_ACTIONS2 = 4;
564
564
  var { useMenuItems: useMenuItems4 } = utilitiesMenu;
565
565
  function UtilitiesMenuLocation() {
566
566
  const menuItems = useMenuItems4();
567
- const toolbarMenuItems = menuItems.default.slice(0, MAX_TOOLBAR_ACTIONS2);
568
- const popoverMenuItems = menuItems.default.slice(MAX_TOOLBAR_ACTIONS2);
567
+ const shouldUsePopover = menuItems.default.length > MAX_TOOLBAR_ACTIONS2 + 1;
568
+ const toolbarMenuItems = shouldUsePopover ? menuItems.default.slice(0, MAX_TOOLBAR_ACTIONS2) : menuItems.default;
569
+ const popoverMenuItems = shouldUsePopover ? menuItems.default.slice(MAX_TOOLBAR_ACTIONS2) : [];
569
570
  return /* @__PURE__ */ React18.createElement(ToolbarMenu, null, toolbarMenuItems.map(({ MenuItem: MenuItem2, id }, index) => /* @__PURE__ */ React18.createElement(import_react5.Fragment, { key: id }, index === 0 && /* @__PURE__ */ React18.createElement(import_ui12.Divider, { orientation: "vertical" }), /* @__PURE__ */ React18.createElement(MenuItem2, null))), popoverMenuItems.length > 0 && /* @__PURE__ */ React18.createElement(ToolbarMenuMore, { id: "elementor-editor-app-bar-utilities-more" }, popoverMenuItems.map(({ MenuItem: MenuItem2, id }) => /* @__PURE__ */ React18.createElement(MenuItem2, { key: id }))));
570
571
  }
571
572
 
@@ -1044,8 +1045,8 @@ function useActionProps3() {
1044
1045
  function init5() {
1045
1046
  utilitiesMenu.registerAction({
1046
1047
  id: "toggle-finder",
1047
- priority: 10,
1048
- // Before help.
1048
+ priority: 15,
1049
+ // Before Preview.
1049
1050
  useProps: useActionProps3
1050
1051
  });
1051
1052
  }
@@ -1056,8 +1057,8 @@ var import_icons13 = require("@elementor/icons");
1056
1057
  function init6() {
1057
1058
  utilitiesMenu.registerLink({
1058
1059
  id: "open-help-center",
1059
- priority: 20,
1060
- // After Finder.
1060
+ priority: 30,
1061
+ // After Preview.
1061
1062
  useProps: () => {
1062
1063
  return {
1063
1064
  title: (0, import_i18n14.__)("Help", "elementor"),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../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/components/actions/actions-group.tsx","../src/components/ui/popover-sub-menu.tsx","../src/components/ui/popover-menu.tsx","../src/locations/index.ts","../src/extensions/documents-save/locations.ts","../src/components/app-bar.tsx","../src/components/locations/main-menu-location.tsx","../src/components/ui/toolbar-logo.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/integrations-menu-location.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/hooks/use-document-view-page-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts","../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/responsive/components/breakpoints-switcher.tsx","../src/extensions/responsive/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"],"sourcesContent":["export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nexport { documentOptionsMenu } from './extensions/documents-save/locations';\n\nexport type { ActionProps, LinkProps, ToggleActionProps } from './types';\n\nimport init from './init';\n\ninit();\n","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';\nimport ActionsGroup from '../components/actions/actions-group';\n\ntype GroupName = string;\n\ntype MenuGroup< TGroup extends GroupName > = TGroup | 'default';\n\nexport type ItemsArray = Array< { id: string; MenuItem: ElementType } >;\ntype GroupedItems< TGroup extends GroupName > = Record< MenuGroup< TGroup >, ItemsArray >;\n\ntype GroupLocationMap< TGroup extends GroupName > = Record< MenuGroup< TGroup >, Location >;\n\ntype ItemConfigProps< TComponent extends ElementType > = Omit< ComponentPropsWithoutRef< TComponent >, 'items' >;\n\ntype MenuItem< TGroup extends GroupName, TComponent extends ElementType > = {\n\tid: string;\n\tgroup?: TGroup;\n\tpriority?: number;\n\toverwrite?: boolean;\n} & (\n\t| { props: ItemConfigProps< TComponent >; useProps?: never }\n\t| { useProps: () => ItemConfigProps< TComponent >; props?: never }\n);\n\nexport type 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\tregisterSubMenu: ( args: MenuItem< 'default', typeof ActionsGroup > ) => MenuActions< 'default' >;\n\tuseMenuItems: () => GroupedItems< TGroup >;\n};\n\nexport function createMenu< TGroup extends GroupName = 'default' >(\n\tgroups: TGroup[] = []\n): MenuActions< MenuGroup< TGroup > > {\n\tconst menuGroups: MenuGroup< TGroup >[] = [ ...groups, 'default' as const ];\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 [ registerAction, registerToggleAction, registerLink ] = [ Action, ToggleAction, Link ].map( ( Component ) =>\n\t\tcreateRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: Component,\n\t\t} )\n\t);\n\tconst useMenuItems = createUseMenuItems( locations );\n\n\tconst registerSubMenu = createRegisterSubMenu( {\n\t\tlocations,\n\t\tmenuGroups,\n\t} );\n\n\treturn {\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t\tregisterSubMenu,\n\t\tuseMenuItems,\n\t};\n}\n\nfunction createRegisterMenuItem< TGroup extends GroupName, TComponent extends ElementType >( {\n\tlocations,\n\tmenuGroups,\n\tcomponent,\n\tuseMenuItems,\n}: {\n\tlocations: GroupLocationMap< TGroup >;\n\tmenuGroups: MenuGroup< TGroup >[];\n\tcomponent: TComponent;\n\tuseMenuItems?: () => ItemsArray;\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\t/**\n\t\t\t * if passing useMenuItems - it's to use the menu item as a group parent\n\t\t\t * in such case we'd also pass the id in case it's needed to wrap the group by\n\t\t\t */\n\t\t\tconst items = useMenuItems?.();\n\t\t\tif ( items?.length ) {\n\t\t\t\treturn <Component { ...props } { ...componentProps } items={ items } />;\n\t\t\t}\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 createRegisterSubMenu< TGroup extends GroupName >( {\n\tlocations,\n\tmenuGroups,\n}: {\n\tlocations: GroupLocationMap< TGroup >;\n\tmenuGroups: MenuGroup< TGroup >[];\n} ) {\n\treturn ( args: MenuItem< MenuGroup< 'default' >, typeof ActionsGroup > ) => {\n\t\tconst menu = createMenu();\n\n\t\tcreateRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: ActionsGroup,\n\t\t\tuseMenuItems: () => menu.useMenuItems().default,\n\t\t} )( args );\n\n\t\treturn menu;\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 > >( ( carry, [ groupName, location ] ) => {\n\t\t\t\tconst items = location.getInjections().map( ( injection ) => ( {\n\t\t\t\t\tid: injection.id,\n\t\t\t\t\tMenuItem: injection.component,\n\t\t\t\t} ) );\n\n\t\t\t\treturn {\n\t\t\t\t\t...carry,\n\t\t\t\t\t[ groupName ]: items,\n\t\t\t\t};\n\t\t\t}, {} as GroupedItems< TGroup > );\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 { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { createContext, PropsWithChildren, useContext } from 'react';\nimport { PopupState } from '@elementor/ui';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n\tpopupState?: PopupState;\n};\n\nconst MenuContext = createContext< MenuContextValue >( {\n\ttype: 'toolbar',\n} );\n\nexport function MenuContextProvider( { type, popupState, children }: PropsWithChildren< MenuContextValue > ) {\n\treturn <MenuContext.Provider value={ { type, popupState } }>{ children }</MenuContext.Provider>;\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'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\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 (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { MenuItem, MenuItemProps, ListItemText, ListItemIcon, withDirection } from '@elementor/ui';\nimport { ArrowUpRightIcon, ChevronRightIcon } from '@elementor/icons';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n\tisGroupParent?: boolean;\n};\n\nexport type PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function PopoverMenuItem( {\n\ttext,\n\ticon,\n\tonClick,\n\thref,\n\ttarget,\n\tdisabled,\n\tisGroupParent,\n\t...props\n}: 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\t{ isGroupParent && <DirectionalChevronIcon /> }\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 { ...props } text={ title } icon={ <Icon /> } />\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'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\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 { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType, useId } from 'react';\nimport PopoverSubMenu from '../ui/popover-sub-menu';\nimport { bindFocus, bindHover, bindMenu, bindPopover, bindTrigger, usePopupState } from '@elementor/ui';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenu from '../ui/popover-menu';\nimport type { ItemsArray } from '../../locations/menus';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\titems: ItemsArray;\n};\n\nexport default function ActionsGroup( { icon: Icon, title, visible = true, items, ...props }: Props ) {\n\tconst groupId = useId();\n\tconst { type, popupState: parentPopupState } = useMenuContext();\n\tconst popupState = usePopupState( {\n\t\tparentPopupState,\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-actions-group-' + groupId,\n\t} );\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\tif ( type === 'toolbar' ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ title } { ...props }>\n\t\t\t\t\t<Icon />\n\t\t\t\t</ToolbarMenuItem>\n\t\t\t\t<PopoverMenu\n\t\t\t\t\tonClick={ popupState.close }\n\t\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\t\tmarginThreshold={ 8 }\n\t\t\t\t\topen={ popupState.isOpen }\n\t\t\t\t\tpopupState={ popupState }\n\t\t\t\t>\n\t\t\t\t\t{ items.map( ( { MenuItem, id: key } ) => (\n\t\t\t\t\t\t<MenuItem key={ key } />\n\t\t\t\t\t) ) }\n\t\t\t\t</PopoverMenu>\n\t\t\t</>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<PopoverMenuItem\n\t\t\t\t{ ...props }\n\t\t\t\t{ ...bindHover( popupState ) }\n\t\t\t\t{ ...bindFocus( popupState ) }\n\t\t\t\ttext={ title }\n\t\t\t\ticon={ <Icon /> }\n\t\t\t\tisGroupParent\n\t\t\t/>\n\t\t\t<PopoverSubMenu { ...props } { ...bindPopover( popupState ) } popupState={ popupState }>\n\t\t\t\t{ items.map( ( { MenuItem, id: key } ) => (\n\t\t\t\t\t<MenuItem key={ key } />\n\t\t\t\t) ) }\n\t\t\t</PopoverSubMenu>\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 ? { marginInlineEnd: -1 } : { marginInlineStart: 1 } ),\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 { Menu, MenuProps, PopupState } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps & {\n\tpopupState?: PopupState;\n};\n\nexport default function PopoverMenu( { children, popupState, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' } popupState={ popupState }>\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 { createMenu } from './menus';\nimport { createLocation } from '@elementor/locations';\n\nexport { createMenu } from './menus';\n\nexport const { inject: injectIntoPageIndication, Slot: PageIndicationSlot } = createLocation();\n\nexport const { inject: injectIntoResponsive, Slot: ResponsiveSlot } = createLocation();\n\nexport const { inject: injectIntoPrimaryAction, Slot: PrimaryActionSlot } = createLocation();\n\nexport const mainMenu = createMenu( [ 'exits' ] );\n\nexport const toolsMenu = createMenu();\n\nexport const utilitiesMenu = createMenu();\n\nexport const integrationsMenu = createMenu();\n","import { createMenu } from '../../locations';\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import * as React from 'react';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider, Toolbar } 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';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport default function AppBar() {\n\tconst document = useActiveDocument();\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Toolbar disableGutters variant=\"dense\">\n\t\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\" flexGrow={ 1 }>\n\t\t\t\t\t\t<Grid container>\n\t\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t\t{ document?.permissions?.allowAddingWidgets && <ToolsMenuLocation /> }\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t\t<ToolbarMenu spacing={ 1.5 }>\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"flex-end\">\n\t\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t</Box>\n\t\t\t\t</Toolbar>\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 { ExtendedWindow } from '../../types';\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\tconst toolbarLogoProps = bindTrigger( popupState );\n\n\tconst onToolbarClick: React.MouseEventHandler = ( e ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.elementorLogoDropdown, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\ttrigger: config.triggers.dropdownClick,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t} );\n\t\t}\n\n\t\ttoolbarLogoProps.onClick( e );\n\t};\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo { ...toolbarLogoProps } onClick={ onToolbarClick } selected={ popupState.isOpen } />\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) } marginThreshold={ 8 }>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\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 { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\nimport IntegrationsMenuLocation from './integrations-menu-location';\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 } ) => (\n\t\t\t\t<MenuItem key={ id } />\n\t\t\t) ) }\n\t\t\t<IntegrationsMenuLocation />\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 } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\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 { integrationsMenu } from '../../locations';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { PlugIcon } from '@elementor/icons';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nconst { useMenuItems } = integrationsMenu;\n\nexport default function IntegrationsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\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<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'Integrations', 'elementor' ) }>\n\t\t\t\t<PlugIcon />\n\t\t\t</ToolbarMenuItem>\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\topen={ popupState.isOpen }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem: IntegrationsMenuItem, id } ) => (\n\t\t\t\t\t<IntegrationsMenuItem key={ id } />\n\t\t\t\t) ) }\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 = 4;\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( ( { MenuItem, id }, index ) => (\n\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t<MenuItem />\n\t\t\t\t</Fragment>\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 } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\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 <PrimaryActionSlot />;\n}\n","import * as React from 'react';\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn <PageIndicationSlot />;\n}\n","import * as React from 'react';\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn <ResponsiveSlot />;\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 {\n\t__privateListenTo as listenTo,\n\t__privateOpenRoute as openRoute,\n\trouteOpenEvent,\n} 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 {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useHostDocument as useHostDocument,\n} from '@elementor/editor-documents';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit' ? activeDocument : 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' ).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={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.documentSettings, {\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'document-settings' ],\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\topenRoute( 'panel/page-settings/settings' );\n\t\t\t\t\t} }\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 (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 1.7,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\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';\nimport { ExtendedWindow } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.previewPage, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'preview-page' ],\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( document ) {\n\t\t\t\trunCommand( 'editor/documents/preview', {\n\t\t\t\t\tid: document.id,\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\t\t\t}\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 {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} 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 { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useDocumentViewPageProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'View Page', 'elementor' ),\n\t\tonClick: () =>\n\t\t\tdocument?.id &&\n\t\t\trunCommand( 'editor/documents/view', {\n\t\t\t\tid: document.id,\n\t\t\t} ),\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 {\n\tDocument,\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport { __privateUseIsPreviewMode as useIsPreviewMode } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\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={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.publishButton, {\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'publish-button' ],\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.mainCta,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( ! document.isSaving ) {\n\t\t\t\t\t\t\tsave();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\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 ? __( 'Publish', 'elementor' ) : __( '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 { default as PopoverMenu, PopoverMenuProps } from '../../../components/ui/popover-menu';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers for empty menu items, due to a limitation in the locations' mechanism.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root {\n\t\t& > .MuiDivider-root {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > *:not( .MuiDivider-root ):not( :last-of-type ) + .MuiDivider-root {\n\t\t\tdisplay: block;\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\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\n\t\t\t{ saveActions.length > 0 && defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { LinkIcon } from '@elementor/icons';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\n\nexport default function useDocumentCopyAndShareProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { copyAndShare } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: LinkIcon,\n\t\ttitle: __( 'Copy and Share', 'elementor' ),\n\t\tonClick: copyAndShare,\n\t\tdisabled:\n\t\t\t! document || document.isSaving || document.isSavingDraft || ! ( 'publish' === document.status.value ),\n\t\tvisible: document?.permissions?.showCopyAndShare,\n\t};\n}\n","import { injectIntoPrimaryAction } from '../../locations';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport useDocumentViewPageProps from './hooks/use-document-view-page-props';\nimport PrimaryAction from './components/primary-action';\nimport { documentOptionsMenu } from './locations';\nimport useDocumentCopyAndShareProps from './hooks/use-document-copy-and-share-props';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10,\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,\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-copy-and-share',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentCopyAndShareProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-view-page',\n\t\tpriority: 50,\n\t\tuseProps: useDocumentViewPageProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateListenTo as listenTo,\n\trouteOpenEvent,\n\tv1ReadyEvent,\n} 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( routeOpenEvent( 'panel/elements' ), () => {\n\t\tsetPanelTitle( panelTitle );\n\t\tsetTabTitle( tabTitle );\n\t} );\n\n\tlistenTo( v1ReadyEvent(), () => {\n\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\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 {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.widgetPanel, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'widget-panel' ],\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/elements/categories' );\n\t\t},\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 {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.finder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.finder,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'finder/toggle' );\n\t\t},\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';\nimport { ExtendedWindow } from '../../types';\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\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.help, {\n\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.help,\n\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.history, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/history/actions' );\n\t\t},\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 { KeyboardIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow, ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.keyboardShortcuts, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'shortcuts/open' );\n\t\t},\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 * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { ExtendedWindow } from '../../../types';\nimport { Tab, Tabs, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\nimport {\n\tuseBreakpoints,\n\tuseActivateBreakpoint,\n\tuseActiveBreakpoint,\n\ttype BreakpointId,\n} from '@elementor/editor-responsive';\nimport {\n\tDesktopIcon,\n\tTabletPortraitIcon,\n\tMobilePortraitIcon,\n\tWidescreenIcon,\n\tLaptopIcon,\n\tTabletLandscapeIcon,\n\tMobileLandscapeIcon,\n} from '@elementor/icons';\n\nexport default function BreakpointsSwitcher() {\n\tconst breakpoints = useBreakpoints();\n\tconst activeBreakpoint = useActiveBreakpoint();\n\tconst activateBreakpoint = useActivateBreakpoint();\n\n\tif ( ! breakpoints.length || ! activeBreakpoint ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( _: unknown, value: BreakpointId ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.responsiveControls, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.responsiveControls,\n\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\tmode: value,\n\t\t\t} );\n\t\t}\n\n\t\tactivateBreakpoint( value );\n\t};\n\n\treturn (\n\t\t<Tabs\n\t\t\ttextColor=\"inherit\"\n\t\t\tindicatorColor=\"secondary\"\n\t\t\tvalue={ activeBreakpoint }\n\t\t\tonChange={ onChange }\n\t\t\taria-label={ __( 'Switch Device', 'elementor' ) }\n\t\t\tsx={ {\n\t\t\t\t'& .MuiTabs-indicator': {\n\t\t\t\t\tbackgroundColor: 'text.primary',\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t{ breakpoints.map( ( { id, label, type, width } ) => {\n\t\t\t\tconst Icon = iconsMap[ id ];\n\n\t\t\t\tconst title = labelsMap[ type || 'default' ]\n\t\t\t\t\t.replace( '%s', label )\n\t\t\t\t\t.replace( '%d', width?.toString() || '' );\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tab\n\t\t\t\t\t\tvalue={ id }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<Tooltip title={ title }>\n\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsx={ { minWidth: 'auto' } }\n\t\t\t\t\t\tdata-testid={ `switch-device-to-${ id }` }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Tabs>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2.5,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nconst iconsMap = {\n\twidescreen: WidescreenIcon,\n\tdesktop: DesktopIcon,\n\tlaptop: LaptopIcon,\n\ttablet_extra: TabletLandscapeIcon,\n\ttablet: TabletPortraitIcon,\n\tmobile_extra: MobileLandscapeIcon,\n\tmobile: MobilePortraitIcon,\n};\n\nconst labelsMap = {\n\tdefault: '%s',\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'min-width': __( '%s (%dpx and up)', 'elementor' ),\n\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'max-width': __( '%s (up to %dpx)', 'elementor' ),\n} as const;\n","import { injectIntoResponsive } from '../../locations';\nimport BreakpointsSwitcher from './components/breakpoints-switcher';\n\nexport function init() {\n\tinjectIntoResponsive( {\n\t\tid: 'responsive-breakpoints-switcher',\n\t\tcomponent: BreakpointsSwitcher,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indication.\n\t\t},\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 {\n\t__privateIsRouteActive as isRouteActive,\n\trouteCloseEvent,\n\trouteOpenEvent,\n\t__privateUseListenTo as useListenTo,\n} from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit< PortalProps, 'container' > ) {\n\tconst containerRef = useListenTo(\n\t\t[ routeOpenEvent( 'panel/global' ), routeCloseEvent( 'panel/global' ) ],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn <BasePortal container={ containerRef.current } { ...props } />;\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 {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} 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\n\t\t\tsx={ {\n\t\t\t\tpx: 5,\n\t\t\t\tpy: 4,\n\t\t\t\tborderTop: 1,\n\t\t\t\tborderColor: 'divider',\n\t\t\t} }\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{ document?.isSaving ? <CircularProgress /> : __( 'Save Changes', 'elementor' ) }\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\nimport { ExtendedWindow, ToggleActionProps } from '../../../types';\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\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.siteSettings, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.siteSettings,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( isActive ) {\n\t\t\t\trunCommand( 'panel/global/close' );\n\t\t\t} else {\n\t\t\t\trunCommand( 'panel/global/open' );\n\t\t\t}\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ExtendedWindow, 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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.structure, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.structure,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'navigator/toggle' );\n\t\t},\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 { ExtendedWindow, ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.themeBuilder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'app/open' );\n\t\t},\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 { ToggleRightIcon } from '@elementor/icons';\nimport {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow, ToggleActionProps } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.userPreferences, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/editor-preferences' );\n\t\t},\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';\nimport { ExtendedWindow } from '../../types';\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\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\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.exitToWordpress, {\n\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\telement: config.elements.link,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t},\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 initResponsive } from './responsive';\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\tinitResponsive();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n"],"mappings":"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","names":["React","import_react","React","React","BaseTooltip","React","import_ui","React","React","import_ui","React","React","import_react","React","React","import_ui","import_ui","import_ui","MenuItem","useMenuItems","import_locations","React","import_ui","React","import_ui","React","import_react","import_ui","MenuItem","React","React","import_ui","React","import_ui","import_i18n","import_icons","React","import_ui","import_i18n","import_icons","useMenuItems","useMenuItems","MenuItem","React","import_react","import_ui","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","React","React","React","document","useActiveDocument","BaseAppBar","import_editor","listenTo","openRoute","React","import_ui","import_i18n","import_editor_v1_adapters","import_icons","import_editor_documents","useActiveDocument","useHostDocument","document","useRouteStatus","Tooltip","openRoute","BaseTooltip","import_i18n","import_icons","import_editor_v1_adapters","import_editor_documents","document","useActiveDocument","runCommand","init","import_i18n","import_icons","import_editor_documents","document","useActiveDocument","useActiveDocumentActions","import_i18n","import_icons","import_editor_documents","useActiveDocumentActions","import_i18n","import_icons","import_editor_documents","import_editor_v1_adapters","document","useActiveDocument","runCommand","React","import_i18n","React","import_ui","useMenuItems","MenuItem","import_ui","import_editor_documents","import_icons","import_editor_v1_adapters","document","useActiveDocument","useActiveDocumentActions","useIsPreviewMode","import_i18n","import_icons","import_editor_documents","document","useActiveDocument","useActiveDocumentActions","init","import_i18n","import_editor_v1_adapters","listenTo","isRouteActive","import_icons","import_i18n","import_editor_v1_adapters","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_i18n","import_icons","init","import_icons","import_i18n","import_editor_v1_adapters","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","runCommand","init","useActionProps","React","import_i18n","import_ui","import_icons","Tooltip","BaseTooltip","init","React","React","import_ui","import_editor_v1_adapters","useListenTo","BasePortal","isRouteActive","React","import_editor_documents","import_ui","import_i18n","PrimaryAction","document","useActiveDocument","useActiveDocumentActions","PrimaryAction","import_i18n","import_editor_v1_adapters","import_icons","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_i18n","import_editor_v1_adapters","import_icons","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","runCommand","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_i18n","import_icons","import_editor_documents","init","document","useActiveDocument","init","init","init"]}
1
+ {"version":3,"sources":["../src/index.ts","../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/components/actions/actions-group.tsx","../src/components/ui/popover-sub-menu.tsx","../src/components/ui/popover-menu.tsx","../src/locations/index.ts","../src/extensions/documents-save/locations.ts","../src/components/app-bar.tsx","../src/components/locations/main-menu-location.tsx","../src/components/ui/toolbar-logo.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/integrations-menu-location.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/hooks/use-document-view-page-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts","../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/responsive/components/breakpoints-switcher.tsx","../src/extensions/responsive/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"],"sourcesContent":["export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nexport { documentOptionsMenu } from './extensions/documents-save/locations';\n\nexport type { ActionProps, LinkProps, ToggleActionProps } from './types';\n\nimport init from './init';\n\ninit();\n","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';\nimport ActionsGroup from '../components/actions/actions-group';\n\ntype GroupName = string;\n\ntype MenuGroup< TGroup extends GroupName > = TGroup | 'default';\n\nexport type ItemsArray = Array< { id: string; MenuItem: ElementType } >;\ntype GroupedItems< TGroup extends GroupName > = Record< MenuGroup< TGroup >, ItemsArray >;\n\ntype GroupLocationMap< TGroup extends GroupName > = Record< MenuGroup< TGroup >, Location >;\n\ntype ItemConfigProps< TComponent extends ElementType > = Omit< ComponentPropsWithoutRef< TComponent >, 'items' >;\n\ntype MenuItem< TGroup extends GroupName, TComponent extends ElementType > = {\n\tid: string;\n\tgroup?: TGroup;\n\tpriority?: number;\n\toverwrite?: boolean;\n} & (\n\t| { props: ItemConfigProps< TComponent >; useProps?: never }\n\t| { useProps: () => ItemConfigProps< TComponent >; props?: never }\n);\n\nexport type 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\tregisterSubMenu: ( args: MenuItem< 'default', typeof ActionsGroup > ) => MenuActions< 'default' >;\n\tuseMenuItems: () => GroupedItems< TGroup >;\n};\n\nexport function createMenu< TGroup extends GroupName = 'default' >(\n\tgroups: TGroup[] = []\n): MenuActions< MenuGroup< TGroup > > {\n\tconst menuGroups: MenuGroup< TGroup >[] = [ ...groups, 'default' as const ];\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 [ registerAction, registerToggleAction, registerLink ] = [ Action, ToggleAction, Link ].map( ( Component ) =>\n\t\tcreateRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: Component,\n\t\t} )\n\t);\n\tconst useMenuItems = createUseMenuItems( locations );\n\n\tconst registerSubMenu = createRegisterSubMenu( {\n\t\tlocations,\n\t\tmenuGroups,\n\t} );\n\n\treturn {\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t\tregisterSubMenu,\n\t\tuseMenuItems,\n\t};\n}\n\nfunction createRegisterMenuItem< TGroup extends GroupName, TComponent extends ElementType >( {\n\tlocations,\n\tmenuGroups,\n\tcomponent,\n\tuseMenuItems,\n}: {\n\tlocations: GroupLocationMap< TGroup >;\n\tmenuGroups: MenuGroup< TGroup >[];\n\tcomponent: TComponent;\n\tuseMenuItems?: () => ItemsArray;\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\t/**\n\t\t\t * if passing useMenuItems - it's to use the menu item as a group parent\n\t\t\t * in such case we'd also pass the id in case it's needed to wrap the group by\n\t\t\t */\n\t\t\tconst items = useMenuItems?.();\n\t\t\tif ( items?.length ) {\n\t\t\t\treturn <Component { ...props } { ...componentProps } items={ items } />;\n\t\t\t}\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 createRegisterSubMenu< TGroup extends GroupName >( {\n\tlocations,\n\tmenuGroups,\n}: {\n\tlocations: GroupLocationMap< TGroup >;\n\tmenuGroups: MenuGroup< TGroup >[];\n} ) {\n\treturn ( args: MenuItem< MenuGroup< 'default' >, typeof ActionsGroup > ) => {\n\t\tconst menu = createMenu();\n\n\t\tcreateRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: ActionsGroup,\n\t\t\tuseMenuItems: () => menu.useMenuItems().default,\n\t\t} )( args );\n\n\t\treturn menu;\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 > >( ( carry, [ groupName, location ] ) => {\n\t\t\t\tconst items = location.getInjections().map( ( injection ) => ( {\n\t\t\t\t\tid: injection.id,\n\t\t\t\t\tMenuItem: injection.component,\n\t\t\t\t} ) );\n\n\t\t\t\treturn {\n\t\t\t\t\t...carry,\n\t\t\t\t\t[ groupName ]: items,\n\t\t\t\t};\n\t\t\t}, {} as GroupedItems< TGroup > );\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 { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { createContext, PropsWithChildren, useContext } from 'react';\nimport { PopupState } from '@elementor/ui';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n\tpopupState?: PopupState;\n};\n\nconst MenuContext = createContext< MenuContextValue >( {\n\ttype: 'toolbar',\n} );\n\nexport function MenuContextProvider( { type, popupState, children }: PropsWithChildren< MenuContextValue > ) {\n\treturn <MenuContext.Provider value={ { type, popupState } }>{ children }</MenuContext.Provider>;\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'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\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 (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { MenuItem, MenuItemProps, ListItemText, ListItemIcon, withDirection } from '@elementor/ui';\nimport { ArrowUpRightIcon, ChevronRightIcon } from '@elementor/icons';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n\tisGroupParent?: boolean;\n};\n\nexport type PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function PopoverMenuItem( {\n\ttext,\n\ticon,\n\tonClick,\n\thref,\n\ttarget,\n\tdisabled,\n\tisGroupParent,\n\t...props\n}: 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\t{ isGroupParent && <DirectionalChevronIcon /> }\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 { ...props } text={ title } icon={ <Icon /> } />\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'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\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 { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType, useId } from 'react';\nimport PopoverSubMenu from '../ui/popover-sub-menu';\nimport { bindFocus, bindHover, bindMenu, bindPopover, bindTrigger, usePopupState } from '@elementor/ui';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenu from '../ui/popover-menu';\nimport type { ItemsArray } from '../../locations/menus';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\titems: ItemsArray;\n};\n\nexport default function ActionsGroup( { icon: Icon, title, visible = true, items, ...props }: Props ) {\n\tconst groupId = useId();\n\tconst { type, popupState: parentPopupState } = useMenuContext();\n\tconst popupState = usePopupState( {\n\t\tparentPopupState,\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-actions-group-' + groupId,\n\t} );\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\tif ( type === 'toolbar' ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ title } { ...props }>\n\t\t\t\t\t<Icon />\n\t\t\t\t</ToolbarMenuItem>\n\t\t\t\t<PopoverMenu\n\t\t\t\t\tonClick={ popupState.close }\n\t\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\t\tmarginThreshold={ 8 }\n\t\t\t\t\topen={ popupState.isOpen }\n\t\t\t\t\tpopupState={ popupState }\n\t\t\t\t>\n\t\t\t\t\t{ items.map( ( { MenuItem, id: key } ) => (\n\t\t\t\t\t\t<MenuItem key={ key } />\n\t\t\t\t\t) ) }\n\t\t\t\t</PopoverMenu>\n\t\t\t</>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<PopoverMenuItem\n\t\t\t\t{ ...props }\n\t\t\t\t{ ...bindHover( popupState ) }\n\t\t\t\t{ ...bindFocus( popupState ) }\n\t\t\t\ttext={ title }\n\t\t\t\ticon={ <Icon /> }\n\t\t\t\tisGroupParent\n\t\t\t/>\n\t\t\t<PopoverSubMenu { ...props } { ...bindPopover( popupState ) } popupState={ popupState }>\n\t\t\t\t{ items.map( ( { MenuItem, id: key } ) => (\n\t\t\t\t\t<MenuItem key={ key } />\n\t\t\t\t) ) }\n\t\t\t</PopoverSubMenu>\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 ? { marginInlineEnd: -1 } : { marginInlineStart: 1 } ),\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 { Menu, MenuProps, PopupState } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps & {\n\tpopupState?: PopupState;\n};\n\nexport default function PopoverMenu( { children, popupState, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' } popupState={ popupState }>\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 { createMenu } from './menus';\nimport { createLocation } from '@elementor/locations';\n\nexport { createMenu } from './menus';\n\nexport const { inject: injectIntoPageIndication, Slot: PageIndicationSlot } = createLocation();\n\nexport const { inject: injectIntoResponsive, Slot: ResponsiveSlot } = createLocation();\n\nexport const { inject: injectIntoPrimaryAction, Slot: PrimaryActionSlot } = createLocation();\n\nexport const mainMenu = createMenu( [ 'exits' ] );\n\nexport const toolsMenu = createMenu();\n\nexport const utilitiesMenu = createMenu();\n\nexport const integrationsMenu = createMenu();\n","import { createMenu } from '../../locations';\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import * as React from 'react';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider, Toolbar } 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';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\n\nexport default function AppBar() {\n\tconst document = useActiveDocument();\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Toolbar disableGutters variant=\"dense\">\n\t\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\" flexGrow={ 1 }>\n\t\t\t\t\t\t<Grid container>\n\t\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t\t{ document?.permissions?.allowAddingWidgets && <ToolsMenuLocation /> }\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t\t<ToolbarMenu spacing={ 1.5 }>\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"flex-end\">\n\t\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t</Box>\n\t\t\t\t</Toolbar>\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 { ExtendedWindow } from '../../types';\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\tconst toolbarLogoProps = bindTrigger( popupState );\n\n\tconst onToolbarClick: React.MouseEventHandler = ( e ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.elementorLogoDropdown, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\ttrigger: config.triggers.dropdownClick,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t} );\n\t\t}\n\n\t\ttoolbarLogoProps.onClick( e );\n\t};\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo { ...toolbarLogoProps } onClick={ onToolbarClick } selected={ popupState.isOpen } />\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) } marginThreshold={ 8 }>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\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 { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\nimport IntegrationsMenuLocation from './integrations-menu-location';\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 } ) => (\n\t\t\t\t<MenuItem key={ id } />\n\t\t\t) ) }\n\t\t\t<IntegrationsMenuLocation />\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 } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\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 { integrationsMenu } from '../../locations';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { PlugIcon } from '@elementor/icons';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nconst { useMenuItems } = integrationsMenu;\n\nexport default function IntegrationsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\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<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'Integrations', 'elementor' ) }>\n\t\t\t\t<PlugIcon />\n\t\t\t</ToolbarMenuItem>\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\topen={ popupState.isOpen }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem: IntegrationsMenuItem, id } ) => (\n\t\t\t\t\t<IntegrationsMenuItem key={ id } />\n\t\t\t\t) ) }\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 = 4;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\t// If there are more than 5 items, show the first 4 inline and the rest in the popover.\n\t// Otherwise, display all items inline.\n\tconst shouldUsePopover = menuItems.default.length > MAX_TOOLBAR_ACTIONS + 1;\n\n\tconst toolbarMenuItems = shouldUsePopover ? menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS ) : menuItems.default;\n\tconst popoverMenuItems = shouldUsePopover ? menuItems.default.slice( MAX_TOOLBAR_ACTIONS ) : [];\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id }, index ) => (\n\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t<MenuItem />\n\t\t\t\t</Fragment>\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 } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\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 <PrimaryActionSlot />;\n}\n","import * as React from 'react';\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn <PageIndicationSlot />;\n}\n","import * as React from 'react';\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn <ResponsiveSlot />;\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 {\n\t__privateListenTo as listenTo,\n\t__privateOpenRoute as openRoute,\n\trouteOpenEvent,\n} 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 {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useHostDocument as useHostDocument,\n} from '@elementor/editor-documents';\nimport { ExtendedWindow } from '../../../types';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit' ? activeDocument : 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' ).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={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.documentSettings, {\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'document-settings' ],\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\topenRoute( 'panel/page-settings/settings' );\n\t\t\t\t\t} }\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 (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 1.7,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\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';\nimport { ExtendedWindow } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.previewPage, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'preview-page' ],\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( document ) {\n\t\t\t\trunCommand( 'editor/documents/preview', {\n\t\t\t\t\tid: document.id,\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\t\t\t}\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 {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} 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 { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useDocumentViewPageProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'View Page', 'elementor' ),\n\t\tonClick: () =>\n\t\t\tdocument?.id &&\n\t\t\trunCommand( 'editor/documents/view', {\n\t\t\t\tid: document.id,\n\t\t\t} ),\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 {\n\tDocument,\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport { __privateUseIsPreviewMode as useIsPreviewMode } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\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={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.publishButton, {\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'publish-button' ],\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.mainCta,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( ! document.isSaving ) {\n\t\t\t\t\t\t\tsave();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\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 ? __( 'Publish', 'elementor' ) : __( '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 { default as PopoverMenu, PopoverMenuProps } from '../../../components/ui/popover-menu';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers for empty menu items, due to a limitation in the locations' mechanism.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root {\n\t\t& > .MuiDivider-root {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > *:not( .MuiDivider-root ):not( :last-of-type ) + .MuiDivider-root {\n\t\t\tdisplay: block;\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\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\n\t\t\t{ saveActions.length > 0 && defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { LinkIcon } from '@elementor/icons';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\n\nexport default function useDocumentCopyAndShareProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { copyAndShare } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: LinkIcon,\n\t\ttitle: __( 'Copy and Share', 'elementor' ),\n\t\tonClick: copyAndShare,\n\t\tdisabled:\n\t\t\t! document || document.isSaving || document.isSavingDraft || ! ( 'publish' === document.status.value ),\n\t\tvisible: document?.permissions?.showCopyAndShare,\n\t};\n}\n","import { injectIntoPrimaryAction } from '../../locations';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport useDocumentViewPageProps from './hooks/use-document-view-page-props';\nimport PrimaryAction from './components/primary-action';\nimport { documentOptionsMenu } from './locations';\nimport useDocumentCopyAndShareProps from './hooks/use-document-copy-and-share-props';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10,\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,\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-copy-and-share',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentCopyAndShareProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-view-page',\n\t\tpriority: 50,\n\t\tuseProps: useDocumentViewPageProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateListenTo as listenTo,\n\trouteOpenEvent,\n\tv1ReadyEvent,\n} 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( routeOpenEvent( 'panel/elements' ), () => {\n\t\tsetPanelTitle( panelTitle );\n\t\tsetTabTitle( tabTitle );\n\t} );\n\n\tlistenTo( v1ReadyEvent(), () => {\n\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\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 {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.widgetPanel, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'widget-panel' ],\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/elements/categories' );\n\t\t},\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 {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.finder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.finder,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'finder/toggle' );\n\t\t},\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: 15, // Before Preview.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { utilitiesMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\nimport { ExtendedWindow } from '../../types';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 30, // After Preview.\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\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.help, {\n\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.help,\n\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.history, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/history/actions' );\n\t\t},\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 { KeyboardIcon } from '@elementor/icons';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow, ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.keyboardShortcuts, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'shortcuts/open' );\n\t\t},\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 * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { ExtendedWindow } from '../../../types';\nimport { Tab, Tabs, Tooltip as BaseTooltip, TooltipProps } from '@elementor/ui';\nimport {\n\tuseBreakpoints,\n\tuseActivateBreakpoint,\n\tuseActiveBreakpoint,\n\ttype BreakpointId,\n} from '@elementor/editor-responsive';\nimport {\n\tDesktopIcon,\n\tTabletPortraitIcon,\n\tMobilePortraitIcon,\n\tWidescreenIcon,\n\tLaptopIcon,\n\tTabletLandscapeIcon,\n\tMobileLandscapeIcon,\n} from '@elementor/icons';\n\nexport default function BreakpointsSwitcher() {\n\tconst breakpoints = useBreakpoints();\n\tconst activeBreakpoint = useActiveBreakpoint();\n\tconst activateBreakpoint = useActivateBreakpoint();\n\n\tif ( ! breakpoints.length || ! activeBreakpoint ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( _: unknown, value: BreakpointId ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.responsiveControls, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.responsiveControls,\n\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\tmode: value,\n\t\t\t} );\n\t\t}\n\n\t\tactivateBreakpoint( value );\n\t};\n\n\treturn (\n\t\t<Tabs\n\t\t\ttextColor=\"inherit\"\n\t\t\tindicatorColor=\"secondary\"\n\t\t\tvalue={ activeBreakpoint }\n\t\t\tonChange={ onChange }\n\t\t\taria-label={ __( 'Switch Device', 'elementor' ) }\n\t\t\tsx={ {\n\t\t\t\t'& .MuiTabs-indicator': {\n\t\t\t\t\tbackgroundColor: 'text.primary',\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t{ breakpoints.map( ( { id, label, type, width } ) => {\n\t\t\t\tconst Icon = iconsMap[ id ];\n\n\t\t\t\tconst title = labelsMap[ type || 'default' ]\n\t\t\t\t\t.replace( '%s', label )\n\t\t\t\t\t.replace( '%d', width?.toString() || '' );\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tab\n\t\t\t\t\t\tvalue={ id }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<Tooltip title={ title }>\n\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsx={ { minWidth: 'auto' } }\n\t\t\t\t\t\tdata-testid={ `switch-device-to-${ id }` }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Tabs>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2.5,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nconst iconsMap = {\n\twidescreen: WidescreenIcon,\n\tdesktop: DesktopIcon,\n\tlaptop: LaptopIcon,\n\ttablet_extra: TabletLandscapeIcon,\n\ttablet: TabletPortraitIcon,\n\tmobile_extra: MobileLandscapeIcon,\n\tmobile: MobilePortraitIcon,\n};\n\nconst labelsMap = {\n\tdefault: '%s',\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'min-width': __( '%s (%dpx and up)', 'elementor' ),\n\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'max-width': __( '%s (up to %dpx)', 'elementor' ),\n} as const;\n","import { injectIntoResponsive } from '../../locations';\nimport BreakpointsSwitcher from './components/breakpoints-switcher';\n\nexport function init() {\n\tinjectIntoResponsive( {\n\t\tid: 'responsive-breakpoints-switcher',\n\t\tcomponent: BreakpointsSwitcher,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indication.\n\t\t},\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 {\n\t__privateIsRouteActive as isRouteActive,\n\trouteCloseEvent,\n\trouteOpenEvent,\n\t__privateUseListenTo as useListenTo,\n} from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit< PortalProps, 'container' > ) {\n\tconst containerRef = useListenTo(\n\t\t[ routeOpenEvent( 'panel/global' ), routeCloseEvent( 'panel/global' ) ],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn <BasePortal container={ containerRef.current } { ...props } />;\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 {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} 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\n\t\t\tsx={ {\n\t\t\t\tpx: 5,\n\t\t\t\tpy: 4,\n\t\t\t\tborderTop: 1,\n\t\t\t\tborderColor: 'divider',\n\t\t\t} }\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{ document?.isSaving ? <CircularProgress /> : __( 'Save Changes', 'elementor' ) }\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\nimport { ExtendedWindow, ToggleActionProps } from '../../../types';\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\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.siteSettings, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.siteSettings,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( isActive ) {\n\t\t\t\trunCommand( 'panel/global/close' );\n\t\t\t} else {\n\t\t\t\trunCommand( 'panel/global/open' );\n\t\t\t}\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ExtendedWindow, 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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.structure, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.structure,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'navigator/toggle' );\n\t\t},\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 { ExtendedWindow, ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.themeBuilder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'app/open' );\n\t\t},\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 { ToggleRightIcon } from '@elementor/icons';\nimport {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ExtendedWindow, ToggleActionProps } from '../../../types';\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: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.userPreferences, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/editor-preferences' );\n\t\t},\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';\nimport { ExtendedWindow } from '../../types';\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\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\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementor?.editorEvents?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementor.editorEvents.dispatchEvent( config.names.topBar.exitToWordpress, {\n\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\telement: config.elements.link,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t},\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 initResponsive } from './responsive';\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\tinitResponsive();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n"],"mappings":"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","names":["React","import_react","React","React","BaseTooltip","React","import_ui","React","React","import_ui","React","React","import_react","React","React","import_ui","import_ui","import_ui","MenuItem","useMenuItems","import_locations","React","import_ui","React","import_ui","React","import_react","import_ui","MenuItem","React","React","import_ui","React","import_ui","import_i18n","import_icons","React","import_ui","import_i18n","import_icons","useMenuItems","useMenuItems","MenuItem","React","import_react","import_ui","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","React","React","React","document","useActiveDocument","BaseAppBar","import_editor","listenTo","openRoute","React","import_ui","import_i18n","import_editor_v1_adapters","import_icons","import_editor_documents","useActiveDocument","useHostDocument","document","useRouteStatus","Tooltip","openRoute","BaseTooltip","import_i18n","import_icons","import_editor_v1_adapters","import_editor_documents","document","useActiveDocument","runCommand","init","import_i18n","import_icons","import_editor_documents","document","useActiveDocument","useActiveDocumentActions","import_i18n","import_icons","import_editor_documents","useActiveDocumentActions","import_i18n","import_icons","import_editor_documents","import_editor_v1_adapters","document","useActiveDocument","runCommand","React","import_i18n","React","import_ui","useMenuItems","MenuItem","import_ui","import_editor_documents","import_icons","import_editor_v1_adapters","document","useActiveDocument","useActiveDocumentActions","useIsPreviewMode","import_i18n","import_icons","import_editor_documents","document","useActiveDocument","useActiveDocumentActions","init","import_i18n","import_editor_v1_adapters","listenTo","isRouteActive","import_icons","import_i18n","import_editor_v1_adapters","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_i18n","import_icons","init","import_icons","import_i18n","import_editor_v1_adapters","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","runCommand","init","useActionProps","React","import_i18n","import_ui","import_icons","Tooltip","BaseTooltip","init","React","React","import_ui","import_editor_v1_adapters","useListenTo","BasePortal","isRouteActive","React","import_editor_documents","import_ui","import_i18n","PrimaryAction","document","useActiveDocument","useActiveDocumentActions","PrimaryAction","import_i18n","import_editor_v1_adapters","import_icons","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_i18n","import_editor_v1_adapters","import_icons","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","runCommand","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_i18n","import_icons","import_editor_documents","init","document","useActiveDocument","init","init","init"]}