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.
- package/README.md +34 -6
- package/dist/cjs/Image/index.js +68 -74
- package/dist/cjs/Image/index.js.map +1 -1
- package/dist/cjs/Image/useInView.js +3 -14
- package/dist/cjs/Image/useInView.js.map +1 -1
- package/dist/cjs/Seo/index.js +1 -1
- package/dist/cjs/Seo/nextUtils.js +28 -49
- package/dist/cjs/Seo/nextUtils.js.map +1 -1
- package/dist/cjs/Seo/remixUtils.js +6 -18
- package/dist/cjs/Seo/remixUtils.js.map +1 -1
- package/dist/cjs/Seo/renderMetaTags.js +6 -18
- package/dist/cjs/Seo/renderMetaTags.js.map +1 -1
- package/dist/cjs/Seo/renderMetaTagsToString.js +7 -7
- package/dist/cjs/Seo/renderMetaTagsToString.js.map +1 -1
- package/dist/cjs/Seo/types.js +31 -51
- package/dist/cjs/Seo/types.js.map +1 -1
- package/dist/cjs/StructuredText/index.js +40 -52
- package/dist/cjs/StructuredText/index.js.map +1 -1
- package/dist/cjs/VideoPlayer/index.js +67 -0
- package/dist/cjs/VideoPlayer/index.js.map +1 -0
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/useQuerySubscription/index.js +25 -70
- package/dist/cjs/useQuerySubscription/index.js.map +1 -1
- package/dist/cjs/useSiteSearch/index.js +71 -123
- package/dist/cjs/useSiteSearch/index.js.map +1 -1
- package/dist/cjs/useVideoPlayer/index.js +31 -0
- package/dist/cjs/useVideoPlayer/index.js.map +1 -0
- package/dist/esm/Image/index.js +62 -68
- package/dist/esm/Image/index.js.map +1 -1
- package/dist/esm/Seo/nextUtils.js +26 -47
- package/dist/esm/Seo/nextUtils.js.map +1 -1
- package/dist/esm/Seo/remixUtils.js +5 -17
- package/dist/esm/Seo/remixUtils.js.map +1 -1
- package/dist/esm/Seo/renderMetaTags.js +4 -16
- package/dist/esm/Seo/renderMetaTags.js.map +1 -1
- package/dist/esm/Seo/renderMetaTagsToString.js +6 -6
- package/dist/esm/Seo/renderMetaTagsToString.js.map +1 -1
- package/dist/esm/Seo/types.js +30 -50
- package/dist/esm/Seo/types.js.map +1 -1
- package/dist/esm/StructuredText/index.js +33 -45
- package/dist/esm/StructuredText/index.js.map +1 -1
- package/dist/esm/VideoPlayer/index.js +38 -0
- package/dist/esm/VideoPlayer/index.js.map +1 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/useQuerySubscription/index.js +22 -67
- package/dist/esm/useQuerySubscription/index.js.map +1 -1
- package/dist/esm/useSiteSearch/index.js +65 -117
- package/dist/esm/useSiteSearch/index.js.map +1 -1
- package/dist/esm/useVideoPlayer/index.js +27 -0
- package/dist/esm/useVideoPlayer/index.js.map +1 -0
- package/dist/types/Seo/nextUtils.d.ts +1 -1
- package/dist/types/Seo/remixUtils.d.ts +1 -1
- package/dist/types/Seo/renderMetaTags.d.ts +1 -1
- package/dist/types/Seo/renderMetaTagsToString.d.ts +1 -1
- package/dist/types/StructuredText/index.d.ts +2 -2
- package/dist/types/VideoPlayer/index.d.ts +26 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/useVideoPlayer/index.d.ts +17 -0
- package/package.json +41 -51
- package/src/Image/__tests__/__snapshots__/index.test.tsx.snap +91 -91
- package/src/Image/__tests__/index.test.tsx +2 -2
- package/src/Image/index.tsx +11 -9
- package/src/Seo/__tests__/__snapshots__/index.test.tsx.snap +53 -53
- package/src/Seo/__tests__/index.test.tsx +1 -1
- package/src/Seo/nextUtils.ts +1 -1
- package/src/Seo/remixUtils.ts +1 -1
- package/src/Seo/renderMetaTags.tsx +1 -1
- package/src/Seo/renderMetaTagsToString.tsx +1 -1
- package/src/StructuredText/__tests__/__snapshots__/index.test.tsx.snap +58 -58
- package/src/StructuredText/__tests__/index.test.tsx +5 -5
- package/src/StructuredText/index.tsx +10 -10
- package/src/VideoPlayer/index.tsx +107 -0
- package/src/{setupTests.ts → __tests__/setup.ts} +4 -1
- package/src/index.ts +4 -1
- package/src/useQuerySubscription/index.ts +6 -6
- package/src/useVideoPlayer/__tests__/index.test.tsx +98 -0
- package/src/useVideoPlayer/index.ts +68 -0
- package/dist/cjs/Image/__tests__/index.test.js +0 -99
- package/dist/cjs/Image/__tests__/index.test.js.map +0 -1
- package/dist/cjs/Seo/__tests__/index.test.js +0 -330
- package/dist/cjs/Seo/__tests__/index.test.js.map +0 -1
- package/dist/cjs/StructuredText/__tests__/index.test.js +0 -243
- package/dist/cjs/StructuredText/__tests__/index.test.js.map +0 -1
- package/dist/cjs/setupTests.js +0 -11
- package/dist/cjs/setupTests.js.map +0 -1
- package/dist/esm/Image/__tests__/index.test.d.ts +0 -1
- package/dist/esm/Image/__tests__/index.test.js +0 -74
- package/dist/esm/Image/__tests__/index.test.js.map +0 -1
- package/dist/esm/Image/index.d.ts +0 -93
- package/dist/esm/Image/useInView.d.ts +0 -1
- package/dist/esm/Seo/__tests__/index.test.d.ts +0 -1
- package/dist/esm/Seo/__tests__/index.test.js +0 -305
- package/dist/esm/Seo/__tests__/index.test.js.map +0 -1
- package/dist/esm/Seo/index.d.ts +0 -5
- package/dist/esm/Seo/nextUtils.d.ts +0 -48
- package/dist/esm/Seo/remixUtils.d.ts +0 -6
- package/dist/esm/Seo/renderMetaTags.d.ts +0 -3
- package/dist/esm/Seo/renderMetaTagsToString.d.ts +0 -2
- package/dist/esm/Seo/types.d.ts +0 -55
- package/dist/esm/StructuredText/__tests__/index.test.d.ts +0 -1
- package/dist/esm/StructuredText/__tests__/index.test.js +0 -218
- package/dist/esm/StructuredText/__tests__/index.test.js.map +0 -1
- package/dist/esm/StructuredText/index.d.ts +0 -52
- package/dist/esm/index.d.ts +0 -5
- package/dist/esm/setupTests.d.ts +0 -1
- package/dist/esm/setupTests.js +0 -6
- package/dist/esm/setupTests.js.map +0 -1
- package/dist/esm/useQuerySubscription/index.d.ts +0 -20
- package/dist/esm/useSiteSearch/index.d.ts +0 -83
- package/dist/types/Image/__tests__/index.test.d.ts +0 -1
- package/dist/types/Seo/__tests__/index.test.d.ts +0 -1
- package/dist/types/StructuredText/__tests__/index.test.d.ts +0 -1
- package/dist/types/setupTests.d.ts +0 -1
|
@@ -1,91 +1,70 @@
|
|
|
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
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
|
-
if (ar || !(i in from)) {
|
|
15
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
16
|
-
ar[i] = from[i];
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
|
-
};
|
|
21
1
|
import { isAppleTouchIconAttributes, isFaviconAttributes, isOgMetaAttributes, isRegularMetaAttributes, isSeoLinkTag, isSeoMetaTag, isSeoOrFaviconTag, } from './types.js';
|
|
22
|
-
|
|
23
|
-
return string.replace(/_([a-z])/g, function (_, letter) { return letter.toUpperCase(); });
|
|
24
|
-
};
|
|
2
|
+
const camelize = (string) => string.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
25
3
|
export function toNextMetadata(data) {
|
|
26
|
-
|
|
27
|
-
data.forEach(
|
|
28
|
-
|
|
29
|
-
var tag = datum.tag, attributes = datum.attributes, content = datum.content;
|
|
4
|
+
const metadata = {};
|
|
5
|
+
data.forEach((datum) => {
|
|
6
|
+
const { tag, attributes, content } = datum;
|
|
30
7
|
if (tag === 'title') {
|
|
31
8
|
metadata['title'] = content;
|
|
32
9
|
}
|
|
33
10
|
if (isSeoOrFaviconTag(datum) && isSeoMetaTag(datum)) {
|
|
34
11
|
if (isOgMetaAttributes(datum.attributes)) {
|
|
35
|
-
|
|
12
|
+
const { property, content } = datum.attributes;
|
|
36
13
|
if (property.match(/^og:/)) {
|
|
37
|
-
|
|
14
|
+
const [_, ...parts] = property.split(':');
|
|
38
15
|
if ((parts === null || parts === void 0 ? void 0 : parts.length) === 1) {
|
|
39
16
|
if (parts[0] === 'image') {
|
|
40
17
|
metadata['openGraph'] || (metadata['openGraph'] = {});
|
|
41
|
-
metadata['openGraph']['images'] =
|
|
18
|
+
metadata['openGraph']['images'] = Object.assign(Object.assign({}, metadata['openGraph']['images']), { url: content });
|
|
42
19
|
}
|
|
43
20
|
else {
|
|
44
|
-
metadata['openGraph'] =
|
|
21
|
+
metadata['openGraph'] = Object.assign(Object.assign({}, metadata['openGraph']), { [camelize(parts[0])]: content });
|
|
45
22
|
}
|
|
46
23
|
}
|
|
47
24
|
if ((parts === null || parts === void 0 ? void 0 : parts.length) === 2) {
|
|
48
25
|
if (parts[0] === 'image' && parts[1] === 'width') {
|
|
49
26
|
metadata['openGraph'] || (metadata['openGraph'] = {});
|
|
50
|
-
metadata['openGraph']['images'] =
|
|
27
|
+
metadata['openGraph']['images'] = Object.assign(Object.assign({}, metadata['openGraph']['images']), { width: content });
|
|
51
28
|
}
|
|
52
29
|
else if (parts[0] === 'image' && parts[1] === 'height') {
|
|
53
30
|
metadata['openGraph'] || (metadata['openGraph'] = {});
|
|
54
|
-
metadata['openGraph']['images'] =
|
|
31
|
+
metadata['openGraph']['images'] = Object.assign(Object.assign({}, metadata['openGraph']['images']), { height: content });
|
|
55
32
|
}
|
|
56
33
|
}
|
|
57
34
|
}
|
|
58
35
|
}
|
|
59
36
|
if (isRegularMetaAttributes(datum.attributes)) {
|
|
60
|
-
|
|
61
|
-
if (
|
|
37
|
+
const { name, content } = datum.attributes;
|
|
38
|
+
if (name.match(/^msapplication-/)) {
|
|
62
39
|
// Ignore: already deprecated at the release of Next 13.
|
|
63
40
|
}
|
|
64
|
-
else if (
|
|
65
|
-
|
|
41
|
+
else if (name.match(/^twitter:/)) {
|
|
42
|
+
const [_, ...parts] = name.split(':');
|
|
66
43
|
if ((parts === null || parts === void 0 ? void 0 : parts.length) === 1) {
|
|
67
|
-
metadata['twitter'] =
|
|
44
|
+
metadata['twitter'] = Object.assign(Object.assign({}, metadata['twitter']), { [camelize(parts[0])]: content });
|
|
68
45
|
}
|
|
69
46
|
}
|
|
70
47
|
else {
|
|
71
|
-
metadata[
|
|
48
|
+
metadata[name] = content;
|
|
72
49
|
}
|
|
73
50
|
}
|
|
74
51
|
}
|
|
75
52
|
if (isSeoLinkTag(datum)) {
|
|
76
53
|
if (isAppleTouchIconAttributes(datum.attributes)) {
|
|
77
|
-
|
|
54
|
+
const { sizes, href } = datum.attributes;
|
|
78
55
|
metadata['icons'] || (metadata['icons'] = {});
|
|
79
|
-
metadata['icons']['apple'] =
|
|
80
|
-
|
|
81
|
-
|
|
56
|
+
metadata['icons']['apple'] = [
|
|
57
|
+
...(metadata['icons']['apple'] || []),
|
|
58
|
+
{ url: href, sizes },
|
|
59
|
+
];
|
|
82
60
|
}
|
|
83
61
|
if (isFaviconAttributes(datum.attributes)) {
|
|
84
|
-
|
|
62
|
+
const { sizes, type, rel, href } = datum.attributes;
|
|
85
63
|
metadata['icons'] || (metadata['icons'] = {});
|
|
86
|
-
metadata['icons']['icon'] =
|
|
87
|
-
|
|
88
|
-
|
|
64
|
+
metadata['icons']['icon'] = [
|
|
65
|
+
...(metadata['icons']['icon'] || []),
|
|
66
|
+
{ url: href, sizes, type, rel },
|
|
67
|
+
];
|
|
89
68
|
}
|
|
90
69
|
}
|
|
91
70
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextUtils.js","sourceRoot":"","sources":["../../../src/Seo/nextUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nextUtils.js","sourceRoot":"","sources":["../../../src/Seo/nextUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,10 @@
|
|
|
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
1
|
export function toRemixMeta(metaTags) {
|
|
13
2
|
if (!metaTags) {
|
|
14
3
|
return {};
|
|
15
4
|
}
|
|
16
|
-
return metaTags.reduce(
|
|
17
|
-
var _a;
|
|
5
|
+
return metaTags.reduce((acc, tag) => {
|
|
18
6
|
if (tag.tag === 'title') {
|
|
19
|
-
return tag.content ?
|
|
7
|
+
return tag.content ? Object.assign(Object.assign({}, acc), { title: tag.content }) : acc;
|
|
20
8
|
}
|
|
21
9
|
if (tag.tag === 'link') {
|
|
22
10
|
return acc;
|
|
@@ -24,9 +12,9 @@ export function toRemixMeta(metaTags) {
|
|
|
24
12
|
if (!tag.attributes) {
|
|
25
13
|
return acc;
|
|
26
14
|
}
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
return Object.assign(Object.assign({}, acc), { ['property' in tag.attributes
|
|
16
|
+
? tag.attributes.property
|
|
17
|
+
: tag.attributes.name]: tag.attributes.content });
|
|
30
18
|
}, {});
|
|
31
19
|
}
|
|
32
20
|
//# sourceMappingURL=remixUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remixUtils.js","sourceRoot":"","sources":["../../../src/Seo/remixUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"remixUtils.js","sourceRoot":"","sources":["../../../src/Seo/remixUtils.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,WAAW,CACzB,QAAuD;IAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAQ,QAA+B,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1D,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,iCAAM,GAAG,KAAE,KAAK,EAAE,GAAG,CAAC,OAAO,IAAG,CAAC,CAAC,GAAG,CAAC;QAC5D,CAAC;QAED,IAAI,GAAG,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,uCACK,GAAG,KACN,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU;gBAC3B,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ;gBACzB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,IAChD;IACJ,CAAC,EAAE,EAA6B,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1,19 +1,7 @@
|
|
|
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
1
|
import React from 'react';
|
|
13
2
|
export function renderMetaTags(data) {
|
|
14
|
-
return data.map(
|
|
15
|
-
|
|
16
|
-
var key = [tag];
|
|
3
|
+
return data.map(({ tag, attributes, content }) => {
|
|
4
|
+
let key = [tag];
|
|
17
5
|
if (attributes && 'property' in attributes) {
|
|
18
6
|
key.push(attributes.property);
|
|
19
7
|
}
|
|
@@ -26,8 +14,8 @@ export function renderMetaTags(data) {
|
|
|
26
14
|
if (attributes && 'sizes' in attributes) {
|
|
27
15
|
key.push(attributes.sizes);
|
|
28
16
|
}
|
|
29
|
-
|
|
30
|
-
return (React.createElement(Tag,
|
|
17
|
+
const Tag = tag;
|
|
18
|
+
return (React.createElement(Tag, Object.assign({ key: key.join('-') }, attributes), content));
|
|
31
19
|
});
|
|
32
20
|
}
|
|
33
21
|
//# sourceMappingURL=renderMetaTags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderMetaTags.js","sourceRoot":"","sources":["../../../src/Seo/renderMetaTags.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderMetaTags.js","sourceRoot":"","sources":["../../../src/Seo/renderMetaTags.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,UAAU,cAAc,CAC5B,IAA4C;IAE5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC;QAE1B,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,UAAU,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,UAAU,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,GAAG,GAAG,GAAgC,CAAC;QAE7C,OAAO,CACL,oBAAC,GAAG,kBAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAM,UAAU,GACpC,OAAO,CACJ,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export function renderMetaTagsToString(data) {
|
|
2
2
|
return data
|
|
3
|
-
.map(
|
|
3
|
+
.map((tag) => {
|
|
4
4
|
if (tag.tag === 'title') {
|
|
5
|
-
return
|
|
5
|
+
return `<title>${tag.content}</title>`;
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
for (
|
|
7
|
+
const serializedAttrs = [];
|
|
8
|
+
for (const key in tag.attributes) {
|
|
9
9
|
if (Object.prototype.hasOwnProperty.call(tag.attributes, key)) {
|
|
10
|
-
serializedAttrs.push(
|
|
10
|
+
serializedAttrs.push(`${key}="${tag.attributes[key]}"`);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
return
|
|
13
|
+
return `<${tag.tag} ${serializedAttrs.join(' ')} />`;
|
|
14
14
|
})
|
|
15
15
|
.join('\n');
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderMetaTagsToString.js","sourceRoot":"","sources":["../../../src/Seo/renderMetaTagsToString.tsx"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CACpC,IAA4C;IAE5C,OAAO,IAAI;SACR,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"renderMetaTagsToString.js","sourceRoot":"","sources":["../../../src/Seo/renderMetaTagsToString.tsx"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CACpC,IAA4C;IAE5C,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC;QACzC,CAAC;QAED,MAAM,eAAe,GAAG,EAAE,CAAC;QAE3B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC9D,eAAe,CAAC,IAAI,CAAC,GAAG,GAAG,KAAM,GAAG,CAAC,UAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACvD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
package/dist/esm/Seo/types.js
CHANGED
|
@@ -1,51 +1,31 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
tag.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
32
|
-
export var isFaviconTag = function (tag) {
|
|
33
|
-
return isSeoMetaTag(tag) || isSeoLinkTag(tag);
|
|
34
|
-
};
|
|
35
|
-
export var isSeoOrFaviconTag = function (seoOrFaviconTag) {
|
|
36
|
-
return isSeoTag(seoOrFaviconTag) || isFaviconTag(seoOrFaviconTag);
|
|
37
|
-
};
|
|
38
|
-
export var isRegularMetaAttributes = function (attributes) {
|
|
39
|
-
return 'name' in attributes && 'content' in attributes;
|
|
40
|
-
};
|
|
41
|
-
export var isOgMetaAttributes = function (attributes) {
|
|
42
|
-
return 'property' in attributes && 'content' in attributes;
|
|
43
|
-
};
|
|
44
|
-
export var isSeoMetaTag = function (seoMetaTag) {
|
|
45
|
-
return 'tag' in seoMetaTag &&
|
|
46
|
-
seoMetaTag.tag === 'meta' &&
|
|
47
|
-
!seoMetaTag.content &&
|
|
48
|
-
(isRegularMetaAttributes(seoMetaTag.attributes) ||
|
|
49
|
-
isOgMetaAttributes(seoMetaTag.attributes));
|
|
50
|
-
};
|
|
1
|
+
export const isSeoTitleTag = (tag) => 'tag' in tag && tag.tag === 'title' && !tag.attributes;
|
|
2
|
+
export const isSeoTag = (tag) => isSeoTitleTag(tag) || isSeoMetaTag(tag);
|
|
3
|
+
export const isFaviconAttributes = (tag) => 'sizes' in tag &&
|
|
4
|
+
typeof tag.sizes === 'string' &&
|
|
5
|
+
'type' in tag &&
|
|
6
|
+
typeof tag.type === 'string' &&
|
|
7
|
+
'rel' in tag &&
|
|
8
|
+
typeof tag.rel === 'string' &&
|
|
9
|
+
'href' in tag &&
|
|
10
|
+
typeof tag.href === 'string';
|
|
11
|
+
export const isAppleTouchIconAttributes = (tag) => 'sizes' in tag &&
|
|
12
|
+
typeof tag.sizes === 'string' &&
|
|
13
|
+
'rel' in tag &&
|
|
14
|
+
tag.rel === 'apple-touch-icon' &&
|
|
15
|
+
'href' in tag &&
|
|
16
|
+
typeof tag.href === 'string';
|
|
17
|
+
export const isSeoLinkTag = (tag) => 'tag' in tag &&
|
|
18
|
+
tag.tag === 'link' &&
|
|
19
|
+
!tag.content &&
|
|
20
|
+
(isFaviconAttributes(tag.attributes) ||
|
|
21
|
+
isAppleTouchIconAttributes(tag.attributes));
|
|
22
|
+
export const isFaviconTag = (tag) => isSeoMetaTag(tag) || isSeoLinkTag(tag);
|
|
23
|
+
export const isSeoOrFaviconTag = (seoOrFaviconTag) => isSeoTag(seoOrFaviconTag) || isFaviconTag(seoOrFaviconTag);
|
|
24
|
+
export const isRegularMetaAttributes = (attributes) => 'name' in attributes && 'content' in attributes;
|
|
25
|
+
export const isOgMetaAttributes = (attributes) => 'property' in attributes && 'content' in attributes;
|
|
26
|
+
export const isSeoMetaTag = (seoMetaTag) => 'tag' in seoMetaTag &&
|
|
27
|
+
seoMetaTag.tag === 'meta' &&
|
|
28
|
+
!seoMetaTag.content &&
|
|
29
|
+
(isRegularMetaAttributes(seoMetaTag.attributes) ||
|
|
30
|
+
isOgMetaAttributes(seoMetaTag.attributes));
|
|
51
31
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Seo/types.ts"],"names":[],"mappings":"AAsDA,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Seo/types.ts"],"names":[],"mappings":"AAsDA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAsB,EAAE,CAC5D,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AAEzD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAiB,EAAE,CAClD,aAAa,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAQ,EAA4B,EAAE,CACxE,OAAO,IAAI,GAAG;IACd,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;IAC7B,MAAM,IAAI,GAAG;IACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;IAC5B,KAAK,IAAI,GAAG;IACZ,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;IAC3B,MAAM,IAAI,GAAG;IACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,GAAQ,EACyB,EAAE,CACnC,OAAO,IAAI,GAAG;IACd,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;IAC7B,KAAK,IAAI,GAAG;IACZ,GAAG,CAAC,GAAG,KAAK,kBAAkB;IAC9B,MAAM,IAAI,GAAG;IACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAqB,EAAE,CAC1D,KAAK,IAAI,GAAG;IACZ,GAAG,CAAC,GAAG,KAAK,MAAM;IAClB,CAAC,GAAG,CAAC,OAAO;IACZ,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC;QAClC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAqB,EAAE,CAC1D,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,eAAmD,EACf,EAAE,CACtC,QAAQ,CAAC,eAAe,CAAC,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,UAAoD,EACf,EAAE,CACvC,MAAM,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,CAAC;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,UAAoD,EACpB,EAAE,CAClC,UAAU,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAA2B,EACD,EAAE,CAC5B,KAAK,IAAI,UAAU;IACnB,UAAU,CAAC,GAAG,KAAK,MAAM;IACzB,CAAC,UAAU,CAAC,OAAO;IACnB,CAAC,uBAAuB,CAAC,UAAU,CAAC,UAAU,CAAC;QAC7C,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC"}
|
|
@@ -1,92 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (ar || !(i in from)) {
|
|
4
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
-
ar[i] = from[i];
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
-
};
|
|
10
|
-
import { defaultMetaTransformer, render, renderNodeRule, renderMarkRule, } from 'datocms-structured-text-generic-html-renderer';
|
|
11
|
-
import { isBlock, isInlineItem, isItemLink, RenderError, isStructuredText, } from 'datocms-structured-text-utils';
|
|
1
|
+
import { defaultMetaTransformer, render, renderMarkRule, renderNodeRule, } from 'datocms-structured-text-generic-html-renderer';
|
|
2
|
+
import { RenderError, isBlock, isInlineItem, isItemLink, isStructuredText, } from 'datocms-structured-text-utils';
|
|
12
3
|
import React, { cloneElement, isValidElement } from 'react';
|
|
13
4
|
export { renderNodeRule, renderMarkRule, RenderError };
|
|
14
5
|
// deprecated
|
|
15
6
|
export { renderNodeRule as renderRule };
|
|
16
|
-
export
|
|
7
|
+
export const defaultAdapter = {
|
|
17
8
|
renderNode: React.createElement,
|
|
18
|
-
renderFragment:
|
|
19
|
-
renderText:
|
|
9
|
+
renderFragment: (children, key) => React.createElement(React.Fragment, { key: key }, children),
|
|
10
|
+
renderText: (text, key) => text,
|
|
20
11
|
};
|
|
21
12
|
export function appendKeyToValidElement(element, key) {
|
|
22
13
|
if (isValidElement(element) && element.key === null) {
|
|
23
|
-
return cloneElement(element, { key
|
|
14
|
+
return cloneElement(element, { key });
|
|
24
15
|
}
|
|
25
16
|
return element;
|
|
26
17
|
}
|
|
27
|
-
export function StructuredText(
|
|
28
|
-
|
|
29
|
-
var result = render(data, {
|
|
18
|
+
export function StructuredText({ data, renderInlineRecord, renderLinkToRecord, renderBlock, renderText, renderNode, renderFragment, customMarkRules, customRules, customNodeRules, metaTransformer, }) {
|
|
19
|
+
const result = render(data, {
|
|
30
20
|
adapter: {
|
|
31
21
|
renderText: renderText || defaultAdapter.renderText,
|
|
32
22
|
renderNode: renderNode || defaultAdapter.renderNode,
|
|
33
|
-
renderFragment: renderFragment || defaultAdapter.renderFragment
|
|
23
|
+
renderFragment: renderFragment || defaultAdapter.renderFragment,
|
|
34
24
|
},
|
|
35
|
-
metaTransformer
|
|
36
|
-
customMarkRules
|
|
37
|
-
customNodeRules:
|
|
38
|
-
renderNodeRule(isInlineItem,
|
|
39
|
-
var node = _a.node, key = _a.key;
|
|
25
|
+
metaTransformer,
|
|
26
|
+
customMarkRules,
|
|
27
|
+
customNodeRules: [
|
|
28
|
+
renderNodeRule(isInlineItem, ({ node, key }) => {
|
|
40
29
|
if (!renderInlineRecord) {
|
|
41
|
-
throw new RenderError(
|
|
30
|
+
throw new RenderError(`The Structured Text document contains an 'inlineItem' node, but no 'renderInlineRecord' prop is specified!`, node);
|
|
42
31
|
}
|
|
43
32
|
if (!(isStructuredText(data) && data.links)) {
|
|
44
|
-
throw new RenderError(
|
|
33
|
+
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);
|
|
45
34
|
}
|
|
46
|
-
|
|
35
|
+
const item = data.links.find((item) => item.id === node.item);
|
|
47
36
|
if (!item) {
|
|
48
|
-
throw new RenderError(
|
|
37
|
+
throw new RenderError(`The Structured Text document contains an 'inlineItem' node, but cannot find a record with ID ${node.item} inside data.links!`, node);
|
|
49
38
|
}
|
|
50
39
|
return appendKeyToValidElement(renderInlineRecord({ record: item }), key);
|
|
51
40
|
}),
|
|
52
|
-
renderNodeRule(isItemLink,
|
|
53
|
-
var node = _a.node, key = _a.key, children = _a.children;
|
|
41
|
+
renderNodeRule(isItemLink, ({ node, key, children }) => {
|
|
54
42
|
if (!renderLinkToRecord) {
|
|
55
|
-
throw new RenderError(
|
|
43
|
+
throw new RenderError(`The Structured Text document contains an 'itemLink' node, but no 'renderLinkToRecord' prop is specified!`, node);
|
|
56
44
|
}
|
|
57
45
|
if (!(isStructuredText(data) && data.links)) {
|
|
58
|
-
throw new RenderError(
|
|
46
|
+
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);
|
|
59
47
|
}
|
|
60
|
-
|
|
48
|
+
const item = data.links.find((item) => item.id === node.item);
|
|
61
49
|
if (!item) {
|
|
62
|
-
throw new RenderError(
|
|
50
|
+
throw new RenderError(`The Structured Text document contains an 'itemLink' node, but cannot find a record with ID ${node.item} inside data.links!`, node);
|
|
63
51
|
}
|
|
64
52
|
return appendKeyToValidElement(renderLinkToRecord({
|
|
65
53
|
record: item,
|
|
66
54
|
children: children,
|
|
67
55
|
transformedMeta: node.meta
|
|
68
56
|
? (metaTransformer || defaultMetaTransformer)({
|
|
69
|
-
node
|
|
70
|
-
meta: node.meta
|
|
57
|
+
node,
|
|
58
|
+
meta: node.meta,
|
|
71
59
|
})
|
|
72
|
-
: null
|
|
60
|
+
: null,
|
|
73
61
|
}), key);
|
|
74
62
|
}),
|
|
75
|
-
renderNodeRule(isBlock,
|
|
76
|
-
var node = _a.node, key = _a.key;
|
|
63
|
+
renderNodeRule(isBlock, ({ node, key }) => {
|
|
77
64
|
if (!renderBlock) {
|
|
78
|
-
throw new RenderError(
|
|
65
|
+
throw new RenderError(`The Structured Text document contains a 'block' node, but no 'renderBlock' prop is specified!`, node);
|
|
79
66
|
}
|
|
80
67
|
if (!(isStructuredText(data) && data.blocks)) {
|
|
81
|
-
throw new RenderError(
|
|
68
|
+
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);
|
|
82
69
|
}
|
|
83
|
-
|
|
70
|
+
const item = data.blocks.find((item) => item.id === node.item);
|
|
84
71
|
if (!item) {
|
|
85
|
-
throw new RenderError(
|
|
72
|
+
throw new RenderError(`The Structured Text document contains a 'block' node, but cannot find a record with ID ${node.item} inside data.blocks!`, node);
|
|
86
73
|
}
|
|
87
74
|
return appendKeyToValidElement(renderBlock({ record: item }), key);
|
|
88
|
-
})
|
|
89
|
-
|
|
75
|
+
}),
|
|
76
|
+
...(customNodeRules || customRules || []),
|
|
77
|
+
],
|
|
90
78
|
});
|
|
91
79
|
if (typeof result === 'string') {
|
|
92
80
|
return React.createElement(React.Fragment, null, result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/StructuredText/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/StructuredText/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
// This file defines a React component that easily displays a video player using
|
|
14
|
+
// data stored on DatoCMS and retrieved via DatoCMS GraphQL API. The component
|
|
15
|
+
// is a thin wrapper around the [React component made available by MUX][1].
|
|
16
|
+
//
|
|
17
|
+
// The React player written by MUX is an adapter for a web component.
|
|
18
|
+
//
|
|
19
|
+
// [1]: https://www.mux.com/player
|
|
20
|
+
import React, { forwardRef } from 'react';
|
|
21
|
+
// React MUX player is made available in two flavours: eager and lazy loaded. We
|
|
22
|
+
// choose to use the lazy version to avoid loading the web component uselessly.
|
|
23
|
+
// MUX player lazy version loads internally the eager version using
|
|
24
|
+
// `React.lazy()`.
|
|
25
|
+
import MuxPlayer from '@mux/mux-player-react/lazy';
|
|
26
|
+
// The core of this component is the `useVideoPlayer` hook: it takes
|
|
27
|
+
// data from DatoCMS GraphQL API and returns props as expected by the
|
|
28
|
+
// `<MuxPlayer />` component.
|
|
29
|
+
import { useVideoPlayer } from '../useVideoPlayer/index.js';
|
|
30
|
+
export const VideoPlayer = forwardRef((props, ref) => {
|
|
31
|
+
const { data = {}, disableCookies = true, preload = "metadata", style: styleFromProps } = props, rest = __rest(props, ["data", "disableCookies", "preload", "style"]);
|
|
32
|
+
const { title, playbackId, style: styleFromHook, placeholder, } = useVideoPlayer({
|
|
33
|
+
data,
|
|
34
|
+
});
|
|
35
|
+
const style = Object.assign(Object.assign({}, styleFromHook), styleFromProps);
|
|
36
|
+
return (React.createElement(MuxPlayer, Object.assign({ ref: ref, streamType: "on-demand", preload: preload, title: title, disableCookies: disableCookies, playbackId: playbackId, style: style, placeholder: placeholder }, rest)));
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/VideoPlayer/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,gFAAgF;AAChF,8EAA8E;AAC9E,2EAA2E;AAC3E,EAAE;AACF,qEAAqE;AACrE,EAAE;AACF,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAO1C,gFAAgF;AAChF,+EAA+E;AAC/E,mEAAmE;AACnE,kBAAkB;AAElB,OAAO,SAAS,MAAM,4BAA4B,CAAC;AAEnD,oEAAoE;AACpE,qEAAqE;AACrE,6BAA6B;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAqC5D,MAAM,CAAC,MAAM,WAAW,GAEY,UAAU,CAG5C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,EACJ,IAAI,GAAG,EAAE,EACT,cAAc,GAAG,IAAI,EACrB,OAAO,GAAG,UAAU,EACpB,KAAK,EAAE,cAAc,KAEnB,KAAK,EADJ,IAAI,UACL,KAAK,EANH,8CAML,CAAQ,CAAC;IAEV,MAAM,EACJ,KAAK,EACL,UAAU,EACV,KAAK,EAAE,aAAa,EACpB,WAAW,GACZ,GAAG,cAAc,CAAC;QACjB,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,KAAK,mCACN,aAAa,GACb,cAAc,CAClB,CAAC;IAEF,OAAO,CACL,oBAAC,SAAS,kBACR,GAAG,EAAE,GAAG,EACR,UAAU,EAAC,WAAW,EACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,IACpB,IAAI,EACR,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './Image/index.js';
|
|
2
2
|
export * from './Seo/index.js';
|
|
3
|
-
export * from './
|
|
3
|
+
export * from './VideoPlayer/index.js';
|
|
4
4
|
export * from './StructuredText/index.js';
|
|
5
|
+
export * from './useQuerySubscription/index.js';
|
|
5
6
|
export * from './useSiteSearch/index.js';
|
|
7
|
+
export * from './useVideoPlayer/index.js';
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC"}
|