@elementor/editor-app-bar 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/README.md +99 -2
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/components/ui/popover-menu.tsx +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.7.2](https://github.com/elementor/elementor-packages/compare/@elementor/editor-app-bar@0.7.1...@elementor/editor-app-bar@0.7.2) (2023-08-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **editor-site-navigation:** noWrap for the post title [ED-11626] ([#102](https://github.com/elementor/elementor-packages/issues/102)) ([d4e1a54](https://github.com/elementor/elementor-packages/commit/d4e1a547cb9ff91c42eb7efe4ce8cfadb54a2922))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [0.7.1](https://github.com/elementor/elementor-packages/compare/@elementor/editor-app-bar@0.7.0...@elementor/editor-app-bar@0.7.1) (2023-08-02)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @elementor/editor-app-bar
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
# [0.7.0](https://github.com/elementor/elementor-packages/compare/@elementor/editor-app-bar@0.6.9...@elementor/editor-app-bar@0.7.0) (2023-08-01)
|
|
7
26
|
|
|
8
27
|
|
package/README.md
CHANGED
|
@@ -1,5 +1,102 @@
|
|
|
1
1
|
# Editor App Bar
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
3
|
+
> [!WARNING]
|
|
5
4
|
> This package is under development and not ready for production use.
|
|
5
|
+
|
|
6
|
+
## Usage
|
|
7
|
+
|
|
8
|
+
### Menus
|
|
9
|
+
|
|
10
|
+
There are 5 types of menus:
|
|
11
|
+
|
|
12
|
+
- `mainMenu` - Provides access to the main features and functionality of the application. Represented by an Elementor logo that changes to a hamburger.
|
|
13
|
+
- `toolsMenu` - A menu where the user can access various editing tools (e.g. "add widget", "structure", etc.) for manipulating the data or interface in some way. This
|
|
14
|
+
section may contain a limited number of buttons for common tools, as well as a dropdown menu for accessing additional
|
|
15
|
+
ones.
|
|
16
|
+
- `utilitiesMenu` - A menu where the user can access various utility features that are not directly related to the main
|
|
17
|
+
functionality of the application. This may include options for accessing the finder, getting help, or accessing other miscellaneous features.
|
|
18
|
+
- `documentOptionsMenu` - A menu where the user can access various options for saving the document. This may include
|
|
19
|
+
options for saving as draft or conditional options related to the document (e.g. "display conditions", etc.).
|
|
20
|
+
- `integrationsMenu` - A sub-menu inside the `mainMenu` where the user can access various options for integrating with other services. This may
|
|
21
|
+
include options for connecting to a third-party service or accessing other miscellaneous features.
|
|
22
|
+
|
|
23
|
+
Each menu contains a list of items, each item can be:
|
|
24
|
+
|
|
25
|
+
- `Action` - A button that performs an action.
|
|
26
|
+
- `Link` - A link that navigates to a different page.
|
|
27
|
+
- `ToggleAction` - A button that toggles between two states (checked or unchecked).
|
|
28
|
+
|
|
29
|
+
Let's extend the `integrationsMenu` with multiple examples that will cover all the types of items:
|
|
30
|
+
|
|
31
|
+
#### Action
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
import { integrationsMenu } from '@elementor/editor-app-bar';
|
|
35
|
+
import { PlusIcon } from '@elementor/icons';
|
|
36
|
+
import { __ } from '@wordpress/i18n';
|
|
37
|
+
|
|
38
|
+
integrationsMenu.registerAction( {
|
|
39
|
+
id: 'example-action-id',
|
|
40
|
+
props: {
|
|
41
|
+
title: __( 'My Custom Action', 'elementor' ),
|
|
42
|
+
icon: PlusIcon, // A react component that renders an SVG icon
|
|
43
|
+
disabled: false, // Optional
|
|
44
|
+
onClick: () => alert( 'Custom action triggred!' ), // Optional
|
|
45
|
+
}
|
|
46
|
+
} );
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
#### ToggleAction
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
import { integrationsMenu } from '@elementor/editor-app-bar';
|
|
53
|
+
import { EyeIcon } from '@elementor/icons';
|
|
54
|
+
import { __ } from '@wordpress/i18n';
|
|
55
|
+
|
|
56
|
+
integrationsMenu.registerToggleAction( {
|
|
57
|
+
name: 'my-custom-toggle',
|
|
58
|
+
useProps: () => {
|
|
59
|
+
const [ isSelected, setIsSelected ] = useState( false );
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
title: __( 'My Custom Toggle', 'elementor' ),
|
|
63
|
+
icon: EyeIcon,
|
|
64
|
+
selected: isSelected, // Optional
|
|
65
|
+
onClick: () => setIsSelected( ( prev ) => ! prev ), // Optional
|
|
66
|
+
disabled: false, // Optional
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
} );
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### Link
|
|
73
|
+
|
|
74
|
+
```tsx
|
|
75
|
+
import { integrationsMenu } from '@elementor/editor-app-bar';
|
|
76
|
+
import { LinkIcon } from '@elementor/icons';
|
|
77
|
+
import { __ } from '@wordpress/i18n';
|
|
78
|
+
|
|
79
|
+
integrationsMenu.registerLink( {
|
|
80
|
+
name: 'my-custom-link',
|
|
81
|
+
props: {
|
|
82
|
+
title: __( 'My Custom Link', 'elementor' ),
|
|
83
|
+
icon: LinkIcon,
|
|
84
|
+
href: 'https://elementor.com', // Optional
|
|
85
|
+
target: '_blank', // Optional
|
|
86
|
+
},
|
|
87
|
+
} );
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
> [!NOTE]
|
|
93
|
+
> You can use either `props` or `useProps` (depending on your need) for all the items types:
|
|
94
|
+
> - `props` - An object with the action props.
|
|
95
|
+
> - `useProps` - A React hook that returns the action props and lets you make the props reactive.
|
|
96
|
+
|
|
97
|
+
> [!NOTE]
|
|
98
|
+
> The `icon` property can be any React component that renders an SVG icon, it is recommended to use `SVGIcon` from `@elementor/ui`
|
|
99
|
+
|
|
100
|
+
### Custom Locations
|
|
101
|
+
|
|
102
|
+
TBD
|
package/dist/index.js
CHANGED
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/locations/index.ts","../src/components/app-bar.tsx","../src/components/locations/main-menu-location.tsx","../src/components/ui/popover-menu.tsx","../src/components/ui/toolbar-logo.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/ui/popover-sub-menu.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/utilities-menu-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/page-indication-location.tsx","../src/components/locations/responsive-location.tsx","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-preview/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/index.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts"],"sourcesContent":["export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tdocumentOptionsMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nimport init from './init';\n\ninit();\n","import * as React from 'react';\nimport { ComponentPropsWithoutRef, ElementType, useMemo } from 'react';\nimport { createLocation, Location } from '@elementor/locations';\nimport Action from '../components/actions/action';\nimport ToggleAction from '../components/actions/toggle-action';\nimport Link from '../components/actions/link';\n\ntype GroupName = string;\n\ntype MenuGroup<TGroup extends GroupName> = TGroup | 'default';\n\ntype GroupedItems<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Array<{ id: string, MenuItem: ElementType }>>;\n\ntype GroupLocationMap<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Location>;\n\ntype MenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n> = {\n\tid: string,\n\tgroup?: TGroup,\n\tpriority?: number,\n\toverwrite?: boolean,\n} & (\n\t{ props: ComponentPropsWithoutRef<TComponent>, useProps?: never } |\n\t{ useProps: () => ComponentPropsWithoutRef<TComponent>, props?: never }\n)\n\ntype MenuActions<TGroup extends GroupName> = {\n\tregisterAction: ( args: MenuItem<TGroup, typeof Action> ) => void,\n\tregisterToggleAction: ( args: MenuItem<TGroup, typeof ToggleAction> ) => void,\n\tregisterLink: ( args: MenuItem<TGroup, typeof Link> ) => void,\n\tuseMenuItems: () => GroupedItems<TGroup>,\n}\n\nexport function createMenu<\n\tTGroup extends GroupName = 'default'\n>( groups: TGroup[] = [] ): MenuActions<MenuGroup<TGroup>> {\n\tconst menuGroups: MenuGroup<TGroup>[] = [\n\t\t...groups,\n\t\t'default' as const,\n\t];\n\n\tconst locations = menuGroups.reduce(\n\t\t( carry, group ) => ( {\n\t\t\t...carry,\n\t\t\t[ group ]: createLocation(),\n\t\t} ),\n\t\t{} as GroupLocationMap<TGroup>\n\t);\n\n\tconst [\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t] = [ Action, ToggleAction, Link ].map(\n\t\t( Component ) => createRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: Component,\n\t\t} )\n\t);\n\n\tconst useMenuItems = createUseMenuItems( locations );\n\n\treturn {\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t\tuseMenuItems,\n\t};\n}\n\nfunction createRegisterMenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n>( { locations, menuGroups, component }: {\n\tlocations: GroupLocationMap<TGroup>\n\tmenuGroups: MenuGroup<TGroup>[],\n\tcomponent: TComponent,\n} ) {\n\treturn ( { group = 'default', id, overwrite, priority, ...args }: MenuItem<MenuGroup<TGroup>, TComponent> ) => {\n\t\tif ( ! menuGroups.includes( group ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst useProps = 'props' in args ? () => args.props : args.useProps;\n\n\t\tconst Component = component as ElementType;\n\n\t\tconst InjectedComponent = ( props: object ) => {\n\t\t\tconst componentProps = useProps();\n\n\t\t\treturn <Component { ...props } { ...componentProps } />;\n\t\t};\n\n\t\tlocations[ group ].inject( {\n\t\t\tid,\n\t\t\tcomponent: InjectedComponent,\n\t\t\toptions: {\n\t\t\t\tpriority,\n\t\t\t\toverwrite,\n\t\t\t},\n\t\t} );\n\t};\n}\n\nfunction createUseMenuItems<TGroup extends GroupName>( locations : GroupLocationMap<TGroup> ) {\n\treturn () => {\n\t\t// Normalize the injections groups to an object with the groups as keys.\n\t\treturn useMemo( () => {\n\t\t\treturn Object.entries( locations ).reduce<GroupedItems<TGroup>>(\n\t\t\t\t( carry, [ groupName, location ] ) => {\n\t\t\t\t\tconst items = location.getInjections()\n\t\t\t\t\t\t.map( ( injection ) => ( {\n\t\t\t\t\t\t\tid: injection.id,\n\t\t\t\t\t\t\tMenuItem: injection.component,\n\t\t\t\t\t\t} ) );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...carry,\n\t\t\t\t\t\t[ groupName ]: items,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{} as GroupedItems<TGroup>\n\t\t\t);\n\t\t}, [] );\n\t};\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { createContext, PropsWithChildren, useContext } from 'react';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n}\n\nconst MenuContext = createContext<MenuContextValue>( { type: 'toolbar' } );\n\nexport function MenuContextProvider( { type, children }: PropsWithChildren<MenuContextValue> ) {\n\treturn (\n\t\t<MenuContext.Provider value={ { type } }>\n\t\t\t{ children }\n\t\t</MenuContext.Provider>\n\t);\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { Box, IconButton, IconButtonProps, Tooltip } 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 { ...props } aria-label={ title } size=\"small\" />\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport {\n\tMenuItem,\n\tMenuItemProps,\n\tListItemText,\n\tListItemIcon,\n\twithDirection,\n} from '@elementor/ui';\nimport { ArrowUpRightIcon } from '@elementor/icons';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n}\n\nexport type PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\n\nexport default function PopoverMenuItem( { text, icon, onClick, href, target, disabled, ...props }: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank';\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, ToggleButtonProps, Tooltip } from '@elementor/ui';\n\nexport type ToolbarMenuToggleItemProps = Omit<ToggleButtonProps, 'onChange'> & {\n\ttitle?: string;\n\tonClick?: () => void;\n}\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton { ...props } onChange={ onClick } aria-label={ title } size=\"small\" />\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n}\n\nexport default function Link( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import { createMenu } from './menus';\nimport { createLocation } from '@elementor/locations';\n\nexport { createMenu } from './menus';\n\nexport const {\n\tinject: injectIntoPageIndication,\n\tSlot: PageIndicationSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoResponsive,\n\tSlot: ResponsiveSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoPrimaryAction,\n\tSlot: PrimaryActionSlot,\n} = createLocation();\n\nexport const mainMenu = createMenu( [ 'exits' ] );\n\nexport const toolsMenu = createMenu();\n\nexport const utilitiesMenu = createMenu();\n\nexport const integrationsMenu = createMenu();\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import * as React from 'react';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider } from '@elementor/ui';\nimport MainMenuLocation from './locations/main-menu-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ToolbarMenu from './ui/toolbar-menu';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport ResponsiveLocation from './locations/responsive-location';\n\nexport default function AppBar() {\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\">\n\t\t\t\t\t<Grid container>\n\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t<ToolsMenuLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t<ToolbarMenu spacing={ 3 }>\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"flex-end\">\n\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t</Box>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { usePopupState, bindMenu, bindTrigger, Stack, Divider } from '@elementor/ui';\nimport { mainMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo\n\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\tselected={ popupState.isOpen }\n\t\t\t/>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\n\t\t\t\t<IntegrationsMenuLocation key=\"integrations-location\" parentPopupState={ popupState } />\n\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, MenuProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps;\n\nexport default function PopoverMenu( { children, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 4 },\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} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { ToggleButton, ToggleButtonProps, SvgIconProps, SvgIcon, styled } from '@elementor/ui';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit<ToggleButtonProps, 'value'>;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpaddingInline: theme.spacing( 1 ),\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\twidth: 'auto',\n\theight: '100%',\n\t'& path': {\n\t\tfill: 'initial',\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=\"small\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo titleAccess={ __( 'Elementor Logo', 'elementor' ) } showMenuIcon={ showMenuIcon } />\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\nimport { integrationsMenu } from '../../locations';\nimport {\n\tbindMenu,\n\tDivider,\n\tListItemIcon,\n\tListItemText,\n\tMenuItem,\n\tusePopupState,\n\tbindHover,\n\tbindFocus,\n\twithDirection,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { ChevronRightIcon, PlugIcon } from '@elementor/icons';\nimport PopoverSubMenu from '../ui/popover-sub-menu';\n\ntype Props = {\n\tparentPopupState: ReturnType<typeof usePopupState>;\n}\n\nconst { useMenuItems } = integrationsMenu;\n\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function IntegrationsMenuLocation( { parentPopupState }: Props ) {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tparentPopupState,\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Divider />\n\t\t\t<MenuItem\n\t\t\t\t{ ...bindHover( popupState ) }\n\t\t\t\t{ ...bindFocus( popupState ) }\n\t\t\t>\n\t\t\t\t<ListItemIcon>\n\t\t\t\t\t<PlugIcon />\n\t\t\t\t</ListItemIcon>\n\t\t\t\t<ListItemText primary={ __( 'Integrations', 'elementor' ) } />\n\t\t\t\t<DirectionalChevronIcon />\n\t\t\t\t<PopoverSubMenu { ...bindMenu( popupState ) } onClick={ popupState.close }>\n\t\t\t\t\t{ menuItems.default.map(\n\t\t\t\t\t\t( { MenuItem: IntegrationsMenuItem, id } ) => <IntegrationsMenuItem key={ id } />\n\t\t\t\t\t) }\n\t\t\t\t</PopoverSubMenu>\n\t\t\t</MenuItem>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport PopoverMenu, { PopoverMenuProps } from './popover-menu';\nimport { useTheme } from '@elementor/ui';\n\nexport default function PopoverSubMenu( { children, ...props }: PopoverMenuProps ) {\n\tconst theme = useTheme();\n\tconst isRTL = theme.direction === 'rtl';\n\n\treturn (\n\t\t<PopoverMenu\n\t\t\tsx={ { pointerEvents: 'none' } }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t// This is a workaround to support RTL in PopoverMenu, since it doesn't support it yet.\n\t\t\t\t\t...( isRTL\n\t\t\t\t\t\t? { marginInlineEnd: -2 }\n\t\t\t\t\t\t: { marginInlineStart: 2 }\n\t\t\t\t\t),\n\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t},\n\t\t\t} }\n\t\t\tanchorOrigin={ { vertical: 'center', horizontal: isRTL ? 'left' : 'right' } }\n\t\t\ttransformOrigin={ { vertical: 'center', horizontal: isRTL ? 'right' : 'left' } }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</PopoverMenu>\n\t);\n}\n","import * as React from 'react';\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, StackProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 4 } } spacing={ 4 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { PropsWithChildren } from 'react';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport ToolbarMenuItem from './toolbar-menu-item';\nimport { __ } from '@wordpress/i18n';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport PopoverMenu from './popover-menu';\n\nexport type ToolbarMenuMoreProps = PropsWithChildren<{\n\tid: string;\n}>\n\nexport default function ToolbarMenuMore( { children, id }: ToolbarMenuMoreProps ) {\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: id,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'More', 'elementor' ) }>\n\t\t\t\t<DotsVerticalIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) }>\n\t\t\t\t{ children }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport { utilitiesMenu } from '../../locations';\nimport { Divider } from '@elementor/ui';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 3;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map(\n\t\t\t\t( { MenuItem, id }, index ) => (\n\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t\t<MenuItem />\n\t\t\t\t\t</Fragment>\n\t\t\t\t)\n\t\t\t) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn (\n\t\t<PrimaryActionSlot />\n\t);\n}\n","import * as React from 'react';\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn (\n\t\t<PageIndicationSlot />\n\t);\n}\n","import * as React from 'react';\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn (\n\t\t<ResponsiveSlot />\n\t);\n}\n","import AppBar from './components/app-bar';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { listenTo, openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { useActiveDocument, useHostDocument } from '@elementor/editor-documents';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => openRoute( 'panel/page-settings/settings' ) }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { useActiveDocument } from '@elementor/editor-documents';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => document && runCommand( 'editor/documents/preview', {\n\t\t\tid: document.id,\n\t\t\tforce: true,\n\t\t} ),\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FileReportIcon } from '@elementor/icons';\nimport { useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { saveDraft } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FolderIcon } from '@elementor/icons';\nimport { useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\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 isDisabled = ! isEnabled( document );\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 && ! isDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"medium\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => ! document.isSaving && save() }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tpx: 7,\n\t\t\t\t\t\theight: '100%',\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={ isDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress /> : 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: 3,\n\t\t\t\t\t\t\t\tmr: 1,\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\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%' } }\n\t\t\t\t\t\t\tdisabled={ document.type.value === 'kit' }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { documentOptionsMenu } from '../../../locations';\nimport PopoverMenu, { PopoverMenuProps } from '../../../components/ui/popover-menu';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers when a group is rendered empty (due to a limitation in our locations' mechanism).\n// It doesn't cover all the cases (i.e. when there are multiple dividers at the end), but it's good enough for our use-case.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root > .MuiDivider-root {\n\t\t&:only-child, /* A divider is being rendered lonely */\n\t\t&:last-child, /* The last group renders empty but renders a divider */\n\t\t& + .MuiDivider-root /* Multiple dividers due to multiple empty groups */ {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 8 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 2 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { documentOptionsMenu, injectIntoPrimaryAction } from '../../locations';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport PrimaryAction from './components/primary-action';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\t// Documents options menu.\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10, // Before save as template.\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20, // After save draft.\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { isRouteActive, listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => openRoute( 'panel/elements/categories' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => runCommand( 'finder/toggle' ),\n\t\tselected: isActive,\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.registerToggleAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { utilitiesMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => openRoute( 'panel/history/actions' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => runCommand( 'shortcuts/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { isRouteActive, routeCloseEvent, routeOpenEvent, useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '../../../types';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => (\n\t\t\tisActive\n\t\t\t\t? runCommand( 'panel/global/close' )\n\t\t\t\t: runCommand( 'panel/global/open' )\n\t\t),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => runCommand( 'navigator/toggle' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => runCommand( 'app/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '../../../types';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => openRoute( 'panel/editor-preferences' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { mainMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { useActiveDocument } from '@elementor/editor-documents';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n"],"mappings":"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","names":["React","import_react","React","React","React","import_ui","React","React","import_ui","React","useMenuItems","import_locations","React","import_ui","React","import_ui","React","import_ui","React","import_react","import_ui","React","import_ui","import_i18n","import_icons","React","import_ui","useMenuItems","MenuItem","React","React","import_ui","React","import_ui","import_i18n","import_icons","useMenuItems","MenuItem","React","import_react","import_ui","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","React","React","React","BaseAppBar","import_editor","React","import_ui","import_i18n","import_editor_v1_adapters","import_icons","document","import_i18n","import_icons","import_editor_v1_adapters","import_editor_documents","document","init","import_i18n","import_icons","import_editor_documents","document","import_i18n","import_icons","import_editor_documents","React","import_i18n","React","import_ui","useMenuItems","MenuItem","import_ui","import_editor_documents","import_icons","document","init","import_i18n","import_editor_v1_adapters","import_icons","import_i18n","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","init","import_icons","import_i18n","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","init","useActionProps","React","React","import_ui","import_editor_v1_adapters","BasePortal","React","import_editor_documents","import_ui","import_i18n","PrimaryAction","document","PrimaryAction","import_i18n","import_editor_v1_adapters","import_icons","useActionProps","init","useActionProps","import_i18n","import_editor_v1_adapters","import_icons","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_documents","init","document","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/locations/index.ts","../src/components/app-bar.tsx","../src/components/locations/main-menu-location.tsx","../src/components/ui/popover-menu.tsx","../src/components/ui/toolbar-logo.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/ui/popover-sub-menu.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/utilities-menu-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/page-indication-location.tsx","../src/components/locations/responsive-location.tsx","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-preview/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/index.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts"],"sourcesContent":["export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tdocumentOptionsMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nimport init from './init';\n\ninit();\n","import * as React from 'react';\nimport { ComponentPropsWithoutRef, ElementType, useMemo } from 'react';\nimport { createLocation, Location } from '@elementor/locations';\nimport Action from '../components/actions/action';\nimport ToggleAction from '../components/actions/toggle-action';\nimport Link from '../components/actions/link';\n\ntype GroupName = string;\n\ntype MenuGroup<TGroup extends GroupName> = TGroup | 'default';\n\ntype GroupedItems<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Array<{ id: string, MenuItem: ElementType }>>;\n\ntype GroupLocationMap<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Location>;\n\ntype MenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n> = {\n\tid: string,\n\tgroup?: TGroup,\n\tpriority?: number,\n\toverwrite?: boolean,\n} & (\n\t{ props: ComponentPropsWithoutRef<TComponent>, useProps?: never } |\n\t{ useProps: () => ComponentPropsWithoutRef<TComponent>, props?: never }\n)\n\ntype MenuActions<TGroup extends GroupName> = {\n\tregisterAction: ( args: MenuItem<TGroup, typeof Action> ) => void,\n\tregisterToggleAction: ( args: MenuItem<TGroup, typeof ToggleAction> ) => void,\n\tregisterLink: ( args: MenuItem<TGroup, typeof Link> ) => void,\n\tuseMenuItems: () => GroupedItems<TGroup>,\n}\n\nexport function createMenu<\n\tTGroup extends GroupName = 'default'\n>( groups: TGroup[] = [] ): MenuActions<MenuGroup<TGroup>> {\n\tconst menuGroups: MenuGroup<TGroup>[] = [\n\t\t...groups,\n\t\t'default' as const,\n\t];\n\n\tconst locations = menuGroups.reduce(\n\t\t( carry, group ) => ( {\n\t\t\t...carry,\n\t\t\t[ group ]: createLocation(),\n\t\t} ),\n\t\t{} as GroupLocationMap<TGroup>\n\t);\n\n\tconst [\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t] = [ Action, ToggleAction, Link ].map(\n\t\t( Component ) => createRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: Component,\n\t\t} )\n\t);\n\n\tconst useMenuItems = createUseMenuItems( locations );\n\n\treturn {\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t\tuseMenuItems,\n\t};\n}\n\nfunction createRegisterMenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n>( { locations, menuGroups, component }: {\n\tlocations: GroupLocationMap<TGroup>\n\tmenuGroups: MenuGroup<TGroup>[],\n\tcomponent: TComponent,\n} ) {\n\treturn ( { group = 'default', id, overwrite, priority, ...args }: MenuItem<MenuGroup<TGroup>, TComponent> ) => {\n\t\tif ( ! menuGroups.includes( group ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst useProps = 'props' in args ? () => args.props : args.useProps;\n\n\t\tconst Component = component as ElementType;\n\n\t\tconst InjectedComponent = ( props: object ) => {\n\t\t\tconst componentProps = useProps();\n\n\t\t\treturn <Component { ...props } { ...componentProps } />;\n\t\t};\n\n\t\tlocations[ group ].inject( {\n\t\t\tid,\n\t\t\tcomponent: InjectedComponent,\n\t\t\toptions: {\n\t\t\t\tpriority,\n\t\t\t\toverwrite,\n\t\t\t},\n\t\t} );\n\t};\n}\n\nfunction createUseMenuItems<TGroup extends GroupName>( locations : GroupLocationMap<TGroup> ) {\n\treturn () => {\n\t\t// Normalize the injections groups to an object with the groups as keys.\n\t\treturn useMemo( () => {\n\t\t\treturn Object.entries( locations ).reduce<GroupedItems<TGroup>>(\n\t\t\t\t( carry, [ groupName, location ] ) => {\n\t\t\t\t\tconst items = location.getInjections()\n\t\t\t\t\t\t.map( ( injection ) => ( {\n\t\t\t\t\t\t\tid: injection.id,\n\t\t\t\t\t\t\tMenuItem: injection.component,\n\t\t\t\t\t\t} ) );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...carry,\n\t\t\t\t\t\t[ groupName ]: items,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{} as GroupedItems<TGroup>\n\t\t\t);\n\t\t}, [] );\n\t};\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { createContext, PropsWithChildren, useContext } from 'react';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n}\n\nconst MenuContext = createContext<MenuContextValue>( { type: 'toolbar' } );\n\nexport function MenuContextProvider( { type, children }: PropsWithChildren<MenuContextValue> ) {\n\treturn (\n\t\t<MenuContext.Provider value={ { type } }>\n\t\t\t{ children }\n\t\t</MenuContext.Provider>\n\t);\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { Box, IconButton, IconButtonProps, Tooltip } 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 { ...props } aria-label={ title } size=\"small\" />\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport {\n\tMenuItem,\n\tMenuItemProps,\n\tListItemText,\n\tListItemIcon,\n\twithDirection,\n} from '@elementor/ui';\nimport { ArrowUpRightIcon } from '@elementor/icons';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n}\n\nexport type PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\n\nexport default function PopoverMenuItem( { text, icon, onClick, href, target, disabled, ...props }: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank';\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, ToggleButtonProps, Tooltip } from '@elementor/ui';\n\nexport type ToolbarMenuToggleItemProps = Omit<ToggleButtonProps, 'onChange'> & {\n\ttitle?: string;\n\tonClick?: () => void;\n}\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton { ...props } onChange={ onClick } aria-label={ title } size=\"small\" />\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n}\n\nexport default function Link( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import { createMenu } from './menus';\nimport { createLocation } from '@elementor/locations';\n\nexport { createMenu } from './menus';\n\nexport const {\n\tinject: injectIntoPageIndication,\n\tSlot: PageIndicationSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoResponsive,\n\tSlot: ResponsiveSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoPrimaryAction,\n\tSlot: PrimaryActionSlot,\n} = createLocation();\n\nexport const mainMenu = createMenu( [ 'exits' ] );\n\nexport const toolsMenu = createMenu();\n\nexport const utilitiesMenu = createMenu();\n\nexport const integrationsMenu = createMenu();\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import * as React from 'react';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider } from '@elementor/ui';\nimport MainMenuLocation from './locations/main-menu-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ToolbarMenu from './ui/toolbar-menu';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport ResponsiveLocation from './locations/responsive-location';\n\nexport default function AppBar() {\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\">\n\t\t\t\t\t<Grid container>\n\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t<ToolsMenuLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t<ToolbarMenu spacing={ 3 }>\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"flex-end\">\n\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t</Box>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { usePopupState, bindMenu, bindTrigger, Stack, Divider } from '@elementor/ui';\nimport { mainMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo\n\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\tselected={ popupState.isOpen }\n\t\t\t/>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\n\t\t\t\t<IntegrationsMenuLocation key=\"integrations-location\" parentPopupState={ popupState } />\n\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, MenuProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps;\n\nexport default function PopoverMenu( { children, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 4 },\n\t\t\t\t} }\n\t\t\t\t{ ...props }\n\t\t\t\tMenuListProps={ {\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tdense: true,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { ToggleButton, ToggleButtonProps, SvgIconProps, SvgIcon, styled } from '@elementor/ui';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit<ToggleButtonProps, 'value'>;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpaddingInline: theme.spacing( 1 ),\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\twidth: 'auto',\n\theight: '100%',\n\t'& path': {\n\t\tfill: 'initial',\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=\"small\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo titleAccess={ __( 'Elementor Logo', 'elementor' ) } showMenuIcon={ showMenuIcon } />\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\nimport { integrationsMenu } from '../../locations';\nimport {\n\tbindMenu,\n\tDivider,\n\tListItemIcon,\n\tListItemText,\n\tMenuItem,\n\tusePopupState,\n\tbindHover,\n\tbindFocus,\n\twithDirection,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { ChevronRightIcon, PlugIcon } from '@elementor/icons';\nimport PopoverSubMenu from '../ui/popover-sub-menu';\n\ntype Props = {\n\tparentPopupState: ReturnType<typeof usePopupState>;\n}\n\nconst { useMenuItems } = integrationsMenu;\n\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function IntegrationsMenuLocation( { parentPopupState }: Props ) {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tparentPopupState,\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Divider />\n\t\t\t<MenuItem\n\t\t\t\t{ ...bindHover( popupState ) }\n\t\t\t\t{ ...bindFocus( popupState ) }\n\t\t\t>\n\t\t\t\t<ListItemIcon>\n\t\t\t\t\t<PlugIcon />\n\t\t\t\t</ListItemIcon>\n\t\t\t\t<ListItemText primary={ __( 'Integrations', 'elementor' ) } />\n\t\t\t\t<DirectionalChevronIcon />\n\t\t\t\t<PopoverSubMenu { ...bindMenu( popupState ) } onClick={ popupState.close }>\n\t\t\t\t\t{ menuItems.default.map(\n\t\t\t\t\t\t( { MenuItem: IntegrationsMenuItem, id } ) => <IntegrationsMenuItem key={ id } />\n\t\t\t\t\t) }\n\t\t\t\t</PopoverSubMenu>\n\t\t\t</MenuItem>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport PopoverMenu, { PopoverMenuProps } from './popover-menu';\nimport { useTheme } from '@elementor/ui';\n\nexport default function PopoverSubMenu( { children, ...props }: PopoverMenuProps ) {\n\tconst theme = useTheme();\n\tconst isRTL = theme.direction === 'rtl';\n\n\treturn (\n\t\t<PopoverMenu\n\t\t\tsx={ { pointerEvents: 'none' } }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t// This is a workaround to support RTL in PopoverMenu, since it doesn't support it yet.\n\t\t\t\t\t...( isRTL\n\t\t\t\t\t\t? { marginInlineEnd: -2 }\n\t\t\t\t\t\t: { marginInlineStart: 2 }\n\t\t\t\t\t),\n\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t},\n\t\t\t} }\n\t\t\tanchorOrigin={ { vertical: 'center', horizontal: isRTL ? 'left' : 'right' } }\n\t\t\ttransformOrigin={ { vertical: 'center', horizontal: isRTL ? 'right' : 'left' } }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</PopoverMenu>\n\t);\n}\n","import * as React from 'react';\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, StackProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 4 } } spacing={ 4 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { PropsWithChildren } from 'react';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport ToolbarMenuItem from './toolbar-menu-item';\nimport { __ } from '@wordpress/i18n';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport PopoverMenu from './popover-menu';\n\nexport type ToolbarMenuMoreProps = PropsWithChildren<{\n\tid: string;\n}>\n\nexport default function ToolbarMenuMore( { children, id }: ToolbarMenuMoreProps ) {\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: id,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'More', 'elementor' ) }>\n\t\t\t\t<DotsVerticalIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) }>\n\t\t\t\t{ children }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport { utilitiesMenu } from '../../locations';\nimport { Divider } from '@elementor/ui';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 3;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map(\n\t\t\t\t( { MenuItem, id }, index ) => (\n\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t\t<MenuItem />\n\t\t\t\t\t</Fragment>\n\t\t\t\t)\n\t\t\t) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn (\n\t\t<PrimaryActionSlot />\n\t);\n}\n","import * as React from 'react';\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn (\n\t\t<PageIndicationSlot />\n\t);\n}\n","import * as React from 'react';\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn (\n\t\t<ResponsiveSlot />\n\t);\n}\n","import AppBar from './components/app-bar';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { listenTo, openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { useActiveDocument, useHostDocument } from '@elementor/editor-documents';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => openRoute( 'panel/page-settings/settings' ) }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { useActiveDocument } from '@elementor/editor-documents';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => document && runCommand( 'editor/documents/preview', {\n\t\t\tid: document.id,\n\t\t\tforce: true,\n\t\t} ),\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FileReportIcon } from '@elementor/icons';\nimport { useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { saveDraft } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FolderIcon } from '@elementor/icons';\nimport { useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\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 isDisabled = ! isEnabled( document );\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 && ! isDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"medium\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => ! document.isSaving && save() }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tpx: 7,\n\t\t\t\t\t\theight: '100%',\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={ isDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress /> : 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: 3,\n\t\t\t\t\t\t\t\tmr: 1,\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\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%' } }\n\t\t\t\t\t\t\tdisabled={ document.type.value === 'kit' }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { documentOptionsMenu } from '../../../locations';\nimport PopoverMenu, { PopoverMenuProps } from '../../../components/ui/popover-menu';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers when a group is rendered empty (due to a limitation in our locations' mechanism).\n// It doesn't cover all the cases (i.e. when there are multiple dividers at the end), but it's good enough for our use-case.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root > .MuiDivider-root {\n\t\t&:only-child, /* A divider is being rendered lonely */\n\t\t&:last-child, /* The last group renders empty but renders a divider */\n\t\t& + .MuiDivider-root /* Multiple dividers due to multiple empty groups */ {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 8 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 2 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { documentOptionsMenu, injectIntoPrimaryAction } from '../../locations';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport PrimaryAction from './components/primary-action';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\t// Documents options menu.\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10, // Before save as template.\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20, // After save draft.\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { isRouteActive, listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => openRoute( 'panel/elements/categories' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => runCommand( 'finder/toggle' ),\n\t\tselected: isActive,\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.registerToggleAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { utilitiesMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => openRoute( 'panel/history/actions' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => runCommand( 'shortcuts/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { isRouteActive, routeCloseEvent, routeOpenEvent, useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '../../../types';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => (\n\t\t\tisActive\n\t\t\t\t? runCommand( 'panel/global/close' )\n\t\t\t\t: runCommand( 'panel/global/open' )\n\t\t),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => runCommand( 'navigator/toggle' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => runCommand( 'app/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '../../../types';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => openRoute( 'panel/editor-preferences' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { mainMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { useActiveDocument } from '@elementor/editor-documents';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n"],"mappings":"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","names":["React","import_react","React","React","React","import_ui","React","React","import_ui","React","useMenuItems","import_locations","React","import_ui","React","import_ui","React","import_ui","React","import_react","import_ui","React","import_ui","import_i18n","import_icons","React","import_ui","useMenuItems","MenuItem","React","React","import_ui","React","import_ui","import_i18n","import_icons","useMenuItems","MenuItem","React","import_react","import_ui","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","React","React","React","BaseAppBar","import_editor","React","import_ui","import_i18n","import_editor_v1_adapters","import_icons","document","import_i18n","import_icons","import_editor_v1_adapters","import_editor_documents","document","init","import_i18n","import_icons","import_editor_documents","document","import_i18n","import_icons","import_editor_documents","React","import_i18n","React","import_ui","useMenuItems","MenuItem","import_ui","import_editor_documents","import_icons","document","init","import_i18n","import_editor_v1_adapters","import_icons","import_i18n","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","init","import_icons","import_i18n","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","init","useActionProps","React","React","import_ui","import_editor_v1_adapters","BasePortal","React","import_editor_documents","import_ui","import_i18n","PrimaryAction","document","PrimaryAction","import_i18n","import_editor_v1_adapters","import_icons","useActionProps","init","useActionProps","import_i18n","import_editor_v1_adapters","import_icons","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_v1_adapters","useActionProps","init","useActionProps","import_i18n","import_icons","import_editor_documents","init","document","init","init","init"]}
|
package/dist/index.mjs
CHANGED
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/locations/menus.tsx","../src/components/actions/action.tsx","../src/contexts/menu-context.tsx","../src/components/ui/toolbar-menu-item.tsx","../src/components/ui/popover-menu-item.tsx","../src/components/actions/toggle-action.tsx","../src/components/ui/toolbar-menu-toggle-item.tsx","../src/components/actions/link.tsx","../src/locations/index.ts","../src/components/app-bar.tsx","../src/components/locations/main-menu-location.tsx","../src/components/ui/popover-menu.tsx","../src/components/ui/toolbar-logo.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/ui/popover-sub-menu.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/utilities-menu-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/page-indication-location.tsx","../src/components/locations/responsive-location.tsx","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-preview/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/index.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts","../src/index.ts"],"sourcesContent":["import * as React from 'react';\nimport { ComponentPropsWithoutRef, ElementType, useMemo } from 'react';\nimport { createLocation, Location } from '@elementor/locations';\nimport Action from '../components/actions/action';\nimport ToggleAction from '../components/actions/toggle-action';\nimport Link from '../components/actions/link';\n\ntype GroupName = string;\n\ntype MenuGroup<TGroup extends GroupName> = TGroup | 'default';\n\ntype GroupedItems<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Array<{ id: string, MenuItem: ElementType }>>;\n\ntype GroupLocationMap<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Location>;\n\ntype MenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n> = {\n\tid: string,\n\tgroup?: TGroup,\n\tpriority?: number,\n\toverwrite?: boolean,\n} & (\n\t{ props: ComponentPropsWithoutRef<TComponent>, useProps?: never } |\n\t{ useProps: () => ComponentPropsWithoutRef<TComponent>, props?: never }\n)\n\ntype MenuActions<TGroup extends GroupName> = {\n\tregisterAction: ( args: MenuItem<TGroup, typeof Action> ) => void,\n\tregisterToggleAction: ( args: MenuItem<TGroup, typeof ToggleAction> ) => void,\n\tregisterLink: ( args: MenuItem<TGroup, typeof Link> ) => void,\n\tuseMenuItems: () => GroupedItems<TGroup>,\n}\n\nexport function createMenu<\n\tTGroup extends GroupName = 'default'\n>( groups: TGroup[] = [] ): MenuActions<MenuGroup<TGroup>> {\n\tconst menuGroups: MenuGroup<TGroup>[] = [\n\t\t...groups,\n\t\t'default' as const,\n\t];\n\n\tconst locations = menuGroups.reduce(\n\t\t( carry, group ) => ( {\n\t\t\t...carry,\n\t\t\t[ group ]: createLocation(),\n\t\t} ),\n\t\t{} as GroupLocationMap<TGroup>\n\t);\n\n\tconst [\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t] = [ Action, ToggleAction, Link ].map(\n\t\t( Component ) => createRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: Component,\n\t\t} )\n\t);\n\n\tconst useMenuItems = createUseMenuItems( locations );\n\n\treturn {\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t\tuseMenuItems,\n\t};\n}\n\nfunction createRegisterMenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n>( { locations, menuGroups, component }: {\n\tlocations: GroupLocationMap<TGroup>\n\tmenuGroups: MenuGroup<TGroup>[],\n\tcomponent: TComponent,\n} ) {\n\treturn ( { group = 'default', id, overwrite, priority, ...args }: MenuItem<MenuGroup<TGroup>, TComponent> ) => {\n\t\tif ( ! menuGroups.includes( group ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst useProps = 'props' in args ? () => args.props : args.useProps;\n\n\t\tconst Component = component as ElementType;\n\n\t\tconst InjectedComponent = ( props: object ) => {\n\t\t\tconst componentProps = useProps();\n\n\t\t\treturn <Component { ...props } { ...componentProps } />;\n\t\t};\n\n\t\tlocations[ group ].inject( {\n\t\t\tid,\n\t\t\tcomponent: InjectedComponent,\n\t\t\toptions: {\n\t\t\t\tpriority,\n\t\t\t\toverwrite,\n\t\t\t},\n\t\t} );\n\t};\n}\n\nfunction createUseMenuItems<TGroup extends GroupName>( locations : GroupLocationMap<TGroup> ) {\n\treturn () => {\n\t\t// Normalize the injections groups to an object with the groups as keys.\n\t\treturn useMemo( () => {\n\t\t\treturn Object.entries( locations ).reduce<GroupedItems<TGroup>>(\n\t\t\t\t( carry, [ groupName, location ] ) => {\n\t\t\t\t\tconst items = location.getInjections()\n\t\t\t\t\t\t.map( ( injection ) => ( {\n\t\t\t\t\t\t\tid: injection.id,\n\t\t\t\t\t\t\tMenuItem: injection.component,\n\t\t\t\t\t\t} ) );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...carry,\n\t\t\t\t\t\t[ groupName ]: items,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{} as GroupedItems<TGroup>\n\t\t\t);\n\t\t}, [] );\n\t};\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { createContext, PropsWithChildren, useContext } from 'react';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n}\n\nconst MenuContext = createContext<MenuContextValue>( { type: 'toolbar' } );\n\nexport function MenuContextProvider( { type, children }: PropsWithChildren<MenuContextValue> ) {\n\treturn (\n\t\t<MenuContext.Provider value={ { type } }>\n\t\t\t{ children }\n\t\t</MenuContext.Provider>\n\t);\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { Box, IconButton, IconButtonProps, Tooltip } 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 { ...props } aria-label={ title } size=\"small\" />\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport {\n\tMenuItem,\n\tMenuItemProps,\n\tListItemText,\n\tListItemIcon,\n\twithDirection,\n} from '@elementor/ui';\nimport { ArrowUpRightIcon } from '@elementor/icons';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n}\n\nexport type PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\n\nexport default function PopoverMenuItem( { text, icon, onClick, href, target, disabled, ...props }: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank';\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, ToggleButtonProps, Tooltip } from '@elementor/ui';\n\nexport type ToolbarMenuToggleItemProps = Omit<ToggleButtonProps, 'onChange'> & {\n\ttitle?: string;\n\tonClick?: () => void;\n}\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton { ...props } onChange={ onClick } aria-label={ title } size=\"small\" />\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n}\n\nexport default function Link( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import { createMenu } from './menus';\nimport { createLocation } from '@elementor/locations';\n\nexport { createMenu } from './menus';\n\nexport const {\n\tinject: injectIntoPageIndication,\n\tSlot: PageIndicationSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoResponsive,\n\tSlot: ResponsiveSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoPrimaryAction,\n\tSlot: PrimaryActionSlot,\n} = createLocation();\n\nexport const mainMenu = createMenu( [ 'exits' ] );\n\nexport const toolsMenu = createMenu();\n\nexport const utilitiesMenu = createMenu();\n\nexport const integrationsMenu = createMenu();\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import * as React from 'react';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider } from '@elementor/ui';\nimport MainMenuLocation from './locations/main-menu-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ToolbarMenu from './ui/toolbar-menu';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport ResponsiveLocation from './locations/responsive-location';\n\nexport default function AppBar() {\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\">\n\t\t\t\t\t<Grid container>\n\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t<ToolsMenuLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t<ToolbarMenu spacing={ 3 }>\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"flex-end\">\n\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t</Box>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { usePopupState, bindMenu, bindTrigger, Stack, Divider } from '@elementor/ui';\nimport { mainMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo\n\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\tselected={ popupState.isOpen }\n\t\t\t/>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\n\t\t\t\t<IntegrationsMenuLocation key=\"integrations-location\" parentPopupState={ popupState } />\n\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, MenuProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps;\n\nexport default function PopoverMenu( { children, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 4 },\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} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { ToggleButton, ToggleButtonProps, SvgIconProps, SvgIcon, styled } from '@elementor/ui';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit<ToggleButtonProps, 'value'>;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpaddingInline: theme.spacing( 1 ),\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\twidth: 'auto',\n\theight: '100%',\n\t'& path': {\n\t\tfill: 'initial',\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=\"small\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo titleAccess={ __( 'Elementor Logo', 'elementor' ) } showMenuIcon={ showMenuIcon } />\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\nimport { integrationsMenu } from '../../locations';\nimport {\n\tbindMenu,\n\tDivider,\n\tListItemIcon,\n\tListItemText,\n\tMenuItem,\n\tusePopupState,\n\tbindHover,\n\tbindFocus,\n\twithDirection,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { ChevronRightIcon, PlugIcon } from '@elementor/icons';\nimport PopoverSubMenu from '../ui/popover-sub-menu';\n\ntype Props = {\n\tparentPopupState: ReturnType<typeof usePopupState>;\n}\n\nconst { useMenuItems } = integrationsMenu;\n\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function IntegrationsMenuLocation( { parentPopupState }: Props ) {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tparentPopupState,\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Divider />\n\t\t\t<MenuItem\n\t\t\t\t{ ...bindHover( popupState ) }\n\t\t\t\t{ ...bindFocus( popupState ) }\n\t\t\t>\n\t\t\t\t<ListItemIcon>\n\t\t\t\t\t<PlugIcon />\n\t\t\t\t</ListItemIcon>\n\t\t\t\t<ListItemText primary={ __( 'Integrations', 'elementor' ) } />\n\t\t\t\t<DirectionalChevronIcon />\n\t\t\t\t<PopoverSubMenu { ...bindMenu( popupState ) } onClick={ popupState.close }>\n\t\t\t\t\t{ menuItems.default.map(\n\t\t\t\t\t\t( { MenuItem: IntegrationsMenuItem, id } ) => <IntegrationsMenuItem key={ id } />\n\t\t\t\t\t) }\n\t\t\t\t</PopoverSubMenu>\n\t\t\t</MenuItem>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport PopoverMenu, { PopoverMenuProps } from './popover-menu';\nimport { useTheme } from '@elementor/ui';\n\nexport default function PopoverSubMenu( { children, ...props }: PopoverMenuProps ) {\n\tconst theme = useTheme();\n\tconst isRTL = theme.direction === 'rtl';\n\n\treturn (\n\t\t<PopoverMenu\n\t\t\tsx={ { pointerEvents: 'none' } }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t// This is a workaround to support RTL in PopoverMenu, since it doesn't support it yet.\n\t\t\t\t\t...( isRTL\n\t\t\t\t\t\t? { marginInlineEnd: -2 }\n\t\t\t\t\t\t: { marginInlineStart: 2 }\n\t\t\t\t\t),\n\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t},\n\t\t\t} }\n\t\t\tanchorOrigin={ { vertical: 'center', horizontal: isRTL ? 'left' : 'right' } }\n\t\t\ttransformOrigin={ { vertical: 'center', horizontal: isRTL ? 'right' : 'left' } }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</PopoverMenu>\n\t);\n}\n","import * as React from 'react';\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, StackProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 4 } } spacing={ 4 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { PropsWithChildren } from 'react';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport ToolbarMenuItem from './toolbar-menu-item';\nimport { __ } from '@wordpress/i18n';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport PopoverMenu from './popover-menu';\n\nexport type ToolbarMenuMoreProps = PropsWithChildren<{\n\tid: string;\n}>\n\nexport default function ToolbarMenuMore( { children, id }: ToolbarMenuMoreProps ) {\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: id,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'More', 'elementor' ) }>\n\t\t\t\t<DotsVerticalIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) }>\n\t\t\t\t{ children }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport { utilitiesMenu } from '../../locations';\nimport { Divider } from '@elementor/ui';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 3;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map(\n\t\t\t\t( { MenuItem, id }, index ) => (\n\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t\t<MenuItem />\n\t\t\t\t\t</Fragment>\n\t\t\t\t)\n\t\t\t) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn (\n\t\t<PrimaryActionSlot />\n\t);\n}\n","import * as React from 'react';\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn (\n\t\t<PageIndicationSlot />\n\t);\n}\n","import * as React from 'react';\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn (\n\t\t<ResponsiveSlot />\n\t);\n}\n","import AppBar from './components/app-bar';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { listenTo, openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { useActiveDocument, useHostDocument } from '@elementor/editor-documents';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => openRoute( 'panel/page-settings/settings' ) }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { useActiveDocument } from '@elementor/editor-documents';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => document && runCommand( 'editor/documents/preview', {\n\t\t\tid: document.id,\n\t\t\tforce: true,\n\t\t} ),\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FileReportIcon } from '@elementor/icons';\nimport { useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { saveDraft } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FolderIcon } from '@elementor/icons';\nimport { useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\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 isDisabled = ! isEnabled( document );\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 && ! isDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"medium\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => ! document.isSaving && save() }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tpx: 7,\n\t\t\t\t\t\theight: '100%',\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={ isDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress /> : 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: 3,\n\t\t\t\t\t\t\t\tmr: 1,\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\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%' } }\n\t\t\t\t\t\t\tdisabled={ document.type.value === 'kit' }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { documentOptionsMenu } from '../../../locations';\nimport PopoverMenu, { PopoverMenuProps } from '../../../components/ui/popover-menu';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers when a group is rendered empty (due to a limitation in our locations' mechanism).\n// It doesn't cover all the cases (i.e. when there are multiple dividers at the end), but it's good enough for our use-case.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root > .MuiDivider-root {\n\t\t&:only-child, /* A divider is being rendered lonely */\n\t\t&:last-child, /* The last group renders empty but renders a divider */\n\t\t& + .MuiDivider-root /* Multiple dividers due to multiple empty groups */ {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 8 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 2 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { documentOptionsMenu, injectIntoPrimaryAction } from '../../locations';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport PrimaryAction from './components/primary-action';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\t// Documents options menu.\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10, // Before save as template.\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20, // After save draft.\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { isRouteActive, listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => openRoute( 'panel/elements/categories' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => runCommand( 'finder/toggle' ),\n\t\tselected: isActive,\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.registerToggleAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { utilitiesMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => openRoute( 'panel/history/actions' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => runCommand( 'shortcuts/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { isRouteActive, routeCloseEvent, routeOpenEvent, useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '../../../types';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => (\n\t\t\tisActive\n\t\t\t\t? runCommand( 'panel/global/close' )\n\t\t\t\t: runCommand( 'panel/global/open' )\n\t\t),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => runCommand( 'navigator/toggle' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => runCommand( 'app/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '../../../types';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => openRoute( 'panel/editor-preferences' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { mainMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { useActiveDocument } from '@elementor/editor-documents';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n","export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tdocumentOptionsMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nimport init from './init';\n\ninit();\n"],"mappings":"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","names":["React","React","React","React","React","React","Box","Tooltip","React","useMenuItems","createLocation","React","Box","Divider","React","usePopupState","bindMenu","Divider","React","React","ToggleButton","React","ListItemIcon","ListItemText","MenuItem","withDirection","__","React","withDirection","MenuItem","ListItemIcon","ListItemText","__","useMenuItems","usePopupState","bindMenu","MenuItem","Divider","React","React","Stack","Stack","React","bindMenu","bindTrigger","usePopupState","__","usePopupState","bindTrigger","__","bindMenu","useMenuItems","MenuItem","React","Fragment","Divider","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","Fragment","Divider","React","React","React","Box","Divider","injectIntoTop","React","Box","ToggleButton","Tooltip","__","openRoute","document","__","useActiveDocument","document","init","__","useActiveDocument","document","__","useActiveDocumentActions","React","__","React","Divider","styled","useMenuItems","styled","MenuItem","Divider","bindMenu","bindTrigger","Box","Tooltip","usePopupState","useActiveDocument","useActiveDocumentActions","document","__","init","__","listenTo","routeOpenEvent","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","init","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useActionProps","init","useActionProps","React","React","isRouteActive","routeOpenEvent","React","useActiveDocument","useActiveDocumentActions","Button","CircularProgress","__","PrimaryAction","document","PrimaryAction","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useActionProps","init","useActionProps","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","useActiveDocument","init","document","init","init","injectIntoTop","init"]}
|
|
1
|
+
{"version":3,"sources":["../src/locations/menus.tsx","../src/components/actions/action.tsx","../src/contexts/menu-context.tsx","../src/components/ui/toolbar-menu-item.tsx","../src/components/ui/popover-menu-item.tsx","../src/components/actions/toggle-action.tsx","../src/components/ui/toolbar-menu-toggle-item.tsx","../src/components/actions/link.tsx","../src/locations/index.ts","../src/components/app-bar.tsx","../src/components/locations/main-menu-location.tsx","../src/components/ui/popover-menu.tsx","../src/components/ui/toolbar-logo.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/ui/popover-sub-menu.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/utilities-menu-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/page-indication-location.tsx","../src/components/locations/responsive-location.tsx","../src/init.ts","../src/sync/redirect-old-menus.ts","../src/extensions/documents-indicator/components/settings-button.tsx","../src/extensions/documents-indicator/index.ts","../src/extensions/documents-preview/hooks/use-action-props.ts","../src/extensions/documents-preview/index.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/index.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts","../src/index.ts"],"sourcesContent":["import * as React from 'react';\nimport { ComponentPropsWithoutRef, ElementType, useMemo } from 'react';\nimport { createLocation, Location } from '@elementor/locations';\nimport Action from '../components/actions/action';\nimport ToggleAction from '../components/actions/toggle-action';\nimport Link from '../components/actions/link';\n\ntype GroupName = string;\n\ntype MenuGroup<TGroup extends GroupName> = TGroup | 'default';\n\ntype GroupedItems<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Array<{ id: string, MenuItem: ElementType }>>;\n\ntype GroupLocationMap<TGroup extends GroupName> = Record<MenuGroup<TGroup>, Location>;\n\ntype MenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n> = {\n\tid: string,\n\tgroup?: TGroup,\n\tpriority?: number,\n\toverwrite?: boolean,\n} & (\n\t{ props: ComponentPropsWithoutRef<TComponent>, useProps?: never } |\n\t{ useProps: () => ComponentPropsWithoutRef<TComponent>, props?: never }\n)\n\ntype MenuActions<TGroup extends GroupName> = {\n\tregisterAction: ( args: MenuItem<TGroup, typeof Action> ) => void,\n\tregisterToggleAction: ( args: MenuItem<TGroup, typeof ToggleAction> ) => void,\n\tregisterLink: ( args: MenuItem<TGroup, typeof Link> ) => void,\n\tuseMenuItems: () => GroupedItems<TGroup>,\n}\n\nexport function createMenu<\n\tTGroup extends GroupName = 'default'\n>( groups: TGroup[] = [] ): MenuActions<MenuGroup<TGroup>> {\n\tconst menuGroups: MenuGroup<TGroup>[] = [\n\t\t...groups,\n\t\t'default' as const,\n\t];\n\n\tconst locations = menuGroups.reduce(\n\t\t( carry, group ) => ( {\n\t\t\t...carry,\n\t\t\t[ group ]: createLocation(),\n\t\t} ),\n\t\t{} as GroupLocationMap<TGroup>\n\t);\n\n\tconst [\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t] = [ Action, ToggleAction, Link ].map(\n\t\t( Component ) => createRegisterMenuItem( {\n\t\t\tlocations,\n\t\t\tmenuGroups,\n\t\t\tcomponent: Component,\n\t\t} )\n\t);\n\n\tconst useMenuItems = createUseMenuItems( locations );\n\n\treturn {\n\t\tregisterAction,\n\t\tregisterToggleAction,\n\t\tregisterLink,\n\t\tuseMenuItems,\n\t};\n}\n\nfunction createRegisterMenuItem<\n\tTGroup extends GroupName,\n\tTComponent extends ElementType,\n>( { locations, menuGroups, component }: {\n\tlocations: GroupLocationMap<TGroup>\n\tmenuGroups: MenuGroup<TGroup>[],\n\tcomponent: TComponent,\n} ) {\n\treturn ( { group = 'default', id, overwrite, priority, ...args }: MenuItem<MenuGroup<TGroup>, TComponent> ) => {\n\t\tif ( ! menuGroups.includes( group ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst useProps = 'props' in args ? () => args.props : args.useProps;\n\n\t\tconst Component = component as ElementType;\n\n\t\tconst InjectedComponent = ( props: object ) => {\n\t\t\tconst componentProps = useProps();\n\n\t\t\treturn <Component { ...props } { ...componentProps } />;\n\t\t};\n\n\t\tlocations[ group ].inject( {\n\t\t\tid,\n\t\t\tcomponent: InjectedComponent,\n\t\t\toptions: {\n\t\t\t\tpriority,\n\t\t\t\toverwrite,\n\t\t\t},\n\t\t} );\n\t};\n}\n\nfunction createUseMenuItems<TGroup extends GroupName>( locations : GroupLocationMap<TGroup> ) {\n\treturn () => {\n\t\t// Normalize the injections groups to an object with the groups as keys.\n\t\treturn useMemo( () => {\n\t\t\treturn Object.entries( locations ).reduce<GroupedItems<TGroup>>(\n\t\t\t\t( carry, [ groupName, location ] ) => {\n\t\t\t\t\tconst items = location.getInjections()\n\t\t\t\t\t\t.map( ( injection ) => ( {\n\t\t\t\t\t\t\tid: injection.id,\n\t\t\t\t\t\t\tMenuItem: injection.component,\n\t\t\t\t\t\t} ) );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...carry,\n\t\t\t\t\t\t[ groupName ]: items,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{} as GroupedItems<TGroup>\n\t\t\t);\n\t\t}, [] );\n\t};\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { createContext, PropsWithChildren, useContext } from 'react';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n}\n\nconst MenuContext = createContext<MenuContextValue>( { type: 'toolbar' } );\n\nexport function MenuContextProvider( { type, children }: PropsWithChildren<MenuContextValue> ) {\n\treturn (\n\t\t<MenuContext.Provider value={ { type } }>\n\t\t\t{ children }\n\t\t</MenuContext.Provider>\n\t);\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { Box, IconButton, IconButtonProps, Tooltip } 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 { ...props } aria-label={ title } size=\"small\" />\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport {\n\tMenuItem,\n\tMenuItemProps,\n\tListItemText,\n\tListItemIcon,\n\twithDirection,\n} from '@elementor/ui';\nimport { ArrowUpRightIcon } from '@elementor/icons';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n}\n\nexport type PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\n\nexport default function PopoverMenuItem( { text, icon, onClick, href, target, disabled, ...props }: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank';\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, ToggleButtonProps, Tooltip } from '@elementor/ui';\n\nexport type ToolbarMenuToggleItemProps = Omit<ToggleButtonProps, 'onChange'> & {\n\ttitle?: string;\n\tonClick?: () => void;\n}\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton { ...props } onChange={ onClick } aria-label={ title } size=\"small\" />\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import * as React from 'react';\nimport { useMenuContext } from '../../contexts/menu-context';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport { ElementType } from 'react';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n}\n\nexport default function Link( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem\n\t\t\t{ ...props }\n\t\t\ttext={ title }\n\t\t\ticon={ <Icon /> }\n\t\t/>\n\t);\n}\n","import { createMenu } from './menus';\nimport { createLocation } from '@elementor/locations';\n\nexport { createMenu } from './menus';\n\nexport const {\n\tinject: injectIntoPageIndication,\n\tSlot: PageIndicationSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoResponsive,\n\tSlot: ResponsiveSlot,\n} = createLocation();\n\nexport const {\n\tinject: injectIntoPrimaryAction,\n\tSlot: PrimaryActionSlot,\n} = createLocation();\n\nexport const mainMenu = createMenu( [ 'exits' ] );\n\nexport const toolsMenu = createMenu();\n\nexport const utilitiesMenu = createMenu();\n\nexport const integrationsMenu = createMenu();\n\nexport const documentOptionsMenu = createMenu( [ 'save' ] );\n","import * as React from 'react';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider } from '@elementor/ui';\nimport MainMenuLocation from './locations/main-menu-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ToolbarMenu from './ui/toolbar-menu';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport ResponsiveLocation from './locations/responsive-location';\n\nexport default function AppBar() {\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\">\n\t\t\t\t\t<Grid container>\n\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t<ToolsMenuLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t<ToolbarMenu spacing={ 3 }>\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t</Grid>\n\t\t\t\t\t<Grid container justifyContent=\"flex-end\">\n\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t</Grid>\n\t\t\t\t</Box>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { usePopupState, bindMenu, bindTrigger, Stack, Divider } from '@elementor/ui';\nimport { mainMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo\n\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\tselected={ popupState.isOpen }\n\t\t\t/>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\n\t\t\t\t<IntegrationsMenuLocation key=\"integrations-location\" parentPopupState={ popupState } />\n\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, MenuProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps;\n\nexport default function PopoverMenu( { children, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 4 },\n\t\t\t\t} }\n\t\t\t\t{ ...props }\n\t\t\t\tMenuListProps={ {\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tdense: true,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { ToggleButton, ToggleButtonProps, SvgIconProps, SvgIcon, styled } from '@elementor/ui';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit<ToggleButtonProps, 'value'>;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpaddingInline: theme.spacing( 1 ),\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\twidth: 'auto',\n\theight: '100%',\n\t'& path': {\n\t\tfill: 'initial',\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=\"small\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo titleAccess={ __( 'Elementor Logo', 'elementor' ) } showMenuIcon={ showMenuIcon } />\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\nimport { integrationsMenu } from '../../locations';\nimport {\n\tbindMenu,\n\tDivider,\n\tListItemIcon,\n\tListItemText,\n\tMenuItem,\n\tusePopupState,\n\tbindHover,\n\tbindFocus,\n\twithDirection,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { ChevronRightIcon, PlugIcon } from '@elementor/icons';\nimport PopoverSubMenu from '../ui/popover-sub-menu';\n\ntype Props = {\n\tparentPopupState: ReturnType<typeof usePopupState>;\n}\n\nconst { useMenuItems } = integrationsMenu;\n\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function IntegrationsMenuLocation( { parentPopupState }: Props ) {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tparentPopupState,\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Divider />\n\t\t\t<MenuItem\n\t\t\t\t{ ...bindHover( popupState ) }\n\t\t\t\t{ ...bindFocus( popupState ) }\n\t\t\t>\n\t\t\t\t<ListItemIcon>\n\t\t\t\t\t<PlugIcon />\n\t\t\t\t</ListItemIcon>\n\t\t\t\t<ListItemText primary={ __( 'Integrations', 'elementor' ) } />\n\t\t\t\t<DirectionalChevronIcon />\n\t\t\t\t<PopoverSubMenu { ...bindMenu( popupState ) } onClick={ popupState.close }>\n\t\t\t\t\t{ menuItems.default.map(\n\t\t\t\t\t\t( { MenuItem: IntegrationsMenuItem, id } ) => <IntegrationsMenuItem key={ id } />\n\t\t\t\t\t) }\n\t\t\t\t</PopoverSubMenu>\n\t\t\t</MenuItem>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport PopoverMenu, { PopoverMenuProps } from './popover-menu';\nimport { useTheme } from '@elementor/ui';\n\nexport default function PopoverSubMenu( { children, ...props }: PopoverMenuProps ) {\n\tconst theme = useTheme();\n\tconst isRTL = theme.direction === 'rtl';\n\n\treturn (\n\t\t<PopoverMenu\n\t\t\tsx={ { pointerEvents: 'none' } }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t// This is a workaround to support RTL in PopoverMenu, since it doesn't support it yet.\n\t\t\t\t\t...( isRTL\n\t\t\t\t\t\t? { marginInlineEnd: -2 }\n\t\t\t\t\t\t: { marginInlineStart: 2 }\n\t\t\t\t\t),\n\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t},\n\t\t\t} }\n\t\t\tanchorOrigin={ { vertical: 'center', horizontal: isRTL ? 'left' : 'right' } }\n\t\t\ttransformOrigin={ { vertical: 'center', horizontal: isRTL ? 'right' : 'left' } }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</PopoverMenu>\n\t);\n}\n","import * as React from 'react';\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, StackProps } from '@elementor/ui';\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 4 } } spacing={ 4 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { PropsWithChildren } from 'react';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport ToolbarMenuItem from './toolbar-menu-item';\nimport { __ } from '@wordpress/i18n';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport PopoverMenu from './popover-menu';\n\nexport type ToolbarMenuMoreProps = PropsWithChildren<{\n\tid: string;\n}>\n\nexport default function ToolbarMenuMore( { children, id }: ToolbarMenuMoreProps ) {\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: id,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'More', 'elementor' ) }>\n\t\t\t\t<DotsVerticalIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) }>\n\t\t\t\t{ children }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport { utilitiesMenu } from '../../locations';\nimport { Divider } from '@elementor/ui';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 3;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map(\n\t\t\t\t( { MenuItem, id }, index ) => (\n\t\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t\t<MenuItem />\n\t\t\t\t\t</Fragment>\n\t\t\t\t)\n\t\t\t) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn (\n\t\t<PrimaryActionSlot />\n\t);\n}\n","import * as React from 'react';\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn (\n\t\t<PageIndicationSlot />\n\t);\n}\n","import * as React from 'react';\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn (\n\t\t<ResponsiveSlot />\n\t);\n}\n","import AppBar from './components/app-bar';\nimport { injectIntoTop } from '@elementor/editor';\nimport redirectOldMenus from './sync/redirect-old-menus';\nimport { init as initExtensions } from './extensions';\n\nexport default function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import { listenTo, openRoute, routeOpenEvent } from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, Tooltip } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { useActiveDocument, useHostDocument } from '@elementor/editor-documents';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit'\n\t\t? activeDocument\n\t\t: hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' )\n\t\t.replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => openRoute( 'panel/page-settings/settings' ) }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { EyeIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { useActiveDocument } from '@elementor/editor-documents';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => document && runCommand( 'editor/documents/preview', {\n\t\t\tid: document.id,\n\t\t\tforce: true,\n\t\t} ),\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FileReportIcon } from '@elementor/icons';\nimport { useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveDraftProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { saveDraft } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FileReportIcon,\n\t\ttitle: __( 'Save Draft', 'elementor' ),\n\t\tonClick: saveDraft,\n\t\tdisabled: ! document || document.isSaving || document.isSavingDraft || ! document.isDirty,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { FolderIcon } from '@elementor/icons';\nimport { useActiveDocumentActions } from '@elementor/editor-documents';\n\nexport default function useDocumentSaveTemplateProps(): ActionProps {\n\tconst { saveTemplate } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: FolderIcon,\n\t\ttitle: __( 'Save as Template', 'elementor' ),\n\t\tonClick: saveTemplate,\n\t};\n}\n","import * as React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport PrimaryActionMenu from './primary-action-menu';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { Document, useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\nimport { ChevronDownIcon } from '@elementor/icons';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\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 isDisabled = ! isEnabled( document );\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 && ! isDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"medium\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => ! document.isSaving && save() }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tpx: 7,\n\t\t\t\t\t\theight: '100%',\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={ isDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress /> : 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: 3,\n\t\t\t\t\t\t\t\tmr: 1,\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\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%' } }\n\t\t\t\t\t\t\tdisabled={ document.type.value === 'kit' }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish\n\t\t? __( 'Publish', 'elementor' )\n\t\t: __( 'Submit', 'elementor' );\n}\n\nfunction isEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\nimport { documentOptionsMenu } from '../../../locations';\nimport PopoverMenu, { PopoverMenuProps } from '../../../components/ui/popover-menu';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers when a group is rendered empty (due to a limitation in our locations' mechanism).\n// It doesn't cover all the cases (i.e. when there are multiple dividers at the end), but it's good enough for our use-case.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root > .MuiDivider-root {\n\t\t&:only-child, /* A divider is being rendered lonely */\n\t\t&:last-child, /* The last group renders empty but renders a divider */\n\t\t& + .MuiDivider-root /* Multiple dividers due to multiple empty groups */ {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 8 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 2 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => ( [\n\t\t\t\t( index > 0 ) && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) ) }\n\n\t\t\t{ defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id } ) => <MenuItem key={ id } /> ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import { documentOptionsMenu, injectIntoPrimaryAction } from '../../locations';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport PrimaryAction from './components/primary-action';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\t// Documents options menu.\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10, // Before save as template.\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20, // After save draft.\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { isRouteActive, listenTo, routeOpenEvent, v1ReadyEvent } from '@elementor/editor-v1-adapters';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo(\n\t\trouteOpenEvent( 'panel/elements' ),\n\t\t() => {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t);\n\n\tlistenTo(\n\t\tv1ReadyEvent(),\n\t\t() => {\n\t\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\t\tsetPanelTitle( panelTitle );\n\t\t\t\tsetTabTitle( tabTitle );\n\t\t\t}\n\t\t}\n\t);\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => openRoute( 'panel/elements/categories' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import syncPanelTitle from './sync/sync-panel-title';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tsyncPanelTitle();\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'open-elements-panel',\n\t\tpriority: 1,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { SearchIcon } from '@elementor/icons';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'finder', {\n\t\tblockOnKitRoutes: false,\n\t\tblockOnPreviewMode: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => runCommand( 'finder/toggle' ),\n\t\tselected: isActive,\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.registerToggleAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 10, // Before help.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { utilitiesMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { HelpIcon } from '@elementor/icons';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 20, // After Finder.\n\t\tuseProps: () => {\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Help', 'elementor' ),\n\t\t\t\thref: 'https://go.elementor.com/editor-top-bar-learn/',\n\t\t\t\ticon: HelpIcon,\n\t\t\t\ttarget: '_blank',\n\t\t\t};\n\t\t},\n\t} );\n}\n","import { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => openRoute( 'panel/history/actions' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ActionProps } from '../../../types';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => runCommand( 'shortcuts/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\nimport { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\t// This is portal, so it injected into the top of the editor, but renders inside the site-settings panel.\n\tinjectIntoTop( {\n\t\tid: 'site-settings-primary-action-portal',\n\t\tcomponent: PortalledPrimaryAction,\n\t} );\n\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-site-settings',\n\t\tpriority: 2,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport Portal from './portal';\nimport PrimaryAction from './primary-action';\n\nexport default function PortalledPrimaryAction() {\n\treturn (\n\t\t<Portal>\n\t\t\t<PrimaryAction />\n\t\t</Portal>\n\t);\n}\n","import * as React from 'react';\nimport { Portal as BasePortal, PortalProps } from '@elementor/ui';\nimport { isRouteActive, routeCloseEvent, routeOpenEvent, useListenTo } from '@elementor/editor-v1-adapters';\n\nexport default function Portal( props: Omit<PortalProps, 'container'> ) {\n\tconst containerRef = useListenTo(\n\t\t[\n\t\t\trouteOpenEvent( 'panel/global' ),\n\t\t\trouteCloseEvent( 'panel/global' ),\n\t\t],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BasePortal container={ containerRef.current } { ...props } />\n\t);\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport { useActiveDocument, useActiveDocumentActions } from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper sx={ {\n\t\t\tpx: 5,\n\t\t\tpy: 4,\n\t\t\tborderTop: 1,\n\t\t\tborderColor: 'divider',\n\t\t} }>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => document && ! document.isSaving ? save() : null }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tdocument?.isSaving\n\t\t\t\t\t\t? <CircularProgress />\n\t\t\t\t\t\t: __( 'Save Changes', 'elementor' )\n\t\t\t\t}\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { ToggleActionProps } from '../../../types';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => (\n\t\t\tisActive\n\t\t\t\t? runCommand( 'panel/global/close' )\n\t\t\t\t: runCommand( 'panel/global/open' )\n\t\t),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { __ } from '@wordpress/i18n';\nimport { runCommand, useRouteStatus } from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => runCommand( 'navigator/toggle' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { runCommand } from '@elementor/editor-v1-adapters';\nimport { ActionProps } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => runCommand( 'app/open' ),\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import { __ } from '@wordpress/i18n';\nimport { ToggleActionProps } from '../../../types';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { openRoute, useRouteStatus } from '@elementor/editor-v1-adapters';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => openRoute( 'panel/editor-preferences' ),\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { mainMenu } from '../../locations';\nimport { __ } from '@wordpress/i18n';\nimport { WordpressIcon } from '@elementor/icons';\nimport { useActiveDocument } from '@elementor/editor-documents';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t};\n\t\t},\n\t} );\n}\n","/**\n * All the code in this directory is a temporary solution.\n * The code should be moved to the appropriate packages.\n */\n\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n}\n","export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tdocumentOptionsMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nimport init from './init';\n\ninit();\n"],"mappings":"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","names":["React","React","React","React","React","React","Box","Tooltip","React","useMenuItems","createLocation","React","Box","Divider","React","usePopupState","bindMenu","Divider","React","React","ToggleButton","React","ListItemIcon","ListItemText","MenuItem","withDirection","__","React","withDirection","MenuItem","ListItemIcon","ListItemText","__","useMenuItems","usePopupState","bindMenu","MenuItem","Divider","React","React","Stack","Stack","React","bindMenu","bindTrigger","usePopupState","__","usePopupState","bindTrigger","__","bindMenu","useMenuItems","MenuItem","React","Fragment","Divider","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","Fragment","Divider","React","React","React","Box","Divider","injectIntoTop","React","Box","ToggleButton","Tooltip","__","openRoute","document","__","useActiveDocument","document","init","__","useActiveDocument","document","__","useActiveDocumentActions","React","__","React","Divider","styled","useMenuItems","styled","MenuItem","Divider","bindMenu","bindTrigger","Box","Tooltip","usePopupState","useActiveDocument","useActiveDocumentActions","document","__","init","__","listenTo","routeOpenEvent","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","init","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useActionProps","init","useActionProps","React","React","isRouteActive","routeOpenEvent","React","useActiveDocument","useActiveDocumentActions","Button","CircularProgress","__","PrimaryAction","document","PrimaryAction","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useRouteStatus","useActionProps","init","useActionProps","__","runCommand","useActionProps","init","useActionProps","__","openRoute","useRouteStatus","useActionProps","init","useActionProps","__","useActiveDocument","init","document","init","init","injectIntoTop","init"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elementor/editor-app-bar",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Elementor Team",
|
|
6
6
|
"homepage": "https://elementor.com/",
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"dev": "tsup --config=../../tsup.dev.ts"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@elementor/editor": "^0.8.
|
|
35
|
+
"@elementor/editor": "^0.8.1",
|
|
36
36
|
"@elementor/editor-documents": "^0.8.3",
|
|
37
37
|
"@elementor/editor-v1-adapters": "^0.5.0",
|
|
38
38
|
"@elementor/icons": "^0.7.0",
|
|
39
|
-
"@elementor/locations": "^0.6.
|
|
39
|
+
"@elementor/locations": "^0.6.3",
|
|
40
40
|
"@elementor/ui": "^1.4.53",
|
|
41
41
|
"@wordpress/i18n": "^4.36.0"
|
|
42
42
|
},
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"elementor": {
|
|
47
47
|
"type": "extension"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "363ef377d04515fd96976149cb33e36bc0864351"
|
|
50
50
|
}
|