react-datocms 2.1.2 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,14 @@
1
- import { defaultMetaTransformer, render, renderRule, } from "datocms-structured-text-generic-html-renderer";
2
- import { isBlock, isInlineItem, isItemLink, RenderError, isStructuredText, } from "datocms-structured-text-utils";
3
- import React, { cloneElement, isValidElement } from "react";
4
- export { renderRule, RenderError, };
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
2
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
3
+ to[j] = from[i];
4
+ return to;
5
+ };
6
+ import { defaultMetaTransformer, render, renderNodeRule, renderMarkRule, } from 'datocms-structured-text-generic-html-renderer';
7
+ import { isBlock, isInlineItem, isItemLink, RenderError, isStructuredText, } from 'datocms-structured-text-utils';
8
+ import React, { cloneElement, isValidElement } from 'react';
9
+ export { renderNodeRule, renderMarkRule, RenderError };
10
+ // deprecated
11
+ export { renderNodeRule as renderRule };
5
12
  export var defaultAdapter = {
6
13
  renderNode: React.createElement,
7
14
  renderFragment: function (children, key) { return React.createElement(React.Fragment, { key: key }, children); },
@@ -14,64 +21,72 @@ export function appendKeyToValidElement(element, key) {
14
21
  return element;
15
22
  }
16
23
  export function StructuredText(_a) {
17
- var data = _a.data, renderInlineRecord = _a.renderInlineRecord, renderLinkToRecord = _a.renderLinkToRecord, renderBlock = _a.renderBlock, renderText = _a.renderText, renderNode = _a.renderNode, renderFragment = _a.renderFragment, customRules = _a.customRules, metaTransformer = _a.metaTransformer;
18
- var result = render({
19
- renderText: renderText || defaultAdapter.renderText,
20
- renderNode: renderNode || defaultAdapter.renderNode,
21
- renderFragment: renderFragment || defaultAdapter.renderFragment
22
- }, data, [
23
- renderRule(isInlineItem, function (_a) {
24
- var node = _a.node, key = _a.key;
25
- if (!renderInlineRecord) {
26
- throw new RenderError("The Structured Text document contains an 'inlineItem' node, but no 'renderInlineRecord' prop is specified!", node);
27
- }
28
- if (!isStructuredText(data) || !data.links) {
29
- throw new RenderError("The document contains an 'itemLink' node, but the passed data prop is not a Structured Text GraphQL response, or data.links is not present!", node);
30
- }
31
- var item = data.links.find(function (item) { return item.id === node.item; });
32
- if (!item) {
33
- throw new RenderError("The Structured Text document contains an 'inlineItem' node, but cannot find a record with ID " + node.item + " inside data.links!", node);
34
- }
35
- return appendKeyToValidElement(renderInlineRecord({ record: item }), key);
36
- }),
37
- renderRule(isItemLink, function (_a) {
38
- var node = _a.node, key = _a.key, children = _a.children;
39
- if (!renderLinkToRecord) {
40
- throw new RenderError("The Structured Text document contains an 'itemLink' node, but no 'renderLinkToRecord' prop is specified!", node);
41
- }
42
- if (!isStructuredText(data) || !data.links) {
43
- throw new RenderError("The document contains an 'itemLink' node, but the passed data prop is not a Structured Text GraphQL response, or data.links is not present!", node);
44
- }
45
- var item = data.links.find(function (item) { return item.id === node.item; });
46
- if (!item) {
47
- throw new RenderError("The Structured Text document contains an 'itemLink' node, but cannot find a record with ID " + node.item + " inside data.links!", node);
48
- }
49
- return appendKeyToValidElement(renderLinkToRecord({
50
- record: item,
51
- children: children,
52
- transformedMeta: node.meta
53
- ? (metaTransformer || defaultMetaTransformer)({
54
- node: node,
55
- meta: node.meta
56
- })
57
- : null
58
- }), key);
59
- }),
60
- renderRule(isBlock, function (_a) {
61
- var node = _a.node, key = _a.key;
62
- if (!renderBlock) {
63
- throw new RenderError("The Structured Text document contains a 'block' node, but no 'renderBlock' prop is specified!", node);
64
- }
65
- if (!isStructuredText(data) || !data.blocks) {
66
- throw new RenderError("The document contains an 'block' node, but the passed data prop is not a Structured Text GraphQL response, or data.blocks is not present!", node);
67
- }
68
- var item = data.blocks.find(function (item) { return item.id === node.item; });
69
- if (!item) {
70
- throw new RenderError("The Structured Text document contains a 'block' node, but cannot find a record with ID " + node.item + " inside data.blocks!", node);
71
- }
72
- return appendKeyToValidElement(renderBlock({ record: item }), key);
73
- }),
74
- ].concat(customRules || []), metaTransformer);
75
- return result;
24
+ var data = _a.data, renderInlineRecord = _a.renderInlineRecord, renderLinkToRecord = _a.renderLinkToRecord, renderBlock = _a.renderBlock, renderText = _a.renderText, renderNode = _a.renderNode, renderFragment = _a.renderFragment, customMarkRules = _a.customMarkRules, customRules = _a.customRules, customNodeRules = _a.customNodeRules, metaTransformer = _a.metaTransformer;
25
+ var result = render(data, {
26
+ adapter: {
27
+ renderText: renderText || defaultAdapter.renderText,
28
+ renderNode: renderNode || defaultAdapter.renderNode,
29
+ renderFragment: renderFragment || defaultAdapter.renderFragment
30
+ },
31
+ metaTransformer: metaTransformer,
32
+ customMarkRules: customMarkRules,
33
+ customNodeRules: __spreadArray([
34
+ renderNodeRule(isInlineItem, function (_a) {
35
+ var node = _a.node, key = _a.key;
36
+ if (!renderInlineRecord) {
37
+ throw new RenderError("The Structured Text document contains an 'inlineItem' node, but no 'renderInlineRecord' prop is specified!", node);
38
+ }
39
+ if (!isStructuredText(data) || !data.links) {
40
+ throw new RenderError("The document contains an 'itemLink' node, but the passed data prop is not a Structured Text GraphQL response, or data.links is not present!", node);
41
+ }
42
+ var item = data.links.find(function (item) { return item.id === node.item; });
43
+ if (!item) {
44
+ throw new RenderError("The Structured Text document contains an 'inlineItem' node, but cannot find a record with ID " + node.item + " inside data.links!", node);
45
+ }
46
+ return appendKeyToValidElement(renderInlineRecord({ record: item }), key);
47
+ }),
48
+ renderNodeRule(isItemLink, function (_a) {
49
+ var node = _a.node, key = _a.key, children = _a.children;
50
+ if (!renderLinkToRecord) {
51
+ throw new RenderError("The Structured Text document contains an 'itemLink' node, but no 'renderLinkToRecord' prop is specified!", node);
52
+ }
53
+ if (!isStructuredText(data) || !data.links) {
54
+ throw new RenderError("The document contains an 'itemLink' node, but the passed data prop is not a Structured Text GraphQL response, or data.links is not present!", node);
55
+ }
56
+ var item = data.links.find(function (item) { return item.id === node.item; });
57
+ if (!item) {
58
+ throw new RenderError("The Structured Text document contains an 'itemLink' node, but cannot find a record with ID " + node.item + " inside data.links!", node);
59
+ }
60
+ return appendKeyToValidElement(renderLinkToRecord({
61
+ record: item,
62
+ children: children,
63
+ transformedMeta: node.meta
64
+ ? (metaTransformer || defaultMetaTransformer)({
65
+ node: node,
66
+ meta: node.meta
67
+ })
68
+ : null
69
+ }), key);
70
+ }),
71
+ renderNodeRule(isBlock, function (_a) {
72
+ var node = _a.node, key = _a.key;
73
+ if (!renderBlock) {
74
+ throw new RenderError("The Structured Text document contains a 'block' node, but no 'renderBlock' prop is specified!", node);
75
+ }
76
+ if (!isStructuredText(data) || !data.blocks) {
77
+ throw new RenderError("The document contains an 'block' node, but the passed data prop is not a Structured Text GraphQL response, or data.blocks is not present!", node);
78
+ }
79
+ var item = data.blocks.find(function (item) { return item.id === node.item; });
80
+ if (!item) {
81
+ throw new RenderError("The Structured Text document contains a 'block' node, but cannot find a record with ID " + node.item + " inside data.blocks!", node);
82
+ }
83
+ return appendKeyToValidElement(renderBlock({ record: item }), key);
84
+ })
85
+ ], (customNodeRules || customRules || []))
86
+ });
87
+ if (typeof result === 'string') {
88
+ return React.createElement(React.Fragment, null, result);
89
+ }
90
+ return result || null;
76
91
  }
77
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/StructuredText/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/StructuredText/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export {};
1
+ import 'intersection-observer';
@@ -1,5 +1,4 @@
1
1
  import React, { CSSProperties } from 'react';
2
- import 'intersection-observer';
3
2
  export declare type ResponsiveImageType = {
4
3
  /** The aspect ratio (width/height) of the image */
5
4
  aspectRatio: number;
@@ -1,7 +1,8 @@
1
- import { renderRule, TransformedMeta, TransformMetaFn } from "datocms-structured-text-generic-html-renderer";
2
- import { Record as StructuredTextGraphQlResponseRecord, Document as StructuredTextDocument, RenderError, RenderResult, RenderRule, Node, StructuredText as StructuredTextGraphQlResponse } from "datocms-structured-text-utils";
3
- import { ReactElement } from "react";
4
- export { renderRule, RenderError, };
1
+ import { renderNodeRule, renderMarkRule, TransformedMeta, TransformMetaFn, RenderMarkRule } from 'datocms-structured-text-generic-html-renderer';
2
+ import { Record as StructuredTextGraphQlResponseRecord, Document as StructuredTextDocument, RenderError, RenderResult, RenderRule, Node, StructuredText as StructuredTextGraphQlResponse } from 'datocms-structured-text-utils';
3
+ import { ReactElement } from 'react';
4
+ export { renderNodeRule, renderMarkRule, RenderError };
5
+ export { renderNodeRule as renderRule };
5
6
  export type { StructuredTextGraphQlResponse, StructuredTextDocument, StructuredTextGraphQlResponseRecord, };
6
7
  declare type AdapterReturn = ReactElement | string | null;
7
8
  export declare const defaultAdapter: {
@@ -27,8 +28,10 @@ declare type RenderBlockContext<R extends StructuredTextGraphQlResponseRecord> =
27
28
  export declare type StructuredTextPropTypes<R extends StructuredTextGraphQlResponseRecord> = {
28
29
  /** The actual field value you get from DatoCMS **/
29
30
  data: StructuredTextGraphQlResponse<R> | StructuredTextDocument | Node | null | undefined;
30
- /** A set of additional rules to convert the document to JSX **/
31
- customRules?: RenderRule<H, T, F>[];
31
+ /** A set of additional rules to convert nodes to JSX **/
32
+ customNodeRules?: RenderRule<H, T, F>[];
33
+ /** A set of additional rules to convert marks to JSX **/
34
+ customMarkRules?: RenderMarkRule<H, T, F>[];
32
35
  /** Fuction that converts an 'inlineItem' node into React **/
33
36
  renderInlineRecord?: (context: RenderInlineRecordContext<R>) => ReactElement | null;
34
37
  /** Fuction that converts an 'itemLink' node into React **/
@@ -43,5 +46,7 @@ export declare type StructuredTextPropTypes<R extends StructuredTextGraphQlRespo
43
46
  renderNode?: H;
44
47
  /** Function to use to generate a React.Fragment **/
45
48
  renderFragment?: F;
49
+ /** @deprecated use customNodeRules **/
50
+ customRules?: RenderRule<H, T, F>[];
46
51
  };
47
- export declare function StructuredText<R extends StructuredTextGraphQlResponseRecord>({ data, renderInlineRecord, renderLinkToRecord, renderBlock, renderText, renderNode, renderFragment, customRules, metaTransformer, }: StructuredTextPropTypes<R>): ReactElement | null;
52
+ export declare function StructuredText<R extends StructuredTextGraphQlResponseRecord>({ data, renderInlineRecord, renderLinkToRecord, renderBlock, renderText, renderNode, renderFragment, customMarkRules, customRules, customNodeRules, metaTransformer, }: StructuredTextPropTypes<R>): ReactElement | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-datocms",
3
- "version": "2.1.2",
3
+ "version": "3.0.2",
4
4
  "types": "dist/types/index.d.ts",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -27,6 +27,7 @@
27
27
  "doctoc": "^2.0.0",
28
28
  "enzyme": "^3.11.0",
29
29
  "enzyme-to-json": "^3.6.2",
30
+ "intersection-observer": "^0.12.0",
30
31
  "jest": "^26.6.3",
31
32
  "np": "^7.5.0",
32
33
  "raf": "^3.4.1",
@@ -74,11 +75,11 @@
74
75
  ]
75
76
  },
76
77
  "dependencies": {
77
- "datocms-listen": "^0.1.6",
78
- "datocms-structured-text-generic-html-renderer": "^1.1.0",
79
- "datocms-structured-text-utils": "^1.1.0",
80
- "intersection-observer": "^0.12.0",
81
- "react-intersection-observer": "^8.31.1",
78
+ "datocms-listen": "^0.1.7",
79
+ "datocms-structured-text-generic-html-renderer": "^2.0.0",
80
+ "datocms-structured-text-utils": "^2.0.0",
81
+ "react-intersection-observer": "^8.33.1",
82
+ "universal-base64": "^2.1.0",
82
83
  "use-deep-compare-effect": "^1.6.1"
83
84
  }
84
85
  }