@builder.io/sdk-react 0.8.0 → 0.9.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 (30) hide show
  1. package/lib/browser/index.cjs +28 -28
  2. package/lib/browser/index.mjs +415 -389
  3. package/lib/browser/server-entry.cjs +1 -1
  4. package/lib/browser/server-entry.mjs +1 -1
  5. package/lib/edge/index.cjs +21 -21
  6. package/lib/edge/index.mjs +963 -937
  7. package/lib/edge/server-entry.cjs +1 -1
  8. package/lib/edge/server-entry.mjs +1 -1
  9. package/lib/node/index.cjs +11 -11
  10. package/lib/node/index.mjs +205 -173
  11. package/lib/node/server-entry.cjs +1 -1
  12. package/lib/node/server-entry.mjs +1 -1
  13. package/package.json +2 -1
  14. package/types/components/blocks/blocks-wrapper.d.ts +8 -0
  15. package/types/components/blocks/blocks.d.ts +1 -1
  16. package/types/components/content/components/enable-editor.d.ts +1 -1
  17. package/types/components/content-variants/content-variants.types.d.ts +16 -0
  18. package/types/constants/sdk-version.d.ts +1 -1
  19. package/types/context/types.d.ts +2 -1
  20. package/types/functions/evaluate/node-runtime/safeDynamicRequire.d.ts +0 -10
  21. package/types/functions/transform-block-properties.d.ts +5 -1
  22. package/types/types/enforced-partials.d.ts +7 -2
  23. package/types/functions/get-react-native-block-styles.d.ts +0 -7
  24. package/types/functions/sanitize-react-native-block-styles.d.ts +0 -3
  25. /package/lib/browser/{server-entry-0aebe4be.mjs → server-entry-0aebe4be.js} +0 -0
  26. /package/lib/browser/{server-entry-a5d2c777.js → server-entry-a5d2c777.cjs} +0 -0
  27. /package/lib/edge/{server-entry-0aebe4be.mjs → server-entry-0aebe4be.js} +0 -0
  28. /package/lib/edge/{server-entry-a5d2c777.js → server-entry-a5d2c777.cjs} +0 -0
  29. /package/lib/node/{server-entry-a5d2c777.js → server-entry-a5d2c777.cjs} +0 -0
  30. /package/lib/node/{server-entry-e4cd1e05.mjs → server-entry-e4cd1e05.js} +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-a5d2c777.js");exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getAllContent=e.getAllContent;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.getContent=e.getContent;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.track=e.track;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-a5d2c777.cjs");exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getAllContent=e.getAllContent;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.getContent=e.getContent;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.track=e.track;
@@ -1,4 +1,4 @@
1
- import { _ as t, c as a, h as r, f as i, b as n, g, e as o, d as c, i as d, a as f, r as h, s as l, t as p } from "./server-entry-e4cd1e05.mjs";
1
+ import { _ as t, c as a, h as r, f as i, b as n, g, e as o, d as c, i as d, a as f, r as h, s as l, t as p } from "./server-entry-e4cd1e05.js";
2
2
  export {
3
3
  t as _processContentResult,
4
4
  a as createRegisterComponentMessage,
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-react",
3
3
  "description": "Builder.io SDK for React",
4
- "version": "0.8.0",
4
+ "version": "0.9.0",
5
5
  "homepage": "https://github.com/BuilderIO/builder/tree/main/packages/sdks/output/react",
6
+ "type": "module",
6
7
  "repository": {
7
8
  "type": "git",
8
9
  "url": "git+https://github.com/BuilderIO/builder.git",
@@ -4,6 +4,14 @@ export type BlocksWrapperProps = {
4
4
  parent: string | undefined;
5
5
  path: string | undefined;
6
6
  styleProp: Record<string, any> | undefined;
7
+ /**
8
+ * The element that wraps each list of blocks. Defaults to a `div` element ('ScrollView' in React Native).
9
+ */
10
+ BlocksWrapper: any;
11
+ /**
12
+ * Additonal props to pass to `blocksWrapper`. Defaults to `{}`.
13
+ */
14
+ BlocksWrapperProps: any;
7
15
  };
8
16
  import type { BuilderBlock } from "../../types/builder-block.js";
9
17
  import type { PropsWithChildren } from "../../types/typescript.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- export type BlocksProps = Partial<BlocksWrapperProps> & {
2
+ export type BlocksProps = Partial<Omit<BlocksWrapperProps, "BlocksWrapper" | "BlocksWrapperProps">> & {
3
3
  context?: BuilderContextInterface;
4
4
  registeredComponents?: RegisteredComponents;
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- type BuilderEditorProps = Omit<ContentProps, "customComponents" | "data" | "apiVersion" | "isSsrAbTest"> & {
2
+ type BuilderEditorProps = Omit<ContentProps, "customComponents" | "data" | "apiVersion" | "isSsrAbTest" | "blocksWrapper" | "blocksWrapperProps"> & {
3
3
  builderContextSignal: BuilderContextInterface;
4
4
  setBuilderContextSignal?: (signal: any) => any;
5
5
  children?: any;
@@ -17,4 +17,20 @@ export interface ContentVariantsPrps {
17
17
  /** @deprecated use `enrich` instead **/
18
18
  includeRefs?: boolean;
19
19
  enrich?: boolean;
20
+ /**
21
+ * The element that wraps your content. Defaults to `div` ('ScrollView' in React Native).
22
+ */
23
+ contentWrapper?: any;
24
+ /**
25
+ * Additonal props to pass to `contentWrapper`. Defaults to `{}`.
26
+ */
27
+ contentWrapperProps?: any;
28
+ /**
29
+ * The element that wraps your blocks. Defaults to `div` ('ScrollView' in React Native).
30
+ */
31
+ blocksWrapper?: any;
32
+ /**
33
+ * Additonal props to pass to `blocksWrapper`. Defaults to `{}`.
34
+ */
35
+ blocksWrapperProps?: any;
20
36
  }
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.8.0";
1
+ export declare const SDK_VERSION = "0.9.0";
@@ -1,3 +1,4 @@
1
+ import type { BlocksWrapperProps } from '../components/blocks/blocks-wrapper';
1
2
  import type { ApiVersion } from '../types/api-version.js';
2
3
  import type { BuilderContent } from '../types/builder-content.js';
3
4
  import type { ComponentInfo } from '../types/components.js';
@@ -8,7 +9,7 @@ export type RegisteredComponent = ComponentInfo & {
8
9
  export type RegisteredComponents = Dictionary<RegisteredComponent>;
9
10
  export type BuilderRenderState = Record<string, unknown>;
10
11
  export type BuilderRenderContext = Record<string, unknown>;
11
- export interface BuilderContextInterface {
12
+ export interface BuilderContextInterface extends Pick<BlocksWrapperProps, 'BlocksWrapper' | 'BlocksWrapperProps'> {
12
13
  content: Nullable<BuilderContent>;
13
14
  context: BuilderRenderContext;
14
15
  /**
@@ -1,11 +1 @@
1
- /**
2
- * Allows us to require node-specific code safely within bundlers.
3
- *
4
- * https://github.com/laverdet/isolated-vm/issues/423
5
- *
6
- * NOTE: this code should only ever run in `node`, and never in an `edge` runtime.
7
- * This is guaranteed by the fact that each SDK has separate bundles for each runtime.
8
- * However, it might still end up running in the `browser` if the `node` bundle is loaded in the
9
- * browser (which happens in many apps' dev mode, and certain other scenarios like Qwik's prod mode).
10
- */
11
1
  export declare let safeDynamicRequire: typeof require;
@@ -1 +1,5 @@
1
- export declare function transformBlockProperties(properties: any): any;
1
+ export declare function transformBlockProperties({ properties, }: {
2
+ properties: any;
3
+ block: any;
4
+ context: any;
5
+ }): any;
@@ -1,9 +1,14 @@
1
1
  import type { Prettify } from './typescript.js';
2
+ /**
3
+ * Lol Typescript
4
+ * https://stackoverflow.com/questions/49927523/disallow-call-with-any/49928360#49928360
5
+ */
6
+ type IfAny<T, Y, N> = 0 extends 1 & T ? Y : N;
2
7
  type OptionalFieldsOnly<T> = {
3
- [K in keyof T as T[K] extends Required<T>[K] ? never : K]: T[K];
8
+ [K in keyof T as T[K] extends Required<T>[K] ? IfAny<T[K], K, never> : K]: T[K];
4
9
  };
5
10
  type RequiredFieldsOnly<T> = {
6
- [K in keyof T as T[K] extends Required<T>[K] ? K : never]: T[K];
11
+ [K in keyof T as T[K] extends Required<T>[K] ? IfAny<T[K], never, K> : never]: T[K];
7
12
  };
8
13
  type Enforced<T> = {
9
14
  [K in keyof T]-?: T[K];
@@ -1,7 +0,0 @@
1
- import type { BuilderContextInterface } from '../context/types.js';
2
- import type { BuilderBlock } from '../types/builder-block.js';
3
- export declare function getReactNativeBlockStyles({ block, context, blockStyles }: {
4
- block: BuilderBlock;
5
- context: BuilderContextInterface;
6
- blockStyles: any;
7
- }): CSSStyleDeclaration | Record<string, string | undefined>;
@@ -1,3 +0,0 @@
1
- type Styles = Record<string, string | number>;
2
- export declare const sanitizeReactNativeBlockStyles: (styles: Styles) => Styles;
3
- export {};