react-datocms 4.1.3 → 4.2.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 (115) hide show
  1. package/README.md +34 -6
  2. package/dist/cjs/Image/index.js +68 -74
  3. package/dist/cjs/Image/index.js.map +1 -1
  4. package/dist/cjs/Image/useInView.js +3 -14
  5. package/dist/cjs/Image/useInView.js.map +1 -1
  6. package/dist/cjs/Seo/index.js +1 -1
  7. package/dist/cjs/Seo/nextUtils.js +28 -49
  8. package/dist/cjs/Seo/nextUtils.js.map +1 -1
  9. package/dist/cjs/Seo/remixUtils.js +6 -18
  10. package/dist/cjs/Seo/remixUtils.js.map +1 -1
  11. package/dist/cjs/Seo/renderMetaTags.js +6 -18
  12. package/dist/cjs/Seo/renderMetaTags.js.map +1 -1
  13. package/dist/cjs/Seo/renderMetaTagsToString.js +7 -7
  14. package/dist/cjs/Seo/renderMetaTagsToString.js.map +1 -1
  15. package/dist/cjs/Seo/types.js +31 -51
  16. package/dist/cjs/Seo/types.js.map +1 -1
  17. package/dist/cjs/StructuredText/index.js +40 -52
  18. package/dist/cjs/StructuredText/index.js.map +1 -1
  19. package/dist/cjs/VideoPlayer/index.js +67 -0
  20. package/dist/cjs/VideoPlayer/index.js.map +1 -0
  21. package/dist/cjs/index.js +4 -2
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/useQuerySubscription/index.js +25 -70
  24. package/dist/cjs/useQuerySubscription/index.js.map +1 -1
  25. package/dist/cjs/useSiteSearch/index.js +71 -123
  26. package/dist/cjs/useSiteSearch/index.js.map +1 -1
  27. package/dist/cjs/useVideoPlayer/index.js +31 -0
  28. package/dist/cjs/useVideoPlayer/index.js.map +1 -0
  29. package/dist/esm/Image/index.js +62 -68
  30. package/dist/esm/Image/index.js.map +1 -1
  31. package/dist/esm/Seo/nextUtils.js +26 -47
  32. package/dist/esm/Seo/nextUtils.js.map +1 -1
  33. package/dist/esm/Seo/remixUtils.js +5 -17
  34. package/dist/esm/Seo/remixUtils.js.map +1 -1
  35. package/dist/esm/Seo/renderMetaTags.js +4 -16
  36. package/dist/esm/Seo/renderMetaTags.js.map +1 -1
  37. package/dist/esm/Seo/renderMetaTagsToString.js +6 -6
  38. package/dist/esm/Seo/renderMetaTagsToString.js.map +1 -1
  39. package/dist/esm/Seo/types.js +30 -50
  40. package/dist/esm/Seo/types.js.map +1 -1
  41. package/dist/esm/StructuredText/index.js +33 -45
  42. package/dist/esm/StructuredText/index.js.map +1 -1
  43. package/dist/esm/VideoPlayer/index.js +38 -0
  44. package/dist/esm/VideoPlayer/index.js.map +1 -0
  45. package/dist/esm/index.js +3 -1
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/useQuerySubscription/index.js +22 -67
  48. package/dist/esm/useQuerySubscription/index.js.map +1 -1
  49. package/dist/esm/useSiteSearch/index.js +65 -117
  50. package/dist/esm/useSiteSearch/index.js.map +1 -1
  51. package/dist/esm/useVideoPlayer/index.js +27 -0
  52. package/dist/esm/useVideoPlayer/index.js.map +1 -0
  53. package/dist/types/Seo/nextUtils.d.ts +1 -1
  54. package/dist/types/Seo/remixUtils.d.ts +1 -1
  55. package/dist/types/Seo/renderMetaTags.d.ts +1 -1
  56. package/dist/types/Seo/renderMetaTagsToString.d.ts +1 -1
  57. package/dist/types/StructuredText/index.d.ts +2 -2
  58. package/dist/types/VideoPlayer/index.d.ts +26 -0
  59. package/dist/types/index.d.ts +3 -1
  60. package/dist/types/useVideoPlayer/index.d.ts +17 -0
  61. package/package.json +41 -51
  62. package/src/Image/__tests__/__snapshots__/index.test.tsx.snap +91 -91
  63. package/src/Image/__tests__/index.test.tsx +2 -2
  64. package/src/Image/index.tsx +11 -9
  65. package/src/Seo/__tests__/__snapshots__/index.test.tsx.snap +53 -53
  66. package/src/Seo/__tests__/index.test.tsx +1 -1
  67. package/src/Seo/nextUtils.ts +1 -1
  68. package/src/Seo/remixUtils.ts +1 -1
  69. package/src/Seo/renderMetaTags.tsx +1 -1
  70. package/src/Seo/renderMetaTagsToString.tsx +1 -1
  71. package/src/StructuredText/__tests__/__snapshots__/index.test.tsx.snap +58 -58
  72. package/src/StructuredText/__tests__/index.test.tsx +5 -5
  73. package/src/StructuredText/index.tsx +10 -10
  74. package/src/VideoPlayer/index.tsx +107 -0
  75. package/src/{setupTests.ts → __tests__/setup.ts} +4 -1
  76. package/src/index.ts +4 -1
  77. package/src/useQuerySubscription/index.ts +6 -6
  78. package/src/useVideoPlayer/__tests__/index.test.tsx +98 -0
  79. package/src/useVideoPlayer/index.ts +68 -0
  80. package/dist/cjs/Image/__tests__/index.test.js +0 -99
  81. package/dist/cjs/Image/__tests__/index.test.js.map +0 -1
  82. package/dist/cjs/Seo/__tests__/index.test.js +0 -330
  83. package/dist/cjs/Seo/__tests__/index.test.js.map +0 -1
  84. package/dist/cjs/StructuredText/__tests__/index.test.js +0 -243
  85. package/dist/cjs/StructuredText/__tests__/index.test.js.map +0 -1
  86. package/dist/cjs/setupTests.js +0 -11
  87. package/dist/cjs/setupTests.js.map +0 -1
  88. package/dist/esm/Image/__tests__/index.test.d.ts +0 -1
  89. package/dist/esm/Image/__tests__/index.test.js +0 -74
  90. package/dist/esm/Image/__tests__/index.test.js.map +0 -1
  91. package/dist/esm/Image/index.d.ts +0 -93
  92. package/dist/esm/Image/useInView.d.ts +0 -1
  93. package/dist/esm/Seo/__tests__/index.test.d.ts +0 -1
  94. package/dist/esm/Seo/__tests__/index.test.js +0 -305
  95. package/dist/esm/Seo/__tests__/index.test.js.map +0 -1
  96. package/dist/esm/Seo/index.d.ts +0 -5
  97. package/dist/esm/Seo/nextUtils.d.ts +0 -48
  98. package/dist/esm/Seo/remixUtils.d.ts +0 -6
  99. package/dist/esm/Seo/renderMetaTags.d.ts +0 -3
  100. package/dist/esm/Seo/renderMetaTagsToString.d.ts +0 -2
  101. package/dist/esm/Seo/types.d.ts +0 -55
  102. package/dist/esm/StructuredText/__tests__/index.test.d.ts +0 -1
  103. package/dist/esm/StructuredText/__tests__/index.test.js +0 -218
  104. package/dist/esm/StructuredText/__tests__/index.test.js.map +0 -1
  105. package/dist/esm/StructuredText/index.d.ts +0 -52
  106. package/dist/esm/index.d.ts +0 -5
  107. package/dist/esm/setupTests.d.ts +0 -1
  108. package/dist/esm/setupTests.js +0 -6
  109. package/dist/esm/setupTests.js.map +0 -1
  110. package/dist/esm/useQuerySubscription/index.d.ts +0 -20
  111. package/dist/esm/useSiteSearch/index.d.ts +0 -83
  112. package/dist/types/Image/__tests__/index.test.d.ts +0 -1
  113. package/dist/types/Seo/__tests__/index.test.d.ts +0 -1
  114. package/dist/types/StructuredText/__tests__/index.test.d.ts +0 -1
  115. package/dist/types/setupTests.d.ts +0 -1
@@ -1,218 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { mount, shallow } from 'enzyme';
13
- import * as React from 'react';
14
- import { StructuredText, RenderError, renderNodeRule, } from '../index.js';
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 () {
20
- var wrapper = mount(React.createElement(StructuredText, { data: null }));
21
- expect(wrapper).toMatchSnapshot();
22
- });
23
- });
24
- describe('simple dast /2', function () {
25
- var structuredText = {
26
- schema: 'dast',
27
- document: {
28
- type: 'root',
29
- children: [
30
- {
31
- type: 'heading',
32
- level: 1,
33
- children: [
34
- {
35
- type: 'span',
36
- value: 'This\nis a '
37
- },
38
- {
39
- type: 'span',
40
- marks: ['strong'],
41
- value: 'title'
42
- },
43
- ]
44
- },
45
- ]
46
- }
47
- };
48
- describe('with default rules', function () {
49
- it('renders the document', function () {
50
- var wrapper = mount(React.createElement(StructuredText, { data: structuredText }));
51
- expect(wrapper).toMatchSnapshot();
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
- });
65
- });
66
- describe('simple dast with no links/blocks', function () {
67
- var structuredText = {
68
- value: {
69
- schema: 'dast',
70
- document: {
71
- type: 'root',
72
- children: [
73
- {
74
- type: 'heading',
75
- level: 1,
76
- children: [
77
- {
78
- type: 'span',
79
- value: 'This\nis a '
80
- },
81
- {
82
- type: 'span',
83
- marks: ['strong'],
84
- value: 'title'
85
- },
86
- ]
87
- },
88
- ]
89
- }
90
- }
91
- };
92
- describe('with default rules', function () {
93
- it('renders the document', function () {
94
- var wrapper = mount(React.createElement(StructuredText, { data: structuredText }));
95
- expect(wrapper).toMatchSnapshot();
96
- });
97
- });
98
- describe('with custom rules', function () {
99
- it('renders the document', function () {
100
- var wrapper = mount(React.createElement(StructuredText, { data: structuredText, renderText: function (text, key) {
101
- return (React.createElement(React.Fragment, { key: key }, text.replace(/This/, 'That')));
102
- }, customNodeRules: [
103
- renderNodeRule(isHeading, function (_a) {
104
- var renderNode = _a.adapter.renderNode, node = _a.node, children = _a.children, key = _a.key;
105
- return renderNode("h".concat(node.level + 1), { key: key }, children);
106
- }),
107
- ] }));
108
- expect(wrapper).toMatchSnapshot();
109
- });
110
- });
111
- });
112
- describe('with links/blocks', function () {
113
- var structuredText = {
114
- value: {
115
- schema: 'dast',
116
- document: {
117
- type: 'root',
118
- children: [
119
- {
120
- type: 'heading',
121
- level: 1,
122
- children: [
123
- {
124
- type: 'span',
125
- value: 'This is a'
126
- },
127
- {
128
- type: 'span',
129
- marks: ['highlight'],
130
- value: 'title'
131
- },
132
- {
133
- type: 'inlineItem',
134
- item: '123'
135
- },
136
- {
137
- type: 'itemLink',
138
- item: '123',
139
- meta: [{ id: 'target', value: '_blank' }],
140
- children: [{ type: 'span', value: 'here!' }]
141
- },
142
- ]
143
- },
144
- {
145
- type: 'block',
146
- item: '456'
147
- },
148
- ]
149
- }
150
- },
151
- blocks: [
152
- {
153
- id: '456',
154
- __typename: 'QuoteRecord',
155
- quote: 'Foo bar.',
156
- author: 'Mark Smith'
157
- },
158
- ],
159
- links: [
160
- {
161
- id: '123',
162
- __typename: 'DocPageRecord',
163
- title: 'How to code',
164
- slug: 'how-to-code'
165
- },
166
- ]
167
- };
168
- describe('with default rules', function () {
169
- it('renders the document', function () {
170
- var wrapper = mount(React.createElement(StructuredText, { data: structuredText, renderInlineRecord: function (_a) {
171
- var record = _a.record;
172
- switch (record.__typename) {
173
- case 'DocPageRecord':
174
- return React.createElement("a", { href: "/docs/".concat(record.slug) }, record.title);
175
- default:
176
- return null;
177
- }
178
- }, renderLinkToRecord: function (_a) {
179
- var record = _a.record, children = _a.children, transformedMeta = _a.transformedMeta;
180
- switch (record.__typename) {
181
- case 'DocPageRecord':
182
- return (React.createElement("a", __assign({}, transformedMeta, { href: "/docs/".concat(record.slug) }), children));
183
- default:
184
- return null;
185
- }
186
- }, renderBlock: function (_a) {
187
- var record = _a.record;
188
- switch (record.__typename) {
189
- case 'QuoteRecord':
190
- return (React.createElement("figure", null,
191
- React.createElement("blockquote", null, record.quote),
192
- React.createElement("figcaption", null, record.author)));
193
- default:
194
- return null;
195
- }
196
- } }));
197
- expect(wrapper).toMatchSnapshot();
198
- });
199
- });
200
- describe('with missing renderInlineRecord prop', function () {
201
- it('raises an error', function () {
202
- expect(function () {
203
- shallow(React.createElement(StructuredText, { data: structuredText }));
204
- }).toThrow(RenderError);
205
- });
206
- });
207
- describe('with missing record', function () {
208
- it('raises an error', function () {
209
- expect(function () {
210
- shallow(React.createElement(StructuredText, { data: __assign(__assign({}, structuredText), { links: [] }), renderInlineRecord: function () {
211
- return null;
212
- } }));
213
- }).toThrow(RenderError);
214
- });
215
- });
216
- });
217
- });
218
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/StructuredText/__tests__/index.test.tsx"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
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 };
6
- export type { StructuredTextGraphQlResponse, StructuredTextDocument, StructuredTextGraphQlResponseRecord, };
7
- type AdapterReturn = ReactElement | string | null;
8
- export declare const defaultAdapter: {
9
- renderNode: (...args: any) => AdapterReturn;
10
- renderFragment: (children: ReactElement | null[], key: string) => AdapterReturn;
11
- renderText: (text: string, key: string) => AdapterReturn;
12
- };
13
- export declare function appendKeyToValidElement(element: ReactElement | null, key: string): ReactElement | null;
14
- type H = typeof defaultAdapter.renderNode;
15
- type T = typeof defaultAdapter.renderText;
16
- type F = typeof defaultAdapter.renderFragment;
17
- export type RenderInlineRecordContext<R extends StructuredTextGraphQlResponseRecord> = {
18
- record: R;
19
- };
20
- export type RenderRecordLinkContext<R extends StructuredTextGraphQlResponseRecord> = {
21
- record: R;
22
- children: RenderResult<H, T, F>;
23
- transformedMeta: TransformedMeta;
24
- };
25
- export type RenderBlockContext<R extends StructuredTextGraphQlResponseRecord> = {
26
- record: R;
27
- };
28
- export type StructuredTextPropTypes<R1 extends StructuredTextGraphQlResponseRecord, R2 extends StructuredTextGraphQlResponseRecord = R1> = {
29
- /** The actual field value you get from DatoCMS **/
30
- data: StructuredTextGraphQlResponse<R1, R2> | StructuredTextDocument | Node | null | undefined;
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>[];
35
- /** Fuction that converts an 'inlineItem' node into React **/
36
- renderInlineRecord?: (context: RenderInlineRecordContext<R2>) => ReactElement | null;
37
- /** Fuction that converts an 'itemLink' node into React **/
38
- renderLinkToRecord?: (context: RenderRecordLinkContext<R2>) => ReactElement | null;
39
- /** Fuction that converts a 'block' node into React **/
40
- renderBlock?: (context: RenderBlockContext<R1>) => ReactElement | null;
41
- /** Function that converts 'link' and 'itemLink' `meta` into HTML props */
42
- metaTransformer?: TransformMetaFn;
43
- /** Fuction that converts a simple string text into React **/
44
- renderText?: T;
45
- /** React.createElement-like function to use to convert a node into React **/
46
- renderNode?: H;
47
- /** Function to use to generate a React.Fragment **/
48
- renderFragment?: F;
49
- /** @deprecated use customNodeRules **/
50
- customRules?: RenderRule<H, T, F>[];
51
- };
52
- export declare function StructuredText<R1 extends StructuredTextGraphQlResponseRecord, R2 extends StructuredTextGraphQlResponseRecord = R1>({ data, renderInlineRecord, renderLinkToRecord, renderBlock, renderText, renderNode, renderFragment, customMarkRules, customRules, customNodeRules, metaTransformer, }: StructuredTextPropTypes<R1, R2>): ReactElement | null;
@@ -1,5 +0,0 @@
1
- export * from './Image/index.js';
2
- export * from './Seo/index.js';
3
- export * from './useQuerySubscription/index.js';
4
- export * from './StructuredText/index.js';
5
- export * from './useSiteSearch/index.js';
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +0,0 @@
1
- import { configure } from 'enzyme';
2
- import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
3
- configure({
4
- adapter: new Adapter()
5
- });
6
- //# sourceMappingURL=setupTests.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setupTests.js","sourceRoot":"","sources":["../../src/setupTests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,OAAO,MAAM,oCAAoC,CAAC;AAEzD,SAAS,CAAC;IACR,OAAO,EAAE,IAAI,OAAO,EAAE;CACvB,CAAC,CAAC"}
@@ -1,20 +0,0 @@
1
- import { ChannelErrorData, ConnectionStatus, Options } from 'datocms-listen';
2
- export type SubscribeToQueryOptions<QueryResult, QueryVariables> = Omit<Options<QueryResult, QueryVariables>, 'onStatusChange' | 'onUpdate' | 'onChannelError'>;
3
- export type EnabledQueryListenerOptions<QueryResult, QueryVariables> = {
4
- /** Whether the subscription has to be performed or not */
5
- enabled?: true;
6
- /** The initial data to use while the initial request is being performed */
7
- initialData?: QueryResult;
8
- } & SubscribeToQueryOptions<QueryResult, QueryVariables>;
9
- export type DisabledQueryListenerOptions<QueryResult, QueryVariables> = {
10
- /** Whether the subscription has to be performed or not */
11
- enabled: false;
12
- /** The initial data to use while the initial request is being performed */
13
- initialData?: QueryResult;
14
- } & Partial<SubscribeToQueryOptions<QueryResult, QueryVariables>>;
15
- export type QueryListenerOptions<QueryResult, QueryVariables> = EnabledQueryListenerOptions<QueryResult, QueryVariables> | DisabledQueryListenerOptions<QueryResult, QueryVariables>;
16
- export declare function useQuerySubscription<QueryResult = any, QueryVariables = Record<string, any>>(options: QueryListenerOptions<QueryResult, QueryVariables>): {
17
- error: ChannelErrorData | null;
18
- status: ConnectionStatus;
19
- data: QueryResult | undefined;
20
- };
@@ -1,83 +0,0 @@
1
- import React from 'react';
2
- type SearchResultInstancesHrefSchema = {
3
- page?: {
4
- offset?: number;
5
- limit?: number;
6
- [k: string]: unknown;
7
- };
8
- filter: {
9
- fuzzy?: boolean;
10
- query: string;
11
- build_trigger_id?: string;
12
- locale?: string;
13
- [k: string]: unknown;
14
- };
15
- [k: string]: unknown;
16
- };
17
- type SearchResultInstancesTargetSchema = {
18
- data: RawSearchResult[];
19
- meta: {
20
- total_count: number;
21
- };
22
- };
23
- export type RawSearchResult = {
24
- type: 'search_result';
25
- id: string;
26
- attributes: {
27
- title: string;
28
- body_excerpt: string;
29
- url: string;
30
- score: number;
31
- highlight: {
32
- title?: string[] | null;
33
- body?: string[] | null;
34
- };
35
- };
36
- };
37
- declare class GenericClient {
38
- config: {
39
- apiToken: string | null;
40
- };
41
- searchResults: {
42
- rawList(queryParams: SearchResultInstancesHrefSchema): Promise<SearchResultInstancesTargetSchema>;
43
- };
44
- }
45
- type Highlighter = (match: string, key: string, context: 'title' | 'bodyExcerpt') => React.ReactNode;
46
- export type UseSiteSearchConfig<Client extends GenericClient> = {
47
- client: Client;
48
- buildTriggerId: string;
49
- fuzzySearch?: boolean;
50
- resultsPerPage?: number;
51
- highlightMatch?: Highlighter;
52
- initialState?: {
53
- locale?: string;
54
- page?: number;
55
- query?: string;
56
- };
57
- };
58
- type SearchResult = {
59
- id: string;
60
- title: React.ReactNode;
61
- bodyExcerpt: React.ReactNode;
62
- url: string;
63
- raw: RawSearchResult;
64
- };
65
- export type UseSiteSearchData = {
66
- pageResults: SearchResult[];
67
- totalResults: number;
68
- totalPages: number;
69
- };
70
- export type UseSiteSearchResult = {
71
- state: {
72
- query: string;
73
- setQuery: (newQuery: string) => void;
74
- locale: string | undefined;
75
- setLocale: (newLocale: string) => void;
76
- page: number;
77
- setPage: (newPage: number) => void;
78
- };
79
- data?: UseSiteSearchData;
80
- error?: string;
81
- };
82
- export declare function useSiteSearch<Client extends GenericClient>(config: UseSiteSearchConfig<Client>): UseSiteSearchResult;
83
- export {};
@@ -1 +0,0 @@
1
- import 'intersection-observer';
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};