UNPKG

@builder.io/sdk-vue

Version:
33 lines (30 loc) 109 kB
var Vi=require("./style.css");const o=require("vue"),bt=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),yt=e=>typeof e=="string"&&bt.has(e.toLowerCase());function w(e={},t,n){const r={};for(const i in e){if(!e[i]||n&&!i.startsWith(t))continue;const s=n?i.replace(t,""):i;r[s]=e[i]}return r}const kt=o.defineComponent({name:"dynamic-renderer",props:["TagName","attributes","actionAttributes"],data(){return{isEmptyElement:yt}}}),f=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n};function Ct(e,t,n,r,i,s){return e.isEmptyElement(e.TagName)?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.TagName),o.mergeProps({key:1},e.attributes,o.toHandlers(e.actionAttributes)),null,16)):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[typeof e.TagName=="string"?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.TagName),o.mergeProps({key:0},e.attributes,o.toHandlers(e.actionAttributes)),{default:o.withCtx(()=>[o.renderSlot(e.$slots,"default")]),_:3},16)):(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.TagName),o.mergeProps({key:1},e.attributes,o.toHandlers(e.actionAttributes)),{default:o.withCtx(()=>[o.renderSlot(e.$slots,"default")]),_:3},16))],64))}const _=f(kt,[["render",Ct]]),vt=Object.freeze(Object.defineProperty({__proto__:null,default:_},Symbol.toStringTag,{value:"Module"})),C="vue",V=()=>{switch(C){case"react":case"reactNative":case"rsc":return"className";case"svelte":case"vue":case"solid":case"qwik":case"angular":return"class"}},St=o.defineComponent({name:"builder-button",components:{DynamicRenderer:_},props:["attributes","link","openLinkInNewTab","builderLinkComponent","text"],data(){return{filterAttrs:w}},methods:{attrs(){return{...w(this.attributes,"v-on:",!1),[V()]:`${this.link?"":"builder-button"} ${this.attributes[V()]||""}`,...this.link?{href:this.link,target:this.openLinkInNewTab?"_blank":void 0,role:"link"}:{role:"button"}}}}});function wt(e,t,n,r,i,s){const a=o.resolveComponent("DynamicRenderer");return o.openBlock(),o.createBlock(a,{attributes:e.attrs(),TagName:e.link?e.builderLinkComponent||"a":"button",actionAttributes:e.filterAttrs(e.attributes,"v-on:",!0)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.text),1)]),_:1},8,["attributes","TagName","actionAttributes"])}const ye=f(St,[["render",wt]]),Bt=Symbol(),O={Builder:{content:null,context:{},localState:void 0,rootSetState(){},rootState:{},apiKey:null,apiVersion:void 0,componentInfos:{},inheritedStyles:{},BlocksWrapper:"div",BlocksWrapperProps:{},nonce:"",model:""},key:Bt},Tt=Symbol(),ke={Components:{registeredComponents:{}},key:Tt};function It(e){var t;return{...(t=e.component)==null?void 0:t.options,...e.options}}function $t(e,...t){const n=Object.assign({},e);for(const r of t)delete n[r];return n}const W="[Builder.io]: ",S={log:(...e)=>console.log(W,...e),error:(...e)=>console.error(W,...e),warn:(...e)=>console.warn(W,...e),debug:(...e)=>console.debug(W,...e)},Ce=(e,t,n)=>{const r=String.prototype.split.call(t,/[,[\].]+?/).filter(Boolean).reduce((i,s)=>i!=null?i[s]:i,e);return r===void 0||r===e?n:r};function k(){return typeof window<"u"&&typeof document<"u"}const Et=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},ve=e=>e instanceof URLSearchParams?Et(e):e,Se=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function Rt(){return k()&&window.self!==window.top}function v(e){return Rt()&&Se(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const Pt=()=>{if(k()){const e=new URL(location.href);return e.pathname===""&&(e.pathname="/"),e}else return console.warn("Cannot get location for tracking in non-browser environment"),null},Vt=()=>typeof navigator=="object"&&navigator.userAgent||"",we=()=>{const e=Vt(),t={Android(){return e.match(/Android/i)},BlackBerry(){return e.match(/BlackBerry/i)},iOS(){return e.match(/iPhone|iPod/i)},Opera(){return e.match(/Opera Mini/i)},Windows(){return e.match(/IEMobile/i)||e.match(/WPDesktop/i)},any(){return t.Android()||t.BlackBerry()||t.iOS()||t.Opera()||t.Windows()||C==="reactNative"}},n=e.match(/Tablet|iPad/i),r=Pt();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},xt=({builder:e,context:t,event:n,state:r})=>Object.entries({state:r,Builder:e,builder:e,context:t,event:n}),Nt=()=>({isEditing:v(),isBrowser:k(),isServer:!k(),getUserAttributes:()=>we()}),At=(e,{isExpression:t=!0})=>t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e;function Be({rootState:e,localState:t,rootSetState:n}){return new Proxy(e,{get:(r,i)=>{if(t&&i in t)return t[i];const s=r[i];return typeof s=="object"&&s!==null?Be({rootState:s,localState:void 0,rootSetState:n?a=>{r[i]=a,n(r)}:void 0}):s},set:(r,i,s)=>{if(t&&i in t)throw new Error("Writing to local state is not allowed as it is read-only.");return r[i]=s,n==null||n(r),!0}})}const le=({code:e,builder:t,context:n,event:r,localState:i,rootSetState:s,rootState:a})=>{const c=xt({builder:t,context:n,event:r,state:Be({rootState:a,localState:i,rootSetState:s})});return new Function(...c.map(([l])=>l),e)(...c.map(([,l])=>l))},B=e=>e!=null;function Wt(){var e;return typeof process<"u"&&B((e=process==null?void 0:process.versions)==null?void 0:e.node)}const Ft=({shouldLogWarning:e})=>{var i;if(!Wt())return!1;const t=process.arch==="arm64",n=process.version.startsWith("v20"),r=(i=process.env.NODE_OPTIONS)==null?void 0:i.includes("--no-node-snapshot");return t&&n&&!r?(e&&S.log("Skipping usage of `isolated-vm` to avoid crashes in Node v20 on an arm64 machine.\n If you would like to use the `isolated-vm` package on this machine, please provide the `NODE_OPTIONS=--no-node-snapshot` config to your Node process.\n See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.\n "),!0):!1},Ot=e=>(k()||Ft({shouldLogWarning:!0}),le(e)),Dt=/^(return )?(\s*)?state(?<getPath>(\.\w+)+)(\s*);?$/,Lt=/(\s)*var(\s)+_virtual_index(\s)*=(\s)*state(?<getPath>(\.\w+)+)(\s*);?(\s)*return(\s)*_virtual_index(\s)*/,Ut=e=>{var t,n,r,i,s,a;return((r=(n=(t=Dt.exec(e.trim()))==null?void 0:t.groups)==null?void 0:n.getPath)==null?void 0:r.slice(1))||((a=(s=(i=Lt.exec(e.trim()))==null?void 0:i.groups)==null?void 0:s.getPath)==null?void 0:a.slice(1))};function E({code:e,context:t,localState:n,rootState:r,rootSetState:i,event:s,isExpression:a=!0}){if(e.trim()==="")return;const c=Ut(e.trim());if(c)return Ce({...r,...n},c);const l={code:At(e,{isExpression:a}),builder:Nt(),context:t,event:s,rootSetState:i,rootState:r,localState:n};try{return Ot(l)}catch(p){S.error("Failed code evaluation: "+p.message,{code:e});return}}function D(e,t,n=null,r=null,i=new WeakSet){if(e==null||typeof e!="object"){t(e,s=>{n!==null&&r!==null&&(n[r]=s)});return}i.has(e)||(i.add(e),Array.isArray(e)?e.forEach((s,a)=>{t(s,l=>{e[a]=l}),D(s,t,e,a,i)}):Object.entries(e).forEach(([s,a])=>{t(a,l=>{e[s]=l}),D(a,t,e,s,i)}))}function Te(e){return e&&typeof e=="object"&&e["@type"]==="@builder.io/core:LocalizedValue"}function Ht(e){if(!e||!Object.getOwnPropertyNames(e).length)return!1;let t=!1;return D(e,n=>{if(Te(n)){t=!0;return}}),t}function Mt(e,t){return!e||!Object.getOwnPropertyNames(e).length?{}:(D(e,(n,r)=>{Te(n)&&r(n[t]??void 0)}),e)}function jt(e,t){var n,r;return(n=e.component)!=null&&n.options&&Ht((r=e.component)==null?void 0:r.options)&&(t||console.warn("[Builder.io] In order to use localized fields in Builder, you must pass a locale prop to the BuilderComponent or to options object while fetching the content to resolve localized fields. Learn more: https://www.builder.io/c/docs/localization-inline#targeting-and-inline-localization"),e.component.options=Mt(e.component.options,t??"Default")),e}const ee=e=>JSON.parse(JSON.stringify(e)),Ie=(e,t,n)=>{if(Object(e)!==e)return e;const r=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return r.slice(0,-1).reduce((i,s,a)=>Object(i[s])===i[s]?i[s]:i[s]=Math.abs(Number(r[a+1]))>>0===+r[a+1]?[]:{},e)[r[r.length-1]]=n,e};function X(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>X(n));if(e["@type"]==="@builder.io/sdk:Element")return e;const t={};for(const n in e)n!=="meta"&&Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=X(e[n]));return t}const Kt=["svelte","vue","angular","qwik","solid"].includes(C),zt=e=>{if(Kt){const t=ee(e);return{...t,properties:{...t.properties},actions:{...t.actions}}}else{const t=X($t(e,"children","meta"));return{...t,properties:{...t.properties},actions:{...t.actions},children:e.children,meta:e.meta}}},qt=({block:e,context:t,localState:n,rootState:r,rootSetState:i})=>{if(!e.bindings)return e;const s=zt(e);for(const a in e.bindings){const c=e.bindings[a],l=E({code:c,localState:n,rootState:r,rootSetState:i,context:t});Ie(s,a,l)}return s};function Gt({block:e,context:t,shouldEvaluateBindings:n,localState:r,rootState:i,rootSetState:s}){let a=jt(e,i.locale);return a=a,n?qt({block:a,localState:r,rootState:i,rootSetState:s,context:t}):a}function te(e){const t=e||(k()?window.location.search:void 0);return t?Se(t).indexOf("builder.preview=")!==-1:!1}const $e=e=>({type:"builder.registerComponent",data:L(e)}),Jt=e=>{const t=e.toString().trim(),n=/^[a-zA-Z0-9_]+\s*=>/i.test(t);return`return (${!t.startsWith("function")&&!t.startsWith("async")&&!t.startsWith("(")&&!n?"function ":""}${t}).apply(this, arguments)`};function L(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?Jt(n):n))}const ce={};function Ee(e,t){e==="plugin"&&(t=L(t));let n=ce[e];if(n||(n=ce[e]=[]),n.push(t),k()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(i){console.debug("Could not postmessage",i)}}}const de={};function Yt(e){if(k()){Object.assign(de,e);const t={type:"builder.settingsChange",data:de};parent.postMessage(t,"*")}}const pe="builder.",Xt="options.",ne=e=>{if(!e)return{};const t=ve(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(pe)){const i=r.replace(pe,"").replace(Xt,"");n[i]=t[r]}}),n},Qt=()=>{if(!k())return{};const e=new URLSearchParams(window.location.search);return ne(e)},Re="3.0.1",Pe=()=>({"X-Builder-SDK":C,"X-Builder-SDK-GEN":"2","X-Builder-SDK-Version":Re}),Zt=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},Ve=({name:e,canTrack:t})=>{var n;try{return t?(n=document.cookie.split("; ").find(r=>r.startsWith(`${e}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){S.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},xe=async e=>Ve(e),_t=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(B).join("; "),en=[["secure",""],["SameSite","None"]],tn=({name:e,value:t,expires:n})=>{const i=(k()?location.protocol==="https:":!0)?en:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",Zt(window.location.hostname)],...i];return _t(a)},Ne=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const i=tn({name:e,value:t,expires:n});document.cookie=i}catch(i){S.warn("[COOKIE] SET error: ",(i==null?void 0:i.message)||i)}};function nn(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)})}function Ae(){return nn().replace(/-/g,"")}const We="builderSessionId",on=async({canTrack:e})=>{if(!e)return;const t=await xe({name:We,canTrack:e});if(B(t))return t;{const n=rn();return sn({id:n,canTrack:e}),n}},rn=()=>Ae(),sn=({id:e,canTrack:t})=>Ne({name:We,value:e,canTrack:t}),Fe=()=>k()&&typeof localStorage<"u"?localStorage:void 0,an=({key:e,canTrack:t})=>{var n;try{return t?(n=Fe())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},ln=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=Fe())==null||r.setItem(e,n))}catch(i){console.debug("[LocalStorage] SET error: ",i)}},Oe="builderVisitorId",cn=({canTrack:e})=>{if(!e)return;const t=an({key:Oe,canTrack:e});if(B(t))return t;{const n=dn();return pn({id:n,canTrack:e}),n}},dn=()=>Ae(),pn=({id:e,canTrack:t})=>ln({key:Oe,value:e,canTrack:t});function oe(e){var t;typeof process<"u"&&((t=process.env)!=null&&t.DEBUG)&&String(process.env.DEBUG)=="true"&&S.log(e)}const un=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await on({canTrack:e}),n=cn({canTrack:e});return{sessionId:t,visitorId:n}},mn=async({type:e,canTrack:t,apiKey:n,metadata:r,...i})=>({type:e,data:{...i,metadata:{url:location.href,...r},...await un({canTrack:t}),userAttributes:we(),ownerId:n}});async function Q({apiHost:e,...t}){if(!t.apiKey){S.error("Missing API key for track call. Please provide your API key.");return}if(!t.canTrack||v()||!(k()||C==="reactNative"))return;const r=`${e||"https://cdn.builder.io"}/api/v1/track`;return oe(r),fetch(r,{method:"POST",body:JSON.stringify({events:[await mn(t)]}),headers:{"content-type":"application/json",...Pe()},mode:"cors"}).catch(i=>{console.error("Failed to track: ",i)})}const hn=e=>Q({...e,canTrack:!0}),fn=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function De(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||fn).findIndex(i=>i.startsWith("*.")?r.endsWith(i.slice(1)):i===r)>-1}const gn=()=>{Ee("insertMenu",{name:"_default",default:!0,items:[{name:"Box"},{name:"Text"},{name:"Image"},{name:"Columns"},{name:"Core:Section"},{name:"Core:Button"},{name:"Embed"},{name:"Custom Code"}]})};let ue=!1;const Le=(e={})=>{var t,n;ue||(ue=!0,k()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:C,version:Re,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var s,a;if(!De(e.trustedHosts,r))return;const{data:i}=r;if(i!=null&&i.type)switch(i.type){case"builder.evaluate":{const c=i.data.text,l=i.data.arguments||[],p=i.data.id,u=new Function(c);let m,d=null;try{m=u.apply(null,l)}catch(h){d=h}d?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:p,error:d.message}},"*"):m&&typeof m.then=="function"?m.then(h=>{var g;(g=window.parent)==null||g.postMessage({type:"builder.evaluateResult",data:{id:p,result:h}},"*")}).catch(console.error):(a=window.parent)==null||a.postMessage({type:"builder.evaluateResult",data:{result:m,id:p}},"*");break}}})))},Ue=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!De(t,r))return;const{data:i}=r;if(i)switch(i.type){case"builder.configureSdk":{n.configureSdk(i.data);break}case"builder.triggerAnimation":{n.animation(i.data);break}case"builder.contentUpdate":{const s=i.data,a=s.key||s.alias||s.entry||s.modelName,c=s.data;a===e&&n.contentUpdate(c);break}}},bn=(e,t,n)=>{if(!k)return S.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};Le();const r=Ue({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},yn="builder.tests",re=e=>`${yn}.${e}`,kn=({contentId:e})=>xe({name:re(e),canTrack:!0}),Cn=({contentId:e})=>Ve({name:re(e),canTrack:!0}),vn=({contentId:e,value:t})=>Ne({name:re(e),value:t,canTrack:!0}),He=e=>B(e.id)&&B(e.variations)&&Object.keys(e.variations).length>0,Sn=({id:e,variations:t})=>{var i;let n=0;const r=Math.random();for(const s in t){const a=(i=t[s])==null?void 0:i.testRatio;if(n+=a,r<n)return s}return e},Me=e=>{const t=Sn(e);return vn({contentId:e.id,value:t}).catch(n=>{S.error("could not store A/B test variation: ",n)}),t},je=({item:e,testGroupId:t})=>{const n=e.variations[t];return t===e.id||!n?{testVariationId:e.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===e.id?"Default":"")}},wn=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!He(e))return e;const n=Cn({contentId:e.id})||Me({variations:e.variations,id:e.id}),r=je({item:e,testGroupId:n});return{...e,...r}},Bn=async({item:e,canTrack:t})=>{if(!t||!He(e))return e;const r=await kn({contentId:e.id})||Me({variations:e.variations,id:e.id}),i=je({item:e,testGroupId:r});return{...e,...i}},x=e=>B(e)?e:!0;function Tn(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:globalThis}function In(){const e=Tn().fetch;if(typeof e>"u")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project. For more information, read https://github.com/BuilderIO/this-package-uses-fetch`),new Error("Builder SDK could not find a global `fetch` function");return e}const $n=In();function Z(e,t=null,n="."){return Object.keys(e).reduce((r,i)=>{const s=e[i],a=[t,i].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...r,...Z(s,a,n)}:{...r,[a]:s}},{})}function Ke(e,t,n={}){for(const r in e){const i=e[r],s=t?t+"."+r:r;i&&typeof i=="object"&&!Array.isArray(i)&&!Object.keys(i).find(a=>a.startsWith("$"))?Ke(i,s,n):n[s]=i}return n}const En="v3",me=e=>typeof e=="number"&&!isNaN(e)&&e>=0,ie=e=>{const{limit:t=30,userAttributes:n,query:r,model:i,apiKey:s,enrich:a,locale:c,apiVersion:l=En,fields:p,omit:u,offset:m,cacheSeconds:d,staleCacheSeconds:h,sort:g,includeUnpublished:b,apiHost:I}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(l))throw new Error(`Invalid apiVersion: expected 'v3', received '${l}'`);const ht=t!==1,ft=I||"https://cdn.builder.io",y=new URL(`${ft}/api/${l}/content/${i}`);y.searchParams.set("apiKey",s),y.searchParams.set("limit",String(t)),y.searchParams.set("noTraverse",String(ht)),y.searchParams.set("includeRefs",String(!0));const K=c||(n==null?void 0:n.locale);let A=n;if(K&&(y.searchParams.set("locale",K),A={locale:K,...A}),a&&y.searchParams.set("enrich",String(a)),y.searchParams.set("omit",u||"meta.componentsUsed"),p&&y.searchParams.set("fields",p),Number.isFinite(m)&&m>-1&&y.searchParams.set("offset",String(Math.floor(m))),typeof b=="boolean"&&y.searchParams.set("includeUnpublished",String(b)),d&&me(d)&&y.searchParams.set("cacheSeconds",String(d)),h&&me(h)&&y.searchParams.set("staleCacheSeconds",String(h)),g){const T=Z({sort:g});for(const R in T)y.searchParams.set(R,JSON.stringify(T[R]))}const gt={...Qt(),...ve(e.options||{})},ae=Z(gt);for(const T in ae)y.searchParams.set(T,String(ae[T]));if(A&&y.searchParams.set("userAttributes",JSON.stringify(A)),r){const T=Ke({query:r});for(const R in T)y.searchParams.set(R,JSON.stringify(T[R]))}return y},Rn=e=>"results"in e;async function U(e){const t=await qe({...e,limit:1});return t&&t[0]||null}const Pn=async e=>{var a;const t=ie(e),n=e.fetch??$n,r={...e.fetchOptions,headers:{...(a=e.fetchOptions)==null?void 0:a.headers,...Pe()}};return await(await n(t.href,r)).json()},ze=async(e,t,n=ie(e))=>{const r=x(e.canTrack);if(n.search.includes("preview="),!r||!(k()||C==="reactNative"))return t.results;try{const i=[];for(const s of t.results)i.push(await Bn({item:s,canTrack:r}));t.results=i}catch(i){S.error("Could not process A/B tests. ",i)}return t.results};async function qe(e){const t=ie(e),n=await Pn(e);if(!Rn(n))throw S.error("Error fetching data. ",{url:t,content:n,options:e}),n;return ze(e,n)}const Vn=async e=>{var r,i,s;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((i=e.userAttributes)==null?void 0:i.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:ne(e.searchParams||((s=e.url)==null?void 0:s.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await U(n)}},H=e=>e?e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase():"";function xn(e,t,n={}){let r,i,s,a=null,c=0;const l=function(){c=n.leading===!1?0:Date.now(),a=null,s=e.apply(r,i),a||(r=i=null)};return function(){const p=Date.now();!c&&n.leading===!1&&(c=p);const u=t-(p-c);return r=this,i=arguments,u<=0||u>t?(a&&(clearTimeout(a),a=null),c=p,s=e.apply(r,i),a||(r=i=null)):!a&&n.trailing!==!1&&(a=setTimeout(l,u)),s}}function P(e,...t){const n=Object(e);for(let r=1;r<arguments.length;r++){const i=arguments[r];if(i!=null)for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])}return n}function Nn(e){for(const t of e)switch(t.trigger){case"pageLoad":Ye(t);break;case"scrollInView":Wn(t);break}}function Ge(e){console.warn(`Cannot animate element: element with ID ${e} not found!`)}function Je(e,t){const n=An(e),r=getComputedStyle(t),i=e.steps[0].styles,s=e.steps[e.steps.length-1].styles,a=[i,s];for(const c of a)for(const l of n)l in c||(c[l]=r[l])}function An(e){const t=[];for(const n of e.steps)for(const r in n.styles)t.indexOf(r)===-1&&t.push(r);return t}function Ye(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){Ge(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{Je(e,n),n.style.transition="none",n.style.transitionDelay="0",P(n.style,e.steps[0].styles),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${H(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s"),P(n.style,e.steps[1].styles),setTimeout(()=>{n.style.transition="",n.style.transitionDelay=""},(e.delay||0)*1e3+e.duration*1e3+100)})})}function Wn(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){Ge(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{Je(e,n);let r=!1,i=!1;function s(){!r&&c(n)?(r=!0,i=!0,setTimeout(()=>{P(n.style,e.steps[1].styles),e.repeat||document.removeEventListener("scroll",a),setTimeout(()=>{i=!1,e.repeat||(n.style.transition="",n.style.transitionDelay="")},(e.duration+(e.delay||0))*1e3+100)})):e.repeat&&r&&!i&&!c(n)&&(r=!1,P(n.style,e.steps[0].styles))}const a=xn(s,200,{leading:!1});function c(u){const m=u.getBoundingClientRect(),d=window.innerHeight,g=(e.thresholdPercent||0)/100*d;return m.bottom>g&&m.top<d-g}const l=e.steps[0].styles;function p(){P(n.style,l)}p(),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${H(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s")}),document.addEventListener("scroll",a,{capture:!0,passive:!0}),s()})}const Xe=e=>Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${H(n)}: ${r};`}).filter(B),Fn=e=>Xe(e).join(` `),On=({mediaQuery:e,className:t,styles:n})=>{const r=`.${t} { ${Fn(n)} }`;return e?`${e} { ${r} }`:r};function Dn({style:e}){return e}const Ln=({block:e,context:t})=>Qe(Dn({style:e.style||{},context:t,block:e}));function Qe(e){switch(C){case"svelte":case"vue":case"solid":case"angular":return Xe(e).join(" ");case"qwik":case"reactNative":case"react":case"rsc":return e}}const Ze=(e,t)=>e?t?e.models&&e.models.length>0&&!e.models.includes(t):!1:!0,Un=({block:e,registeredComponents:t,model:n})=>{var s;const r=(s=e.component)==null?void 0:s.name;if(!r)return null;const i=t[r];if(!i||Ze(i,n)){console.warn(` Could not find a registered component named "${r}". If you registered it, is the file that registered it imported by the file that needs to render it?`);return}else return i},Hn=({block:e,context:t})=>{const{repeat:n,...r}=e;if(!(n!=null&&n.collection))return;const i=E({code:n.collection,localState:t.localState,rootState:t.rootState,rootSetState:t.rootSetState,context:t.context});if(!Array.isArray(i))return;const s=n.collection.split(".").pop(),a=n.itemName||(s?s+"Item":"item");return i.map((l,p)=>({context:{...t,localState:{...t.localState,$index:p,$item:l,[a]:l,[`$${a}Index`]:p}},block:r}))},Mn=(e,t)=>{var n;return(n=e==null?void 0:e.shouldReceiveBuilderProps)!=null&&n.builderLinkComponent?{builderLinkComponent:t}:{}},jn=(e,t,n)=>{var r;return(r=e==null?void 0:e.shouldReceiveBuilderProps)!=null&&r.builderComponents?{builderComponents:Object.fromEntries(Object.entries(t).filter(([s,a])=>!Ze(a,n)))}:{}},Kn=(e,t)=>{var n;return(n=e==null?void 0:e.shouldReceiveBuilderProps)!=null&&n.builderBlock?{builderBlock:t}:{}},zn=(e,t)=>{var n;return(n=e==null?void 0:e.shouldReceiveBuilderProps)!=null&&n.builderContext?{builderContext:t}:{}},qn=()=>Promise.resolve().then(()=>ao).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component DynamicDiv at ../dynamic-div.vue",e),e}),Gn=()=>Promise.resolve().then(()=>require("./block-styles-iE_AMMov.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component BlockStyles at ./components/block-styles.vue",e),e}),Jn=()=>Promise.resolve().then(()=>require("./block-wrapper-uCoTCnWV.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component BlockWrapper at ./components/block-wrapper.vue",e),e}),Yn=()=>Promise.resolve().then(()=>require("./component-ref-KQElTQuz.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component ComponentRef at ./components/component-ref/component-ref.vue",e),e}),Xn=()=>Promise.resolve().then(()=>require("./repeated-block-alcf4ekM.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RepeatedBlock at ./components/repeated-block.vue",e),e}),Qn=o.defineComponent({name:"block",components:{BlockStyles:o.defineAsyncComponent(Gn),RepeatedBlock:o.defineAsyncComponent(Xn),ComponentRef:o.defineAsyncComponent(Yn),BlockWrapper:o.defineAsyncComponent(Jn),DynamicDiv:o.defineAsyncComponent(qn)},props:["block","context","registeredComponents","linkComponent"],data(){return{_processedBlock:{value:null,update:!1}}},mounted(){const e=this.processedBlock.id,t=this.processedBlock.animations;t&&e&&Nn(t.map(n=>({...n,elementId:e})))},updated(){},computed:{repeatItem(){return Hn({block:this.block,context:this.context})},processedBlock(){var t;return(t=this.block.repeat)!=null&&t.collection?this.block:Gt({block:this.block,localState:this.context.localState,rootState:this.context.rootState,rootSetState:this.context.rootSetState,context:this.context.context,shouldEvaluateBindings:!0})},blockComponent(){return Un({block:this.processedBlock,registeredComponents:this.registeredComponents,model:this.context.model})},Tag(){var t;return this.block.tagName==="a"||((t=this.processedBlock.properties)==null?void 0:t.href)||this.processedBlock.href?this.linkComponent||"a":this.block.tagName||"div"},canShowBlock(){var n,r;if((n=this.block.repeat)!=null&&n.collection)return!!((r=this.repeatItem)!=null&&r.length);const e="hide"in this.processedBlock?this.processedBlock.hide:!1;return("show"in this.processedBlock?this.processedBlock.show:!0)&&!e},childrenWithoutParentComponent(){var t;return!((t=this.blockComponent)!=null&&t.component)&&!this.repeatItem?this.processedBlock.children??[]:[]},componentRefProps(){var e,t,n;return{blockChildren:this.processedBlock.children??[],componentRef:(e=this.blockComponent)==null?void 0:e.component,componentOptions:{...It(this.processedBlock),...Kn(this.blockComponent,this.processedBlock),...zn(this.blockComponent,this.context),...Mn(this.blockComponent,this.linkComponent),...jn(this.blockComponent,this.registeredComponents,this.context.model)},context:this.context,linkComponent:this.linkComponent,registeredComponents:this.registeredComponents,builderBlock:this.processedBlock,includeBlockProps:((t=this.blockComponent)==null?void 0:t.noWrap)===!0,isInteractive:!((n=this.blockComponent)!=null&&n.isRSC&&C==="rsc")}}}});function Zn(e,t,n,r,i,s){var m;const a=o.resolveComponent("BlockStyles"),c=o.resolveComponent("ComponentRef"),l=o.resolveComponent("Block",!0),p=o.resolveComponent("BlockWrapper"),u=o.resolveComponent("RepeatedBlock");return e.canShowBlock?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createVNode(a,{block:e.processedBlock,context:e.context},null,8,["block","context"]),(m=e.blockComponent)!=null&&m.noWrap?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[e.repeatItem?(o.openBlock(!0),o.createElementBlock(o.Fragment,{key:1},o.renderList(e.repeatItem,(d,h)=>(o.openBlock(),o.createBlock(u,{key:h,repeatContext:d.context,block:d.block,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["repeatContext","block","registeredComponents","linkComponent"]))),128)):(o.openBlock(),o.createBlock(c,{key:0,componentRef:e.componentRefProps.componentRef,componentOptions:e.componentRefProps.componentOptions,blockChildren:e.componentRefProps.blockChildren,context:e.componentRefProps.context,registeredComponents:e.componentRefProps.registeredComponents,linkComponent:e.componentRefProps.linkComponent,builderBlock:e.componentRefProps.builderBlock,includeBlockProps:e.componentRefProps.includeBlockProps,isInteractive:e.componentRefProps.isInteractive},null,8,["componentRef","componentOptions","blockChildren","context","registeredComponents","linkComponent","builderBlock","includeBlockProps","isInteractive"]))],64)):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[e.repeatItem?(o.openBlock(!0),o.createElementBlock(o.Fragment,{key:1},o.renderList(e.repeatItem,(d,h)=>(o.openBlock(),o.createBlock(u,{key:h,repeatContext:d.context,block:d.block,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["repeatContext","block","registeredComponents","linkComponent"]))),128)):(o.openBlock(),o.createBlock(p,{key:0,Wrapper:e.Tag,block:e.processedBlock,context:e.context},{default:o.withCtx(()=>[o.createVNode(c,{componentRef:e.componentRefProps.componentRef,componentOptions:e.componentRefProps.componentOptions,blockChildren:e.componentRefProps.blockChildren,context:e.componentRefProps.context,registeredComponents:e.componentRefProps.registeredComponents,linkComponent:e.componentRefProps.linkComponent,builderBlock:e.componentRefProps.builderBlock,includeBlockProps:e.componentRefProps.includeBlockProps,isInteractive:e.componentRefProps.isInteractive},null,8,["componentRef","componentOptions","blockChildren","context","registeredComponents","linkComponent","builderBlock","includeBlockProps","isInteractive"]),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.childrenWithoutParentComponent,(d,h)=>(o.openBlock(),o.createBlock(l,{key:d.id,block:d,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent,context:e.context},null,8,["block","registeredComponents","linkComponent","context"]))),128))]),_:1},8,["Wrapper","block","context"]))],64))],64)):o.createCommentVNode("",!0)}const M=f(Qn,[["render",Zn]]),_n=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"})),eo=o.defineComponent({name:"builder-blocks-wrapper",props:["blocks","classNameProp","path","parent","styleProp","BlocksWrapperProps","BlocksWrapper"],mounted(){},computed:{className(){var e;return["builder-blocks",(e=this.blocks)!=null&&e.length?"":"no-blocks",this.classNameProp].filter(Boolean).join(" ")},dataPath(){if(!this.path)return;const e="component.options.";return this.path.startsWith(e)?this.path:`${e}${this.path||""}`}},methods:{onClick(){var e,t;v()&&!((e=this.blocks)!=null&&e.length)&&((t=window.parent)==null||t.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.dataPath}},"*"))},onMouseEnter(){var e,t;v()&&!((e=this.blocks)!=null&&e.length)&&((t=window.parent)==null||t.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.dataPath}},"*"))}}});function to(e,t,n,r,i,s){return o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.BlocksWrapper),o.mergeProps({ref:"blocksWrapperRef",class:e.className+" component-1k2igrjdg3x","builder-path":e.dataPath,"builder-parent-id":e.parent,style:e.styleProp,onClick:a=>e.onClick(),onMouseEnter:a=>e.onMouseEnter(),onKeyPress:a=>e.onClick()},{...e.BlocksWrapperProps}),{default:o.withCtx(()=>[o.renderSlot(e.$slots,"default",{},void 0,!0)]),_:3},16,["class","builder-path","builder-parent-id","style","onClick","onMouseEnter","onKeyPress"])}const no=f(eo,[["render",to],["__scopeId","data-v-ba2bc5c0"]]),oo=o.defineComponent({name:"builder-blocks",components:{BlocksWrapper:no,Block:M},props:["blocks","parent","path","styleProp","className","context","linkComponent","registeredComponents"],inject:{builderContext:O.key,componentsContext:ke.key}});function ro(e,t,n,r,i,s){var l,p,u,m;const a=o.resolveComponent("Block"),c=o.resolveComponent("BlocksWrapper");return o.openBlock(),o.createBlock(c,{blocks:e.blocks,parent:e.parent,path:e.path,styleProp:e.styleProp,classNameProp:e.className,BlocksWrapper:((l=e.context)==null?void 0:l.BlocksWrapper)||((p=e.builderContext)==null?void 0:p.BlocksWrapper),BlocksWrapperProps:((u=e.context)==null?void 0:u.BlocksWrapperProps)||((m=e.builderContext)==null?void 0:m.BlocksWrapperProps)},{default:o.withCtx(()=>[e.blocks?(o.openBlock(!0),o.createElementBlock(o.Fragment,{key:0},o.renderList(e.blocks,(d,h)=>{var g;return o.openBlock(),o.createBlock(a,{key:d.id,block:d,linkComponent:e.linkComponent,context:e.context||e.builderContext,registeredComponents:e.registeredComponents||((g=e.componentsContext)==null?void 0:g.registeredComponents)},null,8,["block","linkComponent","context","registeredComponents"])}),128)):o.createCommentVNode("",!0)]),_:1},8,["blocks","parent","path","styleProp","classNameProp","BlocksWrapper","BlocksWrapperProps"])}const $=f(oo,[["render",ro]]),io=o.defineComponent({name:"dynamic-div",props:[]});function so(e,t,n,r,i,s){return o.openBlock(),o.createElementBlock("div",null,[o.renderSlot(e.$slots,"default")])}const N=f(io,[["render",so]]),ao=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"})),j=o.defineComponent({render(){return o.h("style",{innerHTML:this.styles,"data-id":this.id,nonce:this.nonce})},name:"inlined-styles",props:["styles","id","nonce"]}),_e={small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200}},lo=(e,t=_e)=>`@media (max-width: ${t[e].max}px)`,et=({small:e,medium:t})=>{const n=ee(_e);if(!e||!t)return n;const r=Math.floor(e/2);n.small={max:e,min:r,default:r+1};const i=n.small.max+1;n.medium={max:t,min:i,default:i+1};const s=n.medium.max+1;return n.large={max:2e3,min:s,default:s+1},n},co=e=>`builder-columns ${e}-breakpoints`,po=o.defineComponent({name:"builder-columns",components:{InlinedStyles:j,DynamicRenderer:_,Blocks:$,DynamicDiv:N},props:["space","columns","stackColumnsAt","builderLinkComponent","reverseColumnsWhenStacked","builderContext","builderBlock","builderComponents"],data(){return{TARGET:C,getColumnsClass:co}},computed:{gutterSize(){return typeof this.space=="number"?this.space||0:20},cols(){return this.columns||[]},stackAt(){return this.stackColumnsAt||"tablet"},flexDir(){return this.stackColumnsAt==="never"?"row":this.reverseColumnsWhenStacked?"column-reverse":"column"}},methods:{getTagName(e){return e.link?this.builderLinkComponent||"a":"div"},getWidth(e){var t;return((t=this.cols[e])==null?void 0:t.width)||100/this.cols.length},getColumnCssWidth(e){const t=this.getWidth(e),n=this.gutterSize*(this.cols.length-1)*(t/100);return`calc(${t}% - ${n}px)`},getTabletStyle({stackedStyle:e,desktopStyle:t}){return this.stackAt==="tablet"?e:t},getMobileStyle({stackedStyle:e,desktopStyle:t}){return this.stackAt==="never"?t:e},columnsCssVars(){return{"--flex-dir":this.flexDir,"--flex-dir-tablet":this.getTabletStyle({stackedStyle:this.flexDir,desktopStyle:"row"})}},columnCssVars(e){const t=e===0?0:this.gutterSize,n=this.getColumnCssWidth(e),r=`${t}px`,i="100%",s=0;return{...{display:"flex",flexDirection:"column",alignItems:"stretch"},width:n,["margin-left"]:r,"--column-width-mobile":this.getMobileStyle({stackedStyle:i,desktopStyle:n}),"--column-margin-left-mobile":this.getMobileStyle({stackedStyle:s,desktopStyle:r}),"--column-width-tablet":this.getTabletStyle({stackedStyle:i,desktopStyle:n}),"--column-margin-left-tablet":this.getTabletStyle({stackedStyle:s,desktopStyle:r})}},getWidthForBreakpointSize(e){var n,r;return et(((r=(n=this.builderContext.content)==null?void 0:n.meta)==null?void 0:r.breakpoints)||{})[e].max},columnsStyles(){const e=`.${this.builderBlock.id}-breakpoints > .builder-column`;return` @media (max-width: ${this.getWidthForBreakpointSize("medium")}px) { .${this.builderBlock.id}-breakpoints { flex-direction: var(--flex-dir-tablet); align-items: stretch; } ${e} { width: var(--column-width-tablet) !important; margin-left: var(--column-margin-left-tablet) !important; } } @media (max-width: ${this.getWidthForBreakpointSize("small")}px) { .${this.builderBlock.id}-breakpoints { flex-direction: var(--flex-dir); align-items: stretch; } ${e} { width: var(--column-width-mobile) !important; margin-left: var(--column-margin-left-mobile) !important; } }, `},getAttributes(e,t){return{...e.link?{href:e.link}:{},[V()]:"builder-column",style:Qe(this.columnCssVars(t))}}}});function uo(e,t,n,r,i,s){var p;const a=o.resolveComponent("InlinedStyles"),c=o.resolveComponent("Blocks"),l=o.resolveComponent("DynamicRenderer");return o.openBlock(),o.createElementBlock("div",o.mergeProps({class:e.getColumnsClass((p=e.builderBlock)==null?void 0:p.id)+" div-4wbls88y960",style:e.columnsCssVars()},{}),[e.TARGET!=="reactNative"?(o.openBlock(),o.createBlock(a,{key:0,id:"builderio-columns",styles:e.columnsStyles(),nonce:e.builderContext.nonce},null,8,["styles","nonce"])):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.columns,(u,m)=>(o.openBlock(),o.createBlock(l,{key:m,TagName:e.getTagName(u),actionAttributes:{},attributes:e.getAttributes(u,m)},{default:o.withCtx(()=>[o.createVNode(c,{path:`columns.${m}.blocks`,parent:e.builderBlock.id,styleProp:{flexGrow:"1"},context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent,blocks:u.blocks},null,8,["path","parent","context","registeredComponents","linkComponent","blocks"])]),_:2},1032,["TagName","attributes"]))),128))],16)}const tt=f(po,[["render",uo],["__scopeId","data-v-3354f136"]]),mo=o.defineComponent({name:"builder-fragment-component",props:[]});function ho(e,t,n,r,i,s){return o.openBlock(),o.createElementBlock("span",null,[o.renderSlot(e.$slots,"default")])}const nt=f(mo,[["render",ho]]);function he(e){return e.replace(/http(s)?:/,"")}function fo(e="",t,n){const r=new RegExp("([?&])"+t+"=.*?(&|$)","i"),i=e.indexOf("?")!==-1?"&":"?";return e.match(r)?e.replace(r,"$1"+t+"="+encodeURIComponent(n)+"$2"):e+i+t+"="+encodeURIComponent(n)}function go(e,t){if(!e||!(e!=null&&e.match(/cdn\.shopify\.com/))||!t)return e;if(t==="master")return he(e);const n=e.match(/(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i);if(n){const r=e.split(n[0]),i=n[3],s=t.match("x")?t:`${t}x`;return he(`${r[0]}_${s}${i}`)}return null}function z(e){if(!e)return e;const t=[100,200,400,800,1200,1600,2e3];if(e.match(/builder\.io/)){let n=e;const r=Number(e.split("?width=")[1]);return isNaN(r)||(n=`${n} ${r}w`),t.filter(i=>i!==r).map(i=>`${fo(e,"width",i)} ${i}w`).concat([n]).join(", ")}return e.match(/cdn\.shopify\.com/)?t.map(n=>[go(e,`${n}x${n}`),n]).filter(([n])=>!!n).map(([n,r])=>`${n} ${r}w`).concat([e]).join(", "):e}const bo=o.defineComponent({name:"builder-image",props:["image","src","srcset","noWebp","aspectRatio","highPriority","altText","backgroundPosition","backgroundSize","className","sizes","builderBlock","fitContent"],mounted(){},computed:{srcSetToUse(){var n;const t=this.image||this.src;if(!t||!(typeof t=="string"&&(t.match(/builder\.io/)||t.match(/cdn\.shopify\.com/))))return this.srcset;if(!this.noWebp){if(this.srcset&&((n=this.image)!=null&&n.includes("builder.io/api/v1/image"))){if(!this.srcset.includes(this.image.split("?")[0]))return console.debug("Removed given srcset"),z(t)}else if(this.image&&!this.srcset)return z(t);return z(t)}},webpSrcSet(){var e;return(e=this.srcSetToUse)!=null&&e.match(/builder\.io/)&&!this.noWebp?this.srcSetToUse.replace(/\?/g,"?format=webp&"):""},aspectRatioCss(){const e={position:"absolute",height:"100%",width:"100%",left:"0px",top:"0px"};return this.aspectRatio?e:void 0}}}),yo=["srcset"],ko=["loading","fetchpriority","alt","role","src","srcset","sizes"],Co={key:2,class:"div-29wpyomtntv-2"};function vo(e,t,n,r,i,s){var a,c,l,p,u,m;return o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createElementVNode("picture",null,[e.webpSrcSet?(o.openBlock(),o.createElementBlock("source",{key:0,type:"image/webp",srcset:e.webpSrcSet},null,8,yo)):o.createCommentVNode("",!0),o.createElementVNode("img",{loading:e.highPriority?"eager":"lazy",fetchpriority:e.highPriority?"high":"auto",alt:e.altText,role:e.altText?void 0:"presentation",style:o.normalizeStyle({objectPosition:e.backgroundPosition||"center",objectFit:e.backgroundSize||"cover",...e.aspectRatioCss}),class:o.normalizeClass("builder-image"+(e.className?" "+e.className:"")+" img-29wpyomtntv"),src:e.image,srcset:e.srcSetToUse,sizes:e.sizes},null,14,ko)]),e.aspectRatio&&!((c=(a=e.builderBlock)==null?void 0:a.children)!=null&&c.length&&e.fitContent)?(o.openBlock(),o.createElementBlock("div",{key:0,class:"builder-image-sizer div-29wpyomtntv",style:o.normalizeStyle({paddingTop:e.aspectRatio*100+"%"})},null,4)):o.createCommentVNode("",!0),(p=(l=e.builderBlock)==null?void 0:l.children)!=null&&p.length&&e.fitContent?o.renderSlot(e.$slots,"default",{key:1},void 0,!0):o.createCommentVNode("",!0),!e.fitContent&&((m=(u=e.builderBlock)==null?void 0:u.children)!=null&&m.length)?(o.openBlock(),o.createElementBlock("div",Co,[o.renderSlot(e.$slots,"default",{},void 0,!0)])):o.createCommentVNode("",!0)],64)}const ot=f(bo,[["render",vo],["__scopeId","data-v-a3766aaf"]]),So=o.defineComponent({name:"builder-section-component",props:["attributes","maxWidth"],data(){return{filterAttrs:w}}});function wo(e,t,n,r,i,s){return o.openBlock(),o.createElementBlock("section",o.mergeProps({style:{width:"100%",alignSelf:"stretch",flexGrow:1,boxSizing:"border-box",maxWidth:e.maxWidth||1200,display:"flex",flexDirection:"column",alignItems:"stretch",marginLeft:"auto",marginRight:"auto"}},e.filterAttrs(e.attributes,"v-on:",!1),o.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),[o.renderSlot(e.$slots,"default")],16)}const rt=f(So,[["render",wo]]),q={"@type":"@builder.io/sdk:Element",layerName:"Accordion item title",responsiveStyles:{large:{marginTop:"10px",position:"relative",display:"flex",alignItems:"stretch",flexDirection:"column",paddingBottom:"10px"}},children:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{textAlign:"left",display:"flex",flexDirection:"column"}},component:{name:"Text",options:{text:"I am an accordion title. Click me!"}}}]},G={"@type":"@builder.io/sdk:Element",layerName:"Accordion item detail",responsiveStyles:{large:{position:"relative",display:"flex",alignItems:"stretch",flexDirection:"column",marginTop:"10px",paddingBottom:"10px"}},children:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{paddingTop:"50px",textAlign:"left",display:"flex",flexDirection:"column",paddingBottom:"50px"}},component:{name:"Text",options:{text:"I am an accordion detail, hello!"}}}]},Bo={name:"Builder:Accordion",canHaveChildren:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FagZ9n5CUKRfbL9t6CaJOyVSK4Es2%2Ffab6c1fd3fe542408cbdec078bca7f35",defaultStyles:{display:"flex",flexDirection:"column",alignItems:"stretch"},inputs:[{name:"items",type:"list",broadcast:!0,subFields:[{name:"title",type:"uiBlocks",hideFromUI:!0,defaultValue:[q]},{name:"detail",type:"uiBlocks",hideFromUI:!0,defaultValue:[G]}],defaultValue:[{title:[q],detail:[G]},{title:[q],detail:[G]}],showIf:e=>!e.get("useChildrenForItems")},{name:"oneAtATime",helperText:"Only allow opening one at a time (collapse all others when new item openned)",type:"boolean",defaultValue:!1},{name:"grid",helperText:"Display as a grid",type:"boolean",defaultValue:!1},{name:"gridRowWidth",helperText:"Display as a grid",type:"string",showIf:e=>e.get("grid"),defaultValue:"25%"},{name:"useChildrenForItems",type:"boolean",helperText:"Use child elements for each slide, instead of the array. Useful for dynamically repeating items",advanced:!0,defaultValue:!1,onChange:e=>{e.get("useChildrenForItems")===!0&&e.set("items",[])}}],shouldReceiveBuilderProps:{builderBlock:!0,builderContext:!0,builderComponents:!0,builderLinkComponent:!0}},To=e=>e.toString(),Io=o.defineComponent({name:"builder-accordion",components:{Blocks:$},props:["grid","oneAtATime","items","gridRowWidth","builderBlock","builderContext","builderComponents","builderLinkComponent"],data(){return{open:[],convertOrderNumberToString:To}},computed:{onlyOneAtATime(){return!!(this.grid||this.oneAtATime)},accordionStyles(){return{display:"flex",alignItems:"stretch",flexDirection:"column",...this.grid&&{flexDirection:"row",alignItems:"flex-start",flexWrap:"wrap"}}},accordionTitleStyles(){const t={...{display:"flex",flexDirection:"column"},alignItems:"stretch",cursor:"pointer"};return Object.fromEntries(Object.entries(t).filter(([n,r])=>r!==void 0))},openGridItemOrder(){let e=null;if(this.grid&&this.open.length&&document){const n=this.open[0];let i=document.querySelector(`.builder-accordion-title[data-index="${n}"]`);if(e=n,i){let s=i.getBoundingClientRect();for(;i=i&&i.nextElementSibling;)if(i){if(i.classList.contains("builder-accordion-detail"))continue;const a=i.getBoundingClientRect();if(a.left>s.left){const c=parseInt(i.getAttribute("data-index")||"",10);isNaN(c)||(s=a,e=c)}else break}}}return typeof e=="number"&&(e=e+1),e},accordionDetailStyles(){const e={order:typeof this.openGridItemOrder=="number"?this.openGridItemOrder:void 0,...this.grid&&{width:"100%"}};return Object.fromEntries(Object.entries(e).filter(([t,n])=>n!==void 0))}},methods:{getAccordionTitleClassName(e){return`builder-accordion-title builder-accordion-title-${this.open.includes(e)?"open":"closed"}`},getAccordionDetailClassName(e){return`builder-accordion-detail builder-accordion-detail-${this.open.includes(e)?"open":"closed"}`},onClick(e){this.open.includes(e)?this.open=this.onlyOneAtATime?[]:this.open.filter(t=>t!==e):this.open=this.onlyOneAtATime?[e]:this.open.concat(e)}}}),$o=["data-index","onClick"];function Eo(e,t,n,r,i,s){const a=o.resolveComponent("Blocks");return o.openBlock(),o.createElementBlock("div",{class:"builder-accordion",style:o.normalizeStyle(e.accordionStyles)},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.items,(c,l)=>(o.openBlock(),o.createElementBlock(o.Fragment,{key:l},[o.createElementVNode("div",{class:o.normalizeClass(e.getAccordionTitleClassName(l)),style:o.normalizeStyle({...e.accordionTitleStyles,...e.grid&&{width:e.gridRowWidth,order:e.openGridItemOrder!==null?e.convertOrderNumberToString(l):e.convertOrderNumberToString(l+1)}}),"data-index":l,onClick:p=>e.onClick(l)},[o.createVNode(a,{blocks:c.title,path:`items.${l}.title`,parent:e.builderBlock.id,context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent},null,8,["blocks","path","parent","context","registeredComponents","linkComponent"])],14,$o),e.open.includes(l)?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(e.getAccordionDetailClassName(l)),style:o.normalizeStyle(e.accordionDetailStyles)},[o.createVNode(a,{blocks:c.detail,path:`items.${l}.detail`,parent:e.builderBlock.id,context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent},null,8,["blocks","path","parent","context","registeredComponents","linkComponent"])],6)):o.createCommentVNode("",!0)],64))),128))],4)}const Ro=f(Io,[["render",Eo]]),Po={name:"Core:Button",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13",defaultStyles:{appearance:"none",paddingTop:"15px",paddingBottom:"15px",paddingLeft:"25px",paddingRight:"25px",backgroundColor:"#000000",color:"white",borderRadius:"4px",textAlign:"center",cursor:"pointer"},inputs:[{name:"text",type:"text",defaultValue:"Click me!",bubble:!0},{name:"link",type:"url",bubble:!0},{name:"openLinkInNewTab",type:"boolean",defaultValue:!1,friendlyName:"Open link in new tab"}],static:!0,noWrap:!0,shouldReceiveBuilderProps:{builderLinkComponent:!0}},Vo={name:"Columns",isRSC:!0,inputs:[{name:"columns",type:"array",broadcast:!0,subFields:[{name:"blocks",type:"array",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{name:"width",type:"number",hideFromUI:!0,helperText:"Width %, e.g. set to 50 to fill half of the space"},{name:"link",type:"url",helperText:"Optionally set a url that clicking this column will link to"}],defaultValue:[{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop