PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.0-dev2
Elementor Website Builder – more than just a page builder v3.35.0-dev2
4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 All 456 releases
← All changes | assets/js/packages/editor-components/editor-components.js +64 -1 4.1.0-beta2 → 3.35.0-dev2 View file →
@@ -1,3 +1,66 @@
1 1 /*! For license information please see editor-components.js.LICENSE.txt */
2 -!function(){"use strict";var e={"./packages/packages/core/editor-components/src/api.ts":function(e,t,n){n.r(t),n.d(t,{apiClient:function(){return c},getParams:function(){return getParams}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/http-client");const s="elementor/v1/components",getParams=e=>({action:"get_document_config",unique_id:`document-config-${e}`,data:{id:e}}),c={get:()=>(0,r.httpService)().get(`${s}`).then(e=>e.data.data),create:e=>(0,r.httpService)().post(`${s}`,e).then(e=>e.data.data),updateStatuses:(e,t)=>(0,r.httpService)().put(`${s}/status`,{ids:e,status:t}),getComponentConfig:e=>o.ajax.load(getParams(e)),invalidateComponentConfigCache:e=>o.ajax.invalidateCache(getParams(e)),getComponentLockStatus:async e=>await(0,r.httpService)().get(`${s}/lock-status`,{params:{componentId:e}}).then(e=>{const{is_current_user_allow_to_edit:t,locked_by:n}=e.data.data;return{isAllowedToSwitchDocument:t,lockedBy:n||""}}),lockComponent:async e=>await(0,r.httpService)().post(`${s}/lock`,{componentId:e}).then(e=>e.data),unlockComponent:async e=>await(0,r.httpService)().post(`${s}/unlock`,{componentId:e}).then(e=>e.data),getOverridableProps:async e=>await(0,r.httpService)().get(`${s}/overridable-props`,{params:{"componentIds[]":e}}).then(e=>e.data),updateArchivedComponents:async(e,t)=>await(0,r.httpService)().post(`${s}/archive`,{componentIds:e,status:t}).then(e=>e.data.data),updateComponentTitle:(e,t)=>(0,r.httpService)().post(`${s}/update-titles`,{components:e,status:t}).then(e=>e.data.data),validate:async e=>await(0,r.httpService)().post(`${s}/create-validate`,e).then(e=>e.data)}},"./packages/packages/core/editor-components/src/component-instance-transformer.ts":function(e,t,n){n.r(t),n.d(t,{componentInstanceTransformer:function(){return a}});var o=n("@elementor/editor-canvas"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts"),c=n("./packages/packages/core/editor-components/src/utils/component-document-data.ts");const a=(0,o.createTransformer)(async({component_id:e,overrides:t})=>{const n=(0,s.selectUnpublishedComponents)((0,r.__getState)()).find(({uid:t})=>t===e),o=t?.reduce((e,t)=>({...e,...t}),{});if(n)return{elements:structuredClone(n.elements),overrides:o};if("number"!=typeof e)throw new Error(`Component ID "${e}" not valid.`);const a=await(0,c.getComponentDocumentData)(e);return{elements:a?.elements??[],overrides:o}})},"./packages/packages/core/editor-components/src/component-overridable-transformer.ts":function(e,t,n){n.r(t),n.d(t,{componentOverridableTransformer:function(){return r}});var o=n("@elementor/editor-canvas");const r=(0,o.createTransformer)((e,t)=>{const{overrides:n}=t.renderContext??{},r=n?.[e.override_key];if(r){return function isOriginValueOverride(e){return"override"===e.$$type}(e.origin_value)?function transformOverride(e,t,n){const r=o.settingsTransformersRegistry.get("override");if(!r)return null;const s=r(e.origin_value.value,t);if(!s)return null;const[c]=Object.keys(s);return{[c]:n}}(e,t,r):r}return e.origin_value})},"./packages/packages/core/editor-components/src/component-override-transformer.ts":function(e,t,n){n.r(t),n.d(t,{componentOverrideTransformer:function(){return r}});var o=n("@elementor/editor-canvas");const r=(0,o.createTransformer)(e=>{const{override_key:t,override_value:n}=e;return{[t]:n}})},"./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentSearch:function(){return ComponentSearch}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),c=n("@wordpress/i18n"),a=n("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");const ComponentSearch=()=>{const{inputValue:e,handleChange:t}=(0,a.useSearch)();return o.createElement(s.Stack,{direction:"row",gap:.5,sx:{width:"100%",px:2,py:1.5}},o.createElement(s.Box,{sx:{flexGrow:1}},o.createElement(s.TextField,{role:"search",fullWidth:!0,size:"tiny",value:e,placeholder:(0,c.__)("Search","elementor"),onChange:e=>t(e.target.value),InputProps:{startAdornment:o.createElement(s.InputAdornment,{position:"start"},o.createElement(r.SearchIcon,{fontSize:"tiny"}))}})))}},"./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentItem:function(){return a},ComponentName:function(){return ComponentName}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/icons"),c=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 a=(0,o.forwardRef)(({component:e,disabled:t=!0,draggable:n,onDragStart:r,onDragEnd:a,onClick:p,isEditing:l=!1,error:d=null,nameSlot:m,endSlot:u,...g},v)=>o.createElement(c.ListItemButton,_extends({disabled:t,draggable:n,onDragStart:r,onDragEnd:a,shape:"rounded",ref:v,sx:{border:"solid 1px",borderColor:"divider",py:.5,px:1,display:"flex",width:"100%",alignItems:"center",gap:1}},g),o.createElement(c.Box,{display:"flex",alignItems:"center",gap:1,minWidth:0,flexGrow:1,onClick:p},o.createElement(c.ListItemIcon,{size:"tiny"},o.createElement(s.ComponentsIcon,{fontSize:"tiny"})),o.createElement(i,{isActive:l,isError:!!d},o.createElement(c.Box,{display:"flex",flex:1,minWidth:0,flexGrow:1},m??o.createElement(ComponentName,{name:e.name})))),u)),i=(0,c.styled)(c.Box,{shouldForwardProp:e=>"isActive"!==e&&"isError"!==e})(({theme:e,isActive:t,isError:n})=>({display:"flex",width:"100%",flexGrow:1,borderRadius:e.spacing(.5),border:getIndicatorBorder({isActive:t,isError:n,theme:e}),padding:`0 ${e.spacing(1)}`,marginLeft:t?e.spacing(1):0,minWidth:0})),getIndicatorBorder=({isActive:e,isError:t,theme:n})=>t?`2px solid ${n.palette.error.main}`:e?`2px solid ${n.palette.secondary.main}`:"none";function ComponentName({name:e,editable:t}){return t?.isEditing?o.createElement(r.EditableField,_extends({ref:t.ref,as:c.Typography,variant:"caption"},t.getProps())):o.createElement(r.EllipsisWithTooltip,{title:e,as:c.Typography,variant:"caption",color:"text.primary"})}},"./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsList:function(){return ComponentsList},EmptySearchResult:function(){return EmptySearchResult},useFilteredComponents:function(){return useFilteredComponents}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),c=n("@wordpress/i18n"),a=n("./packages/packages/core/editor-components/src/hooks/use-components.ts"),i=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts"),p=n("./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts"),l=n("./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx"),d=n("./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx"),m=n("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");const u={fontSize:"0.875rem !important",fontWeight:"500 !important"};function ComponentsList(){const{components:e,isLoading:t,searchValue:n}=useFilteredComponents();if(t)return o.createElement(d.LoadingComponents,null);return!e?.length?n.length?o.createElement(EmptySearchResult,null):(0,p.isProOutdatedForComponents)()?o.createElement(ProOutdatedEmptyState,null):(0,p.isProComponentsSupported)()?o.createElement(EmptyState,null):o.createElement(ProUpgradeEmptyState,null):o.createElement(s.List,{sx:{display:"flex",flexDirection:"column",gap:1,px:2}},e.map(e=>o.createElement(l.ComponentItem,{key:e.uid,component:e})))}const ProUpgradeEmptyState=()=>o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",sx:{px:2,py:4},gap:2,overflow:"hidden"},o.createElement(s.Stack,{alignItems:"center",gap:1},o.createElement(r.ComponentsIcon,{fontSize:"large",sx:{color:"text.secondary"}}),o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,c.__)("Create Reusable Components","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{maxWidth:200}},(0,c.__)("Create design elements that sync across your entire site.","elementor"))),o.createElement(s.Button,{variant:"contained",color:"promotion",size:"small",startIcon:o.createElement(r.CrownFilledIcon,null),href:"https://go.elementor.com/go-pro-components/",target:"_blank",rel:"noopener noreferrer"},(0,c.__)("Upgrade now","elementor"))),ProOutdatedEmptyState=()=>o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",sx:{px:2,py:4,maxWidth:268,m:"auto"},gap:2,overflow:"hidden"},o.createElement(s.Stack,{alignItems:"center",gap:1},o.createElement(r.ComponentsIcon,{fontSize:"large",sx:{color:"text.secondary"}}),o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,c.__)("Create Reusable Components","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary"},(0,c.__)("Create design elements that sync across your entire site.","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{mt:1}},(0,c.__)("To create components, update Elementor Pro to the latest version.","elementor"))),o.createElement(s.Button,{variant:"text",color:"info",size:"small",href:"/wp-admin/plugins.php",target:"_blank",rel:"noopener noreferrer"},(0,c.__)("Update Elementor Pro","elementor"))),EmptyState=()=>{const{canCreate:e}=(0,i.useComponentsPermissions)();return o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",sx:{px:2,py:4},gap:2,overflow:"hidden"},o.createElement(s.Stack,{alignItems:"center",gap:1},o.createElement(r.ComponentsIcon,{fontSize:"large",sx:{color:"text.secondary"}}),o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,c.__)("No components yet","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{maxWidth:200}},(0,c.__)("Components are reusable blocks that sync across your site.","elementor"),o.createElement("br",null),e?(0,c.__)("Create once, use everywhere.","elementor"):(0,c.__)("With your current role, you cannot create components. Contact an administrator to create one.","elementor")),o.createElement(s.Link,{href:"http://go.elementor.com/components-guide-article",target:"_blank",rel:"noopener noreferrer",variant:"caption",color:"info.main"},(0,c.__)("Learn more about components","elementor"))),e&&o.createElement(o.Fragment,null,o.createElement(s.Divider,{sx:{width:"100%"}}),o.createElement(s.Stack,{alignItems:"center",gap:1,width:"100%"},o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,c.__)("Create your first one:","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{maxWidth:228}},(0,c.__)('Right-click any div-block or flexbox on your canvas or structure and select "Create component"',"elementor")))))},EmptySearchResult=()=>{const{searchValue:e,clearSearch:t}=(0,m.useSearch)();return o.createElement(s.Stack,{color:"text.secondary",pt:5,alignItems:"center",gap:1,overflow:"hidden",justifySelf:"center"},o.createElement(r.ComponentsIcon,null),o.createElement(s.Box,{sx:{width:"100%"}},o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"inherit",sx:u},(0,c.__)("Sorry, nothing matched","elementor")),e&&o.createElement(s.Typography,{variant:"subtitle2",color:"inherit",sx:{...u,display:"flex",width:"100%",justifyContent:"center"}},o.createElement("span",null,"“"),o.createElement("span",{style:{maxWidth:"80%",overflow:"hidden",textOverflow:"ellipsis"}},e),o.createElement("span",null,"”."))),o.createElement(s.Typography,{align:"center",variant:"caption",color:"inherit"},(0,c.__)("Try something else.","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"inherit"},o.createElement(s.Link,{color:"secondary",variant:"caption",component:"button",onClick:t},(0,c.__)("Clear & try again","elementor"))))},useFilteredComponents=()=>{const{components:e,isLoading:t}=(0,a.useComponents)(),{searchValue:n}=(0,m.useSearch)();return{components:e.filter(e=>e.name.toLowerCase().includes(n.toLowerCase())),isLoading:t,searchValue:n}}},"./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsProNotification:function(){return ComponentsProNotification},UPGRADE_URL:function(){return c}});var o=n("react"),r=n("@wordpress/i18n"),s=n("./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx");const c="https://go.elementor.com/go-pro-components-exist-footer/";function ComponentsProNotification(){return o.createElement(s.ComponentsUpgradeAlert,{title:(0,r.__)("Create new components","elementor"),description:(0,r.__)("Creating new components requires an active Pro subscription.","elementor"),upgradeUrl:c})}},"./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsUpdateNotification:function(){return ComponentsUpdateNotification}});var o=n("react"),r=n("@wordpress/i18n"),s=n("./packages/packages/core/editor-components/src/components/components-update-alert.tsx");function ComponentsUpdateNotification(){return o.createElement(s.ComponentsUpdateAlert,{title:(0,r.__)("Create new Components","elementor"),description:(0,r.__)("To create new components, update Elementor Pro to the latest version.","elementor")})}},"./packages/packages/core/editor-components/src/components/components-tab/components.tsx":function(e,t,n){n.r(t),n.d(t,{Components:function(){return Components}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/ui"),c=n("./packages/packages/core/editor-components/src/hooks/use-components.ts"),a=n("./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts"),i=n("./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx"),p=n("./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx"),l=n("./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx"),d=n("./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx"),m=n("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");const u="components-full-height-panel",ComponentsContent=()=>{const{components:e,isLoading:t}=(0,c.useComponents)(),n=!t&&e.length>0,r=!(0,a.isProComponentsSupported)()&&n,m=(0,a.isProOutdatedForComponents)();return(0,o.useLayoutEffect)(()=>{let e=document.getElementById(u);return e||(e=document.createElement("style"),e.id=u,e.textContent="\n#elementor-panel-page-elements {\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n}\n\n#elementor-panel-elements {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n\tmin-height: 0;\n}\n\n#elementor-panel-elements-wrapper {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n\tmin-height: 0;\n}\n",document.head.appendChild(e)),()=>{document.getElementById(u)?.remove()}},[]),o.createElement(s.Stack,{justifyContent:"space-between",sx:{flex:1,minHeight:0}},n&&o.createElement(i.ComponentSearch,null),o.createElement(p.ComponentsList,null),r&&(m?o.createElement(d.ComponentsUpdateNotification,null):o.createElement(l.ComponentsProNotification,null)))},Components=()=>o.createElement(r.ThemeProvider,null,o.createElement(m.SearchProvider,{localStorageKey:"elementor-components-search"},o.createElement(ComponentsContent,null)))},"./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx":function(e,t,n){n.r(t),n.d(t,{LoadingComponents:function(){return LoadingComponents}});var o=n("react"),r=n("@elementor/ui");const s=Array.from({length:3},(e,t)=>t),LoadingComponents=()=>o.createElement(r.Stack,{"aria-label":"Loading components",gap:1.5,sx:{pointerEvents:"none",position:"relative",maxHeight:"300px",overflow:"hidden",px:1,"&:after":{position:"absolute",bottom:0,content:'""',left:0,width:"100%",height:"40%",pointerEvents:"none",zIndex:1}}},s.map(e=>o.createElement(r.Box,{key:e,display:"flex",alignItems:"center",gap:1.5,sx:{py:.75,px:1.5,opacity:0,animation:`e-loading-fade-in 0.4s ease-out ${80*e}ms forwards`,"@keyframes e-loading-fade-in":{from:{opacity:0,transform:"translateY(4px)"},to:{opacity:1,transform:"translateY(0)"}}}},o.createElement(r.Skeleton,{animation:"wave",variant:"rounded",width:24,height:24}),o.createElement(r.Skeleton,{animation:"wave",variant:"rounded",width:"60%",height:14}))))},"./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx":function(e,t,n){n.r(t),n.d(t,{SearchProvider:function(){return SearchProvider},useSearch:function(){return useSearch}});var o=n("react"),r=n("@elementor/utils");const s=(0,o.createContext)(void 0),SearchProvider=({children:e,localStorageKey:t})=>{const{debouncedValue:n,handleChange:c,inputValue:a}=(0,r.useSearchState)({localStorageKey:t});return o.createElement(s.Provider,{value:{handleChange:c,clearSearch:()=>{c("")},searchValue:n,inputValue:a}},e)},useSearch=()=>{const e=(0,o.useContext)(s);if(!e)throw new Error("useSearch must be used within a SearchProvider");return e}},"./packages/packages/core/editor-components/src/components/components-update-alert.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsUpdateAlert:function(){return ComponentsUpdateAlert}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),c=n("@wordpress/i18n");const a="/wp-admin/plugins.php";function ComponentsUpdateAlert({title:e,description:t}){return o.createElement(s.Box,{sx:{mt:"auto",position:"sticky",bottom:0}},o.createElement(s.Alert,{variant:"standard",color:"info",icon:o.createElement(r.InfoCircleFilledIcon,{fontSize:"tiny"}),role:"status",size:"small",action:o.createElement(s.AlertAction,{variant:"contained",color:"info",href:a,target:"_blank",rel:"noopener noreferrer"},(0,c.__)("Upgrade Now","elementor")),sx:{m:2,mt:1}},o.createElement(s.AlertTitle,null,e),o.createElement(s.Typography,{variant:"caption"},t)))}},"./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsUpgradeAlert:function(){return ComponentsUpgradeAlert}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),c=n("@wordpress/i18n");function ComponentsUpgradeAlert({title:e,description:t,upgradeUrl:n}){return o.createElement(s.Box,{sx:{mt:"auto",position:"sticky",bottom:0}},o.createElement(s.Alert,{variant:"standard",color:"promotion",icon:o.createElement(r.CrownFilledIcon,{fontSize:"tiny"}),role:"status",size:"small",action:o.createElement(s.AlertAction,{variant:"contained",color:"promotion",href:n,target:"_blank",rel:"noopener noreferrer"},(0,c.__)("Upgrade now","elementor")),sx:{m:2,mt:1}},o.createElement(s.AlertTitle,null,e),o.createElement(s.Typography,{variant:"caption"},t)))}},"./packages/packages/core/editor-components/src/components/control-label.tsx":function(e,t,n){n.r(t),n.d(t,{ControlLabel:function(){return ControlLabel}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/ui");const ControlLabel=({children:e,...t})=>o.createElement(s.Stack,{direction:"row",alignItems:"center",justifyItems:"start",gap:.25},o.createElement(r.ControlFormLabel,t,e),o.createElement(r.ControlAdornments,null))},"./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx":function(e,t,n){n.r(t),n.d(t,{DetachInstanceConfirmationDialog:function(){return DetachInstanceConfirmationDialog},openDetachConfirmDialog:function(){return openDetachConfirmDialog}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/icons"),c=n("@wordpress/i18n");function DetachInstanceConfirmationDialog({open:e,onClose:t,onConfirm:n}){return o.createElement(r.ConfirmationDialog,{open:e,onClose:t},o.createElement(r.ConfirmationDialog.Title,{icon:s.AlertTriangleFilledIcon,iconColor:"secondary"},(0,c.__)("Detach from Component?","elementor")),o.createElement(r.ConfirmationDialog.Content,null,o.createElement(r.ConfirmationDialog.ContentText,null,(0,c.__)("Detaching this instance will break its link to the Component. Changes to the Component will no longer apply. Continue?","elementor"))),o.createElement(r.ConfirmationDialog.Actions,{onClose:t,onConfirm:n,confirmLabel:(0,c.__)("Detach","elementor"),color:"primary"}))}function openDetachConfirmDialog(e){(0,r.openDialog)({component:o.createElement(DetachInstanceConfirmationDialog,{open:!0,onClose:r.closeDialog,onConfirm:()=>{(0,r.closeDialog)(),e()}})})}},"./packages/packages/core/editor-components/src/components/errors.ts":function(e,t,n){n.r(t),n.d(t,{OverrideControlInnerElementNotFoundError:function(){return r},OverrideControlPropTypeNotFoundError:function(){return s}});var o=n("@elementor/utils");const r=(0,o.createError)({code:"override_control_inner_element_not_found",message:"Component inner element not found for override control. The element may have been deleted without updating the overridable props, or the component has not finished rendering yet."}),s=(0,o.createError)({code:"override_control_prop_type_not_found",message:"Prop type not found for override control."})},"./packages/packages/core/editor-components/src/components/in-edit-mode.tsx":function(e,t,n){n.r(t),n.d(t,{openEditModeDialog:function(){return openEditModeDialog}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/icons"),c=n("@elementor/ui"),a=n("@wordpress/i18n");const openEditModeDialog=e=>{(0,r.openDialog)({component:o.createElement(EditModeDialog,{lockedBy:e})})},EditModeDialog=({lockedBy:e})=>{const t=(0,a.__)("%s is currently editing this document","elementor").replace("%s",e);return o.createElement(o.Fragment,null,o.createElement(c.DialogHeader,{logo:!1},o.createElement(c.Box,{display:"flex",alignItems:"center",gap:1},o.createElement(c.Icon,{color:"secondary"},o.createElement(s.InfoCircleFilledIcon,{fontSize:"medium"})),o.createElement(c.Typography,{variant:"subtitle1"},t))),o.createElement(c.DialogContent,null,o.createElement(c.Stack,{spacing:2,direction:"column"},o.createElement(c.Typography,{variant:"body2"},(0,a.__)("You can wait for them to finish or reach out to coordinate your changes together.","elementor")),o.createElement(c.DialogActions,null,o.createElement(c.Button,{color:"secondary",variant:"contained",onClick:r.closeDialog},(0,a.__)("Close","elementor"))))))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx":function(e,t,n){n.r(t),n.d(t,{DetachAction:function(){return DetachAction}});var o=n("react"),r=n("@elementor/editor-notifications"),s=n("@elementor/icons"),c=n("@wordpress/i18n"),a=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts"),i=n("./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx"),p=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx");const DetachAction=({componentInstanceId:e,componentId:t})=>{const[n,l]=(0,o.useState)(!1),d=(0,c.__)("Detach from Component","elementor");return o.createElement(o.Fragment,null,o.createElement(p.EditComponentAction,{label:d,icon:s.DetachIcon,onClick:()=>{l(!0)}}),o.createElement(i.DetachInstanceConfirmationDialog,{open:n,onClose:()=>{l(!1)},onConfirm:async()=>{l(!1);try{await(0,a.detachComponentInstance)({instanceId:e,componentId:t,trackingInfo:getDetachTrackingInfo()})}catch{(0,r.notify)({type:"error",message:(0,c.__)("Failed to detach component instance.","elementor"),id:"detach-component-instance-failed"})}}}))};function getDetachTrackingInfo(){const e=window,t=e?.elementorCommon?.eventsManager?.config;return t?{location:t.locations.components.instanceEditingPanel,trigger:t.triggers.click}:{location:"",trigger:""}}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx":function(e,t,n){n.r(t),n.d(t,{EmptyState:function(){return EmptyState}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),c=n("@wordpress/i18n"),a=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");const EmptyState=({onEditComponent:e})=>{const{canEdit:t}=(0,a.useComponentsPermissions)(),n=t?(0,c.__)("Edit the component to add properties, manage them or update the design across all instances.","elementor"):(0,c.__)("With your current role, you cannot edit this component. Contact an administrator to add properties.","elementor");return o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",color:"text.secondary",sx:{p:2.5,pt:8,pb:5.5,mt:1},gap:1.5},o.createElement(r.ComponentPropListIcon,{fontSize:"large"}),o.createElement(s.Typography,{align:"center",variant:"subtitle2"},(0,c.__)("No properties yet","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",maxWidth:"170px"},n),t&&o.createElement(s.Button,{variant:"outlined",color:"secondary",size:"small",sx:{mt:1},disabled:!e,onClick:e},o.createElement(r.PencilIcon,{fontSize:"small"}),(0,c.__)("Edit component","elementor")))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx":function(e,t,n){n.r(t),n.d(t,{InstanceEditingPanel:function(){return InstanceEditingPanel}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),c=n("@wordpress/i18n"),a=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts"),i=n("./packages/packages/core/editor-components/src/provider/component-instance-context.tsx"),p=n("./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts"),l=n("./packages/packages/core/editor-components/src/components/components-update-alert.tsx"),d=n("./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx"),m=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx"),u=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx"),g=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx"),v=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx"),f=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts");const k="https://go.elementor.com/go-pro-components-Instance-edit-footer/";function InstanceEditingPanel(){const{canEdit:e}=(0,a.useComponentsPermissions)(),t=(0,f.useInstancePanelData)();if(!t)return null;const{componentId:n,component:y,overrides:_,overridableProps:C,groups:h,isEmpty:b,componentInstanceId:E}=t,I=(0,c.__)("Edit %s","elementor").replace("%s",y.name),P=o.createElement(s.Stack,{direction:"row",gap:.5},o.createElement(m.DetachAction,{componentInstanceId:E,componentId:n}),e&&o.createElement(v.EditComponentAction,{disabled:!0,label:I,icon:r.PencilIcon}));return o.createElement(s.Box,{"data-testid":"instance-editing-panel",sx:{display:"flex",flexDirection:"column",height:"100%"}},o.createElement(i.ComponentInstanceProvider,{componentId:n,overrides:_,overridableProps:C},o.createElement(v.InstancePanelHeader,{componentName:y.name,actions:P}),o.createElement(g.InstancePanelBody,{groups:h,isEmpty:b,emptyState:o.createElement(u.EmptyState,null),componentInstanceId:E})),!(0,p.isProComponentsSupported)()&&((0,p.isProOutdatedForComponents)()?o.createElement(l.ComponentsUpdateAlert,{title:(0,c.__)("Edit Component","elementor"),description:(0,c.__)("To edit components, update Elementor Pro to the latest version.","elementor")}):o.createElement(d.ComponentsUpgradeAlert,{title:(0,c.__)("Edit components","elementor"),description:(0,c.__)("Editing components requires an active Pro subscription.","elementor"),upgradeUrl:k})))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx":function(e,t,n){n.r(t),n.d(t,{InstancePanelBody:function(){return InstancePanelBody}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/editor-editing-panel"),c=n("@elementor/editor-panels"),a=n("@elementor/ui"),i=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx");function InstancePanelBody({groups:e,isEmpty:t,emptyState:n,componentInstanceId:p}){return o.createElement(c.PanelBody,null,o.createElement(r.ControlAdornmentsProvider,{items:(0,s.getFieldIndicators)("settings")},t?n:o.createElement(a.Stack,{direction:"column",alignItems:"stretch"},e.map(e=>o.createElement(o.Fragment,{key:e.id+p},o.createElement(i.OverridePropsGroup,{group:e}),o.createElement(a.Divider,null))))))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx":function(e,t,n){n.r(t),n.d(t,{EditComponentAction:function(){return EditComponentAction},InstancePanelHeader:function(){return InstancePanelHeader}});var o=n("react"),r=n("@elementor/editor-panels"),s=n("@elementor/editor-ui"),c=n("@elementor/icons"),a=n("@elementor/ui");function InstancePanelHeader({componentName:e,actions:t}){return o.createElement(r.PanelHeader,{sx:{justifyContent:"start",px:2}},o.createElement(a.Stack,{direction:"row",alignItems:"center",flexGrow:1,gap:1,maxWidth:"100%"},o.createElement(c.ComponentsIcon,{fontSize:"small",sx:{color:"text.tertiary"}}),o.createElement(s.EllipsisWithTooltip,{title:e,as:r.PanelHeaderTitle,sx:{flexGrow:1}}),t))}function EditComponentAction({label:e,onClick:t,disabled:n=!1,icon:r}){return o.createElement(a.Tooltip,{title:e},o.createElement(a.IconButton,{size:"tiny",onClick:t,"aria-label":e,disabled:n},o.createElement(r,{fontSize:"tiny"})))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx":function(e,t,n){n.r(t),n.d(t,{OverridePropControl:function(){return OverridePropControl}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/editor-editing-panel"),c=n("@elementor/ui"),a=n("./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts"),i=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),p=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),l=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),d=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),m=n("./packages/packages/core/editor-components/src/provider/component-instance-context.tsx"),u=n("./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx"),g=n("./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts"),v=n("./packages/packages/core/editor-components/src/store/store.ts"),f=n("./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts"),k=n("./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts"),y=n("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts"),_=n("./packages/packages/core/editor-components/src/components/control-label.tsx"),C=n("./packages/packages/core/editor-components/src/components/errors.ts"),h=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/correct-exposed-empty-override.ts"),b=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts"),E=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-override-dependencies.ts"),I=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-resolved-inner-element.ts");function OverridePropControl({overrideKey:e}){const t=(0,m.useComponentOverridableProps)().props[e];return t?o.createElement(s.SettingsField,{bind:"component_instance",propDisplayName:t.label},o.createElement(OverrideControl,{overridableProp:t})):null}function OverrideControl({overridableProp:e}){const t=(0,s.useElement)(),{value:n,setValue:P}=(0,r.useBoundProp)(l.componentInstancePropTypeUtil),x=(0,v.useCurrentComponentId)(),w=(0,m.useComponentId)(),S=(0,m.useComponentOverridableProps)(),O=(0,m.useComponentInstanceOverrides)(),T=(0,a.useControlsByWidgetType)(e.originPropFields?.widgetType??e.widgetType),D=(0,r.getControlReplacements)(),U=(0,k.getMatchingOverride)(O,e.overrideKey),{propKey:A}=e.originPropFields??e,V=(0,f.getPropTypeForComponentOverride)(e);if(!V)throw new C.OverrideControlPropTypeNotFoundError({context:{overridableProp:e}});const{elementId:N,elementType:L,resolvedElementSettings:M,resolvedOriginValues:B}=(0,I.useResolvedInnerElement)(e),{overrideValue:z,isDisabled:F,isHidden:R}=(0,E.useOverrideControlDependencies)({existingOverride:U,resolvedElementSettings:M,elementType:L,elementId:N,propKey:A});if(R)return null;const{propValue:q,baseValue:j}=function resolveOverrideValues(e,t,n,o){const r=(0,b.unwrapOverridableSettings)(n),c=r[o]??null,a=(0,s.isDynamicPropValue)(c),i=a&&!e,p=i?c:t,l=e||a?null:c;return{propValue:p,baseValue:l}}(U,z,B,A),$={[e.overrideKey]:q},K={[e.overrideKey]:j},{control:W,controlProps:G,layout:H}=function getControlParams(e,t,n){const o=e[t.propKey],{value:r}=o,c=function getControlLayout(e){return e.value.meta?.layout||s.controlsRegistry.getLayout(e.value.type)}(o),a=function populateChildControlProps(e){if(e.childControlType){const t=s.controlsRegistry.get(e.childControlType),n=s.controlsRegistry.getPropTypeUtil(e.childControlType);e={...e,childControlConfig:{component:t,props:e.childControlProps||{},propTypeUtil:n}}}return e}(r.props);"custom"===c&&(a.label=n??r.label);return{control:o,controlProps:a,layout:c}}(T,e.originPropFields??e,e.label),Y=(0,s.createTopLevelObjectType)({schema:{[e.overrideKey]:V}});return o.createElement(u.OverridablePropProvider,{value:d.componentOverridablePropTypeUtil.extract(U)??void 0,componentInstanceElement:t},o.createElement(s.ElementProvider,{element:{id:N,type:L.key},elementType:L,settings:M},o.createElement(r.PropProvider,{propType:Y,value:$,setValue:(t,o,r)=>{let c=function getTempNewValueForDynamicProp(e,t,n){const o=null===n;if(o&&(0,s.isDynamicPropValue)(t))return e.default??null;return n}(V,q,t[e.overrideKey]);c=(0,h.correctExposedEmptyOverride)(c,U);const a=function createOverrideValue({matchingOverride:e,overrideKey:t,overrideValue:n,componentId:o}){const r=d.componentOverridablePropTypeUtil.extract(e),s=d.componentOverridablePropTypeUtil.extract(n),c=s??r;if(c){const e=i.componentInstanceOverridePropTypeUtil.create({override_key:t,override_value:(0,y.resolveOverridePropValue)(n),schema_source:{type:"component",id:o}});return d.componentOverridablePropTypeUtil.create({override_key:c.override_key,origin_value:e})}return i.componentInstanceOverridePropTypeUtil.create({override_key:t,override_value:n,schema_source:{type:"component",id:o}})}({matchingOverride:U,overrideKey:e.overrideKey,overrideValue:c,componentId:w});let l=(O??[]).filter(e=>function isValidOverride(e,t){const n=d.componentOverridablePropTypeUtil.isValid(t)?t.value.origin_value?.value.override_key:t.value.override_key;return!!e.props[n]}(S,e)).map(e=>e===U?a:e);U||(l=[...l,a]),P({...n,overrides:p.componentInstanceOverridesPropTypeUtil.create(l)},o,r);const m=d.componentOverridablePropTypeUtil.extract(a);if(m&&x){if(e.originPropFields)return void(0,g.updateOverridableProp)(x,m,e.originPropFields);const t={elType:e.elType,widgetType:e.widgetType,propKey:e.propKey,elementId:e.elementId};(0,g.updateOverridableProp)(x,m,t)}},baseValue:K,isDisabled:F},o.createElement(r.PropKeyProvider,{bind:e.overrideKey},o.createElement(r.ControlReplacementsProvider,{replacements:D},o.createElement(c.Box,{mb:1.5},o.createElement(s.ControlTypeContainer,{layout:H},"custom"!==H&&o.createElement(_.ControlLabel,null,e.label),o.createElement(OriginalControl,{control:W,controlProps:G}))))))))}function OriginalControl({control:e,controlProps:t}){const{value:n}=e;return o.createElement(s.BaseControl,{type:n.type,props:t})}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx":function(e,t,n){n.r(t),n.d(t,{OverridePropsGroup:function(){return OverridePropsGroup}});var o=n("react"),r=n("@elementor/editor-editing-panel"),s=n("@elementor/editor-ui"),c=n("@elementor/ui"),a=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx");function OverridePropsGroup({group:e}){const[t,n]=(0,r.useStateByElement)(e.id,!0),i=(0,o.useId)(),p=`label-${i}`,l=`content-${i}`,d=e.label;return o.createElement(c.Box,{"aria-label":`${d} section`},o.createElement(c.ListItemButton,{id:p,"aria-controls":l,"aria-label":`${d} section`,onClick:()=>{n(!t)},p:0,sx:{"&:hover":{backgroundColor:"transparent"}}},o.createElement(c.Stack,{direction:"row",alignItems:"center",justifyItems:"start",flexGrow:1,gap:.5},o.createElement(c.ListItemText,{secondary:d,secondaryTypographyProps:{color:"text.primary",variant:"caption",fontWeight:"bold"},sx:{flexGrow:0,flexShrink:1,marginInlineEnd:1}})),o.createElement(s.CollapseIcon,{open:t,color:"secondary",fontSize:"tiny"})),o.createElement(c.Collapse,{id:l,"aria-labelledby":p,in:t,timeout:"auto"},o.createElement(c.Stack,{direction:"column",gap:1,p:2},e.props.map(e=>o.createElement(a.OverridePropControl,{key:e,overrideKey:e})))))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts":function(e,t,n){n.r(t),n.d(t,{useInstancePanelData:function(){return useInstancePanelData}});var o=n("@elementor/editor-editing-panel"),r=n("./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),c=n("./packages/packages/core/editor-components/src/store/store.ts");function useInstancePanelData(){const{element:e,settings:t}=function useComponentInstanceSettings(){const{element:e,settings:t}=(0,o.useElement)();return{element:e,settings:s.componentInstancePropTypeUtil.extract(t.component_instance)}}(),n=t?.component_id?.value,a=t?.overrides?.value,i=(0,c.useComponent)(n??null),p=e?.id,l=(0,r.useSanitizeOverridableProps)(n??null,p);if(!(n&&l&&i&&p))return null;const d=l.groups.order.map(e=>l.groups.items[e]??null).filter(e=>null!==e&&e.props.length>0),m=0===d.length||0===Object.keys(l.props).length;return{componentId:n,component:i,overrides:a,overridableProps:l,groups:d,isEmpty:m,componentInstanceId:p}}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/correct-exposed-empty-override.ts":function(e,t,n){n.r(t),n.d(t,{correctExposedEmptyOverride:function(){return correctExposedEmptyOverride}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");function correctExposedEmptyOverride(e,t){const n=o.componentOverridablePropTypeUtil.extract(e);return n&&null===t?o.componentOverridablePropTypeUtil.create({override_key:n.override_key,origin_value:null}):e}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts":function(e,t,n){n.r(t),n.d(t,{applyOverridesToSettings:function(){return applyOverridesToSettings},unwrapOverridableSettings:function(){return unwrapOverridableSettings}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");function applyOverridesToSettings(e,t){const n={};for(const[r,s]of Object.entries(e)){const e=o.componentOverridablePropTypeUtil.extract(s);if(!e){n[r]=s;continue}const c=t[e.override_key];if(c)if(c.outermostKey&&c.outermostKey!==e.override_key){const t=e.origin_value;n[r]=o.componentOverridablePropTypeUtil.create({override_key:c.outermostKey,origin_value:c.value??t})}else n[r]=c.value??s;else n[r]=s}return n}function unwrapOverridableSettings(e){const t={};for(const[n,r]of Object.entries(e)){const e=o.componentOverridablePropTypeUtil.extract(r);e?t[n]=e.origin_value:t[n]=r}return t}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-override-dependencies.ts":function(e,t,n){n.r(t),n.d(t,{useOverrideControlDependencies:function(){return useOverrideControlDependencies}});var o=n("react"),r=n("@elementor/editor-editing-panel"),s=n("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts");function useOverrideControlDependencies({existingOverride:e,resolvedElementSettings:t,elementId:n,elementType:c,propKey:a}){return(0,o.useMemo)(()=>{const{isDisabled:o,isHidden:i}=(0,r.extractDependencyEffect)(a,c.propsSchema,t),p=e?(0,s.resolveOverridePropValue)(e):null,l={...t,[a]:p},d=(0,r.getElementSettingsWithDefaults)(c.propsSchema,l),m=(0,r.extractOrderedDependencies)(c.dependenciesPerTargetMapping??{});return{overrideValue:(0,r.getUpdatedValues)(l,m,c.propsSchema,d,n)[a],isDisabled:o,isHidden:i}},[e,t,a,c.propsSchema,c.dependenciesPerTargetMapping,n])}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-resolved-inner-element.ts":function(e,t,n){n.r(t),n.d(t,{useResolvedInnerElement:function(){return useResolvedInnerElement}});var o=n("react"),r=n("@elementor/editor-editing-panel"),s=n("@elementor/editor-elements"),c=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),i=n("./packages/packages/core/editor-components/src/provider/component-instance-context.tsx"),p=n("./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts"),l=n("./packages/packages/core/editor-components/src/components/errors.ts"),d=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts");function useResolvedInnerElement(e){const t=(0,r.useElement)(),n=(0,i.useComponentId)(),m=(0,i.useComponentInstanceOverrides)(),{elementId:u,widgetType:g,elType:v}=e.originPropFields??e,f="widget"===v?g:v,k=(0,s.getElementType)(f);if(!k)throw new Error(`Element type not found for ${f}`);const{elementId:y,overridesMapping:_}=(0,o.useMemo)(()=>{const o=(0,p.resolveOverridesChain)({outerOverridableProp:e,outerInstanceId:t.element.id});if(o.isChainBroken)throw new l.OverrideControlInnerElementNotFoundError({context:{componentId:n,elementId:u}});return{elementId:o.innerElement.id,overridesMapping:o.overridesMapping}},[e,t.element.id,n,u]),C=(0,o.useMemo)(()=>{const e=(0,s.getElementSettings)(y,Object.keys(k?.propsSchema??{}));return(0,d.applyOverridesToSettings)(e,_)},[y,k?.propsSchema,_]),h=(0,o.useMemo)(()=>{const e=(0,d.applyOverridesToSettings)(C,function formatOverridesToApply(e){if(!e)return{};const t={};for(const n of e){const e=a.componentOverridablePropTypeUtil.extract(n);let o=n;e&&(o=e.origin_value);const r=c.componentInstanceOverridePropTypeUtil.extract(o);r&&(t[r.override_key]={value:r.override_value})}return t}(m));return(0,d.unwrapOverridableSettings)(e)},[C,m]);return{elementId:y,elementType:k,resolvedOriginValues:C,resolvedElementSettings:h}}},"./packages/packages/core/editor-components/src/components/load-template-components.tsx":function(e,t,n){n.r(t),n.d(t,{LoadTemplateComponents:function(){return LoadTemplateComponents}});var o=n("react"),r=n("@elementor/editor-templates"),s=n("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");const LoadTemplateComponents=()=>(0,r.isHandlingTemplateStyles)()?o.createElement(LoadTemplateComponentsInternal,null):null;function LoadTemplateComponentsInternal(){const e=(0,r.useLoadedTemplates)();return(0,o.useEffect)(()=>{(0,s.loadComponentsAssets)(e.flatMap(e=>e??[]))},[e]),null}},"./packages/packages/core/editor-components/src/consts.ts":function(e,t,n){n.r(t),n.d(t,{COMPONENT_WIDGET_TYPE:function(){return o}});const o="e-component"},"./packages/packages/core/editor-components/src/create-component-type.ts":function(e,t,n){n.r(t),n.d(t,{COMPONENT_WIDGET_TYPE:function(){return f},createComponentType:function(){return createComponentType}});var o=n("@elementor/editor-canvas"),r=n("@elementor/editor-documents"),s=n("@elementor/editor-notifications"),c=n("@elementor/store"),a=n("@elementor/utils"),i=n("@wordpress/i18n"),p=n("./packages/packages/core/editor-components/src/api.ts"),l=n("./packages/packages/core/editor-components/src/store/store.ts"),d=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts"),m=n("./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts"),u=n("./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts"),g=n("./packages/packages/core/editor-components/src/utils/switch-to-component.ts"),v=n("./packages/packages/core/editor-components/src/utils/tracking.ts");const f="e-component",k="https://go.elementor.com/go-pro-components-Instance-edit-canvas-double-click/",y="https://go.elementor.com/go-pro-components-Instance-edit-context-menu/",_="/wp-admin/plugins.php",C="component-edit-upgrade",h="component-edit-update",b=2e3;function notifyComponentEditUpdate(){(0,s.notify)({type:"info",id:h,message:(0,i.__)("To edit components, update Elementor Pro to the latest version.","elementor"),additionalActionProps:[{size:"small",variant:"contained",color:"info",href:_,target:"_blank",children:(0,i.__)("Update Now","elementor")}]})}const updateGroups=(e,t)=>{const n=new Map(Object.entries(t.disable??{})),o=new Map(Object.entries(t.add??{}));return e.map(e=>{const t=n.get(e.name)??[],r=o.get(e.name),s=e.actions.map(e=>t.includes(e.name)?{...e,isEnabled:()=>!1}:e);return r&&s.splice(r.index,0,...r.actions),{...e,actions:s}})};function createComponentType(e){const t=window.elementor.modules.elements.types.Widget,n=function createComponentView(e){const t=window;return class extends((0,o.createTemplatedElementView)(e)){eventsManagerConfig=t.elementorCommon.eventsManager.config;#e;isComponentCurrentlyEdited(){const e=(0,r.getCurrentDocument)();return e?.id===this.getComponentId()}getRenderContext(){const e=this.getNamespaceKey(),t=this._parent?.getRenderContext?.(),n=t?.[e];if(!this.#e)return t;const o=this.#e.overrides??{},r=n?.overrides??{};return{...t,[e]:{overrides:{...r,...o}}}}getResolverRenderContext(){const e=this.getNamespaceKey(),t=this.getRenderContext();return t?.[e]}afterSettingsResolve(e){const n=e.component_instance;if(n){this.#e={overrides:n.overrides??{}};const o=this.model.get("id"),r=n.elements??[],s=(0,m.formatComponentElementsId)(r,[o]);this.collection=t.elementor.createBackboneElementsCollection(s),this.collection.models.forEach(setInactiveRecursively),e.component_instance="<template data-children-placeholder></template>"}return e}getDomElement(){return this.children.findByIndex(0)?.getDomElement()??this.$el}attachBuffer(e,t){const n=e.$el.find("[data-children-placeholder]").get(0);n?n.replaceWith(t):super.attachBuffer(e,t)}getComponentId(){const e=this.options?.model?.get("settings")?.get("component_instance")?.value;return e.component_id.value}getContextMenuGroups(){const e=super.getContextMenuGroups().filter(e=>"save"!==e.name);if(!this.getComponentId())return e;return updateGroups(e,this._getContextMenuConfig())}_getContextMenuConfig(){const e=isUserAdministrator(),t=(0,a.hasProInstalled)(),n=(0,u.isProOutdatedForComponents)(),o={name:"edit component",icon:"eicon-edit",title:()=>(0,i.__)("Edit Component","elementor"),...!t&&!n&&{shortcut:`<a href="${y}" target="_blank" onclick="event.stopPropagation()" class="${"elementor-context-menu-list__item__shortcut__promotion-badge"}"><i class="eicon-upgrade-crown"></i></a>`,hasShortcutAction:!0},isEnabled:()=>(0,u.isProComponentsSupported)()||n,callback:(e,t)=>this.editComponent(t)},r={name:"detach instance",icon:"eicon-chain-broken",title:()=>(0,i.__)("Detach from Component","elementor"),isEnabled:()=>!0,callback:(e,t)=>this.detachInstance(t)};return{add:{general:{index:1,actions:e?[o,r]:[r]}},disable:{clipboard:["pasteStyle","resetStyle"]}}}async switchDocument(){const{isAllowedToSwitchDocument:t,lockedBy:n}=await p.apiClient.getComponentLockStatus(this.getComponentId());t?(0,g.switchToComponent)(this.getComponentId(),this.model.get("id"),this.el):e.showLockedByModal?.(n||"")}editComponent({trigger:e,location:t,secondaryLocation:n}){if((0,u.isProOutdatedForComponents)())return void notifyComponentEditUpdate();if(!(0,u.isProComponentsSupported)()||this.isComponentCurrentlyEdited())return;this.switchDocument();const o=this.model.get("editor_settings");(0,v.trackComponentEvent)({action:"edited",source:"user",component_uid:o?.component_uid,component_name:o?.title,location:t,secondary_location:n,trigger:e})}detachInstance({trigger:t,location:n,secondaryLocation:o}){const r=this.getComponentId(),c=this.model.get("id");if(!r||!c)return;const handleConfirm=async()=>{try{await(0,d.detachComponentInstance)({instanceId:c,componentId:r,trackingInfo:{location:n,secondaryLocation:o,trigger:t}})}catch{(0,s.notify)({type:"error",message:(0,i.__)("Failed to detach component instance.","elementor"),id:"detach-component-instance-failed"})}};e.showDetachConfirmDialog?.(handleConfirm)}handleDblClick(e){if(e.stopPropagation(),!isUserAdministrator())return;if((0,u.isProOutdatedForComponents)())return void notifyComponentEditUpdate();if(!(0,a.hasProInstalled)())return void function notifyComponentEditUpgrade(){(0,s.notify)({type:"promotion",id:C,message:(0,i.__)("Editing components requires an active Pro subscription.","elementor"),autoHideDuration:b,additionalActionProps:[{size:"small",variant:"contained",color:"promotion",href:k,target:"_blank",children:(0,i.__)("Upgrade Now","elementor")}]})}();const{triggers:t,locations:n,secondaryLocations:o}=this.eventsManagerConfig;this.editComponent({trigger:t.doubleClick,location:n.canvas,secondaryLocation:o.canvasElement})}events(){return{...super.events(),dblclick:this.handleDblClick}}attributes(){return{...super.attributes(),"data-elementor-id":this.getComponentId()}}}}({...e});return class extends t{getType(){return e.type}getView(){return n}getModel(){return function createComponentModel(){const e=window,t=e.elementor.modules.elements.types.Widget,n=new t,o=n.getModel();return o.extend({initialize(e,t){o.prototype.initialize.call(this,e,t);const n=this.get("settings")?.get("component_instance");if(n?.value){const e=n.value.component_id?.value;e&&"number"==typeof e&&this.set("componentId",e)}this.set("isGlobal",!0)},getTitle(){const e=this.get("editor_settings"),t=e?.title;if(t)return t;const n=e?.component_uid;if(n){const e=(0,l.selectComponentByUid)((0,c.__getState)(),n);if(e?.name)return e.name}return window.elementor.getElementData(this).title},getComponentId(){return this.get("componentId")||null},getComponentName(){return this.getTitle()},getComponentUid(){const e=this.get("editor_settings");return e?.component_uid||null}})}()}}}function setInactiveRecursively(e){const t=e.get("editSettings");t&&t.set("inactive",!0);const n=e.get("elements");n&&n.forEach(e=>{setInactiveRecursively(e)})}function isUserAdministrator(){const e=window;return e.elementor.config?.user?.is_administrator??!1}},"./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts":function(e,t,n){n.r(t),n.d(t,{useComponentsPermissions:function(){return useComponentsPermissions}});var o=n("@elementor/editor-current-user");const useComponentsPermissions=()=>{const{isAdmin:e}=(0,o.useCurrentUserCapabilities)();return{canCreate:e,canEdit:e,canDelete:e,canRename:e}}},"./packages/packages/core/editor-components/src/hooks/use-components.ts":function(e,t,n){n.r(t),n.d(t,{useComponents:function(){return useComponents}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");const useComponents=()=>({components:(0,o.__useSelector)(r.selectComponents),isLoading:(0,o.__useSelector)(r.selectLoadIsPending)})},"./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts":function(e,t,n){n.r(t),n.d(t,{useControlsByWidgetType:function(){return useControlsByWidgetType}});var o=n("@elementor/editor-elements");function useControlsByWidgetType(e){const t=(0,o.getElementType)(e);if(!t)return{};return function getControlsByBind(e){return e.reduce((e,t)=>({...e,[t.value.bind]:t}),{})}(iterateControls(t.controls))}function iterateControls(e){return e.map(e=>"control"===e.type&&"bind"in e.value?e:"section"===e.type?iterateControls(e.value.items):null).filter(Boolean).flat()}},"./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts":function(e,t,n){n.r(t),n.d(t,{useSanitizeOverridableProps:function(){return useSanitizeOverridableProps}});var o=n("./packages/packages/core/editor-components/src/store/store.ts"),r=n("./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts");function useSanitizeOverridableProps(e,t){const n=(0,o.useOverridableProps)(e),s=(0,o.useIsSanitizedComponent)(e,"overridableProps");if(n&&e)return s?n:(0,r.filterValidOverridableProps)(n,t)}},"./packages/packages/core/editor-components/src/init.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("@elementor/editor"),r=n("@elementor/editor-canvas"),s=n("@elementor/editor-documents"),c=n("@elementor/editor-editing-panel"),a=n("@elementor/editor-elements-panel"),i=n("@elementor/editor-styles-repository"),p=n("@elementor/editor-v1-adapters"),l=n("@elementor/store"),d=n("@wordpress/i18n"),m=n("./packages/packages/core/editor-components/src/component-instance-transformer.ts"),u=n("./packages/packages/core/editor-components/src/component-overridable-transformer.ts"),g=n("./packages/packages/core/editor-components/src/component-override-transformer.ts"),v=n("./packages/packages/core/editor-components/src/components/components-tab/components.tsx"),f=n("./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx"),k=n("./packages/packages/core/editor-components/src/components/in-edit-mode.tsx"),y=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx"),_=n("./packages/packages/core/editor-components/src/components/load-template-components.tsx"),C=n("./packages/packages/core/editor-components/src/create-component-type.ts"),h=n("./packages/packages/core/editor-components/src/populate-store.ts"),b=n("./packages/packages/core/editor-components/src/prevent-circular-nesting.ts"),E=n("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts"),I=n("./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts"),P=n("./packages/packages/core/editor-components/src/store/components-styles-provider.ts"),x=n("./packages/packages/core/editor-components/src/store/store.ts"),w=n("./packages/packages/core/editor-components/src/sync/before-save.ts"),S=n("./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts");function init(){i.stylesRepository.register(P.componentsStylesProvider),(0,l.__registerSlice)(x.slice),(0,r.registerElementType)(C.COMPONENT_WIDGET_TYPE,e=>(0,C.createComponentType)({...e,showLockedByModal:k.openEditModeDialog,showDetachConfirmDialog:f.openDetachConfirmDialog})),window.elementorCommon.__beforeSave=w.beforeSave,(0,a.injectTab)({id:"components",label:(0,d.__)("Components","elementor"),component:v.Components,position:1}),(0,o.injectIntoLogic)({id:"components-populate-store",component:h.PopulateStore}),(0,p.registerDataHook)("after","editor/documents/attach-preview",async()=>{const{id:e,config:t}=(0,s.getV1CurrentDocument)();e&&(0,I.removeComponentStyles)(e),await(0,E.loadComponentsAssets)(t?.elements??[])}),(0,o.injectIntoLogic)({id:"templates",component:_.LoadTemplateComponents}),(0,c.registerEditingPanelReplacement)({id:"component-instance-edit-panel",condition:(e,t)=>"e-component"===t.key,component:y.InstanceEditingPanel}),r.settingsTransformersRegistry.register("component-instance",m.componentInstanceTransformer),r.settingsTransformersRegistry.register("overridable",u.componentOverridableTransformer),r.settingsTransformersRegistry.register("override",g.componentOverrideTransformer),(0,b.initCircularNestingPrevention)(),(0,S.initLoadComponentDataAfterInstanceAdded)()}},"./packages/packages/core/editor-components/src/populate-store.ts":function(e,t,n){n.r(t),n.d(t,{PopulateStore:function(){return PopulateStore}});var o=n("react"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/thunks.ts");function PopulateStore(){return(0,o.useEffect)(()=>{(0,r.__dispatch)((0,s.loadComponents)())},[]),null}},"./packages/packages/core/editor-components/src/prevent-circular-nesting.ts":function(e,t,n){n.r(t),n.d(t,{extractComponentIdsFromElements:function(){return extractComponentIdsFromElements},initCircularNestingPrevention:function(){return initCircularNestingPrevention},wouldCreateCircularNesting:function(){return wouldCreateCircularNesting}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-notifications"),s=n("@elementor/editor-v1-adapters"),c=n("@elementor/store"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/store/store.ts");const p="e-component",l={type:"default",message:(0,a.__)("Can't add this component - components that contain each other can't be nested.","elementor"),id:"circular-component-nesting-blocked"};function initCircularNestingPrevention(){(0,s.blockCommand)({command:"document/elements/create",condition:blockCircularCreate}),(0,s.blockCommand)({command:"document/elements/move",condition:blockCircularMove}),(0,s.blockCommand)({command:"document/elements/paste",condition:blockCircularPaste})}function wouldCreateCircularNesting(e){if(void 0===e)return!1;const t=(0,c.__getState)(),n=(0,i.selectCurrentComponentId)(t),o=(0,i.selectPath)(t);return null!==n&&(e===n||o.some(t=>t.componentId===e))}function extractComponentIdFromElement(e){return e.widgetType!==p?null:e.settings?.component_instance?.value?.component_id?.value??null}function extractComponentIdsFromElements(e){const t=[];for(const n of e){const e=extractComponentIdFromElement(n);null!==e&&t.push(e),n.elements?.length&&t.push(...extractComponentIdsFromElements(n.elements))}return t}function blockCircularCreate(e){const t=function extractComponentIdFromModel(e){return e&&e.widgetType===p?e.settings?.component_instance?.value?.component_id?.value??null:null}(e.model);if(null===t)return!1;const n=wouldCreateCircularNesting(t);return n&&(0,r.notify)(l),n}function blockCircularMove(e){const{containers:t=[e.container]}=e,n=t.some(e=>{if(!e)return!1;return(0,o.getAllDescendants)(e).some(e=>{const t=function extractComponentIdFromContainer(e){const t=e.model?.get?.("widgetType");if(t!==p)return null;const n=e.model?.get?.("settings"),o=n?.get?.("component_instance");return o?.value?.component_id?.value??null}(e);return null!==t&&wouldCreateCircularNesting(t)})});return n&&(0,r.notify)(l),n}function blockCircularPaste(e){const{storageType:t}=e;if("localstorage"!==t)return!1;const n=window?.elementorCommon?.storage?.get();if(!n?.clipboard?.elements)return!1;const o=extractComponentIdsFromElements(n.clipboard.elements).some(wouldCreateCircularNesting);return o&&(0,r.notify)(l),o}},"./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentInstanceOverridePropTypeUtil:function(){return s}});var o=n("@elementor/editor-props"),r=n("@elementor/schema");const s=(0,o.createPropUtils)("override",r.z.object({override_key:r.z.string(),override_value:r.z.unknown(),schema_source:r.z.object({type:r.z.literal("component"),id:r.z.number()})}))},"./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentInstanceOverridesPropTypeUtil:function(){return a}});var o=n("@elementor/editor-props"),r=n("@elementor/schema"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),c=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");const a=(0,o.createPropUtils)("overrides",r.z.array(r.z.union([s.componentInstanceOverridePropTypeUtil.schema,c.componentOverridablePropTypeUtil.schema])).optional().default([]))},"./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentInstancePropTypeUtil:function(){return c}});var o=n("@elementor/editor-props"),r=n("@elementor/schema"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");const c=(0,o.createPropUtils)("component-instance",r.z.object({component_id:o.numberPropTypeUtil.schema,overrides:r.z.optional(s.componentInstanceOverridesPropTypeUtil.schema)}))},"./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentOverridablePropTypeUtil:function(){return s}});var o=n("@elementor/editor-props"),r=n("@elementor/schema");const s=(0,o.createPropUtils)("overridable",r.z.object({override_key:r.z.string(),origin_value:r.z.object({$$type:r.z.string(),value:r.z.unknown()}).nullable()}))},"./packages/packages/core/editor-components/src/provider/component-instance-context.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentInstanceProvider:function(){return ComponentInstanceProvider},useComponentId:function(){return useComponentId},useComponentInstanceOverrides:function(){return useComponentInstanceOverrides},useComponentOverridableProps:function(){return useComponentOverridableProps}});var o=n("react");const r=(0,o.createContext)(null);function ComponentInstanceProvider({children:e,...t}){return o.createElement(r.Provider,{value:t},e)}function useComponentInstanceContext(){const e=(0,o.useContext)(r);if(!e)throw new Error("useComponentInstanceContext must be used within a ComponentInstanceProvider");return e}const useComponentId=()=>useComponentInstanceContext().componentId,useComponentInstanceOverrides=()=>useComponentInstanceContext().overrides,useComponentOverridableProps=()=>useComponentInstanceContext().overridableProps},"./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx":function(e,t,n){n.r(t),n.d(t,{OverridablePropProvider:function(){return OverridablePropProvider},useComponentInstanceElement:function(){return useComponentInstanceElement},useOverridablePropValue:function(){return useOverridablePropValue}});var o=n("react");const r=(0,o.createContext)(null);function OverridablePropProvider({children:e,...t}){return o.createElement(r.Provider,{value:t},e)}const useOverridablePropValue=()=>(0,o.useContext)(r)?.value,useComponentInstanceElement=()=>(0,o.useContext)(r)?.componentInstanceElement},"./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts":function(e,t,n){n.r(t),n.d(t,{loadComponentsAssets:function(){return loadComponentsAssets}});var o=n("@elementor/editor-documents"),r=n("./packages/packages/core/editor-components/src/utils/get-component-documents.ts"),s=n("./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts"),c=n("./packages/packages/core/editor-components/src/store/actions/load-components-styles.ts");async function loadComponentsAssets(e){const t=await(0,r.getComponentDocuments)(e);!function updateDocumentState(e){const t=[...e.values()].some(o.isDocumentDirty);t&&(0,o.setDocumentModifiedStatus)(!0)}(t),(0,c.loadComponentsStyles)(t),await(0,s.loadComponentsOverridableProps)([...t.keys()])}},"./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts":function(e,t,n){n.r(t),n.d(t,{loadComponentsOverridableProps:function(){return loadComponentsOverridableProps}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");async function loadComponentsOverridableProps(e){const t=e.filter(e=>!(0,s.selectIsOverridablePropsLoaded)((0,o.__getState)(),e));if(!t.length)return;const{data:n}=await r.apiClient.getOverridableProps(t);(0,o.__dispatch)(s.slice.actions.loadOverridableProps(n))}},"./packages/packages/core/editor-components/src/store/actions/load-components-styles.ts":function(e,t,n){n.r(t),n.d(t,{loadComponentsStyles:function(){return loadComponentsStyles}});var o=n("@elementor/editor-global-classes"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function loadComponentsStyles(e){if(!e.size)return;const t=(0,s.selectStyles)((0,r.__getState)()),n=new Map([...e.entries()].filter(([e])=>!t[e]));n.size&&function addStyles(e){const t=Object.fromEntries([...e.entries()].map(([e,t])=>((0,o.addDocumentClasses)(e),[e,extractStylesFromDocument(t)])));(0,r.__dispatch)(s.slice.actions.addStyles(t))}(n)}function extractStylesFromDocument(e){return e.elements?.length?e.elements.flatMap(extractStylesFromElement):[]}function extractStylesFromElement(e){return[...Object.values(e.styles??{}),...(e.elements??[]).flatMap(extractStylesFromElement)]}},"./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts":function(e,t,n){n.r(t),n.d(t,{removeComponentStyles:function(){return removeComponentStyles}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function removeComponentStyles(e){r.apiClient.invalidateComponentConfigCache(e),(0,o.__dispatch)(s.slice.actions.removeStyles({id:e}))}},"./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts":function(e,t,n){n.r(t),n.d(t,{updateOverridableProp:function(){return updateOverridableProp}});var o=n("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts"),r=n("./packages/packages/core/editor-components/src/store/dispatchers.ts"),s=n("./packages/packages/core/editor-components/src/store/selectors.ts");function updateOverridableProp(e,t,n){const c=s.componentsSelectors.getOverridableProps(e);if(!c)return;const a=c.props[t.override_key];if(!a)return;const i=(0,o.resolveOverridePropValue)(t.origin_value),p=n?{originValue:i,originPropFields:n}:{originValue:i},l={...c,props:{...c.props,[a.overrideKey]:{...a,...p}}};r.componentsActions.setOverridableProps(e,l)}},"./packages/packages/core/editor-components/src/store/components-styles-provider.ts":function(e,t,n){n.r(t),n.d(t,{componentsStylesProvider:function(){return a}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-styles-repository"),s=n("@elementor/store"),c=n("./packages/packages/core/editor-components/src/store/store.ts");const a=(0,r.createStylesProvider)({key:"components-styles",priority:100,subscribe:e=>(0,s.__subscribeWithSelector)(e=>e[c.SLICE_NAME],()=>{e()}),actions:{all:()=>{const e=(0,o.getCurrentDocumentId)();return(0,c.selectFlatStyles)((0,s.__getState)(),e)},get:e=>(0,c.selectFlatStyles)((0,s.__getState)()).find(t=>t.id===e)??null}})},"./packages/packages/core/editor-components/src/store/dispatchers.ts":function(e,t,n){n.r(t),n.d(t,{componentsActions:function(){return s}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function safeDispatch(){return(0,o.__getStore)()?.dispatch}const s={add(e){(0,o.__dispatch)(r.slice.actions.add(e))},load(e){(0,o.__dispatch)(r.slice.actions.load(e))},addUnpublished(e){(0,o.__dispatch)(r.slice.actions.addUnpublished(e))},removeUnpublished(e){(0,o.__dispatch)(r.slice.actions.removeUnpublished(e))},resetUnpublished(){(0,o.__dispatch)(r.slice.actions.resetUnpublished())},removeStyles(e){(0,o.__dispatch)(r.slice.actions.removeStyles({id:e}))},addStyles(e){(0,o.__dispatch)(r.slice.actions.addStyles(e))},addCreatedThisSession(e){(0,o.__dispatch)(r.slice.actions.addCreatedThisSession(e))},removeCreatedThisSession(e){(0,o.__dispatch)(r.slice.actions.removeCreatedThisSession(e))},archive(e){(0,o.__dispatch)(r.slice.actions.archive(e))},setCurrentComponentId(e){safeDispatch()?.(r.slice.actions.setCurrentComponentId(e))},setPath(e){safeDispatch()?.(r.slice.actions.setPath(e))},setOverridableProps(e,t){(0,o.__dispatch)(r.slice.actions.setOverridableProps({componentId:e,overridableProps:t}))},rename(e,t){(0,o.__dispatch)(r.slice.actions.rename({componentUid:e,name:t}))},cleanUpdatedComponentNames(){(0,o.__dispatch)(r.slice.actions.cleanUpdatedComponentNames())},updateComponentSanitizedAttribute(e,t){(0,o.__dispatch)(r.slice.actions.updateComponentSanitizedAttribute({componentId:e,attribute:t}))},resetSanitizedComponents(){(0,o.__dispatch)(r.slice.actions.resetSanitizedComponents())}}},"./packages/packages/core/editor-components/src/store/extensible-slice.ts":function(e,t,n){n.r(t),n.d(t,{__resetExtraReducers:function(){return __resetExtraReducers},createComponentsAction:function(){return createComponentsAction},registerComponentsReducer:function(){return registerComponentsReducer},slice:function(){return i}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store-types.ts"),s=n("./packages/packages/core/editor-components/src/store/thunks.ts");const c=new Map;function registerComponentsReducer(e,t){c.set(`${r.SLICE_NAME}/${e}`,t)}function createComponentsAction(e){const t=(0,o.__createAction)(`${r.SLICE_NAME}/${e}`);return{action:t,register(t){registerComponentsReducer(e,t)},dispatch(e){(0,o.__dispatch)(t(e))}}}function __resetExtraReducers(){c.clear()}const a=(0,o.__createSlice)({name:r.SLICE_NAME,initialState:r.initialState,reducers:{add:(e,{payload:t})=>{Array.isArray(t)?e.data=[...t,...e.data]:e.data.unshift(t)},load:(e,{payload:t})=>{e.data=t},addUnpublished:(e,{payload:t})=>{e.unpublishedData.unshift(t)},removeUnpublished:(e,{payload:t})=>{const n=Array.isArray(t)?t:[t];e.unpublishedData=e.unpublishedData.filter(e=>!n.includes(e.uid))},resetUnpublished:e=>{e.unpublishedData=[]},removeStyles(e,{payload:t}){const{[t.id]:n,...o}=e.styles;e.styles=o},addStyles:(e,{payload:t})=>{e.styles={...e.styles,...t}},addCreatedThisSession:(e,{payload:t})=>{e.createdThisSession.push(t)},removeCreatedThisSession:(e,{payload:t})=>{e.createdThisSession=e.createdThisSession.filter(e=>e!==t)},archive:(e,{payload:t})=>{const n=e.data.find(e=>e.id===t);n&&(n.isArchived=!0,e.archivedThisSession.push(t))},setCurrentComponentId:(e,{payload:t})=>{e.currentComponentId=t},setPath:(e,{payload:t})=>{e.path=t},setOverridableProps:(e,{payload:t})=>{const n=e.data.find(e=>e.id===t.componentId);n&&(n.overridableProps=t.overridableProps)},loadOverridableProps:(e,{payload:t})=>{Object.keys(t).forEach(n=>{const o=Number(n),r=t[o],s=e.data.find(e=>e.id===o);s&&r&&(s.overridableProps=r)})},rename:(e,{payload:t})=>{const n=e.data.find(e=>e.uid===t.componentUid);n&&(n.id&&(e.updatedComponentNames[n.id]=t.name),n.name=t.name)},cleanUpdatedComponentNames:e=>{e.updatedComponentNames={}},updateComponentSanitizedAttribute:(e,{payload:{componentId:t,attribute:n}})=>{e.sanitized[t]||(e.sanitized[t]={}),e.sanitized[t][n]=!0},resetSanitizedComponents:e=>{e.sanitized={}}},extraReducers:e=>{e.addCase(s.loadComponents.fulfilled,(e,{payload:t})=>{e.data=t,e.loadStatus="idle"}),e.addCase(s.loadComponents.pending,e=>{e.loadStatus="pending"}),e.addCase(s.loadComponents.rejected,e=>{e.loadStatus="error"})}}),i={...a,reducer(e,t){const n=a.reducer(e,t),o=c.get(t.type);if(!o||!n)return n;const r=structuredClone(n);return o(r,t),r}}},"./packages/packages/core/editor-components/src/store/selectors.ts":function(e,t,n){n.r(t),n.d(t,{componentsSelectors:function(){return s}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");const s={getOverridableProps(e){return(0,r.selectOverridableProps)((0,o.__getState)(),e)},getCurrentComponent(){return(0,r.selectCurrentComponent)((0,o.__getState)())},getCurrentComponentId(){const e=function safeGetState(){return(0,o.__getStore)()?.getState()}();return e?(0,r.selectCurrentComponentId)(e):null},getUnpublishedComponents(){return(0,r.selectUnpublishedComponents)((0,o.__getState)())},getUpdatedComponentNames(){return(0,r.selectUpdatedComponentNames)((0,o.__getState)())},getArchivedThisSession(){return(0,r.selectArchivedThisSession)((0,o.__getState)())},getCreatedThisSession(){return(0,r.selectCreatedThisSession)((0,o.__getState)())},getComponents(){return(0,r.selectComponents)((0,o.__getState)())},getComponentByUid(e){return(0,r.selectComponentByUid)((0,o.__getState)(),e)}}},"./packages/packages/core/editor-components/src/store/store-types.ts":function(e,t,n){n.r(t),n.d(t,{SLICE_NAME:function(){return r},initialState:function(){return o}});const o={data:[],unpublishedData:[],loadStatus:"idle",styles:{},createdThisSession:[],archivedThisSession:[],path:[],currentComponentId:null,updatedComponentNames:{},sanitized:{}},r="components"},"./packages/packages/core/editor-components/src/store/store.ts":function(e,t,n){n.r(t),n.d(t,{SLICE_NAME:function(){return r.SLICE_NAME},__resetExtraReducers:function(){return s.__resetExtraReducers},createComponentsAction:function(){return s.createComponentsAction},initialState:function(){return r.initialState},registerComponentsReducer:function(){return s.registerComponentsReducer},selectArchivedThisSession:function(){return selectArchivedThisSession},selectComponent:function(){return selectComponent},selectComponentByUid:function(){return selectComponentByUid},selectComponents:function(){return c},selectCreatedThisSession:function(){return d},selectCurrentComponent:function(){return k},selectCurrentComponentId:function(){return f},selectData:function(){return selectData},selectFlatStyles:function(){return l},selectIsOverridablePropsLoaded:function(){return g},selectLoadIsError:function(){return p},selectLoadIsPending:function(){return i},selectOverridableProps:function(){return u},selectPath:function(){return v},selectStyles:function(){return selectStyles},selectUnpublishedComponents:function(){return a},selectUpdatedComponentNames:function(){return y},slice:function(){return s.slice},useComponent:function(){return useComponent},useCurrentComponent:function(){return useCurrentComponent},useCurrentComponentId:function(){return useCurrentComponentId},useIsSanitizedComponent:function(){return useIsSanitizedComponent},useOverridableProps:function(){return useOverridableProps}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store-types.ts"),s=n("./packages/packages/core/editor-components/src/store/extensible-slice.ts");const selectData=e=>e[r.SLICE_NAME].data,selectArchivedThisSession=e=>e[r.SLICE_NAME].archivedThisSession,selectLoadStatus=e=>e[r.SLICE_NAME].loadStatus,selectUnpublishedData=e=>e[r.SLICE_NAME].unpublishedData,getCurrentComponentId=e=>e[r.SLICE_NAME].currentComponentId,selectComponent=(e,t)=>e[r.SLICE_NAME].data.find(e=>e.id===t),useComponent=e=>(0,o.__useSelector)(t=>e?selectComponent(t,e):null),selectComponentByUid=(e,t)=>e[r.SLICE_NAME].data.find(e=>e.uid===t)??e[r.SLICE_NAME].unpublishedData.find(e=>e.uid===t),c=(0,o.__createSelector)(selectData,selectUnpublishedData,(e,t)=>[...t.map(e=>({uid:e.uid,name:e.name,overridableProps:e.overridableProps})),...e.filter(e=>!e.isArchived)]),a=(0,o.__createSelector)(selectUnpublishedData,e=>e),i=(0,o.__createSelector)(selectLoadStatus,e=>"pending"===e),p=(0,o.__createSelector)(selectLoadStatus,e=>"error"===e),selectStyles=e=>e[r.SLICE_NAME].styles??{},l=(0,o.__createSelector)(e=>e[r.SLICE_NAME].styles??{},(e,t=null)=>t,(e,t)=>null===t?Object.values(e).flat():Object.entries(e).filter(([e])=>e!==String(t)).map(([,e])=>e).flat()),d=(0,o.__createSelector)(e=>e[r.SLICE_NAME].createdThisSession,e=>e),m={props:{},groups:{items:{},order:[]}},u=(0,o.__createSelector)(selectComponent,e=>{if(e)return e.overridableProps??m}),useOverridableProps=e=>(0,o.__useSelector)(t=>e?u(t,e):null),g=(0,o.__createSelector)(selectComponent,e=>!!e?.overridableProps),v=(0,o.__createSelector)(e=>e[r.SLICE_NAME].path,e=>e),f=(0,o.__createSelector)(getCurrentComponentId,e=>e),k=(0,o.__createSelector)(selectData,getCurrentComponentId,(e,t)=>e.find(e=>e.id===t)),useCurrentComponentId=()=>(0,o.__useSelector)(f),useCurrentComponent=()=>(0,o.__useSelector)(k),y=(0,o.__createSelector)(e=>e[r.SLICE_NAME].updatedComponentNames,e=>Object.entries(e).map(([e,t])=>({componentId:Number(e),title:t}))),useIsSanitizedComponent=(e,t)=>{const n=(0,o.__useSelector)(e=>e[r.SLICE_NAME].sanitized);return!!e&&!!n[e]?.[t]}},"./packages/packages/core/editor-components/src/store/thunks.ts":function(e,t,n){n.r(t),n.d(t,{loadComponents:function(){return s}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts");const s=(0,o.__createAsyncThunk)("components/load",async()=>await r.apiClient.get())},"./packages/packages/core/editor-components/src/sync/before-save.ts":function(e,t,n){n.r(t),n.d(t,{beforeSave:function(){return beforeSave}});var o=n("./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts");const beforeSave=({container:e,status:t})=>{const n=e?.model.get("elements").toJSON?.()??[];return(0,o.publishDraftComponentsInPageBeforeSave)({elements:n,status:t})}},"./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts":function(e,t,n){n.r(t),n.d(t,{initLoadComponentDataAfterInstanceAdded:function(){return initLoadComponentDataAfterInstanceAdded}});var o=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");function initLoadComponentDataAfterInstanceAdded(){(0,o.registerDataHook)("after","document/elements/paste",(e,t)=>{load(t)}),(0,o.registerDataHook)("after","document/elements/import",(e,t)=>{load(t)})}function load(e){const t=Array.isArray(e)?e:[e];(0,r.loadComponentsAssets)(t.map(e=>e.model.toJSON()))}},"./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts":function(e,t,n){n.r(t),n.d(t,{publishDraftComponentsInPageBeforeSave:function(){return publishDraftComponentsInPageBeforeSave}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-notifications"),s=n("@elementor/http-client"),c=n("@wordpress/i18n"),a=n("./packages/packages/core/editor-components/src/api.ts"),i=n("./packages/packages/core/editor-components/src/utils/get-component-documents.ts");const p="insufficient_permissions",l="https://go.elementor.com/go-pro-components-Instance-draft-failure/",d="component-publish-upgrade";async function publishDraftComponentsInPageBeforeSave({status:e,elements:t}){if("publish"!==e)return;const n=[...(await(0,i.getComponentDocuments)(t)).values()].filter(o.isDocumentDirty).map(e=>e.id);if(0!==n.length){try{await a.apiClient.updateStatuses(n,"publish")}catch(e){if(function isInsufficientPermissionsError(e){return e instanceof s.AxiosError&&e.response?.data?.code===p}(e))return void function notifyPublishUpgrade(){(0,r.notify)({type:"promotion",id:d,message:(0,c.__)("You have unpublished component on this page. You need a pro version to publish it.","elementor"),additionalActionProps:[{size:"small",variant:"contained",color:"promotion",href:l,target:"_blank",children:(0,c.__)("Upgrade Now","elementor")}]})}();throw e}n.forEach(e=>(0,o.invalidateDocumentData)(e))}}},"./packages/packages/core/editor-components/src/utils/component-document-data.ts":function(e,t,n){n.r(t),n.d(t,{getComponentDocumentData:function(){return getComponentDocumentData}});var o=n("@elementor/editor-documents");const getComponentDocumentData=async e=>{const t=(0,o.getV1DocumentsManager)();try{return await t.request(e)}catch{return null}}},"./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts":function(e,t,n){n.r(t),n.d(t,{detachComponentInstance:function(){return detachComponentInstance}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-v1-adapters"),s=n("@elementor/store"),c=n("@wordpress/i18n"),a=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),i=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),p=n("./packages/packages/core/editor-components/src/store/store.ts"),l=n("./packages/packages/core/editor-components/src/utils/component-document-data.ts"),d=n("./packages/packages/core/editor-components/src/utils/tracking.ts"),m=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts");async function detachComponentInstance({instanceId:e,componentId:t,trackingInfo:n}){const u=(0,o.getContainer)(e);if(!u)throw new Error(`Instance container with ID "${e}" not found.`);const g=await(0,l.getComponentDocumentData)(t);if(!g)throw new Error(`Component with ID "${t}" not found.`);const v=g.elements?.[0];if(!v)throw new Error(`Component with ID "${t}" has no root element.`);const f=(0,r.undoable)({do:()=>{const r=function extractInstanceOverrides(e){const t=e.model.toJSON().settings,n=i.componentInstancePropTypeUtil.extract(t?.component_instance),o=a.componentInstanceOverridesPropTypeUtil.extract(n?.overrides);return o??[]}(u),c=(0,m.resolveDetachedInstance)(v,r),l=(0,p.selectCurrentComponentId)((0,s.__getState)()),g=l?(0,p.selectOverridableProps)((0,s.__getState)(),l)??null:null,f=u.model.toJSON(),k=(0,o.replaceElement)({currentElementId:e,newElement:c,withHistory:!1}),y=(0,p.selectComponent)((0,s.__getState)(),t)?.uid;return(0,d.trackComponentEvent)({action:"detached",source:"user",component_uid:y,instance_id:e,location:n.location,secondary_location:n.secondaryLocation,trigger:n.trigger}),{detachedElement:k,detachedInstanceElementData:c,editedComponentOnDetach:l,overridablePropsBeforeDetach:g,originalInstanceModel:f}},undo:(e,{detachedElement:t,originalInstanceModel:n,overridablePropsBeforeDetach:r,editedComponentOnDetach:c})=>{const a=(0,o.replaceElement)({currentElementId:t.id,newElement:n,withHistory:!1}),i=(0,p.selectCurrentComponentId)((0,s.__getState)());return i&&i===c&&r&&(0,s.__dispatch)(p.slice.actions.setOverridableProps({componentId:i,overridableProps:r})),a},redo:(e,t,n)=>{const{detachedInstanceElementData:r}=t,c=(0,p.selectCurrentComponentId)((0,s.__getState)()),a=c?(0,p.selectOverridableProps)((0,s.__getState)(),c)??null:null,i=(0,o.replaceElement)({currentElementId:n.id,newElement:r,withHistory:!1});return{...t,detachedElement:i,editedComponentOnDetach:c,overridablePropsBeforeDetach:a}}},{title:(0,c.__)("Detach from Component","elementor"),subtitle:(0,c.__)("Instance detached","elementor")});return f()}},"./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts":function(e,t,n){n.r(t),n.d(t,{detachComponentInstance:function(){return o.detachComponentInstance}});var o=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts")},"./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts":function(e,t,n){n.r(t),n.d(t,{regenerateLocalStyleIds:function(){return regenerateLocalStyleIds}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-props");function regenerateLocalStyleIds(e){const t=e.styles;if(!t||0===Object.keys(t).length)return{styles:void 0,settings:void 0};const n={},o={};for(const[r,s]of Object.entries(t)){const t=generateLocalStyleId(e.id);n[t]={...s,id:t},o[r]=t}const s=e.settings;if(!s||0===Object.keys(s).length)return{styles:n,settings:void 0};const c={...s};for(const[e,t]of Object.entries(c))if(isClassesProp(t)&&t.value.length>0){const n=t.value.map(e=>o[e]??e);c[e]=r.classesPropTypeUtil.create(n)}return{styles:n,settings:c}}function isClassesProp(e){return r.classesPropTypeUtil.isValid(e)}function generateLocalStyleId(e){return`e-${e}-${(0,o.generateElementId)()}`}},"./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts":function(e,t,n){n.r(t),n.d(t,{getOverridableOverride:function(){return getOverridableOverride},resolveDetachedInstance:function(){return resolveDetachedInstance}});var o=n("@elementor/editor-elements"),r=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),c=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts"),a=n("./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts");function resolveDetachedInstance(e,t){const n=function createOverrideMap(e){const t=new Map;return e.forEach(e=>{let n=null;if(r.componentInstanceOverridePropTypeUtil.isValid(e)?n=e:s.componentOverridablePropTypeUtil.isValid(e)&&(n=getOverridableOverride(e)),n){const e=n.value.override_key;t.set(e,n)}}),t}(t);return resolveElementRecursive(structuredClone(e),n)}function resolveElementRecursive(e,t){if(e.id=(0,o.generateElementId)(),e.styles){const{styles:t,settings:n}=(0,c.regenerateLocalStyleIds)(e);e.styles=t,n&&(e.settings={...e.settings,...n})}return e.settings&&(e.settings=(0,a.resolveOverridableSettings)(e,t)),e.elements?.length&&(e.elements=e.elements.map(e=>resolveElementRecursive(e,t))),e}function getOverridableOverride(e){if(!s.componentOverridablePropTypeUtil.isValid(e))return null;const t=s.componentOverridablePropTypeUtil.extract(e)?.origin_value;return r.componentInstanceOverridePropTypeUtil.isValid(t)?t:null}},"./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts":function(e,t,n){n.r(t),n.d(t,{resolveOverridableSettings:function(){return resolveOverridableSettings}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),r=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),c=n("./packages/packages/core/editor-components/src/utils/is-component-instance.ts");function resolveOverridableSettings(e,t){return(0,c.isComponentInstance)({widgetType:e.widgetType,elType:e.elType})?function resolveOverridableSettingsForComponentInstance(e,t){const n=e.settings?.component_instance;if(!r.componentInstancePropTypeUtil.isValid(n))return e.settings??{};const o=n.value.overrides?.value;if(!o?.length)return e.settings??{};const s=o.map(e=>resolvePropValue(e,t,{isOverridableOverride:!0}));return{...e.settings,component_instance:{...n,value:{...n.value,overrides:{...n.value.overrides,value:s}}}}}(e,t):function resolveOverridableSettingsForElement(e,t){const n=e.settings?{...e.settings}:{};for(const[o,r]of Object.entries(e.settings??{}))n[o]=resolvePropValue(r,t);return n}(e,t)}function resolvePropValue(e,t,n){const{isOverridableOverride:r=!1}=n??{};if(!s.componentOverridablePropTypeUtil.isValid(e))return e;const c=e.value.override_key,a=t.get(c),i=s.componentOverridablePropTypeUtil.extract(e)?.origin_value;if(!a)return i;if(r)return function resolveOverridableOverride(e,t){if(!t||!o.componentInstanceOverridePropTypeUtil.isValid(t))return null;return o.componentInstanceOverridePropTypeUtil.create({override_value:e.value.override_value,override_key:t.value.override_key,schema_source:t.value.schema_source})}(a,i);const p=o.componentInstanceOverridePropTypeUtil.extract(a)?.override_value;return p}},"./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts":function(e,t,n){n.r(t),n.d(t,{filterValidOverridableProps:function(){return filterValidOverridableProps},isExposedPropValid:function(){return isExposedPropValid}});var o=n("./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts");function filterValidOverridableProps(e,t){const n={};for(const[o,r]of Object.entries(e.props))isExposedPropValid(r,t)&&(n[o]=r);const o=new Set(Object.keys(n));return{props:n,groups:{items:Object.fromEntries(Object.entries(e.groups.items).map(([e,t])=>[e,{...t,props:t.props.filter(e=>o.has(e))}])),order:e.groups.order}}}function isExposedPropValid(e,t){const{isChainBroken:n}=(0,o.resolveOverridesChain)({outerOverridableProp:e,outerInstanceId:t});return!n}},"./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts":function(e,t,n){n.r(t),n.d(t,{formatComponentElementsId:function(){return formatComponentElementsId}});var o=n("@elementor/utils");const r=7;function formatComponentElementsId(e,t){return e.map(e=>{const n=[...t,e.id],s=(0,o.hashString)(n.join("_"),r);return{...e,id:s,originId:e.id,elements:e.elements?formatComponentElementsId(e.elements,n):void 0}})}},"./packages/packages/core/editor-components/src/utils/get-component-documents.ts":function(e,t,n){n.r(t),n.d(t,{getComponentDocuments:function(){return getComponentDocuments}});var o=n("./packages/packages/core/editor-components/src/utils/component-document-data.ts"),r=n("./packages/packages/core/editor-components/src/utils/is-component-instance.ts");async function getComponentDocuments(e,t=new Map){return async function getDocumentsMap(e,t){const n=await Promise.all(e.map(async e=>{const n=await t.get(e);return n?[e,n]:null}));return new Map(n.filter(e=>null!==e))}(await getComponentIds(e,t),t)}async function getComponentIds(e,t){const n=await Promise.all(e.map(async({widgetType:e,elType:n,elements:s,settings:c})=>{const a=[];if((0,r.isComponentInstance)({widgetType:e,elType:n})){const e=c?.component_instance?.value?.component_id.value;if(!e)return a;a.push(e),t.has(e)||t.set(e,(0,o.getComponentDocumentData)(e));const n=await t.get(e);s=n?.elements}if(s?.length){const e=await getComponentIds(s,t);a.push(...e)}return a}));return[...new Set(n.flat())]}},"./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts":function(e,t,n){n.r(t),n.d(t,{getContainerByOriginId:function(){return getContainerByOriginId}});var o=n("@elementor/editor-elements");function getContainerByOriginId(e,t){if(!t)return(0,o.getContainer)(e);const n=(0,o.getContainer)(t);if(!n)return null;const r=window;return r.elementor?.getContainerByKeyValue?.({key:"originId",value:e,parent:n.view})??null}},"./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts":function(e,t,n){n.r(t),n.d(t,{getOverridableProp:function(){return getOverridableProp}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function getOverridableProp({componentId:e,overrideKey:t}){const n=(0,r.selectOverridableProps)((0,o.__getState)(),e);if(n)return n.props[t]}},"./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts":function(e,t,n){n.r(t),n.d(t,{getPropTypeForComponentOverride:function(){return getPropTypeForComponentOverride}});var o=n("@elementor/editor-elements");const getPropTypeForComponentOverride=e=>{if(e.originPropFields)return getPropType(e.originPropFields);const{widgetType:t,propKey:n}=e;return getPropType({widgetType:t,propKey:n})};function getPropType({widgetType:e,propKey:t}){const n=(0,o.getWidgetsCache)()?.[e]?.atomic_props_schema;return n?.[t]}},"./packages/packages/core/editor-components/src/utils/is-component-instance.ts":function(e,t,n){n.r(t),n.d(t,{isComponentInstance:function(){return isComponentInstance}});var o=n("./packages/packages/core/editor-components/src/consts.ts");function isComponentInstance(e){return[e.widgetType,e.elType].includes(o.COMPONENT_WIDGET_TYPE)}},"./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts":function(e,t,n){n.r(t),n.d(t,{isProComponentsSupported:function(){return isProComponentsSupported},isProOutdatedForComponents:function(){return isProOutdatedForComponents}});var o=n("@elementor/utils");const r="4.0";function isProComponentsSupported(){return(0,o.hasProInstalled)()&&(0,o.isProAtLeast)(r)}function isProOutdatedForComponents(){return(0,o.hasProInstalled)()&&!(0,o.isProAtLeast)(r)}},"./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts":function(e,t,n){n.r(t),n.d(t,{getMatchingOverride:function(){return getMatchingOverride}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),r=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");function getMatchingOverride(e,t){return e?.find(e=>{const n=r.componentOverridablePropTypeUtil.extract(e);if(n){const e=o.componentInstanceOverridePropTypeUtil.extract(n.origin_value);return e?.override_key===t}return e.value.override_key===t})??null}},"./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts":function(e,t,n){n.r(t),n.d(t,{resolveOverridePropValue:function(){return resolveOverridePropValue}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),r=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");const resolveOverridePropValue=e=>{if(r.componentOverridablePropTypeUtil.isValid(e))return function getOverridableValue(e){const t=r.componentOverridablePropTypeUtil.extract(e);if(!t)return null;const n=o.componentInstanceOverridePropTypeUtil.isValid(t.origin_value);if(n)return getOverrideValue(t.origin_value);return t.origin_value}(e);return o.componentInstanceOverridePropTypeUtil.isValid(e)?getOverrideValue(e):e};function getOverrideValue(e){const t=o.componentInstanceOverridePropTypeUtil.extract(e);return t?t.override_value:null}},"./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts":function(e,t,n){n.r(t),n.d(t,{buildOverridesMap:function(){return buildOverridesMap},resolveOverridesChain:function(){return resolveOverridesChain}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),r=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),c=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts"),i=n("./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts");function resolveOverridesChain({outerOverridableProp:e,outerInstanceId:t,overridesMapping:n={}}){if(!e.originPropFields){const o=(0,a.getContainerByOriginId)(e.elementId,t);if(!o)throw new Error(`Inner element not found inside instance. elementId: ${e.elementId}, instanceId: ${t}`);return{isChainBroken:!1,innerElement:o,overridesMapping:n}}const p=(0,a.getContainerByOriginId)(e.elementId,t);if(!p)return{isChainBroken:!0};const{componentId:l,overrides:d}=function extractComponentInstanceSettings(e){const t=e.settings?.get("component_instance"),n=s.componentInstancePropTypeUtil.extract(t),o=n?.component_id?.value,c=r.componentInstanceOverridesPropTypeUtil.extract(n?.overrides);return{componentId:o,overrides:c}}(p);if(!l)throw new Error(`Component ID not found for current instance. currentInstanceId: ${p.id}. outerInstanceId: ${t}`);const m=buildOverridesMap(n,d??[]),u=function findOverrideByOuterKey(e,t){if(!e)return null;const n=e.find(e=>{const n=c.componentOverridablePropTypeUtil.extract(e);return!!n&&n.override_key===t}),r=c.componentOverridablePropTypeUtil.extract(n)?.origin_value;if(!r||!o.componentInstanceOverridePropTypeUtil.isValid(r))return null;return r}(d,e.overrideKey),g=o.componentInstanceOverridePropTypeUtil.extract(u)?.override_key;if(!u||!g)return{isChainBroken:!0};const v=(0,i.getOverridableProp)({componentId:l,overrideKey:g});if(!v)throw new Error(`Overridable prop not found. componentId: ${l}, overrideKey: ${g}`);return resolveOverridesChain({outerOverridableProp:v,outerInstanceId:p.id,overridesMapping:m})}function buildOverridesMap(e,t){const n={...e};for(const r of t){const t=c.componentOverridablePropTypeUtil.extract(r);if(t){const r=o.componentInstanceOverridePropTypeUtil.extract(t.origin_value);if(!r)continue;const s=t.override_key,c=r.override_key,a=r.override_value,i=e[s];if(i){const e=i.value;n[c]={value:e??a,outermostKey:i.outermostKey??s};continue}n[c]={value:a,outermostKey:s}}else{const e=o.componentInstanceOverridePropTypeUtil.extract(r);if(!e)continue;const t=e.override_key,s=e.override_value;n[t]={value:s}}}return n}},"./packages/packages/core/editor-components/src/utils/switch-to-component.ts":function(e,t,n){n.r(t),n.d(t,{buildUniqueSelector:function(){return buildUniqueSelector},expandNavigator:function(){return expandNavigator},switchToComponent:function(){return switchToComponent}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-elements"),s=n("@elementor/editor-v1-adapters");async function switchToComponent(e,t,n){const s=function getSelector(e,t){if(e)return buildUniqueSelector(e);if(t)return`[data-id="${t}"]`;return}(n,t);(0,o.invalidateDocumentData)(e),await(0,o.switchToDocument)(e,{selector:s,mode:"autosave",setAsInitial:!1,shouldScroll:!1});const c=(0,r.getCurrentDocumentContainer)(),a=c?.children?.[0];a&&((0,r.selectElement)(a.id),expandNavigator())}async function expandNavigator(){await(0,s.__privateRunCommand)("navigator/expand-all")}function buildUniqueSelector(e){const t=[];let n=e.closest("[data-id]");for(;n;){const e=n.dataset.id;n.hasAttribute("data-elementor-id")&&t.unshift(`[data-id="${e}"]`),n=n.parentElement?.closest("[data-id]")??null}if(0===t.length){const t=e.closest("[data-id]");if(t?.dataset?.id)return`[data-id="${t.dataset.id}"]`}return t.join(" ")}},"./packages/packages/core/editor-components/src/utils/tracking.ts":function(e,t,n){n.r(t),n.d(t,{onElementDrop:function(){return onElementDrop},trackComponentEvent:function(){return trackComponentEvent}});var o=n("@elementor/events"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts");const trackComponentEvent=({action:e,source:t,...n})=>{if("system"===t)return;const{dispatchEvent:r,config:s}=(0,o.getMixpanel)();if(!s?.names?.components?.[e])return;const c=s.names.components[e];r?.(c,{...n,source:t,"Feature name":"Components"})},onElementDrop=(e,t)=>{if("e-component"!==t?.model?.get("widgetType"))return;const n=t.model.get("editor_settings"),o=n?.title,c=n?.component_uid,a=t.id,i=(0,s.selectCreatedThisSession)((0,r.__getState)()),p=c&&i.includes(c),l=window.elementorCommon.eventsManager.config,{locations:d,secondaryLocations:m}=l;trackComponentEvent({action:"instanceAdded",source:"user",instance_id:a,component_uid:c,component_name:o,is_same_session_reuse:p,location:d.widgetPanel,secondary_location:m.componentsTab})}},"@elementor/editor":function(e){e.exports=window.elementorV2.editor},"@elementor/editor-canvas":function(e){e.exports=window.elementorV2.editorCanvas},"@elementor/editor-controls":function(e){e.exports=window.elementorV2.editorControls},"@elementor/editor-current-user":function(e){e.exports=window.elementorV2.editorCurrentUser},"@elementor/editor-documents":function(e){e.exports=window.elementorV2.editorDocuments},"@elementor/editor-editing-panel":function(e){e.exports=window.elementorV2.editorEditingPanel},"@elementor/editor-elements":function(e){e.exports=window.elementorV2.editorElements},"@elementor/editor-elements-panel":function(e){e.exports=window.elementorV2.editorElementsPanel},"@elementor/editor-global-classes":function(e){e.exports=window.elementorV2.editorGlobalClasses},"@elementor/editor-notifications":function(e){e.exports=window.elementorV2.editorNotifications},"@elementor/editor-panels":function(e){e.exports=window.elementorV2.editorPanels},"@elementor/editor-props":function(e){e.exports=window.elementorV2.editorProps},"@elementor/editor-styles-repository":function(e){e.exports=window.elementorV2.editorStylesRepository},"@elementor/editor-templates":function(e){e.exports=window.elementorV2.editorTemplates},"@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/schema":function(e){e.exports=window.elementorV2.schema},"@elementor/store":function(e){e.exports=window.elementorV2.store},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},"@elementor/utils":function(e){e.exports=window.elementorV2.utils},"@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,{COMPONENT_WIDGET_TYPE:function(){return u.COMPONENT_WIDGET_TYPE},ComponentInstanceProvider:function(){return h.ComponentInstanceProvider},ComponentItem:function(){return r.ComponentItem},ComponentName:function(){return r.ComponentName},ComponentSearch:function(){return o.ComponentSearch},ComponentsList:function(){return s.ComponentsList},DetachAction:function(){return m.DetachAction},EditComponentAction:function(){return l.EditComponentAction},EmptySearchResult:function(){return s.EmptySearchResult},InstanceEmptyState:function(){return i.EmptyState},InstancePanelBody:function(){return p.InstancePanelBody},InstancePanelHeader:function(){return l.InstancePanelHeader},LoadingComponents:function(){return c.LoadingComponents},OverridablePropProvider:function(){return b.OverridablePropProvider},SLICE_NAME:function(){return w.SLICE_NAME},SearchProvider:function(){return a.SearchProvider},apiClient:function(){return t.apiClient},componentInstanceOverridePropTypeUtil:function(){return k.componentInstanceOverridePropTypeUtil},componentInstanceOverridesPropTypeUtil:function(){return y.componentInstanceOverridesPropTypeUtil},componentInstancePropTypeUtil:function(){return _.componentInstancePropTypeUtil},componentOverridablePropTypeUtil:function(){return C.componentOverridablePropTypeUtil},componentsActions:function(){return P.componentsActions},componentsSelectors:function(){return x.componentsSelectors},createComponentsAction:function(){return w.createComponentsAction},filterValidOverridableProps:function(){return O.filterValidOverridableProps},getComponentDocumentData:function(){return M.getComponentDocumentData},getContainerByOriginId:function(){return T.getContainerByOriginId},getOverridableProp:function(){return D.getOverridableProp},getPropTypeForComponentOverride:function(){return U.getPropTypeForComponentOverride},init:function(){return e.init},isComponentInstance:function(){return A.isComponentInstance},loadComponentsAssets:function(){return E.loadComponentsAssets},onElementDrop:function(){return L.onElementDrop},publishDraftComponentsInPageBeforeSave:function(){return S.publishDraftComponentsInPageBeforeSave},registerComponentsReducer:function(){return w.registerComponentsReducer},resolveOverridePropValue:function(){return V.resolveOverridePropValue},selectOverridableProps:function(){return w.selectOverridableProps},selectPath:function(){return w.selectPath},slice:function(){return w.slice},switchToComponent:function(){return N.switchToComponent},trackComponentEvent:function(){return L.trackComponentEvent},updateOverridableProp:function(){return I.updateOverridableProp},useComponentInstanceElement:function(){return b.useComponentInstanceElement},useComponents:function(){return g.useComponents},useComponentsPermissions:function(){return v.useComponentsPermissions},useCurrentComponent:function(){return w.useCurrentComponent},useCurrentComponentId:function(){return w.useCurrentComponentId},useFilteredComponents:function(){return s.useFilteredComponents},useInstancePanelData:function(){return d.useInstancePanelData},useIsSanitizedComponent:function(){return w.useIsSanitizedComponent},useOverridablePropValue:function(){return b.useOverridablePropValue},useOverridableProps:function(){return w.useOverridableProps},useSanitizeOverridableProps:function(){return f.useSanitizeOverridableProps}});var e=__webpack_require__("./packages/packages/core/editor-components/src/init.ts"),t=__webpack_require__("./packages/packages/core/editor-components/src/api.ts"),o=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx"),r=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx"),s=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx"),c=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx"),a=__webpack_require__("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx"),i=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx"),p=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx"),l=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx"),d=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts"),m=__webpack_require__("./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx"),u=__webpack_require__("./packages/packages/core/editor-components/src/create-component-type.ts"),g=__webpack_require__("./packages/packages/core/editor-components/src/hooks/use-components.ts"),v=__webpack_require__("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts"),f=__webpack_require__("./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts"),k=__webpack_require__("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),y=__webpack_require__("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),_=__webpack_require__("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),C=__webpack_require__("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),h=__webpack_require__("./packages/packages/core/editor-components/src/provider/component-instance-context.tsx"),b=__webpack_require__("./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx"),E=__webpack_require__("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts"),I=__webpack_require__("./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts"),P=__webpack_require__("./packages/packages/core/editor-components/src/store/dispatchers.ts"),x=__webpack_require__("./packages/packages/core/editor-components/src/store/selectors.ts"),w=__webpack_require__("./packages/packages/core/editor-components/src/store/store.ts"),S=__webpack_require__("./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts"),O=__webpack_require__("./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts"),T=__webpack_require__("./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts"),D=__webpack_require__("./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts"),U=__webpack_require__("./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts"),A=__webpack_require__("./packages/packages/core/editor-components/src/utils/is-component-instance.ts"),V=__webpack_require__("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts"),N=__webpack_require__("./packages/packages/core/editor-components/src/utils/switch-to-component.ts"),L=__webpack_require__("./packages/packages/core/editor-components/src/utils/tracking.ts"),M=__webpack_require__("./packages/packages/core/editor-components/src/utils/component-document-data.ts")}(),(window.elementorV2=window.elementorV2||{}).editorComponents=n}(),window.elementorV2.editorComponents?.init?.();
2 +!function(){"use strict";var e={"./packages/packages/core/editor-components/src/api.ts":function(e,t,n){n.r(t),n.d(t,{apiClient:function(){return a},getParams:function(){return getParams}});var o=n("@elementor/editor-v1-adapters"),r=n("@elementor/http-client");const s="elementor/v1/components",getParams=e=>({action:"get_document_config",unique_id:`document-config-${e}`,data:{id:e}}),a={get:()=>(0,r.httpService)().get(`${s}`).then(e=>e.data.data),create:e=>(0,r.httpService)().post(`${s}`,e).then(e=>e.data.data),updateStatuses:(e,t)=>(0,r.httpService)().put(`${s}/status`,{ids:e,status:t}),getComponentConfig:e=>o.ajax.load(getParams(e)),invalidateComponentConfigCache:e=>o.ajax.invalidateCache(getParams(e)),getComponentLockStatus:async e=>await(0,r.httpService)().get(`${s}/lock-status`,{params:{componentId:e}}).then(e=>{const{is_current_user_allow_to_edit:t,locked_by:n}=e.data.data;return{isAllowedToSwitchDocument:t,lockedBy:n||""}}),lockComponent:async e=>await(0,r.httpService)().post(`${s}/lock`,{componentId:e}).then(e=>e.data),unlockComponent:async e=>await(0,r.httpService)().post(`${s}/unlock`,{componentId:e}).then(e=>e.data),getOverridableProps:async e=>await(0,r.httpService)().get(`${s}/overridable-props`,{params:{componentId:e.toString()}}).then(e=>e.data.data),updateArchivedComponents:async(e,t)=>await(0,r.httpService)().post(`${s}/archive`,{componentIds:e,status:t}).then(e=>e.data.data),updateComponentTitle:(e,t)=>(0,r.httpService)().post(`${s}/update-titles`,{components:e,status:t}).then(e=>e.data.data),validate:async e=>await(0,r.httpService)().post(`${s}/create-validate`,e).then(e=>e.data)}},"./packages/packages/core/editor-components/src/component-instance-transformer.ts":function(e,t,n){n.r(t),n.d(t,{componentInstanceTransformer:function(){return i}});var o=n("@elementor/editor-canvas"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts"),a=n("./packages/packages/core/editor-components/src/utils/component-document-data.ts");const i=(0,o.createTransformer)(async({component_id:e,overrides:t})=>{const n=(0,s.selectUnpublishedComponents)((0,r.__getState)()).find(({uid:t})=>t===e),o=t?.reduce((e,t)=>({...e,...t}),{});if(n)return{elements:structuredClone(n.elements),overrides:o};if("number"!=typeof e)throw new Error(`Component ID "${e}" not valid.`);const i=await(0,a.getComponentDocumentData)(e);return{elements:i?.elements??[],overrides:o}})},"./packages/packages/core/editor-components/src/component-overridable-transformer.ts":function(e,t,n){n.r(t),n.d(t,{componentOverridableTransformer:function(){return r}});var o=n("@elementor/editor-canvas");const r=(0,o.createTransformer)((e,t)=>{const{overrides:n}=t.renderContext??{},r=n?.[e.override_key];if(r){return function isOriginValueOverride(e){return"override"===e.$$type}(e.origin_value)?function transformOverride(e,t,n){const r=o.settingsTransformersRegistry.get("override");if(!r)return null;const s=r(e.origin_value.value,t);if(!s)return null;const[a]=Object.keys(s);return{[a]:n}}(e,t,r):r}return e.origin_value})},"./packages/packages/core/editor-components/src/component-override-transformer.ts":function(e,t,n){n.r(t),n.d(t,{componentOverrideTransformer:function(){return r}});var o=n("@elementor/editor-canvas");const r=(0,o.createTransformer)(e=>{const{override_key:t,override_value:n}=e;return{[t]:n}})},"./packages/packages/core/editor-components/src/components/component-panel-header/component-badge.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsBadge:function(){return i}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n");const i=o.forwardRef(({overridablePropsCount:e,onClick:t},n)=>{const i=function usePrevious(e){const t=(0,o.useRef)(e);return(0,o.useEffect)(()=>{t.current=e},[e]),t.current}(e),p=0===i&&1===e;return o.createElement(c,{ref:n,color:"primary",key:e,invisible:0===e,animate:p,anchorOrigin:{vertical:"top",horizontal:"right"},badgeContent:o.createElement(s.Box,{sx:{animation:p?"none":`${l} 300ms ease-out`}},e)},o.createElement(s.Tooltip,{title:(0,a.__)("Component properties","elementor")},o.createElement(s.ToggleButton,{value:"exposed properties",size:"tiny",onClick:t,"aria-label":(0,a.__)("Component properties","elementor")},o.createElement(r.ComponentPropListIcon,{fontSize:"tiny"}))))}),c=(0,s.styled)(s.Badge,{shouldForwardProp:e=>"animate"!==e})(({theme:e,animate:t})=>({"& .MuiBadge-badge":{minWidth:e.spacing(2),height:e.spacing(2),minHeight:e.spacing(2),maxWidth:e.spacing(2),fontSize:e.typography.caption.fontSize,animation:t?`${p} 300ms ease-out`:"none"}}));const p=s.keyframes`
3 + 0% { transform: scale(0) translate(50%, 50%); opacity: 0; }
4 + 70% { transform: scale(1.1) translate(50%, -50%); opacity: 1; }
5 + 100% { transform: scale(1) translate(50%, -50%); opacity: 1; }
6 +`,l=s.keyframes`
7 + from { transform: translateY(100%); opacity: 0; }
8 + to { transform: translateY(0); opacity: 1; }
9 +`},"./packages/packages/core/editor-components/src/components/component-panel-header/component-panel-header.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentPanelHeader:function(){return ComponentPanelHeader}});var o=n("react"),r=n("@elementor/editor-current-user"),s=n("@elementor/editor-documents"),a=n("@elementor/editor-panels"),i=n("@elementor/editor-ui"),c=n("@elementor/icons"),p=n("@elementor/store"),l=n("@elementor/ui"),m=n("@wordpress/i18n"),d=n("./packages/packages/core/editor-components/src/hooks/use-navigate-back.ts"),u=n("./packages/packages/core/editor-components/src/store/store.ts"),g=n("./packages/packages/core/editor-components/src/utils/tracking.ts"),v=n("./packages/packages/core/editor-components/src/components/component-properties-panel/component-properties-panel.tsx"),f=n("./packages/packages/core/editor-components/src/components/components-tab/component-introduction.tsx"),y=n("./packages/packages/core/editor-components/src/components/component-panel-header/component-badge.tsx"),h=n("./packages/packages/core/editor-components/src/components/component-panel-header/use-overridable-props.ts");const ComponentPanelHeader=()=>{const{id:e,uid:t}=(0,u.useCurrentComponent)()??{id:null,uid:null},n=(0,h.useOverridableProps)(e),k=(0,d.useNavigateBack)(),b=function getComponentName(){const e=(0,p.__getState)()[u.SLICE_NAME].path,{instanceTitle:t}=e.at(-1)??{};if(t)return t;const n=(0,s.getV1DocumentsManager)().getCurrent();return n?.container?.settings?.get("post_title")??""}(),[C,E]=(0,r.useSuppressedMessage)("components-properties-introduction"),[_,P]=o.useState(!C),{open:x}=(0,v.usePanelActions)(),w=n?Object.keys(n.props).length:0,I=o.useRef(null);if(!e)return null;return o.createElement(l.Box,null,o.createElement(a.PanelHeader,{sx:{justifyContent:"start",px:2}},o.createElement(l.Tooltip,{title:(0,m.__)("Back","elementor")},o.createElement(l.IconButton,{size:"tiny",onClick:k,"aria-label":(0,m.__)("Back","elementor")},o.createElement(c.ArrowLeftIcon,{fontSize:"tiny"}))),o.createElement(c.ComponentsFilledIcon,{fontSize:"tiny",stroke:"currentColor"}),o.createElement(i.EllipsisWithTooltip,{title:b,as:l.Typography,variant:"caption",sx:{fontWeight:500,flexGrow:1}}),o.createElement(y.ComponentsBadge,{overridablePropsCount:w,ref:I,onClick:()=>{x(),(0,g.trackComponentEvent)({action:"propertiesPanelOpened",source:"user",component_uid:t,properties_count:w})}})),o.createElement(l.Divider,null),o.createElement(f.ComponentIntroduction,{anchorRef:I,shouldShowIntroduction:_,onClose:()=>{E(),P(!1)}}))}},"./packages/packages/core/editor-components/src/components/component-panel-header/use-overridable-props.ts":function(e,t,n){n.r(t),n.d(t,{useOverridableProps:function(){return useOverridableProps}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function useOverridableProps(e){return(0,o.__useSelector)(t=>{if(e)return(0,r.selectOverridableProps)(t,e)})}},"./packages/packages/core/editor-components/src/components/component-properties-panel/component-properties-panel-content.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentPropertiesPanelContent:function(){return ComponentPropertiesPanelContent}});var o=n("react"),r=n("@elementor/editor-documents"),s=n("@elementor/editor-panels"),a=n("@elementor/icons"),i=n("@elementor/ui"),c=n("@elementor/utils"),p=n("@wordpress/i18n"),l=n("./packages/packages/core/editor-components/src/store/actions/add-overridable-group.ts"),m=n("./packages/packages/core/editor-components/src/store/actions/delete-overridable-group.ts"),d=n("./packages/packages/core/editor-components/src/store/actions/delete-overridable-prop.ts"),u=n("./packages/packages/core/editor-components/src/store/actions/reorder-group-props.ts"),g=n("./packages/packages/core/editor-components/src/store/actions/reorder-overridable-groups.ts"),v=n("./packages/packages/core/editor-components/src/store/actions/update-overridable-prop-params.ts"),f=n("./packages/packages/core/editor-components/src/store/store.ts"),y=n("./packages/packages/core/editor-components/src/components/component-panel-header/use-overridable-props.ts"),h=n("./packages/packages/core/editor-components/src/components/component-properties-panel/properties-empty-state.tsx"),k=n("./packages/packages/core/editor-components/src/components/component-properties-panel/properties-group.tsx"),b=n("./packages/packages/core/editor-components/src/components/component-properties-panel/sortable.tsx"),C=n("./packages/packages/core/editor-components/src/components/component-properties-panel/use-current-editable-item.ts"),E=n("./packages/packages/core/editor-components/src/components/component-properties-panel/utils/generate-unique-label.ts");function ComponentPropertiesPanelContent({onClose:e}){const t=(0,f.useCurrentComponentId)(),n=(0,y.useOverridableProps)(t),[_,P]=(0,o.useState)(!1),x=(0,o.useRef)(null),w=(0,C.useCurrentEditableItem)(),I=(0,o.useMemo)(()=>n?n.groups.order.map(e=>n.groups.items[e]??null).filter(Boolean):[],[n]),O=(0,o.useMemo)(()=>I.map(e=>({value:e.id,label:e.label})),[I]);if(!t||!n)return null;const S=!(I.length>0)&&!_,T=n.groups.order,handlePropertyDelete=e=>{(0,d.deleteOverridableProp)({componentId:t,propKey:e,source:"user"}),(0,r.setDocumentModifiedStatus)(!0)},handlePropertyUpdate=(e,n)=>{(0,v.updateOverridablePropParams)({componentId:t,overrideKey:e,label:n.label,groupId:n.group}),(0,r.setDocumentModifiedStatus)(!0)},handleGroupDelete=e=>{(0,m.deleteOverridableGroup)({componentId:t,groupId:e}),(0,r.setDocumentModifiedStatus)(!0)};return o.createElement(o.Fragment,null,o.createElement(s.PanelHeader,{sx:{justifyContent:"start",pl:1.5,pr:1,py:1}},o.createElement(i.Stack,{direction:"row",alignItems:"center",gap:.5,flexGrow:1},o.createElement(a.ComponentPropListIcon,{fontSize:"tiny"}),o.createElement(s.PanelHeaderTitle,{variant:"subtitle2"},(0,p.__)("Component properties","elementor"))),!S&&o.createElement(i.Tooltip,{title:(0,p.__)("Add new group","elementor")},o.createElement(i.IconButton,{size:"tiny","aria-label":(0,p.__)("Add new group","elementor"),onClick:()=>{if(_)return;const e=(0,c.generateUniqueId)("group"),n=(0,E.generateUniqueLabel)(I);(0,l.addOverridableGroup)({componentId:t,groupId:e,label:n,source:"user"}),(0,r.setDocumentModifiedStatus)(!0),P(!1),w.setEditingGroupId(e)}},o.createElement(a.FolderPlusIcon,{fontSize:"tiny"}))),o.createElement(i.Tooltip,{title:(0,p.__)("Close panel","elementor")},o.createElement(i.IconButton,{ref:x,size:"tiny","aria-label":(0,p.__)("Close panel","elementor"),onClick:e},o.createElement(a.XIcon,{fontSize:"tiny"})))),o.createElement(i.Divider,null),o.createElement(s.PanelBody,null,S?o.createElement(h.PropertiesEmptyState,{introductionRef:x}):o.createElement(i.List,{sx:{p:2,display:"flex",flexDirection:"column",gap:2}},o.createElement(b.SortableProvider,{value:T,onChange:e=>{(0,g.reorderOverridableGroups)({componentId:t,newOrder:e}),(0,r.setDocumentModifiedStatus)(!0)}},I.map(e=>o.createElement(b.SortableItem,{key:e.id,id:e.id},({triggerProps:s,triggerStyle:a,isDragPlaceholder:i})=>o.createElement(k.PropertiesGroup,{group:e,props:n.props,allGroups:O,allGroupsRecord:n.groups.items,sortableTriggerProps:{...s,style:a},isDragPlaceholder:i,setIsAddingGroup:P,onPropsReorder:n=>{return o=e.id,s=n,(0,u.reorderGroupProps)({componentId:t,groupId:o,newPropsOrder:s}),void(0,r.setDocumentModifiedStatus)(!0);var o,s},onPropertyDelete:handlePropertyDelete,onPropertyUpdate:handlePropertyUpdate,editableLabelProps:w,onGroupDelete:handleGroupDelete})))))))}},"./packages/packages/core/editor-components/src/components/component-properties-panel/component-properties-panel.tsx":function(e,t,n){n.r(t),n.d(t,{panel:function(){return m},usePanelActions:function(){return d}});var o=n("react"),r=n("@elementor/editor-editing-panel"),s=n("@elementor/editor-elements"),a=n("@elementor/editor-panels"),i=n("@elementor/editor-ui"),c=n("@elementor/ui"),p=n("@wordpress/i18n"),l=n("./packages/packages/core/editor-components/src/components/component-properties-panel/component-properties-panel-content.tsx");const{panel:m,usePanelActions:d}=(0,a.__createPanel)({id:"component-properties-panel",component:function ComponentPropertiesPanel(){const{element:e,elementType:t}=(0,s.useSelectedElement)(),{close:n}=d(),{open:p}=(0,r.usePanelActions)();if(!e||!t)return null;return o.createElement(i.ThemeProvider,null,o.createElement(c.ErrorBoundary,{fallback:o.createElement(ErrorBoundaryFallback,null)},o.createElement(r.ElementProvider,{element:e,elementType:t},o.createElement(a.Panel,null,o.createElement(l.ComponentPropertiesPanelContent,{onClose:()=>{n(),p()}})))))}});const ErrorBoundaryFallback=()=>o.createElement(c.Box,{role:"alert",sx:{minHeight:"100%",p:2}},o.createElement(c.Alert,{severity:"error",sx:{mb:2,maxWidth:400,textAlign:"center"}},o.createElement("strong",null,(0,p.__)("Something went wrong","elementor"))))},"./packages/packages/core/editor-components/src/components/component-properties-panel/properties-empty-state.tsx":function(e,t,n){n.r(t),n.d(t,{PropertiesEmptyState:function(){return PropertiesEmptyState}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/components/components-tab/component-introduction.tsx");function PropertiesEmptyState({introductionRef:e}){const[t,n]=(0,o.useState)(!1);return o.createElement(o.Fragment,null,o.createElement(s.Stack,{alignItems:"center",justifyContent:"flex-start",height:"100%",color:"text.secondary",sx:{px:2.5,pt:10,pb:5.5},gap:1},o.createElement(r.ComponentPropListIcon,{fontSize:"large"}),o.createElement(s.Typography,{align:"center",variant:"subtitle2"},(0,a.__)("Add your first property","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption"},(0,a.__)("Make instances flexible while keeping design synced.","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption"},(0,a.__)("Select any element, then click + next to a setting to expose it.","elementor")),o.createElement(s.Link,{variant:"caption",color:"secondary",sx:{textDecorationLine:"underline"},onClick:()=>n(!0)},(0,a.__)("Learn more","elementor"))),o.createElement(i.ComponentIntroduction,{anchorRef:e,shouldShowIntroduction:t,onClose:()=>n(!1)}))}},"./packages/packages/core/editor-components/src/components/component-properties-panel/properties-group.tsx":function(e,t,n){n.r(t),n.d(t,{PropertiesGroup:function(){return PropertiesGroup}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/icons"),a=n("@elementor/ui"),i=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/components/component-properties-panel/property-item.tsx"),p=n("./packages/packages/core/editor-components/src/components/component-properties-panel/sortable.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 PropertiesGroup({group:e,props:t,allGroups:n,sortableTriggerProps:l,isDragPlaceholder:m,onPropsReorder:d,onPropertyDelete:u,onPropertyUpdate:g,onGroupDelete:v,editableLabelProps:f}){const y=e.props.map(e=>t[e]).filter(e=>Boolean(e)),h=(0,a.usePopupState)({variant:"popover",disableAutoFocus:!0}),{editableRef:k,isEditing:b,error:C,getEditableProps:E,setEditingGroupId:_,editingGroupId:P}=f,x=e.props.length>0,w=b&&P===e.id;return o.createElement(a.Box,{sx:{opacity:m?.5:1}},o.createElement(a.Stack,{gap:1},o.createElement(a.Box,{className:"group-header",sx:{position:"relative","&:hover .group-sortable-trigger":{visibility:"visible"},"& .group-sortable-trigger":{visibility:"hidden"},"&:hover .group-menu":{visibility:"visible"},"& .group-menu":{visibility:"hidden"}}},o.createElement(p.SortableTrigger,_extends({triggerClassName:"group-sortable-trigger"},l)),o.createElement(a.Stack,{direction:"row",alignItems:"center",justifyContent:"space-between",gap:2},w?o.createElement(a.Box,{sx:{height:28,display:"flex",alignItems:"center",border:2,borderColor:"text.secondary",borderRadius:1,pl:.5,flexGrow:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",width:"100%"}},o.createElement(r.EditableField,_extends({ref:k,as:a.Typography,variant:"caption",error:C??void 0,sx:{color:"text.primary",fontWeight:400,lineHeight:1.66}},E()))):o.createElement(r.EllipsisWithTooltip,{title:e.label,as:a.Typography,variant:"caption",sx:{color:"text.primary",fontWeight:400,lineHeight:1.66}}),o.createElement(a.IconButton,_extends({className:"group-menu",size:"tiny",sx:{p:.25,visibility:w?"visible":void 0},"aria-label":(0,i.__)("Group actions","elementor")},(0,a.bindTrigger)(h)),o.createElement(s.DotsVerticalIcon,{fontSize:"tiny"})))),o.createElement(a.List,{sx:{p:0,display:"flex",flexDirection:"column",gap:1}},o.createElement(p.SortableProvider,{value:e.props,onChange:d},y.map(e=>o.createElement(p.SortableItem,{key:e.overrideKey,id:e.overrideKey},({triggerProps:r,triggerStyle:s,isDragPlaceholder:a})=>o.createElement(c.PropertyItem,{prop:e,sortableTriggerProps:{...r,style:s},isDragPlaceholder:a,groups:n,existingLabels:Object.values(t).map(e=>e.label),onDelete:u,onUpdate:t=>g(e.overrideKey,t)})))))),o.createElement(a.Menu,_extends({},(0,a.bindMenu)(h),{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}}),o.createElement(r.MenuListItem,{sx:{minWidth:"160px"},onClick:()=>{h.close(),_(e.id)}},o.createElement(a.Typography,{variant:"caption",sx:{color:"text.primary"}},(0,i.__)("Rename","elementor"))),o.createElement(a.Tooltip,{title:x?(0,i.__)("To delete the group, first remove all the properties","elementor"):"",placement:"right"},o.createElement("span",null,o.createElement(r.MenuListItem,{onClick:()=>{h.close(),v(e.id)},disabled:x},o.createElement(a.Typography,{variant:"caption",sx:{color:x?"text.disabled":"error.light"}},(0,i.__)("Delete","elementor")))))))}},"./packages/packages/core/editor-components/src/components/component-properties-panel/property-item.tsx":function(e,t,n){n.r(t),n.d(t,{PropertyItem:function(){return PropertyItem}});var o=n("react"),r=n("@elementor/editor-elements"),s=n("@elementor/icons"),a=n("@elementor/ui"),i=n("./packages/packages/core/editor-components/src/components/overridable-props/overridable-prop-form.tsx"),c=n("./packages/packages/core/editor-components/src/components/component-properties-panel/sortable.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 PropertyItem({prop:e,sortableTriggerProps:t,isDragPlaceholder:n,groups:p,existingLabels:l,onDelete:m,onUpdate:d}){const u=(0,a.usePopupState)({variant:"popover"}),g=function getElementIcon(e){const t="widget"===e.elType?e.widgetType:e.elType,n=(0,r.getWidgetsCache)();if(!n)return"eicon-apps";const o=n[t];return o?.icon||"eicon-apps"}(e),v=(0,a.bindPopover)(u);return o.createElement(o.Fragment,null,o.createElement(a.Box,_extends({},(0,a.bindTrigger)(u),{sx:{position:"relative",pl:.5,pr:1,py:.25,minHeight:28,borderRadius:1,border:"1px solid",borderColor:"divider",display:"flex",alignItems:"center",gap:.5,opacity:n?.5:1,cursor:"pointer","&:hover":{backgroundColor:"action.hover"},"&:hover .sortable-trigger":{visibility:"visible"},"& .sortable-trigger":{visibility:"hidden"},"&:hover .delete-button":{visibility:"visible"},"& .delete-button":{visibility:"hidden"}}}),o.createElement(c.SortableTrigger,t),o.createElement(a.Box,{sx:{display:"flex",alignItems:"center",color:"text.primary",fontSize:12,padding:.25}},o.createElement("i",{className:g})),o.createElement(a.Typography,{variant:"caption",sx:{color:"text.primary",flexGrow:1,fontSize:10}},e.label),o.createElement(a.IconButton,{size:"tiny",onClick:t=>{t.stopPropagation(),m(e.overrideKey)},"aria-label":"Delete property",sx:{p:.25}},o.createElement(s.XIcon,{fontSize:"tiny"}))),o.createElement(a.Popover,_extends({},v,{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},PaperProps:{sx:{width:u.anchorEl?.getBoundingClientRect().width}}}),o.createElement(i.OverridablePropForm,{onSubmit:e=>{d(e),u.close()},currentValue:e,groups:p,existingLabels:l,sx:{width:"100%"}})))}},"./packages/packages/core/editor-components/src/components/component-properties-panel/sortable.tsx":function(e,t,n){n.r(t),n.d(t,{SortableItem:function(){return SortableItem},SortableProvider:function(){return SortableProvider},SortableTrigger:function(){return SortableTrigger}});var o=n("react"),r=n("@elementor/icons"),s=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 SortableProvider=e=>o.createElement(s.UnstableSortableProvider,_extends({restrictAxis:!0,variant:"static",dragPlaceholderStyle:{opacity:"1"}},e)),SortableTrigger=({triggerClassName:e,...t})=>o.createElement(a,_extends({},t,{role:"button",className:`sortable-trigger ${e??""}`.trim(),"aria-label":"sort"}),o.createElement(r.GripVerticalIcon,{fontSize:"tiny"})),SortableItem=({children:e,id:t})=>o.createElement(s.UnstableSortableItem,{id:t,render:({itemProps:t,isDragged:n,triggerProps:r,itemStyle:a,triggerStyle:c,dropIndicationStyle:p,showDropIndication:l,isDragOverlay:m,isDragPlaceholder:d})=>o.createElement(s.Box,_extends({},t,{style:a,component:"div",role:"listitem",sx:{backgroundColor:m?"background.paper":void 0}}),e({isDragged:n,isDragPlaceholder:d,triggerProps:r,triggerStyle:c}),l&&o.createElement(i,{style:p}))}),a=(0,s.styled)("div")(({theme:e})=>({position:"absolute",left:"-2px",top:"50%",transform:`translate( -${e.spacing(1.5)}, -50% )`,color:e.palette.action.active,cursor:"grab"})),i=(0,s.styled)(s.Box)`
10 + width: 100%;
11 + height: 1px;
12 + background-color: ${({theme:e})=>e.palette.text.primary};
13 +`},"./packages/packages/core/editor-components/src/components/component-properties-panel/use-current-editable-item.ts":function(e,t,n){n.r(t),n.d(t,{useCurrentEditableItem:function(){return useCurrentEditableItem}});var o=n("react"),r=n("@elementor/editor-documents"),s=n("@elementor/editor-ui"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/store/actions/rename-overridable-group.ts"),c=n("./packages/packages/core/editor-components/src/store/store.ts"),p=n("./packages/packages/core/editor-components/src/components/component-panel-header/use-overridable-props.ts"),l=n("./packages/packages/core/editor-components/src/components/component-properties-panel/utils/validate-group-label.ts");function useCurrentEditableItem(){const[e,t]=(0,o.useState)(null),n=(0,c.useCurrentComponentId)(),m=(0,p.useOverridableProps)(n),d=m?.groups?.items??{},u=e?d[e]:null,{ref:g,openEditMode:v,isEditing:f,error:y,getProps:h}=(0,s.useEditable)({value:u?.label??"",onSubmit:t=>{if(!e||!n)throw new Error((0,a.__)("Group ID or component ID is missing","elementor"));(0,i.renameOverridableGroup)({componentId:n,groupId:e,label:t}),(0,r.setDocumentModifiedStatus)(!0)},validation:t=>{const n=Object.fromEntries(Object.entries(d).filter(([t])=>t!==e));return(0,l.validateGroupLabel)(t,n)||null}});return{editableRef:g,isEditing:f,error:y,getEditableProps:h,setEditingGroupId:e=>{t(e),v()},editingGroupId:e}}},"./packages/packages/core/editor-components/src/components/component-properties-panel/utils/generate-unique-label.ts":function(e,t,n){n.r(t),n.d(t,{generateUniqueLabel:function(){return generateUniqueLabel}});const o="New group";function generateUniqueLabel(e){const t=new Set(e.map(e=>e.label));if(!t.has(o))return o;let n=1,r=`${o}-${n}`;for(;t.has(r);)n++,r=`${o}-${n}`;return r}},"./packages/packages/core/editor-components/src/components/component-properties-panel/utils/validate-group-label.ts":function(e,t,n){n.r(t),n.d(t,{ERROR_MESSAGES:function(){return r},validateGroupLabel:function(){return validateGroupLabel}});var o=n("@wordpress/i18n");const r={EMPTY_NAME:(0,o.__)("Group name is required","elementor"),DUPLICATE_NAME:(0,o.__)("Group name already exists","elementor")};function validateGroupLabel(e,t){const n=e.trim();if(!n)return r.EMPTY_NAME;return Object.values(t).some(e=>e.label===n)?r.DUPLICATE_NAME:""}},"./packages/packages/core/editor-components/src/components/components-tab/component-introduction.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentIntroduction:function(){return ComponentIntroduction}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/editor-ui"),a=n("@elementor/ui"),i=n("@wordpress/i18n");const ComponentIntroduction=({anchorRef:e,shouldShowIntroduction:t,onClose:n})=>e.current&&t?o.createElement(a.Popover,{anchorEl:e.current,open:t,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:-30},onClose:n},o.createElement(a.Box,{sx:{width:"296px"}},o.createElement(s.PopoverHeader,{title:(0,i.__)("Add your first property","elementor"),onClose:n}),o.createElement(a.Image,{sx:{width:"296px",height:"160px"},src:"https://assets.elementor.com/packages/v1/images/components-properties-intro.png",alt:""}),o.createElement(r.PopoverContent,null,o.createElement(a.Stack,{sx:{p:2}},o.createElement(a.Typography,{variant:"body2"},(0,i.__)("Properties make instances flexible.","elementor")),o.createElement(a.Typography,{variant:"body2"},(0,i.__)("Select any Element, then in the General tab, click next to any setting you want users to customize - like text, images, or links.","elementor")),o.createElement(a.Typography,{variant:"body2",sx:{mt:2}},(0,i.__)("Your properties will appear in the Properties panel, where you can organize and manage them anytime.","elementor")),o.createElement(a.Link,{href:"http://go.elementor.com/components-guide",target:"_blank",sx:{mt:2},color:"info.main",variant:"body2"},(0,i.__)("Learn more","elementor")),o.createElement(a.Stack,{direction:"row",alignItems:"center",justifyContent:"flex-end",sx:{pt:1}},o.createElement(a.Button,{size:"medium",variant:"contained",onClick:n},(0,i.__)("Got it","elementor"))))))):null},"./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentSearch:function(){return ComponentSearch}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");const ComponentSearch=()=>{const{inputValue:e,handleChange:t}=(0,i.useSearch)();return o.createElement(s.Stack,{direction:"row",gap:.5,sx:{width:"100%",px:2,py:1.5}},o.createElement(s.Box,{sx:{flexGrow:1}},o.createElement(s.TextField,{role:"search",fullWidth:!0,size:"tiny",value:e,placeholder:(0,a.__)("Search","elementor"),onChange:e=>t(e.target.value),InputProps:{startAdornment:o.createElement(s.InputAdornment,{position:"start"},o.createElement(r.SearchIcon,{fontSize:"tiny"}))}})))}},"./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentItem:function(){return ComponentItem}});var o=n("react"),r=n("@elementor/editor-canvas"),s=n("@elementor/editor-elements"),a=n("@elementor/editor-ui"),i=n("@elementor/icons"),c=n("@elementor/ui"),p=n("@wordpress/i18n"),l=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts"),m=n("./packages/packages/core/editor-components/src/store/actions/archive-component.ts"),d=n("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts"),u=n("./packages/packages/core/editor-components/src/utils/component-name-validation.ts"),g=n("./packages/packages/core/editor-components/src/utils/get-container-for-new-element.ts"),v=n("./packages/packages/core/editor-components/src/components/create-component-form/utils/replace-element-with-component.ts"),f=n("./packages/packages/core/editor-components/src/components/components-tab/delete-confirmation-dialog.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 ComponentItem=({component:e,renameComponent:t})=>{const n=(0,o.useRef)(null),[s,u]=(0,o.useState)(!1),{canRename:g,canDelete:h}=(0,l.useComponentsPermissions)(),k=g||h,{ref:b,isEditing:C,openEditMode:E,error:_,getProps:P}=(0,a.useEditable)({value:e.name,onSubmit:t,validation:validateComponentTitle}),x=(0,v.createComponentModel)(e),w=(0,c.usePopupState)({variant:"popover",disableAutoFocus:!0});return o.createElement(c.Stack,null,o.createElement(a.WarningInfotip,{open:Boolean(_),text:_??"",placement:"bottom",width:n.current?.getBoundingClientRect().width,offset:[0,-15]},o.createElement(c.ListItemButton,{draggable:!0,onDragStart:e=>(0,r.startDragElementFromPanel)(x,e),onDragEnd:()=>{(0,d.loadComponentsAssets)([x]),(0,r.endDragElementFromPanel)()},shape:"rounded",ref:n,sx:{border:"solid 1px",borderColor:"divider",py:.5,px:1,display:"flex",width:"100%",alignItems:"center",gap:1}},o.createElement(c.Box,{display:"flex",alignItems:"center",gap:1,minWidth:0,flexGrow:1,onClick:()=>{addComponentToPage(x)}},o.createElement(c.ListItemIcon,{size:"tiny"},o.createElement(i.ComponentsIcon,{fontSize:"tiny"})),o.createElement(y,{isActive:C,isError:!!_},o.createElement(c.Box,{display:"flex",flex:1,minWidth:0,flexGrow:1},C?o.createElement(a.EditableField,_extends({ref:b,as:c.Typography,variant:"caption"},P())):o.createElement(a.EllipsisWithTooltip,{title:e.name,as:c.Typography,variant:"caption",color:"text.primary"})))),k&&o.createElement(c.IconButton,_extends({size:"tiny"},(0,c.bindTrigger)(w),{"aria-label":"More actions"}),o.createElement(i.DotsVerticalIcon,{fontSize:"tiny"})))),k&&o.createElement(c.Menu,_extends({},(0,c.bindMenu)(w),{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}}),g&&o.createElement(a.MenuListItem,{sx:{minWidth:"160px"},primaryTypographyProps:{variant:"caption",color:"text.primary"},onClick:()=>{w.close(),E()}},(0,p.__)("Rename","elementor")),h&&o.createElement(a.MenuListItem,{sx:{minWidth:"160px"},primaryTypographyProps:{variant:"caption",color:"error.light"},onClick:()=>{u(!0),w.close()}},(0,p.__)("Delete","elementor"))),o.createElement(f.DeleteConfirmationDialog,{open:s,onClose:()=>{u(!1)},onConfirm:()=>{if(!e.id)throw new Error("Component ID is required");u(!1),(0,m.archiveComponent)(e.id,e.name)}}))},addComponentToPage=e=>{const{container:t,options:n}=(0,g.getContainerForNewElement)();if(!t)throw new Error("Can't find container to drop new component instance at");(0,d.loadComponentsAssets)([e]),(0,s.dropElement)({containerId:t.id,model:e,options:{...n,useHistory:!1,scrollIntoView:!0}})},validateComponentTitle=e=>{const t=(0,u.validateComponentName)(e);return t.errorMessage?t.errorMessage:null},y=(0,c.styled)(c.Box,{shouldForwardProp:e=>"isActive"!==e&&"isError"!==e})(({theme:e,isActive:t,isError:n})=>({display:"flex",width:"100%",flexGrow:1,borderRadius:e.spacing(.5),border:getIndicatorBorder({isActive:t,isError:n,theme:e}),padding:`0 ${e.spacing(1)}`,marginLeft:t?e.spacing(1):0,minWidth:0})),getIndicatorBorder=({isActive:e,isError:t,theme:n})=>t?`2px solid ${n.palette.error.main}`:e?`2px solid ${n.palette.secondary.main}`:"none"},"./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsList:function(){return ComponentsList}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/hooks/use-components.ts"),c=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts"),p=n("./packages/packages/core/editor-components/src/store/actions/rename-component.ts"),l=n("./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx"),m=n("./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx"),d=n("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");const u={fontSize:"0.875rem !important",fontWeight:"500 !important"};function ComponentsList(){const{components:e,isLoading:t,searchValue:n}=useFilteredComponents();if(t)return o.createElement(m.LoadingComponents,null);return!e||0===e.length?n.length>0?o.createElement(EmptySearchResult,null):o.createElement(EmptyState,null):o.createElement(s.List,{sx:{display:"flex",flexDirection:"column",gap:1,px:2}},e.map(e=>o.createElement(l.ComponentItem,{key:e.uid,component:e,renameComponent:t=>{(0,p.renameComponent)(e.uid,t)}})))}const EmptyState=()=>{const{canCreate:e}=(0,c.useComponentsPermissions)();return o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",sx:{px:2,py:4},gap:2,overflow:"hidden"},o.createElement(s.Stack,{alignItems:"center",gap:1},o.createElement(r.ComponentsIcon,{fontSize:"large",sx:{color:"text.secondary"}}),o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,a.__)("No components yet","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{maxWidth:200}},(0,a.__)("Components are reusable blocks that sync across your site.","elementor"),o.createElement("br",null),e?(0,a.__)("Create once, use everywhere.","elementor"):(0,a.__)("With your current role, you cannot create components. Contact an administrator to create one.","elementor")),o.createElement(s.Link,{href:"http://go.elementor.com/components-guide-article",target:"_blank",rel:"noopener noreferrer",variant:"caption",color:"info.main"},(0,a.__)("Learn more about components","elementor"))),e&&o.createElement(o.Fragment,null,o.createElement(s.Divider,{sx:{width:"100%"}}),o.createElement(s.Stack,{alignItems:"center",gap:1,width:"100%"},o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"text.secondary",sx:u},(0,a.__)("Create your first one:","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"secondary",sx:{maxWidth:228}},(0,a.__)('Right-click any div-block or flexbox on your canvas or structure and select "Create component"',"elementor")))))},EmptySearchResult=()=>{const{searchValue:e,clearSearch:t}=(0,d.useSearch)();return o.createElement(s.Stack,{color:"text.secondary",pt:5,alignItems:"center",gap:1,overflow:"hidden",justifySelf:"center"},o.createElement(r.ComponentsIcon,null),o.createElement(s.Box,{sx:{width:"100%"}},o.createElement(s.Typography,{align:"center",variant:"subtitle2",color:"inherit",sx:u},(0,a.__)("Sorry, nothing matched","elementor")),e&&o.createElement(s.Typography,{variant:"subtitle2",color:"inherit",sx:{...u,display:"flex",width:"100%",justifyContent:"center"}},o.createElement("span",null,"“"),o.createElement("span",{style:{maxWidth:"80%",overflow:"hidden",textOverflow:"ellipsis"}},e),o.createElement("span",null,"”."))),o.createElement(s.Typography,{align:"center",variant:"caption",color:"inherit"},(0,a.__)("Try something else.","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",color:"inherit"},o.createElement(s.Link,{color:"secondary",variant:"caption",component:"button",onClick:t},(0,a.__)("Clear & try again","elementor"))))},useFilteredComponents=()=>{const{components:e,isLoading:t}=(0,i.useComponents)(),{searchValue:n}=(0,d.useSearch)();return{components:e.filter(e=>e.name.toLowerCase().includes(n.toLowerCase())),isLoading:t,searchValue:n}}},"./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentsProNotification:function(){return ComponentsProNotification}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/ui"),a=n("@wordpress/i18n");function ComponentsProNotification(){return o.createElement(s.Box,{sx:{px:2}},o.createElement(r.InfoAlert,null,o.createElement(s.Typography,{variant:"caption",component:"span"},o.createElement(s.Typography,{variant:"caption",component:"span",fontWeight:"bold"},(0,a.__)("Try Components for free:","elementor"))," ",(0,a.__)("Soon Components will be part of the Pro subscription, but what you create now will remain on your site.","elementor"))))}},"./packages/packages/core/editor-components/src/components/components-tab/components.tsx":function(e,t,n){n.r(t),n.d(t,{Components:function(){return Components}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("./packages/packages/core/editor-components/src/hooks/use-components.ts"),a=n("./packages/packages/core/editor-components/src/utils/is-pro-user.ts"),i=n("./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx"),c=n("./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx"),p=n("./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx"),l=n("./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");const ComponentsContent=()=>{const{components:e,isLoading:t}=(0,s.useComponents)(),n=!t&&e.length>0;return o.createElement(o.Fragment,null,n&&o.createElement(i.ComponentSearch,null),n&&!(0,a.isProUser)()&&o.createElement(p.ComponentsProNotification,null),o.createElement(c.ComponentsList,null))},Components=()=>o.createElement(r.ThemeProvider,null,o.createElement(l.SearchProvider,{localStorageKey:"elementor-components-search"},o.createElement(ComponentsContent,null)))},"./packages/packages/core/editor-components/src/components/components-tab/delete-confirmation-dialog.tsx":function(e,t,n){n.r(t),n.d(t,{DeleteConfirmationDialog:function(){return DeleteConfirmationDialog}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@wordpress/i18n");function DeleteConfirmationDialog({open:e,onClose:t,onConfirm:n}){return o.createElement(r.ConfirmationDialog,{open:e,onClose:t},o.createElement(r.ConfirmationDialog.Title,null,(0,s.__)("Delete this component?","elementor")),o.createElement(r.ConfirmationDialog.Content,null,o.createElement(r.ConfirmationDialog.ContentText,null,(0,s.__)("Existing instances on your pages will remain functional. You will no longer find this component in your list.","elementor"))),o.createElement(r.ConfirmationDialog.Actions,{onClose:t,onConfirm:n}))}},"./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx":function(e,t,n){n.r(t),n.d(t,{LoadingComponents:function(){return LoadingComponents}});var o=n("react"),r=n("@elementor/ui");const s=Array.from({length:6},(e,t)=>t),LoadingComponents=()=>o.createElement(r.Stack,{"aria-label":"Loading components",gap:1,sx:{pointerEvents:"none",position:"relative",maxHeight:"300px",overflow:"hidden","&:after":{position:"absolute",top:0,content:'""',left:0,width:"100%",height:"300px",background:"linear-gradient(to top, white, transparent)",pointerEvents:"none"}}},s.map(e=>o.createElement(r.ListItemButton,{key:e,sx:{border:"solid 1px",borderColor:"divider",py:.5,px:1},shape:"rounded"},o.createElement(r.Box,{display:"flex",gap:1,width:"100%"},o.createElement(r.Skeleton,{variant:"text",width:"24px",height:"36px"}),o.createElement(r.Skeleton,{variant:"text",width:"100%",height:"36px"})))))},"./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx":function(e,t,n){n.r(t),n.d(t,{SearchProvider:function(){return SearchProvider},useSearch:function(){return useSearch}});var o=n("react"),r=n("@elementor/utils");const s=(0,o.createContext)(void 0),SearchProvider=({children:e,localStorageKey:t})=>{const{debouncedValue:n,handleChange:a,inputValue:i}=(0,r.useSearchState)({localStorageKey:t});return o.createElement(s.Provider,{value:{handleChange:a,clearSearch:()=>{a("")},searchValue:n,inputValue:i}},e)},useSearch=()=>{const e=(0,o.useContext)(s);if(!e)throw new Error("useSearch must be used within a SearchProvider");return e}},"./packages/packages/core/editor-components/src/components/consts.ts":function(e,t,n){n.r(t),n.d(t,{COMPONENT_DOCUMENT_TYPE:function(){return o},OVERRIDABLE_PROP_REPLACEMENT_ID:function(){return r}});const o="elementor_component",r="overridable-prop"},"./packages/packages/core/editor-components/src/components/control-label.tsx":function(e,t,n){n.r(t),n.d(t,{ControlLabel:function(){return ControlLabel}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/ui");const ControlLabel=({children:e,...t})=>o.createElement(s.Stack,{direction:"row",alignItems:"center",justifyItems:"start",gap:.25},o.createElement(r.ControlFormLabel,t,e),o.createElement(r.ControlAdornments,null))},"./packages/packages/core/editor-components/src/components/create-component-form/create-component-form.tsx":function(e,t,n){n.r(t),n.d(t,{CreateComponentForm:function(){return CreateComponentForm}});var o=n("react"),r=n("@elementor/editor-elements"),s=n("@elementor/editor-notifications"),a=n("@elementor/editor-ui"),i=n("@elementor/icons"),c=n("@elementor/store"),p=n("@elementor/ui"),l=n("@wordpress/i18n"),m=n("./packages/packages/core/editor-components/src/hooks/use-components.ts"),d=n("./packages/packages/core/editor-components/src/prevent-non-atomic-nesting.ts"),u=n("./packages/packages/core/editor-components/src/store/actions/create-unpublished-component.ts"),g=n("./packages/packages/core/editor-components/src/store/store.ts"),v=n("./packages/packages/core/editor-components/src/utils/switch-to-component.ts"),f=n("./packages/packages/core/editor-components/src/utils/tracking.ts"),y=n("./packages/packages/core/editor-components/src/components/create-component-form/hooks/use-form.ts"),h=n("./packages/packages/core/editor-components/src/components/create-component-form/utils/component-form-schema.ts"),k=n("./packages/packages/core/editor-components/src/components/create-component-form/utils/get-component-event-data.ts");const b=100;function CreateComponentForm(){const[e,t]=(0,o.useState)(null),[n,i]=(0,o.useState)(),{components:y}=(0,m.useComponents)(),h=(0,o.useRef)(null);(0,o.useEffect)(()=>{const e="elementor/editor/open-save-as-component-form",openPopup=e=>{const{shouldOpen:n,notification:o}=function shouldOpenForm(e,t){const n=(0,d.findNonAtomicElementsInElement)(e);if(n.length>0)return{shouldOpen:!1,notification:{type:"default",message:(0,l.__)("Components require atomic elements only. Remove widgets to create this component.","elementor"),id:"non-atomic-element-save-blocked"}};if(t>=b)return{shouldOpen:!1,notification:{type:"default",message:(0,l.__)("You've reached the limit of %s components. Please remove an existing one to create a new component.","elementor").replace("%s",b.toString()),id:"maximum-number-of-components-exceeded"}};return{shouldOpen:!0,notification:null}}(e.detail.element,y?.length??0);n?(t({element:e.detail.element,elementLabel:(0,r.getElementLabel)(e.detail.element.id)}),i(e.detail.anchorPosition),h.current=(0,k.getComponentEventData)(e.detail.element,e.detail.options),(0,f.trackComponentEvent)({action:"createClicked",source:"user",...h.current})):(0,s.notify)(o)};return window.addEventListener(e,openPopup),()=>{window.removeEventListener(e,openPopup)}},[y?.length]);const resetAndClosePopup=()=>{t(null),i(void 0)},cancelSave=()=>{resetAndClosePopup(),(0,f.trackComponentEvent)({action:"createCancelled",source:"user",...h.current})};return o.createElement(a.ThemeProvider,null,o.createElement(p.Popover,{open:null!==e,onClose:cancelSave,anchorReference:"anchorPosition",anchorPosition:n},null!==e&&o.createElement(Form,{initialValues:{componentName:e.elementLabel},handleSave:async t=>{try{if(!e)throw new Error("Can't save element as component: element not found");const{uid:n,instanceId:o}=await(0,u.createUnpublishedComponent)({name:t.componentName,element:e.element,eventData:h.current,source:"user"}),r=(0,g.selectComponentByUid)((0,c.__getState)(),n)?.id;if(!r)throw new Error("Failed to find published component");(0,v.switchToComponent)(r,o),(0,s.notify)({type:"success",message:(0,l.__)("Component created successfully.","elementor"),id:`component-saved-successfully-${n}`}),resetAndClosePopup()}catch{const e=(0,l.__)("Failed to create component. Please try again.","elementor");(0,s.notify)({type:"error",message:e,id:"component-save-failed"}),resetAndClosePopup()}},closePopup:cancelSave})))}const C="tiny",Form=({initialValues:e,handleSave:t,closePopup:n})=>{const{values:r,errors:s,isValid:c,handleChange:d,validateForm:u}=(0,y.useForm)(e),{components:g}=(0,m.useComponents)(),v=(0,o.useMemo)(()=>g?.map(e=>e.name)??[],[g]),f=(0,o.useMemo)(()=>(0,h.createBaseComponentSchema)(v),[v]),k=(0,o.useMemo)(()=>(0,h.createSubmitComponentSchema)(v),[v]),b={heading:(0,l.__)("Create component","elementor"),name:(0,l.__)("Name","elementor"),cancel:(0,l.__)("Cancel","elementor"),create:(0,l.__)("Create","elementor")},E="component-name";return o.createElement(a.Form,{onSubmit:()=>{const{success:e,parsedValues:n}=u(k);e&&t(n)}},o.createElement(p.Stack,{alignItems:"start",width:"268px"},o.createElement(p.Stack,{direction:"row",alignItems:"center",py:1,px:1.5,sx:{columnGap:.5,borderBottom:"1px solid",borderColor:"divider",width:"100%"}},o.createElement(i.ComponentsIcon,{fontSize:C}),o.createElement(p.Typography,{variant:"caption",sx:{color:"text.primary",fontWeight:"500",lineHeight:1}},b.heading)),o.createElement(p.Grid,{container:!0,gap:.75,alignItems:"start",p:1.5},o.createElement(p.Grid,{item:!0,xs:12},o.createElement(p.FormLabel,{htmlFor:E,size:"tiny"},b.name)),o.createElement(p.Grid,{item:!0,xs:12},o.createElement(p.TextField,{id:E,size:C,fullWidth:!0,value:r.componentName,onChange:e=>d(e,"componentName",f),inputProps:{style:{color:"text.primary",fontWeight:"600"}},error:Boolean(s.componentName),helperText:s.componentName}))),o.createElement(p.Stack,{direction:"row",justifyContent:"flex-end",alignSelf:"end",py:1,px:1.5},o.createElement(p.Button,{onClick:n,color:"secondary",variant:"text",size:"small"},b.cancel),o.createElement(p.Button,{type:"submit",disabled:!c,variant:"contained",color:"primary",size:"small"},b.create))))}},"./packages/packages/core/editor-components/src/components/create-component-form/hooks/use-form.ts":function(e,t,n){n.r(t),n.d(t,{useForm:function(){return useForm}});var o=n("react");const useForm=e=>{const[t,n]=(0,o.useState)(e),[r,s]=(0,o.useState)({}),a=(0,o.useMemo)(()=>!Object.values(r).some(e=>e),[r]);return{values:t,errors:r,isValid:a,handleChange:(e,o,r)=>{const a={...t,[o]:e.target.value};n(a);const{success:i,errors:c}=validateForm(a,r);s(i?{}:c)},validateForm:e=>{const{success:n,errors:o,parsedValues:r}=validateForm(t,e);return n?(s({}),{success:n,parsedValues:r}):(s(o),{success:n})}}},validateForm=(e,t)=>{const n=t.safeParse(e);if(n.success)return{success:!0,parsedValues:n.data};const o={};return Object.entries(n.error.formErrors.fieldErrors).forEach(([e,t])=>{o[e]=t[0]}),{success:!1,errors:o}}},"./packages/packages/core/editor-components/src/components/create-component-form/utils/component-form-schema.ts":function(e,t,n){n.r(t),n.d(t,{MIN_NAME_LENGTH:function(){return s},createBaseComponentSchema:function(){return createBaseComponentSchema},createSubmitComponentSchema:function(){return createSubmitComponentSchema}});var o=n("@elementor/schema"),r=n("@wordpress/i18n");const s=2,a=o.z.string().trim().max(50,(0,r.__)("Component name is too long. Please keep it under 50 characters.","elementor")),createBaseComponentSchema=e=>o.z.object({componentName:a.refine(t=>!e.includes(t),{message:(0,r.__)("Component name already exists","elementor")})}),createSubmitComponentSchema=e=>{const t=createBaseComponentSchema(e);return t.extend({componentName:t.shape.componentName.refine(e=>e.length>0,{message:(0,r.__)("Component name is required.","elementor")}).refine(e=>e.length>=s,{message:(0,r.__)("Component name is too short. Please enter at least 2 characters.","elementor")})})}},"./packages/packages/core/editor-components/src/components/create-component-form/utils/get-component-event-data.ts":function(e,t,n){n.r(t),n.d(t,{getComponentEventData:function(){return getComponentEventData}});const getComponentEventData=(e,t)=>{const{elementsCount:n,componentsCount:o}=countNestedElements(e);return{nested_elements_count:n,nested_components_count:o,top_element_type:e.elType,location:t?.location,secondary_location:t?.secondaryLocation,trigger:t?.trigger}};function countNestedElements(e){if(!e.elements||0===e.elements.length)return{elementsCount:0,componentsCount:0};let t=e.elements.length,n=0;for(const o of e.elements){"e-component"===o.widgetType&&n++;const{elementsCount:e,componentsCount:r}=countNestedElements(o);t+=e,n+=r}return{elementsCount:t,componentsCount:n}}},"./packages/packages/core/editor-components/src/components/create-component-form/utils/replace-element-with-component.ts":function(e,t,n){n.r(t),n.d(t,{createComponentModel:function(){return createComponentModel},replaceElementWithComponent:function(){return replaceElementWithComponent}});var o=n("@elementor/editor-elements");const replaceElementWithComponent=async(e,t)=>await(0,o.replaceElement)({currentElement:e,newElement:createComponentModel(t),withHistory:!1}),createComponentModel=e=>({elType:"widget",widgetType:"e-component",settings:{component_instance:{$$type:"component-instance",value:{component_id:{$$type:"number",value:e.id??e.uid}}}},editor_settings:{component_uid:e.uid}})},"./packages/packages/core/editor-components/src/components/edit-component/component-modal.tsx":function(e,t,n){n.r(t),n.d(t,{ComponentModal:function(){return ComponentModal}});var o=n("react"),r=n("react-dom"),s=n("@wordpress/i18n"),a=n("./packages/packages/core/editor-components/src/hooks/use-canvas-document.ts"),i=n("./packages/packages/core/editor-components/src/hooks/use-element-rect.ts");function ComponentModal({topLevelElementDom:e,onClose:t}){const n=(0,a.useCanvasDocument)();return(0,o.useEffect)(()=>{const handleEsc=e=>{"Escape"===e.key&&t()};return n?.body.addEventListener("keydown",handleEsc),()=>{n?.body.removeEventListener("keydown",handleEsc)}},[n,t]),n?.body?(0,r.createPortal)(o.createElement(o.Fragment,null,o.createElement(BlockEditPage,null),o.createElement(Backdrop,{canvas:n,element:e,onClose:t})),n.body):null}function Backdrop({canvas:e,element:t,onClose:n}){const r=(0,i.useElementRect)(t),a=t?function getRectPath(e,t){const{x:n,y:o,width:r,height:s}=e,{innerWidth:a,innerHeight:i}=t;return`path(evenodd, 'M 0 0 \n\t\tL ${a} 0\n\t\tL ${a} ${i}\n\t\tL 0 ${i}\n\t\tZ\n\t\tM ${n} ${o}\n\t\tL ${n+r} ${o}\n\t\tL ${n+r} ${o+s}\n\t\tL ${n} ${o+s}\n\t\tL ${n} ${o}\n \tZ'\n\t)`.replace(/\s{2,}/g," ")}(r,e.defaultView):void 0,c={position:"fixed",top:0,left:0,width:"100vw",height:"100vh",backgroundColor:"rgba(0, 0, 0, 0.5)",zIndex:999,pointerEvents:"painted",cursor:"pointer",clipPath:a};return o.createElement("div",{style:c,onClick:n,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n())},role:"button",tabIndex:0,"aria-label":(0,s.__)("Exit component editing mode","elementor")})}function BlockEditPage(){return o.createElement("style",{"data-e-style-id":"e-block-v3-document-handles-styles"},"\n\t.elementor-editor-active {\n\t\t& .elementor-section-wrap.ui-sortable {\n\t\t\tdisplay: contents;\n\t\t}\n\n\t\t& *[data-editable-elementor-document]:not(.elementor-edit-mode):hover {\n\t\t\t& .elementor-document-handle:not(.elementor-document-save-back-handle) {\n\t\t\t\tdisplay: none;\n\n\t\t\t\t&::before,\n\t\t\t\t& .elementor-document-handle__inner {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t")}},"./packages/packages/core/editor-components/src/components/edit-component/edit-component.tsx":function(e,t,n){n.r(t),n.d(t,{EditComponent:function(){return EditComponent}});var o=n("react"),r=n("@elementor/editor-documents"),s=n("@elementor/editor-v1-adapters"),a=n("@elementor/store"),i=n("@elementor/utils"),c=n("./packages/packages/core/editor-components/src/api.ts"),p=n("./packages/packages/core/editor-components/src/hooks/use-navigate-back.ts"),l=n("./packages/packages/core/editor-components/src/store/actions/update-current-component.ts"),m=n("./packages/packages/core/editor-components/src/store/store.ts"),d=n("./packages/packages/core/editor-components/src/components/consts.ts"),u=n("./packages/packages/core/editor-components/src/components/edit-component/component-modal.tsx");function EditComponent(){const e=(0,m.useCurrentComponentId)();!function useHandleDocumentSwitches(){const e=(0,r.getV1DocumentsManager)(),t=(0,m.useCurrentComponentId)(),n=(0,a.__useSelector)(m.selectPath);(0,o.useEffect)(()=>(0,s.__privateListenTo)((0,s.commandEndEvent)("editor/documents/open"),()=>{const o=e.getCurrent();if(o.id===t)return;t&&c.apiClient.unlockComponent(t);o.config.type===d.COMPONENT_DOCUMENT_TYPE?(0,l.updateCurrentComponent)({path:getUpdatedComponentPath(n,o),currentComponentId:o.id}):(0,l.updateCurrentComponent)({path:[],currentComponentId:null})}),[n,e,t])}();const t=(0,p.useNavigateBack)(),n=(0,i.throttle)(t,100),g=function useComponentDOMElement(e){const{componentContainerDomElement:t,topLevelElementDom:n}=function getComponentDOMElements(e){if(!e)return{componentContainerDomElement:null,topLevelElementDom:null};const t=(0,r.getV1DocumentsManager)().get(e),n=t?.container,o=n?.view?.el?.children?.[0]??null,s=o?.children[0]??null;return{componentContainerDomElement:o,topLevelElementDom:s}}(e),[s,a]=(0,o.useState)(n);return(0,o.useEffect)(()=>{a(n)},[n]),(0,o.useEffect)(()=>{if(!t)return;const e=new MutationObserver(()=>{const e=t.children[0];a(e)});return e.observe(t,{childList:!0}),()=>{e.disconnect()}},[t]),s}(e??void 0);return e?o.createElement(u.ComponentModal,{topLevelElementDom:g,onClose:n}):null}function getUpdatedComponentPath(e,t){const n=e.findIndex(({componentId:e})=>e===t.id);if(n>=0)return e.slice(0,n+1);const o=t?.container.view?.el?.dataset.id,s=function getInstanceTitle(e,t){if(!e)return;const n=(0,r.getV1DocumentsManager)(),o=t.at(-1)?.componentId??n.getInitialId(),s=n.get(o),a=s?.container,i=a?.children?.findRecursive?.(t=>t.id===e),c=i?.model?.get?.("editor_settings");return c?.title}(o,e);return[...e,{instanceId:o,instanceTitle:s,componentId:t.id}]}},"./packages/packages/core/editor-components/src/components/errors.ts":function(e,t,n){n.r(t),n.d(t,{OverrideControlInnerElementNotFoundError:function(){return r}});var o=n("@elementor/utils");const r=(0,o.createError)({code:"override_control_inner_element_not_found",message:"Component inner element not found for override control. The element may have been deleted without updating the overridable props, or the component has not finished rendering yet."})},"./packages/packages/core/editor-components/src/components/in-edit-mode.tsx":function(e,t,n){n.r(t),n.d(t,{openEditModeDialog:function(){return openEditModeDialog}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/icons"),a=n("@elementor/ui"),i=n("@wordpress/i18n");const openEditModeDialog=e=>{(0,r.openDialog)({component:o.createElement(EditModeDialog,{lockedBy:e})})},EditModeDialog=({lockedBy:e})=>{const t=(0,i.__)("%s is currently editing this document","elementor").replace("%s",e);return o.createElement(o.Fragment,null,o.createElement(a.DialogHeader,{logo:!1},o.createElement(a.Box,{display:"flex",alignItems:"center",gap:1},o.createElement(a.Icon,{color:"secondary"},o.createElement(s.InfoCircleFilledIcon,{fontSize:"medium"})),o.createElement(a.Typography,{variant:"subtitle1"},t))),o.createElement(a.DialogContent,null,o.createElement(a.Stack,{spacing:2,direction:"column"},o.createElement(a.Typography,{variant:"body2"},(0,i.__)("You can wait for them to finish or reach out to coordinate your changes together.","elementor")),o.createElement(a.DialogActions,null,o.createElement(a.Button,{color:"secondary",variant:"contained",onClick:r.closeDialog},(0,i.__)("Close","elementor"))))))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx":function(e,t,n){n.r(t),n.d(t,{EmptyState:function(){return EmptyState}});var o=n("react"),r=n("@elementor/icons"),s=n("@elementor/ui"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");const EmptyState=({onEditComponent:e})=>{const{canEdit:t}=(0,i.useComponentsPermissions)(),n=t?(0,a.__)("Edit the component to add properties, manage them or update the design across all instances.","elementor"):(0,a.__)("With your current role, you cannot edit this component. Contact an administrator to add properties.","elementor");return o.createElement(s.Stack,{alignItems:"center",justifyContent:"start",height:"100%",color:"text.secondary",sx:{p:2.5,pt:8,pb:5.5,mt:1},gap:1.5},o.createElement(r.ComponentPropListIcon,{fontSize:"large"}),o.createElement(s.Typography,{align:"center",variant:"subtitle2"},(0,a.__)("No properties yet","elementor")),o.createElement(s.Typography,{align:"center",variant:"caption",maxWidth:"170px"},n),t&&o.createElement(s.Button,{variant:"outlined",color:"secondary",size:"small",sx:{mt:1},onClick:e},o.createElement(r.PencilIcon,{fontSize:"small"}),(0,a.__)("Edit component","elementor")))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx":function(e,t,n){n.r(t),n.d(t,{InstanceEditingPanel:function(){return InstanceEditingPanel}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/editor-editing-panel"),a=n("@elementor/editor-elements"),i=n("@elementor/editor-panels"),c=n("@elementor/editor-ui"),p=n("@elementor/icons"),l=n("@elementor/ui"),m=n("@wordpress/i18n"),d=n("./packages/packages/core/editor-components/src/hooks/use-component-instance-settings.ts"),u=n("./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts"),g=n("./packages/packages/core/editor-components/src/store/store.ts"),v=n("./packages/packages/core/editor-components/src/utils/switch-to-component.ts"),f=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx"),y=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx");function InstanceEditingPanel(){const{canEdit:e}=(0,u.useComponentsPermissions)(),t=(0,d.useComponentInstanceSettings)(),n=t?.component_id?.value,h=t?.overrides?.value,k=(0,g.useComponent)(n??null),b=(0,g.useOverridableProps)(n??null),C=(0,a.useSelectedElement)()?.element?.id??null;if(!n||!b||!k)return null;const E=(0,m.__)("Edit %s","elementor").replace("%s",k.name),handleEditComponent=()=>(0,v.switchToComponent)(n,C),_=b.groups.order.map(e=>b.groups.items[e]??null).filter(e=>null!==e&&e.props.length>0),P=0===_.length||0===Object.keys(b.props).length;return o.createElement(o.Fragment,null,o.createElement(i.PanelHeader,{sx:{justifyContent:"start",px:2}},o.createElement(l.Stack,{direction:"row",alignItems:"center",flexGrow:1,gap:1,maxWidth:"100%"},o.createElement(p.ComponentsIcon,{fontSize:"small",sx:{color:"text.tertiary"}}),o.createElement(c.EllipsisWithTooltip,{title:k.name,as:i.PanelHeaderTitle,sx:{flexGrow:1}}),e&&o.createElement(l.Tooltip,{title:E},o.createElement(l.IconButton,{size:"tiny",onClick:handleEditComponent,"aria-label":E},o.createElement(p.PencilIcon,{fontSize:"tiny"}))))),o.createElement(i.PanelBody,null,o.createElement(r.ControlAdornmentsProvider,{items:(0,s.getFieldIndicators)("settings")},P?o.createElement(f.EmptyState,{onEditComponent:handleEditComponent}):o.createElement(l.Stack,{direction:"column",alignItems:"stretch"},_.map(e=>o.createElement(o.Fragment,{key:e.id+C},o.createElement(y.OverridePropsGroup,{group:e,props:b.props,overrides:h}),o.createElement(l.Divider,null)))))))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx":function(e,t,n){n.r(t),n.d(t,{OverridePropControl:function(){return OverridePropControl}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/editor-editing-panel"),a=n("@elementor/editor-elements"),i=n("@elementor/ui"),c=n("./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts"),p=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),l=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),m=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),d=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),u=n("./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx"),g=n("./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts"),v=n("./packages/packages/core/editor-components/src/store/store.ts"),f=n("./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts"),y=n("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts"),h=n("./packages/packages/core/editor-components/src/components/control-label.tsx"),k=n("./packages/packages/core/editor-components/src/components/errors.ts"),b=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/use-resolved-origin-value.tsx");function OverridePropControl({overridableProp:e,overrides:t}){return o.createElement(s.SettingsField,{bind:"component_instance",propDisplayName:e.label},o.createElement(OverrideControl,{overridableProp:e,overrides:t}))}function OverrideControl({overridableProp:e,overrides:t}){const n=(0,s.useElement)(),C=(0,v.useCurrentComponentId)(),{value:E,setValue:_}=(0,r.useBoundProp)(m.componentInstancePropTypeUtil),P=(0,c.useControlsByWidgetType)(e?.originPropFields?.widgetType??e.widgetType),x=(0,s.getControlReplacements)(),w=function getMatchingOverride(e,t){const n=e?.find(e=>{const n=d.componentOverridablePropTypeUtil.extract(e);let o=null;return o=n?n.origin_value?.value?.override_key:e.value.override_key,o===t})??null;return n}(t,e.overrideKey),I=(0,b.useResolvedOriginValue)(w,e),O=(0,f.getPropTypeForComponentOverride)(e);if(!O)return null;const S=E.component_id?.value;if(!S)throw new Error("Component ID is required");const T=(w?(0,y.resolveOverridePropValue)(w):null)??I??e.originValue,D={[e.overrideKey]:T},{control:N,controlProps:A,layout:U}=function getControlParams(e,t,n){const o=e[t.propKey],{value:r}=o,a=function getControlLayout(e){return e.value.meta?.layout||s.controlsRegistry.getLayout(e.value.type)}(o),i=function populateChildControlProps(e){if(e.childControlType){const t=s.controlsRegistry.get(e.childControlType),n=s.controlsRegistry.getPropTypeUtil(e.childControlType);e={...e,childControlConfig:{component:t,props:e.childControlProps||{},propTypeUtil:n}}}return e}(r.props);"custom"===a&&(i.label=n??r.label);return{control:o,controlProps:i,layout:a}}(P,e?.originPropFields??e,e.label),{elementId:M,widgetType:L,elType:R,propKey:V}=e.originPropFields??e;if(!(0,a.getContainer)(M))throw new k.OverrideControlInnerElementNotFoundError({context:{componentId:S,elementId:M}});const B="widget"===R?L:R,F=(0,a.getElementType)(B);if(!F)return null;const G=(0,s.createTopLevelObjectType)({schema:{[e.overrideKey]:O}});return o.createElement(u.OverridablePropProvider,{value:d.componentOverridablePropTypeUtil.extract(w)??void 0,componentInstanceElement:n},o.createElement(s.ElementProvider,{element:{id:M,type:B},elementType:F},o.createElement(s.SettingsField,{bind:V,propDisplayName:e.label},o.createElement(r.PropProvider,{propType:G,value:D,setValue:n=>{const o=function getTempNewValueForDynamicProp(e,t,n){const o=null===n;if(o&&(0,s.isDynamicPropValue)(t))return e.default??null;return n}(O,T,n[e.overrideKey]),r=function createOverrideValue({matchingOverride:e,overrideKey:t,overrideValue:n,componentId:o}){const r=d.componentOverridablePropTypeUtil.extract(e),s=d.componentOverridablePropTypeUtil.extract(n)??r;if(s){const e=p.componentInstanceOverridePropTypeUtil.create({override_key:t,override_value:(0,y.resolveOverridePropValue)(n),schema_source:{type:"component",id:o}});return d.componentOverridablePropTypeUtil.create({override_key:s.override_key,origin_value:e})}return p.componentInstanceOverridePropTypeUtil.create({override_key:t,override_value:n,schema_source:{type:"component",id:o}})}({matchingOverride:w,overrideKey:e.overrideKey,overrideValue:o,componentId:S});let a=t?.map(e=>e===w?r:e)??[];w||(a=[...a,r]),_({...E,overrides:l.componentInstanceOverridesPropTypeUtil.create(a)});const i=d.componentOverridablePropTypeUtil.extract(r);if(i&&C){if(e.originPropFields)return void(0,g.updateOverridableProp)(C,i,e.originPropFields);const{elType:t,widgetType:n,propKey:o,elementId:r}=e;(0,g.updateOverridableProp)(C,i,{elType:t,widgetType:n,propKey:o,elementId:r})}},isDisabled:()=>!1},o.createElement(r.PropKeyProvider,{bind:e.overrideKey},o.createElement(r.ControlReplacementsProvider,{replacements:x},o.createElement(i.Stack,{direction:"column",gap:1,mb:1.5},"custom"!==U&&o.createElement(h.ControlLabel,null,e.label),o.createElement(OriginalControl,{control:N,controlProps:A}))))))))}function OriginalControl({control:e,controlProps:t}){const{value:n}=e;return o.createElement(s.BaseControl,{type:n.type,props:t})}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx":function(e,t,n){n.r(t),n.d(t,{OverridePropsGroup:function(){return OverridePropsGroup}});var o=n("react"),r=n("@elementor/editor-editing-panel"),s=n("@elementor/editor-ui"),a=n("@elementor/ui"),i=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx");function OverridePropsGroup({group:e,props:t,overrides:n}){const[c,p]=(0,r.useStateByElement)(e.id,!0),l=(0,o.useId)(),m=`label-${l}`,d=`content-${l}`,u=e.label;return o.createElement(a.Box,{"aria-label":`${u} section`},o.createElement(a.ListItemButton,{id:m,"aria-controls":d,"aria-label":`${u} section`,onClick:()=>{p(!c)},p:0,sx:{"&:hover":{backgroundColor:"transparent"}}},o.createElement(a.Stack,{direction:"row",alignItems:"center",justifyItems:"start",flexGrow:1,gap:.5},o.createElement(a.ListItemText,{secondary:u,secondaryTypographyProps:{color:"text.primary",variant:"caption",fontWeight:"bold"},sx:{flexGrow:0,flexShrink:1,marginInlineEnd:1}})),o.createElement(s.CollapseIcon,{open:c,color:"secondary",fontSize:"tiny"})),o.createElement(a.Collapse,{id:d,"aria-labelledby":m,in:c,timeout:"auto"},o.createElement(a.Stack,{direction:"column",gap:1,p:2},e.props.map(e=>o.createElement(i.OverridePropControl,{key:e,overridableProp:t[e],overrides:n})))))}},"./packages/packages/core/editor-components/src/components/instance-editing-panel/use-resolved-origin-value.tsx":function(e,t,n){n.r(t),n.d(t,{useResolvedOriginValue:function(){return useResolvedOriginValue}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/store/store.ts");function useResolvedOriginValue(e,t){return function resolveOriginValue(e,t,n){const{originValue:o,originPropFields:r}=n;if(hasValue(o))return o;if(t){const n=getOriginFromOverride(e,t);if(hasValue(n))return n}const{elementId:s,propKey:a}=r??{};if(s&&a)return findOriginValueByElementId(e,s,a);return null}((0,o.__useSelector)(a.selectData),e,t)}function getOriginFromOverride(e,t){const n=s.componentOverridablePropTypeUtil.extract(t),o=n?r.componentInstanceOverridePropTypeUtil.extract(n.origin_value):r.componentInstanceOverridePropTypeUtil.extract(t);if(!o)return null;const{schema_source:a,override_key:i,override_value:c}=o,p=a?.id;if(!p||!i)return null;const l=function getOverridableProp(e,t,n){const o=e.find(({id:e})=>e===t);return o?.overridableProps?.props?.[n]}(e,p,i);if(hasValue(l?.originValue))return l.originValue;if(l?.originPropFields?.elementId){const t=l.originPropFields.propKey??l.propKey,n=findOriginValueByElementId(e,l.originPropFields.elementId,t);if(hasValue(n))return n}const m=s.componentOverridablePropTypeUtil.extract(c);return m?getOriginFromOverride(e,s.componentOverridablePropTypeUtil.create(m)):null}function findOriginValueByElementId(e,t,n,o=new Set){for(const r of e){if(o.has(r.id))continue;o.add(r.id);const s=Object.values(r.overridableProps?.props??{}).find(({elementId:e,propKey:o})=>e===t&&o===n);if(s){if(hasValue(s.originValue))return s.originValue;if(s.originPropFields?.elementId){const t=s.originPropFields.propKey??n;return findOriginValueByElementId(e,s.originPropFields.elementId,t,o)}}}return null}function hasValue(e){return null!=e}},"./packages/packages/core/editor-components/src/components/overridable-props/indicator.tsx":function(e,t,n){n.r(t),n.d(t,{Indicator:function(){return l}});var o=n("react"),r=n("@elementor/icons"),s=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 i="tiny",c=(0,s.styled)(s.Box)`
14 + pointer-events: none;
15 + opacity: 0;
16 + transition: opacity 0.2s ease-in-out;
17 +
18 + & > svg {
19 + position: absolute;
20 + top: 50%;
21 + left: 50%;
22 + transform: translate( -50%, -50% );
23 + width: 10px;
24 + height: 10px;
25 + fill: ${({theme:e})=>e.palette.primary.contrastText};
26 + stroke: ${({theme:e})=>e.palette.primary.contrastText};
27 + stroke-width: 2px;
28 + }
29 +`,p=(0,s.styled)(s.Box)`
30 + position: relative;
31 + display: flex;
32 + align-items: center;
33 + justify-content: center;
34 + cursor: pointer;
35 + width: 16px;
36 + height: 16px;
37 + margin-inline: ${({theme:e})=>e.spacing(.5)};
38 +
39 + &:before {
40 + content: '';
41 + display: block;
42 + position: absolute;
43 + top: 50%;
44 + left: 50%;
45 + transform: translate( -50%, -50% ) rotate( 45deg );
46 + width: 5px;
47 + height: 5px;
48 + border-radius: 1px;
49 + background-color: ${({theme:e})=>e.palette.primary.main};
50 + transition: all 0.1s ease-in-out;
51 + }
52 +
53 + &:hover,
54 + &.enlarged {
55 + &:before {
56 + width: 12px;
57 + height: 12px;
58 + border-radius: 2px;
59 + }
60 +
61 + .icon {
62 + opacity: 1;
63 + }
64 + }
65 +`,l=(0,o.forwardRef)(({isOpen:e,isOverridable:t,...n},s)=>o.createElement(p,_extends({ref:s},n,{className:e||t?"enlarged":""}),o.createElement(c,{className:"icon","aria-label":t?(0,a.__)("Overridable property","elementor"):(0,a.__)("Make prop overridable","elementor")},t?o.createElement(r.CheckIcon,{fontSize:i}):o.createElement(r.PlusIcon,{fontSize:i}))))},"./packages/packages/core/editor-components/src/components/overridable-props/overridable-prop-control.tsx":function(e,t,n){n.r(t),n.d(t,{OverridablePropControl:function(){return OverridablePropControl}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/editor-editing-panel"),a=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),i=n("./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx"),c=n("./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts"),p=n("./packages/packages/core/editor-components/src/store/store.ts"),l=n("./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts"),m=n("./packages/packages/core/editor-components/src/components/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)}function OverridablePropControl({OriginalControl:e,...t}){const{elementType:n}=(0,s.useElement)(),{value:d,bind:u,setValue:g,placeholder:v,...f}=(0,r.useBoundProp)(a.componentOverridablePropTypeUtil),y=(0,p.useCurrentComponentId)(),h=(0,p.useOverridableProps)(y),k=(0,s.getControlReplacements)().filter(e=>!e.id||e.id!==m.OVERRIDABLE_PROP_REPLACEMENT_ID);if(!y)return null;if(!d?.override_key)throw new Error("Override key is required");const b="e-component"===n.key,C=h?.props?.[d.override_key],E=n.propsSchema[u],_=(C?(0,l.getPropTypeForComponentOverride)(C):void 0)??E;if(!_)return null;const P=(0,s.createTopLevelObjectType)({schema:{[u]:_}}),x=b?(d.origin_value?.value).override_value:d.origin_value,w=v?{[u]:v}:void 0;return o.createElement(i.OverridablePropProvider,{value:d},o.createElement(r.PropProvider,_extends({},f,{propType:P,setValue:e=>{const t={...d,origin_value:e[u]};g(t),b||(0,c.updateOverridableProp)(y,t,C?.originPropFields)},value:{[u]:x},placeholder:w}),o.createElement(r.PropKeyProvider,{bind:u},o.createElement(r.ControlReplacementsProvider,{replacements:k},o.createElement(ControlWithReplacements,{OriginalControl:e,props:t})))))}function ControlWithReplacements({OriginalControl:e,props:t}){const{ControlToRender:n,isReplaced:s}=(0,r.useControlReplacement)(e);if(s){const r=n;return o.createElement(r,_extends({},t,{OriginalControl:e}))}return o.createElement(e,t)}},"./packages/packages/core/editor-components/src/components/overridable-props/overridable-prop-form.tsx":function(e,t,n){n.r(t),n.d(t,{OverridablePropForm:function(){return OverridablePropForm}});var o=n("react"),r=n("@elementor/editor-ui"),s=n("@elementor/ui"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/components/overridable-props/utils/validate-prop-label.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 c="tiny",p={value:null,label:(0,a.__)("Default","elementor")};function OverridablePropForm({onSubmit:e,groups:t,currentValue:n,existingLabels:l=[],sx:m}){const d=t?.length?t:[p],[u,g]=(0,o.useState)(n?.label??null),[v,f]=(0,o.useState)(n?.groupId??d[0]?.value??null),[y,h]=(0,o.useState)(null),k=(0,a.__)("Name","elementor"),b=(0,a.__)("Group Name","elementor"),C=void 0===n,E=C?(0,a.__)("Create new property","elementor"):(0,a.__)("Update property","elementor"),_=C?(0,a.__)("Create","elementor"):(0,a.__)("Update","elementor");return o.createElement(r.Form,{onSubmit:()=>{const t=(0,i.validatePropLabel)(u??"",l,n?.label);t.isValid?e({label:u??"",group:v}):h(t.errorMessage)}},o.createElement(s.Stack,{alignItems:"start",sx:{width:"268px",...m}},o.createElement(s.Stack,{direction:"row",alignItems:"center",py:1,px:1.5,sx:{columnGap:.5,borderBottom:"1px solid",borderColor:"divider",width:"100%",mb:1.5}},o.createElement(s.Typography,{variant:"caption",sx:{color:"text.primary",fontWeight:"500",lineHeight:1}},E)),o.createElement(s.Grid,{container:!0,gap:.75,alignItems:"start",px:1.5,mb:1.5},o.createElement(s.Grid,{item:!0,xs:12},o.createElement(s.FormLabel,{size:"tiny"},k)),o.createElement(s.Grid,{item:!0,xs:12},o.createElement(s.TextField,{name:k,size:c,fullWidth:!0,placeholder:(0,a.__)("Enter value","elementor"),value:u??"",onChange:e=>{const t=e.target.value;g(t);const o=(0,i.validatePropLabel)(t,l,n?.label);h(o.errorMessage)},error:Boolean(y),helperText:y}))),o.createElement(s.Grid,{container:!0,gap:.75,alignItems:"start",px:1.5,mb:1.5},o.createElement(s.Grid,{item:!0,xs:12},o.createElement(s.FormLabel,{size:"tiny"},b)),o.createElement(s.Grid,{item:!0,xs:12},o.createElement(s.Select,{name:b,size:c,fullWidth:!0,value:v??null,onChange:e=>f(e.target.value),displayEmpty:!0,renderValue:e=>e?d.find(({value:t})=>t===e)?.label??e:d[0].label},d.map(({label:e,...t})=>o.createElement(r.MenuListItem,_extends({key:t.value},t,{value:t.value??""}),e))))),o.createElement(s.Stack,{direction:"row",justifyContent:"flex-end",alignSelf:"end",mt:1.5,py:1,px:1.5},o.createElement(s.Button,{type:"submit",disabled:!u||Boolean(y),variant:"contained",color:"primary",size:"small"},_))))}},"./packages/packages/core/editor-components/src/components/overridable-props/overridable-prop-indicator.tsx":function(e,t,n){n.r(t),n.d(t,{Content:function(){return Content},OverridablePropIndicator:function(){return OverridablePropIndicator}});var o=n("react"),r=n("@elementor/editor-controls"),s=n("@elementor/editor-editing-panel"),a=n("@elementor/editor-elements"),i=n("@elementor/ui"),c=n("@wordpress/i18n"),p=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),l=n("./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx"),m=n("./packages/packages/core/editor-components/src/store/actions/set-overridable-prop.ts"),d=n("./packages/packages/core/editor-components/src/store/store.ts"),u=n("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts"),g=n("./packages/packages/core/editor-components/src/components/overridable-props/indicator.tsx"),v=n("./packages/packages/core/editor-components/src/components/overridable-props/overridable-prop-form.tsx"),f=n("./packages/packages/core/editor-components/src/components/overridable-props/utils/get-overridable-prop.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)}function OverridablePropIndicator(){const{propType:e}=(0,r.useBoundProp)(),t=(0,d.useCurrentComponentId)(),n=(0,d.useOverridableProps)(t);return function isPropAllowed(e){return!1!==e.meta.overridable}(e)&&t&&n?o.createElement(Content,{componentId:t,overridableProps:n}):null}function Content({componentId:e,overridableProps:t}){const{element:{id:n},elementType:d}=(0,s.useElement)(),{value:y,bind:h,propType:k}=(0,r.useBoundProp)(),b=(0,l.useOverridablePropValue)(),C=(0,l.useComponentInstanceElement)(),{value:E,setValue:_}=(0,r.useBoundProp)(p.componentOverridablePropTypeUtil),P=E??b,x=(0,i.usePopupState)({variant:"popover"}),w=(0,i.bindTrigger)(x),I=(0,i.bindPopover)(x),{elType:O}=(0,a.getWidgetsCache)()?.[d.key]??{elType:"widget"},S=P?(0,f.getOverridableProp)({componentId:e,overrideKey:P.override_key}):void 0;return o.createElement(o.Fragment,null,o.createElement(i.Tooltip,{placement:"top",title:(0,c.__)("Override Property","elementor")},o.createElement(g.Indicator,_extends({},w,{isOpen:!!I.open,isOverridable:!!P}))),o.createElement(i.Popover,_extends({disableScrollLock:!0,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},PaperProps:{sx:{my:2.5}}},I),o.createElement(v.OverridablePropForm,{onSubmit:({label:o,group:r})=>{const s=k.default??{},a=(0,u.resolveOverridePropValue)(P?.origin_value)??y??s,i=P?t?.props?.[P.override_key]:void 0,c=(0,m.setOverridableProp)({componentId:e,overrideKey:P?.override_key??null,elementId:C?.element.id??n,label:o,groupId:r,propKey:h,elType:O??"widget",widgetType:C?.elementType.key??d.key,originValue:a,originPropFields:i?.originPropFields,source:"user"});!P&&c&&_({override_key:c.overrideKey,origin_value:a}),x.close()},groups:t?.groups.order.map(e=>({value:e,label:t.groups.items[e].label})),existingLabels:Object.values(t?.props??{}).map(e=>e.label),currentValue:S})))}},"./packages/packages/core/editor-components/src/components/overridable-props/utils/get-overridable-prop.ts":function(e,t,n){n.r(t),n.d(t,{getOverridableProp:function(){return getOverridableProp}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function getOverridableProp({componentId:e,overrideKey:t}){const n=(0,r.selectOverridableProps)((0,o.__getState)(),e);if(n)return n.props[t]}},"./packages/packages/core/editor-components/src/components/overridable-props/utils/validate-prop-label.ts":function(e,t,n){n.r(t),n.d(t,{ERROR_MESSAGES:function(){return r},validatePropLabel:function(){return validatePropLabel}});var o=n("@wordpress/i18n");const r={EMPTY_NAME:(0,o.__)("Property name is required","elementor"),DUPLICATE_NAME:(0,o.__)("Property name already exists","elementor")};function validatePropLabel(e,t,n){const o=e.trim();if(!o)return{isValid:!1,errorMessage:r.EMPTY_NAME};const s=o.toLowerCase(),a=n?.trim().toLowerCase();return t.some(e=>{const t=e.trim().toLowerCase();return(!a||t!==a)&&t===s})?{isValid:!1,errorMessage:r.DUPLICATE_NAME}:{isValid:!0,errorMessage:null}}},"./packages/packages/core/editor-components/src/create-component-type.ts":function(e,t,n){n.r(t),n.d(t,{COMPONENT_WIDGET_TYPE:function(){return m},createComponentType:function(){return createComponentType}});var o=n("@elementor/editor-canvas"),r=n("@elementor/editor-documents"),s=n("@elementor/store"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/api.ts"),c=n("./packages/packages/core/editor-components/src/store/store.ts"),p=n("./packages/packages/core/editor-components/src/utils/switch-to-component.ts"),l=n("./packages/packages/core/editor-components/src/utils/tracking.ts");const m="e-component",updateGroups=(e,t)=>{const n=new Map(Object.entries(t.disable??{})),o=new Map(Object.entries(t.add??{}));return e.map(e=>{const t=n.get(e.name)??[],r=o.get(e.name),s=e.actions.map(e=>t.includes(e.name)?{...e,isEnabled:()=>!1}:e);return r&&s.splice(r.index,0,r.action),{...e,actions:s}})};function createComponentType(e){const t=window.elementor.modules.elements.types.Widget,n=function createComponentView(e){const t=window;return class extends((0,o.createTemplatedElementView)(e)){eventsManagerConfig=t.elementorCommon.eventsManager.config;#e;isComponentCurrentlyEdited(){const e=(0,r.getCurrentDocument)();return e?.id===this.getComponentId()}getRenderContext(){const e=this.getNamespaceKey(),t=this._parent?.getRenderContext?.(),n=t?.[e];if(!this.#e)return t;const o=this.#e.overrides??{},r=n?.overrides??{};return{...t,[e]:{overrides:{...r,...o}}}}getResolverRenderContext(){const e=this.getNamespaceKey(),t=this.getRenderContext();return t?.[e]}afterSettingsResolve(e){const n=e.component_instance;return n&&(this.#e={overrides:n.overrides??{}},this.collection=t.elementor.createBackboneElementsCollection(n.elements),this.collection.models.forEach(setInactiveRecursively),e.component_instance="<template data-children-placeholder></template>"),e}getDomElement(){return this.children.findByIndex(0)?.getDomElement()??this.$el}attachBuffer(e,t){const n=e.$el.find("[data-children-placeholder]").get(0);n?n.replaceWith(t):super.attachBuffer(e,t)}getComponentId(){const e=this.options?.model?.get("settings")?.get("component_instance")?.value;return e.component_id.value}getContextMenuGroups(){const e=super.getContextMenuGroups().filter(e=>"save"!==e.name);if(!this.getComponentId())return e;return updateGroups(e,this._getContextMenuConfig())}_getContextMenuConfig(){return{add:isUserAdministrator()?{general:{index:1,action:{name:"edit component",icon:"eicon-edit",title:()=>(0,a.__)("Edit Component","elementor"),isEnabled:()=>!0,callback:(e,t)=>this.editComponent(t)}}}:{},disable:{clipboard:["pasteStyle","resetStyle"]}}}async switchDocument(){const{isAllowedToSwitchDocument:t,lockedBy:n}=await i.apiClient.getComponentLockStatus(this.getComponentId());t?(0,p.switchToComponent)(this.getComponentId(),this.model.get("id"),this.el):e.showLockedByModal?.(n||"")}editComponent({trigger:e,location:t,secondaryLocation:n}){if(this.isComponentCurrentlyEdited())return;this.switchDocument();const o=this.model.get("editor_settings");(0,l.trackComponentEvent)({action:"edited",source:"user",component_uid:o?.component_uid,component_name:o?.title,location:t,secondary_location:n,trigger:e})}handleDblClick(e){e.stopPropagation();if(!isUserAdministrator())return;const{triggers:t,locations:n,secondaryLocations:o}=this.eventsManagerConfig;this.editComponent({trigger:t.doubleClick,location:n.canvas,secondaryLocation:o.canvasElement})}events(){return{...super.events(),dblclick:this.handleDblClick}}attributes(){return{...super.attributes(),"data-elementor-id":this.getComponentId()}}}}({...e});return class extends t{getType(){return e.type}getView(){return n}getModel(){return function createComponentModel(){const e=window,t=e.elementor.modules.elements.types.Widget,n=new t,o=n.getModel();return o.extend({initialize(e,t){o.prototype.initialize.call(this,e,t);const n=this.get("settings")?.get("component_instance");if(n?.value){const e=n.value.component_id?.value;e&&"number"==typeof e&&this.set("componentId",e)}this.set("isGlobal",!0)},getTitle(){const e=this.get("editor_settings"),t=e?.title;if(t)return t;const n=e?.component_uid;if(n){const e=(0,c.selectComponentByUid)((0,s.__getState)(),n);if(e?.name)return e.name}return window.elementor.getElementData(this).title},getComponentId(){return this.get("componentId")||null},getComponentName(){return this.getTitle()},getComponentUid(){const e=this.get("editor_settings");return e?.component_uid||null}})}()}}}function setInactiveRecursively(e){const t=e.get("editSettings");t&&t.set("inactive",!0);const n=e.get("elements");n&&n.forEach(e=>{setInactiveRecursively(e)})}function isUserAdministrator(){const e=window;return e.elementor.config?.user?.is_administrator??!1}},"./packages/packages/core/editor-components/src/hooks/use-canvas-document.ts":function(e,t,n){n.r(t),n.d(t,{useCanvasDocument:function(){return useCanvasDocument}});var o=n("@elementor/editor-v1-adapters");function useCanvasDocument(){return(0,o.__privateUseListenTo)((0,o.commandEndEvent)("editor/documents/attach-preview"),()=>(0,o.getCanvasIframeDocument)())}},"./packages/packages/core/editor-components/src/hooks/use-component-instance-settings.ts":function(e,t,n){n.r(t),n.d(t,{useComponentInstanceSettings:function(){return useComponentInstanceSettings}});var o=n("@elementor/editor-editing-panel"),r=n("@elementor/editor-elements"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");function useComponentInstanceSettings(){const{element:e}=(0,o.useElement)(),t=(0,r.useElementSetting)(e.id,"component_instance");return s.componentInstancePropTypeUtil.extract(t)}},"./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts":function(e,t,n){n.r(t),n.d(t,{useComponentsPermissions:function(){return useComponentsPermissions}});var o=n("@elementor/editor-current-user");const useComponentsPermissions=()=>{const{isAdmin:e}=(0,o.useCurrentUserCapabilities)();return{canCreate:e,canEdit:e,canDelete:e,canRename:e}}},"./packages/packages/core/editor-components/src/hooks/use-components.ts":function(e,t,n){n.r(t),n.d(t,{useComponents:function(){return useComponents}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");const useComponents=()=>({components:(0,o.__useSelector)(r.selectComponents),isLoading:(0,o.__useSelector)(r.selectLoadIsPending)})},"./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts":function(e,t,n){n.r(t),n.d(t,{useControlsByWidgetType:function(){return useControlsByWidgetType}});var o=n("@elementor/editor-elements");function useControlsByWidgetType(e){const t=(0,o.getElementType)(e);if(!t)return{};return function getControlsByBind(e){return e.reduce((e,t)=>({...e,[t.value.bind]:t}),{})}(iterateControls(t.controls))}function iterateControls(e){return e.map(e=>"control"===e.type&&"bind"in e.value?e:"section"===e.type?iterateControls(e.value.items):null).filter(Boolean).flat()}},"./packages/packages/core/editor-components/src/hooks/use-element-rect.ts":function(e,t,n){n.r(t),n.d(t,{useElementRect:function(){return useElementRect}});var o=n("react"),r=n("@elementor/utils");function useElementRect(e){const[t,n]=(0,o.useState)(new DOMRect(0,0,0,0)),s=(0,r.throttle)(()=>{n(e?.getBoundingClientRect()??new DOMRect(0,0,0,0))},20,!0);return function useScrollListener({element:e,onChange:t}){(0,o.useEffect)(()=>{if(!e)return;const n=e.ownerDocument?.defaultView;return n?.addEventListener("scroll",t,{passive:!0}),()=>{n?.removeEventListener("scroll",t)}},[e,t])}({element:e,onChange:s}),function useResizeListener({element:e,onChange:t}){(0,o.useEffect)(()=>{if(!e)return;const n=new ResizeObserver(t);n.observe(e);const o=e.ownerDocument?.defaultView;return o?.addEventListener("resize",t,{passive:!0}),()=>{n.disconnect(),o?.removeEventListener("resize",t)}},[e,t])}({element:e,onChange:s}),function useMutationsListener({element:e,onChange:t}){(0,o.useEffect)(()=>{if(!e)return;const n=new MutationObserver(t);return n.observe(e,{childList:!0,subtree:!0}),()=>{n.disconnect()}},[e,t])}({element:e,onChange:s}),(0,o.useEffect)(()=>()=>{s.cancel()},[s]),t}},"./packages/packages/core/editor-components/src/hooks/use-navigate-back.ts":function(e,t,n){n.r(t),n.d(t,{useNavigateBack:function(){return useNavigateBack}});var o=n("react"),r=n("@elementor/editor-documents"),s=n("@elementor/store"),a=n("./packages/packages/core/editor-components/src/store/store.ts"),i=n("./packages/packages/core/editor-components/src/utils/switch-to-component.ts");function useNavigateBack(){const e=(0,s.__useSelector)(a.selectPath),t=(0,r.getV1DocumentsManager)();return(0,o.useCallback)(()=>{const{componentId:n,instanceId:o}=e.at(-2)??{};n&&o?(0,i.switchToComponent)(n,o):(0,i.switchToComponent)(t.getInitialId())},[e,t])}},"./packages/packages/core/editor-components/src/init.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("@elementor/editor"),r=n("@elementor/editor-canvas"),s=n("@elementor/editor-documents"),a=n("@elementor/editor-editing-panel"),i=n("@elementor/editor-elements-panel"),c=n("@elementor/editor-panels"),p=n("@elementor/editor-styles-repository"),l=n("@elementor/editor-v1-adapters"),m=n("@elementor/store"),d=n("@wordpress/i18n"),u=n("./packages/packages/core/editor-components/src/component-instance-transformer.ts"),g=n("./packages/packages/core/editor-components/src/component-overridable-transformer.ts"),v=n("./packages/packages/core/editor-components/src/component-override-transformer.ts"),f=n("./packages/packages/core/editor-components/src/components/component-panel-header/component-panel-header.tsx"),y=n("./packages/packages/core/editor-components/src/components/component-properties-panel/component-properties-panel.tsx"),h=n("./packages/packages/core/editor-components/src/components/components-tab/components.tsx"),k=n("./packages/packages/core/editor-components/src/components/consts.ts"),b=n("./packages/packages/core/editor-components/src/components/create-component-form/create-component-form.tsx"),C=n("./packages/packages/core/editor-components/src/components/edit-component/edit-component.tsx"),E=n("./packages/packages/core/editor-components/src/components/in-edit-mode.tsx"),_=n("./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx"),P=n("./packages/packages/core/editor-components/src/components/overridable-props/overridable-prop-control.tsx"),x=n("./packages/packages/core/editor-components/src/components/overridable-props/overridable-prop-indicator.tsx"),w=n("./packages/packages/core/editor-components/src/create-component-type.ts"),I=n("./packages/packages/core/editor-components/src/mcp/index.ts"),O=n("./packages/packages/core/editor-components/src/populate-store.ts"),S=n("./packages/packages/core/editor-components/src/prevent-circular-nesting.ts"),T=n("./packages/packages/core/editor-components/src/prevent-non-atomic-nesting.ts"),D=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),N=n("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts"),A=n("./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts"),U=n("./packages/packages/core/editor-components/src/store/components-styles-provider.ts"),M=n("./packages/packages/core/editor-components/src/store/store.ts"),L=n("./packages/packages/core/editor-components/src/sync/before-save.ts"),R=n("./packages/packages/core/editor-components/src/sync/cleanup-overridable-props-on-delete.ts"),V=n("./packages/packages/core/editor-components/src/sync/handle-component-edit-mode-container.ts"),B=n("./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts"),F=n("./packages/packages/core/editor-components/src/sync/regenerate-override-keys.ts"),G=n("./packages/packages/core/editor-components/src/sync/revert-overridables-on-copy-or-duplicate.ts"),z=n("./packages/packages/core/editor-components/src/utils/tracking.ts");function init(){p.stylesRepository.register(U.componentsStylesProvider),(0,m.__registerSlice)(M.slice),(0,c.__registerPanel)(y.panel),(0,r.registerElementType)(w.COMPONENT_WIDGET_TYPE,e=>(0,w.createComponentType)({...e,showLockedByModal:E.openEditModeDialog})),(0,l.registerDataHook)("dependency","editor/documents/close",e=>((0,s.getV1CurrentDocument)().config.type===k.COMPONENT_DOCUMENT_TYPE&&(e.mode="autosave"),!0)),(0,l.registerDataHook)("after","preview/drop",z.onElementDrop),window.elementorCommon.__beforeSave=L.beforeSave,(0,i.injectTab)({id:"components",label:(0,d.__)("Components","elementor"),component:h.Components,position:1}),(0,o.injectIntoTop)({id:"create-component-popup",component:b.CreateComponentForm}),(0,o.injectIntoLogic)({id:"components-populate-store",component:O.PopulateStore}),(0,o.injectIntoTop)({id:"edit-component",component:C.EditComponent}),(0,a.injectIntoPanelHeaderTop)({id:"component-panel-header",component:f.ComponentPanelHeader}),(0,l.registerDataHook)("after","editor/documents/attach-preview",async()=>{const{id:e,config:t}=(0,s.getV1CurrentDocument)();e&&(0,A.removeComponentStyles)(e),await(0,N.loadComponentsAssets)(t?.elements??[])}),(0,a.registerFieldIndicator)({fieldType:a.FIELD_TYPE.SETTINGS,id:"component-overridable-prop",priority:1,indicator:x.OverridablePropIndicator}),(0,a.registerControlReplacement)({id:k.OVERRIDABLE_PROP_REPLACEMENT_ID,component:P.OverridablePropControl,condition:({value:e})=>D.componentOverridablePropTypeUtil.isValid(e)}),(0,a.registerEditingPanelReplacement)({id:"component-instance-edit-panel",condition:(e,t)=>"e-component"===t.key,component:_.InstanceEditingPanel}),r.settingsTransformersRegistry.register("component-instance",u.componentInstanceTransformer),r.settingsTransformersRegistry.register("overridable",g.componentOverridableTransformer),r.settingsTransformersRegistry.register("override",v.componentOverrideTransformer),(0,F.initRegenerateOverrideKeys)(),(0,R.initCleanupOverridablePropsOnDelete)(),(0,I.initMcp)(),(0,S.initCircularNestingPrevention)(),(0,T.initNonAtomicNestingPrevention)(),(0,B.initLoadComponentDataAfterInstanceAdded)(),(0,V.initHandleComponentEditModeContainer)(),(0,G.initRevertOverridablesOnCopyOrDuplicate)()}},"./packages/packages/core/editor-components/src/mcp/index.ts":function(e,t,n){n.r(t),n.d(t,{initMcp:function(){return initMcp}});var o=n("@elementor/editor-mcp"),r=n("./packages/packages/core/editor-components/src/mcp/save-as-component-tool.ts");function initMcp(){const{setMCPDescription:e}=(0,o.getMCPByDomain)("components");e("Elementor Editor Components MCP - Tools for creating and managing reusable components. \n Components are reusable blocks of content that can be used multiple times across the pages, its a widget which contains a set of elements and styles."),(0,r.initSaveAsComponentTool)()}},"./packages/packages/core/editor-components/src/mcp/save-as-component-tool.ts":function(e,t,n){n.r(t),n.d(t,{ERROR_MESSAGES:function(){return u},handleSaveAsComponent:function(){return handleSaveAsComponent},initSaveAsComponentTool:function(){return initSaveAsComponentTool}});var o=n("@elementor/editor-canvas"),r=n("@elementor/editor-elements"),s=n("@elementor/editor-mcp"),a=n("@elementor/http-client"),i=n("@elementor/schema"),c=n("@elementor/utils"),p=n("./packages/packages/core/editor-components/src/api.ts"),l=n("./packages/packages/core/editor-components/src/store/actions/create-unpublished-component.ts");const m={element_id:i.z.string().describe('The unique identifier of the element to save as a component. Use the "list-elements" tool to find available element IDs in the current document.'),component_name:i.z.string().describe("The name for the new component. Should be descriptive and unique among existing components."),overridable_props:i.z.object({props:i.z.record(i.z.object({elementId:i.z.string().describe("The id of the child element that you want to override its settings"),propKey:i.z.string().describe('The property key of the child element that you want to override its settings (e.g., "text", "url", "tag"). To get the available propKeys for an element, use the "get-element-type-config" tool.'),label:i.z.string().describe('A unique, user-friendly display name for this property (e.g., "Hero Headline", "CTA Button Text"). Must be unique within the same component.')}))}).optional().describe('Overridable properties configuration. Specify which CHILD element properties can be customized. Only elementId and propKey are required; To get the available propKeys for a child element you must use the "get-element-type-config" tool.')},d={message:i.z.string().optional().describe("Additional information about the operation result"),component_uid:i.z.string().optional().describe("The unique identifier of the newly created component (only present on success)")},u={ELEMENT_NOT_FOUND:"Element not found. Use 'list-elements' to get valid element IDs.",ELEMENT_NOT_ONE_OF_TYPES:e=>`Element is not one of the following types: ${e.join(", ")}`,ELEMENT_IS_LOCKED:"Cannot save a locked element as a component."},handleSaveAsComponent=async e=>{const{element_id:t,component_name:n,overridable_props:o}=e,s=function getValidElementTypes(){const e=(0,r.getWidgetsCache)();if(!e)return[];return Object.entries(e).reduce((e,[t,n])=>n.atomic_props_schema&&n.show_in_panel&&"widget"!==n.elType?(e.push(t),e):e,[])}(),i=(0,r.getContainer)(t);if(!i)throw new Error(u.ELEMENT_NOT_FOUND);const m=i.model.get("elType");if(!s.includes(m))throw new Error(u.ELEMENT_NOT_ONE_OF_TYPES(s));const d=i.model.toJSON({remove:["default"]});if(d?.isLocked)throw new Error(u.ELEMENT_IS_LOCKED);const g=o?function enrichOverridableProps(e,t){const n={},o=(0,c.generateUniqueId)("group");return Object.entries(e.props).forEach(([,e])=>{const{elementId:s,propKey:a,label:i}=e,p=findElementById(t,s);if(!p)throw new Error(`Element with ID "${s}" not found in component`);const l=p.elType,m=p.widgetType||p.elType,d=(0,r.getElementType)(m);if(!d)throw new Error(`Element type "${m}" is not atomic or does not have a settings schema. Cannot expose property "${a}" for element "${s}".`);if(!d.propsSchema[a]){const e=Object.keys(d.propsSchema).join(", ");throw new Error(`Property "${a}" does not exist in element "${s}" (type: ${m}). Available properties: ${e}`)}const u=(0,c.generateUniqueId)("prop"),g=p.settings?.[a]?p.settings[a]:d.propsSchema[a].default??null;n[u]={overrideKey:u,label:i,elementId:s,propKey:a,elType:l,widgetType:m,originValue:g,groupId:o}}),{props:n,groups:{items:{[o]:{id:o,label:"Default",props:Object.keys(n)}},order:[o]}}}(o,d):void 0;g&&function updateElementDataWithOverridableProps(e,t){Object.values(t.props).forEach(t=>{const n=findElementById(e,t.elementId);n&&n.settings&&(n.settings[t.propKey]={$$type:"overridable",value:{override_key:t.overrideKey,origin_value:t.originValue}})})}(d,g);const v=(0,c.generateUniqueId)("component");try{await p.apiClient.validate({items:[{uid:v,title:n,elements:[d],settings:{overridable_props:g}}]})}catch(e){if(e instanceof a.AxiosError)throw new Error(e.response?.data.messge);throw new Error("Unknown error")}return await(0,l.createUnpublishedComponent)({name:n,element:d,eventData:null,uid:v,overridableProps:g,source:"mcp_tool"}),{status:"ok",message:`Component "${n}" created successfully.`,component_uid:v}};function findElementById(e,t){if(e.id===t)return e;if(e.elements)for(const n of e.elements){const e=findElementById(n,t);if(e)return e}return null}const generatePrompt=()=>{const e=(0,s.toolPrompts)("save-as-component");return e.description(`\nSave an existing element as a reusable component in the Elementor editor.\n\n# When to use this tool\nUse this tool when the user wants to:\n- Create a reusable component from an existing element structure\n- Make specific child element properties customizable in component instances\n- Build a library of reusable design patterns\n\n# When NOT to use this tool\n- Element is already a component (widgetType: 'e-component')\n- Element is locked\n- Element is not an atomic element (atomic_props_schema is not defined)\n- Element elType is a 'widget'\n\n# **CRITICAL - REQUIRED RESOURCES (Must read before using this tool)**\n1. [${o.DOCUMENT_STRUCTURE_URI}]\n **MANDATORY** - Required to understand the document structure and identify child elements for overridable properties.\n Use this resource to find element IDs and understand the element hierarchy.\n\n2. [${o.WIDGET_SCHEMA_URI}]\n **MANDATORY** - Required to understand which properties are available for each widget type.\n Use this to identify available propKeys in the atomic_props_schema for child elements.\n\n# Instructions - MUST FOLLOW IN ORDER\n## Step 1: Identify the Target Element\n1. Read the [${o.DOCUMENT_STRUCTURE_URI}] resource to understand the document structure\n2. Locate the element you want to save as a component by its element_id\n3. Verify the element type is a valid element type\n4. Ensure the element is not locked and is not already a component\n\n## Step 2: Define Overridable Properties\nDo this step to make child element properties customizable.\nSkip that step ONLY if the user explicitly requests to not make any properties customizable.\n\n1. **Identify Child Elements**\n - Use the [${o.DOCUMENT_STRUCTURE_URI}] resource to find all child elements\n - Note the elementId and widgetType/elType of each child element you want to customize\n\n2. **Find Available Properties**\n - Use the [${o.WIDGET_SCHEMA_URI}] resource to find the child element's widget type schema\n - Review the atomic_props_schema to find available propKeys (ONLY use top-level props)\n - Common propKeys include: "text", "url", "tag", "size", etc.\n - Use only the top level properties, do not use nested properties.\n\n3. **Build the overridable_props Object**\n - For each property you want to make overridable, add an entry:\n \`{ "elementId": "<child-element-id>", "propKey": "<property-key>", "label": "<user-friendly-name>" }\`\n - The label must be unique within the component and should be meaningful to the user (e.g., "Hero Headline", "CTA Button Text")\n - Group all entries under the "props" object\n\n## Step 3: Execute the Tool\nCall the tool with:\n- element_id: The ID of the parent element to save as component\n- component_name: A descriptive name for the component\n- overridable_props: (Optional) The properties configuration from Step 2\n\n# CONSTRAINTS\n- NEVER try to override properties of the parent element itself - ONLY child elements\n- NEVER use invalid propKeys - always verify against the widget's atomic_props_schema in [${o.WIDGET_SCHEMA_URI}]\n- Property keys must exist in the child element's atomic_props_schema\n- Element IDs must exist within the target element's children\n- When tool execution fails, read the error message and adjust accordingly\n- The element being saved must not be inside another component\n`),e.parameter("element_id",`**MANDATORY** The unique identifier of the element to save as a component.\nUse the [${o.DOCUMENT_STRUCTURE_URI}] resource to find available element IDs.`),e.parameter("component_name",'**MANDATORY** A descriptive name for the new component.\nShould be unique and clearly describe the component\'s purpose (e.g., "Hero Section", "Feature Card").'),e.parameter("overridable_props",`**OPTIONAL** Configuration for which child element properties can be customized in component instances.\n\nStructure:\n\`\`\`json\n{\n "props": {\n "<unique-key>": {\n "elementId": "<child-element-id>",\n "propKey": "<property-key>",\n "label": "<user-friendly-name>"\n }\n }\n}\n\`\`\`\n\nTo populate this correctly:\n1. Use [${o.DOCUMENT_STRUCTURE_URI}] to find child element IDs and their widgetType\n2. Use [${o.WIDGET_SCHEMA_URI}] to find the atomic_props_schema for each child element's widgetType\n3. Only include properties you want to be customizable in component instances\n4. Provide a unique, user-friendly label for each property (e.g., "Hero Headline", "CTA Button Text")`),e.example('\nBasic component without overridable properties:\n```json\n{\n "element_id": "abc123",\n "component_name": "Hero Section"\n}\n```\n\nComponent with overridable properties:\n```json\n{\n "element_id": "abc123",\n "component_name": "Feature Card",\n "overridable_props": {\n "props": {\n "heading-text": {\n "elementId": "heading-123",\n "propKey": "text",\n "label": "Card Title"\n },\n "button-text": {\n "elementId": "button-456",\n "propKey": "text",\n "label": "Button Text"\n },\n "button-link": {\n "elementId": "button-456",\n "propKey": "url",\n "label": "Button Link"\n }\n }\n }\n}\n```\n'),e.instruction("After successful creation, the component will be available in the components library and can be inserted into any page or template."),e.instruction("When overridable properties are defined, component instances will show customization controls for those specific properties in the editing panel."),e.prompt()},initSaveAsComponentTool=()=>(0,s.getMCPByDomain)("components").addTool({name:"save-as-component",schema:m,outputSchema:d,description:generatePrompt(),handler:handleSaveAsComponent})},"./packages/packages/core/editor-components/src/populate-store.ts":function(e,t,n){n.r(t),n.d(t,{PopulateStore:function(){return PopulateStore}});var o=n("react"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/thunks.ts");function PopulateStore(){return(0,o.useEffect)(()=>{(0,r.__dispatch)((0,s.loadComponents)())},[]),null}},"./packages/packages/core/editor-components/src/prevent-circular-nesting.ts":function(e,t,n){n.r(t),n.d(t,{extractComponentIdsFromElements:function(){return extractComponentIdsFromElements},initCircularNestingPrevention:function(){return initCircularNestingPrevention},wouldCreateCircularNesting:function(){return wouldCreateCircularNesting}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-notifications"),s=n("@elementor/editor-v1-adapters"),a=n("@elementor/store"),i=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/store/store.ts");const p="e-component",l={type:"default",message:(0,i.__)("Can't add this component - components that contain each other can't be nested.","elementor"),id:"circular-component-nesting-blocked"};function initCircularNestingPrevention(){(0,s.blockCommand)({command:"document/elements/create",condition:blockCircularCreate}),(0,s.blockCommand)({command:"document/elements/move",condition:blockCircularMove}),(0,s.blockCommand)({command:"document/elements/paste",condition:blockCircularPaste})}function wouldCreateCircularNesting(e){if(void 0===e)return!1;const t=(0,a.__getState)(),n=(0,c.selectCurrentComponentId)(t),o=(0,c.selectPath)(t);return null!==n&&(e===n||o.some(t=>t.componentId===e))}function extractComponentIdFromElement(e){return e.widgetType!==p?null:e.settings?.component_instance?.value?.component_id?.value??null}function extractComponentIdsFromElements(e){const t=[];for(const n of e){const e=extractComponentIdFromElement(n);null!==e&&t.push(e),n.elements?.length&&t.push(...extractComponentIdsFromElements(n.elements))}return t}function blockCircularCreate(e){const t=function extractComponentIdFromModel(e){return e&&e.widgetType===p?e.settings?.component_instance?.value?.component_id?.value??null:null}(e.model);if(null===t)return!1;const n=wouldCreateCircularNesting(t);return n&&(0,r.notify)(l),n}function blockCircularMove(e){const{containers:t=[e.container]}=e,n=t.some(e=>{if(!e)return!1;return(0,o.getAllDescendants)(e).some(e=>{const t=function extractComponentIdFromContainer(e){const t=e.model?.get?.("widgetType");if(t!==p)return null;const n=e.model?.get?.("settings"),o=n?.get?.("component_instance");return o?.value?.component_id?.value??null}(e);return null!==t&&wouldCreateCircularNesting(t)})});return n&&(0,r.notify)(l),n}function blockCircularPaste(e){const{storageType:t}=e;if("localstorage"!==t)return!1;const n=window?.elementorCommon?.storage?.get();if(!n?.clipboard?.elements)return!1;const o=extractComponentIdsFromElements(n.clipboard.elements).some(wouldCreateCircularNesting);return o&&(0,r.notify)(l),o}},"./packages/packages/core/editor-components/src/prevent-non-atomic-nesting.ts":function(e,t,n){n.r(t),n.d(t,{findNonAtomicElements:function(){return findNonAtomicElements},findNonAtomicElementsInElement:function(){return findNonAtomicElementsInElement},hasNonAtomicElementsInTree:function(){return hasNonAtomicElementsInTree},initNonAtomicNestingPrevention:function(){return initNonAtomicNestingPrevention},isElementAtomic:function(){return isElementAtomic}});var o=n("@elementor/editor-canvas"),r=n("@elementor/editor-elements"),s=n("@elementor/editor-notifications"),a=n("@elementor/editor-v1-adapters"),i=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/utils/is-editing-component.ts");const p={type:"default",message:(0,i.__)("This widget isn't compatible with components. Use atomic elements instead.","elementor"),id:"non-atomic-element-blocked"};function initNonAtomicNestingPrevention(){(0,a.blockCommand)({command:"document/elements/create",condition:blockNonAtomicCreate}),(0,a.blockCommand)({command:"document/elements/move",condition:blockNonAtomicMove}),(0,a.blockCommand)({command:"document/elements/paste",condition:blockNonAtomicPaste})}function isElementAtomic(e){return null!==(0,r.getElementType)(e)}function blockNonAtomicCreate(e){if(!(0,c.isEditingComponent)())return!1;const{model:t}=e,n=t?.widgetType||t?.elType;return!!n&&(!isElementAtomic(n)&&((0,s.notify)(p),!0))}function blockNonAtomicMove(e){if(!(0,c.isEditingComponent)())return!1;const{containers:t=[e.container]}=e,n=t.some(e=>{if(!e)return!1;return(0,r.getAllDescendants)(e).some(e=>!(0,o.isAtomicWidget)(e))});return n&&(0,s.notify)(p),n}function blockNonAtomicPaste(e){if(!(0,c.isEditingComponent)())return!1;const{storageType:t}=e;if("localstorage"!==t)return!1;const n=window?.elementorCommon?.storage?.get();if(!n?.clipboard?.elements)return!1;const o=hasNonAtomicElementsInTree(n.clipboard.elements);return o&&(0,s.notify)(p),o}function hasNonAtomicElementsInTree(e){for(const t of e){const e=t.widgetType||t.elType;if(e&&!isElementAtomic(e))return!0;if(t.elements?.length&&hasNonAtomicElementsInTree(t.elements))return!0}return!1}function findNonAtomicElements(e){const t=[];for(const n of e){const e=n.widgetType||n.elType;e&&!isElementAtomic(e)&&t.push(e),n.elements?.length&&t.push(...findNonAtomicElements(n.elements))}return[...new Set(t)]}function findNonAtomicElementsInElement(e){const t=[],n=e.widgetType||e.elType;if(n&&!isElementAtomic(n)&&t.push(n),e.elements?.length)for(const n of e.elements)t.push(...findNonAtomicElementsInElement(n));return[...new Set(t)]}},"./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentInstanceOverridePropTypeUtil:function(){return s}});var o=n("@elementor/editor-props"),r=n("@elementor/schema");const s=(0,o.createPropUtils)("override",r.z.object({override_key:r.z.string(),override_value:r.z.unknown(),schema_source:r.z.object({type:r.z.literal("component"),id:r.z.number()})}))},"./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentInstanceOverridesPropTypeUtil:function(){return i}});var o=n("@elementor/editor-props"),r=n("@elementor/schema"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");const i=(0,o.createPropUtils)("overrides",r.z.array(r.z.union([s.componentInstanceOverridePropTypeUtil.schema,a.componentOverridablePropTypeUtil.schema])).optional().default([]))},"./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentInstancePropTypeUtil:function(){return a}});var o=n("@elementor/editor-props"),r=n("@elementor/schema"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");const a=(0,o.createPropUtils)("component-instance",r.z.object({component_id:o.numberPropTypeUtil.schema,overrides:r.z.optional(s.componentInstanceOverridesPropTypeUtil.schema)}))},"./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts":function(e,t,n){n.r(t),n.d(t,{componentOverridablePropTypeUtil:function(){return s}});var o=n("@elementor/editor-props"),r=n("@elementor/schema");const s=(0,o.createPropUtils)("overridable",r.z.object({override_key:r.z.string(),origin_value:r.z.object({$$type:r.z.string(),value:r.z.unknown()}).nullable()}))},"./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx":function(e,t,n){n.r(t),n.d(t,{OverridablePropProvider:function(){return OverridablePropProvider},useComponentInstanceElement:function(){return useComponentInstanceElement},useOverridablePropValue:function(){return useOverridablePropValue}});var o=n("react");const r=(0,o.createContext)(null);function OverridablePropProvider({children:e,...t}){return o.createElement(r.Provider,{value:t},e)}const useOverridablePropValue=()=>(0,o.useContext)(r)?.value,useComponentInstanceElement=()=>(0,o.useContext)(r)?.componentInstanceElement},"./packages/packages/core/editor-components/src/store/actions/add-overridable-group.ts":function(e,t,n){n.r(t),n.d(t,{addOverridableGroup:function(){return addOverridableGroup}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/utils/tracking.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function addOverridableGroup({componentId:e,groupId:t,label:n,source:a}){const i=(0,s.selectCurrentComponent)((0,o.__getState)()),c=(0,s.selectOverridableProps)((0,o.__getState)(),e);if(!c)return;const p={id:t,label:n,props:[]};return(0,o.__dispatch)(s.slice.actions.setOverridableProps({componentId:e,overridableProps:{...c,groups:{...c.groups,items:{...c.groups.items,[t]:p},order:[t,...c.groups.order]}}})),(0,r.trackComponentEvent)({action:"propertiesGroupCreated",source:a,component_uid:i?.uid,group_name:n}),p}},"./packages/packages/core/editor-components/src/store/actions/archive-component.ts":function(e,t,n){n.r(t),n.d(t,{archiveComponent:function(){return archiveComponent}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-notifications"),s=n("@elementor/store"),a=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-components/src/store/store.ts");const archiveComponent=(e,t)=>{(0,s.__dispatch)(i.slice.actions.archive(e)),(0,o.setDocumentModifiedStatus)(!0),(0,r.notify)(((e,t)=>({type:"success",message:(0,a.__)("Successfully deleted component %s","elementor").replace("%s",t),id:`success-archived-components-notification-${e}`}))(e,t))}},"./packages/packages/core/editor-components/src/store/actions/create-unpublished-component.ts":function(e,t,n){n.r(t),n.d(t,{createUnpublishedComponent:function(){return createUnpublishedComponent}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-v1-adapters"),s=n("@elementor/store"),a=n("@elementor/utils"),i=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-components/src/components/create-component-form/utils/replace-element-with-component.ts"),p=n("./packages/packages/core/editor-components/src/utils/revert-overridable-settings.ts"),l=n("./packages/packages/core/editor-components/src/utils/tracking.ts"),m=n("./packages/packages/core/editor-components/src/store/store.ts");async function createUnpublishedComponent({name:e,element:t,eventData:n,uid:d,overridableProps:u,source:g}){const v=d??(0,a.generateUniqueId)("component"),f={uid:v,name:e},y=(0,p.revertAllOverridablesInElementData)(t),h=(0,o.getContainer)(t.id),k=h?.model?.toJSON?.(),b={model:k??t,parentId:h?.parent?.id??"",index:h?.view?._index??0};(0,s.__dispatch)(m.slice.actions.addUnpublished({...f,elements:[y],overridableProps:u})),(0,s.__dispatch)(m.slice.actions.addCreatedThisSession(v));const C=await(0,c.replaceElementWithComponent)(t,f);(0,l.trackComponentEvent)({action:"created",source:g,component_uid:v,component_name:e,...n});try{await(0,r.__privateRunCommand)("document/save/auto")}catch(e){throw function restoreOriginalElement(e,t){(0,o.deleteElement)({elementId:t,options:{useHistory:!1}});const n=structuredClone(e.model);(0,o.createElements)({title:(0,i.__)("Restore Element","elementor"),elements:[{containerId:e.parentId,model:n,options:{at:e.index}}]})}(b,C.id),(0,s.__dispatch)(m.slice.actions.removeUnpublished(v)),(0,s.__dispatch)(m.slice.actions.removeCreatedThisSession(v)),e}return{uid:v,instanceId:C.id}}},"./packages/packages/core/editor-components/src/store/actions/delete-overridable-group.ts":function(e,t,n){n.r(t),n.d(t,{deleteOverridableGroup:function(){return deleteOverridableGroup}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts"),s=n("./packages/packages/core/editor-components/src/store/utils/groups-transformers.ts");function deleteOverridableGroup({componentId:e,groupId:t}){const n=(0,r.selectOverridableProps)((0,o.__getState)(),e);if(!n)return!1;const a=n.groups.items[t];if(!a||a.props.length>0)return!1;const i=(0,s.deleteGroup)(n.groups,t);return(0,o.__dispatch)(r.slice.actions.setOverridableProps({componentId:e,overridableProps:{...n,groups:i}})),!0}},"./packages/packages/core/editor-components/src/store/actions/delete-overridable-prop.ts":function(e,t,n){n.r(t),n.d(t,{deleteOverridableProp:function(){return deleteOverridableProp}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/utils/revert-overridable-settings.ts"),s=n("./packages/packages/core/editor-components/src/utils/tracking.ts"),a=n("./packages/packages/core/editor-components/src/store/store.ts"),i=n("./packages/packages/core/editor-components/src/store/utils/groups-transformers.ts");function deleteOverridableProp({componentId:e,propKey:t,source:n}){const c=(0,a.selectOverridableProps)((0,o.__getState)(),e);if(!c)return;const p=c.props[t];if(!p)return;(0,r.revertElementOverridableSetting)(p.elementId,p.propKey,p.originValue,t);const{[t]:l,...m}=c.props,d=(0,i.removePropFromAllGroups)(c.groups,t);(0,o.__dispatch)(a.slice.actions.setOverridableProps({componentId:e,overridableProps:{...c,props:m,groups:d}}));const u=(0,a.selectCurrentComponent)((0,o.__getState)());(0,s.trackComponentEvent)({action:"propertyRemoved",source:n,component_uid:u?.uid,property_id:l.overrideKey,property_path:l.propKey,property_name:l.label,element_type:l.widgetType??l.elType})}},"./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts":function(e,t,n){n.r(t),n.d(t,{loadComponentsAssets:function(){return loadComponentsAssets}});var o=n("@elementor/editor-documents"),r=n("./packages/packages/core/editor-components/src/utils/get-component-documents.ts"),s=n("./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts"),a=n("./packages/packages/core/editor-components/src/store/actions/load-components-styles.ts");async function loadComponentsAssets(e){const t=await(0,r.getComponentDocuments)(e);!function updateDocumentState(e){const t=[...e.values()].some(o.isDocumentDirty);t&&(0,o.setDocumentModifiedStatus)(!0)}(t),(0,a.loadComponentsStyles)(t),await(0,s.loadComponentsOverridableProps)([...t.keys()])}},"./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts":function(e,t,n){n.r(t),n.d(t,{loadComponentsOverridableProps:function(){return loadComponentsOverridableProps}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function loadComponentsOverridableProps(e){if(e.length)return Promise.all(e.map(loadComponentOverrides))}async function loadComponentOverrides(e){if((0,s.selectIsOverridablePropsLoaded)((0,o.__getState)(),e))return;const t=await r.apiClient.getOverridableProps(e);t&&(0,o.__dispatch)(s.slice.actions.setOverridableProps({componentId:e,overridableProps:t}))}},"./packages/packages/core/editor-components/src/store/actions/load-components-styles.ts":function(e,t,n){n.r(t),n.d(t,{loadComponentsStyles:function(){return loadComponentsStyles}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function loadComponentsStyles(e){if(!e.size)return;const t=(0,r.selectStyles)((0,o.__getState)()),n=new Map([...e.entries()].filter(([e])=>!t[e]));n.size&&function addStyles(e){const t=Object.fromEntries([...e.entries()].map(([e,t])=>[e,extractStylesFromDocument(t)]));(0,o.__dispatch)(r.slice.actions.addStyles(t))}(n)}function extractStylesFromDocument(e){return e.elements?.length?e.elements.flatMap(extractStylesFromElement):[]}function extractStylesFromElement(e){return[...Object.values(e.styles??{}),...(e.elements??[]).flatMap(extractStylesFromElement)]}},"./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts":function(e,t,n){n.r(t),n.d(t,{removeComponentStyles:function(){return removeComponentStyles}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function removeComponentStyles(e){r.apiClient.invalidateComponentConfigCache(e),(0,o.__dispatch)(s.slice.actions.removeStyles({id:e}))}},"./packages/packages/core/editor-components/src/store/actions/rename-component.ts":function(e,t,n){n.r(t),n.d(t,{renameComponent:function(){return renameComponent}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-elements"),s=n("@elementor/store"),a=n("./packages/packages/core/editor-components/src/create-component-type.ts"),i=n("./packages/packages/core/editor-components/src/store/store.ts");const c="title_external_change",renameComponent=(e,t)=>{(0,s.__dispatch)(i.slice.actions.rename({componentUid:e,name:t})),(0,o.setDocumentModifiedStatus)(!0),function refreshComponentInstanceTitles(e){const t=function getDocumentContainer(){const e=(0,o.getV1DocumentsManager)();return e?.getCurrent()?.container}();if(!t)return;const n=function findComponentInstancesByUid(e,t){const n=(0,r.getAllDescendants)(e);return n.filter(e=>{const n=e.model.get("widgetType"),o=e.model.get("editor_settings");return n===a.COMPONENT_WIDGET_TYPE&&o?.component_uid===t})}(t,e);n.forEach(e=>{e.model.trigger?.(c)})}(e)}},"./packages/packages/core/editor-components/src/store/actions/rename-overridable-group.ts":function(e,t,n){n.r(t),n.d(t,{renameOverridableGroup:function(){return renameOverridableGroup}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts"),s=n("./packages/packages/core/editor-components/src/store/utils/groups-transformers.ts");function renameOverridableGroup({componentId:e,groupId:t,label:n}){const a=(0,r.selectOverridableProps)((0,o.__getState)(),e);if(!a)return!1;if(!a.groups.items[t])return!1;const i=(0,s.renameGroup)(a.groups,t,n);return(0,o.__dispatch)(r.slice.actions.setOverridableProps({componentId:e,overridableProps:{...a,groups:i}})),!0}},"./packages/packages/core/editor-components/src/store/actions/reorder-group-props.ts":function(e,t,n){n.r(t),n.d(t,{reorderGroupProps:function(){return reorderGroupProps}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function reorderGroupProps({componentId:e,groupId:t,newPropsOrder:n}){const s=(0,r.selectOverridableProps)((0,o.__getState)(),e);if(!s)return;const a=s.groups.items[t];a&&(0,o.__dispatch)(r.slice.actions.setOverridableProps({componentId:e,overridableProps:{...s,groups:{...s.groups,items:{...s.groups.items,[t]:{...a,props:n}}}}}))}},"./packages/packages/core/editor-components/src/store/actions/reorder-overridable-groups.ts":function(e,t,n){n.r(t),n.d(t,{reorderOverridableGroups:function(){return reorderOverridableGroups}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function reorderOverridableGroups({componentId:e,newOrder:t}){const n=(0,r.selectOverridableProps)((0,o.__getState)(),e);n&&(0,o.__dispatch)(r.slice.actions.setOverridableProps({componentId:e,overridableProps:{...n,groups:{...n.groups,order:t}}}))}},"./packages/packages/core/editor-components/src/store/actions/set-overridable-prop.ts":function(e,t,n){n.r(t),n.d(t,{setOverridableProp:function(){return setOverridableProp}});var o=n("@elementor/store"),r=n("@elementor/utils"),s=n("./packages/packages/core/editor-components/src/utils/tracking.ts"),a=n("./packages/packages/core/editor-components/src/store/store.ts"),i=n("./packages/packages/core/editor-components/src/store/utils/groups-transformers.ts");function setOverridableProp({componentId:e,overrideKey:t,elementId:n,label:c,groupId:p,propKey:l,elType:m,widgetType:d,originValue:u,originPropFields:g,source:v}){const f=(0,a.selectOverridableProps)((0,o.__getState)(),e);if(!f)return;const y=t?f.props[t]:null,h=Object.values(f.props).filter(e=>e.elementId===n&&e.propKey===l&&e!==y),{groups:k,groupId:b}=(0,i.resolveOrCreateGroup)(f.groups,p||y?.groupId||void 0),C={overrideKey:y?.overrideKey||(0,r.generateUniqueId)("prop"),label:c,elementId:n,propKey:l,widgetType:d,elType:m,originValue:u,groupId:b,originPropFields:g},E=(0,i.removePropsFromState)({...f,groups:k},h),_={...E.props,[C.overrideKey]:C};let P=(0,i.addPropToGroup)(E.groups,b,C.overrideKey);P=(0,i.ensureGroupInOrder)(P,b);y&&y.groupId!==b&&(P=(0,i.removePropFromGroup)(P,y.groupId,C.overrideKey)),(0,o.__dispatch)(a.slice.actions.setOverridableProps({componentId:e,overridableProps:{props:_,groups:P}}));if(!y){const e=(0,a.selectCurrentComponent)((0,o.__getState)());(0,s.trackComponentEvent)({action:"propertyExposed",source:v,component_uid:e?.uid,property_id:C.overrideKey,property_path:l,property_name:c,element_type:d??m})}return C}},"./packages/packages/core/editor-components/src/store/actions/update-current-component.ts":function(e,t,n){n.r(t),n.d(t,{archiveComponent:function(){return archiveComponent},updateCurrentComponent:function(){return updateCurrentComponent}});var o=n("@elementor/editor-documents"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function updateCurrentComponent({path:e,currentComponentId:t}){const n=(0,r.__getStore)()?.dispatch;n&&(n(s.slice.actions.setPath(e)),n(s.slice.actions.setCurrentComponentId(t)))}const archiveComponent=e=>{const t=(0,r.__getStore)(),n=t?.dispatch;n&&(n(s.slice.actions.archive(e)),(0,o.setDocumentModifiedStatus)(!0))}},"./packages/packages/core/editor-components/src/store/actions/update-overridable-prop-params.ts":function(e,t,n){n.r(t),n.d(t,{updateOverridablePropParams:function(){return updateOverridablePropParams}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts"),s=n("./packages/packages/core/editor-components/src/store/utils/groups-transformers.ts");function updateOverridablePropParams({componentId:e,overrideKey:t,label:n,groupId:a}){const i=(0,r.selectOverridableProps)((0,o.__getState)(),e);if(!i)return;const c=i.props[t];if(!c)return;const p=c.groupId,l=a??p,m={...c,label:n,groupId:l},d=(0,s.movePropBetweenGroups)(i.groups,t,p,l);return(0,o.__dispatch)(r.slice.actions.setOverridableProps({componentId:e,overridableProps:{...i,props:{...i.props,[t]:m},groups:d}})),m}},"./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts":function(e,t,n){n.r(t),n.d(t,{updateOverridableProp:function(){return updateOverridableProp}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function updateOverridableProp(e,t,n){const a=(0,s.selectOverridableProps)((0,o.__getState)(),e);if(!a)return;const i=a.props[t.override_key];if(!i)return;const c=(0,r.resolveOverridePropValue)(t.origin_value),p=n?{originValue:c,originPropFields:n}:{originValue:c},l={...a,props:{...a.props,[i.overrideKey]:{...i,...p}}};(0,o.__dispatch)(s.slice.actions.setOverridableProps({componentId:e,overridableProps:l}))}},"./packages/packages/core/editor-components/src/store/components-styles-provider.ts":function(e,t,n){n.r(t),n.d(t,{componentsStylesProvider:function(){return a}});var o=n("@elementor/editor-styles-repository"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts");const a=(0,o.createStylesProvider)({key:"components-styles",priority:100,subscribe:e=>(0,r.__subscribeWithSelector)(e=>e[s.SLICE_NAME],()=>{e()}),actions:{all:()=>(0,s.selectFlatStyles)((0,r.__getState)()),get:e=>(0,s.selectFlatStyles)((0,r.__getState)()).find(t=>t.id===e)??null}})},"./packages/packages/core/editor-components/src/store/store.ts":function(e,t,n){n.r(t),n.d(t,{SLICE_NAME:function(){return a},initialState:function(){return s},selectArchivedThisSession:function(){return selectArchivedThisSession},selectComponent:function(){return selectComponent},selectComponentByUid:function(){return selectComponentByUid},selectComponents:function(){return c},selectCreatedThisSession:function(){return u},selectCurrentComponent:function(){return k},selectCurrentComponentId:function(){return h},selectData:function(){return selectData},selectFlatStyles:function(){return d},selectIsOverridablePropsLoaded:function(){return f},selectLoadIsError:function(){return m},selectLoadIsPending:function(){return l},selectOverridableProps:function(){return v},selectPath:function(){return y},selectStyles:function(){return selectStyles},selectUnpublishedComponents:function(){return p},selectUpdatedComponentNames:function(){return b},slice:function(){return i},useComponent:function(){return useComponent},useCurrentComponent:function(){return useCurrentComponent},useCurrentComponentId:function(){return useCurrentComponentId},useOverridableProps:function(){return useOverridableProps}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/thunks.ts");const s={data:[],unpublishedData:[],loadStatus:"idle",styles:{},createdThisSession:[],archivedThisSession:[],path:[],currentComponentId:null,updatedComponentNames:{}},a="components",i=(0,o.__createSlice)({name:a,initialState:s,reducers:{add:(e,{payload:t})=>{Array.isArray(t)?e.data=[...t,...e.data]:e.data.unshift(t)},load:(e,{payload:t})=>{e.data=t},addUnpublished:(e,{payload:t})=>{e.unpublishedData.unshift(t)},removeUnpublished:(e,{payload:t})=>{const n=Array.isArray(t)?t:[t];e.unpublishedData=e.unpublishedData.filter(e=>!n.includes(e.uid))},resetUnpublished:e=>{e.unpublishedData=[]},removeStyles(e,{payload:t}){const{[t.id]:n,...o}=e.styles;e.styles=o},addStyles:(e,{payload:t})=>{e.styles={...e.styles,...t}},addCreatedThisSession:(e,{payload:t})=>{e.createdThisSession.push(t)},removeCreatedThisSession:(e,{payload:t})=>{e.createdThisSession=e.createdThisSession.filter(e=>e!==t)},archive:(e,{payload:t})=>{const n=e.data.find(e=>e.id===t);n&&(n.isArchived=!0,e.archivedThisSession.push(t))},setCurrentComponentId:(e,{payload:t})=>{e.currentComponentId=t},setPath:(e,{payload:t})=>{e.path=t},setOverridableProps:(e,{payload:t})=>{const n=e.data.find(e=>e.id===t.componentId);n&&(n.overridableProps=t.overridableProps)},rename:(e,{payload:t})=>{const n=e.data.find(e=>e.uid===t.componentUid);n&&(n.id&&(e.updatedComponentNames[n.id]=t.name),n.name=t.name)},cleanUpdatedComponentNames:e=>{e.updatedComponentNames={}}},extraReducers:e=>{e.addCase(r.loadComponents.fulfilled,(e,{payload:t})=>{e.data=t,e.loadStatus="idle"}),e.addCase(r.loadComponents.pending,e=>{e.loadStatus="pending"}),e.addCase(r.loadComponents.rejected,e=>{e.loadStatus="error"})}}),selectData=e=>e[a].data,selectArchivedThisSession=e=>e[a].archivedThisSession,selectLoadStatus=e=>e[a].loadStatus,selectUnpublishedData=e=>e[a].unpublishedData,getCurrentComponentId=e=>e[a].currentComponentId,selectComponent=(e,t)=>e[a].data.find(e=>e.id===t),useComponent=e=>(0,o.__useSelector)(t=>e?selectComponent(t,e):null),selectComponentByUid=(e,t)=>e[a].data.find(e=>e.uid===t)??e[a].unpublishedData.find(e=>e.uid===t),c=(0,o.__createSelector)(selectData,selectUnpublishedData,(e,t)=>[...t.map(e=>({uid:e.uid,name:e.name,overridableProps:e.overridableProps})),...e.filter(e=>!e.isArchived)]),p=(0,o.__createSelector)(selectUnpublishedData,e=>e),l=(0,o.__createSelector)(selectLoadStatus,e=>"pending"===e),m=(0,o.__createSelector)(selectLoadStatus,e=>"error"===e),selectStyles=e=>e[a].styles??{},d=(0,o.__createSelector)(e=>e[a].styles??{},e=>Object.values(e).flat()),u=(0,o.__createSelector)(e=>e[a].createdThisSession,e=>e),g={props:{},groups:{items:{},order:[]}},v=(0,o.__createSelector)(selectComponent,e=>{if(e)return e.overridableProps??g}),useOverridableProps=e=>(0,o.__useSelector)(t=>e?v(t,e):null),f=(0,o.__createSelector)(selectComponent,e=>!!e?.overridableProps),y=(0,o.__createSelector)(e=>e[a].path,e=>e),h=(0,o.__createSelector)(getCurrentComponentId,e=>e),k=(0,o.__createSelector)(selectData,getCurrentComponentId,(e,t)=>e.find(e=>e.id===t)),useCurrentComponentId=()=>(0,o.__useSelector)(h),useCurrentComponent=()=>(0,o.__useSelector)(k),b=(0,o.__createSelector)(e=>e[a].updatedComponentNames,e=>Object.entries(e).map(([e,t])=>({componentId:Number(e),title:t})))},"./packages/packages/core/editor-components/src/store/thunks.ts":function(e,t,n){n.r(t),n.d(t,{loadComponents:function(){return s}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts");const s=(0,o.__createAsyncThunk)("components/load",async()=>await r.apiClient.get())},"./packages/packages/core/editor-components/src/store/utils/groups-transformers.ts":function(e,t,n){n.r(t),n.d(t,{addPropToGroup:function(){return addPropToGroup},createGroup:function(){return createGroup},deleteGroup:function(){return deleteGroup},ensureGroupInOrder:function(){return ensureGroupInOrder},movePropBetweenGroups:function(){return movePropBetweenGroups},removePropFromAllGroups:function(){return removePropFromAllGroups},removePropFromGroup:function(){return removePropFromGroup},removePropsFromState:function(){return removePropsFromState},renameGroup:function(){return renameGroup},resolveOrCreateGroup:function(){return resolveOrCreateGroup}});var o=n("@elementor/utils"),r=n("@wordpress/i18n");function removePropFromAllGroups(e,t){return{...e,items:Object.fromEntries(Object.entries(e.items).map(([e,n])=>[e,{...n,props:n.props.filter(e=>e!==t)}]))}}function addPropToGroup(e,t,n){const o=e.items[t];return o?o.props.includes(n)?e:{...e,items:{...e.items,[t]:{...o,props:[...o.props,n]}}}:e}function movePropBetweenGroups(e,t,n,o){if(n===o)return e;return addPropToGroup(removePropFromGroup(e,n,t),o,t)}function removePropFromGroup(e,t,n){const o=e.items[t];return o?{...e,items:{...e.items,[t]:{...o,props:o.props.filter(e=>e!==n)}}}:e}function resolveOrCreateGroup(e,t){return t&&e.items[t]?{groups:e,groupId:t}:!t&&e.order.length>0?{groups:e,groupId:e.order[0]}:createGroup(e,t)}function createGroup(e,t,n){const s=t||(0,o.generateUniqueId)("group"),a=n||(0,r.__)("Default","elementor");return{groups:{...e,items:{...e.items,[s]:{id:s,label:a,props:[]}},order:[...e.order,s]},groupId:s}}function removePropsFromState(e,t){const n=t.map(e=>e.overrideKey);return{props:Object.fromEntries(Object.entries(e.props).filter(([,e])=>!t.includes(e))),groups:{items:Object.fromEntries(Object.entries(e.groups.items).map(([e,t])=>[e,{...t,props:t.props.filter(e=>!n.includes(e))}])),order:e.groups.order.filter(e=>!n.includes(e))}}}function ensureGroupInOrder(e,t){return e.order.includes(t)?e:{...e,order:[...e.order,t]}}function deleteGroup(e,t){const{[t]:n,...o}=e.items;return{items:o,order:e.order.filter(e=>e!==t)}}function renameGroup(e,t,n){const o=e.items[t];return o?{...e,items:{...e.items,[t]:{...o,label:n}}}:e}},"./packages/packages/core/editor-components/src/sync/before-save.ts":function(e,t,n){n.r(t),n.d(t,{beforeSave:function(){return beforeSave}});var o=n("./packages/packages/core/editor-components/src/sync/create-components-before-save.ts"),r=n("./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts"),s=n("./packages/packages/core/editor-components/src/sync/set-component-overridable-props-settings-before-save.ts"),a=n("./packages/packages/core/editor-components/src/sync/update-archived-component-before-save.ts"),i=n("./packages/packages/core/editor-components/src/sync/update-component-title-before-save.ts");const beforeSave=({container:e,status:t})=>{const n=e?.model.get("elements").toJSON?.()??[];return Promise.all([syncComponents({elements:n,status:t}),(0,s.setComponentOverridablePropsSettingsBeforeSave)({container:e})])},syncComponents=async({elements:e,status:t})=>{await updateExistingComponentsBeforeSave({elements:e,status:t}),await(0,o.createComponentsBeforeSave)({elements:e,status:t})},updateExistingComponentsBeforeSave=async({elements:e,status:t})=>{await(0,i.updateComponentTitleBeforeSave)(t),await(0,a.updateArchivedComponentBeforeSave)(t),await(0,r.publishDraftComponentsInPageBeforeSave)({elements:e,status:t})}},"./packages/packages/core/editor-components/src/sync/cleanup-overridable-props-on-delete.ts":function(e,t,n){n.r(t),n.d(t,{initCleanupOverridablePropsOnDelete:function(){return initCleanupOverridablePropsOnDelete}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-v1-adapters"),s=n("@elementor/store"),a=n("./packages/packages/core/editor-components/src/store/store.ts"),i=n("./packages/packages/core/editor-components/src/store/utils/groups-transformers.ts");function initCleanupOverridablePropsOnDelete(){(0,r.registerDataHook)("dependency","document/elements/delete",e=>{const t=(0,s.__getState)();if(!t)return!0;const n=(0,a.selectCurrentComponentId)(t);if(!n)return!0;const r=(0,a.selectOverridableProps)(t,n);if(!r||0===Object.keys(r.props).length)return!0;const c=e.containers??(e.container?[e.container]:[]);if(0===c.length)return!0;const p=function collectDeletedElementIds(e){const t=e.filter(Boolean).flatMap(e=>[e,...(0,o.getAllDescendants)(e)]).map(e=>e.model?.get?.("id")??e.id).filter(e=>Boolean(e));return t}(c);if(0===p.length)return!0;const l=Object.entries(r.props).filter(([,e])=>p.includes(e.elementId)).map(([e])=>e);if(0===l.length)return!0;const m=Object.fromEntries(Object.entries(r.props).filter(([e])=>!l.includes(e)));let d=r.groups;for(const e of l)d=(0,i.removePropFromAllGroups)(d,e);return(0,s.__dispatch)(a.slice.actions.setOverridableProps({componentId:n,overridableProps:{...r,props:m,groups:d}})),!0})}},"./packages/packages/core/editor-components/src/sync/create-components-before-save.ts":function(e,t,n){n.r(t),n.d(t,{createComponentsBeforeSave:function(){return createComponentsBeforeSave}});var o=n("@elementor/editor-elements"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/api.ts"),a=n("./packages/packages/core/editor-components/src/store/store.ts");async function createComponentsBeforeSave({elements:e,status:t}){const n=(0,a.selectUnpublishedComponents)((0,r.__getState)());if(n.length)try{const o=await async function createComponents(e,t){const n=await s.apiClient.create({status:t,items:e.map(e=>({uid:e.uid,title:e.name,elements:e.elements,settings:e.overridableProps?{overridable_props:e.overridableProps}:void 0}))}),o=new Map;return Object.entries(n).forEach(([e,t])=>{o.set(e,t)}),o}(n,t);updateComponentInstances(e,o),(0,r.__dispatch)(a.slice.actions.add(n.map(e=>({id:o.get(e.uid),name:e.name,uid:e.uid,overridableProps:e.overridableProps?e.overridableProps:void 0})))),(0,r.__dispatch)(a.slice.actions.resetUnpublished())}catch(e){const t=n.map(e=>e.uid);throw(0,r.__dispatch)(a.slice.actions.removeUnpublished(t)),new Error(`Failed to publish components: ${e}`)}}function updateComponentInstances(e,t){e.forEach(e=>{const{shouldUpdate:n,newComponentId:r}=function shouldUpdateElement(e,t){if("e-component"===e.widgetType){const n=e.settings?.component_instance?.value?.component_id.value;if(n&&t.has(n.toString()))return{shouldUpdate:!0,newComponentId:t.get(n.toString())}}return{shouldUpdate:!1,newComponentId:null}}(e,t);n&&function updateElementComponentId(e,t){(0,o.updateElementSettings)({id:e,props:{component_instance:{$$type:"component-instance",value:{component_id:{$$type:"number",value:t}}}},withHistory:!1})}(e.id,r),e.elements&&updateComponentInstances(e.elements,t)})}},"./packages/packages/core/editor-components/src/sync/handle-component-edit-mode-container.ts":function(e,t,n){n.r(t),n.d(t,{initHandleComponentEditModeContainer:function(){return initHandleComponentEditModeContainer}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-v1-adapters"),s=n("./packages/packages/core/editor-components/src/components/consts.ts"),a=n("./packages/packages/core/editor-components/src/utils/is-editing-component.ts");const i="e-flexbox";function initHandleComponentEditModeContainer(){!function initRedirectDropIntoComponent(){(0,r.registerDataHook)("dependency","preview/drop",e=>{if(!(0,a.isEditingComponent)())return!0;const t=e.containers??(e.container?[e.container]:[]);for(const n of t){if(!isComponent(n))continue;const{shouldRedirect:t,container:o}=getComponentContainer(n);if(t)if(e.containers){const t=e.containers.indexOf(n);e.containers[t]=o}else e.container=o}return!0})}(),function initHandleTopLevelElementDelete(){(0,r.registerDataHook)("after","document/elements/delete",e=>{if(!(0,a.isEditingComponent)())return;const t=e.containers??(e.container?[e.container]:[]);for(const e of t){if(!e.parent||!isComponent(e.parent))continue;const t=e.parent;0===t.children?.length&&createEmptyTopLevelContainer(e.parent)}})}()}function createEmptyTopLevelContainer(e){const t=(0,o.createElement)({containerId:e.id,model:{elType:i}});(0,o.selectElement)(t.id)}function getComponentContainer(e){const t=e.children?.[0];return t?{shouldRedirect:!0,container:t}:{shouldRedirect:!1,container:e}}function isComponent(e){return!("document"!==e.id)&&e.document?.config.type===s.COMPONENT_DOCUMENT_TYPE}},"./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts":function(e,t,n){n.r(t),n.d(t,{initLoadComponentDataAfterInstanceAdded:function(){return initLoadComponentDataAfterInstanceAdded}});var o=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");function initLoadComponentDataAfterInstanceAdded(){(0,o.registerDataHook)("after","document/elements/paste",(e,t)=>{load(t)}),(0,o.registerDataHook)("after","document/elements/import",(e,t)=>{load(t)})}function load(e){const t=Array.isArray(e)?e:[e];(0,r.loadComponentsAssets)(t.map(e=>e.model.toJSON()))}},"./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts":function(e,t,n){n.r(t),n.d(t,{publishDraftComponentsInPageBeforeSave:function(){return publishDraftComponentsInPageBeforeSave}});var o=n("@elementor/editor-documents"),r=n("./packages/packages/core/editor-components/src/api.ts"),s=n("./packages/packages/core/editor-components/src/utils/get-component-documents.ts");async function publishDraftComponentsInPageBeforeSave({status:e,elements:t}){if("publish"!==e)return;const n=[...(await(0,s.getComponentDocuments)(t)).values()].filter(o.isDocumentDirty).map(e=>e.id);0!==n.length&&(await r.apiClient.updateStatuses(n,"publish"),n.forEach(e=>(0,o.invalidateDocumentData)(e)))}},"./packages/packages/core/editor-components/src/sync/regenerate-override-keys.ts":function(e,t,n){n.r(t),n.d(t,{initRegenerateOverrideKeys:function(){return initRegenerateOverrideKeys},regenerateOverrideKeysForContainers:function(){return regenerateOverrideKeysForContainers}});var o=n("@elementor/editor-elements"),r=n("@elementor/editor-v1-adapters"),s=n("@elementor/utils"),a=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),i=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),c=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),p=n("./packages/packages/core/editor-components/src/utils/is-component-instance.ts");function initRegenerateOverrideKeys(){(0,r.registerDataHook)("after","document/elements/duplicate",(e,t)=>{regenerateOverrideKeysForContainers(t)}),(0,r.registerDataHook)("after","document/elements/paste",(e,t)=>{regenerateOverrideKeysForContainers(t)}),(0,r.registerDataHook)("after","document/elements/import",(e,t)=>{regenerateOverrideKeysForContainers(t)})}function regenerateOverrideKeysForContainers(e){(Array.isArray(e)?e:[e]).forEach(e=>{!function regenerateOverrideKeysRecursive(e){const t=(0,o.getContainer)(e);if(!t)return;(0,o.getAllDescendants)(t).forEach(regenerateOverrideKeys)}(e.id)})}function regenerateOverrideKeys(e){if(!(0,p.isComponentInstance)(e.model.toJSON()))return;const t=e.settings?.toJSON()??{};if(!function hasOverrides(e){if(!c.componentInstancePropTypeUtil.isValid(e?.component_instance))return!1;const t=c.componentInstancePropTypeUtil.extract(e?.component_instance),n=t?.overrides;if(!i.componentInstanceOverridesPropTypeUtil.isValid(n))return!1;const o=n?.value;return!!o?.length}(t))return;const n=t.component_instance,r=n.value.overrides,l=r.value.map(e=>a.componentInstanceOverridePropTypeUtil.isValid(e)?{...e,value:{...e.value,override_key:(0,s.generateUniqueId)("prop")}}:e),m={...n,value:{...n.value,overrides:{...r,value:l}}};(0,o.updateElementSettings)({id:e.id,props:{component_instance:m},withHistory:!1})}},"./packages/packages/core/editor-components/src/sync/revert-overridables-on-copy-or-duplicate.ts":function(e,t,n){n.r(t),n.d(t,{initRevertOverridablesOnCopyOrDuplicate:function(){return initRevertOverridablesOnCopyOrDuplicate}});var o=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/core/editor-components/src/utils/is-editing-component.ts"),s=n("./packages/packages/core/editor-components/src/utils/revert-overridable-settings.ts");function initRevertOverridablesOnCopyOrDuplicate(){(0,o.registerDataHook)("after","document/elements/duplicate",(e,t)=>{(0,r.isEditingComponent)()&&function revertOverridablesForDuplicatedElements(e){(Array.isArray(e)?e:[e]).forEach(e=>{(0,s.revertAllOverridablesInContainer)(e)})}(t)}),(0,o.registerDataHook)("after","document/elements/copy",e=>{(0,r.isEditingComponent)()&&function revertOverridablesInStorage(e){const t=window.elementorCommon?.storage;if(!t)return;const n=t.get(e);if(!n?.elements?.length)return;const o=n.elements.map(s.revertAllOverridablesInElementData);t.set(e,{...n,elements:o})}(e.storageKey??"clipboard")})}},"./packages/packages/core/editor-components/src/sync/set-component-overridable-props-settings-before-save.ts":function(e,t,n){n.r(t),n.d(t,{setComponentOverridablePropsSettingsBeforeSave:function(){return setComponentOverridablePropsSettingsBeforeSave}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/components/consts.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");const setComponentOverridablePropsSettingsBeforeSave=({container:e})=>{const t=e.document;if(!t||t.config.type!==r.COMPONENT_DOCUMENT_TYPE)return;const n=(0,s.selectOverridableProps)((0,o.__getState)(),t.id);n&&e.settings.set("overridable_props",n)}},"./packages/packages/core/editor-components/src/sync/update-archived-component-before-save.ts":function(e,t,n){n.r(t),n.d(t,{updateArchivedComponentBeforeSave:function(){return updateArchivedComponentBeforeSave}});var o=n("@elementor/editor-notifications"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/api.ts"),a=n("./packages/packages/core/editor-components/src/store/store.ts");const updateArchivedComponentBeforeSave=async e=>{try{const t=(0,a.selectArchivedThisSession)((0,r.__getState)());if(!t.length)return;const n=(await s.apiClient.updateArchivedComponents(t,e)).failedIds.join(", ");n&&(0,o.notify)({type:"error",message:`Failed to archive components: ${n}`,id:"failed-archived-components-notification"})}catch(e){throw new Error(`Failed to update archived components: ${e}`)}}},"./packages/packages/core/editor-components/src/sync/update-component-title-before-save.ts":function(e,t,n){n.r(t),n.d(t,{updateComponentTitleBeforeSave:function(){return updateComponentTitleBeforeSave}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/api.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");const updateComponentTitleBeforeSave=async e=>{const t=(0,s.selectUpdatedComponentNames)((0,o.__getState)());if(!t.length)return;0===(await r.apiClient.updateComponentTitle(t,e)).failedIds.length&&(0,o.__dispatch)(s.slice.actions.cleanUpdatedComponentNames())}},"./packages/packages/core/editor-components/src/utils/component-document-data.ts":function(e,t,n){n.r(t),n.d(t,{getComponentDocumentData:function(){return getComponentDocumentData}});var o=n("@elementor/editor-documents");const getComponentDocumentData=async e=>{const t=(0,o.getV1DocumentsManager)();try{return await t.request(e)}catch{return null}}},"./packages/packages/core/editor-components/src/utils/component-name-validation.ts":function(e,t,n){n.r(t),n.d(t,{validateComponentName:function(){return validateComponentName}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/components/create-component-form/utils/component-form-schema.ts"),s=n("./packages/packages/core/editor-components/src/store/store.ts");function validateComponentName(e){const t=(0,s.selectComponents)((0,o.__getState)())?.map(({name:e})=>e)??[],n=(0,r.createSubmitComponentSchema)(t).safeParse({componentName:e.toLowerCase()});if(n.success)return{isValid:!0,errorMessage:null};const a=n.error.format();return{isValid:!1,errorMessage:a.componentName?._errors[0]??a._errors[0]}}},"./packages/packages/core/editor-components/src/utils/expand-navigator.ts":function(e,t,n){n.r(t),n.d(t,{expandNavigator:function(){return expandNavigator}});var o=n("@elementor/editor-v1-adapters");async function expandNavigator(){await(0,o.__privateRunCommand)("navigator/expand-all")}},"./packages/packages/core/editor-components/src/utils/get-component-documents.ts":function(e,t,n){n.r(t),n.d(t,{getComponentDocuments:function(){return getComponentDocuments}});var o=n("./packages/packages/core/editor-components/src/utils/component-document-data.ts"),r=n("./packages/packages/core/editor-components/src/utils/is-component-instance.ts");async function getComponentDocuments(e,t=new Map){return async function getDocumentsMap(e,t){const n=await Promise.all(e.map(async e=>{const n=await t.get(e);return n?[e,n]:null}));return new Map(n.filter(e=>null!==e))}(await getComponentIds(e,t),t)}async function getComponentIds(e,t){const n=await Promise.all(e.map(async({widgetType:e,elType:n,elements:s,settings:a})=>{const i=[];if((0,r.isComponentInstance)({widgetType:e,elType:n})){const e=a?.component_instance?.value?.component_id.value;if(!e)return i;i.push(e),t.has(e)||t.set(e,(0,o.getComponentDocumentData)(e));const n=await t.get(e);s=n?.elements}if(s?.length){const e=await getComponentIds(s,t);i.push(...e)}return i}));return[...new Set(n.flat())]}},"./packages/packages/core/editor-components/src/utils/get-container-for-new-element.ts":function(e,t,n){n.r(t),n.d(t,{getContainerForNewElement:function(){return getContainerForNewElement}});var o=n("@elementor/editor-elements");const getContainerForNewElement=()=>{const e=(0,o.getCurrentDocumentContainer)(),t=function getSelectedElementContainer(){const e=(0,o.getSelectedElements)();if(1!==e.length)return;return(0,o.getContainer)(e[0].id)}();let n,r;if(t)switch(t.model.get("elType")){case"widget":{n=t?.parent;const e=t.view?._index??-1;e>-1&&(r={at:e+1});break}case"section":n=t?.children?.[0];break;default:n=t}return{container:n??e,options:r}}},"./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts":function(e,t,n){n.r(t),n.d(t,{getPropTypeForComponentOverride:function(){return getPropTypeForComponentOverride}});var o=n("@elementor/editor-elements");const getPropTypeForComponentOverride=e=>{if(e.originPropFields)return getPropType(e.originPropFields);const{widgetType:t,propKey:n}=e;return getPropType({widgetType:t,propKey:n})};function getPropType({widgetType:e,propKey:t}){const n=(0,o.getWidgetsCache)()?.[e]?.atomic_props_schema;return n?.[t]}},"./packages/packages/core/editor-components/src/utils/is-component-instance.ts":function(e,t,n){n.r(t),n.d(t,{isComponentInstance:function(){return isComponentInstance}});var o=n("./packages/packages/core/editor-components/src/create-component-type.ts");function isComponentInstance(e){return[e.widgetType,e.elType].includes(o.COMPONENT_WIDGET_TYPE)}},"./packages/packages/core/editor-components/src/utils/is-editing-component.ts":function(e,t,n){n.r(t),n.d(t,{isEditingComponent:function(){return isEditingComponent}});var o=n("@elementor/store"),r=n("./packages/packages/core/editor-components/src/store/store.ts");function isEditingComponent(){const e=(0,o.__getStore)()?.getState();return!!e&&null!==(0,r.selectCurrentComponentId)(e)}},"./packages/packages/core/editor-components/src/utils/is-pro-user.ts":function(e,t,n){function isProUser(){const e=window;if(!(e.elementor?.helpers?.hasPro?.()??!1))return!1;return e.elementorPro?.config?.isActive??!1}n.r(t),n.d(t,{isProUser:function(){return isProUser}})},"./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts":function(e,t,n){n.r(t),n.d(t,{resolveOverridePropValue:function(){return resolveOverridePropValue}});var o=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),r=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");const resolveOverridePropValue=e=>{if(r.componentOverridablePropTypeUtil.isValid(e))return function getOverridableValue(e){const t=r.componentOverridablePropTypeUtil.extract(e);if(!t)return null;const n=o.componentInstanceOverridePropTypeUtil.isValid(t.origin_value);if(n)return getOverrideValue(t.origin_value);return t.origin_value}(e);return o.componentInstanceOverridePropTypeUtil.isValid(e)?getOverrideValue(e):e};function getOverrideValue(e){const t=o.componentInstanceOverridePropTypeUtil.extract(e);return t?t.override_value:null}},"./packages/packages/core/editor-components/src/utils/revert-overridable-settings.ts":function(e,t,n){n.r(t),n.d(t,{revertAllOverridablesInContainer:function(){return revertAllOverridablesInContainer},revertAllOverridablesInElementData:function(){return revertAllOverridablesInElementData},revertElementOverridableSetting:function(){return revertElementOverridableSetting}});var o=n("@elementor/editor-elements"),r=n("./packages/packages/core/editor-components/src/create-component-type.ts"),s=n("./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts"),a=n("./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts"),i=n("./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts"),c=n("./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts"),p=n("./packages/packages/core/editor-components/src/utils/is-component-instance.ts");function revertElementOverridableSetting(e,t,n,r){const s=(0,o.getContainer)(e);s&&((0,p.isComponentInstance)(s.model.toJSON())?function revertComponentInstanceOverridableSetting(e,t){const n=(0,o.getElementSetting)(e,"component_instance"),r=i.componentInstancePropTypeUtil.extract(n),s=a.componentInstanceOverridesPropTypeUtil.extract(r?.overrides);if(!s?.length)return;const c=revertComponentInstanceOverrides(s,t),p=i.componentInstancePropTypeUtil.create({...r,overrides:a.componentInstanceOverridesPropTypeUtil.create(c)});(0,o.updateElementSettings)({id:e,props:{component_instance:p},withHistory:!1})}(e,r):(0,o.updateElementSettings)({id:e,props:{[t]:n??null},withHistory:!1}))}function revertComponentInstanceOverrides(e,t){return e.map(e=>c.componentOverridablePropTypeUtil.isValid(e)?s.componentInstanceOverridePropTypeUtil.isValid(e.value.origin_value)?t&&e.value.override_key!==t?e:e.value.origin_value:null:e).filter(e=>null!==e)}function revertOverridablePropsFromSettings(e){let t=!1;const n={};for(const[o,r]of Object.entries(e))c.componentOverridablePropTypeUtil.isValid(r)?(n[o]=r.value.origin_value,t=!0):n[o]=r;return{hasChanges:t,settings:n}}function revertAllOverridablesInElementData(e){const t={...e};if((0,p.isComponentInstance)({widgetType:e.widgetType,elType:e.elType}))t.settings=function revertComponentInstanceSettings(e){if(!e?.component_instance)return e;const t=i.componentInstancePropTypeUtil.extract(e.component_instance),n=a.componentInstanceOverridesPropTypeUtil.extract(t?.overrides);if(!n?.length)return e;const o=revertComponentInstanceOverrides(n);return{...e,component_instance:i.componentInstancePropTypeUtil.create({...t,overrides:a.componentInstanceOverridesPropTypeUtil.create(o)})}}(e.settings);else if(t.settings){const{settings:e}=revertOverridablePropsFromSettings(t.settings);t.settings=e}return t.elements&&(t.elements=t.elements.map(revertAllOverridablesInElementData)),t}function revertAllOverridablesInContainer(e){(0,o.getAllDescendants)(e).forEach(e=>{e.model.get("widgetType")===r.COMPONENT_WIDGET_TYPE?function revertComponentInstanceOverridesInElement(e){const t=e.settings?.toJSON()??{},n=i.componentInstancePropTypeUtil.extract(t.component_instance),r=a.componentInstanceOverridesPropTypeUtil.extract(n?.overrides);if(!r?.length)return;const s=revertComponentInstanceOverrides(r),c=i.componentInstancePropTypeUtil.create({...n,overrides:a.componentInstanceOverridesPropTypeUtil.create(s)});(0,o.updateElementSettings)({id:e.id,props:{component_instance:c},withHistory:!1})}(e):function revertElementSettings(e){const t=e.settings?.toJSON()??{},{hasChanges:n,settings:r}=revertOverridablePropsFromSettings(t);if(!n)return;(0,o.updateElementSettings)({id:e.id,props:r,withHistory:!1})}(e)})}},"./packages/packages/core/editor-components/src/utils/switch-to-component.ts":function(e,t,n){n.r(t),n.d(t,{buildUniqueSelector:function(){return buildUniqueSelector},switchToComponent:function(){return switchToComponent}});var o=n("@elementor/editor-documents"),r=n("@elementor/editor-elements"),s=n("./packages/packages/core/editor-components/src/utils/expand-navigator.ts");async function switchToComponent(e,t,n){const a=function getSelector(e,t){if(e)return buildUniqueSelector(e);if(t)return`[data-id="${t}"]`;return}(n,t);(0,o.invalidateDocumentData)(e),await(0,o.switchToDocument)(e,{selector:a,mode:"autosave",setAsInitial:!1,shouldScroll:!1});const i=(0,r.getCurrentDocumentContainer)(),c=i?.children?.[0];c&&((0,r.selectElement)(c.id),(0,s.expandNavigator)())}function buildUniqueSelector(e){const t=[];let n=e.closest("[data-id]");for(;n;){const e=n.dataset.id;n.hasAttribute("data-elementor-id")&&t.unshift(`[data-id="${e}"]`),n=n.parentElement?.closest("[data-id]")??null}if(0===t.length){const t=e.closest("[data-id]");if(t?.dataset?.id)return`[data-id="${t.dataset.id}"]`}return t.join(" ")}},"./packages/packages/core/editor-components/src/utils/tracking.ts":function(e,t,n){n.r(t),n.d(t,{onElementDrop:function(){return onElementDrop},trackComponentEvent:function(){return trackComponentEvent}});var o=n("@elementor/mixpanel"),r=n("@elementor/store"),s=n("./packages/packages/core/editor-components/src/store/store.ts");const trackComponentEvent=({action:e,source:t,...n})=>{const{dispatchEvent:r,config:s}=(0,o.getMixpanel)();if(!s?.names?.components?.[e])return;const a=s.names.components[e];r?.(a,{...n,source:t,"Feature name":"Components"})},onElementDrop=(e,t)=>{if("e-component"!==t?.model?.get("widgetType"))return;const n=t.model.get("editor_settings"),o=n?.title,a=n?.component_uid,i=t.id,c=(0,s.selectCreatedThisSession)((0,r.__getState)()),p=a&&c.includes(a),l=window.elementorCommon.eventsManager.config,{locations:m,secondaryLocations:d}=l;trackComponentEvent({action:"instanceAdded",source:"user",instance_id:i,component_uid:a,component_name:o,is_same_session_reuse:p,location:m.widgetPanel,secondary_location:d.componentsTab})}},"@elementor/editor":function(e){e.exports=window.elementorV2.editor},"@elementor/editor-canvas":function(e){e.exports=window.elementorV2.editorCanvas},"@elementor/editor-controls":function(e){e.exports=window.elementorV2.editorControls},"@elementor/editor-current-user":function(e){e.exports=window.elementorV2.editorCurrentUser},"@elementor/editor-documents":function(e){e.exports=window.elementorV2.editorDocuments},"@elementor/editor-editing-panel":function(e){e.exports=window.elementorV2.editorEditingPanel},"@elementor/editor-elements":function(e){e.exports=window.elementorV2.editorElements},"@elementor/editor-elements-panel":function(e){e.exports=window.elementorV2.editorElementsPanel},"@elementor/editor-mcp":function(e){e.exports=window.elementorV2.editorMcp},"@elementor/editor-notifications":function(e){e.exports=window.elementorV2.editorNotifications},"@elementor/editor-panels":function(e){e.exports=window.elementorV2.editorPanels},"@elementor/editor-props":function(e){e.exports=window.elementorV2.editorProps},"@elementor/editor-styles-repository":function(e){e.exports=window.elementorV2.editorStylesRepository},"@elementor/editor-ui":function(e){e.exports=window.elementorV2.editorUi},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/http-client":function(e){e.exports=window.elementorV2.httpClient},"@elementor/icons":function(e){e.exports=window.elementorV2.icons},"@elementor/mixpanel":function(e){e.exports=window.elementorV2.mixpanel},"@elementor/schema":function(e){e.exports=window.elementorV2.schema},"@elementor/store":function(e){e.exports=window.elementorV2.store},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},"@elementor/utils":function(e){e.exports=window.elementorV2.utils},"@wordpress/i18n":function(e){e.exports=window.wp.i18n},react:function(e){e.exports=window.React},"react-dom":function(e){e.exports=window.ReactDOM}},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,{init:function(){return e.init}});var e=__webpack_require__("./packages/packages/core/editor-components/src/init.ts")}(),(window.elementorV2=window.elementorV2||{}).editorComponents=n}(),window.elementorV2.editorComponents?.init?.();
3 66 //# sourceMappingURL=editor-components.js.map