@builder.io/sdk-react-nextjs 0.17.8 → 0.18.0

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 (51) hide show
  1. package/lib/browser/blocks/symbol/symbol.cjs +1 -1
  2. package/lib/browser/blocks/symbol/symbol.mjs +20 -20
  3. package/lib/browser/blocks/video/video.cjs +1 -1
  4. package/lib/browser/blocks/video/video.mjs +54 -17
  5. package/lib/browser/components/content/components/enable-editor.cjs +1 -1
  6. package/lib/browser/components/content/components/enable-editor.mjs +48 -45
  7. package/lib/browser/components/content/content.cjs +1 -1
  8. package/lib/browser/components/content/content.mjs +1 -1
  9. package/lib/browser/constants/sdk-version.cjs +1 -1
  10. package/lib/browser/constants/sdk-version.mjs +1 -1
  11. package/lib/browser/helpers/subscribe-to-editor.cjs +1 -1
  12. package/lib/browser/helpers/subscribe-to-editor.mjs +30 -22
  13. package/lib/browser/scripts/init-editing.cjs +1 -1
  14. package/lib/browser/scripts/init-editing.mjs +9 -7
  15. package/lib/edge/blocks/symbol/symbol.cjs +1 -1
  16. package/lib/edge/blocks/symbol/symbol.mjs +20 -20
  17. package/lib/edge/blocks/video/video.cjs +1 -1
  18. package/lib/edge/blocks/video/video.mjs +54 -17
  19. package/lib/edge/components/content/components/enable-editor.cjs +1 -1
  20. package/lib/edge/components/content/components/enable-editor.mjs +48 -45
  21. package/lib/edge/components/content/content.cjs +1 -1
  22. package/lib/edge/components/content/content.mjs +1 -1
  23. package/lib/edge/constants/sdk-version.cjs +1 -1
  24. package/lib/edge/constants/sdk-version.mjs +1 -1
  25. package/lib/edge/helpers/subscribe-to-editor.cjs +1 -1
  26. package/lib/edge/helpers/subscribe-to-editor.mjs +30 -22
  27. package/lib/edge/scripts/init-editing.cjs +1 -1
  28. package/lib/edge/scripts/init-editing.mjs +9 -7
  29. package/lib/node/blocks/symbol/symbol.cjs +1 -1
  30. package/lib/node/blocks/symbol/symbol.mjs +20 -20
  31. package/lib/node/blocks/video/video.cjs +1 -1
  32. package/lib/node/blocks/video/video.mjs +54 -17
  33. package/lib/node/components/content/components/enable-editor.cjs +1 -1
  34. package/lib/node/components/content/components/enable-editor.mjs +48 -45
  35. package/lib/node/components/content/content.cjs +1 -1
  36. package/lib/node/components/content/content.mjs +1 -1
  37. package/lib/node/constants/sdk-version.cjs +1 -1
  38. package/lib/node/constants/sdk-version.mjs +1 -1
  39. package/lib/node/helpers/subscribe-to-editor.cjs +1 -1
  40. package/lib/node/helpers/subscribe-to-editor.mjs +30 -22
  41. package/lib/node/scripts/init-editing.cjs +1 -1
  42. package/lib/node/scripts/init-editing.mjs +9 -7
  43. package/package.json +1 -1
  44. package/types/cjs/components/content-variants/content-variants.types.d.ts +2 -2
  45. package/types/cjs/constants/sdk-version.d.ts +1 -1
  46. package/types/cjs/helpers/subscribe-to-editor.d.ts +13 -13
  47. package/types/cjs/scripts/init-editing.d.ts +3 -1
  48. package/types/esm/components/content-variants/content-variants.types.d.ts +2 -2
  49. package/types/esm/constants/sdk-version.d.ts +1 -1
  50. package/types/esm/helpers/subscribe-to-editor.d.ts +13 -13
  51. package/types/esm/scripts/init-editing.d.ts +3 -1
@@ -58,7 +58,7 @@ function G(t) {
58
58
  BlocksWrapper: t.blocksWrapper || "div",
59
59
  BlocksWrapperProps: t.blocksWrapperProps || {},
60
60
  nonce: t.nonce || "",
61
- model: t.model || ""
61
+ model: t.model
62
62
  };
63
63
  t.apiKey || W.error(
64
64
  "No API key provided to `Content` component. This can cause issues. Please provide an API key using the `apiKey` prop."
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.17.8";exports.SDK_VERSION=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.18.0";exports.SDK_VERSION=e;
@@ -1,4 +1,4 @@
1
- const o = "0.17.8";
1
+ const o = "0.18.0";
2
2
  export {
3
3
  o as SDK_VERSION
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../functions/is-browser.cjs"),u=require("../functions/is-from-trusted-host.cjs"),g=require("../scripts/init-editing.cjs"),b=require("./logger.cjs"),o=({model:n,trustedHosts:i,callbacks:e})=>t=>{if(!u.isFromTrustedHost(i,t))return;const{data:r}=t;if(r)switch(r.type){case"builder.configureSdk":{e.configureSdk(r.data);break}case"builder.triggerAnimation":{e.animation(r.data);break}case"builder.contentUpdate":{const s=r.data,a=s.key||s.alias||s.entry||s.modelName,d=s.data;a===n&&e.contentUpdate(d);break}}},m=(n,i,e)=>{if(!c.isBrowser)return b.logger.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};g.setupBrowserForEditing();const t=o({callbacks:{contentUpdate:i,animation:()=>{},configureSdk:()=>{}},model:n,trustedHosts:e==null?void 0:e.trustedHosts});return window.addEventListener("message",t),()=>{window.removeEventListener("message",t)}};exports.createEditorListener=o;exports.subscribeToEditor=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../functions/is-browser.cjs"),u=require("../functions/is-from-trusted-host.cjs"),g=require("../scripts/init-editing.cjs"),b=require("./logger.cjs"),s=({model:n,trustedHosts:o,callbacks:t})=>i=>{if(!u.isFromTrustedHost(o,i))return;const{data:e}=i;if(e)switch(e.type){case"builder.configureSdk":{t.configureSdk(e.data);break}case"builder.triggerAnimation":{t.animation(e.data);break}case"builder.contentUpdate":{const r=e.data,a=r.key||r.alias||r.entry||r.modelName,d=r.data;a===n&&t.contentUpdate(d);break}}},m=({model:n,apiKey:o,callback:t,trustedHosts:i})=>{if(!c.isBrowser)return b.logger.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};g.setupBrowserForEditing({modelName:n,apiKey:o});const e=s({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:n,trustedHosts:i});return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}};exports.createEditorListener=s;exports.subscribeToEditor=m;
@@ -3,52 +3,60 @@ import { isFromTrustedHost as c } from "../functions/is-from-trusted-host.mjs";
3
3
  import { setupBrowserForEditing as m } from "../scripts/init-editing.mjs";
4
4
  import { logger as u } from "./logger.mjs";
5
5
  const g = ({
6
- model: o,
7
- trustedHosts: s,
8
- callbacks: e
9
- }) => (t) => {
10
- if (!c(s, t))
6
+ model: n,
7
+ trustedHosts: i,
8
+ callbacks: t
9
+ }) => (o) => {
10
+ if (!c(i, o))
11
11
  return;
12
12
  const {
13
- data: r
14
- } = t;
15
- if (r)
16
- switch (r.type) {
13
+ data: e
14
+ } = o;
15
+ if (e)
16
+ switch (e.type) {
17
17
  case "builder.configureSdk": {
18
- e.configureSdk(r.data);
18
+ t.configureSdk(e.data);
19
19
  break;
20
20
  }
21
21
  case "builder.triggerAnimation": {
22
- e.animation(r.data);
22
+ t.animation(e.data);
23
23
  break;
24
24
  }
25
25
  case "builder.contentUpdate": {
26
- const n = r.data, i = n.key || n.alias || n.entry || n.modelName, a = n.data;
27
- i === o && e.contentUpdate(a);
26
+ const r = e.data, s = r.key || r.alias || r.entry || r.modelName, a = r.data;
27
+ s === n && t.contentUpdate(a);
28
28
  break;
29
29
  }
30
30
  }
31
- }, l = (o, s, e) => {
31
+ }, k = ({
32
+ model: n,
33
+ apiKey: i,
34
+ callback: t,
35
+ trustedHosts: o
36
+ }) => {
32
37
  if (!d)
33
38
  return u.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."), () => {
34
39
  };
35
- m();
36
- const t = g({
40
+ m({
41
+ modelName: n,
42
+ apiKey: i
43
+ });
44
+ const e = g({
37
45
  callbacks: {
38
- contentUpdate: s,
46
+ contentUpdate: t,
39
47
  animation: () => {
40
48
  },
41
49
  configureSdk: () => {
42
50
  }
43
51
  },
44
- model: o,
45
- trustedHosts: e == null ? void 0 : e.trustedHosts
52
+ model: n,
53
+ trustedHosts: o
46
54
  });
47
- return window.addEventListener("message", t), () => {
48
- window.removeEventListener("message", t);
55
+ return window.addEventListener("message", e), () => {
56
+ window.removeEventListener("message", e);
49
57
  };
50
58
  };
51
59
  export {
52
60
  g as createEditorListener,
53
- l as subscribeToEditor
61
+ k as subscribeToEditor
54
62
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../constants/sdk-version.cjs"),y=require("../constants/target.cjs"),b=require("../functions/is-browser.cjs"),B=require("../functions/is-from-trusted-host.cjs"),M=require("../functions/register.cjs"),E=()=>{M.register("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 c=!1;const S=(o={})=>{var a,i;c||(c=!0,b.isBrowser()&&((a=window.parent)==null||a.postMessage({type:"builder.sdkInfo",data:{target:y.TARGET,version:f.SDK_VERSION,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0,supportsXSmallBreakpoint:!0,blockLevelPersonalization:!0}},"*"),(i=window.parent)==null||i.postMessage({type:"builder.updateContent",data:{options:o}},"*"),window.addEventListener("message",u=>{var d,l;if(!B.isFromTrustedHost(o.trustedHosts,u))return;const{data:e}=u;if(e!=null&&e.type)switch(e.type){case"builder.evaluate":{const g=e.data.text,m=e.data.arguments||[],r=e.data.id,w=new Function(g);let t,s=null;try{t=w.apply(null,m)}catch(n){s=n}s?(d=window.parent)==null||d.postMessage({type:"builder.evaluateError",data:{id:r,error:s.message}},"*"):t&&typeof t.then=="function"?t.then(n=>{var p;(p=window.parent)==null||p.postMessage({type:"builder.evaluateResult",data:{id:r,result:n}},"*")}).catch(console.error):(l=window.parent)==null||l.postMessage({type:"builder.evaluateResult",data:{result:t,id:r}},"*");break}}})))};exports.registerInsertMenu=E;exports.setupBrowserForEditing=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../constants/sdk-version.cjs"),y=require("../constants/target.cjs"),b=require("../functions/is-browser.cjs"),B=require("../functions/is-from-trusted-host.cjs"),M=require("../functions/register.cjs"),E=()=>{M.register("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 c=!1;const S=r=>{var o,i;c||(c=!0,b.isBrowser()&&((o=window.parent)==null||o.postMessage({type:"builder.sdkInfo",data:{target:y.TARGET,version:f.SDK_VERSION,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0,modelName:r.modelName,apiKey:r.apiKey,supportsXSmallBreakpoint:!0,blockLevelPersonalization:!0}},"*"),(i=window.parent)==null||i.postMessage({type:"builder.updateContent",data:{options:r}},"*"),window.addEventListener("message",u=>{var d,l;if(!B.isFromTrustedHost(r.trustedHosts,u))return;const{data:e}=u;if(e!=null&&e.type)switch(e.type){case"builder.evaluate":{const m=e.data.text,g=e.data.arguments||[],s=e.data.id,w=new Function(m);let t,a=null;try{t=w.apply(null,g)}catch(n){a=n}a?(d=window.parent)==null||d.postMessage({type:"builder.evaluateError",data:{id:s,error:a.message}},"*"):t&&typeof t.then=="function"?t.then(n=>{var p;(p=window.parent)==null||p.postMessage({type:"builder.evaluateResult",data:{id:s,result:n}},"*")}).catch(console.error):(l=window.parent)==null||l.postMessage({type:"builder.evaluateResult",data:{result:t,id:s}},"*");break}}})))};exports.registerInsertMenu=E;exports.setupBrowserForEditing=S;
@@ -27,7 +27,7 @@ const S = () => {
27
27
  });
28
28
  };
29
29
  let m = !1;
30
- const x = (a = {}) => {
30
+ const x = (r) => {
31
31
  var n, i;
32
32
  m || (m = !0, b() && ((n = window.parent) == null || n.postMessage({
33
33
  type: "builder.sdkInfo",
@@ -39,17 +39,19 @@ const x = (a = {}) => {
39
39
  // scope our '+ add block' button styling
40
40
  supportsAddBlockScoping: !0,
41
41
  supportsCustomBreakpoints: !0,
42
+ modelName: r.modelName,
43
+ apiKey: r.apiKey,
42
44
  supportsXSmallBreakpoint: !0,
43
45
  blockLevelPersonalization: !0
44
46
  }
45
47
  }, "*"), (i = window.parent) == null || i.postMessage({
46
48
  type: "builder.updateContent",
47
49
  data: {
48
- options: a
50
+ options: r
49
51
  }
50
52
  }, "*"), window.addEventListener("message", (u) => {
51
53
  var p, d;
52
- if (!B(a.trustedHosts, u))
54
+ if (!B(r.trustedHosts, u))
53
55
  return;
54
56
  const {
55
57
  data: e
@@ -57,7 +59,7 @@ const x = (a = {}) => {
57
59
  if (e != null && e.type)
58
60
  switch (e.type) {
59
61
  case "builder.evaluate": {
60
- const c = e.data.text, f = e.data.arguments || [], r = e.data.id, g = new Function(c);
62
+ const c = e.data.text, f = e.data.arguments || [], a = e.data.id, g = new Function(c);
61
63
  let t, s = null;
62
64
  try {
63
65
  t = g.apply(null, f);
@@ -67,7 +69,7 @@ const x = (a = {}) => {
67
69
  s ? (p = window.parent) == null || p.postMessage({
68
70
  type: "builder.evaluateError",
69
71
  data: {
70
- id: r,
72
+ id: a,
71
73
  error: s.message
72
74
  }
73
75
  }, "*") : t && typeof t.then == "function" ? t.then((o) => {
@@ -75,7 +77,7 @@ const x = (a = {}) => {
75
77
  (l = window.parent) == null || l.postMessage({
76
78
  type: "builder.evaluateResult",
77
79
  data: {
78
- id: r,
80
+ id: a,
79
81
  result: o
80
82
  }
81
83
  }, "*");
@@ -83,7 +85,7 @@ const x = (a = {}) => {
83
85
  type: "builder.evaluateResult",
84
86
  data: {
85
87
  result: t,
86
- id: r
88
+ id: a
87
89
  }
88
90
  }, "*");
89
91
  break;
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.17.8",
4
+ "version": "0.18.0",
5
5
  "homepage": "https://github.com/BuilderIO/builder/tree/main/packages/sdks/output/nextjs",
6
6
  "repository": {
7
7
  "type": "git",
@@ -7,11 +7,11 @@ export interface ContentVariantsPrps extends ExtraFrameworkProps {
7
7
  /**
8
8
  * The Builder content JSON to render (required).
9
9
  */
10
- content?: Nullable<BuilderContent>;
10
+ content: Nullable<BuilderContent>;
11
11
  /**
12
12
  * The Builder content `model` to render (required).
13
13
  */
14
- model?: string;
14
+ model: string;
15
15
  /**
16
16
  * Additional data to inject into your Builder content (optional).
17
17
  */
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.17.8";
1
+ export declare const SDK_VERSION = "0.18.0";
@@ -9,19 +9,19 @@ type ContentListener = Required<Pick<ContentProps, 'model' | 'trustedHosts'>> &
9
9
  };
10
10
  };
11
11
  export declare const createEditorListener: ({ model, trustedHosts, callbacks }: ContentListener) => (event: MessageEvent<any>) => void;
12
- type SubscribeToEditor = (
13
- /**
14
- * The Builder `model` to subscribe to
15
- */
16
- model: string,
17
- /**
18
- * The callback function to call when the content is updated.
19
- */
20
- callback: (updatedContent: BuilderContent) => void,
21
- /**
22
- * Extra options for the listener.
23
- */
24
- options?: {
12
+ type SubscribeToEditor = ({ model, apiKey, callback, trustedHosts }: {
13
+ /**
14
+ * The Builder `model` to subscribe to
15
+ */
16
+ model: string;
17
+ /**
18
+ * Builder API Key to use for the editor.
19
+ */
20
+ apiKey: string;
21
+ /**
22
+ * The callback function to call when the content is updated.
23
+ */
24
+ callback: (updatedContent: BuilderContent) => void;
25
25
  /**
26
26
  * List of hosts to allow editing content from.
27
27
  */
@@ -1,5 +1,7 @@
1
1
  export declare const registerInsertMenu: () => void;
2
- export declare const setupBrowserForEditing: (options?: {
2
+ export declare const setupBrowserForEditing: (options: {
3
+ modelName: string;
4
+ apiKey: string;
3
5
  enrich?: boolean;
4
6
  includeRefs?: boolean;
5
7
  locale?: string;
@@ -7,11 +7,11 @@ export interface ContentVariantsPrps extends ExtraFrameworkProps {
7
7
  /**
8
8
  * The Builder content JSON to render (required).
9
9
  */
10
- content?: Nullable<BuilderContent>;
10
+ content: Nullable<BuilderContent>;
11
11
  /**
12
12
  * The Builder content `model` to render (required).
13
13
  */
14
- model?: string;
14
+ model: string;
15
15
  /**
16
16
  * Additional data to inject into your Builder content (optional).
17
17
  */
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.17.8";
1
+ export declare const SDK_VERSION = "0.18.0";
@@ -9,19 +9,19 @@ type ContentListener = Required<Pick<ContentProps, 'model' | 'trustedHosts'>> &
9
9
  };
10
10
  };
11
11
  export declare const createEditorListener: ({ model, trustedHosts, callbacks }: ContentListener) => (event: MessageEvent<any>) => void;
12
- type SubscribeToEditor = (
13
- /**
14
- * The Builder `model` to subscribe to
15
- */
16
- model: string,
17
- /**
18
- * The callback function to call when the content is updated.
19
- */
20
- callback: (updatedContent: BuilderContent) => void,
21
- /**
22
- * Extra options for the listener.
23
- */
24
- options?: {
12
+ type SubscribeToEditor = ({ model, apiKey, callback, trustedHosts }: {
13
+ /**
14
+ * The Builder `model` to subscribe to
15
+ */
16
+ model: string;
17
+ /**
18
+ * Builder API Key to use for the editor.
19
+ */
20
+ apiKey: string;
21
+ /**
22
+ * The callback function to call when the content is updated.
23
+ */
24
+ callback: (updatedContent: BuilderContent) => void;
25
25
  /**
26
26
  * List of hosts to allow editing content from.
27
27
  */
@@ -1,5 +1,7 @@
1
1
  export declare const registerInsertMenu: () => void;
2
- export declare const setupBrowserForEditing: (options?: {
2
+ export declare const setupBrowserForEditing: (options: {
3
+ modelName: string;
4
+ apiKey: string;
3
5
  enrich?: boolean;
4
6
  includeRefs?: boolean;
5
7
  locale?: string;