← 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 |