@builder.io/sdk-react-nextjs 0.15.0 → 0.15.2

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 (37) hide show
  1. package/lib/browser/blocks-exports.cjs +10 -10
  2. package/lib/browser/blocks-exports.mjs +94 -107
  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/browser/{server-entry-98a38828.js → server-entry-7f981733.js} +1 -1
  8. package/lib/browser/{server-entry-5ba46495.cjs → server-entry-f64a4c2d.cjs} +1 -1
  9. package/lib/browser/server-entry.cjs +1 -1
  10. package/lib/browser/server-entry.mjs +1 -1
  11. package/lib/edge/blocks-exports.cjs +25 -25
  12. package/lib/edge/blocks-exports.mjs +243 -256
  13. package/lib/edge/index.cjs +1 -1
  14. package/lib/edge/index.mjs +1 -1
  15. package/lib/edge/init.cjs +1 -1
  16. package/lib/edge/init.mjs +1 -1
  17. package/lib/edge/{server-entry-98a38828.js → server-entry-7f981733.js} +1 -1
  18. package/lib/edge/{server-entry-5ba46495.cjs → server-entry-f64a4c2d.cjs} +1 -1
  19. package/lib/edge/server-entry.cjs +1 -1
  20. package/lib/edge/server-entry.mjs +1 -1
  21. package/lib/node/blocks-exports.cjs +13 -13
  22. package/lib/node/blocks-exports.mjs +41 -54
  23. package/lib/node/index.cjs +1 -1
  24. package/lib/node/index.mjs +2 -2
  25. package/lib/node/init.cjs +1 -1
  26. package/lib/node/init.mjs +2 -2
  27. package/lib/node/{node-runtime-f2f9d7b3.js → node-runtime-3f0a39c5.js} +1 -1
  28. package/lib/node/{node-runtime-5abae854.cjs → node-runtime-6f522a33.cjs} +1 -1
  29. package/lib/node/{server-entry-9e9936de.js → server-entry-46bde4f0.js} +1 -1
  30. package/lib/node/{server-entry-8f87e771.cjs → server-entry-68c26de0.cjs} +1 -1
  31. package/lib/node/server-entry.cjs +1 -1
  32. package/lib/node/server-entry.mjs +1 -1
  33. package/package.json +1 -1
  34. package/types/cjs/constants/sdk-version.d.ts +1 -1
  35. package/types/cjs/types/components.d.ts +10 -0
  36. package/types/esm/constants/sdk-version.d.ts +1 -1
  37. package/types/esm/types/components.d.ts +10 -0
@@ -3,8 +3,8 @@ var Ae = Object.defineProperty;
3
3
  var Ve = (e, t, n) => t in e ? Ae(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
4
4
  var te = (e, t, n) => (Ve(e, typeof t != "symbol" ? t + "" : t, n), n);
5
5
  import { jsx as c, Fragment as C, jsxs as P } from "react/jsx-runtime";
6
- import { TARGET as _, checkIsDefined as K, logger as J, isBrowser as z, fastClone as oe, isEditing as V, init as $e, getDefaultCanTrack as q, _track as me, isPreviewing as Le, createEditorListener as Fe, fetch as je, registerInsertMenu as De, setupBrowserForEditing as Oe, createRegisterComponentMessage as _e, fetchOneEntry as Se, serializeComponentInfo as fe, handleABTestingSync as He } from "./server-entry-9e9936de.js";
7
- import { getFunctionArguments as Ue, runInNode as Me, parseCode as Ke, getBuilderGlobals as ze, set as qe } from "./node-runtime-f2f9d7b3.js";
6
+ import { TARGET as H, checkIsDefined as K, logger as J, isBrowser as z, fastClone as oe, isEditing as V, init as $e, getDefaultCanTrack as q, _track as me, isPreviewing as Le, createEditorListener as Fe, fetch as De, registerInsertMenu as je, setupBrowserForEditing as Oe, createRegisterComponentMessage as He, fetchOneEntry as Se, serializeComponentInfo as fe, handleABTestingSync as Me } from "./server-entry-46bde4f0.js";
7
+ import { getFunctionArguments as Ue, runInNode as _e, parseCode as Ke, getBuilderGlobals as ze, set as qe } from "./node-runtime-3f0a39c5.js";
8
8
  import { useRef as ae, useState as N, useEffect as T, createContext as Ye } from "react";
9
9
  import { useRouter as Je } from "next/navigation";
10
10
  import "lru-cache";
@@ -12,8 +12,8 @@ const Qe = /* @__PURE__ */ new Set(["area", "base", "br", "col", "embed", "hr",
12
12
  function re(e) {
13
13
  return /* @__PURE__ */ c(C, { children: Ge(e.TagName) ? /* @__PURE__ */ c(C, { children: /* @__PURE__ */ c(e.TagName, { ...e.attributes, ...e.actionAttributes }) }) : /* @__PURE__ */ c(C, { children: typeof e.TagName == "string" ? /* @__PURE__ */ c(e.TagName, { ...e.attributes, ...e.actionAttributes, children: e.children }) : /* @__PURE__ */ c(e.TagName, { ...e.attributes, ...e.actionAttributes, children: e.children }) }) });
14
14
  }
15
- const D = () => {
16
- switch (_) {
15
+ const j = () => {
16
+ switch (H) {
17
17
  case "react":
18
18
  case "reactNative":
19
19
  case "rsc":
@@ -30,7 +30,7 @@ function Xe(e) {
30
30
  function t() {
31
31
  return {
32
32
  ...e.attributes,
33
- [D()]: `${e.link ? "" : "builder-button"} ${e.attributes[D()] || ""}`,
33
+ [j()]: `${e.link ? "" : "builder-button"} ${e.attributes[j()] || ""}`,
34
34
  ...e.link ? {
35
35
  href: e.link,
36
36
  target: e.openLinkInNewTab ? "_blank" : void 0,
@@ -113,7 +113,7 @@ const nt = () => {
113
113
  return !1;
114
114
  const e = process.arch === "arm64", t = process.version.startsWith("v20"), n = (i = process.env.NODE_OPTIONS) == null ? void 0 : i.includes("--no-node-snapshot");
115
115
  return e && t && !n ? (J.log("Skipping usage of `isolated-vm` to avoid crashes in Node v20 on an arm64 machine.\n If you would like to use the `isolated-vm` package on this machine, please provide the `NODE_OPTIONS=--no-node-snapshot` config to your Node process.\n See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.\n "), !0) : !1;
116
- }, it = (e) => z() || nt() ? et(e) : Me(e), W = class W {
116
+ }, it = (e) => z() || nt() ? et(e) : _e(e), W = class W {
117
117
  static getCacheKey(t) {
118
118
  return JSON.stringify({
119
119
  ...t,
@@ -253,7 +253,7 @@ const lt = ({
253
253
  block: e
254
254
  }));
255
255
  function we(e) {
256
- switch (_) {
256
+ switch (H) {
257
257
  case "svelte":
258
258
  case "vue":
259
259
  case "solid":
@@ -478,7 +478,7 @@ function Pe(e) {
478
478
  const a = n[o];
479
479
  let l = gt(o);
480
480
  if (e.stripPrefix)
481
- switch (_) {
481
+ switch (H) {
482
482
  case "vue":
483
483
  l = l.replace("v-on:", "");
484
484
  break;
@@ -511,7 +511,7 @@ function ce({
511
511
  block: e,
512
512
  context: t
513
513
  }),
514
- [D()]: [e.id, "builder-block", e.class, (i = e.properties) == null ? void 0 : i.class].filter(Boolean).join(" ")
514
+ [j()]: [e.id, "builder-block", e.class, (i = e.properties) == null ? void 0 : i.class].filter(Boolean).join(" ")
515
515
  };
516
516
  return yt({
517
517
  properties: n,
@@ -854,7 +854,7 @@ function Tt(e) {
854
854
  })
855
855
  };
856
856
  }, u = function(g) {
857
- const I = g === 0 ? 0 : t, R = l(g), E = `${I}px`, F = "100%", j = 0;
857
+ const I = g === 0 ? 0 : t, R = l(g), E = `${I}px`, F = "100%", D = 0;
858
858
  return {
859
859
  ...{
860
860
  display: "flex",
@@ -868,7 +868,7 @@ function Tt(e) {
868
868
  desktopStyle: R
869
869
  }),
870
870
  "--column-margin-left-mobile": s({
871
- stackedStyle: j,
871
+ stackedStyle: D,
872
872
  desktopStyle: E
873
873
  }),
874
874
  "--column-width-tablet": r({
@@ -876,7 +876,7 @@ function Tt(e) {
876
876
  desktopStyle: R
877
877
  }),
878
878
  "--column-margin-left-tablet": r({
879
- stackedStyle: j,
879
+ stackedStyle: D,
880
880
  desktopStyle: E
881
881
  })
882
882
  };
@@ -916,7 +916,7 @@ function Tt(e) {
916
916
  ...g.link ? {
917
917
  href: g.link
918
918
  } : {},
919
- [D()]: "builder-column",
919
+ [j()]: "builder-column",
920
920
  style: we(u(I))
921
921
  };
922
922
  };
@@ -1532,7 +1532,7 @@ const Nt = {
1532
1532
  builderLinkComponent: !1
1533
1533
  }
1534
1534
  };
1535
- function jt(e) {
1535
+ function Dt(e) {
1536
1536
  var t, n, i;
1537
1537
  return /* @__PURE__ */ c(
1538
1538
  "div",
@@ -1555,7 +1555,7 @@ function jt(e) {
1555
1555
  }
1556
1556
  );
1557
1557
  }
1558
- const Dt = {
1558
+ const jt = {
1559
1559
  name: "Symbol",
1560
1560
  noWrap: !0,
1561
1561
  static: !0,
@@ -1619,7 +1619,7 @@ const Dt = {
1619
1619
  textAlign: "center"
1620
1620
  }
1621
1621
  };
1622
- function _t(e) {
1622
+ function Ht(e) {
1623
1623
  var t;
1624
1624
  return /* @__PURE__ */ c(
1625
1625
  "div",
@@ -1632,7 +1632,7 @@ function _t(e) {
1632
1632
  }
1633
1633
  );
1634
1634
  }
1635
- const Ht = {
1635
+ const Mt = {
1636
1636
  shouldReceiveBuilderProps: {
1637
1637
  builderBlock: !1,
1638
1638
  builderContext: !1,
@@ -1699,7 +1699,7 @@ function Ut(e) {
1699
1699
  }
1700
1700
  );
1701
1701
  }
1702
- const Mt = {
1702
+ const _t = {
1703
1703
  shouldReceiveBuilderProps: {
1704
1704
  builderBlock: !1,
1705
1705
  builderContext: !1,
@@ -1713,20 +1713,7 @@ const Mt = {
1713
1713
  type: "url",
1714
1714
  required: !0,
1715
1715
  defaultValue: "",
1716
- helperText: "e.g. enter a youtube url, google map, etc",
1717
- onChange: (e) => {
1718
- const t = e.get("url");
1719
- if (t) {
1720
- e.set("content", "Loading...");
1721
- const n = _iframelyApiKey;
1722
- return fetch(`https://iframe.ly/api/iframely?url=${t}&api_key=${n}`).then((i) => i.json()).then((i) => {
1723
- e.get("url") === t && (i.html ? e.set("content", i.html) : e.set("content", "Invalid url, please try another"));
1724
- }).catch((i) => {
1725
- e.set("content", "There was an error embedding this URL, please try again or another URL");
1726
- });
1727
- } else
1728
- e.delete("content");
1729
- }
1716
+ helperText: "e.g. enter a youtube url, google map, etc"
1730
1717
  }, {
1731
1718
  name: "content",
1732
1719
  type: "html",
@@ -1992,10 +1979,10 @@ function Gt(e) {
1992
1979
  }
1993
1980
  const Xt = () => [{
1994
1981
  component: Ut,
1995
- ...Ht
1982
+ ...Mt
1996
1983
  }, {
1997
1984
  component: qt,
1998
- ...Mt
1985
+ ..._t
1999
1986
  }, {
2000
1987
  component: Jt,
2001
1988
  ...Yt
@@ -2018,13 +2005,13 @@ const Xt = () => [{
2018
2005
  component: Wt,
2019
2006
  ...Lt
2020
2007
  }, {
2021
- component: jt,
2008
+ component: Dt,
2022
2009
  ...Ft
2023
2010
  }, {
2024
2011
  component: Pn,
2025
- ...Dt
2012
+ ...jt
2026
2013
  }, {
2027
- component: _t,
2014
+ component: Ht,
2028
2015
  ...Ot
2029
2016
  }, ...Xt()], Zt = `function updateCookiesAndStyles(contentId, variants, isHydrationTarget) {
2030
2017
  function getAndSetVariantId() {
@@ -2116,14 +2103,14 @@ const Xt = () => [{
2116
2103
  thisScriptEl?.remove();
2117
2104
  }
2118
2105
  return;
2119
- }`, Be = "builderIoAbTest", Ee = "builderIoRenderContent", M = (e) => Object.values((e == null ? void 0 : e.variations) || {}).map((t) => ({
2106
+ }`, Be = "builderIoAbTest", Ee = "builderIoRenderContent", _ = (e) => Object.values((e == null ? void 0 : e.variations) || {}).map((t) => ({
2120
2107
  ...t,
2121
2108
  testVariationId: t.id,
2122
2109
  id: e == null ? void 0 : e.id
2123
2110
  })), tn = ({
2124
2111
  canTrack: e,
2125
2112
  content: t
2126
- }) => !(!(M(t).length > 0) || !e || z()), nn = (e) => e === "react" || e === "reactNative", We = nn(_), on = () => `
2113
+ }) => !(!(_(t).length > 0) || !e || z()), nn = (e) => e === "react" || e === "reactNative", We = nn(H), on = () => `
2127
2114
  window.${Be} = ${Zt}
2128
2115
  window.${Ee} = ${en}
2129
2116
  `, an = (e, t) => `
@@ -2300,7 +2287,7 @@ font-weight: ${r};
2300
2287
  }
2301
2288
  `, xn = (e) => e ? "" : vn, kn = (e) => `variant-${e}`;
2302
2289
  function Sn(e) {
2303
- var E, F, j, Z, ee, de, ue;
2290
+ var E, F, D, Z, ee, de, ue;
2304
2291
  const t = ae(null);
2305
2292
  function n(b) {
2306
2293
  var y, v;
@@ -2311,7 +2298,7 @@ function Sn(e) {
2311
2298
  e.builderContextSignal.rootSetState ? (v = (y = e.builderContextSignal).rootSetState) == null || v.call(y, f) : e.builderContextSignal.rootState = f;
2312
2299
  }
2313
2300
  function i(b) {
2314
- var y, v, S, B, H;
2301
+ var y, v, S, B, M;
2315
2302
  const f = {
2316
2303
  ...e.builderContextSignal.content,
2317
2304
  ...b,
@@ -2322,7 +2309,7 @@ function Sn(e) {
2322
2309
  meta: {
2323
2310
  ...(v = e.builderContextSignal.content) == null ? void 0 : v.meta,
2324
2311
  ...b == null ? void 0 : b.meta,
2325
- breakpoints: ((S = b == null ? void 0 : b.meta) == null ? void 0 : S.breakpoints) || ((H = (B = e.builderContextSignal.content) == null ? void 0 : B.meta) == null ? void 0 : H.breakpoints)
2312
+ breakpoints: ((S = b == null ? void 0 : b.meta) == null ? void 0 : S.breakpoints) || ((M = (B = e.builderContextSignal.content) == null ? void 0 : B.meta) == null ? void 0 : M.breakpoints)
2326
2313
  }
2327
2314
  };
2328
2315
  un({
@@ -2403,7 +2390,7 @@ function Sn(e) {
2403
2390
  if (!B || u[S] || d[S] && !V())
2404
2391
  return;
2405
2392
  u[S] = !0;
2406
- const H = B.replace(
2393
+ const M = B.replace(
2407
2394
  /{{([^}]+)}}/g,
2408
2395
  ($, Ne) => String(
2409
2396
  O({
@@ -2416,7 +2403,7 @@ function Sn(e) {
2416
2403
  })
2417
2404
  )
2418
2405
  );
2419
- je(H).then(($) => $.json()).then(($) => {
2406
+ De(M).then(($) => $.json()).then(($) => {
2420
2407
  n({
2421
2408
  [S]: $
2422
2409
  }), d[S] = !0;
@@ -2443,7 +2430,7 @@ function Sn(e) {
2443
2430
  );
2444
2431
  }
2445
2432
  function g(b) {
2446
- window.addEventListener("message", r), De(), Oe({
2433
+ window.addEventListener("message", r), je(), Oe({
2447
2434
  ...e.locale ? {
2448
2435
  locale: e.locale
2449
2436
  } : {},
@@ -2457,7 +2444,7 @@ function Sn(e) {
2457
2444
  e.builderContextSignal.componentInfos
2458
2445
  ).forEach((f) => {
2459
2446
  var v;
2460
- const y = _e(f);
2447
+ const y = He(f);
2461
2448
  (v = window.parent) == null || v.postMessage(y, "*");
2462
2449
  }), window.addEventListener(
2463
2450
  "builder:component:stateChangeListenerActivated",
@@ -2525,7 +2512,7 @@ function Sn(e) {
2525
2512
  s();
2526
2513
  }, [(F = (E = e.builderContextSignal.content) == null ? void 0 : E.data) == null ? void 0 : F.jsCode]), T(() => {
2527
2514
  A();
2528
- }, [(Z = (j = e.builderContextSignal.content) == null ? void 0 : j.data) == null ? void 0 : Z.httpRequests]), T(() => {
2515
+ }, [(Z = (D = e.builderContextSignal.content) == null ? void 0 : D.data) == null ? void 0 : Z.httpRequests]), T(() => {
2529
2516
  x();
2530
2517
  }, [e.builderContextSignal.rootState]), T(() => {
2531
2518
  e.data && n(e.data);
@@ -2698,26 +2685,26 @@ function Tn(e) {
2698
2685
  }), n = function() {
2699
2686
  var r;
2700
2687
  return an(
2701
- M(e.content).map((s) => ({
2688
+ _(e.content).map((s) => ({
2702
2689
  id: s.testVariationId,
2703
2690
  testRatio: s.testRatio
2704
2691
  })),
2705
2692
  ((r = e.content) == null ? void 0 : r.id) || ""
2706
2693
  );
2707
2694
  }, i = function() {
2708
- return M(e.content).map((r) => `.variant-${r.testVariationId} { display: none; } `).join("");
2695
+ return _(e.content).map((r) => `.variant-${r.testVariationId} { display: none; } `).join("");
2709
2696
  }, o = function() {
2710
2697
  var r;
2711
2698
  return t ? {
2712
2699
  ...e.content,
2713
2700
  testVariationId: (r = e.content) == null ? void 0 : r.id
2714
- } : He({
2701
+ } : Me({
2715
2702
  item: e.content,
2716
2703
  canTrack: q(e.canTrack)
2717
2704
  });
2718
2705
  };
2719
2706
  return /* @__PURE__ */ P(C, { children: [
2720
- !e.isNestedRender && _ !== "reactNative" ? /* @__PURE__ */ c(
2707
+ !e.isNestedRender && H !== "reactNative" ? /* @__PURE__ */ c(
2721
2708
  ie,
2722
2709
  {
2723
2710
  id: "builderio-init-variants-fns",
@@ -2739,7 +2726,7 @@ function Tn(e) {
2739
2726
  scriptStr: n()
2740
2727
  }
2741
2728
  ),
2742
- (a = M(e.content)) == null ? void 0 : a.map((l) => /* @__PURE__ */ c(
2729
+ (a = _(e.content)) == null ? void 0 : a.map((l) => /* @__PURE__ */ c(
2743
2730
  ke,
2744
2731
  {
2745
2732
  isNestedRender: e.isNestedRender,
@@ -2819,7 +2806,7 @@ async function Pn(e) {
2819
2806
  }, i = function() {
2820
2807
  var u, h;
2821
2808
  return [
2822
- e.attributes[D()],
2809
+ e.attributes[j()],
2823
2810
  "builder-symbol",
2824
2811
  (u = e.symbol) != null && u.inline ? "builder-inline-symbol" : void 0,
2825
2812
  (h = e.symbol) != null && h.dynamic || e.dynamic ? "builder-dynamic-symbol" : void 0
@@ -2863,6 +2850,6 @@ export {
2863
2850
  Et as Image,
2864
2851
  Wt as Section,
2865
2852
  Pn as Symbol,
2866
- _t as Text,
2853
+ Ht as Text,
2867
2854
  Gt as Video
2868
2855
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./blocks-exports.cjs"),e=require("./server-entry-8f87e771.cjs");require("react/jsx-runtime");require("./node-runtime-5abae854.cjs");require("react");require("next/navigation");require("lru-cache");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-68c26de0.cjs");require("react/jsx-runtime");require("./node-runtime-6f522a33.cjs");require("react");require("next/navigation");require("lru-cache");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,7 +1,7 @@
1
1
  import { Blocks as m, BuilderContext as c, Button as p, Columns as g, Content as a, Fragment as d, Image as l, Section as u, Symbol as f, Text as B, Video as C } from "./blocks-exports.mjs";
2
- import { _processContentResult as h, createRegisterComponentMessage as x, fetchBuilderProps as S, fetchEntries as b, fetchOneEntry as P, getBuilderSearchParams as k, isEditing as y, isPreviewing as R, register as T, setEditorSettings as v, subscribeToEditor as w, track as F } from "./server-entry-9e9936de.js";
2
+ import { _processContentResult as h, createRegisterComponentMessage as x, fetchBuilderProps as S, fetchEntries as b, fetchOneEntry as P, getBuilderSearchParams as k, isEditing as y, isPreviewing as R, register as T, setEditorSettings as v, subscribeToEditor as w, track as F } from "./server-entry-46bde4f0.js";
3
3
  import "react/jsx-runtime";
4
- import "./node-runtime-f2f9d7b3.js";
4
+ import "./node-runtime-3f0a39c5.js";
5
5
  import "react";
6
6
  import "next/navigation";
7
7
  import "lru-cache";
package/lib/node/init.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("isolated-vm"),n=require("./node-runtime-5abae854.cjs");require("./server-entry-8f87e771.cjs");require("lru-cache");const o=e=>{const{ivmIsolateOptions:i}=e||{};n.setIvm(t,i)};exports.initializeNodeRuntime=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("isolated-vm"),n=require("./node-runtime-6f522a33.cjs");require("./server-entry-68c26de0.cjs");require("lru-cache");const o=e=>{const{ivmIsolateOptions:i}=e||{};n.setIvm(t,i)};exports.initializeNodeRuntime=o;
package/lib/node/init.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import t from "isolated-vm";
2
- import { setIvm as m } from "./node-runtime-f2f9d7b3.js";
3
- import "./server-entry-9e9936de.js";
2
+ import { setIvm as m } from "./node-runtime-3f0a39c5.js";
3
+ import "./server-entry-46bde4f0.js";
4
4
  import "lru-cache";
5
5
  const s = (i) => {
6
6
  const {
@@ -1,4 +1,4 @@
1
- import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX, fastClone } from "./server-entry-9e9936de.js";
1
+ import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX, fastClone } from "./server-entry-46bde4f0.js";
2
2
  const getFunctionArguments = ({
3
3
  builder: e,
4
4
  context: t,
@@ -1,4 +1,4 @@
1
- "use strict";const serverEntry=require("./server-entry-8f87e771.cjs"),getFunctionArguments=({builder:e,context:t,event:s,state:r})=>Object.entries({state:r,Builder:e,builder:e,context:t,event:s}),getBuilderGlobals=()=>({isEditing:serverEntry.isEditing(),isBrowser:serverEntry.isBrowser(),isServer:!serverEntry.isBrowser(),getUserAttributes:()=>serverEntry.getUserAttributes()}),parseCode=(e,{isExpression:t=!0})=>t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e,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}`,set=(e,t,s)=>{if(Object(e)!==e)return e;const r=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return r.slice(0,-1).reduce((n,o,c)=>Object(n[o])===n[o]?n[o]:n[o]=Math.abs(Number(r[c+1]))>>0===+r[c+1]?[]:{},e)[r[r.length-1]]=s,e},noop=()=>{};let safeDynamicRequire=noop;try{safeDynamicRequire=eval("require")}catch(e){}const getSyncValName=e=>`bldr_${e}_sync`,BUILDER_SET_STATE_NAME="BUILDER_SET_STATE",INJECTED_IVM_GLOBAL="BUILDER_IVM",REF_TO_PROXY_FN=`
1
+ "use strict";const serverEntry=require("./server-entry-68c26de0.cjs"),getFunctionArguments=({builder:e,context:t,event:s,state:r})=>Object.entries({state:r,Builder:e,builder:e,context:t,event:s}),getBuilderGlobals=()=>({isEditing:serverEntry.isEditing(),isBrowser:serverEntry.isBrowser(),isServer:!serverEntry.isBrowser(),getUserAttributes:()=>serverEntry.getUserAttributes()}),parseCode=(e,{isExpression:t=!0})=>t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e,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}`,set=(e,t,s)=>{if(Object(e)!==e)return e;const r=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return r.slice(0,-1).reduce((n,o,c)=>Object(n[o])===n[o]?n[o]:n[o]=Math.abs(Number(r[c+1]))>>0===+r[c+1]?[]:{},e)[r[r.length-1]]=s,e},noop=()=>{};let safeDynamicRequire=noop;try{safeDynamicRequire=eval("require")}catch(e){}const getSyncValName=e=>`bldr_${e}_sync`,BUILDER_SET_STATE_NAME="BUILDER_SET_STATE",INJECTED_IVM_GLOBAL="BUILDER_IVM",REF_TO_PROXY_FN=`
2
2
  var refToProxy = (obj) => {
3
3
  if (typeof obj !== 'object' || obj === null) {
4
4
  return obj;
@@ -509,7 +509,7 @@ function J(e, t) {
509
509
  const n = new URL(t.origin), r = n.hostname;
510
510
  return (e || $e).findIndex((o) => o.startsWith("*.") ? r.endsWith(o.slice(1)) : o === r) > -1;
511
511
  }
512
- const Ge = "0.15.0", A = {};
512
+ const Ge = "0.15.2", A = {};
513
513
  function He(e, t) {
514
514
  let n = A[e];
515
515
  if (n || (n = A[e] = []), n.push(t), c()) {
@@ -1,2 +1,2 @@
1
1
  "use strict";const de=require("lru-cache"),I="rsc",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 le=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},V=e=>e instanceof URLSearchParams?le(e):e,M=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function fe(){return c()&&window.self!==window.top}function _(e){return fe()&&M(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const ge=()=>{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},he=()=>typeof navigator=="object"&&navigator.userAgent||"",F=()=>{const e=he(),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=ge();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"}},C=e=>JSON.parse(JSON.stringify(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}},N=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()]]:[[]],i=[[e,t],...s,["path","/"],["domain",pe(window.location.hostname)],...o];return me(i)},j=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)}},Se="builder.tests",k=e=>`${Se}.${e}`,be=({contentId:e})=>N({name:k(e),canTrack:!0}),Ie=({contentId:e})=>D({name:k(e),canTrack:!0}),ve=({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,Ee=({id:e,variations:t})=>{var o;let n=0;const r=Math.random();for(const s in t){const i=(o=t[s])==null?void 0:o.testRatio;if(n+=i,r<n)return s}return e},W=e=>{const t=Ee(e);return ve({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":"")}},Ce=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!K(e))return e;const n=Ie({contentId:e.id})||W({variations:e.variations,id:e.id}),r=$({item:e,testGroupId:n});return{...e,...r}},ke=async({item:e,canTrack:t})=>{if(!t||!K(e))return e;const r=await be({contentId:e.id})||W({variations:e.variations,id:e.id}),o=$({item:e,testGroupId:r});return{...e,...o}},G=e=>p(e)?e:!0,Pe=e=>({type:"builder.registerComponent",data:H(e)}),Re=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`},Oe=e=>typeof e=="function"?Re(e):C(e),H=({inputs:e,...t})=>({...C(t),inputs:e==null?void 0:e.map(n=>Object.entries(n).reduce((r,[o,s])=>({...r,[o]:Oe(s)}),{}))}),Ae=e=>{const t=e.get("preview"),n=e.get("overrides."+t);return n||d.warn("No previewed ID found in search params."),n};function z(){globalThis._BUILDER_PREVIEW_LRU_CACHE||(globalThis._BUILDER_PREVIEW_LRU_CACHE=new de.LRUCache({max:500,ttl:1e3*60*5}))}function Te(e){z();const t=Ae(e);return typeof t=="string"?globalThis._BUILDER_PREVIEW_LRU_CACHE.get(t):void 0}function xe(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Be(){const e=xe().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 J=Be();function E(e,t=null,n="."){return Object.keys(e).reduce((r,o)=>{const s=e[o],i=[t,o].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...r,...E(s,i,n)}:{...r,[i]:s}},{})}function X(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(i=>i.startsWith("$"))?X(o,s,n):n[s]=o}return n}const Le="v3",T="builder.",Ue="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(Ue,"");n[o]=t[r]}}),n},Ve=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(e)},x=e=>typeof e=="number"&&!isNaN(e)&&e>=0,R=e=>{const{limit:t=30,userAttributes:n,query:r,model:o,apiKey:s,enrich:i,locale:u,apiVersion:y=Le,fields:m,omit:v,offset:l,cacheSeconds:g,staleCacheSeconds:h,sort:w,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 ce=t!==1,a=new URL(`https://cdn.builder.io/api/${y}/content/${o}`);if(a.searchParams.set("apiKey",s),a.searchParams.set("limit",String(t)),a.searchParams.set("noTraverse",String(ce)),a.searchParams.set("includeRefs",String(!0)),u&&a.searchParams.set("locale",u),i&&a.searchParams.set("enrich",String(i)),a.searchParams.set("omit",v||"meta.componentsUsed"),m&&a.searchParams.set("fields",m),Number.isFinite(l)&&l>-1&&a.searchParams.set("offset",String(Math.floor(l))),typeof O=="boolean"&&a.searchParams.set("includeUnpublished",String(O)),g&&x(g)&&a.searchParams.set("cacheSeconds",String(g)),h&&x(h)&&a.searchParams.set("staleCacheSeconds",String(h)),w){const f=E({sort:w});for(const S in f)a.searchParams.set(S,JSON.stringify(f[S]))}const ue={...Ve(),...V(e.options||{})},A=E(ue);for(const f in A)a.searchParams.set(f,String(A[f]));if(n&&a.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=X({query:r});for(const S in f)a.searchParams.set(S,JSON.stringify(f[S]))}return a},Me=e=>"results"in e;async function q(e){const t=await Y({...e,limit:1});return t&&t[0]||null}const _e=async e=>{var s;const t=R(e);return await(await((s=e.fetch)!=null?s:J)(t.href,e.fetchOptions)).json()},Q=async(e,t,n=R(e))=>{const r=G(e.canTrack);if(n.search.includes("preview=")){const s=[];for(const i of t.results){const u=Te(n.searchParams);s.push(u||i)}t.results=s}if(!r||!(c()||I==="reactNative"))return t.results;try{const s=[];for(const i of t.results)s.push(await ke({item:i,canTrack:r}));t.results=s}catch(s){d.error("Could not process A/B tests. ",s)}return t.results};async function Y(e){try{const t=R(e),n=await _e(e);return Me(n)?Q(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 Fe(e){const t=e||(c()?window.location.search:void 0);return t?M(t).indexOf("builder.preview=")!==-1:!1}function De(){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 Z(){return De().replace(/-/g,"")}const ee="builderSessionId",Ne=async({canTrack:e})=>{if(!e)return;const t=await N({name:ee,canTrack:e});if(p(t))return t;{const n=je();return Ke({id:n,canTrack:e}),n}},je=()=>Z(),Ke=({id:e,canTrack:t})=>j({name:ee,value:e,canTrack:t}),te=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,We=({key:e,canTrack:t})=>{var n;try{return t?(n=te())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},$e=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=te())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},ne="builderVisitorId",Ge=({canTrack:e})=>{if(!e)return;const t=We({key:ne,canTrack:e});if(p(t))return t;{const n=He();return ze({id:n,canTrack:e}),n}},He=()=>Z(),ze=({id:e,canTrack:t})=>$e({key:ne,value:e,canTrack:t}),Je=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Ne({canTrack:e}),n=Ge({canTrack:e});return{sessionId:t,visitorId:n}},Xe=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await Je({canTrack:t}),userAttributes:F(),ownerId:n}});async function re(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!_()&&(c()||I==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Xe(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const qe=e=>re({...e,canTrack:!0}),Qe=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function oe(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Qe).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const Ye="0.15.0",B={};function se(e,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 Ze=()=>{se("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 ie=(e={})=>{var t,n;L||(L=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:I,version:Ye,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var s,i;if(!oe(e.trustedHosts,r))return;const{data:o}=r;if(o!=null&&o.type)switch(o.type){case"builder.evaluate":{const u=o.data.text,y=o.data.arguments||[],m=o.data.id,v=new Function(u);let l,g=null;try{l=v.apply(null,y)}catch(h){g=h}g?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):l&&typeof l.then=="function"?l.then(h=>{var w;(w=window.parent)==null||w.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:l,id:m}},"*");break}}})))},ae=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!oe(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,i=s.key||s.alias||s.entry||s.modelName,u=s.data;i===e&&n.contentUpdate(u);break}}},et=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};ie();const r=ae({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},U={};function tt(e){if(c()){Object.assign(U,e);const t={type:"builder.settingsChange",data:U};parent.postMessage(t,"*")}}const nt=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 q(n)}};exports.MSG_PREFIX=b;exports.TARGET=I;exports._processContentResult=Q;exports._track=re;exports.checkIsDefined=p;exports.createEditorListener=ae;exports.createRegisterComponentMessage=Pe;exports.fastClone=C;exports.fetch=J;exports.fetchBuilderProps=nt;exports.fetchEntries=Y;exports.fetchOneEntry=q;exports.getBuilderSearchParams=P;exports.getDefaultCanTrack=G;exports.getUserAttributes=F;exports.handleABTestingSync=Ce;exports.init=z;exports.isBrowser=c;exports.isEditing=_;exports.isPreviewing=Fe;exports.logger=d;exports.register=se;exports.registerInsertMenu=Ze;exports.serializeComponentInfo=H;exports.setEditorSettings=tt;exports.setupBrowserForEditing=ie;exports.subscribeToEditor=et;exports.track=qe;
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 J=Be();function E(e,t=null,n="."){return Object.keys(e).reduce((r,o)=>{const s=e[o],i=[t,o].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...r,...E(s,i,n)}:{...r,[i]:s}},{})}function X(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(i=>i.startsWith("$"))?X(o,s,n):n[s]=o}return n}const Le="v3",T="builder.",Ue="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(Ue,"");n[o]=t[r]}}),n},Ve=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(e)},x=e=>typeof e=="number"&&!isNaN(e)&&e>=0,R=e=>{const{limit:t=30,userAttributes:n,query:r,model:o,apiKey:s,enrich:i,locale:u,apiVersion:y=Le,fields:m,omit:v,offset:l,cacheSeconds:g,staleCacheSeconds:h,sort:w,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 ce=t!==1,a=new URL(`https://cdn.builder.io/api/${y}/content/${o}`);if(a.searchParams.set("apiKey",s),a.searchParams.set("limit",String(t)),a.searchParams.set("noTraverse",String(ce)),a.searchParams.set("includeRefs",String(!0)),u&&a.searchParams.set("locale",u),i&&a.searchParams.set("enrich",String(i)),a.searchParams.set("omit",v||"meta.componentsUsed"),m&&a.searchParams.set("fields",m),Number.isFinite(l)&&l>-1&&a.searchParams.set("offset",String(Math.floor(l))),typeof O=="boolean"&&a.searchParams.set("includeUnpublished",String(O)),g&&x(g)&&a.searchParams.set("cacheSeconds",String(g)),h&&x(h)&&a.searchParams.set("staleCacheSeconds",String(h)),w){const f=E({sort:w});for(const S in f)a.searchParams.set(S,JSON.stringify(f[S]))}const ue={...Ve(),...V(e.options||{})},A=E(ue);for(const f in A)a.searchParams.set(f,String(A[f]));if(n&&a.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=X({query:r});for(const S in f)a.searchParams.set(S,JSON.stringify(f[S]))}return a},Me=e=>"results"in e;async function q(e){const t=await Y({...e,limit:1});return t&&t[0]||null}const _e=async e=>{var s;const t=R(e);return await(await((s=e.fetch)!=null?s:J)(t.href,e.fetchOptions)).json()},Q=async(e,t,n=R(e))=>{const r=G(e.canTrack);if(n.search.includes("preview=")){const s=[];for(const i of t.results){const u=Te(n.searchParams);s.push(u||i)}t.results=s}if(!r||!(c()||I==="reactNative"))return t.results;try{const s=[];for(const i of t.results)s.push(await ke({item:i,canTrack:r}));t.results=s}catch(s){d.error("Could not process A/B tests. ",s)}return t.results};async function Y(e){try{const t=R(e),n=await _e(e);return Me(n)?Q(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 Fe(e){const t=e||(c()?window.location.search:void 0);return t?M(t).indexOf("builder.preview=")!==-1:!1}function De(){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 Z(){return De().replace(/-/g,"")}const ee="builderSessionId",Ne=async({canTrack:e})=>{if(!e)return;const t=await N({name:ee,canTrack:e});if(p(t))return t;{const n=je();return Ke({id:n,canTrack:e}),n}},je=()=>Z(),Ke=({id:e,canTrack:t})=>j({name:ee,value:e,canTrack:t}),te=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,We=({key:e,canTrack:t})=>{var n;try{return t?(n=te())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},$e=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=te())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},ne="builderVisitorId",Ge=({canTrack:e})=>{if(!e)return;const t=We({key:ne,canTrack:e});if(p(t))return t;{const n=He();return ze({id:n,canTrack:e}),n}},He=()=>Z(),ze=({id:e,canTrack:t})=>$e({key:ne,value:e,canTrack:t}),Je=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Ne({canTrack:e}),n=Ge({canTrack:e});return{sessionId:t,visitorId:n}},Xe=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await Je({canTrack:t}),userAttributes:F(),ownerId:n}});async function re(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!_()&&(c()||I==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Xe(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const qe=e=>re({...e,canTrack:!0}),Qe=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function oe(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Qe).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const Ye="0.15.2",B={};function se(e,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 Ze=()=>{se("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 ie=(e={})=>{var t,n;L||(L=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:I,version:Ye,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var s,i;if(!oe(e.trustedHosts,r))return;const{data:o}=r;if(o!=null&&o.type)switch(o.type){case"builder.evaluate":{const u=o.data.text,y=o.data.arguments||[],m=o.data.id,v=new Function(u);let l,g=null;try{l=v.apply(null,y)}catch(h){g=h}g?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):l&&typeof l.then=="function"?l.then(h=>{var w;(w=window.parent)==null||w.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:l,id:m}},"*");break}}})))},ae=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!oe(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,i=s.key||s.alias||s.entry||s.modelName,u=s.data;i===e&&n.contentUpdate(u);break}}},et=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};ie();const r=ae({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},U={};function tt(e){if(c()){Object.assign(U,e);const t={type:"builder.settingsChange",data:U};parent.postMessage(t,"*")}}const nt=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 q(n)}};exports.MSG_PREFIX=b;exports.TARGET=I;exports._processContentResult=Q;exports._track=re;exports.checkIsDefined=p;exports.createEditorListener=ae;exports.createRegisterComponentMessage=Pe;exports.fastClone=C;exports.fetch=J;exports.fetchBuilderProps=nt;exports.fetchEntries=Y;exports.fetchOneEntry=q;exports.getBuilderSearchParams=P;exports.getDefaultCanTrack=G;exports.getUserAttributes=F;exports.handleABTestingSync=Ce;exports.init=z;exports.isBrowser=c;exports.isEditing=_;exports.isPreviewing=Fe;exports.logger=d;exports.register=se;exports.registerInsertMenu=Ze;exports.serializeComponentInfo=H;exports.setEditorSettings=tt;exports.setupBrowserForEditing=ie;exports.subscribeToEditor=et;exports.track=qe;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-8f87e771.cjs");require("lru-cache");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-68c26de0.cjs");require("lru-cache");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 i, createRegisterComponentMessage as s, fetchBuilderProps as o, fetchEntries as n, fetchOneEntry as c, getBuilderSearchParams as g, isEditing as a, isPreviewing as d, register as p, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-9e9936de.js";
1
+ import { _processContentResult as i, createRegisterComponentMessage as s, fetchBuilderProps as o, fetchEntries as n, fetchOneEntry as c, getBuilderSearchParams as g, isEditing as a, isPreviewing as d, register as p, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-46bde4f0.js";
2
2
  import "lru-cache";
3
3
  export {
4
4
  i as _processContentResult,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-react-nextjs",
3
3
  "description": "Builder.io RSC SDK for NextJS App Directory",
4
- "version": "0.15.0",
4
+ "version": "0.15.2",
5
5
  "homepage": "https://github.com/BuilderIO/builder/tree/main/packages/sdks/output/nextjs",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.15.0";
1
+ export declare const SDK_VERSION = "0.15.2";
@@ -105,6 +105,16 @@ export interface ComponentInfo {
105
105
  */
106
106
  requiredPermissions?: Array<Permission>;
107
107
  hidden?: boolean;
108
+ /**
109
+ * When overriding built-in components, if you don't want any special behavior that
110
+ * the original has, set this to `true` to skip the default behavior
111
+ *
112
+ * Default behaviors include special "virtual options", such as a custom
113
+ * aspect ratio editor for Images, or a special column editor for Columns
114
+ *
115
+ * Learn more about overriding built-in components here: https://www.builder.io/c/docs/custom-components-overriding
116
+ */
117
+ override?: boolean;
108
118
  /**
109
119
  * Whether or not the component should receive SDK-related props.
110
120
  */
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.15.0";
1
+ export declare const SDK_VERSION = "0.15.2";
@@ -105,6 +105,16 @@ export interface ComponentInfo {
105
105
  */
106
106
  requiredPermissions?: Array<Permission>;
107
107
  hidden?: boolean;
108
+ /**
109
+ * When overriding built-in components, if you don't want any special behavior that
110
+ * the original has, set this to `true` to skip the default behavior
111
+ *
112
+ * Default behaviors include special "virtual options", such as a custom
113
+ * aspect ratio editor for Images, or a special column editor for Columns
114
+ *
115
+ * Learn more about overriding built-in components here: https://www.builder.io/c/docs/custom-components-overriding
116
+ */
117
+ override?: boolean;
108
118
  /**
109
119
  * Whether or not the component should receive SDK-related props.
110
120
  */