@builder.io/sdk-vue 0.13.1 → 0.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/block-styles-5NGYAhBS.cjs +1 -0
- package/lib/browser/{block-styles.f235a6b3.js → block-styles-jDSz7IPu.js} +15 -15
- package/lib/browser/{block-wrapper.5c142781.cjs → block-wrapper-aYMueUMD.cjs} +1 -1
- package/lib/browser/{block-wrapper.0326cf92.js → block-wrapper-i3S3k3_c.js} +10 -10
- package/lib/browser/blocks/button/button.vue.d.ts +1 -1
- package/lib/browser/blocks/columns/columns.types.d.ts +2 -2
- package/lib/browser/blocks/columns/columns.vue.d.ts +1 -4
- package/lib/browser/blocks/custom-code/custom-code.vue.d.ts +1 -1
- package/lib/browser/blocks/embed/embed.vue.d.ts +1 -1
- package/lib/browser/blocks/form/form/component-info.d.ts +2 -0
- package/lib/browser/blocks/form/form/form.vue.d.ts +112 -0
- package/lib/browser/blocks/form/input/component-info.d.ts +2 -0
- package/lib/browser/blocks/form/input/input.vue.d.ts +43 -0
- package/lib/browser/blocks/form/select/component-info.d.ts +2 -0
- package/lib/browser/blocks/form/select/select.vue.d.ts +38 -0
- package/lib/browser/blocks/form/submit-button/component-info.d.ts +2 -0
- package/lib/browser/blocks/form/submit-button/submit-button.vue.d.ts +21 -0
- package/lib/browser/blocks/fragment/fragment.vue.d.ts +1 -1
- package/lib/browser/blocks/image/image.vue.d.ts +1 -1
- package/lib/browser/blocks/img/img.vue.d.ts +1 -1
- package/lib/browser/blocks/section/section.vue.d.ts +1 -1
- package/lib/browser/blocks/slot/slot.vue.d.ts +7 -7
- package/lib/browser/blocks/symbol/symbol.types.d.ts +2 -2
- package/lib/browser/blocks/symbol/symbol.vue.d.ts +1 -4
- package/lib/browser/blocks/text/text.vue.d.ts +1 -1
- package/lib/browser/blocks/video/video.vue.d.ts +1 -1
- package/lib/browser/{component-ref.1182befe.cjs → component-ref-23FBngqj.cjs} +1 -1
- package/lib/browser/{component-ref.4425a615.js → component-ref-YzJX0Oul.js} +21 -17
- package/lib/browser/components/block/block.vue.d.ts +1 -1
- package/lib/browser/components/block/components/block-styles.vue.d.ts +1 -1
- package/lib/browser/components/block/components/block-wrapper.vue.d.ts +1 -1
- package/lib/browser/components/block/components/component-ref/component-ref.helpers.d.ts +3 -3
- package/lib/browser/components/block/components/component-ref/component-ref.vue.d.ts +1 -1
- package/lib/browser/components/block/components/interactive-element.vue.d.ts +2 -1
- package/lib/browser/components/block/components/repeated-block.vue.d.ts +1 -1
- package/lib/browser/components/blocks/blocks-wrapper.vue.d.ts +2 -1
- package/lib/browser/components/blocks/blocks.vue.d.ts +1 -1
- package/lib/browser/components/content/components/enable-editor.vue.d.ts +1 -1
- package/lib/browser/components/content/components/styles.vue.d.ts +1 -1
- package/lib/browser/components/content/content.types.d.ts +1 -8
- package/lib/browser/components/content/content.vue.d.ts +1 -1
- package/lib/browser/components/content/contentProps.types.d.ts +7 -0
- package/lib/browser/components/content-variants/content-variants.vue.d.ts +1 -1
- package/lib/browser/components/dynamic-renderer/dynamic-renderer.vue.d.ts +7 -1
- package/lib/browser/components/inlined-script.vue.d.ts +1 -1
- package/lib/browser/components/inlined-styles.vue.d.ts +1 -1
- package/lib/browser/constants/extra-components.d.ts +7 -0
- package/lib/browser/constants/sdk-version.d.ts +1 -1
- package/lib/browser/functions/get-env.d.ts +2 -0
- package/lib/browser/functions/get.d.ts +1 -0
- package/lib/browser/get-block-properties-KacPzO_o.cjs +1 -0
- package/lib/browser/{get-block-properties.73425f09.js → get-block-properties-ZirT3ZGB.js} +19 -20
- package/lib/browser/{index.5f9ed15d.js → index-6a_qPbnw.js} +1710 -1055
- package/lib/browser/index-7Z8XjtKs.cjs +166 -0
- package/lib/browser/index-helpers/blocks-exports.d.ts +2 -2
- package/lib/browser/index.cjs +1 -1
- package/lib/browser/index.js +26 -27
- package/lib/browser/{repeated-block.4b8c3ea0.cjs → repeated-block-70kCyQ_l.cjs} +1 -1
- package/lib/browser/repeated-block-hRYVKXrX.js +35 -0
- package/lib/browser/style.css +1 -1
- package/lib/browser/types/builder-props.d.ts +1 -1
- package/lib/browser/types/enforced-partials.d.ts +1 -26
- package/lib/browser/types/input.d.ts +1 -0
- package/lib/browser/types/typescript.d.ts +0 -3
- package/lib/edge/block-styles--T_GAm5-.cjs +1 -0
- package/lib/edge/{block-styles.c430e392.js → block-styles-Tjp0oeui.js} +18 -18
- package/lib/edge/{block-wrapper.53b24038.cjs → block-wrapper-K-I0ddom.cjs} +1 -1
- package/lib/{node/block-wrapper.779562b4.js → edge/block-wrapper-MgeL6r_A.js} +9 -10
- package/lib/edge/blocks/button/button.vue.d.ts +1 -1
- package/lib/edge/blocks/columns/columns.types.d.ts +2 -2
- package/lib/edge/blocks/columns/columns.vue.d.ts +1 -4
- package/lib/edge/blocks/custom-code/custom-code.vue.d.ts +1 -1
- package/lib/edge/blocks/embed/embed.vue.d.ts +1 -1
- package/lib/edge/blocks/form/form/component-info.d.ts +2 -0
- package/lib/edge/blocks/form/form/form.vue.d.ts +112 -0
- package/lib/edge/blocks/form/input/component-info.d.ts +2 -0
- package/lib/edge/blocks/form/input/input.vue.d.ts +43 -0
- package/lib/edge/blocks/form/select/component-info.d.ts +2 -0
- package/lib/edge/blocks/form/select/select.vue.d.ts +38 -0
- package/lib/edge/blocks/form/submit-button/component-info.d.ts +2 -0
- package/lib/edge/blocks/form/submit-button/submit-button.vue.d.ts +21 -0
- package/lib/edge/blocks/fragment/fragment.vue.d.ts +1 -1
- package/lib/edge/blocks/image/image.vue.d.ts +1 -1
- package/lib/edge/blocks/img/img.vue.d.ts +1 -1
- package/lib/edge/blocks/section/section.vue.d.ts +1 -1
- package/lib/edge/blocks/slot/slot.vue.d.ts +7 -7
- package/lib/edge/blocks/symbol/symbol.types.d.ts +2 -2
- package/lib/edge/blocks/symbol/symbol.vue.d.ts +1 -4
- package/lib/edge/blocks/text/text.vue.d.ts +1 -1
- package/lib/edge/blocks/video/video.vue.d.ts +1 -1
- package/lib/edge/{component-ref.ebab0bd9.js → component-ref-Oo-dR5xV.js} +21 -17
- package/lib/edge/{component-ref.62a7f1bd.cjs → component-ref-iibFypv7.cjs} +1 -1
- package/lib/edge/components/block/block.vue.d.ts +1 -1
- package/lib/edge/components/block/components/block-styles.vue.d.ts +1 -1
- package/lib/edge/components/block/components/block-wrapper.vue.d.ts +1 -1
- package/lib/edge/components/block/components/component-ref/component-ref.helpers.d.ts +3 -3
- package/lib/edge/components/block/components/component-ref/component-ref.vue.d.ts +1 -1
- package/lib/edge/components/block/components/interactive-element.vue.d.ts +2 -1
- package/lib/edge/components/block/components/repeated-block.vue.d.ts +1 -1
- package/lib/edge/components/blocks/blocks-wrapper.vue.d.ts +2 -1
- package/lib/edge/components/blocks/blocks.vue.d.ts +1 -1
- package/lib/edge/components/content/components/enable-editor.vue.d.ts +1 -1
- package/lib/edge/components/content/components/styles.vue.d.ts +1 -1
- package/lib/edge/components/content/content.types.d.ts +1 -8
- package/lib/edge/components/content/content.vue.d.ts +1 -1
- package/lib/edge/components/content/contentProps.types.d.ts +7 -0
- package/lib/edge/components/content-variants/content-variants.vue.d.ts +1 -1
- package/lib/edge/components/dynamic-renderer/dynamic-renderer.vue.d.ts +7 -1
- package/lib/edge/components/inlined-script.vue.d.ts +1 -1
- package/lib/edge/components/inlined-styles.vue.d.ts +1 -1
- package/lib/edge/constants/extra-components.d.ts +7 -0
- package/lib/edge/constants/sdk-version.d.ts +1 -1
- package/lib/edge/functions/get-env.d.ts +2 -0
- package/lib/edge/functions/get.d.ts +1 -0
- package/lib/{node/get-block-properties.5a8121c0.js → edge/get-block-properties-BKnsvu-2.js} +19 -20
- package/lib/edge/get-block-properties-q52zAZuL.cjs +1 -0
- package/lib/edge/{index.ae2d13a8.js → index-FjGYEtq6.js} +2574 -1919
- package/lib/edge/index-helpers/blocks-exports.d.ts +2 -2
- package/lib/edge/index-oq0qBISZ.cjs +186 -0
- package/lib/edge/index.cjs +1 -1
- package/lib/edge/index.js +25 -26
- package/lib/{browser/repeated-block.ea7178d4.js → edge/repeated-block-IVuHJhMQ.js} +4 -5
- package/lib/edge/repeated-block-IrS130V6.cjs +1 -0
- package/lib/edge/style.css +1 -1
- package/lib/edge/types/builder-props.d.ts +1 -1
- package/lib/edge/types/enforced-partials.d.ts +1 -26
- package/lib/edge/types/input.d.ts +1 -0
- package/lib/edge/types/typescript.d.ts +0 -3
- package/lib/node/block-styles-1bGjM-mF.cjs +1 -0
- package/lib/node/{block-styles.5c506171.js → block-styles-WHZ3oh47.js} +18 -19
- package/lib/node/block-wrapper-7G595XQl.cjs +1 -0
- package/lib/{edge/block-wrapper.f04e7d06.js → node/block-wrapper-Oi21HLL-.js} +10 -10
- package/lib/node/blocks/button/button.vue.d.ts +1 -1
- package/lib/node/blocks/columns/columns.types.d.ts +2 -2
- package/lib/node/blocks/columns/columns.vue.d.ts +1 -4
- package/lib/node/blocks/custom-code/custom-code.vue.d.ts +1 -1
- package/lib/node/blocks/embed/embed.vue.d.ts +1 -1
- package/lib/node/blocks/form/form/component-info.d.ts +2 -0
- package/lib/node/blocks/form/form/form.vue.d.ts +112 -0
- package/lib/node/blocks/form/input/component-info.d.ts +2 -0
- package/lib/node/blocks/form/input/input.vue.d.ts +43 -0
- package/lib/node/blocks/form/select/component-info.d.ts +2 -0
- package/lib/node/blocks/form/select/select.vue.d.ts +38 -0
- package/lib/node/blocks/form/submit-button/component-info.d.ts +2 -0
- package/lib/node/blocks/form/submit-button/submit-button.vue.d.ts +21 -0
- package/lib/node/blocks/fragment/fragment.vue.d.ts +1 -1
- package/lib/node/blocks/image/image.vue.d.ts +1 -1
- package/lib/node/blocks/img/img.vue.d.ts +1 -1
- package/lib/node/blocks/section/section.vue.d.ts +1 -1
- package/lib/node/blocks/slot/slot.vue.d.ts +7 -7
- package/lib/node/blocks/symbol/symbol.types.d.ts +2 -2
- package/lib/node/blocks/symbol/symbol.vue.d.ts +1 -4
- package/lib/node/blocks/text/text.vue.d.ts +1 -1
- package/lib/node/blocks/video/video.vue.d.ts +1 -1
- package/lib/node/{component-ref.616a1d7e.js → component-ref-6gNNgUIq.js} +22 -19
- package/lib/node/component-ref-bBOIZLBr.cjs +1 -0
- package/lib/node/components/block/block.vue.d.ts +1 -1
- package/lib/node/components/block/components/block-styles.vue.d.ts +1 -1
- package/lib/node/components/block/components/block-wrapper.vue.d.ts +1 -1
- package/lib/node/components/block/components/component-ref/component-ref.helpers.d.ts +3 -3
- package/lib/node/components/block/components/component-ref/component-ref.vue.d.ts +1 -1
- package/lib/node/components/block/components/interactive-element.vue.d.ts +2 -1
- package/lib/node/components/block/components/repeated-block.vue.d.ts +1 -1
- package/lib/node/components/blocks/blocks-wrapper.vue.d.ts +2 -1
- package/lib/node/components/blocks/blocks.vue.d.ts +1 -1
- package/lib/node/components/content/components/enable-editor.vue.d.ts +1 -1
- package/lib/node/components/content/components/styles.vue.d.ts +1 -1
- package/lib/node/components/content/content.types.d.ts +1 -8
- package/lib/node/components/content/content.vue.d.ts +1 -1
- package/lib/node/components/content/contentProps.types.d.ts +7 -0
- package/lib/node/components/content-variants/content-variants.vue.d.ts +1 -1
- package/lib/node/components/dynamic-renderer/dynamic-renderer.vue.d.ts +7 -1
- package/lib/node/components/inlined-script.vue.d.ts +1 -1
- package/lib/node/components/inlined-styles.vue.d.ts +1 -1
- package/lib/node/constants/extra-components.d.ts +7 -0
- package/lib/node/constants/sdk-version.d.ts +1 -1
- package/lib/node/functions/get-env.d.ts +2 -0
- package/lib/node/functions/get.d.ts +1 -0
- package/lib/{edge/get-block-properties.3eea9a11.js → node/get-block-properties-LsQPb5mK.js} +19 -20
- package/lib/node/get-block-properties-saGQjgeQ.cjs +1 -0
- package/lib/node/{index.f804c64d.js → index-TgZujUqz.js} +1131 -474
- package/lib/node/index-helpers/blocks-exports.d.ts +2 -2
- package/lib/node/index-mB-x2rNA.cjs +206 -0
- package/lib/node/index.cjs +1 -1
- package/lib/node/index.js +27 -29
- package/lib/node/{repeated-block.4fe417ba.js → repeated-block-4ZvFRl8H.js} +4 -5
- package/lib/node/repeated-block-ghBGljjL.cjs +1 -0
- package/lib/node/style.css +1 -1
- package/lib/node/types/builder-props.d.ts +1 -1
- package/lib/node/types/enforced-partials.d.ts +1 -26
- package/lib/node/types/input.d.ts +1 -0
- package/lib/node/types/typescript.d.ts +0 -3
- package/package.json +5 -5
- package/lib/browser/block-styles.443192e0.cjs +0 -1
- package/lib/browser/blocks/form/component-info.d.ts +0 -2
- package/lib/browser/blocks/input/component-info.d.ts +0 -2
- package/lib/browser/blocks/select/component-info.d.ts +0 -2
- package/lib/browser/blocks/submit-button/component-info.d.ts +0 -2
- package/lib/browser/get-block-properties.75a4033c.cjs +0 -1
- package/lib/browser/index.ea2f8191.cjs +0 -165
- package/lib/edge/block-styles.ae042612.cjs +0 -1
- package/lib/edge/blocks/form/component-info.d.ts +0 -2
- package/lib/edge/blocks/input/component-info.d.ts +0 -2
- package/lib/edge/blocks/select/component-info.d.ts +0 -2
- package/lib/edge/blocks/submit-button/component-info.d.ts +0 -2
- package/lib/edge/get-block-properties.ef38da5e.cjs +0 -1
- package/lib/edge/index.6a49244b.cjs +0 -185
- package/lib/edge/repeated-block.391f9aec.cjs +0 -1
- package/lib/edge/repeated-block.8c46a7c6.js +0 -34
- package/lib/node/block-styles.b0758e84.cjs +0 -1
- package/lib/node/block-wrapper.4b4b32dd.cjs +0 -1
- package/lib/node/blocks/form/component-info.d.ts +0 -2
- package/lib/node/blocks/input/component-info.d.ts +0 -2
- package/lib/node/blocks/select/component-info.d.ts +0 -2
- package/lib/node/blocks/submit-button/component-info.d.ts +0 -2
- package/lib/node/component-ref.471ae470.cjs +0 -1
- package/lib/node/get-block-properties.310a39f2.cjs +0 -1
- package/lib/node/index.9cc8fd23.cjs +0 -205
- package/lib/node/repeated-block.fc61b1ce.cjs +0 -1
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
var Wr=require("./style.css");const o=require("vue"),tt=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),nt=e=>typeof e=="string"&&tt.has(e.toLowerCase());function $(e={},t,n){const r={};for(const s in e){if(!e[s]||n&&!s.startsWith(t))continue;const i=n?s.replace(t,""):s;r[i]=e[s]}return r}const ot=o.defineComponent({name:"dynamic-renderer",props:["attributes","actionAttributes","TagName"],data(){return{isEmptyElement:nt}}}),f=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n};function rt(e,t,n,r,s,i){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 K=f(ot,[["render",rt]]),st=Object.freeze(Object.defineProperty({__proto__:null,default:K},Symbol.toStringTag,{value:"Module"})),S="vue",O=()=>{switch(S){case"react":case"reactNative":case"rsc":return"className";case"svelte":case"vue":case"solid":case"qwik":return"class"}},it=o.defineComponent({name:"builder-button",components:{DynamicRenderer:K},props:["link","builderLinkComponent","attributes","openLinkInNewTab","text"],data(){return{getClassPropName:O,filterAttrs:$}}});function at(e,t,n,r,s,i){const a=o.resolveComponent("dynamic-renderer");return o.openBlock(),o.createBlock(a,{TagName:e.link?e.builderLinkComponent||"a":"button",attributes:{...e.filterAttrs(e.attributes,"v-on:",!1),[e.getClassPropName()]:`${e.link?"":"builder-button"} ${e.attributes[e.getClassPropName()]||""}`,...e.link?{href:e.link,target:e.openLinkInNewTab?"_blank":void 0,role:"link"}:{role:"button"}},actionAttributes:e.filterAttrs(e.attributes,"v-on:",!0)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.text),1)]),_:1},8,["TagName","attributes","actionAttributes"])}const me=f(it,[["render",at]]),lt=Symbol(),U={Builder:{content:null,context:{},localState:void 0,rootSetState(){},rootState:{},apiKey:null,apiVersion:void 0,componentInfos:{},inheritedStyles:{},BlocksWrapper:"div",BlocksWrapperProps:{}},key:lt},ct=Symbol(),he={Components:{registeredComponents:{}},key:ct};function dt(e){var t;return{...(t=e.component)==null?void 0:t.options,...e.options,builderBlock:e}}const N="[Builder.io]: ",y={log:(...e)=>console.log(N,...e),error:(...e)=>console.error(N,...e),warn:(...e)=>console.warn(N,...e),debug:(...e)=>console.debug(N,...e)};function b(){return typeof window<"u"&&typeof document<"u"}function ut(){return b()&&window.self!==window.top}function k(){return ut()&&window.location.search.indexOf("builder.frameEditing=")!==-1}const pt=()=>{if(b()){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},mt=()=>typeof navigator=="object"&&navigator.userAgent||"",fe=()=>{const e=mt(),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()||S==="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"}},ht=({builder:e,context:t,event:n,state:r})=>Object.entries({state:r,Builder:e,builder:e,context:t,event:n}),ft=()=>({isEditing:k(),isBrowser:b(),isServer:!b(),getUserAttributes:()=>fe()}),gt=(e,{isExpression:t=!0})=>t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e,ne=({code:e,builder:t,context:n,event:r,localState:s,rootSetState:i,rootState:a})=>{const l=ht({builder:t,context:n,event:r,state:ge({rootState:a,localState:s,rootSetState:i})});return new Function(...l.map(([c])=>c),e)(...l.map(([,c])=>c))};function ge({rootState:e,localState:t,rootSetState:n}){return new Proxy(e,{get:(r,s)=>{if(t&&s in t)return t[s];const i=r[s];return typeof i=="object"?ge({rootState:i,localState:void 0,rootSetState:n?a=>{r[s]=a,n(r)}:void 0}):i},set:(r,s,i)=>{if(t&&s in t)throw new Error("Writing to local state is not allowed as it is read-only.");return r[s]=i,n==null||n(r),!0}})}const w=e=>e!=null;function bt(){var e;return typeof process<"u"&&w((e=process==null?void 0:process.versions)==null?void 0:e.node)}const kt=()=>{var r;if(!bt())return!1;const e=process.arch==="arm64",t=process.version.startsWith("v20"),n=(r=process.env.NODE_OPTIONS)==null?void 0:r.includes("--no-node-snapshot");return e&&t&&!n?(y.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},yt=e=>(b()||kt(),ne(e));function P({code:e,context:t,localState:n,rootState:r,rootSetState:s,event:i,isExpression:a=!0}){if(e===""){y.warn("Skipping evaluation of empty code block.");return}const l={code:gt(e,{isExpression:a}),builder:ft(),context:t,event:i,rootSetState:s,rootState:r,localState:n};try{return yt(l)}catch(c){y.error("Failed code evaluation: "+c.message,{code:e});return}}const x=e=>JSON.parse(JSON.stringify(e)),be=(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((s,i,a)=>Object(s[i])===s[i]?s[i]:s[i]=Math.abs(Number(r[a+1]))>>0===+r[a+1]?[]:{},e)[r[r.length-1]]=n,e};const Ct=({block:e,context:t,localState:n,rootState:r,rootSetState:s})=>{if(!e.bindings)return e;const i=x(e),a={...i,properties:{...i.properties},actions:{...i.actions}};for(const l in e.bindings){const c=e.bindings[l],u=P({code:c,localState:n,rootState:r,rootSetState:s,context:t});be(a,l,u)}return a};function q({block:e,context:t,shouldEvaluateBindings:n,localState:r,rootState:s,rootSetState:i}){const a=e;return n?Ct({block:a,localState:r,rootState:s,rootSetState:i,context:t}):a}const St=e=>e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase(),ke=e=>Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${St(n)}: ${r};`}).filter(w),vt=e=>ke(e).join(`
|
|
2
|
+
`),wt=({mediaQuery:e,className:t,styles:n})=>{const r=`.${t} {
|
|
3
|
+
${vt(n)}
|
|
4
|
+
}`;return e?`${e} {
|
|
5
|
+
${r}
|
|
6
|
+
}`:r};function It({style:e}){return e}const $t=({block:e,context:t})=>ye(It({style:e.style||{},context:t,block:e}));function ye(e){switch(S){case"svelte":case"vue":case"solid":return ke(e).join(" ");case"qwik":case"reactNative":case"react":case"rsc":return e}}function Tt(e,t,n={}){let r,s,i,a=null,l=0;const c=function(){l=n.leading===!1?0:Date.now(),a=null,i=e.apply(r,s),a||(r=s=null)};return function(){const u=Date.now();!l&&n.leading===!1&&(l=u);const m=t-(u-l);return r=this,s=arguments,m<=0||m>t?(a&&(clearTimeout(a),a=null),l=u,i=e.apply(r,s),a||(r=s=null)):!a&&n.trailing!==!1&&(a=setTimeout(c,m)),i}}function T(e,...t){const n=Object(e);for(let r=1;r<arguments.length;r++){const s=arguments[r];if(s!=null)for(const i in s)Object.prototype.hasOwnProperty.call(s,i)&&(n[i]=s[i])}return n}const z=e=>e?e.replace(/([A-Z])/g,t=>`-${t[0].toLowerCase()}`):"";function Bt(e){for(const t of e)switch(t.trigger){case"pageLoad":Ce(t);break;case"hover":Et(t);break;case"scrollInView":Pt(t);break}}function J(e){console.warn(`Cannot animate element: element with ID ${e} not found!`)}function G(e,t){const n=Rt(e),r=getComputedStyle(t),s=e.steps[0].styles,i=e.steps[e.steps.length-1].styles,a=[s,i];for(const l of a)for(const c of n)c in l||(l[c]=r[c])}function Rt(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 Ce(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){J(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{G(e,n),n.style.transition="none",n.style.transitionDelay="0",T(n.style,e.steps[0].styles),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${z(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s"),T(n.style,e.steps[1].styles),setTimeout(()=>{n.style.transition="",n.style.transitionDelay=""},(e.delay||0)*1e3+e.duration*1e3+100)})})}function Et(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){J(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{G(e,n);const r=e.steps[0].styles,s=e.steps[1].styles;function i(){T(n.style,r)}function a(){T(n.style,s)}i(),n.addEventListener("mouseenter",a),n.addEventListener("mouseleave",i),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${z(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s")})})}function Pt(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){J(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{G(e,n);let r=!1,s=!1;function i(){!r&&l(n)?(r=!0,s=!0,setTimeout(()=>{T(n.style,e.steps[1].styles),e.repeat||document.removeEventListener("scroll",a),setTimeout(()=>{s=!1,e.repeat||(n.style.transition="",n.style.transitionDelay="")},(e.duration+(e.delay||0))*1e3+100)})):e.repeat&&r&&!s&&!l(n)&&(r=!1,T(n.style,e.steps[0].styles))}const a=Tt(i,200,{leading:!1});function l(m){const d=m.getBoundingClientRect(),p=window.innerHeight,h=(e.thresholdPercent||0)/100*p;return d.bottom>h&&d.top<p-h}const c=e.steps[0].styles;function u(){T(n.style,c)}u(),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${z(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s")}),document.addEventListener("scroll",a,{capture:!0,passive:!0}),i()})}const Vt=({block:e,context:t,registeredComponents:n})=>{var i;const r=(i=q({block:e,localState:t.localState,rootState:t.rootState,rootSetState:t.rootSetState,context:t.context,shouldEvaluateBindings:!1}).component)==null?void 0:i.name;if(!r)return null;const s=n[r];if(s)return s;console.warn(`
|
|
7
|
+
Could not find a registered component named "${r}".
|
|
8
|
+
If you registered it, is the file that registered it imported by the file that needs to render it?`)},xt=({block:e,context:t})=>{const{repeat:n,...r}=e;if(!(n!=null&&n.collection))return;const s=P({code:n.collection,localState:t.localState,rootState:t.rootState,rootSetState:t.rootSetState,context:t.context});if(!Array.isArray(s))return;const i=n.collection.split(".").pop(),a=n.itemName||(i?i+"Item":"item");return s.map((c,u)=>({context:{...t,localState:{...t.localState,$index:u,$item:c,[a]:c,[`$${a}Index`]:u}},block:r}))},At=()=>Promise.resolve().then(()=>require("./block-styles-5NGYAhBS.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}),Nt=()=>Promise.resolve().then(()=>require("./block-wrapper-aYMueUMD.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}),Wt=()=>Promise.resolve().then(()=>require("./component-ref-23FBngqj.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}),Ft=()=>Promise.resolve().then(()=>require("./repeated-block-70kCyQ_l.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}),Ut=o.defineComponent({name:"block",components:{BlockStyles:o.defineAsyncComponent(At),ComponentRef:o.defineAsyncComponent(Wt),RepeatedBlock:o.defineAsyncComponent(Ft),BlockWrapper:o.defineAsyncComponent(Nt)},props:["block","context","registeredComponents","linkComponent"],data(){return{childrenContext:this.context}},mounted(){const e=this.processedBlock.id,t=this.processedBlock.animations;t&&e&&Bt(t.filter(n=>n.trigger!=="hover").map(n=>({...n,elementId:e})))},computed:{blockComponent(){return Vt({block:this.block,context:this.context,registeredComponents:this.registeredComponents})},repeatItem(){return xt({block:this.block,context:this.context})},processedBlock(){var e;return(e=this.block.repeat)!=null&&e.collection?this.block:q({block:this.block,localState:this.context.localState,rootState:this.context.rootState,rootSetState:this.context.rootSetState,context:this.context.context,shouldEvaluateBindings:!0})},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,r,s,i,a,l,c,u;return{blockChildren:this.processedBlock.children??[],componentRef:(e=this.blockComponent)==null?void 0:e.component,componentOptions:{...dt(this.processedBlock),builderContext:this.context,...((t=this.blockComponent)==null?void 0:t.name)==="Core:Button"||((n=this.blockComponent)==null?void 0:n.name)==="Symbol"||((r=this.blockComponent)==null?void 0:r.name)==="Columns"||((s=this.blockComponent)==null?void 0:s.name)==="Form:Form"?{builderLinkComponent:this.linkComponent}:{},...((i=this.blockComponent)==null?void 0:i.name)==="Symbol"||((a=this.blockComponent)==null?void 0:a.name)==="Columns"||((l=this.blockComponent)==null?void 0:l.name)==="Form:Form"?{builderComponents:this.registeredComponents}:{}},context:this.childrenContext,linkComponent:this.linkComponent,registeredComponents:this.registeredComponents,builderBlock:this.processedBlock,includeBlockProps:((c=this.blockComponent)==null?void 0:c.noWrap)===!0,isInteractive:!((u=this.blockComponent)!=null&&u.isRSC)}}}});function Ot(e,t,n,r,s,i){var d;const a=o.resolveComponent("block-styles"),l=o.resolveComponent("component-ref"),c=o.resolveComponent("block",!0),u=o.resolveComponent("block-wrapper"),m=o.resolveComponent("repeated-block");return e.canShowBlock?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createVNode(a,{block:e.block,context:e.context},null,8,["block","context"]),(d=e.blockComponent)!=null&&d.noWrap?(o.openBlock(),o.createBlock(l,{key:1,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(),o.createElementBlock(o.Fragment,{key:0},[e.repeatItem?(o.openBlock(!0),o.createElementBlock(o.Fragment,{key:1},o.renderList(e.repeatItem,(p,g)=>(o.openBlock(),o.createBlock(m,{key:g,repeatContext:p.context,block:p.block,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["repeatContext","block","registeredComponents","linkComponent"]))),128)):(o.openBlock(),o.createBlock(u,{key:0,Wrapper:e.Tag,block:e.processedBlock,context:e.context,linkComponent:e.linkComponent},{default:o.withCtx(()=>[o.createVNode(l,{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,(p,g)=>(o.openBlock(),o.createBlock(c,{key:p.id,block:p,context:e.childrenContext,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["block","context","registeredComponents","linkComponent"]))),128))]),_:1},8,["Wrapper","block","context","linkComponent"]))],64))],64)):o.createCommentVNode("",!0)}const L=f(Ut,[["render",Ot]]),Lt=Object.freeze(Object.defineProperty({__proto__:null,default:L},Symbol.toStringTag,{value:"Module"})),Mt=o.defineComponent({name:"builder-blocks-wrapper",props:["BlocksWrapper","blocks","parent","path","styleProp","BlocksWrapperProps"],computed:{className(){var e;return"builder-blocks"+((e=this.blocks)!=null&&e.length?"":" no-blocks")}},methods:{onClick(){var e,t;k()&&!((e=this.blocks)!=null&&e.length)&&((t=window.parent)==null||t.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},onMouseEnter(){var e,t;k()&&!((e=this.blocks)!=null&&e.length)&&((t=window.parent)==null||t.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))}}});function Dt(e,t,n,r,s,i){return o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.BlocksWrapper),o.mergeProps({class:e.className+" component-b1turyjjkok","builder-path":e.path,"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 Ht=f(Mt,[["render",Dt],["__scopeId","data-v-3403e3cb"]]),jt=o.defineComponent({name:"builder-blocks",components:{BlocksWrapper:Ht,Block:L},props:["blocks","parent","path","styleProp","context","linkComponent","registeredComponents"],inject:{builderContext:U.key,componentsContext:he.key}});function Kt(e,t,n,r,s,i){var c,u;const a=o.resolveComponent("block"),l=o.resolveComponent("blocks-wrapper");return o.openBlock(),o.createBlock(l,{blocks:e.blocks,parent:e.parent,path:e.path,styleProp:e.styleProp,BlocksWrapper:(c=e.context)==null?void 0:c.BlocksWrapper,BlocksWrapperProps:(u=e.context)==null?void 0:u.BlocksWrapperProps},{default:o.withCtx(()=>[e.blocks?(o.openBlock(!0),o.createElementBlock(o.Fragment,{key:0},o.renderList(e.blocks,(m,d)=>(o.openBlock(),o.createBlock(a,{key:m.id,block:m,linkComponent:e.linkComponent,context:e.context||e.builderContext,registeredComponents:e.registeredComponents||e.componentsContext.registeredComponents},null,8,["block","linkComponent","context","registeredComponents"]))),128)):o.createCommentVNode("",!0)]),_:1},8,["blocks","parent","path","styleProp","BlocksWrapper","BlocksWrapperProps"])}const B=f(jt,[["render",Kt]]),M=o.defineComponent({render(){return o.h("style",{id:this.id,innerHTML:this.styles})},name:"inlined-styles",props:["styles","id"]}),Se={small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200}},qt=(e,t=Se)=>`@media (max-width: ${t[e].max}px)`,ve=({small:e,medium:t})=>{const n=x(Se);if(!e||!t)return n;const r=Math.floor(e/2);n.small={max:e,min:r,default:r+1};const s=n.small.max+1;n.medium={max:t,min:s,default:s+1};const i=n.medium.max+1;return n.large={max:2e3,min:i,default:i+1},n},zt=o.defineComponent({name:"builder-columns",components:{InlinedStyles:M,DynamicRenderer:K,Blocks:B},props:["space","columns","stackColumnsAt","reverseColumnsWhenStacked","builderContext","builderBlock","builderLinkComponent","builderComponents"],data(){return{gutterSize:typeof this.space=="number"?this.space||0:20,cols:this.columns||[],stackAt:this.stackColumnsAt||"tablet",flexDir:this.stackColumnsAt==="never"?"row":this.reverseColumnsWhenStacked?"column-reverse":"column",TARGET:S,getClassPropName:O,mapStyleObjToStrIfNeeded:ye}},computed:{columnsCssVars(){return{"--flex-dir":this.flexDir,"--flex-dir-tablet":this.getTabletStyle({stackedStyle:this.flexDir,desktopStyle:"row"})}},columnsStyles(){return`
|
|
9
|
+
@media (max-width: ${this.getWidthForBreakpointSize("medium")}px) {
|
|
10
|
+
.${this.builderBlock.id}-breakpoints {
|
|
11
|
+
flex-direction: var(--flex-dir-tablet);
|
|
12
|
+
align-items: stretch;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.${this.builderBlock.id}-breakpoints > .builder-column {
|
|
16
|
+
width: var(--column-width-tablet) !important;
|
|
17
|
+
margin-left: var(--column-margin-left-tablet) !important;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@media (max-width: ${this.getWidthForBreakpointSize("small")}px) {
|
|
22
|
+
.${this.builderBlock.id}-breakpoints {
|
|
23
|
+
flex-direction: var(--flex-dir);
|
|
24
|
+
align-items: stretch;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.${this.builderBlock.id}-breakpoints > .builder-column {
|
|
28
|
+
width: var(--column-width-mobile) !important;
|
|
29
|
+
margin-left: var(--column-margin-left-mobile) !important;
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
`}},methods:{getWidth(e){var t;return((t=this.cols[e])==null?void 0:t.width)||100/this.cols.length},getColumnCssWidth(e){const t=this.gutterSize*(this.cols.length-1)/this.cols.length;return`calc(${this.getWidth(e)}% - ${t}px)`},getTabletStyle({stackedStyle:e,desktopStyle:t}){return this.stackAt==="tablet"?e:t},getMobileStyle({stackedStyle:e,desktopStyle:t}){return this.stackAt==="never"?t:e},columnCssVars(e){const t=e===0?0:this.gutterSize,n=this.getColumnCssWidth(e),r=`${t}px`,s="100%",i=0;return{...{display:"flex",flexDirection:"column",alignItems:"stretch"},width:n,["margin-left"]:r,"--column-width-mobile":this.getMobileStyle({stackedStyle:s,desktopStyle:n}),"--column-margin-left-mobile":this.getMobileStyle({stackedStyle:i,desktopStyle:r}),"--column-width-tablet":this.getTabletStyle({stackedStyle:s,desktopStyle:n}),"--column-margin-left-tablet":this.getTabletStyle({stackedStyle:i,desktopStyle:r})}},getWidthForBreakpointSize(e){var n,r;return ve(((r=(n=this.builderContext.content)==null?void 0:n.meta)==null?void 0:r.breakpoints)||{})[e].max}}});function Jt(e,t,n,r,s,i){const a=o.resolveComponent("inlined-styles"),l=o.resolveComponent("blocks"),c=o.resolveComponent("dynamic-renderer");return o.openBlock(),o.createElementBlock("div",o.mergeProps({class:`builder-columns ${e.builderBlock.id}-breakpoints div-16nol0lwi20`,style:e.columnsCssVars},{}),[e.TARGET!=="reactNative"?(o.openBlock(),o.createBlock(a,{key:0,styles:e.columnsStyles},null,8,["styles"])):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.columns,(u,m)=>(o.openBlock(),o.createBlock(c,{key:m,TagName:u.link?e.builderLinkComponent||"a":"div",actionAttributes:{},attributes:{...u.link?{href:u.link}:{},[e.getClassPropName()]:"builder-column",style:e.mapStyleObjToStrIfNeeded(e.columnCssVars(m))}},{default:o.withCtx(()=>[o.createVNode(l,{path:`component.options.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 we=f(zt,[["render",Jt],["__scopeId","data-v-3a12caec"]]),Gt=o.defineComponent({name:"builder-fragment-component",props:[]});function _t(e,t,n,r,s,i){return o.openBlock(),o.createElementBlock("span",null,[o.renderSlot(e.$slots,"default")])}const Ie=f(Gt,[["render",_t]]);function oe(e){return e.replace(/http(s)?:/,"")}function Yt(e="",t,n){const r=new RegExp("([?&])"+t+"=.*?(&|$)","i"),s=e.indexOf("?")!==-1?"&":"?";return e.match(r)?e.replace(r,"$1"+t+"="+encodeURIComponent(n)+"$2"):e+s+t+"="+encodeURIComponent(n)}function Qt(e,t){if(!e||!(e!=null&&e.match(/cdn\.shopify\.com/))||!t)return e;if(t==="master")return oe(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]),s=n[3],i=t.match("x")?t:`${t}x`;return oe(`${r[0]}_${i}${s}`)}return null}function D(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(s=>s!==r).map(s=>`${Yt(e,"width",s)} ${s}w`).concat([n]).join(", ")}return e.match(/cdn\.shopify\.com/)?t.map(n=>[Qt(e,`${n}x${n}`),n]).filter(([n])=>!!n).map(([n,r])=>`${n} ${r}w`).concat([e]).join(", "):e}const Xt=o.defineComponent({name:"builder-image",props:["image","src","srcset","noWebp","aspectRatio","altText","backgroundPosition","backgroundSize","className","sizes","builderBlock","fitContent"],computed:{srcSetToUse(){var n;const t=this.image||this.src;if(!t||!(t.match(/builder\.io/)||t.match(/cdn\.shopify\.com/)))return this.srcset;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"),D(t)}else if(this.image&&!this.srcset)return D(t);return D(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}}}),Zt=["srcset"],en=["alt","role","src","srcset","sizes"],tn={key:2,class:"div-4wbls88y960-2"};function nn(e,t,n,r,s,i){var a,l,c,u;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,Zt)):o.createCommentVNode("",!0),o.createElementVNode("img",{loading:"lazy",alt:e.altText,role:e.altText?"presentation":void 0,style:o.normalizeStyle({objectPosition:e.backgroundPosition||"center",objectFit:e.backgroundSize||"cover",...e.aspectRatioCss}),class:o.normalizeClass("builder-image"+(e.className?" "+e.className:"")+" img-4wbls88y960"),src:e.image,srcset:e.srcSetToUse,sizes:e.sizes},null,14,en)]),e.aspectRatio&&!((l=(a=e.builderBlock)==null?void 0:a.children)!=null&&l.length&&e.fitContent)?(o.openBlock(),o.createElementBlock("div",{key:0,class:"builder-image-sizer div-4wbls88y960",style:o.normalizeStyle({paddingTop:e.aspectRatio*100+"%"})},null,4)):o.createCommentVNode("",!0),(u=(c=e.builderBlock)==null?void 0:c.children)!=null&&u.length&&e.fitContent?o.renderSlot(e.$slots,"default",{key:1},void 0,!0):o.createCommentVNode("",!0),!e.fitContent&&e.$slots.default?(o.openBlock(),o.createElementBlock("div",tn,[o.renderSlot(e.$slots,"default",{},void 0,!0)])):o.createCommentVNode("",!0)],64)}const $e=f(Xt,[["render",nn],["__scopeId","data-v-4ab1cc9f"]]),on=o.defineComponent({name:"builder-section-component",props:["attributes","maxWidth"],data(){return{filterAttrs:$}}});function rn(e,t,n,r,s,i){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 Te=f(on,[["render",rn]]),sn=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},Be=({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){y.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},Re=async e=>Be(e),an=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(w).join("; "),ln=[["secure",""],["SameSite","None"]],cn=({name:e,value:t,expires:n})=>{const s=(b()?location.protocol==="https:":!0)?ln:[[]],i=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...i,["path","/"],["domain",sn(window.location.hostname)],...s];return an(a)},Ee=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const s=cn({name:e,value:t,expires:n});document.cookie=s}catch(s){y.warn("[COOKIE] SET error: ",(s==null?void 0:s.message)||s)}},dn="builder.tests",_=e=>`${dn}.${e}`,un=({contentId:e})=>Re({name:_(e),canTrack:!0}),pn=({contentId:e})=>Be({name:_(e),canTrack:!0}),mn=({contentId:e,value:t})=>Ee({name:_(e),value:t,canTrack:!0}),Pe=e=>w(e.id)&&w(e.variations)&&Object.keys(e.variations).length>0,hn=({id:e,variations:t})=>{var s;let n=0;const r=Math.random();for(const i in t){const a=(s=t[i])==null?void 0:s.testRatio;if(n+=a,r<n)return i}return e},Ve=e=>{const t=hn(e);return mn({contentId:e.id,value:t}).catch(n=>{y.error("could not store A/B test variation: ",n)}),t},xe=({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":"")}},fn=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!Pe(e))return e;const n=pn({contentId:e.id})||Ve({variations:e.variations,id:e.id}),r=xe({item:e,testGroupId:n});return{...e,...r}},gn=async({item:e,canTrack:t})=>{if(!t||!Pe(e))return e;const r=await un({contentId:e.id})||Ve({variations:e.variations,id:e.id}),s=xe({item:e,testGroupId:r});return{...e,...s}},V=e=>w(e)?e:!0,bn={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},kn={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:"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>"}}}]},{blocks:[{"@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>"}}}]}],onChange:e=>{function t(){n.forEach(r=>{r.delete("width")})}const n=e.get("columns");Array.isArray(n)&&n.find(s=>s.get("width"))&&(n.find(i=>!i.get("width"))||n.reduce((l,c)=>l+c.get("width"),0)!==100)&&t()}},{name:"space",type:"number",defaultValue:20,helperText:"Size of gap between columns",advanced:!0},{name:"stackColumnsAt",type:"string",defaultValue:"tablet",helperText:"Convert horizontal columns to vertical at what device size",enum:["tablet","mobile","never"],advanced:!0},{name:"reverseColumnsWhenStacked",type:"boolean",defaultValue:!1,helperText:"When stacking columns for mobile devices, reverse the ordering",advanced:!0}]},yn={name:"Fragment",static:!0,hidden:!0,canHaveChildren:!0,noWrap:!0},Cn={name:"Image",static:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",defaultStyles:{position:"relative",minHeight:"20px",minWidth:"20px",overflow:"hidden"},canHaveChildren:!0,inputs:[{name:"image",type:"file",bubble:!0,allowedFileTypes:["jpeg","jpg","png","svg"],required:!0,defaultValue:"https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a",onChange:e=>{e.delete("srcset"),e.delete("noWebp");function n(a,l=6e4){return new Promise((c,u)=>{const m=document.createElement("img");let d=!1;m.onload=()=>{d=!0,c(m)},m.addEventListener("error",p=>{console.warn("Image load failed",p.error),u(p.error)}),m.src=a,setTimeout(()=>{d||u(new Error("Image load timed out"))},l)})}function r(a){return Math.round(a*1e3)/1e3}const s=e.get("image"),i=e.get("aspectRatio");if(fetch(s).then(a=>a.blob()).then(a=>{a.type.includes("svg")&&e.set("noWebp",!0)}),s&&(!i||i===.7041))return n(s).then(a=>{const l=e.get("aspectRatio");e.get("image")===s&&(!l||l===.7041)&&a.width&&a.height&&(e.set("aspectRatio",r(a.height/a.width)),e.set("height",a.height),e.set("width",a.width))})}},{name:"backgroundSize",type:"text",defaultValue:"cover",enum:[{label:"contain",value:"contain",helperText:"The image should never get cropped"},{label:"cover",value:"cover",helperText:"The image should fill it's box, cropping when needed"}]},{name:"backgroundPosition",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"altText",type:"string",helperText:"Text to display when the user has images off"},{name:"height",type:"number",hideFromUI:!0},{name:"width",type:"number",hideFromUI:!0},{name:"sizes",type:"string",hideFromUI:!0},{name:"srcset",type:"string",hideFromUI:!0},{name:"lazy",type:"boolean",defaultValue:!0,hideFromUI:!0},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the image's aspect ratio",defaultValue:!0},{name:"aspectRatio",type:"number",helperText:"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio",advanced:!0,defaultValue:.7041}]},Sn={name:"Core:Section",static:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",inputs:[{name:"maxWidth",type:"number",defaultValue:1200},{name:"lazyLoad",type:"boolean",defaultValue:!1,advanced:!0,description:"Only render this section when in view"}],defaultStyles:{paddingLeft:"20px",paddingRight:"20px",paddingTop:"50px",paddingBottom:"50px",marginTop:"0px",width:"100vw",marginLeft:"calc(50% - 50vw)"},canHaveChildren:!0,defaultChildren:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{textAlign:"center"}},component:{name:"Text",options:{text:"<p><b>I am a section! My content keeps from getting too wide, so that it's easy to read even on big screens.</b></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur</p>"}}}]},vn={name:"Slot",isRSC:!0,description:"Allow child blocks to be inserted into this content when used as a Symbol",docsLink:"https://www.builder.io/c/docs/symbols-with-blocks",image:"https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3aad6de36eae43b59b52c85190fdef56",inputs:[{name:"name",type:"string",required:!0,defaultValue:"children"}]},wn=o.defineComponent({name:"builder-slot",components:{Blocks:B},props:["js","builderContext","name"]});function In(e,t,n,r,s,i){var l,c,u;const a=o.resolveComponent("blocks");return o.openBlock(),o.createElementBlock("div",o.mergeProps({style:{pointerEvents:"auto"}},!((l=e.builderContext.context)!=null&&l.symbolId)&&{"builder-slot":e.name}),[o.createVNode(a,{parent:(c=e.builderContext.context)==null?void 0:c.symbolId,path:`symbol.data.${e.name}`,context:e.builderContext,blocks:(u=e.builderContext.rootState)==null?void 0:u[e.name]},null,8,["parent","path","context","blocks"])],16)}const $n=f(wn,[["render",In]]),Tn={name:"Symbol",noWrap:!0,static:!0,isRSC:!0,inputs:[{name:"symbol",type:"uiSymbol"},{name:"dataOnly",helperText:"Make this a data symbol that doesn't display any UI",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"inheritState",helperText:"Inherit the parent component state and data",type:"boolean",defaultValue:!1,advanced:!0},{name:"renderToLiquid",helperText:"Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"useChildren",hideFromUI:!0,type:"boolean"}]},Bn={name:"Text",static:!0,isRSC:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-text_fields-24px%20(1).svg?alt=media&token=12177b73-0ee3-42ca-98c6-0dd003de1929",inputs:[{name:"text",type:"html",required:!0,autoFocus:!0,bubble:!0,defaultValue:"Enter some text..."}],defaultStyles:{lineHeight:"normal",height:"auto",textAlign:"center"}},Rn=o.defineComponent({name:"builder-text",props:["text"]}),En=["innerHTML"];function Pn(e,t,n,r,s,i){var a;return o.openBlock(),o.createElementBlock("div",{class:"builder-text",innerHTML:((a=e.text)==null?void 0:a.toString())||"",style:{outline:"none"}},null,8,En)}const Ae=f(Rn,[["render",Pn]]),Vn={name:"Custom Code",static:!0,requiredPermissions:["editCode"],inputs:[{name:"code",type:"html",required:!0,defaultValue:"<p>Hello there, I am custom HTML code!</p>",code:!0},{name:"replaceNodes",type:"boolean",helperText:"Preserve server rendered dom nodes",advanced:!0},{name:"scriptsClientOnly",type:"boolean",defaultValue:!1,helperText:"Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads",advanced:!0}]},xn=o.defineComponent({name:"builder-custom-code",props:["replaceNodes","code"],data(){return{scriptsInserted:[],scriptsRun:[]}},mounted(){var t;if(!((t=this.$refs.elementRef)!=null&&t.getElementsByTagName)||typeof window>"u")return;const e=this.$refs.elementRef.getElementsByTagName("script");for(let n=0;n<e.length;n++){const r=e[n];if(r.src){if(this.scriptsInserted.includes(r.src))continue;this.scriptsInserted.push(r.src);const s=document.createElement("script");s.async=!0,s.src=r.src,document.head.appendChild(s)}else if(!r.type||["text/javascript","application/javascript","application/ecmascript"].includes(r.type)){if(this.scriptsRun.includes(r.innerText))continue;try{this.scriptsRun.push(r.innerText),new Function(r.innerText)()}catch(s){console.warn("`CustomCode`: Error running script:",s)}}}}}),An=["innerHTML"];function Nn(e,t,n,r,s,i){return o.openBlock(),o.createElementBlock("div",{ref:"elementRef",class:o.normalizeClass("builder-custom-code"+(e.replaceNodes?" replace-nodes":"")),innerHTML:e.code},null,10,An)}const Wn=f(xn,[["render",Nn]]),Fn={name:"Embed",static:!0,inputs:[{name:"url",type:"url",required:!0,defaultValue:"",helperText:"e.g. enter a youtube url, google map, etc",onChange:e=>{const t=e.get("url");if(t)return e.set("content","Loading..."),fetch(`https://iframe.ly/api/iframely?url=${t}&api_key=ae0e60e78201a3f2b0de4b`).then(r=>r.json()).then(r=>{e.get("url")===t&&(r.html?e.set("content",r.html):e.set("content","Invalid url, please try another"))}).catch(r=>{e.set("content","There was an error embedding this URL, please try again or another URL")});e.delete("content")}},{name:"content",type:"html",defaultValue:'<div style="padding: 20px; text-align: center">(Choose an embed URL)<div>',hideFromUI:!0}]},Un=["text/javascript","application/javascript","application/ecmascript"],On=e=>Un.includes(e.type),Ln=o.defineComponent({name:"builder-embed",props:["content"],data(){return{scriptsInserted:[],scriptsRun:[],ranInitFn:!1}},watch:{onUpdateHook0:{handler(){this.$refs.elem&&!this.ranInitFn&&(this.ranInitFn=!0,this.findAndRunScripts())},immediate:!0}},computed:{onUpdateHook0(){return{0:this.$refs.elem,1:this.ranInitFn}}},methods:{findAndRunScripts(){if(!this.$refs.elem||!this.$refs.elem.getElementsByTagName)return;const e=this.$refs.elem.getElementsByTagName("script");for(let t=0;t<e.length;t++){const n=e[t];if(n.src&&!this.scriptsInserted.includes(n.src)){this.scriptsInserted.push(n.src);const r=document.createElement("script");r.async=!0,r.src=n.src,document.head.appendChild(r)}else if(On(n)&&!this.scriptsRun.includes(n.innerText))try{this.scriptsRun.push(n.innerText),new Function(n.innerText)()}catch(r){console.warn("`Embed`: Error running script:",r)}}}}}),Mn=["innerHTML"];function Dn(e,t,n,r,s,i){return o.openBlock(),o.createElementBlock("div",{class:"builder-embed",ref:"elem",innerHTML:e.content},null,8,Mn)}const Hn=f(Ln,[["render",Dn]]),jn={name:"Form:Form",defaults:{responsiveStyles:{large:{marginTop:"15px",paddingBottom:"15px"}}},image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fef36d2a846134910b64b88e6d18c5ca5",inputs:[{name:"sendSubmissionsTo",type:"string",enum:[{label:"Send to email",value:"email",helperText:"Send form submissions to the email address of your choosing"},{label:"Custom",value:"custom",helperText:"Handle where the form requests go manually with a little code, e.g. to your own custom backend"}],defaultValue:"email"},{name:"sendSubmissionsToEmail",type:"string",required:!0,defaultValue:"your@email.com",showIf:'options.get("sendSubmissionsTo") === "email"'},{name:"sendWithJs",type:"boolean",helperText:"Set to false to use basic html form action",defaultValue:!0,showIf:'options.get("sendSubmissionsTo") === "custom"'},{name:"name",type:"string",defaultValue:"My form"},{name:"action",type:"string",helperText:"URL to send the form data to",showIf:'options.get("sendSubmissionsTo") === "custom"'},{name:"contentType",type:"string",defaultValue:"application/json",advanced:!0,enum:["application/json","multipart/form-data","application/x-www-form-urlencoded"],showIf:'options.get("sendSubmissionsTo") === "custom" && options.get("sendWithJs") === true'},{name:"method",type:"string",showIf:'options.get("sendSubmissionsTo") === "custom"',defaultValue:"POST",advanced:!0},{name:"previewState",type:"string",enum:["unsubmitted","sending","success","error"],defaultValue:"unsubmitted",helperText:'Choose a state to edit, e.g. choose "success" to show what users see on success and edit the message',showIf:'options.get("sendSubmissionsTo") !== "zapier" && options.get("sendWithJs") === true'},{name:"successUrl",type:"url",helperText:"Optional URL to redirect the user to on form submission success",showIf:'options.get("sendSubmissionsTo") !== "zapier" && options.get("sendWithJs") === true'},{name:"resetFormOnSubmit",type:"boolean",showIf:"options.get('sendSubmissionsTo') === 'custom' && options.get('sendWithJs') === true",advanced:!0},{name:"successMessage",type:"uiBlocks",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Text",options:{text:"<span>Thanks!</span>"}}}]},{name:"validate",type:"boolean",defaultValue:!0,advanced:!0},{name:"errorMessagePath",type:"text",advanced:!0,helperText:'Path to where to get the error message from in a JSON response to display to the user, e.g. "error.message" for a response like { "error": { "message": "this username is taken" }}'},{name:"errorMessage",type:"uiBlocks",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},bindings:{"component.options.text":"state.formErrorMessage || block.component.options.text"},component:{name:"Text",options:{text:"<span>Form submission error :( Please check your answers and try again</span>"}}}]},{name:"sendingMessage",type:"uiBlocks",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Text",options:{text:"<span>Sending...</span>"}}}]},{name:"customHeaders",type:"map",valueType:{type:"string"},advanced:!0,showIf:'options.get("sendSubmissionsTo") === "custom" && options.get("sendWithJs") === true'}],noWrap:!0,canHaveChildren:!0,defaultChildren:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Text",options:{text:"<span>Enter your name</span>"}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Form:Input",options:{name:"name",placeholder:"Jane Doe"}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Text",options:{text:"<span>Enter your email</span>"}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Form:Input",options:{name:"email",placeholder:"jane@doe.com"}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Form:SubmitButton",options:{text:"Submit"}}}]},Kn=["production","qa","test","development","dev","cdn-qa","cloud","fast","cdn2","cdn-prod"],qn=()=>{const e=process.env.NODE_ENV||"production";return Kn.includes(e)?e:"production"},zn=(e,t,n)=>{const r=String.prototype.split.call(t,/[,[\].]+?/).filter(Boolean).reduce((s,i)=>s!=null?s[i]:s,e);return r===void 0||r===e?n:r},Jn=o.defineComponent({name:"builder-form-component",components:{Block:L,Blocks:B},props:["js","builderContext","previewState","sendWithJs","sendSubmissionsTo","action","customHeaders","contentType","sendSubmissionsToEmail","name","method","errorMessagePath","resetFormOnSubmit","successUrl","validate","attributes","builderBlock","builderComponents","builderLinkComponent","errorMessage","sendingMessage","successMessage"],data(){return{formState:"unsubmitted",responseData:null,formErrorMessage:"",filterAttrs:$}},methods:{mergeNewRootState(e){var n,r;const t={...this.builderContext.rootState,...e};this.builderContext.rootSetState?(r=(n=this.builderContext).rootSetState)==null||r.call(n,t):this.builderContext.rootState=t},submissionState(){return k()&&this.previewState||this.formState},onSubmit(e){var n;const t=this.sendWithJs||this.sendSubmissionsTo==="email";if(this.sendSubmissionsTo==="zapier")e.preventDefault();else if(t){if(!(this.action||this.sendSubmissionsTo==="email")){e.preventDefault();return}e.preventDefault();const r=e.currentTarget,s=this.customHeaders||{};let i;const a=new FormData(r),l=Array.from(e.currentTarget.querySelectorAll("input,select,textarea")).filter(d=>!!d.name).map(d=>{let p;const g=d.name;if(d instanceof HTMLInputElement)if(d.type==="radio"){if(d.checked)return p=d.name,{key:g,value:p}}else if(d.type==="checkbox")p=d.checked;else if(d.type==="number"||d.type==="range"){const h=d.valueAsNumber;isNaN(h)||(p=h)}else d.type==="file"?p=d.files:p=d.value;else p=d.value;return{key:g,value:p}});let c=this.contentType;if(this.sendSubmissionsTo==="email"&&(c="multipart/form-data"),Array.from(l).forEach(({value:d})=>{(d instanceof File||Array.isArray(d)&&d[0]instanceof File||d instanceof FileList)&&(c="multipart/form-data")}),c!=="application/json")i=a;else{const d={};Array.from(l).forEach(({value:p,key:g})=>{be(d,g,p)}),i=JSON.stringify(d)}c&&c!=="multipart/form-data"&&(t&&((n=this.action)!=null&&n.includes("zapier.com"))||(s["content-type"]=c));const u=new CustomEvent("presubmit",{detail:{body:i}});if(this.$refs.formRef&&(this.$refs.formRef.dispatchEvent(u),u.defaultPrevented))return;this.formState="sending";const m=`${qn()==="dev"?"http://localhost:5000":"https://builder.io"}/api/v1/form-submit?apiKey=${this.builderContext.apiKey}&to=${btoa(this.sendSubmissionsToEmail||"")}&name=${encodeURIComponent(this.name||"")}`;fetch(this.sendSubmissionsTo==="email"?m:this.action,{body:i,headers:s,method:this.method||"post"}).then(async d=>{let p;const g=d.headers.get("content-type");if(g&&g.indexOf("application/json")!==-1?p=await d.json():p=await d.text(),!d.ok&&this.errorMessagePath){let h=zn(p,this.errorMessagePath);h&&(typeof h!="string"&&(h=JSON.stringify(h)),this.formErrorMessage=h,this.mergeNewRootState({formErrorMessage:h}))}if(this.responseData=p,this.formState=d.ok?"success":"error",d.ok){const h=new CustomEvent("submit:success",{detail:{res:d,body:p}});if(this.$refs.formRef){if(this.$refs.formRef.dispatchEvent(h),h.defaultPrevented)return;this.resetFormOnSubmit!==!1&&this.$refs.formRef.reset()}if(this.successUrl)if(this.$refs.formRef){const v=new CustomEvent("route",{detail:{url:this.successUrl}});this.$refs.formRef.dispatchEvent(v),v.defaultPrevented||(location.href=this.successUrl)}else location.href=this.successUrl}},d=>{const p=new CustomEvent("submit:error",{detail:{error:d}});this.$refs.formRef&&(this.$refs.formRef.dispatchEvent(p),p.defaultPrevented)||(this.responseData=d,this.formState="error")})}}}}),Gn=["validate","action","method","name"],_n={key:3,class:"builder-form-error-text pre-tqyw9m0iue"};function Yn(e,t,n,r,s,i){var c;const a=o.resolveComponent("block"),l=o.resolveComponent("blocks");return o.openBlock(),o.createElementBlock("form",o.mergeProps({validate:e.validate,ref:"formRef",action:!e.sendWithJs&&e.action,method:e.method,name:e.name,onSubmit:t[0]||(t[0]=u=>e.onSubmit(u))},e.filterAttrs(e.attributes,"v-on:",!1),o.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),[e.builderBlock&&e.builderBlock.children?(o.openBlock(!0),o.createElementBlock(o.Fragment,{key:0},o.renderList((c=e.builderBlock)==null?void 0:c.children,(u,m)=>(o.openBlock(),o.createBlock(a,{key:`form-block-${e.idx}`,block:u,context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent},null,8,["block","context","registeredComponents","linkComponent"]))),128)):o.createCommentVNode("",!0),e.submissionState()==="error"?(o.openBlock(),o.createBlock(l,{key:1,path:"errorMessage",blocks:e.errorMessage,context:e.builderContext},null,8,["blocks","context"])):o.createCommentVNode("",!0),e.submissionState()==="sending"?(o.openBlock(),o.createBlock(l,{key:2,path:"sendingMessage",blocks:e.sendingMessage,context:e.builderContext},null,8,["blocks","context"])):o.createCommentVNode("",!0),e.submissionState()==="error"&&e.responseData?(o.openBlock(),o.createElementBlock("pre",_n," "+o.toDisplayString(JSON.stringify(e.responseData,null,2))+`
|
|
33
|
+
`,1)):o.createCommentVNode("",!0),e.submissionState()==="success"?(o.openBlock(),o.createBlock(l,{key:4,path:"successMessage",blocks:e.successMessage,context:e.builderContext},null,8,["blocks","context"])):o.createCommentVNode("",!0)],16,Gn)}const Qn=f(Jn,[["render",Yn],["__scopeId","data-v-e7803f50"]]),Xn={name:"Form:Input",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca",inputs:[{name:"type",type:"text",enum:["text","number","email","url","checkbox","radio","range","date","datetime-local","search","tel","time","file","month","week","password","color","hidden"],defaultValue:"text"},{name:"name",type:"string",required:!0,helperText:'Every input in a form needs a unique name describing what it takes, e.g. "email"'},{name:"placeholder",type:"string",defaultValue:"Hello there",helperText:"Text to display when there is no value"},{name:"defaultValue",type:"string"},{name:"value",type:"string",advanced:!0},{name:"required",type:"boolean",helperText:"Is this input required to be filled out to submit a form",defaultValue:!1}],noWrap:!0,static:!0,defaultStyles:{paddingTop:"10px",paddingBottom:"10px",paddingLeft:"10px",paddingRight:"10px",borderRadius:"3px",borderWidth:"1px",borderStyle:"solid",borderColor:"#ccc"}},Zn=o.defineComponent({name:"builder-form-input-component",props:["attributes","defaultValue","placeholder","type","name","value","required"],data(){return{isEditing:k,filterAttrs:$}}}),eo=["placeholder","type","name","value","defaultValue","required"];function to(e,t,n,r,s,i){return o.openBlock(),o.createElementBlock("input",o.mergeProps({key:e.isEditing()&&e.defaultValue?e.defaultValue:"default-key",placeholder:e.placeholder,type:e.type,name:e.name,value:e.value,defaultValue:e.defaultValue,required:e.required},e.filterAttrs(e.attributes,"v-on:",!1),o.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),null,16,eo)}const no=f(Zn,[["render",to]]),oo={name:"Form:Select",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045",defaultStyles:{alignSelf:"flex-start"},inputs:[{name:"options",type:"list",required:!0,subFields:[{name:"value",type:"text",required:!0},{name:"name",type:"text"}],defaultValue:[{value:"option 1"},{value:"option 2"}]},{name:"name",type:"string",required:!0,helperText:'Every select in a form needs a unique name describing what it gets, e.g. "email"'},{name:"defaultValue",type:"string"},{name:"value",type:"string",advanced:!0},{name:"required",type:"boolean",defaultValue:!1}],static:!0,noWrap:!0},ro=o.defineComponent({name:"builder-select-component",props:["attributes","value","defaultValue","name","options"],data(){return{isEditing:k,filterAttrs:$}}}),so=["value","defaultValue","name"],io=["value"];function ao(e,t,n,r,s,i){return o.openBlock(),o.createElementBlock("select",o.mergeProps({value:e.value,key:e.isEditing()&&e.defaultValue?e.defaultValue:"default-key",defaultValue:e.defaultValue,name:e.name},e.filterAttrs(e.attributes,"v-on:",!1),o.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.options,(a,l)=>(o.openBlock(),o.createElementBlock("option",{key:l,value:a.value},o.toDisplayString(a.name||a.value),9,io))),128))],16,so)}const lo=f(ro,[["render",ao]]),co={name:"Form:SubmitButton",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98",defaultStyles:{appearance:"none",paddingTop:"15px",paddingBottom:"15px",paddingLeft:"25px",paddingRight:"25px",backgroundColor:"#3898EC",color:"white",borderRadius:"4px",cursor:"pointer"},inputs:[{name:"text",type:"text",defaultValue:"Click me"}],static:!0,noWrap:!0},uo=o.defineComponent({name:"builder-submit-button",props:["attributes","text"],data(){return{filterAttrs:$}}});function po(e,t,n,r,s,i){return o.openBlock(),o.createElementBlock("button",o.mergeProps({type:"submit"},e.filterAttrs(e.attributes,"v-on:",!1),o.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),o.toDisplayString(e.text),17)}const mo=f(uo,[["render",po]]),ho={name:"Raw:Img",hideFromInsertMenu:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",inputs:[{name:"image",bubble:!0,type:"file",allowedFileTypes:["jpeg","jpg","png","svg","gif","webp"],required:!0}],noWrap:!0,static:!0},fo=o.defineComponent({name:"builder-img-component",props:["backgroundSize","backgroundPosition","imgSrc","altText","image","attributes"],data(){return{isEditing:k,filterAttrs:$}}}),go=["alt","src"];function bo(e,t,n,r,s,i){return o.openBlock(),o.createElementBlock("img",o.mergeProps({style:{objectFit:e.backgroundSize||"cover",objectPosition:e.backgroundPosition||"center"},key:e.isEditing()&&e.imgSrc||"default-key",alt:e.altText,src:e.imgSrc||e.image},e.filterAttrs(e.attributes,"v-on:",!1),o.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),null,16,go)}const ko=f(fo,[["render",bo]]),yo={name:"Video",canHaveChildren:!0,defaultStyles:{minHeight:"20px",minWidth:"20px"},image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-videocam-24px%20(1).svg?alt=media&token=49a84e4a-b20e-4977-a650-047f986874bb",inputs:[{name:"video",type:"file",allowedFileTypes:["mp4"],bubble:!0,defaultValue:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/assets%2FKQlEmWDxA0coC3PK6UvkrjwkIGI2%2F28cb070609f546cdbe5efa20e931aa4b?alt=media&token=912e9551-7a7c-4dfb-86b6-3da1537d1a7f",required:!0},{name:"posterImage",type:"file",allowedFileTypes:["jpeg","png"],helperText:"Image to show before the video plays"},{name:"autoPlay",type:"boolean",defaultValue:!0},{name:"controls",type:"boolean",defaultValue:!1},{name:"muted",type:"boolean",defaultValue:!0},{name:"loop",type:"boolean",defaultValue:!0},{name:"playsInline",type:"boolean",defaultValue:!0},{name:"fit",type:"text",defaultValue:"cover",enum:["contain","cover","fill","auto"]},{name:"preload",type:"text",defaultValue:"metadata",enum:["auto","metadata","none"]},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the aspect ratio",defaultValue:!0,advanced:!0},{name:"position",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"height",type:"number",advanced:!0},{name:"width",type:"number",advanced:!0},{name:"aspectRatio",type:"number",advanced:!0,defaultValue:.7004048582995948},{name:"lazyLoad",type:"boolean",helperText:'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',defaultValue:!0,advanced:!0}]},Co=o.defineComponent({name:"builder-video",props:["autoPlay","muted","controls","loop","playsInline","preload","attributes","fit","position","aspectRatio","video","posterImage","lazyLoad","fitContent","builderBlock"],computed:{videoProps(){return{...this.autoPlay===!0?{autoPlay:!0}:{},...this.muted===!0?{muted:!0}:{},...this.controls===!0?{controls:!0}:{},...this.loop===!0?{loop:!0}:{},...this.playsInline===!0?{playsInline:!0}:{}}},spreadProps(){return{...this.videoProps}}}}),So={style:{position:"relative"}},vo=["preload","src","poster"],wo=["src"],Io={key:1,style:{display:"flex",flexDirection:"column",alignItems:"stretch"}},$o={key:2,style:{pointerEvents:"none",display:"flex",flexDirection:"column",alignItems:"stretch",position:"absolute",top:"0",left:"0",width:"100%",height:"100%"}};function To(e,t,n,r,s,i){var a,l,c,u,m,d,p;return o.openBlock(),o.createElementBlock("div",So,[o.createElementVNode("video",o.mergeProps({class:"builder-video",preload:e.preload||"metadata",style:{width:"100%",height:"100%",...(a=e.attributes)==null?void 0:a.style,objectFit:e.fit,objectPosition:e.position,zIndex:2,borderRadius:"1px",...e.aspectRatio?{position:"absolute"}:null},src:e.video||"no-src",poster:e.posterImage},e.spreadProps),[e.lazyLoad?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("source",{key:0,type:"video/mp4",src:e.video},null,8,wo))],16,vo),e.aspectRatio&&!(e.fitContent&&((c=(l=e.builderBlock)==null?void 0:l.children)!=null&&c.length))?(o.openBlock(),o.createElementBlock("div",{key:0,style:o.normalizeStyle({width:"100%",paddingTop:e.aspectRatio*100+"%",pointerEvents:"none",fontSize:"0px"})},null,4)):o.createCommentVNode("",!0),(m=(u=e.builderBlock)==null?void 0:u.children)!=null&&m.length&&e.fitContent?(o.openBlock(),o.createElementBlock("div",Io,[o.renderSlot(e.$slots,"default")])):o.createCommentVNode("",!0),(p=(d=e.builderBlock)==null?void 0:d.children)!=null&&p.length&&!e.fitContent?(o.openBlock(),o.createElementBlock("div",$o,[o.renderSlot(e.$slots,"default")])):o.createCommentVNode("",!0)])}const Ne=f(Co,[["render",To]]),Bo=()=>[{component:Wn,...Vn},{component:Hn,...Fn},{component:Qn,...jn},{component:no,...Xn},{component:mo,...co},{component:lo,...oo},{component:ko,...ho},{component:Ne,...yo}],re=()=>[{component:me,...bn},{component:we,...kn},{component:Ie,...yn},{component:$e,...Cn},{component:Te,...Sn},{component:$n,...vn},{component:Ze,...Tn},{component:Ae,...Bn},...Bo()],se=[],We=e=>({type:"builder.registerComponent",data:H(e)}),Ro=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`},Eo=e=>typeof e=="function"?Ro(e):x(e),H=({inputs:e,...t})=>({...x(t),inputs:e==null?void 0:e.map(n=>Object.entries(n).reduce((r,[s,i])=>({...r,[s]:Eo(i)}),{}))}),Po=`function updateCookiesAndStyles(contentId, variants, isHydrationTarget) {
|
|
34
|
+
function getAndSetVariantId() {
|
|
35
|
+
function setCookie(name, value, days) {
|
|
36
|
+
let expires = '';
|
|
37
|
+
if (days) {
|
|
38
|
+
const date = new Date();
|
|
39
|
+
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
|
|
40
|
+
expires = '; expires=' + date.toUTCString();
|
|
41
|
+
}
|
|
42
|
+
document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';
|
|
43
|
+
}
|
|
44
|
+
function getCookie(name) {
|
|
45
|
+
const nameEQ = name + '=';
|
|
46
|
+
const ca = document.cookie.split(';');
|
|
47
|
+
for (let i = 0; i < ca.length; i++) {
|
|
48
|
+
let c = ca[i];
|
|
49
|
+
while (c.charAt(0) === ' ') c = c.substring(1, c.length);
|
|
50
|
+
if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
const cookieName = \`builder.tests.\${contentId}\`;
|
|
55
|
+
const variantInCookie = getCookie(cookieName);
|
|
56
|
+
const availableIDs = variants.map(vr => vr.id).concat(contentId);
|
|
57
|
+
if (variantInCookie && availableIDs.includes(variantInCookie)) {
|
|
58
|
+
return variantInCookie;
|
|
59
|
+
}
|
|
60
|
+
let n = 0;
|
|
61
|
+
const random = Math.random();
|
|
62
|
+
for (let i = 0; i < variants.length; i++) {
|
|
63
|
+
const variant = variants[i];
|
|
64
|
+
const testRatio = variant.testRatio;
|
|
65
|
+
n += testRatio;
|
|
66
|
+
if (random < n) {
|
|
67
|
+
setCookie(cookieName, variant.id);
|
|
68
|
+
return variant.id;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
setCookie(cookieName, contentId);
|
|
72
|
+
return contentId;
|
|
73
|
+
}
|
|
74
|
+
const winningVariantId = getAndSetVariantId();
|
|
75
|
+
const styleEl = document.currentScript?.previousElementSibling;
|
|
76
|
+
if (isHydrationTarget) {
|
|
77
|
+
styleEl.remove();
|
|
78
|
+
const thisScriptEl = document.currentScript;
|
|
79
|
+
thisScriptEl?.remove();
|
|
80
|
+
} else {
|
|
81
|
+
const newStyleStr = variants.concat({
|
|
82
|
+
id: contentId
|
|
83
|
+
}).filter(variant => variant.id !== winningVariantId).map(value => {
|
|
84
|
+
return \`.variant-\${value.id} { display: none; }
|
|
85
|
+
\`;
|
|
86
|
+
}).join('');
|
|
87
|
+
styleEl.innerHTML = newStyleStr;
|
|
88
|
+
}
|
|
89
|
+
}`,Vo=`function updateVariantVisibility(variantContentId, defaultContentId, isHydrationTarget) {
|
|
90
|
+
if (!navigator.cookieEnabled) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
function getCookie(name) {
|
|
94
|
+
const nameEQ = name + '=';
|
|
95
|
+
const ca = document.cookie.split(';');
|
|
96
|
+
for (let i = 0; i < ca.length; i++) {
|
|
97
|
+
let c = ca[i];
|
|
98
|
+
while (c.charAt(0) === ' ') c = c.substring(1, c.length);
|
|
99
|
+
if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
|
|
100
|
+
}
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
const cookieName = \`builder.tests.\${defaultContentId}\`;
|
|
104
|
+
const winningVariant = getCookie(cookieName);
|
|
105
|
+
const parentDiv = document.currentScript?.parentElement;
|
|
106
|
+
const isDefaultContent = variantContentId === defaultContentId;
|
|
107
|
+
const isWinningVariant = winningVariant === variantContentId;
|
|
108
|
+
if (isWinningVariant && !isDefaultContent) {
|
|
109
|
+
parentDiv?.removeAttribute('hidden');
|
|
110
|
+
parentDiv?.removeAttribute('aria-hidden');
|
|
111
|
+
} else if (!isWinningVariant && isDefaultContent) {
|
|
112
|
+
parentDiv?.setAttribute('hidden', 'true');
|
|
113
|
+
parentDiv?.setAttribute('aria-hidden', 'true');
|
|
114
|
+
}
|
|
115
|
+
if (isHydrationTarget) {
|
|
116
|
+
if (!isWinningVariant) {
|
|
117
|
+
parentDiv?.remove();
|
|
118
|
+
}
|
|
119
|
+
const thisScriptEl = document.currentScript;
|
|
120
|
+
thisScriptEl?.remove();
|
|
121
|
+
}
|
|
122
|
+
return;
|
|
123
|
+
}`,Fe="builderIoAbTest",Ue="builderIoRenderContent",W=e=>Object.values((e==null?void 0:e.variations)||{}).map(t=>({...t,testVariationId:t.id,id:e==null?void 0:e.id})),xo=({canTrack:e,content:t})=>!(!(W(t).length>0)||!e),Ao=e=>e==="react"||e==="reactNative",Oe=Ao(S),No=()=>`
|
|
124
|
+
window.${Fe} = ${Po}
|
|
125
|
+
window.${Ue} = ${Vo}
|
|
126
|
+
`,Wo=(e,t)=>`
|
|
127
|
+
window.${Fe}(
|
|
128
|
+
"${t}",${JSON.stringify(e)}, ${Oe}
|
|
129
|
+
)`,Fo=({contentId:e,variationId:t})=>`window.${Ue}(
|
|
130
|
+
"${t}", "${e}", ${Oe}
|
|
131
|
+
)`,Le=o.defineComponent({render(){return o.h("script",{id:this.id,innerHTML:this.scriptStr})},name:"inlined-script",props:["scriptStr","id"]});function Uo(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:globalThis}function Oo(){const e=Uo().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.
|
|
132
|
+
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 Me=Oo();function F(e,t=null,n="."){return Object.keys(e).reduce((r,s)=>{const i=e[s],a=[t,s].filter(Boolean).join(n);return[typeof i=="object",i!==null,!(Array.isArray(i)&&i.length===0)].every(Boolean)?{...r,...F(i,a,n)}:{...r,[a]:i}},{})}const Lo="v3",ie="builder.",Mo="options.",Do=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},Y=e=>{if(!e)return{};const t=De(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(ie)){const s=r.replace(ie,"").replace(Mo,"");n[s]=t[r]}}),n},Ho=()=>{if(!b())return{};const e=new URLSearchParams(window.location.search);return Y(e)},De=e=>e instanceof URLSearchParams?Do(e):e,ae=e=>typeof e=="number"&&!isNaN(e)&&e>=0,Q=e=>{let{noTraverse:t=!1}=e;const{limit:n=30,userAttributes:r,query:s,model:i,apiKey:a,includeRefs:l=!0,enrich:c,locale:u,apiVersion:m=Lo,fields:d,omit:p,offset:g,cacheSeconds:h,staleCacheSeconds:v,sort:R,includeUnpublished:ee}=e;if(!a)throw new Error("Missing API key");if(!["v3"].includes(m))throw new Error(`Invalid apiVersion: expected 'v3', received '${m}'`);(e.limit===void 0||e.limit>1)&&!("noTraverse"in e)&&(t=!0);const C=new URL(`https://cdn.builder.io/api/${m}/content/${i}?apiKey=${a}&limit=${n}&noTraverse=${t}&includeRefs=${l}${u?`&locale=${u}`:""}${c?`&enrich=${c}`:""}`);if(C.searchParams.set("omit",p||"meta.componentsUsed"),d&&C.searchParams.set("fields",d),Number.isFinite(g)&&g>-1&&C.searchParams.set("offset",String(Math.floor(g))),typeof ee=="boolean"&&C.searchParams.set("includeUnpublished",String(ee)),h&&ae(h)&&C.searchParams.set("cacheSeconds",String(h)),v&&ae(v)&&C.searchParams.set("staleCacheSeconds",String(v)),R){const I=F({sort:R});for(const E in I)C.searchParams.set(E,JSON.stringify(I[E]))}const et={...Ho(),...De(e.options||{})},te=F(et);for(const I in te)C.searchParams.set(I,String(te[I]));if(r&&C.searchParams.set("userAttributes",JSON.stringify(r)),s){const I=F({query:s});for(const E in I)C.searchParams.set(E,JSON.stringify(I[E]))}return C},jo=e=>"results"in e;async function A(e){const t=await X({...e,limit:1});return t&&t[0]||null}const Ko=A,qo=async e=>{const t=Q(e);return await(await Me(t.href)).json()},He=async(e,t,n=Q(e))=>{const r=V(e.canTrack);if(n.search.includes("preview="),!r||!(b()||S==="reactNative"))return t.results;try{const s=[];for(const i of t.results)s.push(await gn({item:i,canTrack:r}));t.results=s}catch(s){y.error("Could not process A/B tests. ",s)}return t.results};async function X(e){try{const t=Q(e),n=await qo(e);return jo(n)?He(e,n):(y.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return y.error("Error fetching data. ",t),null}}const zo=X;function je(){return!b()||k()?!1:location.search.indexOf("builder.preview=")!==-1}function Jo(){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 Ke(){return Jo().replace(/-/g,"")}const qe="builderSessionId",Go=async({canTrack:e})=>{if(!e)return;const t=await Re({name:qe,canTrack:e});if(w(t))return t;{const n=_o();return Yo({id:n,canTrack:e}),n}},_o=()=>Ke(),Yo=({id:e,canTrack:t})=>Ee({name:qe,value:e,canTrack:t}),ze=()=>b()&&typeof localStorage<"u"?localStorage:void 0,Qo=({key:e,canTrack:t})=>{var n;try{return t?(n=ze())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Xo=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=ze())==null||r.setItem(e,n))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},Je="builderVisitorId",Zo=({canTrack:e})=>{if(!e)return;const t=Qo({key:Je,canTrack:e});if(w(t))return t;{const n=er();return tr({id:n,canTrack:e}),n}},er=()=>Ke(),tr=({id:e,canTrack:t})=>Xo({key:Je,value:e,canTrack:t}),nr=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Go({canTrack:e}),n=Zo({canTrack:e});return{sessionId:t,visitorId:n}},or=async({type:e,canTrack:t,apiKey:n,metadata:r,...s})=>({type:e,data:{...s,metadata:{url:location.href,...r},...await nr({canTrack:t}),userAttributes:fe(),ownerId:n}});async function j(e){if(!e.apiKey){y.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!k()&&(b()||S==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await or(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const rr=e=>j({...e,canTrack:!0});function le(e){return Math.round(e*1e3)/1e3}const sr=(e,t,n=!0)=>{if(!(e instanceof HTMLElement))return null;let r=n?e:e.parentElement;do{if(!r)return null;if(t(r))return r}while(r=r.parentElement);return null},ir=e=>sr(e,t=>{const n=t.getAttribute("builder-id")||t.id;return(n==null?void 0:n.indexOf("builder-"))===0}),ce=({event:e,target:t})=>{const n=t.getBoundingClientRect(),r=e.clientX-n.left,s=e.clientY-n.top,i=le(r/n.width),a=le(s/n.height);return{x:i,y:a}},ar=e=>{const t=e.target,n=t&&ir(t),r=(n==null?void 0:n.getAttribute("builder-id"))||(n==null?void 0:n.id);return{targetBuilderElement:r||void 0,metadata:{targetOffset:t?ce({event:e,target:t}):void 0,builderTargetOffset:n?ce({event:e,target:n}):void 0,builderElementIndex:n&&r?[].slice.call(document.getElementsByClassName(r)).indexOf(n):void 0}}},lr=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function Ge(e,t){const n=new URL(t.origin),r=n.hostname;return(e||lr).findIndex(s=>s.startsWith("*.")?r.endsWith(s.slice(1)):s===r)>-1}const cr="0.13.3",de={};function _e(e,t){let n=de[e];if(n||(n=de[e]=[]),n.push(t),b()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(s){console.debug("Could not postmessage",s)}}}const dr=()=>{_e("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 Ye=(e={})=>{var t,n;ue||(ue=!0,b()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:S,version:cr,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var i,a;if(!Ge(e.trustedHosts,r))return;const{data:s}=r;if(s!=null&&s.type)switch(s.type){case"builder.evaluate":{const l=s.data.text,c=s.data.arguments||[],u=s.data.id,m=new Function(l);let d,p=null;try{d=m.apply(null,c)}catch(g){p=g}p?(i=window.parent)==null||i.postMessage({type:"builder.evaluateError",data:{id:u,error:p.message}},"*"):d&&typeof d.then=="function"?d.then(g=>{var h;(h=window.parent)==null||h.postMessage({type:"builder.evaluateResult",data:{id:u,result:g}},"*")}).catch(console.error):(a=window.parent)==null||a.postMessage({type:"builder.evaluateResult",data:{result:d,id:u}},"*");break}}})))},Qe=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!Ge(t,r))return;const{data:s}=r;if(s)switch(s.type){case"builder.configureSdk":{n.configureSdk(s.data);break}case"builder.triggerAnimation":{n.animation(s.data);break}case"builder.contentUpdate":{const i=s.data,a=i.key||i.alias||i.entry||i.modelName,l=i.data;a===e&&n.contentUpdate(l);break}}},ur=(e,t,n)=>{if(!b)return y.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};Ye();const r=Qe({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},pr=o.defineComponent({name:"enable-editor",props:["builderContextSignal","contentWrapper","model","trustedHosts","context","canTrack","apiKey","locale","includeRefs","enrich","content","showContent","contentWrapperProps","data"],data(){return{forceReRenderCount:0,firstRender:!0,lastUpdated:0,shouldSendResetCookie:!1,ContentWrapper:this.contentWrapper||"div",httpReqsData:{},clicked:!1,builderContext:U}},provide(){const e=this;return{[U.key]:e.builderContextSignal}},mounted(){(()=>{var n,r;if(b()){if(k()&&this.$refs.elementRef&&this.$refs.elementRef.dispatchEvent(new CustomEvent("initeditingbldr")),this.builderContextSignal.content&&V(this.canTrack)){const i=(n=this.builderContextSignal.content)==null?void 0:n.testVariationId,a=(r=this.builderContextSignal.content)==null?void 0:r.id,l=this.apiKey;j({type:"impression",canTrack:!0,contentId:a,apiKey:l,variationId:i!==a?i:void 0})}je()&&this.$refs.elementRef&&this.$refs.elementRef.dispatchEvent(new CustomEvent("initpreviewingbldr"))}})(),(()=>{this.apiKey||y.error("No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop."),this.evaluateJsCode(),this.runHttpRequests(),this.emitStateUpdate()})()},watch:{onUpdateHook0:{handler(){this.content&&this.mergeNewContent(this.content)},immediate:!0},onUpdateHook1:{handler(){},immediate:!0},onUpdateHook2:{handler(){this.evaluateJsCode()},immediate:!0},onUpdateHook3:{handler(){this.runHttpRequests()},immediate:!0},onUpdateHook4:{handler(){this.emitStateUpdate()},immediate:!0},onUpdateHook5:{handler(){this.data&&this.mergeNewRootState(this.data)},immediate:!0},onUpdateHook6:{handler(){this.locale&&this.mergeNewRootState({locale:this.locale})},immediate:!0}},unmounted(){b()&&(window.removeEventListener("message",this.processMessage),window.removeEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate))},computed:{onUpdateHook0(){return{0:this.content}},onUpdateHook1(){return{0:this.shouldSendResetCookie}},onUpdateHook2(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.jsCode}},onUpdateHook3(){var e,t;return{0:(t=(e=this.builderContextSignal.content)==null?void 0:e.data)==null?void 0:t.httpRequests}},onUpdateHook4(){return{0:this.builderContextSignal.rootState}},onUpdateHook5(){return{0:this.data}},onUpdateHook6(){return{0:this.locale}}},methods:{mergeNewRootState(e){var n,r;const t={...this.builderContextSignal.rootState,...e};this.builderContextSignal.rootSetState?(r=(n=this.builderContextSignal).rootSetState)==null||r.call(n,t):this.builderContextSignal.rootState=t},mergeNewContent(e){var n,r,s,i,a;const t={...this.builderContextSignal.content,...e,data:{...(n=this.builderContextSignal.content)==null?void 0:n.data,...e==null?void 0:e.data},meta:{...(r=this.builderContextSignal.content)==null?void 0:r.meta,...e==null?void 0:e.meta,breakpoints:((s=e==null?void 0:e.meta)==null?void 0:s.breakpoints)||((a=(i=this.builderContextSignal.content)==null?void 0:i.meta)==null?void 0:a.breakpoints)}};this.builderContextSignal.content=t},processMessage(e){return Qe({model:this.model,trustedHosts:this.trustedHosts,callbacks:{configureSdk:t=>{var s;const{breakpoints:n,contentId:r}=t;!r||r!==((s=this.builderContextSignal.content)==null?void 0:s.id)||n&&(this.mergeNewContent({meta:{breakpoints:n}}),this.forceReRenderCount=this.forceReRenderCount+1)},animation:t=>{Ce(t)},contentUpdate:t=>{this.mergeNewContent(t),this.forceReRenderCount=this.forceReRenderCount+1}}})(e)},evaluateJsCode(){var t,n;const e=(n=(t=this.builderContextSignal.content)==null?void 0:t.data)==null?void 0:n.jsCode;e&&P({code:e,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.builderContextSignal.rootSetState})},onClick(e){var t,n;if(this.builderContextSignal.content){const r=(t=this.builderContextSignal.content)==null?void 0:t.testVariationId,s=(n=this.builderContextSignal.content)==null?void 0:n.id;j({type:"click",canTrack:V(this.canTrack),contentId:s,apiKey:this.apiKey,variationId:r!==s?r:void 0,...ar(e),unique:!this.clicked})}this.clicked||(this.clicked=!0)},evalExpression(e){return e.replace(/{{([^}]+)}}/g,(t,n)=>P({code:n,context:this.context||{},localState:void 0,rootState:this.builderContextSignal.rootState,rootSetState:this.builderContextSignal.rootSetState}))},handleRequest({url:e,key:t}){Me(e).then(n=>n.json()).then(n=>{var s,i;const r={...this.builderContextSignal.rootState,[t]:n};(i=(s=this.builderContextSignal).rootSetState)==null||i.call(s,r),this.httpReqsData[t]=!0}).catch(n=>{console.error("error fetching dynamic data",e,n)})},runHttpRequests(){var t,n;const e=((n=(t=this.builderContextSignal.content)==null?void 0:t.data)==null?void 0:n.httpRequests)??{};Object.entries(e).forEach(([r,s])=>{if(s&&(!this.httpReqsData[r]||k())){const i=this.evalExpression(s);this.handleRequest({url:i,key:r})}})},emitStateUpdate(){k()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:x(this.builderContextSignal.rootState),ref:{name:this.model}}}))},elementRef_onIniteditingbldr(e){this.forceReRenderCount=this.forceReRenderCount+1,window.addEventListener("message",this.processMessage),dr(),Ye({...this.locale?{locale:this.locale}:{},...this.includeRefs?{includeRefs:this.includeRefs}:{},...this.enrich?{enrich:this.enrich}:{},...this.trustedHosts?{trustedHosts:this.trustedHosts}:{}}),Object.values(this.builderContextSignal.componentInfos).forEach(t=>{var r;const n=We(t);(r=window.parent)==null||r.postMessage(n,"*")}),window.addEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate)},elementRef_onInitpreviewingbldr(e){const t=new URL(location.href).searchParams,n=t.get("builder.preview"),r=t.get(`builder.preview.${n}`),s=t.get("apiKey")||t.get("builder.space");n===this.model&&s===this.apiKey&&(!this.content||r===this.content.id)&&A({model:this.model,apiKey:this.apiKey,apiVersion:this.builderContextSignal.apiVersion}).then(i=>{i&&this.mergeNewContent(i)})}}});function mr(e,t,n,r,s,i){var a,l,c;return e.builderContextSignal.content?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.ContentWrapper),o.mergeProps({key:e.forceReRenderCount,ref:"elementRef",onClick:u=>e.onClick(u),"builder-content-id":(a=e.builderContextSignal.content)==null?void 0:a.id,"builder-model":e.model,class:`variant-${((l=e.content)==null?void 0:l.testVariationId)||((c=e.content)==null?void 0:c.id)}`,onIniteditingbldr:u=>e.elementRef_onIniteditingbldr(u),onInitpreviewingbldr:u=>e.elementRef_onInitpreviewingbldr(u)},{...e.showContent?{}:{hidden:!0,"aria-hidden":!0},...e.contentWrapperProps}),{default:o.withCtx(()=>[o.renderSlot(e.$slots,"default")]),_:3},16,["onClick","builder-content-id","builder-model","class","onIniteditingbldr","onInitpreviewingbldr"])):o.createCommentVNode("",!0)}const hr=f(pr,[["render",mr]]),fr=e=>{var i;const t=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),n=t.split(",")[0],r=e.fileUrl??((i=e==null?void 0:e.files)==null?void 0:i.regular);let s="";if(r&&t&&n&&(s+=`
|
|
133
|
+
@font-face {
|
|
134
|
+
font-family: "${t}";
|
|
135
|
+
src: local("${n}"), url('${r}') format('woff2');
|
|
136
|
+
font-display: fallback;
|
|
137
|
+
font-weight: 400;
|
|
138
|
+
}
|
|
139
|
+
`.trim()),e.files)for(const a in e.files){if(!(String(Number(a))===a))continue;const c=e.files[a];c&&c!==r&&(s+=`
|
|
140
|
+
@font-face {
|
|
141
|
+
font-family: "${t}";
|
|
142
|
+
src: url('${c}') format('woff2');
|
|
143
|
+
font-display: fallback;
|
|
144
|
+
font-weight: ${a};
|
|
145
|
+
}
|
|
146
|
+
`.trim())}return s},gr=({customFonts:e})=>{var t;return((t=e==null?void 0:e.map(n=>fr(n)))==null?void 0:t.join(" "))||""},br=({cssCode:e,contentId:t})=>e?t?(e==null?void 0:e.replace(/&/g,`div[builder-content-id="${t}"]`))||"":e:"",kr=o.defineComponent({name:"content-styles",components:{InlinedStyles:M},props:["cssCode","contentId","customFonts"],data(){return{injectedStyles:`
|
|
147
|
+
${br({cssCode:this.cssCode,contentId:this.contentId})}
|
|
148
|
+
${gr({customFonts:this.customFonts})}
|
|
149
|
+
|
|
150
|
+
.builder-button {
|
|
151
|
+
all: unset;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.builder-text > p:first-of-type, .builder-text > .builder-paragraph:first-of-type {
|
|
155
|
+
margin: 0;
|
|
156
|
+
}
|
|
157
|
+
.builder-text > p, .builder-text > .builder-paragraph {
|
|
158
|
+
color: inherit;
|
|
159
|
+
line-height: inherit;
|
|
160
|
+
letter-spacing: inherit;
|
|
161
|
+
font-weight: inherit;
|
|
162
|
+
font-size: inherit;
|
|
163
|
+
text-align: inherit;
|
|
164
|
+
font-family: inherit;
|
|
165
|
+
}
|
|
166
|
+
`.trim()}}});function yr(e,t,n,r,s,i){const a=o.resolveComponent("inlined-styles");return o.openBlock(),o.createBlock(a,{styles:e.injectedStyles},null,8,["styles"])}const Cr=f(kr,[["render",yr]]),Sr=({content:e,data:t,locale:n})=>{var i,a,l;const r={},s=((i=e==null?void 0:e.data)==null?void 0:i.state)||{};return(l=(a=e==null?void 0:e.data)==null?void 0:a.inputs)==null||l.forEach(c=>{c.name&&c.defaultValue!==void 0&&(r[c.name]=c.defaultValue)}),{...r,...s,...t,...n?{locale:n}:{}}},vr=({content:e,data:t})=>e?{...e,data:{...e==null?void 0:e.data,...t},meta:e==null?void 0:e.meta}:void 0,Xe=o.markRaw,wr=o.defineComponent({name:"content-component",components:{EnableEditor:hr,InlinedScript:Le,ContentStyles:Cr,Blocks:B},props:["content","customComponents","data","locale","context","apiKey","apiVersion","blocksWrapper","blocksWrapperProps","model","canTrack","includeRefs","enrich","showContent","contentWrapper","contentWrapperProps","linkComponent","trustedHosts","isSsrAbTest"],data(){var e,t;return{scriptStr:Fo({variationId:(e=this.content)==null?void 0:e.testVariationId,contentId:(t=this.content)==null?void 0:t.id}),registeredComponents:[...re(),...se,...this.customComponents||[]].reduce((n,{component:r,...s})=>({...n,[s.name]:{component:Xe(r),...H(s)}}),{}),builderContextSignal:{content:vr({content:this.content,data:this.data}),localState:void 0,rootState:Sr({content:this.content,data:this.data,locale:this.locale}),rootSetState:this.contentSetState,context:this.context||{},apiKey:this.apiKey,apiVersion:this.apiVersion,componentInfos:[...re(),...se,...this.customComponents||[]].reduce((n,{component:r,...s})=>({...n,[s.name]:H(s)}),{}),inheritedStyles:{},BlocksWrapper:this.blocksWrapper||"div",BlocksWrapperProps:this.blocksWrapperProps||{}},TARGET:S}},provide(){const e=this;return{[he.key]:{registeredComponents:e.registeredComponents}}},methods:{contentSetState(e){this.builderContextSignal.rootState=e}}});function Ir(e,t,n,r,s,i){const a=o.resolveComponent("inlined-script"),l=o.resolveComponent("content-styles"),c=o.resolveComponent("blocks"),u=o.resolveComponent("enable-editor");return o.openBlock(),o.createBlock(u,o.mergeProps({content:e.content,data:e.data,model:e.model,context:e.context,apiKey:e.apiKey,canTrack:e.canTrack,locale:e.locale,includeRefs:e.includeRefs,enrich:e.enrich,showContent:e.showContent,builderContextSignal:e.builderContextSignal,contentWrapper:e.contentWrapper,contentWrapperProps:e.contentWrapperProps,linkComponent:e.linkComponent,trustedHosts:e.trustedHosts},{}),{default:o.withCtx(()=>{var m,d,p,g,h,v,R;return[e.isSsrAbTest?(o.openBlock(),o.createBlock(a,{key:0,scriptStr:e.scriptStr},null,8,["scriptStr"])):o.createCommentVNode("",!0),e.TARGET!=="reactNative"?(o.openBlock(),o.createBlock(l,{key:1,contentId:(m=e.builderContextSignal.content)==null?void 0:m.id,cssCode:(p=(d=e.builderContextSignal.content)==null?void 0:d.data)==null?void 0:p.cssCode,customFonts:(h=(g=e.builderContextSignal.content)==null?void 0:g.data)==null?void 0:h.customFonts},null,8,["contentId","cssCode","customFonts"])):o.createCommentVNode("",!0),o.createVNode(c,{blocks:(R=(v=e.builderContextSignal.content)==null?void 0:v.data)==null?void 0:R.blocks,context:e.builderContextSignal,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["blocks","context","registeredComponents","linkComponent"])]}),_:1},16,["content","data","model","context","apiKey","canTrack","locale","includeRefs","enrich","showContent","builderContextSignal","contentWrapper","contentWrapperProps","linkComponent","trustedHosts"])}const $r=f(wr,[["render",Ir]]),Tr=o.defineComponent({name:"content-variants",components:{InlinedScript:Le,InlinedStyles:M,ContentComponent:$r},props:["canTrack","content","__isNestedRender","model","data","context","apiKey","apiVersion","customComponents","linkComponent","locale","includeRefs","enrich","blocksWrapper","blocksWrapperProps","contentWrapper","contentWrapperProps","trustedHosts"],data(){return{shouldRenderVariants:xo({canTrack:V(this.canTrack),content:this.content}),TARGET:S,getScriptString:No,getVariants:W}},mounted(){this.shouldRenderVariants=!1},computed:{updateCookieAndStylesScriptStr(){var e;return Wo(W(this.content).map(t=>({id:t.testVariationId,testRatio:t.testRatio})),((e=this.content)==null?void 0:e.id)||"")},hideVariantsStyleString(){return W(this.content).map(e=>`.variant-${e.testVariationId} { display: none; } `).join("")},defaultContent(){var e;return this.shouldRenderVariants?{...this.content,testVariationId:(e=this.content)==null?void 0:e.id}:fn({item:this.content,canTrack:V(this.canTrack)})}}});function Br(e,t,n,r,s,i){var u;const a=o.resolveComponent("inlined-script"),l=o.resolveComponent("inlined-styles"),c=o.resolveComponent("content-component");return o.openBlock(),o.createElementBlock(o.Fragment,null,[!e.__isNestedRender&&e.TARGET!=="reactNative"?(o.openBlock(),o.createBlock(a,{key:0,scriptStr:e.getScriptString()},null,8,["scriptStr"])):o.createCommentVNode("",!0),e.shouldRenderVariants?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createVNode(l,{id:`variants-styles-${(u=e.content)==null?void 0:u.id}`,styles:e.hideVariantsStyleString},null,8,["id","styles"]),o.createVNode(a,{scriptStr:e.updateCookieAndStylesScriptStr},null,8,["scriptStr"]),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.getVariants(e.content),(m,d)=>(o.openBlock(),o.createBlock(c,{key:m.testVariationId,content:m,showContent:!1,model:e.model,data:e.data,context:e.context,apiKey:e.apiKey,apiVersion:e.apiVersion,customComponents:e.customComponents,linkComponent:e.linkComponent,canTrack:e.canTrack,locale:e.locale,includeRefs:e.includeRefs,enrich:e.enrich,isSsrAbTest:e.shouldRenderVariants,blocksWrapper:e.blocksWrapper,blocksWrapperProps:e.blocksWrapperProps,contentWrapper:e.contentWrapper,contentWrapperProps:e.contentWrapperProps,trustedHosts:e.trustedHosts},null,8,["content","model","data","context","apiKey","apiVersion","customComponents","linkComponent","canTrack","locale","includeRefs","enrich","isSsrAbTest","blocksWrapper","blocksWrapperProps","contentWrapper","contentWrapperProps","trustedHosts"]))),128))],64)):o.createCommentVNode("",!0),o.createVNode(c,o.mergeProps({content:e.defaultContent,showContent:!0,model:e.model,data:e.data,context:e.context,apiKey:e.apiKey,apiVersion:e.apiVersion,customComponents:e.customComponents,linkComponent:e.linkComponent,canTrack:e.canTrack,locale:e.locale,includeRefs:e.includeRefs,enrich:e.enrich,isSsrAbTest:e.shouldRenderVariants,blocksWrapper:e.blocksWrapper,blocksWrapperProps:e.blocksWrapperProps,contentWrapper:e.contentWrapper,contentWrapperProps:e.contentWrapperProps,trustedHosts:e.trustedHosts},{key:e.shouldRenderVariants.toString()}),null,16,["content","model","data","context","apiKey","apiVersion","customComponents","linkComponent","canTrack","locale","includeRefs","enrich","isSsrAbTest","blocksWrapper","blocksWrapperProps","contentWrapper","contentWrapperProps","trustedHosts"])],64)}const Z=f(Tr,[["render",Br]]),Rr=async({builderContextValue:e,symbol:t})=>{if(t!=null&&t.model&&(e!=null&&e.apiKey))return A({model:t.model,apiKey:e.apiKey,apiVersion:e.apiVersion,...(t==null?void 0:t.entry)&&{query:{id:t.entry}}}).catch(n=>{y.error("Could not fetch symbol content: ",n)})},Er=o.defineComponent({name:"builder-symbol",components:{ContentVariants:Z},props:["attributes","symbol","dynamic","builderContext","builderBlock","builderComponents","builderLinkComponent"],data(){var e;return{contentToUse:(e=this.symbol)==null?void 0:e.content,filterAttrs:$}},mounted(){this.setContent()},watch:{onUpdateHook0:{handler(){this.setContent()},immediate:!0}},computed:{className(){var e,t;return[this.attributes[O()],"builder-symbol",(e=this.symbol)!=null&&e.inline?"builder-inline-symbol":void 0,(t=this.symbol)!=null&&t.dynamic||this.dynamic?"builder-dynamic-symbol":void 0].filter(Boolean).join(" ")},onUpdateHook0(){return{0:this.symbol}}},methods:{setContent(){this.contentToUse||Rr({symbol:this.symbol,builderContextValue:this.builderContext}).then(e=>{e&&(this.contentToUse=e)})}}});function Pr(e,t,n,r,s,i){var l,c,u,m,d;const a=o.resolveComponent("content-variants");return o.openBlock(),o.createElementBlock("div",o.mergeProps({class:e.className},{...e.filterAttrs(e.attributes,"v-on:",!1)},o.toHandlers(e.filterAttrs(e.attributes,"v-on:",!0),!0)),[o.createVNode(a,{__isNestedRender:!0,apiVersion:e.builderContext.apiVersion,apiKey:e.builderContext.apiKey,context:{...e.builderContext.context,symbolId:(l=e.builderBlock)==null?void 0:l.id},customComponents:Object.values(e.builderComponents),data:{...(c=e.symbol)==null?void 0:c.data,...e.builderContext.localState,...(m=(u=e.contentToUse)==null?void 0:u.data)==null?void 0:m.state},model:(d=e.symbol)==null?void 0:d.model,content:e.contentToUse,linkComponent:e.builderLinkComponent},null,8,["apiVersion","apiKey","context","customComponents","data","model","content","linkComponent"])],16)}const Ze=f(Er,[["render",Pr]]),Vr=B,xr=Z,pe={};function Ar(e){if(b()){Object.assign(pe,e);const t={type:"builder.settingsChange",data:pe};parent.postMessage(t,"*")}}const Nr=async e=>{var r,s,i;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((s=e.userAttributes)==null?void 0:s.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:Y(e.searchParams||((i=e.url)==null?void 0:i.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await A(n)}};exports.Block=L;exports.Blocks=B;exports.BuilderContext=U;exports.Button=me;exports.Columns=we;exports.Content=Z;exports.Fragment=Ie;exports.Image=$e;exports.RenderBlocks=Vr;exports.RenderContent=xr;exports.Section=Te;exports.Symbol=Ze;exports.TARGET=S;exports.Text=Ae;exports.Video=Ne;exports._export_sfc=f;exports._processContentResult=He;exports._sfc_main=M;exports.block=Lt;exports.checkIsDefined=w;exports.createCssClass=wt;exports.createRegisterComponentMessage=We;exports.dynamicRenderer=st;exports.evaluate=P;exports.fetchBuilderProps=Nr;exports.fetchEntries=X;exports.fetchOneEntry=A;exports.getAllContent=zo;exports.getBuilderSearchParams=Y;exports.getClassPropName=O;exports.getContent=Ko;exports.getMaxWidthQueryForSize=qt;exports.getProcessedBlock=q;exports.getSizesForBreakpoints=ve;exports.getStyle=$t;exports.isEditing=k;exports.isPreviewing=je;exports.register=_e;exports.setEditorSettings=Ar;exports.subscribeToEditor=ur;exports.track=rr;exports.wrapComponentRef=Xe;
|
|
@@ -20,7 +20,7 @@ export declare const RenderBlocks: import("vue").DefineComponent<Readonly<{
|
|
|
20
20
|
context?: any;
|
|
21
21
|
registeredComponents?: any;
|
|
22
22
|
linkComponent?: any;
|
|
23
|
-
}>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").
|
|
23
|
+
}>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<Readonly<{
|
|
24
24
|
path?: any;
|
|
25
25
|
blocks?: any;
|
|
26
26
|
parent?: any;
|
|
@@ -91,7 +91,7 @@ export declare const RenderContent: import("vue").DefineComponent<Readonly<{
|
|
|
91
91
|
updateCookieAndStylesScriptStr(): string;
|
|
92
92
|
hideVariantsStyleString(): string;
|
|
93
93
|
defaultContent(): any;
|
|
94
|
-
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").
|
|
94
|
+
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<Readonly<{
|
|
95
95
|
data?: any;
|
|
96
96
|
content?: any;
|
|
97
97
|
context?: any;
|
package/lib/browser/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var t=require("./style.css");Object.
|
|
1
|
+
var t=require("./style.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-7Z8XjtKs.cjs");exports.Blocks=e.Blocks;exports.Button=e.Button;exports.Columns=e.Columns;exports.Content=e.Content;exports.Fragment=e.Fragment;exports.Image=e.Image;exports.RenderBlocks=e.RenderBlocks;exports.RenderContent=e.RenderContent;exports.Section=e.Section;exports.Symbol=e.Symbol;exports.Text=e.Text;exports.Video=e.Video;exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getAllContent=e.getAllContent;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.getContent=e.getContent;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
|
package/lib/browser/index.js
CHANGED
|
@@ -1,31 +1,30 @@
|
|
|
1
1
|
import "./style.css";
|
|
2
|
-
import {
|
|
3
|
-
import "vue";
|
|
2
|
+
import { k as a, m as n, n as r, C as o, F as i, I as c, R as g, l, S as m, o as d, p as C, V as u, A as p, s as E, z as B, D as R, E as S, G as f, v as h, H as k, q as b, r as x, t as y, u as P, y as v, x as A } from "./index-6a_qPbnw.js";
|
|
4
3
|
export {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
a as Blocks,
|
|
5
|
+
n as Button,
|
|
6
|
+
r as Columns,
|
|
7
|
+
o as Content,
|
|
8
|
+
i as Fragment,
|
|
9
|
+
c as Image,
|
|
10
|
+
g as RenderBlocks,
|
|
11
|
+
l as RenderContent,
|
|
12
|
+
m as Section,
|
|
13
|
+
d as Symbol,
|
|
14
|
+
C as Text,
|
|
16
15
|
u as Video,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
16
|
+
p as _processContentResult,
|
|
17
|
+
E as createRegisterComponentMessage,
|
|
18
|
+
B as fetchBuilderProps,
|
|
19
|
+
R as fetchEntries,
|
|
20
|
+
S as fetchOneEntry,
|
|
21
|
+
f as getAllContent,
|
|
22
|
+
h as getBuilderSearchParams,
|
|
23
|
+
k as getContent,
|
|
24
|
+
b as isEditing,
|
|
25
|
+
x as isPreviewing,
|
|
26
|
+
y as register,
|
|
27
|
+
P as setEditorSettings,
|
|
28
|
+
v as subscribeToEditor,
|
|
29
|
+
A as track
|
|
31
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var k=require("./style.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),t=require("./index-7Z8XjtKs.cjs"),r=()=>Promise.resolve().then(()=>require("./index-7Z8XjtKs.cjs")).then(e=>e.block).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component Block at ../block.vue",e),e}),c=o.defineComponent({name:"repeated-block",components:{Block:o.defineAsyncComponent(r)},props:["repeatContext","block","registeredComponents","linkComponent"],data(){return{store:this.repeatContext}},provide(){const e=this;return{[t.BuilderContext.key]:e.store}}});function s(e,i,p,m,a,d){const n=o.resolveComponent("block");return o.openBlock(),o.createBlock(n,{block:e.block,context:e.store,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},null,8,["block","context","registeredComponents","linkComponent"])}const l=t._export_sfc(c,[["render",s]]);exports.default=l;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "./style.css";
|
|
2
|
+
import { defineComponent as t, defineAsyncComponent as n, resolveComponent as r, openBlock as p, createBlock as c } from "vue";
|
|
3
|
+
import { j as s, e as l } from "./index-6a_qPbnw.js";
|
|
4
|
+
const i = () => import("./index-6a_qPbnw.js").then((o) => o.K).then((o) => o.default).catch((o) => {
|
|
5
|
+
throw console.error(
|
|
6
|
+
"Error while attempting to dynamically import component Block at ../block.vue",
|
|
7
|
+
o
|
|
8
|
+
), o;
|
|
9
|
+
}), m = t({
|
|
10
|
+
name: "repeated-block",
|
|
11
|
+
components: { Block: n(i) },
|
|
12
|
+
props: ["repeatContext", "block", "registeredComponents", "linkComponent"],
|
|
13
|
+
data() {
|
|
14
|
+
return { store: this.repeatContext };
|
|
15
|
+
},
|
|
16
|
+
provide() {
|
|
17
|
+
const o = this;
|
|
18
|
+
return {
|
|
19
|
+
[s.key]: o.store
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
function a(o, k, d, C, f, u) {
|
|
24
|
+
const e = r("block");
|
|
25
|
+
return p(), c(e, {
|
|
26
|
+
block: o.block,
|
|
27
|
+
context: o.store,
|
|
28
|
+
registeredComponents: o.registeredComponents,
|
|
29
|
+
linkComponent: o.linkComponent
|
|
30
|
+
}, null, 8, ["block", "context", "registeredComponents", "linkComponent"]);
|
|
31
|
+
}
|
|
32
|
+
const _ = /* @__PURE__ */ l(m, [["render", a]]);
|
|
33
|
+
export {
|
|
34
|
+
_ as default
|
|
35
|
+
};
|
package/lib/browser/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.component-
|
|
1
|
+
.component-b1turyjjkok[data-v-3403e3cb]{display:flex;flex-direction:column;align-items:stretch}.div-16nol0lwi20[data-v-3a12caec]{display:flex;line-height:normal}.img-4wbls88y960[data-v-4ab1cc9f]{opacity:1;transition:opacity .2s ease-in-out}.div-4wbls88y960[data-v-4ab1cc9f]{width:100%;pointer-events:none;font-size:0}.div-4wbls88y960-2[data-v-4ab1cc9f]{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:0;left:0;width:100%;height:100%}.pre-tqyw9m0iue[data-v-e7803f50]{padding:10px;color:red;text-align:center}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BuilderContextInterface, RegisteredComponents } from '../context/types.js';
|
|
2
2
|
import type { BuilderBlock } from './builder-block.js';
|
|
3
|
-
export type
|
|
3
|
+
export type BuilderDataProps = {
|
|
4
4
|
builderBlock: BuilderBlock;
|
|
5
5
|
builderContext: BuilderContextInterface;
|
|
6
6
|
};
|
|
@@ -1,26 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Lol Typescript
|
|
4
|
-
* https://stackoverflow.com/questions/49927523/disallow-call-with-any/49928360#49928360
|
|
5
|
-
*/
|
|
6
|
-
type IfAny<T, Y, N> = 0 extends 1 & T ? Y : N;
|
|
7
|
-
type OptionalFieldsOnly<T> = {
|
|
8
|
-
[K in keyof T as T[K] extends Required<T>[K] ? IfAny<T[K], K, never> : K]: T[K];
|
|
9
|
-
};
|
|
10
|
-
type RequiredFieldsOnly<T> = {
|
|
11
|
-
[K in keyof T as T[K] extends Required<T>[K] ? IfAny<T[K], never, K> : never]: T[K];
|
|
12
|
-
};
|
|
13
|
-
type Enforced<T> = {
|
|
14
|
-
[K in keyof T]-?: T[K];
|
|
15
|
-
};
|
|
16
|
-
type AndUndefined<T> = {
|
|
17
|
-
[K in keyof T]: T[K] | undefined;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Enforce that all optional fields are undefined
|
|
21
|
-
* @example
|
|
22
|
-
* type Foo = { a: string, b?: number }
|
|
23
|
-
* type Bar = EnforcePartials<Foo> // { a: string, b: number | undefined }
|
|
24
|
-
*/
|
|
25
|
-
export type EnforcePartials<From> = Prettify<AndUndefined<Enforced<OptionalFieldsOnly<From>>> & RequiredFieldsOnly<From>>;
|
|
26
|
-
export {};
|
|
1
|
+
export type EnforcePartials<From> = From;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),t=require("./index-oq0qBISZ.cjs"),h=o.defineComponent({name:"block-styles",components:{InlinedStyles:t._sfc_main},props:["block","context"],data(){return{TARGET:t.TARGET}},computed:{canShowBlock(){const e=t.getProcessedBlock({block:this.block,localState:this.context.localState,rootState:this.context.rootState,rootSetState:this.context.rootSetState,context:this.context.context,shouldEvaluateBindings:!0});return t.checkIsDefined(e.hide)?!e.hide:t.checkIsDefined(e.show)?e.show:!0},css(){var d;const e=t.getProcessedBlock({block:this.block,localState:this.context.localState,rootState:this.context.rootState,rootSetState:this.context.rootSetState,context:this.context.context,shouldEvaluateBindings:!0}),s=e.responsiveStyles,n=this.context.content,r=t.getSizesForBreakpoints(((d=n==null?void 0:n.meta)==null?void 0:d.breakpoints)||{}),a=s==null?void 0:s.large,i=s==null?void 0:s.medium,c=s==null?void 0:s.small,l=e.id;if(!l)return"";const u=a?t.createCssClass({className:l,styles:a}):"",S=i?t.createCssClass({className:l,styles:i,mediaQuery:t.getMaxWidthQueryForSize("medium",r)}):"",m=c?t.createCssClass({className:l,styles:c,mediaQuery:t.getMaxWidthQueryForSize("small",r)}):"";return[u,S,m].join(" ")}}});function k(e,s,n,r,a,i){const c=o.resolveComponent("inlined-styles");return e.TARGET!=="reactNative"&&e.css&&e.canShowBlock?(o.openBlock(),o.createBlock(c,{key:0,styles:e.css},null,8,["styles"])):o.createCommentVNode("",!0)}const p=t._export_sfc(h,[["render",k]]);exports.default=p;
|