File "editor-components.min.js"

Full Path: /home/fresvfqn/waterdamagerestorationandrepairsmithtown.com/wp-content/plugins/elementor/assets/js/packages/editor-components/editor-components.min.js
File size: 5.74 KB
MIME-type: text/plain
Charset: utf-8

!function(){"use strict";var e={d:function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{init:function(){return x}});var n=window.elementorV2.editor,o=window.elementorV2.editorElementsPanel,r=window.wp.i18n,a=window.React,s=window.elementorV2.ui;function l(){return a.createElement(s.Box,{px:2},"This is the Components tab.")}var i=window.elementorV2.editorElements,m=window.elementorV2.editorUi,c=window.elementorV2.icons,d=window.elementorV2.query,u=window.elementorV2.httpClient;const p="elementor/v1/components",w={get:()=>(0,u.httpService)().get(`${p}`).then(e=>e.data.data),create:e=>(0,u.httpService)().post(`${p}`,e).then(e=>e.data.data)},h="components",y=()=>{const e=(0,d.useQueryClient)();return(0,d.useMutation)({mutationFn:w.create,onSuccess:()=>e.invalidateQueries({queryKey:[h]})})},g=e=>{const[t,n]=(0,a.useState)(e),[o,r]=(0,a.useState)({}),s=(0,a.useMemo)(()=>!Object.values(o).some(e=>e),[o]);return{values:t,errors:o,isValid:s,handleChange:(e,o,a)=>{const s={...t,[o]:e.target.value};n(s);const{success:l,errors:i}=f(s,a);r(l?{}:i)},validateForm:e=>{const{success:n,errors:o,parsedValues:a}=f(t,e);return n?(r({}),{success:n,parsedValues:a}):(r(o),{success:n})}}},f=(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}};var v=window.elementorV2.schema;const E=e=>v.z.object({componentName:v.z.string().trim().max(50,(0,r.__)("Component name is too long. Please keep it under 50 characters.","elementor")).refine(t=>!e.includes(t),{message:(0,r.__)("Component name already exists","elementor")})});var _=window.elementorV2.editorProps;const S=async(e,t)=>{(0,i.replaceElement)({currentElement:e,newElement:{elType:"widget",widgetType:"e-component",settings:{component_id:_.numberPropTypeUtil.create(t)}},withHistory:!1})};function b(){const[e,t]=(0,a.useState)(null),[n,o]=(0,a.useState)(),[l,c]=(0,a.useState)(null),{mutate:d,isPending:u}=y();(0,a.useEffect)(()=>{const e="elementor/editor/open-save-as-component-form",n=e=>{t({element:e.detail.element,elementLabel:(0,i.getElementLabel)(e.detail.element.id)}),o(e.detail.anchorPosition)};return window.addEventListener(e,n),()=>{window.removeEventListener(e,n)}},[]);const p=()=>{t(null),o(void 0)};return a.createElement(m.ThemeProvider,null,a.createElement(s.Popover,{open:null!==e,onClose:p,anchorReference:"anchorPosition",anchorPosition:n},null!==e&&a.createElement(V,{initialValues:{componentName:e.elementLabel},handleSave:async t=>{if(!e)throw new Error("Can't save element as component: element not found");d({name:t.componentName,content:[e.element.model.toJSON({remove:["default"]})]},{onSuccess:n=>{if(!e)throw new Error("Can't replace element with component: element not found");S(e.element,n.component_id),c({show:!0,message:(0,r.__)("Component saved successfully as: %1$s (ID: %2$s)","elementor").replace("%1$s",t.componentName).replace("%2$s",n.component_id.toString()),type:"success"}),p()},onError:()=>{const e=(0,r.__)("Failed to save component. Please try again.","elementor");c({show:!0,message:e,type:"error"})}})},isSubmitting:u,closePopup:p})),a.createElement(s.Snackbar,{open:l?.show,onClose:()=>c(null)},a.createElement(s.Alert,{onClose:()=>c(null),severity:l?.type,sx:{width:"100%"}},l?.message)))}const C="tiny",V=({initialValues:e,handleSave:t,isSubmitting:n,closePopup:o})=>{const{values:l,errors:i,isValid:m,handleChange:u,validateForm:p}=g(e),{data:y}=(0,d.useQuery)({queryKey:[h],queryFn:w.get,staleTime:1/0}),f=(0,a.useMemo)(()=>y?.map(e=>e.name)??[],[y]),v=(0,a.useMemo)(()=>E(f),[f]),_=(0,a.useMemo)(()=>(e=>{const t=E(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>=2,{message:(0,r.__)("Component name is too short. Please enter at least 2 characters.","elementor")})})})(f),[f]);return a.createElement(s.Stack,{alignItems:"start",width:"268px"},a.createElement(s.Stack,{direction:"row",alignItems:"center",py:1,px:1.5,sx:{columnGap:.5,borderBottom:"1px solid",borderColor:"divider",width:"100%"}},a.createElement(c.StarIcon,{fontSize:C}),a.createElement(s.Typography,{variant:"caption",sx:{color:"text.primary",fontWeight:"500",lineHeight:1}},(0,r.__)("Save as a component","elementor"))),a.createElement(s.Grid,{container:!0,gap:.75,alignItems:"start",p:1.5},a.createElement(s.Grid,{item:!0,xs:12},a.createElement(s.FormLabel,{htmlFor:"component-name",size:"tiny"},(0,r.__)("Name","elementor"))),a.createElement(s.Grid,{item:!0,xs:12},a.createElement(s.TextField,{id:"component-name",size:C,fullWidth:!0,value:l.componentName,onChange:e=>u(e,"componentName",v),inputProps:{style:{color:"text.primary",fontWeight:"600"}},error:Boolean(i.componentName),helperText:i.componentName}))),a.createElement(s.Stack,{direction:"row",justifyContent:"flex-end",alignSelf:"end",py:1,px:1.5},a.createElement(s.Button,{onClick:o,disabled:n,color:"secondary",variant:"text",size:"small"},(0,r.__)("Cancel","elementor")),a.createElement(s.Button,{onClick:()=>{const{success:e,parsedValues:n}=p(_);e&&t(n)},disabled:n||!m,variant:"contained",color:"primary",size:"small"},n?(0,r.__)("Creating…","elementor"):(0,r.__)("Create","elementor"))))};function x(){(0,o.injectTab)({id:"components",label:(0,r.__)("Components","elementor"),component:l}),(0,n.injectIntoTop)({id:"create-component-popup",component:b})}(window.elementorV2=window.elementorV2||{}).editorComponents=t}(),window.elementorV2.editorComponents?.init?.();