@builder.io/sdk-vue 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/package.json +1 -1
  2. package/packages/_vue2/dist/block-styles.19a877d5.js +117 -0
  3. package/packages/_vue2/dist/block-styles.40e83f61.cjs +6 -0
  4. package/packages/{_vue3/dist/get-processed-block.da7b258e.cjs → _vue2/dist/get-processed-block.50c3959c.cjs} +1 -1
  5. package/packages/{_vue3/dist/get-processed-block.91be815e.js → _vue2/dist/get-processed-block.d176d859.js} +1 -1
  6. package/packages/_vue2/dist/index.319178a0.cjs +4 -0
  7. package/packages/_vue2/dist/{index.a348d39c.js → index.7a7ff238.js} +165 -176
  8. package/packages/_vue2/dist/{render-block.089abc43.js → render-block.7635a885.js} +17 -17
  9. package/packages/_vue2/dist/render-block.c2a840de.cjs +3 -0
  10. package/packages/_vue2/dist/{render-component-with-context.1a7fd4e9.cjs → render-component-with-context.95834dc3.cjs} +1 -1
  11. package/packages/_vue2/dist/{render-component-with-context.02a2c528.js → render-component-with-context.f56ece1d.js} +2 -2
  12. package/packages/_vue2/dist/render-component.1f139db7.cjs +1 -0
  13. package/packages/_vue2/dist/render-component.c352f53d.js +37 -0
  14. package/packages/_vue2/dist/render-inlined-styles.82edc9e3.cjs +1 -0
  15. package/packages/_vue2/dist/{render-inlined-styles.6eb4d3ee.js → render-inlined-styles.a6d217ba.js} +7 -7
  16. package/packages/_vue2/dist/{render-repeated-block.c84c107f.js → render-repeated-block.7e988491.js} +2 -2
  17. package/packages/_vue2/dist/{render-repeated-block.e85c5841.cjs → render-repeated-block.8b8babc7.cjs} +1 -1
  18. package/packages/_vue2/dist/{render-styles.6722cee5.js → render-styles.0fcd6636.js} +2 -2
  19. package/packages/_vue2/dist/{render-styles.13fa67a1.cjs → render-styles.6bcf5051.cjs} +1 -1
  20. package/packages/_vue2/dist/sdk.cjs +1 -1
  21. package/packages/_vue2/dist/sdk.js +5 -5
  22. package/packages/_vue2/dist/src/blocks/columns/columns.vue.d.ts +8 -24
  23. package/packages/_vue2/dist/src/blocks/symbol/symbol.vue.d.ts +9 -24
  24. package/packages/_vue2/dist/src/blocks/util.d.ts +4 -1
  25. package/packages/_vue2/dist/src/components/render-block/block-styles.vue.d.ts +1 -1
  26. package/packages/_vue2/dist/src/components/render-block/render-block.vue.d.ts +7 -19
  27. package/packages/_vue2/dist/src/components/render-block/render-component-with-context.vue.d.ts +4 -7
  28. package/packages/_vue2/dist/src/components/render-block/render-component.vue.d.ts +4 -8
  29. package/packages/_vue2/dist/src/components/render-block/render-repeated-block.vue.d.ts +7 -19
  30. package/packages/_vue2/dist/src/components/render-blocks.vue.d.ts +8 -20
  31. package/packages/_vue2/dist/src/components/render-content/components/render-styles.vue.d.ts +1 -1
  32. package/packages/_vue2/dist/src/components/render-content/render-content.vue.d.ts +9 -23
  33. package/packages/_vue2/dist/src/components/render-inlined-styles.vue.d.ts +1 -1
  34. package/packages/_vue2/dist/src/constants/device-sizes.d.ts +12 -1
  35. package/packages/_vue2/dist/src/functions/get-content/types.d.ts +4 -0
  36. package/packages/_vue2/dist/src/index.d.ts +3 -0
  37. package/packages/_vue2/dist/src/types/builder-content.d.ts +7 -0
  38. package/packages/_vue2/dist/style.css +1 -1
  39. package/packages/_vue3/dist/block-styles.a9ff2d51.cjs +6 -0
  40. package/packages/_vue3/dist/block-styles.c98db17a.js +114 -0
  41. package/packages/{_vue2/dist/get-processed-block.fce88f96.cjs → _vue3/dist/get-processed-block.9b8059ab.cjs} +1 -1
  42. package/packages/{_vue2/dist/get-processed-block.ae7861fa.js → _vue3/dist/get-processed-block.9bb2fd8e.js} +1 -1
  43. package/packages/_vue3/dist/index.7ebc9925.cjs +4 -0
  44. package/packages/_vue3/dist/{index.7a037186.js → index.bdc957bb.js} +248 -255
  45. package/packages/_vue3/dist/{render-block.7817291b.js → render-block.97918590.js} +31 -31
  46. package/packages/_vue3/dist/render-block.ea7240a5.cjs +3 -0
  47. package/packages/_vue3/dist/{render-component-with-context.b67db565.cjs → render-component-with-context.4968d548.cjs} +1 -1
  48. package/packages/_vue3/dist/{render-component-with-context.fa0fe72b.js → render-component-with-context.e10c7475.js} +2 -2
  49. package/packages/_vue3/dist/{render-component.cca10188.js → render-component.44939843.js} +17 -18
  50. package/packages/_vue3/dist/render-component.da37335e.cjs +1 -0
  51. package/packages/_vue3/dist/{render-inlined-styles.bf23044d.js → render-inlined-styles.5500cf72.js} +8 -8
  52. package/packages/_vue3/dist/render-inlined-styles.bcf2d6ec.cjs +1 -0
  53. package/packages/_vue3/dist/{render-repeated-block.fa7d9eeb.js → render-repeated-block.e053daa2.js} +2 -2
  54. package/packages/_vue3/dist/{render-repeated-block.a972d060.cjs → render-repeated-block.f954b0ce.cjs} +1 -1
  55. package/packages/_vue3/dist/{render-styles.970e0a2e.js → render-styles.1af9ac32.js} +2 -2
  56. package/packages/_vue3/dist/{render-styles.b4777a9f.cjs → render-styles.6f74d8a8.cjs} +1 -1
  57. package/packages/_vue3/dist/sdk.cjs +1 -1
  58. package/packages/_vue3/dist/sdk.js +7 -7
  59. package/packages/_vue3/dist/src/blocks/columns/columns.vue.d.ts +1 -5
  60. package/packages/_vue3/dist/src/blocks/symbol/symbol.vue.d.ts +2 -5
  61. package/packages/_vue3/dist/src/blocks/util.d.ts +4 -1
  62. package/packages/_vue3/dist/src/components/render-block/block-styles.vue.d.ts +1 -1
  63. package/packages/_vue3/dist/src/components/render-block/render-component-with-context.vue.d.ts +1 -4
  64. package/packages/_vue3/dist/src/components/render-block/render-component.vue.d.ts +1 -5
  65. package/packages/_vue3/dist/src/components/render-blocks.vue.d.ts +1 -1
  66. package/packages/_vue3/dist/src/components/render-content/components/render-styles.vue.d.ts +1 -1
  67. package/packages/_vue3/dist/src/components/render-content/render-content.vue.d.ts +2 -4
  68. package/packages/_vue3/dist/src/components/render-inlined-styles.vue.d.ts +1 -1
  69. package/packages/_vue3/dist/src/constants/device-sizes.d.ts +12 -1
  70. package/packages/_vue3/dist/src/functions/get-content/types.d.ts +4 -0
  71. package/packages/_vue3/dist/src/index.d.ts +3 -0
  72. package/packages/_vue3/dist/src/types/builder-content.d.ts +7 -0
  73. package/packages/_vue3/dist/style.css +1 -1
  74. package/packages/_vue2/dist/block-styles.eb369124.cjs +0 -6
  75. package/packages/_vue2/dist/block-styles.fc09dcaf.js +0 -86
  76. package/packages/_vue2/dist/index.efd88402.cjs +0 -4
  77. package/packages/_vue2/dist/render-block.d62a967f.cjs +0 -3
  78. package/packages/_vue2/dist/render-component.4342df65.cjs +0 -1
  79. package/packages/_vue2/dist/render-component.75cfc72e.js +0 -38
  80. package/packages/_vue2/dist/render-inlined-styles.36f2f1b9.cjs +0 -1
  81. package/packages/_vue2/dist/src/functions/mark-mutable.d.ts +0 -2
  82. package/packages/_vue3/dist/block-styles.4388e73f.cjs +0 -6
  83. package/packages/_vue3/dist/block-styles.e92f0e4a.js +0 -83
  84. package/packages/_vue3/dist/index.528ea0ff.cjs +0 -4
  85. package/packages/_vue3/dist/render-block.3d77314f.cjs +0 -3
  86. package/packages/_vue3/dist/render-component.2630f2f7.cjs +0 -1
  87. package/packages/_vue3/dist/render-inlined-styles.7be0edda.cjs +0 -1
  88. package/packages/_vue3/dist/src/functions/mark-mutable.d.ts +0 -2
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "workspaces": [
5
5
  "packages/*"
6
6
  ],
7
- "version": "0.0.4",
7
+ "version": "0.0.5",
8
8
  "dependencies": {
9
9
  "node-fetch": "^2.6.1"
10
10
  },
@@ -0,0 +1,117 @@
1
+ import { f, T as x, n as y } from "./index.7a7ff238.js";
2
+ import { g as S } from "./get-processed-block.d176d859.js";
3
+ const m = {
4
+ small: {
5
+ min: 320,
6
+ default: 321,
7
+ max: 640
8
+ },
9
+ medium: {
10
+ min: 641,
11
+ default: 642,
12
+ max: 991
13
+ },
14
+ large: {
15
+ min: 990,
16
+ default: 991,
17
+ max: 1200
18
+ }
19
+ }, i = (e, t = m) => `@media (max-width: ${t[e].max}px)`, h = ({ small: e, medium: t }) => {
20
+ const s = f(m);
21
+ if (!e || !t)
22
+ return s;
23
+ const n = Math.floor(e / 2);
24
+ s.small = {
25
+ max: e,
26
+ min: n,
27
+ default: n + 1
28
+ };
29
+ const o = s.small.max + 1;
30
+ s.medium = {
31
+ max: t,
32
+ min: o,
33
+ default: o + 1
34
+ };
35
+ const a = s.medium.max + 1;
36
+ return s.large = {
37
+ max: 2e3,
38
+ min: a,
39
+ default: a + 1
40
+ }, s;
41
+ }, _ = (e) => e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase(), g = (e) => Object.entries(e).map(([s, n]) => {
42
+ if (typeof n == "string")
43
+ return `${_(s)}: ${n};`;
44
+ }).join(`
45
+ `), r = ({
46
+ mediaQuery: e,
47
+ className: t,
48
+ styles: s
49
+ }) => {
50
+ const n = `.${t} {
51
+ ${g(s)}
52
+ }`;
53
+ return e ? `${e} {
54
+ ${n}
55
+ }` : n;
56
+ }, k = () => import("./render-inlined-styles.a6d217ba.js").then((e) => e.default).catch((e) => {
57
+ throw console.error(
58
+ "Error while attempting to dynamically import component RenderInlinedStyles at ../render-inlined-styles.vue",
59
+ e
60
+ ), e;
61
+ }), C = {
62
+ name: "block-styles",
63
+ components: { RenderInlinedStyles: k },
64
+ props: ["block", "context"],
65
+ data: () => ({ TARGET: x }),
66
+ computed: {
67
+ useBlock() {
68
+ return S({
69
+ block: this.block,
70
+ state: this.context.state,
71
+ context: this.context.context,
72
+ shouldEvaluateBindings: !0
73
+ });
74
+ },
75
+ css() {
76
+ var c;
77
+ const e = this.useBlock.responsiveStyles, t = this.context.content, s = h(
78
+ ((c = t == null ? void 0 : t.meta) == null ? void 0 : c.breakpoints) || {}
79
+ ), n = e == null ? void 0 : e.large, o = e == null ? void 0 : e.medium, a = e == null ? void 0 : e.small, l = this.useBlock.id, d = n ? r({
80
+ className: l,
81
+ styles: n
82
+ }) : "", u = o ? r({
83
+ className: l,
84
+ styles: o,
85
+ mediaQuery: i(
86
+ "medium",
87
+ s
88
+ )
89
+ }) : "", p = a ? r({
90
+ className: l,
91
+ styles: a,
92
+ mediaQuery: i(
93
+ "small",
94
+ s
95
+ )
96
+ }) : "";
97
+ return [d, u, p].join(" ");
98
+ }
99
+ }
100
+ };
101
+ var b = function() {
102
+ var t = this, s = t._self._c;
103
+ return t.TARGET !== "reactNative" && t.css ? s("render-inlined-styles", { attrs: { styles: t.css } }) : t._e();
104
+ }, v = [], $ = /* @__PURE__ */ y(
105
+ C,
106
+ b,
107
+ v,
108
+ !1,
109
+ null,
110
+ null,
111
+ null,
112
+ null
113
+ );
114
+ const M = $.exports;
115
+ export {
116
+ M as default
117
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index.319178a0.cjs"),x=require("./get-processed-block.50c3959c.cjs"),d={small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200}},m=(e,t=d)=>`@media (max-width: ${t[e].max}px)`,y=({small:e,medium:t})=>{const s=a.fastClone(d);if(!e||!t)return s;const n=Math.floor(e/2);s.small={max:e,min:n,default:n+1};const o=s.small.max+1;s.medium={max:t,min:o,default:o+1};const l=s.medium.max+1;return s.large={max:2e3,min:l,default:l+1},s},S=e=>e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase(),g=e=>Object.entries(e).map(([s,n])=>{if(typeof n=="string")return`${S(s)}: ${n};`}).join(`
2
+ `),c=({mediaQuery:e,className:t,styles:s})=>{const n=`.${t} {
3
+ ${g(s)}
4
+ }`;return e?`${e} {
5
+ ${n}
6
+ }`:n},h=()=>Promise.resolve().then(()=>require("./render-inlined-styles.82edc9e3.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}),_={name:"block-styles",components:{RenderInlinedStyles:h},props:["block","context"],data:()=>({TARGET:a.TARGET}),computed:{useBlock(){return x.getProcessedBlock({block:this.block,state:this.context.state,context:this.context.context,shouldEvaluateBindings:!0})},css(){var i;const e=this.useBlock.responsiveStyles,t=this.context.content,s=y(((i=t==null?void 0:t.meta)==null?void 0:i.breakpoints)||{}),n=e==null?void 0:e.large,o=e==null?void 0:e.medium,l=e==null?void 0:e.small,r=this.useBlock.id,u=n?c({className:r,styles:n}):"",p=o?c({className:r,styles:o,mediaQuery:m("medium",s)}):"",f=l?c({className:r,styles:l,mediaQuery:m("small",s)}):"";return[u,p,f].join(" ")}}};var k=function(){var t=this,s=t._self._c;return t.TARGET!=="reactNative"&&t.css?s("render-inlined-styles",{attrs:{styles:t.css}}):t._e()},b=[],v=a.normalizeComponent(_,k,b,!1,null,null,null,null);const C=v.exports;exports.default=C;
@@ -1 +1 @@
1
- "use strict";const o=require("./index.528ea0ff.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.319178a0.cjs"),d=(e,r,i)=>{if(Object(e)!==e)return e;const n=Array.isArray(r)?r:r.toString().match(/[^.[\]]+/g);return n.slice(0,-1).reduce((t,s,c)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(Number(n[c+1]))>>0===+n[c+1]?[]:{},e)[n[n.length-1]]=i,e};const a=({block:e,context:r,state:i})=>{if(!e.bindings)return e;const n=o.fastClone(e),t={...n,properties:{...n.properties},actions:{...n.actions}};for(const s in e.bindings){const c=e.bindings[s],u=o.evaluate({code:c,state:i,context:r});d(t,s,u)}return t};function g({block:e,context:r,shouldEvaluateBindings:i,state:n}){const t=e;return i?a({block:t,state:n,context:r}):t}exports.getProcessedBlock=g;
@@ -1,4 +1,4 @@
1
- import { f as a, e as u } from "./index.7a037186.js";
1
+ import { f as a, e as u } from "./index.7a7ff238.js";
2
2
  const f = (n, r, i) => {
3
3
  if (Object(n) !== n)
4
4
  return n;
@@ -0,0 +1,4 @@
1
+ "use strict";function ce(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const b="vue2";function h(){return typeof window<"u"&&typeof document<"u"}const R={};function U(t,e){let n=R[t];if(n||(n=R[t]=[]),n.push(e),h()){const o={type:"builder.register",data:{type:t,info:e}};try{parent.postMessage(o,"*"),parent!==window&&window.postMessage(o,"*")}catch(r){console.debug("Could not postmessage",r)}}}const le=()=>{U("insertMenu",{name:"_default",default:!0,items:[{name:"Box"},{name:"Text"},{name:"Image"},{name:"Columns"},{name:"Core:Section"},{name:"Core:Button"},{name:"Embed"},{name:"Custom Code"}]})};let $=!1;const de=()=>{var t;$||($=!0,h()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:b,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),window.addEventListener("message",({data:e})=>{var n,o;if(!!(e!=null&&e.type))switch(e.type){case"builder.evaluate":{const r=e.data.text,s=e.data.arguments||[],i=e.data.id,c=new Function(r);let a,l=null;try{a=c.apply(null,s)}catch(d){l=d}l?(n=window.parent)==null||n.postMessage({type:"builder.evaluateError",data:{id:i,error:l.message}},"*"):a&&typeof a.then=="function"?a.then(d=>{var p;(p=window.parent)==null||p.postMessage({type:"builder.evaluateResult",data:{id:i,result:d}},"*")}).catch(console.error):(o=window.parent)==null||o.postMessage({type:"builder.evaluateResult",data:{result:a,id:i}},"*");break}}})))},ue=()=>Promise.resolve().then(()=>ie).then(t=>t.default).catch(t=>{throw console.error("Error while attempting to dynamically import component RenderBlocks at ../../components/render-blocks.vue",t),t}),pe={name:"builder-columns",components:{RenderBlocks:ue},props:["space","columns","stackColumnsAt","reverseColumnsWhenStacked","builderBlock"],computed:{columnsCssVars(){const t=this.stackColumnsAt==="never"?"inherit":this.reverseColumnsWhenStacked?"column-reverse":"column";return{"--flex-dir":t,"--flex-dir-tablet":this.maybeApplyForTablet(t)}},columnCssVars(){const t="100%",e="0";return{"--column-width":t,"--column-margin-left":e,"--column-width-tablet":this.maybeApplyForTablet(t),"--column-margin-left-tablet":this.maybeApplyForTablet(e)}}},methods:{getGutterSize(){return typeof this.space=="number"?this.space||0:20},getColumns(){return this.columns||[]},getWidth(t){var n;const e=this.getColumns();return((n=e[t])==null?void 0:n.width)||100/e.length},getColumnCssWidth(t){const e=this.getColumns(),o=this.getGutterSize()*(e.length-1)/e.length;return`calc(${this.getWidth(t)}% - ${o}px)`},maybeApplyForTablet(t){return(this.stackColumnsAt||"tablet")==="tablet"?t:"inherit"}}};function m(t,e,n,o,r,s,i,c){var a=typeof t=="function"?t.options:t;e&&(a.render=e,a.staticRenderFns=n,a._compiled=!0),o&&(a.functional=!0),s&&(a._scopeId="data-v-"+s);var l;if(i?(l=function(u){u=u||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!u&&typeof __VUE_SSR_CONTEXT__<"u"&&(u=__VUE_SSR_CONTEXT__),r&&r.call(this,u),u&&u._registeredComponents&&u._registeredComponents.add(i)},a._ssrRegister=l):r&&(l=c?function(){r.call(this,(a.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(a.functional){a._injectStyles=l;var d=a.render;a.render=function(ae,T){return l.call(T),d(ae,T)}}else{var p=a.beforeCreate;a.beforeCreate=p?[].concat(p,l):[l]}return{exports:t,options:a}}var me=function(){var e=this,n=e._self._c;return n("div",{staticClass:"builder-columns div-t9spj7joih",style:e.columnsCssVars},e._l(e.columns,function(o,r){return n("div",{key:r,staticClass:"builder-column div-t9spj7joih-2",style:{width:e.getColumnCssWidth(r),marginLeft:`${r===0?0:e.getGutterSize()}px`,...e.columnCssVars}},[n("render-blocks",{attrs:{blocks:o.blocks,path:`component.options.columns.${r}.blocks`,parent:e.builderBlock.id,styleProp:{flexGrow:"1"}}})],1)}),0)},he=[],fe=m(pe,me,he,!1,null,"e789ada8",null,null);const O=fe.exports;function E(t){return t.replace(/http(s)?:/,"")}function ge(t="",e,n){const o=new RegExp("([?&])"+e+"=.*?(&|$)","i"),r=t.indexOf("?")!==-1?"&":"?";return t.match(o)?t.replace(o,"$1"+e+"="+encodeURIComponent(n)+"$2"):t+r+e+"="+encodeURIComponent(n)}function be(t,e){if(!t||!(t!=null&&t.match(/cdn\.shopify\.com/))||!e)return t;if(e==="master")return E(t);const n=t.match(/(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i);if(n){const o=t.split(n[0]),r=n[3],s=e.match("x")?e:`${e}x`;return E(`${o[0]}_${s}${r}`)}return null}function y(t){if(!t)return t;const e=[100,200,400,800,1200,1600,2e3];if(t.match(/builder\.io/)){let n=t;const o=Number(t.split("?width=")[1]);return isNaN(o)||(n=`${n} ${o}w`),e.filter(r=>r!==o).map(r=>`${ge(t,"width",r)} ${r}w`).concat([n]).join(", ")}return t.match(/cdn\.shopify\.com/)?e.map(n=>[be(t,`${n}x${n}`),n]).filter(([n])=>!!n).map(([n,o])=>`${n} ${o}w`).concat([t]).join(", "):t}const ve={name:"builder-image",props:["image","src","srcset","noWebp","altText","backgroundSize","className","sizes","aspectRatio","builderBlock","fitContent"],computed:{srcSetToUse(){var n;const e=this.image||this.src;if(!e||!(e.match(/builder\.io/)||e.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"),y(e)}else if(this.image&&!this.srcset)return y(e);return y(e)},webpSrcSet(){var t;return((t=this.srcSetToUse)==null?void 0:t.match(/builder\.io/))&&!this.noWebp?this.srcSetToUse.replace(/\?/g,"?format=webp&"):""}},methods:{_classStringToObject(t){const e={};if(typeof t!="string")return e;const n=t.trim().split(/\s+/);for(const o of n)e[o]=!0;return e}}};var ye=function(){var o,r,s,i;var e=this,n=e._self._c;return n("div",[n("picture",[e.webpSrcSet?[n("source",{attrs:{type:"image/webp",srcset:e.webpSrcSet}})]:e._e(),n("img",{class:e._classStringToObject("builder-image"+(e.className?" "+e.className:"")+" img-29wpyomtntv"),style:{objectPosition:e.backgroundSize||"center",objectFit:e.backgroundSize||"cover"},attrs:{loading:"lazy",alt:e.altText,role:e.altText?"presentation":void 0,src:e.image,srcset:e.srcSetToUse,sizes:e.sizes}}),n("source",{attrs:{srcset:e.srcSetToUse}})],2),e.aspectRatio&&!(((r=(o=e.builderBlock)==null?void 0:o.children)==null?void 0:r.length)&&e.fitContent)?[n("div",{staticClass:"builder-image-sizer div-29wpyomtntv",style:{paddingTop:e.aspectRatio*100+"%"}})]:e._e(),((i=(s=e.builderBlock)==null?void 0:s.children)==null?void 0:i.length)&&e.fitContent?[e._t("default")]:e._e(),!e.fitContent&&e.children?[n("div",{staticClass:"div-29wpyomtntv-2"},[e._t("default")],2)]:e._e()],2)},_e=[],xe=m(ve,ye,_e,!1,null,"8acd6c79",null,null);const A=xe.exports,Ce={name:"builder-text",props:["text"]};var we=function(){var e=this,n=e._self._c;return n("span",{staticClass:"builder-text",domProps:{innerHTML:e._s(e.text)}})},ke=[],Se=m(Ce,we,ke,!1,null,null,null,null);const V=Se.exports,Ie={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}}}};var Te=function(){var o;var e=this,n=e._self._c;return n("video",e._b({style:{width:"100%",height:"100%",...(o=e.attributes)==null?void 0:o.style,objectFit:e.fit,objectPosition:e.position,borderRadius:1},attrs:{src:e.video||"no-src",poster:e.posterImage}},"video",e.spreadProps,!1))},Re=[],$e=m(Ie,Te,Re,!1,null,null,null,null);const B=$e.exports;function _(t,e=null,n="."){return Object.keys(t).reduce((o,r)=>{const s=t[r],i=[e,r].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...o,..._(s,i,n)}:{...o,[i]:s}},{})}const F="builder.",W=t=>{const e={};return t.forEach((n,o)=>{e[o]=n}),e},L=t=>{if(!t)return{};const e=w(t),n={};return Object.keys(e).forEach(o=>{if(o.startsWith(F)){const r=o.replace(F,"");n[r]=e[o]}}),n},N=()=>{if(!h())return{};const t=new URLSearchParams(window.location.search);return L(t)},w=t=>t instanceof URLSearchParams?W(t):t;function Ee(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:null}async function M(){const t=Ee().fetch;if(typeof t>"u"&&typeof global<"u"){const e=Promise.resolve().then(()=>ce(require("node-fetch"))).then(n=>n.default);return e.default||e}return t.default||t}const Fe=t=>{const e=t.split(".");return e.length>2?e.slice(1).join("."):t},z=async({name:t,canTrack:e})=>{var n;try{return e?(n=document.cookie.split("; ").find(o=>o.startsWith(`${t}=`)))==null?void 0:n.split("=")[1]:void 0}catch(o){console.debug("[COOKIE] GET error: ",o)}},je=t=>t.map(([e,n])=>n?`${e}=${n}`:e).join("; "),Pe=[["secure",""],["SameSite","None"]],Ue=({name:t,value:e,expires:n})=>{const r=(h()?location.protocol==="https:":!0)?Pe:[[]],s=n?[["expires",n.toUTCString()]]:[[]],i=[[t,e],...s,["path","/"],["domain",Fe(window.location.hostname)],...r];return je(i)},H=async({name:t,value:e,expires:n,canTrack:o})=>{try{if(!o)return;const r=Ue({name:t,value:e,expires:n});document.cookie=r}catch(r){console.warn("[COOKIE] SET error: ",r)}},Oe="builderio.variations",q=t=>`${Oe}.${t}`,Ae=({contentId:t,canTrack:e})=>z({name:q(t),canTrack:e}),Ve=({contentId:t,canTrack:e,value:n})=>H({name:q(t),value:n,canTrack:e}),g=t=>t!=null,Be=t=>g(t.id)&&g(t.variations)&&Object.keys(t.variations).length>0,We=({id:t,variations:e})=>{var r;let n=0;const o=Math.random();for(const s in e)if(n+=(r=e[s])==null?void 0:r.testRatio,o<n)return s;return t},j=({item:t,testGroupId:e})=>{const n=t.variations[e];return e===t.id||!n?{testVariationId:t.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===t.id?"Default":"")}},Le=async({item:t,canTrack:e})=>{const n=await Ae({canTrack:e,contentId:t.id}),o=n?j({item:t,testGroupId:n}):void 0;if(o)return o;{const r=We({variations:t.variations,id:t.id});return Ve({contentId:t.id,value:r,canTrack:e}).catch(s=>{console.error("could not store A/B test variation: ",s)}),j({item:t,testGroupId:r})}},Ne=async({item:t,canTrack:e})=>{if(!Be(t))return;const n=await Le({item:t,canTrack:e});Object.assign(t,n)};async function k(t){return(await D({...t,limit:1})).results[0]||null}const K=t=>{const{limit:e=30,userAttributes:n,query:o,noTraverse:r=!1,model:s,apiKey:i,includeRefs:c=!0}=t;if(!i)throw new Error("Missing API key");const a=new URL(`https://cdn.builder.io/api/v2/content/${s}?apiKey=${i}&limit=${e}&noTraverse=${r}&includeRefs=${c}`),l={...N(),...w(t.options||{})},d=_(l);for(const p in d)a.searchParams.set(p,String(d[p]));if(n&&a.searchParams.set("userAttributes",JSON.stringify(n)),o){const p=_({query:o});for(const u in p)a.searchParams.set(u,JSON.stringify(p[u]))}return a};async function D(t){const e=K(t),o=await(await M())(e.href).then(s=>s.json()),r=t.canTrack!==!1;if(r)for(const s of o.results)await Ne({item:s,canTrack:r});return o}const Me=()=>Promise.resolve().then(()=>nn).then(t=>t.default).catch(t=>{throw console.error("Error while attempting to dynamically import component RenderContent at ../../components/render-content/render-content.vue",t),t}),ze={name:"builder-symbol",components:{RenderContent:Me},props:["symbol","attributes"],data:()=>({className:"builder-symbol",fetchedContent:null}),inject:{builderContext:"BuilderContext"},watch:{onUpdateHook0(){const t=this.symbol;t&&!t.content&&!this.fetchedContent&&t.model&&k({model:t.model,apiKey:this.builderContext.apiKey,query:{id:t.entry}}).then(e=>{this.fetchedContent=e})}},computed:{contentToUse(){var t;return((t=this.symbol)==null?void 0:t.content)||this.fetchedContent},onUpdateHook0(){return{0:this.symbol,1:this.fetchedContent}}},methods:{_classStringToObject(t){const e={};if(typeof t!="string")return e;const n=t.trim().split(/\s+/);for(const o of n)e[o]=!0;return e}}};var He=function(){var o,r,s,i,c;var e=this,n=e._self._c;return n("div",e._b({class:e._classStringToObject(e.className),attrs:{dataSet:{class:e.className}}},"div",e.attributes,!1),[n("render-content",{attrs:{apiKey:e.builderContext.apiKey,context:e.builderContext.context,customComponents:Object.values(e.builderContext.registeredComponents),data:{...(o=e.symbol)==null?void 0:o.data,...e.builderContext.state,...(i=(s=(r=e.symbol)==null?void 0:r.content)==null?void 0:s.data)==null?void 0:i.state},model:(c=e.symbol)==null?void 0:c.model,content:e.contentToUse}})],1)},qe=[],Ke=m(ze,He,qe,!1,null,null,null,null);const G=Ke.exports,De={name:"builder-button",props:["attributes","text","link","openLinkInNewTab"]};var Ge=function(){var e=this,n=e._self._c;return e.link?n("a",e._b({attrs:{role:"button",href:e.link,target:e.openLinkInNewTab?"_blank":void 0}},"a",e.attributes,!1),[e._v(" "+e._s(e.text)+" ")]):n("button",e._b({staticClass:"button-2fnk003dqad"},"button",e.attributes,!1),[e._v(" "+e._s(e.text)+" ")])},Je=[],Xe=m(De,Ge,Je,!1,null,"b5c6b7e4",null,null);const J=Xe.exports,Ye={name:"builder-section-component",props:["attributes","maxWidth"]};var Qe=function(){var e=this,n=e._self._c;return n("section",e._b({style:e.maxWidth&&typeof e.maxWidth=="number"?{maxWidth:e.maxWidth}:void 0},"section",e.attributes,!1),[e._t("default")],2)},Ze=[],et=m(Ye,Qe,Ze,!1,null,null,null,null);const X=et.exports,tt={name:"builder-fragment-component",props:[]};var nt=function(){var e=this,n=e._self._c;return n("span",[e._t("default")],2)},ot=[],rt=m(tt,nt,ot,!1,null,null,null,null);const Y=rt.exports,st={name:"Core:Button",builtIn:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13",defaultStyles:{appearance:"none",paddingTop:"15px",paddingBottom:"15px",paddingLeft:"25px",paddingRight:"25px",backgroundColor:"#000000",color:"white",borderRadius:"4px",textAlign:"center",cursor:"pointer"},inputs:[{name:"text",type:"text",defaultValue:"Click me!",bubble:!0},{name:"link",type:"url",bubble:!0},{name:"openLinkInNewTab",type:"boolean",defaultValue:!1,friendlyName:"Open link in new tab"}],static:!0,noWrap:!0},v=t=>{const e=t.toString().trim();return`return (${!e.startsWith("function")&&!e.startsWith("(")?"function ":""}${e}).apply(this, arguments)`},it={name:"Columns",builtIn:!0,inputs:[{name:"columns",type:"array",broadcast:!0,subFields:[{name:"blocks",type:"array",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{name:"width",type:"number",hideFromUI:!0,helperText:"Width %, e.g. set to 50 to fill half of the space"},{name:"link",type:"url",helperText:"Optionally set a url that clicking this column will link to"}],defaultValue:[{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]}],onChange:v(t=>{function e(){n.forEach(o=>{o.delete("width")})}const n=t.get("columns");Array.isArray(n)&&!!n.find(r=>r.get("width"))&&(!!n.find(s=>!s.get("width"))||n.reduce((c,a)=>c+a.get("width"),0)!==100)&&e()})},{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}]},at={name:"Fragment",static:!0,hidden:!0,builtIn:!0,canHaveChildren:!0,noWrap:!0},ct={name:"Image",static:!0,builtIn:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",defaultStyles:{position:"relative",minHeight:"20px",minWidth:"20px",overflow:"hidden"},canHaveChildren:!0,inputs:[{name:"image",type:"file",bubble:!0,allowedFileTypes:["jpeg","jpg","png","svg"],required:!0,defaultValue:"https://cdn.builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",onChange:v(t=>{t.delete("srcset"),t.delete("noWebp");function n(i,c=6e4){return new Promise((a,l)=>{const d=document.createElement("img");let p=!1;d.onload=()=>{p=!0,a(d)},d.addEventListener("error",u=>{console.warn("Image load failed",u.error),l(u.error)}),d.src=i,setTimeout(()=>{p||l(new Error("Image load timed out"))},c)})}function o(i){return Math.round(i*1e3)/1e3}const r=t.get("image"),s=t.get("aspectRatio");if(fetch(r).then(i=>i.blob()).then(i=>{i.type.includes("svg")&&t.set("noWebp",!0)}),r&&(!s||s===.7041))return n(r).then(i=>{const c=t.get("aspectRatio");t.get("image")===r&&(!c||c===.7041)&&i.width&&i.height&&(t.set("aspectRatio",o(i.height/i.width)),t.set("height",i.height),t.set("width",i.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}]},lt={name:"Core:Section",static:!0,builtIn:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",inputs:[{name:"maxWidth",type:"number",defaultValue:1200},{name:"lazyLoad",type:"boolean",defaultValue:!1,advanced:!0,description:"Only render this section when in view"}],defaultStyles:{paddingLeft:"20px",paddingRight:"20px",paddingTop:"50px",paddingBottom:"50px",marginTop:"0px",width:"100vw",marginLeft:"calc(50% - 50vw)"},canHaveChildren:!0,defaultChildren:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{textAlign:"center"}},component:{name:"Text",options:{text:"<p><b>I am a section! My content keeps from getting too wide, so that it's easy to read even on big screens.</b></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur</p>"}}}]},dt={name:"Symbol",noWrap:!0,static:!0,builtIn:!0,inputs:[{name:"symbol",type:"uiSymbol"},{name:"dataOnly",helperText:"Make this a data symbol that doesn't display any UI",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"inheritState",helperText:"Inherit the parent component state and data",type:"boolean",defaultValue:!1,advanced:!0},{name:"renderToLiquid",helperText:"Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"useChildren",hideFromUI:!0,type:"boolean"}]},ut={name:"Text",static:!0,builtIn:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-text_fields-24px%20(1).svg?alt=media&token=12177b73-0ee3-42ca-98c6-0dd003de1929",inputs:[{name:"text",type:"html",required:!0,autoFocus:!0,bubble:!0,defaultValue:"Enter some text..."}],defaultStyles:{lineHeight:"normal",height:"auto",textAlign:"center"}},pt={name:"Video",canHaveChildren:!0,builtIn:!0,defaultStyles:{minHeight:"20px",minWidth:"20px"},image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-videocam-24px%20(1).svg?alt=media&token=49a84e4a-b20e-4977-a650-047f986874bb",inputs:[{name:"video",type:"file",allowedFileTypes:["mp4"],bubble:!0,defaultValue:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/assets%2FKQlEmWDxA0coC3PK6UvkrjwkIGI2%2F28cb070609f546cdbe5efa20e931aa4b?alt=media&token=912e9551-7a7c-4dfb-86b6-3da1537d1a7f",required:!0},{name:"posterImage",type:"file",allowedFileTypes:["jpeg","png"],helperText:"Image to show before the video plays"},{name:"autoPlay",type:"boolean",defaultValue:!0},{name:"controls",type:"boolean",defaultValue:!1},{name:"muted",type:"boolean",defaultValue:!0},{name:"loop",type:"boolean",defaultValue:!0},{name:"playsInline",type:"boolean",defaultValue:!0},{name:"fit",type:"text",defaultValue:"cover",enum:["contain","cover","fill","auto"]},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the aspect ratio",defaultValue:!0,advanced:!0},{name:"position",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"height",type:"number",advanced:!0},{name:"width",type:"number",advanced:!0},{name:"aspectRatio",type:"number",advanced:!0,defaultValue:.7004048582995948},{name:"lazyLoad",type:"boolean",helperText:'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',defaultValue:!0,advanced:!0}]},mt={name:"Embed",static:!0,builtIn:!0,inputs:[{name:"url",type:"url",required:!0,defaultValue:"",helperText:"e.g. enter a youtube url, google map, etc",onChange:v(t=>{const e=t.get("url");if(e)return t.set("content","Loading..."),fetch(`https://iframe.ly/api/iframely?url=${e}&api_key=ae0e60e78201a3f2b0de4b`).then(o=>o.json()).then(o=>{t.get("url")===e&&(o.html?t.set("content",o.html):t.set("content","Invalid url, please try another"))}).catch(o=>{t.set("content","There was an error embedding this URL, please try again or another URL")});t.delete("content")})},{name:"content",type:"html",defaultValue:'<div style="padding: 20px; text-align: center">(Choose an embed URL)<div>',hideFromUI:!0}]},ht=["text/javascript","application/javascript","application/ecmascript"],ft=t=>ht.includes(t.type),gt={name:"builder-embed",props:["content"],data:()=>({scriptsInserted:[],scriptsRun:[],ranInitFn:!1}),watch:{onUpdateHook0(){this.$refs.elem&&!this.ranInitFn&&(this.ranInitFn=!0,this.findAndRunScripts())}},computed:{onUpdateHook0(){return{0:this.$refs.elem,1:this.ranInitFn}}},methods:{findAndRunScripts(){if(!this.$refs.elem||!this.$refs.elem.getElementsByTagName)return;const t=this.$refs.elem.getElementsByTagName("script");for(let e=0;e<t.length;e++){const n=t[e];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(ft(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)}}}}};var bt=function(){var e=this,n=e._self._c;return n("div",{ref:"elem",staticClass:"builder-embed",domProps:{innerHTML:e._s(e.content)}})},vt=[],yt=m(gt,bt,vt,!1,null,null,null,null);const _t=yt.exports;function xt(){return h()&&window.self!==window.top}function f(){return xt()&&window.location.search.indexOf("builder.frameEditing=")!==-1}const Ct={name:"builder-img-component",props:["backgroundSize","backgroundPosition","imgSrc","altText","image","attributes"],data:()=>({isEditing:f})};var wt=function(){var e=this,n=e._self._c;return n("img",e._b({key:e.isEditing()&&e.imgSrc||"default-key",style:{objectFit:e.backgroundSize||"cover",objectPosition:e.backgroundPosition||"center"},attrs:{alt:e.altText,src:e.imgSrc||e.image}},"img",e.attributes,!1))},kt=[],St=m(Ct,wt,kt,!1,null,null,null,null);const It=St.exports,Tt={name:"Raw:Img",hideFromInsertMenu:!0,builtIn:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",inputs:[{name:"image",bubble:!0,type:"file",allowedFileTypes:["jpeg","jpg","png","svg"],required:!0}],noWrap:!0,static:!0},Rt={name:"builder-custom-code",props:["replaceNodes","code"],data:()=>({scriptsInserted:[],scriptsRun:[]}),mounted(){this.findAndRunScripts()},methods:{findAndRunScripts(){if(this.$refs.elem&&this.$refs.elem.getElementsByTagName&&typeof window<"u"){const t=this.$refs.elem.getElementsByTagName("script");for(let e=0;e<t.length;e++){const n=t[e];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(t){const e={};if(typeof t!="string")return e;const n=t.trim().split(/\s+/);for(const o of n)e[o]=!0;return e}}};var $t=function(){var e=this,n=e._self._c;return n("div",{ref:"elem",class:e._classStringToObject("builder-custom-code"+(e.replaceNodes?" replace-nodes":"")),domProps:{innerHTML:e._s(e.code)}})},Et=[],Ft=m(Rt,$t,Et,!1,null,null,null,null);const jt=Ft.exports,Pt={name:"Custom Code",static:!0,builtIn:!0,requiredPermissions:["editCode"],inputs:[{name:"code",type:"html",required:!0,defaultValue:"<p>Hello there, I am custom HTML code!</p>",code:!0},{name:"replaceNodes",type:"boolean",helperText:"Preserve server rendered dom nodes",advanced:!0},{name:"scriptsClientOnly",type:"boolean",defaultValue:!1,helperText:"Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads",advanced:!0}]},Ut=()=>[{component:O,...it},{component:A,...ct},{component:It,...Tt},{component:V,...ut},{component:B,...pt},{component:G,...dt},{component:J,...st},{component:X,...lt},{component:Y,...at},{component:_t,...mt},{component:jt,...Pt}];function x({code:t,context:e,state:n,event:o}){if(t===""){console.warn("Skipping evaluation of empty code block.");return}const r={isEditing:f(),isBrowser:h(),isServer:!h()},i=!(t.includes(";")||t.includes(" return ")||t.trim().startsWith("return "))?`return (${t});`:t;try{return new Function("builder","Builder","state","context","event",i)(r,r,n,e,o)}catch(c){console.warn(`Builder custom code error:
2
+ While Evaluating:
3
+ `,i,`
4
+ `,c.message||c)}}function Q(){return!h()||f()?!1:Boolean(location.search.indexOf("builder.preview=")!==-1)}const S=t=>JSON.parse(JSON.stringify(t)),I=[];function Ot(t,e){return I.push({component:t,...e}),console.warn("registerComponent is deprecated. Use the `customComponents` prop in RenderContent instead to provide your custom components to the builder SDK."),t}const Z=({component:t,...e})=>({type:"builder.registerComponent",data:Vt(e)}),At=t=>typeof t=="function"?v(t):S(t),Vt=({inputs:t,...e})=>({...S(e),inputs:t==null?void 0:t.map(n=>Object.entries(n).reduce((o,[r,s])=>({...o,[r]:At(s)}),{}))});function Bt(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t=="x"?e:e&3|8).toString(16)})}function ee(){return Bt().replace(/-/g,"")}const te="builderSessionId",Wt=async({canTrack:t})=>{if(!t)return;const e=await z({name:te,canTrack:t});if(g(e))return e;{const n=Lt();Nt({id:n,canTrack:t})}},Lt=()=>ee(),Nt=({id:t,canTrack:e})=>H({name:te,value:t,canTrack:e}),ne=()=>h()&&typeof localStorage<"u"?localStorage:void 0,Mt=({key:t,canTrack:e})=>{var n;try{return e?(n=ne())==null?void 0:n.getItem(t):void 0}catch(o){console.debug("[LocalStorage] GET error: ",o)}},zt=({key:t,canTrack:e,value:n})=>{var o;try{e&&((o=ne())==null||o.setItem(t,n))}catch(r){console.debug("[LocalStorage] SET error: ",r)}},oe="builderVisitorId",Ht=({canTrack:t})=>{if(!t)return;const e=Mt({key:oe,canTrack:t});if(g(e))return e;{const n=qt();Kt({id:n,canTrack:t})}},qt=()=>ee(),Kt=({id:t,canTrack:e})=>zt({key:oe,value:t,canTrack:e}),Dt=async({canTrack:t})=>{if(!t)return{visitorId:void 0,sessionId:void 0};const e=await Wt({canTrack:t}),n=Ht({canTrack:t});return{sessionId:e,visitorId:n}},Gt=async({type:t,canTrack:e,apiKey:n,metadata:o,...r})=>({type:t,data:{...r,metadata:JSON.stringify(o),...await Dt({canTrack:e}),ownerId:n}});async function C(t){if(!!t.canTrack&&!f()&&!!(h()||b==="reactNative"))return fetch("https://builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Gt(t)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(e=>{console.error("Failed to track: ",e)})}const Jt=t=>C({...t,canTrack:!0}),Xt=()=>Promise.resolve().then(()=>ie).then(t=>t.default).catch(t=>{throw console.error("Error while attempting to dynamically import component RenderBlocks at ../render-blocks.vue",t),t}),Yt=()=>Promise.resolve().then(()=>require("./render-styles.6bcf5051.cjs")).then(t=>t.default).catch(t=>{throw console.error("Error while attempting to dynamically import component RenderContentStyles at ./components/render-styles.vue",t),t}),Qt={name:"render-content",components:{RenderContentStyles:Yt,RenderBlocks:Xt},props:["content","data","canTrack","context","customComponents","model","apiKey"],data:()=>({forceReRenderCount:0,overrideContent:null,update:0,overrideState:{}}),provide(){const t=this;return{BuilderContext:{get content(){return t.useContent},get state(){return t.contentState},get context(){return t.contextContext},get apiKey(){return t.apiKey},get registeredComponents(){return t.allRegisteredComponents}}}},mounted(){var t,e;if(h()){if(f()&&(this.forceReRenderCount=this.forceReRenderCount+1,le(),de(),Object.values(this.allRegisteredComponents).forEach(n=>{var r;const o=Z(n);(r=window.parent)==null||r.postMessage(o,"*")}),window.addEventListener("message",this.processMessage),window.addEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate)),this.useContent){const n=(t=this.useContent)==null?void 0:t.testVariationId,o=(e=this.useContent)==null?void 0:e.id;C({type:"impression",canTrack:this.canTrackToUse,contentId:o,apiKey:this.apiKey,variationId:n!==o?n:void 0})}if(Q()){const n=new URL(location.href).searchParams;if(this.model&&n.get("builder.preview")===this.model){const o=n.get("apiKey")||n.get("builder.space");o&&k({model:this.model,apiKey:o}).then(r=>{r&&(this.overrideContent=r)})}}this.evaluateJsCode(),this.runHttpRequests(),this.emitStateUpdate()}},watch:{onUpdateHook0(){this.evaluateJsCode()},onUpdateHook1(){this.runHttpRequests()},onUpdateHook2(){this.emitStateUpdate()}},unmounted(){h()&&(window.removeEventListener("message",this.processMessage),window.removeEventListener("builder:component:stateChangeListenerActivated",this.emitStateUpdate))},computed:{useContent(){var e,n;return!this.content&&!this.overrideContent?void 0:{...this.content,...this.overrideContent,data:{...(e=this.content)==null?void 0:e.data,...this.data,...(n=this.overrideContent)==null?void 0:n.data}}},canTrackToUse(){return this.canTrack||!0},contentState(){var t,e;return{...(e=(t=this.content)==null?void 0:t.data)==null?void 0:e.state,...this.data,...this.overrideState}},contextContext(){return this.context||{}},allRegisteredComponents(){return[...Ut(),...I,...this.customComponents||[]].reduce((n,o)=>({...n,[o.name]:o}),{})},httpReqsData(){return{}},shouldRenderContentStyles(){var t,e,n,o,r;return Boolean((((e=(t=this.useContent)==null?void 0:t.data)==null?void 0:e.cssCode)||((r=(o=(n=this.useContent)==null?void 0:n.data)==null?void 0:o.customFonts)==null?void 0:r.length))&&b!=="reactNative")},onUpdateHook0(){var t,e;return{0:(e=(t=this.useContent)==null?void 0:t.data)==null?void 0:e.jsCode}},onUpdateHook1(){var t,e;return{0:(e=(t=this.useContent)==null?void 0:t.data)==null?void 0:e.httpRequests}},onUpdateHook2(){return{0:this.contentState}}},methods:{processMessage(t){const{data:e}=t;if(e)switch(e.type){case"builder.contentUpdate":{const n=e.data,o=n.key||n.alias||n.entry||n.modelName,r=n.data;o===this.model&&(this.overrideContent=r,this.forceReRenderCount=this.forceReRenderCount+1);break}}},evaluateJsCode(){var e,n;const t=(n=(e=this.useContent)==null?void 0:e.data)==null?void 0:n.jsCode;t&&x({code:t,context:this.contextContext,state:this.contentState})},onClick(t){var e,n;if(this.useContent){const o=(e=this.useContent)==null?void 0:e.testVariationId,r=(n=this.useContent)==null?void 0:n.id;C({type:"click",canTrack:this.canTrackToUse,contentId:r,apiKey:this.apiKey,variationId:o!==r?o:void 0})}},evalExpression(t){return t.replace(/{{([^}]+)}}/g,(e,n)=>x({code:n,context:this.contextContext,state:this.contentState}))},handleRequest({url:t,key:e}){M().then(n=>n(t)).then(n=>n.json()).then(n=>{const o={...this.overrideState,[e]:n};this.overrideState=o}).catch(n=>{console.log("error fetching dynamic data",t,n)})},runHttpRequests(){var e,n,o;const t=(o=(n=(e=this.useContent)==null?void 0:e.data)==null?void 0:n.httpRequests)!=null?o:{};Object.entries(t).forEach(([r,s])=>{if(s&&(!this.httpReqsData[r]||f())){const i=this.evalExpression(s);this.handleRequest({url:i,key:r})}})},emitStateUpdate(){f()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:this.contentState,ref:{name:this.model}}}))}}};var Zt=function(){var o,r,s,i,c,a,l;var e=this,n=e._self._c;return e.useContent?n("div",{ref:"elementRef",attrs:{"builder-content-id":(o=e.useContent)==null?void 0:o.id,"builder-model":e.model},on:{click:function(d){return e.onClick(d)}}},[e.shouldRenderContentStyles?[n("render-content-styles",{attrs:{cssCode:(s=(r=e.useContent)==null?void 0:r.data)==null?void 0:s.cssCode,customFonts:(c=(i=e.useContent)==null?void 0:i.data)==null?void 0:c.customFonts}})]:e._e(),n("render-blocks",{key:e.forceReRenderCount,attrs:{blocks:(l=(a=e.useContent)==null?void 0:a.data)==null?void 0:l.blocks}})],2):e._e()},en=[],tn=m(Qt,Zt,en,!1,null,null,null,null);const re=tn.exports,nn=Object.freeze(Object.defineProperty({__proto__:null,default:re},Symbol.toStringTag,{value:"Module"})),on=()=>Promise.resolve().then(()=>require("./block-styles.40e83f61.cjs")).then(t=>t.default).catch(t=>{throw console.error("Error while attempting to dynamically import component BlockStyles at ./render-block/block-styles.vue",t),t}),rn=()=>Promise.resolve().then(()=>require("./render-block.c2a840de.cjs")).then(t=>t.default).catch(t=>{throw console.error("Error while attempting to dynamically import component RenderBlock at ./render-block/render-block.vue",t),t}),sn={name:"render-blocks",components:{RenderBlock:rn,BlockStyles:on},props:["blocks","parent","path","styleProp"],inject:{builderContext:"BuilderContext"},computed:{className(){var t;return"builder-blocks"+((t=this.blocks)!=null&&t.length?"":" no-blocks")}},methods:{onClick(){var t,e;f()&&!((t=this.blocks)!=null&&t.length)&&((e=window.parent)==null||e.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},onMouseEnter(){var t,e;f()&&!((t=this.blocks)!=null&&t.length)&&((e=window.parent)==null||e.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:this.parent,dataPath:this.path}},"*"))},_classStringToObject(t){const e={};if(typeof t!="string")return e;const n=t.trim().split(/\s+/);for(const o of n)e[o]=!0;return e}}};var an=function(){var e=this,n=e._self._c;return n("div",{class:e._classStringToObject(e.className+" div-21azgz5avex"),style:e.styleProp,attrs:{"builder-path":e.path,"builder-parent-id":e.parent,dataSet:{class:e.className}},on:{click:function(o){return e.onClick()},mouseenter:function(o){return e.onMouseEnter()}}},[e.blocks?e._l(e.blocks,function(o,r){return n("render-block",{key:"render-block-"+o.id,attrs:{block:o,context:e.builderContext}})}):e._e(),e.blocks?e._l(e.blocks,function(o,r){return n("block-styles",{key:"block-style-"+o.id,attrs:{block:o,context:e.builderContext}})}):e._e()],2)},cn=[],ln=m(sn,an,cn,!1,null,"0a33c796",null,null);const se=ln.exports,ie=Object.freeze(Object.defineProperty({__proto__:null,default:se},Symbol.toStringTag,{value:"Module"})),P={};function dn(t){if(h()){Object.assign(P,t);const e={type:"builder.settingsChange",data:P};parent.postMessage(e,"*")}}exports.Button=J;exports.Columns=O;exports.Fragment=Y;exports.Image=A;exports.Section=X;exports.Symbol=G;exports.TARGET=b;exports.Text=V;exports.Video=B;exports.components=I;exports.convertSearchParamsToQueryObject=W;exports.createRegisterComponentMessage=Z;exports.evaluate=x;exports.fastClone=S;exports.generateContentUrl=K;exports.getAllContent=D;exports.getBuilderSearchParams=L;exports.getBuilderSearchParamsFromWindow=N;exports.getContent=k;exports.isEditing=f;exports.isPreviewing=Q;exports.normalizeComponent=m;exports.normalizeSearchParams=w;exports.register=U;exports.registerComponent=Ot;exports.renderBlocks=se;exports.renderContent=re;exports.setEditorSettings=dn;exports.track=Jt;