@builder.io/sdk-vue 0.2.2 → 0.3.1

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 (122) hide show
  1. package/package.json +2 -5
  2. package/packages/_vue2/dist/block-styles.ae2c8895.cjs +1 -0
  3. package/packages/_vue2/dist/block-styles.b09f50da.js +75 -0
  4. package/packages/_vue2/dist/css.e6670a83.cjs +6 -0
  5. package/packages/_vue2/dist/css.fb10bcf8.js +74 -0
  6. package/packages/_vue2/dist/{index.eb91dc82.js → index.36f3710d.js} +432 -402
  7. package/packages/_vue2/dist/index.ae3f58f8.cjs +29 -0
  8. package/packages/_vue2/dist/render-block.74bc834e.cjs +3 -0
  9. package/packages/_vue2/dist/{render-block.6f9a607a.js → render-block.c14ab4be.js} +96 -90
  10. package/packages/_vue2/dist/render-component.2b74ef23.cjs +1 -0
  11. package/packages/_vue2/dist/render-component.d7f78e3d.js +38 -0
  12. package/packages/_vue2/dist/render-inlined-styles.04d09a3c.js +34 -0
  13. package/packages/_vue2/dist/render-inlined-styles.c8d80bc4.cjs +1 -0
  14. package/packages/_vue2/dist/render-repeated-block.58333f68.cjs +1 -0
  15. package/packages/_vue2/dist/render-repeated-block.a8717618.js +45 -0
  16. package/packages/_vue2/dist/render-styles.4a1edc25.cjs +31 -0
  17. package/packages/_vue2/dist/{render-styles.0d1f8872.js → render-styles.a49c2339.js} +26 -25
  18. package/packages/_vue2/dist/sdk.cjs +1 -1
  19. package/packages/_vue2/dist/sdk.js +23 -22
  20. package/packages/_vue2/dist/src/blocks/button/button.vue.d.ts +19 -8
  21. package/packages/_vue2/dist/src/blocks/columns/columns.vue.d.ts +29 -174
  22. package/packages/_vue2/dist/src/blocks/custom-code/custom-code.vue.d.ts +9 -13
  23. package/packages/_vue2/dist/src/blocks/embed/embed.vue.d.ts +13 -20
  24. package/packages/_vue2/dist/src/blocks/fragment/fragment.vue.d.ts +1 -4
  25. package/packages/_vue2/dist/src/blocks/image/image.vue.d.ts +72 -0
  26. package/packages/_vue2/dist/src/blocks/img/img.vue.d.ts +8 -11
  27. package/packages/_vue2/dist/src/blocks/section/section.vue.d.ts +12 -7
  28. package/packages/_vue2/dist/src/blocks/symbol/symbol.vue.d.ts +15 -245
  29. package/packages/_vue2/dist/src/blocks/text/text.vue.d.ts +7 -4
  30. package/packages/_vue2/dist/src/blocks/video/video.vue.d.ts +42 -7
  31. package/packages/_vue2/dist/src/components/render-block/block-styles.vue.d.ts +18 -27
  32. package/packages/_vue2/dist/src/components/render-block/render-block.helpers.d.ts +0 -1
  33. package/packages/_vue2/dist/src/components/render-block/render-block.vue.d.ts +3 -86
  34. package/packages/_vue2/dist/src/components/render-block/render-component.vue.d.ts +3 -86
  35. package/packages/_vue2/dist/src/components/render-block/render-repeated-block.vue.d.ts +19 -84
  36. package/packages/_vue2/dist/src/components/render-blocks.vue.d.ts +23 -127
  37. package/packages/_vue2/dist/src/components/render-content/components/render-styles.vue.d.ts +15 -18
  38. package/packages/_vue2/dist/src/components/render-content/render-content.vue.d.ts +46 -212
  39. package/packages/_vue2/dist/src/components/render-inlined-styles.vue.d.ts +12 -11
  40. package/packages/_vue2/dist/src/constants/sdk-version.d.ts +1 -0
  41. package/packages/_vue2/dist/src/context/builder.context.d.ts +3 -2
  42. package/packages/_vue2/dist/src/context/types.d.ts +17 -2
  43. package/packages/_vue2/dist/src/functions/evaluate.d.ts +4 -3
  44. package/packages/_vue2/dist/src/functions/get-block-actions-handler.d.ts +1 -1
  45. package/packages/_vue2/dist/src/functions/get-block-actions.d.ts +1 -1
  46. package/packages/_vue2/dist/src/functions/get-processed-block.d.ts +2 -2
  47. package/packages/_vue2/dist/src/index.d.ts +1 -0
  48. package/packages/_vue2/dist/style.css +1 -1
  49. package/packages/_vue3/dist/block-styles.a1577ff9.cjs +1 -0
  50. package/packages/_vue3/dist/block-styles.ae0db517.js +71 -0
  51. package/packages/_vue3/dist/css.c52c28f5.js +74 -0
  52. package/packages/_vue3/dist/css.eaf664fa.cjs +6 -0
  53. package/packages/_vue3/dist/index.8ed3c046.cjs +29 -0
  54. package/packages/_vue3/dist/{index.45ab85e5.js → index.d8d44f06.js} +835 -806
  55. package/packages/_vue3/dist/render-block.8f200c30.cjs +3 -0
  56. package/packages/_vue3/dist/render-block.c70eab34.js +285 -0
  57. package/packages/_vue3/dist/render-component.023d5d67.cjs +1 -0
  58. package/packages/_vue3/dist/render-component.9b027ad2.js +42 -0
  59. package/packages/_vue3/dist/render-inlined-styles.0b6cafc4.js +32 -0
  60. package/packages/_vue3/dist/render-inlined-styles.e3ea32fb.cjs +1 -0
  61. package/packages/_vue3/dist/render-repeated-block.1743f160.cjs +1 -0
  62. package/packages/_vue3/dist/render-repeated-block.1b229997.js +39 -0
  63. package/packages/_vue3/dist/render-styles.70e1b259.cjs +31 -0
  64. package/packages/_vue3/dist/{render-styles.cf6faa29.js → render-styles.f8cb298d.js} +33 -33
  65. package/packages/_vue3/dist/sdk.cjs +1 -1
  66. package/packages/_vue3/dist/sdk.js +1 -1
  67. package/packages/_vue3/dist/src/blocks/button/button.vue.d.ts +19 -8
  68. package/packages/_vue3/dist/src/blocks/columns/columns.vue.d.ts +45 -91
  69. package/packages/_vue3/dist/src/blocks/custom-code/custom-code.vue.d.ts +16 -13
  70. package/packages/_vue3/dist/src/blocks/embed/embed.vue.d.ts +17 -20
  71. package/packages/_vue3/dist/src/blocks/fragment/fragment.vue.d.ts +1 -4
  72. package/packages/_vue3/dist/src/blocks/image/image.vue.d.ts +54 -14
  73. package/packages/_vue3/dist/src/blocks/img/img.vue.d.ts +27 -11
  74. package/packages/_vue3/dist/src/blocks/section/section.vue.d.ts +12 -7
  75. package/packages/_vue3/dist/src/blocks/symbol/symbol.vue.d.ts +25 -162
  76. package/packages/_vue3/dist/src/blocks/text/text.vue.d.ts +7 -4
  77. package/packages/_vue3/dist/src/blocks/video/video.vue.d.ts +42 -7
  78. package/packages/_vue3/dist/src/components/render-block/block-styles.vue.d.ts +18 -27
  79. package/packages/_vue3/dist/src/components/render-block/render-block.helpers.d.ts +0 -1
  80. package/packages/_vue3/dist/src/components/render-block/render-block.vue.d.ts +2 -2
  81. package/packages/_vue3/dist/src/components/render-block/render-component.vue.d.ts +2 -2
  82. package/packages/_vue3/dist/src/components/render-block/render-repeated-block.vue.d.ts +19 -8
  83. package/packages/_vue3/dist/src/components/render-blocks.vue.d.ts +23 -44
  84. package/packages/_vue3/dist/src/components/render-content/components/render-styles.vue.d.ts +15 -18
  85. package/packages/_vue3/dist/src/components/render-content/render-content.vue.d.ts +77 -129
  86. package/packages/_vue3/dist/src/components/render-inlined-styles.vue.d.ts +12 -11
  87. package/packages/_vue3/dist/src/constants/sdk-version.d.ts +1 -0
  88. package/packages/_vue3/dist/src/context/builder.context.d.ts +3 -2
  89. package/packages/_vue3/dist/src/context/types.d.ts +17 -2
  90. package/packages/_vue3/dist/src/functions/evaluate.d.ts +4 -3
  91. package/packages/_vue3/dist/src/functions/get-block-actions-handler.d.ts +1 -1
  92. package/packages/_vue3/dist/src/functions/get-block-actions.d.ts +1 -1
  93. package/packages/_vue3/dist/src/functions/get-processed-block.d.ts +2 -2
  94. package/packages/_vue3/dist/src/index.d.ts +1 -0
  95. package/packages/_vue3/dist/style.css +1 -1
  96. package/packages/_vue2/dist/block-styles.4667431d.js +0 -72
  97. package/packages/_vue2/dist/block-styles.7c2a87df.cjs +0 -1
  98. package/packages/_vue2/dist/css.468435de.js +0 -58
  99. package/packages/_vue2/dist/css.dce6e4eb.cjs +0 -6
  100. package/packages/_vue2/dist/index.78ba6586.cjs +0 -29
  101. package/packages/_vue2/dist/render-block.67e4dd65.cjs +0 -3
  102. package/packages/_vue2/dist/render-component.10d6c8d2.js +0 -37
  103. package/packages/_vue2/dist/render-component.3578089b.cjs +0 -1
  104. package/packages/_vue2/dist/render-inlined-styles.56373d13.cjs +0 -1
  105. package/packages/_vue2/dist/render-inlined-styles.942eb38d.js +0 -33
  106. package/packages/_vue2/dist/render-repeated-block.18d7fc6e.cjs +0 -1
  107. package/packages/_vue2/dist/render-repeated-block.1bb5c2fb.js +0 -42
  108. package/packages/_vue2/dist/render-styles.de7287b6.cjs +0 -31
  109. package/packages/_vue3/dist/block-styles.09955b0c.cjs +0 -1
  110. package/packages/_vue3/dist/block-styles.6bd36a5a.js +0 -69
  111. package/packages/_vue3/dist/css.3241302b.cjs +0 -6
  112. package/packages/_vue3/dist/css.81a21c5a.js +0 -58
  113. package/packages/_vue3/dist/index.cca81180.cjs +0 -29
  114. package/packages/_vue3/dist/render-block.33cc5768.cjs +0 -3
  115. package/packages/_vue3/dist/render-block.ec4c1913.js +0 -301
  116. package/packages/_vue3/dist/render-component.3bd8dc76.js +0 -26
  117. package/packages/_vue3/dist/render-component.c0d5e797.cjs +0 -1
  118. package/packages/_vue3/dist/render-inlined-styles.952d2fff.js +0 -32
  119. package/packages/_vue3/dist/render-inlined-styles.b55b6667.cjs +0 -1
  120. package/packages/_vue3/dist/render-repeated-block.263f0cec.js +0 -37
  121. package/packages/_vue3/dist/render-repeated-block.c3c9e926.cjs +0 -1
  122. package/packages/_vue3/dist/render-styles.d1ac3a18.cjs +0 -31
@@ -1,10 +1,10 @@
1
1
  import type { BuilderContextInterface } from '../context/types.js';
2
2
  import type { BuilderBlock } from '../types/builder-block.js';
3
- export declare function getProcessedBlock({ block, context, shouldEvaluateBindings, state, }: {
3
+ export declare function getProcessedBlock({ block, context, shouldEvaluateBindings, localState, rootState, rootSetState, }: {
4
4
  block: BuilderBlock;
5
5
  /**
6
6
  * In some cases, we want to avoid evaluating bindings and only want framework-specific block transformation. It is
7
7
  * also sometimes too early to consider bindings, e.g. when we might be looking at a repeated block.
8
8
  */
9
9
  shouldEvaluateBindings: boolean;
10
- } & Pick<BuilderContextInterface, 'state' | 'context'>): BuilderBlock;
10
+ } & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>): BuilderBlock;
@@ -10,3 +10,4 @@ export * from './functions/get-builder-search-params/index.js';
10
10
  export { track } from './functions/track/index.js';
11
11
  export type { RegisteredComponent } from './context/types';
12
12
  export type { ComponentInfo } from './types/components';
13
+ export type { RenderContentProps } from './components/render-content/render-content.types.js';
@@ -1 +1 @@
1
- .button-2fnk003dqad[data-v-a8305dd0]{all:unset}.div-t9spj7joih[data-v-2bb878ea]{display:flex;line-height:normal}.div-t9spj7joih-2[data-v-2bb878ea]{display:flex;flex-direction:column;align-items:stretch}.img-1pl23ac79ld[data-v-b5206874]{opacity:1;transition:opacity .2s ease-in-out}.div-1pl23ac79ld[data-v-b5206874]{width:100%;pointer-events:none;font-size:0}.div-1pl23ac79ld-2[data-v-b5206874]{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:0;left:0;width:100%;height:100%}.div-21azgz5avex[data-v-57df98d3]{display:flex;flex-direction:column;align-items:stretch}
1
+ .button-2fnk003dqad[data-v-5f197ca9]{all:unset}.div-t9spj7joih[data-v-1cba7386]{display:flex;line-height:normal}.div-t9spj7joih-2[data-v-1cba7386]{display:flex;flex-direction:column;align-items:stretch}.img-1pl23ac79ld[data-v-0d553173]{opacity:1;transition:opacity .2s ease-in-out}.div-1pl23ac79ld[data-v-0d553173]{width:100%;pointer-events:none;font-size:0}.div-1pl23ac79ld-2[data-v-0d553173]{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:0;left:0;width:100%;height:100%}.div-21azgz5avex[data-v-e4c3b2b6]{display:flex;flex-direction:column;align-items:stretch}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),t=require("./index.8ed3c046.cjs"),r=require("./css.eaf664fa.cjs"),y=()=>Promise.resolve().then(()=>require("./render-inlined-styles.e3ea32fb.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderInlinedStyles at ../render-inlined-styles.vue",e),e}),S=o.defineComponent({name:"block-styles",components:{RenderInlinedStyles:o.defineAsyncComponent(y)},props:["block","context"],data(){return{TARGET:t.TARGET}},computed:{useBlock(){return r.getProcessedBlock({block:this.block,localState:this.context.localState,rootState:this.context.rootState,rootSetState:this.context.rootSetState,context:this.context.context,shouldEvaluateBindings:!0})},canShowBlock(){return t.checkIsDefined(this.useBlock.hide)?!this.useBlock.hide:t.checkIsDefined(this.useBlock.show)?this.useBlock.show:!0},css(){var d;const e=this.useBlock.responsiveStyles,n=this.context.content,c=t.getSizesForBreakpoints(((d=n==null?void 0:n.meta)==null?void 0:d.breakpoints)||{}),l=e==null?void 0:e.large,i=e==null?void 0:e.medium,a=e==null?void 0:e.small,s=this.useBlock.id;if(!s)return"";const u=l?r.createCssClass({className:s,styles:l}):"",m=i?r.createCssClass({className:s,styles:i,mediaQuery:t.getMaxWidthQueryForSize("medium",c)}):"",h=a?r.createCssClass({className:s,styles:a,mediaQuery:t.getMaxWidthQueryForSize("small",c)}):"";return[u,m,h].join(" ")}}});function k(e,n,c,l,i,a){const s=o.resolveComponent("render-inlined-styles");return e.TARGET!=="reactNative"&&e.css&&e.canShowBlock?(o.openBlock(),o.createBlock(s,{key:0,styles:e.css},null,8,["styles"])):o.createCommentVNode("",!0)}const p=t._export_sfc(S,[["render",k]]);exports.default=p;
@@ -0,0 +1,71 @@
1
+ import { defineComponent as p, defineAsyncComponent as S, resolveComponent as k, openBlock as y, createBlock as f, createCommentVNode as B } from "vue";
2
+ import { T as g, c as i, g as C, a as d, _ } from "./index.d8d44f06.js";
3
+ import { g as x, c } from "./css.c52c28f5.js";
4
+ const b = () => import("./render-inlined-styles.0b6cafc4.js").then((e) => e.default).catch((e) => {
5
+ throw console.error(
6
+ "Error while attempting to dynamically import component RenderInlinedStyles at ../render-inlined-styles.vue",
7
+ e
8
+ ), e;
9
+ }), w = p({
10
+ name: "block-styles",
11
+ components: {
12
+ RenderInlinedStyles: S(b)
13
+ },
14
+ props: ["block", "context"],
15
+ data() {
16
+ return { TARGET: g };
17
+ },
18
+ computed: {
19
+ useBlock() {
20
+ return x({
21
+ block: this.block,
22
+ localState: this.context.localState,
23
+ rootState: this.context.rootState,
24
+ rootSetState: this.context.rootSetState,
25
+ context: this.context.context,
26
+ shouldEvaluateBindings: !0
27
+ });
28
+ },
29
+ canShowBlock() {
30
+ return i(this.useBlock.hide) ? !this.useBlock.hide : i(this.useBlock.show) ? this.useBlock.show : !0;
31
+ },
32
+ css() {
33
+ var a;
34
+ const e = this.useBlock.responsiveStyles, s = this.context.content, o = C(
35
+ ((a = s == null ? void 0 : s.meta) == null ? void 0 : a.breakpoints) || {}
36
+ ), n = e == null ? void 0 : e.large, r = e == null ? void 0 : e.medium, l = e == null ? void 0 : e.small, t = this.useBlock.id;
37
+ if (!t)
38
+ return "";
39
+ const m = n ? c({
40
+ className: t,
41
+ styles: n
42
+ }) : "", u = r ? c({
43
+ className: t,
44
+ styles: r,
45
+ mediaQuery: d(
46
+ "medium",
47
+ o
48
+ )
49
+ }) : "", h = l ? c({
50
+ className: t,
51
+ styles: l,
52
+ mediaQuery: d(
53
+ "small",
54
+ o
55
+ )
56
+ }) : "";
57
+ return [m, u, h].join(" ");
58
+ }
59
+ }
60
+ });
61
+ function v(e, s, o, n, r, l) {
62
+ const t = k("render-inlined-styles");
63
+ return e.TARGET !== "reactNative" && e.css && e.canShowBlock ? (y(), f(t, {
64
+ key: 0,
65
+ styles: e.css
66
+ }, null, 8, ["styles"])) : B("", !0);
67
+ }
68
+ const I = /* @__PURE__ */ _(w, [["render", v]]);
69
+ export {
70
+ I as default
71
+ };
@@ -0,0 +1,74 @@
1
+ import { f, e as l, c as p } from "./index.d8d44f06.js";
2
+ const g = (e, t, r) => {
3
+ if (Object(e) !== e)
4
+ return e;
5
+ const s = Array.isArray(t) ? t : t.toString().match(/[^.[\]]+/g);
6
+ return s.slice(0, -1).reduce(
7
+ (o, n, c) => Object(o[n]) === o[n] ? o[n] : o[n] = Math.abs(Number(s[c + 1])) >> 0 === +s[c + 1] ? [] : {},
8
+ e
9
+ )[s[s.length - 1]] = r, e;
10
+ };
11
+ const d = ({
12
+ block: e,
13
+ context: t,
14
+ localState: r,
15
+ rootState: s,
16
+ rootSetState: o
17
+ }) => {
18
+ if (!e.bindings)
19
+ return e;
20
+ const n = f(e), c = {
21
+ ...n,
22
+ properties: { ...n.properties },
23
+ actions: { ...n.actions }
24
+ };
25
+ for (const i in e.bindings) {
26
+ const a = e.bindings[i], u = l({
27
+ code: a,
28
+ localState: r,
29
+ rootState: s,
30
+ rootSetState: o,
31
+ context: t
32
+ });
33
+ g(c, i, u);
34
+ }
35
+ return c;
36
+ };
37
+ function y({
38
+ block: e,
39
+ context: t,
40
+ shouldEvaluateBindings: r,
41
+ localState: s,
42
+ rootState: o,
43
+ rootSetState: n
44
+ }) {
45
+ const c = e;
46
+ return r ? d({
47
+ block: c,
48
+ localState: s,
49
+ rootState: o,
50
+ rootSetState: n,
51
+ context: t
52
+ }) : c;
53
+ }
54
+ const C = (e) => e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase(), $ = (e) => Object.entries(e).map(([r, s]) => {
55
+ if (typeof s == "string")
56
+ return `${C(r)}: ${s};`;
57
+ }).filter(p), m = (e) => $(e).join(`
58
+ `), v = ({
59
+ mediaQuery: e,
60
+ className: t,
61
+ styles: r
62
+ }) => {
63
+ const s = `.${t} {
64
+ ${m(r)}
65
+ }`;
66
+ return e ? `${e} {
67
+ ${s}
68
+ }` : s;
69
+ };
70
+ export {
71
+ $ as a,
72
+ v as c,
73
+ y as g
74
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";const i=require("./index.8ed3c046.cjs"),f=(e,t,r)=>{if(Object(e)!==e)return e;const s=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return s.slice(0,-1).reduce((c,n,o)=>Object(c[n])===c[n]?c[n]:c[n]=Math.abs(Number(s[o+1]))>>0===+s[o+1]?[]:{},e)[s[s.length-1]]=r,e};const p=({block:e,context:t,localState:r,rootState:s,rootSetState:c})=>{if(!e.bindings)return e;const n=i.fastClone(e),o={...n,properties:{...n.properties},actions:{...n.actions}};for(const a in e.bindings){const l=e.bindings[a],d=i.evaluate({code:l,localState:r,rootState:s,rootSetState:c,context:t});f(o,a,d)}return o};function g({block:e,context:t,shouldEvaluateBindings:r,localState:s,rootState:c,rootSetState:n}){const o=e;return r?p({block:o,localState:s,rootState:c,rootSetState:n,context:t}):o}const C=e=>e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase(),u=e=>Object.entries(e).map(([r,s])=>{if(typeof s=="string")return`${C(r)}: ${s};`}).filter(i.checkIsDefined),S=e=>u(e).join(`
2
+ `),y=({mediaQuery:e,className:t,styles:r})=>{const s=`.${t} {
3
+ ${S(r)}
4
+ }`;return e?`${e} {
5
+ ${s}
6
+ }`:s};exports.convertStyleMapToCSSArray=u;exports.createCssClass=y;exports.getProcessedBlock=g;
@@ -0,0 +1,29 @@
1
+ "use strict";const r=require("vue"),be=r.defineComponent({name:"builder-button",props:["attributes","text","link","openLinkInNewTab"],methods:{filterAttrs:function(t={},n){const o="v-on:";return Object.keys(t).filter(s=>{if(!t[s])return!1;const i=s.startsWith(o);return n?i:!i}).reduce((s,i)=>({...s,[i.replace(o,"")]:t[i]}),{})},_classStringToObject(e){const t={};if(typeof e!="string")return t;const n=e.trim().split(/\s+/);for(const o of n)t[o]=!0;return t}}});const m=(e,t)=>{const n=e.__vccOpts||e;for(const[o,s]of t)n[o]=s;return n},ye=["href","target"];function ke(e,t,n,o,s,i){return e.link?(r.openBlock(),r.createElementBlock("a",r.mergeProps({key:0,role:"button",href:e.link,target:e.openLinkInNewTab?"_blank":void 0},e.filterAttrs(e.attributes,!1),r.toHandlers(e.filterAttrs(e.attributes,!0),!0)),r.toDisplayString(e.text),17,ye)):(r.openBlock(),r.createElementBlock("button",r.mergeProps({key:1,class:e._classStringToObject(e.attributes.class+" button-1yj9n7yt24z")},e.filterAttrs(e.attributes,!1),r.toHandlers(e.filterAttrs(e.attributes,!0),!0)),r.toDisplayString(e.text),17))}const L=m(be,[["render",ke],["__scopeId","data-v-3b72112d"]]),w=e=>JSON.parse(JSON.stringify(e)),z={small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200}},ve=(e,t=z)=>`@media (max-width: ${t[e].max}px)`,H=({small:e,medium:t})=>{const n=w(z);if(!e||!t)return n;const o=Math.floor(e/2);n.small={max:e,min:o,default:o+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},v="vue3",Se=Symbol(),C={Builder:{content:null,context:{},localState:void 0,rootSetState(){},rootState:{},apiKey:null,apiVersion:void 0,registeredComponents:{},inheritedStyles:{}},key:Se},Ce=()=>Promise.resolve().then(()=>J).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderBlocks at ../../components/render-blocks.vue",e),e}),we=()=>Promise.resolve().then(()=>require("./render-inlined-styles.e3ea32fb.cjs")).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderInlinedStyles at ../../components/render-inlined-styles.vue",e),e}),xe=r.defineComponent({name:"builder-columns",components:{RenderInlinedStyles:r.defineAsyncComponent(we),RenderBlocks:r.defineAsyncComponent(Ce)},props:["space","columns","stackColumnsAt","reverseColumnsWhenStacked","builderBlock"],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:v}},inject:{builderContext:C.key},computed:{columnsCssVars(){return{"--flex-dir":this.flexDir,"--flex-dir-tablet":this.getTabletStyle({stackedStyle:this.flexDir,desktopStyle:"row"})}},columnsStyles(){return`
2
+ @media (max-width: ${this.getWidthForBreakpointSize("medium")}px) {
3
+ .${this.builderBlock.id}-breakpoints {
4
+ flex-direction: var(--flex-dir-tablet);
5
+ align-items: stretch;
6
+ }
7
+
8
+ .${this.builderBlock.id}-breakpoints > .builder-column {
9
+ width: var(--column-width-tablet) !important;
10
+ margin-left: var(--column-margin-left-tablet) !important;
11
+ }
12
+ }
13
+
14
+ @media (max-width: ${this.getWidthForBreakpointSize("small")}px) {
15
+ .${this.builderBlock.id}-breakpoints {
16
+ flex-direction: var(--flex-dir);
17
+ align-items: stretch;
18
+ }
19
+
20
+ .${this.builderBlock.id}-breakpoints > .builder-column {
21
+ width: var(--column-width-mobile) !important;
22
+ margin-left: var(--column-margin-left-mobile) !important;
23
+ }
24
+ },
25
+ `}},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),o=`${t}px`,s="100%",i=0;return{width:n,"margin-left":o,"--column-width-mobile":this.getMobileStyle({stackedStyle:s,desktopStyle:n}),"--column-margin-left-mobile":this.getMobileStyle({stackedStyle:i,desktopStyle:o}),"--column-width-tablet":this.getTabletStyle({stackedStyle:s,desktopStyle:n}),"--column-margin-left-tablet":this.getTabletStyle({stackedStyle:i,desktopStyle:o})}},getWidthForBreakpointSize(e){var n,o;return H(((o=(n=this.builderContext.content)==null?void 0:n.meta)==null?void 0:o.breakpoints)||{})[e].max},_classStringToObject(e){const t={};if(typeof e!="string")return t;const n=e.trim().split(/\s+/);for(const o of n)t[o]=!0;return t}}});function Ie(e,t,n,o,s,i){const a=r.resolveComponent("render-inlined-styles"),c=r.resolveComponent("render-blocks");return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(e._classStringToObject(`builder-columns ${e.builderBlock.id}-breakpoints div-361b1o6wv2k`)),style:r.normalizeStyle(e.columnsCssVars),dataSet:{"builder-block-name":"builder-columns"}},[e.TARGET!=="reactNative"?(r.openBlock(),r.createBlock(a,{key:0,styles:e.columnsStyles},null,8,["styles"])):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.columns,(l,d)=>(r.openBlock(),r.createElementBlock("div",{key:d,class:"builder-column div-361b1o6wv2k-2",style:r.normalizeStyle(e.columnCssVars(d)),dataSet:{"builder-block-name":"builder-column"}},[r.createVNode(c,{blocks:l.blocks,path:`component.options.columns.${d}.blocks`,parent:e.builderBlock.id,styleProp:{flexGrow:"1"}},null,8,["blocks","path","parent"])],4))),128))],6)}const K=m(xe,[["render",Ie],["__scopeId","data-v-fae985f2"]]),Te=r.defineComponent({name:"builder-fragment-component",props:[]});function $e(e,t,n,o,s,i){return r.openBlock(),r.createElementBlock("span",null,[r.renderSlot(e.$slots,"default")])}const D=m(Te,[["render",$e]]);function V(e){return e.replace(/http(s)?:/,"")}function Re(e="",t,n){const o=new RegExp("([?&])"+t+"=.*?(&|$)","i"),s=e.indexOf("?")!==-1?"&":"?";return e.match(o)?e.replace(o,"$1"+t+"="+encodeURIComponent(n)+"$2"):e+s+t+"="+encodeURIComponent(n)}function Ee(e,t){if(!e||!(e!=null&&e.match(/cdn\.shopify\.com/))||!t)return e;if(t==="master")return V(e);const n=e.match(/(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i);if(n){const o=e.split(n[0]),s=n[3],i=t.match("x")?t:`${t}x`;return V(`${o[0]}_${i}${s}`)}return null}function I(e){if(!e)return e;const t=[100,200,400,800,1200,1600,2e3];if(e.match(/builder\.io/)){let n=e;const o=Number(e.split("?width=")[1]);return isNaN(o)||(n=`${n} ${o}w`),t.filter(s=>s!==o).map(s=>`${Re(e,"width",s)} ${s}w`).concat([n]).join(", ")}return e.match(/cdn\.shopify\.com/)?t.map(n=>[Ee(e,`${n}x${n}`),n]).filter(([n])=>!!n).map(([n,o])=>`${n} ${o}w`).concat([e]).join(", "):e}const Be=r.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?void 0:n.includes("builder.io/api/v1/image"))){if(!this.srcset.includes(this.image.split("?")[0]))return console.debug("Removed given srcset"),I(t)}else if(this.image&&!this.srcset)return I(t);return I(t)},webpSrcSet(){var e;return((e=this.srcSetToUse)==null?void 0: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}},methods:{_classStringToObject(e){const t={};if(typeof e!="string")return t;const n=e.trim().split(/\s+/);for(const o of n)t[o]=!0;return t}}});const _e=["srcset"],Ae=["alt","role","src","srcset","sizes"],Pe={key:2,class:"div-7jvpanrlkn-2"};function Ve(e,t,n,o,s,i){var a,c,l,d;return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("picture",null,[e.webpSrcSet?(r.openBlock(),r.createElementBlock("source",{key:0,type:"image/webp",srcset:e.webpSrcSet},null,8,_e)):r.createCommentVNode("",!0),r.createElementVNode("img",{loading:"lazy",alt:e.altText,role:e.altText?"presentation":void 0,style:r.normalizeStyle({objectPosition:e.backgroundPosition||"center",objectFit:e.backgroundSize||"cover",...e.aspectRatioCss}),class:r.normalizeClass(e._classStringToObject("builder-image"+(e.className?" "+e.className:"")+" img-7jvpanrlkn")),src:e.image,srcset:e.srcSetToUse,sizes:e.sizes},null,14,Ae)]),e.aspectRatio&&!(((c=(a=e.builderBlock)==null?void 0:a.children)==null?void 0:c.length)&&e.fitContent)?(r.openBlock(),r.createElementBlock("div",{key:0,class:"builder-image-sizer div-7jvpanrlkn",style:r.normalizeStyle({paddingTop:e.aspectRatio*100+"%"})},null,4)):r.createCommentVNode("",!0),((d=(l=e.builderBlock)==null?void 0:l.children)==null?void 0:d.length)&&e.fitContent?r.renderSlot(e.$slots,"default",{key:1},void 0,!0):r.createCommentVNode("",!0),!e.fitContent&&e.children?(r.openBlock(),r.createElementBlock("div",Pe,[r.renderSlot(e.$slots,"default",{},void 0,!0)])):r.createCommentVNode("",!0)],64)}const q=m(Be,[["render",Ve],["__scopeId","data-v-034e3c7d"]]);function p(){return typeof window<"u"&&typeof document<"u"}function je(){return p()&&window.self!==window.top}function b(){return je()&&window.location.search.indexOf("builder.frameEditing=")!==-1}const Fe=()=>Promise.resolve().then(()=>require("./block-styles.a1577ff9.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}),Oe=()=>Promise.resolve().then(()=>require("./render-block.8f200c30.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}),Ue=r.defineComponent({name:"render-blocks",components:{RenderBlock:r.defineAsyncComponent(Oe),BlockStyles:r.defineAsyncComponent(Fe)},props:["blocks","parent","path","styleProp"],inject:{builderContext:C.key},computed:{className(){var e;return"builder-blocks"+((e=this.blocks)!=null&&e.length?"":" no-blocks")}},methods:{onClick(){var e,t;b()&&!((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;b()&&!((e=this.blocks)!=null&&e.length)&&((t=window.parent)==null||t.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},_classStringToObject(e){const t={};if(typeof e!="string")return t;const n=e.trim().split(/\s+/);for(const o of n)t[o]=!0;return t}}});const Ne=["builder-path","builder-parent-id","dataSet"];function We(e,t,n,o,s,i){const a=r.resolveComponent("render-block"),c=r.resolveComponent("block-styles");return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(e._classStringToObject(e.className+" div-7fq9d0i380")),"builder-path":e.path,"builder-parent-id":e.parent,dataSet:{class:e.className},style:r.normalizeStyle(e.styleProp),onClick:t[0]||(t[0]=l=>e.onClick()),onMouseenter:t[1]||(t[1]=l=>e.onMouseEnter())},[e.blocks?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(e.blocks,(l,d)=>(r.openBlock(),r.createBlock(a,{key:"render-block-"+l.id,block:l,context:e.builderContext},null,8,["block","context"]))),128)):r.createCommentVNode("",!0),e.blocks?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(e.blocks,(l,d)=>(r.openBlock(),r.createBlock(c,{key:"block-style-"+l.id,block:l,context:e.builderContext},null,8,["block","context"]))),128)):r.createCommentVNode("",!0)],46,Ne)}const G=m(Ue,[["render",We],["__scopeId","data-v-ff3cb99b"]]),J=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),Me={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},x=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`},Le={name:"Columns",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:x(e=>{function t(){n.forEach(o=>{o.delete("width")})}const n=e.get("columns");Array.isArray(n)&&!!n.find(s=>s.get("width"))&&(!!n.find(i=>!i.get("width"))||n.reduce((c,l)=>c+l.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}]},ze={name:"Fragment",static:!0,hidden:!0,canHaveChildren:!0,noWrap:!0},He={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:x(e=>{e.delete("srcset"),e.delete("noWebp");function n(a,c=6e4){return new Promise((l,d)=>{const u=document.createElement("img");let f=!1;u.onload=()=>{f=!0,l(u)},u.addEventListener("error",h=>{console.warn("Image load failed",h.error),d(h.error)}),u.src=a,setTimeout(()=>{f||d(new Error("Image load timed out"))},c)})}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 n(s).then(a=>{const c=e.get("aspectRatio");e.get("image")===s&&(!c||c===.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}]},Ke={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>"}}}]},De=r.defineComponent({name:"builder-section-component",props:["maxWidth","attributes"],methods:{filterAttrs:function(t={},n){const o="v-on:";return Object.keys(t).filter(s=>{if(!t[s])return!1;const i=s.startsWith(o);return n?i:!i}).reduce((s,i)=>({...s,[i.replace(o,"")]:t[i]}),{})}}});function qe(e,t,n,o,s,i){return r.openBlock(),r.createElementBlock("section",r.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,!1),r.toHandlers(e.filterAttrs(e.attributes,!0),!0)),[r.renderSlot(e.$slots,"default")],16)}const X=m(De,[["render",qe]]),Ge={name:"Symbol",noWrap:!0,static:!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"}]},T="[Builder.io]: ",k={log:(...e)=>console.log(T,...e),error:(...e)=>console.error(T,...e),warn:(...e)=>console.warn(T,...e)};function Je(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:globalThis}function Xe(){const e=Je().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.
26
+ 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 Y=Xe(),y=e=>e!=null,Ye=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},Q=async({name:e,canTrack:t})=>{var n;try{return t?(n=document.cookie.split("; ").find(o=>o.startsWith(`${e}=`)))==null?void 0:n.split("=")[1]:void 0}catch(o){console.debug("[COOKIE] GET error: ",o);return}},Qe=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(y).join("; "),Ze=[["secure",""],["SameSite","None"]],et=({name:e,value:t,expires:n})=>{const s=(p()?location.protocol==="https:":!0)?Ze:[[]],i=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...i,["path","/"],["domain",Ye(window.location.hostname)],...s];return Qe(a)},Z=async({name:e,value:t,expires:n,canTrack:o})=>{try{if(!o)return;const s=et({name:e,value:t,expires:n});document.cookie=s}catch(s){console.warn("[COOKIE] SET error: ",s)}},tt="builderio.variations",ee=e=>`${tt}.${e}`,nt=({contentId:e,canTrack:t})=>Q({name:ee(e),canTrack:t}),ot=({contentId:e,canTrack:t,value:n})=>Z({name:ee(e),value:n,canTrack:t}),rt=e=>y(e.id)&&y(e.variations)&&Object.keys(e.variations).length>0,st=({id:e,variations:t})=>{var s;let n=0;const o=Math.random();for(const i in t){const a=(s=t[i])==null?void 0:s.testRatio;if(n+=a,o<n)return i}return e},j=({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":"")}},it=async({item:e,canTrack:t})=>{const n=await nt({canTrack:t,contentId:e.id}),o=n?j({item:e,testGroupId:n}):void 0;if(o)return o;{const s=st({variations:e.variations,id:e.id});return ot({contentId:e.id,value:s,canTrack:t}).catch(i=>{console.error("could not store A/B test variation: ",i)}),j({item:e,testGroupId:s})}},at=async({item:e,canTrack:t})=>{if(!rt(e))return;const n=await it({item:e,canTrack:t});Object.assign(e,n)};function $(e,t=null,n="."){return Object.keys(e).reduce((o,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)?{...o,...$(i,a,n)}:{...o,[a]:i}},{})}const F="builder.",lt="options.",te=e=>{const t={};return e.forEach((n,o)=>{t[o]=n}),t},ne=e=>{if(!e)return{};const t=B(e),n={};return Object.keys(t).forEach(o=>{if(o.startsWith(F)){const s=o.replace(F,"").replace(lt,"");n[s]=t[o]}}),n},oe=()=>{if(!p())return{};const e=new URLSearchParams(window.location.search);return ne(e)},B=e=>e instanceof URLSearchParams?te(e):e,ct="v3",dt=e=>{const{limit:t=30,userAttributes:n,query:o,noTraverse:s=!1,model:i,apiKey:a,includeRefs:c=!0,locale:l,apiVersion:d=ct}=e;if(!a)throw new Error("Missing API key");if(!["v2","v3"].includes(d))throw new Error(`Invalid apiVersion: expected 'v2' or 'v3', received '${d}'`);const u=new URL(`https://cdn.builder.io/api/${d}/content/${i}?apiKey=${a}&limit=${t}&noTraverse=${s}&includeRefs=${c}${l?`&locale=${l}`:""}`),f={...oe(),...B(e.options||{})},h=$(f);for(const g in h)u.searchParams.set(g,String(h[g]));if(n&&u.searchParams.set("userAttributes",JSON.stringify(n)),o){const g=$({query:o});for(const S in g)u.searchParams.set(S,JSON.stringify(g[S]))}return u};async function _(e){const t=await re({...e,limit:1});return t&&"results"in t&&(t==null?void 0:t.results[0])||null}async function re(e){try{const t=dt(e),o=await(await Y(t.href)).json();if("status"in o&&!("results"in o))return k.error("Error fetching data. ",{url:t,content:o,options:e}),o;const s=e.canTrack!==!1;try{if(s&&Array.isArray(o.results))for(const i of o.results)await at({item:i,canTrack:s})}catch(i){k.error("Could not setup A/B testing. ",i)}return o}catch(t){return k.error("Error fetching data. ",t),null}}const ut=()=>Promise.resolve().then(()=>vn).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}),pt=r.defineComponent({name:"builder-symbol",components:{RenderContent:r.defineAsyncComponent(ut)},props:["attributes","symbol","dynamic"],data(){var e,t,n;return{className:[...Object.keys(this.attributes.class),"builder-symbol",(e=this.symbol)!=null&&e.inline?"builder-inline-symbol":void 0,((t=this.symbol)==null?void 0:t.dynamic)||this.dynamic?"builder-dynamic-symbol":void 0].filter(Boolean).join(" "),contentToUse:(n=this.symbol)==null?void 0:n.content}},inject:{builderContext:C.key},mounted(){this.fetchContent()},watch:{onUpdateHook0:{handler(){this.fetchContent()},immediate:!0}},computed:{onUpdateHook0(){return{0:this.symbol}}},methods:{fetchContent(){var e,t;!this.contentToUse&&((e=this.symbol)==null?void 0:e.model)&&((t=this.builderContext)==null?void 0:t.apiKey)&&_({model:this.symbol.model,apiKey:this.builderContext.apiKey,apiVersion:this.builderContext.apiVersion,query:{id:this.symbol.entry}}).then(n=>{n&&(this.contentToUse=n)}).catch(n=>{k.error("Could not fetch symbol content: ",n)})},filterAttrs:function(t={},n){const o="v-on:";return Object.keys(t).filter(s=>{if(!t[s])return!1;const i=s.startsWith(o);return n?i:!i}).reduce((s,i)=>({...s,[i.replace(o,"")]:t[i]}),{})},_classStringToObject(e){const t={};if(typeof e!="string")return t;const n=e.trim().split(/\s+/);for(const o of n)t[o]=!0;return t}}}),mt=["dataSet"];function ht(e,t,n,o,s,i){var c,l,d,u;const a=r.resolveComponent("render-content");return r.openBlock(),r.createElementBlock("div",r.mergeProps({dataSet:{class:e.className},class:e._classStringToObject(e.className)},e.filterAttrs(e.attributes,!1),r.toHandlers(e.filterAttrs(e.attributes,!0),!0)),[r.createVNode(a,{apiVersion:e.builderContext.apiVersion,apiKey:e.builderContext.apiKey,context:e.builderContext.context,customComponents:Object.values(e.builderContext.registeredComponents),data:{...(c=e.symbol)==null?void 0:c.data,...e.builderContext.localState,...(d=(l=e.contentToUse)==null?void 0:l.data)==null?void 0:d.state},model:(u=e.symbol)==null?void 0:u.model,content:e.contentToUse},null,8,["apiVersion","apiKey","context","customComponents","data","model","content"])],16,mt)}const se=m(pt,[["render",ht]]),ft={name:"Text",static:!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"}},gt=r.defineComponent({name:"builder-text",props:["text"]}),bt=["innerHTML"];function yt(e,t,n,o,s,i){return r.openBlock(),r.createElementBlock("span",{class:"builder-text",innerHTML:e.text,style:{outline:"none"}},null,8,bt)}const ie=m(gt,[["render",yt]]),kt={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:"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}]},vt=r.defineComponent({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}}}}),St=["src","poster"];function Ct(e,t,n,o,s,i){var a;return r.openBlock(),r.createElementBlock("video",r.mergeProps({style:{width:"100%",height:"100%",...(a=e.attributes)==null?void 0:a.style,objectFit:e.fit,objectPosition:e.position,borderRadius:1},src:e.video||"no-src",poster:e.posterImage},e.spreadProps),null,16,St)}const ae=m(vt,[["render",Ct]]),wt={name:"Embed",static:!0,inputs:[{name:"url",type:"url",required:!0,defaultValue:"",helperText:"e.g. enter a youtube url, google map, etc",onChange:x(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(o=>o.json()).then(o=>{e.get("url")===t&&(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}]},xt=["text/javascript","application/javascript","application/ecmascript"],It=e=>xt.includes(e.type),Tt=r.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 o=document.createElement("script");o.async=!0,o.src=n.src,document.head.appendChild(o)}else if(It(n)&&!this.scriptsRun.includes(n.innerText))try{this.scriptsRun.push(n.innerText),new Function(n.innerText)()}catch(o){console.warn("`Embed`: Error running script:",o)}}}}}),$t=["innerHTML"];function Rt(e,t,n,o,s,i){return r.openBlock(),r.createElementBlock("div",{class:"builder-embed",ref:"elem",innerHTML:e.content},null,8,$t)}const Et=m(Tt,[["render",Rt]]),Bt=r.defineComponent({name:"builder-img-component",props:["backgroundSize","backgroundPosition","imgSrc","altText","image","attributes"],data(){return{isEditing:b}},methods:{filterAttrs:function(t={},n){const o="v-on:";return Object.keys(t).filter(s=>{if(!t[s])return!1;const i=s.startsWith(o);return n?i:!i}).reduce((s,i)=>({...s,[i.replace(o,"")]:t[i]}),{})}}}),_t=["alt","src"];function At(e,t,n,o,s,i){return r.openBlock(),r.createElementBlock("img",r.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,!1),r.toHandlers(e.filterAttrs(e.attributes,!0),!0)),null,16,_t)}const Pt=m(Bt,[["render",At]]),Vt={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"],required:!0}],noWrap:!0,static:!0},jt=r.defineComponent({name:"builder-custom-code",props:["replaceNodes","code"],data(){return{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 t=0;t<e.length;t++){const n=e[t];if(n.src){if(this.scriptsInserted.includes(n.src))continue;this.scriptsInserted.push(n.src);const o=document.createElement("script");o.async=!0,o.src=n.src,document.head.appendChild(o)}else if(!n.type||["text/javascript","application/javascript","application/ecmascript"].includes(n.type)){if(this.scriptsRun.includes(n.innerText))continue;try{this.scriptsRun.push(n.innerText),new Function(n.innerText)()}catch(o){console.warn("`CustomCode`: Error running script:",o)}}}}},_classStringToObject(e){const t={};if(typeof e!="string")return t;const n=e.trim().split(/\s+/);for(const o of n)t[o]=!0;return t}}}),Ft=["innerHTML"];function Ot(e,t,n,o,s,i){return r.openBlock(),r.createElementBlock("div",{ref:"elem",class:r.normalizeClass(e._classStringToObject("builder-custom-code"+(e.replaceNodes?" replace-nodes":""))),innerHTML:e.code},null,10,Ft)}const Ut=m(jt,[["render",Ot]]),Nt={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}]},Wt=()=>[{component:L,...Me},{component:K,...Le},{component:Ut,...Nt},{component:Et,...wt},{component:D,...ze},{component:q,...He},{component:Pt,...Vt},{component:X,...Ke},{component:se,...Ge},{component:ie,...ft},{component:ae,...kt}];function R({code:e,context:t,localState:n,rootState:o,rootSetState:s,event:i,isExpression:a=!0}){if(e===""){console.warn("Skipping evaluation of empty code block.");return}const c={isEditing:b(),isBrowser:p(),isServer:!p()},d=a&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e;try{return new Function("builder","Builder","state","context","event",d)(c,c,Mt(o,n,s),t,i)}catch(u){console.warn(`Builder custom code error:
27
+ While Evaluating:
28
+ `,d,`
29
+ `,u)}}function Mt(e,t,n){if(e===t)throw new Error("rootState === localState");return new Proxy(e,{get:(o,s)=>t&&s in t?t[s]:e[s],set:(o,s,i)=>{if(t&&s in t)throw new Error("Writing to local state is not allowed as it is read-only.");return e[s]=i,n==null||n(e),!0}})}function le(){return!p()||b()?!1:Boolean(location.search.indexOf("builder.preview=")!==-1)}const A=[];function Lt(e,t){return A.push({component:e,...t}),console.warn("registerComponent is deprecated. Use the `customComponents` prop in RenderContent instead to provide your custom components to the builder SDK."),e}const ce=({component:e,...t})=>({type:"builder.registerComponent",data:Ht(t)}),zt=e=>typeof e=="function"?x(e):w(e),Ht=({inputs:e,...t})=>({...w(t),inputs:e==null?void 0:e.map(n=>Object.entries(n).reduce((o,[s,i])=>({...o,[s]:zt(i)}),{}))});function Kt(){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 de(){return Kt().replace(/-/g,"")}const ue="builderSessionId",Dt=async({canTrack:e})=>{if(!e)return;const t=await Q({name:ue,canTrack:e});if(y(t))return t;{const n=qt();return Gt({id:n,canTrack:e}),n}},qt=()=>de(),Gt=({id:e,canTrack:t})=>Z({name:ue,value:e,canTrack:t}),pe=()=>p()&&typeof localStorage<"u"?localStorage:void 0,Jt=({key:e,canTrack:t})=>{var n;try{return t?(n=pe())==null?void 0:n.getItem(e):void 0}catch(o){console.debug("[LocalStorage] GET error: ",o);return}},Xt=({key:e,canTrack:t,value:n})=>{var o;try{t&&((o=pe())==null||o.setItem(e,n))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},me="builderVisitorId",Yt=({canTrack:e})=>{if(!e)return;const t=Jt({key:me,canTrack:e});if(y(t))return t;{const n=Qt();return Zt({id:n,canTrack:e}),n}},Qt=()=>de(),Zt=({id:e,canTrack:t})=>Xt({key:me,value:e,canTrack:t}),en=()=>{if(p()){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},tn=()=>typeof navigator=="object"&&navigator.userAgent||"",nn=()=>{const e=tn(),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()||v==="reactNative"}},n=e.match(/Tablet|iPad/i),o=en();return{urlPath:o==null?void 0:o.pathname,host:(o==null?void 0:o.host)||(o==null?void 0:o.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},on=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Dt({canTrack:e}),n=Yt({canTrack:e});return{sessionId:t,visitorId:n}},rn=async({type:e,canTrack:t,apiKey:n,metadata:o,...s})=>({type:e,data:{...s,metadata:{url:location.href,...o},...await on({canTrack:t}),userAttributes:nn(),ownerId:n}});async function E(e){if(!e.apiKey){k.error("Missing API key for track call. Please provide your API key.");return}if(!!e.canTrack&&!b()&&!!(p()||v==="reactNative"))return fetch("https://builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await rn(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const sn=e=>E({...e,canTrack:!0}),an="0.3.1",O={};function he(e,t){let n=O[e];if(n||(n=O[e]=[]),n.push(t),p()){const o={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(o,"*"),parent!==window&&window.postMessage(o,"*")}catch(s){console.debug("Could not postmessage",s)}}}const ln=()=>{he("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 U=!1;const cn=(e={})=>{var t,n;U||(U=!0,p()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:v,version:an,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",({data:o})=>{var s,i;if(!!(o!=null&&o.type))switch(o.type){case"builder.evaluate":{const a=o.data.text,c=o.data.arguments||[],l=o.data.id,d=new Function(a);let u,f=null;try{u=d.apply(null,c)}catch(h){f=h}f?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:l,error:f.message}},"*"):u&&typeof u.then=="function"?u.then(h=>{var g;(g=window.parent)==null||g.postMessage({type:"builder.evaluateResult",data:{id:l,result:h}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:u,id:l}},"*");break}}})))};function N(e){return Math.round(e*1e3)/1e3}const dn=(e,t,n=!0)=>{if(!(e instanceof HTMLElement))return null;let o=n?e:e.parentElement;do{if(!o)return null;if(t(o))return o}while(o=o.parentElement);return null},un=e=>dn(e,t=>{const n=t.getAttribute("builder-id")||t.id;return Boolean((n==null?void 0:n.indexOf("builder-"))===0)}),W=({event:e,target:t})=>{const n=t.getBoundingClientRect(),o=e.clientX-n.left,s=e.clientY-n.top,i=N(o/n.width),a=N(s/n.height);return{x:i,y:a}},pn=e=>{const t=e.target,n=t&&un(t),o=(n==null?void 0:n.getAttribute("builder-id"))||(n==null?void 0:n.id);return{targetBuilderElement:o||void 0,metadata:{targetOffset:t?W({event:e,target:t}):void 0,builderTargetOffset:n?W({event:e,target:n}):void 0,builderElementIndex:n&&o?[].slice.call(document.getElementsByClassName(o)).indexOf(n):void 0}}},mn=({content:e,data:t,locale:n})=>{var i,a,c;const o={};(a=(i=e==null?void 0:e.data)==null?void 0:i.inputs)==null||a.forEach(l=>{var d;l.name&&l.defaultValue!==void 0&&((d=e==null?void 0:e.data)==null?void 0:d.state)&&e.data.state[l.name]===void 0&&(o[l.name]=l.defaultValue)});const s={...(c=e==null?void 0:e.data)==null?void 0:c.state,...t,...n?{locale:n}:{}};return{...o,...s}},hn=({content:e,data:t})=>e?{...e,data:{...e==null?void 0:e.data,...t},meta:e==null?void 0:e.meta}:void 0,fn=()=>Promise.resolve().then(()=>J).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderBlocks at ../render-blocks.vue",e),e}),gn=()=>Promise.resolve().then(()=>require("./render-styles.70e1b259.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}),bn=r.defineComponent({name:"render-content",components:{RenderContentStyles:r.defineAsyncComponent(gn),RenderBlocks:r.defineAsyncComponent(fn)},props:["content","data","canTrack","locale","customComponents","model","context","apiKey","includeRefs","apiVersion"],data(){return{forceReRenderCount:0,overrideContent:null,useContent:hn({content:this.content,data:this.data}),update:0,canTrackToUse:y(this.canTrack)?this.canTrack:!0,contentState:mn({content:this.content,data:this.data,locale:this.locale}),allRegisteredComponents:[...Wt(),...A,...this.customComponents||[]].reduce((e,t)=>({...e,[t.name]:t}),{}),httpReqsData:{},clicked:!1,TARGET:v}},provide(){const e=this;return{[C.key]:{content:e.useContent,localState:void 0,rootState:e.contentState,rootSetState:e.contentSetState,context:e.context||{},apiKey:e.apiKey,apiVersion:e.apiVersion,registeredComponents:e.allRegisteredComponents,inheritedStyles:{}}}},mounted(){var e,t;if(this.apiKey||k.error("No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop."),p()){if(b()&&(this.forceReRenderCount=this.forceReRenderCount+1,ln(),cn({...this.locale?{locale:this.locale}:{},...this.includeRefs?{includeRefs:this.includeRefs}:{}}),Object.values(this.allRegisteredComponents).forEach(n=>{var s;const o=ce(n);(s=window.parent)==null||s.postMessage(o,"*")}),window.addEventListener("message",this.processMessage),window.addEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate)),this.useContent){const n=(e=this.useContent)==null?void 0:e.testVariationId,o=(t=this.useContent)==null?void 0:t.id;E({type:"impression",canTrack:this.canTrackToUse,contentId:o,apiKey:this.apiKey,variationId:n!==o?n:void 0})}if(le()){const n=new URL(location.href).searchParams,o=n.get("builder.preview"),s=n.get(`builder.preview.${o}`),i=n.get("apiKey")||n.get("builder.space");o===this.model&&i===this.apiKey&&(!this.content||s===this.content.id)&&_({model:this.model,apiKey:this.apiKey,apiVersion:this.apiVersion}).then(a=>{a&&this.mergeNewContent(a)})}this.evaluateJsCode(),this.runHttpRequests(),this.emitStateUpdate()}},watch:{onUpdateHook0:{handler(){this.content&&this.mergeNewContent(this.content)},immediate:!0},onUpdateHook1:{handler(){this.evaluateJsCode()},immediate:!0},onUpdateHook2:{handler(){this.runHttpRequests()},immediate:!0},onUpdateHook3:{handler(){this.emitStateUpdate()},immediate:!0}},unmounted(){p()&&(window.removeEventListener("message",this.processMessage),window.removeEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate))},computed:{onUpdateHook0(){return{0:this.content}},onUpdateHook1(){var e,t;return{0:(t=(e=this.useContent)==null?void 0:e.data)==null?void 0:t.jsCode,1:this.contentState}},onUpdateHook2(){var e,t;return{0:(t=(e=this.useContent)==null?void 0:e.data)==null?void 0:t.httpRequests}},onUpdateHook3(){return{0:this.contentState}}},methods:{mergeNewContent(e){var t,n,o,s,i;this.useContent={...this.useContent,...e,data:{...(t=this.useContent)==null?void 0:t.data,...e==null?void 0:e.data},meta:{...(n=this.useContent)==null?void 0:n.meta,...e==null?void 0:e.meta,breakpoints:((o=e==null?void 0:e.meta)==null?void 0:o.breakpoints)||((i=(s=this.useContent)==null?void 0:s.meta)==null?void 0:i.breakpoints)}}},setBreakpoints(e){var t;this.useContent={...this.useContent,meta:{...(t=this.useContent)==null?void 0:t.meta,breakpoints:e}}},contentSetState(e){this.contentState=e},processMessage(e){var n;const{data:t}=e;if(t)switch(t.type){case"builder.configureSdk":{const o=t.data,{breakpoints:s,contentId:i}=o;if(!i||i!==((n=this.useContent)==null?void 0:n.id))return;s&&this.setBreakpoints(s),this.forceReRenderCount=this.forceReRenderCount+1;break}case"builder.contentUpdate":{const o=t.data,s=o.key||o.alias||o.entry||o.modelName,i=o.data;s===this.model&&(this.mergeNewContent(i),this.forceReRenderCount=this.forceReRenderCount+1);break}}},evaluateJsCode(){var t,n;const e=(n=(t=this.useContent)==null?void 0:t.data)==null?void 0:n.jsCode;e&&R({code:e,context:this.context||{},localState:void 0,rootState:this.contentState,rootSetState:this.contentSetState})},onClick(e){var t,n;if(this.useContent){const o=(t=this.useContent)==null?void 0:t.testVariationId,s=(n=this.useContent)==null?void 0:n.id;E({type:"click",canTrack:this.canTrackToUse,contentId:s,apiKey:this.apiKey,variationId:o!==s?o:void 0,...pn(e),unique:!this.clicked})}this.clicked||(this.clicked=!0)},evalExpression(e){return e.replace(/{{([^}]+)}}/g,(t,n)=>R({code:n,context:this.context||{},localState:void 0,rootState:this.contentState,rootSetState:this.contentSetState}))},handleRequest({url:e,key:t}){Y(e).then(n=>n.json()).then(n=>{const o={...this.contentState,[t]:n};this.contentSetState(o)}).catch(n=>{console.error("error fetching dynamic data",e,n)})},runHttpRequests(){var t,n,o;const e=(o=(n=(t=this.useContent)==null?void 0:t.data)==null?void 0:n.httpRequests)!=null?o:{};Object.entries(e).forEach(([s,i])=>{if(i&&(!this.httpReqsData[s]||b())){const a=this.evalExpression(i);this.handleRequest({url:a,key:s})}})},emitStateUpdate(){b()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:this.contentState,ref:{name:this.model}}}))}}}),yn=["builder-content-id","builder-model"];function kn(e,t,n,o,s,i){var l,d,u,f,h,g,S,P;const a=r.resolveComponent("render-content-styles"),c=r.resolveComponent("render-blocks");return e.useContent?(r.openBlock(),r.createElementBlock("div",{key:0,ref:"elementRef",onClick:t[0]||(t[0]=ge=>e.onClick(ge)),"builder-content-id":(l=e.useContent)==null?void 0:l.id,"builder-model":e.model},[e.TARGET!=="reactNative"?(r.openBlock(),r.createBlock(a,{key:0,contentId:(d=e.useContent)==null?void 0:d.id,cssCode:(f=(u=e.useContent)==null?void 0:u.data)==null?void 0:f.cssCode,customFonts:(g=(h=e.useContent)==null?void 0:h.data)==null?void 0:g.customFonts},null,8,["contentId","cssCode","customFonts"])):r.createCommentVNode("",!0),(r.openBlock(),r.createBlock(c,{blocks:(P=(S=e.useContent)==null?void 0:S.data)==null?void 0:P.blocks,key:e.forceReRenderCount},null,8,["blocks"]))],8,yn)):r.createCommentVNode("",!0)}const fe=m(bn,[["render",kn]]),vn=Object.freeze(Object.defineProperty({__proto__:null,default:fe},Symbol.toStringTag,{value:"Module"})),M={};function Sn(e){if(p()){Object.assign(M,e);const t={type:"builder.settingsChange",data:M};parent.postMessage(t,"*")}}exports.BuilderContext=C;exports.Button=L;exports.Columns=K;exports.Fragment=D;exports.Image=q;exports.Section=X;exports.Symbol=se;exports.TARGET=v;exports.Text=ie;exports.Video=ae;exports._export_sfc=m;exports.checkIsDefined=y;exports.components=A;exports.convertSearchParamsToQueryObject=te;exports.createRegisterComponentMessage=ce;exports.evaluate=R;exports.fastClone=w;exports.getAllContent=re;exports.getBuilderSearchParams=ne;exports.getBuilderSearchParamsFromWindow=oe;exports.getContent=_;exports.getMaxWidthQueryForSize=ve;exports.getSizesForBreakpoints=H;exports.isEditing=b;exports.isPreviewing=le;exports.normalizeSearchParams=B;exports.register=he;exports.registerComponent=Lt;exports.renderBlocks=G;exports.renderContent=fe;exports.setEditorSettings=Sn;exports.track=sn;