PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.0-dev4
Elementor Website Builder – more than just a page builder v3.35.0-dev4
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 4.1.0-dev2 All 455 releases
← All changes | assets/js/packages/editor-components/editor-components.js +60 -5731 4.2.0-beta1 → 3.35.0-dev4 View file →
@@ -1,5737 +1,66 @@
1 -/******/ (function() { // webpackBootstrap
2 -/******/ "use strict";
3 -/******/ var __webpack_modules__ = ({
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 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:M}=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:U,widgetType:L,elType:R,propKey:B}=e.originPropFields??e;if(!(0,a.getContainer)(U))throw new k.OverrideControlInnerElementNotFoundError({context:{componentId:S,elementId:U}});const V="widget"===R?L:R,G=(0,a.getElementType)(V);if(!G)return null;const F=(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:U,type:V},elementType:G},o.createElement(s.SettingsField,{bind:B,propDisplayName:e.label},o.createElement(r.PropProvider,{propType:F,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"!==M&&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;
4 17
5 -/***/ "./packages/packages/core/editor-components/src/api.ts":
6 -/*!*************************************************************!*\
7 - !*** ./packages/packages/core/editor-components/src/api.ts ***!
8 - \*************************************************************/
9 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10 -
11 -__webpack_require__.r(__webpack_exports__);
12 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13 -/* harmony export */ apiClient: function() { return /* binding */ apiClient; },
14 -/* harmony export */ getParams: function() { return /* binding */ getParams; }
15 -/* harmony export */ });
16 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
17 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
18 -/* harmony import */ var _elementor_http_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/http-client */ "@elementor/http-client");
19 -/* harmony import */ var _elementor_http_client__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__);
20 -
21 -
22 -const BASE_URL = 'elementor/v1/components';
23 -const getParams = id => ({
24 - action: 'get_document_config',
25 - unique_id: `document-config-${id}`,
26 - data: {
27 - id
28 - }
29 -});
30 -const apiClient = {
31 - get: () => (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().get(`${BASE_URL}`).then(res => res.data.data),
32 - create: payload => (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}`, payload).then(res => res.data.data),
33 - updateStatuses: (ids, status) => (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().put(`${BASE_URL}/status`, {
34 - ids,
35 - status
36 - }),
37 - getComponentConfig: id => _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.ajax.load(getParams(id)),
38 - invalidateComponentConfigCache: id => _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.ajax.invalidateCache(getParams(id)),
39 - getComponentLockStatus: async componentId => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().get(`${BASE_URL}/lock-status`, {
40 - params: {
41 - componentId
42 - }
43 - }).then(res => {
44 - const {
45 - is_current_user_allow_to_edit: isAllowedToSwitchDocument,
46 - locked_by: lockedBy
47 - } = res.data.data;
48 - return {
49 - isAllowedToSwitchDocument,
50 - lockedBy: lockedBy || ''
51 - };
52 - }),
53 - lockComponent: async componentId => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/lock`, {
54 - componentId
55 - }).then(res => res.data),
56 - unlockComponent: async componentId => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/unlock`, {
57 - componentId
58 - }).then(res => res.data),
59 - getOverridableProps: async componentIds => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().get(`${BASE_URL}/overridable-props`, {
60 - params: {
61 - 'componentIds[]': componentIds
62 - }
63 - }).then(res => res.data),
64 - updateArchivedComponents: async (componentIds, status) => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/archive`, {
65 - componentIds,
66 - status
67 - }).then(res => res.data.data),
68 - updateComponentTitle: (updatedComponentNames, status) => (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/update-titles`, {
69 - components: updatedComponentNames,
70 - status
71 - }).then(res => res.data.data),
72 - validate: async payload => await (0,_elementor_http_client__WEBPACK_IMPORTED_MODULE_1__.httpService)().post(`${BASE_URL}/create-validate`, payload).then(res => res.data)
73 -};
74 -
75 -/***/ }),
76 -
77 -/***/ "./packages/packages/core/editor-components/src/component-instance-transformer.ts":
78 -/*!****************************************************************************************!*\
79 - !*** ./packages/packages/core/editor-components/src/component-instance-transformer.ts ***!
80 - \****************************************************************************************/
81 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
82 -
83 -__webpack_require__.r(__webpack_exports__);
84 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
85 -/* harmony export */ componentInstanceTransformer: function() { return /* binding */ componentInstanceTransformer; }
86 -/* harmony export */ });
87 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
88 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
89 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
90 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_1__);
91 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
92 -/* harmony import */ var _utils_component_document_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/component-document-data */ "./packages/packages/core/editor-components/src/utils/component-document-data.ts");
93 -
94 -
95 -
96 -
97 -const componentInstanceTransformer = (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.createTransformer)(async ({
98 - component_id: id,
99 - overrides: overridesValue
100 -}) => {
101 - const unpublishedComponents = (0,_store_store__WEBPACK_IMPORTED_MODULE_2__.selectUnpublishedComponents)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__getState)());
102 - const unpublishedComponent = unpublishedComponents.find(({
103 - uid
104 - }) => uid === id);
105 - const overrides = overridesValue?.reduce((acc, override) => ({
106 - ...acc,
107 - ...override
108 - }), {});
109 - if (unpublishedComponent) {
110 - return {
111 - elements: structuredClone(unpublishedComponent.elements),
112 - overrides
113 - };
114 - }
115 - if (typeof id !== 'number') {
116 - throw new Error(`Component ID "${id}" not valid.`);
117 - }
118 - const data = await (0,_utils_component_document_data__WEBPACK_IMPORTED_MODULE_3__.getComponentDocumentData)(id);
119 - return {
120 - elements: data?.elements ?? [],
121 - overrides
122 - };
123 -});
124 -
125 -/***/ }),
126 -
127 -/***/ "./packages/packages/core/editor-components/src/component-overridable-transformer.ts":
128 -/*!*******************************************************************************************!*\
129 - !*** ./packages/packages/core/editor-components/src/component-overridable-transformer.ts ***!
130 - \*******************************************************************************************/
131 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
132 -
133 -__webpack_require__.r(__webpack_exports__);
134 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
135 -/* harmony export */ componentOverridableTransformer: function() { return /* binding */ componentOverridableTransformer; }
136 -/* harmony export */ });
137 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
138 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
139 -
140 -const componentOverridableTransformer = (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.createTransformer)((value, options) => {
141 - const {
142 - overrides
143 - } = options.renderContext ?? {};
144 - const overrideValue = overrides?.[value.override_key];
145 - if (overrideValue) {
146 - const isOverride = isOriginValueOverride(value.origin_value);
147 - if (isOverride) {
148 - return transformOverride(value, options, overrideValue);
149 - }
150 - return overrideValue;
151 - }
152 - return value.origin_value;
153 -});
154 -function transformOverride(value, options, overrideValue) {
155 - const transformer = _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.settingsTransformersRegistry.get('override');
156 - if (!transformer) {
157 - return null;
158 - }
159 - const transformedValue = transformer(value.origin_value.value, options);
160 - if (!transformedValue) {
161 - return null;
162 - }
163 - const [key] = Object.keys(transformedValue);
164 - return {
165 - [key]: overrideValue
166 - };
167 -}
168 -function isOriginValueOverride(originValue) {
169 - return originValue.$$type === 'override';
170 -}
171 -
172 -/***/ }),
173 -
174 -/***/ "./packages/packages/core/editor-components/src/component-override-transformer.ts":
175 -/*!****************************************************************************************!*\
176 - !*** ./packages/packages/core/editor-components/src/component-override-transformer.ts ***!
177 - \****************************************************************************************/
178 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
179 -
180 -__webpack_require__.r(__webpack_exports__);
181 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
182 -/* harmony export */ componentOverrideTransformer: function() { return /* binding */ componentOverrideTransformer; }
183 -/* harmony export */ });
184 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
185 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
186 -
187 -const componentOverrideTransformer = (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.createTransformer)(override => {
188 - const {
189 - override_key: key,
190 - override_value: overrideValue
191 - } = override;
192 - return {
193 - [key]: overrideValue
194 - };
195 -});
196 -
197 -/***/ }),
198 -
199 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx":
200 -/*!*****************************************************************************************************!*\
201 - !*** ./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx ***!
202 - \*****************************************************************************************************/
203 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
204 -
205 -__webpack_require__.r(__webpack_exports__);
206 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
207 -/* harmony export */ ComponentSearch: function() { return /* binding */ ComponentSearch; }
208 -/* harmony export */ });
209 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
210 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
211 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
212 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
213 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
214 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
215 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
216 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
217 -/* harmony import */ var _search_provider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./search-provider */ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");
218 -
219 -
220 -
221 -
222 -
223 -const ComponentSearch = () => {
224 - const {
225 - inputValue,
226 - handleChange
227 - } = (0,_search_provider__WEBPACK_IMPORTED_MODULE_4__.useSearch)();
228 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
229 - direction: "row",
230 - gap: 0.5,
231 - sx: {
232 - width: '100%',
233 - px: 2,
234 - py: 1.5
235 - }
236 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
237 - sx: {
238 - flexGrow: 1
239 - }
240 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.TextField, {
241 - role: 'search',
242 - fullWidth: true,
243 - size: 'tiny',
244 - value: inputValue,
245 - placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Search', 'elementor'),
246 - onChange: e => handleChange(e.target.value),
247 - InputProps: {
248 - startAdornment: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.InputAdornment, {
249 - position: "start"
250 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.SearchIcon, {
251 - fontSize: 'tiny'
252 - }))
253 - }
254 - })));
255 -};
256 -
257 -/***/ }),
258 -
259 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx":
260 -/*!****************************************************************************************************!*\
261 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx ***!
262 - \****************************************************************************************************/
263 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
264 -
265 -__webpack_require__.r(__webpack_exports__);
266 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
267 -/* harmony export */ ComponentItem: function() { return /* binding */ ComponentItem; },
268 -/* harmony export */ ComponentName: function() { return /* binding */ ComponentName; }
269 -/* harmony export */ });
270 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
271 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
272 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
273 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__);
274 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
275 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__);
276 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
277 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__);
278 -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
279 -
280 -
281 -
282 -
283 -
284 -const ComponentItem = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(({
285 - component,
286 - disabled = true,
287 - draggable,
288 - onDragStart,
289 - onDragEnd,
290 - onClick,
291 - isEditing = false,
292 - error = null,
293 - nameSlot,
294 - endSlot,
295 - ...props
296 -}, ref) => {
297 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.ListItemButton, _extends({
298 - disabled: disabled,
299 - draggable: draggable,
300 - onDragStart: onDragStart,
301 - onDragEnd: onDragEnd,
302 - shape: "rounded",
303 - ref: ref,
304 - sx: {
305 - border: 'solid 1px',
306 - borderColor: 'divider',
307 - py: 0.5,
308 - px: 1,
309 - display: 'flex',
310 - width: '100%',
311 - alignItems: 'center',
312 - gap: 1
313 - }
314 - }, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
315 - display: "flex",
316 - alignItems: "center",
317 - gap: 1,
318 - minWidth: 0,
319 - flexGrow: 1,
320 - onClick: onClick
321 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.ListItemIcon, {
322 - size: "tiny"
323 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__.ComponentsIcon, {
324 - fontSize: "tiny"
325 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Indicator, {
326 - isActive: isEditing,
327 - isError: !!error
328 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
329 - display: "flex",
330 - flex: 1,
331 - minWidth: 0,
332 - flexGrow: 1
333 - }, nameSlot ?? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ComponentName, {
334 - name: component.name
335 - })))), endSlot);
336 -});
337 -const Indicator = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
338 - shouldForwardProp: prop => prop !== 'isActive' && prop !== 'isError'
339 -})(({
340 - theme,
341 - isActive,
342 - isError
343 -}) => ({
344 - display: 'flex',
345 - width: '100%',
346 - flexGrow: 1,
347 - borderRadius: theme.spacing(0.5),
348 - border: getIndicatorBorder({
349 - isActive,
350 - isError,
351 - theme
352 - }),
353 - padding: `0 ${theme.spacing(1)}`,
354 - marginLeft: isActive ? theme.spacing(1) : 0,
355 - minWidth: 0
356 -}));
357 -const getIndicatorBorder = ({
358 - isActive,
359 - isError,
360 - theme
361 -}) => {
362 - if (isError) {
363 - return `2px solid ${theme.palette.error.main}`;
364 - }
365 - if (isActive) {
366 - return `2px solid ${theme.palette.secondary.main}`;
367 - }
368 - return 'none';
369 -};
370 -function ComponentName({
371 - name,
372 - editable
373 -}) {
374 - if (editable?.isEditing) {
375 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.EditableField, _extends({
376 - ref: editable.ref,
377 - as: _elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Typography,
378 - variant: "caption"
379 - }, editable.getProps()));
380 - }
381 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.EllipsisWithTooltip, {
382 - title: name,
383 - as: _elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Typography,
384 - variant: "caption",
385 - color: "text.primary"
386 - });
387 -}
388 -
389 -/***/ }),
390 -
391 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx":
392 -/*!****************************************************************************************************!*\
393 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx ***!
394 - \****************************************************************************************************/
395 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
396 -
397 -__webpack_require__.r(__webpack_exports__);
398 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
399 -/* harmony export */ ComponentsList: function() { return /* binding */ ComponentsList; },
400 -/* harmony export */ EmptySearchResult: function() { return /* binding */ EmptySearchResult; },
401 -/* harmony export */ useFilteredComponents: function() { return /* binding */ useFilteredComponents; }
402 -/* harmony export */ });
403 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
404 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
405 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
406 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
407 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
408 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
409 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
410 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
411 -/* harmony import */ var _hooks_use_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-components */ "./packages/packages/core/editor-components/src/hooks/use-components.ts");
412 -/* harmony import */ var _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-components-permissions */ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");
413 -/* harmony import */ var _utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/is-pro-components-supported */ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts");
414 -/* harmony import */ var _components_item__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components-item */ "./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx");
415 -/* harmony import */ var _loading_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./loading-components */ "./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx");
416 -/* harmony import */ var _search_provider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./search-provider */ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");
417 -
418 -
419 -
420 -
421 -
422 -
423 -
424 -
425 -
426 -
427 -const LEARN_MORE_URL = 'http://go.elementor.com/components-guide-article';
428 -const UPGRADE_URL = 'https://go.elementor.com/go-pro-components/';
429 -const UPDATE_PLUGINS_URL = '/wp-admin/plugins.php';
430 -
431 -// Override legacy panel CSS reset that sets h1-h6 to font-size:100% and font-weight:normal.
432 -// See: assets/dev/scss/editor/panel/_reset.scss (applied via :where() selector in panel.scss).
433 -const SUBTITLE_OVERRIDE_SX = {
434 - fontSize: '0.875rem !important',
435 - fontWeight: '500 !important'
436 -};
437 -function ComponentsList() {
438 - const {
439 - components,
440 - isLoading,
441 - searchValue
442 - } = useFilteredComponents();
443 - if (isLoading) {
444 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_loading_components__WEBPACK_IMPORTED_MODULE_8__.LoadingComponents, null);
445 - }
446 - const isEmpty = !components?.length;
447 - if (isEmpty) {
448 - if (searchValue.length) {
449 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(EmptySearchResult, null);
450 - }
451 - if ((0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__.isProOutdatedForComponents)()) {
452 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProOutdatedEmptyState, null);
453 - }
454 - return (0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__.isProComponentsSupported)() ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(EmptyState, null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProUpgradeEmptyState, null);
455 - }
456 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.List, {
457 - sx: {
458 - display: 'flex',
459 - flexDirection: 'column',
460 - gap: 1,
461 - px: 2
462 - }
463 - }, components.map(component => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_item__WEBPACK_IMPORTED_MODULE_7__.ComponentItem, {
464 - key: component.uid,
465 - component: component
466 - })));
467 -}
468 -const ProUpgradeEmptyState = () => {
469 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
470 - alignItems: "center",
471 - justifyContent: "start",
472 - height: "100%",
473 - sx: {
474 - px: 2,
475 - py: 4
476 - },
477 - gap: 2,
478 - overflow: "hidden"
479 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
480 - alignItems: "center",
481 - gap: 1
482 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentsIcon, {
483 - fontSize: "large",
484 - sx: {
485 - color: 'text.secondary'
486 - }
487 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
488 - align: "center",
489 - variant: "subtitle2",
490 - color: "text.secondary",
491 - sx: SUBTITLE_OVERRIDE_SX
492 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create Reusable Components', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
493 - align: "center",
494 - variant: "caption",
495 - color: "secondary",
496 - sx: {
497 - maxWidth: 200
498 - }
499 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create design elements that sync across your entire site.', 'elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {
500 - variant: "contained",
501 - color: "promotion",
502 - size: "small",
503 - startIcon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.CrownFilledIcon, null),
504 - href: UPGRADE_URL,
505 - target: "_blank",
506 - rel: "noopener noreferrer"
507 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Upgrade now', 'elementor')));
508 -};
509 -const ProOutdatedEmptyState = () => {
510 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
511 - alignItems: "center",
512 - justifyContent: "start",
513 - height: "100%",
514 - sx: {
515 - px: 2,
516 - py: 4,
517 - maxWidth: 268,
518 - m: 'auto'
519 - },
520 - gap: 2,
521 - overflow: "hidden"
522 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
523 - alignItems: "center",
524 - gap: 1
525 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentsIcon, {
526 - fontSize: "large",
527 - sx: {
528 - color: 'text.secondary'
529 - }
530 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
531 - align: "center",
532 - variant: "subtitle2",
533 - color: "text.secondary",
534 - sx: SUBTITLE_OVERRIDE_SX
535 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create Reusable Components', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
536 - align: "center",
537 - variant: "caption",
538 - color: "secondary"
539 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create design elements that sync across your entire site.', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
540 - align: "center",
541 - variant: "caption",
542 - color: "secondary",
543 - sx: {
544 - mt: 1
545 - }
546 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('To create components, update Elementor Pro to the latest version.', 'elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {
547 - variant: "text",
548 - color: "info",
549 - size: "small",
550 - href: UPDATE_PLUGINS_URL,
551 - target: "_blank",
552 - rel: "noopener noreferrer"
553 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Update Elementor Pro', 'elementor')));
554 -};
555 -const EmptyState = () => {
556 - const {
557 - canCreate
558 - } = (0,_hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_5__.useComponentsPermissions)();
559 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
560 - alignItems: "center",
561 - justifyContent: "start",
562 - height: "100%",
563 - sx: {
564 - px: 2,
565 - py: 4
566 - },
567 - gap: 2,
568 - overflow: "hidden"
569 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
570 - alignItems: "center",
571 - gap: 1
572 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentsIcon, {
573 - fontSize: "large",
574 - sx: {
575 - color: 'text.secondary'
576 - }
577 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
578 - align: "center",
579 - variant: "subtitle2",
580 - color: "text.secondary",
581 - sx: SUBTITLE_OVERRIDE_SX
582 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('No components yet', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
583 - align: "center",
584 - variant: "caption",
585 - color: "secondary",
586 - sx: {
587 - maxWidth: 200
588 - }
589 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Components are reusable blocks that sync across your site.', 'elementor'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("br", null), canCreate ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create once, use everywhere.', 'elementor') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('With your current role, you cannot create components. Contact an administrator to create one.', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Link, {
590 - href: LEARN_MORE_URL,
591 - target: "_blank",
592 - rel: "noopener noreferrer",
593 - variant: "caption",
594 - color: "info.main"
595 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Learn more about components', 'elementor'))), canCreate && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Divider, {
596 - sx: {
597 - width: '100%'
598 - }
599 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
600 - alignItems: "center",
601 - gap: 1,
602 - width: "100%"
603 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
604 - align: "center",
605 - variant: "subtitle2",
606 - color: "text.secondary",
607 - sx: SUBTITLE_OVERRIDE_SX
608 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Create your first one:', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
609 - align: "center",
610 - variant: "caption",
611 - color: "secondary",
612 - sx: {
613 - maxWidth: 228
614 - }
615 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Right-click any div-block or flexbox on your canvas or structure and select "Create component"', 'elementor')))));
616 -};
617 -const EmptySearchResult = () => {
618 - const {
619 - searchValue,
620 - clearSearch
621 - } = (0,_search_provider__WEBPACK_IMPORTED_MODULE_9__.useSearch)();
622 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
623 - color: 'text.secondary',
624 - pt: 5,
625 - alignItems: "center",
626 - gap: 1,
627 - overflow: 'hidden',
628 - justifySelf: 'center'
629 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentsIcon, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
630 - sx: {
631 - width: '100%'
632 - }
633 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
634 - align: "center",
635 - variant: "subtitle2",
636 - color: "inherit",
637 - sx: SUBTITLE_OVERRIDE_SX
638 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Sorry, nothing matched', 'elementor')), searchValue && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
639 - variant: "subtitle2",
640 - color: "inherit",
641 - sx: {
642 - ...SUBTITLE_OVERRIDE_SX,
643 - display: 'flex',
644 - width: '100%',
645 - justifyContent: 'center'
646 - }
647 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "\u201C"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", {
648 - style: {
649 - maxWidth: '80%',
650 - overflow: 'hidden',
651 - textOverflow: 'ellipsis'
652 - }
653 - }, searchValue), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "\u201D."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
654 - align: "center",
655 - variant: "caption",
656 - color: "inherit"
657 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Try something else.', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
658 - align: "center",
659 - variant: "caption",
660 - color: "inherit"
661 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Link, {
662 - color: "secondary",
663 - variant: "caption",
664 - component: "button",
665 - onClick: clearSearch
666 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Clear & try again', 'elementor'))));
667 -};
668 -const useFilteredComponents = () => {
669 - const {
670 - components,
671 - isLoading
672 - } = (0,_hooks_use_components__WEBPACK_IMPORTED_MODULE_4__.useComponents)();
673 - const {
674 - searchValue
675 - } = (0,_search_provider__WEBPACK_IMPORTED_MODULE_9__.useSearch)();
676 - return {
677 - components: components.filter(component => component.name.toLowerCase().includes(searchValue.toLowerCase())),
678 - isLoading,
679 - searchValue
680 - };
681 -};
682 -
683 -/***/ }),
684 -
685 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx":
686 -/*!****************************************************************************************************************!*\
687 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx ***!
688 - \****************************************************************************************************************/
689 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
690 -
691 -__webpack_require__.r(__webpack_exports__);
692 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
693 -/* harmony export */ ComponentsProNotification: function() { return /* binding */ ComponentsProNotification; },
694 -/* harmony export */ UPGRADE_URL: function() { return /* binding */ UPGRADE_URL; }
695 -/* harmony export */ });
696 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
697 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
698 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
699 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
700 -/* harmony import */ var _components_upgrade_alert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components-upgrade-alert */ "./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx");
701 -
702 -
703 -
704 -const UPGRADE_URL = 'https://go.elementor.com/go-pro-components-exist-footer/';
705 -function ComponentsProNotification() {
706 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_upgrade_alert__WEBPACK_IMPORTED_MODULE_2__.ComponentsUpgradeAlert, {
707 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Create new components', 'elementor'),
708 - description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Creating new components requires an active Pro subscription.', 'elementor'),
709 - upgradeUrl: UPGRADE_URL
710 - });
711 -}
712 -
713 -/***/ }),
714 -
715 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx":
716 -/*!*******************************************************************************************************************!*\
717 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx ***!
718 - \*******************************************************************************************************************/
719 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
720 -
721 -__webpack_require__.r(__webpack_exports__);
722 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
723 -/* harmony export */ ComponentsUpdateNotification: function() { return /* binding */ ComponentsUpdateNotification; }
724 -/* harmony export */ });
725 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
726 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
727 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
728 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
729 -/* harmony import */ var _components_update_alert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components-update-alert */ "./packages/packages/core/editor-components/src/components/components-update-alert.tsx");
730 -
731 -
732 -
733 -function ComponentsUpdateNotification() {
734 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_update_alert__WEBPACK_IMPORTED_MODULE_2__.ComponentsUpdateAlert, {
735 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Create new Components', 'elementor'),
736 - description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('To create new components, update Elementor Pro to the latest version.', 'elementor')
737 - });
738 -}
739 -
740 -/***/ }),
741 -
742 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/components.tsx":
743 -/*!***********************************************************************************************!*\
744 - !*** ./packages/packages/core/editor-components/src/components/components-tab/components.tsx ***!
745 - \***********************************************************************************************/
746 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
747 -
748 -__webpack_require__.r(__webpack_exports__);
749 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
750 -/* harmony export */ Components: function() { return /* binding */ Components; }
751 -/* harmony export */ });
752 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
753 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
754 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
755 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__);
756 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
757 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
758 -/* harmony import */ var _hooks_use_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-components */ "./packages/packages/core/editor-components/src/hooks/use-components.ts");
759 -/* harmony import */ var _utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/is-pro-components-supported */ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts");
760 -/* harmony import */ var _component_search__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./component-search */ "./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx");
761 -/* harmony import */ var _components_list__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components-list */ "./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx");
762 -/* harmony import */ var _components_pro_notification__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components-pro-notification */ "./packages/packages/core/editor-components/src/components/components-tab/components-pro-notification.tsx");
763 -/* harmony import */ var _components_update_notification__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components-update-notification */ "./packages/packages/core/editor-components/src/components/components-tab/components-update-notification.tsx");
764 -/* harmony import */ var _search_provider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./search-provider */ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");
765 -
766 -
767 -
768 -
769 -
770 -
771 -
772 -
773 -
774 -
775 -
776 -const FULL_HEIGHT_STYLE_ID = 'components-full-height-panel';
777 -const FULL_HEIGHT_CSS = `
778 -#elementor-panel-page-elements {
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;
779 31 display: flex;
780 - flex-direction: column;
781 - height: 100%;
782 -}
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)};
783 38
784 -#elementor-panel-elements {
785 - display: flex;
786 - flex-direction: column;
787 - flex: 1;
788 - min-height: 0;
789 -}
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 + }
790 52
791 -#elementor-panel-elements-wrapper {
792 - display: flex;
793 - flex-direction: column;
794 - flex: 1;
795 - min-height: 0;
796 -}
797 -`;
798 -const useFullHeightPanel = () => {
799 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(() => {
800 - let style = document.getElementById(FULL_HEIGHT_STYLE_ID);
801 - if (!style) {
802 - style = document.createElement('style');
803 - style.id = FULL_HEIGHT_STYLE_ID;
804 - style.textContent = FULL_HEIGHT_CSS;
805 - document.head.appendChild(style);
806 - }
807 - return () => {
808 - document.getElementById(FULL_HEIGHT_STYLE_ID)?.remove();
809 - };
810 - }, []);
811 -};
812 -const ComponentsContent = () => {
813 - const {
814 - components,
815 - isLoading
816 - } = (0,_hooks_use_components__WEBPACK_IMPORTED_MODULE_3__.useComponents)();
817 - const hasComponents = !isLoading && components.length > 0;
818 - const showProNotification = !(0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_4__.isProComponentsSupported)() && hasComponents;
819 - const isOutdated = (0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_4__.isProOutdatedForComponents)();
820 - useFullHeightPanel();
821 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
822 - justifyContent: "space-between",
823 - sx: {
824 - flex: 1,
825 - minHeight: 0
826 - }
827 - }, hasComponents && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_component_search__WEBPACK_IMPORTED_MODULE_5__.ComponentSearch, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_list__WEBPACK_IMPORTED_MODULE_6__.ComponentsList, null), showProNotification && (isOutdated ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_update_notification__WEBPACK_IMPORTED_MODULE_8__.ComponentsUpdateNotification, null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_pro_notification__WEBPACK_IMPORTED_MODULE_7__.ComponentsProNotification, null)));
828 -};
829 -const Components = () => {
830 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ThemeProvider, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_search_provider__WEBPACK_IMPORTED_MODULE_9__.SearchProvider, {
831 - localStorageKey: "elementor-components-search"
832 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ComponentsContent, null)));
833 -};
53 + &:hover,
54 + &.enlarged {
55 + &:before {
56 + width: 12px;
57 + height: 12px;
58 + border-radius: 2px;
59 + }
834 60
835 -/***/ }),
836 -
837 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx":
838 -/*!*******************************************************************************************************!*\
839 - !*** ./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx ***!
840 - \*******************************************************************************************************/
841 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
842 -
843 -__webpack_require__.r(__webpack_exports__);
844 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
845 -/* harmony export */ LoadingComponents: function() { return /* binding */ LoadingComponents; }
846 -/* harmony export */ });
847 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
848 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
849 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
850 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
851 -
852 -
853 -const ROWS = Array.from({
854 - length: 3
855 -}, (_, index) => index);
856 -const STAGGER_DELAY_MS = 80;
857 -const LoadingComponents = () => {
858 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
859 - "aria-label": "Loading components",
860 - gap: 1.5,
861 - sx: {
862 - pointerEvents: 'none',
863 - position: 'relative',
864 - maxHeight: '300px',
865 - overflow: 'hidden',
866 - px: 1,
867 - '&:after': {
868 - position: 'absolute',
869 - bottom: 0,
870 - content: '""',
871 - left: 0,
872 - width: '100%',
873 - height: '40%',
874 - pointerEvents: 'none',
875 - zIndex: 1
876 - }
877 - }
878 - }, ROWS.map(row => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
879 - key: row,
880 - display: "flex",
881 - alignItems: "center",
882 - gap: 1.5,
883 - sx: {
884 - py: 0.75,
885 - px: 1.5,
886 - opacity: 0,
887 - animation: `e-loading-fade-in 0.4s ease-out ${row * STAGGER_DELAY_MS}ms forwards`,
888 - '@keyframes e-loading-fade-in': {
889 - from: {
890 - opacity: 0,
891 - transform: 'translateY(4px)'
892 - },
893 - to: {
894 - opacity: 1,
895 - transform: 'translateY(0)'
896 - }
897 - }
898 - }
899 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Skeleton, {
900 - animation: "wave",
901 - variant: "rounded",
902 - width: 24,
903 - height: 24
904 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Skeleton, {
905 - animation: "wave",
906 - variant: "rounded",
907 - width: "60%",
908 - height: 14
909 - }))));
910 -};
911 -
912 -/***/ }),
913 -
914 -/***/ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx":
915 -/*!****************************************************************************************************!*\
916 - !*** ./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx ***!
917 - \****************************************************************************************************/
918 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
919 -
920 -__webpack_require__.r(__webpack_exports__);
921 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
922 -/* harmony export */ SearchProvider: function() { return /* binding */ SearchProvider; },
923 -/* harmony export */ useSearch: function() { return /* binding */ useSearch; }
924 -/* harmony export */ });
925 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
926 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
927 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
928 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_1__);
929 -
930 -
931 -
932 -const SearchContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(undefined);
933 -const SearchProvider = ({
934 - children,
935 - localStorageKey
936 -}) => {
937 - const {
938 - debouncedValue,
939 - handleChange,
940 - inputValue
941 - } = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_1__.useSearchState)({
942 - localStorageKey
943 - });
944 - const clearSearch = () => {
945 - handleChange('');
946 - };
947 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(SearchContext.Provider, {
948 - value: {
949 - handleChange,
950 - clearSearch,
951 - searchValue: debouncedValue,
952 - inputValue
953 - }
954 - }, children);
955 -};
956 -const useSearch = () => {
957 - const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(SearchContext);
958 - if (!context) {
959 - throw new Error('useSearch must be used within a SearchProvider');
960 - }
961 - return context;
962 -};
963 -
964 -/***/ }),
965 -
966 -/***/ "./packages/packages/core/editor-components/src/components/components-update-alert.tsx":
967 -/*!*********************************************************************************************!*\
968 - !*** ./packages/packages/core/editor-components/src/components/components-update-alert.tsx ***!
969 - \*********************************************************************************************/
970 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
971 -
972 -__webpack_require__.r(__webpack_exports__);
973 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
974 -/* harmony export */ ComponentsUpdateAlert: function() { return /* binding */ ComponentsUpdateAlert; }
975 -/* harmony export */ });
976 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
977 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
978 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
979 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
980 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
981 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
982 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
983 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
984 -
985 -
986 -
987 -
988 -const UPDATE_PLUGINS_URL = '/wp-admin/plugins.php';
989 -function ComponentsUpdateAlert({
990 - title,
991 - description
992 -}) {
993 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
994 - sx: {
995 - mt: 'auto',
996 - position: 'sticky',
997 - bottom: 0
998 - }
999 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, {
1000 - variant: "standard",
1001 - color: "info",
1002 - icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.InfoCircleFilledIcon, {
1003 - fontSize: "tiny"
1004 - }),
1005 - role: "status",
1006 - size: "small",
1007 - action: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.AlertAction, {
1008 - variant: "contained",
1009 - color: "info",
1010 - href: UPDATE_PLUGINS_URL,
1011 - target: "_blank",
1012 - rel: "noopener noreferrer"
1013 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Upgrade Now', 'elementor')),
1014 - sx: {
1015 - m: 2,
1016 - mt: 1
1017 - }
1018 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.AlertTitle, null, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1019 - variant: "caption"
1020 - }, description)));
1021 -}
1022 -
1023 -/***/ }),
1024 -
1025 -/***/ "./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx":
1026 -/*!**********************************************************************************************!*\
1027 - !*** ./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx ***!
1028 - \**********************************************************************************************/
1029 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1030 -
1031 -__webpack_require__.r(__webpack_exports__);
1032 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1033 -/* harmony export */ ComponentsUpgradeAlert: function() { return /* binding */ ComponentsUpgradeAlert; }
1034 -/* harmony export */ });
1035 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1036 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1037 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1038 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1039 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1040 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1041 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1042 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1043 -
1044 -
1045 -
1046 -
1047 -function ComponentsUpgradeAlert({
1048 - title,
1049 - description,
1050 - upgradeUrl
1051 -}) {
1052 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
1053 - sx: {
1054 - mt: 'auto',
1055 - position: 'sticky',
1056 - bottom: 0
1057 - }
1058 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, {
1059 - variant: "standard",
1060 - color: "promotion",
1061 - icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.CrownFilledIcon, {
1062 - fontSize: "tiny"
1063 - }),
1064 - role: "status",
1065 - size: "small",
1066 - action: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.AlertAction, {
1067 - variant: "contained",
1068 - color: "promotion",
1069 - href: upgradeUrl,
1070 - target: "_blank",
1071 - rel: "noopener noreferrer"
1072 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Upgrade now', 'elementor')),
1073 - sx: {
1074 - m: 2,
1075 - mt: 1
1076 - }
1077 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.AlertTitle, null, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1078 - variant: "caption"
1079 - }, description)));
1080 -}
1081 -
1082 -/***/ }),
1083 -
1084 -/***/ "./packages/packages/core/editor-components/src/components/control-label.tsx":
1085 -/*!***********************************************************************************!*\
1086 - !*** ./packages/packages/core/editor-components/src/components/control-label.tsx ***!
1087 - \***********************************************************************************/
1088 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1089 -
1090 -__webpack_require__.r(__webpack_exports__);
1091 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1092 -/* harmony export */ ControlLabel: function() { return /* binding */ ControlLabel; }
1093 -/* harmony export */ });
1094 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1095 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1096 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-controls */ "@elementor/editor-controls");
1097 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__);
1098 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1099 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1100 -
1101 -
1102 -
1103 -const ControlLabel = ({
1104 - children,
1105 - ...props
1106 -}) => {
1107 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
1108 - direction: "row",
1109 - alignItems: "center",
1110 - justifyItems: "start",
1111 - gap: 0.25
1112 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.ControlFormLabel, props, children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.ControlAdornments, null));
1113 -};
1114 -
1115 -/***/ }),
1116 -
1117 -/***/ "./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx":
1118 -/*!*********************************************************************************************************!*\
1119 - !*** ./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx ***!
1120 - \*********************************************************************************************************/
1121 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1122 -
1123 -__webpack_require__.r(__webpack_exports__);
1124 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1125 -/* harmony export */ DetachInstanceConfirmationDialog: function() { return /* binding */ DetachInstanceConfirmationDialog; },
1126 -/* harmony export */ openDetachConfirmDialog: function() { return /* binding */ openDetachConfirmDialog; }
1127 -/* harmony export */ });
1128 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1129 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1130 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
1131 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__);
1132 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1133 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__);
1134 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1135 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1136 -
1137 -
1138 -
1139 -
1140 -function DetachInstanceConfirmationDialog({
1141 - open,
1142 - onClose,
1143 - onConfirm
1144 -}) {
1145 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog, {
1146 - open: open,
1147 - onClose: onClose
1148 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog.Title, {
1149 - icon: _elementor_icons__WEBPACK_IMPORTED_MODULE_2__.AlertTriangleFilledIcon,
1150 - iconColor: "secondary"
1151 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Detach from Component?', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog.Content, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog.ContentText, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Detaching this instance will break its link to the Component. Changes to the Component will no longer apply. Continue?', 'elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmationDialog.Actions, {
1152 - onClose: onClose,
1153 - onConfirm: onConfirm,
1154 - confirmLabel: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Detach', 'elementor'),
1155 - color: "primary"
1156 - }));
1157 -}
1158 -
1159 -// Used imperatively from the context menu (Marionette view).
1160 -function openDetachConfirmDialog(onConfirm) {
1161 - const handleConfirm = () => {
1162 - (0,_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.closeDialog)();
1163 - onConfirm();
1164 - };
1165 - (0,_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.openDialog)({
1166 - component: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(DetachInstanceConfirmationDialog, {
1167 - open: true,
1168 - onClose: _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.closeDialog,
1169 - onConfirm: handleConfirm
1170 - })
1171 - });
1172 -}
1173 -
1174 -/***/ }),
1175 -
1176 -/***/ "./packages/packages/core/editor-components/src/components/errors.ts":
1177 -/*!***************************************************************************!*\
1178 - !*** ./packages/packages/core/editor-components/src/components/errors.ts ***!
1179 - \***************************************************************************/
1180 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1181 -
1182 -__webpack_require__.r(__webpack_exports__);
1183 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1184 -/* harmony export */ OverrideControlInnerElementNotFoundError: function() { return /* binding */ OverrideControlInnerElementNotFoundError; },
1185 -/* harmony export */ OverrideControlPropTypeNotFoundError: function() { return /* binding */ OverrideControlPropTypeNotFoundError; }
1186 -/* harmony export */ });
1187 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
1188 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
1189 -
1190 -const OverrideControlInnerElementNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
1191 - code: 'override_control_inner_element_not_found',
1192 - 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.`
1193 -});
1194 -const OverrideControlPropTypeNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
1195 - code: 'override_control_prop_type_not_found',
1196 - message: 'Prop type not found for override control.'
1197 -});
1198 -
1199 -/***/ }),
1200 -
1201 -/***/ "./packages/packages/core/editor-components/src/components/in-edit-mode.tsx":
1202 -/*!**********************************************************************************!*\
1203 - !*** ./packages/packages/core/editor-components/src/components/in-edit-mode.tsx ***!
1204 - \**********************************************************************************/
1205 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1206 -
1207 -__webpack_require__.r(__webpack_exports__);
1208 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1209 -/* harmony export */ openEditModeDialog: function() { return /* binding */ openEditModeDialog; }
1210 -/* harmony export */ });
1211 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1212 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1213 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
1214 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__);
1215 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1216 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__);
1217 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1218 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__);
1219 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1220 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
1221 -
1222 -
1223 -
1224 -
1225 -
1226 -const openEditModeDialog = lockedBy => {
1227 - (0,_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.openDialog)({
1228 - component: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(EditModeDialog, {
1229 - lockedBy: lockedBy
1230 - })
1231 - });
1232 -};
1233 -const EditModeDialog = ({
1234 - lockedBy
1235 -}) => {
1236 - /* translators: %s is the name of the user who is currently editing the document */
1237 - const content = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('%s is currently editing this document', 'elementor').replace('%s', lockedBy);
1238 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.DialogHeader, {
1239 - logo: false
1240 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
1241 - display: "flex",
1242 - alignItems: "center",
1243 - gap: 1
1244 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Icon, {
1245 - color: "secondary"
1246 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__.InfoCircleFilledIcon, {
1247 - fontSize: "medium"
1248 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Typography, {
1249 - variant: "subtitle1"
1250 - }, content))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.DialogContent, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Stack, {
1251 - spacing: 2,
1252 - direction: "column"
1253 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Typography, {
1254 - variant: "body2"
1255 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('You can wait for them to finish or reach out to coordinate your changes together.', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.DialogActions, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Button, {
1256 - color: "secondary",
1257 - variant: "contained",
1258 - onClick: _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_1__.closeDialog
1259 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Close', 'elementor'))))));
1260 -};
1261 -
1262 -/***/ }),
1263 -
1264 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx":
1265 -/*!**********************************************************************************************************!*\
1266 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx ***!
1267 - \**********************************************************************************************************/
1268 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1269 -
1270 -__webpack_require__.r(__webpack_exports__);
1271 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1272 -/* harmony export */ DetachAction: function() { return /* binding */ DetachAction; }
1273 -/* harmony export */ });
1274 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1275 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1276 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-notifications */ "@elementor/editor-notifications");
1277 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__);
1278 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1279 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_2__);
1280 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1281 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1282 -/* harmony import */ var _utils_detach_component_instance__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/detach-component-instance */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts");
1283 -/* harmony import */ var _detach_instance_confirmation_dialog__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../detach-instance-confirmation-dialog */ "./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx");
1284 -/* harmony import */ var _instance_panel_header__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./instance-panel-header */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx");
1285 -
1286 -
1287 -
1288 -
1289 -
1290 -
1291 -
1292 -
1293 -const DetachAction = ({
1294 - componentInstanceId,
1295 - componentId
1296 -}) => {
1297 - const [isDetachDialogOpen, setIsDetachDialogOpen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
1298 - const handleDetachConfirm = async () => {
1299 - setIsDetachDialogOpen(false);
1300 - try {
1301 - await (0,_utils_detach_component_instance__WEBPACK_IMPORTED_MODULE_4__.detachComponentInstance)({
1302 - instanceId: componentInstanceId,
1303 - componentId,
1304 - trackingInfo: getDetachTrackingInfo()
1305 - });
1306 - } catch {
1307 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)({
1308 - type: 'error',
1309 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Failed to detach component instance.', 'elementor'),
1310 - id: 'detach-component-instance-failed'
1311 - });
1312 - }
1313 - };
1314 - const handleDetachCancel = () => {
1315 - setIsDetachDialogOpen(false);
1316 - };
1317 - const handleDetachClick = () => {
1318 - setIsDetachDialogOpen(true);
1319 - };
1320 - const detachLabel = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Detach from Component', 'elementor');
1321 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_instance_panel_header__WEBPACK_IMPORTED_MODULE_6__.EditComponentAction, {
1322 - label: detachLabel,
1323 - icon: _elementor_icons__WEBPACK_IMPORTED_MODULE_2__.DetachIcon,
1324 - onClick: handleDetachClick
1325 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_detach_instance_confirmation_dialog__WEBPACK_IMPORTED_MODULE_5__.DetachInstanceConfirmationDialog, {
1326 - open: isDetachDialogOpen,
1327 - onClose: handleDetachCancel,
1328 - onConfirm: handleDetachConfirm
1329 - }));
1330 -};
1331 -function getDetachTrackingInfo() {
1332 - const extendedWindow = window;
1333 - const config = extendedWindow?.elementorCommon?.eventsManager?.config;
1334 - if (!config) {
1335 - return {
1336 - location: '',
1337 - trigger: ''
1338 - };
1339 - }
1340 - return {
1341 - location: config.locations.components.instanceEditingPanel,
1342 - trigger: config.triggers.click
1343 - };
1344 -}
1345 -
1346 -/***/ }),
1347 -
1348 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx":
1349 -/*!********************************************************************************************************!*\
1350 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx ***!
1351 - \********************************************************************************************************/
1352 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1353 -
1354 -__webpack_require__.r(__webpack_exports__);
1355 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1356 -/* harmony export */ EmptyState: function() { return /* binding */ EmptyState; }
1357 -/* harmony export */ });
1358 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1359 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1360 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1361 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1362 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1363 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1364 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1365 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1366 -/* harmony import */ var _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-components-permissions */ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");
1367 -
1368 -
1369 -
1370 -
1371 -
1372 -const EmptyState = ({
1373 - onEditComponent
1374 -}) => {
1375 - const {
1376 - canEdit
1377 - } = (0,_hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_4__.useComponentsPermissions)();
1378 - const message = canEdit ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit the component to add properties, manage them or update the design across all instances.', 'elementor') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('With your current role, you cannot edit this component. Contact an administrator to add properties.', 'elementor');
1379 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
1380 - alignItems: "center",
1381 - justifyContent: "start",
1382 - height: "100%",
1383 - color: "text.secondary",
1384 - sx: {
1385 - p: 2.5,
1386 - pt: 8,
1387 - pb: 5.5,
1388 - mt: 1
1389 - },
1390 - gap: 1.5
1391 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ComponentPropListIcon, {
1392 - fontSize: "large"
1393 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1394 - align: "center",
1395 - variant: "subtitle2"
1396 - }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('No properties yet', 'elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1397 - align: "center",
1398 - variant: "caption",
1399 - maxWidth: "170px"
1400 - }, message), canEdit && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {
1401 - variant: "outlined",
1402 - color: "secondary",
1403 - size: "small",
1404 - sx: {
1405 - mt: 1
1406 - },
1407 - disabled: !onEditComponent,
1408 - onClick: onEditComponent
1409 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.PencilIcon, {
1410 - fontSize: "small"
1411 - }), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit component', 'elementor')));
1412 -};
1413 -
1414 -/***/ }),
1415 -
1416 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx":
1417 -/*!*******************************************************************************************************************!*\
1418 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx ***!
1419 - \*******************************************************************************************************************/
1420 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1421 -
1422 -__webpack_require__.r(__webpack_exports__);
1423 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1424 -/* harmony export */ InstanceEditingPanel: function() { return /* binding */ InstanceEditingPanel; }
1425 -/* harmony export */ });
1426 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1427 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1428 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1429 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1430 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1431 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1432 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1433 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1434 -/* harmony import */ var _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-components-permissions */ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");
1435 -/* harmony import */ var _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../provider/component-instance-context */ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx");
1436 -/* harmony import */ var _utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/is-pro-components-supported */ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts");
1437 -/* harmony import */ var _components_update_alert__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components-update-alert */ "./packages/packages/core/editor-components/src/components/components-update-alert.tsx");
1438 -/* harmony import */ var _components_upgrade_alert__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components-upgrade-alert */ "./packages/packages/core/editor-components/src/components/components-upgrade-alert.tsx");
1439 -/* harmony import */ var _detach_action__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./detach-action */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx");
1440 -/* harmony import */ var _empty_state__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./empty-state */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx");
1441 -/* harmony import */ var _instance_panel_body__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./instance-panel-body */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx");
1442 -/* harmony import */ var _instance_panel_header__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./instance-panel-header */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx");
1443 -/* harmony import */ var _use_instance_panel_data__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./use-instance-panel-data */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts");
1444 -
1445 -
1446 -
1447 -
1448 -
1449 -
1450 -
1451 -
1452 -
1453 -
1454 -
1455 -
1456 -
1457 -
1458 -const EDIT_UPGRADE_URL = 'https://go.elementor.com/go-pro-components-Instance-edit-footer/';
1459 -function InstanceEditingPanel() {
1460 - const {
1461 - canEdit
1462 - } = (0,_hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_4__.useComponentsPermissions)();
1463 - const data = (0,_use_instance_panel_data__WEBPACK_IMPORTED_MODULE_13__.useInstancePanelData)();
1464 - if (!data) {
1465 - return null;
1466 - }
1467 - const {
1468 - componentId,
1469 - component,
1470 - overrides,
1471 - overridableProps,
1472 - groups,
1473 - isEmpty,
1474 - componentInstanceId
1475 - } = data;
1476 -
1477 - /* translators: %s: component name. */
1478 - const panelTitle = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit %s', 'elementor').replace('%s', component.name);
1479 - const actions = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
1480 - direction: "row",
1481 - gap: 0.5
1482 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_detach_action__WEBPACK_IMPORTED_MODULE_9__.DetachAction, {
1483 - componentInstanceId: componentInstanceId,
1484 - componentId: componentId
1485 - }), canEdit && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_instance_panel_header__WEBPACK_IMPORTED_MODULE_12__.EditComponentAction, {
1486 - disabled: true,
1487 - label: panelTitle,
1488 - icon: _elementor_icons__WEBPACK_IMPORTED_MODULE_1__.PencilIcon
1489 - }));
1490 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
1491 - "data-testid": "instance-editing-panel",
1492 - sx: {
1493 - display: 'flex',
1494 - flexDirection: 'column',
1495 - height: '100%'
1496 - }
1497 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__.ComponentInstanceProvider, {
1498 - componentId: componentId,
1499 - overrides: overrides,
1500 - overridableProps: overridableProps
1501 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_instance_panel_header__WEBPACK_IMPORTED_MODULE_12__.InstancePanelHeader, {
1502 - componentName: component.name,
1503 - actions: actions
1504 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_instance_panel_body__WEBPACK_IMPORTED_MODULE_11__.InstancePanelBody, {
1505 - groups: groups,
1506 - isEmpty: isEmpty,
1507 - emptyState: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_empty_state__WEBPACK_IMPORTED_MODULE_10__.EmptyState, null),
1508 - componentInstanceId: componentInstanceId
1509 - })), !(0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__.isProComponentsSupported)() && ((0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_6__.isProOutdatedForComponents)() ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_update_alert__WEBPACK_IMPORTED_MODULE_7__.ComponentsUpdateAlert, {
1510 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit Component', 'elementor'),
1511 - description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('To edit components, update Elementor Pro to the latest version.', 'elementor')
1512 - }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_upgrade_alert__WEBPACK_IMPORTED_MODULE_8__.ComponentsUpgradeAlert, {
1513 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Edit components', 'elementor'),
1514 - description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Editing components requires an active Pro subscription.', 'elementor'),
1515 - upgradeUrl: EDIT_UPGRADE_URL
1516 - })));
1517 -}
1518 -
1519 -/***/ }),
1520 -
1521 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx":
1522 -/*!****************************************************************************************************************!*\
1523 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx ***!
1524 - \****************************************************************************************************************/
1525 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1526 -
1527 -__webpack_require__.r(__webpack_exports__);
1528 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1529 -/* harmony export */ InstancePanelBody: function() { return /* binding */ InstancePanelBody; }
1530 -/* harmony export */ });
1531 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1532 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1533 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-controls */ "@elementor/editor-controls");
1534 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__);
1535 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
1536 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__);
1537 -/* harmony import */ var _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/editor-panels */ "@elementor/editor-panels");
1538 -/* harmony import */ var _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_panels__WEBPACK_IMPORTED_MODULE_3__);
1539 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1540 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__);
1541 -/* harmony import */ var _override_props_group__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./override-props-group */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx");
1542 -
1543 -
1544 -
1545 -
1546 -
1547 -
1548 -function InstancePanelBody({
1549 - groups,
1550 - isEmpty,
1551 - emptyState,
1552 - componentInstanceId
1553 -}) {
1554 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_panels__WEBPACK_IMPORTED_MODULE_3__.PanelBody, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.ControlAdornmentsProvider, {
1555 - items: (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.getFieldIndicators)('settings')
1556 - }, isEmpty ? emptyState : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.Stack, {
1557 - direction: "column",
1558 - alignItems: "stretch"
1559 - }, groups.map(group => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
1560 - key: group.id + componentInstanceId
1561 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_override_props_group__WEBPACK_IMPORTED_MODULE_5__.OverridePropsGroup, {
1562 - group: group
1563 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.Divider, null))))));
1564 -}
1565 -
1566 -/***/ }),
1567 -
1568 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx":
1569 -/*!******************************************************************************************************************!*\
1570 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx ***!
1571 - \******************************************************************************************************************/
1572 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1573 -
1574 -__webpack_require__.r(__webpack_exports__);
1575 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1576 -/* harmony export */ EditComponentAction: function() { return /* binding */ EditComponentAction; },
1577 -/* harmony export */ InstancePanelHeader: function() { return /* binding */ InstancePanelHeader; }
1578 -/* harmony export */ });
1579 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1580 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1581 -/* harmony import */ var _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-panels */ "@elementor/editor-panels");
1582 -/* harmony import */ var _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1__);
1583 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
1584 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__);
1585 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1586 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_3__);
1587 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1588 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__);
1589 -
1590 -
1591 -
1592 -
1593 -
1594 -function InstancePanelHeader({
1595 - componentName,
1596 - actions
1597 -}) {
1598 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1__.PanelHeader, {
1599 - sx: {
1600 - justifyContent: 'start',
1601 - px: 2
1602 - }
1603 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.Stack, {
1604 - direction: "row",
1605 - alignItems: "center",
1606 - flexGrow: 1,
1607 - gap: 1,
1608 - maxWidth: "100%"
1609 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_3__.ComponentsIcon, {
1610 - fontSize: "small",
1611 - sx: {
1612 - color: 'text.tertiary'
1613 - }
1614 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__.EllipsisWithTooltip, {
1615 - title: componentName,
1616 - as: _elementor_editor_panels__WEBPACK_IMPORTED_MODULE_1__.PanelHeaderTitle,
1617 - sx: {
1618 - flexGrow: 1
1619 - }
1620 - }), actions));
1621 -}
1622 -function EditComponentAction({
1623 - label,
1624 - onClick,
1625 - disabled = false,
1626 - icon: Icon
1627 -}) {
1628 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.Tooltip, {
1629 - title: label
1630 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_4__.IconButton, {
1631 - size: "tiny",
1632 - onClick: onClick,
1633 - "aria-label": label,
1634 - disabled: disabled
1635 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Icon, {
1636 - fontSize: "tiny"
1637 - })));
1638 -}
1639 -
1640 -/***/ }),
1641 -
1642 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx":
1643 -/*!******************************************************************************************************************!*\
1644 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx ***!
1645 - \******************************************************************************************************************/
1646 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1647 -
1648 -__webpack_require__.r(__webpack_exports__);
1649 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1650 -/* harmony export */ OverridePropControl: function() { return /* binding */ OverridePropControl; }
1651 -/* harmony export */ });
1652 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1653 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1654 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-controls */ "@elementor/editor-controls");
1655 -/* harmony import */ var _elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__);
1656 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
1657 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__);
1658 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1659 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__);
1660 -/* harmony import */ var _hooks_use_controls_by_widget_type__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-controls-by-widget-type */ "./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts");
1661 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
1662 -/* harmony import */ var _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../prop-types/component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
1663 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
1664 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
1665 -/* harmony import */ var _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../provider/component-instance-context */ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx");
1666 -/* harmony import */ var _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../provider/overridable-prop-context */ "./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx");
1667 -/* harmony import */ var _store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../store/actions/update-overridable-prop */ "./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts");
1668 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
1669 -/* harmony import */ var _utils_get_prop_type_for_component_override__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../utils/get-prop-type-for-component-override */ "./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts");
1670 -/* harmony import */ var _utils_overridable_props_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/overridable-props-utils */ "./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts");
1671 -/* harmony import */ var _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils/resolve-override-prop-value */ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts");
1672 -/* harmony import */ var _control_label__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../control-label */ "./packages/packages/core/editor-components/src/components/control-label.tsx");
1673 -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../errors */ "./packages/packages/core/editor-components/src/components/errors.ts");
1674 -/* harmony import */ var _utils_correct_exposed_empty_override__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./utils/correct-exposed-empty-override */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/correct-exposed-empty-override.ts");
1675 -/* harmony import */ var _utils_resolve_element_settings__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./utils/resolve-element-settings */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts");
1676 -/* harmony import */ var _utils_use_override_dependencies__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./utils/use-override-dependencies */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-override-dependencies.ts");
1677 -/* harmony import */ var _utils_use_resolved_inner_element__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./utils/use-resolved-inner-element */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-resolved-inner-element.ts");
1678 -
1679 -
1680 -
1681 -
1682 -
1683 -
1684 -
1685 -
1686 -
1687 -
1688 -
1689 -
1690 -
1691 -
1692 -
1693 -
1694 -
1695 -
1696 -
1697 -
1698 -
1699 -
1700 -function OverridePropControl({
1701 - overrideKey
1702 -}) {
1703 - const overridableProps = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__.useComponentOverridableProps)();
1704 - const overridableProp = overridableProps.props[overrideKey];
1705 - if (!overridableProp) {
1706 - return null;
1707 - }
1708 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.SettingsField, {
1709 - bind: "component_instance",
1710 - propDisplayName: overridableProp.label
1711 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(OverrideControl, {
1712 - overridableProp: overridableProp
1713 - }));
1714 -}
1715 -function OverrideControl({
1716 - overridableProp
1717 -}) {
1718 - const componentInstanceElement = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.useElement)();
1719 - const {
1720 - value: instanceValue,
1721 - setValue: setInstanceValue
1722 - } = (0,_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.useBoundProp)(_prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_7__.componentInstancePropTypeUtil);
1723 - const wrappingComponentId = (0,_store_store__WEBPACK_IMPORTED_MODULE_12__.useCurrentComponentId)();
1724 - const componentId = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__.useComponentId)();
1725 - const overridableProps = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__.useComponentOverridableProps)();
1726 - const overrides = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_9__.useComponentInstanceOverrides)();
1727 - const controls = (0,_hooks_use_controls_by_widget_type__WEBPACK_IMPORTED_MODULE_4__.useControlsByWidgetType)(overridableProp.originPropFields?.widgetType ?? overridableProp.widgetType);
1728 - const controlReplacements = (0,_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.getControlReplacements)();
1729 - const matchingOverride = (0,_utils_overridable_props_utils__WEBPACK_IMPORTED_MODULE_14__.getMatchingOverride)(overrides, overridableProp.overrideKey);
1730 - const {
1731 - propKey
1732 - } = overridableProp.originPropFields ?? overridableProp;
1733 - const propType = (0,_utils_get_prop_type_for_component_override__WEBPACK_IMPORTED_MODULE_13__.getPropTypeForComponentOverride)(overridableProp);
1734 - if (!propType) {
1735 - throw new _errors__WEBPACK_IMPORTED_MODULE_17__.OverrideControlPropTypeNotFoundError({
1736 - context: {
1737 - overridableProp
1738 - }
1739 - });
1740 - }
1741 - const {
1742 - elementId,
1743 - elementType,
1744 - resolvedElementSettings,
1745 - resolvedOriginValues
1746 - } = (0,_utils_use_resolved_inner_element__WEBPACK_IMPORTED_MODULE_21__.useResolvedInnerElement)(overridableProp);
1747 - const {
1748 - overrideValue,
1749 - isDisabled,
1750 - isHidden
1751 - } = (0,_utils_use_override_dependencies__WEBPACK_IMPORTED_MODULE_20__.useOverrideControlDependencies)({
1752 - existingOverride: matchingOverride,
1753 - resolvedElementSettings,
1754 - elementType,
1755 - elementId,
1756 - propKey
1757 - });
1758 - if (isHidden) {
1759 - return null;
1760 - }
1761 - const {
1762 - propValue,
1763 - baseValue: resolvedBaseValue
1764 - } = resolveOverrideValues(overrideValue, resolvedOriginValues, propKey);
1765 - const value = {
1766 - [overridableProp.overrideKey]: propValue
1767 - };
1768 - const baseValue = {
1769 - [overridableProp.overrideKey]: resolvedBaseValue
1770 - };
1771 - const {
1772 - control,
1773 - controlProps,
1774 - layout
1775 - } = getControlParams(controls, overridableProp.originPropFields ?? overridableProp, overridableProp.label);
1776 - const propTypeSchema = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.createTopLevelObjectType)({
1777 - schema: {
1778 - [overridableProp.overrideKey]: propType
1779 - }
1780 - });
1781 - const setValue = (newValue, options, meta) => {
1782 - let newPropValue = getTempNewValueForDynamicProp(propType, propValue, newValue[overridableProp.overrideKey]);
1783 - newPropValue = (0,_utils_correct_exposed_empty_override__WEBPACK_IMPORTED_MODULE_18__.correctExposedEmptyOverride)(newPropValue, matchingOverride);
1784 - const newOverrideValue = createOverrideValue({
1785 - matchingOverride,
1786 - overrideKey: overridableProp.overrideKey,
1787 - overrideValue: newPropValue,
1788 - componentId
1789 - });
1790 - let newOverrides = (overrides ?? []).filter(override => isValidOverride(overridableProps, override)).map(override => override === matchingOverride ? newOverrideValue : override);
1791 - if (!matchingOverride) {
1792 - newOverrides = [...newOverrides, newOverrideValue];
1793 - }
1794 - setInstanceValue({
1795 - ...instanceValue,
1796 - overrides: _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_6__.componentInstanceOverridesPropTypeUtil.create(newOverrides)
1797 - }, options, meta);
1798 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.extract(newOverrideValue);
1799 - if (overridableValue && wrappingComponentId) {
1800 - if (overridableProp.originPropFields) {
1801 - (0,_store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_11__.updateOverridableProp)(wrappingComponentId, overridableValue, overridableProp.originPropFields);
1802 - return;
1803 - }
1804 - const originPropFields = {
1805 - elType: overridableProp.elType,
1806 - widgetType: overridableProp.widgetType,
1807 - propKey: overridableProp.propKey,
1808 - elementId: overridableProp.elementId
1809 - };
1810 - (0,_store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_11__.updateOverridableProp)(wrappingComponentId, overridableValue, originPropFields);
1811 - }
1812 - };
1813 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_10__.OverridablePropProvider, {
1814 - value: _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.extract(matchingOverride) ?? undefined,
1815 - componentInstanceElement: componentInstanceElement
1816 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.ElementProvider, {
1817 - element: {
1818 - id: elementId,
1819 - type: elementType.key
1820 - },
1821 - elementType: elementType,
1822 - settings: resolvedElementSettings
1823 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.PropProvider, {
1824 - propType: propTypeSchema,
1825 - value: value,
1826 - setValue: setValue,
1827 - baseValue: baseValue,
1828 - isDisabled: isDisabled
1829 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.PropKeyProvider, {
1830 - bind: overridableProp.overrideKey
1831 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_controls__WEBPACK_IMPORTED_MODULE_1__.ControlReplacementsProvider, {
1832 - replacements: controlReplacements
1833 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
1834 - mb: 1.5
1835 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.ControlTypeContainer, {
1836 - layout: layout
1837 - }, layout !== 'custom' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_control_label__WEBPACK_IMPORTED_MODULE_16__.ControlLabel, null, overridableProp.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(OriginalControl, {
1838 - control: control,
1839 - controlProps: controlProps
1840 - }))))))));
1841 -}
1842 -function resolveOverrideValues(overrideValue, resolvedOriginValues, propKey) {
1843 - const unwrappedSettings = (0,_utils_resolve_element_settings__WEBPACK_IMPORTED_MODULE_19__.unwrapOverridableSettings)(resolvedOriginValues);
1844 - const inheritedValue = unwrappedSettings[propKey] ?? null;
1845 - const isInheritedDynamic = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.isDynamicPropValue)(inheritedValue);
1846 - const shouldUseInheritedAsValue = isInheritedDynamic && !overrideValue;
1847 - const propValue = shouldUseInheritedAsValue ? inheritedValue : overrideValue;
1848 - const baseValue = overrideValue || isInheritedDynamic ? null : inheritedValue;
1849 - return {
1850 - propValue,
1851 - baseValue
1852 - };
1853 -}
1854 -
1855 -// Temp solution: when removing an override on a dynamic value, fall back to propType.default
1856 -// instead of null, since we don't have placeholder support for dynamics yet.
1857 -function getTempNewValueForDynamicProp(propType, propValue, newPropValue) {
1858 - const isRemovingOverride = newPropValue === null;
1859 - if (isRemovingOverride && (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.isDynamicPropValue)(propValue)) {
1860 - return propType.default ?? null;
1861 - }
1862 - return newPropValue;
1863 -}
1864 -function createOverrideValue({
1865 - matchingOverride,
1866 - overrideKey,
1867 - overrideValue,
1868 - componentId
1869 -}) {
1870 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.extract(matchingOverride);
1871 - const newOverridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.extract(overrideValue);
1872 - const anyOverridable = newOverridableValue ?? overridableValue;
1873 - if (anyOverridable) {
1874 - const innerOverride = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_5__.componentInstanceOverridePropTypeUtil.create({
1875 - override_key: overrideKey,
1876 - override_value: (0,_utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_15__.resolveOverridePropValue)(overrideValue),
1877 - schema_source: {
1878 - type: 'component',
1879 - id: componentId
1880 - }
1881 - });
1882 - return _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.create({
1883 - override_key: anyOverridable.override_key,
1884 - origin_value: innerOverride
1885 - });
1886 - }
1887 - return _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_5__.componentInstanceOverridePropTypeUtil.create({
1888 - override_key: overrideKey,
1889 - override_value: overrideValue,
1890 - schema_source: {
1891 - type: 'component',
1892 - id: componentId
1893 - }
1894 - });
1895 -}
1896 -function getControlParams(controls, originPropFields, label) {
1897 - const control = controls[originPropFields.propKey];
1898 - const {
1899 - value
1900 - } = control;
1901 - const layout = getControlLayout(control);
1902 - const controlProps = populateChildControlProps(value.props);
1903 - if (layout === 'custom') {
1904 - controlProps.label = label ?? value.label;
1905 - }
1906 - return {
1907 - control,
1908 - controlProps,
1909 - layout
1910 - };
1911 -}
1912 -function OriginalControl({
1913 - control,
1914 - controlProps
1915 -}) {
1916 - const {
1917 - value
1918 - } = control;
1919 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.BaseControl, {
1920 - type: value.type,
1921 - props: controlProps
1922 - });
1923 -}
1924 -function getControlLayout(control) {
1925 - return control.value.meta?.layout || _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.controlsRegistry.getLayout(control.value.type);
1926 -}
1927 -function populateChildControlProps(props) {
1928 - if (props.childControlType) {
1929 - const childComponent = _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.controlsRegistry.get(props.childControlType);
1930 - const childPropType = _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_2__.controlsRegistry.getPropTypeUtil(props.childControlType);
1931 - props = {
1932 - ...props,
1933 - childControlConfig: {
1934 - component: childComponent,
1935 - props: props.childControlProps || {},
1936 - propTypeUtil: childPropType
1937 - }
1938 - };
1939 - }
1940 - return props;
1941 -}
1942 -function isValidOverride(overridableProps, override) {
1943 - const overridableKey = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_8__.componentOverridablePropTypeUtil.isValid(override) ? override.value.origin_value?.value.override_key : override.value.override_key;
1944 - return !!overridableProps.props[overridableKey];
1945 -}
1946 -
1947 -/***/ }),
1948 -
1949 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx":
1950 -/*!*****************************************************************************************************************!*\
1951 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/override-props-group.tsx ***!
1952 - \*****************************************************************************************************************/
1953 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1954 -
1955 -__webpack_require__.r(__webpack_exports__);
1956 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1957 -/* harmony export */ OverridePropsGroup: function() { return /* binding */ OverridePropsGroup; }
1958 -/* harmony export */ });
1959 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1960 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1961 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
1962 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__);
1963 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
1964 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__);
1965 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1966 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__);
1967 -/* harmony import */ var _override_prop_control__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./override-prop-control */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/override-prop-control.tsx");
1968 -
1969 -
1970 -
1971 -
1972 -
1973 -
1974 -function OverridePropsGroup({
1975 - group
1976 -}) {
1977 - const [isOpen, setIsOpen] = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.useStateByElement)(group.id, true);
1978 - const handleClick = () => {
1979 - setIsOpen(!isOpen);
1980 - };
1981 - const id = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)();
1982 - const labelId = `label-${id}`;
1983 - const contentId = `content-${id}`;
1984 - const title = group.label;
1985 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Box, {
1986 - "aria-label": `${title} section`
1987 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.ListItemButton, {
1988 - id: labelId,
1989 - "aria-controls": contentId,
1990 - "aria-label": `${title} section`,
1991 - onClick: handleClick,
1992 - p: 0,
1993 - sx: {
1994 - '&:hover': {
1995 - backgroundColor: 'transparent'
1996 - }
1997 - }
1998 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Stack, {
1999 - direction: "row",
2000 - alignItems: "center",
2001 - justifyItems: "start",
2002 - flexGrow: 1,
2003 - gap: 0.5
2004 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.ListItemText, {
2005 - secondary: title,
2006 - secondaryTypographyProps: {
2007 - color: 'text.primary',
2008 - variant: 'caption',
2009 - fontWeight: 'bold'
2010 - },
2011 - sx: {
2012 - flexGrow: 0,
2013 - flexShrink: 1,
2014 - marginInlineEnd: 1
2015 - }
2016 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_2__.CollapseIcon, {
2017 - open: isOpen,
2018 - color: "secondary",
2019 - fontSize: "tiny"
2020 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Collapse, {
2021 - id: contentId,
2022 - "aria-labelledby": labelId,
2023 - in: isOpen,
2024 - timeout: "auto"
2025 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.Stack, {
2026 - direction: "column",
2027 - gap: 1,
2028 - p: 2
2029 - }, group.props.map(overrideKey => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_override_prop_control__WEBPACK_IMPORTED_MODULE_4__.OverridePropControl, {
2030 - key: overrideKey,
2031 - overrideKey: overrideKey
2032 - })))));
2033 -}
2034 -
2035 -/***/ }),
2036 -
2037 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts":
2038 -/*!*******************************************************************************************************************!*\
2039 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts ***!
2040 - \*******************************************************************************************************************/
2041 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2042 -
2043 -__webpack_require__.r(__webpack_exports__);
2044 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2045 -/* harmony export */ useInstancePanelData: function() { return /* binding */ useInstancePanelData; }
2046 -/* harmony export */ });
2047 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
2048 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_0__);
2049 -/* harmony import */ var _hooks_use_sanitize_overridable_props__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../hooks/use-sanitize-overridable-props */ "./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts");
2050 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
2051 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2052 -
2053 -
2054 -
2055 -
2056 -function useInstancePanelData() {
2057 - const {
2058 - element,
2059 - settings
2060 - } = useComponentInstanceSettings();
2061 - const componentId = settings?.component_id?.value;
2062 - const overrides = settings?.overrides?.value;
2063 - const component = (0,_store_store__WEBPACK_IMPORTED_MODULE_3__.useComponent)(componentId ?? null);
2064 - const componentInstanceId = element?.id;
2065 - const overridableProps = (0,_hooks_use_sanitize_overridable_props__WEBPACK_IMPORTED_MODULE_1__.useSanitizeOverridableProps)(componentId ?? null, componentInstanceId);
2066 - if (!componentId || !overridableProps || !component || !componentInstanceId) {
2067 - return null;
2068 - }
2069 - const isNonEmptyGroup = group => group !== null && group.props.length > 0;
2070 - const groups = overridableProps.groups.order.map(groupId => overridableProps.groups.items[groupId] ?? null).filter(isNonEmptyGroup);
2071 - const isEmpty = groups.length === 0 || Object.keys(overridableProps.props).length === 0;
2072 - return {
2073 - componentId,
2074 - component,
2075 - overrides,
2076 - overridableProps,
2077 - groups,
2078 - isEmpty,
2079 - componentInstanceId
2080 - };
2081 -}
2082 -function useComponentInstanceSettings() {
2083 - const {
2084 - element,
2085 - settings
2086 - } = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_0__.useElement)();
2087 - return {
2088 - element,
2089 - settings: _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentInstancePropTypeUtil.extract(settings.component_instance)
2090 - };
2091 -}
2092 -
2093 -/***/ }),
2094 -
2095 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/correct-exposed-empty-override.ts":
2096 -/*!********************************************************************************************************************************!*\
2097 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/correct-exposed-empty-override.ts ***!
2098 - \********************************************************************************************************************************/
2099 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2100 -
2101 -__webpack_require__.r(__webpack_exports__);
2102 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2103 -/* harmony export */ correctExposedEmptyOverride: function() { return /* binding */ correctExposedEmptyOverride; }
2104 -/* harmony export */ });
2105 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
2106 -
2107 -// The control receives the resolved value, so when exposing a prop that was never overridden,
2108 -// origin_value will be the resolved value instead of null.
2109 -// So here, we correct this by resetting origin_value to null.
2110 -function correctExposedEmptyOverride(newPropValue, matchingOverride) {
2111 - const newOverridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.extract(newPropValue);
2112 - const isExposingEmptyOverride = newOverridableValue && matchingOverride === null;
2113 - if (!isExposingEmptyOverride) {
2114 - return newPropValue;
2115 - }
2116 - return _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.create({
2117 - override_key: newOverridableValue.override_key,
2118 - origin_value: null
2119 - });
2120 -}
2121 -
2122 -/***/ }),
2123 -
2124 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts":
2125 -/*!**************************************************************************************************************************!*\
2126 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts ***!
2127 - \**************************************************************************************************************************/
2128 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2129 -
2130 -__webpack_require__.r(__webpack_exports__);
2131 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2132 -/* harmony export */ applyOverridesToSettings: function() { return /* binding */ applyOverridesToSettings; },
2133 -/* harmony export */ unwrapOverridableSettings: function() { return /* binding */ unwrapOverridableSettings; }
2134 -/* harmony export */ });
2135 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
2136 -
2137 -function applyOverridesToSettings(elementSettings, overrides) {
2138 - const result = {};
2139 - for (const [propKey, propValue] of Object.entries(elementSettings)) {
2140 - const overridable = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.extract(propValue);
2141 - if (!overridable) {
2142 - result[propKey] = propValue;
2143 - continue;
2144 - }
2145 - const override = overrides[overridable.override_key];
2146 - if (!override) {
2147 - result[propKey] = propValue;
2148 - continue;
2149 - }
2150 - if (override.outermostKey && override.outermostKey !== overridable.override_key) {
2151 - const originValue = overridable.origin_value;
2152 - result[propKey] = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.create({
2153 - override_key: override.outermostKey,
2154 - origin_value: override.value ?? originValue
2155 - });
2156 - } else {
2157 - result[propKey] = override.value ?? propValue;
2158 - }
2159 - }
2160 - return result;
2161 -}
2162 -function unwrapOverridableSettings(elementSettings) {
2163 - const result = {};
2164 - for (const [propKey, propValue] of Object.entries(elementSettings)) {
2165 - const overridable = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentOverridablePropTypeUtil.extract(propValue);
2166 - if (!overridable) {
2167 - result[propKey] = propValue;
2168 - continue;
2169 - }
2170 - result[propKey] = overridable.origin_value;
2171 - }
2172 - return result;
2173 -}
2174 -
2175 -/***/ }),
2176 -
2177 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-override-dependencies.ts":
2178 -/*!***************************************************************************************************************************!*\
2179 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-override-dependencies.ts ***!
2180 - \***************************************************************************************************************************/
2181 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2182 -
2183 -__webpack_require__.r(__webpack_exports__);
2184 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2185 -/* harmony export */ useOverrideControlDependencies: function() { return /* binding */ useOverrideControlDependencies; }
2186 -/* harmony export */ });
2187 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2188 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2189 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
2190 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__);
2191 -/* harmony import */ var _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/resolve-override-prop-value */ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts");
2192 -
2193 -
2194 -
2195 -function useOverrideControlDependencies({
2196 - existingOverride,
2197 - resolvedElementSettings,
2198 - elementId,
2199 - elementType,
2200 - propKey
2201 -}) {
2202 - return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
2203 - const {
2204 - isDisabled,
2205 - isHidden
2206 - } = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.extractDependencyEffect)(propKey, elementType.propsSchema, resolvedElementSettings);
2207 - const existingOverrideValue = existingOverride ? (0,_utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_2__.resolveOverridePropValue)(existingOverride) : null;
2208 - const settingsForDepsNewValuesCalculation = {
2209 - ...resolvedElementSettings,
2210 - [propKey]: existingOverrideValue
2211 - };
2212 - const resolvedSettingsWithDefaults = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.getElementSettingsWithDefaults)(elementType.propsSchema, settingsForDepsNewValuesCalculation);
2213 - const dependents = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.extractOrderedDependencies)(elementType.dependenciesPerTargetMapping ?? {});
2214 - const settingsWithDepsNewValues = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.getUpdatedValues)({
2215 - [propKey]: existingOverrideValue
2216 - }, dependents, elementType.propsSchema, resolvedSettingsWithDefaults, elementId);
2217 - const overrideValue = settingsWithDepsNewValues[propKey];
2218 - return {
2219 - overrideValue,
2220 - isDisabled,
2221 - isHidden
2222 - };
2223 - }, [existingOverride, resolvedElementSettings, propKey, elementType.propsSchema, elementType.dependenciesPerTargetMapping, elementId]);
2224 -}
2225 -
2226 -/***/ }),
2227 -
2228 -/***/ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-resolved-inner-element.ts":
2229 -/*!****************************************************************************************************************************!*\
2230 - !*** ./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/use-resolved-inner-element.ts ***!
2231 - \****************************************************************************************************************************/
2232 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2233 -
2234 -__webpack_require__.r(__webpack_exports__);
2235 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2236 -/* harmony export */ useResolvedInnerElement: function() { return /* binding */ useResolvedInnerElement; }
2237 -/* harmony export */ });
2238 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2239 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2240 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
2241 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__);
2242 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
2243 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2__);
2244 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
2245 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
2246 -/* harmony import */ var _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../provider/component-instance-context */ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx");
2247 -/* harmony import */ var _utils_resolve_overrides_chain__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../utils/resolve-overrides-chain */ "./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts");
2248 -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../errors */ "./packages/packages/core/editor-components/src/components/errors.ts");
2249 -/* harmony import */ var _resolve_element_settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./resolve-element-settings */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/utils/resolve-element-settings.ts");
2250 -
2251 -
2252 -
2253 -
2254 -
2255 -
2256 -
2257 -
2258 -
2259 -function useResolvedInnerElement(overridableProp) {
2260 - const componentInstanceElement = (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_1__.useElement)();
2261 - const componentId = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__.useComponentId)();
2262 - const overrides = (0,_provider_component_instance_context__WEBPACK_IMPORTED_MODULE_5__.useComponentInstanceOverrides)();
2263 - const {
2264 - elementId: originElementId,
2265 - widgetType,
2266 - elType
2267 - } = overridableProp.originPropFields ?? overridableProp;
2268 - const type = elType === 'widget' ? widgetType : elType;
2269 - const elementType = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2__.getElementType)(type);
2270 - if (!elementType) {
2271 - throw new Error(`Element type not found for ${type}`);
2272 - }
2273 - const {
2274 - elementId,
2275 - overridesMapping
2276 - } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
2277 - const overridesChainResult = (0,_utils_resolve_overrides_chain__WEBPACK_IMPORTED_MODULE_6__.resolveOverridesChain)({
2278 - outerOverridableProp: overridableProp,
2279 - outerInstanceId: componentInstanceElement.element.id
2280 - });
2281 - if (overridesChainResult.isChainBroken) {
2282 - throw new _errors__WEBPACK_IMPORTED_MODULE_7__.OverrideControlInnerElementNotFoundError({
2283 - context: {
2284 - componentId,
2285 - elementId: originElementId
2286 - }
2287 - });
2288 - }
2289 - return {
2290 - elementId: overridesChainResult.innerElement.id,
2291 - overridesMapping: overridesChainResult.overridesMapping
2292 - };
2293 - }, [overridableProp, componentInstanceElement.element.id, componentId, originElementId]);
2294 -
2295 - // Not reactive to inner element store changes — intentional.
2296 - // Inner element settings can only change in component edit mode, which unmounts this component.
2297 - const settingsWithInnerOverrides = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
2298 - const settings = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_2__.getElementSettings)(elementId, Object.keys(elementType?.propsSchema ?? {}));
2299 - return (0,_resolve_element_settings__WEBPACK_IMPORTED_MODULE_8__.applyOverridesToSettings)(settings, overridesMapping);
2300 - }, [elementId, elementType?.propsSchema, overridesMapping]);
2301 - const resolvedElementSettings = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
2302 - const withAllOverrides = (0,_resolve_element_settings__WEBPACK_IMPORTED_MODULE_8__.applyOverridesToSettings)(settingsWithInnerOverrides, formatOverridesToApply(overrides));
2303 - return (0,_resolve_element_settings__WEBPACK_IMPORTED_MODULE_8__.unwrapOverridableSettings)(withAllOverrides);
2304 - }, [settingsWithInnerOverrides, overrides]);
2305 - return {
2306 - elementId,
2307 - elementType,
2308 - resolvedOriginValues: settingsWithInnerOverrides,
2309 - resolvedElementSettings
2310 - };
2311 -}
2312 -function formatOverridesToApply(overrides) {
2313 - if (!overrides) {
2314 - return {};
2315 - }
2316 - const result = {};
2317 - for (const item of overrides) {
2318 - const overridable = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_4__.componentOverridablePropTypeUtil.extract(item);
2319 - let override = item;
2320 - if (overridable) {
2321 - override = overridable.origin_value;
2322 - }
2323 - const extractedOverride = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentInstanceOverridePropTypeUtil.extract(override);
2324 - if (!extractedOverride) {
2325 - continue;
2326 - }
2327 - result[extractedOverride.override_key] = {
2328 - value: extractedOverride.override_value
2329 - };
2330 - }
2331 - return result;
2332 -}
2333 -
2334 -/***/ }),
2335 -
2336 -/***/ "./packages/packages/core/editor-components/src/components/load-template-components.tsx":
2337 -/*!**********************************************************************************************!*\
2338 - !*** ./packages/packages/core/editor-components/src/components/load-template-components.tsx ***!
2339 - \**********************************************************************************************/
2340 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2341 -
2342 -__webpack_require__.r(__webpack_exports__);
2343 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2344 -/* harmony export */ LoadTemplateComponents: function() { return /* binding */ LoadTemplateComponents; }
2345 -/* harmony export */ });
2346 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2347 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2348 -/* harmony import */ var _elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-templates */ "@elementor/editor-templates");
2349 -/* harmony import */ var _elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1__);
2350 -/* harmony import */ var _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store/actions/load-components-assets */ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");
2351 -
2352 -
2353 -
2354 -
2355 -const LoadTemplateComponents = () => {
2356 - if ((0,_elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1__.isHandlingTemplateStyles)()) {
2357 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(LoadTemplateComponentsInternal, null);
2358 - }
2359 - return null;
2360 -};
2361 -function LoadTemplateComponentsInternal() {
2362 - const templates = (0,_elementor_editor_templates__WEBPACK_IMPORTED_MODULE_1__.useLoadedTemplates)();
2363 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
2364 - (0,_store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_2__.loadComponentsAssets)(templates.flatMap(elements => elements ?? []));
2365 - }, [templates]);
2366 - return null;
2367 -}
2368 -
2369 -/***/ }),
2370 -
2371 -/***/ "./packages/packages/core/editor-components/src/consts.ts":
2372 -/*!****************************************************************!*\
2373 - !*** ./packages/packages/core/editor-components/src/consts.ts ***!
2374 - \****************************************************************/
2375 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2376 -
2377 -__webpack_require__.r(__webpack_exports__);
2378 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2379 -/* harmony export */ COMPONENT_WIDGET_TYPE: function() { return /* binding */ COMPONENT_WIDGET_TYPE; }
2380 -/* harmony export */ });
2381 -const COMPONENT_WIDGET_TYPE = 'e-component';
2382 -
2383 -/***/ }),
2384 -
2385 -/***/ "./packages/packages/core/editor-components/src/create-component-type.ts":
2386 -/*!*******************************************************************************!*\
2387 - !*** ./packages/packages/core/editor-components/src/create-component-type.ts ***!
2388 - \*******************************************************************************/
2389 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2390 -
2391 -__webpack_require__.r(__webpack_exports__);
2392 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2393 -/* harmony export */ COMPONENT_WIDGET_TYPE: function() { return /* binding */ COMPONENT_WIDGET_TYPE; },
2394 -/* harmony export */ createComponentType: function() { return /* binding */ createComponentType; }
2395 -/* harmony export */ });
2396 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
2397 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
2398 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
2399 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_1__);
2400 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-notifications */ "@elementor/editor-notifications");
2401 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__);
2402 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
2403 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_3__);
2404 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
2405 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_4__);
2406 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2407 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
2408 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./api */ "./packages/packages/core/editor-components/src/api.ts");
2409 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2410 -/* harmony import */ var _utils_detach_component_instance__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/detach-component-instance */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts");
2411 -/* harmony import */ var _utils_format_component_elements_id__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/format-component-elements-id */ "./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts");
2412 -/* harmony import */ var _utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/is-pro-components-supported */ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts");
2413 -/* harmony import */ var _utils_switch_to_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/switch-to-component */ "./packages/packages/core/editor-components/src/utils/switch-to-component.ts");
2414 -/* harmony import */ var _utils_tracking__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/tracking */ "./packages/packages/core/editor-components/src/utils/tracking.ts");
2415 -
2416 -
2417 -
2418 -
2419 -
2420 -
2421 -
2422 -
2423 -
2424 -
2425 -
2426 -
2427 -
2428 -const COMPONENT_WIDGET_TYPE = 'e-component';
2429 -const EDIT_COMPONENT_DB_CLICK_UPGRADE_URL = 'https://go.elementor.com/go-pro-components-Instance-edit-canvas-double-click/';
2430 -const EDIT_COMPONENT_CONTEXT_MENU_UPGRADE_URL = 'https://go.elementor.com/go-pro-components-Instance-edit-context-menu/';
2431 -const UPDATE_PLUGINS_URL = '/wp-admin/plugins.php';
2432 -const COMPONENT_EDIT_UPGRADE_NOTIFICATION_ID = 'component-edit-upgrade';
2433 -const COMPONENT_EDIT_UPDATE_NOTIFICATION_ID = 'component-edit-update';
2434 -const COMPONENT_EDIT_UPGRADE_AUTO_HIDE_DURATION = 2000;
2435 -function notifyComponentEditUpgrade() {
2436 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__.notify)({
2437 - type: 'promotion',
2438 - id: COMPONENT_EDIT_UPGRADE_NOTIFICATION_ID,
2439 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Editing components requires an active Pro subscription.', 'elementor'),
2440 - autoHideDuration: COMPONENT_EDIT_UPGRADE_AUTO_HIDE_DURATION,
2441 - additionalActionProps: [{
2442 - size: 'small',
2443 - variant: 'contained',
2444 - color: 'promotion',
2445 - href: EDIT_COMPONENT_DB_CLICK_UPGRADE_URL,
2446 - target: '_blank',
2447 - children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Upgrade Now', 'elementor')
2448 - }]
2449 - });
2450 -}
2451 -function notifyComponentEditUpdate() {
2452 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__.notify)({
2453 - type: 'info',
2454 - id: COMPONENT_EDIT_UPDATE_NOTIFICATION_ID,
2455 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('To edit components, update Elementor Pro to the latest version.', 'elementor'),
2456 - additionalActionProps: [{
2457 - size: 'small',
2458 - variant: 'contained',
2459 - color: 'info',
2460 - href: UPDATE_PLUGINS_URL,
2461 - target: '_blank',
2462 - children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Update Now', 'elementor')
2463 - }]
2464 - });
2465 -}
2466 -const updateGroups = (groups, config) => {
2467 - const disableMap = new Map(Object.entries(config.disable ?? {}));
2468 - const addMap = new Map(Object.entries(config.add ?? {}));
2469 - return groups.map(group => {
2470 - const disabledActions = disableMap.get(group.name) ?? [];
2471 - const addConfig = addMap.get(group.name);
2472 -
2473 - // Update disabled actions
2474 - const updatedActions = group.actions.map(action => disabledActions.includes(action.name) ? {
2475 - ...action,
2476 - isEnabled: () => false
2477 - } : action);
2478 -
2479 - // Insert additional actions if needed
2480 - if (addConfig) {
2481 - updatedActions.splice(addConfig.index, 0, ...addConfig.actions);
2482 - }
2483 - return {
2484 - ...group,
2485 - actions: updatedActions
2486 - };
2487 - });
2488 -};
2489 -function createComponentType(options) {
2490 - const legacyWindow = window;
2491 - const WidgetType = legacyWindow.elementor.modules.elements.types.Widget;
2492 - const view = createComponentView({
2493 - ...options
2494 - });
2495 - return class extends WidgetType {
2496 - getType() {
2497 - return options.type;
2498 - }
2499 - getView() {
2500 - return view;
2501 - }
2502 - getModel() {
2503 - return createComponentModel();
2504 - }
2505 - };
2506 -}
2507 -function createComponentView(options) {
2508 - const legacyWindow = window;
2509 - return class extends (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.createTemplatedElementView)(options) {
2510 - eventsManagerConfig = legacyWindow.elementorCommon.eventsManager.config;
2511 - #componentRenderContext;
2512 - isComponentCurrentlyEdited() {
2513 - const currentDocument = (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_1__.getCurrentDocument)();
2514 - return currentDocument?.id === this.getComponentId();
2515 - }
2516 - getRenderContext() {
2517 - const namespaceKey = this.getNamespaceKey();
2518 - const parentContext = this._parent?.getRenderContext?.();
2519 - const parentComponentContext = parentContext?.[namespaceKey];
2520 - if (!this.#componentRenderContext) {
2521 - return parentContext;
2522 - }
2523 - const ownOverrides = this.#componentRenderContext.overrides ?? {};
2524 - const parentOverrides = parentComponentContext?.overrides ?? {};
2525 - return {
2526 - ...parentContext,
2527 - [namespaceKey]: {
2528 - overrides: {
2529 - ...parentOverrides,
2530 - ...ownOverrides
2531 - }
2532 - }
2533 - };
2534 - }
2535 - getResolverRenderContext() {
2536 - const namespaceKey = this.getNamespaceKey();
2537 - const context = this.getRenderContext();
2538 - const ownContext = context?.[namespaceKey];
2539 - if (!ownContext) {
2540 - return this._parent?.getResolverRenderContext?.();
2541 - }
2542 - const parentResolverContext = this._parent?.getResolverRenderContext?.();
2543 - return {
2544 - ...parentResolverContext,
2545 - ...ownContext
2546 - };
2547 - }
2548 - afterSettingsResolve(settings) {
2549 - const componentInstance = settings.component_instance;
2550 - if (componentInstance) {
2551 - this.#componentRenderContext = {
2552 - overrides: componentInstance.overrides ?? {}
2553 - };
2554 - const instanceId = this.model.get('id');
2555 - const elements = componentInstance.elements ?? [];
2556 - const formattedElements = (0,_utils_format_component_elements_id__WEBPACK_IMPORTED_MODULE_9__.formatComponentElementsId)(elements, [instanceId]);
2557 - this.collection = legacyWindow.elementor.createBackboneElementsCollection(formattedElements);
2558 - this.collection.models.forEach(setInactiveRecursively);
2559 - settings.component_instance = '<template data-children-placeholder></template>';
2560 - }
2561 - return settings;
2562 - }
2563 - getDomElement() {
2564 - // Component does not have a DOM element, so we return the first child's DOM element.
2565 - return this.children.findByIndex(0)?.getDomElement() ?? this.$el;
2566 - }
2567 - attachBuffer(collectionView, buffer) {
2568 - const childrenPlaceholder = collectionView.$el.find('[data-children-placeholder]').get(0);
2569 - if (!childrenPlaceholder) {
2570 - super.attachBuffer(collectionView, buffer);
2571 - return;
2572 - }
2573 - childrenPlaceholder.replaceWith(buffer);
2574 - }
2575 - getComponentId() {
2576 - const componentInstance = this.options?.model?.get('settings')?.get('component_instance')?.value;
2577 - return componentInstance.component_id.value;
2578 - }
2579 - getContextMenuGroups() {
2580 - const filteredGroups = super.getContextMenuGroups().filter(group => group.name !== 'save');
2581 - const componentId = this.getComponentId();
2582 - if (!componentId) {
2583 - return filteredGroups;
2584 - }
2585 - const newGroups = updateGroups(filteredGroups, this._getContextMenuConfig());
2586 - return newGroups;
2587 - }
2588 - _getContextMenuConfig() {
2589 - const isAdministrator = isUserAdministrator();
2590 - const hasPro = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_4__.hasProInstalled)();
2591 - const isOutdated = (0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProOutdatedForComponents)();
2592 - const showPromoBadge = !hasPro && !isOutdated;
2593 - const badgeClass = 'elementor-context-menu-list__item__shortcut__promotion-badge';
2594 - const proBadge = `<a href="${EDIT_COMPONENT_CONTEXT_MENU_UPGRADE_URL}" target="_blank" onclick="event.stopPropagation()" class="${badgeClass}"><i class="eicon-upgrade-crown"></i></a>`;
2595 - const editComponentAction = {
2596 - name: 'edit component',
2597 - icon: 'eicon-edit',
2598 - title: () => (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Edit Component', 'elementor'),
2599 - ...(showPromoBadge && {
2600 - shortcut: proBadge,
2601 - hasShortcutAction: true
2602 - }),
2603 - isEnabled: () => (0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProComponentsSupported)() || isOutdated,
2604 - callback: (_, eventData) => this.editComponent(eventData)
2605 - };
2606 - const detachInstanceAction = {
2607 - name: 'detach instance',
2608 - icon: 'eicon-chain-broken',
2609 - title: () => (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Detach from Component', 'elementor'),
2610 - isEnabled: () => true,
2611 - callback: (_, eventData) => this.detachInstance(eventData)
2612 - };
2613 - const actions = isAdministrator ? [editComponentAction, detachInstanceAction] : [detachInstanceAction];
2614 - const addedGroup = {
2615 - general: {
2616 - index: 1,
2617 - actions
2618 - }
2619 - };
2620 - const disabledGroup = {
2621 - clipboard: ['pasteStyle', 'resetStyle']
2622 - };
2623 - return {
2624 - add: addedGroup,
2625 - disable: disabledGroup
2626 - };
2627 - }
2628 - async switchDocument() {
2629 - //todo: handle unpublished
2630 - const {
2631 - isAllowedToSwitchDocument,
2632 - lockedBy
2633 - } = await _api__WEBPACK_IMPORTED_MODULE_6__.apiClient.getComponentLockStatus(this.getComponentId());
2634 - if (!isAllowedToSwitchDocument) {
2635 - options.showLockedByModal?.(lockedBy || '');
2636 - } else {
2637 - (0,_utils_switch_to_component__WEBPACK_IMPORTED_MODULE_11__.switchToComponent)(this.getComponentId(), this.model.get('id'), this.el);
2638 - }
2639 - }
2640 - editComponent({
2641 - trigger,
2642 - location,
2643 - secondaryLocation
2644 - }) {
2645 - if ((0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProOutdatedForComponents)()) {
2646 - notifyComponentEditUpdate();
2647 - return;
2648 - }
2649 - if (!(0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProComponentsSupported)() || this.isComponentCurrentlyEdited()) {
2650 - return;
2651 - }
2652 - this.switchDocument();
2653 - const editorSettings = this.model.get('editor_settings');
2654 - (0,_utils_tracking__WEBPACK_IMPORTED_MODULE_12__.trackComponentEvent)({
2655 - action: 'edited',
2656 - source: 'user',
2657 - component_uid: editorSettings?.component_uid,
2658 - component_name: editorSettings?.title,
2659 - location,
2660 - secondary_location: secondaryLocation,
2661 - trigger
2662 - });
2663 - }
2664 - detachInstance({
2665 - trigger,
2666 - location,
2667 - secondaryLocation
2668 - }) {
2669 - const componentId = this.getComponentId();
2670 - const instanceId = this.model.get('id');
2671 - if (!componentId || !instanceId) {
2672 - return;
2673 - }
2674 - const handleConfirm = async () => {
2675 - try {
2676 - await (0,_utils_detach_component_instance__WEBPACK_IMPORTED_MODULE_8__.detachComponentInstance)({
2677 - instanceId,
2678 - componentId,
2679 - trackingInfo: {
2680 - location,
2681 - secondaryLocation,
2682 - trigger
2683 - }
2684 - });
2685 - } catch {
2686 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_2__.notify)({
2687 - type: 'error',
2688 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Failed to detach component instance.', 'elementor'),
2689 - id: 'detach-component-instance-failed'
2690 - });
2691 - }
2692 - };
2693 - options.showDetachConfirmDialog?.(handleConfirm);
2694 - }
2695 - handleDblClick(e) {
2696 - e.stopPropagation();
2697 - if (!isUserAdministrator()) {
2698 - return;
2699 - }
2700 - if ((0,_utils_is_pro_components_supported__WEBPACK_IMPORTED_MODULE_10__.isProOutdatedForComponents)()) {
2701 - notifyComponentEditUpdate();
2702 - return;
2703 - }
2704 - if (!(0,_elementor_utils__WEBPACK_IMPORTED_MODULE_4__.hasProInstalled)()) {
2705 - notifyComponentEditUpgrade();
2706 - return;
2707 - }
2708 - const {
2709 - triggers,
2710 - locations,
2711 - secondaryLocations
2712 - } = this.eventsManagerConfig;
2713 - this.editComponent({
2714 - trigger: triggers.doubleClick,
2715 - location: locations.canvas,
2716 - secondaryLocation: secondaryLocations.canvasElement
2717 - });
2718 - }
2719 - events() {
2720 - return {
2721 - ...super.events(),
2722 - dblclick: this.handleDblClick
2723 - };
2724 - }
2725 - attributes() {
2726 - return {
2727 - ...super.attributes(),
2728 - 'data-elementor-id': this.getComponentId()
2729 - };
2730 - }
2731 - };
2732 -}
2733 -function setInactiveRecursively(model) {
2734 - const editSettings = model.get('editSettings');
2735 - if (editSettings) {
2736 - editSettings.set('inactive', true);
2737 - }
2738 - const elements = model.get('elements');
2739 - if (elements) {
2740 - elements.forEach(childModel => {
2741 - setInactiveRecursively(childModel);
2742 - });
2743 - }
2744 -}
2745 -function isUserAdministrator() {
2746 - const legacyWindow = window;
2747 - return legacyWindow.elementor.config?.user?.is_administrator ?? false;
2748 -}
2749 -function createComponentModel() {
2750 - const legacyWindow = window;
2751 - const WidgetType = legacyWindow.elementor.modules.elements.types.Widget;
2752 - const widgetTypeInstance = new WidgetType();
2753 - const BaseWidgetModel = widgetTypeInstance.getModel();
2754 - return BaseWidgetModel.extend({
2755 - initialize(attributes, options) {
2756 - BaseWidgetModel.prototype.initialize.call(this, attributes, options);
2757 - const componentInstance = this.get('settings')?.get('component_instance');
2758 - if (componentInstance?.value) {
2759 - const componentId = componentInstance.value.component_id?.value;
2760 - if (componentId && typeof componentId === 'number') {
2761 - this.set('componentId', componentId);
2762 - }
2763 - }
2764 - this.set('isGlobal', true);
2765 - },
2766 - getTitle() {
2767 - const editorSettings = this.get('editor_settings');
2768 - const instanceTitle = editorSettings?.title;
2769 - if (instanceTitle) {
2770 - return instanceTitle;
2771 - }
2772 - const componentUid = editorSettings?.component_uid;
2773 - if (componentUid) {
2774 - const component = (0,_store_store__WEBPACK_IMPORTED_MODULE_7__.selectComponentByUid)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_3__.__getState)(), componentUid);
2775 - if (component?.name) {
2776 - return component.name;
2777 - }
2778 - }
2779 - return window.elementor.getElementData(this).title;
2780 - },
2781 - getComponentId() {
2782 - return this.get('componentId') || null;
2783 - },
2784 - getComponentName() {
2785 - return this.getTitle();
2786 - },
2787 - getComponentUid() {
2788 - const editorSettings = this.get('editor_settings');
2789 - return editorSettings?.component_uid || null;
2790 - }
2791 - });
2792 -}
2793 -
2794 -/***/ }),
2795 -
2796 -/***/ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts":
2797 -/*!******************************************************************************************!*\
2798 - !*** ./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts ***!
2799 - \******************************************************************************************/
2800 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2801 -
2802 -__webpack_require__.r(__webpack_exports__);
2803 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2804 -/* harmony export */ useComponentsPermissions: function() { return /* binding */ useComponentsPermissions; }
2805 -/* harmony export */ });
2806 -/* harmony import */ var _elementor_editor_current_user__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-current-user */ "@elementor/editor-current-user");
2807 -/* harmony import */ var _elementor_editor_current_user__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_current_user__WEBPACK_IMPORTED_MODULE_0__);
2808 -
2809 -const useComponentsPermissions = () => {
2810 - const {
2811 - isAdmin
2812 - } = (0,_elementor_editor_current_user__WEBPACK_IMPORTED_MODULE_0__.useCurrentUserCapabilities)();
2813 - return {
2814 - canCreate: isAdmin,
2815 - canEdit: isAdmin,
2816 - canDelete: isAdmin,
2817 - canRename: isAdmin
2818 - };
2819 -};
2820 -
2821 -/***/ }),
2822 -
2823 -/***/ "./packages/packages/core/editor-components/src/hooks/use-components.ts":
2824 -/*!******************************************************************************!*\
2825 - !*** ./packages/packages/core/editor-components/src/hooks/use-components.ts ***!
2826 - \******************************************************************************/
2827 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2828 -
2829 -__webpack_require__.r(__webpack_exports__);
2830 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2831 -/* harmony export */ useComponents: function() { return /* binding */ useComponents; }
2832 -/* harmony export */ });
2833 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
2834 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
2835 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2836 -
2837 -
2838 -const useComponents = () => {
2839 - const components = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(_store_store__WEBPACK_IMPORTED_MODULE_1__.selectComponents);
2840 - const isLoading = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(_store_store__WEBPACK_IMPORTED_MODULE_1__.selectLoadIsPending);
2841 - return {
2842 - components,
2843 - isLoading
2844 - };
2845 -};
2846 -
2847 -/***/ }),
2848 -
2849 -/***/ "./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts":
2850 -/*!*******************************************************************************************!*\
2851 - !*** ./packages/packages/core/editor-components/src/hooks/use-controls-by-widget-type.ts ***!
2852 - \*******************************************************************************************/
2853 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2854 -
2855 -__webpack_require__.r(__webpack_exports__);
2856 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2857 -/* harmony export */ useControlsByWidgetType: function() { return /* binding */ useControlsByWidgetType; }
2858 -/* harmony export */ });
2859 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
2860 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
2861 -
2862 -function useControlsByWidgetType(type) {
2863 - const elementType = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getElementType)(type);
2864 - if (!elementType) {
2865 - return {};
2866 - }
2867 - const controls = iterateControls(elementType.controls);
2868 - return getControlsByBind(controls);
2869 -}
2870 -function iterateControls(controls) {
2871 - return controls.map(control => {
2872 - if (control.type === 'control' && 'bind' in control.value) {
2873 - return control;
2874 - }
2875 - if (control.type === 'section') {
2876 - return iterateControls(control.value.items);
2877 - }
2878 - return null;
2879 - }).filter(Boolean).flat();
2880 -}
2881 -function getControlsByBind(controls) {
2882 - return controls.reduce((controlsByBind, control) => ({
2883 - ...controlsByBind,
2884 - [control.value.bind]: control
2885 - }), {});
2886 -}
2887 -
2888 -/***/ }),
2889 -
2890 -/***/ "./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts":
2891 -/*!**********************************************************************************************!*\
2892 - !*** ./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts ***!
2893 - \**********************************************************************************************/
2894 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2895 -
2896 -__webpack_require__.r(__webpack_exports__);
2897 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2898 -/* harmony export */ useSanitizeOverridableProps: function() { return /* binding */ useSanitizeOverridableProps; }
2899 -/* harmony export */ });
2900 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2901 -/* harmony import */ var _utils_filter_valid_overridable_props__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/filter-valid-overridable-props */ "./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts");
2902 -
2903 -
2904 -function useSanitizeOverridableProps(componentId, instanceElementId) {
2905 - const overridableProps = (0,_store_store__WEBPACK_IMPORTED_MODULE_0__.useOverridableProps)(componentId);
2906 - const isSanitized = (0,_store_store__WEBPACK_IMPORTED_MODULE_0__.useIsSanitizedComponent)(componentId, 'overridableProps');
2907 - if (!overridableProps || !componentId) {
2908 - return undefined;
2909 - }
2910 - if (isSanitized) {
2911 - return overridableProps;
2912 - }
2913 - return (0,_utils_filter_valid_overridable_props__WEBPACK_IMPORTED_MODULE_1__.filterValidOverridableProps)(overridableProps, instanceElementId);
2914 -}
2915 -
2916 -/***/ }),
2917 -
2918 -/***/ "./packages/packages/core/editor-components/src/init.ts":
2919 -/*!**************************************************************!*\
2920 - !*** ./packages/packages/core/editor-components/src/init.ts ***!
2921 - \**************************************************************/
2922 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2923 -
2924 -__webpack_require__.r(__webpack_exports__);
2925 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2926 -/* harmony export */ init: function() { return /* binding */ init; }
2927 -/* harmony export */ });
2928 -/* harmony import */ var _elementor_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor */ "@elementor/editor");
2929 -/* harmony import */ var _elementor_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor__WEBPACK_IMPORTED_MODULE_0__);
2930 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
2931 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__);
2932 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
2933 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_2__);
2934 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/editor-editing-panel */ "@elementor/editor-editing-panel");
2935 -/* harmony import */ var _elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_3__);
2936 -/* harmony import */ var _elementor_editor_elements_panel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @elementor/editor-elements-panel */ "@elementor/editor-elements-panel");
2937 -/* harmony import */ var _elementor_editor_elements_panel__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements_panel__WEBPACK_IMPORTED_MODULE_4__);
2938 -/* harmony import */ var _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @elementor/editor-embedded-documents-manager */ "@elementor/editor-embedded-documents-manager");
2939 -/* harmony import */ var _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_5__);
2940 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
2941 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_6__);
2942 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
2943 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_7__);
2944 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2945 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_8__);
2946 -/* harmony import */ var _component_instance_transformer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./component-instance-transformer */ "./packages/packages/core/editor-components/src/component-instance-transformer.ts");
2947 -/* harmony import */ var _component_overridable_transformer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./component-overridable-transformer */ "./packages/packages/core/editor-components/src/component-overridable-transformer.ts");
2948 -/* harmony import */ var _component_override_transformer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./component-override-transformer */ "./packages/packages/core/editor-components/src/component-override-transformer.ts");
2949 -/* harmony import */ var _components_components_tab_components__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/components-tab/components */ "./packages/packages/core/editor-components/src/components/components-tab/components.tsx");
2950 -/* harmony import */ var _components_detach_instance_confirmation_dialog__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/detach-instance-confirmation-dialog */ "./packages/packages/core/editor-components/src/components/detach-instance-confirmation-dialog.tsx");
2951 -/* harmony import */ var _components_in_edit_mode__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/in-edit-mode */ "./packages/packages/core/editor-components/src/components/in-edit-mode.tsx");
2952 -/* harmony import */ var _components_instance_editing_panel_instance_editing_panel__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/instance-editing-panel/instance-editing-panel */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-editing-panel.tsx");
2953 -/* harmony import */ var _components_load_template_components__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/load-template-components */ "./packages/packages/core/editor-components/src/components/load-template-components.tsx");
2954 -/* harmony import */ var _create_component_type__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./create-component-type */ "./packages/packages/core/editor-components/src/create-component-type.ts");
2955 -/* harmony import */ var _populate_store__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./populate-store */ "./packages/packages/core/editor-components/src/populate-store.ts");
2956 -/* harmony import */ var _prevent_circular_nesting__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./prevent-circular-nesting */ "./packages/packages/core/editor-components/src/prevent-circular-nesting.ts");
2957 -/* harmony import */ var _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./store/actions/load-components-assets */ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");
2958 -/* harmony import */ var _store_actions_remove_component_styles__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./store/actions/remove-component-styles */ "./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts");
2959 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
2960 -/* harmony import */ var _sync_before_save__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./sync/before-save */ "./packages/packages/core/editor-components/src/sync/before-save.ts");
2961 -/* harmony import */ var _sync_load_component_data_after_instance_added__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./sync/load-component-data-after-instance-added */ "./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts");
2962 -
2963 -
2964 -
2965 -
2966 -
2967 -
2968 -
2969 -
2970 -
2971 -
2972 -
2973 -
2974 -
2975 -
2976 -
2977 -
2978 -
2979 -
2980 -
2981 -
2982 -
2983 -
2984 -
2985 -
2986 -
2987 -function init() {
2988 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_7__.__registerSlice)(_store_store__WEBPACK_IMPORTED_MODULE_22__.slice);
2989 - (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__.registerElementType)(_create_component_type__WEBPACK_IMPORTED_MODULE_17__.COMPONENT_WIDGET_TYPE, options => (0,_create_component_type__WEBPACK_IMPORTED_MODULE_17__.createComponentType)({
2990 - ...options,
2991 - showLockedByModal: _components_in_edit_mode__WEBPACK_IMPORTED_MODULE_14__.openEditModeDialog,
2992 - showDetachConfirmDialog: _components_detach_instance_confirmation_dialog__WEBPACK_IMPORTED_MODULE_13__.openDetachConfirmDialog
2993 - }));
2994 - window.elementorCommon.__beforeSave = _sync_before_save__WEBPACK_IMPORTED_MODULE_23__.beforeSave;
2995 - (0,_elementor_editor_elements_panel__WEBPACK_IMPORTED_MODULE_4__.injectTab)({
2996 - id: 'components',
2997 - label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_8__.__)('Components', 'elementor'),
2998 - component: _components_components_tab_components__WEBPACK_IMPORTED_MODULE_12__.Components,
2999 - position: 1
3000 - });
3001 - (0,_elementor_editor__WEBPACK_IMPORTED_MODULE_0__.injectIntoLogic)({
3002 - id: 'components-populate-store',
3003 - component: _populate_store__WEBPACK_IMPORTED_MODULE_18__.PopulateStore
3004 - });
3005 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_6__.registerDataHook)('after', 'editor/documents/attach-preview', () => {
3006 - const {
3007 - id,
3008 - config
3009 - } = (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_2__.getV1CurrentDocument)() ?? {};
3010 - if (!id) {
3011 - return;
3012 - }
3013 - (0,_store_actions_remove_component_styles__WEBPACK_IMPORTED_MODULE_21__.removeComponentStyles)(id);
3014 - void (0,_store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_20__.loadComponentsAssets)(config?.elements ?? []);
3015 - });
3016 - _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_5__.embeddedDocumentsManager.onDocumentLoad((_documentId, data) => {
3017 - void (0,_store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_20__.loadComponentsAssets)(data.elements ?? []);
3018 - });
3019 - (0,_elementor_editor__WEBPACK_IMPORTED_MODULE_0__.injectIntoLogic)({
3020 - id: 'templates',
3021 - component: _components_load_template_components__WEBPACK_IMPORTED_MODULE_16__.LoadTemplateComponents
3022 - });
3023 - (0,_elementor_editor_editing_panel__WEBPACK_IMPORTED_MODULE_3__.registerEditingPanelReplacement)({
3024 - id: 'component-instance-edit-panel',
3025 - condition: (_, elementType) => elementType.key === 'e-component',
3026 - component: _components_instance_editing_panel_instance_editing_panel__WEBPACK_IMPORTED_MODULE_15__.InstanceEditingPanel
3027 - });
3028 - _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__.settingsTransformersRegistry.register('component-instance', _component_instance_transformer__WEBPACK_IMPORTED_MODULE_9__.componentInstanceTransformer);
3029 - _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__.settingsTransformersRegistry.register('overridable', _component_overridable_transformer__WEBPACK_IMPORTED_MODULE_10__.componentOverridableTransformer);
3030 - _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_1__.settingsTransformersRegistry.register('override', _component_override_transformer__WEBPACK_IMPORTED_MODULE_11__.componentOverrideTransformer);
3031 - (0,_prevent_circular_nesting__WEBPACK_IMPORTED_MODULE_19__.initCircularNestingPrevention)();
3032 - (0,_sync_load_component_data_after_instance_added__WEBPACK_IMPORTED_MODULE_24__.initLoadComponentDataAfterInstanceAdded)();
3033 -}
3034 -
3035 -/***/ }),
3036 -
3037 -/***/ "./packages/packages/core/editor-components/src/populate-store.ts":
3038 -/*!************************************************************************!*\
3039 - !*** ./packages/packages/core/editor-components/src/populate-store.ts ***!
3040 - \************************************************************************/
3041 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3042 -
3043 -__webpack_require__.r(__webpack_exports__);
3044 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3045 -/* harmony export */ PopulateStore: function() { return /* binding */ PopulateStore; }
3046 -/* harmony export */ });
3047 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3048 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3049 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3050 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_1__);
3051 -/* harmony import */ var _store_thunks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./store/thunks */ "./packages/packages/core/editor-components/src/store/thunks.ts");
3052 -
3053 -
3054 -
3055 -function PopulateStore() {
3056 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
3057 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__dispatch)((0,_store_thunks__WEBPACK_IMPORTED_MODULE_2__.loadComponents)());
3058 - }, []);
3059 - return null;
3060 -}
3061 -
3062 -/***/ }),
3063 -
3064 -/***/ "./packages/packages/core/editor-components/src/prevent-circular-nesting.ts":
3065 -/*!**********************************************************************************!*\
3066 - !*** ./packages/packages/core/editor-components/src/prevent-circular-nesting.ts ***!
3067 - \**********************************************************************************/
3068 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3069 -
3070 -__webpack_require__.r(__webpack_exports__);
3071 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3072 -/* harmony export */ extractComponentIdsFromElements: function() { return /* binding */ extractComponentIdsFromElements; },
3073 -/* harmony export */ initCircularNestingPrevention: function() { return /* binding */ initCircularNestingPrevention; },
3074 -/* harmony export */ wouldCreateCircularNesting: function() { return /* binding */ wouldCreateCircularNesting; }
3075 -/* harmony export */ });
3076 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
3077 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
3078 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-notifications */ "@elementor/editor-notifications");
3079 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__);
3080 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
3081 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__);
3082 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3083 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_3__);
3084 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3085 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
3086 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
3087 -
3088 -
3089 -
3090 -
3091 -
3092 -
3093 -const COMPONENT_TYPE = 'e-component';
3094 -const COMPONENT_CIRCULAR_NESTING_ALERT = {
3095 - type: 'default',
3096 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)("Can't add this component - components that contain each other can't be nested.", 'elementor'),
3097 - id: 'circular-component-nesting-blocked'
3098 -};
3099 -function initCircularNestingPrevention() {
3100 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.blockCommand)({
3101 - command: 'document/elements/create',
3102 - condition: blockCircularCreate
3103 - });
3104 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.blockCommand)({
3105 - command: 'document/elements/move',
3106 - condition: blockCircularMove
3107 - });
3108 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.blockCommand)({
3109 - command: 'document/elements/paste',
3110 - condition: blockCircularPaste
3111 - });
3112 -}
3113 -
3114 -// Note that this function only checks for direct circular nesting, not indirect nesting
3115 -function wouldCreateCircularNesting(componentIdToAdd) {
3116 - if (componentIdToAdd === undefined) {
3117 - return false;
3118 - }
3119 - const state = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_3__.__getState)();
3120 - const currentComponentId = (0,_store_store__WEBPACK_IMPORTED_MODULE_5__.selectCurrentComponentId)(state);
3121 - const path = (0,_store_store__WEBPACK_IMPORTED_MODULE_5__.selectPath)(state);
3122 - if (currentComponentId === null) {
3123 - return false;
3124 - }
3125 - if (componentIdToAdd === currentComponentId) {
3126 - return true;
3127 - }
3128 - return path.some(item => item.componentId === componentIdToAdd);
3129 -}
3130 -function extractComponentIdFromModel(model) {
3131 - if (!model) {
3132 - return null;
3133 - }
3134 - const isComponent = model.widgetType === COMPONENT_TYPE;
3135 - if (!isComponent) {
3136 - return null;
3137 - }
3138 - return model.settings?.component_instance?.value?.component_id?.value ?? null;
3139 -}
3140 -function extractComponentIdFromElement(element) {
3141 - if (element.widgetType !== COMPONENT_TYPE) {
3142 - return null;
3143 - }
3144 - return element.settings?.component_instance?.value?.component_id?.value ?? null;
3145 -}
3146 -function extractComponentIdsFromElements(elements) {
3147 - const ids = [];
3148 - for (const element of elements) {
3149 - const componentId = extractComponentIdFromElement(element);
3150 - if (componentId !== null) {
3151 - ids.push(componentId);
3152 - }
3153 - if (element.elements?.length) {
3154 - ids.push(...extractComponentIdsFromElements(element.elements));
3155 - }
3156 - }
3157 - return ids;
3158 -}
3159 -function extractComponentIdFromContainer(container) {
3160 - const widgetType = container.model?.get?.('widgetType');
3161 - if (widgetType !== COMPONENT_TYPE) {
3162 - return null;
3163 - }
3164 - const settings = container.model?.get?.('settings');
3165 - const componentInstance = settings?.get?.('component_instance');
3166 - return componentInstance?.value?.component_id?.value ?? null;
3167 -}
3168 -function blockCircularCreate(args) {
3169 - const componentId = extractComponentIdFromModel(args.model);
3170 - if (componentId === null) {
3171 - return false;
3172 - }
3173 - const isBlocked = wouldCreateCircularNesting(componentId);
3174 - if (isBlocked) {
3175 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)(COMPONENT_CIRCULAR_NESTING_ALERT);
3176 - }
3177 - return isBlocked;
3178 -}
3179 -function blockCircularMove(args) {
3180 - const {
3181 - containers = [args.container]
3182 - } = args;
3183 - const hasCircularComponent = containers.some(container => {
3184 - if (!container) {
3185 - return false;
3186 - }
3187 - const allElements = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getAllDescendants)(container);
3188 - return allElements.some(element => {
3189 - const componentId = extractComponentIdFromContainer(element);
3190 - if (componentId === null) {
3191 - return false;
3192 - }
3193 - return wouldCreateCircularNesting(componentId);
3194 - });
3195 - });
3196 - if (hasCircularComponent) {
3197 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)(COMPONENT_CIRCULAR_NESTING_ALERT);
3198 - }
3199 - return hasCircularComponent;
3200 -}
3201 -function blockCircularPaste(args) {
3202 - const {
3203 - storageType
3204 - } = args;
3205 - if (storageType !== 'localstorage') {
3206 - return false;
3207 - }
3208 - const data = window?.elementorCommon?.storage?.get();
3209 - if (!data?.clipboard?.elements) {
3210 - return false;
3211 - }
3212 - const allComponentIds = extractComponentIdsFromElements(data.clipboard.elements);
3213 - const hasCircularComponent = allComponentIds.some(wouldCreateCircularNesting);
3214 - if (hasCircularComponent) {
3215 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)(COMPONENT_CIRCULAR_NESTING_ALERT);
3216 - }
3217 - return hasCircularComponent;
3218 -}
3219 -
3220 -/***/ }),
3221 -
3222 -/***/ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts":
3223 -/*!**********************************************************************************************************!*\
3224 - !*** ./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts ***!
3225 - \**********************************************************************************************************/
3226 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3227 -
3228 -__webpack_require__.r(__webpack_exports__);
3229 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3230 -/* harmony export */ componentInstanceOverridePropTypeUtil: function() { return /* binding */ componentInstanceOverridePropTypeUtil; }
3231 -/* harmony export */ });
3232 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
3233 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
3234 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/schema */ "@elementor/schema");
3235 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__);
3236 -
3237 -
3238 -const componentInstanceOverridePropTypeUtil = (0,_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.createPropUtils)('override', _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3239 - override_key: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.string(),
3240 - override_value: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.unknown(),
3241 - schema_source: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3242 - type: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.literal('component'),
3243 - id: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.number()
3244 - })
3245 -}));
3246 -
3247 -/***/ }),
3248 -
3249 -/***/ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts":
3250 -/*!***********************************************************************************************************!*\
3251 - !*** ./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts ***!
3252 - \***********************************************************************************************************/
3253 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3254 -
3255 -__webpack_require__.r(__webpack_exports__);
3256 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3257 -/* harmony export */ componentInstanceOverridesPropTypeUtil: function() { return /* binding */ componentInstanceOverridesPropTypeUtil; }
3258 -/* harmony export */ });
3259 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
3260 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
3261 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/schema */ "@elementor/schema");
3262 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__);
3263 -/* harmony import */ var _component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
3264 -/* harmony import */ var _component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
3265 -
3266 -
3267 -
3268 -
3269 -const componentInstanceOverridesPropTypeUtil = (0,_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.createPropUtils)('overrides', _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.array(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.union([_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentInstanceOverridePropTypeUtil.schema, _component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentOverridablePropTypeUtil.schema])).optional().default([]));
3270 -
3271 -/***/ }),
3272 -
3273 -/***/ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts":
3274 -/*!*************************************************************************************************!*\
3275 - !*** ./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts ***!
3276 - \*************************************************************************************************/
3277 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3278 -
3279 -__webpack_require__.r(__webpack_exports__);
3280 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3281 -/* harmony export */ componentInstancePropTypeUtil: function() { return /* binding */ componentInstancePropTypeUtil; }
3282 -/* harmony export */ });
3283 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
3284 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
3285 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/schema */ "@elementor/schema");
3286 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__);
3287 -/* harmony import */ var _component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
3288 -
3289 -
3290 -
3291 -const componentInstancePropTypeUtil = (0,_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.createPropUtils)('component-instance', _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3292 - component_id: _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.numberPropTypeUtil.schema,
3293 - overrides: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.optional(_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentInstanceOverridesPropTypeUtil.schema)
3294 -}));
3295 -
3296 -/***/ }),
3297 -
3298 -/***/ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts":
3299 -/*!****************************************************************************************************!*\
3300 - !*** ./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts ***!
3301 - \****************************************************************************************************/
3302 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3303 -
3304 -__webpack_require__.r(__webpack_exports__);
3305 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3306 -/* harmony export */ componentOverridablePropTypeUtil: function() { return /* binding */ componentOverridablePropTypeUtil; }
3307 -/* harmony export */ });
3308 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
3309 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
3310 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/schema */ "@elementor/schema");
3311 -/* harmony import */ var _elementor_schema__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_schema__WEBPACK_IMPORTED_MODULE_1__);
3312 -
3313 -
3314 -const componentOverridablePropTypeUtil = (0,_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.createPropUtils)('overridable', _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3315 - override_key: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.string(),
3316 - origin_value: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.object({
3317 - $$type: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.string(),
3318 - value: _elementor_schema__WEBPACK_IMPORTED_MODULE_1__.z.unknown()
3319 - }).nullable()
3320 -}));
3321 -
3322 -/***/ }),
3323 -
3324 -/***/ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx":
3325 -/*!**********************************************************************************************!*\
3326 - !*** ./packages/packages/core/editor-components/src/provider/component-instance-context.tsx ***!
3327 - \**********************************************************************************************/
3328 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3329 -
3330 -__webpack_require__.r(__webpack_exports__);
3331 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3332 -/* harmony export */ ComponentInstanceProvider: function() { return /* binding */ ComponentInstanceProvider; },
3333 -/* harmony export */ useComponentId: function() { return /* binding */ useComponentId; },
3334 -/* harmony export */ useComponentInstanceOverrides: function() { return /* binding */ useComponentInstanceOverrides; },
3335 -/* harmony export */ useComponentOverridableProps: function() { return /* binding */ useComponentOverridableProps; }
3336 -/* harmony export */ });
3337 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3338 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3339 -
3340 -
3341 -const ComponentInstanceContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
3342 -function ComponentInstanceProvider({
3343 - children,
3344 - ...props
3345 -}) {
3346 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ComponentInstanceContext.Provider, {
3347 - value: props
3348 - }, children);
3349 -}
3350 -function useComponentInstanceContext() {
3351 - const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ComponentInstanceContext);
3352 - if (!context) {
3353 - throw new Error('useComponentInstanceContext must be used within a ComponentInstanceProvider');
3354 - }
3355 - return context;
3356 -}
3357 -const useComponentId = () => useComponentInstanceContext().componentId;
3358 -const useComponentInstanceOverrides = () => useComponentInstanceContext().overrides;
3359 -const useComponentOverridableProps = () => useComponentInstanceContext().overridableProps;
3360 -
3361 -/***/ }),
3362 -
3363 -/***/ "./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx":
3364 -/*!********************************************************************************************!*\
3365 - !*** ./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx ***!
3366 - \********************************************************************************************/
3367 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3368 -
3369 -__webpack_require__.r(__webpack_exports__);
3370 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3371 -/* harmony export */ OverridablePropProvider: function() { return /* binding */ OverridablePropProvider; },
3372 -/* harmony export */ useComponentInstanceElement: function() { return /* binding */ useComponentInstanceElement; },
3373 -/* harmony export */ useOverridablePropValue: function() { return /* binding */ useOverridablePropValue; }
3374 -/* harmony export */ });
3375 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3376 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3377 -
3378 -
3379 -const OverridablePropContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
3380 -function OverridablePropProvider({
3381 - children,
3382 - ...props
3383 -}) {
3384 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(OverridablePropContext.Provider, {
3385 - value: props
3386 - }, children);
3387 -}
3388 -const useOverridablePropValue = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(OverridablePropContext)?.value;
3389 -const useComponentInstanceElement = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(OverridablePropContext)?.componentInstanceElement;
3390 -
3391 -/***/ }),
3392 -
3393 -/***/ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts":
3394 -/*!**********************************************************************************************!*\
3395 - !*** ./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts ***!
3396 - \**********************************************************************************************/
3397 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3398 -
3399 -__webpack_require__.r(__webpack_exports__);
3400 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3401 -/* harmony export */ loadComponentsAssets: function() { return /* binding */ loadComponentsAssets; }
3402 -/* harmony export */ });
3403 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
3404 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__);
3405 -/* harmony import */ var _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-embedded-documents-manager */ "@elementor/editor-embedded-documents-manager");
3406 -/* harmony import */ var _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_1__);
3407 -/* harmony import */ var _utils_get_component_documents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/get-component-documents */ "./packages/packages/core/editor-components/src/utils/get-component-documents.ts");
3408 -/* harmony import */ var _load_components_overridable_props__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./load-components-overridable-props */ "./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts");
3409 -
3410 -
3411 -
3412 -
3413 -async function loadComponentsAssets(elements) {
3414 - const documents = await (0,_utils_get_component_documents__WEBPACK_IMPORTED_MODULE_2__.getComponentDocuments)({
3415 - elements,
3416 - isRecursive: false
3417 - });
3418 - updateDocumentState(documents);
3419 - documents.forEach((document, id) => {
3420 - _elementor_editor_embedded_documents_manager__WEBPACK_IMPORTED_MODULE_1__.embeddedDocumentsManager.setDocument(id, document);
3421 - });
3422 - await (0,_load_components_overridable_props__WEBPACK_IMPORTED_MODULE_3__.loadComponentsOverridableProps)([...documents.keys()]);
3423 -}
3424 -function updateDocumentState(documents) {
3425 - const isDrafted = [...documents.values()].some(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.isDocumentDirty);
3426 - if (isDrafted) {
3427 - (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.setDocumentModifiedStatus)(true);
3428 - }
3429 -}
3430 -
3431 -/***/ }),
3432 -
3433 -/***/ "./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts":
3434 -/*!*********************************************************************************************************!*\
3435 - !*** ./packages/packages/core/editor-components/src/store/actions/load-components-overridable-props.ts ***!
3436 - \*********************************************************************************************************/
3437 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3438 -
3439 -__webpack_require__.r(__webpack_exports__);
3440 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3441 -/* harmony export */ loadComponentsOverridableProps: function() { return /* binding */ loadComponentsOverridableProps; }
3442 -/* harmony export */ });
3443 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3444 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3445 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../api */ "./packages/packages/core/editor-components/src/api.ts");
3446 -/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store */ "./packages/packages/core/editor-components/src/store/store.ts");
3447 -
3448 -
3449 -
3450 -async function loadComponentsOverridableProps(componentIds) {
3451 - const unloadedIds = componentIds.filter(id => !(0,_store__WEBPACK_IMPORTED_MODULE_2__.selectIsOverridablePropsLoaded)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)(), id));
3452 - if (!unloadedIds.length) {
3453 - return;
3454 - }
3455 - const {
3456 - data
3457 - } = await _api__WEBPACK_IMPORTED_MODULE_1__.apiClient.getOverridableProps(unloadedIds);
3458 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_2__.slice.actions.loadOverridableProps(data));
3459 -}
3460 -
3461 -/***/ }),
3462 -
3463 -/***/ "./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts":
3464 -/*!***********************************************************************************************!*\
3465 - !*** ./packages/packages/core/editor-components/src/store/actions/remove-component-styles.ts ***!
3466 - \***********************************************************************************************/
3467 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3468 -
3469 -__webpack_require__.r(__webpack_exports__);
3470 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3471 -/* harmony export */ removeComponentStyles: function() { return /* binding */ removeComponentStyles; }
3472 -/* harmony export */ });
3473 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../api */ "./packages/packages/core/editor-components/src/api.ts");
3474 -
3475 -function removeComponentStyles(id) {
3476 - _api__WEBPACK_IMPORTED_MODULE_0__.apiClient.invalidateComponentConfigCache(id);
3477 -}
3478 -
3479 -/***/ }),
3480 -
3481 -/***/ "./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts":
3482 -/*!***********************************************************************************************!*\
3483 - !*** ./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts ***!
3484 - \***********************************************************************************************/
3485 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3486 -
3487 -__webpack_require__.r(__webpack_exports__);
3488 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3489 -/* harmony export */ updateOverridableProp: function() { return /* binding */ updateOverridableProp; }
3490 -/* harmony export */ });
3491 -/* harmony import */ var _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/resolve-override-prop-value */ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts");
3492 -/* harmony import */ var _dispatchers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dispatchers */ "./packages/packages/core/editor-components/src/store/dispatchers.ts");
3493 -/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../selectors */ "./packages/packages/core/editor-components/src/store/selectors.ts");
3494 -
3495 -
3496 -
3497 -function updateOverridableProp(componentId, propValue, originPropFields) {
3498 - const overridableProps = _selectors__WEBPACK_IMPORTED_MODULE_2__.componentsSelectors.getOverridableProps(componentId);
3499 - if (!overridableProps) {
3500 - return;
3501 - }
3502 - const existingOverridableProp = overridableProps.props[propValue.override_key];
3503 - if (!existingOverridableProp) {
3504 - return;
3505 - }
3506 - const originValue = (0,_utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_0__.resolveOverridePropValue)(propValue.origin_value);
3507 - const newOverridableProp = originPropFields ? {
3508 - originValue,
3509 - originPropFields
3510 - } : {
3511 - originValue
3512 - };
3513 - const newOverridableProps = {
3514 - ...overridableProps,
3515 - props: {
3516 - ...overridableProps.props,
3517 - [existingOverridableProp.overrideKey]: {
3518 - ...existingOverridableProp,
3519 - ...newOverridableProp
3520 - }
3521 - }
3522 - };
3523 - _dispatchers__WEBPACK_IMPORTED_MODULE_1__.componentsActions.setOverridableProps(componentId, newOverridableProps);
3524 -}
3525 -
3526 -/***/ }),
3527 -
3528 -/***/ "./packages/packages/core/editor-components/src/store/dispatchers.ts":
3529 -/*!***************************************************************************!*\
3530 - !*** ./packages/packages/core/editor-components/src/store/dispatchers.ts ***!
3531 - \***************************************************************************/
3532 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3533 -
3534 -__webpack_require__.r(__webpack_exports__);
3535 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3536 -/* harmony export */ componentsActions: function() { return /* binding */ componentsActions; }
3537 -/* harmony export */ });
3538 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3539 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3540 -/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store */ "./packages/packages/core/editor-components/src/store/store.ts");
3541 -
3542 -
3543 -function safeDispatch() {
3544 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getStore)()?.dispatch;
3545 -}
3546 -const componentsActions = {
3547 - add(components) {
3548 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.add(components));
3549 - },
3550 - load(components) {
3551 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.load(components));
3552 - },
3553 - addUnpublished(component) {
3554 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.addUnpublished(component));
3555 - },
3556 - removeUnpublished(uids) {
3557 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.removeUnpublished(uids));
3558 - },
3559 - resetUnpublished() {
3560 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.resetUnpublished());
3561 - },
3562 - addCreatedThisSession(uid) {
3563 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.addCreatedThisSession(uid));
3564 - },
3565 - removeCreatedThisSession(uid) {
3566 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.removeCreatedThisSession(uid));
3567 - },
3568 - archive(componentId) {
3569 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.archive(componentId));
3570 - },
3571 - setCurrentComponentId(id) {
3572 - safeDispatch()?.(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.setCurrentComponentId(id));
3573 - },
3574 - setPath(path) {
3575 - safeDispatch()?.(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.setPath(path));
3576 - },
3577 - setOverridableProps(componentId, overridableProps) {
3578 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.setOverridableProps({
3579 - componentId,
3580 - overridableProps
3581 - }));
3582 - },
3583 - rename(componentUid, name) {
3584 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.rename({
3585 - componentUid,
3586 - name
3587 - }));
3588 - },
3589 - cleanUpdatedComponentNames() {
3590 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.cleanUpdatedComponentNames());
3591 - },
3592 - updateComponentSanitizedAttribute(componentId, attribute) {
3593 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.updateComponentSanitizedAttribute({
3594 - componentId,
3595 - attribute
3596 - }));
3597 - },
3598 - resetSanitizedComponents() {
3599 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(_store__WEBPACK_IMPORTED_MODULE_1__.slice.actions.resetSanitizedComponents());
3600 - }
3601 -};
3602 -
3603 -/***/ }),
3604 -
3605 -/***/ "./packages/packages/core/editor-components/src/store/extensible-slice.ts":
3606 -/*!********************************************************************************!*\
3607 - !*** ./packages/packages/core/editor-components/src/store/extensible-slice.ts ***!
3608 - \********************************************************************************/
3609 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3610 -
3611 -__webpack_require__.r(__webpack_exports__);
3612 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3613 -/* harmony export */ __resetExtraReducers: function() { return /* binding */ __resetExtraReducers; },
3614 -/* harmony export */ createComponentsAction: function() { return /* binding */ createComponentsAction; },
3615 -/* harmony export */ registerComponentsReducer: function() { return /* binding */ registerComponentsReducer; },
3616 -/* harmony export */ slice: function() { return /* binding */ slice; }
3617 -/* harmony export */ });
3618 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3619 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3620 -/* harmony import */ var _store_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store-types */ "./packages/packages/core/editor-components/src/store/store-types.ts");
3621 -/* harmony import */ var _thunks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./thunks */ "./packages/packages/core/editor-components/src/store/thunks.ts");
3622 -
3623 -
3624 -
3625 -const extraReducersMap = new Map();
3626 -function registerComponentsReducer(name, reducer) {
3627 - extraReducersMap.set(`${_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME}/${name}`, reducer);
3628 -}
3629 -function createComponentsAction(name) {
3630 - const action = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createAction)(`${_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME}/${name}`);
3631 - return {
3632 - action,
3633 - register(reducer) {
3634 - registerComponentsReducer(name, reducer);
3635 - },
3636 - dispatch(payload) {
3637 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__dispatch)(action(payload));
3638 - }
3639 - };
3640 -}
3641 -function __resetExtraReducers() {
3642 - extraReducersMap.clear();
3643 -}
3644 -const baseSlice = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSlice)({
3645 - name: _store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME,
3646 - initialState: _store_types__WEBPACK_IMPORTED_MODULE_1__.initialState,
3647 - reducers: {
3648 - add: (state, {
3649 - payload
3650 - }) => {
3651 - if (Array.isArray(payload)) {
3652 - state.data = [...payload, ...state.data];
3653 - } else {
3654 - state.data.unshift(payload);
3655 - }
3656 - },
3657 - load: (state, {
3658 - payload
3659 - }) => {
3660 - state.data = payload;
3661 - },
3662 - addUnpublished: (state, {
3663 - payload
3664 - }) => {
3665 - state.unpublishedData.unshift(payload);
3666 - },
3667 - removeUnpublished: (state, {
3668 - payload
3669 - }) => {
3670 - const uidsToRemove = Array.isArray(payload) ? payload : [payload];
3671 - state.unpublishedData = state.unpublishedData.filter(component => !uidsToRemove.includes(component.uid));
3672 - },
3673 - resetUnpublished: state => {
3674 - state.unpublishedData = [];
3675 - },
3676 - addCreatedThisSession: (state, {
3677 - payload
3678 - }) => {
3679 - state.createdThisSession.push(payload);
3680 - },
3681 - removeCreatedThisSession: (state, {
3682 - payload
3683 - }) => {
3684 - state.createdThisSession = state.createdThisSession.filter(uid => uid !== payload);
3685 - },
3686 - archive: (state, {
3687 - payload
3688 - }) => {
3689 - const component = state.data.find(comp => comp.id === payload);
3690 - if (component) {
3691 - component.isArchived = true;
3692 - state.archivedThisSession.push(payload);
3693 - }
3694 - },
3695 - setCurrentComponentId: (state, {
3696 - payload
3697 - }) => {
3698 - state.currentComponentId = payload;
3699 - },
3700 - setPath: (state, {
3701 - payload
3702 - }) => {
3703 - state.path = payload;
3704 - },
3705 - setOverridableProps: (state, {
3706 - payload
3707 - }) => {
3708 - const component = state.data.find(comp => comp.id === payload.componentId);
3709 - if (!component) {
3710 - return;
3711 - }
3712 - component.overridableProps = payload.overridableProps;
3713 - },
3714 - loadOverridableProps: (state, {
3715 - payload
3716 - }) => {
3717 - const componentIds = Object.keys(payload);
3718 - componentIds.forEach(id => {
3719 - const componentId = Number(id);
3720 - const overridableProps = payload[componentId];
3721 - const component = state.data.find(comp => comp.id === componentId);
3722 - if (!component || !overridableProps) {
3723 - return;
3724 - }
3725 - component.overridableProps = overridableProps;
3726 - });
3727 - },
3728 - rename: (state, {
3729 - payload
3730 - }) => {
3731 - const component = state.data.find(comp => comp.uid === payload.componentUid);
3732 - if (!component) {
3733 - return;
3734 - }
3735 - if (component.id) {
3736 - state.updatedComponentNames[component.id] = payload.name;
3737 - }
3738 - component.name = payload.name;
3739 - },
3740 - cleanUpdatedComponentNames: state => {
3741 - state.updatedComponentNames = {};
3742 - },
3743 - updateComponentSanitizedAttribute: (state, {
3744 - payload: {
3745 - componentId,
3746 - attribute
3747 - }
3748 - }) => {
3749 - if (!state.sanitized[componentId]) {
3750 - state.sanitized[componentId] = {};
3751 - }
3752 - state.sanitized[componentId][attribute] = true;
3753 - },
3754 - resetSanitizedComponents: state => {
3755 - state.sanitized = {};
3756 - }
3757 - },
3758 - extraReducers: builder => {
3759 - builder.addCase(_thunks__WEBPACK_IMPORTED_MODULE_2__.loadComponents.fulfilled, (state, {
3760 - payload
3761 - }) => {
3762 - state.data = payload;
3763 - state.loadStatus = 'idle';
3764 - });
3765 - builder.addCase(_thunks__WEBPACK_IMPORTED_MODULE_2__.loadComponents.pending, state => {
3766 - state.loadStatus = 'pending';
3767 - });
3768 - builder.addCase(_thunks__WEBPACK_IMPORTED_MODULE_2__.loadComponents.rejected, state => {
3769 - state.loadStatus = 'error';
3770 - });
3771 - }
3772 -});
3773 -const slice = {
3774 - ...baseSlice,
3775 - reducer(state, action) {
3776 - const nextState = baseSlice.reducer(state, action);
3777 - const extraReducer = extraReducersMap.get(action.type);
3778 - if (!extraReducer || !nextState) {
3779 - return nextState;
3780 - }
3781 - const clonedState = structuredClone(nextState);
3782 - extraReducer(clonedState, action);
3783 - return clonedState;
3784 - }
3785 -};
3786 -
3787 -/***/ }),
3788 -
3789 -/***/ "./packages/packages/core/editor-components/src/store/selectors.ts":
3790 -/*!*************************************************************************!*\
3791 - !*** ./packages/packages/core/editor-components/src/store/selectors.ts ***!
3792 - \*************************************************************************/
3793 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3794 -
3795 -__webpack_require__.r(__webpack_exports__);
3796 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3797 -/* harmony export */ componentsSelectors: function() { return /* binding */ componentsSelectors; }
3798 -/* harmony export */ });
3799 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3800 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3801 -/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store */ "./packages/packages/core/editor-components/src/store/store.ts");
3802 -
3803 -
3804 -function safeGetState() {
3805 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getStore)()?.getState();
3806 -}
3807 -const componentsSelectors = {
3808 - getOverridableProps(componentId) {
3809 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectOverridableProps)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)(), componentId);
3810 - },
3811 - getCurrentComponent() {
3812 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectCurrentComponent)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3813 - },
3814 - getCurrentComponentId() {
3815 - const state = safeGetState();
3816 - if (!state) {
3817 - return null;
3818 - }
3819 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectCurrentComponentId)(state);
3820 - },
3821 - getUnpublishedComponents() {
3822 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectUnpublishedComponents)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3823 - },
3824 - getUpdatedComponentNames() {
3825 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectUpdatedComponentNames)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3826 - },
3827 - getArchivedThisSession() {
3828 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectArchivedThisSession)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3829 - },
3830 - getCreatedThisSession() {
3831 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectCreatedThisSession)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3832 - },
3833 - getComponents() {
3834 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectComponents)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)());
3835 - },
3836 - getComponentByUid(componentUid) {
3837 - return (0,_store__WEBPACK_IMPORTED_MODULE_1__.selectComponentByUid)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)(), componentUid);
3838 - }
3839 -};
3840 -
3841 -/***/ }),
3842 -
3843 -/***/ "./packages/packages/core/editor-components/src/store/store-types.ts":
3844 -/*!***************************************************************************!*\
3845 - !*** ./packages/packages/core/editor-components/src/store/store-types.ts ***!
3846 - \***************************************************************************/
3847 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3848 -
3849 -__webpack_require__.r(__webpack_exports__);
3850 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3851 -/* harmony export */ SLICE_NAME: function() { return /* binding */ SLICE_NAME; },
3852 -/* harmony export */ initialState: function() { return /* binding */ initialState; }
3853 -/* harmony export */ });
3854 -const initialState = {
3855 - data: [],
3856 - unpublishedData: [],
3857 - loadStatus: 'idle',
3858 - createdThisSession: [],
3859 - archivedThisSession: [],
3860 - path: [],
3861 - currentComponentId: null,
3862 - updatedComponentNames: {},
3863 - sanitized: {}
3864 -};
3865 -const SLICE_NAME = 'components';
3866 -
3867 -/***/ }),
3868 -
3869 -/***/ "./packages/packages/core/editor-components/src/store/store.ts":
3870 -/*!*********************************************************************!*\
3871 - !*** ./packages/packages/core/editor-components/src/store/store.ts ***!
3872 - \*********************************************************************/
3873 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3874 -
3875 -__webpack_require__.r(__webpack_exports__);
3876 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3877 -/* harmony export */ SLICE_NAME: function() { return /* reexport safe */ _store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME; },
3878 -/* harmony export */ __resetExtraReducers: function() { return /* reexport safe */ _extensible_slice__WEBPACK_IMPORTED_MODULE_2__.__resetExtraReducers; },
3879 -/* harmony export */ createComponentsAction: function() { return /* reexport safe */ _extensible_slice__WEBPACK_IMPORTED_MODULE_2__.createComponentsAction; },
3880 -/* harmony export */ initialState: function() { return /* reexport safe */ _store_types__WEBPACK_IMPORTED_MODULE_1__.initialState; },
3881 -/* harmony export */ registerComponentsReducer: function() { return /* reexport safe */ _extensible_slice__WEBPACK_IMPORTED_MODULE_2__.registerComponentsReducer; },
3882 -/* harmony export */ selectArchivedThisSession: function() { return /* binding */ selectArchivedThisSession; },
3883 -/* harmony export */ selectComponent: function() { return /* binding */ selectComponent; },
3884 -/* harmony export */ selectComponentByUid: function() { return /* binding */ selectComponentByUid; },
3885 -/* harmony export */ selectComponents: function() { return /* binding */ selectComponents; },
3886 -/* harmony export */ selectCreatedThisSession: function() { return /* binding */ selectCreatedThisSession; },
3887 -/* harmony export */ selectCurrentComponent: function() { return /* binding */ selectCurrentComponent; },
3888 -/* harmony export */ selectCurrentComponentId: function() { return /* binding */ selectCurrentComponentId; },
3889 -/* harmony export */ selectData: function() { return /* binding */ selectData; },
3890 -/* harmony export */ selectIsOverridablePropsLoaded: function() { return /* binding */ selectIsOverridablePropsLoaded; },
3891 -/* harmony export */ selectLoadIsError: function() { return /* binding */ selectLoadIsError; },
3892 -/* harmony export */ selectLoadIsPending: function() { return /* binding */ selectLoadIsPending; },
3893 -/* harmony export */ selectOverridableProps: function() { return /* binding */ selectOverridableProps; },
3894 -/* harmony export */ selectPath: function() { return /* binding */ selectPath; },
3895 -/* harmony export */ selectUnpublishedComponents: function() { return /* binding */ selectUnpublishedComponents; },
3896 -/* harmony export */ selectUpdatedComponentNames: function() { return /* binding */ selectUpdatedComponentNames; },
3897 -/* harmony export */ slice: function() { return /* reexport safe */ _extensible_slice__WEBPACK_IMPORTED_MODULE_2__.slice; },
3898 -/* harmony export */ useComponent: function() { return /* binding */ useComponent; },
3899 -/* harmony export */ useCurrentComponent: function() { return /* binding */ useCurrentComponent; },
3900 -/* harmony export */ useCurrentComponentId: function() { return /* binding */ useCurrentComponentId; },
3901 -/* harmony export */ useIsSanitizedComponent: function() { return /* binding */ useIsSanitizedComponent; },
3902 -/* harmony export */ useOverridableProps: function() { return /* binding */ useOverridableProps; }
3903 -/* harmony export */ });
3904 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3905 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3906 -/* harmony import */ var _store_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./store-types */ "./packages/packages/core/editor-components/src/store/store-types.ts");
3907 -/* harmony import */ var _extensible_slice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extensible-slice */ "./packages/packages/core/editor-components/src/store/extensible-slice.ts");
3908 -
3909 -
3910 -
3911 -
3912 -const selectData = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].data;
3913 -const selectArchivedThisSession = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].archivedThisSession;
3914 -const selectLoadStatus = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].loadStatus;
3915 -const selectUnpublishedData = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].unpublishedData;
3916 -const getCreatedThisSession = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].createdThisSession;
3917 -const getPath = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].path;
3918 -const getCurrentComponentId = state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].currentComponentId;
3919 -const selectComponent = (state, componentId) => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].data.find(component => component.id === componentId);
3920 -const useComponent = componentId => {
3921 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(state => componentId ? selectComponent(state, componentId) : null);
3922 -};
3923 -const selectComponentByUid = (state, componentUid) => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].data.find(component => component.uid === componentUid) ?? state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].unpublishedData.find(component => component.uid === componentUid);
3924 -const selectComponents = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectData, selectUnpublishedData, (data, unpublishedData) => [...unpublishedData.map(item => ({
3925 - uid: item.uid,
3926 - name: item.name,
3927 - overridableProps: item.overridableProps
3928 -})), ...data.filter(component => !component.isArchived)]);
3929 -const selectUnpublishedComponents = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectUnpublishedData, unpublishedData => unpublishedData);
3930 -const selectLoadIsPending = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectLoadStatus, status => status === 'pending');
3931 -const selectLoadIsError = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectLoadStatus, status => status === 'error');
3932 -const selectCreatedThisSession = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(getCreatedThisSession, createdThisSession => createdThisSession);
3933 -const DEFAULT_OVERRIDABLE_PROPS = {
3934 - props: {},
3935 - groups: {
3936 - items: {},
3937 - order: []
3938 - }
3939 -};
3940 -const selectOverridableProps = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectComponent, component => {
3941 - if (!component) {
3942 - return undefined;
3943 - }
3944 - return component.overridableProps ?? DEFAULT_OVERRIDABLE_PROPS;
3945 -});
3946 -const useOverridableProps = componentId => {
3947 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(state => componentId ? selectOverridableProps(state, componentId) : null);
3948 -};
3949 -const selectIsOverridablePropsLoaded = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectComponent, component => {
3950 - return !!component?.overridableProps;
3951 -});
3952 -const selectPath = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(getPath, path => path);
3953 -const selectCurrentComponentId = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(getCurrentComponentId, currentComponentId => currentComponentId);
3954 -const selectCurrentComponent = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(selectData, getCurrentComponentId, (data, currentComponentId) => data.find(component => component.id === currentComponentId));
3955 -const useCurrentComponentId = () => {
3956 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(selectCurrentComponentId);
3957 -};
3958 -const useCurrentComponent = () => {
3959 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(selectCurrentComponent);
3960 -};
3961 -const selectUpdatedComponentNames = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)(state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].updatedComponentNames, updatedComponentNames => Object.entries(updatedComponentNames).map(([componentId, title]) => ({
3962 - componentId: Number(componentId),
3963 - title
3964 -})));
3965 -const useSanitizedComponents = () => {
3966 - return (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__useSelector)(state => state[_store_types__WEBPACK_IMPORTED_MODULE_1__.SLICE_NAME].sanitized);
3967 -};
3968 -const useIsSanitizedComponent = (componentId, key) => {
3969 - const sanitizedComponents = useSanitizedComponents();
3970 - if (!componentId) {
3971 - return false;
3972 - }
3973 - return !!sanitizedComponents[componentId]?.[key];
3974 -};
3975 -
3976 -/***/ }),
3977 -
3978 -/***/ "./packages/packages/core/editor-components/src/store/thunks.ts":
3979 -/*!**********************************************************************!*\
3980 - !*** ./packages/packages/core/editor-components/src/store/thunks.ts ***!
3981 - \**********************************************************************/
3982 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3983 -
3984 -__webpack_require__.r(__webpack_exports__);
3985 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3986 -/* harmony export */ loadComponents: function() { return /* binding */ loadComponents; }
3987 -/* harmony export */ });
3988 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
3989 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
3990 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api */ "./packages/packages/core/editor-components/src/api.ts");
3991 -
3992 -
3993 -const loadComponents = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createAsyncThunk)('components/load', async () => {
3994 - const response = await _api__WEBPACK_IMPORTED_MODULE_1__.apiClient.get();
3995 - return response;
3996 -});
3997 -
3998 -
3999 -/***/ }),
4000 -
4001 -/***/ "./packages/packages/core/editor-components/src/sync/before-save.ts":
4002 -/*!**************************************************************************!*\
4003 - !*** ./packages/packages/core/editor-components/src/sync/before-save.ts ***!
4004 - \**************************************************************************/
4005 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4006 -
4007 -__webpack_require__.r(__webpack_exports__);
4008 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4009 -/* harmony export */ beforeSave: function() { return /* binding */ beforeSave; }
4010 -/* harmony export */ });
4011 -/* harmony import */ var _publish_draft_components_in_page_before_save__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./publish-draft-components-in-page-before-save */ "./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts");
4012 -
4013 -const beforeSave = ({
4014 - container,
4015 - status
4016 -}) => {
4017 - const elements = container?.model.get('elements').toJSON?.() ?? [];
4018 - return (0,_publish_draft_components_in_page_before_save__WEBPACK_IMPORTED_MODULE_0__.publishDraftComponentsInPageBeforeSave)({
4019 - elements,
4020 - status
4021 - });
4022 -};
4023 -
4024 -/***/ }),
4025 -
4026 -/***/ "./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts":
4027 -/*!*******************************************************************************************************!*\
4028 - !*** ./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts ***!
4029 - \*******************************************************************************************************/
4030 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4031 -
4032 -__webpack_require__.r(__webpack_exports__);
4033 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4034 -/* harmony export */ initLoadComponentDataAfterInstanceAdded: function() { return /* binding */ initLoadComponentDataAfterInstanceAdded; }
4035 -/* harmony export */ });
4036 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
4037 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
4038 -/* harmony import */ var _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../store/actions/load-components-assets */ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");
4039 -
4040 -
4041 -function initLoadComponentDataAfterInstanceAdded() {
4042 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.registerDataHook)('after', 'document/elements/paste', (_args, result) => {
4043 - load(result);
4044 - });
4045 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.registerDataHook)('after', 'document/elements/import', (_args, result) => {
4046 - load(result);
4047 - });
4048 -}
4049 -function load(result) {
4050 - const containers = Array.isArray(result) ? result : [result];
4051 - (0,_store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_1__.loadComponentsAssets)(containers.map(container => container.model.toJSON()));
4052 -}
4053 -
4054 -/***/ }),
4055 -
4056 -/***/ "./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts":
4057 -/*!***********************************************************************************************************!*\
4058 - !*** ./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts ***!
4059 - \***********************************************************************************************************/
4060 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4061 -
4062 -__webpack_require__.r(__webpack_exports__);
4063 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4064 -/* harmony export */ publishDraftComponentsInPageBeforeSave: function() { return /* binding */ publishDraftComponentsInPageBeforeSave; }
4065 -/* harmony export */ });
4066 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
4067 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__);
4068 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-notifications */ "@elementor/editor-notifications");
4069 -/* harmony import */ var _elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__);
4070 -/* harmony import */ var _elementor_http_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/http-client */ "@elementor/http-client");
4071 -/* harmony import */ var _elementor_http_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_http_client__WEBPACK_IMPORTED_MODULE_2__);
4072 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4073 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
4074 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api */ "./packages/packages/core/editor-components/src/api.ts");
4075 -/* harmony import */ var _utils_get_component_documents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/get-component-documents */ "./packages/packages/core/editor-components/src/utils/get-component-documents.ts");
4076 -
4077 -
4078 -
4079 -
4080 -
4081 -
4082 -const INSUFFICIENT_PERMISSIONS_ERROR_CODE = 'insufficient_permissions';
4083 -const PUBLISH_UPGRADE_URL = 'https://go.elementor.com/go-pro-components-Instance-draft-failure/';
4084 -const PUBLISH_UPGRADE_NOTIFICATION_ID = 'component-publish-upgrade';
4085 -async function publishDraftComponentsInPageBeforeSave({
4086 - status,
4087 - elements
4088 -}) {
4089 - if (status !== 'publish') {
4090 - return;
4091 - }
4092 - const documents = await (0,_utils_get_component_documents__WEBPACK_IMPORTED_MODULE_5__.getComponentDocuments)({
4093 - elements
4094 - });
4095 - const draftIds = [...documents.values()].filter(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.isDocumentDirty).map(document => document.id);
4096 - if (draftIds.length === 0) {
4097 - return;
4098 - }
4099 - try {
4100 - await _api__WEBPACK_IMPORTED_MODULE_4__.apiClient.updateStatuses(draftIds, 'publish');
4101 - } catch (error) {
4102 - if (isInsufficientPermissionsError(error)) {
4103 - notifyPublishUpgrade();
4104 - return;
4105 - }
4106 - throw error;
4107 - }
4108 - draftIds.forEach(id => (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.invalidateDocumentData)(id));
4109 -}
4110 -function isInsufficientPermissionsError(error) {
4111 - return error instanceof _elementor_http_client__WEBPACK_IMPORTED_MODULE_2__.AxiosError && error.response?.data?.code === INSUFFICIENT_PERMISSIONS_ERROR_CODE;
4112 -}
4113 -function notifyPublishUpgrade() {
4114 - (0,_elementor_editor_notifications__WEBPACK_IMPORTED_MODULE_1__.notify)({
4115 - type: 'promotion',
4116 - id: PUBLISH_UPGRADE_NOTIFICATION_ID,
4117 - message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('You have unpublished component on this page. You need a pro version to publish it.', 'elementor'),
4118 - additionalActionProps: [{
4119 - size: 'small',
4120 - variant: 'contained',
4121 - color: 'promotion',
4122 - href: PUBLISH_UPGRADE_URL,
4123 - target: '_blank',
4124 - children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Upgrade Now', 'elementor')
4125 - }]
4126 - });
4127 -}
4128 -
4129 -/***/ }),
4130 -
4131 -/***/ "./packages/packages/core/editor-components/src/utils/component-document-data.ts":
4132 -/*!***************************************************************************************!*\
4133 - !*** ./packages/packages/core/editor-components/src/utils/component-document-data.ts ***!
4134 - \***************************************************************************************/
4135 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4136 -
4137 -__webpack_require__.r(__webpack_exports__);
4138 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4139 -/* harmony export */ getComponentDocumentData: function() { return /* binding */ getComponentDocumentData; }
4140 -/* harmony export */ });
4141 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
4142 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__);
4143 -
4144 -const getComponentDocumentData = async id => {
4145 - const documentManager = (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.getV1DocumentsManager)();
4146 - try {
4147 - return await documentManager.request(id);
4148 - } catch {
4149 - return null;
4150 - }
4151 -};
4152 -
4153 -/***/ }),
4154 -
4155 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts":
4156 -/*!*******************************************************************************************************************!*\
4157 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts ***!
4158 - \*******************************************************************************************************************/
4159 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4160 -
4161 -__webpack_require__.r(__webpack_exports__);
4162 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4163 -/* harmony export */ detachComponentInstance: function() { return /* binding */ detachComponentInstance; }
4164 -/* harmony export */ });
4165 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-canvas */ "@elementor/editor-canvas");
4166 -/* harmony import */ var _elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__);
4167 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4168 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__);
4169 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
4170 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__);
4171 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
4172 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_3__);
4173 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4174 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
4175 -/* harmony import */ var _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../prop-types/component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
4176 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
4177 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
4178 -/* harmony import */ var _component_document_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../component-document-data */ "./packages/packages/core/editor-components/src/utils/component-document-data.ts");
4179 -/* harmony import */ var _tracking__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../tracking */ "./packages/packages/core/editor-components/src/utils/tracking.ts");
4180 -/* harmony import */ var _resolve_detached_instance__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./resolve-detached-instance */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts");
4181 -
4182 -
4183 -
4184 -
4185 -
4186 -
4187 -
4188 -
4189 -
4190 -
4191 -
4192 -const DETACH_EVENT = 'elementor/components/detach-instance';
4193 -const DETACH_UNDO_EVENT = 'elementor/components/undo-detach-instance';
4194 -const DETACH_REDO_EVENT = 'elementor/components/redo-detach-instance';
4195 -async function detachComponentInstance({
4196 - instanceId,
4197 - componentId,
4198 - trackingInfo
4199 -}) {
4200 - const instanceContainer = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.getContainer)(instanceId);
4201 - if (!instanceContainer) {
4202 - throw new Error(`Instance container with ID "${instanceId}" not found.`);
4203 - }
4204 - const componentData = await (0,_component_document_data__WEBPACK_IMPORTED_MODULE_8__.getComponentDocumentData)(componentId);
4205 - if (!componentData) {
4206 - throw new Error(`Component with ID "${componentId}" not found.`);
4207 - }
4208 - const rootElement = componentData.elements?.[0];
4209 - if (!rootElement) {
4210 - throw new Error(`Component with ID "${componentId}" has no root element.`);
4211 - }
4212 - const undoableDetach = (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.undoable)({
4213 - do: () => {
4214 - const overrides = extractInstanceOverrides(instanceContainer);
4215 - const detachedInstanceElementData = (0,_resolve_detached_instance__WEBPACK_IMPORTED_MODULE_10__.resolveDetachedInstance)(rootElement, overrides);
4216 - const originalInstanceModel = instanceContainer.model.toJSON();
4217 - const actionId = new Date().getTime();
4218 -
4219 - // We should fire the event *before* replacing the element, so it will happen before delete event is fired.
4220 - // As we do overridable props cleanup for both events.
4221 - window.dispatchEvent(new CustomEvent(DETACH_EVENT, {
4222 - detail: {
4223 - detachedInstanceId: instanceId,
4224 - detachActionId: actionId
4225 - }
4226 - }));
4227 - const detachedElement = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.replaceElement)({
4228 - currentElementId: instanceId,
4229 - newElement: detachedInstanceElementData,
4230 - withHistory: false
4231 - });
4232 - (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.selectElement)(detachedElement.id);
4233 - const componentUid = (0,_store_store__WEBPACK_IMPORTED_MODULE_7__.selectComponent)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_3__.__getState)(), componentId)?.uid;
4234 - (0,_tracking__WEBPACK_IMPORTED_MODULE_9__.trackComponentEvent)({
4235 - action: 'detached',
4236 - source: 'user',
4237 - component_uid: componentUid,
4238 - instance_id: instanceId,
4239 - location: trackingInfo.location,
4240 - secondary_location: trackingInfo.secondaryLocation,
4241 - trigger: trackingInfo.trigger
4242 - });
4243 - return {
4244 - detachedElement,
4245 - detachedInstanceElementData,
4246 - originalInstanceModel,
4247 - actionId
4248 - };
4249 - },
4250 - undo: (_, {
4251 - detachedElement,
4252 - originalInstanceModel,
4253 - actionId
4254 - }) => {
4255 - const restoredInstance = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.replaceElement)({
4256 - currentElementId: detachedElement.id,
4257 - newElement: originalInstanceModel,
4258 - withHistory: false
4259 - });
4260 - window.dispatchEvent(new CustomEvent(DETACH_UNDO_EVENT, {
4261 - detail: {
4262 - restoredInstanceId: restoredInstance.id,
4263 - detachActionId: actionId
4264 - }
4265 - }));
4266 -
4267 - // Wait for the instance to be restored
4268 - (0,_elementor_editor_canvas__WEBPACK_IMPORTED_MODULE_0__.doAfterRender)([restoredInstance.id], () => {
4269 - (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.selectElement)(restoredInstance.id);
4270 - });
4271 - return restoredInstance;
4272 - },
4273 - redo: (_, doReturn, restoredInstance) => {
4274 - const {
4275 - detachedInstanceElementData,
4276 - actionId
4277 - } = doReturn;
4278 - const detachedElement = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.replaceElement)({
4279 - currentElementId: restoredInstance.id,
4280 - newElement: detachedInstanceElementData,
4281 - withHistory: false
4282 - });
4283 - window.dispatchEvent(new CustomEvent(DETACH_REDO_EVENT, {
4284 - detail: {
4285 - detachedInstanceId: detachedElement.id,
4286 - detachActionId: actionId
4287 - }
4288 - }));
4289 - (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.selectElement)(detachedElement.id);
4290 - return {
4291 - ...doReturn,
4292 - detachedElement
4293 - };
4294 - }
4295 - }, {
4296 - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Detach from Component', 'elementor'),
4297 - subtitle: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Instance detached', 'elementor')
4298 - });
4299 - return undoableDetach();
4300 -}
4301 -function extractInstanceOverrides(instanceContainer) {
4302 - const settings = instanceContainer.model.toJSON().settings;
4303 - const componentInstance = _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_6__.componentInstancePropTypeUtil.extract(settings?.component_instance);
4304 - const overrides = _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_5__.componentInstanceOverridesPropTypeUtil.extract(componentInstance?.overrides);
4305 - return overrides ?? [];
4306 -}
4307 -
4308 -/***/ }),
4309 -
4310 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts":
4311 -/*!***********************************************************************************************!*\
4312 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/index.ts ***!
4313 - \***********************************************************************************************/
4314 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4315 -
4316 -__webpack_require__.r(__webpack_exports__);
4317 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4318 -/* harmony export */ detachComponentInstance: function() { return /* reexport safe */ _detach_component_instance__WEBPACK_IMPORTED_MODULE_0__.detachComponentInstance; }
4319 -/* harmony export */ });
4320 -/* harmony import */ var _detach_component_instance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./detach-component-instance */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/detach-component-instance.ts");
4321 -
4322 -
4323 -/***/ }),
4324 -
4325 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts":
4326 -/*!********************************************************************************************************************!*\
4327 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts ***!
4328 - \********************************************************************************************************************/
4329 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4330 -
4331 -__webpack_require__.r(__webpack_exports__);
4332 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4333 -/* harmony export */ regenerateLocalStyleIds: function() { return /* binding */ regenerateLocalStyleIds; }
4334 -/* harmony export */ });
4335 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4336 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
4337 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
4338 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_1__);
4339 -
4340 -
4341 -// Ts version for atomic-widgets/assets/js/editor/utils/regenerate-local-style-ids.js
4342 -function regenerateLocalStyleIds(element) {
4343 - const originalStyles = element.styles;
4344 - if (!originalStyles || Object.keys(originalStyles).length === 0) {
4345 - return {
4346 - styles: undefined,
4347 - settings: undefined
4348 - };
4349 - }
4350 - const newStyles = {};
4351 - const styleIdMapping = {};
4352 - for (const [originalStyleId, style] of Object.entries(originalStyles)) {
4353 - const newStyleId = generateLocalStyleId(element.id);
4354 - newStyles[newStyleId] = {
4355 - ...style,
4356 - id: newStyleId
4357 - };
4358 - styleIdMapping[originalStyleId] = newStyleId;
4359 - }
4360 - const settings = element.settings;
4361 - if (!settings || Object.keys(settings).length === 0) {
4362 - return {
4363 - styles: newStyles,
4364 - settings: undefined
4365 - };
4366 - }
4367 - const updatedSettings = {
4368 - ...settings
4369 - };
4370 - for (const [propKey, propValue] of Object.entries(updatedSettings)) {
4371 - if (isClassesProp(propValue) && propValue.value.length > 0) {
4372 - const updatedClasses = propValue.value.map(classId => styleIdMapping[classId] ?? classId);
4373 - updatedSettings[propKey] = _elementor_editor_props__WEBPACK_IMPORTED_MODULE_1__.classesPropTypeUtil.create(updatedClasses);
4374 - }
4375 - }
4376 - return {
4377 - styles: newStyles,
4378 - settings: updatedSettings
4379 - };
4380 -}
4381 -function isClassesProp(prop) {
4382 - return _elementor_editor_props__WEBPACK_IMPORTED_MODULE_1__.classesPropTypeUtil.isValid(prop);
4383 -}
4384 -function generateLocalStyleId(elementId) {
4385 - return `e-${elementId}-${(0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.generateElementId)()}`;
4386 -}
4387 -
4388 -/***/ }),
4389 -
4390 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts":
4391 -/*!*******************************************************************************************************************!*\
4392 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-detached-instance.ts ***!
4393 - \*******************************************************************************************************************/
4394 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4395 -
4396 -__webpack_require__.r(__webpack_exports__);
4397 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4398 -/* harmony export */ getOverridableOverride: function() { return /* binding */ getOverridableOverride; },
4399 -/* harmony export */ resolveDetachedInstance: function() { return /* binding */ resolveDetachedInstance; }
4400 -/* harmony export */ });
4401 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4402 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
4403 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4404 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4405 -/* harmony import */ var _regenerate_local_style_ids__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./regenerate-local-style-ids */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/regenerate-local-style-ids.ts");
4406 -/* harmony import */ var _resolve_overridable_settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./resolve-overridable-settings */ "./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts");
4407 -
4408 -
4409 -
4410 -
4411 -
4412 -
4413 -/**
4414 - * Creates detached element from component instance
4415 - * by applying overrides, reverting overridables, and regenerating IDs.
4416 - * This is used when detaching a component instance from its origin component.
4417 - *
4418 - * The function goes through all nested elements recursively and:
4419 - * - Regenerates element IDs and local style IDs
4420 - * - Resolves overridable settings - applies all instance overrides to element settings,
4421 - * or replaces overridable with origin_value when no matching override exists.
4422 - *
4423 - * @param element - The component's root element
4424 - * @param overrides - Array of overrides from the component instance
4425 - * @return A new element data with all overrides applied and new IDs
4426 - */
4427 -function resolveDetachedInstance(element, overrides) {
4428 - const overrideMap = createOverrideMap(overrides);
4429 - return resolveElementRecursive(structuredClone(element), overrideMap);
4430 -}
4431 -function resolveElementRecursive(element, overrideMap) {
4432 - element.id = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.generateElementId)();
4433 - if (element.styles) {
4434 - const {
4435 - styles,
4436 - settings
4437 - } = (0,_regenerate_local_style_ids__WEBPACK_IMPORTED_MODULE_3__.regenerateLocalStyleIds)(element);
4438 - element.styles = styles;
4439 - if (settings) {
4440 - element.settings = {
4441 - ...element.settings,
4442 - ...settings
4443 - };
4444 - }
4445 - }
4446 - if (element.settings) {
4447 - element.settings = (0,_resolve_overridable_settings__WEBPACK_IMPORTED_MODULE_4__.resolveOverridableSettings)(element, overrideMap);
4448 - }
4449 - if (element.elements?.length) {
4450 - element.elements = element.elements.map(child => resolveElementRecursive(child, overrideMap));
4451 - }
4452 - return element;
4453 -}
4454 -function createOverrideMap(overrides) {
4455 - const map = new Map();
4456 - overrides.forEach(item => {
4457 - let override = null;
4458 - if (_prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentInstanceOverridePropTypeUtil.isValid(item)) {
4459 - override = item;
4460 - } else if (_prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.isValid(item)) {
4461 - override = getOverridableOverride(item);
4462 - }
4463 - if (override) {
4464 - const overrideKey = override.value.override_key;
4465 - map.set(overrideKey, override);
4466 - }
4467 - });
4468 - return map;
4469 -}
4470 -function getOverridableOverride(propValue) {
4471 - if (!_prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.isValid(propValue)) {
4472 - return null;
4473 - }
4474 - const originValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.extract(propValue)?.origin_value;
4475 - if (!_prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentInstanceOverridePropTypeUtil.isValid(originValue)) {
4476 - return null;
4477 - }
4478 - return originValue;
4479 -}
4480 -
4481 -/***/ }),
4482 -
4483 -/***/ "./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts":
4484 -/*!**********************************************************************************************************************!*\
4485 - !*** ./packages/packages/core/editor-components/src/utils/detach-component-instance/resolve-overridable-settings.ts ***!
4486 - \**********************************************************************************************************************/
4487 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4488 -
4489 -__webpack_require__.r(__webpack_exports__);
4490 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4491 -/* harmony export */ resolveOverridableSettings: function() { return /* binding */ resolveOverridableSettings; }
4492 -/* harmony export */ });
4493 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4494 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
4495 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4496 -/* harmony import */ var _is_component_instance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../is-component-instance */ "./packages/packages/core/editor-components/src/utils/is-component-instance.ts");
4497 -
4498 -
4499 -
4500 -
4501 -function resolveOverridableSettings(element, overrideMap) {
4502 - if ((0,_is_component_instance__WEBPACK_IMPORTED_MODULE_3__.isComponentInstance)({
4503 - widgetType: element.widgetType,
4504 - elType: element.elType
4505 - })) {
4506 - return resolveOverridableSettingsForComponentInstance(element, overrideMap);
4507 - }
4508 - return resolveOverridableSettingsForElement(element, overrideMap);
4509 -}
4510 -function resolveOverridableSettingsForElement(element, overrideMap) {
4511 - const updatedSettings = element.settings ? {
4512 - ...element.settings
4513 - } : {};
4514 - for (const [settingKey, settingValue] of Object.entries(element.settings ?? {})) {
4515 - updatedSettings[settingKey] = resolvePropValue(settingValue, overrideMap);
4516 - }
4517 - return updatedSettings;
4518 -}
4519 -function resolveOverridableSettingsForComponentInstance(element, overrideMap) {
4520 - const componentInstance = element.settings?.component_instance;
4521 - if (!_prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentInstancePropTypeUtil.isValid(componentInstance)) {
4522 - return element.settings ?? {};
4523 - }
4524 - const instanceOverrides = componentInstance.value.overrides?.value;
4525 - if (!instanceOverrides?.length) {
4526 - return element.settings ?? {};
4527 - }
4528 - const updatedOverrides = instanceOverrides.map(item => resolvePropValue(item, overrideMap, {
4529 - isOverridableOverride: true
4530 - }));
4531 - return {
4532 - ...element.settings,
4533 - component_instance: {
4534 - ...componentInstance,
4535 - value: {
4536 - ...componentInstance.value,
4537 - overrides: {
4538 - ...componentInstance.value.overrides,
4539 - value: updatedOverrides
4540 - }
4541 - }
4542 - }
4543 - };
4544 -}
4545 -function resolvePropValue(propValue, overrideMap, options) {
4546 - const {
4547 - isOverridableOverride = false
4548 - } = options ?? {};
4549 -
4550 - // if it's not an overridable, return the prop value as is
4551 - if (!_prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.isValid(propValue)) {
4552 - return propValue;
4553 - }
4554 - const overridableKey = propValue.value.override_key;
4555 - const matchingOverride = overrideMap.get(overridableKey);
4556 - const originValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentOverridablePropTypeUtil.extract(propValue)?.origin_value;
4557 -
4558 - // if no matching override, return the overridable's origin value
4559 - if (!matchingOverride) {
4560 - return originValue;
4561 - }
4562 - if (isOverridableOverride) {
4563 - return resolveOverridableOverride(matchingOverride, originValue);
4564 - }
4565 -
4566 - // for regular props, when there's a non null matching override, return the matching override value,
4567 - // otherwise return the origin value
4568 - const matchingOverrideValue = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(matchingOverride)?.override_value;
4569 - return matchingOverrideValue ?? originValue;
4570 -}
4571 -function resolveOverridableOverride(matchingOverride, originValue) {
4572 - if (!originValue || !_prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.isValid(originValue)) {
4573 - return null;
4574 - }
4575 -
4576 - // for overridable overrides, we should create a new override with the matching override value
4577 - // but keep the origin value's override key and schema source, so they'll match the inner component.
4578 - return _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.create({
4579 - override_value: matchingOverride.value.override_value,
4580 - override_key: originValue.value.override_key,
4581 - schema_source: originValue.value.schema_source
4582 - });
4583 -}
4584 -
4585 -/***/ }),
4586 -
4587 -/***/ "./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts":
4588 -/*!**********************************************************************************************!*\
4589 - !*** ./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts ***!
4590 - \**********************************************************************************************/
4591 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4592 -
4593 -__webpack_require__.r(__webpack_exports__);
4594 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4595 -/* harmony export */ filterValidOverridableProps: function() { return /* binding */ filterValidOverridableProps; },
4596 -/* harmony export */ isExposedPropValid: function() { return /* binding */ isExposedPropValid; }
4597 -/* harmony export */ });
4598 -/* harmony import */ var _resolve_overrides_chain__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./resolve-overrides-chain */ "./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts");
4599 -
4600 -function filterValidOverridableProps(overridableProps,
4601 -// instanceElementId is used to find the component inner elements,
4602 -// and should be passed when editing component instance (not in component edit mode)
4603 -instanceElementId) {
4604 - const validProps = {};
4605 - for (const [key, prop] of Object.entries(overridableProps.props)) {
4606 - if (isExposedPropValid(prop, instanceElementId)) {
4607 - validProps[key] = prop;
4608 - }
4609 - }
4610 - const validPropKeys = new Set(Object.keys(validProps));
4611 - const filteredGroups = {
4612 - items: Object.fromEntries(Object.entries(overridableProps.groups.items).map(([groupId, group]) => [groupId, {
4613 - ...group,
4614 - props: group.props.filter(propKey => validPropKeys.has(propKey))
4615 - }])),
4616 - order: overridableProps.groups.order
4617 - };
4618 - return {
4619 - props: validProps,
4620 - groups: filteredGroups
4621 - };
4622 -}
4623 -function isExposedPropValid(prop, instanceElementId) {
4624 - const {
4625 - isChainBroken
4626 - } = (0,_resolve_overrides_chain__WEBPACK_IMPORTED_MODULE_0__.resolveOverridesChain)({
4627 - outerOverridableProp: prop,
4628 - outerInstanceId: instanceElementId
4629 - });
4630 - return !isChainBroken;
4631 -}
4632 -
4633 -/***/ }),
4634 -
4635 -/***/ "./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts":
4636 -/*!********************************************************************************************!*\
4637 - !*** ./packages/packages/core/editor-components/src/utils/format-component-elements-id.ts ***!
4638 - \********************************************************************************************/
4639 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4640 -
4641 -__webpack_require__.r(__webpack_exports__);
4642 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4643 -/* harmony export */ formatComponentElementsId: function() { return /* binding */ formatComponentElementsId; }
4644 -/* harmony export */ });
4645 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
4646 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
4647 -
4648 -const ELEMENT_ID_LENGTH = 7;
4649 -// The purpose of this function is to solve the issue of component inner elements having the same ID
4650 -// when there are multiple instances of the same component on a page.
4651 -// We change the ID of the inner elements to a hash of the nesting path of the element and the element's originalID.
4652 -function formatComponentElementsId(elements, path) {
4653 - return elements.map(element => {
4654 - const nestingPath = [...path, element.id];
4655 - const id = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.hashString)(nestingPath.join('_'), ELEMENT_ID_LENGTH);
4656 - return {
4657 - ...element,
4658 - id,
4659 - originId: element.id,
4660 - elements: element.elements ? formatComponentElementsId(element.elements, nestingPath) : undefined
4661 - };
4662 - });
4663 -}
4664 -
4665 -/***/ }),
4666 -
4667 -/***/ "./packages/packages/core/editor-components/src/utils/get-component-documents.ts":
4668 -/*!***************************************************************************************!*\
4669 - !*** ./packages/packages/core/editor-components/src/utils/get-component-documents.ts ***!
4670 - \***************************************************************************************/
4671 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4672 -
4673 -__webpack_require__.r(__webpack_exports__);
4674 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4675 -/* harmony export */ getComponentDocuments: function() { return /* binding */ getComponentDocuments; }
4676 -/* harmony export */ });
4677 -/* harmony import */ var _component_document_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component-document-data */ "./packages/packages/core/editor-components/src/utils/component-document-data.ts");
4678 -/* harmony import */ var _is_component_instance__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./is-component-instance */ "./packages/packages/core/editor-components/src/utils/is-component-instance.ts");
4679 -
4680 -
4681 -async function getComponentDocuments({
4682 - elements,
4683 - cache = new Map(),
4684 - isRecursive = true
4685 -}) {
4686 - const componentIds = await getComponentIds(elements, cache, isRecursive);
4687 - return getDocumentsMap(componentIds, cache);
4688 -}
4689 -async function getComponentIds(elements, cache, isRecursive) {
4690 - const results = await Promise.all(elements.map(async ({
4691 - widgetType,
4692 - elType,
4693 - elements: childElements,
4694 - settings
4695 - }) => {
4696 - const ids = [];
4697 - if ((0,_is_component_instance__WEBPACK_IMPORTED_MODULE_1__.isComponentInstance)({
4698 - widgetType,
4699 - elType
4700 - })) {
4701 - const componentId = settings?.component_instance?.value?.component_id.value;
4702 - if (!componentId) {
4703 - return ids;
4704 - }
4705 - ids.push(componentId);
4706 - if (!cache.has(componentId)) {
4707 - cache.set(componentId, (0,_component_document_data__WEBPACK_IMPORTED_MODULE_0__.getComponentDocumentData)(componentId));
4708 - }
4709 - if (isRecursive) {
4710 - const doc = await cache.get(componentId);
4711 - childElements = doc?.elements;
4712 - }
4713 - }
4714 - if (childElements?.length) {
4715 - const childIds = await getComponentIds(childElements, cache, isRecursive);
4716 - ids.push(...childIds);
4717 - }
4718 - return ids;
4719 - }));
4720 - return [...new Set(results.flat())];
4721 -}
4722 -async function getDocumentsMap(ids, cache) {
4723 - const documents = await Promise.all(ids.map(async id => {
4724 - const document = await cache.get(id);
4725 - if (!document) {
4726 - return null;
4727 - }
4728 - return [id, document];
4729 - }));
4730 - return new Map(documents.filter(document => document !== null));
4731 -}
4732 -
4733 -/***/ }),
4734 -
4735 -/***/ "./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts":
4736 -/*!******************************************************************************************!*\
4737 - !*** ./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts ***!
4738 - \******************************************************************************************/
4739 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4740 -
4741 -__webpack_require__.r(__webpack_exports__);
4742 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4743 -/* harmony export */ getContainerByOriginId: function() { return /* binding */ getContainerByOriginId; }
4744 -/* harmony export */ });
4745 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4746 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
4747 -
4748 -/**
4749 - * Resolves a container by its origin ID, with optional scoping to a component instance.
4750 - *
4751 - * When component instances are rendered, their inner elements get prefixed IDs
4752 - * (e.g., `{instanceId}_{originalId}`), but store data uses original IDs.
4753 - * This function bridges between the two by searching for elements with a matching `originId`.
4754 - *
4755 - * @param originElementId - The original (unprefixed) element ID from store data
4756 - * @param instanceElementId - Optional instance widget ID to scope the search
4757 - *
4758 - * @return The container with prefixed runtime ID, or null if not found
4759 - *
4760 - * @example
4761 - * // Component editing mode (no prefixing)
4762 - * getContainerByOriginId('element-1') // returns container with id='element-1'
4763 - *
4764 - * @example
4765 - * // Instance editing mode (with hash prefixing)
4766 - * getContainerByOriginId('element-1', 'instance-abc')
4767 - * // returns container with id='{hash}_element-1' and originId='element-1'
4768 - */
4769 -function getContainerByOriginId(originElementId, instanceElementId) {
4770 - if (!instanceElementId) {
4771 - return (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getContainer)(originElementId);
4772 - }
4773 - const instanceContainer = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getContainer)(instanceElementId);
4774 - if (!instanceContainer) {
4775 - return null;
4776 - }
4777 - const legacyWindow = window;
4778 - return legacyWindow.elementor?.getContainerByKeyValue?.({
4779 - key: 'originId',
4780 - value: originElementId,
4781 - parent: instanceContainer.view
4782 - }) ?? null;
4783 -}
4784 -
4785 -/***/ }),
4786 -
4787 -/***/ "./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts":
4788 -/*!************************************************************************************!*\
4789 - !*** ./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts ***!
4790 - \************************************************************************************/
4791 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4792 -
4793 -__webpack_require__.r(__webpack_exports__);
4794 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4795 -/* harmony export */ getOverridableProp: function() { return /* binding */ getOverridableProp; }
4796 -/* harmony export */ });
4797 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
4798 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
4799 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
4800 -
4801 -
4802 -function getOverridableProp({
4803 - componentId,
4804 - overrideKey
4805 -}) {
4806 - const overridableProps = (0,_store_store__WEBPACK_IMPORTED_MODULE_1__.selectOverridableProps)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__getState)(), componentId);
4807 - if (!overridableProps) {
4808 - return undefined;
4809 - }
4810 - return overridableProps.props[overrideKey];
4811 -}
4812 -
4813 -/***/ }),
4814 -
4815 -/***/ "./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts":
4816 -/*!****************************************************************************************************!*\
4817 - !*** ./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts ***!
4818 - \****************************************************************************************************/
4819 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4820 -
4821 -__webpack_require__.r(__webpack_exports__);
4822 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4823 -/* harmony export */ getPropTypeForComponentOverride: function() { return /* binding */ getPropTypeForComponentOverride; }
4824 -/* harmony export */ });
4825 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
4826 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__);
4827 -
4828 -const getPropTypeForComponentOverride = overridableProp => {
4829 - if (overridableProp.originPropFields) {
4830 - return getPropType(overridableProp.originPropFields);
4831 - }
4832 - const {
4833 - widgetType,
4834 - propKey
4835 - } = overridableProp;
4836 - return getPropType({
4837 - widgetType,
4838 - propKey
4839 - });
4840 -};
4841 -function getPropType({
4842 - widgetType,
4843 - propKey
4844 -}) {
4845 - const widgetPropsSchema = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_0__.getWidgetsCache)()?.[widgetType]?.atomic_props_schema;
4846 - return widgetPropsSchema?.[propKey];
4847 -}
4848 -
4849 -/***/ }),
4850 -
4851 -/***/ "./packages/packages/core/editor-components/src/utils/is-component-instance.ts":
4852 -/*!*************************************************************************************!*\
4853 - !*** ./packages/packages/core/editor-components/src/utils/is-component-instance.ts ***!
4854 - \*************************************************************************************/
4855 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4856 -
4857 -__webpack_require__.r(__webpack_exports__);
4858 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4859 -/* harmony export */ isComponentInstance: function() { return /* binding */ isComponentInstance; }
4860 -/* harmony export */ });
4861 -/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../consts */ "./packages/packages/core/editor-components/src/consts.ts");
4862 -
4863 -function isComponentInstance(elementModel) {
4864 - return [elementModel.widgetType, elementModel.elType].includes(_consts__WEBPACK_IMPORTED_MODULE_0__.COMPONENT_WIDGET_TYPE);
4865 -}
4866 -
4867 -/***/ }),
4868 -
4869 -/***/ "./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts":
4870 -/*!*******************************************************************************************!*\
4871 - !*** ./packages/packages/core/editor-components/src/utils/is-pro-components-supported.ts ***!
4872 - \*******************************************************************************************/
4873 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4874 -
4875 -__webpack_require__.r(__webpack_exports__);
4876 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4877 -/* harmony export */ isProComponentsSupported: function() { return /* binding */ isProComponentsSupported; },
4878 -/* harmony export */ isProOutdatedForComponents: function() { return /* binding */ isProOutdatedForComponents; }
4879 -/* harmony export */ });
4880 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
4881 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
4882 -
4883 -const MIN_PRO_VERSION_FOR_COMPONENTS = '4.0';
4884 -function isProComponentsSupported() {
4885 - return (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.hasProInstalled)() && (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.isProAtLeast)(MIN_PRO_VERSION_FOR_COMPONENTS);
4886 -}
4887 -function isProOutdatedForComponents() {
4888 - return (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.hasProInstalled)() && !(0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.isProAtLeast)(MIN_PRO_VERSION_FOR_COMPONENTS);
4889 -}
4890 -
4891 -/***/ }),
4892 -
4893 -/***/ "./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts":
4894 -/*!***************************************************************************************!*\
4895 - !*** ./packages/packages/core/editor-components/src/utils/overridable-props-utils.ts ***!
4896 - \***************************************************************************************/
4897 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4898 -
4899 -__webpack_require__.r(__webpack_exports__);
4900 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4901 -/* harmony export */ getMatchingOverride: function() { return /* binding */ getMatchingOverride; }
4902 -/* harmony export */ });
4903 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4904 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4905 -
4906 -
4907 -function getMatchingOverride(overrides, overrideKey) {
4908 - return overrides?.find(override => {
4909 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentOverridablePropTypeUtil.extract(override);
4910 - if (overridableValue) {
4911 - const overrideValue = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(overridableValue.origin_value);
4912 - return overrideValue?.override_key === overrideKey;
4913 - }
4914 - return override.value.override_key === overrideKey;
4915 - }) ?? null;
4916 -}
4917 -
4918 -/***/ }),
4919 -
4920 -/***/ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts":
4921 -/*!*******************************************************************************************!*\
4922 - !*** ./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts ***!
4923 - \*******************************************************************************************/
4924 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4925 -
4926 -__webpack_require__.r(__webpack_exports__);
4927 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4928 -/* harmony export */ resolveOverridePropValue: function() { return /* binding */ resolveOverridePropValue; }
4929 -/* harmony export */ });
4930 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4931 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4932 -
4933 -
4934 -const resolveOverridePropValue = originalPropValue => {
4935 - const isOverridable = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentOverridablePropTypeUtil.isValid(originalPropValue);
4936 - if (isOverridable) {
4937 - return getOverridableValue(originalPropValue);
4938 - }
4939 - const isOverride = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.isValid(originalPropValue);
4940 - if (isOverride) {
4941 - return getOverrideValue(originalPropValue);
4942 - }
4943 - return originalPropValue;
4944 -};
4945 -function getOverridableValue(overridableProp) {
4946 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentOverridablePropTypeUtil.extract(overridableProp);
4947 - if (!overridableValue) {
4948 - return null;
4949 - }
4950 - const isOverride = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.isValid(overridableValue.origin_value);
4951 - if (isOverride) {
4952 - return getOverrideValue(overridableValue.origin_value);
4953 - }
4954 - return overridableValue.origin_value;
4955 -}
4956 -function getOverrideValue(overrideProp) {
4957 - const overrideValue = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(overrideProp);
4958 - if (!overrideValue) {
4959 - return null;
4960 - }
4961 - return overrideValue.override_value;
4962 -}
4963 -
4964 -/***/ }),
4965 -
4966 -/***/ "./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts":
4967 -/*!***************************************************************************************!*\
4968 - !*** ./packages/packages/core/editor-components/src/utils/resolve-overrides-chain.ts ***!
4969 - \***************************************************************************************/
4970 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4971 -
4972 -__webpack_require__.r(__webpack_exports__);
4973 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4974 -/* harmony export */ buildOverridesMap: function() { return /* binding */ buildOverridesMap; },
4975 -/* harmony export */ resolveOverridesChain: function() { return /* binding */ resolveOverridesChain; }
4976 -/* harmony export */ });
4977 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
4978 -/* harmony import */ var _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../prop-types/component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
4979 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
4980 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
4981 -/* harmony import */ var _get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./get-container-by-origin-id */ "./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts");
4982 -/* harmony import */ var _get_overridable_prop__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./get-overridable-prop */ "./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts");
4983 -
4984 -
4985 -
4986 -
4987 -
4988 -
4989 -// Recursively walks down a chain of nested component instances to find the innermost element
4990 -// and collect the overrides mapping for it.
4991 -// Returns the resolved inner element with its overrides mapping,
4992 -// or { isChainBroken: true } if any level in the chain is no longer overridable.
4993 -function resolveOverridesChain({
4994 - outerOverridableProp,
4995 - outerInstanceId,
4996 - overridesMapping = {}
4997 -}) {
4998 - // Stop condition: no originPropFields means we've reached the most inner component instance
4999 - if (!outerOverridableProp.originPropFields) {
5000 - const innerElement = (0,_get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_4__.getContainerByOriginId)(outerOverridableProp.elementId, outerInstanceId);
5001 - if (!innerElement) {
5002 - throw new Error(`Inner element not found inside instance. elementId: ${outerOverridableProp.elementId}, instanceId: ${outerInstanceId}`);
5003 - }
5004 - return {
5005 - isChainBroken: false,
5006 - innerElement,
5007 - overridesMapping
5008 - };
5009 - }
5010 -
5011 - // Step 1: Find the intermediate component instance and read its settings.
5012 - const currentInstance = (0,_get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_4__.getContainerByOriginId)(outerOverridableProp.elementId, outerInstanceId);
5013 - if (!currentInstance) {
5014 - // One of the instances in the chain was deleted.
5015 - return {
5016 - isChainBroken: true
5017 - };
5018 - }
5019 - const {
5020 - componentId,
5021 - overrides
5022 - } = extractComponentInstanceSettings(currentInstance);
5023 - if (!componentId) {
5024 - throw new Error(`Component ID not found for current instance. currentInstanceId: ${currentInstance.id}. outerInstanceId: ${outerInstanceId}`);
5025 - }
5026 -
5027 - // Collect overrides from this level, translating keys for exposed-further props.
5028 - const mergedOverrides = buildOverridesMap(overridesMapping, overrides ?? []);
5029 -
5030 - // Find the overridable-override that matches the outer overridable prop's key,
5031 - // to get the next level's overridable prop.
5032 - const override = findOverrideByOuterKey(overrides, outerOverridableProp.overrideKey);
5033 - const overrideKey = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(override)?.override_key;
5034 - if (!override || !overrideKey) {
5035 - // No matching override found for the current level - it means it's no longer overridable.
5036 - return {
5037 - isChainBroken: true
5038 - };
5039 - }
5040 - const overridableProp = (0,_get_overridable_prop__WEBPACK_IMPORTED_MODULE_5__.getOverridableProp)({
5041 - componentId,
5042 - overrideKey
5043 - });
5044 - if (!overridableProp) {
5045 - throw new Error(`Overridable prop not found. componentId: ${componentId}, overrideKey: ${overrideKey}`);
5046 - }
5047 -
5048 - // Step 4: Recurse into the next nesting level.
5049 - return resolveOverridesChain({
5050 - outerOverridableProp: overridableProp,
5051 - outerInstanceId: currentInstance.id,
5052 - overridesMapping: mergedOverrides
5053 - });
5054 -}
5055 -
5056 -/**
5057 - * Builds overrides map from instances chain:
5058 - * At each level, we collect overrides from the current instance and merge them with the overrides from the outer levels.
5059 - *
5060 - * For exposed-further overrides (overridable wrapping an override), we have outer key (overridable's) and inner key (override's).
5061 - * If a higher level already set a value for the outer key, that value is carried forward to the inner key
5062 - * — same logic as the componentOverridableTransformer in the render pipeline.
5063 - *
5064 - * For simple overrides, that are not exposed further, we just use the override's key and value.
5065 - *
5066 - * @param existing - Previously accumulated overrides from outer levels.
5067 - * @param levelOverrides - The overrides array from the current level instance.
5068 - */
5069 -function buildOverridesMap(existing, levelOverrides) {
5070 - const result = {
5071 - ...existing
5072 - };
5073 - for (const item of levelOverrides) {
5074 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentOverridablePropTypeUtil.extract(item);
5075 - if (overridableValue) {
5076 - // Exposed-further: overridable wraps an inner override with a different key.
5077 - const override = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(overridableValue.origin_value);
5078 - if (!override) {
5079 - continue;
5080 - }
5081 - const outerKey = overridableValue.override_key;
5082 - const innerKey = override.override_key;
5083 - const innerValue = override.override_value;
5084 -
5085 - // If an upper level already set a value for the outer key, carry it forward to the inner key.
5086 - const higherLevelOverride = existing[outerKey];
5087 - if (higherLevelOverride) {
5088 - const outerValue = higherLevelOverride.value;
5089 - result[innerKey] = {
5090 - value: outerValue ?? innerValue,
5091 - outermostKey: higherLevelOverride.outermostKey ?? outerKey
5092 - };
5093 - continue;
5094 - }
5095 - result[innerKey] = {
5096 - value: innerValue,
5097 - outermostKey: outerKey
5098 - };
5099 - } else {
5100 - // Simple override: not exposed further, we just store the override's key and value.
5101 - const override = _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.extract(item);
5102 - if (!override) {
5103 - continue;
5104 - }
5105 - const key = override.override_key;
5106 - const value = override.override_value;
5107 - result[key] = {
5108 - value
5109 - };
5110 - }
5111 - }
5112 - return result;
5113 -}
5114 -function extractComponentInstanceSettings(element) {
5115 - const instanceSetting = element.settings?.get('component_instance');
5116 - const instanceValue = _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_2__.componentInstancePropTypeUtil.extract(instanceSetting);
5117 - const componentId = instanceValue?.component_id?.value;
5118 - const overrides = _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_1__.componentInstanceOverridesPropTypeUtil.extract(instanceValue?.overrides);
5119 - return {
5120 - componentId,
5121 - overrides
5122 - };
5123 -}
5124 -
5125 -// Finds the inner override prop whose wrapping overridable matches the given outer key.
5126 -function findOverrideByOuterKey(overrides, outerKey) {
5127 - if (!overrides) {
5128 - return null;
5129 - }
5130 - const overridableOverride = overrides.find(item => {
5131 - const overridableValue = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentOverridablePropTypeUtil.extract(item);
5132 - if (!overridableValue) {
5133 - return false;
5134 - }
5135 - return overridableValue.override_key === outerKey;
5136 - });
5137 - const override = _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_3__.componentOverridablePropTypeUtil.extract(overridableOverride)?.origin_value;
5138 - if (!override || !_prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_0__.componentInstanceOverridePropTypeUtil.isValid(override)) {
5139 - return null;
5140 - }
5141 - return override;
5142 -}
5143 -
5144 -/***/ }),
5145 -
5146 -/***/ "./packages/packages/core/editor-components/src/utils/switch-to-component.ts":
5147 -/*!***********************************************************************************!*\
5148 - !*** ./packages/packages/core/editor-components/src/utils/switch-to-component.ts ***!
5149 - \***********************************************************************************/
5150 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5151 -
5152 -__webpack_require__.r(__webpack_exports__);
5153 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5154 -/* harmony export */ buildUniqueSelector: function() { return /* binding */ buildUniqueSelector; },
5155 -/* harmony export */ expandNavigator: function() { return /* binding */ expandNavigator; },
5156 -/* harmony export */ switchToComponent: function() { return /* binding */ switchToComponent; }
5157 -/* harmony export */ });
5158 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-documents */ "@elementor/editor-documents");
5159 -/* harmony import */ var _elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__);
5160 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-elements */ "@elementor/editor-elements");
5161 -/* harmony import */ var _elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__);
5162 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
5163 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__);
5164 -
5165 -
5166 -
5167 -async function switchToComponent(componentId, componentInstanceId, element) {
5168 - const selector = getSelector(element, componentInstanceId);
5169 - (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.invalidateDocumentData)(componentId);
5170 - await (0,_elementor_editor_documents__WEBPACK_IMPORTED_MODULE_0__.switchToDocument)(componentId, {
5171 - selector,
5172 - mode: 'autosave',
5173 - setAsInitial: false,
5174 - shouldScroll: false
5175 - });
5176 - const currentDocumentContainer = (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.getCurrentDocumentContainer)();
5177 - const topLevelElement = currentDocumentContainer?.children?.[0];
5178 - if (topLevelElement) {
5179 - (0,_elementor_editor_elements__WEBPACK_IMPORTED_MODULE_1__.selectElement)(topLevelElement.id);
5180 - expandNavigator();
5181 - }
5182 -}
5183 -async function expandNavigator() {
5184 - await (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_2__.__privateRunCommand)('navigator/expand-all');
5185 -}
5186 -function getSelector(element, componentInstanceId) {
5187 - if (element) {
5188 - return buildUniqueSelector(element);
5189 - }
5190 - if (componentInstanceId) {
5191 - return `[data-id="${componentInstanceId}"]`;
5192 - }
5193 - return undefined;
5194 -}
5195 -function buildUniqueSelector(element) {
5196 - const selectors = [];
5197 - let current = element.closest('[data-id]');
5198 - while (current) {
5199 - const dataId = current.dataset.id;
5200 - const isComponentInstance = current.hasAttribute('data-elementor-id');
5201 - if (isComponentInstance) {
5202 - selectors.unshift(`[data-id="${dataId}"]`);
5203 - }
5204 - current = current.parentElement?.closest('[data-id]') ?? null;
5205 - }
5206 - if (selectors.length === 0) {
5207 - const closestElement = element.closest('[data-id]');
5208 - if (closestElement?.dataset?.id) {
5209 - return `[data-id="${closestElement.dataset.id}"]`;
5210 - }
5211 - }
5212 - return selectors.join(' ');
5213 -}
5214 -
5215 -/***/ }),
5216 -
5217 -/***/ "./packages/packages/core/editor-components/src/utils/tracking.ts":
5218 -/*!************************************************************************!*\
5219 - !*** ./packages/packages/core/editor-components/src/utils/tracking.ts ***!
5220 - \************************************************************************/
5221 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5222 -
5223 -__webpack_require__.r(__webpack_exports__);
5224 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5225 -/* harmony export */ onElementDrop: function() { return /* binding */ onElementDrop; },
5226 -/* harmony export */ trackComponentEvent: function() { return /* binding */ trackComponentEvent; }
5227 -/* harmony export */ });
5228 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/events */ "@elementor/events");
5229 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_events__WEBPACK_IMPORTED_MODULE_0__);
5230 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
5231 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_1__);
5232 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
5233 -
5234 -
5235 -
5236 -const FEATURE_NAME = 'Components';
5237 -const trackComponentEvent = ({
5238 - action,
5239 - source,
5240 - ...data
5241 -}) => {
5242 - if (source === 'system') {
5243 - return;
5244 - }
5245 - const {
5246 - dispatchEvent,
5247 - config
5248 - } = (0,_elementor_events__WEBPACK_IMPORTED_MODULE_0__.getMixpanel)();
5249 - if (!config?.names?.components?.[action]) {
5250 - return;
5251 - }
5252 - const name = config.names.components[action];
5253 - dispatchEvent?.(name, {
5254 - ...data,
5255 - source,
5256 - 'Feature name': FEATURE_NAME
5257 - });
5258 -};
5259 -const onElementDrop = (_args, element) => {
5260 - if (!(element?.model?.get('widgetType') === 'e-component')) {
5261 - return;
5262 - }
5263 - const editorSettings = element.model.get('editor_settings');
5264 - const componentName = editorSettings?.title;
5265 - const componentUID = editorSettings?.component_uid;
5266 - const instanceId = element.id;
5267 - const createdThisSession = (0,_store_store__WEBPACK_IMPORTED_MODULE_2__.selectCreatedThisSession)((0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__getState)());
5268 - const isSameSessionReuse = componentUID && createdThisSession.includes(componentUID);
5269 - const eventsManagerConfig = window.elementorCommon.eventsManager.config;
5270 - const {
5271 - locations,
5272 - secondaryLocations
5273 - } = eventsManagerConfig;
5274 - trackComponentEvent({
5275 - action: 'instanceAdded',
5276 - source: 'user',
5277 - instance_id: instanceId,
5278 - component_uid: componentUID,
5279 - component_name: componentName,
5280 - is_same_session_reuse: isSameSessionReuse,
5281 - location: locations.widgetPanel,
5282 - secondary_location: secondaryLocations.componentsTab
5283 - });
5284 -};
5285 -
5286 -/***/ }),
5287 -
5288 -/***/ "@elementor/editor":
5289 -/*!*****************************************!*\
5290 - !*** external ["elementorV2","editor"] ***!
5291 - \*****************************************/
5292 -/***/ (function(module) {
5293 -
5294 -module.exports = window["elementorV2"]["editor"];
5295 -
5296 -/***/ }),
5297 -
5298 -/***/ "@elementor/editor-canvas":
5299 -/*!***********************************************!*\
5300 - !*** external ["elementorV2","editorCanvas"] ***!
5301 - \***********************************************/
5302 -/***/ (function(module) {
5303 -
5304 -module.exports = window["elementorV2"]["editorCanvas"];
5305 -
5306 -/***/ }),
5307 -
5308 -/***/ "@elementor/editor-controls":
5309 -/*!*************************************************!*\
5310 - !*** external ["elementorV2","editorControls"] ***!
5311 - \*************************************************/
5312 -/***/ (function(module) {
5313 -
5314 -module.exports = window["elementorV2"]["editorControls"];
5315 -
5316 -/***/ }),
5317 -
5318 -/***/ "@elementor/editor-current-user":
5319 -/*!****************************************************!*\
5320 - !*** external ["elementorV2","editorCurrentUser"] ***!
5321 - \****************************************************/
5322 -/***/ (function(module) {
5323 -
5324 -module.exports = window["elementorV2"]["editorCurrentUser"];
5325 -
5326 -/***/ }),
5327 -
5328 -/***/ "@elementor/editor-documents":
5329 -/*!**************************************************!*\
5330 - !*** external ["elementorV2","editorDocuments"] ***!
5331 - \**************************************************/
5332 -/***/ (function(module) {
5333 -
5334 -module.exports = window["elementorV2"]["editorDocuments"];
5335 -
5336 -/***/ }),
5337 -
5338 -/***/ "@elementor/editor-editing-panel":
5339 -/*!*****************************************************!*\
5340 - !*** external ["elementorV2","editorEditingPanel"] ***!
5341 - \*****************************************************/
5342 -/***/ (function(module) {
5343 -
5344 -module.exports = window["elementorV2"]["editorEditingPanel"];
5345 -
5346 -/***/ }),
5347 -
5348 -/***/ "@elementor/editor-elements":
5349 -/*!*************************************************!*\
5350 - !*** external ["elementorV2","editorElements"] ***!
5351 - \*************************************************/
5352 -/***/ (function(module) {
5353 -
5354 -module.exports = window["elementorV2"]["editorElements"];
5355 -
5356 -/***/ }),
5357 -
5358 -/***/ "@elementor/editor-elements-panel":
5359 -/*!******************************************************!*\
5360 - !*** external ["elementorV2","editorElementsPanel"] ***!
5361 - \******************************************************/
5362 -/***/ (function(module) {
5363 -
5364 -module.exports = window["elementorV2"]["editorElementsPanel"];
5365 -
5366 -/***/ }),
5367 -
5368 -/***/ "@elementor/editor-embedded-documents-manager":
5369 -/*!*****************************************************************!*\
5370 - !*** external ["elementorV2","editorEmbeddedDocumentsManager"] ***!
5371 - \*****************************************************************/
5372 -/***/ (function(module) {
5373 -
5374 -module.exports = window["elementorV2"]["editorEmbeddedDocumentsManager"];
5375 -
5376 -/***/ }),
5377 -
5378 -/***/ "@elementor/editor-notifications":
5379 -/*!******************************************************!*\
5380 - !*** external ["elementorV2","editorNotifications"] ***!
5381 - \******************************************************/
5382 -/***/ (function(module) {
5383 -
5384 -module.exports = window["elementorV2"]["editorNotifications"];
5385 -
5386 -/***/ }),
5387 -
5388 -/***/ "@elementor/editor-panels":
5389 -/*!***********************************************!*\
5390 - !*** external ["elementorV2","editorPanels"] ***!
5391 - \***********************************************/
5392 -/***/ (function(module) {
5393 -
5394 -module.exports = window["elementorV2"]["editorPanels"];
5395 -
5396 -/***/ }),
5397 -
5398 -/***/ "@elementor/editor-props":
5399 -/*!**********************************************!*\
5400 - !*** external ["elementorV2","editorProps"] ***!
5401 - \**********************************************/
5402 -/***/ (function(module) {
5403 -
5404 -module.exports = window["elementorV2"]["editorProps"];
5405 -
5406 -/***/ }),
5407 -
5408 -/***/ "@elementor/editor-templates":
5409 -/*!**************************************************!*\
5410 - !*** external ["elementorV2","editorTemplates"] ***!
5411 - \**************************************************/
5412 -/***/ (function(module) {
5413 -
5414 -module.exports = window["elementorV2"]["editorTemplates"];
5415 -
5416 -/***/ }),
5417 -
5418 -/***/ "@elementor/editor-ui":
5419 -/*!*******************************************!*\
5420 - !*** external ["elementorV2","editorUi"] ***!
5421 - \*******************************************/
5422 -/***/ (function(module) {
5423 -
5424 -module.exports = window["elementorV2"]["editorUi"];
5425 -
5426 -/***/ }),
5427 -
5428 -/***/ "@elementor/editor-v1-adapters":
5429 -/*!***************************************************!*\
5430 - !*** external ["elementorV2","editorV1Adapters"] ***!
5431 - \***************************************************/
5432 -/***/ (function(module) {
5433 -
5434 -module.exports = window["elementorV2"]["editorV1Adapters"];
5435 -
5436 -/***/ }),
5437 -
5438 -/***/ "@elementor/events":
5439 -/*!*****************************************!*\
5440 - !*** external ["elementorV2","events"] ***!
5441 - \*****************************************/
5442 -/***/ (function(module) {
5443 -
5444 -module.exports = window["elementorV2"]["events"];
5445 -
5446 -/***/ }),
5447 -
5448 -/***/ "@elementor/http-client":
5449 -/*!*********************************************!*\
5450 - !*** external ["elementorV2","httpClient"] ***!
5451 - \*********************************************/
5452 -/***/ (function(module) {
5453 -
5454 -module.exports = window["elementorV2"]["httpClient"];
5455 -
5456 -/***/ }),
5457 -
5458 -/***/ "@elementor/icons":
5459 -/*!****************************************!*\
5460 - !*** external ["elementorV2","icons"] ***!
5461 - \****************************************/
5462 -/***/ (function(module) {
5463 -
5464 -module.exports = window["elementorV2"]["icons"];
5465 -
5466 -/***/ }),
5467 -
5468 -/***/ "@elementor/schema":
5469 -/*!*****************************************!*\
5470 - !*** external ["elementorV2","schema"] ***!
5471 - \*****************************************/
5472 -/***/ (function(module) {
5473 -
5474 -module.exports = window["elementorV2"]["schema"];
5475 -
5476 -/***/ }),
5477 -
5478 -/***/ "@elementor/store":
5479 -/*!****************************************!*\
5480 - !*** external ["elementorV2","store"] ***!
5481 - \****************************************/
5482 -/***/ (function(module) {
5483 -
5484 -module.exports = window["elementorV2"]["store"];
5485 -
5486 -/***/ }),
5487 -
5488 -/***/ "@elementor/ui":
5489 -/*!*************************************!*\
5490 - !*** external ["elementorV2","ui"] ***!
5491 - \*************************************/
5492 -/***/ (function(module) {
5493 -
5494 -module.exports = window["elementorV2"]["ui"];
5495 -
5496 -/***/ }),
5497 -
5498 -/***/ "@elementor/utils":
5499 -/*!****************************************!*\
5500 - !*** external ["elementorV2","utils"] ***!
5501 - \****************************************/
5502 -/***/ (function(module) {
5503 -
5504 -module.exports = window["elementorV2"]["utils"];
5505 -
5506 -/***/ }),
5507 -
5508 -/***/ "@wordpress/i18n":
5509 -/*!******************************!*\
5510 - !*** external ["wp","i18n"] ***!
5511 - \******************************/
5512 -/***/ (function(module) {
5513 -
5514 -module.exports = window["wp"]["i18n"];
5515 -
5516 -/***/ }),
5517 -
5518 -/***/ "react":
5519 -/*!**************************!*\
5520 - !*** external ["React"] ***!
5521 - \**************************/
5522 -/***/ (function(module) {
5523 -
5524 -module.exports = window["React"];
5525 -
5526 -/***/ })
5527 -
5528 -/******/ });
5529 -/************************************************************************/
5530 -/******/ // The module cache
5531 -/******/ var __webpack_module_cache__ = {};
5532 -/******/
5533 -/******/ // The require function
5534 -/******/ function __webpack_require__(moduleId) {
5535 -/******/ // Check if module is in cache
5536 -/******/ var cachedModule = __webpack_module_cache__[moduleId];
5537 -/******/ if (cachedModule !== undefined) {
5538 -/******/ return cachedModule.exports;
5539 -/******/ }
5540 -/******/ // Create a new module (and put it into the cache)
5541 -/******/ var module = __webpack_module_cache__[moduleId] = {
5542 -/******/ // no module.id needed
5543 -/******/ // no module.loaded needed
5544 -/******/ exports: {}
5545 -/******/ };
5546 -/******/
5547 -/******/ // Execute the module function
5548 -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
5549 -/******/
5550 -/******/ // Return the exports of the module
5551 -/******/ return module.exports;
5552 -/******/ }
5553 -/******/
5554 -/************************************************************************/
5555 -/******/ /* webpack/runtime/compat get default export */
5556 -/******/ !function() {
5557 -/******/ // getDefaultExport function for compatibility with non-harmony modules
5558 -/******/ __webpack_require__.n = function(module) {
5559 -/******/ var getter = module && module.__esModule ?
5560 -/******/ function() { return module['default']; } :
5561 -/******/ function() { return module; };
5562 -/******/ __webpack_require__.d(getter, { a: getter });
5563 -/******/ return getter;
5564 -/******/ };
5565 -/******/ }();
5566 -/******/
5567 -/******/ /* webpack/runtime/define property getters */
5568 -/******/ !function() {
5569 -/******/ // define getter functions for harmony exports
5570 -/******/ __webpack_require__.d = function(exports, definition) {
5571 -/******/ for(var key in definition) {
5572 -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
5573 -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
5574 -/******/ }
5575 -/******/ }
5576 -/******/ };
5577 -/******/ }();
5578 -/******/
5579 -/******/ /* webpack/runtime/hasOwnProperty shorthand */
5580 -/******/ !function() {
5581 -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
5582 -/******/ }();
5583 -/******/
5584 -/******/ /* webpack/runtime/make namespace object */
5585 -/******/ !function() {
5586 -/******/ // define __esModule on exports
5587 -/******/ __webpack_require__.r = function(exports) {
5588 -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
5589 -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5590 -/******/ }
5591 -/******/ Object.defineProperty(exports, '__esModule', { value: true });
5592 -/******/ };
5593 -/******/ }();
5594 -/******/
5595 -/************************************************************************/
5596 -var __webpack_exports__ = {};
5597 -// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
5598 -!function() {
5599 -/*!***************************************************************!*\
5600 - !*** ./packages/packages/core/editor-components/src/index.ts ***!
5601 - \***************************************************************/
5602 -__webpack_require__.r(__webpack_exports__);
5603 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5604 -/* harmony export */ COMPONENT_WIDGET_TYPE: function() { return /* reexport safe */ _create_component_type__WEBPACK_IMPORTED_MODULE_12__.COMPONENT_WIDGET_TYPE; },
5605 -/* harmony export */ ComponentInstanceProvider: function() { return /* reexport safe */ _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_20__.ComponentInstanceProvider; },
5606 -/* harmony export */ ComponentItem: function() { return /* reexport safe */ _components_components_tab_components_item__WEBPACK_IMPORTED_MODULE_3__.ComponentItem; },
5607 -/* harmony export */ ComponentName: function() { return /* reexport safe */ _components_components_tab_components_item__WEBPACK_IMPORTED_MODULE_3__.ComponentName; },
5608 -/* harmony export */ ComponentSearch: function() { return /* reexport safe */ _components_components_tab_component_search__WEBPACK_IMPORTED_MODULE_2__.ComponentSearch; },
5609 -/* harmony export */ ComponentsList: function() { return /* reexport safe */ _components_components_tab_components_list__WEBPACK_IMPORTED_MODULE_4__.ComponentsList; },
5610 -/* harmony export */ DetachAction: function() { return /* reexport safe */ _components_instance_editing_panel_detach_action__WEBPACK_IMPORTED_MODULE_11__.DetachAction; },
5611 -/* harmony export */ EditComponentAction: function() { return /* reexport safe */ _components_instance_editing_panel_instance_panel_header__WEBPACK_IMPORTED_MODULE_9__.EditComponentAction; },
5612 -/* harmony export */ EmptySearchResult: function() { return /* reexport safe */ _components_components_tab_components_list__WEBPACK_IMPORTED_MODULE_4__.EmptySearchResult; },
5613 -/* harmony export */ InstanceEmptyState: function() { return /* reexport safe */ _components_instance_editing_panel_empty_state__WEBPACK_IMPORTED_MODULE_7__.EmptyState; },
5614 -/* harmony export */ InstancePanelBody: function() { return /* reexport safe */ _components_instance_editing_panel_instance_panel_body__WEBPACK_IMPORTED_MODULE_8__.InstancePanelBody; },
5615 -/* harmony export */ InstancePanelHeader: function() { return /* reexport safe */ _components_instance_editing_panel_instance_panel_header__WEBPACK_IMPORTED_MODULE_9__.InstancePanelHeader; },
5616 -/* harmony export */ LoadingComponents: function() { return /* reexport safe */ _components_components_tab_loading_components__WEBPACK_IMPORTED_MODULE_5__.LoadingComponents; },
5617 -/* harmony export */ OverridablePropProvider: function() { return /* reexport safe */ _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_21__.OverridablePropProvider; },
5618 -/* harmony export */ SLICE_NAME: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.SLICE_NAME; },
5619 -/* harmony export */ SearchProvider: function() { return /* reexport safe */ _components_components_tab_search_provider__WEBPACK_IMPORTED_MODULE_6__.SearchProvider; },
5620 -/* harmony export */ apiClient: function() { return /* reexport safe */ _api__WEBPACK_IMPORTED_MODULE_1__.apiClient; },
5621 -/* harmony export */ componentInstanceOverridePropTypeUtil: function() { return /* reexport safe */ _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_16__.componentInstanceOverridePropTypeUtil; },
5622 -/* harmony export */ componentInstanceOverridesPropTypeUtil: function() { return /* reexport safe */ _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_17__.componentInstanceOverridesPropTypeUtil; },
5623 -/* harmony export */ componentInstancePropTypeUtil: function() { return /* reexport safe */ _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_18__.componentInstancePropTypeUtil; },
5624 -/* harmony export */ componentOverridablePropTypeUtil: function() { return /* reexport safe */ _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_19__.componentOverridablePropTypeUtil; },
5625 -/* harmony export */ componentsActions: function() { return /* reexport safe */ _store_dispatchers__WEBPACK_IMPORTED_MODULE_24__.componentsActions; },
5626 -/* harmony export */ componentsSelectors: function() { return /* reexport safe */ _store_selectors__WEBPACK_IMPORTED_MODULE_25__.componentsSelectors; },
5627 -/* harmony export */ createComponentsAction: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.createComponentsAction; },
5628 -/* harmony export */ filterValidOverridableProps: function() { return /* reexport safe */ _utils_filter_valid_overridable_props__WEBPACK_IMPORTED_MODULE_28__.filterValidOverridableProps; },
5629 -/* harmony export */ getComponentDocumentData: function() { return /* reexport safe */ _utils_component_document_data__WEBPACK_IMPORTED_MODULE_36__.getComponentDocumentData; },
5630 -/* harmony export */ getContainerByOriginId: function() { return /* reexport safe */ _utils_get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_29__.getContainerByOriginId; },
5631 -/* harmony export */ getOverridableProp: function() { return /* reexport safe */ _utils_get_overridable_prop__WEBPACK_IMPORTED_MODULE_30__.getOverridableProp; },
5632 -/* harmony export */ getPropTypeForComponentOverride: function() { return /* reexport safe */ _utils_get_prop_type_for_component_override__WEBPACK_IMPORTED_MODULE_31__.getPropTypeForComponentOverride; },
5633 -/* harmony export */ init: function() { return /* reexport safe */ _init__WEBPACK_IMPORTED_MODULE_0__.init; },
5634 -/* harmony export */ isComponentInstance: function() { return /* reexport safe */ _utils_is_component_instance__WEBPACK_IMPORTED_MODULE_32__.isComponentInstance; },
5635 -/* harmony export */ loadComponentsAssets: function() { return /* reexport safe */ _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_22__.loadComponentsAssets; },
5636 -/* harmony export */ onElementDrop: function() { return /* reexport safe */ _utils_tracking__WEBPACK_IMPORTED_MODULE_35__.onElementDrop; },
5637 -/* harmony export */ publishDraftComponentsInPageBeforeSave: function() { return /* reexport safe */ _sync_publish_draft_components_in_page_before_save__WEBPACK_IMPORTED_MODULE_27__.publishDraftComponentsInPageBeforeSave; },
5638 -/* harmony export */ registerComponentsReducer: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.registerComponentsReducer; },
5639 -/* harmony export */ resolveOverridePropValue: function() { return /* reexport safe */ _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_33__.resolveOverridePropValue; },
5640 -/* harmony export */ selectOverridableProps: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.selectOverridableProps; },
5641 -/* harmony export */ selectPath: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.selectPath; },
5642 -/* harmony export */ slice: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.slice; },
5643 -/* harmony export */ switchToComponent: function() { return /* reexport safe */ _utils_switch_to_component__WEBPACK_IMPORTED_MODULE_34__.switchToComponent; },
5644 -/* harmony export */ trackComponentEvent: function() { return /* reexport safe */ _utils_tracking__WEBPACK_IMPORTED_MODULE_35__.trackComponentEvent; },
5645 -/* harmony export */ updateOverridableProp: function() { return /* reexport safe */ _store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_23__.updateOverridableProp; },
5646 -/* harmony export */ useComponentInstanceElement: function() { return /* reexport safe */ _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_21__.useComponentInstanceElement; },
5647 -/* harmony export */ useComponents: function() { return /* reexport safe */ _hooks_use_components__WEBPACK_IMPORTED_MODULE_13__.useComponents; },
5648 -/* harmony export */ useComponentsPermissions: function() { return /* reexport safe */ _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_14__.useComponentsPermissions; },
5649 -/* harmony export */ useCurrentComponent: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.useCurrentComponent; },
5650 -/* harmony export */ useCurrentComponentId: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.useCurrentComponentId; },
5651 -/* harmony export */ useFilteredComponents: function() { return /* reexport safe */ _components_components_tab_components_list__WEBPACK_IMPORTED_MODULE_4__.useFilteredComponents; },
5652 -/* harmony export */ useInstancePanelData: function() { return /* reexport safe */ _components_instance_editing_panel_use_instance_panel_data__WEBPACK_IMPORTED_MODULE_10__.useInstancePanelData; },
5653 -/* harmony export */ useIsSanitizedComponent: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.useIsSanitizedComponent; },
5654 -/* harmony export */ useOverridablePropValue: function() { return /* reexport safe */ _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_21__.useOverridablePropValue; },
5655 -/* harmony export */ useOverridableProps: function() { return /* reexport safe */ _store_store__WEBPACK_IMPORTED_MODULE_26__.useOverridableProps; },
5656 -/* harmony export */ useSanitizeOverridableProps: function() { return /* reexport safe */ _hooks_use_sanitize_overridable_props__WEBPACK_IMPORTED_MODULE_15__.useSanitizeOverridableProps; }
5657 -/* harmony export */ });
5658 -/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./init */ "./packages/packages/core/editor-components/src/init.ts");
5659 -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./api */ "./packages/packages/core/editor-components/src/api.ts");
5660 -/* harmony import */ var _components_components_tab_component_search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/components-tab/component-search */ "./packages/packages/core/editor-components/src/components/components-tab/component-search.tsx");
5661 -/* harmony import */ var _components_components_tab_components_item__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/components-tab/components-item */ "./packages/packages/core/editor-components/src/components/components-tab/components-item.tsx");
5662 -/* harmony import */ var _components_components_tab_components_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/components-tab/components-list */ "./packages/packages/core/editor-components/src/components/components-tab/components-list.tsx");
5663 -/* harmony import */ var _components_components_tab_loading_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/components-tab/loading-components */ "./packages/packages/core/editor-components/src/components/components-tab/loading-components.tsx");
5664 -/* harmony import */ var _components_components_tab_search_provider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/components-tab/search-provider */ "./packages/packages/core/editor-components/src/components/components-tab/search-provider.tsx");
5665 -/* harmony import */ var _components_instance_editing_panel_empty_state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/instance-editing-panel/empty-state */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/empty-state.tsx");
5666 -/* harmony import */ var _components_instance_editing_panel_instance_panel_body__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/instance-editing-panel/instance-panel-body */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-body.tsx");
5667 -/* harmony import */ var _components_instance_editing_panel_instance_panel_header__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/instance-editing-panel/instance-panel-header */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/instance-panel-header.tsx");
5668 -/* harmony import */ var _components_instance_editing_panel_use_instance_panel_data__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/instance-editing-panel/use-instance-panel-data */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/use-instance-panel-data.ts");
5669 -/* harmony import */ var _components_instance_editing_panel_detach_action__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/instance-editing-panel/detach-action */ "./packages/packages/core/editor-components/src/components/instance-editing-panel/detach-action.tsx");
5670 -/* harmony import */ var _create_component_type__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./create-component-type */ "./packages/packages/core/editor-components/src/create-component-type.ts");
5671 -/* harmony import */ var _hooks_use_components__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./hooks/use-components */ "./packages/packages/core/editor-components/src/hooks/use-components.ts");
5672 -/* harmony import */ var _hooks_use_components_permissions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./hooks/use-components-permissions */ "./packages/packages/core/editor-components/src/hooks/use-components-permissions.ts");
5673 -/* harmony import */ var _hooks_use_sanitize_overridable_props__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./hooks/use-sanitize-overridable-props */ "./packages/packages/core/editor-components/src/hooks/use-sanitize-overridable-props.ts");
5674 -/* harmony import */ var _prop_types_component_instance_override_prop_type__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./prop-types/component-instance-override-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-override-prop-type.ts");
5675 -/* harmony import */ var _prop_types_component_instance_overrides_prop_type__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./prop-types/component-instance-overrides-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-overrides-prop-type.ts");
5676 -/* harmony import */ var _prop_types_component_instance_prop_type__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./prop-types/component-instance-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-instance-prop-type.ts");
5677 -/* harmony import */ var _prop_types_component_overridable_prop_type__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./prop-types/component-overridable-prop-type */ "./packages/packages/core/editor-components/src/prop-types/component-overridable-prop-type.ts");
5678 -/* harmony import */ var _provider_component_instance_context__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./provider/component-instance-context */ "./packages/packages/core/editor-components/src/provider/component-instance-context.tsx");
5679 -/* harmony import */ var _provider_overridable_prop_context__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./provider/overridable-prop-context */ "./packages/packages/core/editor-components/src/provider/overridable-prop-context.tsx");
5680 -/* harmony import */ var _store_actions_load_components_assets__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./store/actions/load-components-assets */ "./packages/packages/core/editor-components/src/store/actions/load-components-assets.ts");
5681 -/* harmony import */ var _store_actions_update_overridable_prop__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./store/actions/update-overridable-prop */ "./packages/packages/core/editor-components/src/store/actions/update-overridable-prop.ts");
5682 -/* harmony import */ var _store_dispatchers__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./store/dispatchers */ "./packages/packages/core/editor-components/src/store/dispatchers.ts");
5683 -/* harmony import */ var _store_selectors__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./store/selectors */ "./packages/packages/core/editor-components/src/store/selectors.ts");
5684 -/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./store/store */ "./packages/packages/core/editor-components/src/store/store.ts");
5685 -/* harmony import */ var _sync_publish_draft_components_in_page_before_save__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./sync/publish-draft-components-in-page-before-save */ "./packages/packages/core/editor-components/src/sync/publish-draft-components-in-page-before-save.ts");
5686 -/* harmony import */ var _utils_filter_valid_overridable_props__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./utils/filter-valid-overridable-props */ "./packages/packages/core/editor-components/src/utils/filter-valid-overridable-props.ts");
5687 -/* harmony import */ var _utils_get_container_by_origin_id__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./utils/get-container-by-origin-id */ "./packages/packages/core/editor-components/src/utils/get-container-by-origin-id.ts");
5688 -/* harmony import */ var _utils_get_overridable_prop__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./utils/get-overridable-prop */ "./packages/packages/core/editor-components/src/utils/get-overridable-prop.ts");
5689 -/* harmony import */ var _utils_get_prop_type_for_component_override__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./utils/get-prop-type-for-component-override */ "./packages/packages/core/editor-components/src/utils/get-prop-type-for-component-override.ts");
5690 -/* harmony import */ var _utils_is_component_instance__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./utils/is-component-instance */ "./packages/packages/core/editor-components/src/utils/is-component-instance.ts");
5691 -/* harmony import */ var _utils_resolve_override_prop_value__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./utils/resolve-override-prop-value */ "./packages/packages/core/editor-components/src/utils/resolve-override-prop-value.ts");
5692 -/* harmony import */ var _utils_switch_to_component__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./utils/switch-to-component */ "./packages/packages/core/editor-components/src/utils/switch-to-component.ts");
5693 -/* harmony import */ var _utils_tracking__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./utils/tracking */ "./packages/packages/core/editor-components/src/utils/tracking.ts");
5694 -/* harmony import */ var _utils_component_document_data__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./utils/component-document-data */ "./packages/packages/core/editor-components/src/utils/component-document-data.ts");
5695 -
5696 -
5697 -
5698 -
5699 -
5700 -
5701 -
5702 -
5703 -
5704 -
5705 -
5706 -
5707 -
5708 -
5709 -
5710 -
5711 -
5712 -
5713 -
5714 -
5715 -
5716 -
5717 -
5718 -
5719 -
5720 -
5721 -
5722 -
5723 -
5724 -
5725 -
5726 -
5727 -
5728 -
5729 -
5730 -
5731 -
5732 -}();
5733 -(window.elementorV2 = window.elementorV2 || {}).editorComponents = __webpack_exports__;
5734 -/******/ })()
5735 -;
5736 -window.elementorV2.editorComponents?.init?.();
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"),M=n("./packages/packages/core/editor-components/src/store/components-styles-provider.ts"),U=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"),B=n("./packages/packages/core/editor-components/src/sync/handle-component-edit-mode-container.ts"),V=n("./packages/packages/core/editor-components/src/sync/load-component-data-after-instance-added.ts"),G=n("./packages/packages/core/editor-components/src/sync/revert-overridables-on-copy-or-duplicate.ts"),F=n("./packages/packages/core/editor-components/src/utils/tracking.ts");function init(){p.stylesRepository.register(M.componentsStylesProvider),(0,m.__registerSlice)(U.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",F.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,R.initCleanupOverridablePropsOnDelete)(),(0,I.initMcp)(),(0,S.initCircularNestingPrevention)(),(0,T.initNonAtomicNestingPrevention)(),(0,V.initLoadComponentDataAfterInstanceAdded)(),(0,B.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/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?.();
5737 66 //# sourceMappingURL=editor-components.js.map