@builder.io/sdk-vue 0.0.4 → 0.0.5

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.
Files changed (88) hide show
  1. package/package.json +1 -1
  2. package/packages/_vue2/dist/block-styles.19a877d5.js +117 -0
  3. package/packages/_vue2/dist/block-styles.40e83f61.cjs +6 -0
  4. package/packages/{_vue3/dist/get-processed-block.da7b258e.cjs → _vue2/dist/get-processed-block.50c3959c.cjs} +1 -1
  5. package/packages/{_vue3/dist/get-processed-block.91be815e.js → _vue2/dist/get-processed-block.d176d859.js} +1 -1
  6. package/packages/_vue2/dist/index.319178a0.cjs +4 -0
  7. package/packages/_vue2/dist/{index.a348d39c.js → index.7a7ff238.js} +165 -176
  8. package/packages/_vue2/dist/{render-block.089abc43.js → render-block.7635a885.js} +17 -17
  9. package/packages/_vue2/dist/render-block.c2a840de.cjs +3 -0
  10. package/packages/_vue2/dist/{render-component-with-context.1a7fd4e9.cjs → render-component-with-context.95834dc3.cjs} +1 -1
  11. package/packages/_vue2/dist/{render-component-with-context.02a2c528.js → render-component-with-context.f56ece1d.js} +2 -2
  12. package/packages/_vue2/dist/render-component.1f139db7.cjs +1 -0
  13. package/packages/_vue2/dist/render-component.c352f53d.js +37 -0
  14. package/packages/_vue2/dist/render-inlined-styles.82edc9e3.cjs +1 -0
  15. package/packages/_vue2/dist/{render-inlined-styles.6eb4d3ee.js → render-inlined-styles.a6d217ba.js} +7 -7
  16. package/packages/_vue2/dist/{render-repeated-block.c84c107f.js → render-repeated-block.7e988491.js} +2 -2
  17. package/packages/_vue2/dist/{render-repeated-block.e85c5841.cjs → render-repeated-block.8b8babc7.cjs} +1 -1
  18. package/packages/_vue2/dist/{render-styles.6722cee5.js → render-styles.0fcd6636.js} +2 -2
  19. package/packages/_vue2/dist/{render-styles.13fa67a1.cjs → render-styles.6bcf5051.cjs} +1 -1
  20. package/packages/_vue2/dist/sdk.cjs +1 -1
  21. package/packages/_vue2/dist/sdk.js +5 -5
  22. package/packages/_vue2/dist/src/blocks/columns/columns.vue.d.ts +8 -24
  23. package/packages/_vue2/dist/src/blocks/symbol/symbol.vue.d.ts +9 -24
  24. package/packages/_vue2/dist/src/blocks/util.d.ts +4 -1
  25. package/packages/_vue2/dist/src/components/render-block/block-styles.vue.d.ts +1 -1
  26. package/packages/_vue2/dist/src/components/render-block/render-block.vue.d.ts +7 -19
  27. package/packages/_vue2/dist/src/components/render-block/render-component-with-context.vue.d.ts +4 -7
  28. package/packages/_vue2/dist/src/components/render-block/render-component.vue.d.ts +4 -8
  29. package/packages/_vue2/dist/src/components/render-block/render-repeated-block.vue.d.ts +7 -19
  30. package/packages/_vue2/dist/src/components/render-blocks.vue.d.ts +8 -20
  31. package/packages/_vue2/dist/src/components/render-content/components/render-styles.vue.d.ts +1 -1
  32. package/packages/_vue2/dist/src/components/render-content/render-content.vue.d.ts +9 -23
  33. package/packages/_vue2/dist/src/components/render-inlined-styles.vue.d.ts +1 -1
  34. package/packages/_vue2/dist/src/constants/device-sizes.d.ts +12 -1
  35. package/packages/_vue2/dist/src/functions/get-content/types.d.ts +4 -0
  36. package/packages/_vue2/dist/src/index.d.ts +3 -0
  37. package/packages/_vue2/dist/src/types/builder-content.d.ts +7 -0
  38. package/packages/_vue2/dist/style.css +1 -1
  39. package/packages/_vue3/dist/block-styles.a9ff2d51.cjs +6 -0
  40. package/packages/_vue3/dist/block-styles.c98db17a.js +114 -0
  41. package/packages/{_vue2/dist/get-processed-block.fce88f96.cjs → _vue3/dist/get-processed-block.9b8059ab.cjs} +1 -1
  42. package/packages/{_vue2/dist/get-processed-block.ae7861fa.js → _vue3/dist/get-processed-block.9bb2fd8e.js} +1 -1
  43. package/packages/_vue3/dist/index.7ebc9925.cjs +4 -0
  44. package/packages/_vue3/dist/{index.7a037186.js → index.bdc957bb.js} +248 -255
  45. package/packages/_vue3/dist/{render-block.7817291b.js → render-block.97918590.js} +31 -31
  46. package/packages/_vue3/dist/render-block.ea7240a5.cjs +3 -0
  47. package/packages/_vue3/dist/{render-component-with-context.b67db565.cjs → render-component-with-context.4968d548.cjs} +1 -1
  48. package/packages/_vue3/dist/{render-component-with-context.fa0fe72b.js → render-component-with-context.e10c7475.js} +2 -2
  49. package/packages/_vue3/dist/{render-component.cca10188.js → render-component.44939843.js} +17 -18
  50. package/packages/_vue3/dist/render-component.da37335e.cjs +1 -0
  51. package/packages/_vue3/dist/{render-inlined-styles.bf23044d.js → render-inlined-styles.5500cf72.js} +8 -8
  52. package/packages/_vue3/dist/render-inlined-styles.bcf2d6ec.cjs +1 -0
  53. package/packages/_vue3/dist/{render-repeated-block.fa7d9eeb.js → render-repeated-block.e053daa2.js} +2 -2
  54. package/packages/_vue3/dist/{render-repeated-block.a972d060.cjs → render-repeated-block.f954b0ce.cjs} +1 -1
  55. package/packages/_vue3/dist/{render-styles.970e0a2e.js → render-styles.1af9ac32.js} +2 -2
  56. package/packages/_vue3/dist/{render-styles.b4777a9f.cjs → render-styles.6f74d8a8.cjs} +1 -1
  57. package/packages/_vue3/dist/sdk.cjs +1 -1
  58. package/packages/_vue3/dist/sdk.js +7 -7
  59. package/packages/_vue3/dist/src/blocks/columns/columns.vue.d.ts +1 -5
  60. package/packages/_vue3/dist/src/blocks/symbol/symbol.vue.d.ts +2 -5
  61. package/packages/_vue3/dist/src/blocks/util.d.ts +4 -1
  62. package/packages/_vue3/dist/src/components/render-block/block-styles.vue.d.ts +1 -1
  63. package/packages/_vue3/dist/src/components/render-block/render-component-with-context.vue.d.ts +1 -4
  64. package/packages/_vue3/dist/src/components/render-block/render-component.vue.d.ts +1 -5
  65. package/packages/_vue3/dist/src/components/render-blocks.vue.d.ts +1 -1
  66. package/packages/_vue3/dist/src/components/render-content/components/render-styles.vue.d.ts +1 -1
  67. package/packages/_vue3/dist/src/components/render-content/render-content.vue.d.ts +2 -4
  68. package/packages/_vue3/dist/src/components/render-inlined-styles.vue.d.ts +1 -1
  69. package/packages/_vue3/dist/src/constants/device-sizes.d.ts +12 -1
  70. package/packages/_vue3/dist/src/functions/get-content/types.d.ts +4 -0
  71. package/packages/_vue3/dist/src/index.d.ts +3 -0
  72. package/packages/_vue3/dist/src/types/builder-content.d.ts +7 -0
  73. package/packages/_vue3/dist/style.css +1 -1
  74. package/packages/_vue2/dist/block-styles.eb369124.cjs +0 -6
  75. package/packages/_vue2/dist/block-styles.fc09dcaf.js +0 -86
  76. package/packages/_vue2/dist/index.efd88402.cjs +0 -4
  77. package/packages/_vue2/dist/render-block.d62a967f.cjs +0 -3
  78. package/packages/_vue2/dist/render-component.4342df65.cjs +0 -1
  79. package/packages/_vue2/dist/render-component.75cfc72e.js +0 -38
  80. package/packages/_vue2/dist/render-inlined-styles.36f2f1b9.cjs +0 -1
  81. package/packages/_vue2/dist/src/functions/mark-mutable.d.ts +0 -2
  82. package/packages/_vue3/dist/block-styles.4388e73f.cjs +0 -6
  83. package/packages/_vue3/dist/block-styles.e92f0e4a.js +0 -83
  84. package/packages/_vue3/dist/index.528ea0ff.cjs +0 -4
  85. package/packages/_vue3/dist/render-block.3d77314f.cjs +0 -3
  86. package/packages/_vue3/dist/render-component.2630f2f7.cjs +0 -1
  87. package/packages/_vue3/dist/render-inlined-styles.7be0edda.cjs +0 -1
  88. package/packages/_vue3/dist/src/functions/mark-mutable.d.ts +0 -2
@@ -0,0 +1,114 @@
1
+ import { defineAsyncComponent as f, resolveComponent as y, openBlock as x, createBlock as S, createCommentVNode as h } from "vue";
2
+ import { f as k, T as g, _ as C } from "./index.bdc957bb.js";
3
+ import { g as _ } from "./get-processed-block.9bb2fd8e.js";
4
+ const m = {
5
+ small: {
6
+ min: 320,
7
+ default: 321,
8
+ max: 640
9
+ },
10
+ medium: {
11
+ min: 641,
12
+ default: 642,
13
+ max: 991
14
+ },
15
+ large: {
16
+ min: 990,
17
+ default: 991,
18
+ max: 1200
19
+ }
20
+ }, i = (e, s = m) => `@media (max-width: ${s[e].max}px)`, $ = ({ small: e, medium: s }) => {
21
+ const t = k(m);
22
+ if (!e || !s)
23
+ return t;
24
+ const n = Math.floor(e / 2);
25
+ t.small = {
26
+ max: e,
27
+ min: n,
28
+ default: n + 1
29
+ };
30
+ const a = t.small.max + 1;
31
+ t.medium = {
32
+ max: s,
33
+ min: a,
34
+ default: a + 1
35
+ };
36
+ const o = t.medium.max + 1;
37
+ return t.large = {
38
+ max: 2e3,
39
+ min: o,
40
+ default: o + 1
41
+ }, t;
42
+ }, b = (e) => e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase(), B = (e) => Object.entries(e).map(([t, n]) => {
43
+ if (typeof n == "string")
44
+ return `${b(t)}: ${n};`;
45
+ }).join(`
46
+ `), r = ({
47
+ mediaQuery: e,
48
+ className: s,
49
+ styles: t
50
+ }) => {
51
+ const n = `.${s} {
52
+ ${B(t)}
53
+ }`;
54
+ return e ? `${e} {
55
+ ${n}
56
+ }` : n;
57
+ }, M = () => import("./render-inlined-styles.5500cf72.js").then((e) => e.default).catch((e) => {
58
+ throw console.error(
59
+ "Error while attempting to dynamically import component RenderInlinedStyles at ../render-inlined-styles.vue",
60
+ e
61
+ ), e;
62
+ }), T = {
63
+ name: "block-styles",
64
+ components: {
65
+ RenderInlinedStyles: f(M)
66
+ },
67
+ props: ["block", "context"],
68
+ data: () => ({ TARGET: g }),
69
+ computed: {
70
+ useBlock() {
71
+ return _({
72
+ block: this.block,
73
+ state: this.context.state,
74
+ context: this.context.context,
75
+ shouldEvaluateBindings: !0
76
+ });
77
+ },
78
+ css() {
79
+ var c;
80
+ const e = this.useBlock.responsiveStyles, s = this.context.content, t = $(
81
+ ((c = s == null ? void 0 : s.meta) == null ? void 0 : c.breakpoints) || {}
82
+ ), n = e == null ? void 0 : e.large, a = e == null ? void 0 : e.medium, o = e == null ? void 0 : e.small, l = this.useBlock.id, d = n ? r({
83
+ className: l,
84
+ styles: n
85
+ }) : "", u = a ? r({
86
+ className: l,
87
+ styles: a,
88
+ mediaQuery: i(
89
+ "medium",
90
+ t
91
+ )
92
+ }) : "", p = o ? r({
93
+ className: l,
94
+ styles: o,
95
+ mediaQuery: i(
96
+ "small",
97
+ t
98
+ )
99
+ }) : "";
100
+ return [d, u, p].join(" ");
101
+ }
102
+ }
103
+ };
104
+ function v(e, s, t, n, a, o) {
105
+ const l = y("render-inlined-styles");
106
+ return e.TARGET !== "reactNative" && o.css ? (x(), S(l, {
107
+ key: 0,
108
+ styles: o.css
109
+ }, null, 8, ["styles"])) : h("", !0);
110
+ }
111
+ const E = /* @__PURE__ */ C(T, [["render", v]]);
112
+ export {
113
+ E as default
114
+ };
@@ -1 +1 @@
1
- "use strict";const o=require("./index.efd88402.cjs"),d=(e,r,i)=>{if(Object(e)!==e)return e;const n=Array.isArray(r)?r:r.toString().match(/[^.[\]]+/g);return n.slice(0,-1).reduce((t,s,c)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(Number(n[c+1]))>>0===+n[c+1]?[]:{},e)[n[n.length-1]]=i,e};const a=({block:e,context:r,state:i})=>{if(!e.bindings)return e;const n=o.fastClone(e),t={...n,properties:{...n.properties},actions:{...n.actions}};for(const s in e.bindings){const c=e.bindings[s],u=o.evaluate({code:c,state:i,context:r});d(t,s,u)}return t};function f({block:e,context:r,shouldEvaluateBindings:i,state:n}){const t=e;return i?a({block:t,state:n,context:r}):t}exports.getProcessedBlock=f;
1
+ "use strict";const o=require("./index.7ebc9925.cjs"),d=(e,r,i)=>{if(Object(e)!==e)return e;const n=Array.isArray(r)?r:r.toString().match(/[^.[\]]+/g);return n.slice(0,-1).reduce((t,s,c)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(Number(n[c+1]))>>0===+n[c+1]?[]:{},e)[n[n.length-1]]=i,e};const a=({block:e,context:r,state:i})=>{if(!e.bindings)return e;const n=o.fastClone(e),t={...n,properties:{...n.properties},actions:{...n.actions}};for(const s in e.bindings){const c=e.bindings[s],u=o.evaluate({code:c,state:i,context:r});d(t,s,u)}return t};function g({block:e,context:r,shouldEvaluateBindings:i,state:n}){const t=e;return i?a({block:t,state:n,context:r}):t}exports.getProcessedBlock=g;
@@ -1,4 +1,4 @@
1
- import { f as a, e as u } from "./index.a348d39c.js";
1
+ import { f as a, e as u } from "./index.bdc957bb.js";
2
2
  const f = (n, r, i) => {
3
3
  if (Object(n) !== n)
4
4
  return n;
@@ -0,0 +1,4 @@
1
+ "use strict";const r=require("vue");function de(e){if(e&&e.__esModule)return e;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const y="vue3";function h(){return typeof window<"u"&&typeof document<"u"}const B={};function U(e,n){let t=B[e];if(t||(t=B[e]=[]),t.push(n),h()){const o={type:"builder.register",data:{type:e,info:n}};try{parent.postMessage(o,"*"),parent!==window&&window.postMessage(o,"*")}catch(s){console.debug("Could not postmessage",s)}}}const ue=()=>{U("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 F=!1;const me=()=>{var e;F||(F=!0,h()&&((e=window.parent)==null||e.postMessage({type:"builder.sdkInfo",data:{target:y,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),window.addEventListener("message",({data:n})=>{var t,o;if(!!(n!=null&&n.type))switch(n.type){case"builder.evaluate":{const s=n.data.text,i=n.data.arguments||[],a=n.data.id,l=new Function(s);let c,d=null;try{c=l.apply(null,i)}catch(u){d=u}d?(t=window.parent)==null||t.postMessage({type:"builder.evaluateError",data:{id:a,error:d.message}},"*"):c&&typeof c.then=="function"?c.then(u=>{var m;(m=window.parent)==null||m.postMessage({type:"builder.evaluateResult",data:{id:a,result:u}},"*")}).catch(console.error):(o=window.parent)==null||o.postMessage({type:"builder.evaluateResult",data:{result:c,id:a}},"*");break}}})))},pe=()=>Promise.resolve().then(()=>ce).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderBlocks at ../../components/render-blocks.vue",e),e}),he={name:"builder-columns",components:{RenderBlocks:r.defineAsyncComponent(pe)},props:["space","columns","stackColumnsAt","reverseColumnsWhenStacked","builderBlock"],computed:{columnsCssVars(){const e=this.stackColumnsAt==="never"?"inherit":this.reverseColumnsWhenStacked?"column-reverse":"column";return{"--flex-dir":e,"--flex-dir-tablet":this.maybeApplyForTablet(e)}},columnCssVars(){const e="100%",n="0";return{"--column-width":e,"--column-margin-left":n,"--column-width-tablet":this.maybeApplyForTablet(e),"--column-margin-left-tablet":this.maybeApplyForTablet(n)}}},methods:{getGutterSize(){return typeof this.space=="number"?this.space||0:20},getColumns(){return this.columns||[]},getWidth(e){var t;const n=this.getColumns();return((t=n[e])==null?void 0:t.width)||100/n.length},getColumnCssWidth(e){const n=this.getColumns(),o=this.getGutterSize()*(n.length-1)/n.length;return`calc(${this.getWidth(e)}% - ${o}px)`},maybeApplyForTablet(e){return(this.stackColumnsAt||"tablet")==="tablet"?e:"inherit"}}};const p=(e,n)=>{const t=e.__vccOpts||e;for(const[o,s]of n)t[o]=s;return t};function fe(e,n,t,o,s,i){const a=r.resolveComponent("render-blocks");return r.openBlock(),r.createElementBlock("div",{class:"builder-columns div-1eih9th5ow6",style:r.normalizeStyle(i.columnsCssVars)},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.columns,(l,c)=>(r.openBlock(),r.createElementBlock("div",{key:c,class:"builder-column div-1eih9th5ow6-2",style:r.normalizeStyle({width:i.getColumnCssWidth(c),marginLeft:`${c===0?0:i.getGutterSize()}px`,...i.columnCssVars})},[r.createVNode(a,{blocks:l.blocks,path:`component.options.columns.${c}.blocks`,parent:t.builderBlock.id,styleProp:{flexGrow:"1"}},null,8,["blocks","path","parent"])],4))),128))],4)}const O=p(he,[["render",fe],["__scopeId","data-v-330e29c7"]]);function j(e){return e.replace(/http(s)?:/,"")}function ge(e="",n,t){const o=new RegExp("([?&])"+n+"=.*?(&|$)","i"),s=e.indexOf("?")!==-1?"&":"?";return e.match(o)?e.replace(o,"$1"+n+"="+encodeURIComponent(t)+"$2"):e+s+n+"="+encodeURIComponent(t)}function be(e,n){if(!e||!(e!=null&&e.match(/cdn\.shopify\.com/))||!n)return e;if(n==="master")return j(e);const t=e.match(/(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i);if(t){const o=e.split(t[0]),s=t[3],i=n.match("x")?n:`${n}x`;return j(`${o[0]}_${i}${s}`)}return null}function k(e){if(!e)return e;const n=[100,200,400,800,1200,1600,2e3];if(e.match(/builder\.io/)){let t=e;const o=Number(e.split("?width=")[1]);return isNaN(o)||(t=`${t} ${o}w`),n.filter(s=>s!==o).map(s=>`${ge(e,"width",s)} ${s}w`).concat([t]).join(", ")}return e.match(/cdn\.shopify\.com/)?n.map(t=>[be(e,`${t}x${t}`),t]).filter(([t])=>!!t).map(([t,o])=>`${t} ${o}w`).concat([e]).join(", "):e}const ye={name:"builder-image",props:["image","src","srcset","noWebp","altText","backgroundSize","className","sizes","aspectRatio","builderBlock","fitContent"],computed:{srcSetToUse(){var t;const n=this.image||this.src;if(!n||!(n.match(/builder\.io/)||n.match(/cdn\.shopify\.com/)))return this.srcset;if(this.srcset&&((t=this.image)==null?void 0:t.includes("builder.io/api/v1/image"))){if(!this.srcset.includes(this.image.split("?")[0]))return console.debug("Removed given srcset"),k(n)}else if(this.image&&!this.srcset)return k(n);return k(n)},webpSrcSet(){var e;return((e=this.srcSetToUse)==null?void 0:e.match(/builder\.io/))&&!this.noWebp?this.srcSetToUse.replace(/\?/g,"?format=webp&"):""}},methods:{_classStringToObject(e){const n={};if(typeof e!="string")return n;const t=e.trim().split(/\s+/);for(const o of t)n[o]=!0;return n}}};const ve=["srcset"],ke=["alt","role","src","srcset","sizes"],xe=["srcset"],Ce={key:2,class:"div-1fogms4bee0-2"};function _e(e,n,t,o,s,i){var a,l,c,d;return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("picture",null,[i.webpSrcSet?(r.openBlock(),r.createElementBlock("source",{key:0,type:"image/webp",srcset:i.webpSrcSet},null,8,ve)):r.createCommentVNode("",!0),r.createElementVNode("img",{loading:"lazy",alt:t.altText,role:t.altText?"presentation":void 0,style:r.normalizeStyle({objectPosition:t.backgroundSize||"center",objectFit:t.backgroundSize||"cover"}),class:r.normalizeClass(i._classStringToObject("builder-image"+(t.className?" "+t.className:"")+" img-1fogms4bee0")),src:t.image,srcset:i.srcSetToUse,sizes:t.sizes},null,14,ke),r.createElementVNode("source",{srcset:i.srcSetToUse},null,8,xe)]),t.aspectRatio&&!(((l=(a=t.builderBlock)==null?void 0:a.children)==null?void 0:l.length)&&t.fitContent)?(r.openBlock(),r.createElementBlock("div",{key:0,class:"builder-image-sizer div-1fogms4bee0",style:r.normalizeStyle({paddingTop:t.aspectRatio*100+"%"})},null,4)):r.createCommentVNode("",!0),((d=(c=t.builderBlock)==null?void 0:c.children)==null?void 0:d.length)&&t.fitContent?r.renderSlot(e.$slots,"default",{key:1},void 0,!0):r.createCommentVNode("",!0),!t.fitContent&&e.children?(r.openBlock(),r.createElementBlock("div",Ce,[r.renderSlot(e.$slots,"default",{},void 0,!0)])):r.createCommentVNode("",!0)],64)}const $=p(ye,[["render",_e],["__scopeId","data-v-53905db1"]]),Se={name:"builder-text",props:["text"]},we=["innerHTML"];function Ie(e,n,t,o,s,i){return r.openBlock(),r.createElementBlock("span",{class:"builder-text",innerHTML:t.text},null,8,we)}const N=p(Se,[["render",Ie]]),Te={name:"builder-video",props:["autoPlay","muted","controls","loop","playsInline","attributes","fit","position","video","posterImage"],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.attributes,...this.videoProps}}}},Re=["src","poster"];function Ee(e,n,t,o,s,i){var a;return r.openBlock(),r.createElementBlock("video",r.mergeProps({style:{width:"100%",height:"100%",...(a=t.attributes)==null?void 0:a.style,objectFit:t.fit,objectPosition:t.position,borderRadius:1},src:t.video||"no-src",poster:t.posterImage},i.spreadProps),null,16,Re)}const W=p(Te,[["render",Ee]]);function x(e,n=null,t="."){return Object.keys(e).reduce((o,s)=>{const i=e[s],a=[n,s].filter(Boolean).join(t);return[typeof i=="object",i!==null,!(Array.isArray(i)&&i.length===0)].every(Boolean)?{...o,...x(i,a,t)}:{...o,[a]:i}},{})}const P="builder.",L=e=>{const n={};return e.forEach((t,o)=>{n[o]=t}),n},M=e=>{if(!e)return{};const n=S(e),t={};return Object.keys(n).forEach(o=>{if(o.startsWith(P)){const s=o.replace(P,"");t[s]=n[o]}}),t},z=()=>{if(!h())return{};const e=new URLSearchParams(window.location.search);return M(e)},S=e=>e instanceof URLSearchParams?L(e):e;function Be(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:null}async function H(){const e=Be().fetch;if(typeof e>"u"&&typeof global<"u"){const n=Promise.resolve().then(()=>de(require("node-fetch"))).then(t=>t.default);return n.default||n}return e.default||e}const Fe=e=>{const n=e.split(".");return n.length>2?n.slice(1).join("."):e},q=async({name:e,canTrack:n})=>{var t;try{return n?(t=document.cookie.split("; ").find(o=>o.startsWith(`${e}=`)))==null?void 0:t.split("=")[1]:void 0}catch(o){console.debug("[COOKIE] GET error: ",o)}},je=e=>e.map(([n,t])=>t?`${n}=${t}`:n).join("; "),Pe=[["secure",""],["SameSite","None"]],Ve=({name:e,value:n,expires:t})=>{const s=(h()?location.protocol==="https:":!0)?Pe:[[]],i=t?[["expires",t.toUTCString()]]:[[]],a=[[e,n],...i,["path","/"],["domain",Fe(window.location.hostname)],...s];return je(a)},D=async({name:e,value:n,expires:t,canTrack:o})=>{try{if(!o)return;const s=Ve({name:e,value:n,expires:t});document.cookie=s}catch(s){console.warn("[COOKIE] SET error: ",s)}},Ae="builderio.variations",K=e=>`${Ae}.${e}`,Ue=({contentId:e,canTrack:n})=>q({name:K(e),canTrack:n}),Oe=({contentId:e,canTrack:n,value:t})=>D({name:K(e),value:t,canTrack:n}),b=e=>e!=null,$e=e=>b(e.id)&&b(e.variations)&&Object.keys(e.variations).length>0,Ne=({id:e,variations:n})=>{var s;let t=0;const o=Math.random();for(const i in n)if(t+=(s=n[i])==null?void 0:s.testRatio,o<t)return i;return e},V=({item:e,testGroupId:n})=>{const t=e.variations[n];return n===e.id||!t?{testVariationId:e.id,testVariationName:"Default"}:{data:t.data,testVariationId:t.id,testVariationName:t.name||(t.id===e.id?"Default":"")}},We=async({item:e,canTrack:n})=>{const t=await Ue({canTrack:n,contentId:e.id}),o=t?V({item:e,testGroupId:t}):void 0;if(o)return o;{const s=Ne({variations:e.variations,id:e.id});return Oe({contentId:e.id,value:s,canTrack:n}).catch(i=>{console.error("could not store A/B test variation: ",i)}),V({item:e,testGroupId:s})}},Le=async({item:e,canTrack:n})=>{if(!$e(e))return;const t=await We({item:e,canTrack:n});Object.assign(e,t)};async function w(e){return(await J({...e,limit:1})).results[0]||null}const G=e=>{const{limit:n=30,userAttributes:t,query:o,noTraverse:s=!1,model:i,apiKey:a,includeRefs:l=!0}=e;if(!a)throw new Error("Missing API key");const c=new URL(`https://cdn.builder.io/api/v2/content/${i}?apiKey=${a}&limit=${n}&noTraverse=${s}&includeRefs=${l}`),d={...z(),...S(e.options||{})},u=x(d);for(const m in u)c.searchParams.set(m,String(u[m]));if(t&&c.searchParams.set("userAttributes",JSON.stringify(t)),o){const m=x({query:o});for(const g in m)c.searchParams.set(g,JSON.stringify(m[g]))}return c};async function J(e){const n=G(e),o=await(await H())(n.href).then(i=>i.json()),s=e.canTrack!==!1;if(s)for(const i of o.results)await Le({item:i,canTrack:s});return o}const Me=()=>Promise.resolve().then(()=>Dt).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderContent at ../../components/render-content/render-content.vue",e),e}),ze={name:"builder-symbol",components:{RenderContent:r.defineAsyncComponent(Me)},props:["symbol","attributes"],data:()=>({className:"builder-symbol",fetchedContent:null}),inject:{builderContext:"BuilderContext"},watch:{onUpdateHook0(){const e=this.symbol;e&&!e.content&&!this.fetchedContent&&e.model&&w({model:e.model,apiKey:this.builderContext.apiKey,query:{id:e.entry}}).then(n=>{this.fetchedContent=n})}},computed:{contentToUse(){var e;return((e=this.symbol)==null?void 0:e.content)||this.fetchedContent},onUpdateHook0(){return{0:this.symbol,1:this.fetchedContent}}},methods:{_classStringToObject(e){const n={};if(typeof e!="string")return n;const t=e.trim().split(/\s+/);for(const o of t)n[o]=!0;return n}}},He=["dataSet"];function qe(e,n,t,o,s,i){var l,c,d,u,m;const a=r.resolveComponent("render-content");return r.openBlock(),r.createElementBlock("div",r.mergeProps({dataSet:{class:e.className},class:i._classStringToObject(e.className)},t.attributes),[r.createVNode(a,{apiKey:i.builderContext.apiKey,context:i.builderContext.context,customComponents:Object.values(i.builderContext.registeredComponents),data:{...(l=t.symbol)==null?void 0:l.data,...i.builderContext.state,...(u=(d=(c=t.symbol)==null?void 0:c.content)==null?void 0:d.data)==null?void 0:u.state},model:(m=t.symbol)==null?void 0:m.model,content:i.contentToUse},null,8,["apiKey","context","customComponents","data","model","content"])],16,He)}const Y=p(ze,[["render",qe]]),De={name:"builder-button",props:["attributes","text","link","openLinkInNewTab"]};const Ke=["href","target"];function Ge(e,n,t,o,s,i){return t.link?(r.openBlock(),r.createElementBlock("a",r.mergeProps({key:0,role:"button",href:t.link,target:t.openLinkInNewTab?"_blank":void 0},t.attributes),r.toDisplayString(t.text),17,Ke)):(r.openBlock(),r.createElementBlock("button",r.mergeProps({key:1,class:"button-361b1o6wv2k"},t.attributes),r.toDisplayString(t.text),17))}const X=p(De,[["render",Ge],["__scopeId","data-v-00528171"]]),Je={name:"builder-section-component",props:["attributes","maxWidth"]};function Ye(e,n,t,o,s,i){return r.openBlock(),r.createElementBlock("section",r.mergeProps({style:t.maxWidth&&typeof t.maxWidth=="number"?{maxWidth:t.maxWidth}:void 0},t.attributes),[r.renderSlot(e.$slots,"default")],16)}const Q=p(Je,[["render",Ye]]),Xe={name:"builder-fragment-component",props:[]};function Qe(e,n,t,o,s,i){return r.openBlock(),r.createElementBlock("span",null,[r.renderSlot(e.$slots,"default")])}const Z=p(Xe,[["render",Qe]]),Ze={name:"Core:Button",builtIn:!0,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},v=e=>{const n=e.toString().trim();return`return (${!n.startsWith("function")&&!n.startsWith("(")?"function ":""}${n}).apply(this, arguments)`},et={name:"Columns",builtIn:!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:v(e=>{function n(){t.forEach(o=>{o.delete("width")})}const t=e.get("columns");Array.isArray(t)&&!!t.find(s=>s.get("width"))&&(!!t.find(i=>!i.get("width"))||t.reduce((l,c)=>l+c.get("width"),0)!==100)&&n()})},{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}]},tt={name:"Fragment",static:!0,hidden:!0,builtIn:!0,canHaveChildren:!0,noWrap:!0},nt={name:"Image",static:!0,builtIn:!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%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",onChange:v(e=>{e.delete("srcset"),e.delete("noWebp");function t(a,l=6e4){return new Promise((c,d)=>{const u=document.createElement("img");let m=!1;u.onload=()=>{m=!0,c(u)},u.addEventListener("error",g=>{console.warn("Image load failed",g.error),d(g.error)}),u.src=a,setTimeout(()=>{m||d(new Error("Image load timed out"))},l)})}function o(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 t(s).then(a=>{const l=e.get("aspectRatio");e.get("image")===s&&(!l||l===.7041)&&a.width&&a.height&&(e.set("aspectRatio",o(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}]},ot={name:"Core:Section",static:!0,builtIn:!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>"}}}]},rt={name:"Symbol",noWrap:!0,static:!0,builtIn:!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"}]},st={name:"Text",static:!0,builtIn:!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"}},it={name:"Video",canHaveChildren:!0,builtIn:!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:"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}]},at={name:"Embed",static:!0,builtIn:!0,inputs:[{name:"url",type:"url",required:!0,defaultValue:"",helperText:"e.g. enter a youtube url, google map, etc",onChange:v(e=>{const n=e.get("url");if(n)return e.set("content","Loading..."),fetch(`https://iframe.ly/api/iframely?url=${n}&api_key=ae0e60e78201a3f2b0de4b`).then(o=>o.json()).then(o=>{e.get("url")===n&&(o.html?e.set("content",o.html):e.set("content","Invalid url, please try another"))}).catch(o=>{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}]},ct=["text/javascript","application/javascript","application/ecmascript"],lt=e=>ct.includes(e.type),dt={name:"builder-embed",props:["content"],data:()=>({scriptsInserted:[],scriptsRun:[],ranInitFn:!1}),watch:{onUpdateHook0(){this.$refs.elem&&!this.ranInitFn&&(this.ranInitFn=!0,this.findAndRunScripts())}},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 n=0;n<e.length;n++){const t=e[n];if(t.src&&!this.scriptsInserted.includes(t.src)){this.scriptsInserted.push(t.src);const o=document.createElement("script");o.async=!0,o.src=t.src,document.head.appendChild(o)}else if(lt(t)&&!this.scriptsRun.includes(t.innerText))try{this.scriptsRun.push(t.innerText),new Function(t.innerText)()}catch(o){console.warn("`Embed`: Error running script:",o)}}}}},ut=["innerHTML"];function mt(e,n,t,o,s,i){return r.openBlock(),r.createElementBlock("div",{class:"builder-embed",ref:"elem",innerHTML:t.content},null,8,ut)}const pt=p(dt,[["render",mt]]);function ht(){return h()&&window.self!==window.top}function f(){return ht()&&window.location.search.indexOf("builder.frameEditing=")!==-1}const ft={name:"builder-img-component",props:["backgroundSize","backgroundPosition","imgSrc","altText","image","attributes"],data:()=>({isEditing:f})},gt=["alt","src"];function bt(e,n,t,o,s,i){return r.openBlock(),r.createElementBlock("img",r.mergeProps({style:{objectFit:t.backgroundSize||"cover",objectPosition:t.backgroundPosition||"center"},key:e.isEditing()&&t.imgSrc||"default-key",alt:t.altText,src:t.imgSrc||t.image},t.attributes),null,16,gt)}const yt=p(ft,[["render",bt]]),vt={name:"Raw:Img",hideFromInsertMenu:!0,builtIn:!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"],required:!0}],noWrap:!0,static:!0},kt={name:"builder-custom-code",props:["replaceNodes","code"],data:()=>({scriptsInserted:[],scriptsRun:[]}),mounted(){this.findAndRunScripts()},methods:{findAndRunScripts(){if(this.$refs.elem&&this.$refs.elem.getElementsByTagName&&typeof window<"u"){const e=this.$refs.elem.getElementsByTagName("script");for(let n=0;n<e.length;n++){const t=e[n];if(t.src){if(this.scriptsInserted.includes(t.src))continue;this.scriptsInserted.push(t.src);const o=document.createElement("script");o.async=!0,o.src=t.src,document.head.appendChild(o)}else if(!t.type||["text/javascript","application/javascript","application/ecmascript"].includes(t.type)){if(this.scriptsRun.includes(t.innerText))continue;try{this.scriptsRun.push(t.innerText),new Function(t.innerText)()}catch(o){console.warn("`CustomCode`: Error running script:",o)}}}}},_classStringToObject(e){const n={};if(typeof e!="string")return n;const t=e.trim().split(/\s+/);for(const o of t)n[o]=!0;return n}}},xt=["innerHTML"];function Ct(e,n,t,o,s,i){return r.openBlock(),r.createElementBlock("div",{ref:"elem",class:r.normalizeClass(i._classStringToObject("builder-custom-code"+(t.replaceNodes?" replace-nodes":""))),innerHTML:t.code},null,10,xt)}const _t=p(kt,[["render",Ct]]),St={name:"Custom Code",static:!0,builtIn:!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}]},wt=()=>[{component:O,...et},{component:$,...nt},{component:yt,...vt},{component:N,...st},{component:W,...it},{component:Y,...rt},{component:X,...Ze},{component:Q,...ot},{component:Z,...tt},{component:pt,...at},{component:_t,...St}];function C({code:e,context:n,state:t,event:o}){if(e===""){console.warn("Skipping evaluation of empty code block.");return}const s={isEditing:f(),isBrowser:h(),isServer:!h()},a=!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e;try{return new Function("builder","Builder","state","context","event",a)(s,s,t,n,o)}catch(l){console.warn(`Builder custom code error:
2
+ While Evaluating:
3
+ `,a,`
4
+ `,l.message||l)}}function ee(){return!h()||f()?!1:Boolean(location.search.indexOf("builder.preview=")!==-1)}const I=e=>JSON.parse(JSON.stringify(e)),T=[];function It(e,n){return T.push({component:e,...n}),console.warn("registerComponent is deprecated. Use the `customComponents` prop in RenderContent instead to provide your custom components to the builder SDK."),e}const te=({component:e,...n})=>({type:"builder.registerComponent",data:Rt(n)}),Tt=e=>typeof e=="function"?v(e):I(e),Rt=({inputs:e,...n})=>({...I(n),inputs:e==null?void 0:e.map(t=>Object.entries(t).reduce((o,[s,i])=>({...o,[s]:Tt(i)}),{}))});function Et(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const n=Math.random()*16|0;return(e=="x"?n:n&3|8).toString(16)})}function ne(){return Et().replace(/-/g,"")}const oe="builderSessionId",Bt=async({canTrack:e})=>{if(!e)return;const n=await q({name:oe,canTrack:e});if(b(n))return n;{const t=Ft();jt({id:t,canTrack:e})}},Ft=()=>ne(),jt=({id:e,canTrack:n})=>D({name:oe,value:e,canTrack:n}),re=()=>h()&&typeof localStorage<"u"?localStorage:void 0,Pt=({key:e,canTrack:n})=>{var t;try{return n?(t=re())==null?void 0:t.getItem(e):void 0}catch(o){console.debug("[LocalStorage] GET error: ",o)}},Vt=({key:e,canTrack:n,value:t})=>{var o;try{n&&((o=re())==null||o.setItem(e,t))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},se="builderVisitorId",At=({canTrack:e})=>{if(!e)return;const n=Pt({key:se,canTrack:e});if(b(n))return n;{const t=Ut();Ot({id:t,canTrack:e})}},Ut=()=>ne(),Ot=({id:e,canTrack:n})=>Vt({key:se,value:e,canTrack:n}),$t=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const n=await Bt({canTrack:e}),t=At({canTrack:e});return{sessionId:n,visitorId:t}},Nt=async({type:e,canTrack:n,apiKey:t,metadata:o,...s})=>({type:e,data:{...s,metadata:JSON.stringify(o),...await $t({canTrack:n}),ownerId:t}});async function _(e){if(!!e.canTrack&&!f()&&!!(h()||y==="reactNative"))return fetch("https://builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Nt(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(n=>{console.error("Failed to track: ",n)})}const Wt=e=>_({...e,canTrack:!0}),Lt=()=>Promise.resolve().then(()=>ce).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderBlocks at ../render-blocks.vue",e),e}),Mt=()=>Promise.resolve().then(()=>require("./render-styles.6f74d8a8.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderContentStyles at ./components/render-styles.vue",e),e}),zt={name:"render-content",components:{RenderContentStyles:r.defineAsyncComponent(Mt),RenderBlocks:r.defineAsyncComponent(Lt)},props:["content","data","canTrack","context","customComponents","model","apiKey"],data:()=>({forceReRenderCount:0,overrideContent:null,update:0,overrideState:{}}),provide(){const e=this;return{BuilderContext:{get content(){return e.useContent},get state(){return e.contentState},get context(){return e.contextContext},get apiKey(){return e.apiKey},get registeredComponents(){return e.allRegisteredComponents}}}},mounted(){var e,n;if(h()){if(f()&&(this.forceReRenderCount=this.forceReRenderCount+1,ue(),me(),Object.values(this.allRegisteredComponents).forEach(t=>{var s;const o=te(t);(s=window.parent)==null||s.postMessage(o,"*")}),window.addEventListener("message",this.processMessage),window.addEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate)),this.useContent){const t=(e=this.useContent)==null?void 0:e.testVariationId,o=(n=this.useContent)==null?void 0:n.id;_({type:"impression",canTrack:this.canTrackToUse,contentId:o,apiKey:this.apiKey,variationId:t!==o?t:void 0})}if(ee()){const t=new URL(location.href).searchParams;if(this.model&&t.get("builder.preview")===this.model){const o=t.get("apiKey")||t.get("builder.space");o&&w({model:this.model,apiKey:o}).then(s=>{s&&(this.overrideContent=s)})}}this.evaluateJsCode(),this.runHttpRequests(),this.emitStateUpdate()}},watch:{onUpdateHook0(){this.evaluateJsCode()},onUpdateHook1(){this.runHttpRequests()},onUpdateHook2(){this.emitStateUpdate()}},unmounted(){h()&&(window.removeEventListener("message",this.processMessage),window.removeEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate))},computed:{useContent(){var n,t;return!this.content&&!this.overrideContent?void 0:{...this.content,...this.overrideContent,data:{...(n=this.content)==null?void 0:n.data,...this.data,...(t=this.overrideContent)==null?void 0:t.data}}},canTrackToUse(){return this.canTrack||!0},contentState(){var e,n;return{...(n=(e=this.content)==null?void 0:e.data)==null?void 0:n.state,...this.data,...this.overrideState}},contextContext(){return this.context||{}},allRegisteredComponents(){return[...wt(),...T,...this.customComponents||[]].reduce((t,o)=>({...t,[o.name]:o}),{})},httpReqsData(){return{}},shouldRenderContentStyles(){var e,n,t,o,s;return Boolean((((n=(e=this.useContent)==null?void 0:e.data)==null?void 0:n.cssCode)||((s=(o=(t=this.useContent)==null?void 0:t.data)==null?void 0:o.customFonts)==null?void 0:s.length))&&y!=="reactNative")},onUpdateHook0(){var e,n;return{0:(n=(e=this.useContent)==null?void 0:e.data)==null?void 0:n.jsCode}},onUpdateHook1(){var e,n;return{0:(n=(e=this.useContent)==null?void 0:e.data)==null?void 0:n.httpRequests}},onUpdateHook2(){return{0:this.contentState}}},methods:{processMessage(e){const{data:n}=e;if(n)switch(n.type){case"builder.contentUpdate":{const t=n.data,o=t.key||t.alias||t.entry||t.modelName,s=t.data;o===this.model&&(this.overrideContent=s,this.forceReRenderCount=this.forceReRenderCount+1);break}}},evaluateJsCode(){var n,t;const e=(t=(n=this.useContent)==null?void 0:n.data)==null?void 0:t.jsCode;e&&C({code:e,context:this.contextContext,state:this.contentState})},onClick(e){var n,t;if(this.useContent){const o=(n=this.useContent)==null?void 0:n.testVariationId,s=(t=this.useContent)==null?void 0:t.id;_({type:"click",canTrack:this.canTrackToUse,contentId:s,apiKey:this.apiKey,variationId:o!==s?o:void 0})}},evalExpression(e){return e.replace(/{{([^}]+)}}/g,(n,t)=>C({code:t,context:this.contextContext,state:this.contentState}))},handleRequest({url:e,key:n}){H().then(t=>t(e)).then(t=>t.json()).then(t=>{const o={...this.overrideState,[n]:t};this.overrideState=o}).catch(t=>{console.log("error fetching dynamic data",e,t)})},runHttpRequests(){var n,t,o;const e=(o=(t=(n=this.useContent)==null?void 0:n.data)==null?void 0:t.httpRequests)!=null?o:{};Object.entries(e).forEach(([s,i])=>{if(i&&(!this.httpReqsData[s]||f())){const a=this.evalExpression(i);this.handleRequest({url:a,key:s})}})},emitStateUpdate(){f()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:this.contentState,ref:{name:this.model}}}))}}},Ht=["builder-content-id","builder-model"];function qt(e,n,t,o,s,i){var c,d,u,m,g,R,E;const a=r.resolveComponent("render-content-styles"),l=r.resolveComponent("render-blocks");return i.useContent?(r.openBlock(),r.createElementBlock("div",{key:0,ref:"elementRef",onClick:n[0]||(n[0]=le=>i.onClick(le)),"builder-content-id":(c=i.useContent)==null?void 0:c.id,"builder-model":t.model},[i.shouldRenderContentStyles?(r.openBlock(),r.createBlock(a,{key:0,cssCode:(u=(d=i.useContent)==null?void 0:d.data)==null?void 0:u.cssCode,customFonts:(g=(m=i.useContent)==null?void 0:m.data)==null?void 0:g.customFonts},null,8,["cssCode","customFonts"])):r.createCommentVNode("",!0),(r.openBlock(),r.createBlock(l,{blocks:(E=(R=i.useContent)==null?void 0:R.data)==null?void 0:E.blocks,key:e.forceReRenderCount},null,8,["blocks"]))],8,Ht)):r.createCommentVNode("",!0)}const ie=p(zt,[["render",qt]]),Dt=Object.freeze(Object.defineProperty({__proto__:null,default:ie},Symbol.toStringTag,{value:"Module"})),Kt=()=>Promise.resolve().then(()=>require("./block-styles.a9ff2d51.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component BlockStyles at ./render-block/block-styles.vue",e),e}),Gt=()=>Promise.resolve().then(()=>require("./render-block.ea7240a5.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderBlock at ./render-block/render-block.vue",e),e}),Jt={name:"render-blocks",components:{RenderBlock:r.defineAsyncComponent(Gt),BlockStyles:r.defineAsyncComponent(Kt)},props:["blocks","parent","path","styleProp"],inject:{builderContext:"BuilderContext"},computed:{className(){var e;return"builder-blocks"+((e=this.blocks)!=null&&e.length?"":" no-blocks")}},methods:{onClick(){var e,n;f()&&!((e=this.blocks)!=null&&e.length)&&((n=window.parent)==null||n.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},onMouseEnter(){var e,n;f()&&!((e=this.blocks)!=null&&e.length)&&((n=window.parent)==null||n.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},_classStringToObject(e){const n={};if(typeof e!="string")return n;const t=e.trim().split(/\s+/);for(const o of t)n[o]=!0;return n}}};const Yt=["builder-path","builder-parent-id","dataSet"];function Xt(e,n,t,o,s,i){const a=r.resolveComponent("render-block"),l=r.resolveComponent("block-styles");return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(i._classStringToObject(i.className+" div-4o9pb21oca6")),"builder-path":t.path,"builder-parent-id":t.parent,dataSet:{class:i.className},style:r.normalizeStyle(t.styleProp),onClick:n[0]||(n[0]=c=>i.onClick()),onMouseenter:n[1]||(n[1]=c=>i.onMouseEnter())},[t.blocks?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(t.blocks,(c,d)=>(r.openBlock(),r.createBlock(a,{key:"render-block-"+c.id,block:c,context:i.builderContext},null,8,["block","context"]))),128)):r.createCommentVNode("",!0),t.blocks?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(t.blocks,(c,d)=>(r.openBlock(),r.createBlock(l,{key:"block-style-"+c.id,block:c,context:i.builderContext},null,8,["block","context"]))),128)):r.createCommentVNode("",!0)],46,Yt)}const ae=p(Jt,[["render",Xt],["__scopeId","data-v-9786df38"]]),ce=Object.freeze(Object.defineProperty({__proto__:null,default:ae},Symbol.toStringTag,{value:"Module"})),A={};function Qt(e){if(h()){Object.assign(A,e);const n={type:"builder.settingsChange",data:A};parent.postMessage(n,"*")}}exports.Button=X;exports.Columns=O;exports.Fragment=Z;exports.Image=$;exports.Section=Q;exports.Symbol=Y;exports.TARGET=y;exports.Text=N;exports.Video=W;exports._export_sfc=p;exports.components=T;exports.convertSearchParamsToQueryObject=L;exports.createRegisterComponentMessage=te;exports.evaluate=C;exports.fastClone=I;exports.generateContentUrl=G;exports.getAllContent=J;exports.getBuilderSearchParams=M;exports.getBuilderSearchParamsFromWindow=z;exports.getContent=w;exports.isEditing=f;exports.isPreviewing=ee;exports.normalizeSearchParams=S;exports.register=U;exports.registerComponent=It;exports.renderBlocks=ae;exports.renderContent=ie;exports.setEditorSettings=Qt;exports.track=Wt;