@myissue/vue-website-page-builder 3.5.57 → 3.5.58

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.
@@ -363,7 +363,7 @@ This will fail in production.`);s=In,s._s.has(i)||(a?Od(i,e,n,s):gD(i,n,s),proce
363
363
  `;return}n+=m+aee(p)+`
364
364
  `,!c&&!Mz(p,!0)&&i++}),n.trimEnd()}function Re(r=200){return new Promise(e=>{setTimeout(e,r)})}const fs=o.ref(!1),Bz=o.ref(""),ys=o.ref(""),uc=o.ref("element"),Pi=o.ref(!1),Wn=o.ref(null);function ws(){function r(i,n,a="element"){Bz.value=i,ys.value=nee(n),uc.value=a,Wn.value=null,Pi.value=!1,fs.value=!0}function e(){fs.value=!1,Wn.value=null,Pi.value=!1}async function t(){const i=ke(),{showToast:n}=Ye(),{translate:a}=ae();Pi.value=!0,Wn.value=null,await Re(300);const l=uc.value==="page"?await i.applyModifiedComponents(ys.value):await i.applyModifiedHTML(ys.value);if(l){Wn.value=l,n(l,"error"),Pi.value=!1;return}n(a("HTML updated successfully"),"success"),fs.value=!1,Pi.value=!1}return{show:fs,title:Bz,html:ys,mode:uc,isLoading:Pi,error:Wn,openHtmlEditor:r,closeHtmlEditor:e,saveHtmlEditor:t}}const see={class:"pbx-editorSectionDesc"},pee={class:"pbx-inspectorActionStack"},dee=o.defineComponent({name:"ElementHtmlEditorSettingsEditor",__name:"ElementHtmlEditorSettingsEditor",setup(r){const{translate:e}=ae(),t=we,{openHtmlViewer:i}=hs(),{openHtmlEditor:n}=ws(),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",see,o.toDisplayString(o.unref(e)("Element HTML editor description")),1),o.createElementVNode("div",pee,[o.createVNode(rr,{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(rr,{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 cee(r){return new Promise((e,t)=>{const i=new window.Image;i.onload=e,i.onerror=t,i.src=r})}const mee={class:"pbx-editorFieldGroup"},bee={class:"pbx-editorFieldGroup"},gee=["src"],uee={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"},xee={class:"pbx-editorSectionDesc pbx-mb-0"},hee=o.defineComponent({__name:"ImageEditor",setup(r){const{translate:e}=ae(),t=we,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),m=o.ref(null),b=o.ref(null),g=o.computed(()=>(t.getBasePrimaryImage&&y(t.getBasePrimaryImage),t.getBasePrimaryImage));function u(w){return w?w.tagName==="IMG"?!0:!!t.getBasePrimaryImage:!1}function x(w){var f;u(w)&&((f=n.value)==null||f.open())}o.watch(()=>t.getElement,w=>{x(w)},{immediate:!0,flush:"post"}),o.watch(()=>t.getBasePrimaryImage,()=>{x(t.getElement)}),o.onMounted(()=>{o.nextTick(()=>{x(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"),b.value=function(){l.value=!1}},y=async function(w){a.value=!0,w&&typeof w=="string"&&w.length>2&&(await cee(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",mee,[...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",bee,[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,gee)],512),[[o.vShow,g.value&&!a.value]]),o.withDirectives(o.createElementVNode("div",uee,[o.createElementVNode("p",xee,o.toDisplayString(o.unref(e)("No image has been selected.")),1)],512),[[o.vShow,!a.value&&!g.value]])]),_:1},512),o.createVNode(zD,{open:l.value,title:s.value,description:p.value,firstButtonText:d.value,secondButtonText:c.value??void 0,thirdButtonText:m.value??void 0,customMediaComponent:o.unref(i)??void 0,onFirstMediaButtonFunction:f[0]||(f[0]=()=>{var T;return(T=b.value)==null?void 0:T.call(b)})},null,8,["open","title","description","firstButtonText","secondButtonText","thirdButtonText","customMediaComponent"])],64))}}),vs={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"]},fee={class:"pbx-editorFieldGroup"},yee={class:"pbx-relative"},wee={class:"pbx-flex pbx-items-center pbx-gap-2"},vee={key:0},kee={class:"pbx-flex pbx-items-center"},See={key:0},Cee={key:2,class:"pbx-ml-3"},Tee={key:3,class:"pbx-ml-3"},Eee=o.defineComponent({__name:"BackgroundOpacityControl",setup(r){const e=ke(),{translate:t}=ae(),i=we,n=o.ref(null),a=o.computed(()=>i.getBackgroundOpacity);return o.watch(a,l=>{n.value=l},{immediate:!0}),(l,s)=>(o.openBlock(),o.createElementBlock("div",fee,[o.createVNode(o.unref(Fn),{as:"div",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=p=>n.value=p)},{default:o.withCtx(()=>[o.createElementVNode("div",yee,[o.createVNode(o.unref(jn),{class:"pbx-myPrimarySelect",id:"bg-opacity"},{default:o.withCtx(()=>[o.createElementVNode("span",wee,[n.value==="none"?(o.openBlock(),o.createElementBlock("div",vee,[...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(qn),{class:"pbx-absolute pbx-z-10 pbx-mt-1 pbx-max-h-72 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(vs).backgroundOpacities,p=>(o.openBlock(),o.createBlock(o.unref(Vr),{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",kee,[p==="none"?(o.openBlock(),o.createElementBlock("div",See,[...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",Cee,o.toDisplayString(o.unref(t)("Transparent")),1)):o.createCommentVNode("",!0),p!=="none"?(o.openBlock(),o.createElementBlock("span",Tee,o.toDisplayString(p),1)):o.createCommentVNode("",!0)])],2)]),_:2},1032,["onClick","value"]))),128))]),_:1})]),_:1})])]),_:1},8,["modelValue"])]))}}),Pee={class:"pbx-editorFieldGroup"},Mee={class:"pbx-relative"},Bee={class:"pbx-flex pbx-items-center pbx-gap-2"},Lee={key:0},Nee={class:"pbx-flex pbx-items-center"},Aee={key:0},_ee={key:2,class:"pbx-ml-3"},Dee={key:3,class:"pbx-ml-3"},zee=o.defineComponent({__name:"OpacityControl",setup(r){const e=ke(),{translate:t}=ae(),i=we,n=o.ref(null),a=o.computed(()=>i.getOpacity);return o.watch(a,l=>{n.value=l},{immediate:!0}),(l,s)=>(o.openBlock(),o.createElementBlock("div",Pee,[o.createVNode(o.unref(Fn),{as:"div",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=p=>n.value=p)},{default:o.withCtx(()=>[o.createElementVNode("div",Mee,[o.createVNode(o.unref(jn),{class:"pbx-myPrimarySelect",id:"default-opacity"},{default:o.withCtx(()=>[o.createElementVNode("span",Bee,[n.value==="none"?(o.openBlock(),o.createElementBlock("div",Lee,[...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(qn),{class:"pbx-absolute pbx-z-10 pbx-mt-1 pbx-max-h-72 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(vs).opacities,p=>(o.openBlock(),o.createBlock(o.unref(Vr),{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",Nee,[p==="none"?(o.openBlock(),o.createElementBlock("div",Aee,[...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",_ee,o.toDisplayString(o.unref(t)("Transparent")),1)):o.createCommentVNode("",!0),p!=="none"?(o.openBlock(),o.createElementBlock("span",Dee,o.toDisplayString(p),1)):o.createCommentVNode("",!0)])],2)]),_:2},1032,["onClick","value"]))),128))]),_:1})]),_:1})])]),_:1},8,["modelValue"])]))}}),Iee={class:"pbx-editorSectionTitle"},Vee={class:"pbx-editorSectionTitle"},Hee=o.defineComponent({__name:"OpacityEditor",setup(r){const{translate:e}=ae();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",Iee,o.toDisplayString(o.unref(e)("Opacity")),1),o.createVNode(zee),i[0]||(i[0]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("p",Vee,o.toDisplayString(o.unref(e)("Background Opacity")),1),o.createVNode(Eee)]),_:1}))}}),Ree={key:0,class:"pbx-text-[9px] pbx-font-medium pbx-uppercase pbx-tracking-wide pbx-text-gray-400 pbx-leading-none"},Mi=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",Ree,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))}}),me={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"]},Oee={class:"pbx-editorSectionTitle"},Fee={class:"pbx-editorSectionDesc"},jee={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"},qee={class:"pbx-flex pbx-items-center pbx-justify-between pbx-gap-3"},Uee={class:"pbx-text-xs pbx-font-medium pbx-text-gray-500"},Wee={class:"pbx-flex pbx-items-center pbx-justify-between pbx-gap-3"},Gee={class:"pbx-text-xs pbx-font-medium pbx-text-gray-500"},Kee={class:"pbx-editorSectionTitle"},Jee={class:"pbx-flex pbx-flex-col pbx-items-center pbx-justify-center"},Yee={class:"pbx-mb-3 pbx-flex pbx-justify-center"},Qee={class:"pbx-items-center pbx-gap-2",style:{display:"grid","grid-template-columns":"auto 1fr auto"}},Xee={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"},Zee={class:"pbx-select-none pbx-text-[10px] pbx-font-medium pbx-text-gray-400"},$ee={class:"pbx-mt-3 pbx-flex pbx-justify-center"},Lz=o.defineComponent({__name:"SpacingControl",props:{mode:{}},setup(r){const e=r,{translate:t}=ae(),i=ke(),n=we,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),m=o.ref(null),b=o.ref(null),g=o.ref(null),u=o.computed(()=>a.value?n.getFontVerticalPadding:n.getFontVerticalMargin),x=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(u,I=>{p.value=I},{immediate:!0}),o.watch(x,I=>{d.value=I},{immediate:!0}),o.watch(h,I=>{c.value=I},{immediate:!0}),o.watch(y,I=>{m.value=I},{immediate:!0}),o.watch(w,I=>{b.value=I},{immediate:!0}),o.watch(f,I=>{g.value=I},{immediate:!0});function T(I){if(!I||I==="none")return"–";const j=I.match(/-(\d[\d.]*)$/);return j?j[1]:"–"}function k(){return T(c.value&&c.value!=="none"?c.value:p.value)}function E(){return T(b.value&&b.value!=="none"?b.value:p.value)}function v(){return T(g.value&&g.value!=="none"?g.value:d.value)}function M(){return T(m.value&&m.value!=="none"?m.value:d.value)}function P(I,j,Y){const Q=I.indexOf(j??"none");return I[Math.max(0,Math.min(I.length-1,Math.max(0,Q)+Y))]}function S(I){const j=a.value?me.verticalPadding:me.verticalMargin,Y=P(j,p.value,I);p.value=Y,a.value?i.handleVerticalPadding(Y):i.handleVerticalMargin(Y)}function C(I){const j=a.value?me.horizontalPadding:me.horizontalMargin,Y=P(j,d.value,I);d.value=Y,a.value?i.handleHorizontalPadding(Y):i.handleHorizontalMargin(Y)}function N(I){const j=a.value?me.topPadding:me.topMargin,Y=P(j,c.value,I);c.value=Y,a.value?i.handleTopPadding(Y):i.handleTopMargin(Y)}function A(I){const j=a.value?me.rightPadding:me.rightMargin,Y=P(j,m.value,I);m.value=Y,a.value?i.handleRightPadding(Y):i.handleRightMargin(Y)}function _(I){const j=a.value?me.bottomPadding:me.bottomMargin,Y=P(j,b.value,I);b.value=Y,a.value?i.handleBottomPadding(Y):i.handleBottomMargin(Y)}function V(I){const j=a.value?me.leftPadding:me.leftMargin,Y=P(j,g.value,I);g.value=Y,a.value?i.handleLeftPadding(Y):i.handleLeftMargin(Y)}return(I,j)=>(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",Oee,o.toDisplayString(o.unref(t)("All sides")),1),o.createElementVNode("p",Fee,o.toDisplayString(o.unref(t)("Applies across all screen sizes")),1),o.createElementVNode("div",jee,[o.createElementVNode("div",qee,[o.createElementVNode("span",Uee,o.toDisplayString(o.unref(t)("Vertical")),1),o.createVNode(Mi,{value:T(p.value),onDecrement:j[0]||(j[0]=Y=>S(-1)),onIncrement:j[1]||(j[1]=Y=>S(1))},null,8,["value"])]),j[12]||(j[12]=o.createElementVNode("div",{class:"pbx-h-px pbx-bg-gray-100"},null,-1)),o.createElementVNode("div",Wee,[o.createElementVNode("span",Gee,o.toDisplayString(o.unref(t)("Horizontal")),1),o.createVNode(Mi,{value:T(d.value),onDecrement:j[2]||(j[2]=Y=>C(-1)),onIncrement:j[3]||(j[3]=Y=>C(1))},null,8,["value"])])]),j[13]||(j[13]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",Kee,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",Jee,[o.createElementVNode("div",Yee,[o.createVNode(Mi,{value:k(),"side-label":o.unref(t)("top"),onDecrement:j[4]||(j[4]=Y=>N(-1)),onIncrement:j[5]||(j[5]=Y=>N(1))},null,8,["value","side-label"])]),o.createElementVNode("div",Qee,[o.createVNode(Mi,{value:v(),"side-label":o.unref(t)("left"),compact:"",onDecrement:j[6]||(j[6]=Y=>V(-1)),onIncrement:j[7]||(j[7]=Y=>V(1))},null,8,["value","side-label"]),o.createElementVNode("div",Xee,[o.createElementVNode("span",Zee,o.toDisplayString(o.unref(t)("element")),1)]),o.createVNode(Mi,{value:M(),"side-label":o.unref(t)("right"),compact:"",onDecrement:j[8]||(j[8]=Y=>A(-1)),onIncrement:j[9]||(j[9]=Y=>A(1))},null,8,["value","side-label"])]),o.createElementVNode("div",$ee,[o.createVNode(Mi,{value:E(),"side-label":o.unref(t)("bottom"),onDecrement:j[10]||(j[10]=Y=>_(-1)),onIncrement:j[11]||(j[11]=Y=>_(1))},null,8,["value","side-label"])])])],2)]),_:1}))}}),Nz=o.defineComponent({__name:"PaddingControl",setup(r){return(e,t)=>(o.openBlock(),o.createBlock(Lz,{mode:"padding"}))}}),Az=o.defineComponent({__name:"MarginControl",setup(r){return(e,t)=>(o.openBlock(),o.createBlock(Lz,{mode:"margin"}))}}),yt={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"]},ete={class:"pbx-editorSectionTitle"},tte={class:"pbx-editorFieldGroup"},rte={for:"global-border-radius",class:"pbx-myPrimaryInputLabel"},ote={disabled:"",value:""},ite={class:"pbx-editorSectionTitle"},nte={class:"pbx-editorFieldGroup"},ate={for:"border-radius-top-left",class:"pbx-myPrimaryInputLabel"},lte={disabled:"",value:""},ste={class:"pbx-editorFieldGroup"},pte={for:"border-radius-top-right",class:"pbx-myPrimaryInputLabel"},dte={disabled:"",value:""},cte={class:"pbx-editorFieldGroup"},mte={for:"border-radius-bottom-left",class:"pbx-myPrimaryInputLabel"},bte={disabled:"",value:""},gte={class:"pbx-editorFieldGroup"},ute={for:"border-radius-bottom-right",class:"pbx-myPrimaryInputLabel"},xte={disabled:"",value:""},_z=o.defineComponent({__name:"BorderRadiusControl",setup(r){const{translate:e}=ae(),t=ke(),i=we,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),m=o.computed(()=>i.getBorderRadiusTopRight),b=o.computed(()=>i.getBorderRadiusBottomleft),g=o.computed(()=>i.getBorderRadiusBottomRight);return o.watch(d,u=>{n.value=u},{immediate:!0}),o.watch(c,u=>{a.value=u},{immediate:!0}),o.watch(m,u=>{l.value=u},{immediate:!0}),o.watch(b,u=>{s.value=u},{immediate:!0}),o.watch(g,u=>{p.value=u},{immediate:!0}),(u,x)=>(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",ete,o.toDisplayString(o.unref(e)("Global")),1),o.createElementVNode("div",tte,[o.createElementVNode("label",rte,o.toDisplayString(o.unref(e)("Border Radius")),1),o.withDirectives(o.createElementVNode("select",{id:"global-border-radius","onUpdate:modelValue":x[0]||(x[0]=h=>n.value=h),class:"pbx-myPrimarySelect",onChange:x[1]||(x[1]=h=>o.unref(t).handleBorderRadiusGlobal(n.value??void 0))},[o.createElementVNode("option",ote,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(yt).roundedGlobal,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,n.value]])]),x[10]||(x[10]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("p",ite,o.toDisplayString(o.unref(e)("Specific")),1),o.createElementVNode("div",nte,[o.createElementVNode("label",ate,o.toDisplayString(o.unref(e)("Border Radius top left")),1),o.withDirectives(o.createElementVNode("select",{id:"border-radius-top-left","onUpdate:modelValue":x[2]||(x[2]=h=>a.value=h),class:"pbx-myPrimarySelect",onChange:x[3]||(x[3]=h=>o.unref(t).handleBorderRadiusTopLeft(a.value??void 0))},[o.createElementVNode("option",lte,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(yt).roundedTopLeft,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,a.value]])]),x[11]||(x[11]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",ste,[o.createElementVNode("label",pte,o.toDisplayString(o.unref(e)("Border Radius top right")),1),o.withDirectives(o.createElementVNode("select",{id:"border-radius-top-right","onUpdate:modelValue":x[4]||(x[4]=h=>l.value=h),class:"pbx-myPrimarySelect",onChange:x[5]||(x[5]=h=>o.unref(t).handleBorderRadiusTopRight(l.value??void 0))},[o.createElementVNode("option",dte,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(yt).roundedTopRight,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,l.value]])]),x[12]||(x[12]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",cte,[o.createElementVNode("label",mte,o.toDisplayString(o.unref(e)("Border Radius bottom left")),1),o.withDirectives(o.createElementVNode("select",{id:"border-radius-bottom-left","onUpdate:modelValue":x[6]||(x[6]=h=>s.value=h),class:"pbx-myPrimarySelect",onChange:x[7]||(x[7]=h=>o.unref(t).handleBorderRadiusBottomleft(s.value??void 0))},[o.createElementVNode("option",bte,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(yt).roundedBottomLeft,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,s.value]])]),x[13]||(x[13]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",gte,[o.createElementVNode("label",ute,o.toDisplayString(o.unref(e)("Border Radius bottom right")),1),o.withDirectives(o.createElementVNode("select",{id:"border-radius-bottom-right","onUpdate:modelValue":x[8]||(x[8]=h=>p.value=h),class:"pbx-myPrimarySelect",onChange:x[9]||(x[9]=h=>o.unref(t).handleBorderRadiusBottomRight(p.value??void 0))},[o.createElementVNode("option",xte,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(yt).roundedBottomRight,h=>(o.openBlock(),o.createElementBlock("option",{key:h},o.toDisplayString(h),1))),128))],544),[[o.vModelSelect,p.value]])])]),_:1}))}}),Bi={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"]},hte={class:"pbx-editorSectionTitle"},fte={class:"pbx-editorFieldGroup"},yte={for:"border-style",class:"pbx-myPrimaryInputLabel"},wte={disabled:"",value:""},vte={class:"pbx-editorFieldGroup"},kte={for:"border-width",class:"pbx-myPrimaryInputLabel"},Ste={disabled:"",value:""},Cte={class:"pbx-editorFieldGroup"},Tte={for:"border-color",class:"pbx-myPrimaryInputLabel"},Ete={class:"pbx-flex pbx-items-center pbx-gap-2"},Pte={key:0},Mte={class:"pbx-block pbx-truncate"},Bte={class:"pbx-flex pbx-items-center"},Lte={key:0},Nte={key:2,class:"pbx-ml-3"},Ate={key:3,class:"pbx-ml-3"},Dz=o.defineComponent({name:"BorderControls",__name:"BorderControls",setup(r){const{translate:e}=ae(),t=ke(),i=we,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,c=>{n.value=c},{immediate:!0}),o.watch(p,c=>{a.value=c},{immediate:!0}),o.watch(d,c=>{l.value=c},{immediate:!0}),(c,m)=>(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",hte,o.toDisplayString(o.unref(e)("Border")),1),o.createElementVNode("div",fte,[o.createElementVNode("label",yte,o.toDisplayString(o.unref(e)("Border Style")),1),o.withDirectives(o.createElementVNode("select",{id:"border-style","onUpdate:modelValue":m[0]||(m[0]=b=>n.value=b),class:"pbx-myPrimarySelect",onChange:m[1]||(m[1]=b=>o.unref(t).handleBorderStyle(n.value??void 0))},[o.createElementVNode("option",wte,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(Bi).borderStyle,b=>(o.openBlock(),o.createElementBlock("option",{key:b},o.toDisplayString(b),1))),128))],544),[[o.vModelSelect,n.value]])]),m[7]||(m[7]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",vte,[o.createElementVNode("label",kte,o.toDisplayString(o.unref(e)("Border Width")),1),o.withDirectives(o.createElementVNode("select",{id:"border-width","onUpdate:modelValue":m[2]||(m[2]=b=>a.value=b),class:"pbx-myPrimarySelect",onChange:m[3]||(m[3]=b=>o.unref(t).handleBorderWidth(a.value??void 0))},[o.createElementVNode("option",Ste,o.toDisplayString(o.unref(e)("Select")),1),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(Bi).borderWidth,b=>(o.openBlock(),o.createElementBlock("option",{key:b},o.toDisplayString(b),1))),128))],544),[[o.vModelSelect,a.value]])]),m[8]||(m[8]=o.createElementVNode("hr",null,null,-1)),o.createElementVNode("div",Cte,[o.createElementVNode("label",Tte,o.toDisplayString(o.unref(e)("Border Color")),1),o.createVNode(o.unref(Fn),{as:"div",modelValue:l.value,"onUpdate:modelValue":m[4]||(m[4]=b=>l.value=b)},{default:o.withCtx(({open:b})=>[o.createElementVNode("div",{class:o.normalizeClass(["pbx-relative pbx-mt-2",b?"pbx-z-50":"pbx-z-0"])},[o.createVNode(o.unref(jn),{class:"pbx-myPrimarySelect",id:"border-color"},{default:o.withCtx(()=>{var g;return[o.createElementVNode("span",Ete,[d.value==="none"?(o.openBlock(),o.createElementBlock("div",Pte,[...m[5]||(m[5]=[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",Mte,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(qn),{class:"pbx-headless-dropdown pbx-absolute pbx-z-50 pbx-mt-1 pbx-max-h-72 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(Bi).borderColor,g=>(o.openBlock(),o.createBlock(o.unref(Vr),{as:"template",onClick:u=>o.unref(t).handleBorderColor(g??void 0),key:g,value:g},{default:o.withCtx(({active:u})=>[o.createElementVNode("li",{class:o.normalizeClass([u?"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",Bte,[g==="none"?(o.openBlock(),o.createElementBlock("div",Lte,[...m[6]||(m[6]=[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",Nte,o.toDisplayString(o.unref(e)("Transparent")),1)):o.createCommentVNode("",!0),g!=="none"?(o.openBlock(),o.createElementBlock("span",Ate,o.toDisplayString(g),1)):o.createCommentVNode("",!0)])],2)]),_:2},1032,["onClick","value"]))),128))]),_:1})]),_:1})],2)]),_:1},8,["modelValue"])])]),_:1}))}}),_te={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"},Dte={class:"pbx-text-sm pbx-font-semibold pbx-text-myPrimaryDarkGrayColor pbx-my-0"},zte={class:"pbx-text-xs pbx-text-gray-500 pbx-my-0"},Ite={class:"pbx-grid pbx-grid-cols-1 pbx-gap-3"},Vte=["for"],Hte={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"},Rte=["id","value","onInput","onBlur"],Ote={class:"pbx-relative pbx-flex-shrink-0"},Fte=["title","onClick"],jte={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"},qte={class:"pbx-text-sm pbx-font-semibold pbx-text-myPrimaryDarkGrayColor pbx-my-0"},Ute={class:"pbx-text-xs pbx-text-gray-500 pbx-my-0"},Wte=o.defineComponent({__name:"ThemeColorPresetManager",props:{embedded:{type:Boolean}},setup(r){const{translate:e}=ae(),{showToast:t}=Ye(),i=we,n=o.computed(()=>i.getPageBuilderConfig),{themeColorPresetSettings:a,setThemeColorPresetsEnabled:l,updateThemeColorPreset:s,resetToConfigDefaults:p}=ls(n),d=o.ref({});function c(v){return d.value[v.id]??v.color}o.watch(()=>a.value.colors,v=>{v.forEach(M=>{var S;((S=document.activeElement)==null?void 0:S.id)!==`color-input-${M.id}`&&(d.value[M.id]=M.color)})},{deep:!0});const m=/^#?[0-9a-fA-F]{6}$/;function b(v,M){const P=M.target,S=P.value.trim();d.value[v.id]=P.value,m.test(S)&&s(v.id,{color:S})}function g(v){d.value[v.id]=v.color}function u(v,M){s(v,{enabled:M})}function x(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 T(){f.value=!0}function k(){f.value=!1}function E(){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",_te,[o.createElementVNode("div",null,[o.createElementVNode("p",Dte,o.toDisplayString(o.unref(e)("Enable theme color presets")),1),o.createElementVNode("p",zte,o.toDisplayString(o.unref(e)("Use saved hex colors in text and background color menus")),1)]),o.createVNode(er,{"model-value":o.unref(a).enabled,"onUpdate:modelValue":o.unref(l)},null,8,["model-value","onUpdate:modelValue"])]),o.createElementVNode("div",Ite,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(a).colors,P=>(o.openBlock(),o.createElementBlock("div",{key:P.id,class:"pbx-myInputGroup"},[o.createElementVNode("label",{for:`color-input-${P.id}`,class:"pbx-myPrimaryInputLabel"},o.toDisplayString(o.unref(e)(P.label)),9,Vte),o.createElementVNode("div",Hte,[o.createVNode(er,{"model-value":P.enabled,"onUpdate:modelValue":S=>u(P.id,S)},null,8,["model-value","onUpdate:modelValue"]),o.createElementVNode("input",{id:`color-input-${P.id}`,value:c(P),type:"text",maxlength:"7",placeholder:"#rrggbb",class:"pbx-myPrimaryInput pbx-w-full",onInput:S=>b(P,S),onBlur:S=>g(P)},null,40,Rte),o.createElementVNode("div",Ote,[o.createElementVNode("button",{type:"button",title:P.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(S=>y(P.id),["stop"])},[o.createElementVNode("span",{style:o.normalizeStyle([{backgroundColor:P.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,Fte),h.value===P.id?(o.openBlock(),o.createElementBlock("div",{key:0,class:"pbx-fixed pbx-inset-0 pbx-z-40",onClick:w})):o.createCommentVNode("",!0),h.value===P.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(az,{"model-value":P.color,"onUpdate:modelValue":S=>x(P,S)},null,8,["model-value","onUpdate:modelValue"])])):o.createCommentVNode("",!0)])])]))),128))]),o.createElementVNode("div",jte,[o.createElementVNode("div",null,[o.createElementVNode("p",qte,o.toDisplayString(o.unref(e)("Reset to provided defaults")),1),o.createElementVNode("p",Ute,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:T},[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(mt,{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:k,onThirdModalButtonFunctionDynamicModalBuilder:E},{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))}}),Gte=o.defineComponent({__name:"ThemeColorSettingsEditor",setup(r){const{translate:e}=ae();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(Wte,{embedded:""})]),_:1}))}}),Kte={class:"pbx-editorSectionDesc"},Jte={class:"pbx-editorFieldGroup"},Yte={for:"page-meta-title",class:"pbx-myPrimaryInputLabel"},Qte=["placeholder"],Xte={class:"pbx-editorFieldGroup"},Zte={for:"page-meta-description",class:"pbx-myPrimaryInputLabel"},$te=["placeholder"],ere=["disabled"],tre={key:0,class:"material-symbols-outlined"},rre={key:1,class:"material-symbols-outlined pbx-animate-spin"},ore=o.defineComponent({name:"PageMetaSettingsEditor",__name:"PageMetaSettingsEditor",setup(r){const{translate:e}=ae(),{showToast:t}=Ye(),i=ke(),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 es(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",Kte,o.toDisplayString(o.unref(e)("Page meta description")),1),o.createElementVNode("div",Jte,[o.createElementVNode("label",Yte,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,Qte),[[o.vModelText,n.value]])]),o.createElementVNode("div",Xte,[o.createElementVNode("label",Zte,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,$te),[[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",tre,"check")),l.value?(o.openBlock(),o.createElementBlock("span",rre,"refresh")):o.createCommentVNode("",!0)],8,ere)]),_:1}))}}),ire={key:0,class:"pbx-fixed pbx-inset-0 pbx-z-[9999]"},nre={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"},are={class:"pbx-myQuaternaryHeader pbx-my-0 pbx-py-0 pbx-text-black"},lre={class:"pbx-pt-4 pbx-px-2"},zz=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",ire,[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",nre,[o.createElementVNode("span",are,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",lre,[o.renderSlot(l.$slots,"default")])],2)])):o.createCommentVNode("",!0)]),_:3})]))}}),sre={class:"pbx-overflow-y-auto"},pre={key:0,class:"pbx-flex pbx-items-center pbx-justify-center pbx-gap-2"},dre={class:"pbx-bg-gray-100 pbx-rounded-full pbx-w-32 pbx-h-32 pbx-flex pbx-items-center pbx-justify-center"},cre={class:"pbx-text-center"},mre={class:"pbx-lg:pbx-text-7xl pbx-text-5xl"},bre={key:1,class:"pbx-w-full pbx-space-y-5"},gre={class:"pbx-text-base pbx-font-semibold pbx-text-center pbx-text-myPrimaryDarkGrayColor"},ure={class:"pbx-seoCheckGroupTitle"},xre={class:"pbx-space-y-2"},hre={class:"material-symbols-outlined","aria-hidden":"true"},fre={class:"pbx-pageDesignOpenButtonText"},yre={class:"pbx-pageDesignOpenButtonLabel"},wre={class:"pbx-pageDesignOpenButtonHint"},vre={key:2,class:"pbx-text-gray-500 pbx-text-center pbx-py-8"},kre=o.defineComponent({__name:"SeoCheckPanel",props:{seoResult:{}},setup(r){const e=r,{translate:t}=ae(),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",sre,[r.seoResult?(o.openBlock(),o.createElementBlock("div",pre,[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",dre,[o.createElementVNode("div",cre,[o.createElementVNode("span",mre,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",bre,[o.createElementVNode("h3",gre,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",ure,o.toDisplayString(o.unref(t)(l.title)),1),o.createElementVNode("ul",xre,[(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",hre,o.toDisplayString(s.passed?"check":"close"),1)],2),o.createElementVNode("span",fre,[o.createElementVNode("span",yre,o.toDisplayString(o.unref(t)(s.check)),1),o.createElementVNode("span",wre,o.toDisplayString(s.details),1)])],2))),128))])]))),128))])):(o.openBlock(),o.createElementBlock("div",vre,o.toDisplayString(o.unref(t)("No SEO checks available.")),1))]))}}),Sre={class:"pbx-editorSectionDesc"},Cre=o.defineComponent({name:"SeoCheckSettingsEditor",__name:"SeoCheckSettingsEditor",setup(r){const{translate:e}=ae(),t=ke(),i=o.ref(null),n=o.ref(!1),a=o.ref(!1),l=async()=>{a.value=!0,n.value=!0,await es(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",Sre,o.toDisplayString(o.unref(e)("SEO check description")),1),o.createVNode(rr,{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(zz,{title:o.unref(e)("SEO Check"),showSidebarPanel:n.value,position:"left",onCloseSidebarPanel:s},{default:o.withCtx(()=>[o.createVNode(kre,{"seo-result":i.value},null,8,["seo-result"])]),_:1},8,["title","showSidebarPanel"])],64))}}),Tre={class:"pbx-editorSectionDesc"},Ere=o.defineComponent({name:"RemoveAllComponentsSettingsEditor",__name:"RemoveAllComponentsSettingsEditor",setup(r){const{translate:e}=ae(),{showToast:t}=Ye(),i=ke(),n=o.ref(!1),a=o.ref(!1),l=o.ref(""),s=o.ref(1),p=o.ref(""),d=o.ref(""),c=o.ref(""),m=o.ref(null),b=o.ref(null),g=o.ref(null),u=o.ref(null),x=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"),m.value=null,b.value=e("Delete"),g.value=function(){a.value=!1},u.value=function(){},x.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",Tre,o.toDisplayString(o.unref(e)("Remove all components description")),1),o.createVNode(rr,{icon:"delete_forever",label:o.unref(e)("Remove all Components"),hint:o.unref(e)("Clear every section from the page"),variant:"danger",onClick:h},null,8,["label","hint"])]),_:1}),o.createVNode(mt,{showDynamicModalBuilder:a.value,type:l.value,gridColumnAmount:s.value,title:p.value,description:d.value,isLoading:n.value,firstButtonText:c.value,secondButtonText:m.value??void 0,thirdButtonText:b.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=u.value)==null?void 0:f.call(u)}),onThirdModalButtonFunctionDynamicModalBuilder:w[2]||(w[2]=()=>{var f;return(f=x.value)==null?void 0:f.call(x)})},{default:o.withCtx(()=>[...w[3]||(w[3]=[o.createElementVNode("header",null,null,-1),o.createElementVNode("main",null,null,-1)])]),_:1},8,["showDynamicModalBuilder","type","gridColumnAmount","title","description","isLoading","firstButtonText","secondButtonText","thirdButtonText"])],64))}}),Pre={class:"pbx-editorSectionDesc"},Mre={class:"pbx-pageDesignOpenButtonText"},Bre={class:"pbx-pageDesignOpenButtonLabel"},Lre={class:"pbx-pageDesignOpenButtonHint"},Nre=o.defineComponent({name:"PageDesignSettingsEditor",__name:"PageDesignSettingsEditor",emits:["open"],setup(r){const{translate:e}=ae();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",Pre,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(ss),o.createElementVNode("span",Mre,[o.createElementVNode("span",Bre,o.toDisplayString(o.unref(e)("Open page design")),1),o.createElementVNode("span",Lre,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}))}}),Are={class:"pbx-editorSectionDesc"},_re={class:"pbx-inspectorActionStack"},Dre=o.defineComponent({name:"PageHtmlEditorSettingsEditor",__name:"PageHtmlEditorSettingsEditor",setup(r){const{translate:e}=ae(),t=ke(),{openHtmlViewer:i}=hs(),{openHtmlEditor:n}=ws(),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",Are,o.toDisplayString(o.unref(e)("Page HTML editor description")),1),o.createElementVNode("div",_re,[o.createVNode(rr,{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(rr,{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}))}}),lo=function(r){return!r||typeof r=="object"&&r.constructor===Object&&Object.keys(r).length===0},zre="3.5.57",Ire=r=>/^[a-z][a-z0-9+.-]*:/i.test(r)||r.startsWith("//");function Iz(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")&&!Ire(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 Vz(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 xc(r){const{showToast:e}=Ye(),{translate:t}=ae();try{return await navigator.clipboard.writeText(r),e(t("Copied to clipboard"),"success"),!0}catch{return e(t("Clipboard unavailable"),"error"),!1}}const Vre=["title","aria-label"],Hre={class:"pbx-inspectorIdChipText"},Rre={class:"pbx-inspectorIdChipIcon material-symbols-outlined","aria-hidden":"true"},Ore={key:1,class:"pbx-inspectorValue"},Hz=o.defineComponent({__name:"InspectorIdValue",props:{value:{}},setup(r){const e=r,{translate:t}=ae(),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 xc(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",Hre,o.toDisplayString(a.value),1),o.createElementVNode("span",Rre,o.toDisplayString(i.value?"check":"content_copy"),1)],8,Vre)):(o.openBlock(),o.createElementBlock("span",Ore,"—"))}}),Fre={class:"pbx-selectedHtmlInspector"},jre={class:"pbx-editorSectionDesc"},qre={class:"pbx-editorFieldGroup"},Ure={class:"pbx-editorSectionTitle"},Wre={class:"pbx-inspectorCard"},Gre={class:"pbx-inspectorLabel"},Kre={class:"pbx-editorFieldGroup"},Jre={class:"pbx-editorSectionTitle"},Yre=["aria-label"],Qre=["aria-selected"],Xre=["aria-selected"],Zre=["aria-selected"],$re={class:"pbx-inspectorPanel"},eoe={key:0,role:"tabpanel"},toe={key:0,class:"pbx-inspectorEmpty"},roe={class:"pbx-inspectorMeta pbx-mb-3"},ooe={key:0,class:"pbx-inspectorMetaRow"},ioe={class:"pbx-inspectorFieldLabel"},noe={class:"pbx-inspectorValue pbx-inspectorValueBreak"},aoe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},loe={class:"pbx-inspectorFieldLabel"},soe={class:"pbx-inspectorActionStack"},poe={key:1,role:"tabpanel"},doe={key:0,class:"pbx-inspectorEmpty"},coe={class:"pbx-inspectorMeta pbx-mb-3"},moe={class:"pbx-inspectorMetaRow"},boe={class:"pbx-inspectorFieldLabel"},goe={class:"pbx-inspectorMetaRow"},uoe={class:"pbx-inspectorFieldLabel"},xoe={class:"pbx-inspectorValue"},hoe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},foe={class:"pbx-inspectorFieldLabel"},yoe={key:2,role:"tabpanel"},woe=["aria-expanded","aria-label"],voe={class:"pbx-inspectorComponentsSummaryContent"},koe={class:"pbx-inspectorComponentsSummaryChevron material-symbols-outlined","aria-hidden":"true"},Soe={key:1,class:"pbx-inspectorComponentsSummary pbx-inspectorComponentsSummaryEmpty"},Coe={class:"pbx-inspectorList"},Toe=["aria-expanded","aria-label","onClick"],Eoe={class:"pbx-inspectorComponentCardTitleContent"},Poe={class:"pbx-inspectorListIndex"},Moe={class:"pbx-inspectorListTitle"},Boe={class:"pbx-inspectorComponentsSummaryChevron material-symbols-outlined","aria-hidden":"true"},Loe={class:"pbx-inspectorComponentCardBody"},Noe={class:"pbx-inspectorMeta pbx-inspectorComponentCardMeta"},Aoe={class:"pbx-inspectorMetaRow"},_oe={class:"pbx-inspectorFieldLabel"},Doe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},zoe={class:"pbx-inspectorFieldLabel"},Ioe={class:"pbx-inspectorComponentCardFooter"},Voe=o.defineComponent({__name:"SelectedHtmlInspector",setup(r){const{translate:e}=ae(),{openHtmlViewer:t}=hs(),{openHtmlEditor:i}=ws(),n=we,a=o.computed(()=>n.getElement),l=o.computed(()=>n.getComponent),s=o.computed(()=>n.getComponents),p=o.ref("element"),d=o.computed(()=>{var A;return((A=s.value)==null?void 0:A.length)??0}),c=o.ref(!1),m=o.ref(new Set);function b(){d.value&&(c.value=!c.value)}function g(A,_){return String(A.id??A.title??_)}function u(A,_){return m.value.has(g(A,_))}function x(A,_){const V=g(A,_),I=new Set(m.value);I.has(V)?I.delete(V):I.add(V),m.value=I}o.watch(c,A=>{A||(m.value=new Set)}),o.watch(p,A=>{A!=="components"&&(c.value=!1,m.value=new Set)});function h(A){return A?A.tagName.toLowerCase():"—"}function y(A){return A?"object":"—"}function w(A){return A.length?`${e("array")} · ${A.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"}]),T=o.computed(()=>{var _;const A=a.value;return(_=A==null?void 0:A.classList)!=null&&_.length?Array.from(A.classList):[]}),k=o.computed(()=>{var A;return(A=l.value)!=null&&A.html_code?Vz(l.value.html_code):[]}),E=o.computed(()=>{const A=a.value;return!A||A.tagName!=="IMG"?null:A.src||"—"});function v(A){p.value=A}function M(){a.value&&i(e("Element HTML"),a.value.outerHTML,"element")}function P(){a.value&&t(e("Element HTML"),a.value.outerHTML)}function S(A,_){const V=A.title||(_!==void 0?`${e("Component")} #${_+1}`:e("Component"));t(`${V} · ${e("HTML")}`,A.html_code||"")}function C(){l.value&&S(l.value)}function N(A){return Vz(A.html_code||"")}return(A,_)=>(o.openBlock(),o.createElementBlock("div",Fre,[o.createElementVNode("p",jre,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",qre,[o.createElementVNode("h4",Ure,o.toDisplayString(o.unref(e)("Types")),1),o.createElementVNode("div",Wre,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(f.value,V=>(o.openBlock(),o.createElementBlock("div",{key:V.label,class:"pbx-inspectorRow"},[o.createElementVNode("span",Gre,o.toDisplayString(V.label),1),o.createElementVNode("span",{class:o.normalizeClass(["pbx-inspectorBadge",V.tone==="active"?"pbx-inspectorBadgeActive":"pbx-inspectorBadgeMuted"])},o.toDisplayString(V.value),3)]))),128))])]),o.createElementVNode("div",Kre,[o.createElementVNode("h4",Jre,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:_[0]||(_[0]=V=>v("element"))},o.toDisplayString(o.unref(e)("Element")),11,Qre),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:_[1]||(_[1]=V=>v("component"))},o.toDisplayString(o.unref(e)("Component")),11,Xre),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:_[2]||(_[2]=V=>v("components"))},o.toDisplayString(o.unref(e)("Components")),11,Zre)],8,Yre),o.createElementVNode("div",$re,[p.value==="element"?(o.openBlock(),o.createElementBlock("div",eoe,[a.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",roe,[E.value!==null?(o.openBlock(),o.createElementBlock("div",ooe,[o.createElementVNode("span",ioe,o.toDisplayString(o.unref(e)("Element src:")),1),o.createElementVNode("span",noe,o.toDisplayString(E.value),1)])):o.createCommentVNode("",!0),o.createElementVNode("div",aoe,[o.createElementVNode("span",loe,o.toDisplayString(o.unref(e)("Element classes:")),1),o.createVNode(xs,{classes:T.value,"empty-placeholder":""},null,8,["classes"])])]),o.createElementVNode("div",soe,[o.createVNode(rr,{icon:"visibility",label:o.unref(e)("View element HTML"),hint:o.unref(e)("Preview selected element markup"),onClick:P},null,8,["label","hint"]),o.createVNode(rr,{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",toe,o.toDisplayString(o.unref(e)("No Element selected")),1))])):o.createCommentVNode("",!0),p.value==="component"?(o.openBlock(),o.createElementBlock("div",poe,[l.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",coe,[o.createElementVNode("div",moe,[o.createElementVNode("span",boe,o.toDisplayString(o.unref(e)("ID:")),1),o.createVNode(Hz,{value:l.value.id},null,8,["value"])]),o.createElementVNode("div",goe,[o.createElementVNode("span",uoe,o.toDisplayString(o.unref(e)("Title:")),1),o.createElementVNode("span",xoe,o.toDisplayString(l.value.title||"—"),1)]),o.createElementVNode("div",hoe,[o.createElementVNode("span",foe,o.toDisplayString(o.unref(e)("Component classes:")),1),o.createVNode(xs,{classes:k.value,"empty-placeholder":""},null,8,["classes"])])]),o.createVNode(rr,{icon:"visibility",label:o.unref(e)("View component HTML"),hint:o.unref(e)("Preview component markup"),onClick:C},null,8,["label","hint"])],64)):(o.openBlock(),o.createElementBlock("p",doe,o.toDisplayString(o.unref(e)("No Component selected")),1))])):o.createCommentVNode("",!0),p.value==="components"?(o.openBlock(),o.createElementBlock("div",yoe,[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:b},[o.createElementVNode("span",voe,[o.createElementVNode("span",null,o.toDisplayString(o.unref(e)("Components")),1)]),o.createElementVNode("span",koe,o.toDisplayString(c.value?"expand_less":"expand_more"),1)],10,woe)):(o.openBlock(),o.createElementBlock("div",Soe,o.toDisplayString(o.unref(e)("No Components added yet")),1)),o.withDirectives(o.createElementVNode("div",Coe,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.value,(V,I)=>(o.openBlock(),o.createElementBlock("article",{key:String(V.id??V.title??I),class:"pbx-inspectorComponentCard"},[o.createElementVNode("button",{type:"button",class:"pbx-font-sans pbx-inspectorComponentCardToggle","aria-expanded":u(V,I),"aria-label":V.title||o.unref(e)("Component"),onClick:j=>x(V,I)},[o.createElementVNode("span",Eoe,[o.createElementVNode("span",Poe,"#"+o.toDisplayString(I+1),1),o.createElementVNode("span",Moe,o.toDisplayString(V.title||o.unref(e)("Component")),1)]),o.createElementVNode("span",Boe,o.toDisplayString(u(V,I)?"expand_less":"expand_more"),1)],8,Toe),o.withDirectives(o.createElementVNode("div",Loe,[o.createElementVNode("div",Noe,[o.createElementVNode("div",Aoe,[o.createElementVNode("span",_oe,o.toDisplayString(o.unref(e)("ID:")),1),o.createVNode(Hz,{value:V.id},null,8,["value"])]),o.createElementVNode("div",Doe,[o.createElementVNode("span",zoe,o.toDisplayString(o.unref(e)("Component classes:")),1),o.createVNode(xs,{classes:N(V),"empty-placeholder":""},null,8,["classes"])])]),o.createElementVNode("div",Ioe,[o.createVNode(rr,{icon:"visibility",label:o.unref(e)("View component HTML"),hint:o.unref(e)("Preview component markup"),onClick:j=>S(V,I)},null,8,["label","hint","onClick"])])],512),[[o.vShow,u(V,I)]])]))),128))],512),[[o.vShow,d.value&&c.value]])])):o.createCommentVNode("",!0)])])]))}}),Hoe={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"},Roe={key:1},Ooe={key:0},Foe={class:"pbx-flex pbx-items-left pbx-flex-col pbx-gap-1"},joe={class:"pbx-myQuaternaryHeader"},qoe={key:1,class:"pbx-editorSectionDesc"},Uoe={key:2,class:"pbx-editorSectionDesc"},Woe={key:3,class:"pbx-editorSectionDesc"},Goe={class:"pbx-settingsSection"},Koe={class:"pbx-settingsSectionTitle"},Joe={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Yoe={class:"pbx-overflow-x-auto"},Qoe={class:"pbx-min-w-full"},Xoe={class:"pbx-bg-gray-50"},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={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"},eie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},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={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"},aie={key:0,class:"pbx-settingsSection"},lie={class:"pbx-settingsSectionTitle"},sie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},pie={class:"pbx-overflow-x-auto"},die={class:"pbx-min-w-full"},cie={class:"pbx-bg-gray-50"},mie={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"},bie={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"},gie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},uie={key:0},xie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},hie={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"},yie={class:"pbx-min-w-[30rem] pbx-w-max"},wie={key:1},vie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},kie={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"},Cie={class:"pbx-min-w-[30rem] pbx-w-max"},Tie={key:1,class:"pbx-settingsSection"},Eie={class:"pbx-settingsSectionTitle"},Pie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Mie={class:"pbx-overflow-x-auto"},Bie={class:"pbx-min-w-full"},Lie={class:"pbx-bg-gray-50"},Nie={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"},Aie={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"},_ie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Die={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},zie={class:"pbx-min-w-[30rem] pbx-w-max"},Iie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Vie={class:"pbx-min-w-[30rem] pbx-w-max"},Hie={class:"pbx-flex pbx-items-center pbx-space-x-3"},Rie=["src"],Oie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Fie={class:"pbx-min-w-[30rem] pbx-w-max"},jie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},qie={class:"pbx-min-w-[30rem] pbx-w-max"},Uie={class:"pbx-whitespace-nowrap"},Wie={key:2,class:"pbx-settingsSection"},Gie={class:"pbx-settingsSectionTitle"},Kie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Jie={class:"pbx-overflow-x-auto"},Yie={class:"pbx-w-max pbx-min-w-full"},Qie={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"},Zie={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"},$ie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},ene={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},tne={class:"pbx-min-w-[30rem] pbx-w-max"},rne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},one={class:"pbx-min-w-[30rem] pbx-w-max"},ine={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"},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-inline-flex pbx-items-center pbx-px-2.5 pbx-py-0.5 pbx-rounded-full pbx-text-xs pbx-font-medium"},dne={key:5,class:"pbx-px-2 pbx-settingsSectionGroup"},cne={key:0,class:"pbx-settingsSection"},mne={class:"pbx-settingsSectionTitle"},bne={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},gne={class:"pbx-overflow-x-auto"},une={class:"pbx-min-w-full"},xne={class:"pbx-bg-gray-50"},hne={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"},fne={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"},yne={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},wne={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"},kne={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"},Cne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Tne={class:"pbx-min-w-[30rem] pbx-w-max"},Ene={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Pne={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"},Bne={class:"pbx-min-w-[30rem] pbx-w-max"},Lne={class:"pbx-flex pbx-items-center pbx-space-x-3"},Nne=["src"],Ane={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},_ne={class:"pbx-min-w-[30rem] pbx-w-max"},Dne={key:0,class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},zne={class:"pbx-min-w-[30rem] pbx-w-max"},Ine={key:1,class:"pbx-settingsSection"},Vne={class:"pbx-settingsSectionTitle"},Hne={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Rne={class:"pbx-overflow-x-auto"},One={class:"pbx-min-w-full"},Fne={class:"pbx-bg-gray-50"},jne={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"},qne={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"},Une={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Wne={key:0},Gne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Kne={class:"pbx-min-w-[30rem] pbx-w-max"},Jne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Yne={class:"pbx-min-w-[30rem] pbx-w-max"},Qne={key:1},Xne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Zne={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"},eae={class:"pbx-min-w-[30rem] pbx-w-max"},tae={key:2},rae={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},oae={class:"pbx-min-w-[30rem] pbx-w-max"},iae={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},nae={class:"pbx-min-w-[30rem] pbx-w-max"},aae={key:0,class:"pbx-flex pbx-items-left pbx-flex-col pbx-gap-1"},lae={class:"pbx-myQuaternaryHeader"},sae={class:"pbx-myPrimaryParagraph pbx-text-xs"},pae={class:"pbx-settingsSection pbx-whitespace-pre-wrap pbx-text-white pbx-overflow-hidden pbx-bg-gray-900"},dae={class:"pbx-flex bg-gray-800/40 pbx-ring-1 ring-white/5"},cae={class:"pbx-mb-px pbx-flex pbx-text-xs pbx-font-medium pbx-text-myPrimaryMediumGrayColor"},mae={class:"pbx-px-4 pbx-py-4 pbx-text-white"},bae={class:"pbx-px-4 pbx-pb-8 pbx-pt-4 pbx-text-white pbx-text-xs pbx-break-all"},gae={class:"pbx-myPrimaryParagraph pbx-text-xs pbx-text-white"},uae={key:0},xae={class:"pbx-editorFieldGroup"},hae={key:1},fae={class:"pbx-myPrimaryParagraph pbx-mt-6 pbx-text-gray-500"},Gn=o.defineComponent({__name:"PageBuilderSettings",props:{embeddedSection:{}},setup(r){const e=r,{translate:t}=ae(),{showToast:i}=Ye(),n=o.computed(()=>!!e.embeddedSection),a=o.computed(()=>["overviewApp","overviewUser","overviewConfig"].includes(e.embeddedSection??"")),l=we,s=o.computed(()=>l.getPageBuilderConfig),p=o.computed(()=>l.getComponents),d=o.ref("overview");function c(T){d.value=T}const m=o.computed(()=>a.value||!e.embeddedSection&&d.value==="overview"),b=o.computed(()=>m.value&&!a.value),g=o.computed(()=>e.embeddedSection==="overviewApp"||!e.embeddedSection&&d.value==="overview"),u=o.computed(()=>e.embeddedSection==="overviewUser"||!e.embeddedSection&&d.value==="overview"),x=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(T,k){const P=`
366
+ border-color 0.15s`}])},null,4)],8,Fte),h.value===P.id?(o.openBlock(),o.createElementBlock("div",{key:0,class:"pbx-fixed pbx-inset-0 pbx-z-40",onClick:w})):o.createCommentVNode("",!0),h.value===P.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(az,{"model-value":P.color,"onUpdate:modelValue":S=>x(P,S)},null,8,["model-value","onUpdate:modelValue"])])):o.createCommentVNode("",!0)])])]))),128))]),o.createElementVNode("div",jte,[o.createElementVNode("div",null,[o.createElementVNode("p",qte,o.toDisplayString(o.unref(e)("Reset to provided defaults")),1),o.createElementVNode("p",Ute,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:T},[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(mt,{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:k,onThirdModalButtonFunctionDynamicModalBuilder:E},{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))}}),Gte=o.defineComponent({__name:"ThemeColorSettingsEditor",setup(r){const{translate:e}=ae();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(Wte,{embedded:""})]),_:1}))}}),Kte={class:"pbx-editorSectionDesc"},Jte={class:"pbx-editorFieldGroup"},Yte={for:"page-meta-title",class:"pbx-myPrimaryInputLabel"},Qte=["placeholder"],Xte={class:"pbx-editorFieldGroup"},Zte={for:"page-meta-description",class:"pbx-myPrimaryInputLabel"},$te=["placeholder"],ere=["disabled"],tre={key:0,class:"material-symbols-outlined"},rre={key:1,class:"material-symbols-outlined pbx-animate-spin"},ore=o.defineComponent({name:"PageMetaSettingsEditor",__name:"PageMetaSettingsEditor",setup(r){const{translate:e}=ae(),{showToast:t}=Ye(),i=ke(),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 es(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",Kte,o.toDisplayString(o.unref(e)("Page meta description")),1),o.createElementVNode("div",Jte,[o.createElementVNode("label",Yte,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,Qte),[[o.vModelText,n.value]])]),o.createElementVNode("div",Xte,[o.createElementVNode("label",Zte,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,$te),[[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",tre,"check")),l.value?(o.openBlock(),o.createElementBlock("span",rre,"refresh")):o.createCommentVNode("",!0)],8,ere)]),_:1}))}}),ire={key:0,class:"pbx-fixed pbx-inset-0 pbx-z-[9999]"},nre={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"},are={class:"pbx-myQuaternaryHeader pbx-my-0 pbx-py-0 pbx-text-black"},lre={class:"pbx-pt-4 pbx-px-2"},zz=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",ire,[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",nre,[o.createElementVNode("span",are,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",lre,[o.renderSlot(l.$slots,"default")])],2)])):o.createCommentVNode("",!0)]),_:3})]))}}),sre={class:"pbx-overflow-y-auto"},pre={key:0,class:"pbx-flex pbx-items-center pbx-justify-center pbx-gap-2"},dre={class:"pbx-bg-gray-100 pbx-rounded-full pbx-w-32 pbx-h-32 pbx-flex pbx-items-center pbx-justify-center"},cre={class:"pbx-text-center"},mre={class:"pbx-lg:pbx-text-7xl pbx-text-5xl"},bre={key:1,class:"pbx-w-full pbx-space-y-5"},gre={class:"pbx-text-base pbx-font-semibold pbx-text-center pbx-text-myPrimaryDarkGrayColor"},ure={class:"pbx-seoCheckGroupTitle"},xre={class:"pbx-space-y-2"},hre={class:"material-symbols-outlined","aria-hidden":"true"},fre={class:"pbx-pageDesignOpenButtonText"},yre={class:"pbx-pageDesignOpenButtonLabel"},wre={class:"pbx-pageDesignOpenButtonHint"},vre={key:2,class:"pbx-text-gray-500 pbx-text-center pbx-py-8"},kre=o.defineComponent({__name:"SeoCheckPanel",props:{seoResult:{}},setup(r){const e=r,{translate:t}=ae(),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",sre,[r.seoResult?(o.openBlock(),o.createElementBlock("div",pre,[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",dre,[o.createElementVNode("div",cre,[o.createElementVNode("span",mre,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",bre,[o.createElementVNode("h3",gre,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",ure,o.toDisplayString(o.unref(t)(l.title)),1),o.createElementVNode("ul",xre,[(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",hre,o.toDisplayString(s.passed?"check":"close"),1)],2),o.createElementVNode("span",fre,[o.createElementVNode("span",yre,o.toDisplayString(o.unref(t)(s.check)),1),o.createElementVNode("span",wre,o.toDisplayString(s.details),1)])],2))),128))])]))),128))])):(o.openBlock(),o.createElementBlock("div",vre,o.toDisplayString(o.unref(t)("No SEO checks available.")),1))]))}}),Sre={class:"pbx-editorSectionDesc"},Cre=o.defineComponent({name:"SeoCheckSettingsEditor",__name:"SeoCheckSettingsEditor",setup(r){const{translate:e}=ae(),t=ke(),i=o.ref(null),n=o.ref(!1),a=o.ref(!1),l=async()=>{a.value=!0,n.value=!0,await es(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",Sre,o.toDisplayString(o.unref(e)("SEO check description")),1),o.createVNode(rr,{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(zz,{title:o.unref(e)("SEO Check"),showSidebarPanel:n.value,position:"left",onCloseSidebarPanel:s},{default:o.withCtx(()=>[o.createVNode(kre,{"seo-result":i.value},null,8,["seo-result"])]),_:1},8,["title","showSidebarPanel"])],64))}}),Tre={class:"pbx-editorSectionDesc"},Ere=o.defineComponent({name:"RemoveAllComponentsSettingsEditor",__name:"RemoveAllComponentsSettingsEditor",setup(r){const{translate:e}=ae(),{showToast:t}=Ye(),i=ke(),n=o.ref(!1),a=o.ref(!1),l=o.ref(""),s=o.ref(1),p=o.ref(""),d=o.ref(""),c=o.ref(""),m=o.ref(null),b=o.ref(null),g=o.ref(null),u=o.ref(null),x=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"),m.value=null,b.value=e("Delete"),g.value=function(){a.value=!1},u.value=function(){},x.value=async function(){n.value=!0,await i.clearHtmlSelection(),await i.handleFormSubmission({preservePageSettings:!0}),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",Tre,o.toDisplayString(o.unref(e)("Remove all components description")),1),o.createVNode(rr,{icon:"delete_forever",label:o.unref(e)("Remove all Components"),hint:o.unref(e)("Clear every section from the page"),variant:"danger",onClick:h},null,8,["label","hint"])]),_:1}),o.createVNode(mt,{showDynamicModalBuilder:a.value,type:l.value,gridColumnAmount:s.value,title:p.value,description:d.value,isLoading:n.value,firstButtonText:c.value,secondButtonText:m.value??void 0,thirdButtonText:b.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=u.value)==null?void 0:f.call(u)}),onThirdModalButtonFunctionDynamicModalBuilder:w[2]||(w[2]=()=>{var f;return(f=x.value)==null?void 0:f.call(x)})},{default:o.withCtx(()=>[...w[3]||(w[3]=[o.createElementVNode("header",null,null,-1),o.createElementVNode("main",null,null,-1)])]),_:1},8,["showDynamicModalBuilder","type","gridColumnAmount","title","description","isLoading","firstButtonText","secondButtonText","thirdButtonText"])],64))}}),Pre={class:"pbx-editorSectionDesc"},Mre={class:"pbx-pageDesignOpenButtonText"},Bre={class:"pbx-pageDesignOpenButtonLabel"},Lre={class:"pbx-pageDesignOpenButtonHint"},Nre=o.defineComponent({name:"PageDesignSettingsEditor",__name:"PageDesignSettingsEditor",emits:["open"],setup(r){const{translate:e}=ae();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",Pre,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(ss),o.createElementVNode("span",Mre,[o.createElementVNode("span",Bre,o.toDisplayString(o.unref(e)("Open page design")),1),o.createElementVNode("span",Lre,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}))}}),Are={class:"pbx-editorSectionDesc"},_re={class:"pbx-inspectorActionStack"},Dre=o.defineComponent({name:"PageHtmlEditorSettingsEditor",__name:"PageHtmlEditorSettingsEditor",setup(r){const{translate:e}=ae(),t=ke(),{openHtmlViewer:i}=hs(),{openHtmlEditor:n}=ws(),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",Are,o.toDisplayString(o.unref(e)("Page HTML editor description")),1),o.createElementVNode("div",_re,[o.createVNode(rr,{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(rr,{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}))}}),lo=function(r){return!r||typeof r=="object"&&r.constructor===Object&&Object.keys(r).length===0},zre="3.5.58",Ire=r=>/^[a-z][a-z0-9+.-]*:/i.test(r)||r.startsWith("//");function Iz(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")&&!Ire(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 Vz(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 xc(r){const{showToast:e}=Ye(),{translate:t}=ae();try{return await navigator.clipboard.writeText(r),e(t("Copied to clipboard"),"success"),!0}catch{return e(t("Clipboard unavailable"),"error"),!1}}const Vre=["title","aria-label"],Hre={class:"pbx-inspectorIdChipText"},Rre={class:"pbx-inspectorIdChipIcon material-symbols-outlined","aria-hidden":"true"},Ore={key:1,class:"pbx-inspectorValue"},Hz=o.defineComponent({__name:"InspectorIdValue",props:{value:{}},setup(r){const e=r,{translate:t}=ae(),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 xc(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",Hre,o.toDisplayString(a.value),1),o.createElementVNode("span",Rre,o.toDisplayString(i.value?"check":"content_copy"),1)],8,Vre)):(o.openBlock(),o.createElementBlock("span",Ore,"—"))}}),Fre={class:"pbx-selectedHtmlInspector"},jre={class:"pbx-editorSectionDesc"},qre={class:"pbx-editorFieldGroup"},Ure={class:"pbx-editorSectionTitle"},Wre={class:"pbx-inspectorCard"},Gre={class:"pbx-inspectorLabel"},Kre={class:"pbx-editorFieldGroup"},Jre={class:"pbx-editorSectionTitle"},Yre=["aria-label"],Qre=["aria-selected"],Xre=["aria-selected"],Zre=["aria-selected"],$re={class:"pbx-inspectorPanel"},eoe={key:0,role:"tabpanel"},toe={key:0,class:"pbx-inspectorEmpty"},roe={class:"pbx-inspectorMeta pbx-mb-3"},ooe={key:0,class:"pbx-inspectorMetaRow"},ioe={class:"pbx-inspectorFieldLabel"},noe={class:"pbx-inspectorValue pbx-inspectorValueBreak"},aoe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},loe={class:"pbx-inspectorFieldLabel"},soe={class:"pbx-inspectorActionStack"},poe={key:1,role:"tabpanel"},doe={key:0,class:"pbx-inspectorEmpty"},coe={class:"pbx-inspectorMeta pbx-mb-3"},moe={class:"pbx-inspectorMetaRow"},boe={class:"pbx-inspectorFieldLabel"},goe={class:"pbx-inspectorMetaRow"},uoe={class:"pbx-inspectorFieldLabel"},xoe={class:"pbx-inspectorValue"},hoe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},foe={class:"pbx-inspectorFieldLabel"},yoe={key:2,role:"tabpanel"},woe=["aria-expanded","aria-label"],voe={class:"pbx-inspectorComponentsSummaryContent"},koe={class:"pbx-inspectorComponentsSummaryChevron material-symbols-outlined","aria-hidden":"true"},Soe={key:1,class:"pbx-inspectorComponentsSummary pbx-inspectorComponentsSummaryEmpty"},Coe={class:"pbx-inspectorList"},Toe=["aria-expanded","aria-label","onClick"],Eoe={class:"pbx-inspectorComponentCardTitleContent"},Poe={class:"pbx-inspectorListIndex"},Moe={class:"pbx-inspectorListTitle"},Boe={class:"pbx-inspectorComponentsSummaryChevron material-symbols-outlined","aria-hidden":"true"},Loe={class:"pbx-inspectorComponentCardBody"},Noe={class:"pbx-inspectorMeta pbx-inspectorComponentCardMeta"},Aoe={class:"pbx-inspectorMetaRow"},_oe={class:"pbx-inspectorFieldLabel"},Doe={class:"pbx-inspectorMetaRow pbx-inspectorMetaRowStacked"},zoe={class:"pbx-inspectorFieldLabel"},Ioe={class:"pbx-inspectorComponentCardFooter"},Voe=o.defineComponent({__name:"SelectedHtmlInspector",setup(r){const{translate:e}=ae(),{openHtmlViewer:t}=hs(),{openHtmlEditor:i}=ws(),n=we,a=o.computed(()=>n.getElement),l=o.computed(()=>n.getComponent),s=o.computed(()=>n.getComponents),p=o.ref("element"),d=o.computed(()=>{var A;return((A=s.value)==null?void 0:A.length)??0}),c=o.ref(!1),m=o.ref(new Set);function b(){d.value&&(c.value=!c.value)}function g(A,_){return String(A.id??A.title??_)}function u(A,_){return m.value.has(g(A,_))}function x(A,_){const V=g(A,_),I=new Set(m.value);I.has(V)?I.delete(V):I.add(V),m.value=I}o.watch(c,A=>{A||(m.value=new Set)}),o.watch(p,A=>{A!=="components"&&(c.value=!1,m.value=new Set)});function h(A){return A?A.tagName.toLowerCase():"—"}function y(A){return A?"object":"—"}function w(A){return A.length?`${e("array")} · ${A.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"}]),T=o.computed(()=>{var _;const A=a.value;return(_=A==null?void 0:A.classList)!=null&&_.length?Array.from(A.classList):[]}),k=o.computed(()=>{var A;return(A=l.value)!=null&&A.html_code?Vz(l.value.html_code):[]}),E=o.computed(()=>{const A=a.value;return!A||A.tagName!=="IMG"?null:A.src||"—"});function v(A){p.value=A}function M(){a.value&&i(e("Element HTML"),a.value.outerHTML,"element")}function P(){a.value&&t(e("Element HTML"),a.value.outerHTML)}function S(A,_){const V=A.title||(_!==void 0?`${e("Component")} #${_+1}`:e("Component"));t(`${V} · ${e("HTML")}`,A.html_code||"")}function C(){l.value&&S(l.value)}function N(A){return Vz(A.html_code||"")}return(A,_)=>(o.openBlock(),o.createElementBlock("div",Fre,[o.createElementVNode("p",jre,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",qre,[o.createElementVNode("h4",Ure,o.toDisplayString(o.unref(e)("Types")),1),o.createElementVNode("div",Wre,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(f.value,V=>(o.openBlock(),o.createElementBlock("div",{key:V.label,class:"pbx-inspectorRow"},[o.createElementVNode("span",Gre,o.toDisplayString(V.label),1),o.createElementVNode("span",{class:o.normalizeClass(["pbx-inspectorBadge",V.tone==="active"?"pbx-inspectorBadgeActive":"pbx-inspectorBadgeMuted"])},o.toDisplayString(V.value),3)]))),128))])]),o.createElementVNode("div",Kre,[o.createElementVNode("h4",Jre,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:_[0]||(_[0]=V=>v("element"))},o.toDisplayString(o.unref(e)("Element")),11,Qre),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:_[1]||(_[1]=V=>v("component"))},o.toDisplayString(o.unref(e)("Component")),11,Xre),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:_[2]||(_[2]=V=>v("components"))},o.toDisplayString(o.unref(e)("Components")),11,Zre)],8,Yre),o.createElementVNode("div",$re,[p.value==="element"?(o.openBlock(),o.createElementBlock("div",eoe,[a.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",roe,[E.value!==null?(o.openBlock(),o.createElementBlock("div",ooe,[o.createElementVNode("span",ioe,o.toDisplayString(o.unref(e)("Element src:")),1),o.createElementVNode("span",noe,o.toDisplayString(E.value),1)])):o.createCommentVNode("",!0),o.createElementVNode("div",aoe,[o.createElementVNode("span",loe,o.toDisplayString(o.unref(e)("Element classes:")),1),o.createVNode(xs,{classes:T.value,"empty-placeholder":""},null,8,["classes"])])]),o.createElementVNode("div",soe,[o.createVNode(rr,{icon:"visibility",label:o.unref(e)("View element HTML"),hint:o.unref(e)("Preview selected element markup"),onClick:P},null,8,["label","hint"]),o.createVNode(rr,{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",toe,o.toDisplayString(o.unref(e)("No Element selected")),1))])):o.createCommentVNode("",!0),p.value==="component"?(o.openBlock(),o.createElementBlock("div",poe,[l.value?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",coe,[o.createElementVNode("div",moe,[o.createElementVNode("span",boe,o.toDisplayString(o.unref(e)("ID:")),1),o.createVNode(Hz,{value:l.value.id},null,8,["value"])]),o.createElementVNode("div",goe,[o.createElementVNode("span",uoe,o.toDisplayString(o.unref(e)("Title:")),1),o.createElementVNode("span",xoe,o.toDisplayString(l.value.title||"—"),1)]),o.createElementVNode("div",hoe,[o.createElementVNode("span",foe,o.toDisplayString(o.unref(e)("Component classes:")),1),o.createVNode(xs,{classes:k.value,"empty-placeholder":""},null,8,["classes"])])]),o.createVNode(rr,{icon:"visibility",label:o.unref(e)("View component HTML"),hint:o.unref(e)("Preview component markup"),onClick:C},null,8,["label","hint"])],64)):(o.openBlock(),o.createElementBlock("p",doe,o.toDisplayString(o.unref(e)("No Component selected")),1))])):o.createCommentVNode("",!0),p.value==="components"?(o.openBlock(),o.createElementBlock("div",yoe,[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:b},[o.createElementVNode("span",voe,[o.createElementVNode("span",null,o.toDisplayString(o.unref(e)("Components")),1)]),o.createElementVNode("span",koe,o.toDisplayString(c.value?"expand_less":"expand_more"),1)],10,woe)):(o.openBlock(),o.createElementBlock("div",Soe,o.toDisplayString(o.unref(e)("No Components added yet")),1)),o.withDirectives(o.createElementVNode("div",Coe,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.value,(V,I)=>(o.openBlock(),o.createElementBlock("article",{key:String(V.id??V.title??I),class:"pbx-inspectorComponentCard"},[o.createElementVNode("button",{type:"button",class:"pbx-font-sans pbx-inspectorComponentCardToggle","aria-expanded":u(V,I),"aria-label":V.title||o.unref(e)("Component"),onClick:j=>x(V,I)},[o.createElementVNode("span",Eoe,[o.createElementVNode("span",Poe,"#"+o.toDisplayString(I+1),1),o.createElementVNode("span",Moe,o.toDisplayString(V.title||o.unref(e)("Component")),1)]),o.createElementVNode("span",Boe,o.toDisplayString(u(V,I)?"expand_less":"expand_more"),1)],8,Toe),o.withDirectives(o.createElementVNode("div",Loe,[o.createElementVNode("div",Noe,[o.createElementVNode("div",Aoe,[o.createElementVNode("span",_oe,o.toDisplayString(o.unref(e)("ID:")),1),o.createVNode(Hz,{value:V.id},null,8,["value"])]),o.createElementVNode("div",Doe,[o.createElementVNode("span",zoe,o.toDisplayString(o.unref(e)("Component classes:")),1),o.createVNode(xs,{classes:N(V),"empty-placeholder":""},null,8,["classes"])])]),o.createElementVNode("div",Ioe,[o.createVNode(rr,{icon:"visibility",label:o.unref(e)("View component HTML"),hint:o.unref(e)("Preview component markup"),onClick:j=>S(V,I)},null,8,["label","hint","onClick"])])],512),[[o.vShow,u(V,I)]])]))),128))],512),[[o.vShow,d.value&&c.value]])])):o.createCommentVNode("",!0)])])]))}}),Hoe={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"},Roe={key:1},Ooe={key:0},Foe={class:"pbx-flex pbx-items-left pbx-flex-col pbx-gap-1"},joe={class:"pbx-myQuaternaryHeader"},qoe={key:1,class:"pbx-editorSectionDesc"},Uoe={key:2,class:"pbx-editorSectionDesc"},Woe={key:3,class:"pbx-editorSectionDesc"},Goe={class:"pbx-settingsSection"},Koe={class:"pbx-settingsSectionTitle"},Joe={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Yoe={class:"pbx-overflow-x-auto"},Qoe={class:"pbx-min-w-full"},Xoe={class:"pbx-bg-gray-50"},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={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"},eie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},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={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"},aie={key:0,class:"pbx-settingsSection"},lie={class:"pbx-settingsSectionTitle"},sie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},pie={class:"pbx-overflow-x-auto"},die={class:"pbx-min-w-full"},cie={class:"pbx-bg-gray-50"},mie={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"},bie={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"},gie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},uie={key:0},xie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},hie={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"},yie={class:"pbx-min-w-[30rem] pbx-w-max"},wie={key:1},vie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},kie={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"},Cie={class:"pbx-min-w-[30rem] pbx-w-max"},Tie={key:1,class:"pbx-settingsSection"},Eie={class:"pbx-settingsSectionTitle"},Pie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Mie={class:"pbx-overflow-x-auto"},Bie={class:"pbx-min-w-full"},Lie={class:"pbx-bg-gray-50"},Nie={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"},Aie={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"},_ie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Die={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},zie={class:"pbx-min-w-[30rem] pbx-w-max"},Iie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Vie={class:"pbx-min-w-[30rem] pbx-w-max"},Hie={class:"pbx-flex pbx-items-center pbx-space-x-3"},Rie=["src"],Oie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Fie={class:"pbx-min-w-[30rem] pbx-w-max"},jie={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},qie={class:"pbx-min-w-[30rem] pbx-w-max"},Uie={class:"pbx-whitespace-nowrap"},Wie={key:2,class:"pbx-settingsSection"},Gie={class:"pbx-settingsSectionTitle"},Kie={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Jie={class:"pbx-overflow-x-auto"},Yie={class:"pbx-w-max pbx-min-w-full"},Qie={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"},Zie={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"},$ie={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},ene={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},tne={class:"pbx-min-w-[30rem] pbx-w-max"},rne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},one={class:"pbx-min-w-[30rem] pbx-w-max"},ine={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"},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-inline-flex pbx-items-center pbx-px-2.5 pbx-py-0.5 pbx-rounded-full pbx-text-xs pbx-font-medium"},dne={key:5,class:"pbx-px-2 pbx-settingsSectionGroup"},cne={key:0,class:"pbx-settingsSection"},mne={class:"pbx-settingsSectionTitle"},bne={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},gne={class:"pbx-overflow-x-auto"},une={class:"pbx-min-w-full"},xne={class:"pbx-bg-gray-50"},hne={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"},fne={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"},yne={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},wne={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"},kne={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"},Cne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Tne={class:"pbx-min-w-[30rem] pbx-w-max"},Ene={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Pne={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"},Bne={class:"pbx-min-w-[30rem] pbx-w-max"},Lne={class:"pbx-flex pbx-items-center pbx-space-x-3"},Nne=["src"],Ane={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},_ne={class:"pbx-min-w-[30rem] pbx-w-max"},Dne={key:0,class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},zne={class:"pbx-min-w-[30rem] pbx-w-max"},Ine={key:1,class:"pbx-settingsSection"},Vne={class:"pbx-settingsSectionTitle"},Hne={class:"pbx-overflow-hidden pbx-shadow-xs md:pbx-rounded-lg pbx-border pbx-border-gray-200"},Rne={class:"pbx-overflow-x-auto"},One={class:"pbx-min-w-full"},Fne={class:"pbx-bg-gray-50"},jne={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"},qne={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"},Une={class:"pbx-bg-white pbx-divide-y pbx-divide-gray-200"},Wne={key:0},Gne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Kne={class:"pbx-min-w-[30rem] pbx-w-max"},Jne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},Yne={class:"pbx-min-w-[30rem] pbx-w-max"},Qne={key:1},Xne={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},Zne={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"},eae={class:"pbx-min-w-[30rem] pbx-w-max"},tae={key:2},rae={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-font-medium pbx-text-gray-900"},oae={class:"pbx-min-w-[30rem] pbx-w-max"},iae={class:"pbx-px-6 pbx-py-4 pbx-whitespace-nowrap pbx-text-sm pbx-text-gray-500"},nae={class:"pbx-min-w-[30rem] pbx-w-max"},aae={key:0,class:"pbx-flex pbx-items-left pbx-flex-col pbx-gap-1"},lae={class:"pbx-myQuaternaryHeader"},sae={class:"pbx-myPrimaryParagraph pbx-text-xs"},pae={class:"pbx-settingsSection pbx-whitespace-pre-wrap pbx-text-white pbx-overflow-hidden pbx-bg-gray-900"},dae={class:"pbx-flex bg-gray-800/40 pbx-ring-1 ring-white/5"},cae={class:"pbx-mb-px pbx-flex pbx-text-xs pbx-font-medium pbx-text-myPrimaryMediumGrayColor"},mae={class:"pbx-px-4 pbx-py-4 pbx-text-white"},bae={class:"pbx-px-4 pbx-pb-8 pbx-pt-4 pbx-text-white pbx-text-xs pbx-break-all"},gae={class:"pbx-myPrimaryParagraph pbx-text-xs pbx-text-white"},uae={key:0},xae={class:"pbx-editorFieldGroup"},hae={key:1},fae={class:"pbx-myPrimaryParagraph pbx-mt-6 pbx-text-gray-500"},Gn=o.defineComponent({__name:"PageBuilderSettings",props:{embeddedSection:{}},setup(r){const e=r,{translate:t}=ae(),{showToast:i}=Ye(),n=o.computed(()=>!!e.embeddedSection),a=o.computed(()=>["overviewApp","overviewUser","overviewConfig"].includes(e.embeddedSection??"")),l=we,s=o.computed(()=>l.getPageBuilderConfig),p=o.computed(()=>l.getComponents),d=o.ref("overview");function c(T){d.value=T}const m=o.computed(()=>a.value||!e.embeddedSection&&d.value==="overview"),b=o.computed(()=>m.value&&!a.value),g=o.computed(()=>e.embeddedSection==="overviewApp"||!e.embeddedSection&&d.value==="overview"),u=o.computed(()=>e.embeddedSection==="overviewUser"||!e.embeddedSection&&d.value==="overview"),x=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(T,k){const P=`
367
367
  <!DOCTYPE html>
368
368
  <html lang="en">
369
369
  <head>
@@ -412,7 +412,7 @@ ${x}
412
412
  </div></div></div>
413
413
  </section>`}const vc="data-meta-title",kc="data-meta-description";function Jn(r){return{title:r.getAttribute(vc)||"",description:r.getAttribute(kc)||""}}function Ss(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(vc,t):r.removeAttribute(vc),i?r.setAttribute(kc,i):r.removeAttribute(kc)}function Yn(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 Nde(r,e){return{...r,meta:{...Yn(r),...e}}}function Ade(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=m=>{const b=Math.min(1,(m-d)/t),g=1-(1-b)**3;if(r.scrollTop=s+p*g,window.dispatchEvent(new CustomEvent("pagebuilder:layout-change")),b<1){requestAnimationFrame(c);return}window.dispatchEvent(new CustomEvent("pagebuilder:layout-change"))};requestAnimationFrame(c)}const _de=["en","zh-Hans","fr","ja","ru","es","pt","de","ar","hi","da","it"],Cs="pbx-full-width-component";class Wz{constructor(e){de(this,"fontSizeRegex",/^(sm:|md:|lg:|xl:|2xl:)?pbx-text-(xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl)$/);de(this,"pageBuilderStateStore");de(this,"getLocalStorageItemName");de(this,"getApplyImageToSelection");de(this,"getHyberlinkEnable");de(this,"getComponents");de(this,"getComponent");de(this,"getElement");de(this,"getComponentArrayAddMethod");de(this,"NoneListernesTags");de(this,"hasStartedEditing",!1);de(this,"originalComponents");de(this,"originalPageSettings",null);de(this,"savedMountComponents",null);de(this,"pendingMountComponents",null);de(this,"globalStylesObserver",null);de(this,"_pendingPageSettings",null);de(this,"_lastKnownPageSettings",null);de(this,"isPageBuilderMissingOnStart",!1);de(this,"hasCompletedBuilderMount",!1);de(this,"builderWasMountedBeforeClose",!1);de(this,"builderMountPromise",null);de(this,"activeBuilderSessionToken",0);de(this,"canvasClickCaptureListener",null);de(this,"canvasDblClickCaptureListener",null);de(this,"elementsWithListeners",new WeakMap);de(this,"translate");de(this,"handleMouseOver",(e,t)=>{if(this.pageBuilderStateStore.getInlineTipTapEditor)return;e.preventDefault(),e.stopPropagation();const i=this.getBuilderCanvasElement();if(!i)return;const n=i.querySelector("[hovered]");n&&n.removeAttribute("hovered"),t.hasAttribute("selected")||t.setAttribute("hovered","")});de(this,"handleMouseLeave",e=>{if(this.pageBuilderStateStore.getInlineTipTapEditor)return;e.preventDefault(),e.stopPropagation();const t=this.getBuilderCanvasElement();if(!t)return;const i=t.querySelector("[hovered]");i&&i.removeAttribute("hovered")});de(this,"addListenersToEditableElements",async()=>{const e=this.getBuilderCanvasElement();if(!e)return;await o.nextTick(),this.attachCanvasInlineEditListeners(e);let t=0,i=0;e.querySelectorAll("section *").forEach(n=>{if(this.isEditableElement(n)){t++;const a=n;if(this.elementsWithListeners.has(a)){const c=this.elementsWithListeners.get(a);c&&(a.removeEventListener("click",c.click),a.removeEventListener("dblclick",c.dblclick),a.removeEventListener("mouseover",c.mouseover),a.removeEventListener("mouseleave",c.mouseleave))}const l=c=>this.handleElementClick(c,a),s=c=>this.handleElementDoubleClick(c,a),p=c=>this.handleMouseOver(c,a),d=c=>this.handleMouseLeave(c);a.addEventListener("click",l),a.addEventListener("dblclick",s),a.addEventListener("mouseover",p),a.addEventListener("mouseleave",d),i++,this.elementsWithListeners.set(a,{click:l,dblclick:s,mouseover:p,mouseleave:d})}}),this.debugLog("log","addListenersToEditableElements(): attached listeners",{eligible:t,attached:i,hasSections:!!e.querySelector("section")})});de(this,"handleCanvasClickCapture",async e=>{if(!this.pageBuilderStateStore.getImageSettingsPanelOpen&&this.pageBuilderStateStore.getInlineTipTapEditor)if(!this.hasInlineTipTapElement())this.pageBuilderStateStore.setInlineTipTapEditor(!1);else{const t=document.querySelector("#pagebuilder [data-pbx-inline-tiptap]");if(t&&e.target instanceof Node&&!t.contains(e.target)){const i=e.target instanceof Element&&!!e.target.closest("[data-pbx-insert-btn]");i||(e.preventDefault(),e.stopPropagation());const n=i?null:this.findEditableElementFromEventTarget(e.target);this.finishActiveInlineTipTapEditorFromDom(n)}}});de(this,"handleCanvasDoubleClickCapture",async e=>{await this.openInlineTipTapFromEvent(e)});de(this,"handleElementClick",async(e,t)=>{if(!this.pageBuilderStateStore.getImageSettingsPanelOpen){if(this.pageBuilderStateStore.getInlineTipTapEditor){e.preventDefault(),e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),await this.selectEditableElement(t)}});de(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),this.hasInlineTipTapElement()||this.pageBuilderStateStore.setInlineTipTapEditor(!1)}});de(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.commitActiveInlineTipTapEditorSync(),this.pageBuilderStateStore.setIsSaving(!0),this.saveDomComponentsToLocalStorage(),await Re(400)}catch(t){console.error("Error trying auto save.",t),this.debugLog("error","handleAutoSave(): error",t);const{showToast:i}=Ye(),{translate:n}=ae();i(n("Auto-save failed — please save manually"),"error")}finally{this.pageBuilderStateStore.setIsSaving(!1)}}if(e&&!e.userSettings)try{this.commitActiveInlineTipTapEditorSync(),this.pageBuilderStateStore.setIsSaving(!0),this.saveDomComponentsToLocalStorage(),await Re(400)}catch(t){console.error("Error trying saving.",t),this.debugLog("error","handleAutoSave(): error (no userSettings)",t);const{showToast:i}=Ye(),{translate:n}=ae();i(n("Auto-save failed — please save manually"),"error")}finally{this.pageBuilderStateStore.setIsSaving(!1)}});de(this,"handleManualSave",async e=>{this.commitActiveInlineTipTapEditorSync(),await this.syncDomToStoreOnly(),this.pageBuilderStateStore.setIsSaving(!0),e||this.clearHtmlSelection(),this.startEditing(),this.saveDomComponentsToLocalStorage(),await this.refreshListeners(),await Re(300),this.pageBuilderStateStore.setIsSaving(!1)});de(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"))});de(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}=ae();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"]}isDebugEnabled(){try{return typeof localStorage<"u"&&localStorage.getItem("pbx-debug")==="1"}catch{return!1}}debugLog(e,t,i){if(!this.isDebugEnabled())return;const n="[PBX]";if(i!==void 0){console[e](`${n} ${t}`,i);return}console[e](`${n} ${t}`)}getBuilderCanvasElement(){const e=document.querySelector("#pagebuilder[data-builder-canvas]");return e||document.querySelector("#pagebuilder")}availableLanguage(){return _de}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&&lo(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||lo(a)||!l||lo(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 c,m,b;const i=++this.activeBuilderSessionToken;this.debugLog("warn","startBuilder(): begin",{sessionToken:i,hasPassedComponentsArray:Array.isArray(t),passedComponentsLength:Array.isArray(t)?t.length:null});const n=this.getBuilderCanvasElement(),a=!!(n!=null&&n.querySelector("section[data-componentid]"));this.debugLog("warn","startBuilder(): dom snapshot",{hasLiveMountedContent:a,hasPagebuilderEl:!!n,hasCompletedBuilderMount:this.hasCompletedBuilderMount});const l=this.builderWasMountedBeforeClose&&i>1;(!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),typeof this.pageBuilderStateStore.setIsLoadingGlobal=="function"&&this.pageBuilderStateStore.setIsLoadingGlobal(!1),this.pageBuilderStateStore.setBuilderStarted(!0);const s=this.getBuilderCanvasElement();this.debugLog("warn","startBuilder(): #pagebuilder present?",!!s);const p=this.readCurrentPageSettings();this.hasMeaningfulPageSettings(p)&&(this._lastKnownPageSettings=p);let d;try{this.originalComponents=t,this.originalPageSettings=e.pageSettings??null;let g=e;this.hasMeaningfulPageSettings(p)&&!this.hasMeaningfulPageSettings(e.pageSettings)&&(g={...e,pageSettings:p}),this.pageBuilderStateStore.setPageBuilderConfig(g);const u=JSON.parse(localStorage.getItem("userSettingsPageBuilder")??"null");!(u!=null&&u.lang)&&((m=(c=e.userSettings)==null?void 0:c.language)!=null&&m.default)&&this.changeLanguage(e.userSettings.language.default),this.validateConfig(e),d=this.validateUserProvidedComponents(t);const x=Array.isArray(t)&&t.length>0?t:null,h=x!==null;if(this.updateLocalStorageItemName(),this.initializeHistory(),this.debugLog("warn","startBuilder(): storage key",{key:this.getLocalStorageItemName.value}),h&&(this.savedMountComponents=x),s||(this.isPageBuilderMissingOnStart=!0),h&&!s){const w=this.getSavedPageHtml();this.debugLog("warn","startBuilder(): deferred mount decision",{existingDraft:!!w,builderWasMountedBeforeClose:this.builderWasMountedBeforeClose,willQueuePendingMount:!0}),this.pendingMountComponents=x}if(s&&(!t||Array.isArray(t))&&(this.debugLog("warn","startBuilder(): calling completeBuilderInitialization",{hasUsablePassedComponents:h,isPageBuilderMissingOnStart:this.isPageBuilderMissingOnStart}),await this.completeBuilderInitializationWithSession(h?x:void 0,i)),s&&(await this.addListenersToEditableElements(),this.debugLog("warn","startBuilder(): listeners attached (safety net)")),a&&s){const w=((b=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:b.pageSettings)??null;if(this.hasMeaningfulPageSettings(w)){const f=this.convertStyleObjectToString(w.style),T=s.getAttribute("style")||"";f.trim()&&!T.trim()&&(await o.nextTick(),this.applyPageSettingsToPage(w))}}const y={message:"Page builder started successfully."};return d&&(y.validation=d),Array.isArray(t)&&t.length>=0&&(y.passedComponentsArray=t),y}catch(g){return console.error("Not able to start the Page Builder",g),this.debugLog("error","startBuilder(): error",g),{error:!0,reason:"Failed to start the Page Builder due to an unexpected error."}}}shouldCompleteBuilderMountOnMount(e){if(this.hasCompletedBuilderMount){if(this.isPageBuilderMissingOnStart)return this.hasCompletedBuilderMount=!1,this.builderMountPromise=null,!0;const t=e??this.getBuilderCanvasElement(),i=!!(t!=null&&t.querySelector("section[data-componentid]"));return t&&!i?(this.hasCompletedBuilderMount=!1,this.builderMountPromise=null,!0):!1}return this.isPageBuilderMissingOnStart||!!this.pendingMountComponents}markCanvasUnmountedForNextMount(){this.hasCompletedBuilderMount=!1,this.builderMountPromise=null,this.isPageBuilderMissingOnStart=!0}async completeBuilderInitialization(e){return this.completeBuilderInitializationWithSession(e,this.activeBuilderSessionToken)}async completeBuilderInitializationWithSession(e,t=this.activeBuilderSessionToken){if(t===this.activeBuilderSessionToken){if(this.hasCompletedBuilderMount){this.pageBuilderStateStore.setIsLoadingGlobal(!1);return}this.builderMountPromise||(this.builderMountPromise=this.runCompleteBuilderInitialization(e,t));try{await this.builderMountPromise}finally{this.pageBuilderStateStore.setIsLoadingGlobal(!1)}}}async runCompleteBuilderInitialization(e,t=this.activeBuilderSessionToken){if(t!==this.activeBuilderSessionToken)return;let i=!1;try{if(this.pageBuilderStateStore.setIsLoadingGlobal(!0),i=!0,await Re(400),t!==this.activeBuilderSessionToken)return;this.debugLog("warn","completeBuilderInitialization(): loading ON",{sessionToken:t,key:this.getLocalStorageItemName.value}),this.deleteAllComponentsFromDOM();const n=this.pageBuilderStateStore.getPageBuilderConfig,a=n&&n.updateOrCreate&&n.updateOrCreate.formType,l=this.getSavedPageHtml();if(this.debugLog("warn","completeBuilderInitialization(): draft presence",{key:this.getLocalStorageItemName.value,hasLocalDraft:!!l,draftBytes:typeof l=="string"?l.length:0,isPageBuilderMissingOnStart:this.isPageBuilderMissingOnStart,hasPendingMountComponents:!!this.pendingMountComponents,hasPassedComponents:!!e}),await this.clearHtmlSelection(),t!==this.activeBuilderSessionToken)return;if(a==="update"||a==="create"){if(!this.pendingMountComponents){if(!e&&this.isPageBuilderMissingOnStart&&l){this.debugLog("warn","completeBuilderInitialization(): mounting from local draft (missing-on-start)"),await this.completeMountProcess(l,void 0,t,!0);return}if(e&&!l){this.debugLog("warn","completeBuilderInitialization(): mounting from passed components (no draft)");const s=this.renderComponentsToHtml(e);await this.completeMountProcess(s,!0,t),this.saveDomComponentsToLocalStorage();return}if(e&&l){if(this.builderWasMountedBeforeClose){this.debugLog("warn","completeBuilderInitialization(): reopening session -> mounting from local draft directly",{key:this.getLocalStorageItemName.value}),await this.completeMountProcess(l,void 0,t,!0);return}this.debugLog("warn","completeBuilderInitialization(): both passed + draft exist → mounting passed content + showing resume modal",{key:this.getLocalStorageItemName.value});const s=this.renderComponentsToHtml(e);await this.completeMountProcess(s,!0,t),await Re(500),this.pageBuilderStateStore.setHasLocalDraftForUpdate(!0);return}if(!e&&l&&!this.pendingMountComponents){this.debugLog("warn","completeBuilderInitialization(): mounting from local draft (default path)"),await this.completeMountProcess(l,void 0,t,!0);return}if(!e&&!l&&this.isPageBuilderMissingOnStart){const s=this.renderComponentsToHtml([]);await this.completeMountProcess(s,void 0,t);return}if(!this.isPageBuilderMissingOnStart&&!l&&!e){const s=this.renderComponentsToHtml([]);await this.completeMountProcess(s,void 0,t);return}}if(this.pendingMountComponents){if(l&&this.isPageBuilderMissingOnStart){this.debugLog("warn","completeBuilderInitialization(): pending mount + draft → mounting passed content + showing resume modal");const s=this.renderComponentsToHtml(this.pendingMountComponents);await this.completeMountProcess(s,!0,t),await Re(500),this.pageBuilderStateStore.setHasLocalDraftForUpdate(!0),this.pendingMountComponents=null;return}if(!l&&e&&this.isPageBuilderMissingOnStart){this.debugLog("warn","completeBuilderInitialization(): pending mount (no draft) → mount and save");const s=this.renderComponentsToHtml(this.pendingMountComponents);await this.completeMountProcess(s,!0,t),this.saveDomComponentsToLocalStorage();return}if(!e&&!l&&this.isPageBuilderMissingOnStart){const s=this.renderComponentsToHtml(this.pendingMountComponents);await this.completeMountProcess(s,!0,t),this.saveDomComponentsToLocalStorage();return}}}}finally{i&&this.pageBuilderStateStore.setIsLoadingGlobal(!1)}}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
414
  `)}async completeMountProcess(e,t,i=this.activeBuilderSessionToken,n=!1){if(i!==this.activeBuilderSessionToken){this.pageBuilderStateStore.setIsLoadingGlobal(!1);return}if(await this.mountComponentsToDOM(e,t,void 0,n),i!==this.activeBuilderSessionToken){this.pageBuilderStateStore.setIsLoadingGlobal(!1);return}this.deleteOldPageBuilderLocalStorage(),this.pageBuilderStateStore.setIsRestoring(!1),this.hasCompletedBuilderMount=!0,this.builderWasMountedBeforeClose=!0,this.pendingMountComponents=null,this.isPageBuilderMissingOnStart=!1,this.pageBuilderStateStore.setIsLoadingGlobal(!1),this.debugLog("warn","completeMountProcess(): loading OFF + mount complete",{sessionToken:i,hasCompletedBuilderMount:this.hasCompletedBuilderMount})}applyElementClassChanges(e,t,i){const n=this.getActiveStyleTarget();if(!n)return;const a=t===yt.roundedGlobal||t===yt.roundedTopLeft||t===yt.roundedTopRight||t===yt.roundedBottomLeft||t===yt.roundedBottomRight,l=(()=>{if(!a||n.tagName==="A")return null;const m=Array.from(n.querySelectorAll("a")).filter(g=>g instanceof HTMLAnchorElement),b=m.find(g=>t.some(u=>u!=="none"&&g.classList.contains(u)));return b||(n.id==="linktree"||n.classList.contains("pbx-product-card-cta")?m[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(m=>p.classList.contains(m))||(l instanceof HTMLElement?t.find(m=>n.classList.contains(m)):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 m=this.pageBuilderStateStore[i];m(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(m=>{m!=="none"&&["lg","md","sm","xl","2xl"].forEach(b=>{const g=`${b}:${m}`;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(m=>{m!=="none"&&["lg","md","sm","xl","2xl"].forEach(b=>{const g=`${b}:${m}`;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 m=this.pageBuilderStateStore[i];m(c),this.pageBuilderStateStore.getInlineTipTapEditor||this.pageBuilderStateStore.setElement(n)}if(e!==void 0){this.pageBuilderStateStore.setCurrentClasses(Array.from(n.classList));const m=n.getAttribute("style");m?this.pageBuilderStateStore.setCurrentStyles(this.parseStyleString(m)):this.pageBuilderStateStore.setCurrentStyles({}),n===this.getBuilderCanvasElement()&&this.syncGlobalPageSettingsIntoRuntimeConfig()}return d}removeElementClassesFromArray(e,t){t.forEach(i=>{i!=="none"&&e.classList.contains(i)&&e.classList.remove(i)})}syncGlobalPageSettingsIntoRuntimeConfig(){if(!this.pageBuilderStateStore.getToggleGlobalHtmlMode)return;const e=this.getBuilderCanvasElement();if(!e)return;const t={classes:e.className||"",style:e.getAttribute("style")||e.style.cssText||"",meta:Jn(e)};this._lastKnownPageSettings=t;const i=this.pageBuilderStateStore.getPageBuilderConfig;i&&typeof i=="object"&&this.pageBuilderStateStore.setPageBuilderConfig({...i,pageSettings:t})}async clearClassesFromPage(){const e=this.getBuilderCanvasElement();e==null||e.removeAttribute("class"),this.initializeElementStyles(),this.syncGlobalPageSettingsIntoRuntimeConfig(),await o.nextTick()}async clearInlineStylesFromPage(){const e=this.getBuilderCanvasElement();e==null||e.removeAttribute("style"),this.initializeElementStyles(),this.syncGlobalPageSettingsIntoRuntimeConfig(),await o.nextTick()}async globalPageStyles(){const e=this.getBuilderCanvasElement();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,Ut.fontWeight,"setFontWeight")}handleFontSizeBase(e){this.applyElementClassChanges(e,Fo.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=Fo.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||(this.commitActiveInlineTipTapEditorSync(),this.saveDomComponentsToLocalStorage()))}async finishInlineTipTapEditor(e,t=!0){if(this.pageBuilderStateStore.setInlineTipTapEditor(!1),await o.nextTick(),e){const i=this.getBuilderCanvasElement();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&&(this.commitActiveInlineTipTapEditorSync(),this.saveDomComponentsToLocalStorage())}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(Cs))??!1}async setSelectedComponentFullWidth(e){const t=this.getSelectedComponentSection();t&&(t.classList.toggle(Cs,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()?{...tr}:zJ(e)}getSelectedProductSectionContentAvailability(){const e=this.getSelectedComponentSection();return!e||!this.isSelectedProductSection()?{hasPrices:!1,hasImages:!1,hasButtons:!1,hasLinks:!1}:{hasPrices:LJ(e),hasImages:BJ(e),hasButtons:NJ(e),hasLinks:AJ(e)}}async updateSelectedProductSection(e){const t=this.getSelectedComponentSection();!t||!this.isSelectedProductSection()||(HJ(t,e),await this.handleAutoSave())}isGlobalFullWidth(){const e=this.getBuilderCanvasElement();return(e==null?void 0:e.classList.contains(Cs))??!1}async setGlobalFullWidth(e){const t=this.getBuilderCanvasElement();t==null||t.classList.toggle(Cs,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=fc.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,fc.objectFit,"setImageObjectFit")}handleImageObjectPosition(e){this.applyElementClassChanges(e,fc.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=t=>{this.handleCanvasClickCapture(t)},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=this.getBuilderCanvasElement();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]")}commitActiveInlineTipTapEditorSync(){const e=document.querySelector("#pagebuilder [data-pbx-inline-tiptap]");if(!e)return null;const t=e.querySelector(".ProseMirror"),i=e.getAttribute("data-pbx-inline-original-html")??"",n=this.pageBuilderStateStore.getTextAreaVueModel,a=typeof n=="string"&&n.trim().length>0?n:(t==null?void 0:t.innerHTML)??e.innerHTML,l=Xd(a,i);return e.innerHTML=l,e.removeAttribute("data-pbx-inline-tiptap"),e.removeAttribute("data-pbx-inline-original-html"),this.pageBuilderStateStore.setTextAreaVueModel(l),this.pageBuilderStateStore.setInlineTipTapEditor(!1),e}flushPendingEditsToLocalStorage(){this.commitActiveInlineTipTapEditorSync(),this.saveDomComponentsToLocalStorage()}async finishActiveInlineTipTapEditorFromDom(e=null){const t=this.commitActiveInlineTipTapEditorSync();if(!t){await this.toggleInlineTipTapEditor(!1);return}this.pageBuilderStateStore.setElement(t),await this.finishInlineTipTapEditor(t,!1),e&&e!==t&&await this.selectEditableElement(e,!1),this.saveDomComponentsToLocalStorage(),this.handleAutoSave()}async openInlineTipTapForElement(e){this.isValidTextElement(e)&&(await this.selectEditableElement(e,!1),await o.nextTick(),await this.addListenersToEditableElements())}async selectEditableElement(e,t=!0){const i=this.getBuilderCanvasElement();if(!i){this.debugLog("warn","selectEditableElement(): #pagebuilder missing; cannot select/save",{elementTag:e==null?void 0:e.tagName,elementId:(e==null?void 0:e.id)??null,key:this.getLocalStorageItemName.value});return}this.pageBuilderStateStore.setMenuRight(!0);const n=i.querySelector("[selected]");if(n&&n.removeAttribute("selected"),e.removeAttribute("hovered"),e.setAttribute("selected",""),this.pageBuilderStateStore.setElement(e),await o.nextTick(),await this.initializeElementStyles(),t){const a=this.pageBuilderStateStore.getPageBuilderConfig,l=a&&a.userSettings?a.userSettings.autoSave:void 0;this.saveDomComponentsToLocalStorage(),l!==!1&&this.handleAutoSave()}}getHistoryBaseKey(){return this.getLocalStorageItemName.value}initializeHistory(){const e=this.getHistoryBaseKey();if(e){const t=Li.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=yc(),t.title&&s.setAttribute("data-component-title",t.title),t.id=s.dataset.componentid,t.html_code=s.outerHTML),t}async removeHoveredAndSelected(){const e=this.getBuilderCanvasElement();if(!e)return;const t=e.querySelector("[hovered]");t&&t.removeAttribute("hovered");const i=e.querySelector("[selected]");i&&i.removeAttribute("selected")}async syncCurrentClasses(){const e=this.getActiveStyleTarget();this.pageBuilderStateStore.setCurrentClasses(Array.from((e==null?void 0:e.classList)??[]))}async syncCurrentStyles(){const e=this.getActiveStyleTarget(),t=e==null?void 0:e.getAttribute("style");if(t){const i=this.parseStyleString(t);this.pageBuilderStateStore.setCurrentStyles(i)}else this.pageBuilderStateStore.setCurrentStyles({})}getActiveStyleTarget(){if(this.pageBuilderStateStore.getToggleGlobalHtmlMode){const e=this.getBuilderCanvasElement();if(e)return this.getElement.value!==e&&this.pageBuilderStateStore.setElement(e),e}return this.getElement.value}handleAddClasses(e){const t=this.getActiveStyleTarget();if(t&&typeof e=="string"&&e.trim()!==""&&!e.includes(" ")&&!t.classList.contains("pbx-"+e.trim())){const i=e.trim(),n=i.startsWith("pbx-")?i:"pbx-"+i;t.classList.add(n),this.pageBuilderStateStore.setElement(t),this.pageBuilderStateStore.setClass(n),this.pageBuilderStateStore.setCurrentClasses(Array.from(t.classList))}}handleAddStyle(e,t){const i=this.getActiveStyleTarget();!i||!e||!t||(i.style.setProperty(e,t),this.pageBuilderStateStore.setElement(i),this.pageBuilderStateStore.setCurrentStyles(this.parseStyleString(i.getAttribute("style")||"")))}handleRemoveStyle(e){const t=this.getActiveStyleTarget();if(!t||!e)return;t.style.removeProperty(e),this.pageBuilderStateStore.setElement(t);const i=t.getAttribute("style");i?this.pageBuilderStateStore.setCurrentStyles(this.parseStyleString(i)):this.pageBuilderStateStore.setCurrentStyles({})}async handleFontFamily(e){var i;const t=$l((i=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:i.userSettings);if(e&&e!=="none")try{await Pde(e)}catch(n){console.error("Failed to load font:",e,n)}this.applyElementClassChanges(e,t,"setFontFamily")}handleFontStyle(e){this.applyElementClassChanges(e,Ut.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([me.topPadding,me.bottomPadding]),this.applyElementClassChanges(e,me.verticalPadding,"setFontVerticalPadding")}handleHorizontalPadding(e){e!==void 0&&this.purgeConflictingClasses([me.leftPadding,me.rightPadding]),this.applyElementClassChanges(e,me.horizontalPadding,"setFontHorizontalPadding")}handleTopPadding(e){e!==void 0&&this.purgeConflictingClasses([me.verticalPadding]),this.applyElementClassChanges(e,me.topPadding,"setFontTopPadding")}handleRightPadding(e){e!==void 0&&this.purgeConflictingClasses([me.horizontalPadding]),this.applyElementClassChanges(e,me.rightPadding,"setFontRightPadding")}handleBottomPadding(e){e!==void 0&&this.purgeConflictingClasses([me.verticalPadding]),this.applyElementClassChanges(e,me.bottomPadding,"setFontBottomPadding")}handleLeftPadding(e){e!==void 0&&this.purgeConflictingClasses([me.horizontalPadding]),this.applyElementClassChanges(e,me.leftPadding,"setFontLeftPadding")}handleVerticalMargin(e){e!==void 0&&this.purgeConflictingClasses([me.topMargin,me.bottomMargin]),this.applyElementClassChanges(e,me.verticalMargin,"setFontVerticalMargin")}handleHorizontalMargin(e){e!==void 0&&this.purgeConflictingClasses([me.leftMargin,me.rightMargin]),this.applyElementClassChanges(e,me.horizontalMargin,"setFontHorizontalMargin")}handleTopMargin(e){e!==void 0&&this.purgeConflictingClasses([me.verticalMargin]),this.applyElementClassChanges(e,me.topMargin,"setFontTopMargin")}handleRightMargin(e){e!==void 0&&this.purgeConflictingClasses([me.horizontalMargin]),this.applyElementClassChanges(e,me.rightMargin,"setFontRightMargin")}handleBottomMargin(e){e!==void 0&&this.purgeConflictingClasses([me.verticalMargin]),this.applyElementClassChanges(e,me.bottomMargin,"setFontBottomMargin")}handleLeftMargin(e){e!==void 0&&this.purgeConflictingClasses([me.horizontalMargin]),this.applyElementClassChanges(e,me.leftMargin,"setFontLeftMargin")}handleBorderStyle(e){this.applyElementClassChanges(e,Bi.borderStyle,"setBorderStyle")}handleBorderWidth(e){this.applyElementClassChanges(e,Bi.borderWidth,"setBorderWidth")}handleBorderColor(e){this.applyElementClassChanges(e,Bi.borderColor,"setBorderColor")}handleBackgroundColor(e){const t=this.getActiveStyleTarget();if(t){if(e===void 0){const i=t.style.getPropertyValue("background-color");if(i){this.pageBuilderStateStore.setBackgroundColor(`custom:${$t(i)??i}`);return}}else t.style.removeProperty("background-color");this.applyElementClassChanges(e,Ti.backgroundColorVariables,"setBackgroundColor")}}handleCustomBackgroundColor(e){const t=this.getActiveStyleTarget();!t||!e||(this.removeElementClassesFromArray(t,Ti.backgroundColorVariables),t.style.setProperty("background-color",e),this.pageBuilderStateStore.setBackgroundColor(`custom:${e}`),this.pageBuilderStateStore.setElement(t),this.pageBuilderStateStore.setCurrentClasses(Array.from(t.classList)),this.pageBuilderStateStore.setCurrentStyles(this.parseStyleString(t.getAttribute("style")||"")),t===this.getBuilderCanvasElement()&&this.syncGlobalPageSettingsIntoRuntimeConfig())}handleTextColor(e){const t=this.getActiveStyleTarget();if(t){if(e===void 0){const i=t.style.getPropertyValue("color");if(i){this.pageBuilderStateStore.setTextColor(`custom:${$t(i)??i}`);return}}else t.style.removeProperty("color");this.applyElementClassChanges(e,Ti.textColorVariables,"setTextColor")}}handleCustomTextColor(e){const t=this.getActiveStyleTarget();!t||!e||(this.removeElementClassesFromArray(t,Ti.textColorVariables),t.style.setProperty("color",e),this.pageBuilderStateStore.setTextColor(`custom:${e}`),this.pageBuilderStateStore.setElement(t),this.pageBuilderStateStore.setCurrentClasses(Array.from(t.classList)),this.pageBuilderStateStore.setCurrentStyles(this.parseStyleString(t.getAttribute("style")||"")))}handleBorderRadiusGlobal(e){this.applyElementClassChanges(e,yt.roundedGlobal,"setBorderRadiusGlobal")}handleBorderRadiusTopLeft(e){this.applyElementClassChanges(e,yt.roundedTopLeft,"setBorderRadiusTopLeft")}handleBorderRadiusTopRight(e){this.applyElementClassChanges(e,yt.roundedTopRight,"setBorderRadiusTopRight")}handleBorderRadiusBottomleft(e){this.applyElementClassChanges(e,yt.roundedBottomLeft,"setBorderRadiusBottomleft")}handleBorderRadiusBottomRight(e){this.applyElementClassChanges(e,yt.roundedBottomRight,"setBorderRadiusBottomRight")}handleFontSizeTablet(e){this.applyElementClassChanges(e,Fo.fontTablet,"setFontTablet")}handleFontSizeMobile(e){this.applyElementClassChanges(e,Fo.fontMobile,"setFontMobile")}handleBackgroundOpacity(e){this.applyElementClassChanges(e,vs.backgroundOpacities,"setBackgroundOpacity")}handleOpacity(e){this.applyElementClassChanges(e,vs.opacities,"setOpacity")}deleteAllComponentsFromDOM(){this.pageBuilderStateStore.setComponents([]);const e=this.getBuilderCanvasElement();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=Li.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=Li.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){const t=this.getActiveStyleTarget();t!=null&&t.classList.contains(e)&&(t.classList.remove(e),this.pageBuilderStateStore.setElement(t),this.pageBuilderStateStore.removeClass(e),this.pageBuilderStateStore.setCurrentClasses(Array.from(t.classList)))}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&&(Ade(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=this.getBuilderCanvasElement();if(e&&e){const t=Iz(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}getPersistableSections(e){const t=Array.from(e.querySelectorAll("section[data-componentid]"));return t.length>0?t:Array.from(e.querySelectorAll("section")).filter(n=>!n.parentElement||n.parentElement.tagName.toLowerCase()!=="section")}async syncDomToStoreOnly(){const e=this.getBuilderCanvasElement();if(!e)return;const t=[];this.getPersistableSections(e).forEach(n=>{const a=this.cloneAndRemoveSelectionAttributes(n);a.getAttribute("data-componentid")||a.setAttribute("data-componentid",yc()),a.getAttribute("data-component-title")||a.setAttribute("data-component-title","Untitled Component"),t.push({html_code:a.outerHTML,id:a.getAttribute("data-componentid"),title:a.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 Ss(i,Yn(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.commitActiveInlineTipTapEditorSync(),this.getLocalStorageItemName.value||this.updateLocalStorageItemName();const e=this.getLocalStorageItemName.value;e||this.debugLog("warn","saveDomComponentsToLocalStorage(): no storage key resolved",{config:this.pageBuilderStateStore.getPageBuilderConfig??null});const t=this.getBuilderCanvasElement();if(!t){this.debugLog("warn","saveDomComponentsToLocalStorage(): no #pagebuilder in DOM",{key:e});return}const i=t.querySelector("[hovered]");i&&i.removeAttribute("hovered");const n=[];this.getPersistableSections(t).forEach(m=>{const b=this.cloneAndRemoveSelectionAttributes(m);b.removeAttribute("data-componentid"),b.getAttribute("data-component-title")||b.setAttribute("data-component-title","Untitled Component"),n.push({html_code:b.outerHTML,title:b.getAttribute("data-component-title")||"Untitled Component"})}),this.debugLog("warn","saveDomComponentsToLocalStorage(): collected sections",{key:e,sections:n.length,hasSelected:!!t.querySelector("[selected]"),hasInlineTipTap:!!t.querySelector("[data-pbx-inline-tiptap]")});const s=(t?{classes:t.className||"",style:t.getAttribute("style")||t.style.cssText||"",meta:Jn(t)}:null)??this.readCurrentPageSettings()??this._lastKnownPageSettings??{classes:"",style:""},p=this.pageBuilderStateStore.getPageBuilderConfig;p&&typeof p=="object"&&this.pageBuilderStateStore.setPageBuilderConfig({...p,pageSettings:s}),this.debugLog("warn","saveDomComponentsToLocalStorage(): pageSettings snapshot",{classes:(s==null?void 0:s.classes)??"",style:typeof(s==null?void 0:s.style)=="string"?s.style:s!=null&&s.style?this.convertStyleObjectToString(s.style):""});const d={components:n,pageBuilderContentSavedAt:new Date().toISOString(),pageSettings:s},c=this.getHistoryBaseKey();if(c){const m=localStorage.getItem(c);this.debugLog("warn","saveDomComponentsToLocalStorage(): existing key?",{baseKey:c,hasExisting:!!m});try{localStorage.setItem(c,JSON.stringify(d))}catch(b){this.debugLog("error","saveDomComponentsToLocalStorage(): localStorage.setItem failed",{baseKey:c,err:b});return}if(m){const b=JSON.parse(m),g=b.components||[],u=d.components||[],x=u.length!==g.length||u.some((y,w)=>{const f=g[w];return!f||f.html_code!==y.html_code}),h=b.pageSettings&&b.pageSettings.classes!==d.pageSettings.classes||b.pageSettings&&b.pageSettings.style!==d.pageSettings.style;if(x||h){this.debugLog("error","saveDomComponentsToLocalStorage(): wrote draft",{baseKey:c,sections:d.components.length});let y=Li.getHistory(c);const w=y[y.length-1];if(w){const f=JSON.stringify(w.components),T=JSON.stringify(d.components),k=JSON.stringify(w.pageSettings),E=JSON.stringify(d.pageSettings);if(f===T&&k===E)return}this.pageBuilderStateStore.getHistoryIndex<y.length-1&&(y=y.slice(0,this.pageBuilderStateStore.getHistoryIndex+1)),y.push(d),y.length>10&&(y=y.slice(y.length-10)),localStorage.setItem(c+"-history",JSON.stringify(y)),this.pageBuilderStateStore.setHistoryIndex(y.length-1),this.pageBuilderStateStore.setHistoryLength(y.length);return}}}}async removeCurrentComponentsFromLocalStorage(){this.updateLocalStorageItemName(),await o.nextTick();const e=this.getLocalStorageItemName.value;e&&localStorage.removeItem(e)}async handleFormSubmission(e){const t=(e==null?void 0:e.preservePageSettings)??!0,i=this.readCurrentPageSettings();if(i&&t?this._lastKnownPageSettings=i:t||(this._lastKnownPageSettings=null),await this.removeCurrentComponentsFromLocalStorage(),this.deleteAllComponentsFromDOM(),this.pageBuilderStateStore.setComponents([]),!t){const n=this.getBuilderCanvasElement();n==null||n.removeAttribute("class"),n==null||n.removeAttribute("style"),n&&Ss(n,{title:"",description:""});const a=this.pageBuilderStateStore.getPageBuilderConfig;a&&typeof a=="object"&&this.pageBuilderStateStore.setPageBuilderConfig({...a,pageSettings:{classes:"",style:"",meta:{title:"",description:""}}})}if(i&&t){this.updateLocalStorageItemName();const n=this.getLocalStorageItemName.value;if(n){const a={components:[],pageBuilderContentSavedAt:new Date().toISOString(),pageSettings:i};localStorage.setItem(n,JSON.stringify(a))}}}readCurrentPageSettings(){var n;const e=this.readPersistedPageSettingsFromLocalStorage(),t=this.getBuilderCanvasElement();if(t){const a={classes:t.className||"",style:t.getAttribute("style")||t.style.cssText||"",meta:Jn(t)},l=typeof a.style=="string"?a.style.trim():this.convertStyleObjectToString(a.style).trim(),s=e&&typeof e.style=="string"?e.style.trim():this.convertStyleObjectToString(e==null?void 0:e.style).trim(),p=S=>(S||"").split(/\s+/).map(C=>C.trim()).filter(Boolean),d=p(a.classes),c=p(e==null?void 0:e.classes),m=d.join(" "),b=c.join(" "),g=d.some(S=>S.startsWith("pbx-bg-")),u=m!==b,x=u&&(g||d.length>=c.length),h=d.length>0&&d.every(S=>c.includes(S)),y=c.length>d.length,w=u&&c.length>0,f=!l&&w&&h&&y,T=this.pageBuilderStateStore.getToggleGlobalHtmlMode,k=(n=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:n.pageSettings,E=typeof(k==null?void 0:k.style)=="string"?k.style.trim():this.convertStyleObjectToString(k==null?void 0:k.style).trim(),v=p(k==null?void 0:k.classes).join(" "),M=m===v,P=!E;return!l&&(s||f)?T&&P&&M?{classes:a.classes,style:"",meta:a.meta||(e==null?void 0:e.meta)}:x?{classes:a.classes,style:"",meta:a.meta||(e==null?void 0:e.meta)}:{classes:(e==null?void 0:e.classes)||a.classes||"",style:(e==null?void 0:e.style)||"",meta:a.meta||(e==null?void 0:e.meta)}:a}const i=document.querySelector("[data-pagebuilder-content]");return i?{classes:i.className||"",style:i.getAttribute("style")||i.style.cssText||""}:e}readPersistedPageSettingsFromLocalStorage(){this.updateLocalStorageItemName();const e=this.getLocalStorageItemName.value;if(!e)return null;try{const t=localStorage.getItem(e);if(!t)return null;const i=JSON.parse(t);return i!=null&&i.pageSettings?i.pageSettings:null}catch{return null}}applyPageSettingsToPage(e){const t=this.getBuilderCanvasElement();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"),Ss(t,Yn(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=this.getBuilderCanvasElement();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(),this.reapplyConfigPageSettingsIfMissing()}reapplyConfigPageSettingsIfMissing(){var a;const e=this.getBuilderCanvasElement();if(!e)return;const t=((a=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:a.pageSettings)??null;if(!this.hasMeaningfulPageSettings(t))return;const i=this.convertStyleObjectToString(t.style),n=e.getAttribute("style")||"";i.trim()&&!n.trim()&&this.applyPageSettingsToPage(t)}async resumeEditingFromDraft(){this.updateLocalStorageItemName();const e=this.getSavedPageHtml();e&&(this.pageBuilderStateStore.setIsLoadingResumeEditing(!0),await Re(400),await this.mountComponentsToDOM(e,!1,void 0,!0),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,!1,this.originalPageSettings??void 0),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 m=new DOMParser().parseFromString(p.html_code,"text/html").querySelector("section");return m?(m.removeAttribute("data-componentid"),m.outerHTML):p.html_code}).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 Ss(i,Yn(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.commitActiveInlineTipTapEditorSync(),this.getLocalStorageItemName.value||this.updateLocalStorageItemName();const e=this.getLocalStorageItemName.value;e||this.debugLog("warn","saveDomComponentsToLocalStorage(): no storage key resolved",{config:this.pageBuilderStateStore.getPageBuilderConfig??null});const t=this.getBuilderCanvasElement();if(!t){this.debugLog("warn","saveDomComponentsToLocalStorage(): no #pagebuilder in DOM",{key:e});return}const i=t.querySelector("[hovered]");i&&i.removeAttribute("hovered");const n=[];this.getPersistableSections(t).forEach(m=>{const b=this.cloneAndRemoveSelectionAttributes(m);b.removeAttribute("data-componentid"),b.getAttribute("data-component-title")||b.setAttribute("data-component-title","Untitled Component"),n.push({html_code:b.outerHTML,title:b.getAttribute("data-component-title")||"Untitled Component"})}),this.debugLog("warn","saveDomComponentsToLocalStorage(): collected sections",{key:e,sections:n.length,hasSelected:!!t.querySelector("[selected]"),hasInlineTipTap:!!t.querySelector("[data-pbx-inline-tiptap]")});const s=(t?{classes:t.className||"",style:t.getAttribute("style")||t.style.cssText||"",meta:Jn(t)}:null)??this.readCurrentPageSettings()??this._lastKnownPageSettings??{classes:"",style:""},p=this.pageBuilderStateStore.getPageBuilderConfig;p&&typeof p=="object"&&this.pageBuilderStateStore.setPageBuilderConfig({...p,pageSettings:s}),this.debugLog("warn","saveDomComponentsToLocalStorage(): pageSettings snapshot",{classes:(s==null?void 0:s.classes)??"",style:typeof(s==null?void 0:s.style)=="string"?s.style:s!=null&&s.style?this.convertStyleObjectToString(s.style):""});const d={components:n,pageBuilderContentSavedAt:new Date().toISOString(),pageSettings:s},c=this.getHistoryBaseKey();if(c){const m=localStorage.getItem(c);this.debugLog("warn","saveDomComponentsToLocalStorage(): existing key?",{baseKey:c,hasExisting:!!m});try{localStorage.setItem(c,JSON.stringify(d))}catch(b){this.debugLog("error","saveDomComponentsToLocalStorage(): localStorage.setItem failed",{baseKey:c,err:b});return}if(m){const b=JSON.parse(m),g=b.components||[],u=d.components||[],x=u.length!==g.length||u.some((y,w)=>{const f=g[w];return!f||f.html_code!==y.html_code}),h=b.pageSettings&&b.pageSettings.classes!==d.pageSettings.classes||b.pageSettings&&b.pageSettings.style!==d.pageSettings.style;if(x||h){this.debugLog("error","saveDomComponentsToLocalStorage(): wrote draft",{baseKey:c,sections:d.components.length});let y=Li.getHistory(c);const w=y[y.length-1];if(w){const f=JSON.stringify(w.components),T=JSON.stringify(d.components),k=JSON.stringify(w.pageSettings),E=JSON.stringify(d.pageSettings);if(f===T&&k===E)return}this.pageBuilderStateStore.getHistoryIndex<y.length-1&&(y=y.slice(0,this.pageBuilderStateStore.getHistoryIndex+1)),y.push(d),y.length>10&&(y=y.slice(y.length-10)),localStorage.setItem(c+"-history",JSON.stringify(y)),this.pageBuilderStateStore.setHistoryIndex(y.length-1),this.pageBuilderStateStore.setHistoryLength(y.length);return}}}}async removeCurrentComponentsFromLocalStorage(){this.updateLocalStorageItemName(),await o.nextTick();const e=this.getLocalStorageItemName.value;e&&localStorage.removeItem(e)}async handleFormSubmission(e){const t=(e==null?void 0:e.preservePageSettings)??!1,i=this.readCurrentPageSettings();if(i&&t?this._lastKnownPageSettings=i:t||(this._lastKnownPageSettings=null),await this.removeCurrentComponentsFromLocalStorage(),this.deleteAllComponentsFromDOM(),this.pageBuilderStateStore.setComponents([]),!t){const n=this.getBuilderCanvasElement();n==null||n.removeAttribute("class"),n==null||n.removeAttribute("style"),n&&Ss(n,{title:"",description:""});const a=this.pageBuilderStateStore.getPageBuilderConfig;a&&typeof a=="object"&&this.pageBuilderStateStore.setPageBuilderConfig({...a,pageSettings:{classes:"",style:"",meta:{title:"",description:""}}})}if(i&&t){this.updateLocalStorageItemName();const n=this.getLocalStorageItemName.value;if(n){const a={components:[],pageBuilderContentSavedAt:new Date().toISOString(),pageSettings:i};localStorage.setItem(n,JSON.stringify(a))}}}readCurrentPageSettings(){var n;const e=this.readPersistedPageSettingsFromLocalStorage(),t=this.getBuilderCanvasElement();if(t){const a={classes:t.className||"",style:t.getAttribute("style")||t.style.cssText||"",meta:Jn(t)},l=typeof a.style=="string"?a.style.trim():this.convertStyleObjectToString(a.style).trim(),s=e&&typeof e.style=="string"?e.style.trim():this.convertStyleObjectToString(e==null?void 0:e.style).trim(),p=S=>(S||"").split(/\s+/).map(C=>C.trim()).filter(Boolean),d=p(a.classes),c=p(e==null?void 0:e.classes),m=d.join(" "),b=c.join(" "),g=d.some(S=>S.startsWith("pbx-bg-")),u=m!==b,x=u&&(g||d.length>=c.length),h=d.length>0&&d.every(S=>c.includes(S)),y=c.length>d.length,w=u&&c.length>0,f=!l&&w&&h&&y,T=this.pageBuilderStateStore.getToggleGlobalHtmlMode,k=(n=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:n.pageSettings,E=typeof(k==null?void 0:k.style)=="string"?k.style.trim():this.convertStyleObjectToString(k==null?void 0:k.style).trim(),v=p(k==null?void 0:k.classes).join(" "),M=m===v,P=!E;return!l&&(s||f)?T&&P&&M?{classes:a.classes,style:"",meta:a.meta||(e==null?void 0:e.meta)}:x?{classes:a.classes,style:"",meta:a.meta||(e==null?void 0:e.meta)}:{classes:(e==null?void 0:e.classes)||a.classes||"",style:(e==null?void 0:e.style)||"",meta:a.meta||(e==null?void 0:e.meta)}:a}const i=document.querySelector("[data-pagebuilder-content]");return i?{classes:i.className||"",style:i.getAttribute("style")||i.style.cssText||""}:e}readPersistedPageSettingsFromLocalStorage(){this.updateLocalStorageItemName();const e=this.getLocalStorageItemName.value;if(!e)return null;try{const t=localStorage.getItem(e);if(!t)return null;const i=JSON.parse(t);return i!=null&&i.pageSettings?i.pageSettings:null}catch{return null}}applyPageSettingsToPage(e){const t=this.getBuilderCanvasElement();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"),Ss(t,Yn(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=this.getBuilderCanvasElement();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(),this.reapplyConfigPageSettingsIfMissing()}reapplyConfigPageSettingsIfMissing(){var a;const e=this.getBuilderCanvasElement();if(!e)return;const t=((a=this.pageBuilderStateStore.getPageBuilderConfig)==null?void 0:a.pageSettings)??null;if(!this.hasMeaningfulPageSettings(t))return;const i=this.convertStyleObjectToString(t.style),n=e.getAttribute("style")||"";i.trim()&&!n.trim()&&this.applyPageSettingsToPage(t)}async resumeEditingFromDraft(){this.updateLocalStorageItemName();const e=this.getSavedPageHtml();e&&(this.pageBuilderStateStore.setIsLoadingResumeEditing(!0),await Re(400),await this.mountComponentsToDOM(e,!1,void 0,!0),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,!1,this.originalPageSettings??void 0),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 m=new DOMParser().parseFromString(p.html_code,"text/html").querySelector("section");return m?(m.removeAttribute("data-componentid"),m.outerHTML):p.html_code}).join(`
416
416
  `);return`<div id="pagebuilder" class="${n}" style="${l}">
417
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=Qd(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 Yn(e)}async setPageMeta(e){const i={...this.getPageMeta(),...e},n=this.getBuilderCanvasElement();n&&Ss(n,i);const a=this.readCurrentPageSettings()??this._lastKnownPageSettings??{classes:"",style:""};this._lastKnownPageSettings=Nde(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(k=>k.html_code).filter(k=>k&&k.trim()!=="").join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myissue/vue-website-page-builder",
3
- "version": "3.5.57",
3
+ "version": "3.5.58",
4
4
  "description": "Vue 3 page builder for ecommerce admin, multi-tenant SaaS, and CMS dashboards. Drag-and-drop editor with custom media library and product catalog integration.",
5
5
  "type": "module",
6
6
  "main": "./dist/vue-website-page-builder.umd.cjs",