@builder.io/sdk-react-nextjs 0.5.7 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/blocks/button/button.js +2 -2
  2. package/dist/blocks/columns/columns.js +4 -4
  3. package/dist/blocks/image/image.js +6 -6
  4. package/dist/components/blocks/blocks-wrapper.js +2 -2
  5. package/dist/components/content/components/enable-editor.js +2 -1
  6. package/dist/components/content/content.types.d.ts +2 -2
  7. package/dist/components/content-variants/content-variants.d.ts +2 -2
  8. package/dist/components/content-variants/content-variants.types.d.ts +1 -1
  9. package/dist/constants/sdk-version.d.ts +1 -1
  10. package/dist/constants/sdk-version.js +1 -1
  11. package/dist/functions/evaluate/browser-runtime/browser.d.ts +4 -0
  12. package/dist/functions/evaluate/browser-runtime/browser.js +31 -0
  13. package/dist/functions/evaluate/evaluate.d.ts +4 -8
  14. package/dist/functions/evaluate/evaluate.js +15 -38
  15. package/dist/functions/evaluate/helpers.d.ts +18 -0
  16. package/dist/functions/evaluate/helpers.js +10 -0
  17. package/dist/functions/evaluate/index.d.ts +1 -1
  18. package/dist/functions/evaluate/index.js +1 -1
  19. package/dist/functions/evaluate/non-node-runtime/non-node-runtime.d.ts +2 -2
  20. package/dist/functions/evaluate/non-node-runtime/non-node-runtime.js +12 -13
  21. package/dist/functions/fetch-builder-props.d.ts +2 -2
  22. package/dist/functions/get-block-actions-handler.js +1 -1
  23. package/dist/functions/register-component.js +1 -1
  24. package/dist/index.d.ts +5 -14
  25. package/dist/index.js +5 -9
  26. package/dist/server-index.d.ts +15 -0
  27. package/dist/server-index.js +10 -0
  28. package/package.json +1 -1
  29. package/dist/functions/evaluate/types.d.ts +0 -11
  30. package/dist/functions/evaluate/types.js +0 -1
  31. /package/dist/functions/evaluate/{acorn-interpreter.d.ts → non-node-runtime/acorn-interpreter.d.ts} +0 -0
  32. /package/dist/functions/evaluate/{acorn-interpreter.js → non-node-runtime/acorn-interpreter.js} +0 -0
@@ -4,8 +4,8 @@ function Button(props) {
4
4
  return (React.createElement(React.Fragment, null,
5
5
  props.link ? (React.createElement(React.Fragment, null,
6
6
  React.createElement("a", { role: "button", ...props.attributes, href: props.link, target: props.openLinkInNewTab ? "_blank" : undefined }, props.text))) : (React.createElement(React.Fragment, null,
7
- React.createElement("button", { ...props.attributes, style: props.attributes.style, className: props.attributes.className + " button-7267e9c6" }, props.text))),
8
- React.createElement("style", null, `.button-7267e9c6 {
7
+ React.createElement("button", { ...props.attributes, style: props.attributes.style, className: props.attributes.className + " button-3e7bc8b2" }, props.text))),
8
+ React.createElement("style", null, `.button-3e7bc8b2 {
9
9
  all: unset;
10
10
  }`)));
11
11
  }
@@ -100,17 +100,17 @@ function Columns(props) {
100
100
  };
101
101
  return (React.createElement(React.Fragment, null,
102
102
  React.createElement("div", { className: `builder-columns ${props.builderBlock.id}-breakpoints` +
103
- " div-3ec60680", style: columnsCssVars() },
103
+ " div-cc9939b0", style: columnsCssVars() },
104
104
  TARGET !== "reactNative" ? (React.createElement(React.Fragment, null,
105
105
  React.createElement(InlinedStyles, { styles: columnsStyles() }))) : null,
106
- props.columns?.map((column, index) => (React.createElement("div", { className: "builder-column div-3ec60680-2", style: columnCssVars(index), key: index },
106
+ props.columns?.map((column, index) => (React.createElement("div", { className: "builder-column div-cc9939b0-2", style: columnCssVars(index), key: index },
107
107
  React.createElement(Blocks, { blocks: column.blocks, path: `component.options.columns.${index}.blocks`, parent: props.builderBlock.id, styleProp: {
108
108
  flexGrow: "1",
109
109
  }, context: props.builderContext, registeredComponents: props.builderComponents }))))),
110
- React.createElement("style", null, `.div-3ec60680 {
110
+ React.createElement("style", null, `.div-cc9939b0 {
111
111
  display: flex;
112
112
  line-height: normal;
113
- }.div-3ec60680-2 {
113
+ }.div-cc9939b0-2 {
114
114
  display: flex;
115
115
  flex-direction: column;
116
116
  align-items: stretch;
@@ -52,23 +52,23 @@ function Image(props) {
52
52
  ...aspectRatioCss(),
53
53
  }, className: "builder-image" +
54
54
  (props.className ? " " + props.className : "") +
55
- " img-7c5f6b46", src: props.image, srcSet: srcSetToUse(), sizes: props.sizes })),
55
+ " img-ef11a6be", src: props.image, srcSet: srcSetToUse(), sizes: props.sizes })),
56
56
  props.aspectRatio &&
57
57
  !(props.builderBlock?.children?.length && props.fitContent) ? (React.createElement(React.Fragment, null,
58
- React.createElement("div", { className: "builder-image-sizer div-7c5f6b46", style: {
58
+ React.createElement("div", { className: "builder-image-sizer div-ef11a6be", style: {
59
59
  paddingTop: props.aspectRatio * 100 + "%",
60
60
  } }))) : null,
61
61
  props.builderBlock?.children?.length && props.fitContent ? (React.createElement(React.Fragment, null, props.children)) : null,
62
62
  !props.fitContent && props.children ? (React.createElement(React.Fragment, null,
63
- React.createElement("div", { className: "div-7c5f6b46-2" }, props.children))) : null),
64
- React.createElement("style", null, `.img-7c5f6b46 {
63
+ React.createElement("div", { className: "div-ef11a6be-2" }, props.children))) : null),
64
+ React.createElement("style", null, `.img-ef11a6be {
65
65
  opacity: 1;
66
66
  transition: opacity 0.2s ease-in-out;
67
- }.div-7c5f6b46 {
67
+ }.div-ef11a6be {
68
68
  width: 100%;
69
69
  pointer-events: none;
70
70
  font-size: 0;
71
- }.div-7c5f6b46-2 {
71
+ }.div-ef11a6be-2 {
72
72
  display: flex;
73
73
  flex-direction: column;
74
74
  align-items: stretch;
@@ -28,8 +28,8 @@ function BlocksWrapper(props) {
28
28
  }
29
29
  }
30
30
  return (React.createElement(React.Fragment, null,
31
- React.createElement("div", { className: className() + " div-5285fe33", "builder-path": props.path, "builder-parent-id": props.parent, style: props.styleProp, onClick: (event) => onClick(), onMouseEnter: (event) => onMouseEnter(), onKeyPress: (event) => onClick() }, props.children),
32
- React.createElement("style", null, `.div-5285fe33 {
31
+ React.createElement("div", { className: className() + " div-5821bd52", "builder-path": props.path, "builder-parent-id": props.parent, style: props.styleProp, onClick: (event) => onClick(), onMouseEnter: (event) => onMouseEnter(), onKeyPress: (event) => onClick() }, props.children),
32
+ React.createElement("style", null, `.div-5821bd52 {
33
33
  display: flex;
34
34
  flex-direction: column;
35
35
  align-items: stretch;
@@ -13,6 +13,7 @@ import { checkIsDefined } from "../../../helpers/nullable.js";
13
13
  import { getInteractionPropertiesForEvent } from "../../../functions/track/interaction.js";
14
14
  import { logger } from "../../../helpers/logger.js";
15
15
  import { postPreviewContent } from "../../../helpers/preview-lru-cache/set.js";
16
+ import { fastClone } from "../../../functions/fast-clone.js";
16
17
  import { useRouter } from "next/navigation";
17
18
  function EnableEditor(props) {
18
19
  const elementRef = useRef(null);
@@ -154,7 +155,7 @@ function EnableEditor(props) {
154
155
  if (isEditing()) {
155
156
  window.dispatchEvent(new CustomEvent("builder:component:stateChange", {
156
157
  detail: {
157
- state: props.builderContextSignal.rootState,
158
+ state: fastClone(props.builderContextSignal.rootState),
158
159
  ref: {
159
160
  name: props.model,
160
161
  },
@@ -1,6 +1,6 @@
1
1
  import type { BuilderRenderState } from '../../context/types.js';
2
2
  import type { EnforcePartials } from '../../types/enforced-partials.js';
3
- import type { ContentVariantsProps } from '../content-variants/content-variants.types.js';
3
+ import type { ContentVariantsPrps } from '../content-variants/content-variants.types.js';
4
4
  interface InternalRenderProps {
5
5
  /**
6
6
  * TO-DO: improve qwik generator to not remap this name for non-HTML tags, then name it `className`
@@ -9,7 +9,7 @@ interface InternalRenderProps {
9
9
  showContent: boolean;
10
10
  isSsrAbTest: boolean;
11
11
  }
12
- export type ContentProps = InternalRenderProps & EnforcePartials<ContentVariantsProps>;
12
+ export type ContentProps = InternalRenderProps & EnforcePartials<ContentVariantsPrps>;
13
13
  export interface BuilderComponentStateChange {
14
14
  state: BuilderRenderState;
15
15
  ref: {
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
- type VariantsProviderProps = ContentVariantsProps & {
2
+ type VariantsProviderProps = ContentVariantsPrps & {
3
3
  /**
4
4
  * For internal use only. Do not provide this prop.
5
5
  */
6
6
  __isNestedRender?: boolean;
7
7
  };
8
- import type { ContentVariantsProps } from "./content-variants.types.js";
8
+ import type { ContentVariantsPrps } from "./content-variants.types.js";
9
9
  declare function ContentVariants(props: VariantsProviderProps): JSX.Element;
10
10
  export default ContentVariants;
@@ -2,7 +2,7 @@ import type { BuilderRenderContext, RegisteredComponent } from '../../context/ty
2
2
  import type { ApiVersion } from '../../types/api-version.js';
3
3
  import type { BuilderContent } from '../../types/builder-content.js';
4
4
  import type { Nullable } from '../../types/typescript.js';
5
- export interface ContentVariantsProps {
5
+ export interface ContentVariantsPrps {
6
6
  content?: Nullable<BuilderContent>;
7
7
  model?: string;
8
8
  data?: {
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.5.7";
1
+ export declare const SDK_VERSION = "0.5.9";
@@ -1 +1 @@
1
- export const SDK_VERSION = "0.5.7";
1
+ export const SDK_VERSION = "0.5.9";
@@ -0,0 +1,4 @@
1
+ import type { BuilderRenderState } from '../../../context/types.js';
2
+ import type { ExecutorArgs } from '../helpers.js';
3
+ export declare const runInBrowser: ({ code, builder, context, event, localState, rootSetState, rootState }: ExecutorArgs) => any;
4
+ export declare function flattenState(rootState: Record<string | symbol, any>, localState: Record<string | symbol, any> | undefined, rootSetState: ((rootState: BuilderRenderState) => void) | undefined): BuilderRenderState;
@@ -0,0 +1,31 @@
1
+ import { getFunctionArguments } from '../helpers.js';
2
+ export const runInBrowser = ({ code, builder, context, event, localState, rootSetState, rootState }) => {
3
+ const functionArgs = getFunctionArguments({
4
+ builder,
5
+ context,
6
+ event,
7
+ state: flattenState(rootState, localState, rootSetState)
8
+ });
9
+ return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));
10
+ };
11
+ export function flattenState(rootState, localState, rootSetState) {
12
+ if (rootState === localState) {
13
+ throw new Error('rootState === localState');
14
+ }
15
+ return new Proxy(rootState, {
16
+ get: (_, prop) => {
17
+ if (localState && prop in localState) {
18
+ return localState[prop];
19
+ }
20
+ return rootState[prop];
21
+ },
22
+ set: (_, prop, value) => {
23
+ if (localState && prop in localState) {
24
+ throw new Error('Writing to local state is not allowed as it is read-only.');
25
+ }
26
+ rootState[prop] = value;
27
+ rootSetState?.(rootState);
28
+ return true;
29
+ }
30
+ });
31
+ }
@@ -1,10 +1,6 @@
1
- import type { BuilderContextInterface, BuilderRenderState } from '../../context/types.js';
2
- import type { ExecutorArgs } from './types.js';
3
- export declare function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression }: {
4
- code: string;
1
+ import type { ExecutorArgs } from './helpers.js';
2
+ export type EvaluatorArgs = Omit<ExecutorArgs, 'builder' | 'event'> & {
5
3
  event?: Event;
6
4
  isExpression?: boolean;
7
- } & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>): any;
8
- export declare const runInBrowser: ({ useCode, builder, context, event, localState, rootSetState, rootState }: ExecutorArgs) => any;
9
- export declare const runInNode: (args: ExecutorArgs) => any;
10
- export declare function flattenState(rootState: Record<string | symbol, any>, localState: Record<string | symbol, any> | undefined, rootSetState: ((rootState: BuilderRenderState) => void) | undefined): BuilderRenderState;
5
+ };
6
+ export declare function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression }: EvaluatorArgs): any;
@@ -1,8 +1,10 @@
1
1
  import { logger } from '../../helpers/logger.js';
2
2
  import { isBrowser } from '../is-browser.js';
3
3
  import { isEditing } from '../is-editing.js';
4
- import { isNonNodeServer } from '../is-non-node-server.js';
4
+ import { getUserAttributes } from '../track/helpers.js';
5
+ import { runInBrowser } from './browser-runtime/browser.js';
5
6
  import { runInNonNode } from './non-node-runtime/index.js';
7
+ import { isNonNodeServer } from '../is-non-node-server.js';
6
8
  export function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression = true }) {
7
9
  if (code === '') {
8
10
  logger.warn('Skipping evaluation of empty code block.');
@@ -11,7 +13,8 @@ export function evaluate({ code, context, localState, rootState, rootSetState, e
11
13
  const builder = {
12
14
  isEditing: isEditing(),
13
15
  isBrowser: isBrowser(),
14
- isServer: !isBrowser()
16
+ isServer: !isBrowser(),
17
+ getUserAttributes: () => getUserAttributes()
15
18
  };
16
19
  // Be able to handle simple expressions like "state.foo" or "1 + 1"
17
20
  // as well as full blocks like "var foo = "bar"; return foo"
@@ -20,7 +23,7 @@ export function evaluate({ code, context, localState, rootState, rootSetState, e
20
23
  isExpression && !(code.includes(';') || code.includes(' return ') || code.trim().startsWith('return '));
21
24
  const useCode = useReturn ? `return (${code});` : code;
22
25
  const args = {
23
- useCode,
26
+ code: useCode,
24
27
  builder,
25
28
  context,
26
29
  event,
@@ -28,43 +31,17 @@ export function evaluate({ code, context, localState, rootState, rootSetState, e
28
31
  rootState,
29
32
  localState
30
33
  };
31
- if (isBrowser())
32
- return runInBrowser(args);
33
- if (isNonNodeServer())
34
- return runInNonNode(args);
35
- return runInNode(args);
36
- }
37
- export const runInBrowser = ({ useCode, builder, context, event, localState, rootSetState, rootState }) => {
38
- const state = flattenState(rootState, localState, rootSetState);
39
34
  try {
40
- return new Function('builder', 'Builder' /* <- legacy */, 'state', 'context', 'event', useCode)(builder, builder, state, context, event);
35
+ if (isBrowser())
36
+ return runInBrowser(args);
37
+ if (isNonNodeServer())
38
+ return runInNonNode(args);
39
+ return runInBrowser(args);
41
40
  }
42
41
  catch (e) {
43
- logger.warn('Builder custom code error: \n While Evaluating: \n ', useCode, '\n', e);
44
- }
45
- };
46
- export const runInNode = (args) => {
47
- // TO-DO: use vm-isolate
48
- return runInBrowser(args);
49
- };
50
- export function flattenState(rootState, localState, rootSetState) {
51
- if (rootState === localState) {
52
- throw new Error('rootState === localState');
42
+ logger.error('Failed code evaluation: ' + e.message, {
43
+ code
44
+ });
45
+ return undefined;
53
46
  }
54
- return new Proxy(rootState, {
55
- get: (_, prop) => {
56
- if (localState && prop in localState) {
57
- return localState[prop];
58
- }
59
- return rootState[prop];
60
- },
61
- set: (_, prop, value) => {
62
- if (localState && prop in localState) {
63
- throw new Error('Writing to local state is not allowed as it is read-only.');
64
- }
65
- rootState[prop] = value;
66
- rootSetState?.(rootState);
67
- return true;
68
- }
69
- });
70
47
  }
@@ -0,0 +1,18 @@
1
+ import type { BuilderContextInterface, BuilderRenderState } from '../../context/types.js';
2
+ import type { getUserAttributes } from '../track/helpers.js';
3
+ export type BuilderGlobals = {
4
+ isEditing: boolean | undefined;
5
+ isBrowser: boolean | undefined;
6
+ isServer: boolean | undefined;
7
+ getUserAttributes: typeof getUserAttributes;
8
+ };
9
+ export type ExecutorArgs = Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'> & {
10
+ code: string;
11
+ builder: BuilderGlobals;
12
+ event: Event | undefined;
13
+ };
14
+ export type Executor = (args: ExecutorArgs) => any;
15
+ export type FunctionArguments = ReturnType<typeof getFunctionArguments>;
16
+ export declare const getFunctionArguments: ({ builder, context, event, state }: Pick<ExecutorArgs, "context" | "builder" | "event"> & {
17
+ state: BuilderRenderState;
18
+ }) => [string, Event | BuilderRenderState | import("../../context/types.js").BuilderRenderContext | BuilderGlobals][];
@@ -0,0 +1,10 @@
1
+ export const getFunctionArguments = ({ builder, context, event, state }) => {
2
+ return Object.entries({
3
+ state,
4
+ Builder: builder,
5
+ // legacy
6
+ builder,
7
+ context,
8
+ event
9
+ });
10
+ };
@@ -1 +1 @@
1
- export { evaluate } from './evaluate';
1
+ export { evaluate } from './evaluate.js';
@@ -1 +1 @@
1
- export { evaluate } from './evaluate';
1
+ export { evaluate } from './evaluate.js';
@@ -1,2 +1,2 @@
1
- import type { ExecutorArgs } from '../types';
2
- export declare const runInNonNode: ({ builder, context, event, rootState, localState, rootSetState, useCode }: ExecutorArgs) => any;
1
+ import type { ExecutorArgs } from '../helpers.js';
2
+ export declare const runInNonNode: ({ builder, context, event, rootState, localState, rootSetState, code }: ExecutorArgs) => any;
@@ -1,6 +1,7 @@
1
- import { logger } from '../../../helpers/logger';
2
- import { set } from '../../set';
3
- import Interpreter from '../acorn-interpreter.js';
1
+ import { logger } from '../../../helpers/logger.js';
2
+ import { set } from '../../set.js';
3
+ import Interpreter from './acorn-interpreter.js';
4
+ import { getFunctionArguments } from '../helpers.js';
4
5
  const processCode = (code) => {
5
6
  return code.split('\n').map(line => {
6
7
  const trimmed = line.trim();
@@ -21,23 +22,22 @@ const processCode = (code) => {
21
22
  }).filter(Boolean).join('\n');
22
23
  };
23
24
  const getJSONValName = (val) => val + 'JSON';
24
- export const runInNonNode = ({ builder, context, event, rootState, localState, rootSetState, useCode }) => {
25
+ export const runInNonNode = ({ builder, context, event, rootState, localState, rootSetState, code }) => {
25
26
  const state = {
26
27
  ...rootState,
27
28
  ...localState
28
29
  };
29
- const properties = {
30
- state,
31
- Builder: builder,
30
+ const properties = getFunctionArguments({
32
31
  builder,
33
32
  context,
34
- event
35
- };
33
+ event,
34
+ state
35
+ });
36
36
  /**
37
37
  * Deserialize all properties from JSON strings to JS objects
38
38
  */
39
- const prependedCode = Object.keys(properties).map(key => `var ${key} = JSON.parse(${getJSONValName(key)});`).join('\n');
40
- const cleanedCode = processCode(useCode);
39
+ const prependedCode = properties.map(([key]) => `var ${key} = JSON.parse(${getJSONValName(key)});`).join('\n');
40
+ const cleanedCode = processCode(code);
41
41
  if (cleanedCode === '') {
42
42
  logger.warn('Skipping evaluation of empty code block.');
43
43
  return;
@@ -58,8 +58,7 @@ theFunction();
58
58
  /**
59
59
  * serialize all function args to JSON strings
60
60
  */
61
- Object.keys(properties).forEach(key => {
62
- const val = properties[key] || {};
61
+ properties.forEach(([key, val]) => {
63
62
  const jsonVal = JSON.stringify(val);
64
63
  interpreter.setProperty(globalObject, getJSONValName(key), jsonVal);
65
64
  });
@@ -1,4 +1,4 @@
1
- import type { ContentVariantsProps } from '../components/content-variants/content-variants.types.js';
1
+ import type { ContentVariantsPrps } from '../components/content-variants/content-variants.types.js';
2
2
  import type { Dictionary } from '../types/typescript.js';
3
3
  import type { GetContentOptions } from './get-content/types.js';
4
4
  type GetBuilderPropsOptions = (Omit<GetContentOptions, 'model'> & {
@@ -35,5 +35,5 @@ type GetBuilderPropsOptions = (Omit<GetContentOptions, 'model'> & {
35
35
  /**
36
36
  * Fetches builder content, and returns it along with sensible defaults for other props that `Content` needs to render.
37
37
  */
38
- export declare const fetchBuilderProps: (_args: GetBuilderPropsOptions) => Promise<ContentVariantsProps>;
38
+ export declare const fetchBuilderProps: (_args: GetBuilderPropsOptions) => Promise<ContentVariantsPrps>;
39
39
  export {};
@@ -1,4 +1,4 @@
1
- import { evaluate } from './evaluate';
1
+ import { evaluate } from './evaluate/index.js';
2
2
  export const createEventHandler = (value, options) => event => evaluate({
3
3
  code: value,
4
4
  context: options.context,
@@ -16,7 +16,7 @@ export function registerComponent(component, info) {
16
16
  }
17
17
  export const createRegisterComponentMessage = (info) => ({
18
18
  type: 'builder.registerComponent',
19
- data: info
19
+ data: serializeComponentInfo(info)
20
20
  });
21
21
  // eslint-disable-next-line @typescript-eslint/ban-types
22
22
  const serializeFn = (fnValue) => {
package/dist/index.d.ts CHANGED
@@ -1,16 +1,7 @@
1
1
  export * from './index-helpers/top-of-file.js';
2
2
  export * from './index-helpers/blocks-exports.js';
3
- export { isEditing } from './functions/is-editing.js';
4
- export { isPreviewing } from './functions/is-previewing.js';
5
- export { createRegisterComponentMessage } from './functions/register-component.js';
6
- export { register } from './functions/register.js';
7
- export type { InsertMenuConfig, InsertMenuItem } from './functions/register.js';
8
- export { setEditorSettings } from './functions/set-editor-settings.js';
9
- export type { Settings } from './functions/set-editor-settings.js';
10
- export { fetchEntries, fetchOneEntry, getAllContent, getContent, _processContentResult } from './functions/get-content/index.js';
11
- export { getBuilderSearchParams } from './functions/get-builder-search-params/index.js';
12
- export { track } from './functions/track/index.js';
13
- export type { RegisteredComponent } from './context/types.js';
14
- export type { ComponentInfo } from './types/components.js';
15
- export type { ContentProps } from './components/content/content.types.js';
16
- export { fetchBuilderProps } from './functions/fetch-builder-props.js';
3
+ /**
4
+ * We have a separate entry point to the SDKs that guarantees no components are being imported. This is useful
5
+ * for React SDK, which would break in the NextJS App directory because the component imports have `use client` in them.
6
+ */
7
+ export * from './server-index.js';
package/dist/index.js CHANGED
@@ -1,11 +1,7 @@
1
1
  export * from './index-helpers/top-of-file.js';
2
2
  export * from './index-helpers/blocks-exports.js';
3
- export { isEditing } from './functions/is-editing.js';
4
- export { isPreviewing } from './functions/is-previewing.js';
5
- export { createRegisterComponentMessage } from './functions/register-component.js';
6
- export { register } from './functions/register.js';
7
- export { setEditorSettings } from './functions/set-editor-settings.js';
8
- export { fetchEntries, fetchOneEntry, getAllContent, getContent, _processContentResult } from './functions/get-content/index.js';
9
- export { getBuilderSearchParams } from './functions/get-builder-search-params/index.js';
10
- export { track } from './functions/track/index.js';
11
- export { fetchBuilderProps } from './functions/fetch-builder-props.js';
3
+ /**
4
+ * We have a separate entry point to the SDKs that guarantees no components are being imported. This is useful
5
+ * for React SDK, which would break in the NextJS App directory because the component imports have `use client` in them.
6
+ */
7
+ export * from './server-index.js';
@@ -0,0 +1,15 @@
1
+ export * from './index-helpers/top-of-file.js';
2
+ export { isEditing } from './functions/is-editing.js';
3
+ export { isPreviewing } from './functions/is-previewing.js';
4
+ export { createRegisterComponentMessage } from './functions/register-component.js';
5
+ export { register } from './functions/register.js';
6
+ export type { InsertMenuConfig, InsertMenuItem } from './functions/register.js';
7
+ export { setEditorSettings } from './functions/set-editor-settings.js';
8
+ export type { Settings } from './functions/set-editor-settings.js';
9
+ export { fetchEntries, fetchOneEntry, getAllContent, getContent, _processContentResult } from './functions/get-content/index.js';
10
+ export { getBuilderSearchParams } from './functions/get-builder-search-params/index.js';
11
+ export { track } from './functions/track/index.js';
12
+ export type { RegisteredComponent } from './context/types.js';
13
+ export type { ComponentInfo } from './types/components.js';
14
+ export type { ContentProps } from './components/content/content.types.js';
15
+ export { fetchBuilderProps } from './functions/fetch-builder-props.js';
@@ -0,0 +1,10 @@
1
+ export * from './index-helpers/top-of-file.js';
2
+ export { isEditing } from './functions/is-editing.js';
3
+ export { isPreviewing } from './functions/is-previewing.js';
4
+ export { createRegisterComponentMessage } from './functions/register-component.js';
5
+ export { register } from './functions/register.js';
6
+ export { setEditorSettings } from './functions/set-editor-settings.js';
7
+ export { fetchEntries, fetchOneEntry, getAllContent, getContent, _processContentResult } from './functions/get-content/index.js';
8
+ export { getBuilderSearchParams } from './functions/get-builder-search-params/index.js';
9
+ export { track } from './functions/track/index.js';
10
+ export { fetchBuilderProps } from './functions/fetch-builder-props.js';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-react-nextjs",
3
3
  "description": "Builder.io SDK for React",
4
- "version": "0.5.7",
4
+ "version": "0.5.9",
5
5
  "files": [
6
6
  "dist"
7
7
  ],
@@ -1,11 +0,0 @@
1
- import type { BuilderContextInterface } from '../../context/types';
2
- export type ExecutorArgs = Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'> & {
3
- useCode: string;
4
- builder: {
5
- isEditing: boolean | undefined;
6
- isBrowser: boolean | undefined;
7
- isServer: boolean | undefined;
8
- };
9
- event: Event | undefined;
10
- };
11
- export type Executor = (args: ExecutorArgs) => any;
@@ -1 +0,0 @@
1
- export {};