@builder.io/sdk-vue 0.1.4 → 0.1.6

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 (83) hide show
  1. package/package.json +1 -1
  2. package/packages/_vue2/dist/{block-styles.c799c71a.cjs → block-styles.9b0be456.cjs} +1 -1
  3. package/packages/_vue2/dist/{block-styles.062b71eb.js → block-styles.d0435c8f.js} +3 -3
  4. package/packages/{_vue3/dist/get-processed-block.b0588cd8.cjs → _vue2/dist/get-processed-block.531fd2fb.cjs} +1 -1
  5. package/packages/{_vue3/dist/get-processed-block.ab2d823c.js → _vue2/dist/get-processed-block.aa4c9919.js} +1 -1
  6. package/packages/_vue2/dist/index.b431861b.cjs +30 -0
  7. package/packages/_vue2/dist/{index.b2edb9b2.js → index.da42f753.js} +899 -828
  8. package/packages/_vue2/dist/{render-block.74bfd4ea.js → render-block.49244064.js} +40 -29
  9. package/packages/_vue2/dist/render-block.5d240071.cjs +3 -0
  10. package/packages/_vue2/dist/{render-component.e59489c1.cjs → render-component.3117c1fd.cjs} +1 -1
  11. package/packages/_vue2/dist/{render-component.b325feac.js → render-component.42e82bc4.js} +3 -3
  12. package/packages/_vue2/dist/{render-inlined-styles.734fe2c9.js → render-inlined-styles.5d055b0c.js} +1 -1
  13. package/packages/_vue2/dist/{render-inlined-styles.14b606a5.cjs → render-inlined-styles.d7530652.cjs} +1 -1
  14. package/packages/_vue2/dist/render-repeated-block.b4a9163a.cjs +1 -0
  15. package/packages/_vue2/dist/{render-repeated-block.e1d94c10.js → render-repeated-block.bceba726.js} +3 -2
  16. package/packages/_vue2/dist/render-styles.0451ee0a.js +73 -0
  17. package/packages/_vue2/dist/render-styles.144e8a3e.cjs +18 -0
  18. package/packages/_vue2/dist/sdk.cjs +1 -1
  19. package/packages/_vue2/dist/sdk.js +1 -1
  20. package/packages/_vue2/dist/src/blocks/button/button.vue.d.ts +3 -0
  21. package/packages/_vue2/dist/src/blocks/columns/columns.vue.d.ts +1 -0
  22. package/packages/_vue2/dist/src/blocks/img/img.vue.d.ts +3 -0
  23. package/packages/_vue2/dist/src/blocks/section/section.vue.d.ts +3 -0
  24. package/packages/_vue2/dist/src/blocks/symbol/symbol.vue.d.ts +13 -17
  25. package/packages/_vue2/dist/src/components/render-block/render-block.vue.d.ts +1 -0
  26. package/packages/_vue2/dist/src/components/render-block/render-component.vue.d.ts +9 -1
  27. package/packages/_vue2/dist/src/components/render-block/render-repeated-block.vue.d.ts +1 -0
  28. package/packages/_vue2/dist/src/components/render-blocks.vue.d.ts +1 -0
  29. package/packages/_vue2/dist/src/components/render-content/components/render-styles.helpers.d.ts +15 -0
  30. package/packages/_vue2/dist/src/components/render-content/components/render-styles.vue.d.ts +1 -9
  31. package/packages/_vue2/dist/src/components/render-content/render-content.helpers.d.ts +7 -0
  32. package/packages/_vue2/dist/src/components/render-content/render-content.types.d.ts +27 -0
  33. package/packages/_vue2/dist/src/components/render-content/render-content.vue.d.ts +11 -31
  34. package/packages/_vue2/dist/src/context/builder.context.d.ts +1 -0
  35. package/packages/_vue2/dist/src/context/types.d.ts +1 -0
  36. package/packages/_vue2/dist/src/index-helpers/blocks-exports.d.ts +6 -6
  37. package/packages/_vue2/dist/src/types/builder-content.d.ts +1 -2
  38. package/packages/_vue2/dist/src/types/components.d.ts +0 -1
  39. package/packages/_vue2/dist/style.css +1 -1
  40. package/packages/_vue3/dist/{block-styles.6e935df7.cjs → block-styles.05a01a8e.cjs} +1 -1
  41. package/packages/_vue3/dist/{block-styles.413a68e9.js → block-styles.5fb6e927.js} +3 -3
  42. package/packages/{_vue2/dist/get-processed-block.44306844.js → _vue3/dist/get-processed-block.48c68f6b.js} +1 -1
  43. package/packages/{_vue2/dist/get-processed-block.837e0313.cjs → _vue3/dist/get-processed-block.e6e75aca.cjs} +1 -1
  44. package/packages/_vue3/dist/index.6275edf0.cjs +30 -0
  45. package/packages/_vue3/dist/{index.7db5ef7e.js → index.8392057e.js} +914 -843
  46. package/packages/_vue3/dist/{render-block.a53e9af1.js → render-block.017ccb02.js} +42 -31
  47. package/packages/_vue3/dist/render-block.f6f263a8.cjs +3 -0
  48. package/packages/_vue3/dist/{render-component.41330655.js → render-component.5b79b1a2.js} +3 -3
  49. package/packages/_vue3/dist/{render-component.adae07fa.cjs → render-component.626cb9a2.cjs} +1 -1
  50. package/packages/_vue3/dist/{render-inlined-styles.47114c43.js → render-inlined-styles.0773feb1.js} +1 -1
  51. package/packages/_vue3/dist/{render-inlined-styles.c80dee1c.cjs → render-inlined-styles.ab30b262.cjs} +1 -1
  52. package/packages/_vue3/dist/{render-repeated-block.648adc14.js → render-repeated-block.09b2f47e.js} +3 -2
  53. package/packages/_vue3/dist/render-repeated-block.802c4a21.cjs +1 -0
  54. package/packages/_vue3/dist/render-styles.7e2d3639.cjs +18 -0
  55. package/packages/_vue3/dist/render-styles.c79197c2.js +67 -0
  56. package/packages/_vue3/dist/sdk.cjs +1 -1
  57. package/packages/_vue3/dist/sdk.js +1 -1
  58. package/packages/_vue3/dist/src/blocks/button/button.vue.d.ts +3 -0
  59. package/packages/_vue3/dist/src/blocks/img/img.vue.d.ts +3 -0
  60. package/packages/_vue3/dist/src/blocks/section/section.vue.d.ts +3 -0
  61. package/packages/_vue3/dist/src/blocks/symbol/symbol.vue.d.ts +12 -17
  62. package/packages/_vue3/dist/src/components/render-block/render-component.vue.d.ts +8 -1
  63. package/packages/_vue3/dist/src/components/render-content/components/render-styles.helpers.d.ts +15 -0
  64. package/packages/_vue3/dist/src/components/render-content/components/render-styles.vue.d.ts +1 -9
  65. package/packages/_vue3/dist/src/components/render-content/render-content.helpers.d.ts +7 -0
  66. package/packages/_vue3/dist/src/components/render-content/render-content.types.d.ts +27 -0
  67. package/packages/_vue3/dist/src/components/render-content/render-content.vue.d.ts +10 -31
  68. package/packages/_vue3/dist/src/context/builder.context.d.ts +1 -0
  69. package/packages/_vue3/dist/src/context/types.d.ts +1 -0
  70. package/packages/_vue3/dist/src/index-helpers/blocks-exports.d.ts +6 -6
  71. package/packages/_vue3/dist/src/types/builder-content.d.ts +1 -2
  72. package/packages/_vue3/dist/src/types/components.d.ts +0 -1
  73. package/packages/_vue3/dist/style.css +1 -1
  74. package/packages/_vue2/dist/index.59a0624f.cjs +0 -30
  75. package/packages/_vue2/dist/render-block.b97311ac.cjs +0 -3
  76. package/packages/_vue2/dist/render-repeated-block.bbbfafcc.cjs +0 -1
  77. package/packages/_vue2/dist/render-styles.0b296b86.js +0 -70
  78. package/packages/_vue2/dist/render-styles.6732290e.cjs +0 -17
  79. package/packages/_vue3/dist/index.218c45a5.cjs +0 -30
  80. package/packages/_vue3/dist/render-block.a9195cb6.cjs +0 -3
  81. package/packages/_vue3/dist/render-repeated-block.5b77dd2a.cjs +0 -1
  82. package/packages/_vue3/dist/render-styles.8780951f.js +0 -64
  83. package/packages/_vue3/dist/render-styles.9f30e56b.cjs +0 -17
@@ -1,19 +1,5 @@
1
- import type { BuilderRenderContext, RegisteredComponent } from "../../context/types.js";
2
1
  import type { BuilderContent } from "../../types/builder-content.js";
3
2
  import type { Nullable } from "../../types/typescript.js";
4
- export declare type RenderContentProps = {
5
- content?: Nullable<BuilderContent>;
6
- model?: string;
7
- data?: {
8
- [key: string]: any;
9
- };
10
- context?: BuilderRenderContext;
11
- apiKey: string;
12
- customComponents?: RegisteredComponent[];
13
- canTrack?: boolean;
14
- locale?: string;
15
- includeRefs?: boolean;
16
- };
17
3
  declare const _sfc_main: {
18
4
  name: string;
19
5
  components: {
@@ -33,15 +19,7 @@ declare const _sfc_main: {
33
19
  }>;
34
20
  };
35
21
  props: string[];
36
- computed: {
37
- injectedStyles(): any;
38
- };
39
- methods: {
40
- getCssFromFont(font: any): string;
41
- getFontCss({ customFonts }: {
42
- customFonts: any;
43
- }): any;
44
- };
22
+ data(): any;
45
23
  }>;
46
24
  RenderBlocks: () => Promise<{
47
25
  name: string;
@@ -118,6 +96,7 @@ declare const _sfc_main: {
118
96
  computed: {
119
97
  tag(): any;
120
98
  useBlock(): any;
99
+ proxyState(): any;
121
100
  actions(): any;
122
101
  attributes(): any;
123
102
  renderComponentProps(): any;
@@ -168,11 +147,12 @@ declare const _sfc_main: {
168
147
  data(): {
169
148
  forceReRenderCount: number;
170
149
  overrideContent: null;
150
+ useContent: Nullable<BuilderContent>;
171
151
  update: number;
172
- useBreakpoints: null;
173
152
  canTrackToUse: any;
174
- overrideState: {};
175
- contextContext: any;
153
+ contentState: {
154
+ [x: string]: unknown;
155
+ };
176
156
  allRegisteredComponents: any;
177
157
  httpReqsData: {};
178
158
  clicked: boolean;
@@ -181,6 +161,7 @@ declare const _sfc_main: {
181
161
  [x: symbol]: {
182
162
  content: any;
183
163
  state: any;
164
+ setState: any;
184
165
  context: any;
185
166
  apiKey: any;
186
167
  registeredComponents: any;
@@ -203,16 +184,15 @@ declare const _sfc_main: {
203
184
  };
204
185
  unmounted(): void;
205
186
  computed: {
206
- useContent(): any;
207
- contentState(): any;
208
187
  shouldRenderContentStyles(): any;
209
188
  onUpdateHook0(): any;
210
189
  onUpdateHook1(): any;
211
- onUpdateHook2(): {
212
- 0: () => any;
213
- };
190
+ onUpdateHook2(): any;
214
191
  };
215
192
  methods: {
193
+ mergeNewContent(newContent: any): void;
194
+ setBreakpoints(breakpoints: any): void;
195
+ setContextState(newState: any): void;
216
196
  processMessage(event: any): void;
217
197
  evaluateJsCode(): void;
218
198
  onClick(event: any): void;
@@ -3,6 +3,7 @@ declare const _default: {
3
3
  content: null;
4
4
  context: {};
5
5
  state: {};
6
+ setState(): void;
6
7
  apiKey: null;
7
8
  registeredComponents: {};
8
9
  inheritedStyles: {};
@@ -11,6 +11,7 @@ export interface BuilderContextInterface {
11
11
  content: Nullable<BuilderContent>;
12
12
  context: BuilderRenderContext;
13
13
  state: BuilderRenderState;
14
+ setState?: (state: BuilderRenderState) => void;
14
15
  apiKey: string | null;
15
16
  registeredComponents: RegisteredComponents;
16
17
  inheritedStyles: Record<string, unknown>;
@@ -1,10 +1,10 @@
1
+ export { default as Button } from '../blocks/button/button.vue';
1
2
  export { default as Columns } from '../blocks/columns/columns.vue';
3
+ export { default as Fragment } from '../blocks/fragment/fragment.vue';
2
4
  export { default as Image } from '../blocks/image/image.vue';
5
+ export { default as RenderBlocks } from '../components/render-blocks.vue';
6
+ export { default as RenderContent } from '../components/render-content/render-content.vue';
7
+ export { default as Section } from '../blocks/section/section.vue';
8
+ export { default as Symbol } from '../blocks/symbol/symbol.vue';
3
9
  export { default as Text } from '../blocks/text/text.vue';
4
10
  export { default as Video } from '../blocks/video/video.vue';
5
- export { default as Symbol } from '../blocks/symbol/symbol.vue';
6
- export { default as Button } from '../blocks/button/button.vue';
7
- export { default as Section } from '../blocks/section/section.vue';
8
- export { default as Fragment } from '../blocks/fragment/fragment.vue';
9
- export { default as RenderContent } from '../components/render-content/render-content.vue';
10
- export { default as RenderBlocks } from '../components/render-blocks.vue';
@@ -1,6 +1,6 @@
1
1
  import type { BuilderBlock } from './builder-block.js';
2
+ import type { Input } from './components.js';
2
3
  import type { Nullable } from './typescript.js';
3
- declare type Input = any;
4
4
  export interface Breakpoints {
5
5
  small: number;
6
6
  medium: number;
@@ -44,4 +44,3 @@ export interface BuilderContent extends BuilderContentVariation {
44
44
  testVariationId?: string;
45
45
  testVariationName?: string;
46
46
  }
47
- export {};
@@ -122,7 +122,6 @@ export interface ComponentInfo {
122
122
  * Passing a list of model names will restrict using the component to only the models listed here, otherwise it'll be available for all models
123
123
  */
124
124
  models?: string[];
125
- builtIn: true;
126
125
  /**
127
126
  * Specify restrictions direct children must match
128
127
  */
@@ -1 +1 @@
1
- .div-t9spj7joih[data-v-72d9045b]{display:flex;line-height:normal}.div-t9spj7joih-2[data-v-72d9045b]{display:flex;flex-direction:column;align-items:stretch}.img-1pl23ac79ld[data-v-d14c6f82]{opacity:1;transition:opacity .2s ease-in-out}.div-1pl23ac79ld[data-v-d14c6f82]{width:100%;pointer-events:none;font-size:0}.div-1pl23ac79ld-2[data-v-d14c6f82]{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:0;left:0;width:100%;height:100%}.button-2fnk003dqad[data-v-1e816d57]{all:unset}.div-23e8fqt91nf[data-v-7c56f14d]{display:flex;flex-direction:column;align-items:stretch}
1
+ .button-2fnk003dqad[data-v-37bd4cbd]{all:unset}.div-4wbls88y960[data-v-7e2fffd3]{display:flex;line-height:normal}.div-4wbls88y960-2[data-v-7e2fffd3]{display:flex;flex-direction:column;align-items:stretch}.img-2brhoa1k8gd[data-v-85c74480]{opacity:1;transition:opacity .2s ease-in-out}.div-2brhoa1k8gd[data-v-85c74480]{width:100%;pointer-events:none;font-size:0}.div-2brhoa1k8gd-2[data-v-85c74480]{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:0;left:0;width:100%;height:100%}.div-23e8fqt91nf[data-v-7c56f14d]{display:flex;flex-direction:column;align-items:stretch}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),t=require("./index.218c45a5.cjs"),y=require("./get-processed-block.b0588cd8.cjs"),p=()=>Promise.resolve().then(()=>require("./render-inlined-styles.c80dee1c.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}),k={name:"block-styles",components:{RenderInlinedStyles:o.defineAsyncComponent(p)},props:["block","context"],data(){return{TARGET:t.TARGET}},computed:{useBlock(){return y.getProcessedBlock({block:this.block,state:this.context.state,context:this.context.context,shouldEvaluateBindings:!0})},css(){var a;const e=this.useBlock.responsiveStyles,c=this.context.content,l=t.getSizesForBreakpoints(((a=c==null?void 0:c.meta)==null?void 0:a.breakpoints)||{}),i=e==null?void 0:e.large,r=e==null?void 0:e.medium,s=e==null?void 0:e.small,n=this.useBlock.id,d=i?t.createCssClass({className:n,styles:i}):"",u=r?t.createCssClass({className:n,styles:r,mediaQuery:t.getMaxWidthQueryForSize("medium",l)}):"",m=s?t.createCssClass({className:n,styles:s,mediaQuery:t.getMaxWidthQueryForSize("small",l)}):"";return[d,u,m].join(" ")}}};function h(e,c,l,i,r,s){const n=o.resolveComponent("render-inlined-styles");return r.TARGET!=="reactNative"&&s.css?(o.openBlock(),o.createBlock(n,{key:0,styles:s.css},null,8,["styles"])):o.createCommentVNode("",!0)}const S=t._export_sfc(k,[["render",h]]);exports.default=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),t=require("./index.6275edf0.cjs"),y=require("./get-processed-block.e6e75aca.cjs"),p=()=>Promise.resolve().then(()=>require("./render-inlined-styles.ab30b262.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}),k={name:"block-styles",components:{RenderInlinedStyles:o.defineAsyncComponent(p)},props:["block","context"],data(){return{TARGET:t.TARGET}},computed:{useBlock(){return y.getProcessedBlock({block:this.block,state:this.context.state,context:this.context.context,shouldEvaluateBindings:!0})},css(){var a;const e=this.useBlock.responsiveStyles,r=this.context.content,l=t.getSizesForBreakpoints(((a=r==null?void 0:r.meta)==null?void 0:a.breakpoints)||{}),i=e==null?void 0:e.large,c=e==null?void 0:e.medium,s=e==null?void 0:e.small,n=this.useBlock.id,d=i?t.createCssClass({className:n,styles:i}):"",u=c?t.createCssClass({className:n,styles:c,mediaQuery:t.getMaxWidthQueryForSize("medium",l)}):"",m=s?t.createCssClass({className:n,styles:s,mediaQuery:t.getMaxWidthQueryForSize("small",l)}):"";return[d,u,m].join(" ")}}};function h(e,r,l,i,c,s){const n=o.resolveComponent("render-inlined-styles");return c.TARGET!=="reactNative"&&s.css?(o.openBlock(),o.createBlock(n,{key:0,styles:s.css},null,8,["styles"])):o.createCommentVNode("",!0)}const S=t._export_sfc(k,[["render",h]]);exports.default=S;
@@ -1,7 +1,7 @@
1
1
  import { defineAsyncComponent as p, resolveComponent as y, openBlock as k, createBlock as h, createCommentVNode as S } from "vue";
2
- import { T as _, g as f, c, a as i, _ as g } from "./index.7db5ef7e.js";
3
- import { g as x } from "./get-processed-block.ab2d823c.js";
4
- const B = () => import("./render-inlined-styles.47114c43.js").then((e) => e.default).catch((e) => {
2
+ import { T as _, g as f, c, a as i, _ as g } from "./index.8392057e.js";
3
+ import { g as x } from "./get-processed-block.48c68f6b.js";
4
+ const B = () => import("./render-inlined-styles.0773feb1.js").then((e) => e.default).catch((e) => {
5
5
  throw console.error(
6
6
  "Error while attempting to dynamically import component RenderInlinedStyles at ../render-inlined-styles.vue",
7
7
  e
@@ -1,4 +1,4 @@
1
- import { f as a, e as u } from "./index.b2edb9b2.js";
1
+ import { f as a, e as u } from "./index.8392057e.js";
2
2
  const f = (n, r, i) => {
3
3
  if (Object(n) !== n)
4
4
  return n;
@@ -1 +1 @@
1
- "use strict";const o=require("./index.59a0624f.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.6275edf0.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;
@@ -0,0 +1,30 @@
1
+ "use strict";const i=require("vue"),v="vue3";function h(){return typeof window<"u"&&typeof document<"u"}const j={};function M(e,n){let t=j[e];if(t||(t=j[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 be=()=>{M("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 ye=(e={})=>{var n,t;F||(F=!0,h()&&((n=window.parent)==null||n.postMessage({type:"builder.sdkInfo",data:{target:v,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(t=window.parent)==null||t.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",({data:o})=>{var s,r;if(!!(o!=null&&o.type))switch(o.type){case"builder.evaluate":{const c=o.data.text,a=o.data.arguments||[],l=o.data.id,d=new Function(c);let u,m=null;try{u=d.apply(null,a)}catch(p){m=p}m?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:l,error:m.message}},"*"):u&&typeof u.then=="function"?u.then(p=>{var b;(b=window.parent)==null||b.postMessage({type:"builder.evaluateResult",data:{id:l,result:p}},"*")}).catch(console.error):(r=window.parent)==null||r.postMessage({type:"builder.evaluateResult",data:{result:u,id:l}},"*");break}}})))},ve={name:"builder-button",props:["attributes","text","link","openLinkInNewTab"],methods:{filterAttrs:function(n={},t){const o="v-on:",s=a=>a.startsWith(o),r=a=>!a.startsWith(o),c=a=>a.replace(o,"");return Object.keys(n).filter(t?s:r).reduce((a,l)=>({...a,[c(l)]:n[l]}),{})}}};const f=(e,n)=>{const t=e.__vccOpts||e;for(const[o,s]of n)t[o]=s;return t},ke=["href","target"];function xe(e,n,t,o,s,r){return t.link?(i.openBlock(),i.createElementBlock("a",i.mergeProps({key:0,role:"button",href:t.link,target:t.openLinkInNewTab?"_blank":void 0},r.filterAttrs(t.attributes,!1),i.toHandlers(r.filterAttrs(t.attributes,!0),!0)),i.toDisplayString(t.text),17,ke)):(i.openBlock(),i.createElementBlock("button",i.mergeProps({key:1,class:"button-7fq9d0i380"},r.filterAttrs(t.attributes,!1),i.toHandlers(r.filterAttrs(t.attributes,!0),!0)),i.toDisplayString(t.text),17))}const $=f(ve,[["render",xe],["__scopeId","data-v-465ad941"]]),x=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}},Ce=(e,n=z)=>`@media (max-width: ${n[e].max}px)`,H=({small:e,medium:n})=>{const t=x(z);if(!e||!n)return t;const o=Math.floor(e/2);t.small={max:e,min:o,default:o+1};const s=t.small.max+1;t.medium={max:n,min:s,default:s+1};const r=t.medium.max+1;return t.large={max:2e3,min:r,default:r+1},t},Se=e=>e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase(),y=e=>e!=null,K=e=>Object.entries(e).map(([t,o])=>{if(typeof o=="string")return`${Se(t)}: ${o};`}).filter(y),k=e=>K(e).join(`
2
+ `),_e=({mediaQuery:e,className:n,styles:t})=>{const o=`.${n} {
3
+ ${k(t)}
4
+ }`;return e?`${e} {
5
+ ${o}
6
+ }`:o},we=()=>Promise.resolve().then(()=>X).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderBlocks at ../../components/render-blocks.vue",e),e}),Ie=()=>Promise.resolve().then(()=>require("./render-inlined-styles.ab30b262.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}),Te={name:"builder-columns",components:{RenderInlinedStyles:i.defineAsyncComponent(Ie),RenderBlocks:i.defineAsyncComponent(we)},props:["space","columns","stackColumnsAt","reverseColumnsWhenStacked","customBreakpoints","builderBlock"],data(){return{TARGET:v}},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)}},columnStyleObjects(){return{columns:{small:{flexDirection:"var(--flex-dir)",alignItems:"stretch"},medium:{flexDirection:"var(--flex-dir-tablet)",alignItems:"stretch"}},column:{small:{width:"var(--column-width) !important",marginLeft:"var(--column-margin-left) !important"},medium:{width:"var(--column-width-tablet) !important",marginLeft:"var(--column-margin-left-tablet) !important"}}}},columnsStyles(){return`
7
+ @media (max-width: ${this.getWidthForBreakpointSize("medium")}px) {
8
+ .${this.builderBlock.id}-breakpoints {
9
+ ${k(this.columnStyleObjects.columns.medium)}
10
+ }
11
+
12
+ .${this.builderBlock.id}-breakpoints > .builder-column {
13
+ ${k(this.columnStyleObjects.column.medium)}
14
+ }
15
+ }
16
+
17
+ @media (max-width: ${this.getWidthForBreakpointSize("small")}px) {
18
+ .${this.builderBlock.id}-breakpoints {
19
+ ${k(this.columnStyleObjects.columns.small)}
20
+ }
21
+
22
+ .${this.builderBlock.id}-breakpoints > .builder-column {
23
+ ${k(this.columnStyleObjects.column.small)}
24
+ }
25
+ },
26
+ `},reactNativeColumnsStyles(){return this.columnStyleObjects.columns.small},reactNativeColumnStyles(){return this.columnStyleObjects.column.small}},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"},getWidthForBreakpointSize(e){return H(this.customBreakpoints||{})[e].max},_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}}};function Re(e,n,t,o,s,r){const c=i.resolveComponent("render-inlined-styles"),a=i.resolveComponent("render-blocks");return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(r._classStringToObject(`builder-columns ${t.builderBlock.id}-breakpoints div-1eih9th5ow6`)),style:i.normalizeStyle({...s.TARGET==="reactNative"?r.reactNativeColumnsStyles:{},...r.columnsCssVars})},[s.TARGET!=="reactNative"?(i.openBlock(),i.createBlock(c,{key:0,styles:r.columnsStyles},null,8,["styles"])):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(t.columns,(l,d)=>(i.openBlock(),i.createElementBlock("div",{key:d,class:"builder-column div-1eih9th5ow6-2",style:i.normalizeStyle({width:r.getColumnCssWidth(d),marginLeft:`${d===0?0:r.getGutterSize()}px`,...s.TARGET==="reactNative"?r.reactNativeColumnStyles:{},...r.columnCssVars})},[i.createVNode(a,{blocks:l.blocks,path:`component.options.columns.${d}.blocks`,parent:t.builderBlock.id,styleProp:{flexGrow:"1"}},null,8,["blocks","path","parent"])],4))),128))],6)}const D=f(Te,[["render",Re],["__scopeId","data-v-8bc87868"]]),Be={name:"builder-fragment-component",props:[]};function Ee(e,n,t,o,s,r){return i.openBlock(),i.createElementBlock("span",null,[i.renderSlot(e.$slots,"default")])}const q=f(Be,[["render",Ee]]);function O(e){return e.replace(/http(s)?:/,"")}function Ae(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 Pe(e,n){if(!e||!(e!=null&&e.match(/cdn\.shopify\.com/))||!n)return e;if(n==="master")return O(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],r=n.match("x")?n:`${n}x`;return O(`${o[0]}_${r}${s}`)}return null}function _(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=>`${Ae(e,"width",s)} ${s}w`).concat([t]).join(", ")}return e.match(/cdn\.shopify\.com/)?n.map(t=>[Pe(e,`${t}x${t}`),t]).filter(([t])=>!!t).map(([t,o])=>`${t} ${o}w`).concat([e]).join(", "):e}const je={name:"builder-image",props:["image","src","srcset","noWebp","aspectRatio","altText","backgroundPosition","backgroundSize","className","sizes","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"),_(n)}else if(this.image&&!this.srcset)return _(n);return _(n)},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 n={};if(typeof e!="string")return n;const t=e.trim().split(/\s+/);for(const o of t)n[o]=!0;return n}}};const Fe=["srcset"],Oe=["alt","role","src","srcset","sizes"],Ve={key:2,class:"div-2btisl9m7v3-2"};function Ne(e,n,t,o,s,r){var c,a,l,d;return i.openBlock(),i.createElementBlock(i.Fragment,null,[i.createElementVNode("picture",null,[r.webpSrcSet?(i.openBlock(),i.createElementBlock("source",{key:0,type:"image/webp",srcset:r.webpSrcSet},null,8,Fe)):i.createCommentVNode("",!0),i.createElementVNode("img",{loading:"lazy",alt:t.altText,role:t.altText?"presentation":void 0,style:i.normalizeStyle({objectPosition:t.backgroundPosition||"center",objectFit:t.backgroundSize||"cover",...r.aspectRatioCss}),class:i.normalizeClass(r._classStringToObject("builder-image"+(t.className?" "+t.className:"")+" img-2btisl9m7v3")),src:t.image,srcset:r.srcSetToUse,sizes:t.sizes},null,14,Oe)]),t.aspectRatio&&!(((a=(c=t.builderBlock)==null?void 0:c.children)==null?void 0:a.length)&&t.fitContent)?(i.openBlock(),i.createElementBlock("div",{key:0,class:"builder-image-sizer div-2btisl9m7v3",style:i.normalizeStyle({paddingTop:t.aspectRatio*100+"%"})},null,4)):i.createCommentVNode("",!0),((d=(l=t.builderBlock)==null?void 0:l.children)==null?void 0:d.length)&&t.fitContent?i.renderSlot(e.$slots,"default",{key:1},void 0,!0):i.createCommentVNode("",!0),!t.fitContent&&e.children?(i.openBlock(),i.createElementBlock("div",Ve,[i.renderSlot(e.$slots,"default",{},void 0,!0)])):i.createCommentVNode("",!0)],64)}const G=f(je,[["render",Ne],["__scopeId","data-v-44c710e2"]]),Ue=Symbol(),C={Builder:{content:null,context:{},state:{},setState(){},apiKey:null,registeredComponents:{},inheritedStyles:{}},key:Ue};function We(){return h()&&window.self!==window.top}function g(){return We()&&window.location.search.indexOf("builder.frameEditing=")!==-1}const Le=()=>Promise.resolve().then(()=>require("./block-styles.05a01a8e.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}),Me=()=>Promise.resolve().then(()=>require("./render-block.f6f263a8.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}),$e={name:"render-blocks",components:{RenderBlock:i.defineAsyncComponent(Me),BlockStyles:i.defineAsyncComponent(Le)},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,n;g()&&!((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;g()&&!((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 ze=["builder-path","builder-parent-id","dataSet"];function He(e,n,t,o,s,r){const c=i.resolveComponent("render-block"),a=i.resolveComponent("block-styles");return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(r._classStringToObject(r.className+" div-20vehov4ay6")),"builder-path":t.path,"builder-parent-id":t.parent,dataSet:{class:r.className},style:i.normalizeStyle(t.styleProp),onClick:n[0]||(n[0]=l=>r.onClick()),onMouseenter:n[1]||(n[1]=l=>r.onMouseEnter())},[t.blocks?(i.openBlock(!0),i.createElementBlock(i.Fragment,{key:0},i.renderList(t.blocks,(l,d)=>(i.openBlock(),i.createBlock(c,{key:"render-block-"+l.id,block:l,context:r.builderContext},null,8,["block","context"]))),128)):i.createCommentVNode("",!0),t.blocks?(i.openBlock(!0),i.createElementBlock(i.Fragment,{key:1},i.renderList(t.blocks,(l,d)=>(i.openBlock(),i.createBlock(a,{key:"block-style-"+l.id,block:l,context:r.builderContext},null,8,["block","context"]))),128)):i.createCommentVNode("",!0)],46,ze)}const J=f($e,[["render",He],["__scopeId","data-v-b5395d79"]]),X=Object.freeze(Object.defineProperty({__proto__:null,default:J},Symbol.toStringTag,{value:"Module"})),Ke={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},S=e=>{const n=e.toString().trim();return`return (${!n.startsWith("function")&&!n.startsWith("(")?"function ":""}${n}).apply(this, arguments)`},De={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:S(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(r=>!r.get("width"))||t.reduce((a,l)=>a+l.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}]},qe={name:"Fragment",static:!0,hidden:!0,canHaveChildren:!0,noWrap:!0},Ge={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%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",onChange:S(e=>{e.delete("srcset"),e.delete("noWebp");function t(c,a=6e4){return new Promise((l,d)=>{const u=document.createElement("img");let m=!1;u.onload=()=>{m=!0,l(u)},u.addEventListener("error",p=>{console.warn("Image load failed",p.error),d(p.error)}),u.src=c,setTimeout(()=>{m||d(new Error("Image load timed out"))},a)})}function o(c){return Math.round(c*1e3)/1e3}const s=e.get("image"),r=e.get("aspectRatio");if(fetch(s).then(c=>c.blob()).then(c=>{c.type.includes("svg")&&e.set("noWebp",!0)}),s&&(!r||r===.7041))return t(s).then(c=>{const a=e.get("aspectRatio");e.get("image")===s&&(!a||a===.7041)&&c.width&&c.height&&(e.set("aspectRatio",o(c.height/c.width)),e.set("height",c.height),e.set("width",c.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}]},Je={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>"}}}]},Xe={name:"builder-section-component",props:["maxWidth","attributes"],methods:{filterAttrs:function(n={},t){const o="v-on:",s=a=>a.startsWith(o),r=a=>!a.startsWith(o),c=a=>a.replace(o,"");return Object.keys(n).filter(t?s:r).reduce((a,l)=>({...a,[c(l)]:n[l]}),{})}}};function Ye(e,n,t,o,s,r){return i.openBlock(),i.createElementBlock("section",i.mergeProps({style:{width:"100%",alignSelf:"stretch",flexGrow:"1",boxSizing:"border-box",maxWidth:`${t.maxWidth&&typeof t.maxWidth=="number"?t.maxWidth:1200}px`,display:"flex",flexDirection:"column",alignItems:"stretch",marginLeft:"auto",marginRight:"auto"}},r.filterAttrs(t.attributes,!1),i.toHandlers(r.filterAttrs(t.attributes,!0),!0)),[i.renderSlot(e.$slots,"default")],16)}const Y=f(Xe,[["render",Ye]]),Qe={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"}]};function Ze(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:globalThis}function et(){const e=Ze().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.
27
+ 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 Q=et(),tt=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const n=e.split(".");return n.length>2?n.slice(1).join("."):e},Z=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);return}},nt=e=>e.map(([n,t])=>t?`${n}=${t}`:n).filter(y).join("; "),ot=[["secure",""],["SameSite","None"]],rt=({name:e,value:n,expires:t})=>{const s=(h()?location.protocol==="https:":!0)?ot:[[]],r=t?[["expires",t.toUTCString()]]:[[]],c=[[e,n],...r,["path","/"],["domain",tt(window.location.hostname)],...s];return nt(c)},ee=async({name:e,value:n,expires:t,canTrack:o})=>{try{if(!o)return;const s=rt({name:e,value:n,expires:t});document.cookie=s}catch(s){console.warn("[COOKIE] SET error: ",s)}},st="builderio.variations",te=e=>`${st}.${e}`,it=({contentId:e,canTrack:n})=>Z({name:te(e),canTrack:n}),at=({contentId:e,canTrack:n,value:t})=>ee({name:te(e),value:t,canTrack:n}),ct=e=>y(e.id)&&y(e.variations)&&Object.keys(e.variations).length>0,lt=({id:e,variations:n})=>{var s;let t=0;const o=Math.random();for(const r in n)if(t+=(s=n[r])==null?void 0:s.testRatio,o<t)return r;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":"")}},dt=async({item:e,canTrack:n})=>{const t=await it({canTrack:n,contentId:e.id}),o=t?V({item:e,testGroupId:t}):void 0;if(o)return o;{const s=lt({variations:e.variations,id:e.id});return at({contentId:e.id,value:s,canTrack:n}).catch(r=>{console.error("could not store A/B test variation: ",r)}),V({item:e,testGroupId:s})}},ut=async({item:e,canTrack:n})=>{if(!ct(e))return;const t=await dt({item:e,canTrack:n});Object.assign(e,t)};function w(e,n=null,t="."){return Object.keys(e).reduce((o,s)=>{const r=e[s],c=[n,s].filter(Boolean).join(t);return[typeof r=="object",r!==null,!(Array.isArray(r)&&r.length===0)].every(Boolean)?{...o,...w(r,c,t)}:{...o,[c]:r}},{})}const N="builder.",mt="options.",ne=e=>{const n={};return e.forEach((t,o)=>{n[o]=t}),n},oe=e=>{if(!e)return{};const n=R(e),t={};return Object.keys(n).forEach(o=>{if(o.startsWith(N)){const s=o.replace(N,"").replace(mt,"");t[s]=n[o]}}),t},re=()=>{if(!h())return{};const e=new URLSearchParams(window.location.search);return oe(e)},R=e=>e instanceof URLSearchParams?ne(e):e,pt=e=>{const{limit:n=30,userAttributes:t,query:o,noTraverse:s=!1,model:r,apiKey:c,includeRefs:a=!0,locale:l}=e;if(!c)throw new Error("Missing API key");const d=new URL(`https://cdn.builder.io/api/v2/content/${r}?apiKey=${c}&limit=${n}&noTraverse=${s}&includeRefs=${a}${l?`&locale=${l}`:""}`),u={...re(),...R(e.options||{})},m=w(u);for(const p in m)d.searchParams.set(p,String(m[p]));if(t&&d.searchParams.set("userAttributes",JSON.stringify(t)),o){const p=w({query:o});for(const b in p)d.searchParams.set(b,JSON.stringify(p[b]))}return d};async function B(e){return(await se({...e,limit:1})).results[0]||null}async function se(e){const n=pt(e),o=await(await Q(n.href)).json(),s=e.canTrack!==!1;if(s&&Array.isArray(o.results))for(const r of o.results)await ut({item:r,canTrack:s});return o}const ht=()=>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}),ft={name:"builder-symbol",components:{RenderContent:i.defineAsyncComponent(ht)},props:["attributes","symbol","dynamic"],data(){return{fetchedContent:null}},inject:{builderContext:C.key},watch:{onUpdateHook0:{handler(){var n;const e=this.symbol;e&&!e.content&&!this.fetchedContent&&e.model&&((n=this.builderContext)==null?void 0:n.apiKey)&&B({model:e.model,apiKey:this.builderContext.apiKey,query:{id:e.entry}}).then(t=>{this.fetchedContent=t})},immediate:!0}},computed:{className(){var e,n;return[...Object.keys(this.attributes.class),"builder-symbol",(e=this.symbol)!=null&&e.inline?"builder-inline-symbol":void 0,((n=this.symbol)==null?void 0:n.dynamic)||this.dynamic?"builder-dynamic-symbol":void 0].filter(Boolean).join(" ")},contentToUse(){var e;return((e=this.symbol)==null?void 0:e.content)||this.fetchedContent},onUpdateHook0(){return{0:this.symbol,1:this.fetchedContent}}},methods:{filterAttrs:function(n={},t){const o="v-on:",s=a=>a.startsWith(o),r=a=>!a.startsWith(o),c=a=>a.replace(o,"");return Object.keys(n).filter(t?s:r).reduce((a,l)=>({...a,[c(l)]:n[l]}),{})},_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}}},gt=["dataSet"];function bt(e,n,t,o,s,r){var a,l,d,u,m;const c=i.resolveComponent("render-content");return i.openBlock(),i.createElementBlock("div",i.mergeProps({dataSet:{class:r.className},class:r._classStringToObject(r.className)},r.filterAttrs(t.attributes,!1),i.toHandlers(r.filterAttrs(t.attributes,!0),!0)),[i.createVNode(c,{apiKey:r.builderContext.apiKey,context:r.builderContext.context,customComponents:Object.values(r.builderContext.registeredComponents),data:{...(a=t.symbol)==null?void 0:a.data,...r.builderContext.state,...(u=(d=(l=t.symbol)==null?void 0:l.content)==null?void 0:d.data)==null?void 0:u.state},model:(m=t.symbol)==null?void 0:m.model,content:r.contentToUse},null,8,["apiKey","context","customComponents","data","model","content"])],16,gt)}const ie=f(ft,[["render",bt]]),yt={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"}},vt={name:"builder-text",props:["text"]},kt=["innerHTML"];function xt(e,n,t,o,s,r){return i.openBlock(),i.createElementBlock("span",{class:"builder-text",innerHTML:t.text},null,8,kt)}const ae=f(vt,[["render",xt]]),Ct={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}]},St={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}}}},_t=["src","poster"];function wt(e,n,t,o,s,r){var c;return i.openBlock(),i.createElementBlock("video",i.mergeProps({style:{width:"100%",height:"100%",...(c=t.attributes)==null?void 0:c.style,objectFit:t.fit,objectPosition:t.position,borderRadius:1},src:t.video||"no-src",poster:t.posterImage},r.spreadProps),null,16,_t)}const ce=f(St,[["render",wt]]),It={name:"Embed",static:!0,inputs:[{name:"url",type:"url",required:!0,defaultValue:"",helperText:"e.g. enter a youtube url, google map, etc",onChange:S(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}]},Tt=["text/javascript","application/javascript","application/ecmascript"],Rt=e=>Tt.includes(e.type),Bt={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 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(Rt(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)}}}}},Et=["innerHTML"];function At(e,n,t,o,s,r){return i.openBlock(),i.createElementBlock("div",{class:"builder-embed",ref:"elem",innerHTML:t.content},null,8,Et)}const Pt=f(Bt,[["render",At]]),jt={name:"builder-img-component",props:["backgroundSize","backgroundPosition","imgSrc","altText","image","attributes"],data(){return{isEditing:g}},methods:{filterAttrs:function(n={},t){const o="v-on:",s=a=>a.startsWith(o),r=a=>!a.startsWith(o),c=a=>a.replace(o,"");return Object.keys(n).filter(t?s:r).reduce((a,l)=>({...a,[c(l)]:n[l]}),{})}}},Ft=["alt","src"];function Ot(e,n,t,o,s,r){return i.openBlock(),i.createElementBlock("img",i.mergeProps({style:{objectFit:t.backgroundSize||"cover",objectPosition:t.backgroundPosition||"center"},key:s.isEditing()&&t.imgSrc||"default-key",alt:t.altText,src:t.imgSrc||t.image},r.filterAttrs(t.attributes,!1),i.toHandlers(r.filterAttrs(t.attributes,!0),!0)),null,16,Ft)}const Vt=f(jt,[["render",Ot]]),Nt={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},Ut={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 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}}},Wt=["innerHTML"];function Lt(e,n,t,o,s,r){return i.openBlock(),i.createElementBlock("div",{ref:"elem",class:i.normalizeClass(r._classStringToObject("builder-custom-code"+(t.replaceNodes?" replace-nodes":""))),innerHTML:t.code},null,10,Wt)}const Mt=f(Ut,[["render",Lt]]),$t={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}]},zt=()=>[{component:$,...Ke},{component:D,...De},{component:Mt,...$t},{component:Pt,...It},{component:q,...qe},{component:G,...Ge},{component:Vt,...Nt},{component:Y,...Je},{component:ie,...Qe},{component:ae,...yt},{component:ce,...Ct}];function I({code:e,context:n,state:t,event:o,isExpression:s=!0}){if(e===""){console.warn("Skipping evaluation of empty code block.");return}const r={isEditing:g(),isBrowser:h(),isServer:!h()},a=s&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e;try{return new Function("builder","Builder","state","context","event",a)(r,r,t,n,o)}catch(l){console.warn(`Builder custom code error:
28
+ While Evaluating:
29
+ `,a,`
30
+ `,l)}}function le(){return!h()||g()?!1:Boolean(location.search.indexOf("builder.preview=")!==-1)}const E=[];function Ht(e,n){return E.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 de=({component:e,...n})=>({type:"builder.registerComponent",data:Dt(n)}),Kt=e=>typeof e=="function"?S(e):x(e),Dt=({inputs:e,...n})=>({...x(n),inputs:e==null?void 0:e.map(t=>Object.entries(t).reduce((o,[s,r])=>({...o,[s]:Kt(r)}),{}))});function qt(){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 ue(){return qt().replace(/-/g,"")}const me="builderSessionId",Gt=async({canTrack:e})=>{if(!e)return;const n=await Z({name:me,canTrack:e});if(y(n))return n;{const t=Jt();return Xt({id:t,canTrack:e}),t}},Jt=()=>ue(),Xt=({id:e,canTrack:n})=>ee({name:me,value:e,canTrack:n}),pe=()=>h()&&typeof localStorage<"u"?localStorage:void 0,Yt=({key:e,canTrack:n})=>{var t;try{return n?(t=pe())==null?void 0:t.getItem(e):void 0}catch(o){console.debug("[LocalStorage] GET error: ",o);return}},Qt=({key:e,canTrack:n,value:t})=>{var o;try{n&&((o=pe())==null||o.setItem(e,t))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},he="builderVisitorId",Zt=({canTrack:e})=>{if(!e)return;const n=Yt({key:he,canTrack:e});if(y(n))return n;{const t=en();return tn({id:t,canTrack:e}),t}},en=()=>ue(),tn=({id:e,canTrack:n})=>Qt({key:he,value:e,canTrack:n}),nn=()=>{if(h()){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},on=()=>typeof navigator=="object"&&navigator.userAgent||"",rn=()=>{const e=on(),n={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 n.Android()||n.BlackBerry()||n.iOS()||n.Opera()||n.Windows()||v==="reactNative"}},t=e.match(/Tablet|iPad/i),o=nn();return{urlPath:o==null?void 0:o.pathname,host:(o==null?void 0:o.host)||(o==null?void 0:o.hostname),device:t?"tablet":n.any()?"mobile":"desktop"}},sn=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const n=await Gt({canTrack:e}),t=Zt({canTrack:e});return{sessionId:n,visitorId:t}},an=async({type:e,canTrack:n,apiKey:t,metadata:o,...s})=>({type:e,data:{...s,metadata:{url:location.href,...o},...await sn({canTrack:n}),userAttributes:rn(),ownerId:t}});async function T(e){if(!e.apiKey){console.error("[Builder.io]: Missing API key for track call. Please provide your API key.");return}if(!!e.canTrack&&!g()&&!!(h()||v==="reactNative"))return fetch("https://builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await an(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(n=>{console.error("Failed to track: ",n)})}const cn=e=>T({...e,canTrack:!0});function U(e){return Math.round(e*1e3)/1e3}const ln=(e,n,t=!0)=>{if(!(e instanceof HTMLElement))return null;let o=t?e:e.parentElement;do{if(!o)return null;if(n(o))return o}while(o=o.parentElement);return null},dn=e=>ln(e,n=>{const t=n.getAttribute("builder-id")||n.id;return Boolean((t==null?void 0:t.indexOf("builder-"))===0)}),W=({event:e,target:n})=>{const t=n.getBoundingClientRect(),o=e.clientX-t.left,s=e.clientY-t.top,r=U(o/t.width),c=U(s/t.height);return{x:r,y:c}},un=e=>{const n=e.target,t=n&&dn(n),o=(t==null?void 0:t.getAttribute("builder-id"))||(t==null?void 0:t.id);return{targetBuilderElement:o||void 0,metadata:{targetOffset:n?W({event:e,target:n}):void 0,builderTargetOffset:t?W({event:e,target:t}):void 0,builderElementIndex:t&&o?[].slice.call(document.getElementsByClassName(o)).indexOf(t):void 0}}},mn=({content:e,data:n,locale:t})=>{var r,c,a;const o={};(c=(r=e==null?void 0:e.data)==null?void 0:r.inputs)==null||c.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={...(a=e==null?void 0:e.data)==null?void 0:a.state,...n,...t?{locale:t}:{}};return{...o,...s}},pn=({content:e,data:n})=>e?{...e,data:{...e==null?void 0:e.data,...n},meta:e==null?void 0:e.meta}:void 0,hn=()=>Promise.resolve().then(()=>X).then(e=>e.default).catch(e=>{throw console.error("Error while attempting to dynamically import component RenderBlocks at ../render-blocks.vue",e),e}),fn=()=>Promise.resolve().then(()=>require("./render-styles.7e2d3639.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}),gn={name:"render-content",components:{RenderContentStyles:i.defineAsyncComponent(fn),RenderBlocks:i.defineAsyncComponent(hn)},props:["content","data","canTrack","locale","customComponents","model","context","apiKey","includeRefs"],data(){return{forceReRenderCount:0,overrideContent:null,useContent:pn({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:[...zt(),...E,...this.customComponents||[]].reduce((e,n)=>({...e,[n.name]:n}),{}),httpReqsData:{},clicked:!1}},provide(){const e=this;return{[C.key]:{content:e.useContent,state:e.contentState,setState:e.setContextState,context:e.context||{},apiKey:e.apiKey,registeredComponents:e.allRegisteredComponents}}},mounted(){var e,n;if(this.apiKey||console.error("[Builder.io]: No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop."),h()){if(g()&&(this.forceReRenderCount=this.forceReRenderCount+1,be(),ye({...this.locale?{locale:this.locale}:{},...this.includeRefs?{includeRefs:this.includeRefs}:{}}),Object.values(this.allRegisteredComponents).forEach(t=>{var s;const o=de(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;T({type:"impression",canTrack:this.canTrackToUse,contentId:o,apiKey:this.apiKey,variationId:t!==o?t:void 0})}if(le()){const t=new URL(location.href).searchParams,o=t.get("builder.preview"),s=t.get("apiKey")||t.get("builder.space");o===this.model&&s===this.apiKey&&B({model:this.model,apiKey:this.apiKey}).then(r=>{r&&this.mergeNewContent(r)})}this.evaluateJsCode(),this.runHttpRequests(),this.emitStateUpdate()}},watch:{onUpdateHook0:{handler(){this.evaluateJsCode()},immediate:!0},onUpdateHook1:{handler(){this.runHttpRequests()},immediate:!0},onUpdateHook2:{handler(){this.emitStateUpdate()},immediate:!0}},unmounted(){h()&&(window.removeEventListener("message",this.processMessage),window.removeEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate))},computed:{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))&&v!=="reactNative")},onUpdateHook0(){var e,n;return{0:(n=(e=this.useContent)==null?void 0:e.data)==null?void 0:n.jsCode,1:this.contentState}},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:{mergeNewContent(e){var n,t,o,s,r;this.useContent={...this.useContent,...e,data:{...(n=this.useContent)==null?void 0:n.data,...e==null?void 0:e.data},meta:{...(t=this.useContent)==null?void 0:t.meta,...e==null?void 0:e.meta,breakpoints:((o=e==null?void 0:e.meta)==null?void 0:o.breakpoints)||((r=(s=this.useContent)==null?void 0:s.meta)==null?void 0:r.breakpoints)}}},setBreakpoints(e){var n;this.useContent={...this.useContent,meta:{...(n=this.useContent)==null?void 0:n.meta,breakpoints:e}}},setContextState(e){this.contentState=e},processMessage(e){var t;const{data:n}=e;if(n)switch(n.type){case"builder.configureSdk":{const o=n.data,{breakpoints:s,contentId:r}=o;if(!r||r!==((t=this.useContent)==null?void 0:t.id))return;s&&this.setBreakpoints(s),this.forceReRenderCount=this.forceReRenderCount+1;break}case"builder.contentUpdate":{const o=n.data,s=o.key||o.alias||o.entry||o.modelName,r=o.data;s===this.model&&(this.mergeNewContent(r),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&&I({code:e,context:this.context||{},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;T({type:"click",canTrack:this.canTrackToUse,contentId:s,apiKey:this.apiKey,variationId:o!==s?o:void 0,...un(e),unique:!this.clicked})}this.clicked||(this.clicked=!0)},evalExpression(e){return e.replace(/{{([^}]+)}}/g,(n,t)=>I({code:t,context:this.context||{},state:this.contentState}))},handleRequest({url:e,key:n}){Q(e).then(t=>t.json()).then(t=>{const o={...this.contentState,[n]:t};this.setContextState(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,r])=>{if(r&&(!this.httpReqsData[s]||g())){const c=this.evalExpression(r);this.handleRequest({url:c,key:s})}})},emitStateUpdate(){g()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:this.contentState,ref:{name:this.model}}}))}}},bn=["builder-content-id","builder-model"];function yn(e,n,t,o,s,r){var l,d,u,m,p,b,A,P;const c=i.resolveComponent("render-content-styles"),a=i.resolveComponent("render-blocks");return s.useContent?(i.openBlock(),i.createElementBlock("div",{key:0,ref:"elementRef",onClick:n[0]||(n[0]=ge=>r.onClick(ge)),"builder-content-id":(l=s.useContent)==null?void 0:l.id,"builder-model":t.model},[r.shouldRenderContentStyles?(i.openBlock(),i.createBlock(c,{key:0,contentId:(d=s.useContent)==null?void 0:d.id,cssCode:(m=(u=s.useContent)==null?void 0:u.data)==null?void 0:m.cssCode,customFonts:(b=(p=s.useContent)==null?void 0:p.data)==null?void 0:b.customFonts},null,8,["contentId","cssCode","customFonts"])):i.createCommentVNode("",!0),(i.openBlock(),i.createBlock(a,{blocks:(P=(A=s.useContent)==null?void 0:A.data)==null?void 0:P.blocks,key:s.forceReRenderCount},null,8,["blocks"]))],8,bn)):i.createCommentVNode("",!0)}const fe=f(gn,[["render",yn]]),vn=Object.freeze(Object.defineProperty({__proto__:null,default:fe},Symbol.toStringTag,{value:"Module"})),L={};function kn(e){if(h()){Object.assign(L,e);const n={type:"builder.settingsChange",data:L};parent.postMessage(n,"*")}}exports.BuilderContext=C;exports.Button=$;exports.Columns=D;exports.Fragment=q;exports.Image=G;exports.Section=Y;exports.Symbol=ie;exports.TARGET=v;exports.Text=ae;exports.Video=ce;exports._export_sfc=f;exports.components=E;exports.convertSearchParamsToQueryObject=ne;exports.convertStyleMapToCSSArray=K;exports.createCssClass=_e;exports.createRegisterComponentMessage=de;exports.evaluate=I;exports.fastClone=x;exports.getAllContent=se;exports.getBuilderSearchParams=oe;exports.getBuilderSearchParamsFromWindow=re;exports.getContent=B;exports.getMaxWidthQueryForSize=Ce;exports.getSizesForBreakpoints=H;exports.isEditing=g;exports.isPreviewing=le;exports.normalizeSearchParams=R;exports.register=M;exports.registerComponent=Ht;exports.renderBlocks=J;exports.renderContent=fe;exports.setEditorSettings=kn;exports.track=cn;