PluginProbe
Elementor Website Builder – more than just a page builder / trunk
Elementor Website Builder – more than just a page builder vtrunk
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 All 457 releases
← All changes | assets/js/packages/editor-app-bar/editor-app-bar.js +1772 -3 4.1.0-dev3 → trunk View file →
@@ -1,6 +1,934 @@
1 -/*! For license information please see editor-app-bar.js.LICENSE.txt */
2 -!function(){"use strict";var e={"./packages/packages/core/editor-app-bar/src/components/actions/action.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Action}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/contexts/menu-context.tsx"),a=n("./packages/packages/core/editor-app-bar/src/components/ui/popover-menu-item.tsx"),s=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-item.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function Action({icon:e,title:t,visible:n=!0,...i}){const{type:c}=(0,r.useMenuContext)();return n?"toolbar"===c?o.createElement(s.default,_extends({title:t},i),o.createElement(e,null)):o.createElement(a.default,_extends({},i,{text:t,icon:o.createElement(e,null)})):null}},"./packages/packages/core/editor-app-bar/src/components/actions/link.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Link}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/contexts/menu-context.tsx"),a=n("./packages/packages/core/editor-app-bar/src/components/ui/popover-menu-item.tsx"),s=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-item.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function Link({icon:e,title:t,visible:n=!0,showExternalLinkIcon:i=!1,...c}){const{type:p}=(0,r.useMenuContext)();return n?"toolbar"===p?o.createElement(s.default,_extends({title:t},c),o.createElement(e,null)):o.createElement(a.default,_extends({},c,{text:t,icon:o.createElement(e,null),showExternalLinkIcon:i})):null}},"./packages/packages/core/editor-app-bar/src/components/actions/toggle-action.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ToggleAction}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/contexts/menu-context.tsx"),a=n("./packages/packages/core/editor-app-bar/src/components/ui/popover-menu-item.tsx"),s=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-toggle-item.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function ToggleAction({icon:e,title:t,value:n,visible:i=!0,...c}){const{type:p}=(0,r.useMenuContext)();return i?"toolbar"===p?o.createElement(s.default,_extends({value:n||t,title:t},c),o.createElement(e,null)):o.createElement(a.default,_extends({},c,{text:t,icon:o.createElement(e,null)})):null}},"./packages/packages/core/editor-app-bar/src/components/app-bar.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return AppBar}});var o=n("react"),r=n("@elementor/editor-documents"),a=n("@elementor/ui"),s=n("./packages/packages/core/editor-app-bar/src/components/locations/main-menu-location.tsx"),i=n("./packages/packages/core/editor-app-bar/src/components/locations/page-indication-location.tsx"),c=n("./packages/packages/core/editor-app-bar/src/components/locations/primary-action-location.tsx"),p=n("./packages/packages/core/editor-app-bar/src/components/locations/responsive-location.tsx"),l=n("./packages/packages/core/editor-app-bar/src/components/locations/tools-menu-location.tsx"),u=n("./packages/packages/core/editor-app-bar/src/components/locations/utilities-menu-location.tsx"),d=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu.tsx");function AppBar(){const e=(0,r.__useActiveDocument)();return o.createElement(a.ThemeProvider,{colorScheme:"dark"},o.createElement(a.AppBar,{position:"sticky"},o.createElement(a.Toolbar,{disableGutters:!0,variant:"dense"},o.createElement(a.Box,{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",flexGrow:1},o.createElement(a.Grid,{container:!0,flexWrap:"nowrap"},o.createElement(s.default,null),e?.permissions?.allowAddingWidgets&&o.createElement(l.default,null)),o.createElement(a.Grid,{container:!0,justifyContent:"center"},o.createElement(d.default,{spacing:1.5},o.createElement(a.Divider,{orientation:"vertical"}),o.createElement(i.default,null),o.createElement(a.Divider,{orientation:"vertical"}),o.createElement(p.default,null),o.createElement(a.Divider,{orientation:"vertical"}))),o.createElement(a.Grid,{container:!0,justifyContent:"flex-end",flexWrap:"nowrap"},o.createElement(u.default,null),o.createElement(c.default,null))))))}},"./packages/packages/core/editor-app-bar/src/components/locations/integrations-menu-location.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return IntegrationsMenuLocation}});var o=n("react"),r=n("@elementor/icons"),a=n("@elementor/ui"),s=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-app-bar/src/locations.ts"),c=n("./packages/packages/core/editor-app-bar/src/components/ui/popover-menu.tsx"),p=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-item.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}const{useMenuItems:l}=i.integrationsMenu;function IntegrationsMenuLocation(){const e=l(),t=(0,a.usePopupState)({variant:"popover",popupId:"elementor-v2-app-bar-integrations"});return 0===e.default.length?null:o.createElement(o.Fragment,null,o.createElement(p.default,_extends({},(0,a.bindTrigger)(t),{title:(0,s.__)("Integrations","elementor")}),o.createElement(r.PlugIcon,null)),o.createElement(c.default,_extends({onClick:t.close},(0,a.bindMenu)(t),{marginThreshold:8,open:t.isOpen}),e.default.map(({MenuItem:e,id:t})=>o.createElement(e,{key:t}))))}},"./packages/packages/core/editor-app-bar/src/components/locations/main-menu-location.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return MainMenuLocation}});var o=n("react"),r=n("@elementor/ui"),a=n("./packages/packages/core/editor-app-bar/src/locations.ts"),s=n("./packages/packages/core/editor-app-bar/src/components/ui/popover-menu.tsx"),i=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-logo.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}const{useMenuItems:c}=a.mainMenu;function MainMenuLocation(){const e=c(),t=(0,r.usePopupState)({variant:"popover",popupId:"elementor-v2-app-bar-main-menu"}),n=(0,r.bindTrigger)(t);return o.createElement(r.Stack,{sx:{paddingInlineStart:3},direction:"row",alignItems:"center"},o.createElement(i.default,_extends({},n,{onClick:e=>{const t=window,o=t?.elementorCommon?.eventsManager?.config;o&&t.elementorCommon.eventsManager.dispatchEvent(o.names.topBar.elementorLogoDropdown,{location:o.locations.topBar,secondaryLocation:o.secondaryLocations.eLogoMenu,trigger:o.triggers.dropdownClick,element:o.elements.buttonIcon}),n.onClick(e)},selected:t.isOpen})),o.createElement(s.default,_extends({onClick:t.close},(0,r.bindMenu)(t),{marginThreshold:8}),e.default.map(({MenuItem:e,id:t})=>o.createElement(e,{key:t})),o.createElement(r.Divider,null),e.help.map(({MenuItem:e,id:t})=>o.createElement(e,{key:t})),e.exits.map(({MenuItem:e,id:t})=>o.createElement(e,{key:t}))))}},"./packages/packages/core/editor-app-bar/src/components/locations/page-indication-location.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PageIndicationLocation}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/locations.ts");function PageIndicationLocation(){return o.createElement(r.PageIndicationSlot,null)}},"./packages/packages/core/editor-app-bar/src/components/locations/primary-action-location.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PrimaryActionLocation}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/locations.ts");function PrimaryActionLocation(){return o.createElement(r.PrimaryActionSlot,null)}},"./packages/packages/core/editor-app-bar/src/components/locations/responsive-location.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ResponsiveLocation}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/locations.ts");function ResponsiveLocation(){return o.createElement(r.ResponsiveSlot,null)}},"./packages/packages/core/editor-app-bar/src/components/locations/send-feedback-popup-location.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return SendFeedbackPopupLocation}});var o=n("react"),r=n("@elementor/editor-ui"),a=n("@elementor/editor-v1-adapters"),s=n("@elementor/events"),i=n("@elementor/http-client"),c=n("@elementor/icons"),p=n("@elementor/ui"),l=n("@wordpress/i18n"),u=n("./packages/packages/core/editor-app-bar/src/extensions/feedback/feedback-consts.ts");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}const checkIfUserIsConnected=()=>{const e=window;return e?.elementorCommon?.config.library_connect.is_connected||e?.elementorPro?.config.isActive};function SendFeedbackPopupLocation(){const e=(0,a.isExperimentActive)(u.EXPERIMENT_NAME),t=window,[n,d]=(0,o.useState)(checkIfUserIsConnected()),m=t?.elementor?.config.user.top_bar.connect_url,[g,f]=(0,o.useState)(""),[k,v]=(0,o.useState)(null),[_,b]=(0,o.useState)(!0),{dispatchEvent:x=(...e)=>{}}=(0,s.useMixpanel)(),E=(0,p.usePopupState)({variant:"dialog",popupId:u.FEEDBACK_TOGGLE_EVENT}),[w,h]=(0,o.useState)(!1);(0,o.useEffect)(()=>{const handler=()=>{E.toggle(),d(checkIfUserIsConnected()),v(null),x("feedback_modal_opened",{source:"top_bar",context:"v4_beta"})};return window.addEventListener(u.FEEDBACK_TOGGLE_EVENT,handler),()=>{window.removeEventListener(u.FEEDBACK_TOGGLE_EVENT,handler)}},[E,x]),(0,o.useEffect)(()=>{b(g.trim().length<10||!n||w)},[g,k,n,w]);return e?o.createElement(r.ThemeProvider,null,o.createElement(p.Popover,_extends({},(0,p.bindDialog)(E),{onClose:()=>(E.close(),void x("feedback_modal_closed",{feedback_text:g}))}),o.createElement(p.Dialog,{open:E.isOpen},o.createElement(p.DialogHeader,{style:{width:"100%",minWidth:"35rem"}},o.createElement(p.DialogTitle,{style:{width:"100%"}},o.createElement(p.Stack,{display:"flex",direction:"row",alignItems:"center",justifyContent:"space-between",width:"100%"},(0,l.__)("Submit Feedback","elementor"),o.createElement(p.CloseButton,{onClick:E.close})))),o.createElement(p.DialogContent,null,o.createElement(p.Stack,{direction:"column",gap:2},n?o.createElement(o.Fragment,null,o.createElement(p.TextField,{autofocus:!0,placeholder:(0,l.__)("E.g. Can you add ABC features? I want to do ABC and it’s important because …","elementor"),fullwith:!0,label:(0,l.__)("Your Feedback","elementor"),multiline:!0,id:"elementor-feedback-usercontent",rows:6,cols:80,disabled:w||k?.success,onChange:e=>f(e.target.value),value:g}),o.createElement(p.Stack,{direction:"row",justifyContent:"flex-end",alignItems:"center",gap:2},k&&o.createElement(o.Fragment,null,k.success?o.createElement(c.CheckIcon,{color:"success"}):o.createElement(c.AlertCircleIcon,{color:"error"}),k.message),k?.success?o.createElement(p.Button,{variant:"text",onClick:()=>(f(""),void v(null))},(0,l.__)("Submit Another Feedback","elementor")):o.createElement(p.Button,{disabled:_,onClick:()=>{h(!0),(0,i.httpService)().post("elementor/v1/feedback/submit",{description:g.trim()}).then(e=>{v({message:e.data.message,success:e.data.success}),(!e.data.success&&"401"===e.data.code.toString()||"403"===e.data.code.toString())&&d(!1),x(e.data.success?"feedback_submitted":"feedback_error",{feedback_length:g.length,error_type:e.data.success?void 0:"server",error_message:e.data.success?void 0:e.data.message})}).finally(()=>h(!1))},variant:"contained",color:"primary",size:"small"},(0,l.__)("Submit","elementor")))):o.createElement(o.Fragment,null,o.createElement(p.Button,{variant:"contained",color:"primary",size:"large",href:m,target:"_blank",rel:"noopener",onClick:E.close},(0,l.__)("Connect to Elementor","elementor")))))))):null}},"./packages/packages/core/editor-app-bar/src/components/locations/tools-menu-location.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ToolsMenuLocation}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/extensions/angie/components/angie-guide-location.tsx"),a=n("./packages/packages/core/editor-app-bar/src/locations.ts"),s=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu.tsx"),i=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-more.tsx"),c=n("./packages/packages/core/editor-app-bar/src/components/locations/integrations-menu-location.tsx"),p=n("./packages/packages/core/editor-app-bar/src/components/locations/send-feedback-popup-location.tsx");const l=5,{useMenuItems:u}=a.toolsMenu;function ToolsMenuLocation(){const e=u(),t=e.default.slice(0,l),n=e.default.slice(l);return o.createElement(s.default,null,t.map(({MenuItem:e,id:t})=>o.createElement(e,{key:t})),o.createElement(r.AngieGuideLocation,null),o.createElement(p.default,null),o.createElement(c.default,null),n.length>0&&o.createElement(i.default,{id:"elementor-editor-app-bar-tools-more"},n.map(({MenuItem:e,id:t})=>o.createElement(e,{key:t}))))}},"./packages/packages/core/editor-app-bar/src/components/locations/utilities-menu-location.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return UtilitiesMenuLocation}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/locations.ts"),a=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu.tsx"),s=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-more.tsx");const i=4,{useMenuItems:c}=r.utilitiesMenu;function UtilitiesMenuLocation(){const e=c(),t=e.default.length>i+1,n=t?e.default.slice(0,i):e.default,r=t?e.default.slice(i):[];return o.createElement(a.default,null,n.map(({MenuItem:e,id:t})=>o.createElement(o.Fragment,{key:t},o.createElement(e,null))),r.length>0&&o.createElement(s.default,{id:"elementor-editor-app-bar-utilities-more"},r.map(({MenuItem:e,id:t})=>o.createElement(e,{key:t}))))}},"./packages/packages/core/editor-app-bar/src/components/ui/popover-menu-item.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PopoverMenuItem}});var o=n("react"),r=n("@elementor/icons"),a=n("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}const s=(0,a.withDirection)(r.ArrowUpRightIcon),i=(0,a.withDirection)(r.ChevronRightIcon);function PopoverMenuItem({text:e,icon:t,onClick:n,href:r,target:c,disabled:p,isGroupParent:l,showExternalLinkIcon:u,...d}){const m=r&&"_blank"===c&&u;return o.createElement(a.MenuItem,_extends({},d,{disabled:p,onClick:n,component:r?"a":"div",href:r,target:c,sx:{"&:hover":{color:"text.primary"}}}),o.createElement(a.ListItemIcon,null,t),o.createElement(a.ListItemText,{primary:e}),m&&o.createElement(s,null),l&&o.createElement(i,null))}},"./packages/packages/core/editor-app-bar/src/components/ui/popover-menu.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PopoverMenu}});var o=n("react"),r=n("@elementor/ui"),a=n("./packages/packages/core/editor-app-bar/src/contexts/menu-context.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function PopoverMenu({children:e,popupState:t,...n}){return o.createElement(a.MenuContextProvider,{type:"popover",popupState:t},o.createElement(r.Menu,_extends({PaperProps:{sx:{mt:1.5}}},n,{MenuListProps:{component:"div",dense:!0}}),e))}},"./packages/packages/core/editor-app-bar/src/components/ui/toolbar-logo.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ToolbarLogo}});var o=n("react"),r=n("@elementor/ui"),a=n("@wordpress/i18n");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}const s=(0,r.styled)(r.ToggleButton)(({theme:e})=>({padding:0,border:0,color:e.palette.text.primary,"&.MuiToggleButton-root:hover":{backgroundColor:"initial"},"&.MuiToggleButton-root.Mui-selected":{backgroundColor:"initial"}})),i=(0,r.styled)(e=>o.createElement(r.SvgIcon,_extends({viewBox:"0 0 32 32"},e),o.createElement("g",null,o.createElement("circle",{cx:"16",cy:"16",r:"16"}),o.createElement("path",{d:"M11.7 9H9V22.3H11.7V9Z"}),o.createElement("path",{d:"M22.4 9H9V11.7H22.4V9Z"}),o.createElement("path",{d:"M22.4 14.4004H9V17.1004H22.4V14.4004Z"}),o.createElement("path",{d:"M22.4 19.6992H9V22.3992H22.4V19.6992Z"}))),{shouldForwardProp:e=>"showMenuIcon"!==e})(({theme:e,showMenuIcon:t})=>({"& path":{fill:e.palette.background.default,transition:"all 0.2s linear",transformOrigin:"bottom left","&:first-of-type":{transitionDelay:!t&&"0.2s",transform:t&&"translateY(-9px) scaleY(0)"},"&:not(:first-of-type)":{transform:!t&&`translateX(${"rtl"===e.direction?"4":"9"}px) scaleX(0.6)`},"&:nth-of-type(2)":{transitionDelay:t?"0":"0.2s"},"&:nth-of-type(3)":{transitionDelay:"0.1s"},"&:nth-of-type(4)":{transitionDelay:t?"0.2s":"0"}}}));function ToolbarLogo(e){const[t,n]=(0,o.useState)(!1),r=e.selected||t;return o.createElement(s,_extends({},e,{value:"selected",size:"large",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)}),o.createElement(i,{fontSize:"large",showMenuIcon:r,titleAccess:(0,a.__)("Elementor Logo","elementor")}))}},"./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-item.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ToolbarMenuItem}});var o=n("react"),r=n("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function ToolbarMenuItem({title:e,...t}){return o.createElement(Tooltip,{title:e},o.createElement(r.Box,{component:"span","aria-label":void 0},o.createElement(r.IconButton,_extends({},t,{"aria-label":e,size:"medium",sx:{"& svg":{fontSize:"1.25rem",height:"1em",width:"1em"},"&:hover":{color:"text.primary"}}}))))}function Tooltip(e){return o.createElement(r.Tooltip,_extends({PopperProps:{sx:{"&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom":{mt:2}}}},e))}},"./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-more.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ToolbarMenuMore}});var o=n("react"),r=n("@elementor/icons"),a=n("@elementor/ui"),s=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-app-bar/src/components/ui/popover-menu.tsx"),c=n("./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-item.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function ToolbarMenuMore({children:e,id:t}){const n=(0,a.usePopupState)({variant:"popover",popupId:t});return o.createElement(o.Fragment,null,o.createElement(c.default,_extends({},(0,a.bindTrigger)(n),{title:(0,s.__)("More","elementor")}),o.createElement(r.DotsVerticalIcon,null)),o.createElement(i.default,_extends({onClick:n.close},(0,a.bindMenu)(n)),e))}},"./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-toggle-item.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ToolbarMenuToggleItem}});var o=n("react"),r=n("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function ToolbarMenuToggleItem({title:e,onClick:t,...n}){return o.createElement(r.Tooltip,{title:e},o.createElement(r.Box,{component:"span","aria-label":void 0},o.createElement(r.ToggleButton,_extends({},n,{onChange:t,"aria-label":e,size:"small",sx:{border:0,"&.Mui-disabled":{border:0},"& svg":{fontSize:"1.25rem",height:"1em",width:"1em"}}}))))}},"./packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ToolbarMenu}});var o=n("react"),r=n("@elementor/ui"),a=n("./packages/packages/core/editor-app-bar/src/contexts/menu-context.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function ToolbarMenu({children:e,...t}){return o.createElement(a.MenuContextProvider,{type:"toolbar"},o.createElement(r.Stack,_extends({sx:{px:1.5},spacing:1.5,direction:"row",alignItems:"center"},t),e))}},"./packages/packages/core/editor-app-bar/src/contexts/menu-context.tsx":function(e,t,n){n.r(t),n.d(t,{MenuContextProvider:function(){return MenuContextProvider},useMenuContext:function(){return useMenuContext}});var o=n("react");const r=(0,o.createContext)({type:"toolbar"});function MenuContextProvider({type:e,popupState:t,children:n}){return o.createElement(r.Provider,{value:{type:e,popupState:t}},n)}function useMenuContext(){return(0,o.useContext)(r)}},"./packages/packages/core/editor-app-bar/src/extensions/angie/angie-consts.ts":function(e,t,n){n.r(t),n.d(t,{AI_WIDGET_CTA_VIEWED_EVENT:function(){return l},ANGIE_BUTTON_ARIA_LABEL:function(){return s},ANGIE_DESCRIPTION:function(){return p},ANGIE_GUIDE_TOGGLE_EVENT:function(){return r},ANGIE_LEARN_MORE_URL:function(){return c},ANGIE_PROMOTION_IMAGE_URL:function(){return i},ANGIE_TOP_BAR_DESCRIPTION:function(){return d},ANGIE_TOP_BAR_PROMOTION_IMAGE_URL:function(){return u},CREATE_WIDGET_EVENT:function(){return a}});var o=n("@wordpress/i18n");const r="elementor/editor/toggle-angie-guide",a="elementor/editor/create-widget",s=(0,o.__)("Angie","elementor"),i="https://assets.elementor.com/packages/v1/images/angie-promotion.svg",c="https://go.elementor.com/angie-learn-more",p=(0,o.__)("Angie lets you generate custom widgets, sections, and code using simple instructions.","elementor"),l="ai_widget_cta_viewed",u="https://assets.elementor.com/packages/v1/images/angie-top-bar-promotion.svg",d=(0,o.__)("Build custom widgets using simple instructions.","elementor")},"./packages/packages/core/editor-app-bar/src/extensions/angie/components/angie-guide-card.tsx":function(e,t,n){n.r(t),n.d(t,{AngieGuideCard:function(){return AngieGuideCard}});var o=n("react"),r=n("@elementor/ui"),a=n("@wordpress/i18n");function AngieGuideCard({imageUrl:e,description:t,learnMoreUrl:n,onInstall:s,onClose:i}){return o.createElement(r.ClickAwayListener,{onClickAway:i},o.createElement(r.Stack,{sx:{width:296},"data-testid":"e-angie-guide-card"},o.createElement(r.Stack,{direction:"row",alignItems:"center",gap:1,py:1,px:2},o.createElement(r.Typography,{variant:"subtitle2"},(0,a.__)("Meet Angie","elementor")),o.createElement(r.Chip,{label:(0,a.__)("New","elementor"),size:"small",color:"info",variant:"standard"}),o.createElement(r.CloseButton,{edge:"end",sx:{ml:"auto"},slotProps:{icon:{fontSize:"small"}},onClick:i})),o.createElement(r.Image,{src:e,alt:(0,a.__)("Angie","elementor"),sx:{height:150,width:"100%"}}),o.createElement(r.Stack,{px:2,pt:1.5,pb:1},o.createElement(r.Typography,{variant:"body2",color:"secondary"},t)),o.createElement(r.Stack,{direction:"row",justifyContent:"flex-end",gap:1,pt:1,pb:1.5,px:2},o.createElement(r.Button,{variant:"text",size:"small",color:"secondary",onClick:()=>{window.open(n,"_blank","noopener,noreferrer"),i()}},(0,a.__)("Learn More","elementor")),s&&o.createElement(r.Button,{variant:"contained",size:"small",color:"accent",onClick:s},(0,a.__)("Try for free","elementor")))))}},"./packages/packages/core/editor-app-bar/src/extensions/angie/components/angie-guide-location.tsx":function(e,t,n){n.r(t),n.d(t,{AngieGuideLocation:function(){return AngieGuideLocation}});var o=n("react"),r=n("@elementor/editor-current-user"),a=n("@elementor/editor-ui"),s=n("@elementor/events"),i=n("@elementor/ui"),c=n("./packages/packages/core/editor-app-bar/src/extensions/angie/angie-consts.ts"),p=n("./packages/packages/core/editor-app-bar/src/extensions/angie/components/angie-guide-card.tsx"),l=n("./packages/packages/core/editor-app-bar/src/extensions/angie/hooks/use-auto-show.ts");function AngieGuideLocation(){(0,l.useAutoShow)();const[e,t]=(0,o.useState)(null),{dispatchEvent:n}=(0,s.useMixpanel)(),{isAdmin:u}=(0,r.useCurrentUserCapabilities)(),d=Boolean(e);(0,o.useEffect)(()=>{const handleToggle=()=>{t(e=>e?null:document.querySelector(`[aria-label="${c.ANGIE_BUTTON_ARIA_LABEL}"]`))};return window.addEventListener(c.ANGIE_GUIDE_TOGGLE_EVENT,handleToggle),()=>{window.removeEventListener(c.ANGIE_GUIDE_TOGGLE_EVENT,handleToggle)}},[]);const handleClose=()=>t(null);return o.createElement(a.ThemeProvider,null,o.createElement(i.Infotip,{content:o.createElement(p.AngieGuideCard,{imageUrl:c.ANGIE_TOP_BAR_PROMOTION_IMAGE_URL,description:c.ANGIE_TOP_BAR_DESCRIPTION,learnMoreUrl:c.ANGIE_LEARN_MORE_URL,onInstall:u?async()=>{n?.(c.AI_WIDGET_CTA_VIEWED_EVENT,{entry_point:"top_bar_icon"}),window.dispatchEvent(new CustomEvent(c.CREATE_WIDGET_EVENT,{detail:{entry_point:"top_bar_icon"}})),handleClose()}:void 0,onClose:handleClose}),placement:"bottom-start",open:d,disableHoverListener:!0,PopperProps:{anchorEl:e,modifiers:[{name:"offset",options:{offset:[-4,-4]}}]}},o.createElement("span",null)))}},"./packages/packages/core/editor-app-bar/src/extensions/angie/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{useActionProps:function(){return useActionProps}});var o=n("react"),r=n("@elementor/editor-mcp"),a=n("@elementor/events"),s=n("@elementor/icons"),i=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-app-bar/src/extensions/angie/angie-consts.ts");function useActionProps(){const e=!(0,r.isAngieAvailable)();return(0,o.useEffect)(()=>{e&&(0,a.trackEvent)({eventName:c.AI_WIDGET_CTA_VIEWED_EVENT,entry_point:"top_bar_icon",has_angie_installed:!1})},[e]),{title:(0,i.__)("Angie","elementor"),icon:s.AngieIcon,onClick:()=>{window.dispatchEvent(new CustomEvent(c.ANGIE_GUIDE_TOGGLE_EVENT))},selected:!1,visible:e}}},"./packages/packages/core/editor-app-bar/src/extensions/angie/hooks/use-auto-show.ts":function(e,t,n){n.r(t),n.d(t,{useAutoShow:function(){return useAutoShow}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/extensions/angie/angie-consts.ts");function useAutoShow(){(0,o.useEffect)(()=>{if(!window.elementor?.config?.angie?.autoShow)return;const e=setTimeout(()=>{window.dispatchEvent(new CustomEvent(r.ANGIE_GUIDE_TOGGLE_EVENT))},0);return()=>clearTimeout(e)},[])}},"./packages/packages/core/editor-app-bar/src/extensions/angie/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/angie/hooks/use-action-props.ts");function init(){o.toolsMenu.registerToggleAction({id:"toggle-angie",priority:2,useProps:r.useActionProps})}},"./packages/packages/core/editor-app-bar/src/extensions/connect/hooks/use-connect-link-config.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return useConnectLinkConfig}});var o=n("react"),r=n("@elementor/icons"),a=n("@wordpress/i18n");const dispatchConnectClickEvent=e=>{try{const t=window,n=t?.elementorCommon?.eventsManager?.config;n&&t.elementorCommon.eventsManager.dispatchEvent(n.names.topBar[e],{location:n.locations.topBar,secondaryLocation:n.secondaryLocations.eLogoMenu,trigger:n.triggers.dropdownClick,element:n.elements.buttonIcon})}catch(e){console.warn(e)}};function useConnectLinkConfig(){const e=window;let t=!1;const n=e?.elementor?.helpers.hasPro();let s="_blank";n?t=e?.elementorPro?.config.isActive??!1:(t=e?.elementorCommon?.config.library_connect.is_connected??!1,s="_self");const i=(0,o.useCallback)(t=>{if(t.preventDefault(),e.jQuery&&e.jQuery.fn?.elementorConnect){const t=e?.elementor?.config.user.top_bar.connect_url,n=e.jQuery("<a>");n?.attr("href",t)?.attr("target","_blank")?.attr("rel","opener")?.css("display","none")?.appendTo("body"),n.elementorConnect({success:()=>{dispatchConnectClickEvent("accountConnected"),setTimeout(()=>{e.location.reload()},200)}}),n[0].click(),dispatchConnectClickEvent("connectAccount"),setTimeout(()=>{n.remove()},1e3)}},[e]);return t?{title:(0,a.__)("My Elementor","elementor"),href:e?.elementor?.config.user.top_bar.my_elementor_url,icon:r.UserIcon,target:"_blank"}:{title:(0,a.__)("Connect my account","elementor"),href:e?.elementor?.config.user.top_bar.connect_url,icon:r.UserIcon,target:s,onClick:i}}},"./packages/packages/core/editor-app-bar/src/extensions/connect/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/connect/hooks/use-connect-link-config.tsx");function init(){o.mainMenu.registerLink({id:"app-bar-connect",group:"exits",priority:10,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/documents-preview/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-v1-adapters"),a=n("@elementor/icons"),s=n("@wordpress/i18n");function useActionProps(){const e=(0,o.__useActiveDocument)();return{icon:a.EyeIcon,title:(0,s.__)("Preview Changes","elementor"),onClick:()=>{const t=window,n=t?.elementorCommon?.eventsManager?.config;n&&t.elementorCommon.eventsManager.dispatchEvent(n.names.topBar.previewPage,{location:n.locations.topBar,secondaryLocation:n.secondaryLocations["preview-page"],trigger:n.triggers.click,element:n.elements.buttonIcon}),e&&(0,r.__privateRunCommand)("editor/documents/preview",{id:e.id,force:!0})}}}},"./packages/packages/core/editor-app-bar/src/extensions/documents-preview/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/documents-preview/hooks/use-action-props.ts");function init(){o.utilitiesMenu.registerAction({id:"document-preview-button",priority:30,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/documents-save/components/primary-action-menu.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PrimaryActionMenu}});var o=n("react"),r=n("@elementor/ui"),a=n("./packages/packages/core/editor-app-bar/src/components/ui/popover-menu.tsx"),s=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/locations.ts");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}const{useMenuItems:i}=s.documentOptionsMenu,c=(0,r.styled)(a.default)`
1 +(function(_elementor_locations, _elementor_menus, react, _elementor_icons, _elementor_ui, _elementor_editor, _elementor_editor_documents, _wordpress_i18n, _elementor_editor_current_user, _elementor_editor_ui, _elementor_events, _elementor_editor_v1_adapters, _elementor_http_client, _elementor_editor_mcp, _elementor_editor_responsive) {
2 +
3 +//#region \0rolldown/runtime.js
4 + var __create = Object.create;
5 + var __defProp = Object.defineProperty;
6 + var __name = (target, value) => __defProp(target, "name", {
7 + value,
8 + configurable: true
9 + });
10 + var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11 + var __getOwnPropNames = Object.getOwnPropertyNames;
12 + var __getProtoOf = Object.getPrototypeOf;
13 + var __hasOwnProp = Object.prototype.hasOwnProperty;
14 + var __exportAll = (all, no_symbols) => {
15 + let target = {};
16 + for (var name in all) {
17 + __defProp(target, name, {
18 + get: all[name],
19 + enumerable: true
20 + });
21 + }
22 + if (!no_symbols) {
23 + __defProp(target, Symbol.toStringTag, { value: "Module" });
24 + }
25 + return target;
26 + };
27 + var __copyProps = (to, from, except, desc) => {
28 + if (from && typeof from === "object" || typeof from === "function") {
29 + for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
30 + key = keys[i];
31 + if (!__hasOwnProp.call(to, key) && key !== except) {
32 + __defProp(to, key, {
33 + get: ((k) => from[k]).bind(null, key),
34 + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
35 + });
36 + }
37 + }
38 + }
39 + return to;
40 + };
41 + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
42 + value: mod,
43 + enumerable: true
44 + }) : target, mod));
45 +
46 +//#endregion
47 +react = __toESM(react);
48 +
49 +//#region packages/packages/core/editor-app-bar/src/contexts/menu-context.tsx
50 + var MenuContext = (0, react.createContext)({ type: "toolbar" });
51 + function MenuContextProvider({ type, popupState, children }) {
52 + return /* @__PURE__ */ react.createElement(MenuContext.Provider, { value: {
53 + type,
54 + popupState
55 + } }, children);
56 + }
57 + function useMenuContext() {
58 + return (0, react.useContext)(MenuContext);
59 + }
60 +
61 +//#endregion
62 +//#region packages/packages/core/editor-app-bar/src/components/ui/popover-menu-item.tsx
63 + var DirectionalArrowIcon = (0, _elementor_ui.withDirection)(_elementor_icons.ArrowUpRightIcon);
64 + var DirectionalChevronIcon = (0, _elementor_ui.withDirection)(_elementor_icons.ChevronRightIcon);
65 + function PopoverMenuItem({ text, icon, onClick, href, target, disabled, isGroupParent, showExternalLinkIcon, ...props }) {
66 + const isExternalLink = href && target === "_blank" && showExternalLinkIcon;
67 + return /* @__PURE__ */ react.createElement(_elementor_ui.MenuItem, {
68 + ...props,
69 + disabled,
70 + onClick,
71 + component: href ? "a" : "div",
72 + href,
73 + target,
74 + sx: { "&:hover": { color: "text.primary" } }
75 + }, /* @__PURE__ */ react.createElement(_elementor_ui.ListItemIcon, null, icon), /* @__PURE__ */ react.createElement(_elementor_ui.ListItemText, { primary: text }), isExternalLink && /* @__PURE__ */ react.createElement(DirectionalArrowIcon, null), isGroupParent && /* @__PURE__ */ react.createElement(DirectionalChevronIcon, null));
76 + }
77 +
78 +//#endregion
79 +//#region packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-item.tsx
80 + function ToolbarMenuItem({ title, ...props }) {
81 + return /* @__PURE__ */ react.createElement(Tooltip$3, { title }, /* @__PURE__ */ react.createElement(_elementor_ui.Box, {
82 + component: "span",
83 + "aria-label": void 0
84 + }, /* @__PURE__ */ react.createElement(_elementor_ui.IconButton, {
85 + ...props,
86 + "aria-label": title,
87 + size: "medium",
88 + sx: {
89 + "& svg": {
90 + fontSize: "1.25rem",
91 + height: "1em",
92 + width: "1em"
93 + },
94 + "&:hover": { color: "text.primary" }
95 + }
96 + })));
97 + }
98 + function Tooltip$3(props) {
99 + return /* @__PURE__ */ react.createElement(_elementor_ui.Tooltip, {
100 + PopperProps: { sx: { "&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom": { mt: 2 } } },
101 + ...props
102 + });
103 + }
104 + __name(Tooltip$3, "Tooltip");
105 +
106 +//#endregion
107 +//#region packages/packages/core/editor-app-bar/src/components/actions/action.tsx
108 + function Action({ icon: Icon, title, visible = true, ...props }) {
109 + const { type } = useMenuContext();
110 + if (!visible) return null;
111 + return type === "toolbar" ? /* @__PURE__ */ react.createElement(ToolbarMenuItem, {
112 + title,
113 + ...props
114 + }, /* @__PURE__ */ react.createElement(Icon, null)) : /* @__PURE__ */ react.createElement(PopoverMenuItem, {
115 + ...props,
116 + text: title,
117 + icon: /* @__PURE__ */ react.createElement(Icon, null)
118 + });
119 + }
120 +
121 +//#endregion
122 +//#region packages/packages/core/editor-app-bar/src/components/actions/link.tsx
123 + function Link({ icon: Icon, title, visible = true, showExternalLinkIcon = false, ...props }) {
124 + const { type } = useMenuContext();
125 + if (!visible) return null;
126 + return type === "toolbar" ? /* @__PURE__ */ react.createElement(ToolbarMenuItem, {
127 + title,
128 + ...props
129 + }, /* @__PURE__ */ react.createElement(Icon, null)) : /* @__PURE__ */ react.createElement(PopoverMenuItem, {
130 + ...props,
131 + text: title,
132 + icon: /* @__PURE__ */ react.createElement(Icon, null),
133 + showExternalLinkIcon
134 + });
135 + }
136 +
137 +//#endregion
138 +//#region packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-toggle-item.tsx
139 + function ToolbarMenuToggleItem({ title, onClick, ...props }) {
140 + return /* @__PURE__ */ react.createElement(_elementor_ui.Tooltip, { title }, /* @__PURE__ */ react.createElement(_elementor_ui.Box, {
141 + component: "span",
142 + "aria-label": void 0
143 + }, /* @__PURE__ */ react.createElement(_elementor_ui.ToggleButton, {
144 + ...props,
145 + onChange: onClick,
146 + "aria-label": title,
147 + size: "small",
148 + sx: {
149 + border: 0,
150 + "&.Mui-disabled": { border: 0 },
151 + "& svg": {
152 + fontSize: "1.25rem",
153 + height: "1em",
154 + width: "1em"
155 + }
156 + }
157 + })));
158 + }
159 +
160 +//#endregion
161 +//#region packages/packages/core/editor-app-bar/src/components/actions/toggle-action.tsx
162 + function ToggleAction({ icon: Icon, title, value, visible = true, ...props }) {
163 + const { type } = useMenuContext();
164 + if (!visible) return null;
165 + return type === "toolbar" ? /* @__PURE__ */ react.createElement(ToolbarMenuToggleItem, {
166 + value: value || title,
167 + title,
168 + ...props
169 + }, /* @__PURE__ */ react.createElement(Icon, null)) : /* @__PURE__ */ react.createElement(PopoverMenuItem, {
170 + ...props,
171 + text: title,
172 + icon: /* @__PURE__ */ react.createElement(Icon, null)
173 + });
174 + }
175 +
176 +//#endregion
177 +//#region packages/packages/core/editor-app-bar/src/locations.ts
178 + var { inject: injectIntoPageIndication, Slot: PageIndicationSlot } = (0, _elementor_locations.createLocation)();
179 + var { inject: injectIntoResponsive, Slot: ResponsiveSlot } = (0, _elementor_locations.createLocation)();
180 + var { inject: injectIntoPrimaryAction, Slot: PrimaryActionSlot } = (0, _elementor_locations.createLocation)();
181 + var components = {
182 + Action,
183 + ToggleAction,
184 + Link
185 + };
186 + var mainMenu = (0, _elementor_menus.createMenu)({
187 + groups: ["help", "exits"],
188 + components
189 + });
190 + var toolsMenu = (0, _elementor_menus.createMenu)({ components });
191 + var utilitiesMenu = (0, _elementor_menus.createMenu)({ components });
192 + var integrationsMenu = (0, _elementor_menus.createMenu)({ components });
193 +
194 +//#endregion
195 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-save/locations.ts
196 + var documentOptionsMenu = (0, _elementor_menus.createMenu)({
197 + groups: ["save"],
198 + components: {
199 + Action,
200 + ToggleAction,
201 + Link
202 + }
203 + });
204 +
205 +//#endregion
206 +//#region packages/packages/core/editor-app-bar/src/constants.ts
207 + var DEFAULT_MAX_TOOLBAR_ACTIONS = {
208 + tools: 6,
209 + utilities: 5
210 + };
211 +
212 +//#endregion
213 +//#region packages/packages/core/editor-app-bar/src/contexts/app-bar-size-context.tsx
214 + var AppBarSizeContext = (0, react.createContext)(DEFAULT_MAX_TOOLBAR_ACTIONS);
215 + function AppBarSizeProvider({ value, children }) {
216 + return /* @__PURE__ */ react.createElement(AppBarSizeContext.Provider, { value }, children);
217 + }
218 + function useMaxToolbarActions() {
219 + return (0, react.useContext)(AppBarSizeContext);
220 + }
221 +
222 +//#endregion
223 +//#region packages/packages/core/editor-app-bar/src/hooks/use-container-width.ts
224 + function useContainerWidth(ref) {
225 + const [width, setWidth] = (0, react.useState)(0);
226 + (0, react.useEffect)(() => {
227 + const element = ref.current;
228 + if (!element || typeof ResizeObserver === "undefined") return;
229 + const observer = new ResizeObserver((entries) => {
230 + const entry = entries[0];
231 + if (entry) setWidth(entry.contentRect.width);
232 + });
233 + setWidth(element.getBoundingClientRect().width);
234 + observer.observe(element);
235 + return () => observer.disconnect();
236 + }, [ref]);
237 + return width;
238 + }
239 +
240 +//#endregion
241 +//#region packages/packages/core/editor-app-bar/src/utils/get-max-toolbar-actions.ts
242 + var BREAKPOINTS = [
243 + {
244 + minWidth: 1200,
245 + ...DEFAULT_MAX_TOOLBAR_ACTIONS
246 + },
247 + {
248 + minWidth: 950,
249 + tools: 3,
250 + utilities: 2
251 + },
252 + {
253 + minWidth: 800,
254 + tools: 1,
255 + utilities: 0
256 + },
257 + {
258 + minWidth: 0,
259 + tools: 0,
260 + utilities: 0
261 + }
262 + ];
263 + function getMaxToolbarActions(containerWidth) {
264 + if (!containerWidth) return DEFAULT_MAX_TOOLBAR_ACTIONS;
265 + const breakpoint = BREAKPOINTS.find(({ minWidth }) => containerWidth >= minWidth) ?? BREAKPOINTS.at(-1);
266 + return {
267 + tools: breakpoint?.tools ?? 0,
268 + utilities: breakpoint?.utilities ?? 0
269 + };
270 + }
271 +
272 +//#endregion
273 +//#region packages/packages/core/editor-app-bar/src/components/ui/popover-menu.tsx
274 + function PopoverMenu({ children, popupState, ...props }) {
275 + return /* @__PURE__ */ react.createElement(MenuContextProvider, {
276 + type: "popover",
277 + popupState
278 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Menu, {
279 + PaperProps: { sx: { mt: 1.5 } },
280 + ...props,
281 + MenuListProps: {
282 + component: "div",
283 + dense: true
284 + }
285 + }, children));
286 + }
287 +
288 +//#endregion
289 +//#region packages/packages/core/editor-app-bar/src/components/ui/toolbar-logo.tsx
290 + var ElementorLogo = (props) => {
291 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
292 + viewBox: "0 0 32 32",
293 + ...props
294 + }, /* @__PURE__ */ react.createElement("g", null, /* @__PURE__ */ react.createElement("circle", {
295 + cx: "16",
296 + cy: "16",
297 + r: "16"
298 + }), /* @__PURE__ */ react.createElement("path", { d: "M11.7 9H9V22.3H11.7V9Z" }), /* @__PURE__ */ react.createElement("path", { d: "M22.4 9H9V11.7H22.4V9Z" }), /* @__PURE__ */ react.createElement("path", { d: "M22.4 14.4004H9V17.1004H22.4V14.4004Z" }), /* @__PURE__ */ react.createElement("path", { d: "M22.4 19.6992H9V22.3992H22.4V19.6992Z" })));
299 + };
300 + var StyledToggleButton = (0, _elementor_ui.styled)(_elementor_ui.ToggleButton)(({ theme }) => ({
301 + padding: 0,
302 + border: 0,
303 + color: theme.palette.text.primary,
304 + "&.MuiToggleButton-root:hover": { backgroundColor: "initial" },
305 + "&.MuiToggleButton-root.Mui-selected": { backgroundColor: "initial" }
306 + }));
307 + var StyledElementorLogo = (0, _elementor_ui.styled)(ElementorLogo, { shouldForwardProp: (prop) => prop !== "showMenuIcon" })(({ theme, showMenuIcon }) => ({ "& path": {
308 + fill: theme.palette.background.default,
309 + transition: "all 0.2s linear",
310 + transformOrigin: "bottom left",
311 + "&:first-of-type": {
312 + transitionDelay: !showMenuIcon && "0.2s",
313 + transform: showMenuIcon && "translateY(-9px) scaleY(0)"
314 + },
315 + "&:not(:first-of-type)": { transform: !showMenuIcon && `translateX(${theme.direction === "rtl" ? "4" : "9"}px) scaleX(0.6)` },
316 + "&:nth-of-type(2)": { transitionDelay: showMenuIcon ? "0" : "0.2s" },
317 + "&:nth-of-type(3)": { transitionDelay: "0.1s" },
318 + "&:nth-of-type(4)": { transitionDelay: showMenuIcon ? "0.2s" : "0" }
319 + } }));
320 + function ToolbarLogo(props) {
321 + const [isHoverState, setIsHoverState] = (0, react.useState)(false);
322 + const showMenuIcon = props.selected || isHoverState;
323 + return /* @__PURE__ */ react.createElement(StyledToggleButton, {
324 + ...props,
325 + value: "selected",
326 + size: "large",
327 + onMouseEnter: () => setIsHoverState(true),
328 + onMouseLeave: () => setIsHoverState(false)
329 + }, /* @__PURE__ */ react.createElement(StyledElementorLogo, {
330 + fontSize: "large",
331 + showMenuIcon,
332 + titleAccess: (0, _wordpress_i18n.__)("Elementor Logo", "elementor")
333 + }));
334 + }
335 +
336 +//#endregion
337 +//#region packages/packages/core/editor-app-bar/src/components/locations/main-menu-location.tsx
338 + var { useMenuItems: useMenuItems$4 } = mainMenu;
339 + function MainMenuLocation() {
340 + const menuItems = useMenuItems$4();
341 + const popupState = (0, _elementor_ui.usePopupState)({
342 + variant: "popover",
343 + popupId: "elementor-v2-app-bar-main-menu"
344 + });
345 + const toolbarLogoProps = (0, _elementor_ui.bindTrigger)(popupState);
346 + const onToolbarClick = (e) => {
347 + const extendedWindow = window;
348 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
349 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.elementorLogoDropdown, {
350 + location: config.locations.topBar,
351 + secondaryLocation: config.secondaryLocations.eLogoMenu,
352 + trigger: config.triggers.dropdownClick,
353 + element: config.elements.buttonIcon
354 + });
355 + toolbarLogoProps.onClick(e);
356 + };
357 + return /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
358 + sx: { paddingInlineStart: 3 },
359 + direction: "row",
360 + alignItems: "center"
361 + }, /* @__PURE__ */ react.createElement(ToolbarLogo, {
362 + ...toolbarLogoProps,
363 + onClick: onToolbarClick,
364 + selected: popupState.isOpen
365 + }), /* @__PURE__ */ react.createElement(PopoverMenu, {
366 + onClick: popupState.close,
367 + ...(0, _elementor_ui.bindMenu)(popupState),
368 + marginThreshold: 8
369 + }, menuItems.default.map(({ MenuItem, id }) => /* @__PURE__ */ react.createElement(MenuItem, { key: id })), /* @__PURE__ */ react.createElement(_elementor_ui.Divider, null), menuItems.help.map(({ MenuItem, id }) => /* @__PURE__ */ react.createElement(MenuItem, { key: id })), menuItems.exits.map(({ MenuItem, id }) => /* @__PURE__ */ react.createElement(MenuItem, { key: id }))));
370 + }
371 +
372 +//#endregion
373 +//#region packages/packages/core/editor-app-bar/src/components/locations/page-indication-location.tsx
374 + function PageIndicationLocation() {
375 + return /* @__PURE__ */ react.createElement(PageIndicationSlot, null);
376 + }
377 +
378 +//#endregion
379 +//#region packages/packages/core/editor-app-bar/src/components/locations/primary-action-location.tsx
380 + function PrimaryActionLocation() {
381 + return /* @__PURE__ */ react.createElement(PrimaryActionSlot, null);
382 + }
383 +
384 +//#endregion
385 +//#region packages/packages/core/editor-app-bar/src/components/locations/responsive-location.tsx
386 + function ResponsiveLocation() {
387 + return /* @__PURE__ */ react.createElement(ResponsiveSlot, null);
388 + }
389 +
390 +//#endregion
391 +//#region packages/packages/core/editor-app-bar/src/extensions/angie/angie-consts.ts
392 + var ANGIE_GUIDE_TOGGLE_EVENT = "elementor/editor/toggle-angie-guide";
393 + var CREATE_WIDGET_EVENT = "elementor/editor/create-widget";
394 + var ANGIE_BUTTON_ARIA_LABEL = (0, _wordpress_i18n.__)("Angie", "elementor");
395 + var ANGIE_LEARN_MORE_URL = "https://go.elementor.com/angie-learn-more";
396 + var ANGIE_DESCRIPTION = (0, _wordpress_i18n.__)("Angie lets you generate custom widgets, sections, and code using simple instructions.", "elementor");
397 + var AI_WIDGET_CTA_VIEWED_EVENT = "ai_widget_cta_viewed";
398 + var ANGIE_TOP_BAR_PROMOTION_IMAGE_URL = "https://assets.elementor.com/packages/v1/images/angie-top-bar-promotion-0926.svg";
399 + var ANGIE_TOP_BAR_DESCRIPTION = (0, _wordpress_i18n.__)("Describe what you want to build in plain language and Angie generates it in native Elementor structure, fully editable and customizable.", "elementor");
400 +
401 +//#endregion
402 +//#region packages/packages/core/editor-app-bar/src/extensions/angie/components/angie-guide-card.tsx
403 + function AngieGuideCard({ imageUrl, description, learnMoreUrl, onInstall, onClose }) {
404 + return /* @__PURE__ */ react.createElement(_elementor_ui.ClickAwayListener, { onClickAway: onClose }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
405 + sx: { width: 296 },
406 + "data-testid": "e-angie-guide-card"
407 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: {
408 + position: "relative",
409 + p: 1.5
410 + } }, /* @__PURE__ */ react.createElement(_elementor_ui.Image, {
411 + src: imageUrl,
412 + alt: (0, _wordpress_i18n.__)("Angie", "elementor"),
413 + sx: {
414 + width: "100%",
415 + maxHeight: 200,
416 + objectFit: "cover",
417 + objectPosition: "center top",
418 + borderRadius: 1,
419 + display: "block"
420 + }
421 + }), /* @__PURE__ */ react.createElement(_elementor_ui.CloseButton, {
422 + sx: {
423 + position: "absolute",
424 + top: 15,
425 + insetInlineEnd: 15,
426 + color: "common.white",
427 + filter: "drop-shadow(0 1px 2px rgba(0,0,0,0.6))",
428 + "&:hover": {
429 + bgcolor: "rgba(255,255,255,0.2)",
430 + color: "common.white"
431 + }
432 + },
433 + slotProps: { icon: { fontSize: "small" } },
434 + onClick: onClose
435 + })), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
436 + px: 2,
437 + pt: .5,
438 + pb: .5
439 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { variant: "subtitle2" }, (0, _wordpress_i18n.__)("Generate full pages with AI", "elementor"))), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
440 + px: 2,
441 + pt: .5,
442 + pb: 1.5
443 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
444 + variant: "body2",
445 + color: "secondary"
446 + }, description)), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
447 + direction: "row",
448 + justifyContent: "flex-end",
449 + gap: 1,
450 + pb: 1.5,
451 + px: 2
452 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Button, {
453 + variant: "text",
454 + size: "small",
455 + color: "secondary",
456 + onClick: () => {
457 + window.open(learnMoreUrl, "_blank", "noopener,noreferrer");
458 + onClose();
459 + }
460 + }, (0, _wordpress_i18n.__)("Learn More", "elementor")), onInstall && /* @__PURE__ */ react.createElement(_elementor_ui.Button, {
461 + variant: "contained",
462 + size: "small",
463 + color: "primary",
464 + onClick: onInstall
465 + }, (0, _wordpress_i18n.__)("Build with Angie", "elementor")))));
466 + }
467 +
468 +//#endregion
469 +//#region packages/packages/core/editor-app-bar/src/extensions/angie/hooks/use-auto-show.ts
470 + function useAutoShow() {
471 + (0, react.useEffect)(() => {
472 + if (!window.elementor?.config?.angie?.autoShow) return;
473 + const id = setTimeout(() => {
474 + window.dispatchEvent(new CustomEvent(CREATE_WIDGET_EVENT, { detail: { entry_point: "auto_show" } }));
475 + }, 0);
476 + return () => clearTimeout(id);
477 + }, []);
478 + }
479 +
480 +//#endregion
481 +//#region packages/packages/core/editor-app-bar/src/extensions/angie/components/angie-guide-location.tsx
482 + function AngieGuideLocation() {
483 + useAutoShow();
484 + const [anchorEl, setAnchorEl] = (0, react.useState)(null);
485 + const { dispatchEvent } = (0, _elementor_events.useMixpanel)();
486 + const { isAdmin } = (0, _elementor_editor_current_user.useCurrentUserCapabilities)();
487 + const isOpen = Boolean(anchorEl);
488 + (0, react.useEffect)(() => {
489 + const handleToggle = () => {
490 + setAnchorEl((prev) => {
491 + if (prev) return null;
492 + return document.querySelector(`[aria-label="${ANGIE_BUTTON_ARIA_LABEL}"]`);
493 + });
494 + };
495 + window.addEventListener(ANGIE_GUIDE_TOGGLE_EVENT, handleToggle);
496 + return () => {
497 + window.removeEventListener(ANGIE_GUIDE_TOGGLE_EVENT, handleToggle);
498 + };
499 + }, []);
500 + const handleClose = () => setAnchorEl(null);
501 + const handleInstall = async () => {
502 + dispatchEvent?.(AI_WIDGET_CTA_VIEWED_EVENT, { entry_point: "top_bar_icon" });
503 + window.dispatchEvent(new CustomEvent(CREATE_WIDGET_EVENT, { detail: { entry_point: "top_bar_icon" } }));
504 + handleClose();
505 + };
506 + return /* @__PURE__ */ react.createElement(_elementor_editor_ui.ThemeProvider, null, /* @__PURE__ */ react.createElement(_elementor_ui.Infotip, {
507 + content: /* @__PURE__ */ react.createElement(AngieGuideCard, {
508 + imageUrl: ANGIE_TOP_BAR_PROMOTION_IMAGE_URL,
509 + description: ANGIE_TOP_BAR_DESCRIPTION,
510 + learnMoreUrl: ANGIE_LEARN_MORE_URL,
511 + onInstall: isAdmin ? handleInstall : void 0,
512 + onClose: handleClose
513 + }),
514 + placement: "bottom-start",
515 + open: isOpen,
516 + disableHoverListener: true,
517 + PopperProps: {
518 + anchorEl,
519 + modifiers: [{
520 + name: "offset",
521 + options: { offset: [-4, -4] }
522 + }]
523 + }
524 + }, /* @__PURE__ */ react.createElement("span", { style: { display: "contents" } })));
525 + }
526 +
527 +//#endregion
528 +//#region packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu.tsx
529 + function ToolbarMenu({ children, ...props }) {
530 + return /* @__PURE__ */ react.createElement(MenuContextProvider, { type: "toolbar" }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
531 + sx: { px: 1.5 },
532 + spacing: 1.5,
533 + direction: "row",
534 + alignItems: "center",
535 + ...props
536 + }, children));
537 + }
538 +
539 +//#endregion
540 +//#region packages/packages/core/editor-app-bar/src/components/ui/toolbar-menu-more.tsx
541 + function ToolbarMenuMore({ children, id }) {
542 + const popupState = (0, _elementor_ui.usePopupState)({
543 + variant: "popover",
544 + popupId: id
545 + });
546 + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ToolbarMenuItem, {
547 + ...(0, _elementor_ui.bindTrigger)(popupState),
548 + title: (0, _wordpress_i18n.__)("More", "elementor")
549 + }, /* @__PURE__ */ react.createElement(_elementor_icons.DotsVerticalIcon, null)), /* @__PURE__ */ react.createElement(PopoverMenu, {
550 + onClick: popupState.close,
551 + ...(0, _elementor_ui.bindMenu)(popupState)
552 + }, children));
553 + }
554 +
555 +//#endregion
556 +//#region packages/packages/core/editor-app-bar/src/components/locations/integrations-menu-location.tsx
557 + var { useMenuItems: useMenuItems$3 } = integrationsMenu;
558 + function IntegrationsMenuLocation() {
559 + const menuItems = useMenuItems$3();
560 + const popupState = (0, _elementor_ui.usePopupState)({
561 + variant: "popover",
562 + popupId: "elementor-v2-app-bar-integrations"
563 + });
564 + if (menuItems.default.length === 0) return null;
565 + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ToolbarMenuItem, {
566 + ...(0, _elementor_ui.bindTrigger)(popupState),
567 + title: (0, _wordpress_i18n.__)("Integrations", "elementor")
568 + }, /* @__PURE__ */ react.createElement(_elementor_icons.PlugIcon, null)), /* @__PURE__ */ react.createElement(PopoverMenu, {
569 + onClick: popupState.close,
570 + ...(0, _elementor_ui.bindMenu)(popupState),
571 + marginThreshold: 8,
572 + open: popupState.isOpen
573 + }, menuItems.default.map(({ MenuItem: IntegrationsMenuItem, id }) => /* @__PURE__ */ react.createElement(IntegrationsMenuItem, { key: id }))));
574 + }
575 +
576 +//#endregion
577 +//#region packages/packages/core/editor-app-bar/src/extensions/feedback/feedback-consts.ts
578 + var EXPERIMENT_NAME = "in_editor_feedback";
579 + var FEEDBACK_TOGGLE_EVENT = "elementor/open-feedback";
580 +
581 +//#endregion
582 +//#region packages/packages/core/editor-app-bar/src/components/locations/send-feedback-popup-location.tsx
583 + var checkIfUserIsConnected = () => {
584 + const extendedWindow = window;
585 + return extendedWindow?.elementorCommon?.config.library_connect.is_connected || extendedWindow?.elementorPro?.config.isActive;
586 + };
587 + function SendFeedbackPopupLocation() {
588 + const isActive = (0, _elementor_editor_v1_adapters.isExperimentActive)(EXPERIMENT_NAME);
589 + const extendedWindow = window;
590 + const [isUserConnected, setIsUserConnected] = (0, react.useState)(checkIfUserIsConnected());
591 + const connectUrl = extendedWindow?.elementor?.config.user.top_bar.connect_url;
592 + const [feedbackContent, setFeedbackContent] = (0, react.useState)("");
593 + const [feedbackResult, setFeedbackResult] = (0, react.useState)(null);
594 + const [submitDisabled, setSubmitDisabled] = (0, react.useState)(true);
595 + const { dispatchEvent: trackEvent = (...args) => void 0 } = (0, _elementor_events.useMixpanel)();
596 + const popupState = (0, _elementor_ui.usePopupState)({
597 + variant: "dialog",
598 + popupId: FEEDBACK_TOGGLE_EVENT
599 + });
600 + const [isFetching, setIsFetching] = (0, react.useState)(false);
601 + (0, react.useEffect)(() => {
602 + const handler = () => {
603 + popupState.toggle();
604 + setIsUserConnected(checkIfUserIsConnected());
605 + setFeedbackResult(null);
606 + trackEvent("feedback_modal_opened", {
607 + source: "top_bar",
608 + context: "v4_beta"
609 + });
610 + };
611 + window.addEventListener(FEEDBACK_TOGGLE_EVENT, handler);
612 + return () => {
613 + window.removeEventListener(FEEDBACK_TOGGLE_EVENT, handler);
614 + };
615 + }, [popupState, trackEvent]);
616 + (0, react.useEffect)(() => {
617 + setSubmitDisabled(feedbackContent.trim().length < 10 || !isUserConnected || isFetching);
618 + }, [
619 + feedbackContent,
620 + feedbackResult,
621 + isUserConnected,
622 + isFetching
623 + ]);
624 + const handleClose = () => {
625 + popupState.close();
626 + trackEvent("feedback_modal_closed", { feedback_text: feedbackContent });
627 + };
628 + const handleStartAnother = () => {
629 + setFeedbackContent("");
630 + setFeedbackResult(null);
631 + };
632 + const submitFeedback = () => {
633 + setIsFetching(true);
634 + (0, _elementor_http_client.httpService)().post("elementor/v1/feedback/submit", { description: feedbackContent.trim() }).then((response) => {
635 + setFeedbackResult({
636 + message: response.data.message,
637 + success: response.data.success
638 + });
639 + if (!response.data.success && response.data.code.toString() === "401" || response.data.code.toString() === "403") setIsUserConnected(false);
640 + trackEvent(response.data.success ? "feedback_submitted" : "feedback_error", {
641 + feedback_length: feedbackContent.length,
642 + error_type: response.data.success ? void 0 : "server",
643 + error_message: response.data.success ? void 0 : response.data.message
644 + });
645 + }).finally(() => setIsFetching(false));
646 + };
647 + if (!isActive) return null;
648 + return /* @__PURE__ */ react.createElement(_elementor_editor_ui.ThemeProvider, null, /* @__PURE__ */ react.createElement(_elementor_ui.Popover, {
649 + ...(0, _elementor_ui.bindDialog)(popupState),
650 + onClose: () => handleClose()
651 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Dialog, { open: popupState.isOpen }, /* @__PURE__ */ react.createElement(_elementor_ui.DialogHeader, { style: {
652 + width: "100%",
653 + minWidth: "35rem"
654 + } }, /* @__PURE__ */ react.createElement(_elementor_ui.DialogTitle, { style: { width: "100%" } }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
655 + display: "flex",
656 + direction: "row",
657 + alignItems: "center",
658 + justifyContent: "space-between",
659 + width: "100%"
660 + }, (0, _wordpress_i18n.__)("Submit Feedback", "elementor"), /* @__PURE__ */ react.createElement(_elementor_ui.CloseButton, { onClick: popupState.close })))), /* @__PURE__ */ react.createElement(_elementor_ui.DialogContent, null, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
661 + direction: "column",
662 + gap: 2
663 + }, isUserConnected ? /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(_elementor_ui.TextField, {
664 + autofocus: true,
665 + placeholder: (0, _wordpress_i18n.__)("E.g. Can you add ABC features? I want to do ABC and it’s important because …", "elementor"),
666 + fullwith: true,
667 + label: (0, _wordpress_i18n.__)("Your Feedback", "elementor"),
668 + multiline: true,
669 + id: "elementor-feedback-usercontent",
670 + rows: 6,
671 + cols: 80,
672 + disabled: isFetching || feedbackResult?.success,
673 + onChange: (event) => setFeedbackContent(event.target.value),
674 + value: feedbackContent
675 + }), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
676 + direction: "row",
677 + justifyContent: "flex-end",
678 + alignItems: "center",
679 + gap: 2
680 + }, feedbackResult && /* @__PURE__ */ react.createElement(react.Fragment, null, feedbackResult.success ? /* @__PURE__ */ react.createElement(_elementor_icons.CheckIcon, { color: "success" }) : /* @__PURE__ */ react.createElement(_elementor_icons.AlertCircleIcon, { color: "error" }), feedbackResult.message), feedbackResult?.success ? /* @__PURE__ */ react.createElement(_elementor_ui.Button, {
681 + variant: "text",
682 + onClick: () => handleStartAnother()
683 + }, (0, _wordpress_i18n.__)("Submit Another Feedback", "elementor")) : /* @__PURE__ */ react.createElement(_elementor_ui.Button, {
684 + disabled: submitDisabled,
685 + onClick: submitFeedback,
686 + variant: "contained",
687 + color: "primary",
688 + size: "small"
689 + }, (0, _wordpress_i18n.__)("Submit", "elementor")))) : /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(_elementor_ui.Button, {
690 + variant: "contained",
691 + color: "primary",
692 + size: "large",
693 + href: connectUrl,
694 + target: "_blank",
695 + rel: "noopener",
696 + onClick: popupState.close
697 + }, (0, _wordpress_i18n.__)("Connect to Elementor", "elementor"))))))));
698 + }
699 +
700 +//#endregion
701 +//#region packages/packages/core/editor-app-bar/src/components/locations/tools-menu-location.tsx
702 + var { useMenuItems: useMenuItems$2 } = toolsMenu;
703 + function ToolsMenuLocation() {
704 + const menuItems = useMenuItems$2();
705 + const { tools: maxToolbarActions } = useMaxToolbarActions();
706 + const toolbarMenuItems = menuItems.default.slice(0, maxToolbarActions);
707 + const popoverMenuItems = menuItems.default.slice(maxToolbarActions);
708 + return /* @__PURE__ */ react.createElement(ToolbarMenu, null, toolbarMenuItems.map(({ MenuItem, id }) => /* @__PURE__ */ react.createElement(MenuItem, { key: id })), /* @__PURE__ */ react.createElement(AngieGuideLocation, null), /* @__PURE__ */ react.createElement(SendFeedbackPopupLocation, null), /* @__PURE__ */ react.createElement(IntegrationsMenuLocation, null), popoverMenuItems.length > 0 && /* @__PURE__ */ react.createElement(ToolbarMenuMore, { id: "elementor-editor-app-bar-tools-more" }, popoverMenuItems.map(({ MenuItem, id }) => /* @__PURE__ */ react.createElement(MenuItem, { key: id }))));
709 + }
710 +
711 +//#endregion
712 +//#region packages/packages/core/editor-app-bar/src/components/locations/utilities-menu-location.tsx
713 + var { useMenuItems: useMenuItems$1 } = utilitiesMenu;
714 + function UtilitiesMenuLocation() {
715 + const menuItems = useMenuItems$1();
716 + const { utilities: maxToolbarActions } = useMaxToolbarActions();
717 + const shouldUsePopover = menuItems.default.length > maxToolbarActions;
718 + const toolbarMenuItems = shouldUsePopover ? menuItems.default.slice(0, maxToolbarActions) : menuItems.default;
719 + const popoverMenuItems = shouldUsePopover ? menuItems.default.slice(maxToolbarActions) : [];
720 + return /* @__PURE__ */ react.createElement(ToolbarMenu, null, popoverMenuItems.length > 0 && /* @__PURE__ */ react.createElement(ToolbarMenuMore, { id: "elementor-editor-app-bar-utilities-more" }, popoverMenuItems.map(({ MenuItem, id }) => /* @__PURE__ */ react.createElement(MenuItem, { key: id }))), toolbarMenuItems.map(({ MenuItem, id }) => /* @__PURE__ */ react.createElement(react.Fragment, { key: id }, /* @__PURE__ */ react.createElement(MenuItem, null))));
721 + }
722 +
723 +//#endregion
724 +//#region packages/packages/core/editor-app-bar/src/components/app-bar.tsx
725 + function AppBar() {
726 + const document = (0, _elementor_editor_documents.__useActiveDocument)();
727 + const containerRef = (0, react.useRef)(null);
728 + const maxToolbarActions = getMaxToolbarActions(useContainerWidth(containerRef));
729 + return /* @__PURE__ */ react.createElement(_elementor_ui.ThemeProvider, { colorScheme: "dark" }, /* @__PURE__ */ react.createElement(_elementor_ui.AppBar, { position: "sticky" }, /* @__PURE__ */ react.createElement(_elementor_ui.Toolbar, {
730 + disableGutters: true,
731 + variant: "dense",
732 + sx: { overflowX: "auto" }
733 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Box, {
734 + ref: containerRef,
735 + display: "grid",
736 + gridTemplateColumns: "minmax(0, 1fr) auto minmax(0, 1fr)",
737 + flexGrow: 1,
738 + minWidth: `${800}px`
739 + }, /* @__PURE__ */ react.createElement(AppBarSizeProvider, { value: maxToolbarActions }, /* @__PURE__ */ react.createElement(_elementor_ui.Grid, {
740 + container: true,
741 + flexWrap: "nowrap",
742 + sx: {
743 + minWidth: 0,
744 + overflow: "hidden"
745 + }
746 + }, /* @__PURE__ */ react.createElement(MainMenuLocation, null), document?.permissions?.allowAddingWidgets && /* @__PURE__ */ react.createElement(ToolsMenuLocation, null)), /* @__PURE__ */ react.createElement(_elementor_ui.Grid, {
747 + container: true,
748 + justifyContent: "center"
749 + }, /* @__PURE__ */ react.createElement(ToolbarMenu, { spacing: 1.5 }, /* @__PURE__ */ react.createElement(_elementor_ui.Divider, { orientation: "vertical" }), /* @__PURE__ */ react.createElement(PageIndicationLocation, null), /* @__PURE__ */ react.createElement(_elementor_ui.Divider, { orientation: "vertical" }), /* @__PURE__ */ react.createElement(ResponsiveLocation, null), /* @__PURE__ */ react.createElement(_elementor_ui.Divider, { orientation: "vertical" }))), /* @__PURE__ */ react.createElement(_elementor_ui.Grid, {
750 + container: true,
751 + justifyContent: "flex-end",
752 + flexWrap: "nowrap",
753 + sx: {
754 + minWidth: 0,
755 + overflow: "hidden"
756 + }
757 + }, /* @__PURE__ */ react.createElement(UtilitiesMenuLocation, null), /* @__PURE__ */ react.createElement(PrimaryActionLocation, null)))))));
758 + }
759 +
760 +//#endregion
761 +//#region packages/packages/core/editor-app-bar/src/hooks/use-is-angie-available.ts
762 + function useIsAngieAvailable() {
763 + const [available, setAvailable] = (0, react.useState)(() => (0, _elementor_editor_mcp.isAngieAvailable)());
764 + (0, react.useEffect)(() => {
765 + if (available) return;
766 + if ((0, _elementor_editor_mcp.isAngieAvailable)()) {
767 + setAvailable(true);
768 + return;
769 + }
770 + const observer = new MutationObserver(() => {
771 + if ((0, _elementor_editor_mcp.isAngieAvailable)()) {
772 + observer.disconnect();
773 + setAvailable(true);
774 + }
775 + });
776 + observer.observe(document.body, {
777 + childList: true,
778 + subtree: true
779 + });
780 + return () => observer.disconnect();
781 + }, [available]);
782 + return available;
783 + }
784 +
785 +//#endregion
786 +//#region packages/packages/core/editor-app-bar/src/extensions/angie/hooks/use-action-props.ts
787 + function useActionProps$11() {
788 + const visible = !useIsAngieAvailable();
789 + (0, react.useEffect)(() => {
790 + if (!visible) return;
791 + (0, _elementor_events.trackEvent)({
792 + eventName: AI_WIDGET_CTA_VIEWED_EVENT,
793 + entry_point: "top_bar_icon",
794 + has_angie_installed: false
795 + });
796 + }, [visible]);
797 + return {
798 + title: (0, _wordpress_i18n.__)("Angie", "elementor"),
799 + icon: _elementor_icons.AngieIcon,
800 + onClick: () => {
801 + window.dispatchEvent(new CustomEvent(ANGIE_GUIDE_TOGGLE_EVENT));
802 + },
803 + selected: false,
804 + visible
805 + };
806 + }
807 + __name(useActionProps$11, "useActionProps");
808 +
809 +//#endregion
810 +//#region packages/packages/core/editor-app-bar/src/extensions/angie/index.ts
811 + function init$18() {
812 + toolsMenu.registerToggleAction({
813 + id: "toggle-angie",
814 + priority: 2,
815 + useProps: useActionProps$11
816 + });
817 + }
818 + __name(init$18, "init");
819 +
820 +//#endregion
821 +//#region packages/packages/core/editor-app-bar/src/extensions/connect/hooks/use-connect-link-config.tsx
822 + var dispatchConnectClickEvent = (eventName) => {
823 + try {
824 + const extendedWindow = window;
825 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
826 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar[eventName], {
827 + location: config.locations.topBar,
828 + secondaryLocation: config.secondaryLocations.eLogoMenu,
829 + trigger: config.triggers.dropdownClick,
830 + element: config.elements.buttonIcon
831 + });
832 + } catch (error) {
833 + console.warn(error);
834 + }
835 + };
836 + function useConnectLinkConfig() {
837 + const extendedWindow = window;
838 + let isUserConnected = false;
839 + const isPro = extendedWindow?.elementor?.helpers.hasPro();
840 + let target = "_blank";
841 + if (isPro) isUserConnected = extendedWindow?.elementorPro?.config.isActive ?? false;
842 + else {
843 + isUserConnected = extendedWindow?.elementorCommon?.config.library_connect.is_connected ?? false;
844 + target = "_self";
845 + }
846 + const handleConnectClick = (0, react.useCallback)((event) => {
847 + event.preventDefault();
848 + if (extendedWindow.jQuery && extendedWindow.jQuery.fn?.elementorConnect) {
849 + const connectUrl = extendedWindow?.elementor?.config.user.top_bar.connect_url;
850 + const $tempButton = extendedWindow.jQuery("<a>");
851 + $tempButton?.attr("href", connectUrl)?.attr("target", "_blank")?.attr("rel", "opener")?.css("display", "none")?.appendTo("body");
852 + $tempButton.elementorConnect({ success: () => {
853 + dispatchConnectClickEvent("accountConnected");
854 + setTimeout(() => {
855 + extendedWindow.location.reload();
856 + }, 200);
857 + } });
858 + $tempButton[0].click();
859 + dispatchConnectClickEvent("connectAccount");
860 + setTimeout(() => {
861 + $tempButton.remove();
862 + }, 1e3);
863 + }
864 + }, [extendedWindow]);
865 + return isUserConnected ? {
866 + title: (0, _wordpress_i18n.__)("My Elementor", "elementor"),
867 + href: extendedWindow?.elementor?.config.user.top_bar.my_elementor_url,
868 + icon: _elementor_icons.UserIcon,
869 + target: "_blank"
870 + } : {
871 + title: (0, _wordpress_i18n.__)("Connect my account", "elementor"),
872 + href: extendedWindow?.elementor?.config.user.top_bar.connect_url,
873 + icon: _elementor_icons.UserIcon,
874 + target,
875 + onClick: handleConnectClick
876 + };
877 + }
878 +
879 +//#endregion
880 +//#region packages/packages/core/editor-app-bar/src/extensions/connect/index.ts
881 + function init$17() {
882 + mainMenu.registerLink({
883 + id: "app-bar-connect",
884 + group: "exits",
885 + priority: 10,
886 + useProps: useConnectLinkConfig
887 + });
888 + }
889 + __name(init$17, "init");
890 +
891 +//#endregion
892 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-preview/hooks/use-action-props.ts
893 + function useActionProps$10() {
894 + const document = (0, _elementor_editor_documents.__useActiveDocument)();
895 + return {
896 + icon: _elementor_icons.EyeIcon,
897 + title: (0, _wordpress_i18n.__)("Preview Changes", "elementor"),
898 + onClick: () => {
899 + const extendedWindow = window;
900 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
901 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.previewPage, {
902 + location: config.locations.topBar,
903 + secondaryLocation: config.secondaryLocations["preview-page"],
904 + trigger: config.triggers.click,
905 + element: config.elements.buttonIcon
906 + });
907 + if (document) (0, _elementor_editor_v1_adapters.__privateRunCommand)("editor/documents/preview", {
908 + id: document.id,
909 + force: true
910 + });
911 + }
912 + };
913 + }
914 + __name(useActionProps$10, "useActionProps");
915 +
916 +//#endregion
917 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-preview/index.ts
918 + function init$16() {
919 + utilitiesMenu.registerAction({
920 + id: "document-preview-button",
921 + priority: 30,
922 + useProps: useActionProps$10
923 + });
924 + }
925 + __name(init$16, "init");
926 +
927 +//#endregion
928 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-save/components/primary-action-menu.tsx
929 + var { useMenuItems } = documentOptionsMenu;
930 + var StyledPopoverMenu = (0, _elementor_ui.styled)(PopoverMenu)`
3 931 & > .MuiPopover-paper > .MuiList-root {
4 932 & > .MuiDivider-root {
5 933 display: none;
6 934 }
@@ -8,6 +936,847 @@
8 936 & > *:not( .MuiDivider-root ):not( :last-of-type ) + .MuiDivider-root {
9 937 display: block;
10 938 }
11 939 }
12 -`;function PrimaryActionMenu(e){const{save:t,default:n}=i();return o.createElement(c,_extends({},e,{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},marginThreshold:4,PaperProps:{sx:{mt:.5}}}),t.map(({MenuItem:e,id:t},n)=>[n>0&&o.createElement(r.Divider,{key:`${t}-divider`}),o.createElement(e,{key:t})]),t.length>0&&n.length>0&&o.createElement(r.Divider,null),n.map(({MenuItem:e,id:t},n)=>[n>0&&o.createElement(r.Divider,{key:`${t}-divider`}),o.createElement(e,{key:t})]))}},"./packages/packages/core/editor-app-bar/src/extensions/documents-save/components/primary-action.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PrimaryAction}});var o=n("react"),r=n("@elementor/editor-documents"),a=n("@elementor/editor-v1-adapters"),s=n("@elementor/icons"),i=n("@elementor/ui"),c=n("@wordpress/i18n"),p=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/components/primary-action-menu.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function PrimaryAction(){const e=(0,r.__useActiveDocument)(),{save:t}=(0,r.__useActiveDocumentActions)(),n="edit"===(0,a.useEditMode)(),l=(0,i.usePopupState)({variant:"popover",popupId:"document-save-options"});if(!e)return null;const u=!n||!function isPublishEnabled(e){if("kit"===e.type.value)return!1;return e.isDirty||"draft"===e.status.value}(e),d=!n||"kit"===e.type.value,m=e.isSaving&&!u;return o.createElement(o.Fragment,null,o.createElement(i.ButtonGroup,{size:"large",variant:"contained"},o.createElement(i.Button,{onClick:()=>{const n=window,o=n?.elementorCommon?.eventsManager?.config;o&&n.elementorCommon.eventsManager.dispatchEvent(o.names.topBar.publishButton,{location:o.locations.topBar,secondaryLocation:o.secondaryLocations["publish-button"],trigger:o.triggers.click,element:o.elements.mainCta}),e.isSaving||t()},sx:{height:"100%",borderRadius:0,maxWidth:"158px","&.MuiButtonBase-root.MuiButtonGroup-grouped":{minWidth:"110px"}},disabled:u},m?o.createElement(i.CircularProgress,{color:"inherit",size:"1.5em"}):function getLabel(e){return e.userCan.publish?(0,c.__)("Publish","elementor"):(0,c.__)("Submit","elementor")}(e)),o.createElement(i.Tooltip,{title:(0,c.__)("Save Options","elementor"),PopperProps:{sx:{"&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom":{mt:1,mr:.25}}}},o.createElement(i.Box,{component:"span","aria-label":void 0},o.createElement(i.Button,_extends({size:"small"},(0,i.bindTrigger)(l),{sx:{px:0,height:"100%",borderRadius:0},disabled:d,"aria-label":(0,c.__)("Save Options","elementor")}),o.createElement(s.ChevronDownIcon,null))))),o.createElement(p.default,_extends({},(0,i.bindMenu)(l),{onClick:l.close})))}},"./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useDocumentCopyAndShareProps}});var o=n("@elementor/editor-documents"),r=n("@elementor/events"),a=n("@elementor/icons"),s=n("@wordpress/i18n");function useDocumentCopyAndShareProps(){const e=(0,o.__useActiveDocument)(),{copyAndShare:t}=(0,o.__useActiveDocumentActions)(),{dispatchEvent:n,config:i}=(0,r.useMixpanel)();return{icon:a.LinkIcon,title:(0,s.__)("Copy and Share","elementor"),onClick:()=>{const e=i?.names?.editorOne?.topBarPublishDropdown;e&&n?.(e,{app_type:i?.appTypes?.editor,window_name:i?.appTypes?.editor,interaction_type:i?.triggers?.click?.toLowerCase(),target_type:i?.targetTypes?.dropdownItem,target_name:i?.targetNames?.publishDropdown?.copyAndShare,interaction_result:i?.interactionResults?.actionSelected,target_location:i?.locations?.topBar?.replace(/\s+/g,"_").toLowerCase(),location_l1:i?.secondaryLocations?.publishDropdown?.replace(/\s+/g,"_").toLowerCase(),location_l2:i?.targetTypes?.dropdownItem}),t()},disabled:!e||e.isSaving||e.isSavingDraft||!("publish"===e.status.value),visible:e?.permissions?.showCopyAndShare}}},"./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-save-draft-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useDocumentSaveDraftProps}});var o=n("@elementor/editor-documents"),r=n("@elementor/events"),a=n("@elementor/icons"),s=n("@wordpress/i18n");function useDocumentSaveDraftProps(){const e=(0,o.__useActiveDocument)(),{saveDraft:t}=(0,o.__useActiveDocumentActions)(),{dispatchEvent:n,config:i}=(0,r.useMixpanel)();return{icon:a.FileReportIcon,title:(0,s.__)("Save Draft","elementor"),onClick:()=>{const e=i?.names?.editorOne?.topBarPublishDropdown;e&&n?.(e,{app_type:i?.appTypes?.editor,window_name:i?.appTypes?.editor,interaction_type:i?.triggers?.click?.toLowerCase(),target_type:i?.targetTypes?.dropdownItem,target_name:i?.targetNames?.publishDropdown?.saveDraft,interaction_result:i?.interactionResults?.actionSelected,target_location:i?.locations?.topBar?.replace(/\s+/g,"_").toLowerCase(),location_l1:i?.secondaryLocations?.publishDropdown?.replace(/\s+/g,"_").toLowerCase(),location_l2:i?.targetTypes?.dropdownItem}),t()},disabled:!e||e.isSaving||e.isSavingDraft||!e.isDirty}}},"./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-save-template-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useDocumentSaveTemplateProps}});var o=n("@elementor/editor-documents"),r=n("@elementor/events"),a=n("@elementor/icons"),s=n("@wordpress/i18n");function useDocumentSaveTemplateProps(){const{saveTemplate:e}=(0,o.__useActiveDocumentActions)(),{dispatchEvent:t,config:n}=(0,r.useMixpanel)();return{icon:a.FolderIcon,title:(0,s.__)("Save as Template","elementor"),onClick:()=>{const o=n?.names?.editorOne?.topBarPublishDropdown;o&&t?.(o,{app_type:n?.appTypes?.editor,window_name:n?.appTypes?.editor,interaction_type:n?.triggers?.click?.toLowerCase(),target_type:n?.targetTypes?.dropdownItem,target_name:n?.targetNames?.publishDropdown?.saveAsTemplate,interaction_result:n?.interactionResults?.actionSelected,target_location:n?.locations?.topBar?.replace(/\s+/g,"_").toLowerCase(),location_l1:n?.secondaryLocations?.publishDropdown?.replace(/\s+/g,"_").toLowerCase(),location_l2:n?.targetTypes?.dropdownItem}),e()}}}},"./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-view-as-markdown-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useDocumentViewAsMarkdownProps}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-v1-adapters"),a=n("@elementor/icons"),s=n("@wordpress/i18n");function useDocumentViewAsMarkdownProps(){const e=(0,o.__useActiveDocument)();return{icon:a.EyeIcon,title:(0,s.__)("View as Markdown","elementor"),onClick:async()=>{const t=e?.links?.wpPreview||e?.links?.permalink;if(!t)return;e?.isDirty&&await(0,r.__privateRunCommand)("document/save/auto",{force:!0});const n=t.includes("?")?"&":"?",o=t+n+"format=markdown";window.open(o,"_blank")}}}},"./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-view-page-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useDocumentViewPageProps}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-v1-adapters"),a=n("@elementor/events"),s=n("@elementor/icons"),i=n("@wordpress/i18n");function useDocumentViewPageProps(){const e=(0,o.__useActiveDocument)(),{dispatchEvent:t,config:n}=(0,a.useMixpanel)();return{icon:s.EyeIcon,title:(0,i.__)("View Page","elementor"),onClick:()=>{const o=n?.names?.editorOne?.topBarPublishDropdown;o&&t?.(o,{app_type:n?.appTypes?.editor,window_name:n?.appTypes?.editor,interaction_type:n?.triggers?.click?.toLowerCase(),target_type:n?.targetTypes?.dropdownItem,target_name:n?.targetNames?.publishDropdown?.viewPage,interaction_result:n?.interactionResults?.actionSelected,target_location:n?.locations?.topBar?.replace(/\s+/g,"_").toLowerCase(),location_l1:n?.secondaryLocations?.publishDropdown?.replace(/\s+/g,"_").toLowerCase(),location_l2:n?.targetTypes?.dropdownItem}),e?.id&&(0,r.__privateRunCommand)("editor/documents/view",{id:e.id})}}}},"./packages/packages/core/editor-app-bar/src/extensions/documents-save/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/components/primary-action.tsx"),a=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts"),s=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-save-draft-props.ts"),i=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-save-template-props.ts"),c=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-view-as-markdown-props.ts"),p=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-view-page-props.ts"),l=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/locations.ts");function init(){(0,o.injectIntoPrimaryAction)({id:"document-primary-action",component:r.default}),l.documentOptionsMenu.registerAction({group:"save",id:"document-save-draft",priority:10,useProps:s.default}),l.documentOptionsMenu.registerAction({group:"save",id:"document-save-as-template",priority:20,useProps:i.default}),l.documentOptionsMenu.registerAction({id:"document-copy-and-share",priority:10,useProps:a.default}),l.documentOptionsMenu.registerAction({id:"document-view-page",priority:50,useProps:p.default}),l.documentOptionsMenu.registerAction({id:"document-view-as-markdown",priority:60,useProps:c.default})}},"./packages/packages/core/editor-app-bar/src/extensions/documents-save/locations.ts":function(e,t,n){n.r(t),n.d(t,{documentOptionsMenu:function(){return i}});var o=n("@elementor/menus"),r=n("./packages/packages/core/editor-app-bar/src/components/actions/action.tsx"),a=n("./packages/packages/core/editor-app-bar/src/components/actions/link.tsx"),s=n("./packages/packages/core/editor-app-bar/src/components/actions/toggle-action.tsx");const i=(0,o.createMenu)({groups:["save"],components:{Action:r.default,ToggleAction:s.default,Link:a.default}})},"./packages/packages/core/editor-app-bar/src/extensions/documents-settings/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-v1-adapters"),a=n("@elementor/icons"),s=n("@wordpress/i18n");function useActionProps(){const e=(0,o.__useActiveDocument)(),t=(0,o.__useHostDocument)(),{isActive:n,isBlocked:i}=(0,r.__privateUseRouteStatus)("panel/page-settings"),c=e&&"kit"!==e.type.value?e:t;return{title:c?(0,s.__)("%s Settings","elementor").replace("%s",c.type.label):(0,s.__)("Document Settings","elementor"),icon:a.FileSettingsIcon,onClick:()=>{if(!c)return;const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.documentSettings,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations["document-settings"],trigger:t.triggers.click,element:t.elements.buttonIcon}),(0,r.__privateOpenRoute)("panel/page-settings/settings")},selected:n,disabled:i||!c}}},"./packages/packages/core/editor-app-bar/src/extensions/documents-settings/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/documents-settings/hooks/use-action-props.ts");function init(){o.toolsMenu.registerToggleAction({id:"document-settings-button",priority:3,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/elements/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/icons"),a=n("@wordpress/i18n");function useActionProps(){const{isActive:e,isBlocked:t}=(0,o.__privateUseRouteStatus)("panel/elements");return{title:(0,a.__)("Add Element","elementor"),icon:r.PlusIcon,onClick:()=>{const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.widgetPanel,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations["widget-panel"],trigger:t.triggers.toggleClick,element:t.elements.buttonIcon}),(0,o.__privateOpenRoute)("panel/elements/categories")},selected:e,disabled:t}}},"./packages/packages/core/editor-app-bar/src/extensions/elements/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/elements/hooks/use-action-props.ts"),a=n("./packages/packages/core/editor-app-bar/src/extensions/elements/sync/sync-panel-title.ts");function init(){(0,a.default)(),o.toolsMenu.registerToggleAction({id:"open-elements-panel",priority:1,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/elements/sync/sync-panel-title.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return syncPanelTitle}});var o=n("@elementor/editor-v1-adapters"),r=n("@wordpress/i18n");function syncPanelTitle(){const e=(0,r.__)("Elements","elementor"),t=(0,r.__)("Widgets","elementor");(0,o.__privateListenTo)((0,o.routeOpenEvent)("panel/elements"),()=>{setPanelTitle(e),setTabTitle(t)}),(0,o.__privateListenTo)((0,o.v1ReadyEvent)(),()=>{(0,o.__privateIsRouteActive)("panel/elements")&&(setPanelTitle(e),setTabTitle(t))})}function setPanelTitle(e){window.elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.(e)}function setTabTitle(e){const t=document.querySelector('.elementor-component-tab[data-tab="categories"]');t&&(t.textContent=e)}},"./packages/packages/core/editor-app-bar/src/extensions/feedback/feedback-consts.ts":function(e,t,n){n.r(t),n.d(t,{EXPERIMENT_NAME:function(){return o},FEEDBACK_TOGGLE_EVENT:function(){return r}});const o="in_editor_feedback",r="elementor/open-feedback"},"./packages/packages/core/editor-app-bar/src/extensions/feedback/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/icons"),a=n("@wordpress/i18n"),s=n("./packages/packages/core/editor-app-bar/src/locations.ts"),i=n("./packages/packages/core/editor-app-bar/src/extensions/feedback/feedback-consts.ts");function init(){(0,o.isExperimentActive)(i.EXPERIMENT_NAME)&&s.mainMenu.registerAction({id:"open-send-feedback",group:"help",priority:20,useProps:()=>({icon:r.MessageLinesIcon,title:(0,a.__)("Send Feedback","elementor"),onClick:()=>{dispatchEvent(new CustomEvent(i.FEEDBACK_TOGGLE_EVENT))}})})}},"./packages/packages/core/editor-app-bar/src/extensions/finder/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/icons"),a=n("@wordpress/i18n");function useActionProps(){return{title:(0,a.__)("Finder","elementor"),icon:r.SearchIcon,onClick:()=>{const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.finder,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations.finder,trigger:t.triggers.toggleClick,element:t.elements.buttonIcon}),(0,o.__privateRunCommand)("finder/toggle")}}}},"./packages/packages/core/editor-app-bar/src/extensions/finder/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/finder/hooks/use-action-props.ts");function init(){o.utilitiesMenu.registerAction({id:"toggle-finder",priority:15,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/help/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/icons"),r=n("@wordpress/i18n");function useActionProps(){return{title:(0,r.__)("Help Center","elementor"),href:"https://go.elementor.com/editor-top-bar-learn/",icon:o.HelpIcon,target:"_blank",onClick:()=>{const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.help,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations.help,trigger:t.triggers.click,element:t.elements.buttonIcon})}}}},"./packages/packages/core/editor-app-bar/src/extensions/help/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/help/hooks/use-action-props.ts");function init(){o.mainMenu.registerLink({id:"open-help-center",group:"help",priority:10,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/history/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/icons"),a=n("@wordpress/i18n");function useActionProps(){const{isActive:e,isBlocked:t}=(0,o.__privateUseRouteStatus)("panel/history");return{title:(0,a.__)("History","elementor"),icon:r.HistoryIcon,onClick:()=>{const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.history,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations.elementorLogo,trigger:t.triggers.click,element:t.elements.link}),(0,o.__privateOpenRoute)("panel/history/actions")},selected:e,disabled:t}}},"./packages/packages/core/editor-app-bar/src/extensions/history/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/history/hooks/use-action-props.ts");function init(){o.toolsMenu.registerToggleAction({id:"open-history",priority:15,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/extensions/angie/index.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/connect/index.ts"),a=n("./packages/packages/core/editor-app-bar/src/extensions/documents-preview/index.ts"),s=n("./packages/packages/core/editor-app-bar/src/extensions/documents-save/index.ts"),i=n("./packages/packages/core/editor-app-bar/src/extensions/documents-settings/index.ts"),c=n("./packages/packages/core/editor-app-bar/src/extensions/elements/index.ts"),p=n("./packages/packages/core/editor-app-bar/src/extensions/feedback/index.ts"),l=n("./packages/packages/core/editor-app-bar/src/extensions/finder/index.ts"),u=n("./packages/packages/core/editor-app-bar/src/extensions/help/index.ts"),d=n("./packages/packages/core/editor-app-bar/src/extensions/history/index.ts"),m=n("./packages/packages/core/editor-app-bar/src/extensions/keyboard-shortcuts/index.ts"),g=n("./packages/packages/core/editor-app-bar/src/extensions/responsive/index.ts"),f=n("./packages/packages/core/editor-app-bar/src/extensions/site-settings/index.ts"),k=n("./packages/packages/core/editor-app-bar/src/extensions/structure/index.ts"),v=n("./packages/packages/core/editor-app-bar/src/extensions/theme-builder/index.ts"),_=n("./packages/packages/core/editor-app-bar/src/extensions/user-preferences/index.ts"),b=n("./packages/packages/core/editor-app-bar/src/extensions/wordpress/index.ts");function init(){(0,o.init)(),(0,a.init)(),(0,s.init)(),(0,i.init)(),(0,c.init)(),(0,l.init)(),(0,u.init)(),(0,d.init)(),(0,m.init)(),(0,g.init)(),(0,f.init)(),(0,p.init)(),(0,k.init)(),(0,v.init)(),(0,_.init)(),(0,b.init)(),(0,r.init)()}},"./packages/packages/core/editor-app-bar/src/extensions/keyboard-shortcuts/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/icons"),a=n("@wordpress/i18n");function useActionProps(){return{icon:r.KeyboardIcon,title:(0,a.__)("Keyboard Shortcuts","elementor"),onClick:()=>{const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.keyboardShortcuts,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations.elementorLogo,trigger:t.triggers.click,element:t.elements.link}),(0,o.__privateRunCommand)("shortcuts/open")}}}},"./packages/packages/core/editor-app-bar/src/extensions/keyboard-shortcuts/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/keyboard-shortcuts/hooks/use-action-props.ts");function init(){o.mainMenu.registerAction({id:"open-keyboard-shortcuts",group:"default",priority:40,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/responsive/components/breakpoints-switcher.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return BreakpointsSwitcher}});var o=n("react"),r=n("@elementor/editor-responsive"),a=n("@elementor/icons"),s=n("@elementor/ui"),i=n("@wordpress/i18n");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function BreakpointsSwitcher(){const e=(0,r.useBreakpoints)(),t=(0,r.useActiveBreakpoint)(),n=(0,r.useActivateBreakpoint)();if(!e.length||!t)return null;return o.createElement(s.Tabs,{textColor:"inherit",indicatorColor:"secondary",value:t,onChange:(e,t)=>{const o=window,r=o?.elementorCommon?.eventsManager?.config;r&&o.elementorCommon.eventsManager.dispatchEvent(r.names.topBar.responsiveControls,{location:r.locations.topBar,secondaryLocation:r.secondaryLocations.responsiveControls,trigger:r.triggers.click,element:r.elements.buttonIcon,mode:t}),n(t)},"aria-label":(0,i.__)("Switch Device","elementor"),sx:{"& .MuiTabs-indicator":{backgroundColor:"text.primary"}}},e.map(({id:e,label:t,type:n,width:r})=>{const a=c[e],i=p[n||"default"].replace("%s",t).replace("%d",r?.toString()||"");return o.createElement(s.Tab,{value:e,key:e,"aria-label":i,icon:o.createElement(Tooltip,{title:i},o.createElement(a,null)),sx:{minWidth:"auto"},"data-testid":`switch-device-to-${e}`})}))}function Tooltip(e){return o.createElement(s.Tooltip,_extends({PopperProps:{sx:{"&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom":{mt:2.5}}}},e))}const c={widescreen:a.WidescreenIcon,desktop:a.DesktopIcon,laptop:a.LaptopIcon,tablet_extra:a.TabletLandscapeIcon,tablet:a.TabletPortraitIcon,mobile_extra:a.MobileLandscapeIcon,mobile:a.MobilePortraitIcon},p={default:"%s","min-width":(0,i.__)("%s (%dpx and up)","elementor"),"max-width":(0,i.__)("%s (up to %dpx)","elementor")}},"./packages/packages/core/editor-app-bar/src/extensions/responsive/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/responsive/components/breakpoints-switcher.tsx");function init(){(0,o.injectIntoResponsive)({id:"responsive-breakpoints-switcher",component:r.default,options:{priority:20}})}},"./packages/packages/core/editor-app-bar/src/extensions/site-settings/components/portal.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Portal}});var o=n("react"),r=n("@elementor/editor-v1-adapters"),a=n("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function Portal(e){const t=(0,r.__privateUseListenTo)([(0,r.routeOpenEvent)("panel/global"),(0,r.routeCloseEvent)("panel/global")],getContainerRef);return t.current?o.createElement(a.Portal,_extends({container:t.current},e)):null}function getContainerRef(){return(0,r.__privateIsRouteActive)("panel/global")?{current:document.querySelector("#elementor-panel-inner")}:{current:null}}},"./packages/packages/core/editor-app-bar/src/extensions/site-settings/components/portalled-primary-action.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PortalledPrimaryAction}});var o=n("react"),r=n("./packages/packages/core/editor-app-bar/src/extensions/site-settings/components/portal.tsx"),a=n("./packages/packages/core/editor-app-bar/src/extensions/site-settings/components/primary-action.tsx");function PortalledPrimaryAction(){return o.createElement(r.default,null,o.createElement(a.default,null))}},"./packages/packages/core/editor-app-bar/src/extensions/site-settings/components/primary-action.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PrimaryAction}});var o=n("react"),r=n("@elementor/editor-documents"),a=n("@elementor/ui"),s=n("@wordpress/i18n");function PrimaryAction(){const e=(0,r.__useActiveDocument)(),{save:t}=(0,r.__useActiveDocumentActions)();return o.createElement(a.Paper,{sx:{px:5,py:4,borderTop:1,borderColor:"divider"}},o.createElement(a.Button,{variant:"contained",disabled:!e||!e.isDirty,size:"medium",sx:{width:"100%"},onClick:()=>e&&!e.isSaving?t():null},e?.isSaving?o.createElement(a.CircularProgress,null):(0,s.__)("Save Changes","elementor")))}},"./packages/packages/core/editor-app-bar/src/extensions/site-settings/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/icons"),a=n("@wordpress/i18n");function useActionProps(){const{isActive:e,isBlocked:t}=(0,o.__privateUseRouteStatus)("panel/global",{blockOnKitRoutes:!1});return{title:(0,a.__)("Site Settings","elementor"),icon:r.SettingsIcon,onClick:()=>{const t=window,n=t?.elementorCommon?.eventsManager?.config;n&&t.elementorCommon.eventsManager.dispatchEvent(n.names.topBar.siteSettings,{location:n.locations.topBar,secondaryLocation:n.secondaryLocations.siteSettings,trigger:n.triggers.toggleClick,element:n.elements.buttonIcon}),e?(0,o.__privateRunCommand)("panel/global/close"):(0,o.__privateRunCommand)("panel/global/open")},selected:e,disabled:t}}},"./packages/packages/core/editor-app-bar/src/extensions/site-settings/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("@elementor/editor"),r=n("./packages/packages/core/editor-app-bar/src/locations.ts"),a=n("./packages/packages/core/editor-app-bar/src/extensions/site-settings/components/portalled-primary-action.tsx"),s=n("./packages/packages/core/editor-app-bar/src/extensions/site-settings/hooks/use-action-props.ts");function init(){(0,o.injectIntoTop)({id:"site-settings-primary-action-portal",component:a.default}),r.mainMenu.registerToggleAction({id:"toggle-site-settings",group:"default",priority:1,useProps:s.default})}},"./packages/packages/core/editor-app-bar/src/extensions/structure/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/icons"),a=n("@wordpress/i18n");function useActionProps(){const{isActive:e,isBlocked:t}=(0,o.__privateUseRouteStatus)("navigator");return{title:(0,a.__)("Structure","elementor"),icon:r.StructureIcon,onClick:()=>{const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.structure,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations.structure,trigger:t.triggers.toggleClick,element:t.elements.buttonIcon}),(0,o.__privateRunCommand)("navigator/toggle")},selected:e,disabled:t}}},"./packages/packages/core/editor-app-bar/src/extensions/structure/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/structure/hooks/use-action-props.ts");function init(){o.utilitiesMenu.registerToggleAction({id:"toggle-structure-view",priority:25,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/theme-builder/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/icons"),a=n("@wordpress/i18n");function useActionProps(){return{icon:r.ThemeBuilderIcon,title:(0,a.__)("Theme Builder","elementor"),onClick:()=>{const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.themeBuilder,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations.elementorLogo,trigger:t.triggers.click,element:t.elements.link}),(0,o.__privateRunCommand)("app/open")}}}},"./packages/packages/core/editor-app-bar/src/extensions/theme-builder/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/theme-builder/hooks/use-action-props.ts");function init(){o.mainMenu.registerAction({id:"open-theme-builder",group:"default",priority:10,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/user-preferences/hooks/use-action-props.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useActionProps}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/icons"),a=n("@wordpress/i18n");function useActionProps(){const{isActive:e,isBlocked:t}=(0,o.__privateUseRouteStatus)("panel/editor-preferences");return{icon:r.ToggleRightIcon,title:(0,a.__)("User Preferences","elementor"),onClick:()=>{const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.userPreferences,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations.elementorLogo,trigger:t.triggers.click,element:t.elements.link}),(0,o.__privateOpenRoute)("panel/editor-preferences")},selected:e,disabled:t}}},"./packages/packages/core/editor-app-bar/src/extensions/user-preferences/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("./packages/packages/core/editor-app-bar/src/locations.ts"),r=n("./packages/packages/core/editor-app-bar/src/extensions/user-preferences/hooks/use-action-props.ts");function init(){o.mainMenu.registerToggleAction({id:"open-user-preferences",group:"default",priority:30,useProps:r.default})}},"./packages/packages/core/editor-app-bar/src/extensions/wordpress/index.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("@elementor/editor-documents"),r=n("@elementor/icons"),a=n("@wordpress/i18n"),s=n("./packages/packages/core/editor-app-bar/src/locations.ts");function init(){s.mainMenu.registerLink({id:"exit-to-wordpress",group:"exits",priority:20,useProps:()=>{const e=(0,o.__useActiveDocument)();return{title:(0,a.__)("Exit to WordPress","elementor"),href:e?.links?.platformEdit,icon:r.WordpressIcon,onClick:()=>{const e=window,t=e?.elementorCommon?.eventsManager?.config;t&&e.elementorCommon.eventsManager.dispatchEvent(t.names.topBar.exitToWordpress,{location:t.locations.topBar,secondaryLocation:t.secondaryLocations.elementorLogo,trigger:t.triggers.click,element:t.elements.link})}}}})}},"./packages/packages/core/editor-app-bar/src/init.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("@elementor/editor"),r=n("./packages/packages/core/editor-app-bar/src/components/app-bar.tsx"),a=n("./packages/packages/core/editor-app-bar/src/extensions/index.ts"),s=n("./packages/packages/core/editor-app-bar/src/sync/redirect-old-menus.ts");function init(){(0,s.default)(),(0,a.init)(),(0,o.injectIntoTop)({id:"app-bar",component:r.default})}},"./packages/packages/core/editor-app-bar/src/locations.ts":function(e,t,n){n.r(t),n.d(t,{PageIndicationSlot:function(){return p},PrimaryActionSlot:function(){return m},ResponsiveSlot:function(){return u},injectIntoPageIndication:function(){return c},injectIntoPrimaryAction:function(){return d},injectIntoResponsive:function(){return l},integrationsMenu:function(){return _},mainMenu:function(){return f},toolsMenu:function(){return k},utilitiesMenu:function(){return v}});var o=n("@elementor/locations"),r=n("@elementor/menus"),a=n("./packages/packages/core/editor-app-bar/src/components/actions/action.tsx"),s=n("./packages/packages/core/editor-app-bar/src/components/actions/link.tsx"),i=n("./packages/packages/core/editor-app-bar/src/components/actions/toggle-action.tsx");const{inject:c,Slot:p}=(0,o.createLocation)(),{inject:l,Slot:u}=(0,o.createLocation)(),{inject:d,Slot:m}=(0,o.createLocation)(),g={Action:a.default,ToggleAction:i.default,Link:s.default},f=(0,r.createMenu)({groups:["help","exits"],components:g}),k=(0,r.createMenu)({components:g}),v=(0,r.createMenu)({components:g}),_=(0,r.createMenu)({components:g})},"./packages/packages/core/editor-app-bar/src/sync/redirect-old-menus.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return redirectOldMenus}});var o=n("@elementor/editor-v1-adapters");function redirectOldMenus(){(0,o.__privateListenTo)((0,o.routeOpenEvent)("panel/menu"),()=>{(0,o.__privateOpenRoute)("panel/elements/categories")})}},"@elementor/editor":function(e){e.exports=window.elementorV2.editor},"@elementor/editor-current-user":function(e){e.exports=window.elementorV2.editorCurrentUser},"@elementor/editor-documents":function(e){e.exports=window.elementorV2.editorDocuments},"@elementor/editor-mcp":function(e){e.exports=window.elementorV2.editorMcp},"@elementor/editor-responsive":function(e){e.exports=window.elementorV2.editorResponsive},"@elementor/editor-ui":function(e){e.exports=window.elementorV2.editorUi},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/events":function(e){e.exports=window.elementorV2.events},"@elementor/http-client":function(e){e.exports=window.elementorV2.httpClient},"@elementor/icons":function(e){e.exports=window.elementorV2.icons},"@elementor/locations":function(e){e.exports=window.elementorV2.locations},"@elementor/menus":function(e){e.exports=window.elementorV2.menus},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},"@wordpress/i18n":function(e){e.exports=window.wp.i18n},react:function(e){e.exports=window.React}},t={};function __webpack_require__(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){__webpack_require__.r(n),__webpack_require__.d(n,{documentOptionsMenu:function(){return t.documentOptionsMenu},init:function(){return o.init},injectIntoPageIndication:function(){return e.injectIntoPageIndication},injectIntoPrimaryAction:function(){return e.injectIntoPrimaryAction},injectIntoResponsive:function(){return e.injectIntoResponsive},integrationsMenu:function(){return e.integrationsMenu},mainMenu:function(){return e.mainMenu},toolsMenu:function(){return e.toolsMenu},utilitiesMenu:function(){return e.utilitiesMenu}});var e=__webpack_require__("./packages/packages/core/editor-app-bar/src/locations.ts"),t=__webpack_require__("./packages/packages/core/editor-app-bar/src/extensions/documents-save/locations.ts"),o=__webpack_require__("./packages/packages/core/editor-app-bar/src/init.ts")}(),(window.elementorV2=window.elementorV2||{}).editorAppBar=n}(),window.elementorV2.editorAppBar?.init?.();
940 +`;
941 + function PrimaryActionMenu(props) {
942 + const { save: saveActions, default: defaultActions } = useMenuItems();
943 + return /* @__PURE__ */ react.createElement(StyledPopoverMenu, {
944 + ...props,
945 + anchorOrigin: {
946 + vertical: "bottom",
947 + horizontal: "right"
948 + },
949 + transformOrigin: {
950 + vertical: "top",
951 + horizontal: "right"
952 + },
953 + marginThreshold: 4,
954 + PaperProps: { sx: { mt: .5 } }
955 + }, saveActions.map(({ MenuItem, id }, index) => [index > 0 && /* @__PURE__ */ react.createElement(_elementor_ui.Divider, { key: `${id}-divider` }), /* @__PURE__ */ react.createElement(MenuItem, { key: id })]), saveActions.length > 0 && defaultActions.length > 0 && /* @__PURE__ */ react.createElement(_elementor_ui.Divider, null), defaultActions.map(({ MenuItem, id }, index) => [index > 0 && /* @__PURE__ */ react.createElement(_elementor_ui.Divider, { key: `${id}-divider` }), /* @__PURE__ */ react.createElement(MenuItem, { key: id })]));
956 + }
957 +
958 +//#endregion
959 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-save/components/primary-action.tsx
960 + function PrimaryAction$1() {
961 + const document = (0, _elementor_editor_documents.__useActiveDocument)();
962 + const { save } = (0, _elementor_editor_documents.__useActiveDocumentActions)();
963 + const isEditMode = (0, _elementor_editor_v1_adapters.useEditMode)() === "edit";
964 + const popupState = (0, _elementor_ui.usePopupState)({
965 + variant: "popover",
966 + popupId: "document-save-options"
967 + });
968 + if (!document) return null;
969 + const isPublishDisabled = !isEditMode || !isPublishEnabled(document);
970 + const isSaveOptionsDisabled = !isEditMode || document.type.value === "kit";
971 + const shouldShowSpinner = document.isSaving && !isPublishDisabled;
972 + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(_elementor_ui.ButtonGroup, {
973 + size: "large",
974 + variant: "contained"
975 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Button, {
976 + onClick: () => {
977 + const extendedWindow = window;
978 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
979 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.publishButton, {
980 + location: config.locations.topBar,
981 + secondaryLocation: config.secondaryLocations["publish-button"],
982 + trigger: config.triggers.click,
983 + element: config.elements.mainCta
984 + });
985 + if (!document.isSaving) save();
986 + },
987 + sx: {
988 + height: "100%",
989 + borderRadius: 0,
990 + maxWidth: "158px",
991 + "&.MuiButtonBase-root.MuiButtonGroup-grouped": { minWidth: "110px" }
992 + },
993 + disabled: isPublishDisabled
994 + }, shouldShowSpinner ? /* @__PURE__ */ react.createElement(_elementor_ui.CircularProgress, {
995 + color: "inherit",
996 + size: "1.5em"
997 + }) : getLabel(document)), /* @__PURE__ */ react.createElement(_elementor_ui.Tooltip, {
998 + title: (0, _wordpress_i18n.__)("Save Options", "elementor"),
999 + PopperProps: { sx: { "&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom": {
1000 + mt: 1,
1001 + mr: .25
1002 + } } }
1003 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Box, {
1004 + component: "span",
1005 + "aria-label": void 0
1006 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Button, {
1007 + size: "small",
1008 + ...(0, _elementor_ui.bindTrigger)(popupState),
1009 + sx: {
1010 + px: 0,
1011 + height: "100%",
1012 + borderRadius: 0
1013 + },
1014 + disabled: isSaveOptionsDisabled,
1015 + "aria-label": (0, _wordpress_i18n.__)("Save Options", "elementor")
1016 + }, /* @__PURE__ */ react.createElement(_elementor_icons.ChevronDownIcon, null))))), /* @__PURE__ */ react.createElement(PrimaryActionMenu, {
1017 + ...(0, _elementor_ui.bindMenu)(popupState),
1018 + onClick: popupState.close
1019 + }));
1020 + }
1021 + __name(PrimaryAction$1, "PrimaryAction");
1022 + function getLabel(document) {
1023 + return document.userCan.publish ? (0, _wordpress_i18n.__)("Publish", "elementor") : (0, _wordpress_i18n.__)("Submit", "elementor");
1024 + }
1025 + function isPublishEnabled(document) {
1026 + if (document.type.value === "kit") return false;
1027 + return document.isDirty || document.status.value === "draft";
1028 + }
1029 +
1030 +//#endregion
1031 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-copy-and-share-props.ts
1032 + function useDocumentCopyAndShareProps() {
1033 + const document = (0, _elementor_editor_documents.__useActiveDocument)();
1034 + const { copyAndShare } = (0, _elementor_editor_documents.__useActiveDocumentActions)();
1035 + const { dispatchEvent, config } = (0, _elementor_events.useMixpanel)();
1036 + return {
1037 + icon: _elementor_icons.LinkIcon,
1038 + title: (0, _wordpress_i18n.__)("Copy and Share", "elementor"),
1039 + onClick: () => {
1040 + const eventName = config?.names?.editorOne?.topBarPublishDropdown;
1041 + if (eventName) dispatchEvent?.(eventName, {
1042 + window_name: config?.appTypes?.editor,
1043 + interaction_type: config?.triggers?.click?.toLowerCase(),
1044 + target_type: config?.targetTypes?.dropdownItem,
1045 + target_name: config?.targetNames?.publishDropdown?.copyAndShare,
1046 + interaction_result: config?.interactionResults?.actionSelected,
1047 + target_location: config?.locations?.topBar?.replace(/\s+/g, "_").toLowerCase(),
1048 + location_l1: config?.secondaryLocations?.publishDropdown?.replace(/\s+/g, "_").toLowerCase(),
1049 + location_l2: config?.targetTypes?.dropdownItem
1050 + });
1051 + copyAndShare();
1052 + },
1053 + disabled: !document || document.isSaving || document.isSavingDraft || !("publish" === document.status.value),
1054 + visible: document?.permissions?.showCopyAndShare
1055 + };
1056 + }
1057 +
1058 +//#endregion
1059 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-save-draft-props.ts
1060 + function useDocumentSaveDraftProps() {
1061 + const document = (0, _elementor_editor_documents.__useActiveDocument)();
1062 + const { saveDraft } = (0, _elementor_editor_documents.__useActiveDocumentActions)();
1063 + const { dispatchEvent, config } = (0, _elementor_events.useMixpanel)();
1064 + return {
1065 + icon: _elementor_icons.FileReportIcon,
1066 + title: (0, _wordpress_i18n.__)("Save Draft", "elementor"),
1067 + onClick: () => {
1068 + const eventName = config?.names?.editorOne?.topBarPublishDropdown;
1069 + if (eventName) dispatchEvent?.(eventName, {
1070 + window_name: config?.appTypes?.editor,
1071 + interaction_type: config?.triggers?.click?.toLowerCase(),
1072 + target_type: config?.targetTypes?.dropdownItem,
1073 + target_name: config?.targetNames?.publishDropdown?.saveDraft,
1074 + interaction_result: config?.interactionResults?.actionSelected,
1075 + target_location: config?.locations?.topBar?.replace(/\s+/g, "_").toLowerCase(),
1076 + location_l1: config?.secondaryLocations?.publishDropdown?.replace(/\s+/g, "_").toLowerCase(),
1077 + location_l2: config?.targetTypes?.dropdownItem
1078 + });
1079 + saveDraft();
1080 + },
1081 + disabled: !document || document.isSaving || document.isSavingDraft || !document.isDirty
1082 + };
1083 + }
1084 +
1085 +//#endregion
1086 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-save-template-props.ts
1087 + function useDocumentSaveTemplateProps() {
1088 + const { saveTemplate } = (0, _elementor_editor_documents.__useActiveDocumentActions)();
1089 + const { dispatchEvent, config } = (0, _elementor_events.useMixpanel)();
1090 + return {
1091 + icon: _elementor_icons.FolderIcon,
1092 + title: (0, _wordpress_i18n.__)("Save as Template", "elementor"),
1093 + onClick: () => {
1094 + const eventName = config?.names?.editorOne?.topBarPublishDropdown;
1095 + if (eventName) dispatchEvent?.(eventName, {
1096 + window_name: config?.appTypes?.editor,
1097 + interaction_type: config?.triggers?.click?.toLowerCase(),
1098 + target_type: config?.targetTypes?.dropdownItem,
1099 + target_name: config?.targetNames?.publishDropdown?.saveAsTemplate,
1100 + interaction_result: config?.interactionResults?.actionSelected,
1101 + target_location: config?.locations?.topBar?.replace(/\s+/g, "_").toLowerCase(),
1102 + location_l1: config?.secondaryLocations?.publishDropdown?.replace(/\s+/g, "_").toLowerCase(),
1103 + location_l2: config?.targetTypes?.dropdownItem
1104 + });
1105 + saveTemplate();
1106 + }
1107 + };
1108 + }
1109 +
1110 +//#endregion
1111 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-save/hooks/use-document-view-page-props.ts
1112 + function useDocumentViewPageProps() {
1113 + const document = (0, _elementor_editor_documents.__useActiveDocument)();
1114 + const { dispatchEvent, config } = (0, _elementor_events.useMixpanel)();
1115 + return {
1116 + icon: _elementor_icons.EyeIcon,
1117 + title: (0, _wordpress_i18n.__)("View Page", "elementor"),
1118 + onClick: () => {
1119 + const eventName = config?.names?.editorOne?.topBarPublishDropdown;
1120 + if (eventName) dispatchEvent?.(eventName, {
1121 + window_name: config?.appTypes?.editor,
1122 + interaction_type: config?.triggers?.click?.toLowerCase(),
1123 + target_type: config?.targetTypes?.dropdownItem,
1124 + target_name: config?.targetNames?.publishDropdown?.viewPage,
1125 + interaction_result: config?.interactionResults?.actionSelected,
1126 + target_location: config?.locations?.topBar?.replace(/\s+/g, "_").toLowerCase(),
1127 + location_l1: config?.secondaryLocations?.publishDropdown?.replace(/\s+/g, "_").toLowerCase(),
1128 + location_l2: config?.targetTypes?.dropdownItem
1129 + });
1130 + if (document?.id) (0, _elementor_editor_v1_adapters.__privateRunCommand)("editor/documents/view", { id: document.id });
1131 + }
1132 + };
1133 + }
1134 +
1135 +//#endregion
1136 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-save/index.ts
1137 + function init$15() {
1138 + injectIntoPrimaryAction({
1139 + id: "document-primary-action",
1140 + component: PrimaryAction$1
1141 + });
1142 + documentOptionsMenu.registerAction({
1143 + group: "save",
1144 + id: "document-save-draft",
1145 + priority: 10,
1146 + useProps: useDocumentSaveDraftProps
1147 + });
1148 + documentOptionsMenu.registerAction({
1149 + group: "save",
1150 + id: "document-save-as-template",
1151 + priority: 20,
1152 + useProps: useDocumentSaveTemplateProps
1153 + });
1154 + documentOptionsMenu.registerAction({
1155 + id: "document-copy-and-share",
1156 + priority: 10,
1157 + useProps: useDocumentCopyAndShareProps
1158 + });
1159 + documentOptionsMenu.registerAction({
1160 + id: "document-view-page",
1161 + priority: 50,
1162 + useProps: useDocumentViewPageProps
1163 + });
1164 + }
1165 + __name(init$15, "init");
1166 +
1167 +//#endregion
1168 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-settings/hooks/use-action-props.ts
1169 + function useActionProps$9() {
1170 + const activeDocument = (0, _elementor_editor_documents.__useActiveDocument)();
1171 + const hostDocument = (0, _elementor_editor_documents.__useHostDocument)();
1172 + const { isActive, isBlocked } = (0, _elementor_editor_v1_adapters.__privateUseRouteStatus)("panel/page-settings");
1173 + const document = activeDocument && activeDocument.type.value !== "kit" ? activeDocument : hostDocument;
1174 + return {
1175 + title: document ? (0, _wordpress_i18n.__)("%s Settings", "elementor").replace("%s", document.type.label) : (0, _wordpress_i18n.__)("Document Settings", "elementor"),
1176 + icon: _elementor_icons.FileSettingsIcon,
1177 + onClick: () => {
1178 + if (!document) return;
1179 + const extendedWindow = window;
1180 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1181 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.documentSettings, {
1182 + location: config.locations.topBar,
1183 + secondaryLocation: config.secondaryLocations["document-settings"],
1184 + trigger: config.triggers.click,
1185 + element: config.elements.buttonIcon
1186 + });
1187 + (0, _elementor_editor_v1_adapters.__privateOpenRoute)("panel/page-settings/settings");
1188 + },
1189 + selected: isActive,
1190 + disabled: isBlocked || !document
1191 + };
1192 + }
1193 + __name(useActionProps$9, "useActionProps");
1194 +
1195 +//#endregion
1196 +//#region packages/packages/core/editor-app-bar/src/extensions/documents-settings/index.ts
1197 + function init$14() {
1198 + toolsMenu.registerToggleAction({
1199 + id: "document-settings-button",
1200 + priority: 5,
1201 + useProps: useActionProps$9
1202 + });
1203 + }
1204 + __name(init$14, "init");
1205 +
1206 +//#endregion
1207 +//#region packages/packages/core/editor-app-bar/src/extensions/elements/hooks/use-action-props.ts
1208 + function useActionProps$8() {
1209 + const { isActive, isBlocked } = (0, _elementor_editor_v1_adapters.__privateUseRouteStatus)("panel/elements");
1210 + return {
1211 + title: (0, _wordpress_i18n.__)("Add Element", "elementor"),
1212 + icon: _elementor_icons.PlusIcon,
1213 + id: "ele-add-element",
1214 + onClick: () => {
1215 + const extendedWindow = window;
1216 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1217 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.widgetPanel, {
1218 + location: config.locations.topBar,
1219 + secondaryLocation: config.secondaryLocations["widget-panel"],
1220 + trigger: config.triggers.toggleClick,
1221 + element: config.elements.buttonIcon
1222 + });
1223 + (0, _elementor_editor_v1_adapters.__privateOpenRoute)("panel/elements/categories");
1224 + },
1225 + selected: isActive,
1226 + disabled: isBlocked
1227 + };
1228 + }
1229 + __name(useActionProps$8, "useActionProps");
1230 +
1231 +//#endregion
1232 +//#region packages/packages/core/editor-app-bar/src/extensions/elements/sync/sync-panel-title.ts
1233 + function syncPanelTitle() {
1234 + const panelTitle = (0, _wordpress_i18n.__)("Elements", "elementor");
1235 + const tabTitle = (0, _wordpress_i18n.__)("Widgets", "elementor");
1236 + (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.routeOpenEvent)("panel/elements"), () => {
1237 + setPanelTitle(panelTitle);
1238 + setTabTitle(tabTitle);
1239 + });
1240 + (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.v1ReadyEvent)(), () => {
1241 + if ((0, _elementor_editor_v1_adapters.__privateIsRouteActive)("panel/elements")) {
1242 + setPanelTitle(panelTitle);
1243 + setTabTitle(tabTitle);
1244 + }
1245 + });
1246 + }
1247 + function setPanelTitle(title) {
1248 + window.elementor?.getPanelView?.()?.getHeaderView?.()?.setTitle?.(title);
1249 + }
1250 + function setTabTitle(title) {
1251 + const tab = document.querySelector(".elementor-component-tab[data-tab=\"categories\"]");
1252 + if (tab) tab.textContent = title;
1253 + }
1254 +
1255 +//#endregion
1256 +//#region packages/packages/core/editor-app-bar/src/extensions/elements/index.ts
1257 + function init$13() {
1258 + syncPanelTitle();
1259 + toolsMenu.registerToggleAction({
1260 + id: "open-elements-panel",
1261 + priority: 1,
1262 + useProps: useActionProps$8
1263 + });
1264 + }
1265 + __name(init$13, "init");
1266 +
1267 +//#endregion
1268 +//#region packages/packages/core/editor-app-bar/src/extensions/feedback/index.ts
1269 + function init$12() {
1270 + if (!(0, _elementor_editor_v1_adapters.isExperimentActive)("in_editor_feedback")) return;
1271 + mainMenu.registerAction({
1272 + id: "open-send-feedback",
1273 + group: "help",
1274 + priority: 20,
1275 + useProps: () => {
1276 + return {
1277 + icon: _elementor_icons.MessageLinesIcon,
1278 + title: (0, _wordpress_i18n.__)("Send Feedback", "elementor"),
1279 + onClick: () => {
1280 + dispatchEvent(new CustomEvent(FEEDBACK_TOGGLE_EVENT));
1281 + }
1282 + };
1283 + }
1284 + });
1285 + }
1286 + __name(init$12, "init");
1287 +
1288 +//#endregion
1289 +//#region packages/packages/core/editor-app-bar/src/extensions/finder/hooks/use-action-props.ts
1290 + function useActionProps$7() {
1291 + return {
1292 + title: (0, _wordpress_i18n.__)("Finder", "elementor"),
1293 + icon: _elementor_icons.SearchIcon,
1294 + onClick: () => {
1295 + const extendedWindow = window;
1296 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1297 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.finder, {
1298 + location: config.locations.topBar,
1299 + secondaryLocation: config.secondaryLocations.finder,
1300 + trigger: config.triggers.toggleClick,
1301 + element: config.elements.buttonIcon
1302 + });
1303 + (0, _elementor_editor_v1_adapters.__privateRunCommand)("finder/toggle");
1304 + }
1305 + };
1306 + }
1307 + __name(useActionProps$7, "useActionProps");
1308 +
1309 +//#endregion
1310 +//#region packages/packages/core/editor-app-bar/src/extensions/finder/index.ts
1311 + function init$11() {
1312 + utilitiesMenu.registerAction({
1313 + id: "toggle-finder",
1314 + priority: 15,
1315 + useProps: useActionProps$7
1316 + });
1317 + }
1318 + __name(init$11, "init");
1319 +
1320 +//#endregion
1321 +//#region packages/packages/core/editor-app-bar/src/extensions/help/hooks/use-action-props.ts
1322 + var HELP_CENTER_URL = "https://go.elementor.com/editor-top-bar-learn/";
1323 + var HELP_CENTER_ANGIE_PROMPT = `${(0, _wordpress_i18n.__)("Help me with", "elementor")} `;
1324 + var dispatchHelpClickEvent = () => {
1325 + const extendedWindow = window;
1326 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1327 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.help, {
1328 + location: config.locations.topBar,
1329 + secondaryLocation: config.secondaryLocations.help,
1330 + trigger: config.triggers.click,
1331 + element: config.elements.buttonIcon
1332 + });
1333 + };
1334 + function useActionProps$6() {
1335 + if ((0, _elementor_editor_mcp.isAngieAvailable)()) return {
1336 + title: (0, _wordpress_i18n.__)("Help Center", "elementor"),
1337 + icon: _elementor_icons.HelpIcon,
1338 + onClick: (event) => {
1339 + event.preventDefault();
1340 + dispatchHelpClickEvent();
1341 + (0, _elementor_editor_mcp.openAngieInAskMode)(HELP_CENTER_ANGIE_PROMPT);
1342 + }
1343 + };
1344 + return {
1345 + title: (0, _wordpress_i18n.__)("Help Center", "elementor"),
1346 + href: HELP_CENTER_URL,
1347 + icon: _elementor_icons.HelpIcon,
1348 + target: "_blank",
1349 + onClick: () => {
1350 + dispatchHelpClickEvent();
1351 + }
1352 + };
1353 + }
1354 + __name(useActionProps$6, "useActionProps");
1355 +
1356 +//#endregion
1357 +//#region packages/packages/core/editor-app-bar/src/extensions/help/index.ts
1358 + function init$10() {
1359 + mainMenu.registerLink({
1360 + id: "open-help-center",
1361 + group: "help",
1362 + priority: 10,
1363 + useProps: useActionProps$6
1364 + });
1365 + }
1366 + __name(init$10, "init");
1367 +
1368 +//#endregion
1369 +//#region packages/packages/core/editor-app-bar/src/extensions/history/hooks/use-action-props.ts
1370 + function useActionProps$5() {
1371 + const { isActive, isBlocked } = (0, _elementor_editor_v1_adapters.__privateUseRouteStatus)("panel/history");
1372 + return {
1373 + title: (0, _wordpress_i18n.__)("History", "elementor"),
1374 + icon: _elementor_icons.HistoryIcon,
1375 + onClick: () => {
1376 + const extendedWindow = window;
1377 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1378 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.history, {
1379 + location: config.locations.topBar,
1380 + secondaryLocation: config.secondaryLocations.elementorLogo,
1381 + trigger: config.triggers.click,
1382 + element: config.elements.link
1383 + });
1384 + (0, _elementor_editor_v1_adapters.__privateOpenRoute)("panel/history/actions");
1385 + },
1386 + selected: isActive,
1387 + disabled: isBlocked
1388 + };
1389 + }
1390 + __name(useActionProps$5, "useActionProps");
1391 +
1392 +//#endregion
1393 +//#region packages/packages/core/editor-app-bar/src/extensions/history/index.ts
1394 + function init$9() {
1395 + toolsMenu.registerToggleAction({
1396 + id: "open-history",
1397 + priority: 3,
1398 + useProps: useActionProps$5
1399 + });
1400 + }
1401 + __name(init$9, "init");
1402 +
1403 +//#endregion
1404 +//#region packages/packages/core/editor-app-bar/src/extensions/keyboard-shortcuts/hooks/use-action-props.ts
1405 + function useActionProps$4() {
1406 + return {
1407 + icon: _elementor_icons.KeyboardIcon,
1408 + title: (0, _wordpress_i18n.__)("Keyboard Shortcuts", "elementor"),
1409 + onClick: () => {
1410 + const extendedWindow = window;
1411 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1412 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.keyboardShortcuts, {
1413 + location: config.locations.topBar,
1414 + secondaryLocation: config.secondaryLocations.elementorLogo,
1415 + trigger: config.triggers.click,
1416 + element: config.elements.link
1417 + });
1418 + (0, _elementor_editor_v1_adapters.__privateRunCommand)("shortcuts/open");
1419 + }
1420 + };
1421 + }
1422 + __name(useActionProps$4, "useActionProps");
1423 +
1424 +//#endregion
1425 +//#region packages/packages/core/editor-app-bar/src/extensions/keyboard-shortcuts/index.ts
1426 + function init$8() {
1427 + mainMenu.registerAction({
1428 + id: "open-keyboard-shortcuts",
1429 + group: "default",
1430 + priority: 40,
1431 + useProps: useActionProps$4
1432 + });
1433 + }
1434 + __name(init$8, "init");
1435 +
1436 +//#endregion
1437 +//#region packages/packages/core/editor-app-bar/src/extensions/responsive/components/breakpoints-switcher.tsx
1438 + function BreakpointsSwitcher() {
1439 + const breakpoints = (0, _elementor_editor_responsive.useBreakpoints)();
1440 + const activeBreakpoint = (0, _elementor_editor_responsive.useActiveBreakpoint)();
1441 + const activateBreakpoint = (0, _elementor_editor_responsive.useActivateBreakpoint)();
1442 + if (!breakpoints.length || !activeBreakpoint) return null;
1443 + const onChange = (_, value) => {
1444 + const extendedWindow = window;
1445 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1446 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.responsiveControls, {
1447 + location: config.locations.topBar,
1448 + secondaryLocation: config.secondaryLocations.responsiveControls,
1449 + trigger: config.triggers.click,
1450 + element: config.elements.buttonIcon,
1451 + mode: value
1452 + });
1453 + activateBreakpoint(value);
1454 + };
1455 + return /* @__PURE__ */ react.createElement(_elementor_ui.Tabs, {
1456 + textColor: "inherit",
1457 + indicatorColor: "secondary",
1458 + value: activeBreakpoint,
1459 + onChange,
1460 + "aria-label": (0, _wordpress_i18n.__)("Switch Device", "elementor"),
1461 + sx: { "& .MuiTabs-indicator": { backgroundColor: "text.primary" } }
1462 + }, breakpoints.map(({ id, label, type, width }) => {
1463 + const Icon = iconsMap[id];
1464 + const title = labelsMap[type || "default"].replace("%s", label).replace("%d", width?.toString() || "");
1465 + return /* @__PURE__ */ react.createElement(_elementor_ui.Tab, {
1466 + value: id,
1467 + key: id,
1468 + "aria-label": title,
1469 + icon: /* @__PURE__ */ react.createElement(Tooltip, { title }, /* @__PURE__ */ react.createElement(Icon, null)),
1470 + sx: { minWidth: "auto" },
1471 + "data-testid": `switch-device-to-${id}`
1472 + });
1473 + }));
1474 + }
1475 + function Tooltip(props) {
1476 + return /* @__PURE__ */ react.createElement(_elementor_ui.Tooltip, {
1477 + PopperProps: { sx: { "&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom": { mt: 2.5 } } },
1478 + ...props
1479 + });
1480 + }
1481 + var iconsMap = {
1482 + widescreen: _elementor_icons.WidescreenIcon,
1483 + desktop: _elementor_icons.DesktopIcon,
1484 + laptop: _elementor_icons.LaptopIcon,
1485 + tablet_extra: _elementor_icons.TabletLandscapeIcon,
1486 + tablet: _elementor_icons.TabletPortraitIcon,
1487 + mobile_extra: _elementor_icons.MobileLandscapeIcon,
1488 + mobile: _elementor_icons.MobilePortraitIcon
1489 + };
1490 + var labelsMap = {
1491 + default: "%s",
1492 + "min-width": (0, _wordpress_i18n.__)("%s (%dpx and up)", "elementor"),
1493 + "max-width": (0, _wordpress_i18n.__)("%s (up to %dpx)", "elementor")
1494 + };
1495 +
1496 +//#endregion
1497 +//#region packages/packages/core/editor-app-bar/src/extensions/responsive/index.ts
1498 + function init$7() {
1499 + injectIntoResponsive({
1500 + id: "responsive-breakpoints-switcher",
1501 + component: BreakpointsSwitcher,
1502 + options: { priority: 20 }
1503 + });
1504 + }
1505 + __name(init$7, "init");
1506 +
1507 +//#endregion
1508 +//#region packages/packages/core/editor-app-bar/src/extensions/site-settings/components/portal.tsx
1509 + function Portal(props) {
1510 + const containerRef = (0, _elementor_editor_v1_adapters.__privateUseListenTo)([(0, _elementor_editor_v1_adapters.routeOpenEvent)("panel/global"), (0, _elementor_editor_v1_adapters.routeCloseEvent)("panel/global")], getContainerRef);
1511 + if (!containerRef.current) return null;
1512 + return /* @__PURE__ */ react.createElement(_elementor_ui.Portal, {
1513 + container: containerRef.current,
1514 + ...props
1515 + });
1516 + }
1517 + function getContainerRef() {
1518 + return (0, _elementor_editor_v1_adapters.__privateIsRouteActive)("panel/global") ? { current: document.querySelector("#elementor-panel-inner") } : { current: null };
1519 + }
1520 +
1521 +//#endregion
1522 +//#region packages/packages/core/editor-app-bar/src/extensions/site-settings/components/primary-action.tsx
1523 + function PrimaryAction() {
1524 + const document = (0, _elementor_editor_documents.__useActiveDocument)();
1525 + const { save } = (0, _elementor_editor_documents.__useActiveDocumentActions)();
1526 + return /* @__PURE__ */ react.createElement(_elementor_ui.Paper, { sx: {
1527 + px: 5,
1528 + py: 4,
1529 + borderTop: 1,
1530 + borderColor: "divider"
1531 + } }, /* @__PURE__ */ react.createElement(_elementor_ui.Button, {
1532 + variant: "contained",
1533 + disabled: !document || !document.isDirty,
1534 + size: "medium",
1535 + sx: { width: "100%" },
1536 + onClick: () => document && !document.isSaving ? save() : null
1537 + }, document?.isSaving ? /* @__PURE__ */ react.createElement(_elementor_ui.CircularProgress, null) : (0, _wordpress_i18n.__)("Save Changes", "elementor")));
1538 + }
1539 +
1540 +//#endregion
1541 +//#region packages/packages/core/editor-app-bar/src/extensions/site-settings/components/portalled-primary-action.tsx
1542 + function PortalledPrimaryAction() {
1543 + return /* @__PURE__ */ react.createElement(Portal, null, /* @__PURE__ */ react.createElement(PrimaryAction, null));
1544 + }
1545 +
1546 +//#endregion
1547 +//#region packages/packages/core/editor-app-bar/src/extensions/site-settings/hooks/use-action-props.ts
1548 + function useActionProps$3() {
1549 + const { isActive, isBlocked } = (0, _elementor_editor_v1_adapters.__privateUseRouteStatus)("panel/global", { blockOnKitRoutes: false });
1550 + return {
1551 + title: (0, _wordpress_i18n.__)("Site Settings", "elementor"),
1552 + icon: _elementor_icons.SettingsIcon,
1553 + onClick: () => {
1554 + const extendedWindow = window;
1555 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1556 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.siteSettings, {
1557 + location: config.locations.topBar,
1558 + secondaryLocation: config.secondaryLocations.siteSettings,
1559 + trigger: config.triggers.toggleClick,
1560 + element: config.elements.buttonIcon
1561 + });
1562 + if (isActive) (0, _elementor_editor_v1_adapters.__privateRunCommand)("panel/global/close");
1563 + else (0, _elementor_editor_v1_adapters.__privateRunCommand)("panel/global/open");
1564 + },
1565 + selected: isActive,
1566 + disabled: isBlocked
1567 + };
1568 + }
1569 + __name(useActionProps$3, "useActionProps");
1570 +
1571 +//#endregion
1572 +//#region packages/packages/core/editor-app-bar/src/extensions/site-settings/index.ts
1573 + function init$6() {
1574 + (0, _elementor_editor.injectIntoTop)({
1575 + id: "site-settings-primary-action-portal",
1576 + component: PortalledPrimaryAction
1577 + });
1578 + mainMenu.registerToggleAction({
1579 + id: "toggle-site-settings",
1580 + group: "default",
1581 + priority: 1,
1582 + useProps: useActionProps$3
1583 + });
1584 + }
1585 + __name(init$6, "init");
1586 +
1587 +//#endregion
1588 +//#region packages/packages/core/editor-app-bar/src/extensions/structure/hooks/use-action-props.ts
1589 + function useActionProps$2() {
1590 + const { isActive, isBlocked } = (0, _elementor_editor_v1_adapters.__privateUseRouteStatus)("navigator");
1591 + return {
1592 + title: (0, _wordpress_i18n.__)("Structure", "elementor"),
1593 + icon: _elementor_icons.StructureIcon,
1594 + onClick: () => {
1595 + const extendedWindow = window;
1596 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1597 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.structure, {
1598 + location: config.locations.topBar,
1599 + secondaryLocation: config.secondaryLocations.structure,
1600 + trigger: config.triggers.toggleClick,
1601 + element: config.elements.buttonIcon
1602 + });
1603 + (0, _elementor_editor_v1_adapters.__privateRunCommand)("navigator/toggle");
1604 + },
1605 + selected: isActive,
1606 + disabled: isBlocked
1607 + };
1608 + }
1609 + __name(useActionProps$2, "useActionProps");
1610 +
1611 +//#endregion
1612 +//#region packages/packages/core/editor-app-bar/src/extensions/structure/index.ts
1613 + function init$5() {
1614 + utilitiesMenu.registerToggleAction({
1615 + id: "toggle-structure-view",
1616 + priority: 25,
1617 + useProps: useActionProps$2
1618 + });
1619 + }
1620 + __name(init$5, "init");
1621 +
1622 +//#endregion
1623 +//#region packages/packages/core/editor-app-bar/src/extensions/theme-builder/hooks/use-action-props.ts
1624 + function useActionProps$1() {
1625 + return {
1626 + icon: _elementor_icons.ThemeBuilderIcon,
1627 + title: (0, _wordpress_i18n.__)("Theme Builder", "elementor"),
1628 + onClick: () => {
1629 + const extendedWindow = window;
1630 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1631 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.themeBuilder, {
1632 + location: config.locations.topBar,
1633 + secondaryLocation: config.secondaryLocations.elementorLogo,
1634 + trigger: config.triggers.click,
1635 + element: config.elements.link
1636 + });
1637 + (0, _elementor_editor_v1_adapters.__privateRunCommand)("app/open");
1638 + }
1639 + };
1640 + }
1641 + __name(useActionProps$1, "useActionProps");
1642 +
1643 +//#endregion
1644 +//#region packages/packages/core/editor-app-bar/src/extensions/theme-builder/index.ts
1645 + function init$4() {
1646 + mainMenu.registerAction({
1647 + id: "open-theme-builder",
1648 + group: "default",
1649 + priority: 10,
1650 + useProps: useActionProps$1
1651 + });
1652 + }
1653 + __name(init$4, "init");
1654 +
1655 +//#endregion
1656 +//#region packages/packages/core/editor-app-bar/src/extensions/user-preferences/hooks/use-action-props.ts
1657 + function useActionProps() {
1658 + const { isActive, isBlocked } = (0, _elementor_editor_v1_adapters.__privateUseRouteStatus)("panel/editor-preferences");
1659 + return {
1660 + icon: _elementor_icons.ToggleRightIcon,
1661 + title: (0, _wordpress_i18n.__)("User Preferences", "elementor"),
1662 + onClick: () => {
1663 + const extendedWindow = window;
1664 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1665 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.userPreferences, {
1666 + location: config.locations.topBar,
1667 + secondaryLocation: config.secondaryLocations.elementorLogo,
1668 + trigger: config.triggers.click,
1669 + element: config.elements.link
1670 + });
1671 + (0, _elementor_editor_v1_adapters.__privateOpenRoute)("panel/editor-preferences");
1672 + },
1673 + selected: isActive,
1674 + disabled: isBlocked
1675 + };
1676 + }
1677 +
1678 +//#endregion
1679 +//#region packages/packages/core/editor-app-bar/src/extensions/user-preferences/index.ts
1680 + function init$3() {
1681 + mainMenu.registerToggleAction({
1682 + id: "open-user-preferences",
1683 + group: "default",
1684 + priority: 30,
1685 + useProps: useActionProps
1686 + });
1687 + }
1688 + __name(init$3, "init");
1689 +
1690 +//#endregion
1691 +//#region packages/packages/core/editor-app-bar/src/extensions/wordpress/index.ts
1692 + function init$2() {
1693 + mainMenu.registerLink({
1694 + id: "exit-to-wordpress",
1695 + group: "exits",
1696 + priority: 20,
1697 + useProps: () => {
1698 + const document = (0, _elementor_editor_documents.__useActiveDocument)();
1699 + return {
1700 + title: (0, _wordpress_i18n.__)("Exit to WordPress", "elementor"),
1701 + href: document?.links?.platformEdit,
1702 + icon: _elementor_icons.WordpressIcon,
1703 + onClick: () => {
1704 + const extendedWindow = window;
1705 + const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1706 + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.exitToWordpress, {
1707 + location: config.locations.topBar,
1708 + secondaryLocation: config.secondaryLocations.elementorLogo,
1709 + trigger: config.triggers.click,
1710 + element: config.elements.link
1711 + });
1712 + }
1713 + };
1714 + }
1715 + });
1716 + }
1717 + __name(init$2, "init");
1718 +
1719 +//#endregion
1720 +//#region packages/packages/core/editor-app-bar/src/extensions/index.ts
1721 + function init$1() {
1722 + init$18();
1723 + init$16();
1724 + init$15();
1725 + init$14();
1726 + init$13();
1727 + init$11();
1728 + init$10();
1729 + init$9();
1730 + init$8();
1731 + init$7();
1732 + init$6();
1733 + init$12();
1734 + init$5();
1735 + init$4();
1736 + init$3();
1737 + init$2();
1738 + init$17();
1739 + }
1740 + __name(init$1, "init");
1741 +
1742 +//#endregion
1743 +//#region packages/packages/core/editor-app-bar/src/sync/redirect-old-menus.ts
1744 + function redirectOldMenus() {
1745 + (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.routeOpenEvent)("panel/menu"), () => {
1746 + (0, _elementor_editor_v1_adapters.__privateOpenRoute)("panel/elements/categories");
1747 + });
1748 + }
1749 +
1750 +//#endregion
1751 +//#region packages/packages/core/editor-app-bar/src/init.ts
1752 + function init() {
1753 + redirectOldMenus();
1754 + init$1();
1755 + (0, _elementor_editor.injectIntoTop)({
1756 + id: "app-bar",
1757 + component: AppBar
1758 + });
1759 + }
1760 +
1761 +//#endregion
1762 +//#region packages/packages/core/editor-app-bar/src/index.ts
1763 + var src_exports = /* @__PURE__ */ __exportAll({
1764 + documentOptionsMenu: () => documentOptionsMenu,
1765 + init: () => init,
1766 + injectIntoPageIndication: () => injectIntoPageIndication,
1767 + injectIntoPrimaryAction: () => injectIntoPrimaryAction,
1768 + injectIntoResponsive: () => injectIntoResponsive,
1769 + integrationsMenu: () => integrationsMenu,
1770 + mainMenu: () => mainMenu,
1771 + toolsMenu: () => toolsMenu,
1772 + utilitiesMenu: () => utilitiesMenu
1773 + });
1774 +
1775 +//#endregion
1776 +//#region \0elementor-package-library-entry
1777 + (window.elementorV2 = window.elementorV2 || {}).editorAppBar = src_exports;
1778 +
1779 +//#endregion
1780 +})(elementorV2.locations, elementorV2.menus, React, elementorV2.icons, elementorV2.ui, elementorV2.editor, elementorV2.editorDocuments, wp.i18n, elementorV2.editorCurrentUser, elementorV2.editorUi, elementorV2.events, elementorV2.editorV1Adapters, elementorV2.httpClient, elementorV2.editorMcp, elementorV2.editorResponsive);
1781 +window.elementorV2.editorAppBar?.init?.();
13 1782 //# sourceMappingURL=editor-app-bar.js.map