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