@builder.io/sdk-react 2.0.0 → 2.0.1

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 (69) hide show
  1. package/lib/browser/blocks-exports.cjs +10 -10
  2. package/lib/browser/blocks-exports.mjs +48 -14
  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-e0454364.cjs → server-entry-29c5c31c.cjs} +1 -1
  8. package/lib/browser/{server-entry-709e09e3.js → server-entry-f9067095.js} +1 -1
  9. package/lib/browser/server-entry.cjs +1 -1
  10. package/lib/browser/server-entry.mjs +1 -1
  11. package/lib/edge/{accordion-bd80745a.js → accordion-4a70912d.js} +1 -1
  12. package/lib/edge/{accordion-12c2d408.cjs → accordion-6ad2cec7.cjs} +1 -1
  13. package/lib/edge/{blocks-ac8970f1.cjs → blocks-0bd38a83.cjs} +2 -2
  14. package/lib/edge/blocks-exports.cjs +1 -1
  15. package/lib/edge/blocks-exports.mjs +4 -3
  16. package/lib/edge/{blocks-6d6258ba.js → blocks-fedde8d2.js} +12 -4
  17. package/lib/edge/{button-4e842584.js → button-af35e8de.js} +2 -2
  18. package/lib/edge/{button-c2e45e64.cjs → button-f6426eff.cjs} +1 -1
  19. package/lib/edge/{columns-a51238cc.js → columns-1065c0ae.js} +53 -46
  20. package/lib/edge/columns-f607250b.cjs +28 -0
  21. package/lib/edge/{content-variants-f3c6baad.js → content-variants-3d57a82f.js} +70 -53
  22. package/lib/edge/{content-variants-3fe9b1c0.cjs → content-variants-773afb9f.cjs} +3 -3
  23. package/lib/edge/{form-00c8cc55.js → form-0a58d0e4.js} +3 -3
  24. package/lib/edge/{form-b4cdf7cd.cjs → form-5762c22a.cjs} +1 -1
  25. package/lib/edge/{get-class-prop-name-1bbed5bf.js → get-class-prop-name-268b0f61.js} +1 -1
  26. package/lib/edge/{get-class-prop-name-3c5f7a7d.cjs → get-class-prop-name-3061c329.cjs} +1 -1
  27. package/lib/edge/{img-e7db1475.js → img-252c9967.js} +1 -1
  28. package/lib/edge/{img-6671da9a.cjs → img-59bb70c7.cjs} +1 -1
  29. package/lib/edge/index.cjs +1 -1
  30. package/lib/edge/index.mjs +1 -1
  31. package/lib/edge/init.cjs +1 -1
  32. package/lib/edge/init.mjs +1 -1
  33. package/lib/edge/{input-0f7a9f1c.cjs → input-2163d4dc.cjs} +1 -1
  34. package/lib/edge/{input-2db47a83.js → input-7ae243e2.js} +1 -1
  35. package/lib/edge/{select-f0859c5f.cjs → select-39231177.cjs} +1 -1
  36. package/lib/edge/{select-2facacf2.js → select-cfa0eb8e.js} +1 -1
  37. package/lib/edge/{server-entry-ff6a2e2d.cjs → server-entry-4750de9c.cjs} +1 -1
  38. package/lib/edge/{server-entry-75aa714e.js → server-entry-681e8e79.js} +1 -1
  39. package/lib/edge/server-entry.cjs +1 -1
  40. package/lib/edge/server-entry.mjs +1 -1
  41. package/lib/edge/{slot-aee43b86.cjs → slot-69da8c56.cjs} +1 -1
  42. package/lib/edge/{slot-8159ca1d.js → slot-7c61542f.js} +3 -3
  43. package/lib/edge/symbol-4a8a6cda.js +85 -0
  44. package/lib/edge/symbol-bd999a19.cjs +1 -0
  45. package/lib/edge/{tabs-4112a80e.cjs → tabs-3d0e242e.cjs} +1 -1
  46. package/lib/edge/{tabs-f5357a4e.js → tabs-c3ff0c70.js} +3 -3
  47. package/lib/node/blocks-exports.cjs +11 -11
  48. package/lib/node/blocks-exports.mjs +49 -15
  49. package/lib/node/index.cjs +1 -1
  50. package/lib/node/index.mjs +2 -2
  51. package/lib/node/init.cjs +1 -1
  52. package/lib/node/init.mjs +2 -2
  53. package/lib/node/{node-runtime-eb72e084.cjs → node-runtime-3bfd8465.cjs} +1 -1
  54. package/lib/node/{node-runtime-80c4bfc8.js → node-runtime-78262e65.js} +1 -1
  55. package/lib/node/{server-entry-e8ac67b5.js → server-entry-5f9f100f.js} +1 -1
  56. package/lib/node/{server-entry-b2103255.cjs → server-entry-63058f3f.cjs} +1 -1
  57. package/lib/node/server-entry.cjs +1 -1
  58. package/lib/node/server-entry.mjs +1 -1
  59. package/package.json +15 -15
  60. package/types/components/content/components/styles.d.ts +2 -1
  61. package/types/components/content-variants/content-variants.types.d.ts +4 -0
  62. package/types/components/inlined-script.d.ts +2 -1
  63. package/types/components/inlined-styles.d.ts +2 -1
  64. package/types/constants/sdk-version.d.ts +1 -1
  65. package/types/context/types.d.ts +1 -0
  66. package/types/types/builder-props.d.ts +3 -0
  67. package/lib/edge/columns-bc2b0674.cjs +0 -28
  68. package/lib/edge/symbol-36a155f3.js +0 -84
  69. package/lib/edge/symbol-a244cc31.cjs +0 -1
@@ -3,9 +3,9 @@ var He = Object.defineProperty;
3
3
  var qe = (e, t, n) => t in e ? He(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
4
4
  var ie = (e, t, n) => (qe(e, typeof t != "symbol" ? t + "" : t, n), n);
5
5
  import { jsx as s, Fragment as R, jsxs as P } from "react/jsx-runtime";
6
- import { TARGET as K, checkIsDefined as Y, logger as Z, isBrowser as G, fastClone as de, isEditing as $, registerInsertMenu as Ke, setupBrowserForEditing as ze, createRegisterComponentMessage as _e, getDefaultCanTrack as Q, _track as he, isPreviewing as Je, fetchOneEntry as Ie, createEditorListener as Ye, fetch as Ge, serializeComponentInfo as ge, handleABTestingSync as Qe } from "./server-entry-e8ac67b5.js";
6
+ import { TARGET as K, checkIsDefined as Y, logger as Z, isBrowser as G, fastClone as de, isEditing as $, registerInsertMenu as Ke, setupBrowserForEditing as ze, createRegisterComponentMessage as _e, getDefaultCanTrack as Q, _track as he, isPreviewing as Je, fetchOneEntry as Ie, createEditorListener as Ye, fetch as Ge, serializeComponentInfo as ge, handleABTestingSync as Qe } from "./server-entry-5f9f100f.js";
7
7
  import { createContext as we, useState as C, useEffect as B, useContext as be, useRef as ee, createElement as Re } from "react";
8
- import { getFunctionArguments as Xe, runInNode as Ze, parseCode as et, getBuilderGlobals as tt, set as Ee } from "./node-runtime-80c4bfc8.js";
8
+ import { getFunctionArguments as Xe, runInNode as Ze, parseCode as et, getBuilderGlobals as tt, set as Ee } from "./node-runtime-78262e65.js";
9
9
  const nt = /* @__PURE__ */ new Set(["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]), it = (e) => typeof e == "string" && nt.has(e.toLowerCase());
10
10
  function ue(e) {
11
11
  return /* @__PURE__ */ s(R, { children: it(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 }) }) });
@@ -60,7 +60,8 @@ const me = we({
60
60
  componentInfos: {},
61
61
  inheritedStyles: {},
62
62
  BlocksWrapper: "div",
63
- BlocksWrapperProps: {}
63
+ BlocksWrapperProps: {},
64
+ nonce: ""
64
65
  }), Be = we({ registeredComponents: {} });
65
66
  function at(e) {
66
67
  var t;
@@ -501,7 +502,8 @@ function ne(e) {
501
502
  "style",
502
503
  {
503
504
  dangerouslySetInnerHTML: { __html: e.styles },
504
- "data-id": e.id
505
+ "data-id": e.id,
506
+ nonce: e.nonce
505
507
  }
506
508
  );
507
509
  }
@@ -570,7 +572,14 @@ function Tt(e) {
570
572
  I
571
573
  ].join(" ");
572
574
  }
573
- return /* @__PURE__ */ s(R, { children: n() && t() ? /* @__PURE__ */ s(R, { children: /* @__PURE__ */ s(ne, { id: "builderio-block", styles: n() }) }) : null });
575
+ return /* @__PURE__ */ s(R, { children: n() && t() ? /* @__PURE__ */ s(R, { children: /* @__PURE__ */ s(
576
+ ne,
577
+ {
578
+ id: "builderio-block",
579
+ styles: n(),
580
+ nonce: e.context.nonce
581
+ }
582
+ ) }) : null });
574
583
  }
575
584
  function It(e) {
576
585
  return e.charAt(0).toUpperCase() + e.slice(1);
@@ -1074,10 +1083,17 @@ function $t(e) {
1074
1083
  /* @__PURE__ */ P(
1075
1084
  "div",
1076
1085
  {
1077
- className: Ft((A = e.builderBlock) == null ? void 0 : A.id) + " div-b622c1bc",
1086
+ className: Ft((A = e.builderBlock) == null ? void 0 : A.id) + " div-fe220f58",
1078
1087
  style: p(),
1079
1088
  children: [
1080
- /* @__PURE__ */ s(ne, { id: "builderio-columns", styles: E() }),
1089
+ /* @__PURE__ */ s(
1090
+ ne,
1091
+ {
1092
+ id: "builderio-columns",
1093
+ styles: E(),
1094
+ nonce: e.builderContext.nonce
1095
+ }
1096
+ ),
1081
1097
  (O = e.columns) == null ? void 0 : O.map((S, w) => /* @__PURE__ */ s(
1082
1098
  ue,
1083
1099
  {
@@ -1104,7 +1120,7 @@ function $t(e) {
1104
1120
  ]
1105
1121
  }
1106
1122
  ),
1107
- /* @__PURE__ */ s("style", { children: `.div-b622c1bc {
1123
+ /* @__PURE__ */ s("style", { children: `.div-fe220f58 {
1108
1124
  display: flex;
1109
1125
  line-height: normal;
1110
1126
  }` })
@@ -3315,7 +3331,8 @@ function ce(e) {
3315
3331
  "script",
3316
3332
  {
3317
3333
  dangerouslySetInnerHTML: { __html: e.scriptStr },
3318
- "data-id": e.id
3334
+ "data-id": e.id,
3335
+ nonce: e.nonce || ""
3319
3336
  }
3320
3337
  );
3321
3338
  }
@@ -3654,7 +3671,14 @@ ${Ln({
3654
3671
  ${Mn(e.isNestedRender)}
3655
3672
  `.trim()
3656
3673
  );
3657
- return /* @__PURE__ */ s(ne, { id: "builderio-content", styles: t });
3674
+ return /* @__PURE__ */ s(
3675
+ ne,
3676
+ {
3677
+ id: "builderio-content",
3678
+ styles: t,
3679
+ nonce: e.nonce
3680
+ }
3681
+ );
3658
3682
  }
3659
3683
  const Kn = ({
3660
3684
  content: e,
@@ -3745,7 +3769,8 @@ function Te(e) {
3745
3769
  ),
3746
3770
  inheritedStyles: {},
3747
3771
  BlocksWrapper: e.blocksWrapper || "div",
3748
- BlocksWrapperProps: e.blocksWrapperProps || {}
3772
+ BlocksWrapperProps: e.blocksWrapperProps || {},
3773
+ nonce: e.nonce || ""
3749
3774
  }));
3750
3775
  return /* @__PURE__ */ s(
3751
3776
  Be.Provider,
@@ -3756,6 +3781,7 @@ function Te(e) {
3756
3781
  children: /* @__PURE__ */ P(
3757
3782
  Hn,
3758
3783
  {
3784
+ nonce: e.nonce,
3759
3785
  content: e.content,
3760
3786
  data: e.data,
3761
3787
  model: e.model,
@@ -3775,12 +3801,14 @@ function Te(e) {
3775
3801
  ce,
3776
3802
  {
3777
3803
  id: "builderio-variant-visibility",
3778
- scriptStr: t
3804
+ scriptStr: t,
3805
+ nonce: e.nonce || ""
3779
3806
  }
3780
3807
  ) : null,
3781
3808
  /* @__PURE__ */ s(
3782
3809
  qn,
3783
3810
  {
3811
+ nonce: e.nonce || "",
3784
3812
  isNestedRender: e.isNestedRender,
3785
3813
  contentId: (c = a.content) == null ? void 0 : c.id,
3786
3814
  cssCode: (f = (u = a.content) == null ? void 0 : u.data) == null ? void 0 : f.cssCode,
@@ -3840,7 +3868,8 @@ function _n(e) {
3840
3868
  ce,
3841
3869
  {
3842
3870
  id: "builderio-init-variants-fns",
3843
- scriptStr: Vn()
3871
+ scriptStr: Vn(),
3872
+ nonce: e.nonce || ""
3844
3873
  }
3845
3874
  ) : null,
3846
3875
  t ? /* @__PURE__ */ P(R, { children: [
@@ -3848,20 +3877,23 @@ function _n(e) {
3848
3877
  ne,
3849
3878
  {
3850
3879
  id: "builderio-variants",
3851
- styles: o()
3880
+ styles: o(),
3881
+ nonce: e.nonce || ""
3852
3882
  }
3853
3883
  ),
3854
3884
  /* @__PURE__ */ s(
3855
3885
  ce,
3856
3886
  {
3857
3887
  id: "builderio-variants-visibility",
3858
- scriptStr: i()
3888
+ scriptStr: i(),
3889
+ nonce: e.nonce || ""
3859
3890
  }
3860
3891
  ),
3861
3892
  (a = J(e.content)) == null ? void 0 : a.map((r) => /* @__PURE__ */ s(
3862
3893
  Te,
3863
3894
  {
3864
3895
  isNestedRender: e.isNestedRender,
3896
+ nonce: e.nonce,
3865
3897
  content: r,
3866
3898
  showContent: !1,
3867
3899
  model: e.model,
@@ -3887,6 +3919,7 @@ function _n(e) {
3887
3919
  /* @__PURE__ */ s(
3888
3920
  Te,
3889
3921
  {
3922
+ nonce: e.nonce,
3890
3923
  isNestedRender: e.isNestedRender,
3891
3924
  content: l(),
3892
3925
  showContent: !0,
@@ -3964,6 +3997,7 @@ function Yn(e) {
3964
3997
  }, [e.symbol]), /* @__PURE__ */ s("div", { ...e.attributes, className: i(), children: /* @__PURE__ */ s(
3965
3998
  _n,
3966
3999
  {
4000
+ nonce: e.builderContext.nonce,
3967
4001
  isNestedRender: !0,
3968
4002
  apiVersion: e.builderContext.apiVersion,
3969
4003
  apiKey: e.builderContext.apiKey,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./blocks-exports.cjs"),e=require("./server-entry-b2103255.cjs");require("react/jsx-runtime");require("react");require("./node-runtime-eb72e084.cjs");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-63058f3f.cjs");require("react/jsx-runtime");require("react");require("./node-runtime-3bfd8465.cjs");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,8 +1,8 @@
1
1
  import { Blocks as s, BuilderContext as n, Button as m, Columns as c, Content as g, Fragment as a, Image as p, Section as d, Symbol as l, Text as u, Video as f } from "./blocks-exports.mjs";
2
- import { _processContentResult as C, createRegisterComponentMessage as E, fetchBuilderProps as h, fetchEntries as x, fetchOneEntry as S, getBuilderSearchParams as b, isEditing as P, isPreviewing as k, register as y, setEditorSettings as R, subscribeToEditor as T, track as v } from "./server-entry-e8ac67b5.js";
2
+ import { _processContentResult as C, createRegisterComponentMessage as E, fetchBuilderProps as h, fetchEntries as x, fetchOneEntry as S, getBuilderSearchParams as b, isEditing as P, isPreviewing as k, register as y, setEditorSettings as R, subscribeToEditor as T, track as v } from "./server-entry-5f9f100f.js";
3
3
  import "react/jsx-runtime";
4
4
  import "react";
5
- import "./node-runtime-80c4bfc8.js";
5
+ import "./node-runtime-78262e65.js";
6
6
  export {
7
7
  s as Blocks,
8
8
  n as BuilderContext,
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-eb72e084.cjs");require("./server-entry-b2103255.cjs");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-3bfd8465.cjs");require("./server-entry-63058f3f.cjs");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-80c4bfc8.js";
3
- import "./server-entry-e8ac67b5.js";
2
+ import { setIvm as m } from "./node-runtime-78262e65.js";
3
+ import "./server-entry-5f9f100f.js";
4
4
  const p = (i) => {
5
5
  const {
6
6
  ivmIsolateOptions: o
@@ -1,4 +1,4 @@
1
- "use strict";const serverEntry=require("./server-entry-b2103255.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-63058f3f.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;
@@ -1,4 +1,4 @@
1
- import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX, fastClone } from "./server-entry-e8ac67b5.js";
1
+ import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX, fastClone } from "./server-entry-5f9f100f.js";
2
2
  const getFunctionArguments = ({
3
3
  builder: e,
4
4
  context: t,
@@ -485,7 +485,7 @@ function H(e, t) {
485
485
  const n = new URL(t.origin), r = n.hostname;
486
486
  return (e || De).findIndex((o) => o.startsWith("*.") ? r.endsWith(o.slice(1)) : o === r) > -1;
487
487
  }
488
- const Ke = "2.0.0", T = {};
488
+ const Ke = "2.0.1", T = {};
489
489
  function We(e, t) {
490
490
  let n = T[e];
491
491
  if (n || (n = T[e] = []), n.push(t), c()) {
@@ -1,2 +1,2 @@
1
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 ue=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},M=e=>e instanceof URLSearchParams?ue(e):e,U=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function de(){return c()&&window.self!==window.top}function F(e){return de()&&U(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const le=()=>{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},fe=()=>typeof navigator=="object"&&navigator.userAgent||"",N=()=>{const e=fe(),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=le();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"}},k=e=>JSON.parse(JSON.stringify(e)),p=e=>e!=null,ge=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),he=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),pe=[["secure",""],["SameSite","None"]],me=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?pe:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",ge(window.location.hostname)],...o];return he(a)},K=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const o=me({name:e,value:t,expires:n});document.cookie=o}catch(o){d.warn("[COOKIE] SET error: ",(o==null?void 0:o.message)||o)}},ye="builder.tests",C=e=>`${ye}.${e}`,Se=({contentId:e})=>j({name:C(e),canTrack:!0}),we=({contentId:e})=>D({name:C(e),canTrack:!0}),be=({contentId:e,value:t})=>K({name:C(e),value:t,canTrack:!0}),_=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,Ie=({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=Ie(e);return be({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":"")}},ve=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!_(e))return e;const n=we({contentId:e.id})||W({variations:e.variations,id:e.id}),r=$({item:e,testGroupId:n});return{...e,...r}},Ee=async({item:e,canTrack:t})=>{if(!t||!_(e))return e;const r=await Se({contentId:e.id})||W({variations:e.variations,id:e.id}),o=$({item:e,testGroupId:r});return{...e,...o}},G=e=>p(e)?e:!0,ke=e=>({type:"builder.registerComponent",data:z(e)}),Ce=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`},Pe=e=>typeof e=="function"?Ce(e):k(e),z=({inputs:e,...t})=>({...k(t),inputs:e==null?void 0:e.map(n=>Object.entries(n).reduce((r,[o,s])=>({...r,[o]:Pe(s)}),{}))});function Oe(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Ae(){const e=Oe().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=Ae();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 H(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("$"))?H(o,s,n):n[s]=o}return n}const Te="v3",x="builder.",xe="options.",P=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(xe,"");n[o]=t[r]}}),n},Re=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(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=Te,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 ae=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(ae)),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 ce={...Re(),...M(e.options||{})},T=E(ce);for(const f in T)i.searchParams.set(f,String(T[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=H({query:r});for(const w in f)i.searchParams.set(w,JSON.stringify(f[w]))}return i},Be=e=>"results"in e;async function X(e){const t=await Q({...e,limit:1});return t&&t[0]||null}const Le=async e=>{var s;const t=O(e);return await(await((s=e.fetch)!=null?s:J)(t.href,e.fetchOptions)).json()},q=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 Ee({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 Le(e);return Be(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 Ve(e){const t=e||(c()?window.location.search:void 0);return t?U(t).indexOf("builder.preview=")!==-1:!1}function Me(){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 Y(){return Me().replace(/-/g,"")}const Z="builderSessionId",Ue=async({canTrack:e})=>{if(!e)return;const t=await j({name:Z,canTrack:e});if(p(t))return t;{const n=Fe();return Ne({id:n,canTrack:e}),n}},Fe=()=>Y(),Ne=({id:e,canTrack:t})=>K({name:Z,value:e,canTrack:t}),ee=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,De=({key:e,canTrack:t})=>{var n;try{return t?(n=ee())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},je=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=ee())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},te="builderVisitorId",Ke=({canTrack:e})=>{if(!e)return;const t=De({key:te,canTrack:e});if(p(t))return t;{const n=_e();return We({id:n,canTrack:e}),n}},_e=()=>Y(),We=({id:e,canTrack:t})=>je({key:te,value:e,canTrack:t}),$e=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Ue({canTrack:e}),n=Ke({canTrack:e});return{sessionId:t,visitorId:n}},Ge=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 ne(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 Ge(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const ze=e=>ne({...e,canTrack:!0}),Je=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function re(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Je).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const He="2.0.0",B={};function oe(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 Xe=()=>{oe("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 se=(e={})=>{var t,n;L||(L=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:I,version:He,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(!re(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}}})))},ie=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!re(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}}},qe=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};se();const r=ie({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 Qe(e){if(c()){Object.assign(V,e);const t={type:"builder.settingsChange",data:V};parent.postMessage(t,"*")}}const Ye=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 X(n)}};exports.MSG_PREFIX=b;exports.TARGET=I;exports._processContentResult=q;exports._track=ne;exports.checkIsDefined=p;exports.createEditorListener=ie;exports.createRegisterComponentMessage=ke;exports.fastClone=k;exports.fetch=J;exports.fetchBuilderProps=Ye;exports.fetchEntries=Q;exports.fetchOneEntry=X;exports.getBuilderSearchParams=P;exports.getDefaultCanTrack=G;exports.getUserAttributes=N;exports.handleABTestingSync=ve;exports.isBrowser=c;exports.isEditing=F;exports.isPreviewing=Ve;exports.logger=d;exports.register=oe;exports.registerInsertMenu=Xe;exports.serializeComponentInfo=z;exports.setEditorSettings=Qe;exports.setupBrowserForEditing=se;exports.subscribeToEditor=qe;exports.track=ze;
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=Ae();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 H(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("$"))?H(o,s,n):n[s]=o}return n}const Te="v3",x="builder.",xe="options.",P=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(xe,"");n[o]=t[r]}}),n},Re=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(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=Te,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 ae=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(ae)),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 ce={...Re(),...M(e.options||{})},T=E(ce);for(const f in T)i.searchParams.set(f,String(T[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=H({query:r});for(const w in f)i.searchParams.set(w,JSON.stringify(f[w]))}return i},Be=e=>"results"in e;async function X(e){const t=await Q({...e,limit:1});return t&&t[0]||null}const Le=async e=>{var s;const t=O(e);return await(await((s=e.fetch)!=null?s:J)(t.href,e.fetchOptions)).json()},q=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 Ee({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 Le(e);return Be(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 Ve(e){const t=e||(c()?window.location.search:void 0);return t?U(t).indexOf("builder.preview=")!==-1:!1}function Me(){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 Y(){return Me().replace(/-/g,"")}const Z="builderSessionId",Ue=async({canTrack:e})=>{if(!e)return;const t=await j({name:Z,canTrack:e});if(p(t))return t;{const n=Fe();return Ne({id:n,canTrack:e}),n}},Fe=()=>Y(),Ne=({id:e,canTrack:t})=>K({name:Z,value:e,canTrack:t}),ee=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,De=({key:e,canTrack:t})=>{var n;try{return t?(n=ee())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},je=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=ee())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},te="builderVisitorId",Ke=({canTrack:e})=>{if(!e)return;const t=De({key:te,canTrack:e});if(p(t))return t;{const n=_e();return We({id:n,canTrack:e}),n}},_e=()=>Y(),We=({id:e,canTrack:t})=>je({key:te,value:e,canTrack:t}),$e=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Ue({canTrack:e}),n=Ke({canTrack:e});return{sessionId:t,visitorId:n}},Ge=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 ne(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 Ge(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const ze=e=>ne({...e,canTrack:!0}),Je=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function re(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Je).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const He="2.0.1",B={};function oe(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 Xe=()=>{oe("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 se=(e={})=>{var t,n;L||(L=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:I,version:He,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(!re(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}}})))},ie=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!re(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}}},qe=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};se();const r=ie({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 Qe(e){if(c()){Object.assign(V,e);const t={type:"builder.settingsChange",data:V};parent.postMessage(t,"*")}}const Ye=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 X(n)}};exports.MSG_PREFIX=b;exports.TARGET=I;exports._processContentResult=q;exports._track=ne;exports.checkIsDefined=p;exports.createEditorListener=ie;exports.createRegisterComponentMessage=ke;exports.fastClone=k;exports.fetch=J;exports.fetchBuilderProps=Ye;exports.fetchEntries=Q;exports.fetchOneEntry=X;exports.getBuilderSearchParams=P;exports.getDefaultCanTrack=G;exports.getUserAttributes=N;exports.handleABTestingSync=ve;exports.isBrowser=c;exports.isEditing=F;exports.isPreviewing=Ve;exports.logger=d;exports.register=oe;exports.registerInsertMenu=Xe;exports.serializeComponentInfo=z;exports.setEditorSettings=Qe;exports.setupBrowserForEditing=se;exports.subscribeToEditor=qe;exports.track=ze;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-b2103255.cjs");exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-63058f3f.cjs");exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
@@ -1,4 +1,4 @@
1
- import { _processContentResult as r, createRegisterComponentMessage as s, fetchBuilderProps as i, fetchEntries as n, fetchOneEntry as o, getBuilderSearchParams as c, isEditing as g, isPreviewing as a, register as d, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-e8ac67b5.js";
1
+ import { _processContentResult as r, createRegisterComponentMessage as s, fetchBuilderProps as i, fetchEntries as n, fetchOneEntry as o, getBuilderSearchParams as c, isEditing as g, isPreviewing as a, register as d, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-5f9f100f.js";
2
2
  export {
3
3
  r as _processContentResult,
4
4
  s as createRegisterComponentMessage,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-react",
3
3
  "description": "Builder.io SDK for React",
4
- "version": "2.0.0",
4
+ "version": "2.0.1",
5
5
  "homepage": "https://github.com/BuilderIO/builder/tree/main/packages/sdks/output/react",
6
6
  "type": "module",
7
7
  "repository": {
@@ -20,38 +20,38 @@
20
20
  ".": {
21
21
  "edge-routine": {
22
22
  "types": "./types/index.d.ts",
23
- "import": "./lib/edge/index.mjs",
24
- "require": "./lib/edge/index.cjs"
23
+ "import": "./lib/edge/edge-entry.mjs",
24
+ "require": "./lib/edge/edge-entry.cjs"
25
25
  },
26
26
  "workerd": {
27
27
  "types": "./types/index.d.ts",
28
- "import": "./lib/edge/index.mjs",
29
- "require": "./lib/edge/index.cjs"
28
+ "import": "./lib/edge/edge-entry.mjs",
29
+ "require": "./lib/edge/edge-entry.cjs"
30
30
  },
31
31
  "deno": {
32
32
  "types": "./types/index.d.ts",
33
- "import": "./lib/edge/index.mjs",
34
- "require": "./lib/edge/index.cjs"
33
+ "import": "./lib/edge/edge-entry.mjs",
34
+ "require": "./lib/edge/edge-entry.cjs"
35
35
  },
36
36
  "lagon": {
37
37
  "types": "./types/index.d.ts",
38
- "import": "./lib/edge/index.mjs",
39
- "require": "./lib/edge/index.cjs"
38
+ "import": "./lib/edge/edge-entry.mjs",
39
+ "require": "./lib/edge/edge-entry.cjs"
40
40
  },
41
41
  "netlify": {
42
42
  "types": "./types/index.d.ts",
43
- "import": "./lib/edge/index.mjs",
44
- "require": "./lib/edge/index.cjs"
43
+ "import": "./lib/edge/edge-entry.mjs",
44
+ "require": "./lib/edge/edge-entry.cjs"
45
45
  },
46
46
  "edge-light": {
47
47
  "types": "./types/index.d.ts",
48
- "import": "./lib/edge/index.mjs",
49
- "require": "./lib/edge/index.cjs"
48
+ "import": "./lib/edge/edge-entry.mjs",
49
+ "require": "./lib/edge/edge-entry.cjs"
50
50
  },
51
51
  "bun": {
52
52
  "types": "./types/index.d.ts",
53
- "import": "./lib/edge/index.mjs",
54
- "require": "./lib/edge/index.cjs"
53
+ "import": "./lib/edge/edge-entry.mjs",
54
+ "require": "./lib/edge/edge-entry.cjs"
55
55
  },
56
56
  "react-native": {
57
57
  "types": "./types/index.d.ts",
@@ -1,10 +1,11 @@
1
1
  import * as React from "react";
2
- interface Props {
2
+ interface Props extends BuilderNonceProp {
3
3
  cssCode?: string;
4
4
  customFonts?: CustomFont[];
5
5
  contentId?: string;
6
6
  isNestedRender?: boolean;
7
7
  }
8
+ import type { BuilderNonceProp } from "../../../types/builder-props";
8
9
  import type { CustomFont } from "./styles.helpers";
9
10
  declare function ContentStyles(props: Props): React.JSX.Element;
10
11
  export default ContentStyles;
@@ -68,4 +68,8 @@ export interface ContentVariantsPrps {
68
68
  * List of hosts to allow editing content from.
69
69
  */
70
70
  trustedHosts?: string[];
71
+ /**
72
+ * A CSP nonce to use for the SDK's inlined `<script>` and `<style>` tags.
73
+ */
74
+ nonce?: string;
71
75
  }
@@ -1,7 +1,8 @@
1
1
  import * as React from "react";
2
- interface Props {
2
+ interface Props extends BuilderNonceProp {
3
3
  scriptStr: string;
4
4
  id: string;
5
5
  }
6
+ import type { BuilderNonceProp } from "../types/builder-props";
6
7
  declare function InlinedScript(props: Props): React.JSX.Element;
7
8
  export default InlinedScript;
@@ -1,7 +1,8 @@
1
1
  import * as React from "react";
2
- interface Props {
2
+ interface Props extends BuilderNonceProp {
3
3
  styles: string;
4
4
  id: string;
5
5
  }
6
+ import type { BuilderNonceProp } from "../types/builder-props";
6
7
  declare function InlinedStyles(props: Props): React.JSX.Element;
7
8
  export default InlinedStyles;
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "2.0.0";
1
+ export declare const SDK_VERSION = "2.0.1";
@@ -33,5 +33,6 @@ export interface BuilderContextInterface extends Pick<BlocksWrapperProps, 'Block
33
33
  apiVersion: ApiVersion | undefined;
34
34
  componentInfos: Dictionary<ComponentInfo>;
35
35
  inheritedStyles: Record<string, unknown>;
36
+ nonce: string;
36
37
  canTrack?: boolean;
37
38
  }
@@ -10,3 +10,6 @@ export type BuilderComponentsProp = {
10
10
  export type BuilderLinkComponentProp = {
11
11
  builderLinkComponent?: any;
12
12
  };
13
+ export type BuilderNonceProp = {
14
+ nonce: string;
15
+ };
@@ -1,28 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),o=require("react"),s=require("./blocks-ac8970f1.cjs"),p=require("./dynamic-renderer-b29b45ca.cjs"),B=require("./get-class-prop-name-3c5f7a7d.cjs");require("./blocks-exports.cjs");require("./server-entry-ff6a2e2d.cjs");const q=t=>`builder-columns ${t}-breakpoints`;function z(t){var f,g;const[u,A]=o.useState(()=>typeof t.space=="number"?t.space||0:20),[c,L]=o.useState(()=>t.columns||[]),[d,N]=o.useState(()=>t.stackColumnsAt||"tablet");function y(e){return e.link?t.builderLinkComponent||"a":"div"}function x(e){var n;return((n=c[e])==null?void 0:n.width)||100/c.length}function C(e){const n=x(e),i=u*(c.length-1)*(n/100);return`calc(${n}% - ${i}px)`}function a({stackedStyle:e,desktopStyle:n}){return d==="tablet"?e:n}function m({stackedStyle:e,desktopStyle:n}){return d==="never"?n:e}const[b,W]=o.useState(()=>t.stackColumnsAt==="never"?"row":t.reverseColumnsWhenStacked?"column-reverse":"column");function v(){return{"--flex-dir":b,"--flex-dir-tablet":a({stackedStyle:b,desktopStyle:"row"})}}function w(e){const n=e===0?0:u,i=C(e),r=`${n}px`,h="100%",S=0;return{...{display:"flex",flexDirection:"column",alignItems:"stretch"},width:i,["marginLeft"]:r,"--column-width-mobile":m({stackedStyle:h,desktopStyle:i}),"--column-margin-left-mobile":m({stackedStyle:S,desktopStyle:r}),"--column-width-tablet":a({stackedStyle:h,desktopStyle:i}),"--column-margin-left-tablet":a({stackedStyle:S,desktopStyle:r})}}function k(e){var i,r;return s.getSizesForBreakpoints(((r=(i=t.builderContext.content)==null?void 0:i.meta)==null?void 0:r.breakpoints)||{})[e].max}function $(){return`
2
- @media (max-width: ${k("medium")}px) {
3
- .${t.builderBlock.id}-breakpoints {
4
- flex-direction: var(--flex-dir-tablet);
5
- align-items: stretch;
6
- }
7
-
8
- .${t.builderBlock.id}-breakpoints > .builder-column {
9
- width: var(--column-width-tablet) !important;
10
- margin-left: var(--column-margin-left-tablet) !important;
11
- }
12
- }
13
-
14
- @media (max-width: ${k("small")}px) {
15
- .${t.builderBlock.id}-breakpoints {
16
- flex-direction: var(--flex-dir);
17
- align-items: stretch;
18
- }
19
-
20
- .${t.builderBlock.id}-breakpoints > .builder-column {
21
- width: var(--column-width-mobile) !important;
22
- margin-left: var(--column-margin-left-mobile) !important;
23
- }
24
- },
25
- `}function j(e,n){return{...e.link?{href:e.link}:{},[B.getClassPropName()]:"builder-column",style:s.mapStyleObjToStrIfNeeded(w(n))}}return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:q((f=t.builderBlock)==null?void 0:f.id)+" div-b622c1bc",style:v(),children:[l.jsx(s.InlinedStyles,{id:"builderio-columns",styles:$()}),(g=t.columns)==null?void 0:g.map((e,n)=>l.jsx(p.DynamicRenderer,{TagName:y(e),actionAttributes:{},attributes:j(e,n),children:l.jsx(s.Blocks,{path:`component.options.columns.${n}.blocks`,parent:t.builderBlock.id,styleProp:{flexGrow:"1"},context:t.builderContext,registeredComponents:t.builderComponents,linkComponent:t.builderLinkComponent,blocks:e.blocks})},n))]}),l.jsx("style",{children:`.div-b622c1bc {
26
- display: flex;
27
- line-height: normal;
28
- }`})]})}exports.default=z;
@@ -1,84 +0,0 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import { useState as s, useEffect as u } from "react";
3
- import { Content as C } from "./blocks-exports.mjs";
4
- import { getClassPropName as v } from "./get-class-prop-name-1bbed5bf.js";
5
- import { fetchOneEntry as k, logger as h } from "./server-entry-75aa714e.js";
6
- const x = async ({
7
- builderContextValue: t,
8
- symbol: e
9
- }) => {
10
- if (e != null && e.model && // This is a hack, we should not need to check for this, but it is needed for Svelte.
11
- (t != null && t.apiKey))
12
- return k({
13
- model: e.model,
14
- apiKey: t.apiKey,
15
- apiVersion: t.apiVersion,
16
- ...(e == null ? void 0 : e.entry) && {
17
- query: {
18
- id: e.entry
19
- }
20
- }
21
- }).catch((o) => {
22
- h.error("Could not fetch symbol content: ", o);
23
- });
24
- };
25
- function j(t) {
26
- var r, a, c, d;
27
- function e() {
28
- return "div";
29
- }
30
- function o() {
31
- return "div";
32
- }
33
- function f() {
34
- var n, m;
35
- return [
36
- t.attributes[v()],
37
- "builder-symbol",
38
- (n = t.symbol) != null && n.inline ? "builder-inline-symbol" : void 0,
39
- (m = t.symbol) != null && m.dynamic || t.dynamic ? "builder-dynamic-symbol" : void 0
40
- ].filter(Boolean).join(" ");
41
- }
42
- const [i, y] = s(() => {
43
- var n;
44
- return (n = t.symbol) == null ? void 0 : n.content;
45
- });
46
- function b() {
47
- i || x({
48
- symbol: t.symbol,
49
- builderContextValue: t.builderContext
50
- }).then((n) => {
51
- n && y(n);
52
- });
53
- }
54
- return u(() => {
55
- }, []), u(() => {
56
- b();
57
- }, [t.symbol]), /* @__PURE__ */ l("div", { ...t.attributes, className: f(), children: /* @__PURE__ */ l(
58
- C,
59
- {
60
- isNestedRender: !0,
61
- apiVersion: t.builderContext.apiVersion,
62
- apiKey: t.builderContext.apiKey,
63
- context: {
64
- ...t.builderContext.context,
65
- symbolId: (r = t.builderBlock) == null ? void 0 : r.id
66
- },
67
- customComponents: Object.values(t.builderComponents),
68
- data: {
69
- ...(a = t.symbol) == null ? void 0 : a.data,
70
- ...t.builderContext.localState,
71
- ...(c = i == null ? void 0 : i.data) == null ? void 0 : c.state
72
- },
73
- canTrack: t.builderContext.canTrack,
74
- model: (d = t.symbol) == null ? void 0 : d.model,
75
- content: i,
76
- linkComponent: t.builderLinkComponent,
77
- blocksWrapper: e(),
78
- contentWrapper: o()
79
- }
80
- ) });
81
- }
82
- export {
83
- j as default
84
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),o=require("react"),C=require("./blocks-exports.cjs"),v=require("./get-class-prop-name-3c5f7a7d.cjs"),m=require("./server-entry-ff6a2e2d.cjs"),k=async({builderContextValue:e,symbol:t})=>{if(t!=null&&t.model&&(e!=null&&e.apiKey))return m.fetchOneEntry({model:t.model,apiKey:e.apiKey,apiVersion:e.apiVersion,...(t==null?void 0:t.entry)&&{query:{id:t.entry}}}).catch(r=>{m.logger.error("Could not fetch symbol content: ",r)})};function x(e){var c,a,d,u;function t(){return"div"}function r(){return"div"}function y(){var n,l;return[e.attributes[v.getClassPropName()],"builder-symbol",(n=e.symbol)!=null&&n.inline?"builder-inline-symbol":void 0,(l=e.symbol)!=null&&l.dynamic||e.dynamic?"builder-dynamic-symbol":void 0].filter(Boolean).join(" ")}const[i,b]=o.useState(()=>{var n;return(n=e.symbol)==null?void 0:n.content});function f(){i||k({symbol:e.symbol,builderContextValue:e.builderContext}).then(n=>{n&&b(n)})}return o.useEffect(()=>{},[]),o.useEffect(()=>{f()},[e.symbol]),s.jsx("div",{...e.attributes,className:y(),children:s.jsx(C.Content,{isNestedRender:!0,apiVersion:e.builderContext.apiVersion,apiKey:e.builderContext.apiKey,context:{...e.builderContext.context,symbolId:(c=e.builderBlock)==null?void 0:c.id},customComponents:Object.values(e.builderComponents),data:{...(a=e.symbol)==null?void 0:a.data,...e.builderContext.localState,...(d=i==null?void 0:i.data)==null?void 0:d.state},canTrack:e.builderContext.canTrack,model:(u=e.symbol)==null?void 0:u.model,content:i,linkComponent:e.builderLinkComponent,blocksWrapper:t(),contentWrapper:r()})})}exports.default=x;