@elementor/editor-app-bar 3.32.0-71 → 3.32.0-73

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/dist/index.js CHANGED
@@ -344,7 +344,7 @@ function MainMenuLocation() {
344
344
  if (config) {
345
345
  extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.elementorLogoDropdown, {
346
346
  location: config.locations.topBar,
347
- secondaryLocation: config.secondaryLocations.elementorLogo,
347
+ secondaryLocation: config.secondaryLocations.eLogoMenu,
348
348
  trigger: config.triggers.dropdownClick,
349
349
  element: config.elements.buttonIcon
350
350
  });
@@ -456,6 +456,22 @@ function AppBar() {
456
456
  var import_react4 = require("react");
457
457
  var import_icons4 = require("@elementor/icons");
458
458
  var import_i18n4 = require("@wordpress/i18n");
459
+ var dispatchConnectClickEvent = (eventName) => {
460
+ try {
461
+ const extendedWindow = window;
462
+ const config = extendedWindow?.elementorCommon?.eventsManager?.config;
463
+ if (config) {
464
+ extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar[eventName], {
465
+ location: config.locations.topBar,
466
+ secondaryLocation: config.secondaryLocations.eLogoMenu,
467
+ trigger: config.triggers.dropdownClick,
468
+ element: config.elements.buttonIcon
469
+ });
470
+ }
471
+ } catch (error) {
472
+ console.warn(error);
473
+ }
474
+ };
459
475
  function useConnectLinkConfig() {
460
476
  const extendedWindow = window;
461
477
  let isUserConnected = false;
@@ -474,8 +490,14 @@ function useConnectLinkConfig() {
474
490
  const connectUrl = extendedWindow?.elementor?.config.user.top_bar.connect_url;
475
491
  const $tempButton = extendedWindow.jQuery("<a>");
476
492
  $tempButton?.attr("href", connectUrl)?.attr("target", "_blank")?.attr("rel", "opener")?.css("display", "none")?.appendTo("body");
477
- $tempButton.elementorConnect();
493
+ $tempButton.elementorConnect({
494
+ success: () => {
495
+ dispatchConnectClickEvent("accountConnected");
496
+ extendedWindow.location.reload();
497
+ }
498
+ });
478
499
  $tempButton[0].click();
500
+ dispatchConnectClickEvent("connectAccount");
479
501
  setTimeout(() => {
480
502
  $tempButton.remove();
481
503
  }, 1e3);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/locations.ts","../src/components/actions/action.tsx","../src/contexts/menu-context.tsx","../src/components/ui/popover-menu-item.tsx","../src/components/ui/toolbar-menu-item.tsx","../src/components/actions/link.tsx","../src/components/actions/toggle-action.tsx","../src/components/ui/toolbar-menu-toggle-item.tsx","../src/extensions/documents-save/locations.ts","../src/init.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/page-indication-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/responsive-location.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/locations/utilities-menu-location.tsx","../src/extensions/connect/hooks/use-connect-link-config.tsx","../src/extensions/connect/index.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/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/hooks/use-document-view-page-props.ts","../src/extensions/documents-save/index.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/responsive/components/breakpoints-switcher.tsx","../src/extensions/responsive/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts","../src/sync/redirect-old-menus.ts"],"sourcesContent":["export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nexport { documentOptionsMenu } from './extensions/documents-save/locations';\n\nexport type { ActionProps, LinkProps, ToggleActionProps } from './types';\n\nexport { init } from './init';\n","import { createLocation } from '@elementor/locations';\nimport { createMenu } from '@elementor/menus';\n\nimport Action from './components/actions/action';\nimport Link from './components/actions/link';\nimport ToggleAction from './components/actions/toggle-action';\n\nexport const { inject: injectIntoPageIndication, Slot: PageIndicationSlot } = createLocation();\n\nexport const { inject: injectIntoResponsive, Slot: ResponsiveSlot } = createLocation();\n\nexport const { inject: injectIntoPrimaryAction, Slot: PrimaryActionSlot } = createLocation();\n\nconst components = {\n\tAction,\n\tToggleAction,\n\tLink,\n};\n\nexport const mainMenu = createMenu( {\n\tgroups: [ 'exits' ],\n\tcomponents,\n} );\n\nexport const toolsMenu = createMenu( { components } );\n\nexport const utilitiesMenu = createMenu( { components } );\n\nexport const integrationsMenu = createMenu( { components } );\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { createContext, type PropsWithChildren, useContext } from 'react';\nimport { type PopupState } from '@elementor/ui';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n\tpopupState?: PopupState;\n};\n\nconst MenuContext = createContext< MenuContextValue >( {\n\ttype: 'toolbar',\n} );\n\nexport function MenuContextProvider( { type, popupState, children }: PropsWithChildren< MenuContextValue > ) {\n\treturn <MenuContext.Provider value={ { type, popupState } }>{ children }</MenuContext.Provider>;\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { ArrowUpRightIcon, ChevronRightIcon } from '@elementor/icons';\nimport { ListItemIcon, ListItemText, MenuItem, type MenuItemProps, withDirection } from '@elementor/ui';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n\tisGroupParent?: boolean;\n\tshowExternalLinkIcon?: boolean;\n};\n\ntype PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function PopoverMenuItem( {\n\ttext,\n\ticon,\n\tonClick,\n\thref,\n\ttarget,\n\tdisabled,\n\tisGroupParent,\n\tshowExternalLinkIcon,\n\t...props\n}: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank' && showExternalLinkIcon;\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t\tsx={ {\n\t\t\t\t'&:hover': {\n\t\t\t\t\tcolor: 'text.primary', // Overriding global CSS from the editor.\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t\t{ isGroupParent && <DirectionalChevronIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { Box, IconButton, type IconButtonProps, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\n\ntype ToolbarMenuItemProps = IconButtonProps & {\n\ttitle?: string;\n\tselected?: boolean;\n};\n\nexport default function ToolbarMenuItem( { title, ...props }: ToolbarMenuItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<IconButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\t'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\tcolor: 'text.primary',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n\tshowExternalLinkIcon?: boolean;\n\tonClick?: ( event: React.MouseEvent< HTMLElement > ) => void;\n};\n\nexport default function Link( { icon: Icon, title, visible = true, showExternalLinkIcon = false, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } showExternalLinkIcon={ showExternalLinkIcon } />\n\t);\n}\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, type ToggleButtonProps, Tooltip } from '@elementor/ui';\n\ntype ToolbarMenuToggleItemProps = Omit< ToggleButtonProps, 'onChange' > & {\n\ttitle?: string;\n\tonClick?: () => void;\n};\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonChange={ onClick }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import { createMenu } from '@elementor/menus';\n\nimport Action from '../../components/actions/action';\nimport Link from '../../components/actions/link';\nimport ToggleAction from '../../components/actions/toggle-action';\n\nexport const documentOptionsMenu = createMenu( {\n\tgroups: [ 'save' ],\n\tcomponents: {\n\t\tAction,\n\t\tToggleAction,\n\t\tLink,\n\t},\n} );\n","import { injectIntoTop } from '@elementor/editor';\n\nimport AppBar from './components/app-bar';\nimport { init as initExtensions } from './extensions';\nimport redirectOldMenus from './sync/redirect-old-menus';\n\nexport function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import * as React from 'react';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider, Toolbar } from '@elementor/ui';\n\nimport MainMenuLocation from './locations/main-menu-location';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ResponsiveLocation from './locations/responsive-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport ToolbarMenu from './ui/toolbar-menu';\n\nexport default function AppBar() {\n\tconst document = useActiveDocument();\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Toolbar disableGutters variant=\"dense\">\n\t\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\" flexGrow={ 1 }>\n\t\t\t\t\t\t<Grid container flexWrap=\"nowrap\">\n\t\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t\t{ document?.permissions?.allowAddingWidgets && <ToolsMenuLocation /> }\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t\t<ToolbarMenu spacing={ 1.5 }>\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"flex-end\" flexWrap=\"nowrap\">\n\t\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t</Box>\n\t\t\t\t</Toolbar>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { bindMenu, bindTrigger, Divider, Stack, usePopupState } from '@elementor/ui';\n\nimport { mainMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\tconst toolbarLogoProps = bindTrigger( popupState );\n\n\tconst onToolbarClick: React.MouseEventHandler = ( e ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.elementorLogoDropdown, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\ttrigger: config.triggers.dropdownClick,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t} );\n\t\t}\n\n\t\ttoolbarLogoProps.onClick( e );\n\t};\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo { ...toolbarLogoProps } onClick={ onToolbarClick } selected={ popupState.isOpen } />\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) } marginThreshold={ 8 }>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, type MenuProps, type PopupState } from '@elementor/ui';\n\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps & {\n\tpopupState?: PopupState;\n};\n\nexport default function PopoverMenu( { children, popupState, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' } popupState={ popupState }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 1.5 },\n\t\t\t\t} }\n\t\t\t\t{ ...props }\n\t\t\t\tMenuListProps={ {\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tdense: true,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { styled, SvgIcon, type SvgIconProps, ToggleButton, type ToggleButtonProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit< ToggleButtonProps, 'value' >;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpadding: 0,\n\tborder: 0,\n\tcolor: theme.palette.text.primary,\n\t'&.MuiToggleButton-root:hover': {\n\t\tbackgroundColor: 'initial',\n\t},\n\t'&.MuiToggleButton-root.Mui-selected': {\n\t\tbackgroundColor: 'initial',\n\t},\n} ) );\n\nconst StyledElementorLogo = styled( ElementorLogo, {\n\tshouldForwardProp: ( prop ) => prop !== 'showMenuIcon',\n} )< StyledElementorLogoProps >( ( { theme, showMenuIcon } ) => ( {\n\t'& path': {\n\t\tfill: theme.palette.background.default,\n\t\ttransition: 'all 0.2s linear',\n\t\ttransformOrigin: 'bottom left',\n\t\t'&:first-of-type': {\n\t\t\ttransitionDelay: ! showMenuIcon && '0.2s',\n\t\t\ttransform: showMenuIcon && 'translateY(-9px) scaleY(0)',\n\t\t},\n\t\t'&:not(:first-of-type)': {\n\t\t\t// Emotion automatically change 4 to -4 in RTL mode.\n\t\t\ttransform: ! showMenuIcon && `translateX(${ theme.direction === 'rtl' ? '4' : '9' }px) scaleX(0.6)`,\n\t\t},\n\t\t'&:nth-of-type(2)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0' : '0.2s',\n\t\t},\n\t\t'&:nth-of-type(3)': {\n\t\t\ttransitionDelay: '0.1s',\n\t\t},\n\t\t'&:nth-of-type(4)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0.2s' : '0',\n\t\t},\n\t},\n} ) );\n\nexport default function ToolbarLogo( props: ToolbarLogoProps ) {\n\tconst [ isHoverState, setIsHoverState ] = useState( false );\n\tconst showMenuIcon = props.selected || isHoverState;\n\n\treturn (\n\t\t<StyledToggleButton\n\t\t\t{ ...props }\n\t\t\tvalue=\"selected\"\n\t\t\tsize=\"large\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo\n\t\t\t\tfontSize=\"large\"\n\t\t\t\tshowMenuIcon={ showMenuIcon }\n\t\t\t\ttitleAccess={ __( 'Elementor Logo', 'elementor' ) }\n\t\t\t/>\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\n\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn <PageIndicationSlot />;\n}\n","import * as React from 'react';\n\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn <PrimaryActionSlot />;\n}\n","import * as React from 'react';\n\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn <ResponsiveSlot />;\n}\n","import * as React from 'react';\n\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t<MenuItem key={ id } />\n\t\t\t) ) }\n\t\t\t<IntegrationsMenuLocation />\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, type StackProps } from '@elementor/ui';\n\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\ntype ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 1.5 } } spacing={ 1.5 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { type PropsWithChildren } from 'react';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport PopoverMenu from './popover-menu';\nimport ToolbarMenuItem from './toolbar-menu-item';\n\ntype 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 { PlugIcon } from '@elementor/icons';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { integrationsMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nconst { useMenuItems } = integrationsMenu;\n\nexport default function IntegrationsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'Integrations', 'elementor' ) }>\n\t\t\t\t<PlugIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t\topen={ popupState.isOpen }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem: IntegrationsMenuItem, id } ) => (\n\t\t\t\t\t<IntegrationsMenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport { Divider } from '@elementor/ui';\n\nimport { utilitiesMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 4;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\t// If there are more than 5 items, show the first 4 inline and the rest in the popover.\n\t// Otherwise, display all items inline.\n\tconst shouldUsePopover = menuItems.default.length > MAX_TOOLBAR_ACTIONS + 1;\n\n\tconst toolbarMenuItems = shouldUsePopover ? menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS ) : menuItems.default;\n\tconst popoverMenuItems = shouldUsePopover ? menuItems.default.slice( MAX_TOOLBAR_ACTIONS ) : [];\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id }, index ) => (\n\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t<MenuItem />\n\t\t\t\t</Fragment>\n\t\t\t) ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import { useCallback } from 'react';\nimport { UserIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useConnectLinkConfig() {\n\tconst extendedWindow = window as unknown as ExtendedWindow;\n\tlet isUserConnected = false;\n\tconst isPro = extendedWindow?.elementor?.helpers.hasPro();\n\tlet target = '_blank';\n\tif ( isPro ) {\n\t\tisUserConnected = extendedWindow?.elementorPro?.config.isActive ?? false;\n\t} else {\n\t\tisUserConnected = extendedWindow?.elementorCommon?.config.library_connect.is_connected ?? false;\n\t\ttarget = '_self';\n\t}\n\n\tconst handleConnectClick = useCallback(\n\t\t( event: React.MouseEvent< HTMLElement > ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( extendedWindow.jQuery && extendedWindow.jQuery.fn?.elementorConnect ) {\n\t\t\t\tconst connectUrl = extendedWindow?.elementor?.config.user.top_bar.connect_url;\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\tconst $tempButton = ( extendedWindow as any ).jQuery( '<a>' );\n\t\t\t\t$tempButton\n\t\t\t\t\t?.attr( 'href', connectUrl )\n\t\t\t\t\t?.attr( 'target', '_blank' )\n\t\t\t\t\t?.attr( 'rel', 'opener' )\n\t\t\t\t\t?.css( 'display', 'none' )\n\t\t\t\t\t?.appendTo( 'body' );\n\n\t\t\t\t$tempButton.elementorConnect();\n\n\t\t\t\t$tempButton[ 0 ].click();\n\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t$tempButton.remove();\n\t\t\t\t}, 1000 );\n\t\t\t}\n\t\t},\n\t\t[ extendedWindow ]\n\t);\n\n\treturn isUserConnected\n\t\t? {\n\t\t\t\ttitle: __( 'My Elementor', 'elementor' ),\n\t\t\t\thref: extendedWindow?.elementor?.config.user.top_bar.my_elementor_url,\n\t\t\t\ticon: UserIcon,\n\t\t\t\ttarget: '_blank',\n\t\t }\n\t\t: {\n\t\t\t\ttitle: __( 'Connect my account', 'elementor' ),\n\t\t\t\thref: extendedWindow?.elementor?.config.user.top_bar.connect_url,\n\t\t\t\ticon: UserIcon,\n\t\t\t\ttarget,\n\t\t\t\tonClick: handleConnectClick,\n\t\t };\n}\n","import { mainMenu } from '../../locations';\nimport useConnectLinkConfig from './hooks/use-connect-link-config';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'app-bar-connect',\n\t\tgroup: 'exits',\n\t\tpriority: 10,\n\t\tuseProps: useConnectLinkConfig,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useHostDocument as useHostDocument,\n} from '@elementor/editor-documents';\nimport {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit' ? activeDocument : hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' ).replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.documentSettings,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'document-settings' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\topenRoute( 'panel/page-settings/settings' );\n\t\t\t\t\t} }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 1.7,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { EyeIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.previewPage, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'preview-page' ],\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( document ) {\n\t\t\t\trunCommand( 'editor/documents/preview', {\n\t\t\t\t\tid: document.id,\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n\ttype Document,\n} from '@elementor/editor-documents';\nimport { useEditMode } from '@elementor/editor-v1-adapters';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\nimport PrimaryActionMenu from './primary-action-menu';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\tconst editMode = useEditMode();\n\n\tconst isEditMode = editMode === 'edit';\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = ! isEditMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = ! isEditMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.publishButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'publish-button' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.mainCta,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( ! document.isSaving ) {\n\t\t\t\t\t\t\tsave();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish ? __( 'Publish', 'elementor' ) : __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\n\nimport { default as PopoverMenu, type PopoverMenuProps } from '../../../components/ui/popover-menu';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers for empty menu items, due to a limitation in the locations' mechanism.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root {\n\t\t& > .MuiDivider-root {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > *:not( .MuiDivider-root ):not( :last-of-type ) + .MuiDivider-root {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\n\t\t\t{ saveActions.length > 0 && defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { LinkIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\n\nexport default function useDocumentCopyAndShareProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { copyAndShare } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: LinkIcon,\n\t\ttitle: __( 'Copy and Share', 'elementor' ),\n\t\tonClick: copyAndShare,\n\t\tdisabled:\n\t\t\t! document || document.isSaving || document.isSavingDraft || ! ( 'publish' === document.status.value ),\n\t\tvisible: document?.permissions?.showCopyAndShare,\n\t};\n}\n","import {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\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 { __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { FolderIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\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 { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { EyeIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function useDocumentViewPageProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'View Page', 'elementor' ),\n\t\tonClick: () =>\n\t\t\tdocument?.id &&\n\t\t\trunCommand( 'editor/documents/view', {\n\t\t\t\tid: document.id,\n\t\t\t} ),\n\t};\n}\n","import { injectIntoPrimaryAction } from '../../locations';\nimport PrimaryAction from './components/primary-action';\nimport useDocumentCopyAndShareProps from './hooks/use-document-copy-and-share-props';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport useDocumentViewPageProps from './hooks/use-document-view-page-props';\nimport { documentOptionsMenu } from './locations';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20,\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-copy-and-share',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentCopyAndShareProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-view-page',\n\t\tpriority: 50,\n\t\tuseProps: useDocumentViewPageProps,\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.widgetPanel, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'widget-panel' ],\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/elements/categories' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateListenTo as listenTo,\n\trouteOpenEvent,\n\tv1ReadyEvent,\n} from '@elementor/editor-v1-adapters';\nimport { __ } from '@wordpress/i18n';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t};\n\t\t};\n\t};\n};\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo( routeOpenEvent( 'panel/elements' ), () => {\n\t\tsetPanelTitle( panelTitle );\n\t\tsetTabTitle( tabTitle );\n\t} );\n\n\tlistenTo( v1ReadyEvent(), () => {\n\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t} );\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\nimport syncPanelTitle from './sync/sync-panel-title';\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 { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { SearchIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.finder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.finder,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'finder/toggle' );\n\t\t},\n\t} satisfies ActionProps;\n}\n","import { utilitiesMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 15, // Before Preview.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { HelpIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { utilitiesMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 25, // 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\tshowExternalLinkIcon: true,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.help, {\n\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.help,\n\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.history, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/history/actions' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.keyboardShortcuts, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'shortcuts/open' );\n\t\t},\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\ttype BreakpointId,\n\tuseActivateBreakpoint,\n\tuseActiveBreakpoint,\n\tuseBreakpoints,\n} from '@elementor/editor-responsive';\nimport {\n\tDesktopIcon,\n\tLaptopIcon,\n\tMobileLandscapeIcon,\n\tMobilePortraitIcon,\n\tTabletLandscapeIcon,\n\tTabletPortraitIcon,\n\tWidescreenIcon,\n} from '@elementor/icons';\nimport { Tab, Tabs, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function BreakpointsSwitcher() {\n\tconst breakpoints = useBreakpoints();\n\tconst activeBreakpoint = useActiveBreakpoint();\n\tconst activateBreakpoint = useActivateBreakpoint();\n\n\tif ( ! breakpoints.length || ! activeBreakpoint ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( _: unknown, value: BreakpointId ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.responsiveControls, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.responsiveControls,\n\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\tmode: value,\n\t\t\t} );\n\t\t}\n\n\t\tactivateBreakpoint( value );\n\t};\n\n\treturn (\n\t\t<Tabs\n\t\t\ttextColor=\"inherit\"\n\t\t\tindicatorColor=\"secondary\"\n\t\t\tvalue={ activeBreakpoint }\n\t\t\tonChange={ onChange }\n\t\t\taria-label={ __( 'Switch Device', 'elementor' ) }\n\t\t\tsx={ {\n\t\t\t\t'& .MuiTabs-indicator': {\n\t\t\t\t\tbackgroundColor: 'text.primary',\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t{ breakpoints.map( ( { id, label, type, width } ) => {\n\t\t\t\tconst Icon = iconsMap[ id ];\n\n\t\t\t\tconst title = labelsMap[ type || 'default' ]\n\t\t\t\t\t.replace( '%s', label )\n\t\t\t\t\t.replace( '%d', width?.toString() || '' );\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tab\n\t\t\t\t\t\tvalue={ id }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<Tooltip title={ title }>\n\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsx={ { minWidth: 'auto' } }\n\t\t\t\t\t\tdata-testid={ `switch-device-to-${ id }` }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Tabs>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2.5,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nconst iconsMap = {\n\twidescreen: WidescreenIcon,\n\tdesktop: DesktopIcon,\n\tlaptop: LaptopIcon,\n\ttablet_extra: TabletLandscapeIcon,\n\ttablet: TabletPortraitIcon,\n\tmobile_extra: MobileLandscapeIcon,\n\tmobile: MobilePortraitIcon,\n};\n\nconst labelsMap = {\n\tdefault: '%s',\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'min-width': __( '%s (%dpx and up)', 'elementor' ),\n\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'max-width': __( '%s (up to %dpx)', 'elementor' ),\n} as const;\n","import { injectIntoResponsive } from '../../locations';\nimport BreakpointsSwitcher from './components/breakpoints-switcher';\n\nexport function init() {\n\tinjectIntoResponsive( {\n\t\tid: 'responsive-breakpoints-switcher',\n\t\tcomponent: BreakpointsSwitcher,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indication.\n\t\t},\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\n\nimport { toolsMenu } from '../../locations';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\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';\n\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 {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateUseListenTo as useListenTo,\n\trouteCloseEvent,\n\trouteOpenEvent,\n} from '@elementor/editor-v1-adapters';\nimport { Portal as BasePortal, type PortalProps } from '@elementor/ui';\n\nexport default function Portal( props: Omit< PortalProps, 'container' > ) {\n\tconst containerRef = useListenTo(\n\t\t[ routeOpenEvent( 'panel/global' ), routeCloseEvent( 'panel/global' ) ],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn <BasePortal container={ containerRef.current } { ...props } />;\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper\n\t\t\tsx={ {\n\t\t\t\tpx: 5,\n\t\t\t\tpy: 4,\n\t\t\t\tborderTop: 1,\n\t\t\t\tborderColor: 'divider',\n\t\t\t} }\n\t\t>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => ( document && ! document.isSaving ? save() : null ) }\n\t\t\t>\n\t\t\t\t{ document?.isSaving ? <CircularProgress /> : __( 'Save Changes', 'elementor' ) }\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.siteSettings, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.siteSettings,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( isActive ) {\n\t\t\t\trunCommand( 'panel/global/close' );\n\t\t\t} else {\n\t\t\t\trunCommand( 'panel/global/open' );\n\t\t\t}\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.structure, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.structure,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'navigator/toggle' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.themeBuilder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'app/open' );\n\t\t},\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.userPreferences, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/editor-preferences' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { mainMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tpriority: 20,\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\tconfig.names.topBar.exitToWordpress,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.link,\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};\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 initConnect } from './connect';\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initResponsive } from './responsive';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitResponsive();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n\tinitConnect();\n}\n","import {\n\t__privateListenTo as listenTo,\n\t__privateOpenRoute as openRoute,\n\trouteOpenEvent,\n} from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n"],"mappings":"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","names":["init","React","React","React","import_ui","BaseTooltip","React","React","React","import_ui","import_menus","import_editor","React","import_ui","React","import_ui","React","import_ui","React","import_react","import_ui","MenuItem","React","React","React","React","React","import_ui","React","import_icons","import_ui","import_i18n","React","import_icons","import_ui","import_i18n","useMenuItems","useMenuItems","MenuItem","React","import_react","import_ui","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","document","useActiveDocument","BaseAppBar","import_react","import_icons","import_i18n","React","import_editor_documents","import_icons","import_ui","import_i18n","useActiveDocument","useHostDocument","document","useRouteStatus","Tooltip","openRoute","BaseTooltip","init","import_editor_documents","import_editor_v1_adapters","import_icons","import_i18n","document","useActiveDocument","runCommand","init","React","import_editor_documents","import_editor_v1_adapters","import_icons","import_ui","import_i18n","React","import_ui","useMenuItems","MenuItem","document","useActiveDocument","useActiveDocumentActions","import_editor_documents","import_icons","import_i18n","document","useActiveDocument","useActiveDocumentActions","import_editor_documents","import_icons","import_i18n","document","useActiveDocument","useActiveDocumentActions","import_editor_documents","import_icons","import_i18n","useActiveDocumentActions","import_editor_documents","import_editor_v1_adapters","import_icons","import_i18n","document","useActiveDocument","runCommand","init","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","openRoute","import_editor_v1_adapters","import_i18n","listenTo","isRouteActive","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","runCommand","init","useActionProps","import_icons","import_i18n","init","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","runCommand","init","useActionProps","React","import_icons","import_ui","import_i18n","Tooltip","BaseTooltip","init","React","React","import_editor_v1_adapters","import_ui","useListenTo","BasePortal","isRouteActive","React","import_editor_documents","import_ui","import_i18n","PrimaryAction","document","useActiveDocument","useActiveDocumentActions","PrimaryAction","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","runCommand","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_editor_documents","import_icons","import_i18n","init","document","useActiveDocument","init","import_editor_v1_adapters","listenTo","openRoute","init"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/locations.ts","../src/components/actions/action.tsx","../src/contexts/menu-context.tsx","../src/components/ui/popover-menu-item.tsx","../src/components/ui/toolbar-menu-item.tsx","../src/components/actions/link.tsx","../src/components/actions/toggle-action.tsx","../src/components/ui/toolbar-menu-toggle-item.tsx","../src/extensions/documents-save/locations.ts","../src/init.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/page-indication-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/responsive-location.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/locations/utilities-menu-location.tsx","../src/extensions/connect/hooks/use-connect-link-config.tsx","../src/extensions/connect/index.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/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/hooks/use-document-view-page-props.ts","../src/extensions/documents-save/index.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/responsive/components/breakpoints-switcher.tsx","../src/extensions/responsive/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts","../src/sync/redirect-old-menus.ts"],"sourcesContent":["export {\n\tmainMenu,\n\ttoolsMenu,\n\tutilitiesMenu,\n\tintegrationsMenu,\n\tinjectIntoPageIndication,\n\tinjectIntoResponsive,\n\tinjectIntoPrimaryAction,\n} from './locations';\n\nexport { documentOptionsMenu } from './extensions/documents-save/locations';\n\nexport type { ActionProps, LinkProps, ToggleActionProps } from './types';\n\nexport { init } from './init';\n","import { createLocation } from '@elementor/locations';\nimport { createMenu } from '@elementor/menus';\n\nimport Action from './components/actions/action';\nimport Link from './components/actions/link';\nimport ToggleAction from './components/actions/toggle-action';\n\nexport const { inject: injectIntoPageIndication, Slot: PageIndicationSlot } = createLocation();\n\nexport const { inject: injectIntoResponsive, Slot: ResponsiveSlot } = createLocation();\n\nexport const { inject: injectIntoPrimaryAction, Slot: PrimaryActionSlot } = createLocation();\n\nconst components = {\n\tAction,\n\tToggleAction,\n\tLink,\n};\n\nexport const mainMenu = createMenu( {\n\tgroups: [ 'exits' ],\n\tcomponents,\n} );\n\nexport const toolsMenu = createMenu( { components } );\n\nexport const utilitiesMenu = createMenu( { components } );\n\nexport const integrationsMenu = createMenu( { components } );\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { createContext, type PropsWithChildren, useContext } from 'react';\nimport { type PopupState } from '@elementor/ui';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n\tpopupState?: PopupState;\n};\n\nconst MenuContext = createContext< MenuContextValue >( {\n\ttype: 'toolbar',\n} );\n\nexport function MenuContextProvider( { type, popupState, children }: PropsWithChildren< MenuContextValue > ) {\n\treturn <MenuContext.Provider value={ { type, popupState } }>{ children }</MenuContext.Provider>;\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { ArrowUpRightIcon, ChevronRightIcon } from '@elementor/icons';\nimport { ListItemIcon, ListItemText, MenuItem, type MenuItemProps, withDirection } from '@elementor/ui';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n\tisGroupParent?: boolean;\n\tshowExternalLinkIcon?: boolean;\n};\n\ntype PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function PopoverMenuItem( {\n\ttext,\n\ticon,\n\tonClick,\n\thref,\n\ttarget,\n\tdisabled,\n\tisGroupParent,\n\tshowExternalLinkIcon,\n\t...props\n}: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank' && showExternalLinkIcon;\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t\tsx={ {\n\t\t\t\t'&:hover': {\n\t\t\t\t\tcolor: 'text.primary', // Overriding global CSS from the editor.\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t\t{ isGroupParent && <DirectionalChevronIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { Box, IconButton, type IconButtonProps, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\n\ntype ToolbarMenuItemProps = IconButtonProps & {\n\ttitle?: string;\n\tselected?: boolean;\n};\n\nexport default function ToolbarMenuItem( { title, ...props }: ToolbarMenuItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<IconButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\t'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\tcolor: 'text.primary',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n\tshowExternalLinkIcon?: boolean;\n\tonClick?: ( event: React.MouseEvent< HTMLElement > ) => void;\n};\n\nexport default function Link( { icon: Icon, title, visible = true, showExternalLinkIcon = false, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } showExternalLinkIcon={ showExternalLinkIcon } />\n\t);\n}\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, type ToggleButtonProps, Tooltip } from '@elementor/ui';\n\ntype ToolbarMenuToggleItemProps = Omit< ToggleButtonProps, 'onChange' > & {\n\ttitle?: string;\n\tonClick?: () => void;\n};\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonChange={ onClick }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import { createMenu } from '@elementor/menus';\n\nimport Action from '../../components/actions/action';\nimport Link from '../../components/actions/link';\nimport ToggleAction from '../../components/actions/toggle-action';\n\nexport const documentOptionsMenu = createMenu( {\n\tgroups: [ 'save' ],\n\tcomponents: {\n\t\tAction,\n\t\tToggleAction,\n\t\tLink,\n\t},\n} );\n","import { injectIntoTop } from '@elementor/editor';\n\nimport AppBar from './components/app-bar';\nimport { init as initExtensions } from './extensions';\nimport redirectOldMenus from './sync/redirect-old-menus';\n\nexport function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import * as React from 'react';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider, Toolbar } from '@elementor/ui';\n\nimport MainMenuLocation from './locations/main-menu-location';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ResponsiveLocation from './locations/responsive-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport ToolbarMenu from './ui/toolbar-menu';\n\nexport default function AppBar() {\n\tconst document = useActiveDocument();\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Toolbar disableGutters variant=\"dense\">\n\t\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\" flexGrow={ 1 }>\n\t\t\t\t\t\t<Grid container flexWrap=\"nowrap\">\n\t\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t\t{ document?.permissions?.allowAddingWidgets && <ToolsMenuLocation /> }\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t\t<ToolbarMenu spacing={ 1.5 }>\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"flex-end\" flexWrap=\"nowrap\">\n\t\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t</Box>\n\t\t\t\t</Toolbar>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { bindMenu, bindTrigger, Divider, Stack, usePopupState } from '@elementor/ui';\n\nimport { mainMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\tconst toolbarLogoProps = bindTrigger( popupState );\n\n\tconst onToolbarClick: React.MouseEventHandler = ( e ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.elementorLogoDropdown, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.eLogoMenu,\n\t\t\t\ttrigger: config.triggers.dropdownClick,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t} );\n\t\t}\n\n\t\ttoolbarLogoProps.onClick( e );\n\t};\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo { ...toolbarLogoProps } onClick={ onToolbarClick } selected={ popupState.isOpen } />\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) } marginThreshold={ 8 }>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, type MenuProps, type PopupState } from '@elementor/ui';\n\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps & {\n\tpopupState?: PopupState;\n};\n\nexport default function PopoverMenu( { children, popupState, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' } popupState={ popupState }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 1.5 },\n\t\t\t\t} }\n\t\t\t\t{ ...props }\n\t\t\t\tMenuListProps={ {\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tdense: true,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { styled, SvgIcon, type SvgIconProps, ToggleButton, type ToggleButtonProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit< ToggleButtonProps, 'value' >;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpadding: 0,\n\tborder: 0,\n\tcolor: theme.palette.text.primary,\n\t'&.MuiToggleButton-root:hover': {\n\t\tbackgroundColor: 'initial',\n\t},\n\t'&.MuiToggleButton-root.Mui-selected': {\n\t\tbackgroundColor: 'initial',\n\t},\n} ) );\n\nconst StyledElementorLogo = styled( ElementorLogo, {\n\tshouldForwardProp: ( prop ) => prop !== 'showMenuIcon',\n} )< StyledElementorLogoProps >( ( { theme, showMenuIcon } ) => ( {\n\t'& path': {\n\t\tfill: theme.palette.background.default,\n\t\ttransition: 'all 0.2s linear',\n\t\ttransformOrigin: 'bottom left',\n\t\t'&:first-of-type': {\n\t\t\ttransitionDelay: ! showMenuIcon && '0.2s',\n\t\t\ttransform: showMenuIcon && 'translateY(-9px) scaleY(0)',\n\t\t},\n\t\t'&:not(:first-of-type)': {\n\t\t\t// Emotion automatically change 4 to -4 in RTL mode.\n\t\t\ttransform: ! showMenuIcon && `translateX(${ theme.direction === 'rtl' ? '4' : '9' }px) scaleX(0.6)`,\n\t\t},\n\t\t'&:nth-of-type(2)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0' : '0.2s',\n\t\t},\n\t\t'&:nth-of-type(3)': {\n\t\t\ttransitionDelay: '0.1s',\n\t\t},\n\t\t'&:nth-of-type(4)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0.2s' : '0',\n\t\t},\n\t},\n} ) );\n\nexport default function ToolbarLogo( props: ToolbarLogoProps ) {\n\tconst [ isHoverState, setIsHoverState ] = useState( false );\n\tconst showMenuIcon = props.selected || isHoverState;\n\n\treturn (\n\t\t<StyledToggleButton\n\t\t\t{ ...props }\n\t\t\tvalue=\"selected\"\n\t\t\tsize=\"large\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo\n\t\t\t\tfontSize=\"large\"\n\t\t\t\tshowMenuIcon={ showMenuIcon }\n\t\t\t\ttitleAccess={ __( 'Elementor Logo', 'elementor' ) }\n\t\t\t/>\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\n\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn <PageIndicationSlot />;\n}\n","import * as React from 'react';\n\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn <PrimaryActionSlot />;\n}\n","import * as React from 'react';\n\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn <ResponsiveSlot />;\n}\n","import * as React from 'react';\n\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t<MenuItem key={ id } />\n\t\t\t) ) }\n\t\t\t<IntegrationsMenuLocation />\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, type StackProps } from '@elementor/ui';\n\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\ntype ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 1.5 } } spacing={ 1.5 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { type PropsWithChildren } from 'react';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport PopoverMenu from './popover-menu';\nimport ToolbarMenuItem from './toolbar-menu-item';\n\ntype 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 { PlugIcon } from '@elementor/icons';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { integrationsMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nconst { useMenuItems } = integrationsMenu;\n\nexport default function IntegrationsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'Integrations', 'elementor' ) }>\n\t\t\t\t<PlugIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t\topen={ popupState.isOpen }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem: IntegrationsMenuItem, id } ) => (\n\t\t\t\t\t<IntegrationsMenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport { Divider } from '@elementor/ui';\n\nimport { utilitiesMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 4;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\t// If there are more than 5 items, show the first 4 inline and the rest in the popover.\n\t// Otherwise, display all items inline.\n\tconst shouldUsePopover = menuItems.default.length > MAX_TOOLBAR_ACTIONS + 1;\n\n\tconst toolbarMenuItems = shouldUsePopover ? menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS ) : menuItems.default;\n\tconst popoverMenuItems = shouldUsePopover ? menuItems.default.slice( MAX_TOOLBAR_ACTIONS ) : [];\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id }, index ) => (\n\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t<MenuItem />\n\t\t\t\t</Fragment>\n\t\t\t) ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import { useCallback } from 'react';\nimport { UserIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nconst dispatchConnectClickEvent = ( eventName: string ) => {\n\ttry {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar[ eventName ], {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.eLogoMenu,\n\t\t\t\ttrigger: config.triggers.dropdownClick,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t} );\n\t\t}\n\t} catch ( error ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn( error );\n\t}\n};\n\nexport default function useConnectLinkConfig() {\n\tconst extendedWindow = window as unknown as ExtendedWindow;\n\tlet isUserConnected = false;\n\tconst isPro = extendedWindow?.elementor?.helpers.hasPro();\n\tlet target = '_blank';\n\tif ( isPro ) {\n\t\tisUserConnected = extendedWindow?.elementorPro?.config.isActive ?? false;\n\t} else {\n\t\tisUserConnected = extendedWindow?.elementorCommon?.config.library_connect.is_connected ?? false;\n\t\ttarget = '_self';\n\t}\n\n\tconst handleConnectClick = useCallback(\n\t\t( event: React.MouseEvent< HTMLElement > ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( extendedWindow.jQuery && extendedWindow.jQuery.fn?.elementorConnect ) {\n\t\t\t\tconst connectUrl = extendedWindow?.elementor?.config.user.top_bar.connect_url;\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\tconst $tempButton = ( extendedWindow as any ).jQuery( '<a>' );\n\t\t\t\t$tempButton\n\t\t\t\t\t?.attr( 'href', connectUrl )\n\t\t\t\t\t?.attr( 'target', '_blank' )\n\t\t\t\t\t?.attr( 'rel', 'opener' )\n\t\t\t\t\t?.css( 'display', 'none' )\n\t\t\t\t\t?.appendTo( 'body' );\n\n\t\t\t\t$tempButton.elementorConnect( {\n\t\t\t\t\tsuccess: () => {\n\t\t\t\t\t\tdispatchConnectClickEvent( 'accountConnected' );\n\t\t\t\t\t\textendedWindow.location.reload();\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\t$tempButton[ 0 ].click();\n\t\t\t\tdispatchConnectClickEvent( 'connectAccount' );\n\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t$tempButton.remove();\n\t\t\t\t}, 1000 );\n\t\t\t}\n\t\t},\n\t\t[ extendedWindow ]\n\t);\n\n\treturn isUserConnected\n\t\t? {\n\t\t\t\ttitle: __( 'My Elementor', 'elementor' ),\n\t\t\t\thref: extendedWindow?.elementor?.config.user.top_bar.my_elementor_url,\n\t\t\t\ticon: UserIcon,\n\t\t\t\ttarget: '_blank',\n\t\t }\n\t\t: {\n\t\t\t\ttitle: __( 'Connect my account', 'elementor' ),\n\t\t\t\thref: extendedWindow?.elementor?.config.user.top_bar.connect_url,\n\t\t\t\ticon: UserIcon,\n\t\t\t\ttarget,\n\t\t\t\tonClick: handleConnectClick,\n\t\t };\n}\n","import { mainMenu } from '../../locations';\nimport useConnectLinkConfig from './hooks/use-connect-link-config';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'app-bar-connect',\n\t\tgroup: 'exits',\n\t\tpriority: 10,\n\t\tuseProps: useConnectLinkConfig,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useHostDocument as useHostDocument,\n} from '@elementor/editor-documents';\nimport {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit' ? activeDocument : hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' ).replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.documentSettings,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'document-settings' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\topenRoute( 'panel/page-settings/settings' );\n\t\t\t\t\t} }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 1.7,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { EyeIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.previewPage, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'preview-page' ],\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( document ) {\n\t\t\t\trunCommand( 'editor/documents/preview', {\n\t\t\t\t\tid: document.id,\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n\ttype Document,\n} from '@elementor/editor-documents';\nimport { useEditMode } from '@elementor/editor-v1-adapters';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\nimport PrimaryActionMenu from './primary-action-menu';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\tconst editMode = useEditMode();\n\n\tconst isEditMode = editMode === 'edit';\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = ! isEditMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = ! isEditMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.publishButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'publish-button' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.mainCta,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( ! document.isSaving ) {\n\t\t\t\t\t\t\tsave();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish ? __( 'Publish', 'elementor' ) : __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\n\nimport { default as PopoverMenu, type PopoverMenuProps } from '../../../components/ui/popover-menu';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers for empty menu items, due to a limitation in the locations' mechanism.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root {\n\t\t& > .MuiDivider-root {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > *:not( .MuiDivider-root ):not( :last-of-type ) + .MuiDivider-root {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\n\t\t\t{ saveActions.length > 0 && defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { LinkIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\n\nexport default function useDocumentCopyAndShareProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { copyAndShare } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: LinkIcon,\n\t\ttitle: __( 'Copy and Share', 'elementor' ),\n\t\tonClick: copyAndShare,\n\t\tdisabled:\n\t\t\t! document || document.isSaving || document.isSavingDraft || ! ( 'publish' === document.status.value ),\n\t\tvisible: document?.permissions?.showCopyAndShare,\n\t};\n}\n","import {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\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 { __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { FolderIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\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 { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { EyeIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function useDocumentViewPageProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'View Page', 'elementor' ),\n\t\tonClick: () =>\n\t\t\tdocument?.id &&\n\t\t\trunCommand( 'editor/documents/view', {\n\t\t\t\tid: document.id,\n\t\t\t} ),\n\t};\n}\n","import { injectIntoPrimaryAction } from '../../locations';\nimport PrimaryAction from './components/primary-action';\nimport useDocumentCopyAndShareProps from './hooks/use-document-copy-and-share-props';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport useDocumentViewPageProps from './hooks/use-document-view-page-props';\nimport { documentOptionsMenu } from './locations';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20,\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-copy-and-share',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentCopyAndShareProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-view-page',\n\t\tpriority: 50,\n\t\tuseProps: useDocumentViewPageProps,\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.widgetPanel, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'widget-panel' ],\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/elements/categories' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateListenTo as listenTo,\n\trouteOpenEvent,\n\tv1ReadyEvent,\n} from '@elementor/editor-v1-adapters';\nimport { __ } from '@wordpress/i18n';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t};\n\t\t};\n\t};\n};\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo( routeOpenEvent( 'panel/elements' ), () => {\n\t\tsetPanelTitle( panelTitle );\n\t\tsetTabTitle( tabTitle );\n\t} );\n\n\tlistenTo( v1ReadyEvent(), () => {\n\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t} );\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\nimport syncPanelTitle from './sync/sync-panel-title';\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 { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { SearchIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.finder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.finder,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'finder/toggle' );\n\t\t},\n\t} satisfies ActionProps;\n}\n","import { utilitiesMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 15, // Before Preview.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { HelpIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { utilitiesMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 25, // 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\tshowExternalLinkIcon: true,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.help, {\n\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.help,\n\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.history, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/history/actions' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.keyboardShortcuts, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'shortcuts/open' );\n\t\t},\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\ttype BreakpointId,\n\tuseActivateBreakpoint,\n\tuseActiveBreakpoint,\n\tuseBreakpoints,\n} from '@elementor/editor-responsive';\nimport {\n\tDesktopIcon,\n\tLaptopIcon,\n\tMobileLandscapeIcon,\n\tMobilePortraitIcon,\n\tTabletLandscapeIcon,\n\tTabletPortraitIcon,\n\tWidescreenIcon,\n} from '@elementor/icons';\nimport { Tab, Tabs, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function BreakpointsSwitcher() {\n\tconst breakpoints = useBreakpoints();\n\tconst activeBreakpoint = useActiveBreakpoint();\n\tconst activateBreakpoint = useActivateBreakpoint();\n\n\tif ( ! breakpoints.length || ! activeBreakpoint ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( _: unknown, value: BreakpointId ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.responsiveControls, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.responsiveControls,\n\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\tmode: value,\n\t\t\t} );\n\t\t}\n\n\t\tactivateBreakpoint( value );\n\t};\n\n\treturn (\n\t\t<Tabs\n\t\t\ttextColor=\"inherit\"\n\t\t\tindicatorColor=\"secondary\"\n\t\t\tvalue={ activeBreakpoint }\n\t\t\tonChange={ onChange }\n\t\t\taria-label={ __( 'Switch Device', 'elementor' ) }\n\t\t\tsx={ {\n\t\t\t\t'& .MuiTabs-indicator': {\n\t\t\t\t\tbackgroundColor: 'text.primary',\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t{ breakpoints.map( ( { id, label, type, width } ) => {\n\t\t\t\tconst Icon = iconsMap[ id ];\n\n\t\t\t\tconst title = labelsMap[ type || 'default' ]\n\t\t\t\t\t.replace( '%s', label )\n\t\t\t\t\t.replace( '%d', width?.toString() || '' );\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tab\n\t\t\t\t\t\tvalue={ id }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<Tooltip title={ title }>\n\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsx={ { minWidth: 'auto' } }\n\t\t\t\t\t\tdata-testid={ `switch-device-to-${ id }` }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Tabs>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2.5,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nconst iconsMap = {\n\twidescreen: WidescreenIcon,\n\tdesktop: DesktopIcon,\n\tlaptop: LaptopIcon,\n\ttablet_extra: TabletLandscapeIcon,\n\ttablet: TabletPortraitIcon,\n\tmobile_extra: MobileLandscapeIcon,\n\tmobile: MobilePortraitIcon,\n};\n\nconst labelsMap = {\n\tdefault: '%s',\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'min-width': __( '%s (%dpx and up)', 'elementor' ),\n\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'max-width': __( '%s (up to %dpx)', 'elementor' ),\n} as const;\n","import { injectIntoResponsive } from '../../locations';\nimport BreakpointsSwitcher from './components/breakpoints-switcher';\n\nexport function init() {\n\tinjectIntoResponsive( {\n\t\tid: 'responsive-breakpoints-switcher',\n\t\tcomponent: BreakpointsSwitcher,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indication.\n\t\t},\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\n\nimport { toolsMenu } from '../../locations';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\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';\n\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 {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateUseListenTo as useListenTo,\n\trouteCloseEvent,\n\trouteOpenEvent,\n} from '@elementor/editor-v1-adapters';\nimport { Portal as BasePortal, type PortalProps } from '@elementor/ui';\n\nexport default function Portal( props: Omit< PortalProps, 'container' > ) {\n\tconst containerRef = useListenTo(\n\t\t[ routeOpenEvent( 'panel/global' ), routeCloseEvent( 'panel/global' ) ],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn <BasePortal container={ containerRef.current } { ...props } />;\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper\n\t\t\tsx={ {\n\t\t\t\tpx: 5,\n\t\t\t\tpy: 4,\n\t\t\t\tborderTop: 1,\n\t\t\t\tborderColor: 'divider',\n\t\t\t} }\n\t\t>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => ( document && ! document.isSaving ? save() : null ) }\n\t\t\t>\n\t\t\t\t{ document?.isSaving ? <CircularProgress /> : __( 'Save Changes', 'elementor' ) }\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.siteSettings, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.siteSettings,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( isActive ) {\n\t\t\t\trunCommand( 'panel/global/close' );\n\t\t\t} else {\n\t\t\t\trunCommand( 'panel/global/open' );\n\t\t\t}\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.structure, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.structure,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'navigator/toggle' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.themeBuilder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'app/open' );\n\t\t},\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.userPreferences, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/editor-preferences' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { mainMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tpriority: 20,\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\tconfig.names.topBar.exitToWordpress,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.link,\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};\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 initConnect } from './connect';\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initResponsive } from './responsive';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitResponsive();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n\tinitConnect();\n}\n","import {\n\t__privateListenTo as listenTo,\n\t__privateOpenRoute as openRoute,\n\trouteOpenEvent,\n} from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n"],"mappings":"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","names":["init","React","React","React","import_ui","BaseTooltip","React","React","React","import_ui","import_menus","import_editor","React","import_ui","React","import_ui","React","import_ui","React","import_react","import_ui","MenuItem","React","React","React","React","React","import_ui","React","import_icons","import_ui","import_i18n","React","import_icons","import_ui","import_i18n","useMenuItems","useMenuItems","MenuItem","React","import_react","import_ui","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","document","useActiveDocument","BaseAppBar","import_react","import_icons","import_i18n","React","import_editor_documents","import_icons","import_ui","import_i18n","useActiveDocument","useHostDocument","document","useRouteStatus","Tooltip","openRoute","BaseTooltip","init","import_editor_documents","import_editor_v1_adapters","import_icons","import_i18n","document","useActiveDocument","runCommand","init","React","import_editor_documents","import_editor_v1_adapters","import_icons","import_ui","import_i18n","React","import_ui","useMenuItems","MenuItem","document","useActiveDocument","useActiveDocumentActions","import_editor_documents","import_icons","import_i18n","document","useActiveDocument","useActiveDocumentActions","import_editor_documents","import_icons","import_i18n","document","useActiveDocument","useActiveDocumentActions","import_editor_documents","import_icons","import_i18n","useActiveDocumentActions","import_editor_documents","import_editor_v1_adapters","import_icons","import_i18n","document","useActiveDocument","runCommand","init","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","openRoute","import_editor_v1_adapters","import_i18n","listenTo","isRouteActive","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","runCommand","init","useActionProps","import_icons","import_i18n","init","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","runCommand","init","useActionProps","React","import_icons","import_ui","import_i18n","Tooltip","BaseTooltip","init","React","React","import_editor_v1_adapters","import_ui","useListenTo","BasePortal","isRouteActive","React","import_editor_documents","import_ui","import_i18n","PrimaryAction","document","useActiveDocument","useActiveDocumentActions","PrimaryAction","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","runCommand","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","runCommand","init","useActionProps","import_editor_v1_adapters","import_icons","import_i18n","useActionProps","useRouteStatus","openRoute","init","useActionProps","import_editor_documents","import_icons","import_i18n","init","document","useActiveDocument","init","import_editor_v1_adapters","listenTo","openRoute","init"]}
package/dist/index.mjs CHANGED
@@ -300,7 +300,7 @@ function MainMenuLocation() {
300
300
  if (config) {
301
301
  extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.elementorLogoDropdown, {
302
302
  location: config.locations.topBar,
303
- secondaryLocation: config.secondaryLocations.elementorLogo,
303
+ secondaryLocation: config.secondaryLocations.eLogoMenu,
304
304
  trigger: config.triggers.dropdownClick,
305
305
  element: config.elements.buttonIcon
306
306
  });
@@ -412,6 +412,22 @@ function AppBar() {
412
412
  import { useCallback } from "react";
413
413
  import { UserIcon } from "@elementor/icons";
414
414
  import { __ as __4 } from "@wordpress/i18n";
415
+ var dispatchConnectClickEvent = (eventName) => {
416
+ try {
417
+ const extendedWindow = window;
418
+ const config = extendedWindow?.elementorCommon?.eventsManager?.config;
419
+ if (config) {
420
+ extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar[eventName], {
421
+ location: config.locations.topBar,
422
+ secondaryLocation: config.secondaryLocations.eLogoMenu,
423
+ trigger: config.triggers.dropdownClick,
424
+ element: config.elements.buttonIcon
425
+ });
426
+ }
427
+ } catch (error) {
428
+ console.warn(error);
429
+ }
430
+ };
415
431
  function useConnectLinkConfig() {
416
432
  const extendedWindow = window;
417
433
  let isUserConnected = false;
@@ -430,8 +446,14 @@ function useConnectLinkConfig() {
430
446
  const connectUrl = extendedWindow?.elementor?.config.user.top_bar.connect_url;
431
447
  const $tempButton = extendedWindow.jQuery("<a>");
432
448
  $tempButton?.attr("href", connectUrl)?.attr("target", "_blank")?.attr("rel", "opener")?.css("display", "none")?.appendTo("body");
433
- $tempButton.elementorConnect();
449
+ $tempButton.elementorConnect({
450
+ success: () => {
451
+ dispatchConnectClickEvent("accountConnected");
452
+ extendedWindow.location.reload();
453
+ }
454
+ });
434
455
  $tempButton[0].click();
456
+ dispatchConnectClickEvent("connectAccount");
435
457
  setTimeout(() => {
436
458
  $tempButton.remove();
437
459
  }, 1e3);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/locations.ts","../src/components/actions/action.tsx","../src/contexts/menu-context.tsx","../src/components/ui/popover-menu-item.tsx","../src/components/ui/toolbar-menu-item.tsx","../src/components/actions/link.tsx","../src/components/actions/toggle-action.tsx","../src/components/ui/toolbar-menu-toggle-item.tsx","../src/extensions/documents-save/locations.ts","../src/init.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/page-indication-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/responsive-location.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/locations/utilities-menu-location.tsx","../src/extensions/connect/hooks/use-connect-link-config.tsx","../src/extensions/connect/index.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/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/hooks/use-document-view-page-props.ts","../src/extensions/documents-save/index.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/responsive/components/breakpoints-switcher.tsx","../src/extensions/responsive/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts","../src/sync/redirect-old-menus.ts"],"sourcesContent":["import { createLocation } from '@elementor/locations';\nimport { createMenu } from '@elementor/menus';\n\nimport Action from './components/actions/action';\nimport Link from './components/actions/link';\nimport ToggleAction from './components/actions/toggle-action';\n\nexport const { inject: injectIntoPageIndication, Slot: PageIndicationSlot } = createLocation();\n\nexport const { inject: injectIntoResponsive, Slot: ResponsiveSlot } = createLocation();\n\nexport const { inject: injectIntoPrimaryAction, Slot: PrimaryActionSlot } = createLocation();\n\nconst components = {\n\tAction,\n\tToggleAction,\n\tLink,\n};\n\nexport const mainMenu = createMenu( {\n\tgroups: [ 'exits' ],\n\tcomponents,\n} );\n\nexport const toolsMenu = createMenu( { components } );\n\nexport const utilitiesMenu = createMenu( { components } );\n\nexport const integrationsMenu = createMenu( { components } );\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { createContext, type PropsWithChildren, useContext } from 'react';\nimport { type PopupState } from '@elementor/ui';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n\tpopupState?: PopupState;\n};\n\nconst MenuContext = createContext< MenuContextValue >( {\n\ttype: 'toolbar',\n} );\n\nexport function MenuContextProvider( { type, popupState, children }: PropsWithChildren< MenuContextValue > ) {\n\treturn <MenuContext.Provider value={ { type, popupState } }>{ children }</MenuContext.Provider>;\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { ArrowUpRightIcon, ChevronRightIcon } from '@elementor/icons';\nimport { ListItemIcon, ListItemText, MenuItem, type MenuItemProps, withDirection } from '@elementor/ui';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n\tisGroupParent?: boolean;\n\tshowExternalLinkIcon?: boolean;\n};\n\ntype PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function PopoverMenuItem( {\n\ttext,\n\ticon,\n\tonClick,\n\thref,\n\ttarget,\n\tdisabled,\n\tisGroupParent,\n\tshowExternalLinkIcon,\n\t...props\n}: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank' && showExternalLinkIcon;\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t\tsx={ {\n\t\t\t\t'&:hover': {\n\t\t\t\t\tcolor: 'text.primary', // Overriding global CSS from the editor.\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t\t{ isGroupParent && <DirectionalChevronIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { Box, IconButton, type IconButtonProps, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\n\ntype ToolbarMenuItemProps = IconButtonProps & {\n\ttitle?: string;\n\tselected?: boolean;\n};\n\nexport default function ToolbarMenuItem( { title, ...props }: ToolbarMenuItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<IconButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\t'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\tcolor: 'text.primary',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n\tshowExternalLinkIcon?: boolean;\n\tonClick?: ( event: React.MouseEvent< HTMLElement > ) => void;\n};\n\nexport default function Link( { icon: Icon, title, visible = true, showExternalLinkIcon = false, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } showExternalLinkIcon={ showExternalLinkIcon } />\n\t);\n}\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, type ToggleButtonProps, Tooltip } from '@elementor/ui';\n\ntype ToolbarMenuToggleItemProps = Omit< ToggleButtonProps, 'onChange' > & {\n\ttitle?: string;\n\tonClick?: () => void;\n};\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonChange={ onClick }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import { createMenu } from '@elementor/menus';\n\nimport Action from '../../components/actions/action';\nimport Link from '../../components/actions/link';\nimport ToggleAction from '../../components/actions/toggle-action';\n\nexport const documentOptionsMenu = createMenu( {\n\tgroups: [ 'save' ],\n\tcomponents: {\n\t\tAction,\n\t\tToggleAction,\n\t\tLink,\n\t},\n} );\n","import { injectIntoTop } from '@elementor/editor';\n\nimport AppBar from './components/app-bar';\nimport { init as initExtensions } from './extensions';\nimport redirectOldMenus from './sync/redirect-old-menus';\n\nexport function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import * as React from 'react';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider, Toolbar } from '@elementor/ui';\n\nimport MainMenuLocation from './locations/main-menu-location';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ResponsiveLocation from './locations/responsive-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport ToolbarMenu from './ui/toolbar-menu';\n\nexport default function AppBar() {\n\tconst document = useActiveDocument();\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Toolbar disableGutters variant=\"dense\">\n\t\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\" flexGrow={ 1 }>\n\t\t\t\t\t\t<Grid container flexWrap=\"nowrap\">\n\t\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t\t{ document?.permissions?.allowAddingWidgets && <ToolsMenuLocation /> }\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t\t<ToolbarMenu spacing={ 1.5 }>\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"flex-end\" flexWrap=\"nowrap\">\n\t\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t</Box>\n\t\t\t\t</Toolbar>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { bindMenu, bindTrigger, Divider, Stack, usePopupState } from '@elementor/ui';\n\nimport { mainMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\tconst toolbarLogoProps = bindTrigger( popupState );\n\n\tconst onToolbarClick: React.MouseEventHandler = ( e ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.elementorLogoDropdown, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\ttrigger: config.triggers.dropdownClick,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t} );\n\t\t}\n\n\t\ttoolbarLogoProps.onClick( e );\n\t};\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo { ...toolbarLogoProps } onClick={ onToolbarClick } selected={ popupState.isOpen } />\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) } marginThreshold={ 8 }>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, type MenuProps, type PopupState } from '@elementor/ui';\n\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps & {\n\tpopupState?: PopupState;\n};\n\nexport default function PopoverMenu( { children, popupState, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' } popupState={ popupState }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 1.5 },\n\t\t\t\t} }\n\t\t\t\t{ ...props }\n\t\t\t\tMenuListProps={ {\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tdense: true,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { styled, SvgIcon, type SvgIconProps, ToggleButton, type ToggleButtonProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit< ToggleButtonProps, 'value' >;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpadding: 0,\n\tborder: 0,\n\tcolor: theme.palette.text.primary,\n\t'&.MuiToggleButton-root:hover': {\n\t\tbackgroundColor: 'initial',\n\t},\n\t'&.MuiToggleButton-root.Mui-selected': {\n\t\tbackgroundColor: 'initial',\n\t},\n} ) );\n\nconst StyledElementorLogo = styled( ElementorLogo, {\n\tshouldForwardProp: ( prop ) => prop !== 'showMenuIcon',\n} )< StyledElementorLogoProps >( ( { theme, showMenuIcon } ) => ( {\n\t'& path': {\n\t\tfill: theme.palette.background.default,\n\t\ttransition: 'all 0.2s linear',\n\t\ttransformOrigin: 'bottom left',\n\t\t'&:first-of-type': {\n\t\t\ttransitionDelay: ! showMenuIcon && '0.2s',\n\t\t\ttransform: showMenuIcon && 'translateY(-9px) scaleY(0)',\n\t\t},\n\t\t'&:not(:first-of-type)': {\n\t\t\t// Emotion automatically change 4 to -4 in RTL mode.\n\t\t\ttransform: ! showMenuIcon && `translateX(${ theme.direction === 'rtl' ? '4' : '9' }px) scaleX(0.6)`,\n\t\t},\n\t\t'&:nth-of-type(2)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0' : '0.2s',\n\t\t},\n\t\t'&:nth-of-type(3)': {\n\t\t\ttransitionDelay: '0.1s',\n\t\t},\n\t\t'&:nth-of-type(4)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0.2s' : '0',\n\t\t},\n\t},\n} ) );\n\nexport default function ToolbarLogo( props: ToolbarLogoProps ) {\n\tconst [ isHoverState, setIsHoverState ] = useState( false );\n\tconst showMenuIcon = props.selected || isHoverState;\n\n\treturn (\n\t\t<StyledToggleButton\n\t\t\t{ ...props }\n\t\t\tvalue=\"selected\"\n\t\t\tsize=\"large\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo\n\t\t\t\tfontSize=\"large\"\n\t\t\t\tshowMenuIcon={ showMenuIcon }\n\t\t\t\ttitleAccess={ __( 'Elementor Logo', 'elementor' ) }\n\t\t\t/>\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\n\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn <PageIndicationSlot />;\n}\n","import * as React from 'react';\n\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn <PrimaryActionSlot />;\n}\n","import * as React from 'react';\n\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn <ResponsiveSlot />;\n}\n","import * as React from 'react';\n\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t<MenuItem key={ id } />\n\t\t\t) ) }\n\t\t\t<IntegrationsMenuLocation />\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, type StackProps } from '@elementor/ui';\n\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\ntype ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 1.5 } } spacing={ 1.5 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { type PropsWithChildren } from 'react';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport PopoverMenu from './popover-menu';\nimport ToolbarMenuItem from './toolbar-menu-item';\n\ntype 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 { PlugIcon } from '@elementor/icons';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { integrationsMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nconst { useMenuItems } = integrationsMenu;\n\nexport default function IntegrationsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'Integrations', 'elementor' ) }>\n\t\t\t\t<PlugIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t\topen={ popupState.isOpen }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem: IntegrationsMenuItem, id } ) => (\n\t\t\t\t\t<IntegrationsMenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport { Divider } from '@elementor/ui';\n\nimport { utilitiesMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 4;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\t// If there are more than 5 items, show the first 4 inline and the rest in the popover.\n\t// Otherwise, display all items inline.\n\tconst shouldUsePopover = menuItems.default.length > MAX_TOOLBAR_ACTIONS + 1;\n\n\tconst toolbarMenuItems = shouldUsePopover ? menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS ) : menuItems.default;\n\tconst popoverMenuItems = shouldUsePopover ? menuItems.default.slice( MAX_TOOLBAR_ACTIONS ) : [];\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id }, index ) => (\n\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t<MenuItem />\n\t\t\t\t</Fragment>\n\t\t\t) ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import { useCallback } from 'react';\nimport { UserIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useConnectLinkConfig() {\n\tconst extendedWindow = window as unknown as ExtendedWindow;\n\tlet isUserConnected = false;\n\tconst isPro = extendedWindow?.elementor?.helpers.hasPro();\n\tlet target = '_blank';\n\tif ( isPro ) {\n\t\tisUserConnected = extendedWindow?.elementorPro?.config.isActive ?? false;\n\t} else {\n\t\tisUserConnected = extendedWindow?.elementorCommon?.config.library_connect.is_connected ?? false;\n\t\ttarget = '_self';\n\t}\n\n\tconst handleConnectClick = useCallback(\n\t\t( event: React.MouseEvent< HTMLElement > ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( extendedWindow.jQuery && extendedWindow.jQuery.fn?.elementorConnect ) {\n\t\t\t\tconst connectUrl = extendedWindow?.elementor?.config.user.top_bar.connect_url;\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\tconst $tempButton = ( extendedWindow as any ).jQuery( '<a>' );\n\t\t\t\t$tempButton\n\t\t\t\t\t?.attr( 'href', connectUrl )\n\t\t\t\t\t?.attr( 'target', '_blank' )\n\t\t\t\t\t?.attr( 'rel', 'opener' )\n\t\t\t\t\t?.css( 'display', 'none' )\n\t\t\t\t\t?.appendTo( 'body' );\n\n\t\t\t\t$tempButton.elementorConnect();\n\n\t\t\t\t$tempButton[ 0 ].click();\n\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t$tempButton.remove();\n\t\t\t\t}, 1000 );\n\t\t\t}\n\t\t},\n\t\t[ extendedWindow ]\n\t);\n\n\treturn isUserConnected\n\t\t? {\n\t\t\t\ttitle: __( 'My Elementor', 'elementor' ),\n\t\t\t\thref: extendedWindow?.elementor?.config.user.top_bar.my_elementor_url,\n\t\t\t\ticon: UserIcon,\n\t\t\t\ttarget: '_blank',\n\t\t }\n\t\t: {\n\t\t\t\ttitle: __( 'Connect my account', 'elementor' ),\n\t\t\t\thref: extendedWindow?.elementor?.config.user.top_bar.connect_url,\n\t\t\t\ticon: UserIcon,\n\t\t\t\ttarget,\n\t\t\t\tonClick: handleConnectClick,\n\t\t };\n}\n","import { mainMenu } from '../../locations';\nimport useConnectLinkConfig from './hooks/use-connect-link-config';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'app-bar-connect',\n\t\tgroup: 'exits',\n\t\tpriority: 10,\n\t\tuseProps: useConnectLinkConfig,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useHostDocument as useHostDocument,\n} from '@elementor/editor-documents';\nimport {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit' ? activeDocument : hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' ).replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.documentSettings,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'document-settings' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\topenRoute( 'panel/page-settings/settings' );\n\t\t\t\t\t} }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 1.7,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { EyeIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.previewPage, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'preview-page' ],\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( document ) {\n\t\t\t\trunCommand( 'editor/documents/preview', {\n\t\t\t\t\tid: document.id,\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n\ttype Document,\n} from '@elementor/editor-documents';\nimport { useEditMode } from '@elementor/editor-v1-adapters';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\nimport PrimaryActionMenu from './primary-action-menu';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\tconst editMode = useEditMode();\n\n\tconst isEditMode = editMode === 'edit';\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = ! isEditMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = ! isEditMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.publishButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'publish-button' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.mainCta,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( ! document.isSaving ) {\n\t\t\t\t\t\t\tsave();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish ? __( 'Publish', 'elementor' ) : __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\n\nimport { default as PopoverMenu, type PopoverMenuProps } from '../../../components/ui/popover-menu';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers for empty menu items, due to a limitation in the locations' mechanism.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root {\n\t\t& > .MuiDivider-root {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > *:not( .MuiDivider-root ):not( :last-of-type ) + .MuiDivider-root {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\n\t\t\t{ saveActions.length > 0 && defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { LinkIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\n\nexport default function useDocumentCopyAndShareProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { copyAndShare } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: LinkIcon,\n\t\ttitle: __( 'Copy and Share', 'elementor' ),\n\t\tonClick: copyAndShare,\n\t\tdisabled:\n\t\t\t! document || document.isSaving || document.isSavingDraft || ! ( 'publish' === document.status.value ),\n\t\tvisible: document?.permissions?.showCopyAndShare,\n\t};\n}\n","import {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\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 { __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { FolderIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\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 { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { EyeIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function useDocumentViewPageProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'View Page', 'elementor' ),\n\t\tonClick: () =>\n\t\t\tdocument?.id &&\n\t\t\trunCommand( 'editor/documents/view', {\n\t\t\t\tid: document.id,\n\t\t\t} ),\n\t};\n}\n","import { injectIntoPrimaryAction } from '../../locations';\nimport PrimaryAction from './components/primary-action';\nimport useDocumentCopyAndShareProps from './hooks/use-document-copy-and-share-props';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport useDocumentViewPageProps from './hooks/use-document-view-page-props';\nimport { documentOptionsMenu } from './locations';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20,\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-copy-and-share',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentCopyAndShareProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-view-page',\n\t\tpriority: 50,\n\t\tuseProps: useDocumentViewPageProps,\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.widgetPanel, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'widget-panel' ],\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/elements/categories' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateListenTo as listenTo,\n\trouteOpenEvent,\n\tv1ReadyEvent,\n} from '@elementor/editor-v1-adapters';\nimport { __ } from '@wordpress/i18n';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t};\n\t\t};\n\t};\n};\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo( routeOpenEvent( 'panel/elements' ), () => {\n\t\tsetPanelTitle( panelTitle );\n\t\tsetTabTitle( tabTitle );\n\t} );\n\n\tlistenTo( v1ReadyEvent(), () => {\n\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t} );\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\nimport syncPanelTitle from './sync/sync-panel-title';\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 { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { SearchIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.finder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.finder,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'finder/toggle' );\n\t\t},\n\t} satisfies ActionProps;\n}\n","import { utilitiesMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 15, // Before Preview.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { HelpIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { utilitiesMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 25, // 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\tshowExternalLinkIcon: true,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.help, {\n\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.help,\n\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.history, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/history/actions' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.keyboardShortcuts, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'shortcuts/open' );\n\t\t},\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\ttype BreakpointId,\n\tuseActivateBreakpoint,\n\tuseActiveBreakpoint,\n\tuseBreakpoints,\n} from '@elementor/editor-responsive';\nimport {\n\tDesktopIcon,\n\tLaptopIcon,\n\tMobileLandscapeIcon,\n\tMobilePortraitIcon,\n\tTabletLandscapeIcon,\n\tTabletPortraitIcon,\n\tWidescreenIcon,\n} from '@elementor/icons';\nimport { Tab, Tabs, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function BreakpointsSwitcher() {\n\tconst breakpoints = useBreakpoints();\n\tconst activeBreakpoint = useActiveBreakpoint();\n\tconst activateBreakpoint = useActivateBreakpoint();\n\n\tif ( ! breakpoints.length || ! activeBreakpoint ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( _: unknown, value: BreakpointId ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.responsiveControls, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.responsiveControls,\n\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\tmode: value,\n\t\t\t} );\n\t\t}\n\n\t\tactivateBreakpoint( value );\n\t};\n\n\treturn (\n\t\t<Tabs\n\t\t\ttextColor=\"inherit\"\n\t\t\tindicatorColor=\"secondary\"\n\t\t\tvalue={ activeBreakpoint }\n\t\t\tonChange={ onChange }\n\t\t\taria-label={ __( 'Switch Device', 'elementor' ) }\n\t\t\tsx={ {\n\t\t\t\t'& .MuiTabs-indicator': {\n\t\t\t\t\tbackgroundColor: 'text.primary',\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t{ breakpoints.map( ( { id, label, type, width } ) => {\n\t\t\t\tconst Icon = iconsMap[ id ];\n\n\t\t\t\tconst title = labelsMap[ type || 'default' ]\n\t\t\t\t\t.replace( '%s', label )\n\t\t\t\t\t.replace( '%d', width?.toString() || '' );\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tab\n\t\t\t\t\t\tvalue={ id }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<Tooltip title={ title }>\n\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsx={ { minWidth: 'auto' } }\n\t\t\t\t\t\tdata-testid={ `switch-device-to-${ id }` }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Tabs>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2.5,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nconst iconsMap = {\n\twidescreen: WidescreenIcon,\n\tdesktop: DesktopIcon,\n\tlaptop: LaptopIcon,\n\ttablet_extra: TabletLandscapeIcon,\n\ttablet: TabletPortraitIcon,\n\tmobile_extra: MobileLandscapeIcon,\n\tmobile: MobilePortraitIcon,\n};\n\nconst labelsMap = {\n\tdefault: '%s',\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'min-width': __( '%s (%dpx and up)', 'elementor' ),\n\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'max-width': __( '%s (up to %dpx)', 'elementor' ),\n} as const;\n","import { injectIntoResponsive } from '../../locations';\nimport BreakpointsSwitcher from './components/breakpoints-switcher';\n\nexport function init() {\n\tinjectIntoResponsive( {\n\t\tid: 'responsive-breakpoints-switcher',\n\t\tcomponent: BreakpointsSwitcher,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indication.\n\t\t},\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\n\nimport { toolsMenu } from '../../locations';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\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';\n\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 {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateUseListenTo as useListenTo,\n\trouteCloseEvent,\n\trouteOpenEvent,\n} from '@elementor/editor-v1-adapters';\nimport { Portal as BasePortal, type PortalProps } from '@elementor/ui';\n\nexport default function Portal( props: Omit< PortalProps, 'container' > ) {\n\tconst containerRef = useListenTo(\n\t\t[ routeOpenEvent( 'panel/global' ), routeCloseEvent( 'panel/global' ) ],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn <BasePortal container={ containerRef.current } { ...props } />;\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper\n\t\t\tsx={ {\n\t\t\t\tpx: 5,\n\t\t\t\tpy: 4,\n\t\t\t\tborderTop: 1,\n\t\t\t\tborderColor: 'divider',\n\t\t\t} }\n\t\t>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => ( document && ! document.isSaving ? save() : null ) }\n\t\t\t>\n\t\t\t\t{ document?.isSaving ? <CircularProgress /> : __( 'Save Changes', 'elementor' ) }\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.siteSettings, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.siteSettings,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( isActive ) {\n\t\t\t\trunCommand( 'panel/global/close' );\n\t\t\t} else {\n\t\t\t\trunCommand( 'panel/global/open' );\n\t\t\t}\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.structure, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.structure,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'navigator/toggle' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.themeBuilder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'app/open' );\n\t\t},\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.userPreferences, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/editor-preferences' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { mainMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tpriority: 20,\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\tconfig.names.topBar.exitToWordpress,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.link,\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};\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 initConnect } from './connect';\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initResponsive } from './responsive';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitResponsive();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n\tinitConnect();\n}\n","import {\n\t__privateListenTo as listenTo,\n\t__privateOpenRoute as openRoute,\n\trouteOpenEvent,\n} from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n"],"mappings":"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","names":["React","React","React","React","React","React","Box","Tooltip","createMenu","createMenu","injectIntoTop","React","Box","Divider","React","React","React","ToggleButton","MenuItem","React","React","React","React","React","Stack","Stack","React","bindMenu","bindTrigger","usePopupState","__","usePopupState","bindTrigger","__","bindMenu","React","bindMenu","bindTrigger","usePopupState","__","useMenuItems","usePopupState","bindTrigger","__","bindMenu","useMenuItems","MenuItem","React","Fragment","Divider","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","Fragment","Divider","document","Box","Divider","__","React","useActiveDocument","Box","ToggleButton","BaseTooltip","__","document","Tooltip","init","useActiveDocument","__","document","init","React","useActiveDocument","bindMenu","bindTrigger","Box","Tooltip","usePopupState","__","React","Divider","styled","useMenuItems","styled","MenuItem","Divider","document","useActiveDocument","usePopupState","Tooltip","__","Box","bindTrigger","bindMenu","useActiveDocument","useActiveDocumentActions","__","document","useActiveDocument","useActiveDocumentActions","__","document","useActiveDocumentActions","__","useActiveDocument","runCommand","EyeIcon","__","document","init","openRoute","useRouteStatus","__","useActionProps","__","init","useActionProps","runCommand","__","useActionProps","init","useActionProps","__","init","__","openRoute","useRouteStatus","__","useActionProps","init","useActionProps","runCommand","__","useActionProps","init","useActionProps","React","BaseTooltip","__","Tooltip","init","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","useActiveDocument","__","init","listenTo","openRoute","routeOpenEvent","init","injectIntoTop"]}
1
+ {"version":3,"sources":["../src/locations.ts","../src/components/actions/action.tsx","../src/contexts/menu-context.tsx","../src/components/ui/popover-menu-item.tsx","../src/components/ui/toolbar-menu-item.tsx","../src/components/actions/link.tsx","../src/components/actions/toggle-action.tsx","../src/components/ui/toolbar-menu-toggle-item.tsx","../src/extensions/documents-save/locations.ts","../src/init.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/page-indication-location.tsx","../src/components/locations/primary-action-location.tsx","../src/components/locations/responsive-location.tsx","../src/components/locations/tools-menu-location.tsx","../src/components/ui/toolbar-menu.tsx","../src/components/ui/toolbar-menu-more.tsx","../src/components/locations/integrations-menu-location.tsx","../src/components/locations/utilities-menu-location.tsx","../src/extensions/connect/hooks/use-connect-link-config.tsx","../src/extensions/connect/index.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/components/primary-action.tsx","../src/extensions/documents-save/components/primary-action-menu.tsx","../src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts","../src/extensions/documents-save/hooks/use-document-save-draft-props.ts","../src/extensions/documents-save/hooks/use-document-save-template-props.ts","../src/extensions/documents-save/hooks/use-document-view-page-props.ts","../src/extensions/documents-save/index.ts","../src/extensions/elements/hooks/use-action-props.ts","../src/extensions/elements/sync/sync-panel-title.ts","../src/extensions/elements/index.ts","../src/extensions/finder/hooks/use-action-props.ts","../src/extensions/finder/index.ts","../src/extensions/help/index.ts","../src/extensions/history/hooks/use-action-props.ts","../src/extensions/history/index.ts","../src/extensions/keyboard-shortcuts/hooks/use-action-props.ts","../src/extensions/keyboard-shortcuts/index.ts","../src/extensions/responsive/components/breakpoints-switcher.tsx","../src/extensions/responsive/index.ts","../src/extensions/site-settings/index.ts","../src/extensions/site-settings/components/portalled-primary-action.tsx","../src/extensions/site-settings/components/portal.tsx","../src/extensions/site-settings/components/primary-action.tsx","../src/extensions/site-settings/hooks/use-action-props.ts","../src/extensions/structure/hooks/use-action-props.ts","../src/extensions/structure/index.ts","../src/extensions/theme-builder/hooks/use-action-props.ts","../src/extensions/theme-builder/index.ts","../src/extensions/user-preferences/hooks/use-action-props.ts","../src/extensions/user-preferences/index.ts","../src/extensions/wordpress/index.ts","../src/extensions/index.ts","../src/sync/redirect-old-menus.ts"],"sourcesContent":["import { createLocation } from '@elementor/locations';\nimport { createMenu } from '@elementor/menus';\n\nimport Action from './components/actions/action';\nimport Link from './components/actions/link';\nimport ToggleAction from './components/actions/toggle-action';\n\nexport const { inject: injectIntoPageIndication, Slot: PageIndicationSlot } = createLocation();\n\nexport const { inject: injectIntoResponsive, Slot: ResponsiveSlot } = createLocation();\n\nexport const { inject: injectIntoPrimaryAction, Slot: PrimaryActionSlot } = createLocation();\n\nconst components = {\n\tAction,\n\tToggleAction,\n\tLink,\n};\n\nexport const mainMenu = createMenu( {\n\tgroups: [ 'exits' ],\n\tcomponents,\n} );\n\nexport const toolsMenu = createMenu( { components } );\n\nexport const utilitiesMenu = createMenu( { components } );\n\nexport const integrationsMenu = createMenu( { components } );\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n};\n\nexport default function Action( { icon: Icon, title, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { createContext, type PropsWithChildren, useContext } from 'react';\nimport { type PopupState } from '@elementor/ui';\n\ntype MenuContextValue = {\n\ttype: 'toolbar' | 'popover';\n\tpopupState?: PopupState;\n};\n\nconst MenuContext = createContext< MenuContextValue >( {\n\ttype: 'toolbar',\n} );\n\nexport function MenuContextProvider( { type, popupState, children }: PropsWithChildren< MenuContextValue > ) {\n\treturn <MenuContext.Provider value={ { type, popupState } }>{ children }</MenuContext.Provider>;\n}\n\nexport function useMenuContext() {\n\treturn useContext( MenuContext );\n}\n","import * as React from 'react';\nimport { ArrowUpRightIcon, ChevronRightIcon } from '@elementor/icons';\nimport { ListItemIcon, ListItemText, MenuItem, type MenuItemProps, withDirection } from '@elementor/ui';\n\ntype ExtraProps = {\n\thref?: string;\n\ttarget?: string;\n\ttext?: string;\n\ticon?: JSX.Element;\n\tisGroupParent?: boolean;\n\tshowExternalLinkIcon?: boolean;\n};\n\ntype PopoverMenuItemProps = MenuItemProps & ExtraProps;\n\nconst DirectionalArrowIcon = withDirection( ArrowUpRightIcon );\nconst DirectionalChevronIcon = withDirection( ChevronRightIcon );\n\nexport default function PopoverMenuItem( {\n\ttext,\n\ticon,\n\tonClick,\n\thref,\n\ttarget,\n\tdisabled,\n\tisGroupParent,\n\tshowExternalLinkIcon,\n\t...props\n}: PopoverMenuItemProps ) {\n\tconst isExternalLink = href && target === '_blank' && showExternalLinkIcon;\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...props }\n\t\t\tdisabled={ disabled }\n\t\t\tonClick={ onClick }\n\t\t\tcomponent={ href ? 'a' : 'div' }\n\t\t\thref={ href }\n\t\t\ttarget={ target }\n\t\t\tsx={ {\n\t\t\t\t'&:hover': {\n\t\t\t\t\tcolor: 'text.primary', // Overriding global CSS from the editor.\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t<ListItemIcon>{ icon }</ListItemIcon>\n\t\t\t<ListItemText primary={ text } />\n\t\t\t{ isExternalLink && <DirectionalArrowIcon /> }\n\t\t\t{ isGroupParent && <DirectionalChevronIcon /> }\n\t\t</MenuItem>\n\t);\n}\n","import * as React from 'react';\nimport { Box, IconButton, type IconButtonProps, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\n\ntype ToolbarMenuItemProps = IconButtonProps & {\n\ttitle?: string;\n\tselected?: boolean;\n};\n\nexport default function ToolbarMenuItem( { title, ...props }: ToolbarMenuItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<IconButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\t'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\tcolor: 'text.primary',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\thref?: string;\n\tvisible?: boolean;\n\ttarget?: string;\n\tshowExternalLinkIcon?: boolean;\n\tonClick?: ( event: React.MouseEvent< HTMLElement > ) => void;\n};\n\nexport default function Link( { icon: Icon, title, visible = true, showExternalLinkIcon = false, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuItem title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } showExternalLinkIcon={ showExternalLinkIcon } />\n\t);\n}\n","import * as React from 'react';\nimport { type ElementType } from 'react';\n\nimport { useMenuContext } from '../../contexts/menu-context';\nimport PopoverMenuItem from '../ui/popover-menu-item';\nimport ToolbarMenuToggleItem from '../ui/toolbar-menu-toggle-item';\n\nexport type Props = {\n\ttitle: string;\n\ticon: ElementType;\n\tselected?: boolean;\n\tdisabled?: boolean;\n\tvisible?: boolean;\n\tonClick?: () => void;\n\tvalue?: string;\n};\n\nexport default function ToggleAction( { icon: Icon, title, value, visible = true, ...props }: Props ) {\n\tconst { type } = useMenuContext();\n\n\tif ( ! visible ) {\n\t\treturn null;\n\t}\n\n\treturn type === 'toolbar' ? (\n\t\t<ToolbarMenuToggleItem value={ value || title } title={ title } { ...props }>\n\t\t\t<Icon />\n\t\t</ToolbarMenuToggleItem>\n\t) : (\n\t\t<PopoverMenuItem { ...props } text={ title } icon={ <Icon /> } />\n\t);\n}\n","import * as React from 'react';\nimport { Box, ToggleButton, type ToggleButtonProps, Tooltip } from '@elementor/ui';\n\ntype ToolbarMenuToggleItemProps = Omit< ToggleButtonProps, 'onChange' > & {\n\ttitle?: string;\n\tonClick?: () => void;\n};\n\nexport default function ToolbarMenuToggleItem( { title, onClick, ...props }: ToolbarMenuToggleItemProps ) {\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonChange={ onClick }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'& svg': {\n\t\t\t\t\t\t\tfontSize: '1.25rem',\n\t\t\t\t\t\t\theight: '1em',\n\t\t\t\t\t\t\twidth: '1em',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n","import { createMenu } from '@elementor/menus';\n\nimport Action from '../../components/actions/action';\nimport Link from '../../components/actions/link';\nimport ToggleAction from '../../components/actions/toggle-action';\n\nexport const documentOptionsMenu = createMenu( {\n\tgroups: [ 'save' ],\n\tcomponents: {\n\t\tAction,\n\t\tToggleAction,\n\t\tLink,\n\t},\n} );\n","import { injectIntoTop } from '@elementor/editor';\n\nimport AppBar from './components/app-bar';\nimport { init as initExtensions } from './extensions';\nimport redirectOldMenus from './sync/redirect-old-menus';\n\nexport function init() {\n\tredirectOldMenus();\n\n\tinitExtensions();\n\n\tinjectIntoTop( {\n\t\tid: 'app-bar',\n\t\tcomponent: AppBar,\n\t} );\n}\n","import * as React from 'react';\nimport { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { AppBar as BaseAppBar, Box, Divider, Grid, ThemeProvider, Toolbar } from '@elementor/ui';\n\nimport MainMenuLocation from './locations/main-menu-location';\nimport PageIndicationLocation from './locations/page-indication-location';\nimport PrimaryActionLocation from './locations/primary-action-location';\nimport ResponsiveLocation from './locations/responsive-location';\nimport ToolsMenuLocation from './locations/tools-menu-location';\nimport UtilitiesMenuLocation from './locations/utilities-menu-location';\nimport ToolbarMenu from './ui/toolbar-menu';\n\nexport default function AppBar() {\n\tconst document = useActiveDocument();\n\treturn (\n\t\t<ThemeProvider colorScheme=\"dark\">\n\t\t\t<BaseAppBar position=\"sticky\">\n\t\t\t\t<Toolbar disableGutters variant=\"dense\">\n\t\t\t\t\t<Box display=\"grid\" gridTemplateColumns=\"repeat(3, 1fr)\" flexGrow={ 1 }>\n\t\t\t\t\t\t<Grid container flexWrap=\"nowrap\">\n\t\t\t\t\t\t\t<MainMenuLocation />\n\t\t\t\t\t\t\t{ document?.permissions?.allowAddingWidgets && <ToolsMenuLocation /> }\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"center\">\n\t\t\t\t\t\t\t<ToolbarMenu spacing={ 1.5 }>\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<PageIndicationLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t\t<ResponsiveLocation />\n\t\t\t\t\t\t\t\t<Divider orientation=\"vertical\" />\n\t\t\t\t\t\t\t</ToolbarMenu>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid container justifyContent=\"flex-end\" flexWrap=\"nowrap\">\n\t\t\t\t\t\t\t<UtilitiesMenuLocation />\n\t\t\t\t\t\t\t<PrimaryActionLocation />\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t</Box>\n\t\t\t\t</Toolbar>\n\t\t\t</BaseAppBar>\n\t\t</ThemeProvider>\n\t);\n}\n","import * as React from 'react';\nimport { bindMenu, bindTrigger, Divider, Stack, usePopupState } from '@elementor/ui';\n\nimport { mainMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarLogo from '../ui/toolbar-logo';\n\nconst { useMenuItems } = mainMenu;\n\nexport default function MainMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-main-menu',\n\t} );\n\n\tconst toolbarLogoProps = bindTrigger( popupState );\n\n\tconst onToolbarClick: React.MouseEventHandler = ( e ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.elementorLogoDropdown, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.eLogoMenu,\n\t\t\t\ttrigger: config.triggers.dropdownClick,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t} );\n\t\t}\n\n\t\ttoolbarLogoProps.onClick( e );\n\t};\n\n\treturn (\n\t\t<Stack sx={ { paddingInlineStart: 3 } } direction=\"row\" alignItems=\"center\">\n\t\t\t<ToolbarLogo { ...toolbarLogoProps } onClick={ onToolbarClick } selected={ popupState.isOpen } />\n\t\t\t<PopoverMenu onClick={ popupState.close } { ...bindMenu( popupState ) } marginThreshold={ 8 }>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t\t{ menuItems.exits.length > 0 && <Divider /> }\n\t\t\t\t{ menuItems.exits.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</Stack>\n\t);\n}\n","import * as React from 'react';\nimport { Menu, type MenuProps, type PopupState } from '@elementor/ui';\n\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\nexport type PopoverMenuProps = MenuProps & {\n\tpopupState?: PopupState;\n};\n\nexport default function PopoverMenu( { children, popupState, ...props }: PopoverMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'popover' } popupState={ popupState }>\n\t\t\t<Menu\n\t\t\t\tPaperProps={ {\n\t\t\t\t\tsx: { mt: 1.5 },\n\t\t\t\t} }\n\t\t\t\t{ ...props }\n\t\t\t\tMenuListProps={ {\n\t\t\t\t\tcomponent: 'div',\n\t\t\t\t\tdense: true,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Menu>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { styled, SvgIcon, type SvgIconProps, ToggleButton, type ToggleButtonProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\ninterface StyledElementorLogoProps extends SvgIconProps {\n\tshowMenuIcon?: boolean;\n}\n\ntype ToolbarLogoProps = Omit< ToggleButtonProps, 'value' >;\n\nconst ElementorLogo = ( props: SvgIconProps ) => {\n\treturn (\n\t\t<SvgIcon viewBox=\"0 0 32 32\" { ...props }>\n\t\t\t<g>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"16\" />\n\t\t\t\t<path d=\"M11.7 9H9V22.3H11.7V9Z\" />\n\t\t\t\t<path d=\"M22.4 9H9V11.7H22.4V9Z\" />\n\t\t\t\t<path d=\"M22.4 14.4004H9V17.1004H22.4V14.4004Z\" />\n\t\t\t\t<path d=\"M22.4 19.6992H9V22.3992H22.4V19.6992Z\" />\n\t\t\t</g>\n\t\t</SvgIcon>\n\t);\n};\n\nconst StyledToggleButton = styled( ToggleButton )( ( { theme } ) => ( {\n\tpadding: 0,\n\tborder: 0,\n\tcolor: theme.palette.text.primary,\n\t'&.MuiToggleButton-root:hover': {\n\t\tbackgroundColor: 'initial',\n\t},\n\t'&.MuiToggleButton-root.Mui-selected': {\n\t\tbackgroundColor: 'initial',\n\t},\n} ) );\n\nconst StyledElementorLogo = styled( ElementorLogo, {\n\tshouldForwardProp: ( prop ) => prop !== 'showMenuIcon',\n} )< StyledElementorLogoProps >( ( { theme, showMenuIcon } ) => ( {\n\t'& path': {\n\t\tfill: theme.palette.background.default,\n\t\ttransition: 'all 0.2s linear',\n\t\ttransformOrigin: 'bottom left',\n\t\t'&:first-of-type': {\n\t\t\ttransitionDelay: ! showMenuIcon && '0.2s',\n\t\t\ttransform: showMenuIcon && 'translateY(-9px) scaleY(0)',\n\t\t},\n\t\t'&:not(:first-of-type)': {\n\t\t\t// Emotion automatically change 4 to -4 in RTL mode.\n\t\t\ttransform: ! showMenuIcon && `translateX(${ theme.direction === 'rtl' ? '4' : '9' }px) scaleX(0.6)`,\n\t\t},\n\t\t'&:nth-of-type(2)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0' : '0.2s',\n\t\t},\n\t\t'&:nth-of-type(3)': {\n\t\t\ttransitionDelay: '0.1s',\n\t\t},\n\t\t'&:nth-of-type(4)': {\n\t\t\ttransitionDelay: showMenuIcon ? '0.2s' : '0',\n\t\t},\n\t},\n} ) );\n\nexport default function ToolbarLogo( props: ToolbarLogoProps ) {\n\tconst [ isHoverState, setIsHoverState ] = useState( false );\n\tconst showMenuIcon = props.selected || isHoverState;\n\n\treturn (\n\t\t<StyledToggleButton\n\t\t\t{ ...props }\n\t\t\tvalue=\"selected\"\n\t\t\tsize=\"large\"\n\t\t\tonMouseEnter={ () => setIsHoverState( true ) }\n\t\t\tonMouseLeave={ () => setIsHoverState( false ) }\n\t\t>\n\t\t\t<StyledElementorLogo\n\t\t\t\tfontSize=\"large\"\n\t\t\t\tshowMenuIcon={ showMenuIcon }\n\t\t\t\ttitleAccess={ __( 'Elementor Logo', 'elementor' ) }\n\t\t\t/>\n\t\t</StyledToggleButton>\n\t);\n}\n","import * as React from 'react';\n\nimport { PageIndicationSlot } from '../../locations';\n\nexport default function PageIndicationLocation() {\n\treturn <PageIndicationSlot />;\n}\n","import * as React from 'react';\n\nimport { PrimaryActionSlot } from '../../locations';\n\nexport default function PrimaryActionLocation() {\n\treturn <PrimaryActionSlot />;\n}\n","import * as React from 'react';\n\nimport { ResponsiveSlot } from '../../locations';\n\nexport default function ResponsiveLocation() {\n\treturn <ResponsiveSlot />;\n}\n","import * as React from 'react';\n\nimport { toolsMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\nimport IntegrationsMenuLocation from './integrations-menu-location';\n\nconst MAX_TOOLBAR_ACTIONS = 5;\n\nconst { useMenuItems } = toolsMenu;\n\nexport default function ToolsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst toolbarMenuItems = menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS );\n\tconst popoverMenuItems = menuItems.default.slice( MAX_TOOLBAR_ACTIONS );\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t<MenuItem key={ id } />\n\t\t\t) ) }\n\t\t\t<IntegrationsMenuLocation />\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-tools-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import * as React from 'react';\nimport { Stack, type StackProps } from '@elementor/ui';\n\nimport { MenuContextProvider } from '../../contexts/menu-context';\n\ntype ToolbarMenuProps = StackProps;\n\nexport default function ToolbarMenu( { children, ...props }: ToolbarMenuProps ) {\n\treturn (\n\t\t<MenuContextProvider type={ 'toolbar' }>\n\t\t\t<Stack sx={ { px: 1.5 } } spacing={ 1.5 } direction=\"row\" alignItems=\"center\" { ...props }>\n\t\t\t\t{ children }\n\t\t\t</Stack>\n\t\t</MenuContextProvider>\n\t);\n}\n","import * as React from 'react';\nimport { type PropsWithChildren } from 'react';\nimport { DotsVerticalIcon } from '@elementor/icons';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport PopoverMenu from './popover-menu';\nimport ToolbarMenuItem from './toolbar-menu-item';\n\ntype 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 { PlugIcon } from '@elementor/icons';\nimport { bindMenu, bindTrigger, usePopupState } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { integrationsMenu } from '../../locations';\nimport PopoverMenu from '../ui/popover-menu';\nimport ToolbarMenuItem from '../ui/toolbar-menu-item';\n\nconst { useMenuItems } = integrationsMenu;\n\nexport default function IntegrationsMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'elementor-v2-app-bar-integrations',\n\t} );\n\n\tif ( menuItems.default.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarMenuItem { ...bindTrigger( popupState ) } title={ __( 'Integrations', 'elementor' ) }>\n\t\t\t\t<PlugIcon />\n\t\t\t</ToolbarMenuItem>\n\t\t\t<PopoverMenu\n\t\t\t\tonClick={ popupState.close }\n\t\t\t\t{ ...bindMenu( popupState ) }\n\t\t\t\tmarginThreshold={ 8 }\n\t\t\t\topen={ popupState.isOpen }\n\t\t\t>\n\t\t\t\t{ menuItems.default.map( ( { MenuItem: IntegrationsMenuItem, id } ) => (\n\t\t\t\t\t<IntegrationsMenuItem key={ id } />\n\t\t\t\t) ) }\n\t\t\t</PopoverMenu>\n\t\t</>\n\t);\n}\n","import * as React from 'react';\nimport { Fragment } from 'react';\nimport { Divider } from '@elementor/ui';\n\nimport { utilitiesMenu } from '../../locations';\nimport ToolbarMenu from '../ui/toolbar-menu';\nimport ToolbarMenuMore from '../ui/toolbar-menu-more';\n\nconst MAX_TOOLBAR_ACTIONS = 4;\n\nconst { useMenuItems } = utilitiesMenu;\n\nexport default function UtilitiesMenuLocation() {\n\tconst menuItems = useMenuItems();\n\n\t// If there are more than 5 items, show the first 4 inline and the rest in the popover.\n\t// Otherwise, display all items inline.\n\tconst shouldUsePopover = menuItems.default.length > MAX_TOOLBAR_ACTIONS + 1;\n\n\tconst toolbarMenuItems = shouldUsePopover ? menuItems.default.slice( 0, MAX_TOOLBAR_ACTIONS ) : menuItems.default;\n\tconst popoverMenuItems = shouldUsePopover ? menuItems.default.slice( MAX_TOOLBAR_ACTIONS ) : [];\n\n\treturn (\n\t\t<ToolbarMenu>\n\t\t\t{ toolbarMenuItems.map( ( { MenuItem, id }, index ) => (\n\t\t\t\t<Fragment key={ id }>\n\t\t\t\t\t{ index === 0 && <Divider orientation=\"vertical\" /> }\n\t\t\t\t\t<MenuItem />\n\t\t\t\t</Fragment>\n\t\t\t) ) }\n\t\t\t{ popoverMenuItems.length > 0 && (\n\t\t\t\t<ToolbarMenuMore id=\"elementor-editor-app-bar-utilities-more\">\n\t\t\t\t\t{ popoverMenuItems.map( ( { MenuItem, id } ) => (\n\t\t\t\t\t\t<MenuItem key={ id } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ToolbarMenuMore>\n\t\t\t) }\n\t\t</ToolbarMenu>\n\t);\n}\n","import { useCallback } from 'react';\nimport { UserIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nconst dispatchConnectClickEvent = ( eventName: string ) => {\n\ttry {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar[ eventName ], {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.eLogoMenu,\n\t\t\t\ttrigger: config.triggers.dropdownClick,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t} );\n\t\t}\n\t} catch ( error ) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn( error );\n\t}\n};\n\nexport default function useConnectLinkConfig() {\n\tconst extendedWindow = window as unknown as ExtendedWindow;\n\tlet isUserConnected = false;\n\tconst isPro = extendedWindow?.elementor?.helpers.hasPro();\n\tlet target = '_blank';\n\tif ( isPro ) {\n\t\tisUserConnected = extendedWindow?.elementorPro?.config.isActive ?? false;\n\t} else {\n\t\tisUserConnected = extendedWindow?.elementorCommon?.config.library_connect.is_connected ?? false;\n\t\ttarget = '_self';\n\t}\n\n\tconst handleConnectClick = useCallback(\n\t\t( event: React.MouseEvent< HTMLElement > ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( extendedWindow.jQuery && extendedWindow.jQuery.fn?.elementorConnect ) {\n\t\t\t\tconst connectUrl = extendedWindow?.elementor?.config.user.top_bar.connect_url;\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\tconst $tempButton = ( extendedWindow as any ).jQuery( '<a>' );\n\t\t\t\t$tempButton\n\t\t\t\t\t?.attr( 'href', connectUrl )\n\t\t\t\t\t?.attr( 'target', '_blank' )\n\t\t\t\t\t?.attr( 'rel', 'opener' )\n\t\t\t\t\t?.css( 'display', 'none' )\n\t\t\t\t\t?.appendTo( 'body' );\n\n\t\t\t\t$tempButton.elementorConnect( {\n\t\t\t\t\tsuccess: () => {\n\t\t\t\t\t\tdispatchConnectClickEvent( 'accountConnected' );\n\t\t\t\t\t\textendedWindow.location.reload();\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\t$tempButton[ 0 ].click();\n\t\t\t\tdispatchConnectClickEvent( 'connectAccount' );\n\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t$tempButton.remove();\n\t\t\t\t}, 1000 );\n\t\t\t}\n\t\t},\n\t\t[ extendedWindow ]\n\t);\n\n\treturn isUserConnected\n\t\t? {\n\t\t\t\ttitle: __( 'My Elementor', 'elementor' ),\n\t\t\t\thref: extendedWindow?.elementor?.config.user.top_bar.my_elementor_url,\n\t\t\t\ticon: UserIcon,\n\t\t\t\ttarget: '_blank',\n\t\t }\n\t\t: {\n\t\t\t\ttitle: __( 'Connect my account', 'elementor' ),\n\t\t\t\thref: extendedWindow?.elementor?.config.user.top_bar.connect_url,\n\t\t\t\ticon: UserIcon,\n\t\t\t\ttarget,\n\t\t\t\tonClick: handleConnectClick,\n\t\t };\n}\n","import { mainMenu } from '../../locations';\nimport useConnectLinkConfig from './hooks/use-connect-link-config';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'app-bar-connect',\n\t\tgroup: 'exits',\n\t\tpriority: 10,\n\t\tuseProps: useConnectLinkConfig,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useHostDocument as useHostDocument,\n} from '@elementor/editor-documents';\nimport {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { SettingsIcon } from '@elementor/icons';\nimport { Box, ToggleButton, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function SettingsButton() {\n\tconst activeDocument = useActiveDocument();\n\tconst hostDocument = useHostDocument();\n\n\tconst document = activeDocument && activeDocument.type.value !== 'kit' ? activeDocument : hostDocument;\n\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/page-settings' );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\t/* translators: %s: Post type label. */\n\tconst title = __( '%s Settings', 'elementor' ).replace( '%s', document.type.label );\n\n\treturn (\n\t\t<Tooltip title={ title }>\n\t\t\t{ /* @see https://mui.com/material-ui/react-tooltip/#disabled-elements */ }\n\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t<ToggleButton\n\t\t\t\t\tvalue=\"document-settings\"\n\t\t\t\t\tselected={ isActive }\n\t\t\t\t\tdisabled={ isBlocked }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.documentSettings,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'document-settings' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\topenRoute( 'panel/page-settings/settings' );\n\t\t\t\t\t} }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\t\t\tborder: 0, // Temp fix until the style of the ToggleButton component will be decided.\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<SettingsIcon fontSize=\"small\" />\n\t\t\t\t</ToggleButton>\n\t\t\t</Box>\n\t\t</Tooltip>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 1.7,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import { injectIntoPageIndication } from '../../locations';\nimport SettingsButton from './components/settings-button';\n\nexport function init() {\n\tinjectIntoPageIndication( {\n\t\tid: 'document-settings-button',\n\t\tcomponent: SettingsButton,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indicator.\n\t\t},\n\t} );\n}\n","import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { EyeIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'Preview Changes', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.previewPage, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'preview-page' ],\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( document ) {\n\t\t\t\trunCommand( 'editor/documents/preview', {\n\t\t\t\t\tid: document.id,\n\t\t\t\t\tforce: true,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t};\n}\n","import { utilitiesMenu } from '../../locations';\nimport useDocumentPreviewProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'document-preview-button',\n\t\tpriority: 30, // After help.\n\t\tuseProps: useDocumentPreviewProps,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n\ttype Document,\n} from '@elementor/editor-documents';\nimport { useEditMode } from '@elementor/editor-v1-adapters';\nimport { ChevronDownIcon } from '@elementor/icons';\nimport {\n\tbindMenu,\n\tbindTrigger,\n\tBox,\n\tButton,\n\tButtonGroup,\n\tCircularProgress,\n\tTooltip,\n\tusePopupState,\n} from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\nimport PrimaryActionMenu from './primary-action-menu';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\tconst editMode = useEditMode();\n\n\tconst isEditMode = editMode === 'edit';\n\n\tconst popupState = usePopupState( {\n\t\tvariant: 'popover',\n\t\tpopupId: 'document-save-options',\n\t} );\n\n\tif ( ! document ) {\n\t\treturn null;\n\t}\n\n\tconst isPublishDisabled = ! isEditMode || ! isPublishEnabled( document );\n\tconst isSaveOptionsDisabled = ! isEditMode || document.type.value === 'kit';\n\n\t// When the document is being saved, the spinner should not appear.\n\t// Usually happens when the Kit is being saved.\n\tconst shouldShowSpinner = document.isSaving && ! isPublishDisabled;\n\n\treturn (\n\t\t<>\n\t\t\t<ButtonGroup size=\"large\" variant=\"contained\">\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\t\tconfig.names.topBar.publishButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'publish-button' ],\n\t\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\t\telement: config.elements.mainCta,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( ! document.isSaving ) {\n\t\t\t\t\t\t\tsave();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tsx={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\t\tmaxWidth: '158px',\n\t\t\t\t\t\t'&.MuiButtonBase-root.MuiButtonGroup-grouped': {\n\t\t\t\t\t\t\tminWidth: '110px',\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ isPublishDisabled }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowSpinner ? <CircularProgress color=\"inherit\" size=\"1.5em\" /> : getLabel( document ) }\n\t\t\t\t</Button>\n\n\t\t\t\t<Tooltip\n\t\t\t\t\ttitle={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\tPopperProps={ {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\t\t\tmt: 1,\n\t\t\t\t\t\t\t\tmr: 0.25,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Box component=\"span\" aria-label={ undefined }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t{ ...bindTrigger( popupState ) }\n\t\t\t\t\t\t\tsx={ { px: 0, height: '100%', borderRadius: 0 } }\n\t\t\t\t\t\t\tdisabled={ isSaveOptionsDisabled }\n\t\t\t\t\t\t\taria-label={ __( 'Save Options', 'elementor' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronDownIcon />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Box>\n\t\t\t\t</Tooltip>\n\t\t\t</ButtonGroup>\n\t\t\t<PrimaryActionMenu { ...bindMenu( popupState ) } onClick={ popupState.close } />\n\t\t</>\n\t);\n}\n\nfunction getLabel( document: Document ) {\n\treturn document.userCan.publish ? __( 'Publish', 'elementor' ) : __( 'Submit', 'elementor' );\n}\n\nfunction isPublishEnabled( document: Document ) {\n\tif ( document.type.value === 'kit' ) {\n\t\treturn false;\n\t}\n\n\treturn document.isDirty || document.status.value === 'draft';\n}\n","import * as React from 'react';\nimport { Divider, styled } from '@elementor/ui';\n\nimport { default as PopoverMenu, type PopoverMenuProps } from '../../../components/ui/popover-menu';\nimport { documentOptionsMenu } from '../locations';\n\nconst { useMenuItems } = documentOptionsMenu;\n\n// CSS hack to hide dividers for empty menu items, due to a limitation in the locations' mechanism.\nconst StyledPopoverMenu = styled( PopoverMenu )`\n\t& > .MuiPopover-paper > .MuiList-root {\n\t\t& > .MuiDivider-root {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > *:not( .MuiDivider-root ):not( :last-of-type ) + .MuiDivider-root {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n`;\n\nexport default function PrimaryActionMenu( props: PopoverMenuProps ) {\n\tconst { save: saveActions, default: defaultActions } = useMenuItems();\n\n\treturn (\n\t\t<StyledPopoverMenu\n\t\t\t{ ...props }\n\t\t\tanchorOrigin={ {\n\t\t\t\tvertical: 'bottom',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\ttransformOrigin={ {\n\t\t\t\tvertical: 'top',\n\t\t\t\thorizontal: 'right',\n\t\t\t} }\n\t\t\tmarginThreshold={ 4 }\n\t\t\tPaperProps={ {\n\t\t\t\tsx: { mt: 0.5 },\n\t\t\t} }\n\t\t>\n\t\t\t{ saveActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\n\t\t\t{ saveActions.length > 0 && defaultActions.length > 0 && <Divider /> }\n\n\t\t\t{ defaultActions.map( ( { MenuItem, id }, index ) => [\n\t\t\t\tindex > 0 && <Divider key={ `${ id }-divider` } />,\n\t\t\t\t<MenuItem key={ id } />,\n\t\t\t] ) }\n\t\t</StyledPopoverMenu>\n\t);\n}\n","import {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { LinkIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\n\nexport default function useDocumentCopyAndShareProps(): ActionProps {\n\tconst document = useActiveDocument();\n\tconst { copyAndShare } = useActiveDocumentActions();\n\n\treturn {\n\t\ticon: LinkIcon,\n\t\ttitle: __( 'Copy and Share', 'elementor' ),\n\t\tonClick: copyAndShare,\n\t\tdisabled:\n\t\t\t! document || document.isSaving || document.isSavingDraft || ! ( 'publish' === document.status.value ),\n\t\tvisible: document?.permissions?.showCopyAndShare,\n\t};\n}\n","import {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { FileReportIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\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 { __useActiveDocumentActions as useActiveDocumentActions } from '@elementor/editor-documents';\nimport { FolderIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps } from '../../../types';\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 { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { EyeIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function useDocumentViewPageProps() {\n\tconst document = useActiveDocument();\n\n\treturn {\n\t\ticon: EyeIcon,\n\t\ttitle: __( 'View Page', 'elementor' ),\n\t\tonClick: () =>\n\t\t\tdocument?.id &&\n\t\t\trunCommand( 'editor/documents/view', {\n\t\t\t\tid: document.id,\n\t\t\t} ),\n\t};\n}\n","import { injectIntoPrimaryAction } from '../../locations';\nimport PrimaryAction from './components/primary-action';\nimport useDocumentCopyAndShareProps from './hooks/use-document-copy-and-share-props';\nimport useDocumentSaveDraftProps from './hooks/use-document-save-draft-props';\nimport useDocumentSaveTemplateProps from './hooks/use-document-save-template-props';\nimport useDocumentViewPageProps from './hooks/use-document-view-page-props';\nimport { documentOptionsMenu } from './locations';\n\nexport function init() {\n\tinjectIntoPrimaryAction( {\n\t\tid: 'document-primary-action',\n\t\tcomponent: PrimaryAction,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-draft',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentSaveDraftProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tgroup: 'save',\n\t\tid: 'document-save-as-template',\n\t\tpriority: 20,\n\t\tuseProps: useDocumentSaveTemplateProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-copy-and-share',\n\t\tpriority: 10,\n\t\tuseProps: useDocumentCopyAndShareProps,\n\t} );\n\n\tdocumentOptionsMenu.registerAction( {\n\t\tid: 'document-view-page',\n\t\tpriority: 50,\n\t\tuseProps: useDocumentViewPageProps,\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { PlusIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/elements' );\n\n\treturn {\n\t\ttitle: __( 'Add Element', 'elementor' ),\n\t\ticon: PlusIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.widgetPanel, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations[ 'widget-panel' ],\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/elements/categories' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateListenTo as listenTo,\n\trouteOpenEvent,\n\tv1ReadyEvent,\n} from '@elementor/editor-v1-adapters';\nimport { __ } from '@wordpress/i18n';\n\ntype ExtendedWindow = Window & {\n\telementor: {\n\t\tgetPanelView: () => {\n\t\t\tgetHeaderView: () => {\n\t\t\t\tsetTitle: ( title: string ) => void;\n\t\t\t};\n\t\t};\n\t};\n};\n\nexport default function syncPanelTitle() {\n\tconst panelTitle = __( 'Elements', 'elementor' );\n\tconst tabTitle = __( 'Widgets', 'elementor' );\n\n\tlistenTo( routeOpenEvent( 'panel/elements' ), () => {\n\t\tsetPanelTitle( panelTitle );\n\t\tsetTabTitle( tabTitle );\n\t} );\n\n\tlistenTo( v1ReadyEvent(), () => {\n\t\tif ( isRouteActive( 'panel/elements' ) ) {\n\t\t\tsetPanelTitle( panelTitle );\n\t\t\tsetTabTitle( tabTitle );\n\t\t}\n\t} );\n}\n\nfunction setPanelTitle( title: string ) {\n\t( window as unknown as ExtendedWindow ).elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.( title );\n}\n\nfunction setTabTitle( title: string ) {\n\tconst tab = document.querySelector( '.elementor-component-tab[data-tab=\"categories\"]' );\n\n\tif ( tab ) {\n\t\ttab.textContent = title;\n\t}\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\nimport syncPanelTitle from './sync/sync-panel-title';\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 { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { SearchIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\treturn {\n\t\ttitle: __( 'Finder', 'elementor' ),\n\t\ticon: SearchIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.finder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.finder,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'finder/toggle' );\n\t\t},\n\t} satisfies ActionProps;\n}\n","import { utilitiesMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tutilitiesMenu.registerAction( {\n\t\tid: 'toggle-finder',\n\t\tpriority: 15, // Before Preview.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { HelpIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { utilitiesMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\n\nexport function init() {\n\tutilitiesMenu.registerLink( {\n\t\tid: 'open-help-center',\n\t\tpriority: 25, // 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\tshowExternalLinkIcon: true,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.help, {\n\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.help,\n\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { HistoryIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps() {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/history' );\n\n\treturn {\n\t\ttitle: __( 'History', 'elementor' ),\n\t\ticon: HistoryIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.history, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/history/actions' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-history',\n\t\tpriority: 20,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { KeyboardIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: KeyboardIcon,\n\t\ttitle: __( 'Keyboard Shortcuts', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.keyboardShortcuts, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'shortcuts/open' );\n\t\t},\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-keyboard-shortcuts',\n\t\tgroup: 'default',\n\t\tpriority: 40, // After user preferences.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import * as React from 'react';\nimport {\n\ttype BreakpointId,\n\tuseActivateBreakpoint,\n\tuseActiveBreakpoint,\n\tuseBreakpoints,\n} from '@elementor/editor-responsive';\nimport {\n\tDesktopIcon,\n\tLaptopIcon,\n\tMobileLandscapeIcon,\n\tMobilePortraitIcon,\n\tTabletLandscapeIcon,\n\tTabletPortraitIcon,\n\tWidescreenIcon,\n} from '@elementor/icons';\nimport { Tab, Tabs, Tooltip as BaseTooltip, type TooltipProps } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow } from '../../../types';\n\nexport default function BreakpointsSwitcher() {\n\tconst breakpoints = useBreakpoints();\n\tconst activeBreakpoint = useActiveBreakpoint();\n\tconst activateBreakpoint = useActivateBreakpoint();\n\n\tif ( ! breakpoints.length || ! activeBreakpoint ) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( _: unknown, value: BreakpointId ) => {\n\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\tif ( config ) {\n\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.responsiveControls, {\n\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\tsecondaryLocation: config.secondaryLocations.responsiveControls,\n\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\tmode: value,\n\t\t\t} );\n\t\t}\n\n\t\tactivateBreakpoint( value );\n\t};\n\n\treturn (\n\t\t<Tabs\n\t\t\ttextColor=\"inherit\"\n\t\t\tindicatorColor=\"secondary\"\n\t\t\tvalue={ activeBreakpoint }\n\t\t\tonChange={ onChange }\n\t\t\taria-label={ __( 'Switch Device', 'elementor' ) }\n\t\t\tsx={ {\n\t\t\t\t'& .MuiTabs-indicator': {\n\t\t\t\t\tbackgroundColor: 'text.primary',\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t{ breakpoints.map( ( { id, label, type, width } ) => {\n\t\t\t\tconst Icon = iconsMap[ id ];\n\n\t\t\t\tconst title = labelsMap[ type || 'default' ]\n\t\t\t\t\t.replace( '%s', label )\n\t\t\t\t\t.replace( '%d', width?.toString() || '' );\n\n\t\t\t\treturn (\n\t\t\t\t\t<Tab\n\t\t\t\t\t\tvalue={ id }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<Tooltip title={ title }>\n\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsx={ { minWidth: 'auto' } }\n\t\t\t\t\t\tdata-testid={ `switch-device-to-${ id }` }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Tabs>\n\t);\n}\n\nfunction Tooltip( props: TooltipProps ) {\n\treturn (\n\t\t<BaseTooltip\n\t\t\tPopperProps={ {\n\t\t\t\tsx: {\n\t\t\t\t\t'&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom': {\n\t\t\t\t\t\tmt: 2.5,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nconst iconsMap = {\n\twidescreen: WidescreenIcon,\n\tdesktop: DesktopIcon,\n\tlaptop: LaptopIcon,\n\ttablet_extra: TabletLandscapeIcon,\n\ttablet: TabletPortraitIcon,\n\tmobile_extra: MobileLandscapeIcon,\n\tmobile: MobilePortraitIcon,\n};\n\nconst labelsMap = {\n\tdefault: '%s',\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'min-width': __( '%s (%dpx and up)', 'elementor' ),\n\n\t// translators: %s: Breakpoint label, %d: Breakpoint size.\n\t'max-width': __( '%s (up to %dpx)', 'elementor' ),\n} as const;\n","import { injectIntoResponsive } from '../../locations';\nimport BreakpointsSwitcher from './components/breakpoints-switcher';\n\nexport function init() {\n\tinjectIntoResponsive( {\n\t\tid: 'responsive-breakpoints-switcher',\n\t\tcomponent: BreakpointsSwitcher,\n\t\toptions: {\n\t\t\tpriority: 20, // After document indication.\n\t\t},\n\t} );\n}\n","import { injectIntoTop } from '@elementor/editor';\n\nimport { toolsMenu } from '../../locations';\nimport PortalledPrimaryAction from './components/portalled-primary-action';\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';\n\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 {\n\t__privateIsRouteActive as isRouteActive,\n\t__privateUseListenTo as useListenTo,\n\trouteCloseEvent,\n\trouteOpenEvent,\n} from '@elementor/editor-v1-adapters';\nimport { Portal as BasePortal, type PortalProps } from '@elementor/ui';\n\nexport default function Portal( props: Omit< PortalProps, 'container' > ) {\n\tconst containerRef = useListenTo(\n\t\t[ routeOpenEvent( 'panel/global' ), routeCloseEvent( 'panel/global' ) ],\n\t\tgetContainerRef\n\t);\n\n\tif ( ! containerRef.current ) {\n\t\treturn null;\n\t}\n\n\treturn <BasePortal container={ containerRef.current } { ...props } />;\n}\n\nfunction getContainerRef() {\n\treturn isRouteActive( 'panel/global' )\n\t\t? { current: document.querySelector( '#elementor-panel-inner' ) }\n\t\t: { current: null };\n}\n","import * as React from 'react';\nimport {\n\t__useActiveDocument as useActiveDocument,\n\t__useActiveDocumentActions as useActiveDocumentActions,\n} from '@elementor/editor-documents';\nimport { Button, CircularProgress, Paper } from '@elementor/ui';\nimport { __ } from '@wordpress/i18n';\n\nexport default function PrimaryAction() {\n\tconst document = useActiveDocument();\n\tconst { save } = useActiveDocumentActions();\n\n\treturn (\n\t\t<Paper\n\t\t\tsx={ {\n\t\t\t\tpx: 5,\n\t\t\t\tpy: 4,\n\t\t\t\tborderTop: 1,\n\t\t\t\tborderColor: 'divider',\n\t\t\t} }\n\t\t>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tdisabled={ ! document || ! document.isDirty }\n\t\t\t\tsize=\"medium\"\n\t\t\t\tsx={ { width: '100%' } }\n\t\t\t\tonClick={ () => ( document && ! document.isSaving ? save() : null ) }\n\t\t\t>\n\t\t\t\t{ document?.isSaving ? <CircularProgress /> : __( 'Save Changes', 'elementor' ) }\n\t\t\t</Button>\n\t\t</Paper>\n\t);\n}\n","import {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { AdjustmentsHorizontalIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/global', {\n\t\tblockOnKitRoutes: false,\n\t} );\n\n\treturn {\n\t\ttitle: __( 'Site Settings', 'elementor' ),\n\t\ticon: AdjustmentsHorizontalIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.siteSettings, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.siteSettings,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( isActive ) {\n\t\t\t\trunCommand( 'panel/global/close' );\n\t\t\t} else {\n\t\t\t\trunCommand( 'panel/global/open' );\n\t\t\t}\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import {\n\t__privateRunCommand as runCommand,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { StructureIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'navigator' );\n\n\treturn {\n\t\ttitle: __( 'Structure', 'elementor' ),\n\t\ticon: StructureIcon,\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.structure, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.structure,\n\t\t\t\t\ttrigger: config.triggers.toggleClick,\n\t\t\t\t\telement: config.elements.buttonIcon,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'navigator/toggle' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { toolsMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\ttoolsMenu.registerToggleAction( {\n\t\tid: 'toggle-structure-view',\n\t\tpriority: 3,\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __privateRunCommand as runCommand } from '@elementor/editor-v1-adapters';\nimport { ThemeBuilderIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ActionProps, type ExtendedWindow } from '../../../types';\n\nexport default function useActionProps(): ActionProps {\n\treturn {\n\t\ticon: ThemeBuilderIcon,\n\t\ttitle: __( 'Theme Builder', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.themeBuilder, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\trunCommand( 'app/open' );\n\t\t},\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useThemeBuilderActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerAction( {\n\t\tid: 'open-theme-builder',\n\t\tuseProps: useThemeBuilderActionProps,\n\t} );\n}\n","import {\n\t__privateOpenRoute as openRoute,\n\t__privateUseRouteStatus as useRouteStatus,\n} from '@elementor/editor-v1-adapters';\nimport { ToggleRightIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { type ExtendedWindow, type ToggleActionProps } from '../../../types';\n\nexport default function useActionProps(): ToggleActionProps {\n\tconst { isActive, isBlocked } = useRouteStatus( 'panel/editor-preferences' );\n\n\treturn {\n\t\ticon: ToggleRightIcon,\n\t\ttitle: __( 'User Preferences', 'elementor' ),\n\t\tonClick: () => {\n\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\tif ( config ) {\n\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.userPreferences, {\n\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\telement: config.elements.link,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\topenRoute( 'panel/editor-preferences' );\n\t\t},\n\t\tselected: isActive,\n\t\tdisabled: isBlocked,\n\t};\n}\n","import { mainMenu } from '../../locations';\nimport useActionProps from './hooks/use-action-props';\n\nexport function init() {\n\tmainMenu.registerToggleAction( {\n\t\tid: 'open-user-preferences',\n\t\tpriority: 30, // After history.\n\t\tuseProps: useActionProps,\n\t} );\n}\n","import { __useActiveDocument as useActiveDocument } from '@elementor/editor-documents';\nimport { WordpressIcon } from '@elementor/icons';\nimport { __ } from '@wordpress/i18n';\n\nimport { mainMenu } from '../../locations';\nimport { type ExtendedWindow } from '../../types';\n\nexport function init() {\n\tmainMenu.registerLink( {\n\t\tid: 'exit-to-wordpress',\n\t\tgroup: 'exits',\n\t\tpriority: 20,\n\t\tuseProps: () => {\n\t\t\tconst document = useActiveDocument();\n\t\t\treturn {\n\t\t\t\ttitle: __( 'Exit to WordPress', 'elementor' ),\n\t\t\t\thref: document?.links?.platformEdit,\n\t\t\t\ticon: WordpressIcon,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tconst extendedWindow = window as unknown as ExtendedWindow;\n\t\t\t\t\tconst config = extendedWindow?.elementorCommon?.eventsManager?.config;\n\n\t\t\t\t\tif ( config ) {\n\t\t\t\t\t\textendedWindow.elementorCommon.eventsManager.dispatchEvent(\n\t\t\t\t\t\t\tconfig.names.topBar.exitToWordpress,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlocation: config.locations.topBar,\n\t\t\t\t\t\t\t\tsecondaryLocation: config.secondaryLocations.elementorLogo,\n\t\t\t\t\t\t\t\ttrigger: config.triggers.click,\n\t\t\t\t\t\t\t\telement: config.elements.link,\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};\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 initConnect } from './connect';\nimport { init as initDocumentsIndicator } from './documents-indicator';\nimport { init as initDocumentsPreview } from './documents-preview';\nimport { init as initDocumentsSave } from './documents-save';\nimport { init as initElements } from './elements';\nimport { init as initFinder } from './finder';\nimport { init as initHelp } from './help';\nimport { init as initHistory } from './history';\nimport { init as initKeyboardShortcuts } from './keyboard-shortcuts';\nimport { init as initResponsive } from './responsive';\nimport { init as initSiteSettings } from './site-settings';\nimport { init as initStructure } from './structure';\nimport { init as initThemeBuilder } from './theme-builder';\nimport { init as initUserPreferences } from './user-preferences';\nimport { init as initWordpress } from './wordpress';\n\nexport function init() {\n\tinitDocumentsIndicator();\n\tinitDocumentsPreview();\n\tinitDocumentsSave();\n\tinitElements();\n\tinitFinder();\n\tinitHelp();\n\tinitHistory();\n\tinitKeyboardShortcuts();\n\tinitResponsive();\n\tinitSiteSettings();\n\tinitStructure();\n\tinitThemeBuilder();\n\tinitUserPreferences();\n\tinitWordpress();\n\tinitConnect();\n}\n","import {\n\t__privateListenTo as listenTo,\n\t__privateOpenRoute as openRoute,\n\trouteOpenEvent,\n} from '@elementor/editor-v1-adapters';\n\nexport default function redirectOldMenus() {\n\t// Currently, in V1, when you click `esc` it opens the hamburger menu in the panel.\n\t// In V2, we don't have this panel, so we redirect the user to the elements panel instead.\n\tlistenTo( routeOpenEvent( 'panel/menu' ), () => {\n\t\topenRoute( 'panel/elements/categories' );\n\t} );\n}\n"],"mappings":";AAAA,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;;;ACD3B,YAAYA,YAAW;;;ACAvB,YAAY,WAAW;AACvB,SAAS,eAAuC,kBAAkB;AAQlE,IAAM,cAAc,cAAmC;AAAA,EACtD,MAAM;AACP,CAAE;AAEK,SAAS,oBAAqB,EAAE,MAAM,YAAY,SAAS,GAA2C;AAC5G,SAAO,oCAAC,YAAY,UAAZ,EAAqB,OAAQ,EAAE,MAAM,WAAW,KAAM,QAAU;AACzE;AAEO,SAAS,iBAAiB;AAChC,SAAO,WAAY,WAAY;AAChC;;;ACnBA,YAAYC,YAAW;AACvB,SAAS,kBAAkB,wBAAwB;AACnD,SAAS,cAAc,cAAc,UAA8B,qBAAqB;AAaxF,IAAM,uBAAuB,cAAe,gBAAiB;AAC7D,IAAM,yBAAyB,cAAe,gBAAiB;AAEhD,SAAR,gBAAkC;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAA0B;AACzB,QAAM,iBAAiB,QAAQ,WAAW,YAAY;AAEtD,SACC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAY,OAAO,MAAM;AAAA,MACzB;AAAA,MACA;AAAA,MACA,IAAK;AAAA,QACJ,WAAW;AAAA,UACV,OAAO;AAAA;AAAA,QACR;AAAA,MACD;AAAA;AAAA,IAEA,qCAAC,oBAAe,IAAM;AAAA,IACtB,qCAAC,gBAAa,SAAU,MAAO;AAAA,IAC7B,kBAAkB,qCAAC,0BAAqB;AAAA,IACxC,iBAAiB,qCAAC,4BAAuB;AAAA,EAC5C;AAEF;;;ACnDA,YAAYC,YAAW;AACvB,SAAS,KAAK,YAAkC,WAAW,mBAAsC;AAOlF,SAAR,gBAAkC,EAAE,OAAO,GAAG,MAAM,GAA0B;AACpF,SACC,qCAAC,WAAQ,SAER,qCAAC,OAAI,WAAU,QAAO,cAAa,UAClC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,cAAa;AAAA,MACb,MAAK;AAAA,MACL,IAAK;AAAA,QACJ,SAAS;AAAA,UACR,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,OAAO;AAAA,QACR;AAAA,QACA,WAAW;AAAA,UACV,OAAO;AAAA,QACR;AAAA,MACD;AAAA;AAAA,EACD,CACD,CACD;AAEF;AAEA,SAAS,QAAS,OAAsB;AACvC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,aAAc;AAAA,QACb,IAAI;AAAA,UACH,6EAA6E;AAAA,YAC5E,IAAI;AAAA,UACL;AAAA,QACD;AAAA,MACD;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AAEF;;;AH/Be,SAAR,OAAyB,EAAE,MAAM,MAAM,OAAO,UAAU,MAAM,GAAG,MAAM,GAAW;AACxF,QAAM,EAAE,KAAK,IAAI,eAAe;AAEhC,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AAEA,SAAO,SAAS,YACf,qCAAC,mBAAgB,OAAkB,GAAG,SACrC,qCAAC,UAAK,CACP,IAEA,qCAAC,mBAAkB,GAAG,OAAQ,MAAO,OAAQ,MAAO,qCAAC,UAAK,GAAK;AAEjE;;;AI7BA,YAAYC,YAAW;AAiBR,SAAR,KAAuB,EAAE,MAAM,MAAM,OAAO,UAAU,MAAM,uBAAuB,OAAO,GAAG,MAAM,GAAW;AACpH,QAAM,EAAE,KAAK,IAAI,eAAe;AAEhC,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AAEA,SAAO,SAAS,YACf,qCAAC,mBAAgB,OAAkB,GAAG,SACrC,qCAAC,UAAK,CACP,IAEA,qCAAC,mBAAkB,GAAG,OAAQ,MAAO,OAAQ,MAAO,qCAAC,UAAK,GAAK,sBAA8C;AAE/G;;;AC/BA,YAAYC,YAAW;;;ACAvB,YAAYC,YAAW;AACvB,SAAS,OAAAC,MAAK,cAAsC,WAAAC,gBAAe;AAOpD,SAAR,sBAAwC,EAAE,OAAO,SAAS,GAAG,MAAM,GAAgC;AACzG,SACC,qCAACA,UAAA,EAAQ,SAER,qCAACD,MAAA,EAAI,WAAU,QAAO,cAAa,UAClC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,UAAW;AAAA,MACX,cAAa;AAAA,MACb,MAAK;AAAA,MACL,IAAK;AAAA,QACJ,QAAQ;AAAA;AAAA,QACR,kBAAkB;AAAA,UACjB,QAAQ;AAAA;AAAA,QACT;AAAA,QACA,SAAS;AAAA,UACR,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,OAAO;AAAA,QACR;AAAA,MACD;AAAA;AAAA,EACD,CACD,CACD;AAEF;;;ADhBe,SAAR,aAA+B,EAAE,MAAM,MAAM,OAAO,OAAO,UAAU,MAAM,GAAG,MAAM,GAAW;AACrG,QAAM,EAAE,KAAK,IAAI,eAAe;AAEhC,MAAK,CAAE,SAAU;AAChB,WAAO;AAAA,EACR;AAEA,SAAO,SAAS,YACf,qCAAC,yBAAsB,OAAQ,SAAS,OAAQ,OAAkB,GAAG,SACpE,qCAAC,UAAK,CACP,IAEA,qCAAC,mBAAkB,GAAG,OAAQ,MAAO,OAAQ,MAAO,qCAAC,UAAK,GAAK;AAEjE;;;ANxBO,IAAM,EAAE,QAAQ,0BAA0B,MAAM,mBAAmB,IAAI,eAAe;AAEtF,IAAM,EAAE,QAAQ,sBAAsB,MAAM,eAAe,IAAI,eAAe;AAE9E,IAAM,EAAE,QAAQ,yBAAyB,MAAM,kBAAkB,IAAI,eAAe;AAE3F,IAAM,aAAa;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,WAAW,WAAY;AAAA,EACnC,QAAQ,CAAE,OAAQ;AAAA,EAClB;AACD,CAAE;AAEK,IAAM,YAAY,WAAY,EAAE,WAAW,CAAE;AAE7C,IAAM,gBAAgB,WAAY,EAAE,WAAW,CAAE;AAEjD,IAAM,mBAAmB,WAAY,EAAE,WAAW,CAAE;;;AQ5B3D,SAAS,cAAAE,mBAAkB;AAMpB,IAAM,sBAAsBC,YAAY;AAAA,EAC9C,QAAQ,CAAE,MAAO;AAAA,EACjB,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD,CAAE;;;ACbF,SAAS,iBAAAC,sBAAqB;;;ACA9B,YAAYC,aAAW;AACvB,SAAS,uBAAuB,yBAAyB;AACzD,SAAS,UAAU,YAAY,OAAAC,MAAK,WAAAC,UAAS,MAAM,eAAe,eAAe;;;ACFjF,YAAYC,aAAW;AACvB,SAAS,UAAU,aAAa,SAAS,OAAO,qBAAqB;;;ACDrE,YAAYC,YAAW;AACvB,SAAS,YAA6C;AAQvC,SAAR,YAA8B,EAAE,UAAU,YAAY,GAAG,MAAM,GAAsB;AAC3F,SACC,qCAAC,uBAAoB,MAAO,WAAY,cACvC;AAAA,IAAC;AAAA;AAAA,MACA,YAAa;AAAA,QACZ,IAAI,EAAE,IAAI,IAAI;AAAA,MACf;AAAA,MACE,GAAG;AAAA,MACL,eAAgB;AAAA,QACf,WAAW;AAAA,QACX,OAAO;AAAA,MACR;AAAA;AAAA,IAEE;AAAA,EACH,CACD;AAEF;;;AC1BA,YAAYC,YAAW;AACvB,SAAS,gBAAgB;AACzB,SAAS,QAAQ,SAA4B,gBAAAC,qBAA4C;AACzF,SAAS,UAAU;AAQnB,IAAM,gBAAgB,CAAE,UAAyB;AAChD,SACC,qCAAC,WAAQ,SAAQ,aAAc,GAAG,SACjC,qCAAC,WACA,qCAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,GAC/B,qCAAC,UAAK,GAAE,0BAAyB,GACjC,qCAAC,UAAK,GAAE,0BAAyB,GACjC,qCAAC,UAAK,GAAE,yCAAwC,GAChD,qCAAC,UAAK,GAAE,yCAAwC,CACjD,CACD;AAEF;AAEA,IAAM,qBAAqB,OAAQA,aAAa,EAAG,CAAE,EAAE,MAAM,OAAS;AAAA,EACrE,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO,MAAM,QAAQ,KAAK;AAAA,EAC1B,gCAAgC;AAAA,IAC/B,iBAAiB;AAAA,EAClB;AAAA,EACA,uCAAuC;AAAA,IACtC,iBAAiB;AAAA,EAClB;AACD,EAAI;AAEJ,IAAM,sBAAsB,OAAQ,eAAe;AAAA,EAClD,mBAAmB,CAAE,SAAU,SAAS;AACzC,CAAE,EAA+B,CAAE,EAAE,OAAO,aAAa,OAAS;AAAA,EACjE,UAAU;AAAA,IACT,MAAM,MAAM,QAAQ,WAAW;AAAA,IAC/B,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,MAClB,iBAAiB,CAAE,gBAAgB;AAAA,MACnC,WAAW,gBAAgB;AAAA,IAC5B;AAAA,IACA,yBAAyB;AAAA;AAAA,MAExB,WAAW,CAAE,gBAAgB,cAAe,MAAM,cAAc,QAAQ,MAAM,GAAI;AAAA,IACnF;AAAA,IACA,oBAAoB;AAAA,MACnB,iBAAiB,eAAe,MAAM;AAAA,IACvC;AAAA,IACA,oBAAoB;AAAA,MACnB,iBAAiB;AAAA,IAClB;AAAA,IACA,oBAAoB;AAAA,MACnB,iBAAiB,eAAe,SAAS;AAAA,IAC1C;AAAA,EACD;AACD,EAAI;AAEW,SAAR,YAA8B,OAA0B;AAC9D,QAAM,CAAE,cAAc,eAAgB,IAAI,SAAU,KAAM;AAC1D,QAAM,eAAe,MAAM,YAAY;AAEvC,SACC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,OAAM;AAAA,MACN,MAAK;AAAA,MACL,cAAe,MAAM,gBAAiB,IAAK;AAAA,MAC3C,cAAe,MAAM,gBAAiB,KAAM;AAAA;AAAA,IAE5C;AAAA,MAAC;AAAA;AAAA,QACA,UAAS;AAAA,QACT;AAAA,QACA,aAAc,GAAI,kBAAkB,WAAY;AAAA;AAAA,IACjD;AAAA,EACD;AAEF;;;AF3EA,IAAM,EAAE,aAAa,IAAI;AAEV,SAAR,mBAAoC;AAC1C,QAAM,YAAY,aAAa;AAE/B,QAAM,aAAa,cAAe;AAAA,IACjC,SAAS;AAAA,IACT,SAAS;AAAA,EACV,CAAE;AAEF,QAAM,mBAAmB,YAAa,UAAW;AAEjD,QAAM,iBAA0C,CAAE,MAAO;AACxD,UAAM,iBAAiB;AACvB,UAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,QAAK,QAAS;AACb,qBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,uBAAuB;AAAA,QACtG,UAAU,OAAO,UAAU;AAAA,QAC3B,mBAAmB,OAAO,mBAAmB;AAAA,QAC7C,SAAS,OAAO,SAAS;AAAA,QACzB,SAAS,OAAO,SAAS;AAAA,MAC1B,CAAE;AAAA,IACH;AAEA,qBAAiB,QAAS,CAAE;AAAA,EAC7B;AAEA,SACC,sCAAC,SAAM,IAAK,EAAE,oBAAoB,EAAE,GAAI,WAAU,OAAM,YAAW,YAClE,sCAAC,eAAc,GAAG,kBAAmB,SAAU,gBAAiB,UAAW,WAAW,QAAS,GAC/F,sCAAC,eAAY,SAAU,WAAW,OAAU,GAAG,SAAU,UAAW,GAAI,iBAAkB,KACvF,UAAU,QAAQ,IAAK,CAAE,EAAE,UAAAC,WAAU,GAAG,MACzC,sCAACA,WAAA,EAAS,KAAM,IAAK,CACpB,GACA,UAAU,MAAM,SAAS,KAAK,sCAAC,aAAQ,GACvC,UAAU,MAAM,IAAK,CAAE,EAAE,UAAAA,WAAU,GAAG,MACvC,sCAACA,WAAA,EAAS,KAAM,IAAK,CACpB,CACH,CACD;AAEF;;;AGlDA,YAAYC,aAAW;AAIR,SAAR,yBAA0C;AAChD,SAAO,sCAAC,wBAAmB;AAC5B;;;ACNA,YAAYC,aAAW;AAIR,SAAR,wBAAyC;AAC/C,SAAO,sCAAC,uBAAkB;AAC3B;;;ACNA,YAAYC,aAAW;AAIR,SAAR,qBAAsC;AAC5C,SAAO,sCAAC,oBAAe;AACxB;;;ACNA,YAAYC,aAAW;;;ACAvB,YAAYC,aAAW;AACvB,SAAS,SAAAC,cAA8B;AAMxB,SAAR,YAA8B,EAAE,UAAU,GAAG,MAAM,GAAsB;AAC/E,SACC,sCAAC,uBAAoB,MAAO,aAC3B,sCAACC,QAAA,EAAM,IAAK,EAAE,IAAI,IAAI,GAAI,SAAU,KAAM,WAAU,OAAM,YAAW,UAAW,GAAG,SAChF,QACH,CACD;AAEF;;;ACfA,YAAYC,aAAW;AAEvB,SAAS,wBAAwB;AACjC,SAAS,YAAAC,WAAU,eAAAC,cAAa,iBAAAC,sBAAqB;AACrD,SAAS,MAAAC,WAAU;AASJ,SAAR,gBAAkC,EAAE,UAAU,GAAG,GAA0B;AACjF,QAAM,aAAaC,eAAe;AAAA,IACjC,SAAS;AAAA,IACT,SAAS;AAAA,EACV,CAAE;AAEF,SACC,8DACC,sCAAC,mBAAkB,GAAGC,aAAa,UAAW,GAAI,OAAQC,IAAI,QAAQ,WAAY,KACjF,sCAAC,sBAAiB,CACnB,GACA,sCAAC,eAAY,SAAU,WAAW,OAAU,GAAGC,UAAU,UAAW,KACjE,QACH,CACD;AAEF;;;AC7BA,YAAYC,aAAW;AACvB,SAAS,gBAAgB;AACzB,SAAS,YAAAC,WAAU,eAAAC,cAAa,iBAAAC,sBAAqB;AACrD,SAAS,MAAAC,WAAU;AAMnB,IAAM,EAAE,cAAAC,cAAa,IAAI;AAEV,SAAR,2BAA4C;AAClD,QAAM,YAAYA,cAAa;AAE/B,QAAM,aAAaC,eAAe;AAAA,IACjC,SAAS;AAAA,IACT,SAAS;AAAA,EACV,CAAE;AAEF,MAAK,UAAU,QAAQ,WAAW,GAAI;AACrC,WAAO;AAAA,EACR;AAEA,SACC,8DACC,sCAAC,mBAAkB,GAAGC,aAAa,UAAW,GAAI,OAAQC,IAAI,gBAAgB,WAAY,KACzF,sCAAC,cAAS,CACX,GACA;AAAA,IAAC;AAAA;AAAA,MACA,SAAU,WAAW;AAAA,MACnB,GAAGC,UAAU,UAAW;AAAA,MAC1B,iBAAkB;AAAA,MAClB,MAAO,WAAW;AAAA;AAAA,IAEhB,UAAU,QAAQ,IAAK,CAAE,EAAE,UAAU,sBAAsB,GAAG,MAC/D,sCAAC,wBAAqB,KAAM,IAAK,CAChC;AAAA,EACH,CACD;AAEF;;;AHjCA,IAAM,sBAAsB;AAE5B,IAAM,EAAE,cAAAC,cAAa,IAAI;AAEV,SAAR,oBAAqC;AAC3C,QAAM,YAAYA,cAAa;AAE/B,QAAM,mBAAmB,UAAU,QAAQ,MAAO,GAAG,mBAAoB;AACzE,QAAM,mBAAmB,UAAU,QAAQ,MAAO,mBAAoB;AAEtE,SACC,sCAAC,mBACE,iBAAiB,IAAK,CAAE,EAAE,UAAAC,WAAU,GAAG,MACxC,sCAACA,WAAA,EAAS,KAAM,IAAK,CACpB,GACF,sCAAC,8BAAyB,GACxB,iBAAiB,SAAS,KAC3B,sCAAC,mBAAgB,IAAG,yCACjB,iBAAiB,IAAK,CAAE,EAAE,UAAAA,WAAU,GAAG,MACxC,sCAACA,WAAA,EAAS,KAAM,IAAK,CACpB,CACH,CAEF;AAEF;;;AIhCA,YAAYC,aAAW;AACvB,SAAS,YAAAC,iBAAgB;AACzB,SAAS,WAAAC,gBAAe;AAMxB,IAAMC,uBAAsB;AAE5B,IAAM,EAAE,cAAAC,cAAa,IAAI;AAEV,SAAR,wBAAyC;AAC/C,QAAM,YAAYA,cAAa;AAI/B,QAAM,mBAAmB,UAAU,QAAQ,SAASD,uBAAsB;AAE1E,QAAM,mBAAmB,mBAAmB,UAAU,QAAQ,MAAO,GAAGA,oBAAoB,IAAI,UAAU;AAC1G,QAAM,mBAAmB,mBAAmB,UAAU,QAAQ,MAAOA,oBAAoB,IAAI,CAAC;AAE9F,SACC,sCAAC,mBACE,iBAAiB,IAAK,CAAE,EAAE,UAAAE,WAAU,GAAG,GAAG,UAC3C,sCAACC,WAAA,EAAS,KAAM,MACb,UAAU,KAAK,sCAACC,UAAA,EAAQ,aAAY,YAAW,GACjD,sCAACF,WAAA,IAAS,CACX,CACC,GACA,iBAAiB,SAAS,KAC3B,sCAAC,mBAAgB,IAAG,6CACjB,iBAAiB,IAAK,CAAE,EAAE,UAAAA,WAAU,GAAG,MACxC,sCAACA,WAAA,EAAS,KAAM,IAAK,CACpB,CACH,CAEF;AAEF;;;AX3Be,SAAR,SAA0B;AAChC,QAAMG,YAAW,kBAAkB;AACnC,SACC,sCAAC,iBAAc,aAAY,UAC1B,sCAAC,cAAW,UAAS,YACpB,sCAAC,WAAQ,gBAAc,MAAC,SAAQ,WAC/B,sCAACC,MAAA,EAAI,SAAQ,QAAO,qBAAoB,kBAAiB,UAAW,KACnE,sCAAC,QAAK,WAAS,MAAC,UAAS,YACxB,sCAAC,sBAAiB,GAChBD,WAAU,aAAa,sBAAsB,sCAAC,uBAAkB,CACnE,GACA,sCAAC,QAAK,WAAS,MAAC,gBAAe,YAC9B,sCAAC,eAAY,SAAU,OACtB,sCAACE,UAAA,EAAQ,aAAY,YAAW,GAChC,sCAAC,4BAAuB,GACxB,sCAACA,UAAA,EAAQ,aAAY,YAAW,GAChC,sCAAC,wBAAmB,GACpB,sCAACA,UAAA,EAAQ,aAAY,YAAW,CACjC,CACD,GACA,sCAAC,QAAK,WAAS,MAAC,gBAAe,YAAW,UAAS,YAClD,sCAAC,2BAAsB,GACvB,sCAAC,2BAAsB,CACxB,CACD,CACD,CACD,CACD;AAEF;;;AYzCA,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AACzB,SAAS,MAAAC,WAAU;AAInB,IAAM,4BAA4B,CAAE,cAAuB;AAC1D,MAAI;AACH,UAAM,iBAAiB;AACvB,UAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,QAAK,QAAS;AACb,qBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAQ,SAAU,GAAG;AAAA,QAC7F,UAAU,OAAO,UAAU;AAAA,QAC3B,mBAAmB,OAAO,mBAAmB;AAAA,QAC7C,SAAS,OAAO,SAAS;AAAA,QACzB,SAAS,OAAO,SAAS;AAAA,MAC1B,CAAE;AAAA,IACH;AAAA,EACD,SAAU,OAAQ;AAEjB,YAAQ,KAAM,KAAM;AAAA,EACrB;AACD;AAEe,SAAR,uBAAwC;AAC9C,QAAM,iBAAiB;AACvB,MAAI,kBAAkB;AACtB,QAAM,QAAQ,gBAAgB,WAAW,QAAQ,OAAO;AACxD,MAAI,SAAS;AACb,MAAK,OAAQ;AACZ,sBAAkB,gBAAgB,cAAc,OAAO,YAAY;AAAA,EACpE,OAAO;AACN,sBAAkB,gBAAgB,iBAAiB,OAAO,gBAAgB,gBAAgB;AAC1F,aAAS;AAAA,EACV;AAEA,QAAM,qBAAqB;AAAA,IAC1B,CAAE,UAA4C;AAC7C,YAAM,eAAe;AAErB,UAAK,eAAe,UAAU,eAAe,OAAO,IAAI,kBAAmB;AAC1E,cAAM,aAAa,gBAAgB,WAAW,OAAO,KAAK,QAAQ;AAElE,cAAM,cAAgB,eAAwB,OAAQ,KAAM;AAC5D,qBACG,KAAM,QAAQ,UAAW,GACzB,KAAM,UAAU,QAAS,GACzB,KAAM,OAAO,QAAS,GACtB,IAAK,WAAW,MAAO,GACvB,SAAU,MAAO;AAEpB,oBAAY,iBAAkB;AAAA,UAC7B,SAAS,MAAM;AACd,sCAA2B,kBAAmB;AAC9C,2BAAe,SAAS,OAAO;AAAA,UAChC;AAAA,QACD,CAAE;AAEF,oBAAa,CAAE,EAAE,MAAM;AACvB,kCAA2B,gBAAiB;AAE5C,mBAAY,MAAM;AACjB,sBAAY,OAAO;AAAA,QACpB,GAAG,GAAK;AAAA,MACT;AAAA,IACD;AAAA,IACA,CAAE,cAAe;AAAA,EAClB;AAEA,SAAO,kBACJ;AAAA,IACA,OAAOA,IAAI,gBAAgB,WAAY;AAAA,IACvC,MAAM,gBAAgB,WAAW,OAAO,KAAK,QAAQ;AAAA,IACrD,MAAM;AAAA,IACN,QAAQ;AAAA,EACR,IACA;AAAA,IACA,OAAOA,IAAI,sBAAsB,WAAY;AAAA,IAC7C,MAAM,gBAAgB,WAAW,OAAO,KAAK,QAAQ;AAAA,IACrD,MAAM;AAAA,IACN;AAAA,IACA,SAAS;AAAA,EACT;AACJ;;;ACjFO,SAAS,OAAO;AACtB,WAAS,aAAc;AAAA,IACtB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,UAAU;AAAA,EACX,CAAE;AACH;;;ACVA,YAAYC,aAAW;AACvB;AAAA,EACC,uBAAuBC;AAAA,EACvB,qBAAqB;AAAA,OACf;AACP;AAAA,EACC,sBAAsB;AAAA,EACtB,2BAA2B;AAAA,OACrB;AACP,SAAS,oBAAoB;AAC7B,SAAS,OAAAC,MAAK,gBAAAC,eAAc,WAAWC,oBAAsC;AAC7E,SAAS,MAAAC,WAAU;AAIJ,SAAR,iBAAkC;AACxC,QAAM,iBAAiBJ,mBAAkB;AACzC,QAAM,eAAe,gBAAgB;AAErC,QAAMK,YAAW,kBAAkB,eAAe,KAAK,UAAU,QAAQ,iBAAiB;AAE1F,QAAM,EAAE,UAAU,UAAU,IAAI,eAAgB,qBAAsB;AAEtE,MAAK,CAAEA,WAAW;AACjB,WAAO;AAAA,EACR;AAGA,QAAM,QAAQD,IAAI,eAAe,WAAY,EAAE,QAAS,MAAMC,UAAS,KAAK,KAAM;AAElF,SACC,sCAACC,UAAA,EAAQ,SAER,sCAACL,MAAA,EAAI,WAAU,QAAO,cAAa,UAClC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,OAAM;AAAA,MACN,UAAW;AAAA,MACX,UAAW;AAAA,MACX,UAAW,MAAM;AAChB,cAAM,iBAAiB;AACvB,cAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,YAAK,QAAS;AACb,yBAAe,gBAAgB,cAAc;AAAA,YAC5C,OAAO,MAAM,OAAO;AAAA,YACpB;AAAA,cACC,UAAU,OAAO,UAAU;AAAA,cAC3B,mBAAmB,OAAO,mBAAoB,mBAAoB;AAAA,cAClE,SAAS,OAAO,SAAS;AAAA,cACzB,SAAS,OAAO,SAAS;AAAA,YAC1B;AAAA,UACD;AAAA,QACD;AAEA,kBAAW,8BAA+B;AAAA,MAC3C;AAAA,MACA,cAAa;AAAA,MACb,MAAK;AAAA,MACL,IAAK;AAAA,QACJ,QAAQ;AAAA;AAAA,QACR,kBAAkB;AAAA,UACjB,QAAQ;AAAA;AAAA,QACT;AAAA,MACD;AAAA;AAAA,IAEA,sCAAC,gBAAa,UAAS,SAAQ;AAAA,EAChC,CACD,CACD;AAEF;AAEA,SAASI,SAAS,OAAsB;AACvC,SACC;AAAA,IAACH;AAAA,IAAA;AAAA,MACA,aAAc;AAAA,QACb,IAAI;AAAA,UACH,6EAA6E;AAAA,YAC5E,IAAI;AAAA,UACL;AAAA,QACD;AAAA,MACD;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AAEF;;;AClFO,SAASI,QAAO;AACtB,2BAA0B;AAAA,IACzB,IAAI;AAAA,IACJ,WAAW;AAAA,IACX,SAAS;AAAA,MACR,UAAU;AAAA;AAAA,IACX;AAAA,EACD,CAAE;AACH;;;ACXA,SAAS,uBAAuBC,0BAAyB;AACzD,SAAS,uBAAuB,kBAAkB;AAClD,SAAS,eAAe;AACxB,SAAS,MAAAC,WAAU;AAIJ,SAAR,iBAAkC;AACxC,QAAMC,YAAWF,mBAAkB;AAEnC,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOC,IAAI,mBAAmB,WAAY;AAAA,IAC1C,SAAS,MAAM;AACd,YAAM,iBAAiB;AACvB,YAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,UAAK,QAAS;AACb,uBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,aAAa;AAAA,UAC5F,UAAU,OAAO,UAAU;AAAA,UAC3B,mBAAmB,OAAO,mBAAoB,cAAe;AAAA,UAC7D,SAAS,OAAO,SAAS;AAAA,UACzB,SAAS,OAAO,SAAS;AAAA,QAC1B,CAAE;AAAA,MACH;AAEA,UAAKC,WAAW;AACf,mBAAY,4BAA4B;AAAA,UACvC,IAAIA,UAAS;AAAA,UACb,OAAO;AAAA,QACR,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AACD;;;AC/BO,SAASC,QAAO;AACtB,gBAAc,eAAgB;AAAA,IAC7B,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAU;AAAA,EACX,CAAE;AACH;;;ACTA,YAAYC,aAAW;AACvB;AAAA,EACC,uBAAuBC;AAAA,EACvB,8BAA8B;AAAA,OAExB;AACP,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC;AAAA,EACC,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,OAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,OACM;AACP,SAAS,MAAAC,WAAU;;;AClBnB,YAAYC,aAAW;AACvB,SAAS,WAAAC,UAAS,UAAAC,eAAc;AAKhC,IAAM,EAAE,cAAAC,cAAa,IAAI;AAGzB,IAAM,oBAAoBC,QAAQ,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAY/B,SAAR,kBAAoC,OAA0B;AACpE,QAAM,EAAE,MAAM,aAAa,SAAS,eAAe,IAAID,cAAa;AAEpE,SACC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,cAAe;AAAA,QACd,UAAU;AAAA,QACV,YAAY;AAAA,MACb;AAAA,MACA,iBAAkB;AAAA,QACjB,UAAU;AAAA,QACV,YAAY;AAAA,MACb;AAAA,MACA,iBAAkB;AAAA,MAClB,YAAa;AAAA,QACZ,IAAI,EAAE,IAAI,IAAI;AAAA,MACf;AAAA;AAAA,IAEE,YAAY,IAAK,CAAE,EAAE,UAAAE,WAAU,GAAG,GAAG,UAAW;AAAA,MACjD,QAAQ,KAAK,sCAACC,UAAA,EAAQ,KAAM,GAAI,EAAG,YAAa;AAAA,MAChD,sCAACD,WAAA,EAAS,KAAM,IAAK;AAAA,IACtB,CAAE;AAAA,IAEA,YAAY,SAAS,KAAK,eAAe,SAAS,KAAK,sCAACC,UAAA,IAAQ;AAAA,IAEhE,eAAe,IAAK,CAAE,EAAE,UAAAD,WAAU,GAAG,GAAG,UAAW;AAAA,MACpD,QAAQ,KAAK,sCAACC,UAAA,EAAQ,KAAM,GAAI,EAAG,YAAa;AAAA,MAChD,sCAACD,WAAA,EAAS,KAAM,IAAK;AAAA,IACtB,CAAE;AAAA,EACH;AAEF;;;AD9Be,SAAR,gBAAiC;AACvC,QAAME,YAAWC,mBAAkB;AACnC,QAAM,EAAE,KAAK,IAAI,yBAAyB;AAC1C,QAAM,WAAW,YAAY;AAE7B,QAAM,aAAa,aAAa;AAEhC,QAAM,aAAaC,eAAe;AAAA,IACjC,SAAS;AAAA,IACT,SAAS;AAAA,EACV,CAAE;AAEF,MAAK,CAAEF,WAAW;AACjB,WAAO;AAAA,EACR;AAEA,QAAM,oBAAoB,CAAE,cAAc,CAAE,iBAAkBA,SAAS;AACvE,QAAM,wBAAwB,CAAE,cAAcA,UAAS,KAAK,UAAU;AAItE,QAAM,oBAAoBA,UAAS,YAAY,CAAE;AAEjD,SACC,8DACC,sCAAC,eAAY,MAAK,SAAQ,SAAQ,eACjC;AAAA,IAAC;AAAA;AAAA,MACA,SAAU,MAAM;AACf,cAAM,iBAAiB;AACvB,cAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,YAAK,QAAS;AACb,yBAAe,gBAAgB,cAAc;AAAA,YAC5C,OAAO,MAAM,OAAO;AAAA,YACpB;AAAA,cACC,UAAU,OAAO,UAAU;AAAA,cAC3B,mBAAmB,OAAO,mBAAoB,gBAAiB;AAAA,cAC/D,SAAS,OAAO,SAAS;AAAA,cACzB,SAAS,OAAO,SAAS;AAAA,YAC1B;AAAA,UACD;AAAA,QACD;AAEA,YAAK,CAAEA,UAAS,UAAW;AAC1B,eAAK;AAAA,QACN;AAAA,MACD;AAAA,MACA,IAAK;AAAA,QACJ,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,UAAU;AAAA,QACV,+CAA+C;AAAA,UAC9C,UAAU;AAAA,QACX;AAAA,MACD;AAAA,MACA,UAAW;AAAA;AAAA,IAET,oBAAoB,sCAAC,oBAAiB,OAAM,WAAU,MAAK,SAAQ,IAAK,SAAUA,SAAS;AAAA,EAC9F,GAEA;AAAA,IAACG;AAAA,IAAA;AAAA,MACA,OAAQC,IAAI,gBAAgB,WAAY;AAAA,MACxC,aAAc;AAAA,QACb,IAAI;AAAA,UACH,6EAA6E;AAAA,YAC5E,IAAI;AAAA,YACJ,IAAI;AAAA,UACL;AAAA,QACD;AAAA,MACD;AAAA;AAAA,IAEA,sCAACC,MAAA,EAAI,WAAU,QAAO,cAAa,UAClC;AAAA,MAAC;AAAA;AAAA,QACA,MAAK;AAAA,QACH,GAAGC,aAAa,UAAW;AAAA,QAC7B,IAAK,EAAE,IAAI,GAAG,QAAQ,QAAQ,cAAc,EAAE;AAAA,QAC9C,UAAW;AAAA,QACX,cAAaF,IAAI,gBAAgB,WAAY;AAAA;AAAA,MAE7C,sCAAC,qBAAgB;AAAA,IAClB,CACD;AAAA,EACD,CACD,GACA,sCAAC,qBAAoB,GAAGG,UAAU,UAAW,GAAI,SAAU,WAAW,OAAQ,CAC/E;AAEF;AAEA,SAAS,SAAUP,WAAqB;AACvC,SAAOA,UAAS,QAAQ,UAAUI,IAAI,WAAW,WAAY,IAAIA,IAAI,UAAU,WAAY;AAC5F;AAEA,SAAS,iBAAkBJ,WAAqB;AAC/C,MAAKA,UAAS,KAAK,UAAU,OAAQ;AACpC,WAAO;AAAA,EACR;AAEA,SAAOA,UAAS,WAAWA,UAAS,OAAO,UAAU;AACtD;;;AE1HA;AAAA,EACC,uBAAuBQ;AAAA,EACvB,8BAA8BC;AAAA,OACxB;AACP,SAAS,gBAAgB;AACzB,SAAS,MAAAC,WAAU;AAIJ,SAAR,+BAA6D;AACnE,QAAMC,YAAWH,mBAAkB;AACnC,QAAM,EAAE,aAAa,IAAIC,0BAAyB;AAElD,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOC,IAAI,kBAAkB,WAAY;AAAA,IACzC,SAAS;AAAA,IACT,UACC,CAAEC,aAAYA,UAAS,YAAYA,UAAS,iBAAiB,EAAI,cAAcA,UAAS,OAAO;AAAA,IAChG,SAASA,WAAU,aAAa;AAAA,EACjC;AACD;;;ACrBA;AAAA,EACC,uBAAuBC;AAAA,EACvB,8BAA8BC;AAAA,OACxB;AACP,SAAS,sBAAsB;AAC/B,SAAS,MAAAC,WAAU;AAIJ,SAAR,4BAA0D;AAChE,QAAMC,YAAWH,mBAAkB;AACnC,QAAM,EAAE,UAAU,IAAIC,0BAAyB;AAE/C,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOC,IAAI,cAAc,WAAY;AAAA,IACrC,SAAS;AAAA,IACT,UAAU,CAAEC,aAAYA,UAAS,YAAYA,UAAS,iBAAiB,CAAEA,UAAS;AAAA,EACnF;AACD;;;ACnBA,SAAS,8BAA8BC,iCAAgC;AACvE,SAAS,kBAAkB;AAC3B,SAAS,MAAAC,YAAU;AAIJ,SAAR,+BAA6D;AACnE,QAAM,EAAE,aAAa,IAAID,0BAAyB;AAElD,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOC,KAAI,oBAAoB,WAAY;AAAA,IAC3C,SAAS;AAAA,EACV;AACD;;;ACdA,SAAS,uBAAuBC,0BAAyB;AACzD,SAAS,uBAAuBC,mBAAkB;AAClD,SAAS,WAAAC,gBAAe;AACxB,SAAS,MAAAC,YAAU;AAEJ,SAAR,2BAA4C;AAClD,QAAMC,YAAWJ,mBAAkB;AAEnC,SAAO;AAAA,IACN,MAAME;AAAA,IACN,OAAOC,KAAI,aAAa,WAAY;AAAA,IACpC,SAAS,MACRC,WAAU,MACVH,YAAY,yBAAyB;AAAA,MACpC,IAAIG,UAAS;AAAA,IACd,CAAE;AAAA,EACJ;AACD;;;ACTO,SAASC,QAAO;AACtB,0BAAyB;AAAA,IACxB,IAAI;AAAA,IACJ,WAAW;AAAA,EACZ,CAAE;AAEF,sBAAoB,eAAgB;AAAA,IACnC,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,EACX,CAAE;AAEF,sBAAoB,eAAgB;AAAA,IACnC,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,EACX,CAAE;AAEF,sBAAoB,eAAgB;AAAA,IACnC,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,EACX,CAAE;AAEF,sBAAoB,eAAgB;AAAA,IACnC,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,EACX,CAAE;AACH;;;ACvCA;AAAA,EACC,sBAAsBC;AAAA,EACtB,2BAA2BC;AAAA,OACrB;AACP,SAAS,gBAAgB;AACzB,SAAS,MAAAC,YAAU;AAIJ,SAARC,kBAAkC;AACxC,QAAM,EAAE,UAAU,UAAU,IAAIF,gBAAgB,gBAAiB;AAEjE,SAAO;AAAA,IACN,OAAOC,KAAI,eAAe,WAAY;AAAA,IACtC,MAAM;AAAA,IACN,SAAS,MAAM;AACd,YAAM,iBAAiB;AACvB,YAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,UAAK,QAAS;AACb,uBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,aAAa;AAAA,UAC5F,UAAU,OAAO,UAAU;AAAA,UAC3B,mBAAmB,OAAO,mBAAoB,cAAe;AAAA,UAC7D,SAAS,OAAO,SAAS;AAAA,UACzB,SAAS,OAAO,SAAS;AAAA,QAC1B,CAAE;AAAA,MACH;AAEA,MAAAF,WAAW,2BAA4B;AAAA,IACxC;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;ACjCA;AAAA,EACC,0BAA0B;AAAA,EAC1B,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,OACM;AACP,SAAS,MAAAI,YAAU;AAYJ,SAAR,iBAAkC;AACxC,QAAM,aAAaA,KAAI,YAAY,WAAY;AAC/C,QAAM,WAAWA,KAAI,WAAW,WAAY;AAE5C,WAAU,eAAgB,gBAAiB,GAAG,MAAM;AACnD,kBAAe,UAAW;AAC1B,gBAAa,QAAS;AAAA,EACvB,CAAE;AAEF,WAAU,aAAa,GAAG,MAAM;AAC/B,QAAK,cAAe,gBAAiB,GAAI;AACxC,oBAAe,UAAW;AAC1B,kBAAa,QAAS;AAAA,IACvB;AAAA,EACD,CAAE;AACH;AAEA,SAAS,cAAe,OAAgB;AACvC,EAAE,OAAsC,WAAW,eAAe,GAAG,gBAAgB,GAAG,WAAY,KAAM;AAC3G;AAEA,SAAS,YAAa,OAAgB;AACrC,QAAM,MAAM,SAAS,cAAe,iDAAkD;AAEtF,MAAK,KAAM;AACV,QAAI,cAAc;AAAA,EACnB;AACD;;;ACzCO,SAASC,QAAO;AACtB,iBAAe;AAEf,YAAU,qBAAsB;AAAA,IAC/B,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACZA,SAAS,uBAAuBC,mBAAkB;AAClD,SAAS,kBAAkB;AAC3B,SAAS,MAAAC,YAAU;AAIJ,SAARC,kBAAkC;AACxC,SAAO;AAAA,IACN,OAAOD,KAAI,UAAU,WAAY;AAAA,IACjC,MAAM;AAAA,IACN,SAAS,MAAM;AACd,YAAM,iBAAiB;AACvB,YAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,UAAK,QAAS;AACb,uBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,QAAQ;AAAA,UACvF,UAAU,OAAO,UAAU;AAAA,UAC3B,mBAAmB,OAAO,mBAAmB;AAAA,UAC7C,SAAS,OAAO,SAAS;AAAA,UACzB,SAAS,OAAO,SAAS;AAAA,QAC1B,CAAE;AAAA,MACH;AAEA,MAAAD,YAAY,eAAgB;AAAA,IAC7B;AAAA,EACD;AACD;;;ACvBO,SAASG,QAAO;AACtB,gBAAc,eAAgB;AAAA,IAC7B,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACTA,SAAS,gBAAgB;AACzB,SAAS,MAAAC,YAAU;AAKZ,SAASC,QAAO;AACtB,gBAAc,aAAc;AAAA,IAC3B,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAU,MAAM;AACf,aAAO;AAAA,QACN,OAAOC,KAAI,QAAQ,WAAY;AAAA,QAC/B,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,sBAAsB;AAAA,QACtB,SAAS,MAAM;AACd,gBAAM,iBAAiB;AACvB,gBAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,cAAK,QAAS;AACb,2BAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,MAAM;AAAA,cACrF,UAAU,OAAO,UAAU;AAAA,cAC3B,mBAAmB,OAAO,mBAAmB;AAAA,cAC7C,SAAS,OAAO,SAAS;AAAA,cACzB,SAAS,OAAO,SAAS;AAAA,YAC1B,CAAE;AAAA,UACH;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD,CAAE;AACH;;;ACjCA;AAAA,EACC,sBAAsBC;AAAA,EACtB,2BAA2BC;AAAA,OACrB;AACP,SAAS,mBAAmB;AAC5B,SAAS,MAAAC,YAAU;AAIJ,SAARC,kBAAkC;AACxC,QAAM,EAAE,UAAU,UAAU,IAAIF,gBAAgB,eAAgB;AAEhE,SAAO;AAAA,IACN,OAAOC,KAAI,WAAW,WAAY;AAAA,IAClC,MAAM;AAAA,IACN,SAAS,MAAM;AACd,YAAM,iBAAiB;AACvB,YAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,UAAK,QAAS;AACb,uBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,SAAS;AAAA,UACxF,UAAU,OAAO,UAAU;AAAA,UAC3B,mBAAmB,OAAO,mBAAmB;AAAA,UAC7C,SAAS,OAAO,SAAS;AAAA,UACzB,SAAS,OAAO,SAAS;AAAA,QAC1B,CAAE;AAAA,MACH;AAEA,MAAAF,WAAW,uBAAwB;AAAA,IACpC;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;AC9BO,SAASI,QAAO;AACtB,WAAS,qBAAsB;AAAA,IAC9B,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACTA,SAAS,uBAAuBC,mBAAkB;AAClD,SAAS,oBAAoB;AAC7B,SAAS,MAAAC,YAAU;AAIJ,SAARC,kBAA+C;AACrD,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOD,KAAI,sBAAsB,WAAY;AAAA,IAC7C,SAAS,MAAM;AACd,YAAM,iBAAiB;AACvB,YAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,UAAK,QAAS;AACb,uBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,mBAAmB;AAAA,UAClG,UAAU,OAAO,UAAU;AAAA,UAC3B,mBAAmB,OAAO,mBAAmB;AAAA,UAC7C,SAAS,OAAO,SAAS;AAAA,UACzB,SAAS,OAAO,SAAS;AAAA,QAC1B,CAAE;AAAA,MACH;AAEA,MAAAD,YAAY,gBAAiB;AAAA,IAC9B;AAAA,EACD;AACD;;;ACvBO,SAASG,QAAO;AACtB,WAAS,eAAgB;AAAA,IACxB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACVA,YAAYC,aAAW;AACvB;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,KAAK,MAAM,WAAWC,oBAAsC;AACrE,SAAS,MAAAC,YAAU;AAIJ,SAAR,sBAAuC;AAC7C,QAAM,cAAc,eAAe;AACnC,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,qBAAqB,sBAAsB;AAEjD,MAAK,CAAE,YAAY,UAAU,CAAE,kBAAmB;AACjD,WAAO;AAAA,EACR;AAEA,QAAM,WAAW,CAAE,GAAY,UAAyB;AACvD,UAAM,iBAAiB;AACvB,UAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,QAAK,QAAS;AACb,qBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,oBAAoB;AAAA,QACnG,UAAU,OAAO,UAAU;AAAA,QAC3B,mBAAmB,OAAO,mBAAmB;AAAA,QAC7C,SAAS,OAAO,SAAS;AAAA,QACzB,SAAS,OAAO,SAAS;AAAA,QACzB,MAAM;AAAA,MACP,CAAE;AAAA,IACH;AAEA,uBAAoB,KAAM;AAAA,EAC3B;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,gBAAe;AAAA,MACf,OAAQ;AAAA,MACR;AAAA,MACA,cAAaA,KAAI,iBAAiB,WAAY;AAAA,MAC9C,IAAK;AAAA,QACJ,wBAAwB;AAAA,UACvB,iBAAiB;AAAA,QAClB;AAAA,MACD;AAAA;AAAA,IAEE,YAAY,IAAK,CAAE,EAAE,IAAI,OAAO,MAAM,MAAM,MAAO;AACpD,YAAM,OAAO,SAAU,EAAG;AAE1B,YAAM,QAAQ,UAAW,QAAQ,SAAU,EACzC,QAAS,MAAM,KAAM,EACrB,QAAS,MAAM,OAAO,SAAS,KAAK,EAAG;AAEzC,aACC;AAAA,QAAC;AAAA;AAAA,UACA,OAAQ;AAAA,UACR,KAAM;AAAA,UACN,cAAa;AAAA,UACb,MACC,sCAACC,UAAA,EAAQ,SACR,sCAAC,UAAK,CACP;AAAA,UAED,IAAK,EAAE,UAAU,OAAO;AAAA,UACxB,eAAc,oBAAqB,EAAG;AAAA;AAAA,MACvC;AAAA,IAEF,CAAE;AAAA,EACH;AAEF;AAEA,SAASA,SAAS,OAAsB;AACvC,SACC;AAAA,IAACF;AAAA,IAAA;AAAA,MACA,aAAc;AAAA,QACb,IAAI;AAAA,UACH,6EAA6E;AAAA,YAC5E,IAAI;AAAA,UACL;AAAA,QACD;AAAA,MACD;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AAEF;AAEA,IAAM,WAAW;AAAA,EAChB,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,QAAQ;AACT;AAEA,IAAM,YAAY;AAAA,EACjB,SAAS;AAAA;AAAA,EAET,aAAaC,KAAI,oBAAoB,WAAY;AAAA;AAAA,EAGjD,aAAaA,KAAI,mBAAmB,WAAY;AACjD;;;ACnHO,SAASE,SAAO;AACtB,uBAAsB;AAAA,IACrB,IAAI;AAAA,IACJ,WAAW;AAAA,IACX,SAAS;AAAA,MACR,UAAU;AAAA;AAAA,IACX;AAAA,EACD,CAAE;AACH;;;ACXA,SAAS,qBAAqB;;;ACA9B,YAAYC,aAAW;;;ACAvB,YAAYC,aAAW;AACvB;AAAA,EACC,0BAA0BC;AAAA,EAC1B,wBAAwB;AAAA,EACxB;AAAA,EACA,kBAAAC;AAAA,OACM;AACP,SAAS,UAAU,kBAAoC;AAExC,SAAR,OAAyB,OAA0C;AACzE,QAAM,eAAe;AAAA,IACpB,CAAEA,gBAAgB,cAAe,GAAG,gBAAiB,cAAe,CAAE;AAAA,IACtE;AAAA,EACD;AAEA,MAAK,CAAE,aAAa,SAAU;AAC7B,WAAO;AAAA,EACR;AAEA,SAAO,sCAAC,cAAW,WAAY,aAAa,SAAY,GAAG,OAAQ;AACpE;AAEA,SAAS,kBAAkB;AAC1B,SAAOD,eAAe,cAAe,IAClC,EAAE,SAAS,SAAS,cAAe,wBAAyB,EAAE,IAC9D,EAAE,SAAS,KAAK;AACpB;;;AC1BA,YAAYE,aAAW;AACvB;AAAA,EACC,uBAAuBC;AAAA,EACvB,8BAA8BC;AAAA,OACxB;AACP,SAAS,UAAAC,SAAQ,oBAAAC,mBAAkB,aAAa;AAChD,SAAS,MAAAC,YAAU;AAEJ,SAARC,iBAAiC;AACvC,QAAMC,YAAWN,mBAAkB;AACnC,QAAM,EAAE,KAAK,IAAIC,0BAAyB;AAE1C,SACC;AAAA,IAAC;AAAA;AAAA,MACA,IAAK;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,aAAa;AAAA,MACd;AAAA;AAAA,IAEA;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,SAAQ;AAAA,QACR,UAAW,CAAEI,aAAY,CAAEA,UAAS;AAAA,QACpC,MAAK;AAAA,QACL,IAAK,EAAE,OAAO,OAAO;AAAA,QACrB,SAAU,MAAQA,aAAY,CAAEA,UAAS,WAAW,KAAK,IAAI;AAAA;AAAA,MAE3DA,WAAU,WAAW,sCAACH,mBAAA,IAAiB,IAAKC,KAAI,gBAAgB,WAAY;AAAA,IAC/E;AAAA,EACD;AAEF;;;AF3Be,SAAR,yBAA0C;AAChD,SACC,sCAAC,cACA,sCAACG,gBAAA,IAAc,CAChB;AAEF;;;AGXA;AAAA,EACC,uBAAuBC;AAAA,EACvB,2BAA2BC;AAAA,OACrB;AACP,SAAS,iCAAiC;AAC1C,SAAS,MAAAC,YAAU;AAIJ,SAARC,kBAAqD;AAC3D,QAAM,EAAE,UAAU,UAAU,IAAIF,gBAAgB,gBAAgB;AAAA,IAC/D,kBAAkB;AAAA,EACnB,CAAE;AAEF,SAAO;AAAA,IACN,OAAOC,KAAI,iBAAiB,WAAY;AAAA,IACxC,MAAM;AAAA,IACN,SAAS,MAAM;AACd,YAAM,iBAAiB;AACvB,YAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,UAAK,QAAS;AACb,uBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,cAAc;AAAA,UAC7F,UAAU,OAAO,UAAU;AAAA,UAC3B,mBAAmB,OAAO,mBAAmB;AAAA,UAC7C,SAAS,OAAO,SAAS;AAAA,UACzB,SAAS,OAAO,SAAS;AAAA,QAC1B,CAAE;AAAA,MACH;AAEA,UAAK,UAAW;AACf,QAAAF,YAAY,oBAAqB;AAAA,MAClC,OAAO;AACN,QAAAA,YAAY,mBAAoB;AAAA,MACjC;AAAA,IACD;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;AJjCO,SAASI,SAAO;AAEtB,gBAAe;AAAA,IACd,IAAI;AAAA,IACJ,WAAW;AAAA,EACZ,CAAE;AAEF,YAAU,qBAAsB;AAAA,IAC/B,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;AKlBA;AAAA,EACC,uBAAuBC;AAAA,EACvB,2BAA2BC;AAAA,OACrB;AACP,SAAS,qBAAqB;AAC9B,SAAS,MAAAC,YAAU;AAIJ,SAARC,kBAAqD;AAC3D,QAAM,EAAE,UAAU,UAAU,IAAIF,gBAAgB,WAAY;AAE5D,SAAO;AAAA,IACN,OAAOC,KAAI,aAAa,WAAY;AAAA,IACpC,MAAM;AAAA,IACN,SAAS,MAAM;AACd,YAAM,iBAAiB;AACvB,YAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,UAAK,QAAS;AACb,uBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,WAAW;AAAA,UAC1F,UAAU,OAAO,UAAU;AAAA,UAC3B,mBAAmB,OAAO,mBAAmB;AAAA,UAC7C,SAAS,OAAO,SAAS;AAAA,UACzB,SAAS,OAAO,SAAS;AAAA,QAC1B,CAAE;AAAA,MACH;AAEA,MAAAF,YAAY,kBAAmB;AAAA,IAChC;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;AC9BO,SAASI,SAAO;AACtB,YAAU,qBAAsB;AAAA,IAC/B,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACTA,SAAS,uBAAuBC,mBAAkB;AAClD,SAAS,wBAAwB;AACjC,SAAS,MAAAC,YAAU;AAIJ,SAARC,kBAA+C;AACrD,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOD,KAAI,iBAAiB,WAAY;AAAA,IACxC,SAAS,MAAM;AACd,YAAM,iBAAiB;AACvB,YAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,UAAK,QAAS;AACb,uBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,cAAc;AAAA,UAC7F,UAAU,OAAO,UAAU;AAAA,UAC3B,mBAAmB,OAAO,mBAAmB;AAAA,UAC7C,SAAS,OAAO,SAAS;AAAA,UACzB,SAAS,OAAO,SAAS;AAAA,QAC1B,CAAE;AAAA,MACH;AAEA,MAAAD,YAAY,UAAW;AAAA,IACxB;AAAA,EACD;AACD;;;ACvBO,SAASG,SAAO;AACtB,WAAS,eAAgB;AAAA,IACxB,IAAI;AAAA,IACJ,UAAUC;AAAA,EACX,CAAE;AACH;;;ACRA;AAAA,EACC,sBAAsBC;AAAA,EACtB,2BAA2BC;AAAA,OACrB;AACP,SAAS,uBAAuB;AAChC,SAAS,MAAAC,YAAU;AAIJ,SAARC,kBAAqD;AAC3D,QAAM,EAAE,UAAU,UAAU,IAAIF,gBAAgB,0BAA2B;AAE3E,SAAO;AAAA,IACN,MAAM;AAAA,IACN,OAAOC,KAAI,oBAAoB,WAAY;AAAA,IAC3C,SAAS,MAAM;AACd,YAAM,iBAAiB;AACvB,YAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,UAAK,QAAS;AACb,uBAAe,gBAAgB,cAAc,cAAe,OAAO,MAAM,OAAO,iBAAiB;AAAA,UAChG,UAAU,OAAO,UAAU;AAAA,UAC3B,mBAAmB,OAAO,mBAAmB;AAAA,UAC7C,SAAS,OAAO,SAAS;AAAA,UACzB,SAAS,OAAO,SAAS;AAAA,QAC1B,CAAE;AAAA,MACH;AAEA,MAAAF,WAAW,0BAA2B;AAAA,IACvC;AAAA,IACA,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AACD;;;AC9BO,SAASI,SAAO;AACtB,WAAS,qBAAsB;AAAA,IAC9B,IAAI;AAAA,IACJ,UAAU;AAAA;AAAA,IACV,UAAUC;AAAA,EACX,CAAE;AACH;;;ACTA,SAAS,uBAAuBC,0BAAyB;AACzD,SAAS,qBAAqB;AAC9B,SAAS,MAAAC,YAAU;AAKZ,SAASC,SAAO;AACtB,WAAS,aAAc;AAAA,IACtB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,UAAU,MAAM;AACf,YAAMC,YAAWC,mBAAkB;AACnC,aAAO;AAAA,QACN,OAAOC,KAAI,qBAAqB,WAAY;AAAA,QAC5C,MAAMF,WAAU,OAAO;AAAA,QACvB,MAAM;AAAA,QACN,SAAS,MAAM;AACd,gBAAM,iBAAiB;AACvB,gBAAM,SAAS,gBAAgB,iBAAiB,eAAe;AAE/D,cAAK,QAAS;AACb,2BAAe,gBAAgB,cAAc;AAAA,cAC5C,OAAO,MAAM,OAAO;AAAA,cACpB;AAAA,gBACC,UAAU,OAAO,UAAU;AAAA,gBAC3B,mBAAmB,OAAO,mBAAmB;AAAA,gBAC7C,SAAS,OAAO,SAAS;AAAA,gBACzB,SAAS,OAAO,SAAS;AAAA,cAC1B;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD,CAAE;AACH;;;AChBO,SAASG,SAAO;AACtB,EAAAA,MAAuB;AACvB,EAAAA,MAAqB;AACrB,EAAAA,MAAkB;AAClB,EAAAA,MAAa;AACb,EAAAA,MAAW;AACX,EAAAA,MAAS;AACT,EAAAA,MAAY;AACZ,EAAAA,MAAsB;AACtB,EAAAA,OAAe;AACf,EAAAA,OAAiB;AACjB,EAAAA,OAAc;AACd,EAAAA,OAAiB;AACjB,EAAAA,OAAoB;AACpB,EAAAA,OAAc;AACd,OAAY;AACb;;;ACrCA;AAAA,EACC,qBAAqBC;AAAA,EACrB,sBAAsBC;AAAA,EACtB,kBAAAC;AAAA,OACM;AAEQ,SAAR,mBAAoC;AAG1C,EAAAF,UAAUE,gBAAgB,YAAa,GAAG,MAAM;AAC/C,IAAAD,WAAW,2BAA4B;AAAA,EACxC,CAAE;AACH;;;AnDNO,SAASE,SAAO;AACtB,mBAAiB;AAEjB,EAAAA,OAAe;AAEf,EAAAC,eAAe;AAAA,IACd,IAAI;AAAA,IACJ,WAAW;AAAA,EACZ,CAAE;AACH;","names":["React","React","React","React","React","React","Box","Tooltip","createMenu","createMenu","injectIntoTop","React","Box","Divider","React","React","React","ToggleButton","MenuItem","React","React","React","React","React","Stack","Stack","React","bindMenu","bindTrigger","usePopupState","__","usePopupState","bindTrigger","__","bindMenu","React","bindMenu","bindTrigger","usePopupState","__","useMenuItems","usePopupState","bindTrigger","__","bindMenu","useMenuItems","MenuItem","React","Fragment","Divider","MAX_TOOLBAR_ACTIONS","useMenuItems","MenuItem","Fragment","Divider","document","Box","Divider","__","React","useActiveDocument","Box","ToggleButton","BaseTooltip","__","document","Tooltip","init","useActiveDocument","__","document","init","React","useActiveDocument","bindMenu","bindTrigger","Box","Tooltip","usePopupState","__","React","Divider","styled","useMenuItems","styled","MenuItem","Divider","document","useActiveDocument","usePopupState","Tooltip","__","Box","bindTrigger","bindMenu","useActiveDocument","useActiveDocumentActions","__","document","useActiveDocument","useActiveDocumentActions","__","document","useActiveDocumentActions","__","useActiveDocument","runCommand","EyeIcon","__","document","init","openRoute","useRouteStatus","__","useActionProps","__","init","useActionProps","runCommand","__","useActionProps","init","useActionProps","__","init","__","openRoute","useRouteStatus","__","useActionProps","init","useActionProps","runCommand","__","useActionProps","init","useActionProps","React","BaseTooltip","__","Tooltip","init","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","useActiveDocument","__","init","listenTo","openRoute","routeOpenEvent","init","injectIntoTop"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elementor/editor-app-bar",
3
3
  "description": "App Bar extension for @elementor/editor",
4
- "version": "3.32.0-71",
4
+ "version": "3.32.0-73",
5
5
  "private": false,
6
6
  "author": "Elementor Team",
7
7
  "homepage": "https://elementor.com/",
@@ -40,13 +40,13 @@
40
40
  "dev": "tsup --config=../../tsup.dev.ts"
41
41
  },
42
42
  "dependencies": {
43
- "@elementor/editor": "3.32.0-71",
44
- "@elementor/editor-documents": "3.32.0-71",
45
- "@elementor/editor-responsive": "3.32.0-71",
46
- "@elementor/editor-v1-adapters": "3.32.0-71",
43
+ "@elementor/editor": "3.32.0-73",
44
+ "@elementor/editor-documents": "3.32.0-73",
45
+ "@elementor/editor-responsive": "3.32.0-73",
46
+ "@elementor/editor-v1-adapters": "3.32.0-73",
47
47
  "@elementor/icons": "1.46.0",
48
- "@elementor/locations": "3.32.0-71",
49
- "@elementor/menus": "3.32.0-71",
48
+ "@elementor/locations": "3.32.0-73",
49
+ "@elementor/menus": "3.32.0-73",
50
50
  "@elementor/ui": "1.36.8",
51
51
  "@wordpress/i18n": "^5.13.0"
52
52
  },
@@ -25,7 +25,7 @@ export default function MainMenuLocation() {
25
25
  if ( config ) {
26
26
  extendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar.elementorLogoDropdown, {
27
27
  location: config.locations.topBar,
28
- secondaryLocation: config.secondaryLocations.elementorLogo,
28
+ secondaryLocation: config.secondaryLocations.eLogoMenu,
29
29
  trigger: config.triggers.dropdownClick,
30
30
  element: config.elements.buttonIcon,
31
31
  } );
@@ -4,6 +4,25 @@ import { __ } from '@wordpress/i18n';
4
4
 
5
5
  import { type ExtendedWindow } from '../../../types';
6
6
 
7
+ const dispatchConnectClickEvent = ( eventName: string ) => {
8
+ try {
9
+ const extendedWindow = window as unknown as ExtendedWindow;
10
+ const config = extendedWindow?.elementorCommon?.eventsManager?.config;
11
+
12
+ if ( config ) {
13
+ extendedWindow.elementorCommon.eventsManager.dispatchEvent( config.names.topBar[ eventName ], {
14
+ location: config.locations.topBar,
15
+ secondaryLocation: config.secondaryLocations.eLogoMenu,
16
+ trigger: config.triggers.dropdownClick,
17
+ element: config.elements.buttonIcon,
18
+ } );
19
+ }
20
+ } catch ( error ) {
21
+ // eslint-disable-next-line no-console
22
+ console.warn( error );
23
+ }
24
+ };
25
+
7
26
  export default function useConnectLinkConfig() {
8
27
  const extendedWindow = window as unknown as ExtendedWindow;
9
28
  let isUserConnected = false;
@@ -31,9 +50,15 @@ export default function useConnectLinkConfig() {
31
50
  ?.css( 'display', 'none' )
32
51
  ?.appendTo( 'body' );
33
52
 
34
- $tempButton.elementorConnect();
53
+ $tempButton.elementorConnect( {
54
+ success: () => {
55
+ dispatchConnectClickEvent( 'accountConnected' );
56
+ extendedWindow.location.reload();
57
+ },
58
+ } );
35
59
 
36
60
  $tempButton[ 0 ].click();
61
+ dispatchConnectClickEvent( 'connectAccount' );
37
62
 
38
63
  setTimeout( () => {
39
64
  $tempButton.remove();