@builder.io/sdk-react 2.0.24 → 2.0.25

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 (67) hide show
  1. package/lib/browser/blocks-exports.cjs +1 -1
  2. package/lib/browser/blocks-exports.mjs +1 -1
  3. package/lib/browser/index.cjs +1 -1
  4. package/lib/browser/index.mjs +1 -1
  5. package/lib/browser/server-entry-350f7ecc.js +701 -0
  6. package/lib/browser/server-entry-f8b08c1e.cjs +2 -0
  7. package/lib/browser/server-entry.cjs +1 -1
  8. package/lib/browser/server-entry.mjs +1 -1
  9. package/lib/edge/{accordion-bb9fa8d9.cjs → accordion-d14d05aa.cjs} +1 -1
  10. package/lib/edge/{accordion-5b929fba.js → accordion-e2aeca0a.js} +1 -1
  11. package/lib/edge/{blocks-cff95ab8.cjs → blocks-5a60a8fa.cjs} +1 -1
  12. package/lib/edge/{blocks-e8701f70.js → blocks-9a763eda.js} +3 -3
  13. package/lib/edge/blocks-exports.cjs +1 -1
  14. package/lib/edge/blocks-exports.mjs +2 -2
  15. package/lib/edge/{button-dd9c397c.js → button-265653d5.js} +2 -2
  16. package/lib/edge/{button-89adbac2.cjs → button-6ab0c490.cjs} +1 -1
  17. package/lib/edge/{columns-acd49f06.js → columns-346d4ab7.js} +4 -4
  18. package/lib/edge/{columns-b0cfdce7.cjs → columns-449335a4.cjs} +1 -1
  19. package/lib/edge/{content-variants-56c457f6.cjs → content-variants-71459280.cjs} +1 -1
  20. package/lib/edge/{content-variants-2cbf3c83.js → content-variants-bdb3d738.js} +11 -11
  21. package/lib/edge/{evaluate-68711886.js → evaluate-be86a5d8.js} +1 -1
  22. package/lib/edge/{evaluate-efa88e4b.cjs → evaluate-db1f9237.cjs} +1 -1
  23. package/lib/edge/{form-060579d1.js → form-41305e00.js} +4 -4
  24. package/lib/edge/{form-85e86f80.cjs → form-90310cab.cjs} +1 -1
  25. package/lib/edge/{get-class-prop-name-d6d04e54.cjs → get-class-prop-name-711d58eb.cjs} +1 -1
  26. package/lib/edge/{get-class-prop-name-bb0664a1.js → get-class-prop-name-b49b7684.js} +1 -1
  27. package/lib/edge/{img-7267e34a.cjs → img-1ab7ba48.cjs} +1 -1
  28. package/lib/edge/{img-cb9a2e73.js → img-a75bf17b.js} +1 -1
  29. package/lib/edge/index.cjs +1 -1
  30. package/lib/edge/index.mjs +1 -1
  31. package/lib/edge/{input-0a7941d1.cjs → input-137d07aa.cjs} +1 -1
  32. package/lib/edge/{input-99f775bd.js → input-6c50146c.js} +1 -1
  33. package/lib/edge/{select-9791ad44.cjs → select-55d2c8fa.cjs} +1 -1
  34. package/lib/edge/{select-88a74342.js → select-b6c2fdd5.js} +1 -1
  35. package/lib/edge/server-entry-ae44ef40.cjs +2 -0
  36. package/lib/edge/server-entry-e914f16e.js +699 -0
  37. package/lib/edge/server-entry.cjs +1 -1
  38. package/lib/edge/server-entry.mjs +1 -1
  39. package/lib/edge/{slot-28b25c84.js → slot-84e40920.js} +4 -4
  40. package/lib/edge/{slot-d3b5cdb8.cjs → slot-8d3b7707.cjs} +1 -1
  41. package/lib/edge/{symbol-f0ba82bf.cjs → symbol-468348d8.cjs} +1 -1
  42. package/lib/edge/{symbol-1ab0fb76.js → symbol-7436ff06.js} +2 -2
  43. package/lib/edge/{tabs-a04af934.js → tabs-65d455da.js} +4 -4
  44. package/lib/edge/{tabs-fad92db1.cjs → tabs-802a32f0.cjs} +1 -1
  45. package/lib/edge/{text-3c4c2e24.js → text-423e3303.js} +2 -2
  46. package/lib/edge/{text-ee3d6be2.cjs → text-450bf7e4.cjs} +1 -1
  47. package/lib/node/blocks-exports.cjs +1 -1
  48. package/lib/node/blocks-exports.mjs +2 -2
  49. package/lib/node/index.cjs +1 -1
  50. package/lib/node/index.mjs +2 -2
  51. package/lib/node/init.cjs +1 -1
  52. package/lib/node/init.mjs +2 -2
  53. package/lib/node/server-entry-569f32b2.js +702 -0
  54. package/lib/node/server-entry-781dde88.cjs +2 -0
  55. package/lib/node/server-entry.cjs +1 -1
  56. package/lib/node/server-entry.mjs +1 -1
  57. package/lib/node/{should-force-browser-runtime-in-node-411c24f8.cjs → should-force-browser-runtime-in-node-13070d3a.cjs} +1 -1
  58. package/lib/node/{should-force-browser-runtime-in-node-2251f2e6.js → should-force-browser-runtime-in-node-3f610831.js} +1 -1
  59. package/package.json +1 -1
  60. package/types/constants/sdk-version.d.ts +1 -1
  61. package/types/helpers/sdk-headers.d.ts +5 -0
  62. package/lib/browser/server-entry-0dfca5e0.cjs +0 -2
  63. package/lib/browser/server-entry-578cd6e2.js +0 -690
  64. package/lib/edge/server-entry-a7db0ef9.js +0 -688
  65. package/lib/edge/server-entry-cb6fb618.cjs +0 -2
  66. package/lib/node/server-entry-2ce603a9.cjs +0 -2
  67. package/lib/node/server-entry-bf8bf121.js +0 -691
@@ -1,688 +0,0 @@
1
- const v = "react", Q = (t) => {
2
- const e = {};
3
- return t.forEach((n, r) => {
4
- e[r] = n;
5
- }), e;
6
- }, L = (t) => t instanceof URLSearchParams ? Q(t) : t, V = (t) => typeof t == "string" ? t : t instanceof URLSearchParams ? t.toString() : new URLSearchParams(t).toString();
7
- function c() {
8
- return typeof window != "undefined" && typeof document != "undefined";
9
- }
10
- function Y() {
11
- return c() && window.self !== window.top;
12
- }
13
- function Z(t) {
14
- return Y() && // accessing window.location.search is safe here because `isIframe()` is only `true` if we're in a browser.
15
- V(t || window.location.search).indexOf("builder.frameEditing=") !== -1;
16
- }
17
- function _t(t) {
18
- const e = t || (c() ? window.location.search : void 0);
19
- return e ? V(e).indexOf("builder.preview=") !== -1 : !1;
20
- }
21
- const $t = (t) => ({
22
- type: "builder.registerComponent",
23
- data: U(t)
24
- }), tt = (t) => {
25
- const e = t.toString().trim();
26
- return `return (${!e.startsWith("function") && !e.startsWith("(") ? "function " : ""}${e}).apply(this, arguments)`;
27
- };
28
- function U(t) {
29
- return JSON.parse(JSON.stringify(t, (e, n) => typeof n == "function" ? tt(n) : n));
30
- }
31
- const x = {};
32
- function et(t, e) {
33
- t === "plugin" && (e = U(e));
34
- let n = x[t];
35
- if (n || (n = x[t] = []), n.push(e), c()) {
36
- const r = {
37
- type: "builder.register",
38
- data: {
39
- type: t,
40
- info: e
41
- }
42
- };
43
- try {
44
- parent.postMessage(r, "*"), parent !== window && window.postMessage(r, "*");
45
- } catch (o) {
46
- console.debug("Could not postmessage", o);
47
- }
48
- }
49
- }
50
- const A = {};
51
- function Gt(t) {
52
- if (c()) {
53
- Object.assign(A, t);
54
- const e = {
55
- type: "builder.settingsChange",
56
- data: A
57
- };
58
- parent.postMessage(e, "*");
59
- }
60
- }
61
- const T = "builder.", nt = "options.", M = (t) => {
62
- if (!t)
63
- return {};
64
- const e = L(t), n = {};
65
- return Object.keys(e).forEach((r) => {
66
- if (r.startsWith(T)) {
67
- const o = r.replace(T, "").replace(nt, "");
68
- n[o] = e[r];
69
- }
70
- }), n;
71
- }, rt = () => {
72
- if (!c())
73
- return {};
74
- const t = new URLSearchParams(window.location.search);
75
- return M(t);
76
- }, b = "[Builder.io]: ", f = {
77
- log: (...t) => console.log(b, ...t),
78
- error: (...t) => console.error(b, ...t),
79
- warn: (...t) => console.warn(b, ...t),
80
- debug: (...t) => console.debug(b, ...t)
81
- }, m = (t) => t != null, ot = (t) => {
82
- if (t === "localhost" || t === "127.0.0.1")
83
- return t;
84
- const e = t.split(".");
85
- return e.length > 2 ? e.slice(1).join(".") : t;
86
- }, F = ({
87
- name: t,
88
- canTrack: e
89
- }) => {
90
- var n;
91
- try {
92
- return e ? (n = document.cookie.split("; ").find((r) => r.startsWith(`${t}=`))) == null ? void 0 : n.split("=")[1] : void 0;
93
- } catch (r) {
94
- f.warn("[COOKIE] GET error: ", (r == null ? void 0 : r.message) || r);
95
- return;
96
- }
97
- }, N = async (t) => F(t), st = (t) => t.map(([e, n]) => n ? `${e}=${n}` : e).filter(m).join("; "), it = [["secure", ""], ["SameSite", "None"]], at = ({
98
- name: t,
99
- value: e,
100
- expires: n
101
- }) => {
102
- const o = (c() ? location.protocol === "https:" : !0) ? it : [[]], s = n ? [["expires", n.toUTCString()]] : [[]], a = [[t, e], ...s, ["path", "/"], ["domain", ot(window.location.hostname)], ...o];
103
- return st(a);
104
- }, j = async ({
105
- name: t,
106
- value: e,
107
- expires: n,
108
- canTrack: r
109
- }) => {
110
- try {
111
- if (!r)
112
- return;
113
- const o = at({
114
- name: t,
115
- value: e,
116
- expires: n
117
- });
118
- document.cookie = o;
119
- } catch (o) {
120
- f.warn("[COOKIE] SET error: ", (o == null ? void 0 : o.message) || o);
121
- }
122
- };
123
- function ct() {
124
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(t) {
125
- const e = Math.random() * 16 | 0;
126
- return (t == "x" ? e : e & 3 | 8).toString(16);
127
- });
128
- }
129
- function D() {
130
- return ct().replace(/-/g, "");
131
- }
132
- const K = "builderSessionId", ut = async ({
133
- canTrack: t
134
- }) => {
135
- if (!t)
136
- return;
137
- const e = await N({
138
- name: K,
139
- canTrack: t
140
- });
141
- if (m(e))
142
- return e;
143
- {
144
- const n = dt();
145
- return lt({
146
- id: n,
147
- canTrack: t
148
- }), n;
149
- }
150
- }, dt = () => D(), lt = ({
151
- id: t,
152
- canTrack: e
153
- }) => j({
154
- name: K,
155
- value: t,
156
- canTrack: e
157
- }), W = () => c() && typeof localStorage != "undefined" ? localStorage : void 0, ft = ({
158
- key: t,
159
- canTrack: e
160
- }) => {
161
- var n;
162
- try {
163
- return e ? (n = W()) == null ? void 0 : n.getItem(t) : void 0;
164
- } catch (r) {
165
- console.debug("[LocalStorage] GET error: ", r);
166
- return;
167
- }
168
- }, ht = ({
169
- key: t,
170
- canTrack: e,
171
- value: n
172
- }) => {
173
- var r;
174
- try {
175
- e && ((r = W()) == null || r.setItem(t, n));
176
- } catch (o) {
177
- console.debug("[LocalStorage] SET error: ", o);
178
- }
179
- }, _ = "builderVisitorId", gt = ({
180
- canTrack: t
181
- }) => {
182
- if (!t)
183
- return;
184
- const e = ft({
185
- key: _,
186
- canTrack: t
187
- });
188
- if (m(e))
189
- return e;
190
- {
191
- const n = pt();
192
- return mt({
193
- id: n,
194
- canTrack: t
195
- }), n;
196
- }
197
- }, pt = () => D(), mt = ({
198
- id: t,
199
- canTrack: e
200
- }) => ht({
201
- key: _,
202
- value: t,
203
- canTrack: e
204
- }), yt = () => {
205
- if (c()) {
206
- const t = new URL(location.href);
207
- return t.pathname === "" && (t.pathname = "/"), t;
208
- } else
209
- return console.warn("Cannot get location for tracking in non-browser environment"), null;
210
- }, wt = () => typeof navigator == "object" && navigator.userAgent || "", St = () => {
211
- const t = wt(), e = {
212
- Android() {
213
- return t.match(/Android/i);
214
- },
215
- BlackBerry() {
216
- return t.match(/BlackBerry/i);
217
- },
218
- iOS() {
219
- return t.match(/iPhone|iPod/i);
220
- },
221
- Opera() {
222
- return t.match(/Opera Mini/i);
223
- },
224
- Windows() {
225
- return t.match(/IEMobile/i) || t.match(/WPDesktop/i);
226
- },
227
- any() {
228
- return e.Android() || e.BlackBerry() || e.iOS() || e.Opera() || e.Windows() || v === "reactNative";
229
- }
230
- }, n = t.match(/Tablet|iPad/i), r = yt();
231
- return {
232
- urlPath: r == null ? void 0 : r.pathname,
233
- host: (r == null ? void 0 : r.host) || (r == null ? void 0 : r.hostname),
234
- device: n ? "tablet" : e.any() ? "mobile" : "desktop"
235
- };
236
- }, bt = async ({
237
- canTrack: t
238
- }) => {
239
- if (!t)
240
- return {
241
- visitorId: void 0,
242
- sessionId: void 0
243
- };
244
- const e = await ut({
245
- canTrack: t
246
- }), n = gt({
247
- canTrack: t
248
- });
249
- return {
250
- sessionId: e,
251
- visitorId: n
252
- };
253
- }, vt = async ({
254
- type: t,
255
- canTrack: e,
256
- apiKey: n,
257
- metadata: r,
258
- ...o
259
- }) => ({
260
- type: t,
261
- data: {
262
- ...o,
263
- metadata: {
264
- url: location.href,
265
- ...r
266
- },
267
- ...await bt({
268
- canTrack: e
269
- }),
270
- userAttributes: St(),
271
- ownerId: n
272
- }
273
- });
274
- async function It(t) {
275
- if (!t.apiKey) {
276
- f.error("Missing API key for track call. Please provide your API key.");
277
- return;
278
- }
279
- if (t.canTrack && !Z() && (c() || v === "reactNative"))
280
- return fetch("https://cdn.builder.io/api/v1/track", {
281
- method: "POST",
282
- body: JSON.stringify({
283
- events: [await vt(t)]
284
- }),
285
- headers: {
286
- "content-type": "application/json"
287
- },
288
- mode: "cors"
289
- }).catch((e) => {
290
- console.error("Failed to track: ", e);
291
- });
292
- }
293
- const Jt = (t) => It({
294
- ...t,
295
- canTrack: !0
296
- }), kt = ["*.beta.builder.io", "beta.builder.io", "builder.io", "localhost", "qa.builder.io"];
297
- function $(t, e) {
298
- if (!e.origin.startsWith("http") && !e.origin.startsWith("https"))
299
- return !1;
300
- const n = new URL(e.origin), r = n.hostname;
301
- return (t || kt).findIndex((o) => o.startsWith("*.") ? r.endsWith(o.slice(1)) : o === r) > -1;
302
- }
303
- const Et = "2.0.24", zt = () => {
304
- et("insertMenu", {
305
- name: "_default",
306
- default: !0,
307
- items: [{
308
- name: "Box"
309
- }, {
310
- name: "Text"
311
- }, {
312
- name: "Image"
313
- }, {
314
- name: "Columns"
315
- }, {
316
- name: "Core:Section"
317
- }, {
318
- name: "Core:Button"
319
- }, {
320
- name: "Embed"
321
- }, {
322
- name: "Custom Code"
323
- }]
324
- });
325
- };
326
- let R = !1;
327
- const Pt = (t = {}) => {
328
- var e, n;
329
- R || (R = !0, c() && ((e = window.parent) == null || e.postMessage({
330
- type: "builder.sdkInfo",
331
- data: {
332
- target: v,
333
- version: Et,
334
- supportsPatchUpdates: !1,
335
- // Supports builder-model="..." attribute which is needed to
336
- // scope our '+ add block' button styling
337
- supportsAddBlockScoping: !0,
338
- supportsCustomBreakpoints: !0
339
- }
340
- }, "*"), (n = window.parent) == null || n.postMessage({
341
- type: "builder.updateContent",
342
- data: {
343
- options: t
344
- }
345
- }, "*"), window.addEventListener("message", (r) => {
346
- var s, a;
347
- if (!$(t.trustedHosts, r))
348
- return;
349
- const {
350
- data: o
351
- } = r;
352
- if (o != null && o.type)
353
- switch (o.type) {
354
- case "builder.evaluate": {
355
- const d = o.data.text, y = o.data.arguments || [], p = o.data.id, I = new Function(d);
356
- let u, h = null;
357
- try {
358
- u = I.apply(null, y);
359
- } catch (g) {
360
- h = g;
361
- }
362
- h ? (s = window.parent) == null || s.postMessage({
363
- type: "builder.evaluateError",
364
- data: {
365
- id: p,
366
- error: h.message
367
- }
368
- }, "*") : u && typeof u.then == "function" ? u.then((g) => {
369
- var w;
370
- (w = window.parent) == null || w.postMessage({
371
- type: "builder.evaluateResult",
372
- data: {
373
- id: p,
374
- result: g
375
- }
376
- }, "*");
377
- }).catch(console.error) : (a = window.parent) == null || a.postMessage({
378
- type: "builder.evaluateResult",
379
- data: {
380
- result: u,
381
- id: p
382
- }
383
- }, "*");
384
- break;
385
- }
386
- }
387
- })));
388
- }, Ot = ({
389
- model: t,
390
- trustedHosts: e,
391
- callbacks: n
392
- }) => (r) => {
393
- if (!$(e, r))
394
- return;
395
- const {
396
- data: o
397
- } = r;
398
- if (o)
399
- switch (o.type) {
400
- case "builder.configureSdk": {
401
- n.configureSdk(o.data);
402
- break;
403
- }
404
- case "builder.triggerAnimation": {
405
- n.animation(o.data);
406
- break;
407
- }
408
- case "builder.contentUpdate": {
409
- const s = o.data, a = s.key || s.alias || s.entry || s.modelName, d = s.data;
410
- a === t && n.contentUpdate(d);
411
- break;
412
- }
413
- }
414
- }, Ht = (t, e, n) => {
415
- if (!c)
416
- return f.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."), () => {
417
- };
418
- Pt();
419
- const r = Ot({
420
- callbacks: {
421
- contentUpdate: e,
422
- animation: () => {
423
- },
424
- configureSdk: () => {
425
- }
426
- },
427
- model: t,
428
- trustedHosts: n == null ? void 0 : n.trustedHosts
429
- });
430
- return window.addEventListener("message", r), () => {
431
- window.removeEventListener("message", r);
432
- };
433
- }, Ct = "builder.tests", E = (t) => `${Ct}.${t}`, xt = ({
434
- contentId: t
435
- }) => N({
436
- name: E(t),
437
- canTrack: !0
438
- }), At = ({
439
- contentId: t
440
- }) => F({
441
- name: E(t),
442
- canTrack: !0
443
- }), Tt = ({
444
- contentId: t,
445
- value: e
446
- }) => j({
447
- name: E(t),
448
- value: e,
449
- canTrack: !0
450
- }), G = (t) => m(t.id) && m(t.variations) && Object.keys(t.variations).length > 0, Rt = ({
451
- id: t,
452
- variations: e
453
- }) => {
454
- var o;
455
- let n = 0;
456
- const r = Math.random();
457
- for (const s in e) {
458
- const a = (o = e[s]) == null ? void 0 : o.testRatio;
459
- if (n += a, r < n)
460
- return s;
461
- }
462
- return t;
463
- }, J = (t) => {
464
- const e = Rt(t);
465
- return Tt({
466
- contentId: t.id,
467
- value: e
468
- }).catch((n) => {
469
- f.error("could not store A/B test variation: ", n);
470
- }), e;
471
- }, z = ({
472
- item: t,
473
- testGroupId: e
474
- }) => {
475
- const n = t.variations[e];
476
- return e === t.id || // handle edge-case where `testGroupId` points to non-existing variation
477
- !n ? {
478
- testVariationId: t.id,
479
- testVariationName: "Default"
480
- } : {
481
- data: n.data,
482
- testVariationId: n.id,
483
- testVariationName: n.name || (n.id === t.id ? "Default" : "")
484
- };
485
- }, Xt = ({
486
- item: t,
487
- canTrack: e
488
- }) => {
489
- if (!e)
490
- return t;
491
- if (!t)
492
- return;
493
- if (!G(t))
494
- return t;
495
- const n = At({
496
- contentId: t.id
497
- }) || J({
498
- variations: t.variations,
499
- id: t.id
500
- }), r = z({
501
- item: t,
502
- testGroupId: n
503
- });
504
- return {
505
- ...t,
506
- ...r
507
- };
508
- }, Bt = async ({
509
- item: t,
510
- canTrack: e
511
- }) => {
512
- if (!e || !G(t))
513
- return t;
514
- const r = await xt({
515
- contentId: t.id
516
- }) || J({
517
- variations: t.variations,
518
- id: t.id
519
- }), o = z({
520
- item: t,
521
- testGroupId: r
522
- });
523
- return {
524
- ...t,
525
- ...o
526
- };
527
- }, Lt = (t) => m(t) ? t : !0;
528
- function Vt() {
529
- return typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : globalThis;
530
- }
531
- function Ut() {
532
- const t = Vt().fetch;
533
- if (typeof t == "undefined")
534
- throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
535
- For more information, read https://github.com/BuilderIO/this-package-uses-fetch`), new Error("Builder SDK could not find a global `fetch` function");
536
- return t;
537
- }
538
- const Mt = Ut();
539
- function k(t, e = null, n = ".") {
540
- return Object.keys(t).reduce((r, o) => {
541
- const s = t[o], a = [e, o].filter(Boolean).join(n);
542
- return [typeof s == "object", s !== null, !(Array.isArray(s) && s.length === 0)].every(Boolean) ? {
543
- ...r,
544
- ...k(s, a, n)
545
- } : {
546
- ...r,
547
- [a]: s
548
- };
549
- }, {});
550
- }
551
- function H(t, e, n = {}) {
552
- for (const r in t) {
553
- const o = t[r], s = e ? e + "." + r : r;
554
- o && typeof o == "object" && !Array.isArray(o) && !Object.keys(o).find((a) => a.startsWith("$")) ? H(o, s, n) : n[s] = o;
555
- }
556
- return n;
557
- }
558
- const Ft = "v3", B = (t) => typeof t == "number" && !isNaN(t) && t >= 0, P = (t) => {
559
- const {
560
- limit: e = 30,
561
- userAttributes: n,
562
- query: r,
563
- model: o,
564
- apiKey: s,
565
- enrich: a,
566
- locale: d,
567
- apiVersion: y = Ft,
568
- fields: p,
569
- omit: I,
570
- offset: u,
571
- cacheSeconds: h,
572
- staleCacheSeconds: g,
573
- sort: w,
574
- includeUnpublished: O
575
- } = t;
576
- if (!s)
577
- throw new Error("Missing API key");
578
- if (!["v3"].includes(y))
579
- throw new Error(`Invalid apiVersion: expected 'v3', received '${y}'`);
580
- const X = e !== 1, i = new URL(`https://cdn.builder.io/api/${y}/content/${o}`);
581
- if (i.searchParams.set("apiKey", s), i.searchParams.set("limit", String(e)), i.searchParams.set("noTraverse", String(X)), i.searchParams.set("includeRefs", String(!0)), d && i.searchParams.set("locale", d), a && i.searchParams.set("enrich", String(a)), i.searchParams.set("omit", I || "meta.componentsUsed"), p && i.searchParams.set("fields", p), Number.isFinite(u) && u > -1 && i.searchParams.set("offset", String(Math.floor(u))), typeof O == "boolean" && i.searchParams.set("includeUnpublished", String(O)), h && B(h) && i.searchParams.set("cacheSeconds", String(h)), g && B(g) && i.searchParams.set("staleCacheSeconds", String(g)), w) {
582
- const l = k({
583
- sort: w
584
- });
585
- for (const S in l)
586
- i.searchParams.set(S, JSON.stringify(l[S]));
587
- }
588
- const q = {
589
- ...rt(),
590
- ...L(t.options || {})
591
- }, C = k(q);
592
- for (const l in C)
593
- i.searchParams.set(l, String(C[l]));
594
- if (n && i.searchParams.set("userAttributes", JSON.stringify(n)), r) {
595
- const l = H({
596
- query: r
597
- });
598
- for (const S in l)
599
- i.searchParams.set(S, JSON.stringify(l[S]));
600
- }
601
- return i;
602
- }, Nt = (t) => "results" in t;
603
- async function jt(t) {
604
- const e = await Wt({
605
- ...t,
606
- limit: 1
607
- });
608
- return e && e[0] || null;
609
- }
610
- const Dt = async (t) => {
611
- var s;
612
- const e = P(t);
613
- return await (await ((s = t.fetch) != null ? s : Mt)(e.href, t.fetchOptions)).json();
614
- }, Kt = async (t, e, n = P(t)) => {
615
- const r = Lt(t.canTrack);
616
- if (n.search.includes("preview="), !r || !(c() || v === "reactNative"))
617
- return e.results;
618
- try {
619
- const o = [];
620
- for (const s of e.results)
621
- o.push(await Bt({
622
- item: s,
623
- canTrack: r
624
- }));
625
- e.results = o;
626
- } catch (o) {
627
- f.error("Could not process A/B tests. ", o);
628
- }
629
- return e.results;
630
- };
631
- async function Wt(t) {
632
- try {
633
- const e = P(t), n = await Dt(t);
634
- return Nt(n) ? Kt(t, n) : (f.error("Error fetching data. ", {
635
- url: e,
636
- content: n,
637
- options: t
638
- }), null);
639
- } catch (e) {
640
- return f.error("Error fetching data. ", e), null;
641
- }
642
- }
643
- const qt = async (t) => {
644
- var r, o, s;
645
- const e = t.path || ((r = t.url) == null ? void 0 : r.pathname) || ((o = t.userAttributes) == null ? void 0 : o.urlPath), n = {
646
- ...t,
647
- apiKey: t.apiKey,
648
- model: t.model || "page",
649
- userAttributes: {
650
- ...t.userAttributes,
651
- ...e ? {
652
- urlPath: e
653
- } : {}
654
- },
655
- options: M(t.searchParams || ((s = t.url) == null ? void 0 : s.searchParams) || t.options)
656
- };
657
- return {
658
- apiKey: n.apiKey,
659
- model: n.model,
660
- content: await jt(n)
661
- };
662
- };
663
- export {
664
- v as TARGET,
665
- Kt as _processContentResult,
666
- It as _track,
667
- m as checkIsDefined,
668
- Ot as createEditorListener,
669
- $t as createRegisterComponentMessage,
670
- qt as fetchBuilderProps,
671
- Wt as fetchEntries,
672
- jt as fetchOneEntry,
673
- M as getBuilderSearchParams,
674
- Lt as getDefaultCanTrack,
675
- St as getUserAttributes,
676
- Xt as handleABTestingSync,
677
- c as isBrowser,
678
- Z as isEditing,
679
- _t as isPreviewing,
680
- f as logger,
681
- et as register,
682
- zt as registerInsertMenu,
683
- U as serializeIncludingFunctions,
684
- Gt as setEditorSettings,
685
- Pt as setupBrowserForEditing,
686
- Ht as subscribeToEditor,
687
- Jt as track
688
- };
@@ -1,2 +0,0 @@
1
- "use strict";const b="react",ae=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},U=e=>e instanceof URLSearchParams?ae(e):e,M=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function c(){return typeof window!="undefined"&&typeof document!="undefined"}function ce(){return c()&&window.self!==window.top}function F(e){return ce()&&M(e||window.location.search).indexOf("builder.frameEditing=")!==-1}function ue(e){const t=e||(c()?window.location.search:void 0);return t?M(t).indexOf("builder.preview=")!==-1:!1}const de=e=>({type:"builder.registerComponent",data:k(e)}),le=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`};function k(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?le(n):n))}const x={};function N(e,t){e==="plugin"&&(t=k(t));let n=x[e];if(n||(n=x[e]=[]),n.push(t),c()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(o){console.debug("Could not postmessage",o)}}}const R={};function fe(e){if(c()){Object.assign(R,e);const t={type:"builder.settingsChange",data:R};parent.postMessage(t,"*")}}const B="builder.",ge="options.",P=e=>{if(!e)return{};const t=U(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(B)){const o=r.replace(B,"").replace(ge,"");n[o]=t[r]}}),n},he=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(e)},I="[Builder.io]: ",d={log:(...e)=>console.log(I,...e),error:(...e)=>console.error(I,...e),warn:(...e)=>console.warn(I,...e),debug:(...e)=>console.debug(I,...e)},p=e=>e!=null,pe=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},D=({name:e,canTrack:t})=>{var n;try{return t?(n=document.cookie.split("; ").find(r=>r.startsWith(`${e}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){d.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},j=async e=>D(e),me=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),ye=[["secure",""],["SameSite","None"]],we=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?ye:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",pe(window.location.hostname)],...o];return me(a)},K=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const o=we({name:e,value:t,expires:n});document.cookie=o}catch(o){d.warn("[COOKIE] SET error: ",(o==null?void 0:o.message)||o)}};function Se(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)})}function W(){return Se().replace(/-/g,"")}const _="builderSessionId",be=async({canTrack:e})=>{if(!e)return;const t=await j({name:_,canTrack:e});if(p(t))return t;{const n=Ie();return ve({id:n,canTrack:e}),n}},Ie=()=>W(),ve=({id:e,canTrack:t})=>K({name:_,value:e,canTrack:t}),$=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Ee=({key:e,canTrack:t})=>{var n;try{return t?(n=$())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},ke=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=$())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},G="builderVisitorId",Pe=({canTrack:e})=>{if(!e)return;const t=Ee({key:G,canTrack:e});if(p(t))return t;{const n=Ce();return Oe({id:n,canTrack:e}),n}},Ce=()=>W(),Oe=({id:e,canTrack:t})=>ke({key:G,value:e,canTrack:t}),Ae=()=>{if(c()){const e=new URL(location.href);return e.pathname===""&&(e.pathname="/"),e}else return console.warn("Cannot get location for tracking in non-browser environment"),null},Te=()=>typeof navigator=="object"&&navigator.userAgent||"",z=()=>{const e=Te(),t={Android(){return e.match(/Android/i)},BlackBerry(){return e.match(/BlackBerry/i)},iOS(){return e.match(/iPhone|iPod/i)},Opera(){return e.match(/Opera Mini/i)},Windows(){return e.match(/IEMobile/i)||e.match(/WPDesktop/i)},any(){return t.Android()||t.BlackBerry()||t.iOS()||t.Opera()||t.Windows()||b==="reactNative"}},n=e.match(/Tablet|iPad/i),r=Ae();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},xe=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await be({canTrack:e}),n=Pe({canTrack:e});return{sessionId:t,visitorId:n}},Re=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await xe({canTrack:t}),userAttributes:z(),ownerId:n}});async function J(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!F()&&(c()||b==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Re(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const Be=e=>J({...e,canTrack:!0}),Le=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function H(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Le).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const Ve="2.0.24",Ue=()=>{N("insertMenu",{name:"_default",default:!0,items:[{name:"Box"},{name:"Text"},{name:"Image"},{name:"Columns"},{name:"Core:Section"},{name:"Core:Button"},{name:"Embed"},{name:"Custom Code"}]})};let L=!1;const X=(e={})=>{var t,n;L||(L=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:b,version:Ve,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var s,a;if(!H(e.trustedHosts,r))return;const{data:o}=r;if(o!=null&&o.type)switch(o.type){case"builder.evaluate":{const l=o.data.text,y=o.data.arguments||[],m=o.data.id,v=new Function(l);let u,g=null;try{u=v.apply(null,y)}catch(h){g=h}g?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):u&&typeof u.then=="function"?u.then(h=>{var w;(w=window.parent)==null||w.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(a=window.parent)==null||a.postMessage({type:"builder.evaluateResult",data:{result:u,id:m}},"*");break}}})))},q=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!H(t,r))return;const{data:o}=r;if(o)switch(o.type){case"builder.configureSdk":{n.configureSdk(o.data);break}case"builder.triggerAnimation":{n.animation(o.data);break}case"builder.contentUpdate":{const s=o.data,a=s.key||s.alias||s.entry||s.modelName,l=s.data;a===e&&n.contentUpdate(l);break}}},Me=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};X();const r=q({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},Fe="builder.tests",C=e=>`${Fe}.${e}`,Ne=({contentId:e})=>j({name:C(e),canTrack:!0}),De=({contentId:e})=>D({name:C(e),canTrack:!0}),je=({contentId:e,value:t})=>K({name:C(e),value:t,canTrack:!0}),Q=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,Ke=({id:e,variations:t})=>{var o;let n=0;const r=Math.random();for(const s in t){const a=(o=t[s])==null?void 0:o.testRatio;if(n+=a,r<n)return s}return e},Y=e=>{const t=Ke(e);return je({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},Z=({item:e,testGroupId:t})=>{const n=e.variations[t];return t===e.id||!n?{testVariationId:e.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===e.id?"Default":"")}},We=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!Q(e))return e;const n=De({contentId:e.id})||Y({variations:e.variations,id:e.id}),r=Z({item:e,testGroupId:n});return{...e,...r}},_e=async({item:e,canTrack:t})=>{if(!t||!Q(e))return e;const r=await Ne({contentId:e.id})||Y({variations:e.variations,id:e.id}),o=Z({item:e,testGroupId:r});return{...e,...o}},ee=e=>p(e)?e:!0;function $e(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Ge(){const e=$e().fetch;if(typeof e=="undefined")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
2
- For more information, read https://github.com/BuilderIO/this-package-uses-fetch`),new Error("Builder SDK could not find a global `fetch` function");return e}const ze=Ge();function E(e,t=null,n="."){return Object.keys(e).reduce((r,o)=>{const s=e[o],a=[t,o].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...r,...E(s,a,n)}:{...r,[a]:s}},{})}function te(e,t,n={}){for(const r in e){const o=e[r],s=t?t+"."+r:r;o&&typeof o=="object"&&!Array.isArray(o)&&!Object.keys(o).find(a=>a.startsWith("$"))?te(o,s,n):n[s]=o}return n}const Je="v3",V=e=>typeof e=="number"&&!isNaN(e)&&e>=0,O=e=>{const{limit:t=30,userAttributes:n,query:r,model:o,apiKey:s,enrich:a,locale:l,apiVersion:y=Je,fields:m,omit:v,offset:u,cacheSeconds:g,staleCacheSeconds:h,sort:w,includeUnpublished:A}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(y))throw new Error(`Invalid apiVersion: expected 'v3', received '${y}'`);const se=t!==1,i=new URL(`https://cdn.builder.io/api/${y}/content/${o}`);if(i.searchParams.set("apiKey",s),i.searchParams.set("limit",String(t)),i.searchParams.set("noTraverse",String(se)),i.searchParams.set("includeRefs",String(!0)),l&&i.searchParams.set("locale",l),a&&i.searchParams.set("enrich",String(a)),i.searchParams.set("omit",v||"meta.componentsUsed"),m&&i.searchParams.set("fields",m),Number.isFinite(u)&&u>-1&&i.searchParams.set("offset",String(Math.floor(u))),typeof A=="boolean"&&i.searchParams.set("includeUnpublished",String(A)),g&&V(g)&&i.searchParams.set("cacheSeconds",String(g)),h&&V(h)&&i.searchParams.set("staleCacheSeconds",String(h)),w){const f=E({sort:w});for(const S in f)i.searchParams.set(S,JSON.stringify(f[S]))}const ie={...he(),...U(e.options||{})},T=E(ie);for(const f in T)i.searchParams.set(f,String(T[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=te({query:r});for(const S in f)i.searchParams.set(S,JSON.stringify(f[S]))}return i},He=e=>"results"in e;async function ne(e){const t=await oe({...e,limit:1});return t&&t[0]||null}const Xe=async e=>{var s;const t=O(e);return await(await((s=e.fetch)!=null?s:ze)(t.href,e.fetchOptions)).json()},re=async(e,t,n=O(e))=>{const r=ee(e.canTrack);if(n.search.includes("preview="),!r||!(c()||b==="reactNative"))return t.results;try{const o=[];for(const s of t.results)o.push(await _e({item:s,canTrack:r}));t.results=o}catch(o){d.error("Could not process A/B tests. ",o)}return t.results};async function oe(e){try{const t=O(e),n=await Xe(e);return He(n)?re(e,n):(d.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return d.error("Error fetching data. ",t),null}}const qe=async e=>{var r,o,s;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((o=e.userAttributes)==null?void 0:o.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:P(e.searchParams||((s=e.url)==null?void 0:s.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await ne(n)}};exports.TARGET=b;exports._processContentResult=re;exports._track=J;exports.checkIsDefined=p;exports.createEditorListener=q;exports.createRegisterComponentMessage=de;exports.fetchBuilderProps=qe;exports.fetchEntries=oe;exports.fetchOneEntry=ne;exports.getBuilderSearchParams=P;exports.getDefaultCanTrack=ee;exports.getUserAttributes=z;exports.handleABTestingSync=We;exports.isBrowser=c;exports.isEditing=F;exports.isPreviewing=ue;exports.logger=d;exports.register=N;exports.registerInsertMenu=Ue;exports.serializeIncludingFunctions=k;exports.setEditorSettings=fe;exports.setupBrowserForEditing=X;exports.subscribeToEditor=Me;exports.track=Be;