@builder.io/sdk-react 2.0.5 → 2.0.9

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 (70) hide show
  1. package/lib/browser/blocks-exports.cjs +17 -17
  2. package/lib/browser/blocks-exports.mjs +53 -53
  3. package/lib/browser/index.cjs +1 -1
  4. package/lib/browser/index.mjs +1 -1
  5. package/lib/browser/init.cjs +1 -1
  6. package/lib/browser/init.mjs +1 -1
  7. package/lib/{node/server-entry-7e145817.cjs → browser/server-entry-16fc27fe.cjs} +2 -2
  8. package/lib/browser/{server-entry-0c6c220c.js → server-entry-8bf52a55.js} +74 -73
  9. package/lib/browser/server-entry.cjs +1 -1
  10. package/lib/browser/server-entry.mjs +1 -1
  11. package/lib/edge/{accordion-99129d68.js → accordion-589b3ac8.js} +1 -1
  12. package/lib/edge/{accordion-72dab8ce.cjs → accordion-afed3bd3.cjs} +1 -1
  13. package/lib/edge/{blocks-53ae1b87.cjs → blocks-854f4022.cjs} +2 -2
  14. package/lib/edge/blocks-exports.cjs +1 -1
  15. package/lib/edge/blocks-exports.mjs +2 -2
  16. package/lib/edge/{blocks-426e0c44.js → blocks-fdb24842.js} +33 -33
  17. package/lib/edge/{button-778062cd.js → button-08412b69.js} +2 -2
  18. package/lib/edge/{button-967d0268.cjs → button-26b76a4a.cjs} +1 -1
  19. package/lib/edge/{columns-3a8c4d3f.js → columns-bd2a004b.js} +4 -4
  20. package/lib/edge/{columns-3b921658.cjs → columns-ccdafcc7.cjs} +1 -1
  21. package/lib/edge/{content-variants-15d191de.js → content-variants-dd7ea0f9.js} +11 -11
  22. package/lib/edge/{content-variants-4b8718f8.cjs → content-variants-fc207487.cjs} +4 -4
  23. package/lib/edge/{evaluate-c0eeb4f8.cjs → evaluate-3991fda5.cjs} +1 -1
  24. package/lib/edge/{evaluate-26c0fdb7.js → evaluate-e2f692df.js} +1 -1
  25. package/lib/edge/{form-9d9dce5d.cjs → form-5eb85abf.cjs} +1 -1
  26. package/lib/edge/{form-ccb0b912.js → form-b9148162.js} +4 -4
  27. package/lib/edge/{get-class-prop-name-0a91c3bd.js → get-class-prop-name-0c783f8c.js} +1 -1
  28. package/lib/edge/{get-class-prop-name-eae60eae.cjs → get-class-prop-name-2fa91d70.cjs} +1 -1
  29. package/lib/edge/{img-183de27d.cjs → img-2f30658b.cjs} +1 -1
  30. package/lib/edge/{img-75751c89.js → img-602f7d3a.js} +1 -1
  31. package/lib/edge/index.cjs +1 -1
  32. package/lib/edge/index.mjs +1 -1
  33. package/lib/edge/init.cjs +1 -1
  34. package/lib/edge/init.mjs +1 -1
  35. package/lib/edge/{input-27972020.js → input-4c791db9.js} +1 -1
  36. package/lib/edge/{input-fd18a67d.cjs → input-551362f3.cjs} +1 -1
  37. package/lib/edge/{select-60ff549c.js → select-d1391d12.js} +1 -1
  38. package/lib/edge/{select-6ea0d59f.cjs → select-eb26f837.cjs} +1 -1
  39. package/lib/edge/server-entry-7b4fa72f.cjs +2 -0
  40. package/lib/edge/{server-entry-feff6177.js → server-entry-c537d834.js} +59 -58
  41. package/lib/edge/server-entry.cjs +1 -1
  42. package/lib/edge/server-entry.mjs +1 -1
  43. package/lib/edge/{slot-2347377e.js → slot-d375d5eb.js} +4 -4
  44. package/lib/edge/{slot-a4509cae.cjs → slot-d723d000.cjs} +1 -1
  45. package/lib/edge/{symbol-98650b06.cjs → symbol-6c18ca90.cjs} +1 -1
  46. package/lib/edge/{symbol-dcef0d8e.js → symbol-8b3a6b98.js} +2 -2
  47. package/lib/edge/{tabs-0784574b.js → tabs-1e47cfd4.js} +4 -4
  48. package/lib/edge/{tabs-4c131e17.cjs → tabs-8296bce7.cjs} +1 -1
  49. package/lib/edge/{text-1c1986aa.cjs → text-9eac9e4d.cjs} +1 -1
  50. package/lib/edge/{text-6f7cbc35.js → text-d3c86634.js} +2 -2
  51. package/lib/node/blocks-exports.cjs +3 -3
  52. package/lib/node/blocks-exports.mjs +19 -19
  53. package/lib/node/index.cjs +1 -1
  54. package/lib/node/index.mjs +2 -2
  55. package/lib/node/init.cjs +1 -1
  56. package/lib/node/init.mjs +2 -2
  57. package/lib/node/{node-runtime-4978bc21.cjs → node-runtime-c7c85f6c.cjs} +1 -1
  58. package/lib/node/{node-runtime-ce5c71e5.js → node-runtime-e41e9eb6.js} +1 -1
  59. package/lib/{browser/server-entry-7e145817.cjs → node/server-entry-16fc27fe.cjs} +2 -2
  60. package/lib/node/{server-entry-0c6c220c.js → server-entry-8bf52a55.js} +74 -73
  61. package/lib/node/server-entry.cjs +1 -1
  62. package/lib/node/server-entry.mjs +1 -1
  63. package/package.json +1 -1
  64. package/types/components/content-variants/content-variants.types.d.ts +2 -1
  65. package/types/components/content-variants/extra-framework-props-types.d.ts +2 -0
  66. package/types/constants/sdk-version.d.ts +1 -1
  67. package/types/context/extra-context-types.d.ts +6 -0
  68. package/types/context/types.d.ts +2 -1
  69. package/types/functions/register-component.d.ts +1 -1
  70. package/lib/edge/server-entry-4133a544.cjs +0 -2
@@ -3,14 +3,14 @@ var qe = Object.defineProperty;
3
3
  var Ke = (e, t, n) => t in e ? qe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
4
4
  var ie = (e, t, n) => (Ke(e, typeof t != "symbol" ? t + "" : t, n), n);
5
5
  import { jsx as s, Fragment as R, jsxs as V } from "react/jsx-runtime";
6
- import { TARGET as z, isEditing as F, isBrowser as M, getUserAttributes as ze, checkIsDefined as G, logger as Z, registerInsertMenu as _e, setupBrowserForEditing as Je, createRegisterComponentMessage as Ye, getDefaultCanTrack as Q, _track as he, isPreviewing as Ge, fetchOneEntry as we, createEditorListener as Qe, fetch as Xe, serializeComponentInfo as ge, handleABTestingSync as Ze } from "./server-entry-0c6c220c.js";
6
+ import { TARGET as q, isEditing as $, isBrowser as M, getUserAttributes as ze, checkIsDefined as G, logger as Z, registerInsertMenu as _e, setupBrowserForEditing as Je, createRegisterComponentMessage as Ye, getDefaultCanTrack as Q, _track as he, isPreviewing as Ge, fetchOneEntry as we, createEditorListener as Qe, fetch as Xe, serializeIncludingFunctions as ge, handleABTestingSync as Ze } from "./server-entry-8bf52a55.js";
7
7
  import { createContext as Re, useState as T, useEffect as P, useContext as be, useRef as ee, createElement as Ee } from "react";
8
8
  const et = /* @__PURE__ */ new Set(["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]), tt = (e) => typeof e == "string" && et.has(e.toLowerCase());
9
9
  function de(e) {
10
10
  return /* @__PURE__ */ s(R, { children: tt(e.TagName) ? /* @__PURE__ */ s(R, { children: /* @__PURE__ */ s(e.TagName, { ...e.attributes, ...e.actionAttributes }) }) : /* @__PURE__ */ s(R, { children: typeof e.TagName == "string" ? /* @__PURE__ */ s(e.TagName, { ...e.attributes, ...e.actionAttributes, children: e.children }) : /* @__PURE__ */ s(e.TagName, { ...e.attributes, ...e.actionAttributes, children: e.children }) }) });
11
11
  }
12
- const K = () => {
13
- switch (z) {
12
+ const z = () => {
13
+ switch (q) {
14
14
  case "react":
15
15
  case "reactNative":
16
16
  case "rsc":
@@ -27,7 +27,7 @@ function nt(e) {
27
27
  function t() {
28
28
  return {
29
29
  ...e.attributes,
30
- [K()]: `${e.link ? "" : "builder-button"} ${e.attributes[K()] || ""}`,
30
+ [z()]: `${e.link ? "" : "builder-button"} ${e.attributes[z()] || ""}`,
31
31
  ...e.link ? {
32
32
  href: e.link,
33
33
  target: e.openLinkInNewTab ? "_blank" : void 0,
@@ -82,7 +82,7 @@ const ot = ({
82
82
  context: t,
83
83
  event: n
84
84
  }), at = () => ({
85
- isEditing: F(),
85
+ isEditing: $(),
86
86
  isBrowser: M(),
87
87
  isServer: !M(),
88
88
  getUserAttributes: () => ze()
@@ -273,7 +273,7 @@ function ut(e, t, n = {}) {
273
273
  return i = this, o = arguments, f <= 0 || f > t ? (a && (clearTimeout(a), a = null), l = d, r = e.apply(i, o), a || (i = o = null)) : !a && n.trailing !== !1 && (a = setTimeout(c, f)), r;
274
274
  };
275
275
  }
276
- function q(e, ...t) {
276
+ function K(e, ...t) {
277
277
  const n = Object(e);
278
278
  for (let i = 1; i < arguments.length; i++) {
279
279
  const o = arguments[i];
@@ -317,8 +317,8 @@ function We(e) {
317
317
  return;
318
318
  }
319
319
  Array.from(t).forEach((n) => {
320
- Ne(e, n), n.style.transition = "none", n.style.transitionDelay = "0", q(n.style, e.steps[0].styles), setTimeout(() => {
321
- n.style.transition = `all ${e.duration}s ${te(e.easing)}`, e.delay && (n.style.transitionDelay = e.delay + "s"), q(n.style, e.steps[1].styles), setTimeout(() => {
320
+ Ne(e, n), n.style.transition = "none", n.style.transitionDelay = "0", K(n.style, e.steps[0].styles), setTimeout(() => {
321
+ n.style.transition = `all ${e.duration}s ${te(e.easing)}`, e.delay && (n.style.transitionDelay = e.delay + "s"), K(n.style, e.steps[1].styles), setTimeout(() => {
322
322
  n.style.transition = "", n.style.transitionDelay = "";
323
323
  }, (e.delay || 0) * 1e3 + e.duration * 1e3 + 100);
324
324
  });
@@ -335,10 +335,10 @@ function ht(e) {
335
335
  let i = !1, o = !1;
336
336
  function r() {
337
337
  !i && l(n) ? (i = !0, o = !0, setTimeout(() => {
338
- q(n.style, e.steps[1].styles), e.repeat || document.removeEventListener("scroll", a), setTimeout(() => {
338
+ K(n.style, e.steps[1].styles), e.repeat || document.removeEventListener("scroll", a), setTimeout(() => {
339
339
  o = !1, e.repeat || (n.style.transition = "", n.style.transitionDelay = "");
340
340
  }, (e.duration + (e.delay || 0)) * 1e3 + 100);
341
- })) : e.repeat && i && !o && !l(n) && (i = !1, q(n.style, e.steps[0].styles));
341
+ })) : e.repeat && i && !o && !l(n) && (i = !1, K(n.style, e.steps[0].styles));
342
342
  }
343
343
  const a = ut(r, 200, {
344
344
  leading: !1
@@ -349,7 +349,7 @@ function ht(e) {
349
349
  }
350
350
  const c = e.steps[0].styles;
351
351
  function d() {
352
- q(n.style, c);
352
+ K(n.style, c);
353
353
  }
354
354
  d(), setTimeout(() => {
355
355
  n.style.transition = `all ${e.duration}s ${te(e.easing)}`, e.delay && (n.style.transitionDelay = e.delay + "s");
@@ -359,10 +359,10 @@ function ht(e) {
359
359
  }), r();
360
360
  });
361
361
  }
362
- const $e = (e) => Object.entries(e).map(([n, i]) => {
362
+ const Fe = (e) => Object.entries(e).map(([n, i]) => {
363
363
  if (typeof i == "string")
364
364
  return `${te(n)}: ${i};`;
365
- }).filter(G), gt = (e) => $e(e).join(`
365
+ }).filter(G), gt = (e) => Fe(e).join(`
366
366
  `), J = ({
367
367
  mediaQuery: e,
368
368
  className: t,
@@ -383,18 +383,18 @@ function bt({
383
383
  const pt = ({
384
384
  block: e,
385
385
  context: t
386
- }) => Fe(bt({
386
+ }) => $e(bt({
387
387
  style: e.style || {},
388
388
  context: t,
389
389
  block: e
390
390
  }));
391
- function Fe(e) {
392
- switch (z) {
391
+ function $e(e) {
392
+ switch (q) {
393
393
  case "svelte":
394
394
  case "vue":
395
395
  case "solid":
396
396
  case "angular":
397
- return $e(e).join(" ");
397
+ return Fe(e).join(" ");
398
398
  case "qwik":
399
399
  case "reactNative":
400
400
  case "react":
@@ -627,7 +627,7 @@ function Oe(e) {
627
627
  const r = n[o];
628
628
  let a = wt(o);
629
629
  if (e.stripPrefix)
630
- switch (z) {
630
+ switch (q) {
631
631
  case "vue":
632
632
  a = a.replace("v-on:", "");
633
633
  break;
@@ -660,7 +660,7 @@ function fe({
660
660
  block: e,
661
661
  context: t
662
662
  }),
663
- [K()]: [e.id, "builder-block", e.class, (i = e.properties) == null ? void 0 : i.class].filter(Boolean).join(" ")
663
+ [z()]: [e.id, "builder-block", e.class, (i = e.properties) == null ? void 0 : i.class].filter(Boolean).join(" ")
664
664
  };
665
665
  return Et({
666
666
  properties: n,
@@ -841,7 +841,7 @@ function _(e) {
841
841
  registeredComponents: e.registeredComponents,
842
842
  builderBlock: i(),
843
843
  includeBlockProps: ((g = t == null ? void 0 : t()) == null ? void 0 : g.noWrap) === !0,
844
- isInteractive: !((y = t == null ? void 0 : t()) != null && y.isRSC)
844
+ isInteractive: !((y = t == null ? void 0 : t()) != null && y.isRSC && q === "rsc")
845
845
  };
846
846
  }
847
847
  return P(() => {
@@ -919,7 +919,7 @@ function Wt(e) {
919
919
  }
920
920
  function n() {
921
921
  var o, r;
922
- F() && !((o = e.blocks) != null && o.length) && ((r = window.parent) == null || r.postMessage(
922
+ $() && !((o = e.blocks) != null && o.length) && ((r = window.parent) == null || r.postMessage(
923
923
  {
924
924
  type: "builder.clickEmptyBlocks",
925
925
  data: {
@@ -932,7 +932,7 @@ function Wt(e) {
932
932
  }
933
933
  function i() {
934
934
  var o, r;
935
- F() && !((o = e.blocks) != null && o.length) && ((r = window.parent) == null || r.postMessage(
935
+ $() && !((o = e.blocks) != null && o.length) && ((r = window.parent) == null || r.postMessage(
936
936
  {
937
937
  type: "builder.hoverEmptyBlocks",
938
938
  data: {
@@ -990,8 +990,8 @@ function D(e) {
990
990
  }
991
991
  );
992
992
  }
993
- const $t = (e) => `builder-columns ${e}-breakpoints`;
994
- function Ft(e) {
993
+ const Ft = (e) => `builder-columns ${e}-breakpoints`;
994
+ function $t(e) {
995
995
  var A, O;
996
996
  const [t, n] = T(
997
997
  () => typeof e.space == "number" ? e.space || 0 : 20
@@ -1100,15 +1100,15 @@ function Ft(e) {
1100
1100
  ...x.link ? {
1101
1101
  href: x.link
1102
1102
  } : {},
1103
- [K()]: "builder-column",
1104
- style: Fe(C(w))
1103
+ [z()]: "builder-column",
1104
+ style: $e(C(w))
1105
1105
  };
1106
1106
  }
1107
1107
  return /* @__PURE__ */ V(R, { children: [
1108
1108
  /* @__PURE__ */ V(
1109
1109
  "div",
1110
1110
  {
1111
- className: $t((A = e.builderBlock) == null ? void 0 : A.id) + " div-34f576bb",
1111
+ className: Ft((A = e.builderBlock) == null ? void 0 : A.id) + " div-34f576bb",
1112
1112
  style: y(),
1113
1113
  children: [
1114
1114
  /* @__PURE__ */ s(
@@ -2635,7 +2635,7 @@ function fn(e) {
2635
2635
  e.builderContext.rootSetState ? (p = (C = e.builderContext).rootSetState) == null || p.call(C, y) : e.builderContext.rootState = y;
2636
2636
  }
2637
2637
  function d() {
2638
- return F() && e.previewState || n;
2638
+ return $() && e.previewState || n;
2639
2639
  }
2640
2640
  function f(g) {
2641
2641
  var C;
@@ -2845,7 +2845,7 @@ function gn(e) {
2845
2845
  "input",
2846
2846
  {
2847
2847
  ...e.attributes,
2848
- key: F() && e.defaultValue ? e.defaultValue : "default-key",
2848
+ key: $() && e.defaultValue ? e.defaultValue : "default-key",
2849
2849
  placeholder: e.placeholder,
2850
2850
  type: e.type,
2851
2851
  name: e.name,
@@ -2905,7 +2905,7 @@ function pn(e) {
2905
2905
  {
2906
2906
  ...e.attributes,
2907
2907
  value: e.value,
2908
- key: F() && e.defaultValue ? e.defaultValue : "default-key",
2908
+ key: $() && e.defaultValue ? e.defaultValue : "default-key",
2909
2909
  defaultValue: e.defaultValue,
2910
2910
  name: e.name,
2911
2911
  required: e.required
@@ -3019,7 +3019,7 @@ function Cn(e) {
3019
3019
  src: e.imgSrc || e.image,
3020
3020
  ...e.attributes
3021
3021
  },
3022
- F() && e.imgSrc || "default-key"
3022
+ $() && e.imgSrc || "default-key"
3023
3023
  );
3024
3024
  }
3025
3025
  const Tn = {
@@ -3239,7 +3239,7 @@ const wn = () => [{
3239
3239
  component: nt,
3240
3240
  ...qt
3241
3241
  }, {
3242
- component: Ft,
3242
+ component: $t,
3243
3243
  ...Kt
3244
3244
  }, {
3245
3245
  component: Dt,
@@ -3362,7 +3362,7 @@ const wn = () => [{
3362
3362
  })), Bn = ({
3363
3363
  canTrack: e,
3364
3364
  content: t
3365
- }) => !(!(Y(t).length > 0) || !e || M()), Pn = (e) => e === "react" || e === "reactNative", Me = Pn(z), Vn = () => `
3365
+ }) => !(!(Y(t).length > 0) || !e || M()), Pn = (e) => e === "react" || e === "reactNative", Me = Pn(q), Vn = () => `
3366
3366
  window.${je} = ${Rn}
3367
3367
  window.${Ue} = ${En}
3368
3368
  `, An = (e, t) => `
@@ -3398,7 +3398,7 @@ const Wn = (e, t, n = !0) => {
3398
3398
  return i;
3399
3399
  } while (i = i.parentElement);
3400
3400
  return null;
3401
- }, $n = (e) => Wn(e, (t) => {
3401
+ }, Fn = (e) => Wn(e, (t) => {
3402
3402
  const n = t.getAttribute("builder-id") || t.id;
3403
3403
  return (n == null ? void 0 : n.indexOf("builder-")) === 0;
3404
3404
  }), Te = ({
@@ -3410,8 +3410,8 @@ const Wn = (e, t, n = !0) => {
3410
3410
  x: r,
3411
3411
  y: a
3412
3412
  };
3413
- }, Fn = (e) => {
3414
- const t = e.target, n = t && $n(t), i = (n == null ? void 0 : n.getAttribute("builder-id")) || (n == null ? void 0 : n.id);
3413
+ }, $n = (e) => {
3414
+ const t = e.target, n = t && Fn(t), i = (n == null ? void 0 : n.getAttribute("builder-id")) || (n == null ? void 0 : n.id);
3415
3415
  return {
3416
3416
  targetBuilderElement: i || void 0,
3417
3417
  metadata: {
@@ -3507,8 +3507,8 @@ function Hn(e) {
3507
3507
  breakpoints: ((I = h == null ? void 0 : h.meta) == null ? void 0 : I.breakpoints) || ((j = (W = e.builderContextSignal.content) == null ? void 0 : W.meta) == null ? void 0 : j.breakpoints)
3508
3508
  }
3509
3509
  };
3510
- e.setBuilderContextSignal(($) => ({
3511
- ...$,
3510
+ e.setBuilderContextSignal((F) => ({
3511
+ ...F,
3512
3512
  content: v
3513
3513
  }));
3514
3514
  }
@@ -3570,7 +3570,7 @@ function Hn(e) {
3570
3570
  contentId: I,
3571
3571
  apiKey: e.apiKey,
3572
3572
  variationId: k !== I ? k : void 0,
3573
- ...Fn(h),
3573
+ ...$n(h),
3574
3574
  unique: !g
3575
3575
  });
3576
3576
  }
@@ -3580,12 +3580,12 @@ function Hn(e) {
3580
3580
  var v, S, k;
3581
3581
  const h = (k = (S = (v = e.builderContextSignal.content) == null ? void 0 : v.data) == null ? void 0 : S.httpRequests) != null ? k : {};
3582
3582
  Object.entries(h).forEach(([I, W]) => {
3583
- if (!W || u[I] || d[I] && !F())
3583
+ if (!W || u[I] || d[I] && !$())
3584
3584
  return;
3585
3585
  u[I] = !0;
3586
3586
  const j = W.replace(
3587
3587
  /{{([^}]+)}}/g,
3588
- ($, He) => String(
3588
+ (F, He) => String(
3589
3589
  H({
3590
3590
  code: He,
3591
3591
  context: e.context || {},
@@ -3596,19 +3596,19 @@ function Hn(e) {
3596
3596
  })
3597
3597
  )
3598
3598
  );
3599
- Xe(j).then(($) => $.json()).then(($) => {
3599
+ Xe(j).then((F) => F.json()).then((F) => {
3600
3600
  n({
3601
- [I]: $
3601
+ [I]: F
3602
3602
  }), d[I] = !0;
3603
- }).catch(($) => {
3604
- console.error("error fetching dynamic data", W, $);
3603
+ }).catch((F) => {
3604
+ console.error("error fetching dynamic data", W, F);
3605
3605
  }).finally(() => {
3606
3606
  u[I] = !1;
3607
3607
  });
3608
3608
  });
3609
3609
  }
3610
3610
  function B() {
3611
- F() && window.dispatchEvent(
3611
+ $() && window.dispatchEvent(
3612
3612
  new CustomEvent(
3613
3613
  "builder:component:stateChange",
3614
3614
  {
@@ -3625,7 +3625,7 @@ function Hn(e) {
3625
3625
  return P(() => {
3626
3626
  var h, v;
3627
3627
  if (M()) {
3628
- if (F() && (window.addEventListener("message", l), _e(), Je({
3628
+ if ($() && (window.addEventListener("message", l), _e(), Je({
3629
3629
  ...e.locale ? {
3630
3630
  locale: e.locale
3631
3631
  } : {},
@@ -3654,7 +3654,7 @@ function Hn(e) {
3654
3654
  variationId: k !== I ? k : void 0
3655
3655
  });
3656
3656
  }
3657
- if (Ge() && !F()) {
3657
+ if (Ge() && !$()) {
3658
3658
  const k = new URL(location.href).searchParams, I = k.get("builder.preview"), W = k.get(
3659
3659
  `builder.overrides.${I}`
3660
3660
  ), j = k.get("apiKey") || k.get("builder.space");
@@ -3662,8 +3662,8 @@ function Hn(e) {
3662
3662
  model: e.model,
3663
3663
  apiKey: e.apiKey,
3664
3664
  apiVersion: e.builderContextSignal.apiVersion
3665
- }).then(($) => {
3666
- $ && i($);
3665
+ }).then((F) => {
3666
+ F && i(F);
3667
3667
  });
3668
3668
  }
3669
3669
  }
@@ -3917,7 +3917,7 @@ function _n(e) {
3917
3917
  }
3918
3918
  return P(() => {
3919
3919
  }, []), /* @__PURE__ */ V(R, { children: [
3920
- !e.isNestedRender && z !== "reactNative" ? /* @__PURE__ */ s(
3920
+ !e.isNestedRender && q !== "reactNative" ? /* @__PURE__ */ s(
3921
3921
  ce,
3922
3922
  {
3923
3923
  id: "builderio-init-variants-fns",
@@ -4026,7 +4026,7 @@ function Yn(e) {
4026
4026
  function i() {
4027
4027
  var u, m;
4028
4028
  return [
4029
- e.attributes[K()],
4029
+ e.attributes[z()],
4030
4030
  "builder-symbol",
4031
4031
  (u = e.symbol) != null && u.inline ? "builder-inline-symbol" : void 0,
4032
4032
  (m = e.symbol) != null && m.dynamic || e.dynamic ? "builder-dynamic-symbol" : void 0
@@ -4077,7 +4077,7 @@ export {
4077
4077
  D as Blocks,
4078
4078
  ue as BuilderContext,
4079
4079
  nt as Button,
4080
- Ft as Columns,
4080
+ $t as Columns,
4081
4081
  _n as Content,
4082
4082
  Dt as Fragment,
4083
4083
  jt as Image,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./blocks-exports.cjs"),e=require("./server-entry-7e145817.cjs");require("react/jsx-runtime");require("react");exports.Blocks=t.Blocks;exports.BuilderContext=t.BuilderContext;exports.Button=t.Button;exports.Columns=t.Columns;exports.Content=t.Content;exports.Fragment=t.Fragment;exports.Image=t.Image;exports.Section=t.Section;exports.Symbol=t.Symbol;exports.Text=t.Text;exports.Video=t.Video;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 t=require("./blocks-exports.cjs"),e=require("./server-entry-16fc27fe.cjs");require("react/jsx-runtime");require("react");exports.Blocks=t.Blocks;exports.BuilderContext=t.BuilderContext;exports.Button=t.Button;exports.Columns=t.Columns;exports.Content=t.Content;exports.Fragment=t.Fragment;exports.Image=t.Image;exports.Section=t.Section;exports.Symbol=t.Symbol;exports.Text=t.Text;exports.Video=t.Video;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,5 +1,5 @@
1
1
  import { Blocks as i, BuilderContext as s, Button as n, Columns as c, Content as m, Fragment as g, Image as a, Section as d, Symbol as l, Text as p, Video as u } from "./blocks-exports.mjs";
2
- import { _processContentResult as B, createRegisterComponentMessage as C, fetchBuilderProps as E, fetchEntries as h, fetchOneEntry as x, getBuilderSearchParams as S, isEditing as b, isPreviewing as P, register as k, setEditorSettings as y, subscribeToEditor as R, track as T } from "./server-entry-0c6c220c.js";
2
+ import { _processContentResult as B, createRegisterComponentMessage as C, fetchBuilderProps as E, fetchEntries as h, fetchOneEntry as x, getBuilderSearchParams as S, isEditing as b, isPreviewing as P, register as k, setEditorSettings as y, subscribeToEditor as R, track as T } from "./server-entry-8bf52a55.js";
3
3
  import "react/jsx-runtime";
4
4
  import "react";
5
5
  export {
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ivm=require("isolated-vm"),serverEntry=require("./server-entry-7e145817.cjs"),SDK_NAME_FOR_TARGET=(()=>{switch(serverEntry.TARGET){case"rsc":return"react-nextjs";case"reactNative":return"react-native";default:return serverEntry.TARGET}})(),SDK_NAME=`@builder.io/sdk-${SDK_NAME_FOR_TARGET}`,noop=()=>{};let safeDynamicRequire=noop;try{safeDynamicRequire=eval("require")}catch(t){}const INJECTED_IVM_GLOBAL="BUILDER_IVM";let IVM_INSTANCE=null;const setIvm=(t,e={})=>{IVM_INSTANCE=t,setIsolateContext(e)},SHOULD_MENTION_INITIALIZE_SCRIPT=SDK_NAME==="@builder.io/sdk-react-nextjs"||SDK_NAME==="@builder.io/sdk-react",getIvm=()=>{try{if(IVM_INSTANCE)return IVM_INSTANCE;const e=safeDynamicRequire("isolated-vm");if(e)return e}catch(e){serverEntry.logger.error("isolated-vm import error.",e)}const t=`${serverEntry.MSG_PREFIX}could not import \`isolated-vm\` module for safe script execution on a Node server.
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ivm=require("isolated-vm"),serverEntry=require("./server-entry-16fc27fe.cjs"),SDK_NAME_FOR_TARGET=(()=>{switch(serverEntry.TARGET){case"rsc":return"react-nextjs";case"reactNative":return"react-native";default:return serverEntry.TARGET}})(),SDK_NAME=`@builder.io/sdk-${SDK_NAME_FOR_TARGET}`,noop=()=>{};let safeDynamicRequire=noop;try{safeDynamicRequire=eval("require")}catch(t){}const INJECTED_IVM_GLOBAL="BUILDER_IVM";let IVM_INSTANCE=null;const setIvm=(t,e={})=>{IVM_INSTANCE=t,setIsolateContext(e)},SHOULD_MENTION_INITIALIZE_SCRIPT=SDK_NAME==="@builder.io/sdk-react-nextjs"||SDK_NAME==="@builder.io/sdk-react",getIvm=()=>{try{if(IVM_INSTANCE)return IVM_INSTANCE;const e=safeDynamicRequire("isolated-vm");if(e)return e}catch(e){serverEntry.logger.error("isolated-vm import error.",e)}const t=`${serverEntry.MSG_PREFIX}could not import \`isolated-vm\` module for safe script execution on a Node server.
2
2
 
3
3
  SOLUTION: In a server-only execution path within your application, do one of the following:
4
4
 
@@ -1,5 +1,5 @@
1
1
  import ivm from "isolated-vm";
2
- import { TARGET, logger, MSG_PREFIX } from "./server-entry-0c6c220c.js";
2
+ import { TARGET, logger, MSG_PREFIX } from "./server-entry-8bf52a55.js";
3
3
  const SDK_NAME_FOR_TARGET = (() => {
4
4
  switch (TARGET) {
5
5
  case "rsc":
@@ -1,2 +1,2 @@
1
- "use strict";const I="react",b="[Builder.io]: ",d={log:(...e)=>console.log(b,...e),error:(...e)=>console.error(b,...e),warn:(...e)=>console.warn(b,...e),debug:(...e)=>console.debug(b,...e)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const ce=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},V=e=>e instanceof URLSearchParams?ce(e):e,M=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function ue(){return c()&&window.self!==window.top}function U(e){return ue()&&M(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const de=()=>{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},le=()=>typeof navigator=="object"&&navigator.userAgent||"",F=()=>{const e=le(),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()||I==="reactNative"}},n=e.match(/Tablet|iPad/i),r=de();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"}},p=e=>e!=null,fe=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},N=({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}},D=async e=>N(e),ge=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),he=[["secure",""],["SameSite","None"]],pe=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?he:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",fe(window.location.hostname)],...o];return ge(a)},j=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const o=pe({name:e,value:t,expires:n});document.cookie=o}catch(o){d.warn("[COOKIE] SET error: ",(o==null?void 0:o.message)||o)}},me="builder.tests",k=e=>`${me}.${e}`,ye=({contentId:e})=>D({name:k(e),canTrack:!0}),Se=({contentId:e})=>N({name:k(e),canTrack:!0}),we=({contentId:e,value:t})=>j({name:k(e),value:t,canTrack:!0}),K=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,be=({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},_=e=>{const t=be(e);return we({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},W=({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":"")}},Ie=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!K(e))return e;const n=Se({contentId:e.id})||_({variations:e.variations,id:e.id}),r=W({item:e,testGroupId:n});return{...e,...r}},ve=async({item:e,canTrack:t})=>{if(!t||!K(e))return e;const r=await ye({contentId:e.id})||_({variations:e.variations,id:e.id}),o=W({item:e,testGroupId:r});return{...e,...o}},$=e=>p(e)?e:!0,Ee=e=>({type:"builder.registerComponent",data:G(e)}),ke=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`};function G(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?ke(n):n))}function Pe(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Ce(){const e=Pe().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 z=Ce();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 J(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("$"))?J(o,s,n):n[s]=o}return n}const Oe="v3",T="builder.",Ae="options.",P=e=>{if(!e)return{};const t=V(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(T)){const o=r.replace(T,"").replace(Ae,"");n[o]=t[r]}}),n},Te=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(e)},x=e=>typeof e=="number"&&!isNaN(e)&&e>=0,C=e=>{const{limit:t=30,userAttributes:n,query:r,model:o,apiKey:s,enrich:a,locale:l,apiVersion:y=Oe,fields:m,omit:v,offset:u,cacheSeconds:g,staleCacheSeconds:h,sort:S,includeUnpublished:O}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(y))throw new Error(`Invalid apiVersion: expected 'v3', received '${y}'`);const ie=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(ie)),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 O=="boolean"&&i.searchParams.set("includeUnpublished",String(O)),g&&x(g)&&i.searchParams.set("cacheSeconds",String(g)),h&&x(h)&&i.searchParams.set("staleCacheSeconds",String(h)),S){const f=E({sort:S});for(const w in f)i.searchParams.set(w,JSON.stringify(f[w]))}const ae={...Te(),...V(e.options||{})},A=E(ae);for(const f in A)i.searchParams.set(f,String(A[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=J({query:r});for(const w in f)i.searchParams.set(w,JSON.stringify(f[w]))}return i},xe=e=>"results"in e;async function H(e){const t=await q({...e,limit:1});return t&&t[0]||null}const Re=async e=>{var s;const t=C(e);return await(await((s=e.fetch)!=null?s:z)(t.href,e.fetchOptions)).json()},X=async(e,t,n=C(e))=>{const r=$(e.canTrack);if(n.search.includes("preview="),!r||!(c()||I==="reactNative"))return t.results;try{const o=[];for(const s of t.results)o.push(await ve({item:s,canTrack:r}));t.results=o}catch(o){d.error("Could not process A/B tests. ",o)}return t.results};async function q(e){try{const t=C(e),n=await Re(e);return xe(n)?X(e,n):(d.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return d.error("Error fetching data. ",t),null}}function Be(e){const t=e||(c()?window.location.search:void 0);return t?M(t).indexOf("builder.preview=")!==-1:!1}function Le(){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 Q(){return Le().replace(/-/g,"")}const Y="builderSessionId",Ve=async({canTrack:e})=>{if(!e)return;const t=await D({name:Y,canTrack:e});if(p(t))return t;{const n=Me();return Ue({id:n,canTrack:e}),n}},Me=()=>Q(),Ue=({id:e,canTrack:t})=>j({name:Y,value:e,canTrack:t}),Z=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Fe=({key:e,canTrack:t})=>{var n;try{return t?(n=Z())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Ne=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=Z())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},ee="builderVisitorId",De=({canTrack:e})=>{if(!e)return;const t=Fe({key:ee,canTrack:e});if(p(t))return t;{const n=je();return Ke({id:n,canTrack:e}),n}},je=()=>Q(),Ke=({id:e,canTrack:t})=>Ne({key:ee,value:e,canTrack:t}),_e=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Ve({canTrack:e}),n=De({canTrack:e});return{sessionId:t,visitorId:n}},We=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await _e({canTrack:t}),userAttributes:F(),ownerId:n}});async function te(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!U()&&(c()||I==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await We(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const $e=e=>te({...e,canTrack:!0}),Ge=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function ne(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Ge).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const ze="2.0.5",R={};function re(e,t){let n=R[e];if(n||(n=R[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 Je=()=>{re("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 B=!1;const oe=(e={})=>{var t,n;B||(B=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:I,version:ze,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(!ne(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 S;(S=window.parent)==null||S.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}}})))},se=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!ne(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}}},He=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};oe();const r=se({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},L={};function Xe(e){if(c()){Object.assign(L,e);const t={type:"builder.settingsChange",data:L};parent.postMessage(t,"*")}}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 H(n)}};exports.MSG_PREFIX=b;exports.TARGET=I;exports._processContentResult=X;exports._track=te;exports.checkIsDefined=p;exports.createEditorListener=se;exports.createRegisterComponentMessage=Ee;exports.fetch=z;exports.fetchBuilderProps=qe;exports.fetchEntries=q;exports.fetchOneEntry=H;exports.getBuilderSearchParams=P;exports.getDefaultCanTrack=$;exports.getUserAttributes=F;exports.handleABTestingSync=Ie;exports.isBrowser=c;exports.isEditing=U;exports.isPreviewing=Be;exports.logger=d;exports.register=re;exports.registerInsertMenu=Je;exports.serializeComponentInfo=G;exports.setEditorSettings=Xe;exports.setupBrowserForEditing=oe;exports.subscribeToEditor=He;exports.track=$e;
1
+ "use strict";const I="react",b="[Builder.io]: ",d={log:(...e)=>console.log(b,...e),error:(...e)=>console.error(b,...e),warn:(...e)=>console.warn(b,...e),debug:(...e)=>console.debug(b,...e)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const ce=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},M=e=>e instanceof URLSearchParams?ce(e):e,U=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function ue(){return c()&&window.self!==window.top}function F(e){return ue()&&U(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const de=()=>{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},le=()=>typeof navigator=="object"&&navigator.userAgent||"",N=()=>{const e=le(),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()||I==="reactNative"}},n=e.match(/Tablet|iPad/i),r=de();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"}},p=e=>e!=null,fe=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),ge=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),he=[["secure",""],["SameSite","None"]],pe=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?he:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",fe(window.location.hostname)],...o];return ge(a)},K=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const o=pe({name:e,value:t,expires:n});document.cookie=o}catch(o){d.warn("[COOKIE] SET error: ",(o==null?void 0:o.message)||o)}},me="builder.tests",k=e=>`${me}.${e}`,ye=({contentId:e})=>j({name:k(e),canTrack:!0}),Se=({contentId:e})=>D({name:k(e),canTrack:!0}),we=({contentId:e,value:t})=>K({name:k(e),value:t,canTrack:!0}),_=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,be=({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},W=e=>{const t=be(e);return we({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},$=({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":"")}},Ie=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!_(e))return e;const n=Se({contentId:e.id})||W({variations:e.variations,id:e.id}),r=$({item:e,testGroupId:n});return{...e,...r}},ve=async({item:e,canTrack:t})=>{if(!t||!_(e))return e;const r=await ye({contentId:e.id})||W({variations:e.variations,id:e.id}),o=$({item:e,testGroupId:r});return{...e,...o}},G=e=>p(e)?e:!0,Ee=e=>({type:"builder.registerComponent",data:P(e)}),ke=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`};function P(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?ke(n):n))}function Pe(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Ce(){const e=Pe().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 z=Ce();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 J(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("$"))?J(o,s,n):n[s]=o}return n}const Oe="v3",x="builder.",Ae="options.",C=e=>{if(!e)return{};const t=M(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(x)){const o=r.replace(x,"").replace(Ae,"");n[o]=t[r]}}),n},Te=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return C(e)},R=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=Oe,fields:m,omit:v,offset:u,cacheSeconds:g,staleCacheSeconds:h,sort:S,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 ie=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(ie)),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&&R(g)&&i.searchParams.set("cacheSeconds",String(g)),h&&R(h)&&i.searchParams.set("staleCacheSeconds",String(h)),S){const f=E({sort:S});for(const w in f)i.searchParams.set(w,JSON.stringify(f[w]))}const ae={...Te(),...M(e.options||{})},T=E(ae);for(const f in T)i.searchParams.set(f,String(T[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=J({query:r});for(const w in f)i.searchParams.set(w,JSON.stringify(f[w]))}return i},xe=e=>"results"in e;async function H(e){const t=await q({...e,limit:1});return t&&t[0]||null}const Re=async e=>{var s;const t=O(e);return await(await((s=e.fetch)!=null?s:z)(t.href,e.fetchOptions)).json()},X=async(e,t,n=O(e))=>{const r=G(e.canTrack);if(n.search.includes("preview="),!r||!(c()||I==="reactNative"))return t.results;try{const o=[];for(const s of t.results)o.push(await ve({item:s,canTrack:r}));t.results=o}catch(o){d.error("Could not process A/B tests. ",o)}return t.results};async function q(e){try{const t=O(e),n=await Re(e);return xe(n)?X(e,n):(d.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return d.error("Error fetching data. ",t),null}}function Be(e){const t=e||(c()?window.location.search:void 0);return t?U(t).indexOf("builder.preview=")!==-1:!1}function Le(){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 Q(){return Le().replace(/-/g,"")}const Y="builderSessionId",Ve=async({canTrack:e})=>{if(!e)return;const t=await j({name:Y,canTrack:e});if(p(t))return t;{const n=Me();return Ue({id:n,canTrack:e}),n}},Me=()=>Q(),Ue=({id:e,canTrack:t})=>K({name:Y,value:e,canTrack:t}),Z=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Fe=({key:e,canTrack:t})=>{var n;try{return t?(n=Z())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Ne=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=Z())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},ee="builderVisitorId",De=({canTrack:e})=>{if(!e)return;const t=Fe({key:ee,canTrack:e});if(p(t))return t;{const n=je();return Ke({id:n,canTrack:e}),n}},je=()=>Q(),Ke=({id:e,canTrack:t})=>Ne({key:ee,value:e,canTrack:t}),_e=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Ve({canTrack:e}),n=De({canTrack:e});return{sessionId:t,visitorId:n}},We=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await _e({canTrack:t}),userAttributes:N(),ownerId:n}});async function te(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!F()&&(c()||I==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await We(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const $e=e=>te({...e,canTrack:!0}),Ge=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function ne(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Ge).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const ze="2.0.9",B={};function re(e,t){e==="plugin"&&(t=P(t));let n=B[e];if(n||(n=B[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 Je=()=>{re("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 oe=(e={})=>{var t,n;L||(L=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:I,version:ze,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(!ne(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 S;(S=window.parent)==null||S.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}}})))},se=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!ne(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}}},He=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};oe();const r=se({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},V={};function Xe(e){if(c()){Object.assign(V,e);const t={type:"builder.settingsChange",data:V};parent.postMessage(t,"*")}}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:C(e.searchParams||((s=e.url)==null?void 0:s.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await H(n)}};exports.MSG_PREFIX=b;exports.TARGET=I;exports._processContentResult=X;exports._track=te;exports.checkIsDefined=p;exports.createEditorListener=se;exports.createRegisterComponentMessage=Ee;exports.fetch=z;exports.fetchBuilderProps=qe;exports.fetchEntries=q;exports.fetchOneEntry=H;exports.getBuilderSearchParams=C;exports.getDefaultCanTrack=G;exports.getUserAttributes=N;exports.handleABTestingSync=Ie;exports.isBrowser=c;exports.isEditing=F;exports.isPreviewing=Be;exports.logger=d;exports.register=re;exports.registerInsertMenu=Je;exports.serializeIncludingFunctions=P;exports.setEditorSettings=Xe;exports.setupBrowserForEditing=oe;exports.subscribeToEditor=He;exports.track=$e;