@builder.io/sdk-vue 0.3.2-0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/package.json +1 -1
  2. package/packages/_vue2/dist/block-styles.18ca317b.cjs +1 -0
  3. package/packages/_vue2/dist/{block-styles.22c50e60.js → block-styles.69ca115c.js} +11 -10
  4. package/packages/_vue2/dist/css.24c082d4.cjs +6 -0
  5. package/packages/_vue2/dist/css.ce776b44.js +75 -0
  6. package/packages/_vue2/dist/evaluate.8238dbc9.js +63 -0
  7. package/packages/_vue2/dist/evaluate.cff086ca.cjs +4 -0
  8. package/packages/_vue2/dist/index.c16f4cca.cjs +32 -0
  9. package/packages/_vue2/dist/index.e2db82e0.js +1372 -0
  10. package/packages/_vue2/dist/{render-block.11a66585.js → render-block.0f23cd7e.js} +22 -21
  11. package/packages/_vue2/dist/render-block.954cc390.cjs +3 -0
  12. package/packages/_vue2/dist/{render-component.dc53dbd0.js → render-component.74280c04.js} +3 -3
  13. package/packages/_vue2/dist/render-component.e8047ef5.cjs +1 -0
  14. package/packages/_vue2/dist/render-content.672eabd9.js +1359 -0
  15. package/packages/_vue2/dist/render-content.702f0387.cjs +1 -0
  16. package/packages/_vue2/dist/render-inlined-styles.2c0cf85b.cjs +1 -0
  17. package/packages/_vue2/dist/render-inlined-styles.ac06208e.js +23 -0
  18. package/packages/_vue2/dist/{render-repeated-block.1cb6b42e.cjs → render-repeated-block.5740965b.cjs} +1 -1
  19. package/packages/_vue2/dist/{render-repeated-block.7b83bd13.js → render-repeated-block.c40e7c25.js} +2 -2
  20. package/packages/_vue2/dist/{render-styles.37cf66d9.js → render-styles.af4e2d5a.js} +3 -3
  21. package/packages/_vue2/dist/{render-styles.fe76b092.cjs → render-styles.e6e62ba1.cjs} +6 -6
  22. package/packages/_vue2/dist/sdk.cjs +1 -1
  23. package/packages/_vue2/dist/sdk.js +19 -23
  24. package/packages/_vue2/dist/src/blocks/button/button.vue.d.ts +1 -1
  25. package/packages/_vue2/dist/src/blocks/columns/columns.vue.d.ts +1 -1
  26. package/packages/_vue2/dist/src/blocks/custom-code/custom-code.vue.d.ts +1 -1
  27. package/packages/_vue2/dist/src/blocks/image/image.vue.d.ts +1 -1
  28. package/packages/_vue2/dist/src/blocks/symbol/symbol.vue.d.ts +1 -1
  29. package/packages/_vue2/dist/src/components/render-blocks.vue.d.ts +1 -1
  30. package/packages/_vue2/dist/src/components/render-content/render-content.types.d.ts +9 -2
  31. package/packages/_vue2/dist/src/components/render-content/render-content.vue.d.ts +2 -0
  32. package/packages/_vue2/dist/src/components/render-content-variants/helpers.d.ts +17 -0
  33. package/packages/_vue2/dist/src/components/render-content-variants/render-content-variants.vue.d.ts +29 -0
  34. package/packages/_vue2/dist/src/components/render-inlined-styles.vue.d.ts +4 -6
  35. package/packages/_vue2/dist/src/constants/sdk-version.d.ts +1 -1
  36. package/packages/_vue2/dist/src/functions/get-builder-search-params/index.d.ts +6 -0
  37. package/packages/_vue2/dist/src/functions/get-content/index.d.ts +7 -2
  38. package/packages/_vue2/dist/src/helpers/ab-tests.d.ts +8 -7
  39. package/packages/_vue2/dist/src/helpers/canTrack.d.ts +1 -0
  40. package/packages/_vue2/dist/src/helpers/cookie.d.ts +7 -3
  41. package/packages/_vue2/dist/src/helpers/logger.d.ts +1 -0
  42. package/packages/_vue2/dist/src/index-helpers/blocks-exports.d.ts +1 -1
  43. package/packages/_vue2/dist/src/index.d.ts +9 -7
  44. package/packages/_vue2/dist/src/types/builder-content.d.ts +1 -3
  45. package/packages/_vue2/dist/src/types/targets.d.ts +3 -0
  46. package/packages/_vue2/dist/style.css +1 -1
  47. package/packages/_vue3/dist/{block-styles.c0e7bfbe.js → block-styles.7969d695.js} +10 -9
  48. package/packages/_vue3/dist/block-styles.e3f09eb7.cjs +1 -0
  49. package/packages/_vue3/dist/css.5cacc3c3.cjs +6 -0
  50. package/packages/_vue3/dist/css.7fe37cb4.js +75 -0
  51. package/packages/_vue3/dist/evaluate.975fa4d3.js +63 -0
  52. package/packages/_vue3/dist/evaluate.9a614eea.cjs +4 -0
  53. package/packages/_vue3/dist/index.3f716812.cjs +32 -0
  54. package/packages/_vue3/dist/index.cdd37dcf.js +1393 -0
  55. package/packages/_vue3/dist/{render-block.d0ed34b4.js → render-block.348e561a.js} +16 -15
  56. package/packages/_vue3/dist/render-block.d1c4ccaa.cjs +3 -0
  57. package/packages/_vue3/dist/{render-component.77f33093.cjs → render-component.788543b4.cjs} +1 -1
  58. package/packages/_vue3/dist/{render-component.268e7bd8.js → render-component.9bd5c435.js} +3 -3
  59. package/packages/_vue3/dist/render-content.0423df8b.js +1355 -0
  60. package/packages/_vue3/dist/render-content.17e9b187.cjs +1 -0
  61. package/packages/_vue3/dist/render-inlined-styles.49a121f8.js +16 -0
  62. package/packages/_vue3/dist/render-inlined-styles.528fb5cd.cjs +1 -0
  63. package/packages/_vue3/dist/{render-repeated-block.0d46ab69.cjs → render-repeated-block.04301799.cjs} +1 -1
  64. package/packages/_vue3/dist/{render-repeated-block.b1101852.js → render-repeated-block.35a0d813.js} +2 -2
  65. package/packages/_vue3/dist/{render-styles.7f31b369.js → render-styles.3411b577.js} +3 -3
  66. package/packages/_vue3/dist/{render-styles.5073866f.cjs → render-styles.b4509dd3.cjs} +3 -3
  67. package/packages/_vue3/dist/sdk.cjs +1 -1
  68. package/packages/_vue3/dist/sdk.js +20 -24
  69. package/packages/_vue3/dist/src/blocks/button/button.vue.d.ts +1 -1
  70. package/packages/_vue3/dist/src/blocks/columns/columns.vue.d.ts +1 -1
  71. package/packages/_vue3/dist/src/blocks/custom-code/custom-code.vue.d.ts +1 -1
  72. package/packages/_vue3/dist/src/blocks/image/image.vue.d.ts +1 -1
  73. package/packages/_vue3/dist/src/blocks/symbol/symbol.vue.d.ts +1 -1
  74. package/packages/_vue3/dist/src/components/render-blocks.vue.d.ts +1 -1
  75. package/packages/_vue3/dist/src/components/render-content/render-content.types.d.ts +9 -2
  76. package/packages/_vue3/dist/src/components/render-content/render-content.vue.d.ts +17 -3
  77. package/packages/_vue3/dist/src/components/render-content-variants/helpers.d.ts +17 -0
  78. package/packages/_vue3/dist/src/components/render-content-variants/render-content-variants.vue.d.ts +29 -0
  79. package/packages/_vue3/dist/src/components/render-inlined-styles.vue.d.ts +4 -6
  80. package/packages/_vue3/dist/src/constants/sdk-version.d.ts +1 -1
  81. package/packages/_vue3/dist/src/functions/get-builder-search-params/index.d.ts +6 -0
  82. package/packages/_vue3/dist/src/functions/get-content/index.d.ts +7 -2
  83. package/packages/_vue3/dist/src/helpers/ab-tests.d.ts +8 -7
  84. package/packages/_vue3/dist/src/helpers/canTrack.d.ts +1 -0
  85. package/packages/_vue3/dist/src/helpers/cookie.d.ts +7 -3
  86. package/packages/_vue3/dist/src/helpers/logger.d.ts +1 -0
  87. package/packages/_vue3/dist/src/index-helpers/blocks-exports.d.ts +1 -1
  88. package/packages/_vue3/dist/src/index.d.ts +9 -7
  89. package/packages/_vue3/dist/src/types/builder-content.d.ts +1 -3
  90. package/packages/_vue3/dist/src/types/targets.d.ts +3 -0
  91. package/packages/_vue3/dist/style.css +1 -1
  92. package/packages/_vue2/dist/block-styles.82ffdfab.cjs +0 -1
  93. package/packages/_vue2/dist/css.d1f35fa9.js +0 -74
  94. package/packages/_vue2/dist/css.d67364ee.cjs +0 -6
  95. package/packages/_vue2/dist/index.1955e2ac.js +0 -2586
  96. package/packages/_vue2/dist/index.2eccdb53.cjs +0 -29
  97. package/packages/_vue2/dist/render-block.742f7d9b.cjs +0 -3
  98. package/packages/_vue2/dist/render-component.8f5204ca.cjs +0 -1
  99. package/packages/_vue2/dist/render-inlined-styles.1887b766.cjs +0 -1
  100. package/packages/_vue2/dist/render-inlined-styles.955770d4.js +0 -34
  101. package/packages/_vue2/dist/src/functions/get-content/ab-testing.d.ts +0 -5
  102. package/packages/_vue3/dist/block-styles.18a1a0e6.cjs +0 -1
  103. package/packages/_vue3/dist/css.7a6108f3.cjs +0 -6
  104. package/packages/_vue3/dist/css.ee7d0ab8.js +0 -74
  105. package/packages/_vue3/dist/index.c3536d81.js +0 -2574
  106. package/packages/_vue3/dist/index.e7a22b43.cjs +0 -29
  107. package/packages/_vue3/dist/render-block.bcafe494.cjs +0 -3
  108. package/packages/_vue3/dist/render-inlined-styles.5aa04bb8.js +0 -32
  109. package/packages/_vue3/dist/render-inlined-styles.86c0a89d.cjs +0 -1
  110. package/packages/_vue3/dist/src/functions/get-content/ab-testing.d.ts +0 -5
@@ -1,2586 +0,0 @@
1
- import { defineComponent as f } from "vue";
2
- const Q = f({
3
- name: "builder-button",
4
- props: ["attributes", "text", "link", "openLinkInNewTab"],
5
- methods: {
6
- filterAttrs: function(e = {}, n) {
7
- const o = "v-on:";
8
- return Object.keys(e).filter((r) => {
9
- if (!e[r])
10
- return !1;
11
- const s = r.startsWith(o);
12
- return n ? s : !s;
13
- }).reduce(
14
- (r, s) => ({
15
- ...r,
16
- [s.replace(o, "")]: e[s]
17
- }),
18
- {}
19
- );
20
- },
21
- _classStringToObject(t) {
22
- const e = {};
23
- if (typeof t != "string")
24
- return e;
25
- const n = t.trim().split(/\s+/);
26
- for (const o of n)
27
- e[o] = !0;
28
- return e;
29
- }
30
- }
31
- });
32
- function h(t, e, n, o, r, s, i, c) {
33
- var a = typeof t == "function" ? t.options : t;
34
- e && (a.render = e, a.staticRenderFns = n, a._compiled = !0), o && (a.functional = !0), s && (a._scopeId = "data-v-" + s);
35
- var l;
36
- if (i ? (l = function(u) {
37
- 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);
38
- }, a._ssrRegister = l) : r && (l = c ? function() {
39
- r.call(
40
- this,
41
- (a.functional ? this.parent : this).$root.$options.shadowRoot
42
- );
43
- } : r), l)
44
- if (a.functional) {
45
- a._injectStyles = l;
46
- var d = a.render;
47
- a.render = function(y, b) {
48
- return l.call(b), d(y, b);
49
- };
50
- } else {
51
- var p = a.beforeCreate;
52
- a.beforeCreate = p ? [].concat(p, l) : [l];
53
- }
54
- return {
55
- exports: t,
56
- options: a
57
- };
58
- }
59
- var Z = function() {
60
- var e = this, n = e._self._c;
61
- return e._self._setupProxy, e.link ? n("a", e._g(e._b({ attrs: { role: "button", href: e.link, target: e.openLinkInNewTab ? "_blank" : void 0 } }, "a", e.filterAttrs(e.attributes, !1), !1), e.filterAttrs(e.attributes, !0)), [e._v(" " + e._s(e.text) + " ")]) : n("button", e._g(e._b({ class: e._classStringToObject(
62
- e.attributes.class + " button-2fnk003dqad"
63
- ) }, "button", e.filterAttrs(e.attributes, !1), !1), e.filterAttrs(e.attributes, !0)), [e._v(" " + e._s(e.text) + " ")]);
64
- }, ee = [], te = /* @__PURE__ */ h(
65
- Q,
66
- Z,
67
- ee,
68
- !1,
69
- null,
70
- "5f197ca9",
71
- null,
72
- null
73
- );
74
- const ne = te.exports, T = (t) => JSON.parse(JSON.stringify(t)), W = {
75
- small: {
76
- min: 320,
77
- default: 321,
78
- max: 640
79
- },
80
- medium: {
81
- min: 641,
82
- default: 642,
83
- max: 991
84
- },
85
- large: {
86
- min: 990,
87
- default: 991,
88
- max: 1200
89
- }
90
- }, An = (t, e = W) => `@media (max-width: ${e[t].max}px)`, oe = ({ small: t, medium: e }) => {
91
- const n = T(W);
92
- if (!t || !e)
93
- return n;
94
- const o = Math.floor(t / 2);
95
- n.small = {
96
- max: t,
97
- min: o,
98
- default: o + 1
99
- };
100
- const r = n.small.max + 1;
101
- n.medium = {
102
- max: e,
103
- min: r,
104
- default: r + 1
105
- };
106
- const s = n.medium.max + 1;
107
- return n.large = {
108
- max: 2e3,
109
- min: s,
110
- default: s + 1
111
- }, n;
112
- }, x = "vue2", re = Symbol(), k = {
113
- Builder: {
114
- content: null,
115
- context: {},
116
- localState: void 0,
117
- rootSetState() {
118
- },
119
- rootState: {},
120
- apiKey: null,
121
- apiVersion: void 0,
122
- registeredComponents: {},
123
- inheritedStyles: {}
124
- },
125
- key: re
126
- }, se = () => Promise.resolve().then(() => M).then((t) => t.default).catch((t) => {
127
- throw console.error(
128
- "Error while attempting to dynamically import component RenderBlocks at ../../components/render-blocks.vue",
129
- t
130
- ), t;
131
- }), ie = () => import("./render-inlined-styles.955770d4.js").then((t) => t.default).catch((t) => {
132
- throw console.error(
133
- "Error while attempting to dynamically import component RenderInlinedStyles at ../../components/render-inlined-styles.vue",
134
- t
135
- ), t;
136
- }), ae = f({
137
- name: "builder-columns",
138
- components: {
139
- RenderInlinedStyles: ie,
140
- RenderBlocks: se
141
- },
142
- props: [
143
- "space",
144
- "columns",
145
- "stackColumnsAt",
146
- "reverseColumnsWhenStacked",
147
- "builderBlock"
148
- ],
149
- data() {
150
- return {
151
- gutterSize: typeof this.space == "number" ? this.space || 0 : 20,
152
- cols: this.columns || [],
153
- stackAt: this.stackColumnsAt || "tablet",
154
- flexDir: this.stackColumnsAt === "never" ? "row" : this.reverseColumnsWhenStacked ? "column-reverse" : "column",
155
- TARGET: x
156
- };
157
- },
158
- inject: {
159
- builderContext: k.key
160
- },
161
- computed: {
162
- columnsCssVars() {
163
- return {
164
- "--flex-dir": this.flexDir,
165
- "--flex-dir-tablet": this.getTabletStyle({
166
- stackedStyle: this.flexDir,
167
- desktopStyle: "row"
168
- })
169
- };
170
- },
171
- columnsStyles() {
172
- return `
173
- @media (max-width: ${this.getWidthForBreakpointSize("medium")}px) {
174
- .${this.builderBlock.id}-breakpoints {
175
- flex-direction: var(--flex-dir-tablet);
176
- align-items: stretch;
177
- }
178
-
179
- .${this.builderBlock.id}-breakpoints > .builder-column {
180
- width: var(--column-width-tablet) !important;
181
- margin-left: var(--column-margin-left-tablet) !important;
182
- }
183
- }
184
-
185
- @media (max-width: ${this.getWidthForBreakpointSize("small")}px) {
186
- .${this.builderBlock.id}-breakpoints {
187
- flex-direction: var(--flex-dir);
188
- align-items: stretch;
189
- }
190
-
191
- .${this.builderBlock.id}-breakpoints > .builder-column {
192
- width: var(--column-width-mobile) !important;
193
- margin-left: var(--column-margin-left-mobile) !important;
194
- }
195
- },
196
- `;
197
- }
198
- },
199
- methods: {
200
- getWidth(t) {
201
- var e;
202
- return ((e = this.cols[t]) == null ? void 0 : e.width) || 100 / this.cols.length;
203
- },
204
- getColumnCssWidth(t) {
205
- const e = this.gutterSize * (this.cols.length - 1) / this.cols.length;
206
- return `calc(${this.getWidth(t)}% - ${e}px)`;
207
- },
208
- getTabletStyle({
209
- stackedStyle: t,
210
- desktopStyle: e
211
- }) {
212
- return this.stackAt === "tablet" ? t : e;
213
- },
214
- getMobileStyle({
215
- stackedStyle: t,
216
- desktopStyle: e
217
- }) {
218
- return this.stackAt === "never" ? e : t;
219
- },
220
- columnCssVars(t) {
221
- const e = t === 0 ? 0 : this.gutterSize, n = this.getColumnCssWidth(t), o = `${e}px`, r = "100%", s = 0;
222
- return {
223
- width: n,
224
- "margin-left": o,
225
- "--column-width-mobile": this.getMobileStyle({
226
- stackedStyle: r,
227
- desktopStyle: n
228
- }),
229
- "--column-margin-left-mobile": this.getMobileStyle({
230
- stackedStyle: s,
231
- desktopStyle: o
232
- }),
233
- "--column-width-tablet": this.getTabletStyle({
234
- stackedStyle: r,
235
- desktopStyle: n
236
- }),
237
- "--column-margin-left-tablet": this.getTabletStyle({
238
- stackedStyle: s,
239
- desktopStyle: o
240
- })
241
- };
242
- },
243
- getWidthForBreakpointSize(t) {
244
- var n, o;
245
- return oe(
246
- ((o = (n = this.builderContext.content) == null ? void 0 : n.meta) == null ? void 0 : o.breakpoints) || {}
247
- )[t].max;
248
- },
249
- _classStringToObject(t) {
250
- const e = {};
251
- if (typeof t != "string")
252
- return e;
253
- const n = t.trim().split(/\s+/);
254
- for (const o of n)
255
- e[o] = !0;
256
- return e;
257
- }
258
- }
259
- });
260
- var le = function() {
261
- var e = this, n = e._self._c;
262
- return e._self._setupProxy, n("div", { class: e._classStringToObject(
263
- `builder-columns ${e.builderBlock.id}-breakpoints div-t9spj7joih`
264
- ), style: e.columnsCssVars, attrs: { dataSet: {
265
- "builder-block-name": "builder-columns"
266
- } } }, [e.TARGET !== "reactNative" ? [n("render-inlined-styles", { attrs: { styles: e.columnsStyles } })] : e._e(), e._l(e.columns, function(o, r) {
267
- return n("div", { key: r, staticClass: "builder-column div-t9spj7joih-2", style: e.columnCssVars(r), attrs: { dataSet: {
268
- "builder-block-name": "builder-column"
269
- } } }, [n("render-blocks", { attrs: { blocks: o.blocks, path: `component.options.columns.${r}.blocks`, parent: e.builderBlock.id, styleProp: {
270
- flexGrow: "1"
271
- } } })], 1);
272
- })], 2);
273
- }, ce = [], de = /* @__PURE__ */ h(
274
- ae,
275
- le,
276
- ce,
277
- !1,
278
- null,
279
- "1cba7386",
280
- null,
281
- null
282
- );
283
- const ue = de.exports, pe = f({
284
- name: "builder-fragment-component",
285
- props: []
286
- });
287
- var me = function() {
288
- var e = this, n = e._self._c;
289
- return e._self._setupProxy, n("span", [e._t("default")], 2);
290
- }, fe = [], he = /* @__PURE__ */ h(
291
- pe,
292
- me,
293
- fe,
294
- !1,
295
- null,
296
- null,
297
- null,
298
- null
299
- );
300
- const ge = he.exports;
301
- function E(t) {
302
- return t.replace(/http(s)?:/, "");
303
- }
304
- function be(t = "", e, n) {
305
- const o = new RegExp("([?&])" + e + "=.*?(&|$)", "i"), r = t.indexOf("?") !== -1 ? "&" : "?";
306
- return t.match(o) ? t.replace(o, "$1" + e + "=" + encodeURIComponent(n) + "$2") : t + r + e + "=" + encodeURIComponent(n);
307
- }
308
- function ye(t, e) {
309
- if (!t || !(t != null && t.match(/cdn\.shopify\.com/)) || !e)
310
- return t;
311
- if (e === "master")
312
- return E(t);
313
- const n = t.match(
314
- /(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i
315
- );
316
- if (n) {
317
- const o = t.split(n[0]), r = n[3], s = e.match("x") ? e : `${e}x`;
318
- return E(`${o[0]}_${s}${r}`);
319
- }
320
- return null;
321
- }
322
- function w(t) {
323
- if (!t)
324
- return t;
325
- const e = [100, 200, 400, 800, 1200, 1600, 2e3];
326
- if (t.match(/builder\.io/)) {
327
- let n = t;
328
- const o = Number(t.split("?width=")[1]);
329
- return isNaN(o) || (n = `${n} ${o}w`), e.filter((r) => r !== o).map((r) => `${be(t, "width", r)} ${r}w`).concat([n]).join(", ");
330
- }
331
- return t.match(/cdn\.shopify\.com/) ? e.map((n) => [ye(t, `${n}x${n}`), n]).filter(([n]) => !!n).map(([n, o]) => `${n} ${o}w`).concat([t]).join(", ") : t;
332
- }
333
- const ve = f({
334
- name: "builder-image",
335
- props: [
336
- "image",
337
- "src",
338
- "srcset",
339
- "noWebp",
340
- "aspectRatio",
341
- "altText",
342
- "backgroundPosition",
343
- "backgroundSize",
344
- "className",
345
- "sizes",
346
- "builderBlock",
347
- "fitContent"
348
- ],
349
- computed: {
350
- srcSetToUse() {
351
- var n;
352
- const e = this.image || this.src;
353
- if (!e || !(e.match(/builder\.io/) || e.match(/cdn\.shopify\.com/)))
354
- return this.srcset;
355
- if (this.srcset && ((n = this.image) == null ? void 0 : n.includes("builder.io/api/v1/image"))) {
356
- if (!this.srcset.includes(this.image.split("?")[0]))
357
- return console.debug("Removed given srcset"), w(e);
358
- } else if (this.image && !this.srcset)
359
- return w(e);
360
- return w(e);
361
- },
362
- webpSrcSet() {
363
- var t;
364
- return ((t = this.srcSetToUse) == null ? void 0 : t.match(/builder\.io/)) && !this.noWebp ? this.srcSetToUse.replace(/\?/g, "?format=webp&") : "";
365
- },
366
- aspectRatioCss() {
367
- const t = {
368
- position: "absolute",
369
- height: "100%",
370
- width: "100%",
371
- left: "0px",
372
- top: "0px"
373
- };
374
- return this.aspectRatio ? t : void 0;
375
- }
376
- },
377
- methods: {
378
- _classStringToObject(t) {
379
- const e = {};
380
- if (typeof t != "string")
381
- return e;
382
- const n = t.trim().split(/\s+/);
383
- for (const o of n)
384
- e[o] = !0;
385
- return e;
386
- }
387
- }
388
- });
389
- var _e = function() {
390
- var o, r, s, i;
391
- var e = this, n = e._self._c;
392
- return e._self._setupProxy, n("div", [n("picture", [e.webpSrcSet ? [n("source", { attrs: { type: "image/webp", srcset: e.webpSrcSet } })] : e._e(), n("img", { class: e._classStringToObject(
393
- "builder-image" + (e.className ? " " + e.className : "") + " img-1pl23ac79ld"
394
- ), style: {
395
- objectPosition: e.backgroundPosition || "center",
396
- objectFit: e.backgroundSize || "cover",
397
- ...e.aspectRatioCss
398
- }, attrs: { loading: "lazy", alt: e.altText, role: e.altText ? "presentation" : void 0, src: e.image, srcset: e.srcSetToUse, sizes: e.sizes } })], 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-1pl23ac79ld", style: {
399
- paddingTop: e.aspectRatio * 100 + "%"
400
- } })] : 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-1pl23ac79ld-2" }, [e._t("default")], 2)] : e._e()], 2);
401
- }, xe = [], ke = /* @__PURE__ */ h(
402
- ve,
403
- _e,
404
- xe,
405
- !1,
406
- null,
407
- "0d553173",
408
- null,
409
- null
410
- );
411
- const Se = ke.exports;
412
- function m() {
413
- return typeof window < "u" && typeof document < "u";
414
- }
415
- function we() {
416
- return m() && window.self !== window.top;
417
- }
418
- function g() {
419
- return we() && window.location.search.indexOf("builder.frameEditing=") !== -1;
420
- }
421
- const Ce = () => import("./block-styles.22c50e60.js").then((t) => t.default).catch((t) => {
422
- throw console.error(
423
- "Error while attempting to dynamically import component BlockStyles at ./render-block/block-styles.vue",
424
- t
425
- ), t;
426
- }), Ie = () => import("./render-block.11a66585.js").then((t) => t.default).catch((t) => {
427
- throw console.error(
428
- "Error while attempting to dynamically import component RenderBlock at ./render-block/render-block.vue",
429
- t
430
- ), t;
431
- }), Re = f({
432
- name: "render-blocks",
433
- components: { RenderBlock: Ie, BlockStyles: Ce },
434
- props: ["blocks", "parent", "path", "styleProp"],
435
- inject: {
436
- builderContext: k.key
437
- },
438
- computed: {
439
- className() {
440
- var t;
441
- return "builder-blocks" + ((t = this.blocks) != null && t.length ? "" : " no-blocks");
442
- }
443
- },
444
- methods: {
445
- onClick() {
446
- var t, e;
447
- g() && !((t = this.blocks) != null && t.length) && ((e = window.parent) == null || e.postMessage(
448
- {
449
- type: "builder.clickEmptyBlocks",
450
- data: {
451
- parentElementId: this.parent,
452
- dataPath: this.path
453
- }
454
- },
455
- "*"
456
- ));
457
- },
458
- onMouseEnter() {
459
- var t, e;
460
- g() && !((t = this.blocks) != null && t.length) && ((e = window.parent) == null || e.postMessage(
461
- {
462
- type: "builder.hoverEmptyBlocks",
463
- data: {
464
- parentElementId: this.parent,
465
- dataPath: this.path
466
- }
467
- },
468
- "*"
469
- ));
470
- },
471
- _classStringToObject(t) {
472
- const e = {};
473
- if (typeof t != "string")
474
- return e;
475
- const n = t.trim().split(/\s+/);
476
- for (const o of n)
477
- e[o] = !0;
478
- return e;
479
- }
480
- }
481
- });
482
- var Te = function() {
483
- var e = this, n = e._self._c;
484
- return e._self._setupProxy, n("div", { class: e._classStringToObject(e.className + " div-21azgz5avex"), style: e.styleProp, attrs: { "builder-path": e.path, "builder-parent-id": e.parent, dataSet: {
485
- class: e.className
486
- } }, on: { click: function(o) {
487
- return e.onClick();
488
- }, mouseenter: function(o) {
489
- return e.onMouseEnter();
490
- } } }, [e.blocks ? e._l(e.blocks, function(o, r) {
491
- return n("render-block", { key: "render-block-" + o.id, attrs: { block: o, context: e.builderContext } });
492
- }) : e._e(), e.blocks ? e._l(e.blocks, function(o, r) {
493
- return n("block-styles", { key: "block-style-" + o.id, attrs: { block: o, context: e.builderContext } });
494
- }) : e._e()], 2);
495
- }, $e = [], Ee = /* @__PURE__ */ h(
496
- Re,
497
- Te,
498
- $e,
499
- !1,
500
- null,
501
- "e4c3b2b6",
502
- null,
503
- null
504
- );
505
- const Pe = Ee.exports, M = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
506
- __proto__: null,
507
- default: Pe
508
- }, Symbol.toStringTag, { value: "Module" })), Ae = {
509
- name: "Core:Button",
510
- image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13",
511
- defaultStyles: {
512
- appearance: "none",
513
- paddingTop: "15px",
514
- paddingBottom: "15px",
515
- paddingLeft: "25px",
516
- paddingRight: "25px",
517
- backgroundColor: "#000000",
518
- color: "white",
519
- borderRadius: "4px",
520
- textAlign: "center",
521
- cursor: "pointer"
522
- },
523
- inputs: [
524
- {
525
- name: "text",
526
- type: "text",
527
- defaultValue: "Click me!",
528
- bubble: !0
529
- },
530
- {
531
- name: "link",
532
- type: "url",
533
- bubble: !0
534
- },
535
- {
536
- name: "openLinkInNewTab",
537
- type: "boolean",
538
- defaultValue: !1,
539
- friendlyName: "Open link in new tab"
540
- }
541
- ],
542
- static: !0,
543
- noWrap: !0
544
- }, S = (t) => {
545
- const e = t.toString().trim();
546
- return `return (${!e.startsWith("function") && !e.startsWith("(") ? "function " : ""}${e}).apply(this, arguments)`;
547
- }, Fe = {
548
- name: "Columns",
549
- inputs: [
550
- {
551
- name: "columns",
552
- type: "array",
553
- broadcast: !0,
554
- subFields: [
555
- {
556
- name: "blocks",
557
- type: "array",
558
- hideFromUI: !0,
559
- defaultValue: [
560
- {
561
- "@type": "@builder.io/sdk:Element",
562
- responsiveStyles: {
563
- large: {
564
- display: "flex",
565
- flexDirection: "column",
566
- alignItems: "stretch",
567
- flexShrink: "0",
568
- position: "relative",
569
- marginTop: "30px",
570
- textAlign: "center",
571
- lineHeight: "normal",
572
- height: "auto",
573
- minHeight: "20px",
574
- minWidth: "20px",
575
- overflow: "hidden"
576
- }
577
- },
578
- component: {
579
- name: "Image",
580
- options: {
581
- image: "https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",
582
- backgroundPosition: "center",
583
- backgroundSize: "cover",
584
- aspectRatio: 0.7004048582995948
585
- }
586
- }
587
- },
588
- {
589
- "@type": "@builder.io/sdk:Element",
590
- responsiveStyles: {
591
- large: {
592
- display: "flex",
593
- flexDirection: "column",
594
- alignItems: "stretch",
595
- flexShrink: "0",
596
- position: "relative",
597
- marginTop: "30px",
598
- textAlign: "center",
599
- lineHeight: "normal",
600
- height: "auto"
601
- }
602
- },
603
- component: {
604
- name: "Text",
605
- options: {
606
- text: "<p>Enter some text...</p>"
607
- }
608
- }
609
- }
610
- ]
611
- },
612
- {
613
- name: "width",
614
- type: "number",
615
- hideFromUI: !0,
616
- helperText: "Width %, e.g. set to 50 to fill half of the space"
617
- },
618
- {
619
- name: "link",
620
- type: "url",
621
- helperText: "Optionally set a url that clicking this column will link to"
622
- }
623
- ],
624
- defaultValue: [
625
- {
626
- blocks: [
627
- {
628
- "@type": "@builder.io/sdk:Element",
629
- responsiveStyles: {
630
- large: {
631
- display: "flex",
632
- flexDirection: "column",
633
- alignItems: "stretch",
634
- flexShrink: "0",
635
- position: "relative",
636
- marginTop: "30px",
637
- textAlign: "center",
638
- lineHeight: "normal",
639
- height: "auto",
640
- minHeight: "20px",
641
- minWidth: "20px",
642
- overflow: "hidden"
643
- }
644
- },
645
- component: {
646
- name: "Image",
647
- options: {
648
- image: "https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",
649
- backgroundPosition: "center",
650
- backgroundSize: "cover",
651
- aspectRatio: 0.7004048582995948
652
- }
653
- }
654
- },
655
- {
656
- "@type": "@builder.io/sdk:Element",
657
- responsiveStyles: {
658
- large: {
659
- display: "flex",
660
- flexDirection: "column",
661
- alignItems: "stretch",
662
- flexShrink: "0",
663
- position: "relative",
664
- marginTop: "30px",
665
- textAlign: "center",
666
- lineHeight: "normal",
667
- height: "auto"
668
- }
669
- },
670
- component: {
671
- name: "Text",
672
- options: {
673
- text: "<p>Enter some text...</p>"
674
- }
675
- }
676
- }
677
- ]
678
- },
679
- {
680
- blocks: [
681
- {
682
- "@type": "@builder.io/sdk:Element",
683
- responsiveStyles: {
684
- large: {
685
- display: "flex",
686
- flexDirection: "column",
687
- alignItems: "stretch",
688
- flexShrink: "0",
689
- position: "relative",
690
- marginTop: "30px",
691
- textAlign: "center",
692
- lineHeight: "normal",
693
- height: "auto",
694
- minHeight: "20px",
695
- minWidth: "20px",
696
- overflow: "hidden"
697
- }
698
- },
699
- component: {
700
- name: "Image",
701
- options: {
702
- image: "https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",
703
- backgroundPosition: "center",
704
- backgroundSize: "cover",
705
- aspectRatio: 0.7004048582995948
706
- }
707
- }
708
- },
709
- {
710
- "@type": "@builder.io/sdk:Element",
711
- responsiveStyles: {
712
- large: {
713
- display: "flex",
714
- flexDirection: "column",
715
- alignItems: "stretch",
716
- flexShrink: "0",
717
- position: "relative",
718
- marginTop: "30px",
719
- textAlign: "center",
720
- lineHeight: "normal",
721
- height: "auto"
722
- }
723
- },
724
- component: {
725
- name: "Text",
726
- options: {
727
- text: "<p>Enter some text...</p>"
728
- }
729
- }
730
- }
731
- ]
732
- }
733
- ],
734
- onChange: S((t) => {
735
- function e() {
736
- n.forEach((o) => {
737
- o.delete("width");
738
- });
739
- }
740
- const n = t.get("columns");
741
- Array.isArray(n) && !!n.find(
742
- (r) => r.get("width")
743
- ) && (!!n.find(
744
- (s) => !s.get("width")
745
- ) || n.reduce((c, a) => c + a.get("width"), 0) !== 100) && e();
746
- })
747
- },
748
- {
749
- name: "space",
750
- type: "number",
751
- defaultValue: 20,
752
- helperText: "Size of gap between columns",
753
- advanced: !0
754
- },
755
- {
756
- name: "stackColumnsAt",
757
- type: "string",
758
- defaultValue: "tablet",
759
- helperText: "Convert horizontal columns to vertical at what device size",
760
- enum: ["tablet", "mobile", "never"],
761
- advanced: !0
762
- },
763
- {
764
- name: "reverseColumnsWhenStacked",
765
- type: "boolean",
766
- defaultValue: !1,
767
- helperText: "When stacking columns for mobile devices, reverse the ordering",
768
- advanced: !0
769
- }
770
- ]
771
- }, je = {
772
- name: "Fragment",
773
- static: !0,
774
- hidden: !0,
775
- canHaveChildren: !0,
776
- noWrap: !0
777
- }, Ve = {
778
- name: "Image",
779
- static: !0,
780
- 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",
781
- defaultStyles: {
782
- position: "relative",
783
- minHeight: "20px",
784
- minWidth: "20px",
785
- overflow: "hidden"
786
- },
787
- canHaveChildren: !0,
788
- inputs: [
789
- {
790
- name: "image",
791
- type: "file",
792
- bubble: !0,
793
- allowedFileTypes: ["jpeg", "jpg", "png", "svg"],
794
- required: !0,
795
- defaultValue: "https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a",
796
- onChange: S(
797
- (t) => {
798
- t.delete("srcset"), t.delete("noWebp");
799
- function n(i, c = 6e4) {
800
- return new Promise((a, l) => {
801
- const d = document.createElement("img");
802
- let p = !1;
803
- d.onload = () => {
804
- p = !0, a(d);
805
- }, d.addEventListener("error", (u) => {
806
- console.warn("Image load failed", u.error), l(u.error);
807
- }), d.src = i, setTimeout(() => {
808
- p || l(new Error("Image load timed out"));
809
- }, c);
810
- });
811
- }
812
- function o(i) {
813
- return Math.round(i * 1e3) / 1e3;
814
- }
815
- const r = t.get("image"), s = t.get("aspectRatio");
816
- if (fetch(r).then((i) => i.blob()).then((i) => {
817
- i.type.includes("svg") && t.set("noWebp", !0);
818
- }), r && (!s || s === 0.7041))
819
- return n(r).then((i) => {
820
- const c = t.get("aspectRatio");
821
- t.get("image") === r && (!c || c === 0.7041) && i.width && i.height && (t.set("aspectRatio", o(i.height / i.width)), t.set("height", i.height), t.set("width", i.width));
822
- });
823
- }
824
- )
825
- },
826
- {
827
- name: "backgroundSize",
828
- type: "text",
829
- defaultValue: "cover",
830
- enum: [
831
- {
832
- label: "contain",
833
- value: "contain",
834
- helperText: "The image should never get cropped"
835
- },
836
- {
837
- label: "cover",
838
- value: "cover",
839
- helperText: "The image should fill it's box, cropping when needed"
840
- }
841
- ]
842
- },
843
- {
844
- name: "backgroundPosition",
845
- type: "text",
846
- defaultValue: "center",
847
- enum: [
848
- "center",
849
- "top",
850
- "left",
851
- "right",
852
- "bottom",
853
- "top left",
854
- "top right",
855
- "bottom left",
856
- "bottom right"
857
- ]
858
- },
859
- {
860
- name: "altText",
861
- type: "string",
862
- helperText: "Text to display when the user has images off"
863
- },
864
- {
865
- name: "height",
866
- type: "number",
867
- hideFromUI: !0
868
- },
869
- {
870
- name: "width",
871
- type: "number",
872
- hideFromUI: !0
873
- },
874
- {
875
- name: "sizes",
876
- type: "string",
877
- hideFromUI: !0
878
- },
879
- {
880
- name: "srcset",
881
- type: "string",
882
- hideFromUI: !0
883
- },
884
- {
885
- name: "lazy",
886
- type: "boolean",
887
- defaultValue: !0,
888
- hideFromUI: !0
889
- },
890
- {
891
- name: "fitContent",
892
- type: "boolean",
893
- helperText: "When child blocks are provided, fit to them instead of using the image's aspect ratio",
894
- defaultValue: !0
895
- },
896
- {
897
- name: "aspectRatio",
898
- type: "number",
899
- 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",
900
- advanced: !0,
901
- defaultValue: 0.7041
902
- }
903
- ]
904
- }, Oe = {
905
- name: "Core:Section",
906
- static: !0,
907
- image: "https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",
908
- inputs: [
909
- {
910
- name: "maxWidth",
911
- type: "number",
912
- defaultValue: 1200
913
- },
914
- {
915
- name: "lazyLoad",
916
- type: "boolean",
917
- defaultValue: !1,
918
- advanced: !0,
919
- description: "Only render this section when in view"
920
- }
921
- ],
922
- defaultStyles: {
923
- paddingLeft: "20px",
924
- paddingRight: "20px",
925
- paddingTop: "50px",
926
- paddingBottom: "50px",
927
- marginTop: "0px",
928
- width: "100vw",
929
- marginLeft: "calc(50% - 50vw)"
930
- },
931
- canHaveChildren: !0,
932
- defaultChildren: [
933
- {
934
- "@type": "@builder.io/sdk:Element",
935
- responsiveStyles: {
936
- large: {
937
- textAlign: "center"
938
- }
939
- },
940
- component: {
941
- name: "Text",
942
- options: {
943
- 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>"
944
- }
945
- }
946
- }
947
- ]
948
- }, Ue = f({
949
- name: "builder-section-component",
950
- props: ["maxWidth", "attributes"],
951
- methods: {
952
- filterAttrs: function(e = {}, n) {
953
- const o = "v-on:";
954
- return Object.keys(e).filter((r) => {
955
- if (!e[r])
956
- return !1;
957
- const s = r.startsWith(o);
958
- return n ? s : !s;
959
- }).reduce(
960
- (r, s) => ({
961
- ...r,
962
- [s.replace(o, "")]: e[s]
963
- }),
964
- {}
965
- );
966
- }
967
- }
968
- });
969
- var Be = function() {
970
- var e = this, n = e._self._c;
971
- return e._self._setupProxy, n("section", e._g(e._b({ style: {
972
- width: "100%",
973
- alignSelf: "stretch",
974
- flexGrow: 1,
975
- boxSizing: "border-box",
976
- maxWidth: e.maxWidth || 1200,
977
- display: "flex",
978
- flexDirection: "column",
979
- alignItems: "stretch",
980
- marginLeft: "auto",
981
- marginRight: "auto"
982
- } }, "section", e.filterAttrs(e.attributes, !1), !1), e.filterAttrs(e.attributes, !0)), [e._t("default")], 2);
983
- }, We = [], Me = /* @__PURE__ */ h(
984
- Ue,
985
- Be,
986
- We,
987
- !1,
988
- null,
989
- null,
990
- null,
991
- null
992
- );
993
- const Ne = Me.exports, Le = {
994
- name: "Symbol",
995
- noWrap: !0,
996
- static: !0,
997
- inputs: [
998
- {
999
- name: "symbol",
1000
- type: "uiSymbol"
1001
- },
1002
- {
1003
- name: "dataOnly",
1004
- helperText: "Make this a data symbol that doesn't display any UI",
1005
- type: "boolean",
1006
- defaultValue: !1,
1007
- advanced: !0,
1008
- hideFromUI: !0
1009
- },
1010
- {
1011
- name: "inheritState",
1012
- helperText: "Inherit the parent component state and data",
1013
- type: "boolean",
1014
- defaultValue: !1,
1015
- advanced: !0
1016
- },
1017
- {
1018
- name: "renderToLiquid",
1019
- helperText: "Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting",
1020
- type: "boolean",
1021
- defaultValue: !1,
1022
- advanced: !0,
1023
- hideFromUI: !0
1024
- },
1025
- {
1026
- name: "useChildren",
1027
- hideFromUI: !0,
1028
- type: "boolean"
1029
- }
1030
- ]
1031
- }, C = "[Builder.io]: ", v = {
1032
- log: (...t) => console.log(C, ...t),
1033
- error: (...t) => console.error(C, ...t),
1034
- warn: (...t) => console.warn(C, ...t)
1035
- };
1036
- function Ke() {
1037
- return typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : globalThis;
1038
- }
1039
- function ze() {
1040
- const t = Ke().fetch;
1041
- if (typeof t > "u")
1042
- throw console.warn(
1043
- `Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
1044
- For more information, read https://github.com/BuilderIO/this-package-uses-fetch`
1045
- ), new Error("Builder SDK could not find a global `fetch` function");
1046
- return t;
1047
- }
1048
- const N = ze(), _ = (t) => t != null, De = (t) => {
1049
- if (t === "localhost" || t === "127.0.0.1")
1050
- return t;
1051
- const e = t.split(".");
1052
- return e.length > 2 ? e.slice(1).join(".") : t;
1053
- }, L = async ({
1054
- name: t,
1055
- canTrack: e
1056
- }) => {
1057
- var n;
1058
- try {
1059
- return e ? (n = document.cookie.split("; ").find((o) => o.startsWith(`${t}=`))) == null ? void 0 : n.split("=")[1] : void 0;
1060
- } catch (o) {
1061
- console.debug("[COOKIE] GET error: ", o);
1062
- return;
1063
- }
1064
- }, He = (t) => t.map(([e, n]) => n ? `${e}=${n}` : e).filter(_).join("; "), qe = [
1065
- ["secure", ""],
1066
- ["SameSite", "None"]
1067
- ], Ge = ({
1068
- name: t,
1069
- value: e,
1070
- expires: n
1071
- }) => {
1072
- const r = (m() ? location.protocol === "https:" : !0) ? qe : [[]], s = n ? [["expires", n.toUTCString()]] : [[]], i = [
1073
- [t, e],
1074
- ...s,
1075
- ["path", "/"],
1076
- ["domain", De(window.location.hostname)],
1077
- ...r
1078
- ];
1079
- return He(i);
1080
- }, K = async ({
1081
- name: t,
1082
- value: e,
1083
- expires: n,
1084
- canTrack: o
1085
- }) => {
1086
- try {
1087
- if (!o)
1088
- return;
1089
- const r = Ge({ name: t, value: e, expires: n });
1090
- document.cookie = r;
1091
- } catch (r) {
1092
- console.warn("[COOKIE] SET error: ", r);
1093
- }
1094
- }, Je = "builderio.variations", z = (t) => `${Je}.${t}`, Xe = ({
1095
- contentId: t,
1096
- canTrack: e
1097
- }) => L({ name: z(t), canTrack: e }), Ye = ({
1098
- contentId: t,
1099
- canTrack: e,
1100
- value: n
1101
- }) => K({ name: z(t), value: n, canTrack: e }), Qe = (t) => _(t.id) && _(t.variations) && Object.keys(t.variations).length > 0, Ze = ({
1102
- id: t,
1103
- variations: e
1104
- }) => {
1105
- var r;
1106
- let n = 0;
1107
- const o = Math.random();
1108
- for (const s in e) {
1109
- const i = (r = e[s]) == null ? void 0 : r.testRatio;
1110
- if (n += i, o < n)
1111
- return s;
1112
- }
1113
- return t;
1114
- }, P = ({
1115
- item: t,
1116
- testGroupId: e
1117
- }) => {
1118
- const n = t.variations[e];
1119
- return e === t.id || !n ? {
1120
- testVariationId: t.id,
1121
- testVariationName: "Default"
1122
- } : {
1123
- data: n.data,
1124
- testVariationId: n.id,
1125
- testVariationName: n.name || (n.id === t.id ? "Default" : "")
1126
- };
1127
- }, et = async ({
1128
- item: t,
1129
- canTrack: e
1130
- }) => {
1131
- const n = await Xe({
1132
- canTrack: e,
1133
- contentId: t.id
1134
- }), o = n ? P({ item: t, testGroupId: n }) : void 0;
1135
- if (o)
1136
- return o;
1137
- {
1138
- const r = Ze({
1139
- variations: t.variations,
1140
- id: t.id
1141
- });
1142
- return Ye({
1143
- contentId: t.id,
1144
- value: r,
1145
- canTrack: e
1146
- }).catch((s) => {
1147
- console.error("could not store A/B test variation: ", s);
1148
- }), P({ item: t, testGroupId: r });
1149
- }
1150
- }, tt = async ({
1151
- item: t,
1152
- canTrack: e
1153
- }) => {
1154
- if (!Qe(t))
1155
- return;
1156
- const n = await et({ item: t, canTrack: e });
1157
- Object.assign(t, n);
1158
- };
1159
- function I(t, e = null, n = ".") {
1160
- return Object.keys(t).reduce((o, r) => {
1161
- const s = t[r], i = [e, r].filter(Boolean).join(n);
1162
- return [
1163
- typeof s == "object",
1164
- s !== null,
1165
- !(Array.isArray(s) && s.length === 0)
1166
- ].every(Boolean) ? { ...o, ...I(s, i, n) } : { ...o, [i]: s };
1167
- }, {});
1168
- }
1169
- const A = "builder.", nt = "options.", ot = (t) => {
1170
- const e = {};
1171
- return t.forEach((n, o) => {
1172
- e[o] = n;
1173
- }), e;
1174
- }, rt = (t) => {
1175
- if (!t)
1176
- return {};
1177
- const e = D(t), n = {};
1178
- return Object.keys(e).forEach((o) => {
1179
- if (o.startsWith(A)) {
1180
- const r = o.replace(A, "").replace(nt, "");
1181
- n[r] = e[o];
1182
- }
1183
- }), n;
1184
- }, st = () => {
1185
- if (!m())
1186
- return {};
1187
- const t = new URLSearchParams(window.location.search);
1188
- return rt(t);
1189
- }, D = (t) => t instanceof URLSearchParams ? ot(t) : t, it = "v3", at = (t) => {
1190
- const {
1191
- limit: e = 30,
1192
- userAttributes: n,
1193
- query: o,
1194
- noTraverse: r = !1,
1195
- model: s,
1196
- apiKey: i,
1197
- includeRefs: c = !0,
1198
- enrich: a,
1199
- locale: l,
1200
- apiVersion: d = it
1201
- } = t;
1202
- if (!i)
1203
- throw new Error("Missing API key");
1204
- if (!["v2", "v3"].includes(d))
1205
- throw new Error(
1206
- `Invalid apiVersion: expected 'v2' or 'v3', received '${d}'`
1207
- );
1208
- const p = new URL(
1209
- `https://cdn.builder.io/api/${d}/content/${s}?apiKey=${i}&limit=${e}&noTraverse=${r}&includeRefs=${c}${l ? `&locale=${l}` : ""}${a ? `&enrich=${a}` : ""}`
1210
- ), u = {
1211
- ...st(),
1212
- ...D(t.options || {})
1213
- }, y = I(u);
1214
- for (const b in y)
1215
- p.searchParams.set(b, String(y[b]));
1216
- if (n && p.searchParams.set("userAttributes", JSON.stringify(n)), o) {
1217
- const b = I({ query: o });
1218
- for (const $ in b)
1219
- p.searchParams.set($, JSON.stringify(b[$]));
1220
- }
1221
- return p;
1222
- };
1223
- async function H(t) {
1224
- const e = await lt({ ...t, limit: 1 });
1225
- return e && "results" in e && (e == null ? void 0 : e.results[0]) || null;
1226
- }
1227
- async function lt(t) {
1228
- try {
1229
- const e = at(t), o = await (await N(e.href)).json();
1230
- if ("status" in o && !("results" in o))
1231
- return v.error("Error fetching data. ", { url: e, content: o, options: t }), o;
1232
- const r = t.canTrack !== !1;
1233
- try {
1234
- if (r && Array.isArray(o.results))
1235
- for (const s of o.results)
1236
- await tt({ item: s, canTrack: r });
1237
- } catch (s) {
1238
- v.error("Could not setup A/B testing. ", s);
1239
- }
1240
- return o;
1241
- } catch (e) {
1242
- return v.error("Error fetching data. ", e), null;
1243
- }
1244
- }
1245
- const ct = () => Promise.resolve().then(() => En).then((t) => t.default).catch((t) => {
1246
- throw console.error(
1247
- "Error while attempting to dynamically import component RenderContent at ../../components/render-content/render-content.vue",
1248
- t
1249
- ), t;
1250
- }), dt = f({
1251
- name: "builder-symbol",
1252
- components: { RenderContent: ct },
1253
- props: ["attributes", "symbol", "dynamic"],
1254
- data() {
1255
- var t, e, n;
1256
- return {
1257
- className: [
1258
- ...Object.keys(this.attributes.class),
1259
- "builder-symbol",
1260
- (t = this.symbol) != null && t.inline ? "builder-inline-symbol" : void 0,
1261
- ((e = this.symbol) == null ? void 0 : e.dynamic) || this.dynamic ? "builder-dynamic-symbol" : void 0
1262
- ].filter(Boolean).join(" "),
1263
- contentToUse: (n = this.symbol) == null ? void 0 : n.content
1264
- };
1265
- },
1266
- inject: {
1267
- builderContext: k.key
1268
- },
1269
- mounted() {
1270
- this.fetchContent();
1271
- },
1272
- watch: {
1273
- onUpdateHook0: {
1274
- handler() {
1275
- this.fetchContent();
1276
- },
1277
- immediate: !0
1278
- }
1279
- },
1280
- computed: {
1281
- onUpdateHook0() {
1282
- return {
1283
- 0: this.symbol
1284
- };
1285
- }
1286
- },
1287
- methods: {
1288
- fetchContent() {
1289
- var t, e;
1290
- !this.contentToUse && ((t = this.symbol) == null ? void 0 : t.model) && ((e = this.builderContext) == null ? void 0 : e.apiKey) && H({
1291
- model: this.symbol.model,
1292
- apiKey: this.builderContext.apiKey,
1293
- apiVersion: this.builderContext.apiVersion,
1294
- query: {
1295
- id: this.symbol.entry
1296
- }
1297
- }).then((n) => {
1298
- n && (this.contentToUse = n);
1299
- }).catch((n) => {
1300
- v.error("Could not fetch symbol content: ", n);
1301
- });
1302
- },
1303
- filterAttrs: function(e = {}, n) {
1304
- const o = "v-on:";
1305
- return Object.keys(e).filter((r) => {
1306
- if (!e[r])
1307
- return !1;
1308
- const s = r.startsWith(o);
1309
- return n ? s : !s;
1310
- }).reduce(
1311
- (r, s) => ({
1312
- ...r,
1313
- [s.replace(o, "")]: e[s]
1314
- }),
1315
- {}
1316
- );
1317
- },
1318
- _classStringToObject(t) {
1319
- const e = {};
1320
- if (typeof t != "string")
1321
- return e;
1322
- const n = t.trim().split(/\s+/);
1323
- for (const o of n)
1324
- e[o] = !0;
1325
- return e;
1326
- }
1327
- }
1328
- });
1329
- var ut = function() {
1330
- var o, r, s, i;
1331
- var e = this, n = e._self._c;
1332
- return e._self._setupProxy, n("div", e._g(e._b({ class: e._classStringToObject(e.className), attrs: { dataSet: {
1333
- class: e.className
1334
- } } }, "div", e.filterAttrs(e.attributes, !1), !1), e.filterAttrs(e.attributes, !0)), [n("render-content", { attrs: { apiVersion: e.builderContext.apiVersion, apiKey: e.builderContext.apiKey, context: e.builderContext.context, customComponents: Object.values(e.builderContext.registeredComponents), data: {
1335
- ...(o = e.symbol) == null ? void 0 : o.data,
1336
- ...e.builderContext.localState,
1337
- ...(s = (r = e.contentToUse) == null ? void 0 : r.data) == null ? void 0 : s.state
1338
- }, model: (i = e.symbol) == null ? void 0 : i.model, content: e.contentToUse } })], 1);
1339
- }, pt = [], mt = /* @__PURE__ */ h(
1340
- dt,
1341
- ut,
1342
- pt,
1343
- !1,
1344
- null,
1345
- null,
1346
- null,
1347
- null
1348
- );
1349
- const ft = mt.exports, ht = {
1350
- name: "Text",
1351
- static: !0,
1352
- 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",
1353
- inputs: [
1354
- {
1355
- name: "text",
1356
- type: "html",
1357
- required: !0,
1358
- autoFocus: !0,
1359
- bubble: !0,
1360
- defaultValue: "Enter some text..."
1361
- }
1362
- ],
1363
- defaultStyles: {
1364
- lineHeight: "normal",
1365
- height: "auto",
1366
- textAlign: "center"
1367
- }
1368
- }, gt = f({
1369
- name: "builder-text",
1370
- props: ["text"]
1371
- });
1372
- var bt = function() {
1373
- var e = this, n = e._self._c;
1374
- return e._self._setupProxy, n("span", { staticClass: "builder-text", style: {
1375
- outline: "none"
1376
- }, domProps: { innerHTML: e._s(e.text) } });
1377
- }, yt = [], vt = /* @__PURE__ */ h(
1378
- gt,
1379
- bt,
1380
- yt,
1381
- !1,
1382
- null,
1383
- null,
1384
- null,
1385
- null
1386
- );
1387
- const _t = vt.exports, xt = {
1388
- name: "Video",
1389
- canHaveChildren: !0,
1390
- defaultStyles: {
1391
- minHeight: "20px",
1392
- minWidth: "20px"
1393
- },
1394
- 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",
1395
- inputs: [
1396
- {
1397
- name: "video",
1398
- type: "file",
1399
- allowedFileTypes: ["mp4"],
1400
- bubble: !0,
1401
- defaultValue: "https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/assets%2FKQlEmWDxA0coC3PK6UvkrjwkIGI2%2F28cb070609f546cdbe5efa20e931aa4b?alt=media&token=912e9551-7a7c-4dfb-86b6-3da1537d1a7f",
1402
- required: !0
1403
- },
1404
- {
1405
- name: "posterImage",
1406
- type: "file",
1407
- allowedFileTypes: ["jpeg", "png"],
1408
- helperText: "Image to show before the video plays"
1409
- },
1410
- {
1411
- name: "autoPlay",
1412
- type: "boolean",
1413
- defaultValue: !0
1414
- },
1415
- {
1416
- name: "controls",
1417
- type: "boolean",
1418
- defaultValue: !1
1419
- },
1420
- {
1421
- name: "muted",
1422
- type: "boolean",
1423
- defaultValue: !0
1424
- },
1425
- {
1426
- name: "loop",
1427
- type: "boolean",
1428
- defaultValue: !0
1429
- },
1430
- {
1431
- name: "playsInline",
1432
- type: "boolean",
1433
- defaultValue: !0
1434
- },
1435
- {
1436
- name: "fit",
1437
- type: "text",
1438
- defaultValue: "cover",
1439
- enum: ["contain", "cover", "fill", "auto"]
1440
- },
1441
- {
1442
- name: "fitContent",
1443
- type: "boolean",
1444
- helperText: "When child blocks are provided, fit to them instead of using the aspect ratio",
1445
- defaultValue: !0,
1446
- advanced: !0
1447
- },
1448
- {
1449
- name: "position",
1450
- type: "text",
1451
- defaultValue: "center",
1452
- enum: [
1453
- "center",
1454
- "top",
1455
- "left",
1456
- "right",
1457
- "bottom",
1458
- "top left",
1459
- "top right",
1460
- "bottom left",
1461
- "bottom right"
1462
- ]
1463
- },
1464
- {
1465
- name: "height",
1466
- type: "number",
1467
- advanced: !0
1468
- },
1469
- {
1470
- name: "width",
1471
- type: "number",
1472
- advanced: !0
1473
- },
1474
- {
1475
- name: "aspectRatio",
1476
- type: "number",
1477
- advanced: !0,
1478
- defaultValue: 0.7004048582995948
1479
- },
1480
- {
1481
- name: "lazyLoad",
1482
- type: "boolean",
1483
- helperText: 'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',
1484
- defaultValue: !0,
1485
- advanced: !0
1486
- }
1487
- ]
1488
- }, kt = f({
1489
- name: "builder-video",
1490
- props: [
1491
- "autoPlay",
1492
- "muted",
1493
- "controls",
1494
- "loop",
1495
- "playsInline",
1496
- "attributes",
1497
- "fit",
1498
- "position",
1499
- "video",
1500
- "posterImage"
1501
- ],
1502
- computed: {
1503
- videoProps() {
1504
- return {
1505
- ...this.autoPlay === !0 ? {
1506
- autoPlay: !0
1507
- } : {},
1508
- ...this.muted === !0 ? {
1509
- muted: !0
1510
- } : {},
1511
- ...this.controls === !0 ? {
1512
- controls: !0
1513
- } : {},
1514
- ...this.loop === !0 ? {
1515
- loop: !0
1516
- } : {},
1517
- ...this.playsInline === !0 ? {
1518
- playsInline: !0
1519
- } : {}
1520
- };
1521
- },
1522
- spreadProps() {
1523
- return {
1524
- ...this.attributes,
1525
- ...this.videoProps
1526
- };
1527
- }
1528
- }
1529
- });
1530
- var St = function() {
1531
- var o;
1532
- var e = this, n = e._self._c;
1533
- return e._self._setupProxy, n("video", e._b({ style: {
1534
- width: "100%",
1535
- height: "100%",
1536
- ...(o = e.attributes) == null ? void 0 : o.style,
1537
- objectFit: e.fit,
1538
- objectPosition: e.position,
1539
- borderRadius: 1
1540
- }, attrs: { src: e.video || "no-src", poster: e.posterImage } }, "video", e.spreadProps, !1));
1541
- }, wt = [], Ct = /* @__PURE__ */ h(
1542
- kt,
1543
- St,
1544
- wt,
1545
- !1,
1546
- null,
1547
- null,
1548
- null,
1549
- null
1550
- );
1551
- const It = Ct.exports, Rt = {
1552
- name: "Embed",
1553
- static: !0,
1554
- inputs: [
1555
- {
1556
- name: "url",
1557
- type: "url",
1558
- required: !0,
1559
- defaultValue: "",
1560
- helperText: "e.g. enter a youtube url, google map, etc",
1561
- onChange: S(
1562
- (t) => {
1563
- const e = t.get("url");
1564
- if (e)
1565
- return t.set("content", "Loading..."), fetch(
1566
- `https://iframe.ly/api/iframely?url=${e}&api_key=ae0e60e78201a3f2b0de4b`
1567
- ).then((o) => o.json()).then((o) => {
1568
- t.get("url") === e && (o.html ? t.set("content", o.html) : t.set("content", "Invalid url, please try another"));
1569
- }).catch((o) => {
1570
- t.set(
1571
- "content",
1572
- "There was an error embedding this URL, please try again or another URL"
1573
- );
1574
- });
1575
- t.delete("content");
1576
- }
1577
- )
1578
- },
1579
- {
1580
- name: "content",
1581
- type: "html",
1582
- defaultValue: '<div style="padding: 20px; text-align: center">(Choose an embed URL)<div>',
1583
- hideFromUI: !0
1584
- }
1585
- ]
1586
- }, Tt = [
1587
- "text/javascript",
1588
- "application/javascript",
1589
- "application/ecmascript"
1590
- ], $t = (t) => Tt.includes(t.type), Et = f({
1591
- name: "builder-embed",
1592
- props: ["content"],
1593
- data() {
1594
- return { scriptsInserted: [], scriptsRun: [], ranInitFn: !1 };
1595
- },
1596
- watch: {
1597
- onUpdateHook0: {
1598
- handler() {
1599
- this.$refs.elem && !this.ranInitFn && (this.ranInitFn = !0, this.findAndRunScripts());
1600
- },
1601
- immediate: !0
1602
- }
1603
- },
1604
- computed: {
1605
- onUpdateHook0() {
1606
- return {
1607
- 0: this.$refs.elem,
1608
- 1: this.ranInitFn
1609
- };
1610
- }
1611
- },
1612
- methods: {
1613
- findAndRunScripts() {
1614
- if (!this.$refs.elem || !this.$refs.elem.getElementsByTagName)
1615
- return;
1616
- const t = this.$refs.elem.getElementsByTagName("script");
1617
- for (let e = 0; e < t.length; e++) {
1618
- const n = t[e];
1619
- if (n.src && !this.scriptsInserted.includes(n.src)) {
1620
- this.scriptsInserted.push(n.src);
1621
- const o = document.createElement("script");
1622
- o.async = !0, o.src = n.src, document.head.appendChild(o);
1623
- } else if ($t(n) && !this.scriptsRun.includes(n.innerText))
1624
- try {
1625
- this.scriptsRun.push(n.innerText), new Function(n.innerText)();
1626
- } catch (o) {
1627
- console.warn("`Embed`: Error running script:", o);
1628
- }
1629
- }
1630
- }
1631
- }
1632
- });
1633
- var Pt = function() {
1634
- var e = this, n = e._self._c;
1635
- return e._self._setupProxy, n("div", { ref: "elem", staticClass: "builder-embed", domProps: { innerHTML: e._s(e.content) } });
1636
- }, At = [], Ft = /* @__PURE__ */ h(
1637
- Et,
1638
- Pt,
1639
- At,
1640
- !1,
1641
- null,
1642
- null,
1643
- null,
1644
- null
1645
- );
1646
- const jt = Ft.exports, Vt = f({
1647
- name: "builder-img-component",
1648
- props: [
1649
- "backgroundSize",
1650
- "backgroundPosition",
1651
- "imgSrc",
1652
- "altText",
1653
- "image",
1654
- "attributes"
1655
- ],
1656
- data() {
1657
- return { isEditing: g };
1658
- },
1659
- methods: {
1660
- filterAttrs: function(e = {}, n) {
1661
- const o = "v-on:";
1662
- return Object.keys(e).filter((r) => {
1663
- if (!e[r])
1664
- return !1;
1665
- const s = r.startsWith(o);
1666
- return n ? s : !s;
1667
- }).reduce(
1668
- (r, s) => ({
1669
- ...r,
1670
- [s.replace(o, "")]: e[s]
1671
- }),
1672
- {}
1673
- );
1674
- }
1675
- }
1676
- });
1677
- var Ot = function() {
1678
- var e = this, n = e._self._c;
1679
- return e._self._setupProxy, n("img", e._g(e._b({ key: e.isEditing() && e.imgSrc || "default-key", style: {
1680
- objectFit: e.backgroundSize || "cover",
1681
- objectPosition: e.backgroundPosition || "center"
1682
- }, attrs: { alt: e.altText, src: e.imgSrc || e.image } }, "img", e.filterAttrs(e.attributes, !1), !1), e.filterAttrs(e.attributes, !0)));
1683
- }, Ut = [], Bt = /* @__PURE__ */ h(
1684
- Vt,
1685
- Ot,
1686
- Ut,
1687
- !1,
1688
- null,
1689
- null,
1690
- null,
1691
- null
1692
- );
1693
- const Wt = Bt.exports, Mt = {
1694
- name: "Raw:Img",
1695
- hideFromInsertMenu: !0,
1696
- 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",
1697
- inputs: [
1698
- {
1699
- name: "image",
1700
- bubble: !0,
1701
- type: "file",
1702
- allowedFileTypes: ["jpeg", "jpg", "png", "svg"],
1703
- required: !0
1704
- }
1705
- ],
1706
- noWrap: !0,
1707
- static: !0
1708
- }, Nt = f({
1709
- name: "builder-custom-code",
1710
- props: ["replaceNodes", "code"],
1711
- data() {
1712
- return { scriptsInserted: [], scriptsRun: [] };
1713
- },
1714
- mounted() {
1715
- this.findAndRunScripts();
1716
- },
1717
- methods: {
1718
- findAndRunScripts() {
1719
- if (this.$refs.elem && this.$refs.elem.getElementsByTagName && typeof window < "u") {
1720
- const t = this.$refs.elem.getElementsByTagName("script");
1721
- for (let e = 0; e < t.length; e++) {
1722
- const n = t[e];
1723
- if (n.src) {
1724
- if (this.scriptsInserted.includes(n.src))
1725
- continue;
1726
- this.scriptsInserted.push(n.src);
1727
- const o = document.createElement("script");
1728
- o.async = !0, o.src = n.src, document.head.appendChild(o);
1729
- } else if (!n.type || [
1730
- "text/javascript",
1731
- "application/javascript",
1732
- "application/ecmascript"
1733
- ].includes(n.type)) {
1734
- if (this.scriptsRun.includes(n.innerText))
1735
- continue;
1736
- try {
1737
- this.scriptsRun.push(n.innerText), new Function(n.innerText)();
1738
- } catch (o) {
1739
- console.warn("`CustomCode`: Error running script:", o);
1740
- }
1741
- }
1742
- }
1743
- }
1744
- },
1745
- _classStringToObject(t) {
1746
- const e = {};
1747
- if (typeof t != "string")
1748
- return e;
1749
- const n = t.trim().split(/\s+/);
1750
- for (const o of n)
1751
- e[o] = !0;
1752
- return e;
1753
- }
1754
- }
1755
- });
1756
- var Lt = function() {
1757
- var e = this, n = e._self._c;
1758
- return e._self._setupProxy, n("div", { ref: "elem", class: e._classStringToObject(
1759
- "builder-custom-code" + (e.replaceNodes ? " replace-nodes" : "")
1760
- ), domProps: { innerHTML: e._s(e.code) } });
1761
- }, Kt = [], zt = /* @__PURE__ */ h(
1762
- Nt,
1763
- Lt,
1764
- Kt,
1765
- !1,
1766
- null,
1767
- null,
1768
- null,
1769
- null
1770
- );
1771
- const Dt = zt.exports, Ht = {
1772
- name: "Custom Code",
1773
- static: !0,
1774
- requiredPermissions: ["editCode"],
1775
- inputs: [
1776
- {
1777
- name: "code",
1778
- type: "html",
1779
- required: !0,
1780
- defaultValue: "<p>Hello there, I am custom HTML code!</p>",
1781
- code: !0
1782
- },
1783
- {
1784
- name: "replaceNodes",
1785
- type: "boolean",
1786
- helperText: "Preserve server rendered dom nodes",
1787
- advanced: !0
1788
- },
1789
- {
1790
- name: "scriptsClientOnly",
1791
- type: "boolean",
1792
- defaultValue: !1,
1793
- helperText: "Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads",
1794
- advanced: !0
1795
- }
1796
- ]
1797
- }, qt = () => [
1798
- { component: ne, ...Ae },
1799
- { component: ue, ...Fe },
1800
- { component: Dt, ...Ht },
1801
- { component: jt, ...Rt },
1802
- { component: ge, ...je },
1803
- { component: Se, ...Ve },
1804
- { component: Wt, ...Mt },
1805
- { component: Ne, ...Oe },
1806
- { component: ft, ...Le },
1807
- { component: _t, ...ht },
1808
- { component: It, ...xt }
1809
- ];
1810
- function F({
1811
- code: t,
1812
- context: e,
1813
- localState: n,
1814
- rootState: o,
1815
- rootSetState: r,
1816
- event: s,
1817
- isExpression: i = !0
1818
- }) {
1819
- if (t === "") {
1820
- console.warn("Skipping evaluation of empty code block.");
1821
- return;
1822
- }
1823
- const c = {
1824
- isEditing: g(),
1825
- isBrowser: m(),
1826
- isServer: !m()
1827
- }, l = i && !(t.includes(";") || t.includes(" return ") || t.trim().startsWith("return ")) ? `return (${t});` : t;
1828
- try {
1829
- return new Function(
1830
- "builder",
1831
- "Builder",
1832
- "state",
1833
- "context",
1834
- "event",
1835
- l
1836
- )(
1837
- c,
1838
- c,
1839
- Gt(o, n, r),
1840
- e,
1841
- s
1842
- );
1843
- } catch (d) {
1844
- console.warn(
1845
- `Builder custom code error:
1846
- While Evaluating:
1847
- `,
1848
- l,
1849
- `
1850
- `,
1851
- d
1852
- );
1853
- }
1854
- }
1855
- function Gt(t, e, n) {
1856
- if (t === e)
1857
- throw new Error("rootState === localState");
1858
- return new Proxy(t, {
1859
- get: (o, r) => e && r in e ? e[r] : t[r],
1860
- set: (o, r, s) => {
1861
- if (e && r in e)
1862
- throw new Error(
1863
- "Writing to local state is not allowed as it is read-only."
1864
- );
1865
- return t[r] = s, n == null || n(t), !0;
1866
- }
1867
- });
1868
- }
1869
- function Jt() {
1870
- return !m() || g() ? !1 : Boolean(location.search.indexOf("builder.preview=") !== -1);
1871
- }
1872
- const q = [];
1873
- function Fn(t, e) {
1874
- return q.push({ component: t, ...e }), console.warn(
1875
- "registerComponent is deprecated. Use the `customComponents` prop in RenderContent instead to provide your custom components to the builder SDK."
1876
- ), t;
1877
- }
1878
- const Xt = ({
1879
- component: t,
1880
- ...e
1881
- }) => ({
1882
- type: "builder.registerComponent",
1883
- data: Qt(e)
1884
- }), Yt = (t) => typeof t == "function" ? S(t) : T(t), Qt = ({
1885
- inputs: t,
1886
- ...e
1887
- }) => ({
1888
- ...T(e),
1889
- inputs: t == null ? void 0 : t.map(
1890
- (n) => Object.entries(n).reduce(
1891
- (o, [r, s]) => ({
1892
- ...o,
1893
- [r]: Yt(s)
1894
- }),
1895
- {}
1896
- )
1897
- )
1898
- });
1899
- function Zt() {
1900
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(t) {
1901
- const e = Math.random() * 16 | 0;
1902
- return (t == "x" ? e : e & 3 | 8).toString(16);
1903
- });
1904
- }
1905
- function G() {
1906
- return Zt().replace(/-/g, "");
1907
- }
1908
- const J = "builderSessionId", en = async ({
1909
- canTrack: t
1910
- }) => {
1911
- if (!t)
1912
- return;
1913
- const e = await L({
1914
- name: J,
1915
- canTrack: t
1916
- });
1917
- if (_(e))
1918
- return e;
1919
- {
1920
- const n = tn();
1921
- return nn({ id: n, canTrack: t }), n;
1922
- }
1923
- }, tn = () => G(), nn = ({
1924
- id: t,
1925
- canTrack: e
1926
- }) => K({ name: J, value: t, canTrack: e }), X = () => m() && typeof localStorage < "u" ? localStorage : void 0, on = ({
1927
- key: t,
1928
- canTrack: e
1929
- }) => {
1930
- var n;
1931
- try {
1932
- return e ? (n = X()) == null ? void 0 : n.getItem(t) : void 0;
1933
- } catch (o) {
1934
- console.debug("[LocalStorage] GET error: ", o);
1935
- return;
1936
- }
1937
- }, rn = ({
1938
- key: t,
1939
- canTrack: e,
1940
- value: n
1941
- }) => {
1942
- var o;
1943
- try {
1944
- e && ((o = X()) == null || o.setItem(t, n));
1945
- } catch (r) {
1946
- console.debug("[LocalStorage] SET error: ", r);
1947
- }
1948
- }, Y = "builderVisitorId", sn = ({ canTrack: t }) => {
1949
- if (!t)
1950
- return;
1951
- const e = on({
1952
- key: Y,
1953
- canTrack: t
1954
- });
1955
- if (_(e))
1956
- return e;
1957
- {
1958
- const n = an();
1959
- return ln({ id: n, canTrack: t }), n;
1960
- }
1961
- }, an = () => G(), ln = ({
1962
- id: t,
1963
- canTrack: e
1964
- }) => rn({
1965
- key: Y,
1966
- value: t,
1967
- canTrack: e
1968
- }), cn = () => {
1969
- if (m()) {
1970
- const t = new URL(location.href);
1971
- return t.pathname === "" && (t.pathname = "/"), t;
1972
- } else
1973
- return console.warn("Cannot get location for tracking in non-browser environment"), null;
1974
- }, dn = () => typeof navigator == "object" && navigator.userAgent || "", un = () => {
1975
- const t = dn(), e = {
1976
- Android() {
1977
- return t.match(/Android/i);
1978
- },
1979
- BlackBerry() {
1980
- return t.match(/BlackBerry/i);
1981
- },
1982
- iOS() {
1983
- return t.match(/iPhone|iPod/i);
1984
- },
1985
- Opera() {
1986
- return t.match(/Opera Mini/i);
1987
- },
1988
- Windows() {
1989
- return t.match(/IEMobile/i) || t.match(/WPDesktop/i);
1990
- },
1991
- any() {
1992
- return e.Android() || e.BlackBerry() || e.iOS() || e.Opera() || e.Windows() || x === "reactNative";
1993
- }
1994
- }, n = t.match(/Tablet|iPad/i), o = cn();
1995
- return {
1996
- urlPath: o == null ? void 0 : o.pathname,
1997
- host: (o == null ? void 0 : o.host) || (o == null ? void 0 : o.hostname),
1998
- device: n ? "tablet" : e.any() ? "mobile" : "desktop"
1999
- };
2000
- }, pn = async ({
2001
- canTrack: t
2002
- }) => {
2003
- if (!t)
2004
- return { visitorId: void 0, sessionId: void 0 };
2005
- const e = await en({ canTrack: t }), n = sn({ canTrack: t });
2006
- return {
2007
- sessionId: e,
2008
- visitorId: n
2009
- };
2010
- }, mn = async ({
2011
- type: t,
2012
- canTrack: e,
2013
- apiKey: n,
2014
- metadata: o,
2015
- ...r
2016
- }) => ({
2017
- type: t,
2018
- data: {
2019
- ...r,
2020
- metadata: {
2021
- url: location.href,
2022
- ...o
2023
- },
2024
- ...await pn({ canTrack: e }),
2025
- userAttributes: un(),
2026
- ownerId: n
2027
- }
2028
- });
2029
- async function R(t) {
2030
- if (!t.apiKey) {
2031
- v.error(
2032
- "Missing API key for track call. Please provide your API key."
2033
- );
2034
- return;
2035
- }
2036
- if (!!t.canTrack && !g() && !!(m() || x === "reactNative"))
2037
- return fetch("https://builder.io/api/v1/track", {
2038
- method: "POST",
2039
- body: JSON.stringify({
2040
- events: [await mn(t)]
2041
- }),
2042
- headers: {
2043
- "content-type": "application/json"
2044
- },
2045
- mode: "cors"
2046
- }).catch((e) => {
2047
- console.error("Failed to track: ", e);
2048
- });
2049
- }
2050
- const jn = (t) => R({ ...t, canTrack: !0 }), fn = "0.3.2-0", j = {};
2051
- function hn(t, e) {
2052
- let n = j[t];
2053
- if (n || (n = j[t] = []), n.push(e), m()) {
2054
- const o = {
2055
- type: "builder.register",
2056
- data: {
2057
- type: t,
2058
- info: e
2059
- }
2060
- };
2061
- try {
2062
- parent.postMessage(o, "*"), parent !== window && window.postMessage(o, "*");
2063
- } catch (r) {
2064
- console.debug("Could not postmessage", r);
2065
- }
2066
- }
2067
- }
2068
- const gn = () => {
2069
- hn("insertMenu", {
2070
- name: "_default",
2071
- default: !0,
2072
- items: [
2073
- { name: "Box" },
2074
- { name: "Text" },
2075
- { name: "Image" },
2076
- { name: "Columns" },
2077
- { name: "Core:Section" },
2078
- { name: "Core:Button" },
2079
- { name: "Embed" },
2080
- { name: "Custom Code" }
2081
- ]
2082
- });
2083
- };
2084
- let V = !1;
2085
- const bn = (t = {}) => {
2086
- var e, n;
2087
- V || (V = !0, m() && ((e = window.parent) == null || e.postMessage(
2088
- {
2089
- type: "builder.sdkInfo",
2090
- data: {
2091
- target: x,
2092
- version: fn,
2093
- supportsPatchUpdates: !1,
2094
- supportsAddBlockScoping: !0,
2095
- supportsCustomBreakpoints: !0
2096
- }
2097
- },
2098
- "*"
2099
- ), (n = window.parent) == null || n.postMessage(
2100
- {
2101
- type: "builder.updateContent",
2102
- data: {
2103
- options: t
2104
- }
2105
- },
2106
- "*"
2107
- ), window.addEventListener("message", ({ data: o }) => {
2108
- var r, s;
2109
- if (!!(o != null && o.type))
2110
- switch (o.type) {
2111
- case "builder.evaluate": {
2112
- const i = o.data.text, c = o.data.arguments || [], a = o.data.id, l = new Function(i);
2113
- let d, p = null;
2114
- try {
2115
- d = l.apply(null, c);
2116
- } catch (u) {
2117
- p = u;
2118
- }
2119
- p ? (r = window.parent) == null || r.postMessage(
2120
- {
2121
- type: "builder.evaluateError",
2122
- data: { id: a, error: p.message }
2123
- },
2124
- "*"
2125
- ) : d && typeof d.then == "function" ? d.then((u) => {
2126
- var y;
2127
- (y = window.parent) == null || y.postMessage(
2128
- {
2129
- type: "builder.evaluateResult",
2130
- data: { id: a, result: u }
2131
- },
2132
- "*"
2133
- );
2134
- }).catch(console.error) : (s = window.parent) == null || s.postMessage(
2135
- {
2136
- type: "builder.evaluateResult",
2137
- data: { result: d, id: a }
2138
- },
2139
- "*"
2140
- );
2141
- break;
2142
- }
2143
- }
2144
- })));
2145
- };
2146
- function O(t) {
2147
- return Math.round(t * 1e3) / 1e3;
2148
- }
2149
- const yn = (t, e, n = !0) => {
2150
- if (!(t instanceof HTMLElement))
2151
- return null;
2152
- let o = n ? t : t.parentElement;
2153
- do {
2154
- if (!o)
2155
- return null;
2156
- if (e(o))
2157
- return o;
2158
- } while (o = o.parentElement);
2159
- return null;
2160
- }, vn = (t) => yn(t, (e) => {
2161
- const n = e.getAttribute("builder-id") || e.id;
2162
- return Boolean((n == null ? void 0 : n.indexOf("builder-")) === 0);
2163
- }), U = ({
2164
- event: t,
2165
- target: e
2166
- }) => {
2167
- const n = e.getBoundingClientRect(), o = t.clientX - n.left, r = t.clientY - n.top, s = O(o / n.width), i = O(r / n.height);
2168
- return {
2169
- x: s,
2170
- y: i
2171
- };
2172
- }, _n = (t) => {
2173
- const e = t.target, n = e && vn(e), o = (n == null ? void 0 : n.getAttribute("builder-id")) || (n == null ? void 0 : n.id);
2174
- return {
2175
- targetBuilderElement: o || void 0,
2176
- metadata: {
2177
- targetOffset: e ? U({ event: t, target: e }) : void 0,
2178
- builderTargetOffset: n ? U({ event: t, target: n }) : void 0,
2179
- builderElementIndex: n && o ? [].slice.call(document.getElementsByClassName(o)).indexOf(n) : void 0
2180
- }
2181
- };
2182
- }, xn = ({
2183
- content: t,
2184
- data: e,
2185
- locale: n
2186
- }) => {
2187
- var s, i, c;
2188
- const o = {};
2189
- (i = (s = t == null ? void 0 : t.data) == null ? void 0 : s.inputs) == null || i.forEach((a) => {
2190
- var l;
2191
- a.name && a.defaultValue !== void 0 && ((l = t == null ? void 0 : t.data) == null ? void 0 : l.state) && t.data.state[a.name] === void 0 && (o[a.name] = a.defaultValue);
2192
- });
2193
- const r = {
2194
- ...(c = t == null ? void 0 : t.data) == null ? void 0 : c.state,
2195
- ...e,
2196
- ...n ? { locale: n } : {}
2197
- };
2198
- return { ...o, ...r };
2199
- }, kn = ({
2200
- content: t,
2201
- data: e
2202
- }) => t ? {
2203
- ...t,
2204
- data: {
2205
- ...t == null ? void 0 : t.data,
2206
- ...e
2207
- },
2208
- meta: t == null ? void 0 : t.meta
2209
- } : void 0, Sn = () => Promise.resolve().then(() => M).then((t) => t.default).catch((t) => {
2210
- throw console.error(
2211
- "Error while attempting to dynamically import component RenderBlocks at ../render-blocks.vue",
2212
- t
2213
- ), t;
2214
- }), wn = () => import("./render-styles.37cf66d9.js").then((t) => t.default).catch((t) => {
2215
- throw console.error(
2216
- "Error while attempting to dynamically import component RenderContentStyles at ./components/render-styles.vue",
2217
- t
2218
- ), t;
2219
- }), Cn = f({
2220
- name: "render-content",
2221
- components: {
2222
- RenderContentStyles: wn,
2223
- RenderBlocks: Sn
2224
- },
2225
- props: [
2226
- "content",
2227
- "data",
2228
- "canTrack",
2229
- "locale",
2230
- "customComponents",
2231
- "model",
2232
- "context",
2233
- "apiKey",
2234
- "includeRefs",
2235
- "enrich",
2236
- "apiVersion"
2237
- ],
2238
- data() {
2239
- return {
2240
- forceReRenderCount: 0,
2241
- overrideContent: null,
2242
- useContent: kn({
2243
- content: this.content,
2244
- data: this.data
2245
- }),
2246
- update: 0,
2247
- canTrackToUse: _(this.canTrack) ? this.canTrack : !0,
2248
- contentState: xn({
2249
- content: this.content,
2250
- data: this.data,
2251
- locale: this.locale
2252
- }),
2253
- allRegisteredComponents: [
2254
- ...qt(),
2255
- ...q,
2256
- ...this.customComponents || []
2257
- ].reduce(
2258
- (t, { component: e, ...n }) => ({
2259
- ...t,
2260
- [n.name]: {
2261
- component: e,
2262
- ...n
2263
- }
2264
- }),
2265
- {}
2266
- ),
2267
- httpReqsData: {},
2268
- clicked: !1,
2269
- TARGET: x
2270
- };
2271
- },
2272
- provide() {
2273
- const t = this;
2274
- return {
2275
- [k.key]: {
2276
- content: t.useContent,
2277
- localState: void 0,
2278
- rootState: t.contentState,
2279
- rootSetState: t.contentSetState,
2280
- context: t.context || {},
2281
- apiKey: t.apiKey,
2282
- apiVersion: t.apiVersion,
2283
- registeredComponents: t.allRegisteredComponents,
2284
- inheritedStyles: {}
2285
- }
2286
- };
2287
- },
2288
- mounted() {
2289
- var t, e;
2290
- if (this.apiKey || v.error(
2291
- "No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop."
2292
- ), m()) {
2293
- if (g() && (this.forceReRenderCount = this.forceReRenderCount + 1, gn(), bn({
2294
- ...this.locale ? {
2295
- locale: this.locale
2296
- } : {},
2297
- ...this.includeRefs ? {
2298
- includeRefs: this.includeRefs
2299
- } : {},
2300
- ...this.enrich ? {
2301
- enrich: this.enrich
2302
- } : {}
2303
- }), Object.values(
2304
- this.allRegisteredComponents
2305
- ).forEach((n) => {
2306
- var r;
2307
- const o = Xt(n);
2308
- (r = window.parent) == null || r.postMessage(o, "*");
2309
- }), window.addEventListener("message", this.processMessage), window.addEventListener(
2310
- "builder:component:stateChangeListenerActivated",
2311
- this.emitStateUpdate
2312
- )), this.useContent) {
2313
- const n = (t = this.useContent) == null ? void 0 : t.testVariationId, o = (e = this.useContent) == null ? void 0 : e.id;
2314
- R({
2315
- type: "impression",
2316
- canTrack: this.canTrackToUse,
2317
- contentId: o,
2318
- apiKey: this.apiKey,
2319
- variationId: n !== o ? n : void 0
2320
- });
2321
- }
2322
- if (Jt()) {
2323
- const n = new URL(location.href).searchParams, o = n.get("builder.preview"), r = n.get(
2324
- `builder.preview.${o}`
2325
- ), s = n.get("apiKey") || n.get("builder.space");
2326
- o === this.model && s === this.apiKey && (!this.content || r === this.content.id) && H({
2327
- model: this.model,
2328
- apiKey: this.apiKey,
2329
- apiVersion: this.apiVersion
2330
- }).then((i) => {
2331
- i && this.mergeNewContent(i);
2332
- });
2333
- }
2334
- this.evaluateJsCode(), this.runHttpRequests(), this.emitStateUpdate();
2335
- }
2336
- },
2337
- watch: {
2338
- onUpdateHook0: {
2339
- handler() {
2340
- this.content && this.mergeNewContent(this.content);
2341
- },
2342
- immediate: !0
2343
- },
2344
- onUpdateHook1: {
2345
- handler() {
2346
- this.evaluateJsCode();
2347
- },
2348
- immediate: !0
2349
- },
2350
- onUpdateHook2: {
2351
- handler() {
2352
- this.runHttpRequests();
2353
- },
2354
- immediate: !0
2355
- },
2356
- onUpdateHook3: {
2357
- handler() {
2358
- this.emitStateUpdate();
2359
- },
2360
- immediate: !0
2361
- }
2362
- },
2363
- unmounted() {
2364
- m() && (window.removeEventListener("message", this.processMessage), window.removeEventListener(
2365
- "builder:component:stateChangeListenerActivated",
2366
- this.emitStateUpdate
2367
- ));
2368
- },
2369
- computed: {
2370
- onUpdateHook0() {
2371
- return {
2372
- 0: this.content
2373
- };
2374
- },
2375
- onUpdateHook1() {
2376
- var t, e;
2377
- return {
2378
- 0: (e = (t = this.useContent) == null ? void 0 : t.data) == null ? void 0 : e.jsCode,
2379
- 1: this.contentState
2380
- };
2381
- },
2382
- onUpdateHook2() {
2383
- var t, e;
2384
- return {
2385
- 0: (e = (t = this.useContent) == null ? void 0 : t.data) == null ? void 0 : e.httpRequests
2386
- };
2387
- },
2388
- onUpdateHook3() {
2389
- return {
2390
- 0: this.contentState
2391
- };
2392
- }
2393
- },
2394
- methods: {
2395
- mergeNewContent(t) {
2396
- var e, n, o, r, s;
2397
- this.useContent = {
2398
- ...this.useContent,
2399
- ...t,
2400
- data: {
2401
- ...(e = this.useContent) == null ? void 0 : e.data,
2402
- ...t == null ? void 0 : t.data
2403
- },
2404
- meta: {
2405
- ...(n = this.useContent) == null ? void 0 : n.meta,
2406
- ...t == null ? void 0 : t.meta,
2407
- breakpoints: ((o = t == null ? void 0 : t.meta) == null ? void 0 : o.breakpoints) || ((s = (r = this.useContent) == null ? void 0 : r.meta) == null ? void 0 : s.breakpoints)
2408
- }
2409
- };
2410
- },
2411
- setBreakpoints(t) {
2412
- var e;
2413
- this.useContent = {
2414
- ...this.useContent,
2415
- meta: {
2416
- ...(e = this.useContent) == null ? void 0 : e.meta,
2417
- breakpoints: t
2418
- }
2419
- };
2420
- },
2421
- contentSetState(t) {
2422
- this.contentState = t;
2423
- },
2424
- processMessage(t) {
2425
- var n;
2426
- const { data: e } = t;
2427
- if (e)
2428
- switch (e.type) {
2429
- case "builder.configureSdk": {
2430
- const o = e.data, { breakpoints: r, contentId: s } = o;
2431
- if (!s || s !== ((n = this.useContent) == null ? void 0 : n.id))
2432
- return;
2433
- r && this.setBreakpoints(r), this.forceReRenderCount = this.forceReRenderCount + 1;
2434
- break;
2435
- }
2436
- case "builder.contentUpdate": {
2437
- const o = e.data, r = o.key || o.alias || o.entry || o.modelName, s = o.data;
2438
- r === this.model && (this.mergeNewContent(s), this.forceReRenderCount = this.forceReRenderCount + 1);
2439
- break;
2440
- }
2441
- }
2442
- },
2443
- evaluateJsCode() {
2444
- var e, n;
2445
- const t = (n = (e = this.useContent) == null ? void 0 : e.data) == null ? void 0 : n.jsCode;
2446
- t && F({
2447
- code: t,
2448
- context: this.context || {},
2449
- localState: void 0,
2450
- rootState: this.contentState,
2451
- rootSetState: this.contentSetState
2452
- });
2453
- },
2454
- onClick(t) {
2455
- var e, n;
2456
- if (this.useContent) {
2457
- const o = (e = this.useContent) == null ? void 0 : e.testVariationId, r = (n = this.useContent) == null ? void 0 : n.id;
2458
- R({
2459
- type: "click",
2460
- canTrack: this.canTrackToUse,
2461
- contentId: r,
2462
- apiKey: this.apiKey,
2463
- variationId: o !== r ? o : void 0,
2464
- ..._n(t),
2465
- unique: !this.clicked
2466
- });
2467
- }
2468
- this.clicked || (this.clicked = !0);
2469
- },
2470
- evalExpression(t) {
2471
- return t.replace(
2472
- /{{([^}]+)}}/g,
2473
- (e, n) => F({
2474
- code: n,
2475
- context: this.context || {},
2476
- localState: void 0,
2477
- rootState: this.contentState,
2478
- rootSetState: this.contentSetState
2479
- })
2480
- );
2481
- },
2482
- handleRequest({ url: t, key: e }) {
2483
- N(t).then((n) => n.json()).then((n) => {
2484
- const o = {
2485
- ...this.contentState,
2486
- [e]: n
2487
- };
2488
- this.contentSetState(o);
2489
- }).catch((n) => {
2490
- console.error("error fetching dynamic data", t, n);
2491
- });
2492
- },
2493
- runHttpRequests() {
2494
- var e, n, o;
2495
- const t = (o = (n = (e = this.useContent) == null ? void 0 : e.data) == null ? void 0 : n.httpRequests) != null ? o : {};
2496
- Object.entries(t).forEach(([r, s]) => {
2497
- if (s && (!this.httpReqsData[r] || g())) {
2498
- const i = this.evalExpression(s);
2499
- this.handleRequest({
2500
- url: i,
2501
- key: r
2502
- });
2503
- }
2504
- });
2505
- },
2506
- emitStateUpdate() {
2507
- g() && window.dispatchEvent(
2508
- new CustomEvent(
2509
- "builder:component:stateChange",
2510
- {
2511
- detail: {
2512
- state: this.contentState,
2513
- ref: {
2514
- name: this.model
2515
- }
2516
- }
2517
- }
2518
- )
2519
- );
2520
- }
2521
- }
2522
- });
2523
- var In = function() {
2524
- var o, r, s, i, c, a, l, d;
2525
- var e = this, n = e._self._c;
2526
- return e._self._setupProxy, 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(p) {
2527
- return e.onClick(p);
2528
- } } }, [e.TARGET !== "reactNative" ? [n("render-content-styles", { attrs: { contentId: (r = e.useContent) == null ? void 0 : r.id, cssCode: (i = (s = e.useContent) == null ? void 0 : s.data) == null ? void 0 : i.cssCode, customFonts: (a = (c = e.useContent) == null ? void 0 : c.data) == null ? void 0 : a.customFonts } })] : e._e(), n("render-blocks", { key: e.forceReRenderCount, attrs: { blocks: (d = (l = e.useContent) == null ? void 0 : l.data) == null ? void 0 : d.blocks } })], 2) : e._e();
2529
- }, Rn = [], Tn = /* @__PURE__ */ h(
2530
- Cn,
2531
- In,
2532
- Rn,
2533
- !1,
2534
- null,
2535
- null,
2536
- null,
2537
- null
2538
- );
2539
- const $n = Tn.exports, En = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2540
- __proto__: null,
2541
- default: $n
2542
- }, Symbol.toStringTag, { value: "Module" })), B = {};
2543
- function Vn(t) {
2544
- if (m()) {
2545
- Object.assign(B, t);
2546
- const e = {
2547
- type: "builder.settingsChange",
2548
- data: B
2549
- };
2550
- parent.postMessage(e, "*");
2551
- }
2552
- }
2553
- export {
2554
- k as B,
2555
- ue as C,
2556
- ge as F,
2557
- Se as I,
2558
- Ne as S,
2559
- x as T,
2560
- It as V,
2561
- An as a,
2562
- ne as b,
2563
- _ as c,
2564
- $n as d,
2565
- F as e,
2566
- T as f,
2567
- oe as g,
2568
- ft as h,
2569
- _t as i,
2570
- g as j,
2571
- Jt as k,
2572
- q as l,
2573
- Fn as m,
2574
- h as n,
2575
- Xt as o,
2576
- hn as p,
2577
- H as q,
2578
- Pe as r,
2579
- Vn as s,
2580
- jn as t,
2581
- lt as u,
2582
- ot as v,
2583
- rt as w,
2584
- st as x,
2585
- D as y
2586
- };