@builder.io/sdk-react 2.0.24 → 2.0.26

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