@myissue/vue-website-page-builder 3.5.40 → 3.5.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -0
- package/dist/vue-website-page-builder.js +2960 -2929
- package/dist/vue-website-page-builder.umd.cjs +7 -7
- package/package.json +1 -1
|
@@ -363,7 +363,7 @@ This will fail in production.`);s=kn,s._s.has(i)||(a?vd(i,e,n,s):Q_(i,n,s),proce
|
|
|
363
363
|
`;return}n+=b+j$(p)+`
|
|
364
364
|
`,!c&&!mz(p,!0)&&i++}),n.trimEnd()}function Re(r=200){return new Promise(e=>{setTimeout(e,r)})}const $l=o.ref(!1),gz=o.ref(""),es=o.ref(""),Yd=o.ref("element"),yi=o.ref(!1),Nn=o.ref(null);function ts(){function r(i,n,a="element"){gz.value=i,es.value=F$(n),Yd.value=a,Nn.value=null,yi.value=!1,$l.value=!0}function e(){$l.value=!1,Nn.value=null,yi.value=!1}async function t(){const i=Se(),{showToast:n}=Xe(),{translate:a}=ne();yi.value=!0,Nn.value=null,await Re(300);const l=Yd.value==="page"?await i.applyModifiedComponents(es.value):await i.applyModifiedHTML(es.value);if(l){Nn.value=l,n(l,"error"),yi.value=!1;return}n(a("HTML updated successfully"),"success"),$l.value=!1,yi.value=!1}return{show:$l,title:gz,html:es,mode:Yd,isLoading:yi,error:Nn,openHtmlEditor:r,closeHtmlEditor:e,saveHtmlEditor:t}}const U$={class:"pbx-editorSectionDesc"},W$={class:"pbx-inspectorActionStack"},G$=o.defineComponent({name:"ElementHtmlEditorSettingsEditor",__name:"ElementHtmlEditorSettingsEditor",setup(r){const{translate:e}=ne(),t=ve,{openHtmlViewer:i}=Zl(),{openHtmlEditor:n}=ts(),a=o.computed(()=>t.getElement),l=()=>{a.value&&n(e("Element HTML"),a.value.outerHTML,"element")},s=()=>{a.value&&i(e("Element HTML"),a.value.outerHTML)};return(p,d)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Element HTML")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",U$,o.toDisplayString(o.unref(e)("Element HTML editor description")),1),o.createElementVNode("div",W$,[o.createVNode(Er,{icon:"visibility",label:o.unref(e)("View element HTML"),hint:o.unref(e)("Preview selected element markup"),onClick:s},null,8,["label","hint"]),o.createVNode(Er,{icon:"deployed_code",label:o.unref(e)("Open element HTML editor"),hint:o.unref(e)("Edit selected element markup"),onClick:l},null,8,["label","hint"])])]),_:1}))}});function K$(r){return new Promise((e,t)=>{const i=new window.Image;i.onload=e,i.onerror=t,i.src=r})}const J$={class:"pbx-editorFieldGroup"},Y$={class:"pbx-editorFieldGroup"},Q$=["src"],X$={class:"pbx-editorFieldGroup pbx-rounded-lg pbx-border pbx-border-solid pbx-border-gray-200 pbx-bg-gray-50 pbx-px-4 pbx-py-8 pbx-text-center"},Z$={class:"pbx-editorSectionDesc pbx-mb-0"},$$=o.defineComponent({__name:"ImageEditor",setup(r){const{translate:e}=ne(),t=ve,i=o.inject("CustomMediaComponent",null),n=o.ref(null),a=o.ref(!1),l=o.ref(!1),s=o.ref(""),p=o.ref(""),d=o.ref(""),c=o.ref(null),b=o.ref(null),m=o.ref(null),g=o.computed(()=>(t.getBasePrimaryImage&&y(t.getBasePrimaryImage),t.getBasePrimaryImage));function x(w){return w?w.tagName==="IMG"?!0:!!t.getBasePrimaryImage:!1}function u(w){var f;x(w)&&((f=n.value)==null||f.open())}o.watch(()=>t.getElement,w=>{u(w)},{immediate:!0,flush:"post"}),o.watch(()=>t.getBasePrimaryImage,()=>{u(t.getElement)}),o.onMounted(()=>{o.nextTick(()=>{u(t.getElement)})});const h=function(){l.value=!0,s.value=e("Media Library"),p.value=null,d.value=e("Close"),c.value=e("Select image"),m.value=function(){l.value=!1}},y=async function(w){a.value=!0,w&&typeof w=="string"&&w.length>2&&(await K$(w),await Re(200),a.value=!1)};return(w,f)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(He,{ref_key:"imageAccordionRef",ref:n},{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Image")),1)]),content:o.withCtx(()=>[o.withDirectives(o.createElementVNode("div",J$,[...f[1]||(f[1]=[o.createElementVNode("div",{class:"pbx-flex pbx-min-h-40 pbx-items-center pbx-justify-center"},[o.createElementVNode("div",{class:"pbx-inline-block pbx-h-8 pbx-w-8 pbx-animate-spin pbx-rounded-full pbx-border-4 pbx-border-solid pbx-border-current pbx-border-r-transparent pbx-align-[-0.125em] motion-reduce:pbx-animate-[spin_1.5s_linear_infinite]"},[o.createElementVNode("span",{class:"!pbx-absolute !pbx-m-px !pbx-h-px !pbx-w-px !pbx-overflow-hidden !pbx-whitespace-nowrap !pbx-border-0 !pbx-p-0 !pbx-[clip:rect(0,0,0,0)]"},"Loading...")])],-1)])],512),[[o.vShow,a.value]]),o.withDirectives(o.createElementVNode("div",Y$,[o.createElementVNode("img",{class:"pbx-w-full pbx-cursor-pointer pbx-rounded-lg pbx-object-cover pbx-object-center",src:g.value??void 0,onClick:h,alt:"image"},null,8,Q$)],512),[[o.vShow,g.value&&!a.value]]),o.withDirectives(o.createElementVNode("div",X$,[o.createElementVNode("p",Z$,o.toDisplayString(o.unref(e)("No image has been selected.")),1)],512),[[o.vShow,!a.value&&!g.value]])]),_:1},512),o.createVNode(wD,{open:l.value,title:s.value,description:p.value,firstButtonText:d.value,secondButtonText:c.value??void 0,thirdButtonText:b.value??void 0,customMediaComponent:o.unref(i)??void 0,onFirstMediaButtonFunction:f[0]||(f[0]=()=>{var E;return(E=m.value)==null?void 0:E.call(m)})},null,8,["open","title","description","firstButtonText","secondButtonText","thirdButtonText","customMediaComponent"])],64))}}),rs={opacities:["none","pbx-opacity-0","pbx-opacity-5","pbx-opacity-10","pbx-opacity-20","pbx-opacity-25","pbx-opacity-30","pbx-opacity-40","pbx-opacity-50","pbx-opacity-60","pbx-opacity-70","pbx-opacity-75","pbx-opacity-80","pbx-opacity-90","pbx-opacity-95","pbx-opacity-100"],backgroundOpacities:["none","pbx-bg-opacity-0","pbx-bg-opacity-5","pbx-bg-opacity-10","pbx-bg-opacity-20","pbx-bg-opacity-25","pbx-bg-opacity-30","pbx-bg-opacity-40","pbx-bg-opacity-50","pbx-bg-opacity-60","pbx-bg-opacity-70","pbx-bg-opacity-75","pbx-bg-opacity-80","pbx-bg-opacity-90","pbx-bg-opacity-95","pbx-bg-opacity-100"]},eee={class:"pbx-editorFieldGroup"},tee={class:"pbx-relative"},ree={class:"pbx-flex pbx-items-center pbx-gap-2"},oee={key:0},iee={class:"pbx-flex pbx-items-center"},nee={key:0},aee={key:2,class:"pbx-ml-3"},lee={key:3,class:"pbx-ml-3"},see=o.defineComponent({__name:"BackgroundOpacityControl",setup(r){const e=Se(),{translate:t}=ne(),i=ve,n=o.ref(null),a=o.computed(()=>i.getBackgroundOpacity);return o.watch(a,async l=>{n.value=l,await e.initializeElementStyles()},{immediate:!0}),(l,s)=>(o.openBlock(),o.createElementBlock("div",eee,[o.createVNode(o.unref(Mn),{as:"div",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=p=>n.value=p)},{default:o.withCtx(()=>[o.createElementVNode("div",tee,[o.createVNode(o.unref(Pn),{class:"pbx-myPrimarySelect",id:"bg-opacity"},{default:o.withCtx(()=>[o.createElementVNode("span",ree,[n.value==="none"?(o.openBlock(),o.createElementBlock("div",oee,[...s[1]||(s[1]=[o.createElementVNode("div",{class:"pbx-myPrimaryColorPreview pbx-border-none"},[o.createElementVNode("span",{class:"material-symbols-outlined"}," ev_shadow ")],-1)])])):o.createCommentVNode("",!0),n.value!=="none"?(o.openBlock(),o.createElementBlock("div",{key:1,class:o.normalizeClass(["pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950",`${n.value}`])},null,2)):o.createCommentVNode("",!0),o.createElementVNode("span",{class:o.normalizeClass(["pbx-block pbx-truncate",[(n.value!=="none","")]])},o.toDisplayString(n.value==="none"?o.unref(t)("Transparent"):n.value),3)])]),_:1}),o.createVNode(o.Transition,{"leave-active-class":"pbx-transition pbx-ease-in pbx-duration-100","leave-from-class":"pbx-opacity-100","leave-to-class":"pbx-opacity-0"},{default:o.withCtx(()=>[o.createVNode(o.unref(Bn),{class:"pbx-absolute pbx-z-10 pbx-mt-1 pbx-max-h-56 pbx-w-full pbx-overflow-auto pbx-rounded-md pbx-bg-white pbx-text-base pbx-shadow-lg pbx-ring-1 pbx-ring-black pbx-ring-opacity-5 focus:pbx-outline-none sm:pbx-text-sm pbx-list-none pbx-p-0 pbx-m-0"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(rs).backgroundOpacities,p=>(o.openBlock(),o.createBlock(o.unref(Tr),{as:"template",onClick:d=>o.unref(e).handleBackgroundOpacity(p),key:p,value:p},{default:o.withCtx(({active:d})=>[o.createElementVNode("li",{class:o.normalizeClass([d?"pbx-bg-myPrimaryLinkColor text-white":"pbx-text-myPrimaryDarkGrayColor","pbx-relative pbx-cursor-default pbx-select-none pbx-py-2 pbx-pl-3 pbx-pr-9"])},[o.createElementVNode("div",iee,[p==="none"?(o.openBlock(),o.createElementBlock("div",nee,[...s[2]||(s[2]=[o.createElementVNode("div",{class:"pbx-myPrimaryColorPreview pbx-border-none"},[o.createElementVNode("span",{class:"material-symbols-outlined"}," ev_shadow ")],-1)])])):o.createCommentVNode("",!0),p!=="none"?(o.openBlock(),o.createElementBlock("div",{key:1,class:o.normalizeClass(["pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950",`${p}`])},null,2)):o.createCommentVNode("",!0),p==="none"?(o.openBlock(),o.createElementBlock("span",aee,o.toDisplayString(o.unref(t)("Transparent")),1)):o.createCommentVNode("",!0),p!=="none"?(o.openBlock(),o.createElementBlock("span",lee,o.toDisplayString(p),1)):o.createCommentVNode("",!0)])],2)]),_:2},1032,["onClick","value"]))),128))]),_:1})]),_:1})])]),_:1},8,["modelValue"])]))}}),pee={class:"pbx-editorFieldGroup"},dee={class:"pbx-relative"},cee={class:"pbx-flex pbx-items-center pbx-gap-2"},bee={key:0},mee={class:"pbx-flex pbx-items-center"},gee={key:0},uee={key:2,class:"pbx-ml-3"},xee={key:3,class:"pbx-ml-3"},hee=o.defineComponent({__name:"OpacityControl",setup(r){const e=Se(),{translate:t}=ne(),i=ve,n=o.ref(null),a=o.computed(()=>i.getOpacity);return o.watch(a,async l=>{n.value=l,await e.initializeElementStyles()},{immediate:!0}),(l,s)=>(o.openBlock(),o.createElementBlock("div",pee,[o.createVNode(o.unref(Mn),{as:"div",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=p=>n.value=p)},{default:o.withCtx(()=>[o.createElementVNode("div",dee,[o.createVNode(o.unref(Pn),{class:"pbx-myPrimarySelect",id:"default-opacity"},{default:o.withCtx(()=>[o.createElementVNode("span",cee,[n.value==="none"?(o.openBlock(),o.createElementBlock("div",bee,[...s[1]||(s[1]=[o.createElementVNode("div",{class:"pbx-myPrimaryColorPreview pbx-border-none"},[o.createElementVNode("span",{class:"material-symbols-outlined"}," ev_shadow ")],-1)])])):o.createCommentVNode("",!0),n.value!=="none"?(o.openBlock(),o.createElementBlock("div",{key:1,class:o.normalizeClass(["pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950",`${n.value}`])},null,2)):o.createCommentVNode("",!0),o.createElementVNode("span",{class:o.normalizeClass(["pbx-block pbx-truncate",[(n.value!=="none","")]])},o.toDisplayString(n.value==="none"?o.unref(t)("Transparent"):n.value),3)])]),_:1}),o.createVNode(o.Transition,{"leave-active-class":"pbx-transition pbx-ease-in pbx-duration-100","leave-from-class":"pbx-opacity-100","leave-to-class":"pbx-opacity-0"},{default:o.withCtx(()=>[o.createVNode(o.unref(Bn),{class:"pbx-absolute pbx-z-10 pbx-mt-1 pbx-max-h-56 pbx-w-full pbx-overflow-auto pbx-rounded-md pbx-bg-white pbx-text-base pbx-shadow-lg pbx-ring-1 pbx-ring-black pbx-ring-opacity-5 focus:pbx-outline-none sm:pbx-text-sm pbx-list-none pbx-p-0 pbx-m-0"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(rs).opacities,p=>(o.openBlock(),o.createBlock(o.unref(Tr),{as:"template",onClick:d=>o.unref(e).handleOpacity(p),key:p,value:p},{default:o.withCtx(({active:d})=>[o.createElementVNode("li",{class:o.normalizeClass([d?"pbx-bg-myPrimaryLinkColor text-white":"pbx-text-myPrimaryDarkGrayColor","pbx-relative pbx-cursor-default pbx-select-none pbx-py-2 pbx-pl-3 pbx-pr-9"])},[o.createElementVNode("div",mee,[p==="none"?(o.openBlock(),o.createElementBlock("div",gee,[...s[2]||(s[2]=[o.createElementVNode("div",{class:"pbx-myPrimaryColorPreview pbx-border-none"},[o.createElementVNode("span",{class:"material-symbols-outlined"}," ev_shadow ")],-1)])])):o.createCommentVNode("",!0),p!=="none"?(o.openBlock(),o.createElementBlock("div",{key:1,class:o.normalizeClass(["pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950",`${p}`])},null,2)):o.createCommentVNode("",!0),p==="none"?(o.openBlock(),o.createElementBlock("span",uee,o.toDisplayString(o.unref(t)("Transparent")),1)):o.createCommentVNode("",!0),p!=="none"?(o.openBlock(),o.createElementBlock("span",xee,o.toDisplayString(p),1)):o.createCommentVNode("",!0)])],2)]),_:2},1032,["onClick","value"]))),128))]),_:1})]),_:1})])]),_:1},8,["modelValue"])]))}}),fee={class:"pbx-editorSectionTitle"},yee={class:"pbx-editorSectionTitle"},wee=o.defineComponent({__name:"OpacityEditor",setup(r){const{translate:e}=ne();return(t,i)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Opacity & Transparency")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",fee,o.toDisplayString(o.unref(e)("Opacity")),1),o.createVNode(hee),i[0]||(i[0]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("p",yee,o.toDisplayString(o.unref(e)("Background Opacity")),1),o.createVNode(see)]),_:1}))}}),vee={key:0,class:"pbx-text-[9px] pbx-font-medium pbx-uppercase pbx-tracking-wide pbx-text-gray-400 pbx-leading-none"},wi=o.defineComponent({__name:"SpacingStepper",props:{value:{},sideLabel:{},compact:{type:Boolean}},emits:["decrement","increment"],setup(r){return(e,t)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["pbx-flex pbx-items-center pbx-gap-0.5 pbx-rounded-lg pbx-bg-gray-100/80 pbx-p-0.5",r.compact?"pbx-scale-90 pbx-origin-center":""])},[o.createElementVNode("button",{type:"button",class:"pbx-flex pbx-h-7 pbx-w-7 pbx-shrink-0 pbx-cursor-pointer pbx-items-center pbx-justify-center pbx-rounded-md pbx-border-none pbx-bg-white pbx-text-gray-600 pbx-shadow-sm pbx-transition-colors hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-outline-none",onClick:t[0]||(t[0]=i=>e.$emit("decrement"))},[...t[2]||(t[2]=[o.createElementVNode("span",{class:"material-symbols-outlined pbx-materialIcon18"},"remove",-1)])]),o.createElementVNode("div",{class:o.normalizeClass(["pbx-flex pbx-flex-col pbx-items-center pbx-justify-center",r.sideLabel?"pbx-min-w-[2.75rem]":"pbx-min-w-[2.25rem]"])},[r.sideLabel?(o.openBlock(),o.createElementBlock("span",vee,o.toDisplayString(r.sideLabel),1)):o.createCommentVNode("",!0),o.createElementVNode("span",{class:o.normalizeClass(["pbx-font-semibold pbx-tabular-nums pbx-text-gray-800",r.sideLabel?"pbx-text-xs":"pbx-text-sm"])},o.toDisplayString(r.value),3)],2),o.createElementVNode("button",{type:"button",class:"pbx-flex pbx-h-7 pbx-w-7 pbx-shrink-0 pbx-cursor-pointer pbx-items-center pbx-justify-center pbx-rounded-md pbx-border-none pbx-bg-white pbx-text-gray-600 pbx-shadow-sm pbx-transition-colors hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-outline-none",onClick:t[1]||(t[1]=i=>e.$emit("increment"))},[...t[3]||(t[3]=[o.createElementVNode("span",{class:"material-symbols-outlined pbx-materialIcon18"},"add",-1)])])],2))}}),be={verticalPadding:["none","pbx-py-0","pbx-py-0.5","pbx-py-1","pbx-py-1.5","pbx-py-2","pbx-py-2.5","pbx-py-3","pbx-py-3.5","pbx-py-4","pbx-py-5","pbx-py-6","pbx-py-7","pbx-py-8","pbx-py-9","pbx-py-10","pbx-py-11","pbx-py-12","pbx-py-14","pbx-py-16","pbx-py-20","pbx-py-24","pbx-py-28","pbx-py-32","pbx-py-36","pbx-py-40","pbx-py-44","pbx-py-48","pbx-py-52","pbx-py-56","pbx-py-60","pbx-py-64","pbx-py-72","pbx-py-80","pbx-py-96"],horizontalPadding:["none","pbx-px-0","pbx-px-0.5","pbx-px-1","pbx-px-1.5","pbx-px-2","pbx-px-2.5","pbx-px-3","pbx-px-3.5","pbx-px-4","pbx-px-5","pbx-px-6","pbx-px-7","pbx-px-8","pbx-px-9","pbx-px-10","pbx-px-11","pbx-px-12","pbx-px-14","pbx-px-16","pbx-px-20","pbx-px-24","pbx-px-28","pbx-px-32","pbx-px-36","pbx-px-40","pbx-px-44","pbx-px-48","pbx-px-52","pbx-px-56","pbx-px-60","pbx-px-64","pbx-px-72","pbx-px-80","pbx-px-96"],topPadding:["none","pbx-pt-0","pbx-pt-0.5","pbx-pt-1","pbx-pt-1.5","pbx-pt-2","pbx-pt-2.5","pbx-pt-3","pbx-pt-3.5","pbx-pt-4","pbx-pt-5","pbx-pt-6","pbx-pt-7","pbx-pt-8","pbx-pt-9","pbx-pt-10","pbx-pt-11","pbx-pt-12","pbx-pt-14","pbx-pt-16","pbx-pt-20","pbx-pt-24","pbx-pt-28","pbx-pt-32","pbx-pt-36","pbx-pt-40","pbx-pt-44","pbx-pt-48","pbx-pt-52","pbx-pt-56","pbx-pt-60","pbx-pt-64","pbx-pt-72","pbx-pt-80","pbx-pt-96"],rightPadding:["none","pbx-pr-0","pbx-pr-0.5","pbx-pr-1","pbx-pr-1.5","pbx-pr-2","pbx-pr-2.5","pbx-pr-3","pbx-pr-3.5","pbx-pr-4","pbx-pr-5","pbx-pr-6","pbx-pr-7","pbx-pr-8","pbx-pr-9","pbx-pr-10","pbx-pr-11","pbx-pr-12","pbx-pr-14","pbx-pr-16","pbx-pr-20","pbx-pr-24","pbx-pr-28","pbx-pr-32","pbx-pr-36","pbx-pr-40","pbx-pr-44","pbx-pr-48","pbx-pr-52","pbx-pr-56","pbx-pr-60","pbx-pr-64","pbx-pr-72","pbx-pr-80","pbx-pr-96"],bottomPadding:["none","pbx-pb-0","pbx-pb-0.5","pbx-pb-1","pbx-pb-1.5","pbx-pb-2","pbx-pb-2.5","pbx-pb-3","pbx-pb-3.5","pbx-pb-4","pbx-pb-5","pbx-pb-6","pbx-pb-7","pbx-pb-8","pbx-pb-9","pbx-pb-10","pbx-pb-11","pbx-pb-12","pbx-pb-14","pbx-pb-16","pbx-pb-20","pbx-pb-24","pbx-pb-28","pbx-pb-32","pbx-pb-36","pbx-pb-40","pbx-pb-44","pbx-pb-48","pbx-pb-52","pbx-pb-56","pbx-pb-60","pbx-pb-64","pbx-pb-72","pbx-pb-80","pbx-pb-96"],leftPadding:["none","pbx-pl-0","pbx-pl-0.5","pbx-pl-1","pbx-pl-1.5","pbx-pl-2","pbx-pl-2.5","pbx-pl-3","pbx-pl-3.5","pbx-pl-4","pbx-pl-5","pbx-pl-6","pbx-pl-7","pbx-pl-8","pbx-pl-9","pbx-pl-10","pbx-pl-11","pbx-pl-12","pbx-pl-14","pbx-pl-16","pbx-pl-20","pbx-pl-24","pbx-pl-28","pbx-pl-32","pbx-pl-36","pbx-pl-40","pbx-pl-44","pbx-pl-48","pbx-pl-52","pbx-pl-56","pbx-pl-60","pbx-pl-64","pbx-pl-72","pbx-pl-80","pbx-pl-96"],verticalMargin:["none","pbx-my-0","pbx-my-0.5","pbx-my-1","pbx-my-1.5","pbx-my-2","pbx-my-2.5","pbx-my-3","pbx-my-3.5","pbx-my-4","pbx-my-5","pbx-my-6","pbx-my-7","pbx-my-8","pbx-my-9","pbx-my-10","pbx-my-11","pbx-my-12","pbx-my-14","pbx-my-16","pbx-my-20","pbx-my-24","pbx-my-28","pbx-my-32","pbx-my-36","pbx-my-40","pbx-my-44","pbx-my-48","pbx-my-52","pbx-my-56","pbx-my-60","pbx-my-64","pbx-my-72","pbx-my-80","pbx-my-96"],horizontalMargin:["none","pbx-mx-0","pbx-mx-0.5","pbx-mx-1","pbx-mx-1.5","pbx-mx-2","pbx-mx-2.5","pbx-mx-3","pbx-mx-3.5","pbx-mx-4","pbx-mx-5","pbx-mx-6","pbx-mx-7","pbx-mx-8","pbx-mx-9","pbx-mx-10","pbx-mx-11","pbx-mx-12","pbx-mx-14","pbx-mx-16","pbx-mx-20","pbx-mx-24","pbx-mx-28","pbx-mx-32","pbx-mx-36","pbx-mx-40","pbx-mx-44","pbx-mx-48","pbx-mx-52","pbx-mx-56","pbx-mx-60","pbx-mx-64","pbx-mx-72","pbx-mx-80","pbx-mx-96"],topMargin:["none","pbx-mt-0","pbx-mt-0.5","pbx-mt-1","pbx-mt-1.5","pbx-mt-2","pbx-mt-2.5","pbx-mt-3","pbx-mt-3.5","pbx-mt-4","pbx-mt-5","pbx-mt-6","pbx-mt-7","pbx-mt-8","pbx-mt-9","pbx-mt-10","pbx-mt-11","pbx-mt-12","pbx-mt-14","pbx-mt-16","pbx-mt-20","pbx-mt-24","pbx-mt-28","pbx-mt-32","pbx-mt-36","pbx-mt-40","pbx-mt-44","pbx-mt-48","pbx-mt-52","pbx-mt-56","pbx-mt-60","pbx-mt-64","pbx-mt-72","pbx-mt-80","pbx-mt-96"],rightMargin:["none","pbx-mr-0","pbx-mr-0.5","pbx-mr-1","pbx-mr-1.5","pbx-mr-2","pbx-mr-2.5","pbx-mr-3","pbx-mr-3.5","pbx-mr-4","pbx-mr-5","pbx-mr-6","pbx-mr-7","pbx-mr-8","pbx-mr-9","pbx-mr-10","pbx-mr-11","pbx-mr-12","pbx-mr-14","pbx-mr-16","pbx-mr-20","pbx-mr-24","pbx-mr-28","pbx-mr-32","pbx-mr-36","pbx-mr-40","pbx-mr-44","pbx-mr-48","pbx-mr-52","pbx-mr-56","pbx-mr-60","pbx-mr-64","pbx-mr-72","pbx-mr-80","pbx-mr-96"],bottomMargin:["none","pbx-mb-0","pbx-mb-0.5","pbx-mb-1","pbx-mb-1.5","pbx-mb-2","pbx-mb-2.5","pbx-mb-3","pbx-mb-3.5","pbx-mb-4","pbx-mb-5","pbx-mb-6","pbx-mb-7","pbx-mb-8","pbx-mb-9","pbx-mb-10","pbx-mb-11","pbx-mb-12","pbx-mb-14","pbx-mb-16","pbx-mb-20","pbx-mb-24","pbx-mb-28","pbx-mb-32","pbx-mb-36","pbx-mb-40","pbx-mb-44","pbx-mb-48","pbx-mb-52","pbx-mb-56","pbx-mb-60","pbx-mb-64","pbx-mb-72","pbx-mb-80","pbx-mb-96"],leftMargin:["none","pbx-ml-0","pbx-ml-0.5","pbx-ml-1","pbx-ml-1.5","pbx-ml-2","pbx-ml-2.5","pbx-ml-3","pbx-ml-3.5","pbx-ml-4","pbx-ml-5","pbx-ml-6","pbx-ml-7","pbx-ml-8","pbx-ml-9","pbx-ml-10","pbx-ml-11","pbx-ml-12","pbx-ml-14","pbx-ml-16","pbx-ml-20","pbx-ml-24","pbx-ml-28","pbx-ml-32","pbx-ml-36","pbx-ml-40","pbx-ml-44","pbx-ml-48","pbx-ml-52","pbx-ml-56","pbx-ml-60","pbx-ml-64","pbx-ml-72","pbx-ml-80","pbx-ml-96"]},kee={class:"pbx-editorSectionTitle"},See={class:"pbx-editorSectionDesc"},Cee={class:"pbx-mb-4 pbx-space-y-2 pbx-rounded-xl pbx-border pbx-border-solid pbx-border-gray-200 pbx-bg-white pbx-p-3"},Tee={class:"pbx-flex pbx-items-center pbx-justify-between pbx-gap-3"},Eee={class:"pbx-text-xs pbx-font-medium pbx-text-gray-500"},Mee={class:"pbx-flex pbx-items-center pbx-justify-between pbx-gap-3"},Pee={class:"pbx-text-xs pbx-font-medium pbx-text-gray-500"},Bee={class:"pbx-editorSectionTitle"},Lee={class:"pbx-flex pbx-flex-col pbx-items-center pbx-justify-center"},Nee={class:"pbx-mb-3 pbx-flex pbx-justify-center"},Aee={class:"pbx-items-center pbx-gap-2",style:{display:"grid","grid-template-columns":"auto 1fr auto"}},_ee={class:"pbx-flex pbx-h-10 pbx-items-center pbx-justify-center pbx-rounded-lg pbx-border pbx-border-solid pbx-border-gray-200/80 pbx-bg-white pbx-shadow-sm"},Dee={class:"pbx-select-none pbx-text-[10px] pbx-font-medium pbx-text-gray-400"},zee={class:"pbx-mt-3 pbx-flex pbx-justify-center"},uz=o.defineComponent({__name:"SpacingControl",props:{mode:{}},setup(r){const e=r,{translate:t}=ne(),i=Se(),n=ve,a=o.computed(()=>e.mode==="padding"),l=o.computed(()=>a.value?"pbx-bg-emerald-50/40":"pbx-bg-amber-50/40"),s=o.computed(()=>a.value?"pbx-border-emerald-200/60":"pbx-border-amber-200/60"),p=o.ref(null),d=o.ref(null),c=o.ref(null),b=o.ref(null),m=o.ref(null),g=o.ref(null),x=o.computed(()=>a.value?n.getFontVerticalPadding:n.getFontVerticalMargin),u=o.computed(()=>a.value?n.getFontHorizontalPadding:n.getFontHorizontalMargin),h=o.computed(()=>a.value?n.getFontTopPadding:n.getFontTopMargin),y=o.computed(()=>a.value?n.getFontRightPadding:n.getFontRightMargin),w=o.computed(()=>a.value?n.getFontBottomPadding:n.getFontBottomMargin),f=o.computed(()=>a.value?n.getFontLeftPadding:n.getFontLeftMargin);o.watch(x,async _=>{p.value=_,await i.initializeElementStyles()},{immediate:!0}),o.watch(u,async _=>{d.value=_,await i.initializeElementStyles()},{immediate:!0}),o.watch(h,async _=>{c.value=_,await i.initializeElementStyles()},{immediate:!0}),o.watch(y,async _=>{b.value=_,await i.initializeElementStyles()},{immediate:!0}),o.watch(w,async _=>{m.value=_,await i.initializeElementStyles()},{immediate:!0}),o.watch(f,async _=>{g.value=_,await i.initializeElementStyles()},{immediate:!0});function E(_){if(!_||_==="none")return"–";const q=_.match(/-(\d[\d.]*)$/);return q?q[1]:"–"}function S(){return E(c.value&&c.value!=="none"?c.value:p.value)}function P(){return E(m.value&&m.value!=="none"?m.value:p.value)}function v(){return E(g.value&&g.value!=="none"?g.value:d.value)}function M(){return E(b.value&&b.value!=="none"?b.value:d.value)}function C(_,q,Y){const Q=_.indexOf(q??"none");return _[Math.max(0,Math.min(_.length-1,Math.max(0,Q)+Y))]}function k(_){const q=a.value?be.verticalPadding:be.verticalMargin,Y=C(q,p.value,_);p.value=Y,a.value?i.handleVerticalPadding(Y):i.handleVerticalMargin(Y)}function T(_){const q=a.value?be.horizontalPadding:be.horizontalMargin,Y=C(q,d.value,_);d.value=Y,a.value?i.handleHorizontalPadding(Y):i.handleHorizontalMargin(Y)}function V(_){const q=a.value?be.topPadding:be.topMargin,Y=C(q,c.value,_);c.value=Y,a.value?i.handleTopPadding(Y):i.handleTopMargin(Y)}function N(_){const q=a.value?be.rightPadding:be.rightMargin,Y=C(q,b.value,_);b.value=Y,a.value?i.handleRightPadding(Y):i.handleRightMargin(Y)}function A(_){const q=a.value?be.bottomPadding:be.bottomMargin,Y=C(q,m.value,_);m.value=Y,a.value?i.handleBottomPadding(Y):i.handleBottomMargin(Y)}function I(_){const q=a.value?be.leftPadding:be.leftMargin,Y=C(q,g.value,_);g.value=Y,a.value?i.handleLeftPadding(Y):i.handleLeftMargin(Y)}return(_,q)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(t)(a.value?"Padding":"Margin")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",kee,o.toDisplayString(o.unref(t)("All sides")),1),o.createElementVNode("p",See,o.toDisplayString(o.unref(t)("Applies across all screen sizes")),1),o.createElementVNode("div",Cee,[o.createElementVNode("div",Tee,[o.createElementVNode("span",Eee,o.toDisplayString(o.unref(t)("Vertical")),1),o.createVNode(wi,{value:E(p.value),onDecrement:q[0]||(q[0]=Y=>k(-1)),onIncrement:q[1]||(q[1]=Y=>k(1))},null,8,["value"])]),q[12]||(q[12]=o.createElementVNode("div",{class:"pbx-h-px pbx-bg-gray-100"},null,-1)),o.createElementVNode("div",Mee,[o.createElementVNode("span",Pee,o.toDisplayString(o.unref(t)("Horizontal")),1),o.createVNode(wi,{value:E(d.value),onDecrement:q[2]||(q[2]=Y=>T(-1)),onIncrement:q[3]||(q[3]=Y=>T(1))},null,8,["value"])])]),q[13]||(q[13]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",Bee,o.toDisplayString(o.unref(t)(a.value?"Padding":"Margin")),1),o.createElementVNode("div",{class:o.normalizeClass(["pbx-relative pbx-rounded-full pbx-border pbx-border-solid pbx-p-8 pbx-pt-8 pbx-flex pbx-items-center pbx-justify-center",[l.value,s.value]])},[o.createElementVNode("div",Lee,[o.createElementVNode("div",Nee,[o.createVNode(wi,{value:S(),"side-label":o.unref(t)("top"),onDecrement:q[4]||(q[4]=Y=>V(-1)),onIncrement:q[5]||(q[5]=Y=>V(1))},null,8,["value","side-label"])]),o.createElementVNode("div",Aee,[o.createVNode(wi,{value:v(),"side-label":o.unref(t)("left"),compact:"",onDecrement:q[6]||(q[6]=Y=>I(-1)),onIncrement:q[7]||(q[7]=Y=>I(1))},null,8,["value","side-label"]),o.createElementVNode("div",_ee,[o.createElementVNode("span",Dee,o.toDisplayString(o.unref(t)("element")),1)]),o.createVNode(wi,{value:M(),"side-label":o.unref(t)("right"),compact:"",onDecrement:q[8]||(q[8]=Y=>N(-1)),onIncrement:q[9]||(q[9]=Y=>N(1))},null,8,["value","side-label"])]),o.createElementVNode("div",zee,[o.createVNode(wi,{value:P(),"side-label":o.unref(t)("bottom"),onDecrement:q[10]||(q[10]=Y=>A(-1)),onIncrement:q[11]||(q[11]=Y=>A(1))},null,8,["value","side-label"])])])],2)]),_:1}))}}),xz=o.defineComponent({__name:"PaddingControl",setup(r){return(e,t)=>(o.openBlock(),o.createBlock(uz,{mode:"padding"}))}}),hz=o.defineComponent({__name:"MarginControl",setup(r){return(e,t)=>(o.openBlock(),o.createBlock(uz,{mode:"margin"}))}}),xt={roundedGlobal:["none","pbx-rounded-sm","pbx-rounded","pbx-rounded-md","pbx-rounded-lg","pbx-rounded-xl","pbx-rounded-2xl","pbx-rounded-3xl","pbx-rounded-full"],roundedTopLeft:["none","pbx-rounded-tl-sm","pbx-rounded-tl","pbx-rounded-tl-md","pbx-rounded-tl-lg","pbx-rounded-tl-xl","pbx-rounded-tl-2xl","pbx-rounded-tl-3xl","pbx-rounded-tl-full"],roundedTopRight:["none","pbx-rounded-tr-sm","pbx-rounded-tr","pbx-rounded-tr-md","pbx-rounded-tr-lg","pbx-rounded-tr-xl","pbx-rounded-tr-2xl","pbx-rounded-tr-3xl","pbx-rounded-tr-full"],roundedBottomLeft:["none","pbx-rounded-bl-sm","pbx-rounded-bl","pbx-rounded-bl-md","pbx-rounded-bl-lg","pbx-rounded-bl-xl","pbx-rounded-bl-2xl","pbx-rounded-bl-3xl","pbx-rounded-bl-full"],roundedBottomRight:["none","pbx-rounded-br-sm","pbx-rounded-br","pbx-rounded-br-md","pbx-rounded-br-lg","pbx-rounded-br-xl","pbx-rounded-br-2xl","pbx-rounded-br-3xl","pbx-rounded-br-full"]},Iee={class:"pbx-editorSectionTitle"},Vee={class:"pbx-editorFieldGroup"},Hee={for:"global-border-radius",class:"pbx-myPrimaryInputLabel"},Ree={disabled:"",value:""},Oee={class:"pbx-editorSectionTitle"},Fee={class:"pbx-editorFieldGroup"},jee={for:"border-radius-top-left",class:"pbx-myPrimaryInputLabel"},qee={disabled:"",value:""},Uee={class:"pbx-editorFieldGroup"},Wee={for:"border-radius-top-right",class:"pbx-myPrimaryInputLabel"},Gee={disabled:"",value:""},Kee={class:"pbx-editorFieldGroup"},Jee={for:"border-radius-bottom-left",class:"pbx-myPrimaryInputLabel"},Yee={disabled:"",value:""},Qee={class:"pbx-editorFieldGroup"},Xee={for:"border-radius-bottom-right",class:"pbx-myPrimaryInputLabel"},Zee={disabled:"",value:""},fz=o.defineComponent({__name:"BorderRadiusControl",setup(r){const{translate:e}=ne(),t=Se(),i=ve,n=o.ref(null),a=o.ref(null),l=o.ref(null),s=o.ref(null),p=o.ref(null),d=o.computed(()=>i.getBorderRadiusGlobal),c=o.computed(()=>i.getBorderRadiusTopLeft),b=o.computed(()=>i.getBorderRadiusTopRight),m=o.computed(()=>i.getBorderRadiusBottomleft),g=o.computed(()=>i.getBorderRadiusBottomRight);return o.watch(d,async x=>{n.value=x,await t.initializeElementStyles()},{immediate:!0}),o.watch(c,async x=>{a.value=x,await t.initializeElementStyles()},{immediate:!0}),o.watch(b,async x=>{l.value=x,await t.initializeElementStyles()},{immediate:!0}),o.watch(m,async x=>{s.value=x,await t.initializeElementStyles()},{immediate:!0}),o.watch(g,async x=>{p.value=x,await t.initializeElementStyles()},{immediate:!0}),(x,u)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Border Radius")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",Iee,o.toDisplayString(o.unref(e)("Global")),1),o.createElementVNode("div",Vee,[o.createElementVNode("label",Hee,o.toDisplayString(o.unref(e)("Border Radius")),1),o.withDirectives(o.createElementVNode("select",{id:"global-border-radius","onUpdate:modelValue":u[0]||(u[0]=h=>n.value=h),class:"pbx-myPrimarySelect",onChange:u[1]||(u[1]=h=>o.unref(t).handleBorderRadiusGlobal(n.value??void 0))},[o.createElementVNode("option",Ree,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(xt).roundedGlobal,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,n.value]])]),u[10]||(u[10]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("p",Oee,o.toDisplayString(o.unref(e)("Specific")),1),o.createElementVNode("div",Fee,[o.createElementVNode("label",jee,o.toDisplayString(o.unref(e)("Border Radius top left")),1),o.withDirectives(o.createElementVNode("select",{id:"border-radius-top-left","onUpdate:modelValue":u[2]||(u[2]=h=>a.value=h),class:"pbx-myPrimarySelect",onChange:u[3]||(u[3]=h=>o.unref(t).handleBorderRadiusTopLeft(a.value??void 0))},[o.createElementVNode("option",qee,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(xt).roundedTopLeft,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,a.value]])]),u[11]||(u[11]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",Uee,[o.createElementVNode("label",Wee,o.toDisplayString(o.unref(e)("Border Radius top right")),1),o.withDirectives(o.createElementVNode("select",{id:"border-radius-top-right","onUpdate:modelValue":u[4]||(u[4]=h=>l.value=h),class:"pbx-myPrimarySelect",onChange:u[5]||(u[5]=h=>o.unref(t).handleBorderRadiusTopRight(l.value??void 0))},[o.createElementVNode("option",Gee,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(xt).roundedTopRight,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,l.value]])]),u[12]||(u[12]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",Kee,[o.createElementVNode("label",Jee,o.toDisplayString(o.unref(e)("Border Radius bottom left")),1),o.withDirectives(o.createElementVNode("select",{id:"border-radius-bottom-left","onUpdate:modelValue":u[6]||(u[6]=h=>s.value=h),class:"pbx-myPrimarySelect",onChange:u[7]||(u[7]=h=>o.unref(t).handleBorderRadiusBottomleft(s.value??void 0))},[o.createElementVNode("option",Yee,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(xt).roundedBottomLeft,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,s.value]])]),u[13]||(u[13]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",Qee,[o.createElementVNode("label",Xee,o.toDisplayString(o.unref(e)("Border Radius bottom right")),1),o.withDirectives(o.createElementVNode("select",{id:"border-radius-bottom-right","onUpdate:modelValue":u[8]||(u[8]=h=>p.value=h),class:"pbx-myPrimarySelect",onChange:u[9]||(u[9]=h=>o.unref(t).handleBorderRadiusBottomRight(p.value??void 0))},[o.createElementVNode("option",Zee,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(xt).roundedBottomRight,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,p.value]])])]),_:1}))}}),vi={borderStyle:["none","pbx-border-solid","pbx-border-dashed","pbx-border-dotted","pbx-border-double","pbx-border-hidden"],borderWidth:["none","pbx-border","pbx-border-2","pbx-border-4","pbx-border-8"],borderColor:["none","pbx-border-white","pbx-border-black","pbx-border-slate-50","pbx-border-slate-100","pbx-border-slate-200","pbx-border-slate-300","pbx-border-slate-400","pbx-border-slate-500","pbx-border-slate-600","pbx-border-slate-700","pbx-border-slate-800","pbx-border-slate-900","pbx-border-gray-50","pbx-border-gray-100","pbx-border-gray-200","pbx-border-gray-300","pbx-border-gray-400","pbx-border-gray-500","pbx-border-gray-600","pbx-border-gray-700","pbx-border-gray-800","pbx-border-gray-900","pbx-border-zinc-50","pbx-border-zinc-100","pbx-border-zinc-200","pbx-border-zinc-300","pbx-border-zinc-400","pbx-border-zinc-500","pbx-border-zinc-600","pbx-border-zinc-700","pbx-border-zinc-800","pbx-border-zinc-900","pbx-border-neutral-50","pbx-border-neutral-100","pbx-border-neutral-200","pbx-border-neutral-300","pbx-border-neutral-400","pbx-border-neutral-500","pbx-border-neutral-600","pbx-border-neutral-700","pbx-border-neutral-800","pbx-border-neutral-900","pbx-border-stone-50","pbx-border-stone-100","pbx-border-stone-200","pbx-border-stone-300","pbx-border-stone-400","pbx-border-stone-500","pbx-border-stone-600","pbx-border-stone-700","pbx-border-stone-800","pbx-border-stone-900","pbx-border-red-50","pbx-border-red-100","pbx-border-red-200","pbx-border-red-300","pbx-border-red-400","pbx-border-red-500","pbx-border-red-600","pbx-border-red-700","pbx-border-red-800","pbx-border-red-900","pbx-border-orange-50","pbx-border-orange-100","pbx-border-orange-200","pbx-border-orange-300","pbx-border-orange-400","pbx-border-orange-500","pbx-border-orange-600","pbx-border-orange-700","pbx-border-orange-800","pbx-border-orange-900","pbx-border-amber-50","pbx-border-amber-100","pbx-border-amber-200","pbx-border-amber-300","pbx-border-amber-400","pbx-border-amber-500","pbx-border-amber-600","pbx-border-amber-700","pbx-border-amber-800","pbx-border-amber-900","pbx-border-yellow-50","pbx-border-yellow-100","pbx-border-yellow-200","pbx-border-yellow-300","pbx-border-yellow-400","pbx-border-yellow-500","pbx-border-yellow-600","pbx-border-yellow-700","pbx-border-yellow-800","pbx-border-yellow-900","pbx-border-lime-50","pbx-border-lime-100","pbx-border-lime-200","pbx-border-lime-300","pbx-border-lime-400","pbx-border-lime-500","pbx-border-lime-600","pbx-border-lime-700","pbx-border-lime-800","pbx-border-lime-900","pbx-border-green-50","pbx-border-green-100","pbx-border-green-200","pbx-border-green-300","pbx-border-green-400","pbx-border-green-500","pbx-border-green-600","pbx-border-green-700","pbx-border-green-800","pbx-border-green-900","pbx-border-emerald-50","pbx-border-emerald-100","pbx-border-emerald-200","pbx-border-emerald-300","pbx-border-emerald-400","pbx-border-emerald-500","pbx-border-emerald-600","pbx-border-emerald-700","pbx-border-emerald-800","pbx-border-emerald-900","pbx-border-teal-50","pbx-border-teal-100","pbx-border-teal-200","pbx-border-teal-300","pbx-border-teal-400","pbx-border-teal-500","pbx-border-teal-600","pbx-border-teal-700","pbx-border-teal-800","pbx-border-teal-900","pbx-border-cyan-50","pbx-border-cyan-100","pbx-border-cyan-200","pbx-border-cyan-300","pbx-border-cyan-400","pbx-border-cyan-500","pbx-border-cyan-600","pbx-border-cyan-700","pbx-border-cyan-800","pbx-border-cyan-900","pbx-border-sky-50","pbx-border-sky-100","pbx-border-sky-200","pbx-border-sky-300","pbx-border-sky-400","pbx-border-sky-500","pbx-border-sky-600","pbx-border-sky-700","pbx-border-sky-800","pbx-border-sky-900","pbx-border-blue-50","pbx-border-blue-100","pbx-border-blue-200","pbx-border-blue-300","pbx-border-blue-400","pbx-border-blue-500","pbx-border-blue-600","pbx-border-blue-700","pbx-border-blue-800","pbx-border-blue-900","pbx-border-indigo-50","pbx-border-indigo-100","pbx-border-indigo-200","pbx-border-indigo-300","pbx-border-indigo-400","pbx-border-indigo-500","pbx-border-indigo-600","pbx-border-indigo-700","pbx-border-indigo-800","pbx-border-indigo-900","pbx-border-violet-50","pbx-border-violet-100","pbx-border-violet-200","pbx-border-violet-300","pbx-border-violet-400","pbx-border-violet-500","pbx-border-violet-600","pbx-border-violet-700","pbx-border-violet-800","pbx-border-violet-900","pbx-border-purple-50","pbx-border-purple-100","pbx-border-purple-200","pbx-border-purple-300","pbx-border-purple-400","pbx-border-purple-500","pbx-border-purple-600","pbx-border-purple-700","pbx-border-purple-800","pbx-border-purple-900","pbx-border-fuchsia-50","pbx-border-fuchsia-100","pbx-border-fuchsia-200","pbx-border-fuchsia-300","pbx-border-fuchsia-400","pbx-border-fuchsia-500","pbx-border-fuchsia-600","pbx-border-fuchsia-700","pbx-border-fuchsia-800","pbx-border-fuchsia-900","pbx-border-pink-50","pbx-border-pink-100","pbx-border-pink-200","pbx-border-pink-300","pbx-border-pink-400","pbx-border-pink-500","pbx-border-pink-600","pbx-border-pink-700","pbx-border-pink-800","pbx-border-pink-900","pbx-border-rose-50","pbx-border-rose-100","pbx-border-rose-200","pbx-border-rose-300","pbx-border-rose-400","pbx-border-rose-500","pbx-border-rose-600","pbx-border-rose-700","pbx-border-rose-800","pbx-border-rose-900"]},$ee={class:"pbx-editorSectionTitle"},ete={class:"pbx-editorFieldGroup"},tte={for:"border-style",class:"pbx-myPrimaryInputLabel"},rte={disabled:"",value:""},ote={class:"pbx-editorFieldGroup"},ite={for:"border-width",class:"pbx-myPrimaryInputLabel"},nte={disabled:"",value:""},ate={class:"pbx-editorFieldGroup"},lte={for:"border-color",class:"pbx-myPrimaryInputLabel"},ste={class:"pbx-flex pbx-items-center pbx-gap-2"},pte={key:0},dte={class:"pbx-block pbx-truncate"},cte={class:"pbx-flex pbx-items-center"},bte={key:0},mte={key:2,class:"pbx-ml-3"},gte={key:3,class:"pbx-ml-3"},yz=o.defineComponent({name:"BorderControls",__name:"BorderControls",setup(r){const{translate:e}=ne(),t=Se(),i=ve,n=o.ref(null),a=o.ref(null),l=o.ref(null),s=o.computed(()=>i.getBorderStyle),p=o.computed(()=>i.getBorderWidth),d=o.computed(()=>i.getBorderColor);return o.watch(s,async c=>{n.value=c,await t.initializeElementStyles()},{immediate:!0}),o.watch(p,async c=>{a.value=c,await t.initializeElementStyles()},{immediate:!0}),o.watch(d,async c=>{l.value=c,await t.initializeElementStyles()},{immediate:!0}),(c,b)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Border Style, Width & Color")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",$ee,o.toDisplayString(o.unref(e)("Border")),1),o.createElementVNode("div",ete,[o.createElementVNode("label",tte,o.toDisplayString(o.unref(e)("Border Style")),1),o.withDirectives(o.createElementVNode("select",{id:"border-style","onUpdate:modelValue":b[0]||(b[0]=m=>n.value=m),class:"pbx-myPrimarySelect",onChange:b[1]||(b[1]=m=>o.unref(t).handleBorderStyle(n.value??void 0))},[o.createElementVNode("option",rte,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(vi).borderStyle,m=>(o.openBlock(),o.createElementBlock("option",{key:m},o.toDisplayString(m),1))),128))],544),[[o.vModelSelect,n.value]])]),b[8]||(b[8]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",ote,[o.createElementVNode("label",ite,o.toDisplayString(o.unref(e)("Border Width")),1),o.withDirectives(o.createElementVNode("select",{id:"border-width","onUpdate:modelValue":b[2]||(b[2]=m=>a.value=m),class:"pbx-myPrimarySelect",onChange:b[3]||(b[3]=m=>o.unref(t).handleBorderWidth(a.value??void 0))},[o.createElementVNode("option",nte,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(vi).borderWidth,m=>(o.openBlock(),o.createElementBlock("option",{key:m},o.toDisplayString(m),1))),128))],544),[[o.vModelSelect,a.value]])]),b[9]||(b[9]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",ate,[o.createElementVNode("label",lte,o.toDisplayString(o.unref(e)("Border Color")),1),o.createVNode(o.unref(Mn),{as:"div",modelValue:l.value,"onUpdate:modelValue":b[5]||(b[5]=m=>l.value=m)},{default:o.withCtx(({open:m})=>[o.createElementVNode("div",{class:o.normalizeClass(["pbx-relative pbx-mt-2",m?"pbx-z-50":"pbx-z-0"])},[o.createVNode(o.unref(Pn),{class:"pbx-myPrimarySelect",id:"border-color"},{default:o.withCtx(()=>{var g;return[o.createElementVNode("span",ste,[d.value==="none"?(o.openBlock(),o.createElementBlock("div",pte,[...b[6]||(b[6]=[o.createElementVNode("div",{class:"pbx-myPrimaryColorPreview pbx-border-none"},[o.createElementVNode("span",{class:"material-symbols-outlined"}," ev_shadow ")],-1)])])):o.createCommentVNode("",!0),l.value!=="none"?(o.openBlock(),o.createElementBlock("div",{key:1,class:o.normalizeClass(["pbx-aspect-square pbx-w-6 pbx-h-6 pbx-border-solid pbx-border pbx-border-gray-100 pbx-rounded-sm",`pbx-bg-${(g=l.value)==null?void 0:g.replace("pbx-border-","")}`])},null,2)):o.createCommentVNode("",!0),o.createElementVNode("span",dte,o.toDisplayString(l.value),1)])]}),_:1}),o.createVNode(o.Transition,{"leave-active-class":"pbx-transition pbx-ease-in pbx-duration-100","leave-from-class":"pbx-opacity-100","leave-to-class":"pbx-opacity-0"},{default:o.withCtx(()=>[o.createVNode(o.unref(Bn),{class:"pbx-headless-dropdown pbx-absolute pbx-z-50 pbx-mt-1 pbx-max-h-56 pbx-w-full pbx-overflow-auto pbx-rounded-md pbx-bg-white pbx-text-base pbx-shadow-lg pbx-ring-1 pbx-ring-black pbx-ring-opacity-5 focus:pbx-outline-none sm:pbx-text-sm pbx-list-none pbx-p-0 pbx-m-0"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(vi).borderColor,g=>(o.openBlock(),o.createBlock(o.unref(Tr),{as:"template",onClick:b[4]||(b[4]=x=>o.unref(t).handleBorderColor(l.value??void 0)),key:g,value:g},{default:o.withCtx(({active:x})=>[o.createElementVNode("li",{class:o.normalizeClass([x?"pbx-bg-myPrimaryLinkColor pbx-text-white":"pbx-text-myPrimaryDarkGrayColor","pbx-relative pbx-cursor-default pbx-select-none pbx-py-2 pbx-pl-3 pbx-pr-9"])},[o.createElementVNode("div",cte,[g==="none"?(o.openBlock(),o.createElementBlock("div",bte,[...b[7]||(b[7]=[o.createElementVNode("div",{class:"pbx-myPrimaryColorPreview pbx-border-none"},[o.createElementVNode("span",{class:"material-symbols-outlined"}," ev_shadow ")],-1)])])):o.createCommentVNode("",!0),g!=="none"?(o.openBlock(),o.createElementBlock("div",{key:1,class:o.normalizeClass(["pbx-aspect-square pbx-w-6 pbx-h-6 pbx-bg-gray-950",`pbx-bg-${g.replace("pbx-border-","")}`])},null,2)):o.createCommentVNode("",!0),g==="none"?(o.openBlock(),o.createElementBlock("span",mte,o.toDisplayString(o.unref(e)("Transparent")),1)):o.createCommentVNode("",!0),g!=="none"?(o.openBlock(),o.createElementBlock("span",gte,o.toDisplayString(g),1)):o.createCommentVNode("",!0)])],2)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})],2)]),_:1},8,["modelValue"])])]),_:1}))}}),ute={class:"pbx-flex pbx-items-center pbx-justify-between pbx-gap-4 pbx-rounded-lg pbx-border pbx-border-solid pbx-border-gray-100 pbx-bg-gray-50 pbx-px-4 pbx-py-3"},xte={class:"pbx-text-sm pbx-font-semibold pbx-text-myPrimaryDarkGrayColor pbx-my-0"},hte={class:"pbx-text-xs pbx-text-gray-500 pbx-my-0"},fte={class:"pbx-grid pbx-grid-cols-1 pbx-gap-3"},yte=["for"],wte={class:"pbx-flex pbx-justify-between pbx-items-center pbx-gap-4 pbx-border pbx-border-gray-200 pbx-py-4 pbx-px-3 pbx-rounded-lg"},vte=["id","value","onInput","onBlur"],kte={class:"pbx-relative pbx-flex-shrink-0"},Ste=["title","onClick"],Cte={class:"pbx-border-t pbx-border-gray-100 pbx-pt-4 pbx-mt-2 pbx-flex pbx-items-center pbx-justify-between pbx-gap-3"},Tte={class:"pbx-text-sm pbx-font-semibold pbx-text-myPrimaryDarkGrayColor pbx-my-0"},Ete={class:"pbx-text-xs pbx-text-gray-500 pbx-my-0"},Mte=o.defineComponent({__name:"ThemeColorPresetManager",props:{embedded:{type:Boolean}},setup(r){const{translate:e}=ne(),{showToast:t}=Xe(),i=ve,n=o.computed(()=>i.getPageBuilderConfig),{themeColorPresetSettings:a,setThemeColorPresetsEnabled:l,updateThemeColorPreset:s,resetToConfigDefaults:p}=jl(n),d=o.ref({});function c(v){return d.value[v.id]??v.color}o.watch(()=>a.value.colors,v=>{v.forEach(M=>{var k;((k=document.activeElement)==null?void 0:k.id)!==`color-input-${M.id}`&&(d.value[M.id]=M.color)})},{deep:!0});const b=/^#?[0-9a-fA-F]{6}$/;function m(v,M){const C=M.target,k=C.value.trim();d.value[v.id]=C.value,b.test(k)&&s(v.id,{color:k})}function g(v){d.value[v.id]=v.color}function x(v,M){s(v,{enabled:M})}function u(v,M){s(v.id,{color:M})}const h=o.ref(null);function y(v){h.value=h.value===v?null:v}function w(){h.value=null}const f=o.ref(!1);function E(){f.value=!0}function S(){f.value=!1}function P(){p(),d.value={},f.value=!1,t(e("Theme colors reset to defaults"),"success")}return(v,M)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createElementVNode("div",{class:o.normalizeClass(["pbx-flex pbx-flex-col pbx-gap-4",r.embedded?"":"pbx-mb-20"])},[o.createElementVNode("div",ute,[o.createElementVNode("div",null,[o.createElementVNode("p",xte,o.toDisplayString(o.unref(e)("Enable theme color presets")),1),o.createElementVNode("p",hte,o.toDisplayString(o.unref(e)("Use saved hex colors in text and background color menus")),1)]),o.createVNode(Qt,{"model-value":o.unref(a).enabled,"onUpdate:modelValue":o.unref(l)},null,8,["model-value","onUpdate:modelValue"])]),o.createElementVNode("div",fte,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(a).colors,C=>(o.openBlock(),o.createElementBlock("div",{key:C.id,class:"pbx-myInputGroup"},[o.createElementVNode("label",{for:`color-input-${C.id}`,class:"pbx-myPrimaryInputLabel"},o.toDisplayString(o.unref(e)(C.label)),9,yte),o.createElementVNode("div",wte,[o.createVNode(Qt,{"model-value":C.enabled,"onUpdate:modelValue":k=>x(C.id,k)},null,8,["model-value","onUpdate:modelValue"]),o.createElementVNode("input",{id:`color-input-${C.id}`,value:c(C),type:"text",maxlength:"7",placeholder:"#rrggbb",class:"pbx-myPrimaryInput pbx-w-full",onInput:k=>m(C,k),onBlur:k=>g(C)},null,40,vte),o.createElementVNode("div",kte,[o.createElementVNode("button",{type:"button",title:C.color,class:"pbx-cursor-pointer pbx-border-0 pbx-p-0 pbx-bg-transparent pbx-block pbx-flex-shrink-0",style:{width:"2rem",height:"2rem"},onClick:o.withModifiers(k=>y(C.id),["stop"])},[o.createElementVNode("span",{style:o.normalizeStyle([{backgroundColor:C.color},{display:"block",width:"60%",height:"60%","border-radius":"9999px",border:"1px solid rgba(0, 0, 0, 0.1)","box-shadow":`0 1px 4px rgba(0, 0, 0, 0.1),
|
|
365
365
|
inset 0 0 0 1px rgba(96, 96, 96, 0.1)`,transition:`box-shadow 0.15s,
|
|
366
|
-
border-color 0.15s`}])},null,4)],8,Ste),h.value===C.id?(o.openBlock(),o.createElementBlock("div",{key:0,class:"pbx-fixed pbx-inset-0 pbx-z-40",onClick:w})):o.createCommentVNode("",!0),h.value===C.id?(o.openBlock(),o.createElementBlock("div",{key:1,class:"pbx-absolute pbx-right-0 pbx-z-50 pbx-rounded-xl pbx-border pbx-border-solid pbx-border-gray-200 pbx-bg-white pbx-p-3 pbx-shadow-lg",style:{top:"calc(100% + 8px)",width:"266px"},onClick:M[0]||(M[0]=o.withModifiers(()=>{},["stop"]))},[o.createVNode(WD,{"model-value":C.color,"onUpdate:modelValue":k=>u(C,k)},null,8,["model-value","onUpdate:modelValue"])])):o.createCommentVNode("",!0)])])]))),128))]),o.createElementVNode("div",Cte,[o.createElementVNode("div",null,[o.createElementVNode("p",Tte,o.toDisplayString(o.unref(e)("Reset to provided defaults")),1),o.createElementVNode("p",Ete,o.toDisplayString(o.unref(e)("Restore the original colors provided to the page builder")),1)]),o.createElementVNode("button",{type:"button",class:"pbx-mySecondaryButton pbx-flex pbx-items-center pbx-gap-1 pbx-shrink-0",onClick:E},[M[1]||(M[1]=o.createElementVNode("span",{class:"material-symbols-outlined pbx-materialIconBase pbx-leading-none"},"restart_alt",-1)),o.createTextVNode(" "+o.toDisplayString(o.unref(e)("Reset")),1)])])],2),o.createVNode(St,{showDynamicModalBuilder:f.value,type:"delete",gridColumnAmount:2,title:o.unref(e)("Reset to provided defaults"),description:o.unref(e)("This will restore the original colors provided to the page builder. Any changes you have made to colors or enabled states will be lost."),firstButtonText:o.unref(e)("Close"),thirdButtonText:o.unref(e)("Reset"),onFirstModalButtonFunctionDynamicModalBuilder:S,onThirdModalButtonFunctionDynamicModalBuilder:P},{default:o.withCtx(()=>[...M[2]||(M[2]=[o.createElementVNode("header",null,null,-1),o.createElementVNode("main",null,null,-1)])]),_:1},8,["showDynamicModalBuilder","title","description","firstButtonText","thirdButtonText"])],64))}}),Pte=o.defineComponent({__name:"ThemeColorSettingsEditor",setup(r){const{translate:e}=ne();return(t,i)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Theme & colors")),1)]),content:o.withCtx(()=>[o.createVNode(Mte,{embedded:""})]),_:1}))}}),Bte={class:"pbx-editorSectionDesc"},Lte={class:"pbx-editorFieldGroup"},Nte={for:"page-meta-title",class:"pbx-myPrimaryInputLabel"},Ate=["placeholder"],_te={class:"pbx-editorFieldGroup"},Dte={for:"page-meta-description",class:"pbx-myPrimaryInputLabel"},zte=["placeholder"],Ite=["disabled"],Vte={key:0,class:"material-symbols-outlined"},Hte={key:1,class:"material-symbols-outlined pbx-animate-spin"},Rte=o.defineComponent({name:"PageMetaSettingsEditor",__name:"PageMetaSettingsEditor",setup(r){const{translate:e}=ne(),{showToast:t}=Xe(),i=Se(),n=o.ref(""),a=o.ref(""),l=o.ref(!1);o.onMounted(()=>{const p=i.getPageMeta();n.value=p.title||"",a.value=p.description||""});const s=async()=>{if(!l.value){l.value=!0,await Il(300);try{await i.setPageMeta({title:n.value.trim(),description:a.value.trim()}),t(e("Page meta saved"),"success")}catch{t(e("Could not save page meta"),"error")}finally{l.value=!1}}};return(p,d)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Page Meta")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",Bte,o.toDisplayString(o.unref(e)("Page meta description")),1),o.createElementVNode("div",Lte,[o.createElementVNode("label",Nte,o.toDisplayString(o.unref(e)("Meta title")),1),o.withDirectives(o.createElementVNode("input",{id:"page-meta-title","onUpdate:modelValue":d[0]||(d[0]=c=>n.value=c),type:"text",class:"pbx-myPrimaryInput pbx-w-full",placeholder:o.unref(e)("Meta title placeholder")},null,8,Ate),[[o.vModelText,n.value]])]),o.createElementVNode("div",_te,[o.createElementVNode("label",Dte,o.toDisplayString(o.unref(e)("Meta description")),1),o.withDirectives(o.createElementVNode("textarea",{id:"page-meta-description","onUpdate:modelValue":d[1]||(d[1]=c=>a.value=c),rows:"3",class:"pbx-myPrimaryInput pbx-w-full pbx-resize-y",placeholder:o.unref(e)("Meta description placeholder")},null,8,zte),[[o.vModelText,a.value]])]),o.createElementVNode("button",{type:"button",class:"pbx-myPrimaryButton pbx-w-full",disabled:l.value,onClick:s},[o.createTextVNode(o.toDisplayString(o.unref(e)("Save"))+" ",1),l.value?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",Vte,"check")),l.value?(o.openBlock(),o.createElementBlock("span",Hte,"refresh")):o.createCommentVNode("",!0)],8,Ite)]),_:1}))}}),Ote={key:0,class:"pbx-fixed pbx-inset-0 pbx-z-[9999]"},Fte={class:"pbx-flex pbx-gap-2 pbx-justify-between pbx-items-center pbx-py-2 pbx-px-2 pbx-mb-2 pbx-border-b pbx-border-gray-200"},jte={class:"pbx-myQuaternaryHeader pbx-my-0 pbx-py-0 pbx-text-black"},qte={class:"pbx-pt-4 pbx-px-2"},wz=o.defineComponent({__name:"FloatingSidePanel",props:{title:{type:String,required:!1,default:null},showSidebarPanel:{type:Boolean,default:!1},position:{type:String,required:!0,default:"right",validator(r){const t=["left","right"].includes(r);return t||console.warn(`Invalid prop: position must be 'left' or 'right', got '${r}'`),t}},closeOnOverlayClick:{type:Boolean,default:!0}},emits:["closeSidebarPanel"],setup(r,{emit:e}){const t=r,i=e,n=()=>{i("closeSidebarPanel")},a=()=>{t.closeOnOverlayClick&&n()};return(l,s)=>(o.openBlock(),o.createBlock(o.Teleport,{to:"body"},[o.createVNode(o.Transition,{name:"popup-fade"},{default:o.withCtx(()=>[r.showSidebarPanel?(o.openBlock(),o.createElementBlock("div",Ote,[o.createElementVNode("div",{class:o.normalizeClass(["pbx-fixed pbx-inset-0 pbx-bg-black pbx-opacity-20 pbx-z-40",{"pbx-pointer-events-none":!r.closeOnOverlayClick}]),onClick:a},null,2),o.createElementVNode("div",{class:o.normalizeClass(["pbx-font-sans pbx-fixed pbx-top-0 pbx-rounded-3xl pbx-pt-2 pbx-pb-20 pbx-px-2 pbx-border pbx-border-gray-200 pbx-max-h-[80vh] lg:pbx-min-h-[98%] pbx-min-h-[80vh] lg:pbx-min-w-96 lg:pbx-w-96 pbx-w-[96%] pbx-overflow-y-auto pbx-z-50 pbx-bg-white lg:pbx-mt-2 pbx-mt-2",[r.position==="left"?"pbx-left-0 pbx-ml-[1%]":"",r.position==="right"?"pbx-right-0 pbx-mr-[1%]":""]]),onClick:s[0]||(s[0]=o.withModifiers(()=>{},["stop"]))},[o.createElementVNode("div",Fte,[o.createElementVNode("span",jte,o.toDisplayString(r.title),1),o.createElementVNode("span",{onClick:n},[...s[1]||(s[1]=[o.createElementVNode("div",{class:"pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0 pbx-text-black"},[o.createElementVNode("span",{class:"material-symbols-outlined"}," close ")],-1)])])]),o.createElementVNode("div",qte,[o.renderSlot(l.$slots,"default")])],2)])):o.createCommentVNode("",!0)]),_:3})]))}}),Ute={class:"pbx-overflow-y-auto"},Wte={key:0,class:"pbx-flex pbx-items-center pbx-justify-center pbx-gap-2"},Gte={class:"pbx-bg-gray-100 pbx-rounded-full pbx-w-32 pbx-h-32 pbx-flex pbx-items-center pbx-justify-center"},Kte={class:"pbx-text-center"},Jte={class:"pbx-lg:pbx-text-7xl pbx-text-5xl"},Yte={key:1,class:"pbx-w-full pbx-space-y-5"},Qte={class:"pbx-text-base pbx-font-semibold pbx-text-center pbx-text-myPrimaryDarkGrayColor"},Xte={class:"pbx-seoCheckGroupTitle"},Zte={class:"pbx-space-y-2"},$te={class:"material-symbols-outlined","aria-hidden":"true"},ere={class:"pbx-pageDesignOpenButtonText"},tre={class:"pbx-pageDesignOpenButtonLabel"},rre={class:"pbx-pageDesignOpenButtonHint"},ore={key:2,class:"pbx-text-gray-500 pbx-text-center pbx-py-8"},ire=o.defineComponent({__name:"SeoCheckPanel",props:{seoResult:{}},setup(r){const e=r,{translate:t}=ne(),i=o.computed(()=>{if(!e.seoResult)return[];const n=new Map;for(const a of e.seoResult.checks){const l=a.category??"Other";n.has(l)||n.set(l,[]),n.get(l).push(a)}return Array.from(n.entries()).map(([a,l])=>({title:a,checks:l}))});return(n,a)=>(o.openBlock(),o.createElementBlock("div",Ute,[r.seoResult?(o.openBlock(),o.createElementBlock("div",Wte,[o.createElementVNode("div",{class:"pbx-relative pbx-my-4 pbx-rounded-full pbx-flex pbx-items-center pbx-justify-center pbx-w-36 pbx-h-36",style:o.normalizeStyle({background:`conic-gradient(${r.seoResult.score<50?"#ef4444":"#50C878"} ${r.seoResult.score}%, #e5e7eb 0)`})},[o.createElementVNode("div",Gte,[o.createElementVNode("div",Kte,[o.createElementVNode("span",Jte,o.toDisplayString(r.seoResult.score),1),a[0]||(a[0]=o.createElementVNode("span",{class:"pbx-text-xl"},"%",-1))])])],4)])):o.createCommentVNode("",!0),i.value.length?(o.openBlock(),o.createElementBlock("div",Yte,[o.createElementVNode("h3",Qte,o.toDisplayString(o.unref(t)("SEO Check Results")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.value,l=>(o.openBlock(),o.createElementBlock("div",{key:l.title,class:"pbx-space-y-2"},[o.createElementVNode("h4",Xte,o.toDisplayString(o.unref(t)(l.title)),1),o.createElementVNode("ul",Zte,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.checks,(s,p)=>(o.openBlock(),o.createElementBlock("li",{key:p,class:o.normalizeClass(["pbx-seoCheckRow",s.passed?"pbx-seoCheckRow--pass":"pbx-seoCheckRow--fail"])},[o.createElementVNode("span",{class:o.normalizeClass(["pbx-seoCheckRowIcon",s.passed?"pbx-seoCheckRowIcon--pass":"pbx-seoCheckRowIcon--fail"])},[o.createElementVNode("span",$te,o.toDisplayString(s.passed?"check":"close"),1)],2),o.createElementVNode("span",ere,[o.createElementVNode("span",tre,o.toDisplayString(o.unref(t)(s.check)),1),o.createElementVNode("span",rre,o.toDisplayString(s.details),1)])],2))),128))])]))),128))])):(o.openBlock(),o.createElementBlock("div",ore,o.toDisplayString(o.unref(t)("No SEO checks available.")),1))]))}}),nre={class:"pbx-editorSectionDesc"},are=o.defineComponent({name:"SeoCheckSettingsEditor",__name:"SeoCheckSettingsEditor",setup(r){const{translate:e}=ne(),t=Se(),i=o.ref(null),n=o.ref(!1),a=o.ref(!1),l=async()=>{a.value=!0,n.value=!0,await Il(300);try{i.value=await t.analyzeSEO()}finally{a.value=!1}},s=()=>{n.value=!1};return(p,d)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("SEO Check")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",nre,o.toDisplayString(o.unref(e)("SEO check description")),1),o.createVNode(Er,{icon:"circle_circle",label:o.unref(e)("Run SEO check"),hint:o.unref(e)("Analyze headings, images, links and word count"),"is-loading":a.value,onClick:l},null,8,["label","hint","is-loading"])]),_:1}),o.createVNode(wz,{title:o.unref(e)("SEO Check"),showSidebarPanel:n.value,position:"left",onCloseSidebarPanel:s},{default:o.withCtx(()=>[o.createVNode(ire,{"seo-result":i.value},null,8,["seo-result"])]),_:1},8,["title","showSidebarPanel"])],64))}}),lre={class:"pbx-editorSectionDesc"},sre={class:"pbx-pageDesignOpenButtonText"},pre={class:"pbx-pageDesignOpenButtonLabel"},dre={class:"pbx-pageDesignOpenButtonHint"},cre=o.defineComponent({name:"RemoveAllComponentsSettingsEditor",__name:"RemoveAllComponentsSettingsEditor",setup(r){const{translate:e}=ne(),{showToast:t}=Xe(),i=Se(),n=o.ref(!1),a=o.ref(!1),l=o.ref(""),s=o.ref(1),p=o.ref(""),d=o.ref(""),c=o.ref(""),b=o.ref(null),m=o.ref(null),g=o.ref(null),x=o.ref(null),u=o.ref(null),h=function(){a.value=!0,l.value="delete",s.value=2,p.value=e("Remove all Components"),d.value=e("Are you sure you want to remove all Components?"),c.value=e("Close"),b.value=null,m.value=e("Delete"),g.value=function(){a.value=!1},x.value=function(){},u.value=async function(){n.value=!0,await i.clearHtmlSelection(),await i.handleFormSubmission(),await Re(500),a.value=!1,n.value=!1,t(e("All components removed"),"success")}};return(y,w)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Page layout")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",lre,o.toDisplayString(o.unref(e)("Remove all components description")),1),o.createElementVNode("button",{type:"button",class:"pbx-pageDesignOpenButton pbx-pageDesignOpenButton--danger",onClick:h},[w[3]||(w[3]=o.createElementVNode("span",{class:"material-symbols-outlined"},"delete_forever",-1)),o.createElementVNode("span",sre,[o.createElementVNode("span",pre,o.toDisplayString(o.unref(e)("Remove all Components")),1),o.createElementVNode("span",dre,o.toDisplayString(o.unref(e)("Clear every section from the page")),1)]),w[4]||(w[4]=o.createElementVNode("span",{class:"pbx-pageDesignOpenButtonArrow material-symbols-outlined","aria-hidden":"true"}," arrow_forward ",-1))])]),_:1}),o.createVNode(St,{showDynamicModalBuilder:a.value,type:l.value,gridColumnAmount:s.value,title:p.value,description:d.value,isLoading:n.value,firstButtonText:c.value,secondButtonText:b.value??void 0,thirdButtonText:m.value??void 0,onFirstModalButtonFunctionDynamicModalBuilder:w[0]||(w[0]=()=>{var f;return(f=g.value)==null?void 0:f.call(g)}),onSecondModalButtonFunctionDynamicModalBuilder:w[1]||(w[1]=()=>{var f;return(f=x.value)==null?void 0:f.call(x)}),onThirdModalButtonFunctionDynamicModalBuilder:w[2]||(w[2]=()=>{var f;return(f=u.value)==null?void 0:f.call(u)})},{default:o.withCtx(()=>[...w[5]||(w[5]=[o.createElementVNode("header",null,null,-1),o.createElementVNode("main",null,null,-1)])]),_:1},8,["showDynamicModalBuilder","type","gridColumnAmount","title","description","isLoading","firstButtonText","secondButtonText","thirdButtonText"])],64))}}),bre={class:"pbx-editorSectionDesc"},mre={class:"pbx-pageDesignOpenButtonText"},gre={class:"pbx-pageDesignOpenButtonLabel"},ure={class:"pbx-pageDesignOpenButtonHint"},xre=o.defineComponent({name:"PageDesignSettingsEditor",__name:"PageDesignSettingsEditor",emits:["open"],setup(r){const{translate:e}=ne();return(t,i)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Page Design")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",bre,o.toDisplayString(o.unref(e)("Page design description")),1),o.createElementVNode("button",{type:"button",class:"pbx-pageDesignOpenButton",onClick:i[0]||(i[0]=n=>t.$emit("open"))},[o.createVNode(ql),o.createElementVNode("span",mre,[o.createElementVNode("span",gre,o.toDisplayString(o.unref(e)("Open page design")),1),o.createElementVNode("span",ure,o.toDisplayString(o.unref(e)("Typography, colors, spacing & more")),1)]),i[1]||(i[1]=o.createElementVNode("span",{class:"pbx-pageDesignOpenButtonArrow material-symbols-outlined","aria-hidden":"true"}," arrow_forward ",-1))])]),_:1}))}}),hre={class:"pbx-editorSectionDesc"},fre={class:"pbx-inspectorActionStack"},yre=o.defineComponent({name:"PageHtmlEditorSettingsEditor",__name:"PageHtmlEditorSettingsEditor",setup(r){const{translate:e}=ne(),t=Se(),{openHtmlViewer:i}=Zl(),{openHtmlEditor:n}=ts(),a=async()=>{const s=await t.generateFullPageHtml();n(e("HTML Editor"),s,"page")},l=async()=>{const s=await t.generateFullPageHtml();i(e("Page HTML"),s)};return(s,p)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("HTML Editor")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",hre,o.toDisplayString(o.unref(e)("Page HTML editor description")),1),o.createElementVNode("div",fre,[o.createVNode(Er,{icon:"visibility",label:o.unref(e)("View page HTML"),hint:o.unref(e)("Preview full page markup"),onClick:l},null,8,["label","hint"]),o.createVNode(Er,{icon:"deployed_code",label:o.unref(e)("Open HTML editor"),hint:o.unref(e)("Edit full page markup"),onClick:a},null,8,["label","hint"])])]),_:1}))}}),ro=function(r){return!r||typeof r=="object"&&r.constructor===Object&&Object.keys(r).length===0},wre="3.5.40",vre=r=>/^[a-z][a-z0-9+.-]*:/i.test(r)||r.startsWith("//");function vz(r,e){if(!r)return console.warn("No valid pagebuilder element passed"),"";const t=r.cloneNode(!0);if(t.removeAttribute("id"),t.querySelectorAll("[data-pbx-insert-btn]").forEach(a=>{a.remove()}),t.querySelectorAll("[data-componentid], [data-component-title], #page-builder-editor-editable-area").forEach(a=>{a.removeAttribute("data-componentid"),a.removeAttribute("data-component-title"),a.id==="page-builder-editor-editable-area"&&a.removeAttribute("id")}),t.querySelectorAll("[data-pagebuilder-content]").forEach(a=>{a.removeAttribute("data-pagebuilder-content")}),t.querySelectorAll("[data-isl-active]").forEach(a=>{a.removeAttribute("data-isl-active")}),t.removeAttribute("data-builder-canvas"),e&&e&&typeof e.imageUrlPrefix=="string"){const a=e.imageUrlPrefix;t.querySelectorAll("img").forEach(s=>{const p=s.getAttribute("src")||"";p&&!p.startsWith("http")&&!vre(p)&&a&&!p.startsWith(a)&&s.setAttribute("src",a+p.replace(/^\/+/,""))})}const n=a=>{for(let l=a.childNodes.length-1;l>=0;l--){const s=a.childNodes[l];s.nodeType===Node.COMMENT_NODE?a.removeChild(s):s.nodeType===Node.ELEMENT_NODE&&n(s)}};return n(t),t.outerHTML}function kz(r){if(!(r!=null&&r.trim()))return[];const e=r.match(/class\s*=\s*(["'])(.*?)\1/i);return e!=null&&e[2]?e[2].split(/\s+/).filter(Boolean):[]}async function Qd(r){const{showToast:e}=Xe(),{translate:t}=ne();try{return await navigator.clipboard.writeText(r),e(t("Copied to clipboard"),"success"),!0}catch{return e(t("Clipboard unavailable"),"error"),!1}}const kre=["title","aria-label"],Sre={class:"pbx-inspectorIdChipText"},Cre={class:"pbx-inspectorIdChipIcon material-symbols-outlined","aria-hidden":"true"},Tre={key:1,class:"pbx-inspectorValue"},Sz=o.defineComponent({__name:"InspectorIdValue",props:{value:{}},setup(r){const e=r,{translate:t}=ne(),i=o.ref(!1),n=o.computed(()=>{const s=e.value;return s==null||s===""?null:String(s)}),a=o.computed(()=>{const s=n.value;return s?s.length<=18?s:`${s.slice(0,8)}…${s.slice(-4)}`:"—"});async function l(){if(!n.value)return;await Qd(n.value)&&(i.value=!0,globalThis.setTimeout(()=>{i.value=!1},2e3))}return(s,p)=>n.value?(o.openBlock(),o.createElementBlock("button",{key:0,type:"button",class:"pbx-inspectorIdChip",title:n.value,"aria-label":`${o.unref(t)("Copy ID")}: ${n.value}`,onClick:l},[o.createElementVNode("span",Sre,o.toDisplayString(a.value),1),o.createElementVNode("span",Cre,o.toDisplayString(i.value?"check":"content_copy"),1)],8,kre)):(o.openBlock(),o.createElementBlock("span",Tre,"—"))}}),Ere={class:"pbx-selectedHtmlInspector"},Mre={class:"pbx-editorSectionDesc"},Pre={class:"pbx-editorFieldGroup"},Bre={class:"pbx-editorSectionTitle"},Lre={class:"pbx-inspectorCard"},Nre={class:"pbx-inspectorLabel"},Are={class:"pbx-editorFieldGroup"},_re={class:"pbx-editorSectionTitle"},Dre=["aria-label"],zre=["aria-selected"],Ire=["aria-selected"],Vre=["aria-selected"],Hre={class:"pbx-inspectorPanel"},Rre={key:0,role:"tabpanel"},Ore={key:0,class:"pbx-inspectorEmpty"},Fre={class:"pbx-inspectorMeta pbx-mb-3"},jre={key:0,class:"pbx-inspectorMetaRow"},qre={class:"pbx-inspectorFieldLabel"},Ure={class:"pbx-inspectorValue pbx-inspectorValueBreak"},Wre={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},Gre={class:"pbx-inspectorFieldLabel"},Kre={class:"pbx-inspectorActionStack"},Jre={key:1,role:"tabpanel"},Yre={key:0,class:"pbx-inspectorEmpty"},Qre={class:"pbx-inspectorMeta pbx-mb-3"},Xre={class:"pbx-inspectorMetaRow"},Zre={class:"pbx-inspectorFieldLabel"},$re={class:"pbx-inspectorMetaRow"},eoe={class:"pbx-inspectorFieldLabel"},toe={class:"pbx-inspectorValue"},roe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},ooe={class:"pbx-inspectorFieldLabel"},ioe={key:2,role:"tabpanel"},noe=["aria-expanded","aria-label"],aoe={class:"pbx-inspectorComponentsSummaryContent"},loe={class:"pbx-inspectorComponentsSummaryChevron material-symbols-outlined","aria-hidden":"true"},soe={key:1,class:"pbx-inspectorComponentsSummary pbx-inspectorComponentsSummaryEmpty"},poe={class:"pbx-inspectorList"},doe=["aria-expanded","aria-label","onClick"],coe={class:"pbx-inspectorComponentCardTitleContent"},boe={class:"pbx-inspectorListIndex"},moe={class:"pbx-inspectorListTitle"},goe={class:"pbx-inspectorComponentsSummaryChevron material-symbols-outlined","aria-hidden":"true"},uoe={class:"pbx-inspectorComponentCardBody"},xoe={class:"pbx-inspectorMeta pbx-inspectorComponentCardMeta"},hoe={class:"pbx-inspectorMetaRow"},foe={class:"pbx-inspectorFieldLabel"},yoe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},woe={class:"pbx-inspectorFieldLabel"},voe={class:"pbx-inspectorComponentCardFooter"},koe=o.defineComponent({__name:"SelectedHtmlInspector",setup(r){const{translate:e}=ne(),{openHtmlViewer:t}=Zl(),{openHtmlEditor:i}=ts(),n=ve,a=o.computed(()=>n.getElement),l=o.computed(()=>n.getComponent),s=o.computed(()=>n.getComponents),p=o.ref("element"),d=o.computed(()=>{var N;return((N=s.value)==null?void 0:N.length)??0}),c=o.ref(!1),b=o.ref(new Set);function m(){d.value&&(c.value=!c.value)}function g(N,A){return String(N.id??N.title??A)}function x(N,A){return b.value.has(g(N,A))}function u(N,A){const I=g(N,A),_=new Set(b.value);_.has(I)?_.delete(I):_.add(I),b.value=_}o.watch(c,N=>{N||(b.value=new Set)}),o.watch(p,N=>{N!=="components"&&(c.value=!1,b.value=new Set)});function h(N){return N?N.tagName.toLowerCase():"—"}function y(N){return N?"object":"—"}function w(N){return N.length?`${e("array")} · ${N.length}`:e("array")}const f=o.computed(()=>[{label:e("Element type:"),value:h(a.value),tone:a.value?"active":"muted"},{label:e("Component type:"),value:y(l.value),tone:l.value?"active":"muted"},{label:e("Components:"),value:w(s.value),tone:d.value>0?"active":"muted"}]),E=o.computed(()=>{var A;const N=a.value;return(A=N==null?void 0:N.classList)!=null&&A.length?Array.from(N.classList):[]}),S=o.computed(()=>{var N;return(N=l.value)!=null&&N.html_code?kz(l.value.html_code):[]}),P=o.computed(()=>{const N=a.value;return!N||N.tagName!=="IMG"?null:N.src||"—"});function v(N){p.value=N}function M(){a.value&&i(e("Element HTML"),a.value.outerHTML,"element")}function C(){a.value&&t(e("Element HTML"),a.value.outerHTML)}function k(N,A){const I=N.title||(A!==void 0?`${e("Component")} #${A+1}`:e("Component"));t(`${I} · ${e("HTML")}`,N.html_code||"")}function T(){l.value&&k(l.value)}function V(N){return kz(N.html_code||"")}return(N,A)=>(o.openBlock(),o.createElementBlock("div",Ere,[o.createElementVNode("p",Mre,o.toDisplayString(o.unref(e)("Overview of Selected Element, Component, and Components. This section provides real-time updates based on your HTML selection.")),1),o.createElementVNode("div",Pre,[o.createElementVNode("h4",Bre,o.toDisplayString(o.unref(e)("Types")),1),o.createElementVNode("div",Lre,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(f.value,I=>(o.openBlock(),o.createElementBlock("div",{key:I.label,class:"pbx-inspectorRow"},[o.createElementVNode("span",Nre,o.toDisplayString(I.label),1),o.createElementVNode("span",{class:o.normalizeClass(["pbx-inspectorBadge",I.tone==="active"?"pbx-inspectorBadgeActive":"pbx-inspectorBadgeMuted"])},o.toDisplayString(I.value),3)]))),128))])]),o.createElementVNode("div",Are,[o.createElementVNode("h4",_re,o.toDisplayString(o.unref(e)("Content")),1),o.createElementVNode("div",{class:"pbx-inspectorTabs",role:"tablist","aria-label":o.unref(e)("Content")},[o.createElementVNode("button",{type:"button",role:"tab","aria-selected":p.value==="element",class:o.normalizeClass(["pbx-inspectorTab pbx-font-sans",{"pbx-inspectorTabActive":p.value==="element"}]),onClick:A[0]||(A[0]=I=>v("element"))},o.toDisplayString(o.unref(e)("Element")),11,zre),o.createElementVNode("button",{type:"button",role:"tab","aria-selected":p.value==="component",class:o.normalizeClass(["pbx-inspectorTab pbx-font-sans",{"pbx-inspectorTabActive":p.value==="component"}]),onClick:A[1]||(A[1]=I=>v("component"))},o.toDisplayString(o.unref(e)("Component")),11,Ire),o.createElementVNode("button",{type:"button",role:"tab","aria-selected":p.value==="components",class:o.normalizeClass(["pbx-inspectorTab pbx-font-sans",{"pbx-inspectorTabActive":p.value==="components"}]),onClick:A[2]||(A[2]=I=>v("components"))},o.toDisplayString(o.unref(e)("Components")),11,Vre)],8,Dre),o.createElementVNode("div",Hre,[p.value==="element"?(o.openBlock(),o.createElementBlock("div",Rre,[a.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",Fre,[P.value!==null?(o.openBlock(),o.createElementBlock("div",jre,[o.createElementVNode("span",qre,o.toDisplayString(o.unref(e)("Element src:")),1),o.createElementVNode("span",Ure,o.toDisplayString(P.value),1)])):o.createCommentVNode("",!0),o.createElementVNode("div",Wre,[o.createElementVNode("span",Gre,o.toDisplayString(o.unref(e)("Element classes:")),1),o.createVNode(Xl,{classes:E.value,"empty-placeholder":""},null,8,["classes"])])]),o.createElementVNode("div",Kre,[o.createVNode(Er,{icon:"visibility",label:o.unref(e)("View element HTML"),hint:o.unref(e)("Preview selected element markup"),onClick:C},null,8,["label","hint"]),o.createVNode(Er,{icon:"deployed_code",label:o.unref(e)("Open element HTML editor"),hint:o.unref(e)("Edit selected element markup"),onClick:M},null,8,["label","hint"])])],64)):(o.openBlock(),o.createElementBlock("p",Ore,o.toDisplayString(o.unref(e)("No Element selected")),1))])):o.createCommentVNode("",!0),p.value==="component"?(o.openBlock(),o.createElementBlock("div",Jre,[l.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",Qre,[o.createElementVNode("div",Xre,[o.createElementVNode("span",Zre,o.toDisplayString(o.unref(e)("ID:")),1),o.createVNode(Sz,{value:l.value.id},null,8,["value"])]),o.createElementVNode("div",$re,[o.createElementVNode("span",eoe,o.toDisplayString(o.unref(e)("Title:")),1),o.createElementVNode("span",toe,o.toDisplayString(l.value.title||"—"),1)]),o.createElementVNode("div",roe,[o.createElementVNode("span",ooe,o.toDisplayString(o.unref(e)("Component classes:")),1),o.createVNode(Xl,{classes:S.value,"empty-placeholder":""},null,8,["classes"])])]),o.createVNode(Er,{icon:"visibility",label:o.unref(e)("View component HTML"),hint:o.unref(e)("Preview component markup"),onClick:T},null,8,["label","hint"])],64)):(o.openBlock(),o.createElementBlock("p",Yre,o.toDisplayString(o.unref(e)("No Component selected")),1))])):o.createCommentVNode("",!0),p.value==="components"?(o.openBlock(),o.createElementBlock("div",ioe,[d.value?(o.openBlock(),o.createElementBlock("button",{key:0,type:"button",class:o.normalizeClass(["pbx-font-sans pbx-inspectorComponentsSummary pbx-inspectorComponentsSummaryToggle",{"pbx-inspectorComponentsSummaryOpen":c.value}]),"aria-expanded":c.value,"aria-label":o.unref(e)("Components"),onClick:m},[o.createElementVNode("span",aoe,[o.createElementVNode("span",null,o.toDisplayString(o.unref(e)("Components")),1)]),o.createElementVNode("span",loe,o.toDisplayString(c.value?"expand_less":"expand_more"),1)],10,noe)):(o.openBlock(),o.createElementBlock("div",soe,o.toDisplayString(o.unref(e)("No Components added yet")),1)),o.withDirectives(o.createElementVNode("div",poe,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.value,(I,_)=>(o.openBlock(),o.createElementBlock("article",{key:String(I.id??I.title??_),class:"pbx-inspectorComponentCard"},[o.createElementVNode("button",{type:"button",class:"pbx-font-sans pbx-inspectorComponentCardToggle","aria-expanded":x(I,_),"aria-label":I.title||o.unref(e)("Component"),onClick:q=>u(I,_)},[o.createElementVNode("span",coe,[o.createElementVNode("span",boe,"#"+o.toDisplayString(_+1),1),o.createElementVNode("span",moe,o.toDisplayString(I.title||o.unref(e)("Component")),1)]),o.createElementVNode("span",goe,o.toDisplayString(x(I,_)?"expand_less":"expand_more"),1)],8,doe),o.withDirectives(o.createElementVNode("div",uoe,[o.createElementVNode("div",xoe,[o.createElementVNode("div",hoe,[o.createElementVNode("span",foe,o.toDisplayString(o.unref(e)("ID:")),1),o.createVNode(Sz,{value:I.id},null,8,["value"])]),o.createElementVNode("div",yoe,[o.createElementVNode("span",woe,o.toDisplayString(o.unref(e)("Component classes:")),1),o.createVNode(Xl,{classes:V(I),"empty-placeholder":""},null,8,["classes"])])]),o.createElementVNode("div",voe,[o.createVNode(Er,{icon:"visibility",label:o.unref(e)("View component HTML"),hint:o.unref(e)("Preview component markup"),onClick:q=>k(I,_)},null,8,["label","hint","onClick"])])],512),[[o.vShow,x(I,_)]])]))),128))],512),[[o.vShow,d.value&&c.value]])])):o.createCommentVNode("",!0)])])]))}}),Soe={key:0,class:"pbx-flex pbx-items-center pbx-gap-1 pbx-border-0 pbx-border-solid pbx-border-b pbx-border-gray-100 pbx-pb-3 pbx-pt-1 pbx-overflow-x-auto"},Coe={key:1},Toe={key:0},Eoe={class:"pbx-flex pbx-items-left pbx-flex-col pbx-gap-1"},Moe={class:"pbx-myQuaternaryHeader"},Poe={key:1,class:"pbx-editorSectionDesc"},Boe={key:2,class:"pbx-editorSectionDesc"},Loe={key:3,class:"pbx-editorSectionDesc"},Noe={class:"pbx-settingsSection"},Aoe={class:"pbx-settingsSectionTitle"},_oe={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Doe={class:"pbx-overflow-x-auto"},zoe={class:"pbx-min-w-full"},Ioe={class:"pbx-bg-gray-50"},Voe={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Hoe={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Roe={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Ooe={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Foe={class:"pbx-min-w-[30rem] pbx-w-max"},joe={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},qoe={class:"pbx-min-w-[30rem] pbx-w-max"},Uoe={class:"pbx-inline-flex pbx-items-center pbx-px-2.5 pbx-py-0.5 pbx-rounded-full pbx-text-xs pbx-font-medium pbx-bg-blue-100 pbx-text-blue-800"},Woe={key:0,class:"pbx-settingsSection"},Goe={class:"pbx-settingsSectionTitle"},Koe={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Joe={class:"pbx-overflow-x-auto"},Yoe={class:"pbx-min-w-full"},Qoe={class:"pbx-bg-gray-50"},Xoe={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Zoe={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},$oe={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},eie={key:0},tie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},rie={class:"pbx-min-w-[30rem] pbx-w-max"},oie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},iie={class:"pbx-min-w-[30rem] pbx-w-max"},nie={key:1},aie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},lie={class:"pbx-min-w-[30rem] pbx-w-max"},sie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},pie={class:"pbx-min-w-[30rem] pbx-w-max"},die={key:1,class:"pbx-settingsSection"},cie={class:"pbx-settingsSectionTitle"},bie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},mie={class:"pbx-overflow-x-auto"},gie={class:"pbx-min-w-full"},uie={class:"pbx-bg-gray-50"},xie={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},hie={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},fie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},yie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},wie={class:"pbx-min-w-[30rem] pbx-w-max"},vie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},kie={class:"pbx-min-w-[30rem] pbx-w-max"},Sie={class:"pbx-flex pbx-items-center pbx-space-x-3"},Cie=["src"],Tie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Eie={class:"pbx-min-w-[30rem] pbx-w-max"},Mie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Pie={class:"pbx-min-w-[30rem] pbx-w-max"},Bie={class:"pbx-whitespace-nowrap"},Lie={key:2,class:"pbx-settingsSection"},Nie={class:"pbx-settingsSectionTitle"},Aie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},_ie={class:"pbx-overflow-x-auto"},Die={class:"pbx-w-max pbx-min-w-full"},zie={class:"pbx-bg-gray-50"},Iie={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Vie={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Hie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Rie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Oie={class:"pbx-min-w-[30rem] pbx-w-max"},Fie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},jie={class:"pbx-min-w-[30rem] pbx-w-max"},qie={key:0},Uie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Wie={class:"pbx-min-w-[30rem] pbx-w-max"},Gie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Kie={class:"pbx-min-w-[30rem] pbx-w-max"},Jie={class:"pbx-inline-flex pbx-items-center pbx-px-2.5 pbx-py-0.5 pbx-rounded-full pbx-text-xs pbx-font-medium"},Yie={key:5,class:"pbx-px-2 pbx-settingsSectionGroup"},Qie={key:0,class:"pbx-settingsSection"},Xie={class:"pbx-settingsSectionTitle"},Zie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},$ie={class:"pbx-overflow-x-auto"},ene={class:"pbx-min-w-full"},tne={class:"pbx-bg-gray-50"},rne={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},one={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},ine={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},nne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},ane={class:"pbx-min-w-[30rem] pbx-w-max"},lne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},sne={class:"pbx-min-w-[30rem] pbx-w-max"},pne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},dne={class:"pbx-min-w-[30rem] pbx-w-max"},cne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},bne={class:"pbx-min-w-[30rem] pbx-w-max"},mne={key:0,class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},gne={class:"pbx-min-w-[30rem] pbx-w-max"},une={class:"pbx-flex pbx-items-center pbx-space-x-3"},xne=["src"],hne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},fne={class:"pbx-min-w-[30rem] pbx-w-max"},yne={key:0,class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},wne={class:"pbx-min-w-[30rem] pbx-w-max"},vne={key:1,class:"pbx-settingsSection"},kne={class:"pbx-settingsSectionTitle"},Sne={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Cne={class:"pbx-overflow-x-auto"},Tne={class:"pbx-min-w-full"},Ene={class:"pbx-bg-gray-50"},Mne={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Pne={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Bne={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Lne={key:0},Nne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Ane={class:"pbx-min-w-[30rem] pbx-w-max"},_ne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Dne={class:"pbx-min-w-[30rem] pbx-w-max"},zne={key:1},Ine={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Vne={class:"pbx-min-w-[30rem] pbx-w-max"},Hne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Rne={class:"pbx-min-w-[30rem] pbx-w-max"},One={key:2},Fne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},jne={class:"pbx-min-w-[30rem] pbx-w-max"},qne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Une={class:"pbx-min-w-[30rem] pbx-w-max"},Wne={key:0,class:"pbx-flex pbx-items-left pbx-flex-col pbx-gap-1"},Gne={class:"pbx-myQuaternaryHeader"},Kne={class:"pbx-myPrimaryParagraph pbx-text-xs"},Jne={class:"pbx-settingsSection pbx-whitespace-pre-wrap pbx-text-white pbx-overflow-hidden pbx-bg-gray-900"},Yne={class:"pbx-flex bg-gray-800/40 pbx-ring-1 ring-white/5"},Qne={class:"pbx-mb-px pbx-flex pbx-text-xs pbx-font-medium pbx-text-myPrimaryMediumGrayColor"},Xne={class:"pbx-px-4 pbx-py-4 pbx-text-white"},Zne={class:"pbx-px-4 pbx-pb-8 pbx-pt-4 pbx-text-white pbx-text-xs pbx-break-all"},$ne={class:"pbx-myPrimaryParagraph pbx-text-xs pbx-text-white"},eae={key:0},tae={class:"pbx-editorFieldGroup"},rae={key:1},oae={class:"pbx-myPrimaryParagraph pbx-mt-6 pbx-text-gray-500"},An=o.defineComponent({__name:"PageBuilderSettings",props:{embeddedSection:{}},setup(r){const e=r,{translate:t}=ne(),{showToast:i}=Xe(),n=o.computed(()=>!!e.embeddedSection),a=o.computed(()=>["overviewApp","overviewUser","overviewConfig"].includes(e.embeddedSection??"")),l=ve,s=o.computed(()=>l.getPageBuilderConfig),p=o.computed(()=>l.getComponents),d=o.ref("overview");function c(E){d.value=E}const b=o.computed(()=>a.value||!e.embeddedSection&&d.value==="overview"),m=o.computed(()=>b.value&&!a.value),g=o.computed(()=>e.embeddedSection==="overviewApp"||!e.embeddedSection&&d.value==="overview"),x=o.computed(()=>e.embeddedSection==="overviewUser"||!e.embeddedSection&&d.value==="overview"),u=o.computed(()=>e.embeddedSection==="overviewConfig"||!e.embeddedSection&&d.value==="overview"),h=o.computed(()=>e.embeddedSection==="download"||!e.embeddedSection&&d.value==="download"),y=o.computed(()=>e.embeddedSection==="selectedHtml"||!e.embeddedSection&&d.value==="viewHTMLConfig");function w(E,S){const C=`
|
|
366
|
+
border-color 0.15s`}])},null,4)],8,Ste),h.value===C.id?(o.openBlock(),o.createElementBlock("div",{key:0,class:"pbx-fixed pbx-inset-0 pbx-z-40",onClick:w})):o.createCommentVNode("",!0),h.value===C.id?(o.openBlock(),o.createElementBlock("div",{key:1,class:"pbx-absolute pbx-right-0 pbx-z-50 pbx-rounded-xl pbx-border pbx-border-solid pbx-border-gray-200 pbx-bg-white pbx-p-3 pbx-shadow-lg",style:{top:"calc(100% + 8px)",width:"266px"},onClick:M[0]||(M[0]=o.withModifiers(()=>{},["stop"]))},[o.createVNode(WD,{"model-value":C.color,"onUpdate:modelValue":k=>u(C,k)},null,8,["model-value","onUpdate:modelValue"])])):o.createCommentVNode("",!0)])])]))),128))]),o.createElementVNode("div",Cte,[o.createElementVNode("div",null,[o.createElementVNode("p",Tte,o.toDisplayString(o.unref(e)("Reset to provided defaults")),1),o.createElementVNode("p",Ete,o.toDisplayString(o.unref(e)("Restore the original colors provided to the page builder")),1)]),o.createElementVNode("button",{type:"button",class:"pbx-mySecondaryButton pbx-flex pbx-items-center pbx-gap-1 pbx-shrink-0",onClick:E},[M[1]||(M[1]=o.createElementVNode("span",{class:"material-symbols-outlined pbx-materialIconBase pbx-leading-none"},"restart_alt",-1)),o.createTextVNode(" "+o.toDisplayString(o.unref(e)("Reset")),1)])])],2),o.createVNode(St,{showDynamicModalBuilder:f.value,type:"delete",gridColumnAmount:2,title:o.unref(e)("Reset to provided defaults"),description:o.unref(e)("This will restore the original colors provided to the page builder. Any changes you have made to colors or enabled states will be lost."),firstButtonText:o.unref(e)("Close"),thirdButtonText:o.unref(e)("Reset"),onFirstModalButtonFunctionDynamicModalBuilder:S,onThirdModalButtonFunctionDynamicModalBuilder:P},{default:o.withCtx(()=>[...M[2]||(M[2]=[o.createElementVNode("header",null,null,-1),o.createElementVNode("main",null,null,-1)])]),_:1},8,["showDynamicModalBuilder","title","description","firstButtonText","thirdButtonText"])],64))}}),Pte=o.defineComponent({__name:"ThemeColorSettingsEditor",setup(r){const{translate:e}=ne();return(t,i)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Theme & colors")),1)]),content:o.withCtx(()=>[o.createVNode(Mte,{embedded:""})]),_:1}))}}),Bte={class:"pbx-editorSectionDesc"},Lte={class:"pbx-editorFieldGroup"},Nte={for:"page-meta-title",class:"pbx-myPrimaryInputLabel"},Ate=["placeholder"],_te={class:"pbx-editorFieldGroup"},Dte={for:"page-meta-description",class:"pbx-myPrimaryInputLabel"},zte=["placeholder"],Ite=["disabled"],Vte={key:0,class:"material-symbols-outlined"},Hte={key:1,class:"material-symbols-outlined pbx-animate-spin"},Rte=o.defineComponent({name:"PageMetaSettingsEditor",__name:"PageMetaSettingsEditor",setup(r){const{translate:e}=ne(),{showToast:t}=Xe(),i=Se(),n=o.ref(""),a=o.ref(""),l=o.ref(!1);o.onMounted(()=>{const p=i.getPageMeta();n.value=p.title||"",a.value=p.description||""});const s=async()=>{if(!l.value){l.value=!0,await Il(300);try{await i.setPageMeta({title:n.value.trim(),description:a.value.trim()}),t(e("Page meta saved"),"success")}catch{t(e("Could not save page meta"),"error")}finally{l.value=!1}}};return(p,d)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Page Meta")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",Bte,o.toDisplayString(o.unref(e)("Page meta description")),1),o.createElementVNode("div",Lte,[o.createElementVNode("label",Nte,o.toDisplayString(o.unref(e)("Meta title")),1),o.withDirectives(o.createElementVNode("input",{id:"page-meta-title","onUpdate:modelValue":d[0]||(d[0]=c=>n.value=c),type:"text",class:"pbx-myPrimaryInput pbx-w-full",placeholder:o.unref(e)("Meta title placeholder")},null,8,Ate),[[o.vModelText,n.value]])]),o.createElementVNode("div",_te,[o.createElementVNode("label",Dte,o.toDisplayString(o.unref(e)("Meta description")),1),o.withDirectives(o.createElementVNode("textarea",{id:"page-meta-description","onUpdate:modelValue":d[1]||(d[1]=c=>a.value=c),rows:"3",class:"pbx-myPrimaryInput pbx-w-full pbx-resize-y",placeholder:o.unref(e)("Meta description placeholder")},null,8,zte),[[o.vModelText,a.value]])]),o.createElementVNode("button",{type:"button",class:"pbx-myPrimaryButton pbx-w-full",disabled:l.value,onClick:s},[o.createTextVNode(o.toDisplayString(o.unref(e)("Save"))+" ",1),l.value?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",Vte,"check")),l.value?(o.openBlock(),o.createElementBlock("span",Hte,"refresh")):o.createCommentVNode("",!0)],8,Ite)]),_:1}))}}),Ote={key:0,class:"pbx-fixed pbx-inset-0 pbx-z-[9999]"},Fte={class:"pbx-flex pbx-gap-2 pbx-justify-between pbx-items-center pbx-py-2 pbx-px-2 pbx-mb-2 pbx-border-b pbx-border-gray-200"},jte={class:"pbx-myQuaternaryHeader pbx-my-0 pbx-py-0 pbx-text-black"},qte={class:"pbx-pt-4 pbx-px-2"},wz=o.defineComponent({__name:"FloatingSidePanel",props:{title:{type:String,required:!1,default:null},showSidebarPanel:{type:Boolean,default:!1},position:{type:String,required:!0,default:"right",validator(r){const t=["left","right"].includes(r);return t||console.warn(`Invalid prop: position must be 'left' or 'right', got '${r}'`),t}},closeOnOverlayClick:{type:Boolean,default:!0}},emits:["closeSidebarPanel"],setup(r,{emit:e}){const t=r,i=e,n=()=>{i("closeSidebarPanel")},a=()=>{t.closeOnOverlayClick&&n()};return(l,s)=>(o.openBlock(),o.createBlock(o.Teleport,{to:"body"},[o.createVNode(o.Transition,{name:"popup-fade"},{default:o.withCtx(()=>[r.showSidebarPanel?(o.openBlock(),o.createElementBlock("div",Ote,[o.createElementVNode("div",{class:o.normalizeClass(["pbx-fixed pbx-inset-0 pbx-bg-black pbx-opacity-20 pbx-z-40",{"pbx-pointer-events-none":!r.closeOnOverlayClick}]),onClick:a},null,2),o.createElementVNode("div",{class:o.normalizeClass(["pbx-font-sans pbx-fixed pbx-top-0 pbx-rounded-3xl pbx-pt-2 pbx-pb-20 pbx-px-2 pbx-border pbx-border-gray-200 pbx-max-h-[80vh] lg:pbx-min-h-[98%] pbx-min-h-[80vh] lg:pbx-min-w-96 lg:pbx-w-96 pbx-w-[96%] pbx-overflow-y-auto pbx-z-50 pbx-bg-white lg:pbx-mt-2 pbx-mt-2",[r.position==="left"?"pbx-left-0 pbx-ml-[1%]":"",r.position==="right"?"pbx-right-0 pbx-mr-[1%]":""]]),onClick:s[0]||(s[0]=o.withModifiers(()=>{},["stop"]))},[o.createElementVNode("div",Fte,[o.createElementVNode("span",jte,o.toDisplayString(r.title),1),o.createElementVNode("span",{onClick:n},[...s[1]||(s[1]=[o.createElementVNode("div",{class:"pbx-h-10 pbx-w-10 pbx-cursor-pointer pbx-rounded-full pbx-flex pbx-items-center pbx-border-none pbx-justify-center pbx-bg-gray-50 pbx-aspect-square hover:pbx-bg-myPrimaryLinkColor hover:pbx-text-white focus-visible:pbx-ring-0 pbx-text-black"},[o.createElementVNode("span",{class:"material-symbols-outlined"}," close ")],-1)])])]),o.createElementVNode("div",qte,[o.renderSlot(l.$slots,"default")])],2)])):o.createCommentVNode("",!0)]),_:3})]))}}),Ute={class:"pbx-overflow-y-auto"},Wte={key:0,class:"pbx-flex pbx-items-center pbx-justify-center pbx-gap-2"},Gte={class:"pbx-bg-gray-100 pbx-rounded-full pbx-w-32 pbx-h-32 pbx-flex pbx-items-center pbx-justify-center"},Kte={class:"pbx-text-center"},Jte={class:"pbx-lg:pbx-text-7xl pbx-text-5xl"},Yte={key:1,class:"pbx-w-full pbx-space-y-5"},Qte={class:"pbx-text-base pbx-font-semibold pbx-text-center pbx-text-myPrimaryDarkGrayColor"},Xte={class:"pbx-seoCheckGroupTitle"},Zte={class:"pbx-space-y-2"},$te={class:"material-symbols-outlined","aria-hidden":"true"},ere={class:"pbx-pageDesignOpenButtonText"},tre={class:"pbx-pageDesignOpenButtonLabel"},rre={class:"pbx-pageDesignOpenButtonHint"},ore={key:2,class:"pbx-text-gray-500 pbx-text-center pbx-py-8"},ire=o.defineComponent({__name:"SeoCheckPanel",props:{seoResult:{}},setup(r){const e=r,{translate:t}=ne(),i=o.computed(()=>{if(!e.seoResult)return[];const n=new Map;for(const a of e.seoResult.checks){const l=a.category??"Other";n.has(l)||n.set(l,[]),n.get(l).push(a)}return Array.from(n.entries()).map(([a,l])=>({title:a,checks:l}))});return(n,a)=>(o.openBlock(),o.createElementBlock("div",Ute,[r.seoResult?(o.openBlock(),o.createElementBlock("div",Wte,[o.createElementVNode("div",{class:"pbx-relative pbx-my-4 pbx-rounded-full pbx-flex pbx-items-center pbx-justify-center pbx-w-36 pbx-h-36",style:o.normalizeStyle({background:`conic-gradient(${r.seoResult.score<50?"#ef4444":"#50C878"} ${r.seoResult.score}%, #e5e7eb 0)`})},[o.createElementVNode("div",Gte,[o.createElementVNode("div",Kte,[o.createElementVNode("span",Jte,o.toDisplayString(r.seoResult.score),1),a[0]||(a[0]=o.createElementVNode("span",{class:"pbx-text-xl"},"%",-1))])])],4)])):o.createCommentVNode("",!0),i.value.length?(o.openBlock(),o.createElementBlock("div",Yte,[o.createElementVNode("h3",Qte,o.toDisplayString(o.unref(t)("SEO Check Results")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.value,l=>(o.openBlock(),o.createElementBlock("div",{key:l.title,class:"pbx-space-y-2"},[o.createElementVNode("h4",Xte,o.toDisplayString(o.unref(t)(l.title)),1),o.createElementVNode("ul",Zte,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.checks,(s,p)=>(o.openBlock(),o.createElementBlock("li",{key:p,class:o.normalizeClass(["pbx-seoCheckRow",s.passed?"pbx-seoCheckRow--pass":"pbx-seoCheckRow--fail"])},[o.createElementVNode("span",{class:o.normalizeClass(["pbx-seoCheckRowIcon",s.passed?"pbx-seoCheckRowIcon--pass":"pbx-seoCheckRowIcon--fail"])},[o.createElementVNode("span",$te,o.toDisplayString(s.passed?"check":"close"),1)],2),o.createElementVNode("span",ere,[o.createElementVNode("span",tre,o.toDisplayString(o.unref(t)(s.check)),1),o.createElementVNode("span",rre,o.toDisplayString(s.details),1)])],2))),128))])]))),128))])):(o.openBlock(),o.createElementBlock("div",ore,o.toDisplayString(o.unref(t)("No SEO checks available.")),1))]))}}),nre={class:"pbx-editorSectionDesc"},are=o.defineComponent({name:"SeoCheckSettingsEditor",__name:"SeoCheckSettingsEditor",setup(r){const{translate:e}=ne(),t=Se(),i=o.ref(null),n=o.ref(!1),a=o.ref(!1),l=async()=>{a.value=!0,n.value=!0,await Il(300);try{i.value=await t.analyzeSEO()}finally{a.value=!1}},s=()=>{n.value=!1};return(p,d)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("SEO Check")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",nre,o.toDisplayString(o.unref(e)("SEO check description")),1),o.createVNode(Er,{icon:"circle_circle",label:o.unref(e)("Run SEO check"),hint:o.unref(e)("Analyze headings, images, links and word count"),"is-loading":a.value,onClick:l},null,8,["label","hint","is-loading"])]),_:1}),o.createVNode(wz,{title:o.unref(e)("SEO Check"),showSidebarPanel:n.value,position:"left",onCloseSidebarPanel:s},{default:o.withCtx(()=>[o.createVNode(ire,{"seo-result":i.value},null,8,["seo-result"])]),_:1},8,["title","showSidebarPanel"])],64))}}),lre={class:"pbx-editorSectionDesc"},sre={class:"pbx-pageDesignOpenButtonText"},pre={class:"pbx-pageDesignOpenButtonLabel"},dre={class:"pbx-pageDesignOpenButtonHint"},cre=o.defineComponent({name:"RemoveAllComponentsSettingsEditor",__name:"RemoveAllComponentsSettingsEditor",setup(r){const{translate:e}=ne(),{showToast:t}=Xe(),i=Se(),n=o.ref(!1),a=o.ref(!1),l=o.ref(""),s=o.ref(1),p=o.ref(""),d=o.ref(""),c=o.ref(""),b=o.ref(null),m=o.ref(null),g=o.ref(null),x=o.ref(null),u=o.ref(null),h=function(){a.value=!0,l.value="delete",s.value=2,p.value=e("Remove all Components"),d.value=e("Are you sure you want to remove all Components?"),c.value=e("Close"),b.value=null,m.value=e("Delete"),g.value=function(){a.value=!1},x.value=function(){},u.value=async function(){n.value=!0,await i.clearHtmlSelection(),await i.handleFormSubmission(),await Re(500),a.value=!1,n.value=!1,t(e("All components removed"),"success")}};return(y,w)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Page layout")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",lre,o.toDisplayString(o.unref(e)("Remove all components description")),1),o.createElementVNode("button",{type:"button",class:"pbx-pageDesignOpenButton pbx-pageDesignOpenButton--danger",onClick:h},[w[3]||(w[3]=o.createElementVNode("span",{class:"material-symbols-outlined"},"delete_forever",-1)),o.createElementVNode("span",sre,[o.createElementVNode("span",pre,o.toDisplayString(o.unref(e)("Remove all Components")),1),o.createElementVNode("span",dre,o.toDisplayString(o.unref(e)("Clear every section from the page")),1)]),w[4]||(w[4]=o.createElementVNode("span",{class:"pbx-pageDesignOpenButtonArrow material-symbols-outlined","aria-hidden":"true"}," arrow_forward ",-1))])]),_:1}),o.createVNode(St,{showDynamicModalBuilder:a.value,type:l.value,gridColumnAmount:s.value,title:p.value,description:d.value,isLoading:n.value,firstButtonText:c.value,secondButtonText:b.value??void 0,thirdButtonText:m.value??void 0,onFirstModalButtonFunctionDynamicModalBuilder:w[0]||(w[0]=()=>{var f;return(f=g.value)==null?void 0:f.call(g)}),onSecondModalButtonFunctionDynamicModalBuilder:w[1]||(w[1]=()=>{var f;return(f=x.value)==null?void 0:f.call(x)}),onThirdModalButtonFunctionDynamicModalBuilder:w[2]||(w[2]=()=>{var f;return(f=u.value)==null?void 0:f.call(u)})},{default:o.withCtx(()=>[...w[5]||(w[5]=[o.createElementVNode("header",null,null,-1),o.createElementVNode("main",null,null,-1)])]),_:1},8,["showDynamicModalBuilder","type","gridColumnAmount","title","description","isLoading","firstButtonText","secondButtonText","thirdButtonText"])],64))}}),bre={class:"pbx-editorSectionDesc"},mre={class:"pbx-pageDesignOpenButtonText"},gre={class:"pbx-pageDesignOpenButtonLabel"},ure={class:"pbx-pageDesignOpenButtonHint"},xre=o.defineComponent({name:"PageDesignSettingsEditor",__name:"PageDesignSettingsEditor",emits:["open"],setup(r){const{translate:e}=ne();return(t,i)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("Page Design")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",bre,o.toDisplayString(o.unref(e)("Page design description")),1),o.createElementVNode("button",{type:"button",class:"pbx-pageDesignOpenButton",onClick:i[0]||(i[0]=n=>t.$emit("open"))},[o.createVNode(ql),o.createElementVNode("span",mre,[o.createElementVNode("span",gre,o.toDisplayString(o.unref(e)("Open page design")),1),o.createElementVNode("span",ure,o.toDisplayString(o.unref(e)("Typography, colors, spacing & more")),1)]),i[1]||(i[1]=o.createElementVNode("span",{class:"pbx-pageDesignOpenButtonArrow material-symbols-outlined","aria-hidden":"true"}," arrow_forward ",-1))])]),_:1}))}}),hre={class:"pbx-editorSectionDesc"},fre={class:"pbx-inspectorActionStack"},yre=o.defineComponent({name:"PageHtmlEditorSettingsEditor",__name:"PageHtmlEditorSettingsEditor",setup(r){const{translate:e}=ne(),t=Se(),{openHtmlViewer:i}=Zl(),{openHtmlEditor:n}=ts(),a=async()=>{const s=await t.generateFullPageHtml();n(e("HTML Editor"),s,"page")},l=async()=>{const s=await t.generateFullPageHtml();i(e("Page HTML"),s)};return(s,p)=>(o.openBlock(),o.createBlock(He,null,{title:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(e)("HTML Editor")),1)]),content:o.withCtx(()=>[o.createElementVNode("p",hre,o.toDisplayString(o.unref(e)("Page HTML editor description")),1),o.createElementVNode("div",fre,[o.createVNode(Er,{icon:"visibility",label:o.unref(e)("View page HTML"),hint:o.unref(e)("Preview full page markup"),onClick:l},null,8,["label","hint"]),o.createVNode(Er,{icon:"deployed_code",label:o.unref(e)("Open HTML editor"),hint:o.unref(e)("Edit full page markup"),onClick:a},null,8,["label","hint"])])]),_:1}))}}),ro=function(r){return!r||typeof r=="object"&&r.constructor===Object&&Object.keys(r).length===0},wre="3.5.41",vre=r=>/^[a-z][a-z0-9+.-]*:/i.test(r)||r.startsWith("//");function vz(r,e){if(!r)return console.warn("No valid pagebuilder element passed"),"";const t=r.cloneNode(!0);if(t.removeAttribute("id"),t.querySelectorAll("[data-pbx-insert-btn]").forEach(a=>{a.remove()}),t.querySelectorAll("[data-componentid], [data-component-title], #page-builder-editor-editable-area").forEach(a=>{a.removeAttribute("data-componentid"),a.removeAttribute("data-component-title"),a.id==="page-builder-editor-editable-area"&&a.removeAttribute("id")}),t.querySelectorAll("[data-pagebuilder-content]").forEach(a=>{a.removeAttribute("data-pagebuilder-content")}),t.querySelectorAll("[data-isl-active]").forEach(a=>{a.removeAttribute("data-isl-active")}),t.removeAttribute("data-builder-canvas"),e&&e&&typeof e.imageUrlPrefix=="string"){const a=e.imageUrlPrefix;t.querySelectorAll("img").forEach(s=>{const p=s.getAttribute("src")||"";p&&!p.startsWith("http")&&!vre(p)&&a&&!p.startsWith(a)&&s.setAttribute("src",a+p.replace(/^\/+/,""))})}const n=a=>{for(let l=a.childNodes.length-1;l>=0;l--){const s=a.childNodes[l];s.nodeType===Node.COMMENT_NODE?a.removeChild(s):s.nodeType===Node.ELEMENT_NODE&&n(s)}};return n(t),t.outerHTML}function kz(r){if(!(r!=null&&r.trim()))return[];const e=r.match(/class\s*=\s*(["'])(.*?)\1/i);return e!=null&&e[2]?e[2].split(/\s+/).filter(Boolean):[]}async function Qd(r){const{showToast:e}=Xe(),{translate:t}=ne();try{return await navigator.clipboard.writeText(r),e(t("Copied to clipboard"),"success"),!0}catch{return e(t("Clipboard unavailable"),"error"),!1}}const kre=["title","aria-label"],Sre={class:"pbx-inspectorIdChipText"},Cre={class:"pbx-inspectorIdChipIcon material-symbols-outlined","aria-hidden":"true"},Tre={key:1,class:"pbx-inspectorValue"},Sz=o.defineComponent({__name:"InspectorIdValue",props:{value:{}},setup(r){const e=r,{translate:t}=ne(),i=o.ref(!1),n=o.computed(()=>{const s=e.value;return s==null||s===""?null:String(s)}),a=o.computed(()=>{const s=n.value;return s?s.length<=18?s:`${s.slice(0,8)}…${s.slice(-4)}`:"—"});async function l(){if(!n.value)return;await Qd(n.value)&&(i.value=!0,globalThis.setTimeout(()=>{i.value=!1},2e3))}return(s,p)=>n.value?(o.openBlock(),o.createElementBlock("button",{key:0,type:"button",class:"pbx-inspectorIdChip",title:n.value,"aria-label":`${o.unref(t)("Copy ID")}: ${n.value}`,onClick:l},[o.createElementVNode("span",Sre,o.toDisplayString(a.value),1),o.createElementVNode("span",Cre,o.toDisplayString(i.value?"check":"content_copy"),1)],8,kre)):(o.openBlock(),o.createElementBlock("span",Tre,"—"))}}),Ere={class:"pbx-selectedHtmlInspector"},Mre={class:"pbx-editorSectionDesc"},Pre={class:"pbx-editorFieldGroup"},Bre={class:"pbx-editorSectionTitle"},Lre={class:"pbx-inspectorCard"},Nre={class:"pbx-inspectorLabel"},Are={class:"pbx-editorFieldGroup"},_re={class:"pbx-editorSectionTitle"},Dre=["aria-label"],zre=["aria-selected"],Ire=["aria-selected"],Vre=["aria-selected"],Hre={class:"pbx-inspectorPanel"},Rre={key:0,role:"tabpanel"},Ore={key:0,class:"pbx-inspectorEmpty"},Fre={class:"pbx-inspectorMeta pbx-mb-3"},jre={key:0,class:"pbx-inspectorMetaRow"},qre={class:"pbx-inspectorFieldLabel"},Ure={class:"pbx-inspectorValue pbx-inspectorValueBreak"},Wre={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},Gre={class:"pbx-inspectorFieldLabel"},Kre={class:"pbx-inspectorActionStack"},Jre={key:1,role:"tabpanel"},Yre={key:0,class:"pbx-inspectorEmpty"},Qre={class:"pbx-inspectorMeta pbx-mb-3"},Xre={class:"pbx-inspectorMetaRow"},Zre={class:"pbx-inspectorFieldLabel"},$re={class:"pbx-inspectorMetaRow"},eoe={class:"pbx-inspectorFieldLabel"},toe={class:"pbx-inspectorValue"},roe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},ooe={class:"pbx-inspectorFieldLabel"},ioe={key:2,role:"tabpanel"},noe=["aria-expanded","aria-label"],aoe={class:"pbx-inspectorComponentsSummaryContent"},loe={class:"pbx-inspectorComponentsSummaryChevron material-symbols-outlined","aria-hidden":"true"},soe={key:1,class:"pbx-inspectorComponentsSummary pbx-inspectorComponentsSummaryEmpty"},poe={class:"pbx-inspectorList"},doe=["aria-expanded","aria-label","onClick"],coe={class:"pbx-inspectorComponentCardTitleContent"},boe={class:"pbx-inspectorListIndex"},moe={class:"pbx-inspectorListTitle"},goe={class:"pbx-inspectorComponentsSummaryChevron material-symbols-outlined","aria-hidden":"true"},uoe={class:"pbx-inspectorComponentCardBody"},xoe={class:"pbx-inspectorMeta pbx-inspectorComponentCardMeta"},hoe={class:"pbx-inspectorMetaRow"},foe={class:"pbx-inspectorFieldLabel"},yoe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},woe={class:"pbx-inspectorFieldLabel"},voe={class:"pbx-inspectorComponentCardFooter"},koe=o.defineComponent({__name:"SelectedHtmlInspector",setup(r){const{translate:e}=ne(),{openHtmlViewer:t}=Zl(),{openHtmlEditor:i}=ts(),n=ve,a=o.computed(()=>n.getElement),l=o.computed(()=>n.getComponent),s=o.computed(()=>n.getComponents),p=o.ref("element"),d=o.computed(()=>{var N;return((N=s.value)==null?void 0:N.length)??0}),c=o.ref(!1),b=o.ref(new Set);function m(){d.value&&(c.value=!c.value)}function g(N,A){return String(N.id??N.title??A)}function x(N,A){return b.value.has(g(N,A))}function u(N,A){const I=g(N,A),_=new Set(b.value);_.has(I)?_.delete(I):_.add(I),b.value=_}o.watch(c,N=>{N||(b.value=new Set)}),o.watch(p,N=>{N!=="components"&&(c.value=!1,b.value=new Set)});function h(N){return N?N.tagName.toLowerCase():"—"}function y(N){return N?"object":"—"}function w(N){return N.length?`${e("array")} · ${N.length}`:e("array")}const f=o.computed(()=>[{label:e("Element type:"),value:h(a.value),tone:a.value?"active":"muted"},{label:e("Component type:"),value:y(l.value),tone:l.value?"active":"muted"},{label:e("Components:"),value:w(s.value),tone:d.value>0?"active":"muted"}]),E=o.computed(()=>{var A;const N=a.value;return(A=N==null?void 0:N.classList)!=null&&A.length?Array.from(N.classList):[]}),S=o.computed(()=>{var N;return(N=l.value)!=null&&N.html_code?kz(l.value.html_code):[]}),P=o.computed(()=>{const N=a.value;return!N||N.tagName!=="IMG"?null:N.src||"—"});function v(N){p.value=N}function M(){a.value&&i(e("Element HTML"),a.value.outerHTML,"element")}function C(){a.value&&t(e("Element HTML"),a.value.outerHTML)}function k(N,A){const I=N.title||(A!==void 0?`${e("Component")} #${A+1}`:e("Component"));t(`${I} · ${e("HTML")}`,N.html_code||"")}function T(){l.value&&k(l.value)}function V(N){return kz(N.html_code||"")}return(N,A)=>(o.openBlock(),o.createElementBlock("div",Ere,[o.createElementVNode("p",Mre,o.toDisplayString(o.unref(e)("Overview of Selected Element, Component, and Components. This section provides real-time updates based on your HTML selection.")),1),o.createElementVNode("div",Pre,[o.createElementVNode("h4",Bre,o.toDisplayString(o.unref(e)("Types")),1),o.createElementVNode("div",Lre,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(f.value,I=>(o.openBlock(),o.createElementBlock("div",{key:I.label,class:"pbx-inspectorRow"},[o.createElementVNode("span",Nre,o.toDisplayString(I.label),1),o.createElementVNode("span",{class:o.normalizeClass(["pbx-inspectorBadge",I.tone==="active"?"pbx-inspectorBadgeActive":"pbx-inspectorBadgeMuted"])},o.toDisplayString(I.value),3)]))),128))])]),o.createElementVNode("div",Are,[o.createElementVNode("h4",_re,o.toDisplayString(o.unref(e)("Content")),1),o.createElementVNode("div",{class:"pbx-inspectorTabs",role:"tablist","aria-label":o.unref(e)("Content")},[o.createElementVNode("button",{type:"button",role:"tab","aria-selected":p.value==="element",class:o.normalizeClass(["pbx-inspectorTab pbx-font-sans",{"pbx-inspectorTabActive":p.value==="element"}]),onClick:A[0]||(A[0]=I=>v("element"))},o.toDisplayString(o.unref(e)("Element")),11,zre),o.createElementVNode("button",{type:"button",role:"tab","aria-selected":p.value==="component",class:o.normalizeClass(["pbx-inspectorTab pbx-font-sans",{"pbx-inspectorTabActive":p.value==="component"}]),onClick:A[1]||(A[1]=I=>v("component"))},o.toDisplayString(o.unref(e)("Component")),11,Ire),o.createElementVNode("button",{type:"button",role:"tab","aria-selected":p.value==="components",class:o.normalizeClass(["pbx-inspectorTab pbx-font-sans",{"pbx-inspectorTabActive":p.value==="components"}]),onClick:A[2]||(A[2]=I=>v("components"))},o.toDisplayString(o.unref(e)("Components")),11,Vre)],8,Dre),o.createElementVNode("div",Hre,[p.value==="element"?(o.openBlock(),o.createElementBlock("div",Rre,[a.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",Fre,[P.value!==null?(o.openBlock(),o.createElementBlock("div",jre,[o.createElementVNode("span",qre,o.toDisplayString(o.unref(e)("Element src:")),1),o.createElementVNode("span",Ure,o.toDisplayString(P.value),1)])):o.createCommentVNode("",!0),o.createElementVNode("div",Wre,[o.createElementVNode("span",Gre,o.toDisplayString(o.unref(e)("Element classes:")),1),o.createVNode(Xl,{classes:E.value,"empty-placeholder":""},null,8,["classes"])])]),o.createElementVNode("div",Kre,[o.createVNode(Er,{icon:"visibility",label:o.unref(e)("View element HTML"),hint:o.unref(e)("Preview selected element markup"),onClick:C},null,8,["label","hint"]),o.createVNode(Er,{icon:"deployed_code",label:o.unref(e)("Open element HTML editor"),hint:o.unref(e)("Edit selected element markup"),onClick:M},null,8,["label","hint"])])],64)):(o.openBlock(),o.createElementBlock("p",Ore,o.toDisplayString(o.unref(e)("No Element selected")),1))])):o.createCommentVNode("",!0),p.value==="component"?(o.openBlock(),o.createElementBlock("div",Jre,[l.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",Qre,[o.createElementVNode("div",Xre,[o.createElementVNode("span",Zre,o.toDisplayString(o.unref(e)("ID:")),1),o.createVNode(Sz,{value:l.value.id},null,8,["value"])]),o.createElementVNode("div",$re,[o.createElementVNode("span",eoe,o.toDisplayString(o.unref(e)("Title:")),1),o.createElementVNode("span",toe,o.toDisplayString(l.value.title||"—"),1)]),o.createElementVNode("div",roe,[o.createElementVNode("span",ooe,o.toDisplayString(o.unref(e)("Component classes:")),1),o.createVNode(Xl,{classes:S.value,"empty-placeholder":""},null,8,["classes"])])]),o.createVNode(Er,{icon:"visibility",label:o.unref(e)("View component HTML"),hint:o.unref(e)("Preview component markup"),onClick:T},null,8,["label","hint"])],64)):(o.openBlock(),o.createElementBlock("p",Yre,o.toDisplayString(o.unref(e)("No Component selected")),1))])):o.createCommentVNode("",!0),p.value==="components"?(o.openBlock(),o.createElementBlock("div",ioe,[d.value?(o.openBlock(),o.createElementBlock("button",{key:0,type:"button",class:o.normalizeClass(["pbx-font-sans pbx-inspectorComponentsSummary pbx-inspectorComponentsSummaryToggle",{"pbx-inspectorComponentsSummaryOpen":c.value}]),"aria-expanded":c.value,"aria-label":o.unref(e)("Components"),onClick:m},[o.createElementVNode("span",aoe,[o.createElementVNode("span",null,o.toDisplayString(o.unref(e)("Components")),1)]),o.createElementVNode("span",loe,o.toDisplayString(c.value?"expand_less":"expand_more"),1)],10,noe)):(o.openBlock(),o.createElementBlock("div",soe,o.toDisplayString(o.unref(e)("No Components added yet")),1)),o.withDirectives(o.createElementVNode("div",poe,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.value,(I,_)=>(o.openBlock(),o.createElementBlock("article",{key:String(I.id??I.title??_),class:"pbx-inspectorComponentCard"},[o.createElementVNode("button",{type:"button",class:"pbx-font-sans pbx-inspectorComponentCardToggle","aria-expanded":x(I,_),"aria-label":I.title||o.unref(e)("Component"),onClick:q=>u(I,_)},[o.createElementVNode("span",coe,[o.createElementVNode("span",boe,"#"+o.toDisplayString(_+1),1),o.createElementVNode("span",moe,o.toDisplayString(I.title||o.unref(e)("Component")),1)]),o.createElementVNode("span",goe,o.toDisplayString(x(I,_)?"expand_less":"expand_more"),1)],8,doe),o.withDirectives(o.createElementVNode("div",uoe,[o.createElementVNode("div",xoe,[o.createElementVNode("div",hoe,[o.createElementVNode("span",foe,o.toDisplayString(o.unref(e)("ID:")),1),o.createVNode(Sz,{value:I.id},null,8,["value"])]),o.createElementVNode("div",yoe,[o.createElementVNode("span",woe,o.toDisplayString(o.unref(e)("Component classes:")),1),o.createVNode(Xl,{classes:V(I),"empty-placeholder":""},null,8,["classes"])])]),o.createElementVNode("div",voe,[o.createVNode(Er,{icon:"visibility",label:o.unref(e)("View component HTML"),hint:o.unref(e)("Preview component markup"),onClick:q=>k(I,_)},null,8,["label","hint","onClick"])])],512),[[o.vShow,x(I,_)]])]))),128))],512),[[o.vShow,d.value&&c.value]])])):o.createCommentVNode("",!0)])])]))}}),Soe={key:0,class:"pbx-flex pbx-items-center pbx-gap-1 pbx-border-0 pbx-border-solid pbx-border-b pbx-border-gray-100 pbx-pb-3 pbx-pt-1 pbx-overflow-x-auto"},Coe={key:1},Toe={key:0},Eoe={class:"pbx-flex pbx-items-left pbx-flex-col pbx-gap-1"},Moe={class:"pbx-myQuaternaryHeader"},Poe={key:1,class:"pbx-editorSectionDesc"},Boe={key:2,class:"pbx-editorSectionDesc"},Loe={key:3,class:"pbx-editorSectionDesc"},Noe={class:"pbx-settingsSection"},Aoe={class:"pbx-settingsSectionTitle"},_oe={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Doe={class:"pbx-overflow-x-auto"},zoe={class:"pbx-min-w-full"},Ioe={class:"pbx-bg-gray-50"},Voe={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Hoe={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Roe={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Ooe={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Foe={class:"pbx-min-w-[30rem] pbx-w-max"},joe={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},qoe={class:"pbx-min-w-[30rem] pbx-w-max"},Uoe={class:"pbx-inline-flex pbx-items-center pbx-px-2.5 pbx-py-0.5 pbx-rounded-full pbx-text-xs pbx-font-medium pbx-bg-blue-100 pbx-text-blue-800"},Woe={key:0,class:"pbx-settingsSection"},Goe={class:"pbx-settingsSectionTitle"},Koe={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Joe={class:"pbx-overflow-x-auto"},Yoe={class:"pbx-min-w-full"},Qoe={class:"pbx-bg-gray-50"},Xoe={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Zoe={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},$oe={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},eie={key:0},tie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},rie={class:"pbx-min-w-[30rem] pbx-w-max"},oie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},iie={class:"pbx-min-w-[30rem] pbx-w-max"},nie={key:1},aie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},lie={class:"pbx-min-w-[30rem] pbx-w-max"},sie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},pie={class:"pbx-min-w-[30rem] pbx-w-max"},die={key:1,class:"pbx-settingsSection"},cie={class:"pbx-settingsSectionTitle"},bie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},mie={class:"pbx-overflow-x-auto"},gie={class:"pbx-min-w-full"},uie={class:"pbx-bg-gray-50"},xie={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},hie={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},fie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},yie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},wie={class:"pbx-min-w-[30rem] pbx-w-max"},vie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},kie={class:"pbx-min-w-[30rem] pbx-w-max"},Sie={class:"pbx-flex pbx-items-center pbx-space-x-3"},Cie=["src"],Tie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Eie={class:"pbx-min-w-[30rem] pbx-w-max"},Mie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Pie={class:"pbx-min-w-[30rem] pbx-w-max"},Bie={class:"pbx-whitespace-nowrap"},Lie={key:2,class:"pbx-settingsSection"},Nie={class:"pbx-settingsSectionTitle"},Aie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},_ie={class:"pbx-overflow-x-auto"},Die={class:"pbx-w-max pbx-min-w-full"},zie={class:"pbx-bg-gray-50"},Iie={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Vie={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Hie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Rie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Oie={class:"pbx-min-w-[30rem] pbx-w-max"},Fie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},jie={class:"pbx-min-w-[30rem] pbx-w-max"},qie={key:0},Uie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Wie={class:"pbx-min-w-[30rem] pbx-w-max"},Gie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Kie={class:"pbx-min-w-[30rem] pbx-w-max"},Jie={class:"pbx-inline-flex pbx-items-center pbx-px-2.5 pbx-py-0.5 pbx-rounded-full pbx-text-xs pbx-font-medium"},Yie={key:5,class:"pbx-px-2 pbx-settingsSectionGroup"},Qie={key:0,class:"pbx-settingsSection"},Xie={class:"pbx-settingsSectionTitle"},Zie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},$ie={class:"pbx-overflow-x-auto"},ene={class:"pbx-min-w-full"},tne={class:"pbx-bg-gray-50"},rne={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},one={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},ine={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},nne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},ane={class:"pbx-min-w-[30rem] pbx-w-max"},lne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},sne={class:"pbx-min-w-[30rem] pbx-w-max"},pne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},dne={class:"pbx-min-w-[30rem] pbx-w-max"},cne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},bne={class:"pbx-min-w-[30rem] pbx-w-max"},mne={key:0,class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},gne={class:"pbx-min-w-[30rem] pbx-w-max"},une={class:"pbx-flex pbx-items-center pbx-space-x-3"},xne=["src"],hne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},fne={class:"pbx-min-w-[30rem] pbx-w-max"},yne={key:0,class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},wne={class:"pbx-min-w-[30rem] pbx-w-max"},vne={key:1,class:"pbx-settingsSection"},kne={class:"pbx-settingsSectionTitle"},Sne={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Cne={class:"pbx-overflow-x-auto"},Tne={class:"pbx-min-w-full"},Ene={class:"pbx-bg-gray-50"},Mne={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Pne={scope:"col",class:"pbx-px-6 pbx-py-3 pbx-text-left pbx-text-xs pbx-font-medium pbx-text-gray-500 pbx-uppercase pbx-tracking-wider"},Bne={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Lne={key:0},Nne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Ane={class:"pbx-min-w-[30rem] pbx-w-max"},_ne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Dne={class:"pbx-min-w-[30rem] pbx-w-max"},zne={key:1},Ine={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Vne={class:"pbx-min-w-[30rem] pbx-w-max"},Hne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Rne={class:"pbx-min-w-[30rem] pbx-w-max"},One={key:2},Fne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},jne={class:"pbx-min-w-[30rem] pbx-w-max"},qne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Une={class:"pbx-min-w-[30rem] pbx-w-max"},Wne={key:0,class:"pbx-flex pbx-items-left pbx-flex-col pbx-gap-1"},Gne={class:"pbx-myQuaternaryHeader"},Kne={class:"pbx-myPrimaryParagraph pbx-text-xs"},Jne={class:"pbx-settingsSection pbx-whitespace-pre-wrap pbx-text-white pbx-overflow-hidden pbx-bg-gray-900"},Yne={class:"pbx-flex bg-gray-800/40 pbx-ring-1 ring-white/5"},Qne={class:"pbx-mb-px pbx-flex pbx-text-xs pbx-font-medium pbx-text-myPrimaryMediumGrayColor"},Xne={class:"pbx-px-4 pbx-py-4 pbx-text-white"},Zne={class:"pbx-px-4 pbx-pb-8 pbx-pt-4 pbx-text-white pbx-text-xs pbx-break-all"},$ne={class:"pbx-myPrimaryParagraph pbx-text-xs pbx-text-white"},eae={key:0},tae={class:"pbx-editorFieldGroup"},rae={key:1},oae={class:"pbx-myPrimaryParagraph pbx-mt-6 pbx-text-gray-500"},An=o.defineComponent({__name:"PageBuilderSettings",props:{embeddedSection:{}},setup(r){const e=r,{translate:t}=ne(),{showToast:i}=Xe(),n=o.computed(()=>!!e.embeddedSection),a=o.computed(()=>["overviewApp","overviewUser","overviewConfig"].includes(e.embeddedSection??"")),l=ve,s=o.computed(()=>l.getPageBuilderConfig),p=o.computed(()=>l.getComponents),d=o.ref("overview");function c(E){d.value=E}const b=o.computed(()=>a.value||!e.embeddedSection&&d.value==="overview"),m=o.computed(()=>b.value&&!a.value),g=o.computed(()=>e.embeddedSection==="overviewApp"||!e.embeddedSection&&d.value==="overview"),x=o.computed(()=>e.embeddedSection==="overviewUser"||!e.embeddedSection&&d.value==="overview"),u=o.computed(()=>e.embeddedSection==="overviewConfig"||!e.embeddedSection&&d.value==="overview"),h=o.computed(()=>e.embeddedSection==="download"||!e.embeddedSection&&d.value==="download"),y=o.computed(()=>e.embeddedSection==="selectedHtml"||!e.embeddedSection&&d.value==="viewHTMLConfig");function w(E,S){const C=`
|
|
367
367
|
<!DOCTYPE html>
|
|
368
368
|
<html lang="en">
|
|
369
369
|
<head>
|
|
@@ -410,10 +410,10 @@ This will fail in production.`);s=kn,s._s.has(i)||(a?vd(i,e,n,s):Q_(i,n,s),proce
|
|
|
410
410
|
<div class="pbx-py-8 pbx-px-4"><div class="pbx-mx-auto pbx-max-w-7xl"><div class="${h}" data-pbx-product-grid="true">
|
|
411
411
|
${u}
|
|
412
412
|
</div></div></div>
|
|
413
|
-
</section>`}const ec="data-meta-title",tc="data-meta-description";function rc(r){return{title:r.getAttribute(ec)||"",description:r.getAttribute(tc)||""}}function oc(r,e){var n,a;const t=((n=e.title)==null?void 0:n.trim())||"",i=((a=e.description)==null?void 0:a.trim())||"";t?r.setAttribute(ec,t):r.removeAttribute(ec),i?r.setAttribute(tc,i):r.removeAttribute(tc)}function _n(r){const e=r==null?void 0:r.meta;return!e||typeof e!="object"?{title:"",description:""}:{title:typeof e.title=="string"?e.title:"",description:typeof e.description=="string"?e.description:""}}function Kpe(r,e){return{...r,meta:{..._n(r),...e}}}function Jpe(r,e,t=180){const i=e.getBoundingClientRect(),n=r.getBoundingClientRect(),l=i.top-n.top+r.scrollTop-r.clientHeight/2+e.clientHeight/2,s=r.scrollTop,p=l-s;if(Math.abs(p)<1){window.dispatchEvent(new CustomEvent("pagebuilder:layout-change"));return}const d=performance.now(),c=b=>{const m=Math.min(1,(b-d)/t),g=1-(1-m)**3;if(r.scrollTop=s+p*g,window.dispatchEvent(new CustomEvent("pagebuilder:layout-change")),m<1){requestAnimationFrame(c);return}window.dispatchEvent(new CustomEvent("pagebuilder:layout-change"))};requestAnimationFrame(c)}const Ype=["en","zh-Hans","fr","ja","ru","es","pt","de","ar","hi","da","it"],is="pbx-full-width-component";class Nz{constructor(e){ge(this,"fontSizeRegex",/^(sm:|md:|lg:|xl:|2xl:)?pbx-text-(xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl)$/);ge(this,"pageBuilderStateStore");ge(this,"getLocalStorageItemName");ge(this,"getApplyImageToSelection");ge(this,"getHyberlinkEnable");ge(this,"getComponents");ge(this,"getComponent");ge(this,"getElement");ge(this,"getComponentArrayAddMethod");ge(this,"NoneListernesTags");ge(this,"hasStartedEditing",!1);ge(this,"originalComponents");ge(this,"savedMountComponents",null);ge(this,"pendingMountComponents",null);ge(this,"globalStylesObserver",null);ge(this,"_pendingPageSettings",null);ge(this,"_lastKnownPageSettings",null);ge(this,"isPageBuilderMissingOnStart",!1);ge(this,"hasCompletedBuilderMount",!1);ge(this,"builderMountPromise",null);ge(this,"canvasClickCaptureListener",null);ge(this,"canvasDblClickCaptureListener",null);ge(this,"elementsWithListeners",new WeakMap);ge(this,"translate");ge(this,"handleMouseOver",(e,t)=>{if(this.pageBuilderStateStore.getInlineTipTapEditor)return;e.preventDefault(),e.stopPropagation();const i=document.querySelector("#pagebuilder");if(!i)return;const n=i.querySelector("[hovered]");n&&n.removeAttribute("hovered"),t.hasAttribute("selected")||t.setAttribute("hovered","")});ge(this,"handleMouseLeave",e=>{if(this.pageBuilderStateStore.getInlineTipTapEditor)return;e.preventDefault(),e.stopPropagation();const t=document.querySelector("#pagebuilder");if(!t)return;const i=t.querySelector("[hovered]");i&&i.removeAttribute("hovered")});ge(this,"addListenersToEditableElements",async()=>{const e=document.querySelector("#pagebuilder");e&&(await o.nextTick(),this.attachCanvasInlineEditListeners(e),e.querySelectorAll("section *").forEach(t=>{if(this.isEditableElement(t)){const i=t;if(this.elementsWithListeners.has(i)){const p=this.elementsWithListeners.get(i);p&&(i.removeEventListener("click",p.click),i.removeEventListener("dblclick",p.dblclick),i.removeEventListener("mouseover",p.mouseover),i.removeEventListener("mouseleave",p.mouseleave))}const n=p=>this.handleElementClick(p,i),a=p=>this.handleElementDoubleClick(p,i),l=p=>this.handleMouseOver(p,i),s=p=>this.handleMouseLeave(p);i.addEventListener("click",n),i.addEventListener("dblclick",a),i.addEventListener("mouseover",l),i.addEventListener("mouseleave",s),this.elementsWithListeners.set(i,{click:n,dblclick:a,mouseover:l,mouseleave:s})}}))});ge(this,"handleCanvasClickCapture",async()=>{this.pageBuilderStateStore.getImageSettingsPanelOpen||this.pageBuilderStateStore.getInlineTipTapEditor&&!this.hasInlineTipTapElement()&&this.pageBuilderStateStore.setInlineTipTapEditor(!1)});ge(this,"handleCanvasDoubleClickCapture",async e=>{await this.openInlineTipTapFromEvent(e)});ge(this,"handleElementClick",async(e,t)=>{this.pageBuilderStateStore.getImageSettingsPanelOpen||this.pageBuilderStateStore.getInlineTipTapEditor||(e.preventDefault(),e.stopPropagation(),await this.selectEditableElement(t))});ge(this,"handleElementDoubleClick",async(e,t)=>{if(!this.pageBuilderStateStore.getImageSettingsPanelOpen&&!this.pageBuilderStateStore.getInlineTipTapEditor){if(!this.isValidTextElement(t)){e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.pageBuilderStateStore.setElement(t),this.pageBuilderStateStore.setInlineTipTapEditor(!0),await this.openInlineTipTapForElement(t)}});ge(this,"handleAutoSave",async()=>{if(this.startEditing(),this.pageBuilderStateStore.getInlineTipTapEditor)return;const e=this.pageBuilderStateStore.getPageBuilderConfig;if(e&&e.userSettings&&typeof e.userSettings.autoSave=="boolean"&&e.userSettings.autoSave!==!1){if(this.pageBuilderStateStore.getIsSaving)return;try{this.pageBuilderStateStore.setIsSaving(!0),this.saveDomComponentsToLocalStorage(),await Re(400)}catch(t){console.error("Error trying auto save.",t);const{showToast:i}=Xe(),{translate:n}=ne();i(n("Auto-save failed — please save manually"),"error")}finally{this.pageBuilderStateStore.setIsSaving(!1)}}if(e&&!e.userSettings)try{this.pageBuilderStateStore.setIsSaving(!0),this.saveDomComponentsToLocalStorage(),await Re(400)}catch(t){console.error("Error trying saving.",t);const{showToast:i}=Xe(),{translate:n}=ne();i(n("Auto-save failed — please save manually"),"error")}finally{this.pageBuilderStateStore.setIsSaving(!1)}});ge(this,"handleManualSave",async e=>{this.pageBuilderStateStore.setIsSaving(!0),e||this.clearHtmlSelection(),this.startEditing(),this.saveDomComponentsToLocalStorage(),await Re(300),this.pageBuilderStateStore.setIsSaving(!1)});ge(this,"ensureTextAreaHasContent",()=>{if(!this.getElement.value||typeof this.getElement.value.innerHTML!="string")return;const e=this.getElement.value,t=e.tagName;["DIV"].includes(t)&&e.tagName.toLowerCase()!=="img"&&e.textContent&&Number(e.textContent.length)===0?(e.classList.add("h-6"),e.classList.add("bg-red-50")):(e.classList.remove("h-6"),e.classList.remove("bg-red-50"))});ge(this,"handleTextInput",async e=>{var t;typeof((t=this.getElement.value)==null?void 0:t.innerHTML)=="string"&&(typeof this.getElement.value.innerHTML=="string"&&(await o.nextTick(),this.getElement.value.textContent=e,this.pageBuilderStateStore.setTextAreaVueModel(this.getElement.value.innerHTML),this.getElement.value.innerHTML=e),this.ensureTextAreaHasContent())});this.hasStartedEditing=!1,this.pageBuilderStateStore=e;const{translate:t}=ne();this.translate=t,this.getApplyImageToSelection=o.computed(()=>this.pageBuilderStateStore.getApplyImageToSelection),this.getLocalStorageItemName=o.computed(()=>this.pageBuilderStateStore.getLocalStorageItemName),this.getHyberlinkEnable=o.computed(()=>this.pageBuilderStateStore.getHyberlinkEnable),this.getComponents=o.computed(()=>this.pageBuilderStateStore.getComponents),this.getComponent=o.computed(()=>this.pageBuilderStateStore.getComponent),this.getElement=o.computed(()=>this.pageBuilderStateStore.getElement),this.getComponentArrayAddMethod=o.computed(()=>this.pageBuilderStateStore.getComponentArrayAddMethod),this.NoneListernesTags=["P","H1","H2","H3","H4","H5","H6","IFRAME","UL","OL","LI","EM","STRONG","B","A","SPAN","BLOCKQUOTE","BR","PRE","CODE","MARK","DEL","INS","U","FIGURE","FIGCAPTION"]}availableLanguage(){return Ype}changeLanguage(e){this.pageBuilderStateStore.setCurrentLanguage(e)}async clearHtmlSelection(){this.pageBuilderStateStore.getImageSettingsPanelOpen||(this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),await this.removeHoveredAndSelected())}ensureUpdateOrCreateConfig(e){if(!e.updateOrCreate||e.updateOrCreate&&ro(e.updateOrCreate)){const t={...e,updateOrCreate:{formType:"create",formName:"post"}};this.pageBuilderStateStore.setPageBuilderConfig(t);return}if(e.updateOrCreate&&typeof e.updateOrCreate.formType=="string"&&(e.updateOrCreate.formType==="create"||e.updateOrCreate.formType==="update")&&typeof e.updateOrCreate.formName!="string"||typeof e.updateOrCreate.formName=="string"&&e.updateOrCreate.formName.length===0){const t={...e,updateOrCreate:{formType:e.updateOrCreate.formType,formName:"post"}};this.pageBuilderStateStore.setPageBuilderConfig(t)}if(e.updateOrCreate&&typeof e.updateOrCreate.formType!="string"||typeof e.updateOrCreate.formType=="string"&&e.updateOrCreate.formType!=="create"&&e.updateOrCreate.formType!=="update"&&typeof e.updateOrCreate.formName=="string"&&e.updateOrCreate.formName.length!==0){const t={...e,updateOrCreate:{formType:"create",formName:e.updateOrCreate.formName}};this.pageBuilderStateStore.setPageBuilderConfig(t);return}if(e.updateOrCreate&&typeof e.updateOrCreate.formType=="string"&&e.updateOrCreate.formType!=="create"&&e.updateOrCreate.formType!=="update"&&typeof e.formName!="string"){const t={...e,updateOrCreate:{formType:"create",formName:"post"}};this.pageBuilderStateStore.setPageBuilderConfig(t)}}validateUserProvidedComponents(e){const t=this.pageBuilderStateStore.getPageBuilderConfig&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate.formType;if(Array.isArray(e)&&e.length>=1&&t==="create"&&e)return{error:!0,warning:"You cannot set formType to create in your configuration while also passing a components data array to the Page Builder. Please set formType to update.",status:"validation_failed"};if(!Array.isArray(e))return{error:!0,reason:"Components data must be an array."};const i=e[0];if(i&&"html_code"in i&&typeof i.html_code!="string")return{error:!0,reason:"The 'html_code' property in the first object must be a string."};if(Array.isArray(e)&&e.length>=1&&(!i||!("html_code"in i)))return{error:!0,reason:"The first object in the array must include an 'html_code' key."}}ensureLanguage(e){const i=["en","zh-Hans","fr","ja","ru","es","pt","de","ar","hi","da"];let n=!1;const a=e.userSettings,l=a&&a.language;if((!a||ro(a)||!l||ro(l))&&(n=!0),n){const s=a?{...a}:{};s.language={default:"en",enable:i};const p={...e,userSettings:s};this.pageBuilderStateStore.setPageBuilderConfig(p);return}if(l&&Array.isArray(l.enable)&&l.default&&!l.enable.includes(l.default)){const s=[...l.enable,l.default],p={...e,userSettings:{...a,language:{...l,enable:s}}};this.pageBuilderStateStore.setPageBuilderConfig(p)}}validateConfig(e){var n;const t={updateOrCreate:{formType:"create",formName:"post"}};if(!e||e&&Object.keys(e).length===0&&e.constructor===Object){this.pageBuilderStateStore.setPageBuilderConfig(t);return}e&&Object.keys(e).length!==0&&e.constructor===Object&&(this.ensureUpdateOrCreateConfig(e),(!e.resourceData||typeof e.resourceData.title!="string"||!e.resourceData.title.trim())&&(!e.resourceData||typeof e.resourceData!="object"?e.resourceData={title:"Default Post"}:e.resourceData.title="Default Post"));let i=e;if(!i.userSettings||typeof i.userSettings!="object"||!("autoSave"in i.userSettings)){const a=i.userSettings?{...i.userSettings}:{};a.autoSave=((n=i.userSettings)==null?void 0:n.autoSave)!==!1;const l={...i,userSettings:a};this.pageBuilderStateStore.setPageBuilderConfig(l),i=l}this.ensureLanguage(i)}saveUserSettingsStorage(e){localStorage.setItem("userSettingsPageBuilder",JSON.stringify({userSettings:{lang:e}}))}async startBuilder(e,t){var a,l;this.hasCompletedBuilderMount=!1,this.builderMountPromise=null,this.pendingMountComponents=null,this.isPageBuilderMissingOnStart=!1,typeof this.pageBuilderStateStore.setInlineTipTapEditor=="function"&&this.pageBuilderStateStore.setInlineTipTapEditor(!1),typeof this.pageBuilderStateStore.setShowModalTipTap=="function"&&this.pageBuilderStateStore.setShowModalTipTap(!1),typeof this.pageBuilderStateStore.setImageSettingsPanelOpen=="function"&&this.pageBuilderStateStore.setImageSettingsPanelOpen(!1),typeof this.pageBuilderStateStore.setElement=="function"&&this.pageBuilderStateStore.setElement(null),typeof this.pageBuilderStateStore.setComponent=="function"&&this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setBuilderStarted(!0);const i=document.querySelector("#pagebuilder");let n;try{this.originalComponents=t,this.pageBuilderStateStore.setPageBuilderConfig(e);const s=JSON.parse(localStorage.getItem("userSettingsPageBuilder")??"null");!(s!=null&&s.lang)&&((l=(a=e.userSettings)==null?void 0:a.language)!=null&&l.default)&&this.changeLanguage(e.userSettings.language.default),this.validateConfig(e),n=this.validateUserProvidedComponents(t),this.updateLocalStorageItemName(),this.initializeHistory(),t&&(this.savedMountComponents=t),i||(this.isPageBuilderMissingOnStart=!0),t&&!i&&(this.pendingMountComponents=t),i&&(!t||Array.isArray(t))&&await this.completeBuilderInitialization(t);const p={message:"Page builder started successfully."};return n&&(p.validation=n),Array.isArray(t)&&t.length>=0&&(p.passedComponentsArray=t),p}catch(s){return console.error("Not able to start the Page Builder",s),{error:!0,reason:"Failed to start the Page Builder due to an unexpected error."}}}shouldCompleteBuilderMountOnMount(){return this.hasCompletedBuilderMount?!1:this.isPageBuilderMissingOnStart||!!this.pendingMountComponents}async completeBuilderInitialization(e){this.hasCompletedBuilderMount||(this.builderMountPromise||(this.builderMountPromise=this.runCompleteBuilderInitialization(e)),await this.builderMountPromise)}async runCompleteBuilderInitialization(e){this.pageBuilderStateStore.setIsLoadingGlobal(!0),await Re(400),this.deleteAllComponentsFromDOM();const t=this.pageBuilderStateStore.getPageBuilderConfig,i=t&&t.updateOrCreate&&t.updateOrCreate.formType,n=this.getSavedPageHtml();if(await this.clearHtmlSelection(),i==="update"||i==="create"){if(!this.pendingMountComponents){if(!e&&this.isPageBuilderMissingOnStart&&n){await this.completeMountProcess(n);return}if(e&&!n){const a=this.renderComponentsToHtml(e);await this.completeMountProcess(a,!0),this.saveDomComponentsToLocalStorage();return}if(e&&n){const a=this.renderComponentsToHtml(e);await this.completeMountProcess(a,!0),await Re(500),this.pageBuilderStateStore.setHasLocalDraftForUpdate(!0);return}if(!e&&n&&!this.savedMountComponents){await this.completeMountProcess(n);return}if(!e&&this.savedMountComponents&&n){const a=this.renderComponentsToHtml(this.savedMountComponents);await this.completeMountProcess(a);return}if(!e&&!n&&this.isPageBuilderMissingOnStart){const a=this.renderComponentsToHtml([]);await this.completeMountProcess(a);return}if(!this.isPageBuilderMissingOnStart&&!n&&!e){const a=this.renderComponentsToHtml([]);await this.completeMountProcess(a);return}}if(this.pendingMountComponents){if(n&&this.isPageBuilderMissingOnStart){const a=this.renderComponentsToHtml(this.pendingMountComponents);await this.completeMountProcess(a,!0),await Re(500),this.pageBuilderStateStore.setHasLocalDraftForUpdate(!0),this.pendingMountComponents=null;return}if(!n&&e&&this.isPageBuilderMissingOnStart){const a=this.renderComponentsToHtml(this.pendingMountComponents);await this.completeMountProcess(a,!0),this.saveDomComponentsToLocalStorage();return}if(!e&&!n&&this.isPageBuilderMissingOnStart){const a=this.renderComponentsToHtml(this.pendingMountComponents);await this.completeMountProcess(a,!0),this.saveDomComponentsToLocalStorage();return}}}}renderComponentsToHtml(e){return!e||Array.isArray(e)&&e.length===0?'<div id="pagebuilder" class="pbx-text-black pbx-font-sans"></div>':e.map(i=>i.html_code).join(`
|
|
414
|
-
`)}async completeMountProcess(e,t){await this.mountComponentsToDOM(e,t),this.deleteOldPageBuilderLocalStorage(),this.pageBuilderStateStore.setIsRestoring(!1),this.hasCompletedBuilderMount=!0,this.pageBuilderStateStore.setIsLoadingGlobal(!1)}applyElementClassChanges(e,t,i){const n=this.getElement.value;if(!n)return;const a=t===xt.roundedGlobal||t===xt.roundedTopLeft||t===xt.roundedTopRight||t===xt.roundedBottomLeft||t===xt.roundedBottomRight,l=(()=>{if(!a||n.tagName==="A")return null;const b=Array.from(n.querySelectorAll("a")).filter(g=>g instanceof HTMLAnchorElement),m=b.find(g=>t.some(x=>x!=="none"&&g.classList.contains(x)));return m||(n.id==="linktree"||n.classList.contains("pbx-product-card-cta")?b[0]??null:null)})(),s=a&&n.tagName==="IMG"?n.closest(".pbx-product-card-image"):null,p=l instanceof HTMLElement?l:s instanceof HTMLElement?s:n,d=t.find(b=>p.classList.contains(b))||(l instanceof HTMLElement?t.find(b=>n.classList.contains(b)):void 0);let c=d||"none";if(e===void 0){if(typeof i=="string"&&i.length>2&&i in this.pageBuilderStateStore&&typeof this.pageBuilderStateStore[i]=="function"){const b=this.pageBuilderStateStore[i];b(c)}return d}if(typeof e=="string"&&e!=="none"?(c&&(p.classList.contains(c)&&p.classList.remove(c),l instanceof HTMLElement&&n.classList.contains(c)&&n.classList.remove(c)),t.forEach(b=>{b!=="none"&&["lg","md","sm","xl","2xl"].forEach(m=>{const g=`${m}:${b}`;p.classList.contains(g)&&p.classList.remove(g),l instanceof HTMLElement&&n.classList.contains(g)&&n.classList.remove(g)})}),p.classList.add(e),c=e):typeof e=="string"&&e==="none"&&c&&(p.classList.remove(c),l instanceof HTMLElement&&n.classList.remove(c),t.forEach(b=>{b!=="none"&&["lg","md","sm","xl","2xl"].forEach(m=>{const g=`${m}:${b}`;p.classList.contains(g)&&p.classList.remove(g),l instanceof HTMLElement&&n.classList.contains(g)&&n.classList.remove(g)})}),c=e),typeof i=="string"&&i.length>2&&i in this.pageBuilderStateStore&&typeof this.pageBuilderStateStore[i]=="function"){const b=this.pageBuilderStateStore[i];b(c),this.pageBuilderStateStore.getInlineTipTapEditor||this.pageBuilderStateStore.setElement(n)}return d}removeElementClassesFromArray(e,t){t.forEach(i=>{i!=="none"&&e.classList.contains(i)&&e.classList.remove(i)})}async clearClassesFromPage(){const e=document.querySelector("#pagebuilder");e==null||e.removeAttribute("class"),this.initializeElementStyles(),await o.nextTick()}async clearInlineStylesFromPage(){const e=document.querySelector("#pagebuilder");e==null||e.removeAttribute("style"),this.initializeElementStyles(),await o.nextTick()}async globalPageStyles(){const e=document.querySelector("#pagebuilder");e&&(await this.clearHtmlSelection(),this.pageBuilderStateStore.setElement(e),e.setAttribute("data-global-selected","true"),this.globalStylesObserver&&this.globalStylesObserver.disconnect(),this.globalStylesObserver=new MutationObserver(()=>{const t=this.readCurrentPageSettings();t&&(this._lastKnownPageSettings=t)}),this.globalStylesObserver.observe(e,{attributes:!0,attributeFilter:["class","style","data-meta-title","data-meta-description"]}),await o.nextTick())}stopGlobalStylesSync(){this.globalStylesObserver&&(this.globalStylesObserver.disconnect(),this.globalStylesObserver=null)}handleFontWeight(e){this.applyElementClassChanges(e,lr.fontWeight,"setFontWeight")}handleFontSizeBase(e){this.applyElementClassChanges(e,mi.fontBase,"setFontBase")}handleFontSizeDesktop(e){const t=this.getElement.value;if(!t)return;const i={"pbx-text-9xl":"pbx-text-6xl","pbx-text-8xl":"pbx-text-5xl","pbx-text-7xl":"pbx-text-4xl","pbx-text-6xl":"pbx-text-3xl","pbx-text-5xl":"pbx-text-3xl","pbx-text-4xl":"pbx-text-2xl","pbx-text-3xl":"pbx-text-xl","pbx-text-2xl":"pbx-text-lg","pbx-text-xl":"pbx-text-base","pbx-text-lg":"pbx-text-sm","pbx-text-base":"pbx-text-xs","pbx-text-sm":"pbx-text-xs","pbx-text-xs":"pbx-text-xs"};if(e){Array.from(t.classList).forEach(p=>{this.fontSizeRegex.test(p)&&t.classList.remove(p)});const a=e.replace(/^lg:/,""),l=i[a]||a,s=`lg:${a}`;l!==a?t.classList.add(l,s):t.classList.add(l)}const n=mi.fontDesktop.find(a=>t.classList.contains(a));e||this.pageBuilderStateStore.setFontDesktop("none"),n&&!e&&this.pageBuilderStateStore.setFontDesktop(n)}ensureImagesHaveAltText(e){e.tagName==="IMG"&&!e.hasAttribute("alt")&&e.setAttribute("alt","image"),e.querySelectorAll("img:not([alt])").forEach(t=>{t.setAttribute("alt","image")})}applyHelperCSSToElements(e){if(this.wrapElementInDivIfExcluded(e),this.ensureImagesHaveAltText(e),e.tagName==="DIV"&&e.children.length===1&&["H1","H2","H3","H4","H5","H6"].includes(e.children[0].tagName)){const t=e.children[0];Array.from(e.classList).some(n=>this.fontSizeRegex.test(n))||(t.tagName==="H2"&&e.classList.add("pbx-text-3xl","lg:pbx-text-4xl","pbx-font-medium"),t.tagName==="H3"&&e.classList.add("pbx-text-2xl","lg:pbx-text-3xl","pbx-font-medium"),t.tagName==="H4"&&e.classList.add("pbx-text-xl","lg:pbx-text-2xl","pbx-font-medium"),t.tagName==="H5"&&e.classList.add("pbx-text-lg","lg:pbx-text-xl","pbx-font-medium"),t.tagName==="H6"&&e.classList.add("pbx-text-base","lg:pbx-text-base","pbx-font-medium"))}}async toggleTipTapModal(e){this.pageBuilderStateStore.setShowModalTipTap(e),await o.nextTick(),await this.addListenersToEditableElements(),e||await this.handleAutoSave()}async toggleInlineTipTapEditor(e){e&&!this.isValidTextElement(this.getElement.value)||(this.pageBuilderStateStore.setInlineTipTapEditor(e),await o.nextTick(),await this.addListenersToEditableElements(),e||await this.handleAutoSave())}async finishInlineTipTapEditor(e,t=!0){if(this.pageBuilderStateStore.setInlineTipTapEditor(!1),await o.nextTick(),e){const i=document.querySelector("#pagebuilder");i==null||i.querySelectorAll("[hovered]").forEach(n=>n.removeAttribute("hovered")),i==null||i.querySelectorAll("[selected]").forEach(n=>{n!==e&&n.removeAttribute("selected")}),e.removeAttribute("data-pbx-inline-tiptap"),e.setAttribute("selected",""),this.pageBuilderStateStore.setElement(e)}await o.nextTick(),await this.addListenersToEditableElements(),await this.initializeElementStyles(),await this.addListenersToEditableElements(),t&&await this.handleAutoSave()}wrapElementInDivIfExcluded(e){var t;if(e&&this.NoneListernesTags.includes(e.tagName)&&(e.previousElementSibling&&e.previousElementSibling.tagName==="IMG"||e.nextElementSibling&&e.nextElementSibling.tagName==="IMG")){const i=document.createElement("div");(t=e.parentNode)==null||t.insertBefore(i,e),i.appendChild(e)}}isEditableElement(e){return!e||e.tagName!=="IMG"&&e.closest("[data-pb-no-select]")?!1:!this.NoneListernesTags.includes(e.tagName)}getSelectedComponentSection(){const e=this.getElement.value;return!e||!(e instanceof HTMLElement)?null:e.closest("section")}isSelectedComponentTopElement(){const e=this.getElement.value,t=this.getSelectedComponentSection();return!e||!t?!1:e.parentElement===t}selectedComponentIsFullWidth(){var e;return((e=this.getSelectedComponentSection())==null?void 0:e.classList.contains(is))??!1}async setSelectedComponentFullWidth(e){const t=this.getSelectedComponentSection();t&&(t.classList.toggle(is,e),await this.handleAutoSave())}isSelectedProductSection(){const e=this.getSelectedComponentSection();return(e==null?void 0:e.getAttribute("data-pbx-product-section"))==="true"}getSelectedProductSectionOptions(){const e=this.getSelectedComponentSection();return!e||!this.isSelectedProductSection()?{...Xt}:xJ(e)}getSelectedProductSectionContentAvailability(){const e=this.getSelectedComponentSection();return!e||!this.isSelectedProductSection()?{hasPrices:!1,hasImages:!1,hasButtons:!1,hasLinks:!1}:{hasPrices:cJ(e),hasImages:dJ(e),hasButtons:bJ(e),hasLinks:mJ(e)}}async updateSelectedProductSection(e){const t=this.getSelectedComponentSection();!t||!this.isSelectedProductSection()||(yJ(t,e),await this.handleAutoSave())}isGlobalFullWidth(){const e=document.querySelector("#pagebuilder");return(e==null?void 0:e.classList.contains(is))??!1}async setGlobalFullWidth(e){const t=document.querySelector("#pagebuilder");t==null||t.classList.toggle(is,e),this.saveDomComponentsToLocalStorage(),await this.handleAutoSave()}isSelectedElementImage(){var e;return((e=this.getElement.value)==null?void 0:e.tagName)==="IMG"}setImageSettingsModalOpen(e){this.pageBuilderStateStore.setImageSettingsPanelOpen(e)}isImageSettingsModalOpen(){return this.pageBuilderStateStore.getImageSettingsPanelOpen}findImageAspectClass(e){const t=Zd.aspectRatio.find(n=>n!=="none"&&e.classList.contains(n));return t||(Array.from(e.classList).find(n=>n.startsWith("pbx-aspect-"))??null)}removeImageAspectClasses(e){Array.from(e.classList).forEach(t=>{t.startsWith("pbx-aspect-")&&e.classList.remove(t)})}handleImageObjectFit(e){this.applyElementClassChanges(e,Zd.objectFit,"setImageObjectFit")}handleImageObjectPosition(e){this.applyElementClassChanges(e,Zd.objectPosition,"setImageObjectPosition")}handleImageAspectRatio(e){const t=this.getElement.value;if(!(!t||t.tagName!=="IMG")){if(e===void 0){const i=this.findImageAspectClass(t);this.pageBuilderStateStore.setImageAspectRatio(i||"none");return}this.removeImageAspectClasses(t),e!=="none"&&t.classList.add(e),this.pageBuilderStateStore.setImageAspectRatio(e),this.pageBuilderStateStore.setElement(t)}}async handleImageAltText(e){const t=this.getElement.value;if(!t||t.tagName!=="IMG"||e===void 0)return;const i=e.trim();i?t.setAttribute("alt",i):t.removeAttribute("alt"),this.pageBuilderStateStore.setElement(t),await this.handleAutoSave()}getSelectedImageAltText(){const e=this.getElement.value;return!e||e.tagName!=="IMG"?"":e.getAttribute("alt")||""}attachCanvasInlineEditListeners(e){this.canvasClickCaptureListener&&e.removeEventListener("click",this.canvasClickCaptureListener,!0),this.canvasDblClickCaptureListener&&e.removeEventListener("dblclick",this.canvasDblClickCaptureListener,!0),this.canvasClickCaptureListener=()=>{this.handleCanvasClickCapture()},this.canvasDblClickCaptureListener=t=>{this.handleCanvasDoubleClickCapture(t)},e.addEventListener("click",this.canvasClickCaptureListener,!0),e.addEventListener("dblclick",this.canvasDblClickCaptureListener,!0)}findEditableElementFromEventTarget(e){if(!(e instanceof Element))return null;const t=document.querySelector("#pagebuilder");let i=e;for(;i&&i!==t;){if(i instanceof HTMLElement&&this.isEditableElement(i))return i;i=i.parentElement}return null}async openInlineTipTapFromEvent(e){if(this.pageBuilderStateStore.getImageSettingsPanelOpen||(this.pageBuilderStateStore.getInlineTipTapEditor&&!this.hasInlineTipTapElement()&&this.pageBuilderStateStore.setInlineTipTapEditor(!1),this.pageBuilderStateStore.getInlineTipTapEditor))return;const t=this.findEditableElementFromEventTarget(e.target);if(!t||!this.isValidTextElement(t)){e.target instanceof Element&&(e.target.tagName==="IMG"||e.target.closest("img"))&&e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.pageBuilderStateStore.setElement(t),this.pageBuilderStateStore.setInlineTipTapEditor(!0),await this.openInlineTipTapForElement(t)}hasInlineTipTapElement(){return!!document.querySelector("#pagebuilder [data-pbx-inline-tiptap]")}async finishActiveInlineTipTapEditorFromDom(e=null){const t=document.querySelector("#pagebuilder [data-pbx-inline-tiptap]");if(!t){await this.toggleInlineTipTapEditor(!1);return}const i=t.querySelector(".ProseMirror"),n=t.getAttribute("data-pbx-inline-original-html")??"",a=Nd((i==null?void 0:i.innerHTML)??t.innerHTML,n);t.innerHTML=a,t.removeAttribute("data-pbx-inline-tiptap"),t.removeAttribute("data-pbx-inline-original-html"),this.pageBuilderStateStore.setTextAreaVueModel(a),this.pageBuilderStateStore.setElement(t),await this.finishInlineTipTapEditor(t),e&&e!==t&&await this.selectEditableElement(e)}async openInlineTipTapForElement(e){this.isValidTextElement(e)&&(await this.selectEditableElement(e,!1),await o.nextTick(),await this.addListenersToEditableElements())}async selectEditableElement(e,t=!0){const i=document.querySelector("#pagebuilder");if(!i)return;this.pageBuilderStateStore.setMenuRight(!0);const n=i.querySelector("[selected]");n&&n.removeAttribute("selected"),e.removeAttribute("hovered"),e.setAttribute("selected",""),this.pageBuilderStateStore.setElement(e),await o.nextTick(),await this.initializeElementStyles(),t&&await this.handleAutoSave()}getHistoryBaseKey(){return this.getLocalStorageItemName.value}initializeHistory(){const e=this.getHistoryBaseKey();if(e){const t=ki.getHistory(e);this.pageBuilderStateStore.setHistoryIndex(t.length-1),this.pageBuilderStateStore.setHistoryLength(t.length)}}cloneCompObjForDOMInsertion(e){const t={...e},i=document.querySelector("#page-builder-wrapper");i&&this.getComponentArrayAddMethod.value==="unshift"&&i.scrollTo({top:0,behavior:"smooth"});const a=new DOMParser().parseFromString(t.html_code||"","text/html");a.querySelectorAll("*").forEach(p=>{this.applyHelperCSSToElements(p)});const s=a.querySelector("section");return s&&(s.querySelectorAll("[class]").forEach(p=>{p.setAttribute("class",this.addTailwindPrefixToClasses(p.getAttribute("class")||"","pbx-"))}),s.dataset.componentid=Bz(),t.title&&s.setAttribute("data-component-title",t.title),t.id=s.dataset.componentid,t.html_code=s.outerHTML),t}async removeHoveredAndSelected(){const e=document.querySelector("#pagebuilder");if(!e)return;const t=e.querySelector("[hovered]");t&&t.removeAttribute("hovered");const i=e.querySelector("[selected]");i&&i.removeAttribute("selected")}async syncCurrentClasses(){var t;const e=Array.from(((t=this.getElement.value)==null?void 0:t.classList)||[]);this.pageBuilderStateStore.setCurrentClasses(e)}async syncCurrentStyles(){var t;const e=(t=this.getElement.value)==null?void 0:t.getAttribute("style");if(e){const i=this.parseStyleString(e);this.pageBuilderStateStore.setCurrentStyles(i)}else this.pageBuilderStateStore.setCurrentStyles({})}handleAddClasses(e){var t,i;if(typeof e=="string"&&e.trim()!==""&&!e.includes(" ")&&!((t=this.getElement.value)!=null&&t.classList.contains("pbx-"+e.trim()))){const n=e.trim(),a=n.startsWith("pbx-")?n:"pbx-"+n;(i=this.getElement.value)==null||i.classList.add(a),this.pageBuilderStateStore.setElement(this.getElement.value),this.pageBuilderStateStore.setClass(a)}}handleAddStyle(e,t){const i=this.getElement.value;!i||!e||!t||(i.style.setProperty(e,t),this.pageBuilderStateStore.setElement(i))}handleRemoveStyle(e){const t=this.getElement.value;!t||!e||(t.style.removeProperty(e),this.pageBuilderStateStore.setElement(t))}handleFontFamily(e){var i;const t=lD((i=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:i.userSettings);this.applyElementClassChanges(e,t,"setFontFamily")}handleFontStyle(e){this.applyElementClassChanges(e,lr.fontStyle,"setFontStyle")}purgeConflictingClasses(e){const t=this.getElement.value;t&&e.forEach(i=>{i.forEach(n=>{n!=="none"&&t.classList.contains(n)&&t.classList.remove(n)})})}handleVerticalPadding(e){e!==void 0&&this.purgeConflictingClasses([be.topPadding,be.bottomPadding]),this.applyElementClassChanges(e,be.verticalPadding,"setFontVerticalPadding")}handleHorizontalPadding(e){e!==void 0&&this.purgeConflictingClasses([be.leftPadding,be.rightPadding]),this.applyElementClassChanges(e,be.horizontalPadding,"setFontHorizontalPadding")}handleTopPadding(e){e!==void 0&&this.purgeConflictingClasses([be.verticalPadding]),this.applyElementClassChanges(e,be.topPadding,"setFontTopPadding")}handleRightPadding(e){e!==void 0&&this.purgeConflictingClasses([be.horizontalPadding]),this.applyElementClassChanges(e,be.rightPadding,"setFontRightPadding")}handleBottomPadding(e){e!==void 0&&this.purgeConflictingClasses([be.verticalPadding]),this.applyElementClassChanges(e,be.bottomPadding,"setFontBottomPadding")}handleLeftPadding(e){e!==void 0&&this.purgeConflictingClasses([be.horizontalPadding]),this.applyElementClassChanges(e,be.leftPadding,"setFontLeftPadding")}handleVerticalMargin(e){e!==void 0&&this.purgeConflictingClasses([be.topMargin,be.bottomMargin]),this.applyElementClassChanges(e,be.verticalMargin,"setFontVerticalMargin")}handleHorizontalMargin(e){e!==void 0&&this.purgeConflictingClasses([be.leftMargin,be.rightMargin]),this.applyElementClassChanges(e,be.horizontalMargin,"setFontHorizontalMargin")}handleTopMargin(e){e!==void 0&&this.purgeConflictingClasses([be.verticalMargin]),this.applyElementClassChanges(e,be.topMargin,"setFontTopMargin")}handleRightMargin(e){e!==void 0&&this.purgeConflictingClasses([be.horizontalMargin]),this.applyElementClassChanges(e,be.rightMargin,"setFontRightMargin")}handleBottomMargin(e){e!==void 0&&this.purgeConflictingClasses([be.verticalMargin]),this.applyElementClassChanges(e,be.bottomMargin,"setFontBottomMargin")}handleLeftMargin(e){e!==void 0&&this.purgeConflictingClasses([be.horizontalMargin]),this.applyElementClassChanges(e,be.leftMargin,"setFontLeftMargin")}handleBorderStyle(e){this.applyElementClassChanges(e,vi.borderStyle,"setBorderStyle")}handleBorderWidth(e){this.applyElementClassChanges(e,vi.borderWidth,"setBorderWidth")}handleBorderColor(e){this.applyElementClassChanges(e,vi.borderColor,"setBorderColor")}handleBackgroundColor(e){var t,i;if(e===void 0){const n=(t=this.getElement.value)==null?void 0:t.style.getPropertyValue("background-color");if(n){this.pageBuilderStateStore.setBackgroundColor(`custom:${Yt(n)??n}`);return}}else(i=this.getElement.value)==null||i.style.removeProperty("background-color");this.applyElementClassChanges(e,hi.backgroundColorVariables,"setBackgroundColor")}handleCustomBackgroundColor(e){const t=this.getElement.value;!t||!e||(this.removeElementClassesFromArray(t,hi.backgroundColorVariables),t.style.setProperty("background-color",e),this.pageBuilderStateStore.setBackgroundColor(`custom:${e}`),this.pageBuilderStateStore.setElement(t))}handleTextColor(e){var t,i;if(e===void 0){const n=(t=this.getElement.value)==null?void 0:t.style.getPropertyValue("color");if(n){this.pageBuilderStateStore.setTextColor(`custom:${Yt(n)??n}`);return}}else(i=this.getElement.value)==null||i.style.removeProperty("color");this.applyElementClassChanges(e,hi.textColorVariables,"setTextColor")}handleCustomTextColor(e){const t=this.getElement.value;!t||!e||(this.removeElementClassesFromArray(t,hi.textColorVariables),t.style.setProperty("color",e),this.pageBuilderStateStore.setTextColor(`custom:${e}`),this.pageBuilderStateStore.setElement(t))}handleBorderRadiusGlobal(e){this.applyElementClassChanges(e,xt.roundedGlobal,"setBorderRadiusGlobal")}handleBorderRadiusTopLeft(e){this.applyElementClassChanges(e,xt.roundedTopLeft,"setBorderRadiusTopLeft")}handleBorderRadiusTopRight(e){this.applyElementClassChanges(e,xt.roundedTopRight,"setBorderRadiusTopRight")}handleBorderRadiusBottomleft(e){this.applyElementClassChanges(e,xt.roundedBottomLeft,"setBorderRadiusBottomleft")}handleBorderRadiusBottomRight(e){this.applyElementClassChanges(e,xt.roundedBottomRight,"setBorderRadiusBottomRight")}handleFontSizeTablet(e){this.applyElementClassChanges(e,mi.fontTablet,"setFontTablet")}handleFontSizeMobile(e){this.applyElementClassChanges(e,mi.fontMobile,"setFontMobile")}handleBackgroundOpacity(e){this.applyElementClassChanges(e,rs.backgroundOpacities,"setBackgroundOpacity")}handleOpacity(e){this.applyElementClassChanges(e,rs.opacities,"setOpacity")}deleteAllComponentsFromDOM(){this.pageBuilderStateStore.setComponents([]);const e=document.querySelector("#pagebuilder");e&&e.querySelectorAll("section[data-componentid]").forEach(t=>t.remove())}async undo(){this.pageBuilderStateStore.setIsLoadingGlobal(!0),await Re(300);const e=this.getHistoryBaseKey();if(!e)return;const t=ki.getHistory(e);if(t.length>1&&this.pageBuilderStateStore.getHistoryIndex>0){this.pageBuilderStateStore.setHistoryIndex(this.pageBuilderStateStore.getHistoryIndex-1);const i=t[this.pageBuilderStateStore.getHistoryIndex],n=this.renderComponentsToHtml(i.components);await this.mountComponentsToDOM(n,!1,i.pageSettings)}this.pageBuilderStateStore.setIsLoadingGlobal(!1)}async redo(){this.pageBuilderStateStore.setIsLoadingGlobal(!0),await Re(300);const e=this.getHistoryBaseKey();if(!e)return;const t=ki.getHistory(e);if(t.length>0&&this.pageBuilderStateStore.getHistoryIndex<t.length-1){this.pageBuilderStateStore.setHistoryIndex(this.pageBuilderStateStore.getHistoryIndex+1);const i=t[this.pageBuilderStateStore.getHistoryIndex],n=this.renderComponentsToHtml(i.components);await this.mountComponentsToDOM(n,!1,i.pageSettings)}this.pageBuilderStateStore.setIsLoadingGlobal(!1)}hasVisibleContent(e){if(!e)return!1;if(e.querySelector("img, video, iframe, input, button, a, h1, h2, h3, h4, h5, h6, p, li, blockquote, pre, code, table"))return!0;const i=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null);for(;i.nextNode();)if(i.currentNode.nodeValue&&i.currentNode.nodeValue.trim()!=="")return!0;return!1}isSectionEmpty(e){return!this.hasVisibleContent(e)}findReverseableContainer(){const e=this.getSelectedComponentSection();if(!e)return null;const t=['[class*="flex-row"]','[class*="pbx-flex-row"]','[class*="grid-cols-2"]','[class*="pbx-grid-cols-2"]'];for(const i of t){const n=Array.from(e.querySelectorAll(i));for(const a of n)if(Array.from(a.children).filter(s=>s instanceof HTMLElement).length===2)return a}return null}async reverseComponentLayout(){const e=this.findReverseableContainer();if(!e)return;const t=Array.from(e.children);t.length===2&&(e.insertBefore(t[1],t[0]),await this.syncDomToStoreOnly(),await o.nextTick(),this.saveDomComponentsToLocalStorage(),await this.handleAutoSave(),this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),await this.clearHtmlSelection(),await o.nextTick(),await this.addListenersToEditableElements())}async duplicateComponent(){await this.syncDomToStoreOnly(),await o.nextTick();const e=this.pageBuilderStateStore.getComponents,t=this.getComponent.value;if(!e||!t)return;const i=e.findIndex(l=>l.id===t.id);if(i===-1)return;const n=this.cloneCompObjForDOMInsertion(e[i]),a=[...e.slice(0,i+1),n,...e.slice(i+1)];await this.setComponentsPreservingPageSettings(a),await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setComponent(n),this.pageBuilderStateStore.setElement(null),await this.handleAutoSave()}async deleteComponentFromDOM(){await this.syncDomToStoreOnly(),await o.nextTick();const e=this.pageBuilderStateStore.getComponents;if(!e)return;const t=e.findIndex(n=>this.getComponent.value?n.id===this.getComponent.value.id:!1);if(t===-1)return;const i=[...e.slice(0,t),...e.slice(t+1)];await this.setComponentsPreservingPageSettings(i),await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),await this.handleAutoSave()}async duplicateElementInDOM(){const e=this.getElement.value;if(!e||!e.parentNode)return;e.removeAttribute("selected");const t=e.cloneNode(!0);e.parentNode.insertBefore(t,e.nextSibling),await this.syncDomToStoreOnly(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),this.saveDomComponentsToLocalStorage(),await this.handleAutoSave()}async deleteElementFromDOM(){const e=this.getElement.value;if(!e)return;if(e.removeAttribute("selected"),!e.parentNode){this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null);return}const t=e.closest("section");e.tagName==="SECTION"?await this.deleteComponentFromDOM():(e.remove(),t&&this.isSectionEmpty(t)&&t.remove(),await this.syncDomToStoreOnly(),this.saveDomComponentsToLocalStorage()),this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),await this.clearHtmlSelection(),await o.nextTick(),await this.addListenersToEditableElements()}handleRemoveClasses(e){var t,i;(t=this.getElement.value)!=null&&t.classList.contains(e)&&((i=this.getElement.value)==null||i.classList.remove(e),this.pageBuilderStateStore.setElement(this.getElement.value),this.pageBuilderStateStore.removeClass(e))}async reorderComponent(e){if(!this.getComponents.value||!this.getComponent.value||this.getComponents.value.length<=1)return;const t=this.getComponent.value,i=this.getComponents.value.findIndex(s=>s.id===t.id);if(i===-1)return;const n=i+e;if(n<0||n>=this.getComponents.value.length)return;this.getComponents.value.splice(i,1),this.getComponents.value.splice(n,0,t),await o.nextTick();const a=document.querySelector("#page-builder-wrapper"),l=a==null?void 0:a.querySelector(`section[data-componentid="${t.id}"]`);if(l){l.classList.add("pbx-reorder-highlight");const s=l.previousElementSibling,p=l.nextElementSibling;s&&s.tagName==="SECTION"&&s.classList.add("pbx-sibling-highlight"),p&&p.tagName==="SECTION"&&p.classList.add("pbx-sibling-highlight"),a&&(Jpe(a,l),window.setTimeout(()=>{l.classList.remove("pbx-reorder-highlight"),s&&s.tagName==="SECTION"&&s.classList.remove("pbx-sibling-highlight"),p&&p.tagName==="SECTION"&&p.classList.remove("pbx-sibling-highlight")},280))}}canMoveUp(){return!this.getComponents.value||!this.getComponent.value?!1:this.getComponents.value.findIndex(t=>{var i;return t.id===((i=this.getComponent.value)==null?void 0:i.id)})>0}canMoveDown(){return!this.getComponents.value||!this.getComponent.value?!1:this.getComponents.value.findIndex(t=>{var i;return t.id===((i=this.getComponent.value)==null?void 0:i.id)})<this.getComponents.value.length-1}ElOrFirstChildIsIframe(){var e,t,i;return((e=this.getElement.value)==null?void 0:e.tagName)==="IFRAME"||((i=(t=this.getElement.value)==null?void 0:t.firstElementChild)==null?void 0:i.tagName)==="IFRAME"}isValidTextElement(e){var n;if(!e||e.hasAttribute("data-pb-no-inline-text")||e.tagName==="IMG"||((n=e.firstElementChild)==null?void 0:n.tagName)==="IFRAME"||e.querySelector("img")||e.classList.contains("pbx-product-card-image")||e.classList.contains("product-card-image"))return!1;const t=e.children;if(!t.length)return!1;let i=!1;return Array.from(t).forEach(a=>{a.tagName==="IMG"||a.tagName==="DIV"?i=!1:i=!0}),i}isSelectedElementValidText(){return this.isValidTextElement(this.getElement.value)}previewCurrentDesign(){this.pageBuilderStateStore.setElement(null);const e=document.querySelector("#pagebuilder");if(e&&e){const t=vz(e,this.pageBuilderStateStore.getPageBuilderConfig?this.pageBuilderStateStore.getPageBuilderConfig:void 0),i=JSON.stringify([t]);this.pageBuilderStateStore.setCurrentLayoutPreview(i)}}sanitizeForLocalStorage(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}cloneAndRemoveSelectionAttributes(e){const t=e.cloneNode(!0);return t.querySelectorAll("[hovered]").forEach(i=>i.removeAttribute("hovered")),t.querySelectorAll("[selected]").forEach(i=>i.removeAttribute("selected")),t.removeAttribute("hovered"),t.removeAttribute("selected"),t}async syncDomToStoreOnly(){const e=document.querySelector("#pagebuilder");if(!e)return;const t=[];e.querySelectorAll("section[data-componentid]").forEach(i=>{const n=this.cloneAndRemoveSelectionAttributes(i);t.push({html_code:n.outerHTML,id:n.getAttribute("data-componentid"),title:n.getAttribute("data-component-title")||"Untitled Component"})}),await this.setComponentsPreservingPageSettings(t)}async generateHtmlFromComponents(){await this.syncDomToStoreOnly(),await o.nextTick();const e=this.pageBuilderStateStore.getComponents;return Array.isArray(e)?(await o.nextTick(),await this.addListenersToEditableElements(),e.map(t=>t.html_code.replace(/data-componentid="[^"]*"/g,"").replace(/\s{2,}/g," ")).join(`
|
|
415
|
-
`)):""}async generateFullPageHtml(){await this.syncDomToStoreOnly(),await o.nextTick();const e=this.pageBuilderStateStore.getComponents;if(!Array.isArray(e))return"";await o.nextTick(),await this.addListenersToEditableElements();const t=this.readCurrentPageSettings()??this._lastKnownPageSettings,i=document.createElement("div");if(i.setAttribute("id","pagebuilder"),t!=null&&t.classes&&i.setAttribute("class",t.classes),t!=null&&t.style){const n=typeof t.style=="string"?t.style:this.convertStyleObjectToString(t.style)||"";n&&i.setAttribute("style",n)}return oc(i,_n(t)),e.forEach(n=>{const s=new DOMParser().parseFromString(n.html_code,"text/html").querySelector("section");if(s){s.removeAttribute("data-componentid"),i.appendChild(document.importNode(s,!0));return}i.insertAdjacentHTML("beforeend",n.html_code)}),i.outerHTML}saveDomComponentsToLocalStorage(){this.updateLocalStorageItemName();const e=document.querySelector("#pagebuilder");if(!e)return;const t=e.querySelector("[hovered]");t&&t.removeAttribute("hovered");const i=[];e.querySelectorAll("section[data-componentid]").forEach(s=>{const p=this.cloneAndRemoveSelectionAttributes(s);p.removeAttribute("data-componentid"),i.push({html_code:p.outerHTML,title:p.getAttribute("data-component-title")||"Untitled Component"})});const n=this.readCurrentPageSettings()??{classes:"",style:""},a={components:i,pageBuilderContentSavedAt:new Date().toISOString(),pageSettings:n},l=this.getHistoryBaseKey();if(l){const s=localStorage.getItem(l);if(s||localStorage.setItem(l,JSON.stringify(a)),s){const p=JSON.parse(s),d=p.components||[],c=a.components||[],b=c.length!==d.length||c.some((g,x)=>{const u=d[x];return!u||u.html_code!==g.html_code}),m=p.pageSettings&&p.pageSettings.classes!==a.pageSettings.classes||p.pageSettings&&p.pageSettings.style!==a.pageSettings.style;if(b||m){localStorage.setItem(l,JSON.stringify(a));let g=ki.getHistory(l);const x=g[g.length-1];if(x){const u=JSON.stringify(x.components),h=JSON.stringify(a.components),y=JSON.stringify(x.pageSettings),w=JSON.stringify(a.pageSettings);if(u===h&&y===w)return}this.pageBuilderStateStore.getHistoryIndex<g.length-1&&(g=g.slice(0,this.pageBuilderStateStore.getHistoryIndex+1)),g.push(a),g.length>10&&(g=g.slice(g.length-10)),localStorage.setItem(l+"-history",JSON.stringify(g)),this.pageBuilderStateStore.setHistoryIndex(g.length-1),this.pageBuilderStateStore.setHistoryLength(g.length);return}}}}async removeCurrentComponentsFromLocalStorage(){this.updateLocalStorageItemName(),await o.nextTick();const e=this.getLocalStorageItemName.value;e&&localStorage.removeItem(e)}async handleFormSubmission(){const e=this.readCurrentPageSettings();if(e&&(this._lastKnownPageSettings=e),await this.removeCurrentComponentsFromLocalStorage(),this.deleteAllComponentsFromDOM(),this.pageBuilderStateStore.setComponents([]),e){this.updateLocalStorageItemName();const t=this.getLocalStorageItemName.value;if(t){const i={components:[],pageBuilderContentSavedAt:new Date().toISOString(),pageSettings:e};localStorage.setItem(t,JSON.stringify(i))}}}readCurrentPageSettings(){const e=document.querySelector("#pagebuilder");if(e)return{classes:e.className||"",style:e.getAttribute("style")||e.style.cssText||"",meta:rc(e)};const t=document.querySelector("[data-pagebuilder-content]");if(t)return{classes:t.className||"",style:t.getAttribute("style")||t.style.cssText||""};this.updateLocalStorageItemName();const i=this.getLocalStorageItemName.value;if(i)try{const n=localStorage.getItem(i);if(n){const a=JSON.parse(n);if(a!=null&&a.pageSettings)return a.pageSettings}}catch{}return null}applyPageSettingsToPage(e){const t=document.querySelector("#pagebuilder");if(t){e.classes?t.setAttribute("class",e.classes):t.removeAttribute("class");const i=typeof e.style=="string"?e.style:this.convertStyleObjectToString(e.style)||"";i?t.setAttribute("style",i):t.removeAttribute("style"),oc(t,_n(e))}document.querySelectorAll("[data-pagebuilder-content]").forEach(i=>{i.removeAttribute("class"),i.removeAttribute("style")}),(e.classes||e.style||e.meta)&&(this._lastKnownPageSettings=e)}reconnectGlobalStylesObserver(){if(!this.globalStylesObserver)return;const e=document.querySelector("#pagebuilder");e&&(this.globalStylesObserver.disconnect(),this.globalStylesObserver=new MutationObserver(()=>{const t=this.readCurrentPageSettings();t&&(this._lastKnownPageSettings=t)}),this.globalStylesObserver.observe(e,{attributes:!0,attributeFilter:["class","style","data-meta-title","data-meta-description"]}))}async setComponentsPreservingPageSettings(e){var n;const t=this.readCurrentPageSettings()??this._lastKnownPageSettings??null,i=this.globalStylesObserver!==null;(n=this.globalStylesObserver)==null||n.disconnect(),this.pageBuilderStateStore.setComponents(e),await o.nextTick(),await o.nextTick(),t&&(t.classes||t.style)&&this.applyPageSettingsToPage(t),i&&this.reconnectGlobalStylesObserver()}parseStyleString(e){return e.split(";").map(t=>t.trim()).filter(Boolean).reduce((t,i)=>{const[n,a]=i.split(":").map(l=>l.trim());return n&&a&&(t[n]=a),t},{})}deleteOldPageBuilderLocalStorage(){const e=this.pageBuilderStateStore.getPageBuilderConfig;if((e&&e.updateOrCreate&&e.updateOrCreate.formType)==="update"){let i=0;const n=[],a=new Date(Date.now()-336*60*60*1e3);for(let l=0;l<localStorage.length;l++){const s=localStorage.key(l);if(s&&s.startsWith("page-builder-update-resource-"))try{const p=localStorage.getItem(s);if(!p)continue;const c=JSON.parse(p).pageBuilderContentSavedAt;c&&new Date(c)<a&&(i++,n.push({Number:i,Key:s,SavedAt:c}),localStorage.removeItem(s))}catch{}}n.length>0&&(console.info(`Deleted ${n.length} localStorage item(s) older than ${a} days:`),console.table(n))}}startEditing(){this.hasStartedEditing=!0}async refreshListeners(){await o.nextTick(),await this.addListenersToEditableElements()}async resumeEditingFromDraft(){this.updateLocalStorageItemName();const e=this.getSavedPageHtml();e&&(this.pageBuilderStateStore.setIsLoadingResumeEditing(!0),await Re(400),await this.mountComponentsToDOM(e),this.pageBuilderStateStore.setIsLoadingResumeEditing(!1)),await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setIsLoadingResumeEditing(!1)}async restoreOriginalContent(){if(this.updateLocalStorageItemName(),this.pageBuilderStateStore.setIsRestoring(!0),await Re(400),Array.isArray(this.originalComponents)){await this.clearClassesFromPage(),await this.clearInlineStylesFromPage();const e=this.renderComponentsToHtml(this.originalComponents);await this.mountComponentsToDOM(e),this.removeCurrentComponentsFromLocalStorage()}await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setIsRestoring(!1)}async returnLatestComponents(){return await this.syncDomToStoreOnly(),await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.getComponents}getStorageItemNameForResource(){return this.getLocalStorageItemName.value}getSavedPageHtml(){if(!this.getLocalStorageItemName.value)return!1;const e=this.getLocalStorageItemName.value;if(!e)return!1;const t=localStorage.getItem(e);if(!t)return!1;const i=JSON.parse(t);if(i&&Array.isArray(i.components)){const n=i.pageSettings&&i.pageSettings.classes||"",a=i.pageSettings&&i.pageSettings.style||"",l=i.components.map(
|
|
416
|
-
`);return`<div id="pagebuilder" class="${n}" style="${
|
|
417
|
-
${
|
|
413
|
+
</section>`}const ec="data-meta-title",tc="data-meta-description";function rc(r){return{title:r.getAttribute(ec)||"",description:r.getAttribute(tc)||""}}function oc(r,e){var n,a;const t=((n=e.title)==null?void 0:n.trim())||"",i=((a=e.description)==null?void 0:a.trim())||"";t?r.setAttribute(ec,t):r.removeAttribute(ec),i?r.setAttribute(tc,i):r.removeAttribute(tc)}function _n(r){const e=r==null?void 0:r.meta;return!e||typeof e!="object"?{title:"",description:""}:{title:typeof e.title=="string"?e.title:"",description:typeof e.description=="string"?e.description:""}}function Kpe(r,e){return{...r,meta:{..._n(r),...e}}}function Jpe(r,e,t=180){const i=e.getBoundingClientRect(),n=r.getBoundingClientRect(),l=i.top-n.top+r.scrollTop-r.clientHeight/2+e.clientHeight/2,s=r.scrollTop,p=l-s;if(Math.abs(p)<1){window.dispatchEvent(new CustomEvent("pagebuilder:layout-change"));return}const d=performance.now(),c=b=>{const m=Math.min(1,(b-d)/t),g=1-(1-m)**3;if(r.scrollTop=s+p*g,window.dispatchEvent(new CustomEvent("pagebuilder:layout-change")),m<1){requestAnimationFrame(c);return}window.dispatchEvent(new CustomEvent("pagebuilder:layout-change"))};requestAnimationFrame(c)}const Ype=["en","zh-Hans","fr","ja","ru","es","pt","de","ar","hi","da","it"],is="pbx-full-width-component";class Nz{constructor(e){ge(this,"fontSizeRegex",/^(sm:|md:|lg:|xl:|2xl:)?pbx-text-(xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl)$/);ge(this,"pageBuilderStateStore");ge(this,"getLocalStorageItemName");ge(this,"getApplyImageToSelection");ge(this,"getHyberlinkEnable");ge(this,"getComponents");ge(this,"getComponent");ge(this,"getElement");ge(this,"getComponentArrayAddMethod");ge(this,"NoneListernesTags");ge(this,"hasStartedEditing",!1);ge(this,"originalComponents");ge(this,"savedMountComponents",null);ge(this,"pendingMountComponents",null);ge(this,"globalStylesObserver",null);ge(this,"_pendingPageSettings",null);ge(this,"_lastKnownPageSettings",null);ge(this,"isPageBuilderMissingOnStart",!1);ge(this,"hasCompletedBuilderMount",!1);ge(this,"builderMountPromise",null);ge(this,"activeBuilderSessionToken",0);ge(this,"canvasClickCaptureListener",null);ge(this,"canvasDblClickCaptureListener",null);ge(this,"elementsWithListeners",new WeakMap);ge(this,"translate");ge(this,"handleMouseOver",(e,t)=>{if(this.pageBuilderStateStore.getInlineTipTapEditor)return;e.preventDefault(),e.stopPropagation();const i=document.querySelector("#pagebuilder");if(!i)return;const n=i.querySelector("[hovered]");n&&n.removeAttribute("hovered"),t.hasAttribute("selected")||t.setAttribute("hovered","")});ge(this,"handleMouseLeave",e=>{if(this.pageBuilderStateStore.getInlineTipTapEditor)return;e.preventDefault(),e.stopPropagation();const t=document.querySelector("#pagebuilder");if(!t)return;const i=t.querySelector("[hovered]");i&&i.removeAttribute("hovered")});ge(this,"addListenersToEditableElements",async()=>{const e=document.querySelector("#pagebuilder");e&&(await o.nextTick(),this.attachCanvasInlineEditListeners(e),e.querySelectorAll("section *").forEach(t=>{if(this.isEditableElement(t)){const i=t;if(this.elementsWithListeners.has(i)){const p=this.elementsWithListeners.get(i);p&&(i.removeEventListener("click",p.click),i.removeEventListener("dblclick",p.dblclick),i.removeEventListener("mouseover",p.mouseover),i.removeEventListener("mouseleave",p.mouseleave))}const n=p=>this.handleElementClick(p,i),a=p=>this.handleElementDoubleClick(p,i),l=p=>this.handleMouseOver(p,i),s=p=>this.handleMouseLeave(p);i.addEventListener("click",n),i.addEventListener("dblclick",a),i.addEventListener("mouseover",l),i.addEventListener("mouseleave",s),this.elementsWithListeners.set(i,{click:n,dblclick:a,mouseover:l,mouseleave:s})}}))});ge(this,"handleCanvasClickCapture",async()=>{this.pageBuilderStateStore.getImageSettingsPanelOpen||this.pageBuilderStateStore.getInlineTipTapEditor&&!this.hasInlineTipTapElement()&&this.pageBuilderStateStore.setInlineTipTapEditor(!1)});ge(this,"handleCanvasDoubleClickCapture",async e=>{await this.openInlineTipTapFromEvent(e)});ge(this,"handleElementClick",async(e,t)=>{this.pageBuilderStateStore.getImageSettingsPanelOpen||this.pageBuilderStateStore.getInlineTipTapEditor||(e.preventDefault(),e.stopPropagation(),await this.selectEditableElement(t))});ge(this,"handleElementDoubleClick",async(e,t)=>{if(!this.pageBuilderStateStore.getImageSettingsPanelOpen&&!this.pageBuilderStateStore.getInlineTipTapEditor){if(!this.isValidTextElement(t)){e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.pageBuilderStateStore.setElement(t),this.pageBuilderStateStore.setInlineTipTapEditor(!0),await this.openInlineTipTapForElement(t)}});ge(this,"handleAutoSave",async()=>{if(this.startEditing(),this.pageBuilderStateStore.getInlineTipTapEditor)return;const e=this.pageBuilderStateStore.getPageBuilderConfig;if(e&&e.userSettings&&typeof e.userSettings.autoSave=="boolean"&&e.userSettings.autoSave!==!1){if(this.pageBuilderStateStore.getIsSaving)return;try{this.pageBuilderStateStore.setIsSaving(!0),this.saveDomComponentsToLocalStorage(),await Re(400)}catch(t){console.error("Error trying auto save.",t);const{showToast:i}=Xe(),{translate:n}=ne();i(n("Auto-save failed — please save manually"),"error")}finally{this.pageBuilderStateStore.setIsSaving(!1)}}if(e&&!e.userSettings)try{this.pageBuilderStateStore.setIsSaving(!0),this.saveDomComponentsToLocalStorage(),await Re(400)}catch(t){console.error("Error trying saving.",t);const{showToast:i}=Xe(),{translate:n}=ne();i(n("Auto-save failed — please save manually"),"error")}finally{this.pageBuilderStateStore.setIsSaving(!1)}});ge(this,"handleManualSave",async e=>{this.pageBuilderStateStore.setIsSaving(!0),e||this.clearHtmlSelection(),this.startEditing(),this.saveDomComponentsToLocalStorage(),await Re(300),this.pageBuilderStateStore.setIsSaving(!1)});ge(this,"ensureTextAreaHasContent",()=>{if(!this.getElement.value||typeof this.getElement.value.innerHTML!="string")return;const e=this.getElement.value,t=e.tagName;["DIV"].includes(t)&&e.tagName.toLowerCase()!=="img"&&e.textContent&&Number(e.textContent.length)===0?(e.classList.add("h-6"),e.classList.add("bg-red-50")):(e.classList.remove("h-6"),e.classList.remove("bg-red-50"))});ge(this,"handleTextInput",async e=>{var t;typeof((t=this.getElement.value)==null?void 0:t.innerHTML)=="string"&&(typeof this.getElement.value.innerHTML=="string"&&(await o.nextTick(),this.getElement.value.textContent=e,this.pageBuilderStateStore.setTextAreaVueModel(this.getElement.value.innerHTML),this.getElement.value.innerHTML=e),this.ensureTextAreaHasContent())});this.hasStartedEditing=!1,this.pageBuilderStateStore=e;const{translate:t}=ne();this.translate=t,this.getApplyImageToSelection=o.computed(()=>this.pageBuilderStateStore.getApplyImageToSelection),this.getLocalStorageItemName=o.computed(()=>this.pageBuilderStateStore.getLocalStorageItemName),this.getHyberlinkEnable=o.computed(()=>this.pageBuilderStateStore.getHyberlinkEnable),this.getComponents=o.computed(()=>this.pageBuilderStateStore.getComponents),this.getComponent=o.computed(()=>this.pageBuilderStateStore.getComponent),this.getElement=o.computed(()=>this.pageBuilderStateStore.getElement),this.getComponentArrayAddMethod=o.computed(()=>this.pageBuilderStateStore.getComponentArrayAddMethod),this.NoneListernesTags=["P","H1","H2","H3","H4","H5","H6","IFRAME","UL","OL","LI","EM","STRONG","B","A","SPAN","BLOCKQUOTE","BR","PRE","CODE","MARK","DEL","INS","U","FIGURE","FIGCAPTION"]}availableLanguage(){return Ype}changeLanguage(e){this.pageBuilderStateStore.setCurrentLanguage(e)}async clearHtmlSelection(){this.pageBuilderStateStore.getImageSettingsPanelOpen||(this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),await this.removeHoveredAndSelected())}ensureUpdateOrCreateConfig(e){if(!e.updateOrCreate||e.updateOrCreate&&ro(e.updateOrCreate)){const t={...e,updateOrCreate:{formType:"create",formName:"post"}};this.pageBuilderStateStore.setPageBuilderConfig(t);return}if(e.updateOrCreate&&typeof e.updateOrCreate.formType=="string"&&(e.updateOrCreate.formType==="create"||e.updateOrCreate.formType==="update")&&typeof e.updateOrCreate.formName!="string"||typeof e.updateOrCreate.formName=="string"&&e.updateOrCreate.formName.length===0){const t={...e,updateOrCreate:{formType:e.updateOrCreate.formType,formName:"post"}};this.pageBuilderStateStore.setPageBuilderConfig(t)}if(e.updateOrCreate&&typeof e.updateOrCreate.formType!="string"||typeof e.updateOrCreate.formType=="string"&&e.updateOrCreate.formType!=="create"&&e.updateOrCreate.formType!=="update"&&typeof e.updateOrCreate.formName=="string"&&e.updateOrCreate.formName.length!==0){const t={...e,updateOrCreate:{formType:"create",formName:e.updateOrCreate.formName}};this.pageBuilderStateStore.setPageBuilderConfig(t);return}if(e.updateOrCreate&&typeof e.updateOrCreate.formType=="string"&&e.updateOrCreate.formType!=="create"&&e.updateOrCreate.formType!=="update"&&typeof e.formName!="string"){const t={...e,updateOrCreate:{formType:"create",formName:"post"}};this.pageBuilderStateStore.setPageBuilderConfig(t)}}validateUserProvidedComponents(e){const t=this.pageBuilderStateStore.getPageBuilderConfig&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate.formType;if(Array.isArray(e)&&e.length>=1&&t==="create"&&e)return{error:!0,warning:"You cannot set formType to create in your configuration while also passing a components data array to the Page Builder. Please set formType to update.",status:"validation_failed"};if(!Array.isArray(e))return{error:!0,reason:"Components data must be an array."};const i=e[0];if(i&&"html_code"in i&&typeof i.html_code!="string")return{error:!0,reason:"The 'html_code' property in the first object must be a string."};if(Array.isArray(e)&&e.length>=1&&(!i||!("html_code"in i)))return{error:!0,reason:"The first object in the array must include an 'html_code' key."}}ensureLanguage(e){const i=["en","zh-Hans","fr","ja","ru","es","pt","de","ar","hi","da"];let n=!1;const a=e.userSettings,l=a&&a.language;if((!a||ro(a)||!l||ro(l))&&(n=!0),n){const s=a?{...a}:{};s.language={default:"en",enable:i};const p={...e,userSettings:s};this.pageBuilderStateStore.setPageBuilderConfig(p);return}if(l&&Array.isArray(l.enable)&&l.default&&!l.enable.includes(l.default)){const s=[...l.enable,l.default],p={...e,userSettings:{...a,language:{...l,enable:s}}};this.pageBuilderStateStore.setPageBuilderConfig(p)}}validateConfig(e){var n;const t={updateOrCreate:{formType:"create",formName:"post"}};if(!e||e&&Object.keys(e).length===0&&e.constructor===Object){this.pageBuilderStateStore.setPageBuilderConfig(t);return}e&&Object.keys(e).length!==0&&e.constructor===Object&&(this.ensureUpdateOrCreateConfig(e),(!e.resourceData||typeof e.resourceData.title!="string"||!e.resourceData.title.trim())&&(!e.resourceData||typeof e.resourceData!="object"?e.resourceData={title:"Default Post"}:e.resourceData.title="Default Post"));let i=e;if(!i.userSettings||typeof i.userSettings!="object"||!("autoSave"in i.userSettings)){const a=i.userSettings?{...i.userSettings}:{};a.autoSave=((n=i.userSettings)==null?void 0:n.autoSave)!==!1;const l={...i,userSettings:a};this.pageBuilderStateStore.setPageBuilderConfig(l),i=l}this.ensureLanguage(i)}saveUserSettingsStorage(e){localStorage.setItem("userSettingsPageBuilder",JSON.stringify({userSettings:{lang:e}}))}async startBuilder(e,t){var s,p;const i=++this.activeBuilderSessionToken;this.hasCompletedBuilderMount=!1,this.builderMountPromise=null,this.pendingMountComponents=null,this.isPageBuilderMissingOnStart=!1,typeof this.pageBuilderStateStore.setInlineTipTapEditor=="function"&&this.pageBuilderStateStore.setInlineTipTapEditor(!1),typeof this.pageBuilderStateStore.setShowModalTipTap=="function"&&this.pageBuilderStateStore.setShowModalTipTap(!1),typeof this.pageBuilderStateStore.setImageSettingsPanelOpen=="function"&&this.pageBuilderStateStore.setImageSettingsPanelOpen(!1),typeof this.pageBuilderStateStore.setElement=="function"&&this.pageBuilderStateStore.setElement(null),typeof this.pageBuilderStateStore.setComponent=="function"&&this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setBuilderStarted(!0);const n=document.querySelector("#pagebuilder"),a=this.readCurrentPageSettings();this.hasMeaningfulPageSettings(a)&&(this._lastKnownPageSettings=a);let l;try{this.originalComponents=t,this.pageBuilderStateStore.setPageBuilderConfig(e);const d=JSON.parse(localStorage.getItem("userSettingsPageBuilder")??"null");!(d!=null&&d.lang)&&((p=(s=e.userSettings)==null?void 0:s.language)!=null&&p.default)&&this.changeLanguage(e.userSettings.language.default),this.validateConfig(e),l=this.validateUserProvidedComponents(t);const c=Array.isArray(t)&&t.length>0?t:null,b=c!==null;this.updateLocalStorageItemName(),this.initializeHistory(),b&&(this.savedMountComponents=c),n||(this.isPageBuilderMissingOnStart=!0),b&&!n&&(this.pendingMountComponents=c),n&&(!t||Array.isArray(t))&&await this.completeBuilderInitializationWithSession(b?c:void 0,i),n&&await this.addListenersToEditableElements();const m={message:"Page builder started successfully."};return l&&(m.validation=l),Array.isArray(t)&&t.length>=0&&(m.passedComponentsArray=t),m}catch(d){return console.error("Not able to start the Page Builder",d),{error:!0,reason:"Failed to start the Page Builder due to an unexpected error."}}}shouldCompleteBuilderMountOnMount(){return this.hasCompletedBuilderMount?!1:this.isPageBuilderMissingOnStart||!!this.pendingMountComponents}async completeBuilderInitialization(e){return this.completeBuilderInitializationWithSession(e,this.activeBuilderSessionToken)}async completeBuilderInitializationWithSession(e,t=this.activeBuilderSessionToken){t===this.activeBuilderSessionToken&&(this.hasCompletedBuilderMount||(this.builderMountPromise||(this.builderMountPromise=this.runCompleteBuilderInitialization(e,t)),await this.builderMountPromise))}async runCompleteBuilderInitialization(e,t=this.activeBuilderSessionToken){if(t!==this.activeBuilderSessionToken||(this.pageBuilderStateStore.setIsLoadingGlobal(!0),await Re(400),t!==this.activeBuilderSessionToken))return;this.deleteAllComponentsFromDOM();const i=this.pageBuilderStateStore.getPageBuilderConfig,n=i&&i.updateOrCreate&&i.updateOrCreate.formType,a=this.getSavedPageHtml();if(await this.clearHtmlSelection(),t===this.activeBuilderSessionToken&&(n==="update"||n==="create")){if(!this.pendingMountComponents){if(!e&&this.isPageBuilderMissingOnStart&&a){await this.completeMountProcess(a,void 0,t);return}if(e&&!a){const l=this.renderComponentsToHtml(e);await this.completeMountProcess(l,!0,t),this.saveDomComponentsToLocalStorage();return}if(e&&a){const l=this.renderComponentsToHtml(e);await this.completeMountProcess(l,!0,t),await Re(500),this.pageBuilderStateStore.setHasLocalDraftForUpdate(!0);return}if(!e&&a&&!this.savedMountComponents){await this.completeMountProcess(a,void 0,t);return}if(!e&&this.savedMountComponents&&a){const l=this.renderComponentsToHtml(this.savedMountComponents);await this.completeMountProcess(l,void 0,t);return}if(!e&&!a&&this.isPageBuilderMissingOnStart){const l=this.renderComponentsToHtml([]);await this.completeMountProcess(l,void 0,t);return}if(!this.isPageBuilderMissingOnStart&&!a&&!e){const l=this.renderComponentsToHtml([]);await this.completeMountProcess(l,void 0,t);return}}if(this.pendingMountComponents){if(a&&this.isPageBuilderMissingOnStart){const l=this.renderComponentsToHtml(this.pendingMountComponents);await this.completeMountProcess(l,!0,t),await Re(500),this.pageBuilderStateStore.setHasLocalDraftForUpdate(!0),this.pendingMountComponents=null;return}if(!a&&e&&this.isPageBuilderMissingOnStart){const l=this.renderComponentsToHtml(this.pendingMountComponents);await this.completeMountProcess(l,!0,t),this.saveDomComponentsToLocalStorage();return}if(!e&&!a&&this.isPageBuilderMissingOnStart){const l=this.renderComponentsToHtml(this.pendingMountComponents);await this.completeMountProcess(l,!0,t),this.saveDomComponentsToLocalStorage();return}}}}renderComponentsToHtml(e){return!e||Array.isArray(e)&&e.length===0?'<div id="pagebuilder" class="pbx-text-black pbx-font-sans"></div>':e.map(i=>i.html_code).join(`
|
|
414
|
+
`)}async completeMountProcess(e,t,i=this.activeBuilderSessionToken){i===this.activeBuilderSessionToken&&(await this.mountComponentsToDOM(e,t),i===this.activeBuilderSessionToken&&(this.deleteOldPageBuilderLocalStorage(),this.pageBuilderStateStore.setIsRestoring(!1),this.hasCompletedBuilderMount=!0,this.pageBuilderStateStore.setIsLoadingGlobal(!1)))}applyElementClassChanges(e,t,i){const n=this.getElement.value;if(!n)return;const a=t===xt.roundedGlobal||t===xt.roundedTopLeft||t===xt.roundedTopRight||t===xt.roundedBottomLeft||t===xt.roundedBottomRight,l=(()=>{if(!a||n.tagName==="A")return null;const b=Array.from(n.querySelectorAll("a")).filter(g=>g instanceof HTMLAnchorElement),m=b.find(g=>t.some(x=>x!=="none"&&g.classList.contains(x)));return m||(n.id==="linktree"||n.classList.contains("pbx-product-card-cta")?b[0]??null:null)})(),s=a&&n.tagName==="IMG"?n.closest(".pbx-product-card-image"):null,p=l instanceof HTMLElement?l:s instanceof HTMLElement?s:n,d=t.find(b=>p.classList.contains(b))||(l instanceof HTMLElement?t.find(b=>n.classList.contains(b)):void 0);let c=d||"none";if(e===void 0){if(typeof i=="string"&&i.length>2&&i in this.pageBuilderStateStore&&typeof this.pageBuilderStateStore[i]=="function"){const b=this.pageBuilderStateStore[i];b(c)}return d}if(typeof e=="string"&&e!=="none"?(c&&(p.classList.contains(c)&&p.classList.remove(c),l instanceof HTMLElement&&n.classList.contains(c)&&n.classList.remove(c)),t.forEach(b=>{b!=="none"&&["lg","md","sm","xl","2xl"].forEach(m=>{const g=`${m}:${b}`;p.classList.contains(g)&&p.classList.remove(g),l instanceof HTMLElement&&n.classList.contains(g)&&n.classList.remove(g)})}),p.classList.add(e),c=e):typeof e=="string"&&e==="none"&&c&&(p.classList.remove(c),l instanceof HTMLElement&&n.classList.remove(c),t.forEach(b=>{b!=="none"&&["lg","md","sm","xl","2xl"].forEach(m=>{const g=`${m}:${b}`;p.classList.contains(g)&&p.classList.remove(g),l instanceof HTMLElement&&n.classList.contains(g)&&n.classList.remove(g)})}),c=e),typeof i=="string"&&i.length>2&&i in this.pageBuilderStateStore&&typeof this.pageBuilderStateStore[i]=="function"){const b=this.pageBuilderStateStore[i];b(c),this.pageBuilderStateStore.getInlineTipTapEditor||this.pageBuilderStateStore.setElement(n)}return d}removeElementClassesFromArray(e,t){t.forEach(i=>{i!=="none"&&e.classList.contains(i)&&e.classList.remove(i)})}async clearClassesFromPage(){const e=document.querySelector("#pagebuilder");e==null||e.removeAttribute("class"),this.initializeElementStyles(),await o.nextTick()}async clearInlineStylesFromPage(){const e=document.querySelector("#pagebuilder");e==null||e.removeAttribute("style"),this.initializeElementStyles(),await o.nextTick()}async globalPageStyles(){const e=document.querySelector("#pagebuilder");e&&(await this.clearHtmlSelection(),this.pageBuilderStateStore.setElement(e),e.setAttribute("data-global-selected","true"),this.globalStylesObserver&&this.globalStylesObserver.disconnect(),this.globalStylesObserver=new MutationObserver(()=>{const t=this.readCurrentPageSettings();t&&(this._lastKnownPageSettings=t)}),this.globalStylesObserver.observe(e,{attributes:!0,attributeFilter:["class","style","data-meta-title","data-meta-description"]}),await o.nextTick())}stopGlobalStylesSync(){this.globalStylesObserver&&(this.globalStylesObserver.disconnect(),this.globalStylesObserver=null)}handleFontWeight(e){this.applyElementClassChanges(e,lr.fontWeight,"setFontWeight")}handleFontSizeBase(e){this.applyElementClassChanges(e,mi.fontBase,"setFontBase")}handleFontSizeDesktop(e){const t=this.getElement.value;if(!t)return;const i={"pbx-text-9xl":"pbx-text-6xl","pbx-text-8xl":"pbx-text-5xl","pbx-text-7xl":"pbx-text-4xl","pbx-text-6xl":"pbx-text-3xl","pbx-text-5xl":"pbx-text-3xl","pbx-text-4xl":"pbx-text-2xl","pbx-text-3xl":"pbx-text-xl","pbx-text-2xl":"pbx-text-lg","pbx-text-xl":"pbx-text-base","pbx-text-lg":"pbx-text-sm","pbx-text-base":"pbx-text-xs","pbx-text-sm":"pbx-text-xs","pbx-text-xs":"pbx-text-xs"};if(e){Array.from(t.classList).forEach(p=>{this.fontSizeRegex.test(p)&&t.classList.remove(p)});const a=e.replace(/^lg:/,""),l=i[a]||a,s=`lg:${a}`;l!==a?t.classList.add(l,s):t.classList.add(l)}const n=mi.fontDesktop.find(a=>t.classList.contains(a));e||this.pageBuilderStateStore.setFontDesktop("none"),n&&!e&&this.pageBuilderStateStore.setFontDesktop(n)}ensureImagesHaveAltText(e){e.tagName==="IMG"&&!e.hasAttribute("alt")&&e.setAttribute("alt","image"),e.querySelectorAll("img:not([alt])").forEach(t=>{t.setAttribute("alt","image")})}applyHelperCSSToElements(e){if(this.wrapElementInDivIfExcluded(e),this.ensureImagesHaveAltText(e),e.tagName==="DIV"&&e.children.length===1&&["H1","H2","H3","H4","H5","H6"].includes(e.children[0].tagName)){const t=e.children[0];Array.from(e.classList).some(n=>this.fontSizeRegex.test(n))||(t.tagName==="H2"&&e.classList.add("pbx-text-3xl","lg:pbx-text-4xl","pbx-font-medium"),t.tagName==="H3"&&e.classList.add("pbx-text-2xl","lg:pbx-text-3xl","pbx-font-medium"),t.tagName==="H4"&&e.classList.add("pbx-text-xl","lg:pbx-text-2xl","pbx-font-medium"),t.tagName==="H5"&&e.classList.add("pbx-text-lg","lg:pbx-text-xl","pbx-font-medium"),t.tagName==="H6"&&e.classList.add("pbx-text-base","lg:pbx-text-base","pbx-font-medium"))}}async toggleTipTapModal(e){this.pageBuilderStateStore.setShowModalTipTap(e),await o.nextTick(),await this.addListenersToEditableElements(),e||await this.handleAutoSave()}async toggleInlineTipTapEditor(e){e&&!this.isValidTextElement(this.getElement.value)||(this.pageBuilderStateStore.setInlineTipTapEditor(e),await o.nextTick(),await this.addListenersToEditableElements(),e||await this.handleAutoSave())}async finishInlineTipTapEditor(e,t=!0){if(this.pageBuilderStateStore.setInlineTipTapEditor(!1),await o.nextTick(),e){const i=document.querySelector("#pagebuilder");i==null||i.querySelectorAll("[hovered]").forEach(n=>n.removeAttribute("hovered")),i==null||i.querySelectorAll("[selected]").forEach(n=>{n!==e&&n.removeAttribute("selected")}),e.removeAttribute("data-pbx-inline-tiptap"),e.setAttribute("selected",""),this.pageBuilderStateStore.setElement(e)}await o.nextTick(),await this.addListenersToEditableElements(),await this.initializeElementStyles(),await this.addListenersToEditableElements(),t&&await this.handleAutoSave()}wrapElementInDivIfExcluded(e){var t;if(e&&this.NoneListernesTags.includes(e.tagName)&&(e.previousElementSibling&&e.previousElementSibling.tagName==="IMG"||e.nextElementSibling&&e.nextElementSibling.tagName==="IMG")){const i=document.createElement("div");(t=e.parentNode)==null||t.insertBefore(i,e),i.appendChild(e)}}isEditableElement(e){return!e||e.tagName!=="IMG"&&e.closest("[data-pb-no-select]")?!1:!this.NoneListernesTags.includes(e.tagName)}getSelectedComponentSection(){const e=this.getElement.value;return!e||!(e instanceof HTMLElement)?null:e.closest("section")}isSelectedComponentTopElement(){const e=this.getElement.value,t=this.getSelectedComponentSection();return!e||!t?!1:e.parentElement===t}selectedComponentIsFullWidth(){var e;return((e=this.getSelectedComponentSection())==null?void 0:e.classList.contains(is))??!1}async setSelectedComponentFullWidth(e){const t=this.getSelectedComponentSection();t&&(t.classList.toggle(is,e),await this.handleAutoSave())}isSelectedProductSection(){const e=this.getSelectedComponentSection();return(e==null?void 0:e.getAttribute("data-pbx-product-section"))==="true"}getSelectedProductSectionOptions(){const e=this.getSelectedComponentSection();return!e||!this.isSelectedProductSection()?{...Xt}:xJ(e)}getSelectedProductSectionContentAvailability(){const e=this.getSelectedComponentSection();return!e||!this.isSelectedProductSection()?{hasPrices:!1,hasImages:!1,hasButtons:!1,hasLinks:!1}:{hasPrices:cJ(e),hasImages:dJ(e),hasButtons:bJ(e),hasLinks:mJ(e)}}async updateSelectedProductSection(e){const t=this.getSelectedComponentSection();!t||!this.isSelectedProductSection()||(yJ(t,e),await this.handleAutoSave())}isGlobalFullWidth(){const e=document.querySelector("#pagebuilder");return(e==null?void 0:e.classList.contains(is))??!1}async setGlobalFullWidth(e){const t=document.querySelector("#pagebuilder");t==null||t.classList.toggle(is,e),this.saveDomComponentsToLocalStorage(),await this.handleAutoSave()}isSelectedElementImage(){var e;return((e=this.getElement.value)==null?void 0:e.tagName)==="IMG"}setImageSettingsModalOpen(e){this.pageBuilderStateStore.setImageSettingsPanelOpen(e)}isImageSettingsModalOpen(){return this.pageBuilderStateStore.getImageSettingsPanelOpen}findImageAspectClass(e){const t=Zd.aspectRatio.find(n=>n!=="none"&&e.classList.contains(n));return t||(Array.from(e.classList).find(n=>n.startsWith("pbx-aspect-"))??null)}removeImageAspectClasses(e){Array.from(e.classList).forEach(t=>{t.startsWith("pbx-aspect-")&&e.classList.remove(t)})}handleImageObjectFit(e){this.applyElementClassChanges(e,Zd.objectFit,"setImageObjectFit")}handleImageObjectPosition(e){this.applyElementClassChanges(e,Zd.objectPosition,"setImageObjectPosition")}handleImageAspectRatio(e){const t=this.getElement.value;if(!(!t||t.tagName!=="IMG")){if(e===void 0){const i=this.findImageAspectClass(t);this.pageBuilderStateStore.setImageAspectRatio(i||"none");return}this.removeImageAspectClasses(t),e!=="none"&&t.classList.add(e),this.pageBuilderStateStore.setImageAspectRatio(e),this.pageBuilderStateStore.setElement(t)}}async handleImageAltText(e){const t=this.getElement.value;if(!t||t.tagName!=="IMG"||e===void 0)return;const i=e.trim();i?t.setAttribute("alt",i):t.removeAttribute("alt"),this.pageBuilderStateStore.setElement(t),await this.handleAutoSave()}getSelectedImageAltText(){const e=this.getElement.value;return!e||e.tagName!=="IMG"?"":e.getAttribute("alt")||""}attachCanvasInlineEditListeners(e){this.canvasClickCaptureListener&&e.removeEventListener("click",this.canvasClickCaptureListener,!0),this.canvasDblClickCaptureListener&&e.removeEventListener("dblclick",this.canvasDblClickCaptureListener,!0),this.canvasClickCaptureListener=()=>{this.handleCanvasClickCapture()},this.canvasDblClickCaptureListener=t=>{this.handleCanvasDoubleClickCapture(t)},e.addEventListener("click",this.canvasClickCaptureListener,!0),e.addEventListener("dblclick",this.canvasDblClickCaptureListener,!0)}findEditableElementFromEventTarget(e){if(!(e instanceof Element))return null;const t=document.querySelector("#pagebuilder");let i=e;for(;i&&i!==t;){if(i instanceof HTMLElement&&this.isEditableElement(i))return i;i=i.parentElement}return null}async openInlineTipTapFromEvent(e){if(this.pageBuilderStateStore.getImageSettingsPanelOpen||(this.pageBuilderStateStore.getInlineTipTapEditor&&!this.hasInlineTipTapElement()&&this.pageBuilderStateStore.setInlineTipTapEditor(!1),this.pageBuilderStateStore.getInlineTipTapEditor))return;const t=this.findEditableElementFromEventTarget(e.target);if(!t||!this.isValidTextElement(t)){e.target instanceof Element&&(e.target.tagName==="IMG"||e.target.closest("img"))&&e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),this.pageBuilderStateStore.setElement(t),this.pageBuilderStateStore.setInlineTipTapEditor(!0),await this.openInlineTipTapForElement(t)}hasInlineTipTapElement(){return!!document.querySelector("#pagebuilder [data-pbx-inline-tiptap]")}async finishActiveInlineTipTapEditorFromDom(e=null){const t=document.querySelector("#pagebuilder [data-pbx-inline-tiptap]");if(!t){await this.toggleInlineTipTapEditor(!1);return}const i=t.querySelector(".ProseMirror"),n=t.getAttribute("data-pbx-inline-original-html")??"",a=Nd((i==null?void 0:i.innerHTML)??t.innerHTML,n);t.innerHTML=a,t.removeAttribute("data-pbx-inline-tiptap"),t.removeAttribute("data-pbx-inline-original-html"),this.pageBuilderStateStore.setTextAreaVueModel(a),this.pageBuilderStateStore.setElement(t),await this.finishInlineTipTapEditor(t),e&&e!==t&&await this.selectEditableElement(e)}async openInlineTipTapForElement(e){this.isValidTextElement(e)&&(await this.selectEditableElement(e,!1),await o.nextTick(),await this.addListenersToEditableElements())}async selectEditableElement(e,t=!0){const i=document.querySelector("#pagebuilder");if(!i)return;this.pageBuilderStateStore.setMenuRight(!0);const n=i.querySelector("[selected]");n&&n.removeAttribute("selected"),e.removeAttribute("hovered"),e.setAttribute("selected",""),this.pageBuilderStateStore.setElement(e),await o.nextTick(),await this.initializeElementStyles(),t&&await this.handleAutoSave()}getHistoryBaseKey(){return this.getLocalStorageItemName.value}initializeHistory(){const e=this.getHistoryBaseKey();if(e){const t=ki.getHistory(e);this.pageBuilderStateStore.setHistoryIndex(t.length-1),this.pageBuilderStateStore.setHistoryLength(t.length)}}cloneCompObjForDOMInsertion(e){const t={...e},i=document.querySelector("#page-builder-wrapper");i&&this.getComponentArrayAddMethod.value==="unshift"&&i.scrollTo({top:0,behavior:"smooth"});const a=new DOMParser().parseFromString(t.html_code||"","text/html");a.querySelectorAll("*").forEach(p=>{this.applyHelperCSSToElements(p)});const s=a.querySelector("section");return s&&(s.querySelectorAll("[class]").forEach(p=>{p.setAttribute("class",this.addTailwindPrefixToClasses(p.getAttribute("class")||"","pbx-"))}),s.dataset.componentid=Bz(),t.title&&s.setAttribute("data-component-title",t.title),t.id=s.dataset.componentid,t.html_code=s.outerHTML),t}async removeHoveredAndSelected(){const e=document.querySelector("#pagebuilder");if(!e)return;const t=e.querySelector("[hovered]");t&&t.removeAttribute("hovered");const i=e.querySelector("[selected]");i&&i.removeAttribute("selected")}async syncCurrentClasses(){var t;const e=Array.from(((t=this.getElement.value)==null?void 0:t.classList)||[]);this.pageBuilderStateStore.setCurrentClasses(e)}async syncCurrentStyles(){var t;const e=(t=this.getElement.value)==null?void 0:t.getAttribute("style");if(e){const i=this.parseStyleString(e);this.pageBuilderStateStore.setCurrentStyles(i)}else this.pageBuilderStateStore.setCurrentStyles({})}handleAddClasses(e){var t,i;if(typeof e=="string"&&e.trim()!==""&&!e.includes(" ")&&!((t=this.getElement.value)!=null&&t.classList.contains("pbx-"+e.trim()))){const n=e.trim(),a=n.startsWith("pbx-")?n:"pbx-"+n;(i=this.getElement.value)==null||i.classList.add(a),this.pageBuilderStateStore.setElement(this.getElement.value),this.pageBuilderStateStore.setClass(a)}}handleAddStyle(e,t){const i=this.getElement.value;!i||!e||!t||(i.style.setProperty(e,t),this.pageBuilderStateStore.setElement(i))}handleRemoveStyle(e){const t=this.getElement.value;!t||!e||(t.style.removeProperty(e),this.pageBuilderStateStore.setElement(t))}handleFontFamily(e){var i;const t=lD((i=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:i.userSettings);this.applyElementClassChanges(e,t,"setFontFamily")}handleFontStyle(e){this.applyElementClassChanges(e,lr.fontStyle,"setFontStyle")}purgeConflictingClasses(e){const t=this.getElement.value;t&&e.forEach(i=>{i.forEach(n=>{n!=="none"&&t.classList.contains(n)&&t.classList.remove(n)})})}handleVerticalPadding(e){e!==void 0&&this.purgeConflictingClasses([be.topPadding,be.bottomPadding]),this.applyElementClassChanges(e,be.verticalPadding,"setFontVerticalPadding")}handleHorizontalPadding(e){e!==void 0&&this.purgeConflictingClasses([be.leftPadding,be.rightPadding]),this.applyElementClassChanges(e,be.horizontalPadding,"setFontHorizontalPadding")}handleTopPadding(e){e!==void 0&&this.purgeConflictingClasses([be.verticalPadding]),this.applyElementClassChanges(e,be.topPadding,"setFontTopPadding")}handleRightPadding(e){e!==void 0&&this.purgeConflictingClasses([be.horizontalPadding]),this.applyElementClassChanges(e,be.rightPadding,"setFontRightPadding")}handleBottomPadding(e){e!==void 0&&this.purgeConflictingClasses([be.verticalPadding]),this.applyElementClassChanges(e,be.bottomPadding,"setFontBottomPadding")}handleLeftPadding(e){e!==void 0&&this.purgeConflictingClasses([be.horizontalPadding]),this.applyElementClassChanges(e,be.leftPadding,"setFontLeftPadding")}handleVerticalMargin(e){e!==void 0&&this.purgeConflictingClasses([be.topMargin,be.bottomMargin]),this.applyElementClassChanges(e,be.verticalMargin,"setFontVerticalMargin")}handleHorizontalMargin(e){e!==void 0&&this.purgeConflictingClasses([be.leftMargin,be.rightMargin]),this.applyElementClassChanges(e,be.horizontalMargin,"setFontHorizontalMargin")}handleTopMargin(e){e!==void 0&&this.purgeConflictingClasses([be.verticalMargin]),this.applyElementClassChanges(e,be.topMargin,"setFontTopMargin")}handleRightMargin(e){e!==void 0&&this.purgeConflictingClasses([be.horizontalMargin]),this.applyElementClassChanges(e,be.rightMargin,"setFontRightMargin")}handleBottomMargin(e){e!==void 0&&this.purgeConflictingClasses([be.verticalMargin]),this.applyElementClassChanges(e,be.bottomMargin,"setFontBottomMargin")}handleLeftMargin(e){e!==void 0&&this.purgeConflictingClasses([be.horizontalMargin]),this.applyElementClassChanges(e,be.leftMargin,"setFontLeftMargin")}handleBorderStyle(e){this.applyElementClassChanges(e,vi.borderStyle,"setBorderStyle")}handleBorderWidth(e){this.applyElementClassChanges(e,vi.borderWidth,"setBorderWidth")}handleBorderColor(e){this.applyElementClassChanges(e,vi.borderColor,"setBorderColor")}handleBackgroundColor(e){var t,i;if(e===void 0){const n=(t=this.getElement.value)==null?void 0:t.style.getPropertyValue("background-color");if(n){this.pageBuilderStateStore.setBackgroundColor(`custom:${Yt(n)??n}`);return}}else(i=this.getElement.value)==null||i.style.removeProperty("background-color");this.applyElementClassChanges(e,hi.backgroundColorVariables,"setBackgroundColor")}handleCustomBackgroundColor(e){const t=this.getElement.value;!t||!e||(this.removeElementClassesFromArray(t,hi.backgroundColorVariables),t.style.setProperty("background-color",e),this.pageBuilderStateStore.setBackgroundColor(`custom:${e}`),this.pageBuilderStateStore.setElement(t))}handleTextColor(e){var t,i;if(e===void 0){const n=(t=this.getElement.value)==null?void 0:t.style.getPropertyValue("color");if(n){this.pageBuilderStateStore.setTextColor(`custom:${Yt(n)??n}`);return}}else(i=this.getElement.value)==null||i.style.removeProperty("color");this.applyElementClassChanges(e,hi.textColorVariables,"setTextColor")}handleCustomTextColor(e){const t=this.getElement.value;!t||!e||(this.removeElementClassesFromArray(t,hi.textColorVariables),t.style.setProperty("color",e),this.pageBuilderStateStore.setTextColor(`custom:${e}`),this.pageBuilderStateStore.setElement(t))}handleBorderRadiusGlobal(e){this.applyElementClassChanges(e,xt.roundedGlobal,"setBorderRadiusGlobal")}handleBorderRadiusTopLeft(e){this.applyElementClassChanges(e,xt.roundedTopLeft,"setBorderRadiusTopLeft")}handleBorderRadiusTopRight(e){this.applyElementClassChanges(e,xt.roundedTopRight,"setBorderRadiusTopRight")}handleBorderRadiusBottomleft(e){this.applyElementClassChanges(e,xt.roundedBottomLeft,"setBorderRadiusBottomleft")}handleBorderRadiusBottomRight(e){this.applyElementClassChanges(e,xt.roundedBottomRight,"setBorderRadiusBottomRight")}handleFontSizeTablet(e){this.applyElementClassChanges(e,mi.fontTablet,"setFontTablet")}handleFontSizeMobile(e){this.applyElementClassChanges(e,mi.fontMobile,"setFontMobile")}handleBackgroundOpacity(e){this.applyElementClassChanges(e,rs.backgroundOpacities,"setBackgroundOpacity")}handleOpacity(e){this.applyElementClassChanges(e,rs.opacities,"setOpacity")}deleteAllComponentsFromDOM(){this.pageBuilderStateStore.setComponents([]);const e=document.querySelector("#pagebuilder");e&&e.querySelectorAll("section[data-componentid]").forEach(t=>t.remove())}async undo(){this.pageBuilderStateStore.setIsLoadingGlobal(!0),await Re(300);const e=this.getHistoryBaseKey();if(!e)return;const t=ki.getHistory(e);if(t.length>1&&this.pageBuilderStateStore.getHistoryIndex>0){this.pageBuilderStateStore.setHistoryIndex(this.pageBuilderStateStore.getHistoryIndex-1);const i=t[this.pageBuilderStateStore.getHistoryIndex],n=this.renderComponentsToHtml(i.components);await this.mountComponentsToDOM(n,!1,i.pageSettings)}this.pageBuilderStateStore.setIsLoadingGlobal(!1)}async redo(){this.pageBuilderStateStore.setIsLoadingGlobal(!0),await Re(300);const e=this.getHistoryBaseKey();if(!e)return;const t=ki.getHistory(e);if(t.length>0&&this.pageBuilderStateStore.getHistoryIndex<t.length-1){this.pageBuilderStateStore.setHistoryIndex(this.pageBuilderStateStore.getHistoryIndex+1);const i=t[this.pageBuilderStateStore.getHistoryIndex],n=this.renderComponentsToHtml(i.components);await this.mountComponentsToDOM(n,!1,i.pageSettings)}this.pageBuilderStateStore.setIsLoadingGlobal(!1)}hasVisibleContent(e){if(!e)return!1;if(e.querySelector("img, video, iframe, input, button, a, h1, h2, h3, h4, h5, h6, p, li, blockquote, pre, code, table"))return!0;const i=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null);for(;i.nextNode();)if(i.currentNode.nodeValue&&i.currentNode.nodeValue.trim()!=="")return!0;return!1}isSectionEmpty(e){return!this.hasVisibleContent(e)}findReverseableContainer(){const e=this.getSelectedComponentSection();if(!e)return null;const t=['[class*="flex-row"]','[class*="pbx-flex-row"]','[class*="grid-cols-2"]','[class*="pbx-grid-cols-2"]'];for(const i of t){const n=Array.from(e.querySelectorAll(i));for(const a of n)if(Array.from(a.children).filter(s=>s instanceof HTMLElement).length===2)return a}return null}async reverseComponentLayout(){const e=this.findReverseableContainer();if(!e)return;const t=Array.from(e.children);t.length===2&&(e.insertBefore(t[1],t[0]),await this.syncDomToStoreOnly(),await o.nextTick(),this.saveDomComponentsToLocalStorage(),await this.handleAutoSave(),this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),await this.clearHtmlSelection(),await o.nextTick(),await this.addListenersToEditableElements())}async duplicateComponent(){await this.syncDomToStoreOnly(),await o.nextTick();const e=this.pageBuilderStateStore.getComponents,t=this.getComponent.value;if(!e||!t)return;const i=e.findIndex(l=>l.id===t.id);if(i===-1)return;const n=this.cloneCompObjForDOMInsertion(e[i]),a=[...e.slice(0,i+1),n,...e.slice(i+1)];await this.setComponentsPreservingPageSettings(a),await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setComponent(n),this.pageBuilderStateStore.setElement(null),await this.handleAutoSave()}async deleteComponentFromDOM(){await this.syncDomToStoreOnly(),await o.nextTick();const e=this.pageBuilderStateStore.getComponents;if(!e)return;const t=e.findIndex(n=>this.getComponent.value?n.id===this.getComponent.value.id:!1);if(t===-1)return;const i=[...e.slice(0,t),...e.slice(t+1)];await this.setComponentsPreservingPageSettings(i),await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),await this.handleAutoSave()}async duplicateElementInDOM(){const e=this.getElement.value;if(!e||!e.parentNode)return;e.removeAttribute("selected");const t=e.cloneNode(!0);e.parentNode.insertBefore(t,e.nextSibling),await this.syncDomToStoreOnly(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),this.saveDomComponentsToLocalStorage(),await this.handleAutoSave()}async deleteElementFromDOM(){const e=this.getElement.value;if(!e)return;if(e.removeAttribute("selected"),!e.parentNode){this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null);return}const t=e.closest("section");e.tagName==="SECTION"?await this.deleteComponentFromDOM():(e.remove(),t&&this.isSectionEmpty(t)&&t.remove(),await this.syncDomToStoreOnly(),this.saveDomComponentsToLocalStorage()),this.pageBuilderStateStore.setComponent(null),this.pageBuilderStateStore.setElement(null),await this.clearHtmlSelection(),await o.nextTick(),await this.addListenersToEditableElements()}handleRemoveClasses(e){var t,i;(t=this.getElement.value)!=null&&t.classList.contains(e)&&((i=this.getElement.value)==null||i.classList.remove(e),this.pageBuilderStateStore.setElement(this.getElement.value),this.pageBuilderStateStore.removeClass(e))}async reorderComponent(e){if(!this.getComponents.value||!this.getComponent.value||this.getComponents.value.length<=1)return;const t=this.getComponent.value,i=this.getComponents.value.findIndex(s=>s.id===t.id);if(i===-1)return;const n=i+e;if(n<0||n>=this.getComponents.value.length)return;this.getComponents.value.splice(i,1),this.getComponents.value.splice(n,0,t),await o.nextTick();const a=document.querySelector("#page-builder-wrapper"),l=a==null?void 0:a.querySelector(`section[data-componentid="${t.id}"]`);if(l){l.classList.add("pbx-reorder-highlight");const s=l.previousElementSibling,p=l.nextElementSibling;s&&s.tagName==="SECTION"&&s.classList.add("pbx-sibling-highlight"),p&&p.tagName==="SECTION"&&p.classList.add("pbx-sibling-highlight"),a&&(Jpe(a,l),window.setTimeout(()=>{l.classList.remove("pbx-reorder-highlight"),s&&s.tagName==="SECTION"&&s.classList.remove("pbx-sibling-highlight"),p&&p.tagName==="SECTION"&&p.classList.remove("pbx-sibling-highlight")},280))}}canMoveUp(){return!this.getComponents.value||!this.getComponent.value?!1:this.getComponents.value.findIndex(t=>{var i;return t.id===((i=this.getComponent.value)==null?void 0:i.id)})>0}canMoveDown(){return!this.getComponents.value||!this.getComponent.value?!1:this.getComponents.value.findIndex(t=>{var i;return t.id===((i=this.getComponent.value)==null?void 0:i.id)})<this.getComponents.value.length-1}ElOrFirstChildIsIframe(){var e,t,i;return((e=this.getElement.value)==null?void 0:e.tagName)==="IFRAME"||((i=(t=this.getElement.value)==null?void 0:t.firstElementChild)==null?void 0:i.tagName)==="IFRAME"}isValidTextElement(e){var n;if(!e||e.hasAttribute("data-pb-no-inline-text")||e.tagName==="IMG"||((n=e.firstElementChild)==null?void 0:n.tagName)==="IFRAME"||e.querySelector("img")||e.classList.contains("pbx-product-card-image")||e.classList.contains("product-card-image"))return!1;const t=e.children;if(!t.length)return!1;let i=!1;return Array.from(t).forEach(a=>{a.tagName==="IMG"||a.tagName==="DIV"?i=!1:i=!0}),i}isSelectedElementValidText(){return this.isValidTextElement(this.getElement.value)}previewCurrentDesign(){this.pageBuilderStateStore.setElement(null);const e=document.querySelector("#pagebuilder");if(e&&e){const t=vz(e,this.pageBuilderStateStore.getPageBuilderConfig?this.pageBuilderStateStore.getPageBuilderConfig:void 0),i=JSON.stringify([t]);this.pageBuilderStateStore.setCurrentLayoutPreview(i)}}sanitizeForLocalStorage(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}cloneAndRemoveSelectionAttributes(e){const t=e.cloneNode(!0);return t.querySelectorAll("[hovered]").forEach(i=>i.removeAttribute("hovered")),t.querySelectorAll("[selected]").forEach(i=>i.removeAttribute("selected")),t.removeAttribute("hovered"),t.removeAttribute("selected"),t}async syncDomToStoreOnly(){const e=document.querySelector("#pagebuilder");if(!e)return;const t=[];e.querySelectorAll("section[data-componentid]").forEach(i=>{const n=this.cloneAndRemoveSelectionAttributes(i);t.push({html_code:n.outerHTML,id:n.getAttribute("data-componentid"),title:n.getAttribute("data-component-title")||"Untitled Component"})}),await this.setComponentsPreservingPageSettings(t)}async generateHtmlFromComponents(){await this.syncDomToStoreOnly(),await o.nextTick();const e=this.pageBuilderStateStore.getComponents;return Array.isArray(e)?(await o.nextTick(),await this.addListenersToEditableElements(),e.map(t=>t.html_code.replace(/data-componentid="[^"]*"/g,"").replace(/\s{2,}/g," ")).join(`
|
|
415
|
+
`)):""}async generateFullPageHtml(){await this.syncDomToStoreOnly(),await o.nextTick();const e=this.pageBuilderStateStore.getComponents;if(!Array.isArray(e))return"";await o.nextTick(),await this.addListenersToEditableElements();const t=this.readCurrentPageSettings()??this._lastKnownPageSettings,i=document.createElement("div");if(i.setAttribute("id","pagebuilder"),t!=null&&t.classes&&i.setAttribute("class",t.classes),t!=null&&t.style){const n=typeof t.style=="string"?t.style:this.convertStyleObjectToString(t.style)||"";n&&i.setAttribute("style",n)}return oc(i,_n(t)),e.forEach(n=>{const s=new DOMParser().parseFromString(n.html_code,"text/html").querySelector("section");if(s){s.removeAttribute("data-componentid"),i.appendChild(document.importNode(s,!0));return}i.insertAdjacentHTML("beforeend",n.html_code)}),i.outerHTML}saveDomComponentsToLocalStorage(){this.updateLocalStorageItemName();const e=document.querySelector("#pagebuilder");if(!e)return;const t=e.querySelector("[hovered]");t&&t.removeAttribute("hovered");const i=[];e.querySelectorAll("section[data-componentid]").forEach(s=>{const p=this.cloneAndRemoveSelectionAttributes(s);p.removeAttribute("data-componentid"),i.push({html_code:p.outerHTML,title:p.getAttribute("data-component-title")||"Untitled Component"})});const n=this.readCurrentPageSettings()??{classes:"",style:""},a={components:i,pageBuilderContentSavedAt:new Date().toISOString(),pageSettings:n},l=this.getHistoryBaseKey();if(l){const s=localStorage.getItem(l);if(s||localStorage.setItem(l,JSON.stringify(a)),s){const p=JSON.parse(s),d=p.components||[],c=a.components||[],b=c.length!==d.length||c.some((g,x)=>{const u=d[x];return!u||u.html_code!==g.html_code}),m=p.pageSettings&&p.pageSettings.classes!==a.pageSettings.classes||p.pageSettings&&p.pageSettings.style!==a.pageSettings.style;if(b||m){localStorage.setItem(l,JSON.stringify(a));let g=ki.getHistory(l);const x=g[g.length-1];if(x){const u=JSON.stringify(x.components),h=JSON.stringify(a.components),y=JSON.stringify(x.pageSettings),w=JSON.stringify(a.pageSettings);if(u===h&&y===w)return}this.pageBuilderStateStore.getHistoryIndex<g.length-1&&(g=g.slice(0,this.pageBuilderStateStore.getHistoryIndex+1)),g.push(a),g.length>10&&(g=g.slice(g.length-10)),localStorage.setItem(l+"-history",JSON.stringify(g)),this.pageBuilderStateStore.setHistoryIndex(g.length-1),this.pageBuilderStateStore.setHistoryLength(g.length);return}}}}async removeCurrentComponentsFromLocalStorage(){this.updateLocalStorageItemName(),await o.nextTick();const e=this.getLocalStorageItemName.value;e&&localStorage.removeItem(e)}async handleFormSubmission(){const e=this.readCurrentPageSettings();if(e&&(this._lastKnownPageSettings=e),await this.removeCurrentComponentsFromLocalStorage(),this.deleteAllComponentsFromDOM(),this.pageBuilderStateStore.setComponents([]),e){this.updateLocalStorageItemName();const t=this.getLocalStorageItemName.value;if(t){const i={components:[],pageBuilderContentSavedAt:new Date().toISOString(),pageSettings:e};localStorage.setItem(t,JSON.stringify(i))}}}readCurrentPageSettings(){const e=document.querySelector("#pagebuilder");if(e)return{classes:e.className||"",style:e.getAttribute("style")||e.style.cssText||"",meta:rc(e)};const t=document.querySelector("[data-pagebuilder-content]");if(t)return{classes:t.className||"",style:t.getAttribute("style")||t.style.cssText||""};this.updateLocalStorageItemName();const i=this.getLocalStorageItemName.value;if(i)try{const n=localStorage.getItem(i);if(n){const a=JSON.parse(n);if(a!=null&&a.pageSettings)return a.pageSettings}}catch{}return null}applyPageSettingsToPage(e){const t=document.querySelector("#pagebuilder");if(t){e.classes?t.setAttribute("class",e.classes):t.removeAttribute("class");const i=typeof e.style=="string"?e.style:this.convertStyleObjectToString(e.style)||"";i?t.setAttribute("style",i):t.removeAttribute("style"),oc(t,_n(e))}document.querySelectorAll("[data-pagebuilder-content]").forEach(i=>{i.removeAttribute("class"),i.removeAttribute("style")}),(e.classes||e.style||e.meta)&&(this._lastKnownPageSettings=e)}reconnectGlobalStylesObserver(){if(!this.globalStylesObserver)return;const e=document.querySelector("#pagebuilder");e&&(this.globalStylesObserver.disconnect(),this.globalStylesObserver=new MutationObserver(()=>{const t=this.readCurrentPageSettings();t&&(this._lastKnownPageSettings=t)}),this.globalStylesObserver.observe(e,{attributes:!0,attributeFilter:["class","style","data-meta-title","data-meta-description"]}))}async setComponentsPreservingPageSettings(e){var n;const t=this.readCurrentPageSettings()??this._lastKnownPageSettings??null,i=this.globalStylesObserver!==null;(n=this.globalStylesObserver)==null||n.disconnect(),this.pageBuilderStateStore.setComponents(e),await o.nextTick(),await o.nextTick(),t&&(t.classes||t.style)&&this.applyPageSettingsToPage(t),i&&this.reconnectGlobalStylesObserver()}parseStyleString(e){return e.split(";").map(t=>t.trim()).filter(Boolean).reduce((t,i)=>{const[n,a]=i.split(":").map(l=>l.trim());return n&&a&&(t[n]=a),t},{})}deleteOldPageBuilderLocalStorage(){const e=this.pageBuilderStateStore.getPageBuilderConfig;if((e&&e.updateOrCreate&&e.updateOrCreate.formType)==="update"){let i=0;const n=[],a=new Date(Date.now()-336*60*60*1e3);for(let l=0;l<localStorage.length;l++){const s=localStorage.key(l);if(s&&s.startsWith("page-builder-update-resource-"))try{const p=localStorage.getItem(s);if(!p)continue;const c=JSON.parse(p).pageBuilderContentSavedAt;c&&new Date(c)<a&&(i++,n.push({Number:i,Key:s,SavedAt:c}),localStorage.removeItem(s))}catch{}}n.length>0&&(console.info(`Deleted ${n.length} localStorage item(s) older than ${a} days:`),console.table(n))}}startEditing(){this.hasStartedEditing=!0}async refreshListeners(){await o.nextTick(),await this.addListenersToEditableElements()}async resumeEditingFromDraft(){this.updateLocalStorageItemName();const e=this.getSavedPageHtml();e&&(this.pageBuilderStateStore.setIsLoadingResumeEditing(!0),await Re(400),await this.mountComponentsToDOM(e),this.pageBuilderStateStore.setIsLoadingResumeEditing(!1)),await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setIsLoadingResumeEditing(!1)}async restoreOriginalContent(){if(this.updateLocalStorageItemName(),this.pageBuilderStateStore.setIsRestoring(!0),await Re(400),Array.isArray(this.originalComponents)){await this.clearClassesFromPage(),await this.clearInlineStylesFromPage();const e=this.renderComponentsToHtml(this.originalComponents);await this.mountComponentsToDOM(e),this.removeCurrentComponentsFromLocalStorage()}await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.setIsRestoring(!1)}async returnLatestComponents(){return await this.syncDomToStoreOnly(),await o.nextTick(),await this.addListenersToEditableElements(),this.pageBuilderStateStore.getComponents}getStorageItemNameForResource(){return this.getLocalStorageItemName.value}getSavedPageHtml(){if(!this.getLocalStorageItemName.value)return!1;const e=this.getLocalStorageItemName.value;if(!e)return!1;const t=localStorage.getItem(e);if(!t)return!1;const i=JSON.parse(t);if(i&&Array.isArray(i.components)){const n=i.pageSettings&&i.pageSettings.classes||"",a=i.pageSettings&&i.pageSettings.style||"",l=typeof a=="string"?a:this.convertStyleObjectToString(a),s=i.components.map(p=>{const b=new DOMParser().parseFromString(p.html_code,"text/html").querySelector("section");return b?(b.removeAttribute("data-componentid"),b.outerHTML):p.html_code}).join(`
|
|
416
|
+
`);return`<div id="pagebuilder" class="${n}" style="${l}">
|
|
417
|
+
${s}
|
|
418
418
|
</div>`}return!1}async applySelectedImage(e){this.pageBuilderStateStore.setApplyImageToSelection(e),this.getElement.value&&this.getApplyImageToSelection.value&&this.getApplyImageToSelection.value.src&&(await o.nextTick(),this.pageBuilderStateStore.setBasePrimaryImage(`${this.getApplyImageToSelection.value.src}`),await this.handleAutoSave())}setBasePrimaryImageFromSelectedElement(){if(!this.getElement.value)return;const e=document.createElement("div");e.innerHTML=this.getElement.value.outerHTML;const t=e.getElementsByTagName("img"),i=e.getElementsByTagName("div");if(t.length===1&&i.length===0){this.pageBuilderStateStore.setBasePrimaryImage(t[0].src);return}this.pageBuilderStateStore.setBasePrimaryImage(null)}addHyperlinkToElement(e,t,i){if(!this.getElement.value||!(this.getElement.value instanceof HTMLElement)||typeof this.getElement.value.closest!="function")return;const n=this.getElement.value.closest("a"),a=this.getElement.value.querySelector("a");this.pageBuilderStateStore.setHyperlinkError(null);const l=o.ref(!0);if(e===!0&&t!==null&&(l.value=Ld(t)),l.value===!1){this.pageBuilderStateStore.setHyperlinkMessage(null),this.pageBuilderStateStore.setHyperlinkError("URL is not valid");return}if(e===!0&&typeof t=="string"){const s=t.trim();if(a!==null&&s.length!==0){a.href=s,i===!0&&(a.target="_blank"),i===!1&&a.removeAttribute("target"),a.textContent=this.getElement.value.textContent,this.pageBuilderStateStore.setHyperlinkMessage("Succesfully updated element hyperlink"),this.pageBuilderStateStore.setElementContainsHyperlink(!0);return}if(a===null&&s.length!==0&&n===null){const p=document.createElement("a");p.href=s,i===!0&&(p.target="_blank"),p.textContent=this.getElement.value.textContent,this.getElement.value.textContent="",this.getElement.value.appendChild(p),this.pageBuilderStateStore.setHyperlinkMessage("Successfully added hyperlink to element"),this.pageBuilderStateStore.setElementContainsHyperlink(!0);return}}if(e===!1&&t==="removeHyperlink"){const s=this.getElement.value.textContent||"",p=document.createTextNode(s);this.getElement.value.textContent="",this.getElement.value.appendChild(p),this.pageBuilderStateStore.setHyberlinkEnable(!1),this.pageBuilderStateStore.setElementContainsHyperlink(!1)}}checkForHyperlink(){if(!this.getElement.value)return;const e=this.getElement.value.querySelector("a");if(e!==null){this.pageBuilderStateStore.setHyberlinkEnable(!0),this.pageBuilderStateStore.setElementContainsHyperlink(!0),this.pageBuilderStateStore.setHyperlinkInput(e.href),this.pageBuilderStateStore.setHyperlinkMessage(null),this.pageBuilderStateStore.setHyperlinkError(null),e.target==="_blank"&&this.pageBuilderStateStore.setOpenHyperlinkInNewTab(!0),e.target!=="_blank"&&this.pageBuilderStateStore.setOpenHyperlinkInNewTab(!1);return}this.pageBuilderStateStore.setElementContainsHyperlink(!1),this.pageBuilderStateStore.setHyperlinkInput(""),this.pageBuilderStateStore.setHyperlinkError(null),this.pageBuilderStateStore.setHyperlinkMessage(null),this.pageBuilderStateStore.setHyberlinkEnable(!1)}handleHyperlink(e,t,i){var l;if(this.pageBuilderStateStore.setHyperlinkAbility(!0),!this.getElement.value||!(this.getElement.value instanceof HTMLElement)||typeof this.getElement.value.closest!="function")return;this.getElement.value.closest("a")!==null&&this.pageBuilderStateStore.setHyperlinkAbility(!1);const a=(l=this.getElement.value)==null?void 0:l.tagName.toUpperCase();if(a!=="P"&&a!=="H1"&&a!=="H2"&&a!=="H3"&&a!=="H4"&&a!=="H5"&&a!=="H6"&&this.pageBuilderStateStore.setHyperlinkAbility(!1),e===void 0){this.checkForHyperlink();return}this.addHyperlinkToElement(e,t||null,i||!1)}async addTheme(e){e&&(this.validateMountingHTML(e),await this.mountComponentsToDOM(e)),await this.handleAutoSave()}async replaceTheme(e){const t=e==null?void 0:e.trim();!t||this.validateMountingHTML(t,{logError:!0})||(this.deleteAllComponentsFromDOM(),await this.mountComponentsToDOM(t),await this.handleAutoSave())}getPageMeta(){const e=this.readCurrentPageSettings()??this._lastKnownPageSettings;return _n(e)}async setPageMeta(e){const i={...this.getPageMeta(),...e},n=document.querySelector("#pagebuilder");n&&oc(n,i);const a=this.readCurrentPageSettings()??this._lastKnownPageSettings??{classes:"",style:""};this._lastKnownPageSettings=Kpe(a,i),await this.handleAutoSave()}async analyzeSEO(){const e=await this.returnLatestComponents();if(!e||!Array.isArray(e)||e.length===0)return{score:0,checks:[]};const t=e.map(S=>S.html_code).filter(S=>S&&S.trim()!=="").join(`
|
|
419
|
-
`);if(!t)return{score:0,checks:[]};const n=new DOMParser().parseFromString(t,"text/html"),a=[],s=[...n.querySelectorAll("p")].map(S=>{var P;return((P=S.textContent)==null?void 0:P.trim())??""}).join(" ").split(/\s+/).filter(S=>S.length>0).length;a.push({check:"At least 300 words of content",passed:s>=300,details:`Found ${s} words`,category:"Content"});const p=n.querySelectorAll("h2").length;a.push({check:"Has at least one H2",passed:p>0,details:`Found ${p} H2 headings`,category:"Headings"});const d=n.querySelectorAll("h3").length;a.push({check:"Has at least one H3",passed:d>0,details:`Found ${d} H3 headings`,category:"Headings"});const c=n.querySelectorAll("h4").length;a.push({check:"Has at least one H4",passed:c>0,details:`Found ${c} H4 headings`,category:"Headings"});const b=n.querySelectorAll("h5").length;a.push({check:"Has at least one H5",passed:b>0,details:`Found ${b} H5 headings`,category:"Headings"});const m=n.querySelectorAll("h6").length;a.push({check:"Has at least one H6",passed:m>0,details:`Found ${m} H6 headings`,category:"Headings"});const g=[2,3,4,5,6];let x=!0,u="Heading hierarchy is correct";for(let S=1;S<g.length;S++){const P=g[S],v=g[S-1];if(n.querySelectorAll(`h${P}`).length>0&&n.querySelectorAll(`h${v}`).length===0){x=!1,u=`H${P} found but H${v} is missing — heading levels should not be skipped`;break}}a.push({check:"Heading levels are not skipped",passed:x,details:u,category:"Headings"});const h=[...n.querySelectorAll("img")];a.push({check:"Page contains at least one image",passed:h.length>0,details:`Found ${h.length} image(s)`,category:"Media"});const y=h.filter(S=>!S.getAttribute("alt")||S.getAttribute("alt").trim()==="");a.push({check:"All images have alt text",passed:h.length===0||y.length===0,details:h.length===0?"No images found":y.length===0?`All ${h.length} image(s) have alt text`:`${y.length} of ${h.length} image(s) are missing alt text`,category:"Media"});const w=[...n.querySelectorAll("a[href]")].filter(S=>(S.getAttribute("href")||"").trim()!=="");a.push({check:"Page contains at least one link",passed:w.length>0,details:`Found ${w.length} link(s)`,category:"Links"});const f=a.filter(S=>S.passed).length;return{score:Math.round(f/a.length*100),checks:a}}async addComponent(e){var i;const t=this.pageBuilderStateStore.getAddComponentAddIndex??0;try{const n=this.cloneCompObjForDOMInsertion({html_code:e.html_code,id:e.id,title:e.title});let a=t;if(this.getComponentArrayAddMethod.value==="insert"&&typeof t=="number"&&t>=0){const s=this.readCurrentPageSettings()??this._lastKnownPageSettings;(i=this.globalStylesObserver)==null||i.disconnect(),await this.syncDomToStoreOnly(),await o.nextTick();const p=this.pageBuilderStateStore.getComponents||[],d=[...p.slice(0,t),n,...p.slice(t)];this.pageBuilderStateStore.setComponents(d),a=t,await o.nextTick(),await o.nextTick(),s&&(s.classes||s.style)&&this.applyPageSettingsToPage(s),this.globalStylesObserver!==null&&this.reconnectGlobalStylesObserver()}else{const s=this.readCurrentPageSettings()??this._lastKnownPageSettings;this.pageBuilderStateStore.setPushComponents({component:n,componentArrayAddMethod:this.getComponentArrayAddMethod.value?this.getComponentArrayAddMethod.value:"push"}),s&&(s.classes||s.style)&&(await o.nextTick(),await o.nextTick(),this.applyPageSettingsToPage(s))}const l=document.querySelector("#page-builder-wrapper");if(l&&(this.getComponentArrayAddMethod.value==="push"&&l.scrollTo({top:l.scrollHeight+50,behavior:"smooth"}),this.getComponentArrayAddMethod.value==="insert"&&typeof a=="number")){this.saveDomComponentsToLocalStorage(),await o.nextTick(),await o.nextTick();const s=l.querySelectorAll("section[data-componentid]");if(s.length>0){const p=Math.max(0,Math.min(a,s.length-1)),d=s[p];d&&d.scrollIntoView({behavior:"smooth",block:"center"})}}await o.nextTick(),await this.addListenersToEditableElements(),await this.handleAutoSave()}catch(n){console.error("Error adding component:",n)}finally{this.pageBuilderStateStore.setAddComponentAddIndex(null)}}async insertProductHtml(e,t="Products"){await this.addComponent({id:null,title:t,html_code:e})}async insertProducts(e,t={}){if(!e.length)return;t.method&&this.pageBuilderStateStore.setComponentArrayAddMethod(t.method);const i=t.sectionTitle??"Products",n=Lz(e,t.layout??"grid-3",i,{cardStyle:t.cardStyle,roundedImages:t.roundedImages,openInNewTab:t.openInNewTab,buttonStyle:t.buttonStyle,roundedButtons:t.roundedButtons,hidePrice:t.hidePrice,hideImage:t.hideImage,hideButton:t.hideButton,mobileColumns:t.mobileColumns});await this.insertProductHtml(n,i)}addTailwindPrefixToClasses(e,t="pbx-"){return e.split(/\s+/).map(i=>{if(!i||i.startsWith(t))return i;const n=i.split(":"),a=n.pop();return a.startsWith(t)?i:[...n,t+a].join(":")}).join(" ")}convertStyleObjectToString(e){return e?typeof e=="string"?e:Object.entries(e).map(([t,i])=>`${t.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${i};`).join(" "):""}parsePageBuilderHTML(e){const i=new DOMParser().parseFromString(e,"text/html");i.querySelectorAll("[class]").forEach(d=>{const c=d.getAttribute("class")||"",b=this.addTailwindPrefixToClasses(c);d.setAttribute("class",b)});const n=i.querySelector("#pagebuilder");let a={classes:"",style:{}};if(n){const d=n.getAttribute("style")||"";a={classes:n.className||"",style:this.parseStyleString(d),meta:rc(n)}}let l=i.querySelectorAll("section");n&&(l=n.querySelectorAll("section"));const s=Array.from(l).filter(d=>!d.parentElement||d.parentElement.tagName.toLowerCase()!=="section");let p=[];if(s.length>0&&(p=s.map(d=>({id:null,html_code:d.outerHTML.trim(),title:d.getAttribute("data-component-title")||"Untitled Component"}))),s.length===0){const d=n||i.body,c=Array.from(d.children);if(c.length>0&&(p=c.map(b=>{const m=i.createElement("section");return m.setAttribute("data-component-title","Untitled Component"),m.innerHTML=b.outerHTML.trim(),{id:null,html_code:m.outerHTML.trim(),title:"Untitled Component"}})),c.length===0){const b=i.createElement("section");b.setAttribute("data-component-title","Untitled Component"),b.innerHTML=d.innerHTML.trim(),p=[{id:null,html_code:b.outerHTML.trim(),title:"Untitled Component"}]}}return{components:p,pageSettings:a}}async applyModifiedHTML(e){if(!e||typeof e=="string"&&e.length===0)return this.translate("No HTML content was provided. Please ensure a valid HTML string is passed.");if(/<section[\s>]/i.test(e))return this.translate("Error: The <section> tag cannot be used as it is already included inside this component.");const t=document.createElement("div");t.innerHTML=e.trim();const i=t.firstElementChild;if(!i)return this.translate("Could not parse element from HTML string.");const n=this.pageBuilderStateStore.getElement;return n&&n.parentElement&&(n.replaceWith(i),this.pageBuilderStateStore.setElement(i)),await this.addListenersToEditableElements(),await o.nextTick(),null}validateMountingHTML(e,t){const i=e.trim(),n=e.match(/<section\b[^>]*>/gi)||[],a=e.match(/<\/section>/gi)||[];if(!e||e.trim().length===0){const p=this.translate("No HTML content was provided. Please ensure a valid HTML string is passed.");return t&&t.logError&&console.error(p),p}if(n.length!==a.length){const p=this.translate("Uneven <section> tags detected in the provided HTML. Each component must be wrapped in its own properly paired <section>...</section>. Ensure that all <section> tags have a matching closing </section> tag.");return t&&t.logError&&console.error(p),p}const l=document.createElement("div");if(l.innerHTML=i,l.querySelector("section section")){const p=this.translate("Nested <section> tags are not allowed. Please ensure that no <section> is placed inside another <section>.");return t&&t.logError&&console.error(p),p}if(i.startsWith("[")||i.startsWith("{")){const p=this.translate("Brackets [] or curly braces {} are not valid HTML. They are used for data formats like JSON.");return t&&t.logError&&console.error(p),p}return null}async applyModifiedComponents(e){const t=e.trim();if((e.match(/<section\b[^>]*>/gi)||[]).length===0){const a=this.translate("No <section> tags found. Each component must be wrapped in a <section> tag.");if(a)return a}const n=this.validateMountingHTML(t);return n||(await this.mountComponentsToDOM(t),await this.addListenersToEditableElements(),await o.nextTick(),null)}async mountComponentsToDOM(e,t,i){var l,s;const n=e.trim();if(!this.validateMountingHTML(n,{logError:!0}))try{const d=new DOMParser().parseFromString(e,"text/html"),c=d.querySelector("#pagebuilder");let b=null;const m=this.readCurrentPageSettings();t&&(b=((l=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:l.pageSettings)||m),!i&&!b&&c&&(b={classes:c.className||"",style:this.parseStyleString(c.getAttribute("style")||""),meta:rc(c)}),b||(b=((s=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:s.pageSettings)||null),!i&&b&&(this._pendingPageSettings=b),i&&(this._pendingPageSettings=i);const g=d.querySelectorAll("section"),x=[];if(g.forEach(u=>{u.querySelectorAll("[class]").forEach(f=>{f.setAttribute("class",this.addTailwindPrefixToClasses(f.getAttribute("class")||"","pbx-"))});const h=u;h.hasAttribute("data-componentid")||h.setAttribute("data-componentid",Bz());const y=h.getAttribute("data-componentid"),w=h.getAttribute("data-component-title")||"Untitled Component";h.setAttribute("data-component-title",w),x.push({html_code:h.outerHTML,id:y,title:w})}),this.pageBuilderStateStore.setComponents(x),await this.clearHtmlSelection(),await o.nextTick(),this._pendingPageSettings){const u=this._pendingPageSettings;this._pendingPageSettings=null;const h=document.querySelector("#pagebuilder"),y={classes:u.classes||"",style:this.convertStyleObjectToString(u.style)||"",meta:_n(u)};h?this.applyPageSettingsToPage(y):this._lastKnownPageSettings=y}await this.addListenersToEditableElements()}catch(p){console.error("Error parsing HTML components:",p),this.deleteAllComponentsFromDOM(),await this.clearHtmlSelection(),await o.nextTick(),await this.addListenersToEditableElements()}}updateLocalStorageItemName(){const e=this.pageBuilderStateStore.getPageBuilderConfig&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate.formType,t=this.pageBuilderStateStore.getPageBuilderConfig&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate.formName,i=this.pageBuilderStateStore.getPageBuilderConfig&&this.pageBuilderStateStore.getPageBuilderConfig.resourceData;if(e==="create"){if(t&&t.length>0){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-create-resource-${this.sanitizeForLocalStorage(t)}`);return}this.pageBuilderStateStore.setLocalStorageItemName("page-builder-create-resource");return}if(e==="update"){if(typeof t=="string"&&t.length>0){if(i&&i!=null&&!i.title&&(!i.id||typeof i.id=="string")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(t)}`);return}if(i&&i!=null&&i.title&&typeof i.title=="string"&&i.title.length>0&&(!i.id||typeof i.id=="string")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(t)}-${this.sanitizeForLocalStorage(i.title)}`);return}if(i&&i!=null&&!i.title&&typeof i.title!="string"&&(i.id||typeof i.id=="number")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(t)}-${this.sanitizeForLocalStorage(String(i.id))}`);return}if(i&&i!=null&&i.title&&typeof i.title=="string"&&i.title.length>0&&(i.id||typeof i.id=="number")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(t)}-${this.sanitizeForLocalStorage(i.title)}-${this.sanitizeForLocalStorage(String(i.id))}`);return}}if(!t||typeof t=="string"&&t.length===0){if(i&&i!=null&&!i.title&&(!i.id||typeof i.id=="string")){this.pageBuilderStateStore.setLocalStorageItemName("page-builder-update-resource");return}if(i&&i!=null&&i.title&&typeof i.title=="string"&&i.title.length>0&&(!i.id||typeof i.id=="string")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(i.title)}`);return}if(i&&i!=null&&!i.title&&typeof i.title!="string"&&(i.id||typeof i.id=="number")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(String(i.id))}`);return}if(i&&i!=null&&i.title&&typeof i.title=="string"&&i.title.length>0&&(i.id||typeof i.id=="number")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(i.title)}-${this.sanitizeForLocalStorage(String(i.id))}`);return}}}}async initializeElementStyles(){await o.nextTick(),this.setBasePrimaryImageFromSelectedElement(),this.handleHyperlink(void 0,null,!1),this.handleOpacity(void 0),this.handleBackgroundOpacity(void 0),this.handleBackgroundColor(void 0),this.handleTextColor(void 0),this.handleBorderStyle(void 0),this.handleBorderWidth(void 0),this.handleBorderColor(void 0),this.handleBorderRadiusGlobal(void 0),this.handleBorderRadiusTopLeft(void 0),this.handleBorderRadiusTopRight(void 0),this.handleBorderRadiusBottomleft(void 0),this.handleBorderRadiusBottomRight(void 0),this.handleFontSizeBase(void 0),this.handleFontSizeDesktop(void 0),this.handleFontSizeTablet(void 0),this.handleFontSizeMobile(void 0),this.handleFontWeight(void 0),this.handleFontFamily(void 0),this.handleFontStyle(void 0),this.handleVerticalPadding(void 0),this.handleHorizontalPadding(void 0),this.handleTopPadding(void 0),this.handleRightPadding(void 0),this.handleBottomPadding(void 0),this.handleLeftPadding(void 0),this.handleVerticalMargin(void 0),this.handleHorizontalMargin(void 0),this.handleTopMargin(void 0),this.handleRightMargin(void 0),this.handleBottomMargin(void 0),this.handleLeftMargin(void 0),this.isSelectedElementImage()&&(this.handleImageObjectFit(void 0),this.handleImageObjectPosition(void 0),this.handleImageAspectRatio(void 0)),await this.syncCurrentClasses(),await this.syncCurrentStyles()}}const Qpe={install:r=>{const e=ve,t=new Nz(e);EU(t),r.config.globalProperties.$pageBuilder=t}};Ee.PageBuilder=Rpe,Ee.PageBuilderPreview=fs,Ee.PageBuilderService=Nz,Ee.buildProductSectionHtml=Lz,Ee.buildStorageKey=Od,Ee.createPinia=U_,Ee.getPageBuilder=Se,Ee.pageBuilder=Qpe,Ee.resetThemeColorPresets=hG,Ee.sharedPageBuilderPinia=kd,Ee.sharedPageBuilderStore=ve,Ee.usePageBuilderModal=Wd,Ee.usePageBuilderStateStore=X_,Object.defineProperty(Ee,Symbol.toStringTag,{value:"Module"})}));
|
|
419
|
+
`);if(!t)return{score:0,checks:[]};const n=new DOMParser().parseFromString(t,"text/html"),a=[],s=[...n.querySelectorAll("p")].map(S=>{var P;return((P=S.textContent)==null?void 0:P.trim())??""}).join(" ").split(/\s+/).filter(S=>S.length>0).length;a.push({check:"At least 300 words of content",passed:s>=300,details:`Found ${s} words`,category:"Content"});const p=n.querySelectorAll("h2").length;a.push({check:"Has at least one H2",passed:p>0,details:`Found ${p} H2 headings`,category:"Headings"});const d=n.querySelectorAll("h3").length;a.push({check:"Has at least one H3",passed:d>0,details:`Found ${d} H3 headings`,category:"Headings"});const c=n.querySelectorAll("h4").length;a.push({check:"Has at least one H4",passed:c>0,details:`Found ${c} H4 headings`,category:"Headings"});const b=n.querySelectorAll("h5").length;a.push({check:"Has at least one H5",passed:b>0,details:`Found ${b} H5 headings`,category:"Headings"});const m=n.querySelectorAll("h6").length;a.push({check:"Has at least one H6",passed:m>0,details:`Found ${m} H6 headings`,category:"Headings"});const g=[2,3,4,5,6];let x=!0,u="Heading hierarchy is correct";for(let S=1;S<g.length;S++){const P=g[S],v=g[S-1];if(n.querySelectorAll(`h${P}`).length>0&&n.querySelectorAll(`h${v}`).length===0){x=!1,u=`H${P} found but H${v} is missing — heading levels should not be skipped`;break}}a.push({check:"Heading levels are not skipped",passed:x,details:u,category:"Headings"});const h=[...n.querySelectorAll("img")];a.push({check:"Page contains at least one image",passed:h.length>0,details:`Found ${h.length} image(s)`,category:"Media"});const y=h.filter(S=>!S.getAttribute("alt")||S.getAttribute("alt").trim()==="");a.push({check:"All images have alt text",passed:h.length===0||y.length===0,details:h.length===0?"No images found":y.length===0?`All ${h.length} image(s) have alt text`:`${y.length} of ${h.length} image(s) are missing alt text`,category:"Media"});const w=[...n.querySelectorAll("a[href]")].filter(S=>(S.getAttribute("href")||"").trim()!=="");a.push({check:"Page contains at least one link",passed:w.length>0,details:`Found ${w.length} link(s)`,category:"Links"});const f=a.filter(S=>S.passed).length;return{score:Math.round(f/a.length*100),checks:a}}async addComponent(e){var i;const t=this.pageBuilderStateStore.getAddComponentAddIndex??0;try{const n=this.cloneCompObjForDOMInsertion({html_code:e.html_code,id:e.id,title:e.title});let a=t;if(this.getComponentArrayAddMethod.value==="insert"&&typeof t=="number"&&t>=0){const s=this.readCurrentPageSettings()??this._lastKnownPageSettings;(i=this.globalStylesObserver)==null||i.disconnect(),await this.syncDomToStoreOnly(),await o.nextTick();const p=this.pageBuilderStateStore.getComponents||[],d=[...p.slice(0,t),n,...p.slice(t)];this.pageBuilderStateStore.setComponents(d),a=t,await o.nextTick(),await o.nextTick(),s&&(s.classes||s.style)&&this.applyPageSettingsToPage(s),this.globalStylesObserver!==null&&this.reconnectGlobalStylesObserver()}else{const s=this.readCurrentPageSettings()??this._lastKnownPageSettings;this.pageBuilderStateStore.setPushComponents({component:n,componentArrayAddMethod:this.getComponentArrayAddMethod.value?this.getComponentArrayAddMethod.value:"push"}),s&&(s.classes||s.style)&&(await o.nextTick(),await o.nextTick(),this.applyPageSettingsToPage(s))}const l=document.querySelector("#page-builder-wrapper");if(l&&(this.getComponentArrayAddMethod.value==="push"&&l.scrollTo({top:l.scrollHeight+50,behavior:"smooth"}),this.getComponentArrayAddMethod.value==="insert"&&typeof a=="number")){this.saveDomComponentsToLocalStorage(),await o.nextTick(),await o.nextTick();const s=l.querySelectorAll("section[data-componentid]");if(s.length>0){const p=Math.max(0,Math.min(a,s.length-1)),d=s[p];d&&d.scrollIntoView({behavior:"smooth",block:"center"})}}await o.nextTick(),await this.addListenersToEditableElements(),await this.handleAutoSave()}catch(n){console.error("Error adding component:",n)}finally{this.pageBuilderStateStore.setAddComponentAddIndex(null)}}async insertProductHtml(e,t="Products"){await this.addComponent({id:null,title:t,html_code:e})}async insertProducts(e,t={}){if(!e.length)return;t.method&&this.pageBuilderStateStore.setComponentArrayAddMethod(t.method);const i=t.sectionTitle??"Products",n=Lz(e,t.layout??"grid-3",i,{cardStyle:t.cardStyle,roundedImages:t.roundedImages,openInNewTab:t.openInNewTab,buttonStyle:t.buttonStyle,roundedButtons:t.roundedButtons,hidePrice:t.hidePrice,hideImage:t.hideImage,hideButton:t.hideButton,mobileColumns:t.mobileColumns});await this.insertProductHtml(n,i)}addTailwindPrefixToClasses(e,t="pbx-"){return e.split(/\s+/).map(i=>{if(!i||i.startsWith(t))return i;const n=i.split(":"),a=n.pop();return a.startsWith(t)?i:[...n,t+a].join(":")}).join(" ")}convertStyleObjectToString(e){return e?typeof e=="string"?e:Object.entries(e).map(([t,i])=>`${t.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${i};`).join(" "):""}hasMeaningfulPageSettings(e){if(!e)return!1;const t=(e.classes||"").trim(),i=typeof e.style=="string"?e.style.trim():this.convertStyleObjectToString(e.style).trim(),n=!!(e.meta&&((e.meta.title||"").trim()||(e.meta.description||"").trim()));return t.length>0||i.length>0||n}parsePageBuilderHTML(e){const i=new DOMParser().parseFromString(e,"text/html");i.querySelectorAll("[class]").forEach(d=>{const c=d.getAttribute("class")||"",b=this.addTailwindPrefixToClasses(c);d.setAttribute("class",b)});const n=i.querySelector("#pagebuilder");let a={classes:"",style:{}};if(n){const d=n.getAttribute("style")||"";a={classes:n.className||"",style:this.parseStyleString(d),meta:rc(n)}}let l=i.querySelectorAll("section");n&&(l=n.querySelectorAll("section"));const s=Array.from(l).filter(d=>!d.parentElement||d.parentElement.tagName.toLowerCase()!=="section");let p=[];if(s.length>0&&(p=s.map(d=>({id:null,html_code:d.outerHTML.trim(),title:d.getAttribute("data-component-title")||"Untitled Component"}))),s.length===0){const d=n||i.body,c=Array.from(d.children);if(c.length>0&&(p=c.map(b=>{const m=i.createElement("section");return m.setAttribute("data-component-title","Untitled Component"),m.innerHTML=b.outerHTML.trim(),{id:null,html_code:m.outerHTML.trim(),title:"Untitled Component"}})),c.length===0){const b=i.createElement("section");b.setAttribute("data-component-title","Untitled Component"),b.innerHTML=d.innerHTML.trim(),p=[{id:null,html_code:b.outerHTML.trim(),title:"Untitled Component"}]}}return{components:p,pageSettings:a}}async applyModifiedHTML(e){if(!e||typeof e=="string"&&e.length===0)return this.translate("No HTML content was provided. Please ensure a valid HTML string is passed.");if(/<section[\s>]/i.test(e))return this.translate("Error: The <section> tag cannot be used as it is already included inside this component.");const t=document.createElement("div");t.innerHTML=e.trim();const i=t.firstElementChild;if(!i)return this.translate("Could not parse element from HTML string.");const n=this.pageBuilderStateStore.getElement;return n&&n.parentElement&&(n.replaceWith(i),this.pageBuilderStateStore.setElement(i)),await this.addListenersToEditableElements(),await o.nextTick(),null}validateMountingHTML(e,t){const i=e.trim(),n=e.match(/<section\b[^>]*>/gi)||[],a=e.match(/<\/section>/gi)||[];if(!e||e.trim().length===0){const p=this.translate("No HTML content was provided. Please ensure a valid HTML string is passed.");return t&&t.logError&&console.error(p),p}if(n.length!==a.length){const p=this.translate("Uneven <section> tags detected in the provided HTML. Each component must be wrapped in its own properly paired <section>...</section>. Ensure that all <section> tags have a matching closing </section> tag.");return t&&t.logError&&console.error(p),p}const l=document.createElement("div");if(l.innerHTML=i,l.querySelector("section section")){const p=this.translate("Nested <section> tags are not allowed. Please ensure that no <section> is placed inside another <section>.");return t&&t.logError&&console.error(p),p}if(i.startsWith("[")||i.startsWith("{")){const p=this.translate("Brackets [] or curly braces {} are not valid HTML. They are used for data formats like JSON.");return t&&t.logError&&console.error(p),p}return null}async applyModifiedComponents(e){const t=e.trim();if((e.match(/<section\b[^>]*>/gi)||[]).length===0){const a=this.translate("No <section> tags found. Each component must be wrapped in a <section> tag.");if(a)return a}const n=this.validateMountingHTML(t);return n||(await this.mountComponentsToDOM(t),await this.addListenersToEditableElements(),await o.nextTick(),null)}async mountComponentsToDOM(e,t,i){var l,s;const n=e.trim();if(!this.validateMountingHTML(n,{logError:!0}))try{const d=new DOMParser().parseFromString(e,"text/html"),c=d.querySelector("#pagebuilder");let b=null;const m=this.readCurrentPageSettings();if(t){const u=((l=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:l.pageSettings)??null,h=m,y=this._lastKnownPageSettings;b=this.hasMeaningfulPageSettings(u)?u:this.hasMeaningfulPageSettings(h)?h:this.hasMeaningfulPageSettings(y)?y:null}if(!b&&this.hasMeaningfulPageSettings(m)&&(b=m),!i&&!b&&c&&(b={classes:c.className||"",style:this.parseStyleString(c.getAttribute("style")||""),meta:rc(c)}),!b){const u=((s=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:s.pageSettings)??null,h=this._lastKnownPageSettings;b=this.hasMeaningfulPageSettings(u)?u:this.hasMeaningfulPageSettings(h)?h:null}!i&&b&&(this._pendingPageSettings=b),i&&(this._pendingPageSettings=i);const g=d.querySelectorAll("section"),x=[];if(g.forEach(u=>{u.querySelectorAll("[class]").forEach(f=>{f.setAttribute("class",this.addTailwindPrefixToClasses(f.getAttribute("class")||"","pbx-"))});const h=u;h.hasAttribute("data-componentid")||h.setAttribute("data-componentid",Bz());const y=h.getAttribute("data-componentid"),w=h.getAttribute("data-component-title")||"Untitled Component";h.setAttribute("data-component-title",w),x.push({html_code:h.outerHTML,id:y,title:w})}),this.pageBuilderStateStore.setComponents(x),await this.clearHtmlSelection(),await o.nextTick(),this._pendingPageSettings){const u=this._pendingPageSettings;this._pendingPageSettings=null;const h=document.querySelector("#pagebuilder"),y={classes:u.classes||"",style:this.convertStyleObjectToString(u.style)||"",meta:_n(u)};h?this.applyPageSettingsToPage(y):this._lastKnownPageSettings=y}await this.addListenersToEditableElements()}catch(p){console.error("Error parsing HTML components:",p),this.deleteAllComponentsFromDOM(),await this.clearHtmlSelection(),await o.nextTick(),await this.addListenersToEditableElements()}}updateLocalStorageItemName(){const e=this.pageBuilderStateStore.getPageBuilderConfig&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate.formType,t=this.pageBuilderStateStore.getPageBuilderConfig&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate&&this.pageBuilderStateStore.getPageBuilderConfig.updateOrCreate.formName,i=this.pageBuilderStateStore.getPageBuilderConfig&&this.pageBuilderStateStore.getPageBuilderConfig.resourceData;if(e==="create"){if(t&&t.length>0){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-create-resource-${this.sanitizeForLocalStorage(t)}`);return}this.pageBuilderStateStore.setLocalStorageItemName("page-builder-create-resource");return}if(e==="update"){if(typeof t=="string"&&t.length>0){if(i&&i!=null&&!i.title&&(!i.id||typeof i.id=="string")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(t)}`);return}if(i&&i!=null&&i.title&&typeof i.title=="string"&&i.title.length>0&&(!i.id||typeof i.id=="string")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(t)}-${this.sanitizeForLocalStorage(i.title)}`);return}if(i&&i!=null&&!i.title&&typeof i.title!="string"&&(i.id||typeof i.id=="number")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(t)}-${this.sanitizeForLocalStorage(String(i.id))}`);return}if(i&&i!=null&&i.title&&typeof i.title=="string"&&i.title.length>0&&(i.id||typeof i.id=="number")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(t)}-${this.sanitizeForLocalStorage(i.title)}-${this.sanitizeForLocalStorage(String(i.id))}`);return}}if(!t||typeof t=="string"&&t.length===0){if(i&&i!=null&&!i.title&&(!i.id||typeof i.id=="string")){this.pageBuilderStateStore.setLocalStorageItemName("page-builder-update-resource");return}if(i&&i!=null&&i.title&&typeof i.title=="string"&&i.title.length>0&&(!i.id||typeof i.id=="string")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(i.title)}`);return}if(i&&i!=null&&!i.title&&typeof i.title!="string"&&(i.id||typeof i.id=="number")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(String(i.id))}`);return}if(i&&i!=null&&i.title&&typeof i.title=="string"&&i.title.length>0&&(i.id||typeof i.id=="number")){this.pageBuilderStateStore.setLocalStorageItemName(`page-builder-update-resource-${this.sanitizeForLocalStorage(i.title)}-${this.sanitizeForLocalStorage(String(i.id))}`);return}}}}async initializeElementStyles(){await o.nextTick(),this.setBasePrimaryImageFromSelectedElement(),this.handleHyperlink(void 0,null,!1),this.handleOpacity(void 0),this.handleBackgroundOpacity(void 0),this.handleBackgroundColor(void 0),this.handleTextColor(void 0),this.handleBorderStyle(void 0),this.handleBorderWidth(void 0),this.handleBorderColor(void 0),this.handleBorderRadiusGlobal(void 0),this.handleBorderRadiusTopLeft(void 0),this.handleBorderRadiusTopRight(void 0),this.handleBorderRadiusBottomleft(void 0),this.handleBorderRadiusBottomRight(void 0),this.handleFontSizeBase(void 0),this.handleFontSizeDesktop(void 0),this.handleFontSizeTablet(void 0),this.handleFontSizeMobile(void 0),this.handleFontWeight(void 0),this.handleFontFamily(void 0),this.handleFontStyle(void 0),this.handleVerticalPadding(void 0),this.handleHorizontalPadding(void 0),this.handleTopPadding(void 0),this.handleRightPadding(void 0),this.handleBottomPadding(void 0),this.handleLeftPadding(void 0),this.handleVerticalMargin(void 0),this.handleHorizontalMargin(void 0),this.handleTopMargin(void 0),this.handleRightMargin(void 0),this.handleBottomMargin(void 0),this.handleLeftMargin(void 0),this.isSelectedElementImage()&&(this.handleImageObjectFit(void 0),this.handleImageObjectPosition(void 0),this.handleImageAspectRatio(void 0)),await this.syncCurrentClasses(),await this.syncCurrentStyles()}}const Qpe={install:r=>{const e=ve,t=new Nz(e);EU(t),r.config.globalProperties.$pageBuilder=t}};Ee.PageBuilder=Rpe,Ee.PageBuilderPreview=fs,Ee.PageBuilderService=Nz,Ee.buildProductSectionHtml=Lz,Ee.buildStorageKey=Od,Ee.createPinia=U_,Ee.getPageBuilder=Se,Ee.pageBuilder=Qpe,Ee.resetThemeColorPresets=hG,Ee.sharedPageBuilderPinia=kd,Ee.sharedPageBuilderStore=ve,Ee.usePageBuilderModal=Wd,Ee.usePageBuilderStateStore=X_,Object.defineProperty(Ee,Symbol.toStringTag,{value:"Module"})}));
|