react-datocms 2.1.0 → 3.0.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.
- package/README.md +73 -23
- package/dist/cjs/Image/__tests__/index.test.js +1 -0
- package/dist/cjs/Image/__tests__/index.test.js.map +1 -1
- package/dist/cjs/Image/index.js +2 -2
- package/dist/cjs/Image/index.js.map +1 -1
- package/dist/cjs/Seo/__tests__/index.test.js +0 -5
- package/dist/cjs/Seo/__tests__/index.test.js.map +1 -1
- package/dist/cjs/Seo/remixUtils.js +1 -10
- package/dist/cjs/Seo/remixUtils.js.map +1 -1
- package/dist/cjs/StructuredText/__tests__/index.test.js +77 -67
- package/dist/cjs/StructuredText/__tests__/index.test.js.map +1 -1
- package/dist/cjs/StructuredText/index.js +76 -61
- package/dist/cjs/StructuredText/index.js.map +1 -1
- package/dist/cjs/useQuerySubscription/index.js +1 -1
- package/dist/cjs/useQuerySubscription/index.js.map +1 -1
- package/dist/esm/Image/__tests__/index.test.d.ts +1 -1
- package/dist/esm/Image/__tests__/index.test.js +1 -0
- package/dist/esm/Image/__tests__/index.test.js.map +1 -1
- package/dist/esm/Image/index.d.ts +0 -1
- package/dist/esm/Image/index.js +2 -2
- package/dist/esm/Image/index.js.map +1 -1
- package/dist/esm/Seo/__tests__/index.test.js +1 -6
- package/dist/esm/Seo/__tests__/index.test.js.map +1 -1
- package/dist/esm/Seo/remixUtils.d.ts +0 -18
- package/dist/esm/Seo/remixUtils.js +0 -8
- package/dist/esm/Seo/remixUtils.js.map +1 -1
- package/dist/esm/StructuredText/__tests__/index.test.js +81 -71
- package/dist/esm/StructuredText/__tests__/index.test.js.map +1 -1
- package/dist/esm/StructuredText/index.d.ts +12 -7
- package/dist/esm/StructuredText/index.js +78 -63
- package/dist/esm/StructuredText/index.js.map +1 -1
- package/dist/esm/useQuerySubscription/index.js +1 -1
- package/dist/esm/useQuerySubscription/index.js.map +1 -1
- package/dist/types/Image/__tests__/index.test.d.ts +1 -1
- package/dist/types/Image/index.d.ts +0 -1
- package/dist/types/Seo/remixUtils.d.ts +0 -18
- package/dist/types/StructuredText/index.d.ts +12 -7
- package/package.json +5 -5
|
@@ -9,67 +9,79 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { mount, shallow } from
|
|
13
|
-
import * as React from
|
|
14
|
-
import { StructuredText, RenderError,
|
|
15
|
-
import { isHeading } from
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
import { mount, shallow } from 'enzyme';
|
|
13
|
+
import * as React from 'react';
|
|
14
|
+
import { StructuredText, RenderError, renderNodeRule, } from '../index';
|
|
15
|
+
import { isHeading } from 'datocms-structured-text-utils';
|
|
16
|
+
import { renderMarkRule } from 'datocms-structured-text-generic-html-renderer';
|
|
17
|
+
describe('StructuredText', function () {
|
|
18
|
+
describe('with no value', function () {
|
|
19
|
+
it('renders null', function () {
|
|
19
20
|
var wrapper = mount(React.createElement(StructuredText, { data: null }));
|
|
20
21
|
expect(wrapper).toMatchSnapshot();
|
|
21
22
|
});
|
|
22
23
|
});
|
|
23
|
-
describe(
|
|
24
|
+
describe('simple dast /2', function () {
|
|
24
25
|
var structuredText = {
|
|
25
|
-
schema:
|
|
26
|
+
schema: 'dast',
|
|
26
27
|
document: {
|
|
27
|
-
type:
|
|
28
|
+
type: 'root',
|
|
28
29
|
children: [
|
|
29
30
|
{
|
|
30
|
-
type:
|
|
31
|
+
type: 'heading',
|
|
31
32
|
level: 1,
|
|
32
33
|
children: [
|
|
33
34
|
{
|
|
34
|
-
type:
|
|
35
|
-
value:
|
|
35
|
+
type: 'span',
|
|
36
|
+
value: 'This\nis a '
|
|
36
37
|
},
|
|
37
38
|
{
|
|
38
|
-
type:
|
|
39
|
-
marks: [
|
|
40
|
-
value:
|
|
39
|
+
type: 'span',
|
|
40
|
+
marks: ['strong'],
|
|
41
|
+
value: 'title'
|
|
41
42
|
},
|
|
42
43
|
]
|
|
43
44
|
},
|
|
44
45
|
]
|
|
45
46
|
}
|
|
46
47
|
};
|
|
47
|
-
describe(
|
|
48
|
-
it(
|
|
48
|
+
describe('with default rules', function () {
|
|
49
|
+
it('renders the document', function () {
|
|
49
50
|
var wrapper = mount(React.createElement(StructuredText, { data: structuredText }));
|
|
50
51
|
expect(wrapper).toMatchSnapshot();
|
|
51
52
|
});
|
|
52
53
|
});
|
|
54
|
+
describe('with custom mark rules', function () {
|
|
55
|
+
it('renders the document', function () {
|
|
56
|
+
var wrapper = mount(React.createElement(StructuredText, { data: structuredText, customMarkRules: [
|
|
57
|
+
renderMarkRule('strong', function (_a) {
|
|
58
|
+
var children = _a.children, key = _a.key;
|
|
59
|
+
return (React.createElement("b", { key: key }, children));
|
|
60
|
+
}),
|
|
61
|
+
] }));
|
|
62
|
+
expect(wrapper).toMatchSnapshot();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
53
65
|
});
|
|
54
|
-
describe(
|
|
66
|
+
describe('simple dast with no links/blocks', function () {
|
|
55
67
|
var structuredText = {
|
|
56
68
|
value: {
|
|
57
|
-
schema:
|
|
69
|
+
schema: 'dast',
|
|
58
70
|
document: {
|
|
59
|
-
type:
|
|
71
|
+
type: 'root',
|
|
60
72
|
children: [
|
|
61
73
|
{
|
|
62
|
-
type:
|
|
74
|
+
type: 'heading',
|
|
63
75
|
level: 1,
|
|
64
76
|
children: [
|
|
65
77
|
{
|
|
66
|
-
type:
|
|
67
|
-
value:
|
|
78
|
+
type: 'span',
|
|
79
|
+
value: 'This\nis a '
|
|
68
80
|
},
|
|
69
81
|
{
|
|
70
|
-
type:
|
|
71
|
-
marks: [
|
|
72
|
-
value:
|
|
82
|
+
type: 'span',
|
|
83
|
+
marks: ['strong'],
|
|
84
|
+
value: 'title'
|
|
73
85
|
},
|
|
74
86
|
]
|
|
75
87
|
},
|
|
@@ -77,18 +89,18 @@ describe("StructuredText", function () {
|
|
|
77
89
|
}
|
|
78
90
|
}
|
|
79
91
|
};
|
|
80
|
-
describe(
|
|
81
|
-
it(
|
|
92
|
+
describe('with default rules', function () {
|
|
93
|
+
it('renders the document', function () {
|
|
82
94
|
var wrapper = mount(React.createElement(StructuredText, { data: structuredText }));
|
|
83
95
|
expect(wrapper).toMatchSnapshot();
|
|
84
96
|
});
|
|
85
97
|
});
|
|
86
|
-
describe(
|
|
87
|
-
it(
|
|
98
|
+
describe('with custom rules', function () {
|
|
99
|
+
it('renders the document', function () {
|
|
88
100
|
var wrapper = mount(React.createElement(StructuredText, { data: structuredText, renderText: function (text, key) {
|
|
89
|
-
return (React.createElement(React.Fragment, { key: key }, text.replace(/This/,
|
|
90
|
-
},
|
|
91
|
-
|
|
101
|
+
return (React.createElement(React.Fragment, { key: key }, text.replace(/This/, 'That')));
|
|
102
|
+
}, customNodeRules: [
|
|
103
|
+
renderNodeRule(isHeading, function (_a) {
|
|
92
104
|
var renderNode = _a.adapter.renderNode, node = _a.node, children = _a.children, key = _a.key;
|
|
93
105
|
return renderNode("h" + (node.level + 1), { key: key }, children);
|
|
94
106
|
}),
|
|
@@ -97,70 +109,68 @@ describe("StructuredText", function () {
|
|
|
97
109
|
});
|
|
98
110
|
});
|
|
99
111
|
});
|
|
100
|
-
describe(
|
|
112
|
+
describe('with links/blocks', function () {
|
|
101
113
|
var structuredText = {
|
|
102
114
|
value: {
|
|
103
|
-
schema:
|
|
115
|
+
schema: 'dast',
|
|
104
116
|
document: {
|
|
105
|
-
type:
|
|
117
|
+
type: 'root',
|
|
106
118
|
children: [
|
|
107
119
|
{
|
|
108
|
-
type:
|
|
120
|
+
type: 'heading',
|
|
109
121
|
level: 1,
|
|
110
122
|
children: [
|
|
111
123
|
{
|
|
112
|
-
type:
|
|
113
|
-
value:
|
|
124
|
+
type: 'span',
|
|
125
|
+
value: 'This is a'
|
|
114
126
|
},
|
|
115
127
|
{
|
|
116
|
-
type:
|
|
117
|
-
marks: [
|
|
118
|
-
value:
|
|
128
|
+
type: 'span',
|
|
129
|
+
marks: ['highlight'],
|
|
130
|
+
value: 'title'
|
|
119
131
|
},
|
|
120
132
|
{
|
|
121
|
-
type:
|
|
122
|
-
item:
|
|
133
|
+
type: 'inlineItem',
|
|
134
|
+
item: '123'
|
|
123
135
|
},
|
|
124
136
|
{
|
|
125
|
-
type:
|
|
126
|
-
item:
|
|
127
|
-
meta: [
|
|
128
|
-
|
|
129
|
-
],
|
|
130
|
-
children: [{ type: "span", value: "here!" }]
|
|
137
|
+
type: 'itemLink',
|
|
138
|
+
item: '123',
|
|
139
|
+
meta: [{ id: 'target', value: '_blank' }],
|
|
140
|
+
children: [{ type: 'span', value: 'here!' }]
|
|
131
141
|
},
|
|
132
142
|
]
|
|
133
143
|
},
|
|
134
144
|
{
|
|
135
|
-
type:
|
|
136
|
-
item:
|
|
145
|
+
type: 'block',
|
|
146
|
+
item: '456'
|
|
137
147
|
},
|
|
138
148
|
]
|
|
139
149
|
}
|
|
140
150
|
},
|
|
141
151
|
blocks: [
|
|
142
152
|
{
|
|
143
|
-
id:
|
|
144
|
-
__typename:
|
|
145
|
-
quote:
|
|
146
|
-
author:
|
|
153
|
+
id: '456',
|
|
154
|
+
__typename: 'QuoteRecord',
|
|
155
|
+
quote: 'Foo bar.',
|
|
156
|
+
author: 'Mark Smith'
|
|
147
157
|
},
|
|
148
158
|
],
|
|
149
159
|
links: [
|
|
150
160
|
{
|
|
151
|
-
id:
|
|
152
|
-
__typename:
|
|
153
|
-
title:
|
|
154
|
-
slug:
|
|
161
|
+
id: '123',
|
|
162
|
+
__typename: 'DocPageRecord',
|
|
163
|
+
title: 'How to code',
|
|
164
|
+
slug: 'how-to-code'
|
|
155
165
|
},
|
|
156
166
|
]
|
|
157
167
|
};
|
|
158
|
-
describe(
|
|
159
|
-
it(
|
|
168
|
+
describe('with default rules', function () {
|
|
169
|
+
it('renders the document', function () {
|
|
160
170
|
var wrapper = mount(React.createElement(StructuredText, { data: structuredText, renderInlineRecord: function (_a) {
|
|
161
171
|
var record = _a.record;
|
|
162
172
|
switch (record.__typename) {
|
|
163
|
-
case
|
|
173
|
+
case 'DocPageRecord':
|
|
164
174
|
return React.createElement("a", { href: "/docs/" + record.slug }, record.title);
|
|
165
175
|
default:
|
|
166
176
|
return null;
|
|
@@ -168,15 +178,15 @@ describe("StructuredText", function () {
|
|
|
168
178
|
}, renderLinkToRecord: function (_a) {
|
|
169
179
|
var record = _a.record, children = _a.children, transformedMeta = _a.transformedMeta;
|
|
170
180
|
switch (record.__typename) {
|
|
171
|
-
case
|
|
172
|
-
return React.createElement("a", __assign({}, transformedMeta, { href: "/docs/" + record.slug }), children);
|
|
181
|
+
case 'DocPageRecord':
|
|
182
|
+
return (React.createElement("a", __assign({}, transformedMeta, { href: "/docs/" + record.slug }), children));
|
|
173
183
|
default:
|
|
174
184
|
return null;
|
|
175
185
|
}
|
|
176
186
|
}, renderBlock: function (_a) {
|
|
177
187
|
var record = _a.record;
|
|
178
188
|
switch (record.__typename) {
|
|
179
|
-
case
|
|
189
|
+
case 'QuoteRecord':
|
|
180
190
|
return (React.createElement("figure", null,
|
|
181
191
|
React.createElement("blockquote", null, record.quote),
|
|
182
192
|
React.createElement("figcaption", null, record.author)));
|
|
@@ -187,15 +197,15 @@ describe("StructuredText", function () {
|
|
|
187
197
|
expect(wrapper).toMatchSnapshot();
|
|
188
198
|
});
|
|
189
199
|
});
|
|
190
|
-
describe(
|
|
191
|
-
it(
|
|
200
|
+
describe('with missing renderInlineRecord prop', function () {
|
|
201
|
+
it('raises an error', function () {
|
|
192
202
|
expect(function () {
|
|
193
203
|
shallow(React.createElement(StructuredText, { data: structuredText }));
|
|
194
204
|
}).toThrow(RenderError);
|
|
195
205
|
});
|
|
196
206
|
});
|
|
197
|
-
describe(
|
|
198
|
-
it(
|
|
207
|
+
describe('with missing record', function () {
|
|
208
|
+
it('raises an error', function () {
|
|
199
209
|
expect(function () {
|
|
200
210
|
shallow(React.createElement(StructuredText, { data: __assign(__assign({}, structuredText), { links: [] }), renderInlineRecord: function () {
|
|
201
211
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/StructuredText/__tests__/index.test.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAU,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,cAAc,EAGd,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/StructuredText/__tests__/index.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Record as StructuredTextGraphQlResponseRecord, Document as StructuredTextDocument, RenderError, RenderResult, RenderRule, Node, StructuredText as StructuredTextGraphQlResponse } from
|
|
3
|
-
import { ReactElement } from
|
|
4
|
-
export {
|
|
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
|
|
31
|
-
|
|
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;
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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":"AAAA,OAAO,EACL,sBAAsB,EACtB,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/StructuredText/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -99,7 +99,7 @@ export function useQuerySubscription(options) {
|
|
|
99
99
|
unsubscribe();
|
|
100
100
|
}
|
|
101
101
|
};
|
|
102
|
-
},
|
|
102
|
+
}, [subscribeToQueryOptions]);
|
|
103
103
|
return { error: error, status: status, data: data || initialData };
|
|
104
104
|
}
|
|
105
105
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useQuerySubscription/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EACL,gBAAgB,GAKjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB9F,MAAM,UAAU,oBAAoB,CAGlC,OAA0D;IAClD,IAAA,OAAO,GAA4B,OAAO,QAAnC,EAAE,WAAW,GAAe,OAAO,YAAtB,EAAK,KAAK,UAAK,OAAO,EAA5C,0BAAkC,CAAF,CAAa;IAE7C,IAAA,KAAoB,QAAQ,CAA0B,IAAI,CAAC,EAA1D,KAAK,QAAA,EAAE,QAAQ,QAA2C,CAAC;IAC5D,IAAA,KAAkB,QAAQ,CAAqB,IAAI,CAAC,EAAnD,IAAI,QAAA,EAAE,OAAO,QAAsC,CAAC;IACrD,IAAA,KAAsB,QAAQ,CAClC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAClC,EAFM,MAAM,QAAA,EAAE,SAAS,QAEvB,CAAC;IAEF,IAAM,uBAAuB,GAAG,KAG/B,CAAC;IAEF,oBAAoB,CAAC;QACnB,IAAI,OAAO,KAAK,KAAK,EAAE;YACrB,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEpB,OAAO;gBACL,yCAAyC;YAC3C,CAAC,CAAC;SACH;QAED,IAAI,WAAiC,CAAC;QAEtC,SAAe,SAAS;;;;gCACR,qBAAM,gBAAgB,uBAC/B,uBAAuB,KAC1B,cAAc,EAAE,UAAC,MAAM;oCACrB,SAAS,CAAC,MAAM,CAAC,CAAC;gCACpB,CAAC,EACD,QAAQ,EAAE,UAAC,UAAU;oCACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;oCACf,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCACpC,CAAC,EACD,cAAc,EAAE,UAAC,SAAS;oCACxB,OAAO,CAAC,IAAI,CAAC,CAAC;oCACd,QAAQ,CAAC,SAAS,CAAC,CAAC;gCACtB,CAAC,IACD,EAAA;;4BAbF,WAAW,GAAG,SAaZ,CAAC;;;;;SACJ;QAED,SAAS,EAAE,CAAC;QAEZ,OAAO;YACL,IAAI,WAAW,EAAE;gBACf,WAAW,EAAE,CAAC;aACf;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useQuerySubscription/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EACL,gBAAgB,GAKjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB9F,MAAM,UAAU,oBAAoB,CAGlC,OAA0D;IAClD,IAAA,OAAO,GAA4B,OAAO,QAAnC,EAAE,WAAW,GAAe,OAAO,YAAtB,EAAK,KAAK,UAAK,OAAO,EAA5C,0BAAkC,CAAF,CAAa;IAE7C,IAAA,KAAoB,QAAQ,CAA0B,IAAI,CAAC,EAA1D,KAAK,QAAA,EAAE,QAAQ,QAA2C,CAAC;IAC5D,IAAA,KAAkB,QAAQ,CAAqB,IAAI,CAAC,EAAnD,IAAI,QAAA,EAAE,OAAO,QAAsC,CAAC;IACrD,IAAA,KAAsB,QAAQ,CAClC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAClC,EAFM,MAAM,QAAA,EAAE,SAAS,QAEvB,CAAC;IAEF,IAAM,uBAAuB,GAAG,KAG/B,CAAC;IAEF,oBAAoB,CAAC;QACnB,IAAI,OAAO,KAAK,KAAK,EAAE;YACrB,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEpB,OAAO;gBACL,yCAAyC;YAC3C,CAAC,CAAC;SACH;QAED,IAAI,WAAiC,CAAC;QAEtC,SAAe,SAAS;;;;gCACR,qBAAM,gBAAgB,uBAC/B,uBAAuB,KAC1B,cAAc,EAAE,UAAC,MAAM;oCACrB,SAAS,CAAC,MAAM,CAAC,CAAC;gCACpB,CAAC,EACD,QAAQ,EAAE,UAAC,UAAU;oCACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;oCACf,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCACpC,CAAC,EACD,cAAc,EAAE,UAAC,SAAS;oCACxB,OAAO,CAAC,IAAI,CAAC,CAAC;oCACd,QAAQ,CAAC,SAAS,CAAC,CAAC;gCACtB,CAAC,IACD,EAAA;;4BAbF,WAAW,GAAG,SAaZ,CAAC;;;;;SACJ;QAED,SAAS,EAAE,CAAC;QAEZ,OAAO;YACL,IAAI,WAAW,EAAE;gBACf,WAAW,EAAE,CAAC;aACf;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,OAAO,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,IAAI,EAAE,IAAI,IAAI,WAAW,EAAE,CAAC;AACtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import 'intersection-observer';
|
|
@@ -2,23 +2,5 @@ import { SeoOrFaviconTag } from './types';
|
|
|
2
2
|
interface RemixHtmlMetaDescriptor {
|
|
3
3
|
[name: string]: string | string[];
|
|
4
4
|
}
|
|
5
|
-
interface RemixHtmlLinkDescriptor {
|
|
6
|
-
href: string;
|
|
7
|
-
crossOrigin?: 'anonymous' | 'use-credentials';
|
|
8
|
-
rel: string;
|
|
9
|
-
media?: string;
|
|
10
|
-
integrity?: string;
|
|
11
|
-
hrefLang?: string;
|
|
12
|
-
type?: string;
|
|
13
|
-
referrerPolicy?: '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'same-origin' | 'origin' | 'strict-origin' | 'origin-when-cross-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
|
|
14
|
-
sizes?: string;
|
|
15
|
-
imagesrcset?: string;
|
|
16
|
-
imagesizes?: string;
|
|
17
|
-
as?: string;
|
|
18
|
-
color?: string;
|
|
19
|
-
disabled?: boolean;
|
|
20
|
-
title?: string;
|
|
21
|
-
}
|
|
22
5
|
export declare function toRemixMeta(metaTags: null | SeoOrFaviconTag[]): RemixHtmlMetaDescriptor;
|
|
23
|
-
export declare function toRemixLinks(metaTags: null | SeoOrFaviconTag[]): RemixHtmlLinkDescriptor[];
|
|
24
6
|
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Record as StructuredTextGraphQlResponseRecord, Document as StructuredTextDocument, RenderError, RenderResult, RenderRule, Node, StructuredText as StructuredTextGraphQlResponse } from
|
|
3
|
-
import { ReactElement } from
|
|
4
|
-
export {
|
|
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
|
|
31
|
-
|
|
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;
|