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

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