react-datocms 5.0.3 → 6.0.1
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 +4 -13
- package/dist/cjs/Image/index.js +39 -138
- package/dist/cjs/Image/index.js.map +1 -1
- package/dist/cjs/Image/utils.js +52 -0
- package/dist/cjs/Image/utils.js.map +1 -0
- package/dist/cjs/SRCImage/index.js +44 -0
- package/dist/cjs/SRCImage/index.js.map +1 -0
- package/dist/cjs/SRCImage/utils.js +82 -0
- package/dist/cjs/SRCImage/utils.js.map +1 -0
- package/dist/cjs/Seo/nextUtils.js +15 -15
- package/dist/cjs/Seo/nextUtils.js.map +1 -1
- package/dist/cjs/Seo/renderMetaTags.js +1 -1
- package/dist/cjs/Seo/renderMetaTags.js.map +1 -1
- package/dist/cjs/StructuredText/index.js.map +1 -1
- package/dist/cjs/VideoPlayer/index.js +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/useSiteSearch/index.js +9 -31
- package/dist/cjs/useSiteSearch/index.js.map +1 -1
- package/dist/cjs/useVideoPlayer/index.js.map +1 -1
- package/dist/esm/Image/index.js +31 -110
- package/dist/esm/Image/index.js.map +1 -1
- package/dist/esm/Image/utils.js +46 -0
- package/dist/esm/Image/utils.js.map +1 -0
- package/dist/esm/SRCImage/index.js +37 -0
- package/dist/esm/SRCImage/index.js.map +1 -0
- package/dist/esm/SRCImage/utils.js +52 -0
- package/dist/esm/SRCImage/utils.js.map +1 -0
- package/dist/esm/Seo/nextUtils.js +15 -15
- package/dist/esm/Seo/nextUtils.js.map +1 -1
- package/dist/esm/Seo/renderMetaTags.js +1 -1
- package/dist/esm/Seo/renderMetaTags.js.map +1 -1
- package/dist/esm/StructuredText/index.js.map +1 -1
- package/dist/esm/VideoPlayer/index.js +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/useSiteSearch/index.js +2 -1
- package/dist/esm/useSiteSearch/index.js.map +1 -1
- package/dist/esm/useVideoPlayer/index.js.map +1 -1
- package/dist/types/Image/index.d.ts +3 -4
- package/dist/types/Image/utils.d.ts +7 -0
- package/dist/types/SRCImage/index.d.ts +33 -0
- package/dist/types/SRCImage/utils.d.ts +6 -0
- 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 +3 -3
- package/dist/types/VideoPlayer/index.d.ts +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/useQuerySubscription/index.d.ts +1 -1
- package/dist/types/useVideoPlayer/index.d.ts +2 -2
- package/package.json +3 -4
- package/src/Image/__tests__/__snapshots__/index.test.tsx.snap +387 -60
- package/src/Image/__tests__/index.test.tsx +55 -8
- package/src/Image/index.tsx +65 -177
- package/src/Image/utils.ts +58 -0
- package/src/SRCImage/__tests__/__snapshots__/index.test.tsx.snap +274 -0
- package/src/SRCImage/__tests__/index.test.tsx +91 -0
- package/src/SRCImage/index.tsx +99 -0
- package/src/SRCImage/utils.tsx +95 -0
- package/src/Seo/__tests__/index.test.tsx +1 -1
- package/src/Seo/nextUtils.ts +20 -20
- package/src/Seo/remixUtils.ts +1 -1
- package/src/Seo/renderMetaTags.tsx +2 -2
- package/src/Seo/renderMetaTagsToString.tsx +1 -1
- package/src/StructuredText/__tests__/index.test.tsx +2 -2
- package/src/StructuredText/index.tsx +10 -10
- package/src/VideoPlayer/index.tsx +2 -2
- package/src/index.ts +2 -1
- package/src/useQuerySubscription/index.ts +4 -4
- package/src/useSiteSearch/index.tsx +29 -28
- package/src/useVideoPlayer/index.ts +3 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/StructuredText/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iHAQuD;AAgB9B,+FAlBvB,8DAAc,OAkBuB;AAA9B,+FAjBP,8DAAc,OAiBO;AAGI,2FApBzB,8DAAc,OAoBqB;AAlBrC,iFAYuC;AAGE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/StructuredText/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -57,7 +57,7 @@ const lazy_1 = __importDefault(require("@mux/mux-player-react/lazy"));
|
|
|
57
57
|
// `<MuxPlayer />` component.
|
|
58
58
|
const index_js_1 = require("../useVideoPlayer/index.js");
|
|
59
59
|
exports.VideoPlayer = (0, react_1.forwardRef)((props, ref) => {
|
|
60
|
-
const { data = {}, disableCookies = true, preload =
|
|
60
|
+
const { data = {}, disableCookies = true, preload = 'metadata', style: styleFromProps } = props, rest = __rest(props, ["data", "disableCookies", "preload", "style"]);
|
|
61
61
|
const { title, playbackId, style: styleFromHook, placeholder, } = (0, index_js_1.useVideoPlayer)({
|
|
62
62
|
data,
|
|
63
63
|
});
|
package/dist/cjs/index.js
CHANGED
|
@@ -15,9 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./Image/index.js"), exports);
|
|
18
|
+
__exportStar(require("./SRCImage/index.js"), exports);
|
|
18
19
|
__exportStar(require("./Seo/index.js"), exports);
|
|
19
|
-
__exportStar(require("./VideoPlayer/index.js"), exports);
|
|
20
20
|
__exportStar(require("./StructuredText/index.js"), exports);
|
|
21
|
+
__exportStar(require("./VideoPlayer/index.js"), exports);
|
|
21
22
|
__exportStar(require("./useQuerySubscription/index.js"), exports);
|
|
22
23
|
__exportStar(require("./useSiteSearch/index.js"), exports);
|
|
23
24
|
__exportStar(require("./useVideoPlayer/index.js"), exports);
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,iDAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,sDAAoC;AACpC,iDAA+B;AAC/B,4DAA0C;AAC1C,yDAAuC;AAEvC,kEAAgD;AAChD,2DAAyC;AACzC,4DAA0C"}
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
-
if (mod && mod.__esModule) return mod;
|
|
21
|
-
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
-
__setModuleDefault(result, mod);
|
|
24
|
-
return result;
|
|
25
|
-
};
|
|
26
3
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
4
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
28
5
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -37,7 +14,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
14
|
};
|
|
38
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
16
|
exports.useSiteSearch = void 0;
|
|
40
|
-
const react_1 =
|
|
17
|
+
const react_1 = __importDefault(require("react"));
|
|
18
|
+
const react_2 = require("react");
|
|
41
19
|
const react_string_replace_1 = __importDefault(require("react-string-replace"));
|
|
42
20
|
const defaultHighlighter = (text, key) => (react_1.default.createElement("mark", { key: key }, text));
|
|
43
21
|
function MatchHighlighter({ children, highlighter, context, }) {
|
|
@@ -45,15 +23,15 @@ function MatchHighlighter({ children, highlighter, context, }) {
|
|
|
45
23
|
}
|
|
46
24
|
function useSiteSearch(config) {
|
|
47
25
|
var _a, _b, _c;
|
|
48
|
-
const [state, setState] = (0,
|
|
26
|
+
const [state, setState] = (0, react_2.useState)({
|
|
49
27
|
query: ((_a = config.initialState) === null || _a === void 0 ? void 0 : _a.query) || '',
|
|
50
28
|
page: ((_b = config.initialState) === null || _b === void 0 ? void 0 : _b.page) || 0,
|
|
51
29
|
locale: (_c = config.initialState) === null || _c === void 0 ? void 0 : _c.locale,
|
|
52
30
|
});
|
|
53
|
-
const [error, setError] = (0,
|
|
54
|
-
const [response, setResponse] = (0,
|
|
31
|
+
const [error, setError] = (0, react_2.useState)();
|
|
32
|
+
const [response, setResponse] = (0, react_2.useState)();
|
|
55
33
|
const resultsPerPage = config.resultsPerPage || 8;
|
|
56
|
-
(0,
|
|
34
|
+
(0, react_2.useEffect)(() => {
|
|
57
35
|
let isCancelled = false;
|
|
58
36
|
const run = () => __awaiter(this, void 0, void 0, function* () {
|
|
59
37
|
try {
|
|
@@ -105,13 +83,13 @@ function useSiteSearch(config) {
|
|
|
105
83
|
config.fuzzySearch,
|
|
106
84
|
config.client.config.apiToken,
|
|
107
85
|
]);
|
|
108
|
-
const publicSetQuery = (0,
|
|
86
|
+
const publicSetQuery = (0, react_2.useCallback)((newQuery) => {
|
|
109
87
|
setState((oldState) => (Object.assign(Object.assign({}, oldState), { query: newQuery, page: 0 })));
|
|
110
88
|
}, [setState]);
|
|
111
|
-
const publicSetPage = (0,
|
|
89
|
+
const publicSetPage = (0, react_2.useCallback)((newPage) => {
|
|
112
90
|
setState((oldState) => (Object.assign(Object.assign({}, oldState), { page: newPage })));
|
|
113
91
|
}, [setState]);
|
|
114
|
-
const publicSetLocale = (0,
|
|
92
|
+
const publicSetLocale = (0, react_2.useCallback)((newLocale) => {
|
|
115
93
|
setState((oldState) => (Object.assign(Object.assign({}, oldState), { locale: newLocale, page: 0 })));
|
|
116
94
|
}, [setState]);
|
|
117
95
|
const highlighter = config.highlightMatch || defaultHighlighter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useSiteSearch/index.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useSiteSearch/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useVideoPlayer/index.ts"],"names":[],"mappings":";;;AAOA,MAAM,aAAa,GAAG,CAAC,KAAgC,EAAE,EAAE;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,aAA+B,EAC/B,UAA4B,EAC5B,EAAE;IACF,IAAI,CAAC,CAAC,aAAa,IAAI,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAErD,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,IAAI,UAAU,EAAE,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useVideoPlayer/index.ts"],"names":[],"mappings":";;;AAOA,MAAM,aAAa,GAAG,CAAC,KAAgC,EAAE,EAAE;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,aAA+B,EAC/B,UAA4B,EAC5B,EAAE;IACF,IAAI,CAAC,CAAC,aAAa,IAAI,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAErD,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,IAAI,UAAU,EAAE,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAE,MAAwB,EAAE,EAAE;IAC1E,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,OAAO;QACL,KAAK,EAAE;YACL,WAAW,EAAE,GAAG,KAAK,MAAM,MAAM,EAAE;SACpC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,WAA6B,EAAE,EAAE;IAC5D,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC,CAAC;AAkBK,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,GACe,EAAqB,EAAE;IAC1C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,GACpE,IAAI,IAAI,EAAE,CAAC;IAEb,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAElC,mEACK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAC5B,CAAC,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,GACrD,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,GACpC,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAC3C;AACJ,CAAC,CAAC;AAdW,QAAA,cAAc,kBAczB"}
|
package/dist/esm/Image/index.js
CHANGED
|
@@ -1,27 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
import
|
|
2
|
+
// biome-ignore lint/style/useImportType: wrong warning
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { forwardRef, useRef } from 'react';
|
|
5
|
+
import { buildRegularSource, buildWebpSource, priorityProp, } from '../SRCImage/utils.js';
|
|
4
6
|
import { useInView } from './useInView.js';
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
: !!window.IntersectionObserver;
|
|
9
|
-
function fetchPriorityProp(fetchPriority) {
|
|
10
|
-
const [majorStr, minorStr] = version.split('.');
|
|
11
|
-
const major = parseInt(majorStr, 10);
|
|
12
|
-
const minor = parseInt(minorStr, 10);
|
|
13
|
-
if (major > 18 || (major === 18 && minor >= 3)) {
|
|
14
|
-
// In React 18.3.0 or newer, we must use camelCase
|
|
15
|
-
// prop to avoid "Warning: Invalid DOM property".
|
|
16
|
-
// See https://github.com/facebook/react/pull/25927
|
|
17
|
-
return { fetchPriority };
|
|
18
|
-
}
|
|
19
|
-
// In React 18.2.0 or older, we must use lowercase prop
|
|
20
|
-
// to avoid "Warning: Invalid DOM property".
|
|
21
|
-
return { fetchpriority: fetchPriority };
|
|
22
|
-
}
|
|
23
|
-
const imageAddStrategy = ({ lazyLoad, inView, loaded }) => {
|
|
24
|
-
if (!lazyLoad) {
|
|
7
|
+
import { absolutePositioning, isIntersectionObserverAvailable, isSsr, universalBtoa, useImageLoad, useMergedRef, } from './utils.js';
|
|
8
|
+
const imageAddStrategy = ({ priority, inView, loaded }) => {
|
|
9
|
+
if (priority) {
|
|
25
10
|
return true;
|
|
26
11
|
}
|
|
27
12
|
if (isSsr) {
|
|
@@ -32,8 +17,8 @@ const imageAddStrategy = ({ lazyLoad, inView, loaded }) => {
|
|
|
32
17
|
}
|
|
33
18
|
return true;
|
|
34
19
|
};
|
|
35
|
-
const imageShowStrategy = ({
|
|
36
|
-
if (
|
|
20
|
+
const imageShowStrategy = ({ priority, loaded }) => {
|
|
21
|
+
if (priority) {
|
|
37
22
|
return true;
|
|
38
23
|
}
|
|
39
24
|
if (isSsr) {
|
|
@@ -44,99 +29,35 @@ const imageShowStrategy = ({ lazyLoad, loaded }) => {
|
|
|
44
29
|
}
|
|
45
30
|
return true;
|
|
46
31
|
};
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
if (!(src && width)) {
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
|
-
return candidateMultipliers
|
|
53
|
-
.map((multiplier) => {
|
|
54
|
-
const url = new URL(src, bogusBaseUrl);
|
|
55
|
-
if (multiplier !== 1) {
|
|
56
|
-
url.searchParams.set('dpr', `${multiplier}`);
|
|
57
|
-
const maxH = url.searchParams.get('max-h');
|
|
58
|
-
const maxW = url.searchParams.get('max-w');
|
|
59
|
-
if (maxH) {
|
|
60
|
-
url.searchParams.set('max-h', `${Math.floor(parseInt(maxH) * multiplier)}`);
|
|
61
|
-
}
|
|
62
|
-
if (maxW) {
|
|
63
|
-
url.searchParams.set('max-w', `${Math.floor(parseInt(maxW) * multiplier)}`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
const finalWidth = Math.floor(width * multiplier);
|
|
67
|
-
if (finalWidth < 50) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
return `${url.toString().replace(bogusBaseUrl, '/')} ${finalWidth}w`;
|
|
71
|
-
})
|
|
72
|
-
.filter(Boolean)
|
|
73
|
-
.join(',');
|
|
74
|
-
};
|
|
75
|
-
export const Image = forwardRef(({ className, fadeInDuration = 500, intersectionTreshold, intersectionThreshold, intersectionMargin, pictureClassName, lazyLoad: rawLazyLoad = true, style, pictureStyle, layout = 'intrinsic', objectFit, objectPosition, data, onLoad, usePlaceholder = true, priority = false, sizes, srcSetCandidates = [0.25, 0.5, 0.75, 1, 1.5, 2, 3, 4], placeholderClassName, placeholderStyle, }, ref) => {
|
|
76
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
77
|
-
const lazyLoad = priority ? false : rawLazyLoad;
|
|
78
|
-
const [loaded, setLoaded] = useState(false);
|
|
32
|
+
export const Image = forwardRef(({ className, fadeInDuration = 500, intersectionTreshold, intersectionThreshold, intersectionMargin, pictureClassName, style, pictureStyle, layout = 'intrinsic', objectFit, objectPosition, data, onLoad, usePlaceholder = true, priority = false, sizes, srcSetCandidates = [0.25, 0.5, 0.75, 1, 1.5, 2, 3, 4], placeholderClassName, placeholderStyle, }, ref) => {
|
|
33
|
+
var _a, _b, _c, _d, _e;
|
|
79
34
|
const imageRef = useRef(null);
|
|
80
|
-
const handleLoad = ()
|
|
81
|
-
onLoad === null || onLoad === void 0 ? void 0 : onLoad();
|
|
82
|
-
setLoaded(true);
|
|
83
|
-
};
|
|
84
|
-
// https://stackoverflow.com/q/39777833/266535
|
|
85
|
-
useEffect(() => {
|
|
86
|
-
if (!imageRef.current) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
if (imageRef.current.complete && imageRef.current.naturalWidth) {
|
|
90
|
-
handleLoad();
|
|
91
|
-
}
|
|
92
|
-
}, []);
|
|
35
|
+
const [loaded, handleLoad] = useImageLoad(imageRef, onLoad);
|
|
93
36
|
const [viewRef, inView] = useInView({
|
|
94
37
|
threshold: intersectionThreshold || intersectionTreshold || 0,
|
|
95
38
|
rootMargin: intersectionMargin || '0px 0px 0px 0px',
|
|
96
39
|
triggerOnce: true,
|
|
97
40
|
fallbackInView: true,
|
|
98
41
|
});
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}, [viewRef]);
|
|
105
|
-
const absolutePositioning = {
|
|
106
|
-
position: 'absolute',
|
|
107
|
-
left: 0,
|
|
108
|
-
top: 0,
|
|
109
|
-
width: '100%',
|
|
110
|
-
height: '100%',
|
|
111
|
-
maxWidth: 'none',
|
|
112
|
-
maxHeight: 'none',
|
|
113
|
-
};
|
|
114
|
-
const addImage = imageAddStrategy({
|
|
115
|
-
lazyLoad,
|
|
116
|
-
inView,
|
|
117
|
-
loaded,
|
|
118
|
-
});
|
|
119
|
-
const showImage = imageShowStrategy({
|
|
120
|
-
lazyLoad,
|
|
121
|
-
inView,
|
|
122
|
-
loaded,
|
|
123
|
-
});
|
|
124
|
-
const webpSource = data.webpSrcSet && (React.createElement("source", { srcSet: data.webpSrcSet, sizes: (_a = sizes !== null && sizes !== void 0 ? sizes : data.sizes) !== null && _a !== void 0 ? _a : undefined, type: "image/webp" }));
|
|
125
|
-
const regularSource = (React.createElement("source", { srcSet: (_b = data.srcSet) !== null && _b !== void 0 ? _b : buildSrcSet(data.src, data.width, srcSetCandidates), sizes: (_c = sizes !== null && sizes !== void 0 ? sizes : data.sizes) !== null && _c !== void 0 ? _c : undefined }));
|
|
42
|
+
const rootRef = useMergedRef(ref, viewRef);
|
|
43
|
+
const addImage = imageAddStrategy({ priority, inView, loaded });
|
|
44
|
+
const showImage = imageShowStrategy({ priority, inView, loaded });
|
|
45
|
+
const webpSource = buildWebpSource(data, sizes);
|
|
46
|
+
const regularSource = buildRegularSource(data, sizes, srcSetCandidates);
|
|
126
47
|
const transition = fadeInDuration > 0 ? `opacity ${fadeInDuration}ms` : undefined;
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
48
|
+
const basePlaceholderStyle = Object.assign({ transition, opacity: showImage ? 0 : 1,
|
|
49
|
+
// During the opacity transition of the placeholder to the definitive version,
|
|
50
|
+
// hardware acceleration is triggered. This results in the browser trying to render the
|
|
51
|
+
// placeholder with your GPU, causing blurred edges. Solution: style the placeholder
|
|
52
|
+
// so the edges overflow the container
|
|
53
|
+
position: 'absolute', left: '-5%', top: '-5%', width: '110%', height: '110%', maxWidth: 'none', maxHeight: 'none' }, placeholderStyle);
|
|
54
|
+
const placeholder = usePlaceholder && data.base64 ? (React.createElement("img", { "aria-hidden": "true", alt: "", src: data.base64, className: placeholderClassName, style: Object.assign({ objectFit,
|
|
55
|
+
objectPosition }, basePlaceholderStyle) })) : usePlaceholder && data.bgColor ? (React.createElement("div", { className: placeholderClassName, style: Object.assign({ backgroundColor: data.bgColor }, basePlaceholderStyle) })) : null;
|
|
135
56
|
const { width, aspectRatio } = data;
|
|
136
|
-
const height = (
|
|
57
|
+
const height = (_a = data.height) !== null && _a !== void 0 ? _a : (aspectRatio ? width / aspectRatio : 0);
|
|
137
58
|
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}"></svg>`;
|
|
138
|
-
const sizer = layout !== 'fill' ? (React.createElement("img", { className: pictureClassName, style: Object.assign({ display: 'block', width: '100%' }, pictureStyle), src: `data:image/svg+xml;base64,${
|
|
139
|
-
return (React.createElement("div", { ref:
|
|
59
|
+
const sizer = layout !== 'fill' ? (React.createElement("img", { className: pictureClassName, style: Object.assign({ display: 'block', width: '100%' }, pictureStyle), src: `data:image/svg+xml;base64,${universalBtoa(svg)}`, "aria-hidden": "true", alt: "" })) : null;
|
|
60
|
+
return (React.createElement("div", { ref: rootRef, className: className, style: Object.assign(Object.assign({ overflow: 'hidden' }, (layout === 'fill'
|
|
140
61
|
? absolutePositioning
|
|
141
62
|
: layout === 'intrinsic'
|
|
142
63
|
? { position: 'relative', width: '100%', maxWidth: width }
|
|
@@ -150,7 +71,7 @@ export const Image = forwardRef(({ className, fadeInDuration = 500, intersection
|
|
|
150
71
|
regularSource,
|
|
151
72
|
data.src && (
|
|
152
73
|
// biome-ignore lint/a11y/useAltText: We do support the `alt` attribute
|
|
153
|
-
React.createElement("img", Object.assign({ ref: imageRef, src: data.src, alt: (
|
|
74
|
+
React.createElement("img", Object.assign({ ref: imageRef, src: data.src, alt: (_b = data.alt) !== null && _b !== void 0 ? _b : '', title: (_c = data.title) !== null && _c !== void 0 ? _c : undefined, onLoad: handleLoad }, priorityProp(priority ? 'high' : undefined), { className: pictureClassName, style: Object.assign(Object.assign(Object.assign({ opacity: showImage ? 1 : 0, transition }, absolutePositioning), { objectFit,
|
|
154
75
|
objectPosition }), pictureStyle) }))))),
|
|
155
76
|
React.createElement("noscript", null,
|
|
156
77
|
React.createElement("picture", null,
|
|
@@ -158,7 +79,7 @@ export const Image = forwardRef(({ className, fadeInDuration = 500, intersection
|
|
|
158
79
|
regularSource,
|
|
159
80
|
data.src && (
|
|
160
81
|
// biome-ignore lint/a11y/useAltText: We do support the `alt` attribute
|
|
161
|
-
React.createElement("img", Object.assign({ src: data.src, alt: (
|
|
162
|
-
objectPosition }), pictureStyle), loading:
|
|
82
|
+
React.createElement("img", Object.assign({ src: data.src, alt: (_d = data.alt) !== null && _d !== void 0 ? _d : '', title: (_e = data.title) !== null && _e !== void 0 ? _e : undefined, className: pictureClassName, style: Object.assign(Object.assign(Object.assign({}, absolutePositioning), { objectFit,
|
|
83
|
+
objectPosition }), pictureStyle), loading: priority ? undefined : 'lazy' }, priorityProp(priority ? 'high' : undefined))))))));
|
|
163
84
|
});
|
|
164
85
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Image/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Image/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,uDAAuD;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAsB,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,KAAK,EACL,aAAa,EACb,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AAmGpB,MAAM,gBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAS,EAAE,EAAE;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,+BAA+B,EAAE,CAAC;QACpC,OAAO,MAAM,IAAI,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAS,EAAE,EAAE;IACxD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,+BAA+B,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,CACE,EACE,SAAS,EACT,cAAc,GAAG,GAAG,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,EACL,YAAY,EACZ,MAAM,GAAG,WAAW,EACpB,SAAS,EACT,cAAc,EACd,IAAI,EACJ,MAAM,EACN,cAAc,GAAG,IAAI,EACrB,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,gBAAgB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrD,oBAAoB,EACpB,gBAAgB,GACjB,EACD,GAAG,EACH,EAAE;;IACF,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE5D,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QAClC,SAAS,EAAE,qBAAqB,IAAI,oBAAoB,IAAI,CAAC;QAC7D,UAAU,EAAE,kBAAkB,IAAI,iBAAiB;QACnD,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAExE,MAAM,UAAU,GACd,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,cAAc,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjE,MAAM,oBAAoB,mBACxB,UAAU,EACV,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,8EAA8E;QAC9E,uFAAuF;QACvF,oFAAoF;QACpF,sCAAsC;QACtC,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,KAAK,EACX,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,IACd,gBAAgB,CACpB,CAAC;IAEF,MAAM,WAAW,GACf,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAC9B,4CACc,MAAM,EAClB,GAAG,EAAC,EAAE,EACN,GAAG,EAAE,IAAI,CAAC,MAAM,EAChB,SAAS,EAAE,oBAAoB,EAC/B,KAAK,kBACH,SAAS;YACT,cAAc,IACX,oBAAoB,IAEzB,CACH,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACnC,6BACE,SAAS,EAAE,oBAAoB,EAC/B,KAAK,kBACH,eAAe,EAAE,IAAI,CAAC,OAAO,IAC1B,oBAAoB,IAEzB,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,MAAM,GAAG,GAAG,kDAAkD,KAAK,aAAa,MAAM,UAAU,CAAC;IAEjG,MAAM,KAAK,GACT,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,6BACE,SAAS,EAAE,gBAAgB,EAC3B,KAAK,kBACH,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,IACV,YAAY,GAEjB,GAAG,EAAE,6BAA6B,aAAa,CAAC,GAAG,CAAC,EAAE,iBAC1C,MAAM,EAClB,GAAG,EAAC,EAAE,GACN,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO,CACL,6BACE,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,SAAS,EACpB,KAAK,gCACH,QAAQ,EAAE,QAAQ,IACf,CAAC,MAAM,KAAK,MAAM;YACnB,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,MAAM,KAAK,WAAW;gBACtB,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC1D,CAAC,CAAC,MAAM,KAAK,OAAO;oBAClB,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;oBACjC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAC7C,KAAK;QAGT,KAAK;QACL,WAAW;QACX,QAAQ,IAAI,CACX;YACG,UAAU;YACV,aAAa;YACb,IAAI,CAAC,GAAG,IAAI;YACX,uEAAuE;YACvE,2CACE,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,mCAAI,EAAE,EACnB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,SAAS,EAC9B,MAAM,EAAE,UAAU,IACd,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAC/C,SAAS,EAAE,gBAAgB,EAC3B,KAAK,8CACH,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,UAAU,IACP,mBAAmB,KACtB,SAAS;oBACT,cAAc,KACX,YAAY,KAEjB,CACH,CACO,CACX;QACD;YACE;gBACG,UAAU;gBACV,aAAa;gBACb,IAAI,CAAC,GAAG,IAAI;gBACX,uEAAuE;gBACvE,2CACE,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,mCAAI,EAAE,EACnB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,SAAS,EAC9B,SAAS,EAAE,gBAAgB,EAC3B,KAAK,gDACA,mBAAmB,KACtB,SAAS;wBACT,cAAc,KACX,YAAY,GAEjB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAClC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAC/C,CACH,CACO,CACD,CACP,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
export const isSsr = typeof window === 'undefined';
|
|
3
|
+
export const isIntersectionObserverAvailable = isSsr
|
|
4
|
+
? false
|
|
5
|
+
: !!window.IntersectionObserver;
|
|
6
|
+
export const universalBtoa = (str) => isSsr
|
|
7
|
+
? Buffer.from(str.toString(), 'binary').toString('base64')
|
|
8
|
+
: window.btoa(str);
|
|
9
|
+
export function useImageLoad(ref, callback) {
|
|
10
|
+
const [loaded, setLoaded] = useState(false);
|
|
11
|
+
function handleLoad() {
|
|
12
|
+
setLoaded(true);
|
|
13
|
+
callback === null || callback === void 0 ? void 0 : callback();
|
|
14
|
+
}
|
|
15
|
+
// https://stackoverflow.com/q/39777833/266535
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (!ref.current) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (ref.current.complete && ref.current.naturalWidth) {
|
|
21
|
+
handleLoad();
|
|
22
|
+
}
|
|
23
|
+
}, []);
|
|
24
|
+
return [loaded, handleLoad];
|
|
25
|
+
}
|
|
26
|
+
export function useMergedRef(...refs) {
|
|
27
|
+
return useCallback((element) => {
|
|
28
|
+
for (let i = 0; i < refs.length; i++) {
|
|
29
|
+
const ref = refs[i];
|
|
30
|
+
if (typeof ref === 'function')
|
|
31
|
+
ref(element);
|
|
32
|
+
else if (ref && typeof ref === 'object')
|
|
33
|
+
ref.current = element;
|
|
34
|
+
}
|
|
35
|
+
}, refs);
|
|
36
|
+
}
|
|
37
|
+
export const absolutePositioning = {
|
|
38
|
+
position: 'absolute',
|
|
39
|
+
left: 0,
|
|
40
|
+
top: 0,
|
|
41
|
+
width: '100%',
|
|
42
|
+
height: '100%',
|
|
43
|
+
maxWidth: 'none',
|
|
44
|
+
maxHeight: 'none',
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/Image/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAEnD,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK;IAClD,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAU,EAAE,CACnD,KAAK;IACH,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvB,MAAM,UAAU,YAAY,CAC1B,GAAsC,EACtC,QAAkC;IAElC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,SAAS,UAAU;QACjB,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAC;IACf,CAAC;IAED,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACrD,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,MAAM,EAAE,UAAU,CAAU,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,GAAG,IAAoB;IACrD,OAAO,WAAW,CAAC,CAAC,OAAU,EAAE,EAAE;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,OAAO,GAAG,KAAK,UAAU;gBAAE,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBACpC,GAAiC,CAAC,OAAO,GAAG,OAAO,CAAC;QACzD,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAwB;IACtD,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;CAClB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// biome-ignore lint/style/useImportType: wrong warning
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { buildRegularSource, buildWebpSource, priorityProp } from './utils.js';
|
|
4
|
+
export function SRCImage({ className, style, data, usePlaceholder = true, priority = false, sizes, srcSetCandidates = [0.25, 0.5, 0.75, 1, 1.5, 2, 3, 4], }) {
|
|
5
|
+
var _a, _b, _c, _d;
|
|
6
|
+
const webpSource = buildWebpSource(data, sizes);
|
|
7
|
+
const regularSource = buildRegularSource(data, sizes, srcSetCandidates);
|
|
8
|
+
const placeholderStyle = usePlaceholder && data.base64
|
|
9
|
+
? {
|
|
10
|
+
backgroundImage: `url("${data.base64}")`,
|
|
11
|
+
backgroundSize: 'cover',
|
|
12
|
+
backgroundRepeat: 'no-repeat',
|
|
13
|
+
backgroundPosition: '50% 50%',
|
|
14
|
+
color: 'transparent',
|
|
15
|
+
}
|
|
16
|
+
: usePlaceholder && data.bgColor
|
|
17
|
+
? { backgroundColor: (_a = data.bgColor) !== null && _a !== void 0 ? _a : undefined, color: 'transparent' }
|
|
18
|
+
: undefined;
|
|
19
|
+
const { width } = data;
|
|
20
|
+
const height = (_b = data.height) !== null && _b !== void 0 ? _b : Math.round(data.aspectRatio ? width / data.aspectRatio : 0);
|
|
21
|
+
const sizingStyle = {
|
|
22
|
+
aspectRatio: `${width} / ${height}`,
|
|
23
|
+
width: '100%',
|
|
24
|
+
maxWidth: `${width}px`,
|
|
25
|
+
height: 'auto',
|
|
26
|
+
};
|
|
27
|
+
const loadingBehaviourProps = priority
|
|
28
|
+
? priorityProp(priority ? 'high' : undefined)
|
|
29
|
+
: { loading: 'lazy' };
|
|
30
|
+
return (React.createElement("picture", null,
|
|
31
|
+
webpSource,
|
|
32
|
+
regularSource,
|
|
33
|
+
data.src && (
|
|
34
|
+
// biome-ignore lint/a11y/useAltText: We do with alt the best we can
|
|
35
|
+
React.createElement("img", Object.assign({ src: data.src, alt: (_c = data.alt) !== null && _c !== void 0 ? _c : '', title: (_d = data.title) !== null && _d !== void 0 ? _d : undefined }, loadingBehaviourProps, { className: className, style: Object.assign(Object.assign(Object.assign({}, placeholderStyle), sizingStyle), style) })))));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/SRCImage/index.tsx"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAiC/E,MAAM,UAAU,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,IAAI,EACJ,cAAc,GAAG,IAAI,EACrB,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,gBAAgB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACnC;;IAClB,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAExE,MAAM,gBAAgB,GACpB,cAAc,IAAI,IAAI,CAAC,MAAM;QAC3B,CAAC,CAAC;YACE,eAAe,EAAE,QAAQ,IAAI,CAAC,MAAM,IAAI;YACxC,cAAc,EAAE,OAAO;YACvB,gBAAgB,EAAE,WAAW;YAC7B,kBAAkB,EAAE,SAAS;YAC7B,KAAK,EAAE,aAAa;SACrB;QACH,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO;YAC9B,CAAC,CAAC,EAAE,eAAe,EAAE,MAAA,IAAI,CAAC,OAAO,mCAAI,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE;YACtE,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,MAAM,MAAM,GACV,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,MAAM,WAAW,GAAG;QAClB,WAAW,EAAE,GAAG,KAAK,MAAM,MAAM,EAAE;QACnC,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,GAAG,KAAK,IAAI;QACtB,MAAM,EAAE,MAAM;KACf,CAAC;IAEF,MAAM,qBAAqB,GAAG,QAAQ;QACpC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAExB,OAAO,CACL;QACG,UAAU;QACV,aAAa;QACb,IAAI,CAAC,GAAG,IAAI;QACX,oEAAoE;QACpE,2CACE,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,mCAAI,EAAE,EACnB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,SAAS,IAC1B,qBAAqB,IACzB,SAAS,EAAE,SAAS,EACpB,KAAK,gDACA,gBAAgB,GAChB,WAAW,GACX,KAAK,KAEV,CACH,CACO,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import React, { version } from 'react';
|
|
2
|
+
export function priorityProp(fetchPriority) {
|
|
3
|
+
const [majorStr, minorStr] = version.split('.');
|
|
4
|
+
const major = Number.parseInt(majorStr, 10);
|
|
5
|
+
const minor = Number.parseInt(minorStr, 10);
|
|
6
|
+
if (major > 18 || (major === 18 && minor >= 3)) {
|
|
7
|
+
// In React 18.3.0 or newer, we must use camelCase
|
|
8
|
+
// prop to avoid "Warning: Invalid DOM property".
|
|
9
|
+
// See https://github.com/facebook/react/pull/25927
|
|
10
|
+
return { fetchPriority };
|
|
11
|
+
}
|
|
12
|
+
// In React 18.2.0 or older, we must use lowercase prop
|
|
13
|
+
// to avoid "Warning: Invalid DOM property".
|
|
14
|
+
return { fetchpriority: fetchPriority };
|
|
15
|
+
}
|
|
16
|
+
const bogusBaseUrl = 'https://example.com/';
|
|
17
|
+
export const buildSrcSetFromSrc = (src, width, candidateMultipliers) => {
|
|
18
|
+
if (!(src && width)) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
return candidateMultipliers
|
|
22
|
+
.map((multiplier) => {
|
|
23
|
+
const url = new URL(src, bogusBaseUrl);
|
|
24
|
+
if (multiplier !== 1) {
|
|
25
|
+
url.searchParams.set('dpr', `${multiplier}`);
|
|
26
|
+
const maxH = url.searchParams.get('max-h');
|
|
27
|
+
const maxW = url.searchParams.get('max-w');
|
|
28
|
+
if (maxH) {
|
|
29
|
+
url.searchParams.set('max-h', `${Math.floor(Number.parseInt(maxH) * multiplier)}`);
|
|
30
|
+
}
|
|
31
|
+
if (maxW) {
|
|
32
|
+
url.searchParams.set('max-w', `${Math.floor(Number.parseInt(maxW) * multiplier)}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const finalWidth = Math.floor(width * multiplier);
|
|
36
|
+
if (finalWidth < 50) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return `${url.toString().replace(bogusBaseUrl, '/')} ${finalWidth}w`;
|
|
40
|
+
})
|
|
41
|
+
.filter(Boolean)
|
|
42
|
+
.join(',');
|
|
43
|
+
};
|
|
44
|
+
export function buildWebpSource(data, sizes) {
|
|
45
|
+
var _a;
|
|
46
|
+
return (data.webpSrcSet && (React.createElement("source", { srcSet: data.webpSrcSet, sizes: (_a = sizes !== null && sizes !== void 0 ? sizes : data.sizes) !== null && _a !== void 0 ? _a : undefined, type: "image/webp" })));
|
|
47
|
+
}
|
|
48
|
+
export function buildRegularSource(data, sizes, srcSetCandidates) {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
return (React.createElement("source", { srcSet: (_a = data.srcSet) !== null && _a !== void 0 ? _a : buildSrcSetFromSrc(data.src, data.width, srcSetCandidates), sizes: (_b = sizes !== null && sizes !== void 0 ? sizes : data.sizes) !== null && _b !== void 0 ? _b : undefined }));
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/SRCImage/utils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export function toNextMetadata(data) {
|
|
|
5
5
|
data.forEach((datum) => {
|
|
6
6
|
const { tag, attributes, content } = datum;
|
|
7
7
|
if (tag === 'title') {
|
|
8
|
-
metadata
|
|
8
|
+
metadata.title = content;
|
|
9
9
|
}
|
|
10
10
|
if (isSeoOrFaviconTag(datum) && isSeoMetaTag(datum)) {
|
|
11
11
|
if (isOgMetaAttributes(datum.attributes)) {
|
|
@@ -14,21 +14,21 @@ export function toNextMetadata(data) {
|
|
|
14
14
|
const [_, ...parts] = property.split(':');
|
|
15
15
|
if ((parts === null || parts === void 0 ? void 0 : parts.length) === 1) {
|
|
16
16
|
if (parts[0] === 'image') {
|
|
17
|
-
metadata
|
|
18
|
-
metadata
|
|
17
|
+
metadata.openGraph || (metadata.openGraph = {});
|
|
18
|
+
metadata.openGraph.images = Object.assign(Object.assign({}, metadata.openGraph.images), { url: content });
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
|
-
metadata
|
|
21
|
+
metadata.openGraph = Object.assign(Object.assign({}, metadata.openGraph), { [camelize(parts[0])]: content });
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
if ((parts === null || parts === void 0 ? void 0 : parts.length) === 2) {
|
|
25
25
|
if (parts[0] === 'image' && parts[1] === 'width') {
|
|
26
|
-
metadata
|
|
27
|
-
metadata
|
|
26
|
+
metadata.openGraph || (metadata.openGraph = {});
|
|
27
|
+
metadata.openGraph.images = Object.assign(Object.assign({}, metadata.openGraph.images), { width: content });
|
|
28
28
|
}
|
|
29
29
|
else if (parts[0] === 'image' && parts[1] === 'height') {
|
|
30
|
-
metadata
|
|
31
|
-
metadata
|
|
30
|
+
metadata.openGraph || (metadata.openGraph = {});
|
|
31
|
+
metadata.openGraph.images = Object.assign(Object.assign({}, metadata.openGraph.images), { height: content });
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -41,7 +41,7 @@ export function toNextMetadata(data) {
|
|
|
41
41
|
else if (name.match(/^twitter:/)) {
|
|
42
42
|
const [_, ...parts] = name.split(':');
|
|
43
43
|
if ((parts === null || parts === void 0 ? void 0 : parts.length) === 1) {
|
|
44
|
-
metadata
|
|
44
|
+
metadata.twitter = Object.assign(Object.assign({}, metadata.twitter), { [camelize(parts[0])]: content });
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
else {
|
|
@@ -52,17 +52,17 @@ export function toNextMetadata(data) {
|
|
|
52
52
|
if (isSeoLinkTag(datum)) {
|
|
53
53
|
if (isAppleTouchIconAttributes(datum.attributes)) {
|
|
54
54
|
const { sizes, href } = datum.attributes;
|
|
55
|
-
metadata
|
|
56
|
-
metadata
|
|
57
|
-
...(metadata
|
|
55
|
+
metadata.icons || (metadata.icons = {});
|
|
56
|
+
metadata.icons.apple = [
|
|
57
|
+
...(metadata.icons.apple || []),
|
|
58
58
|
{ url: href, sizes },
|
|
59
59
|
];
|
|
60
60
|
}
|
|
61
61
|
if (isFaviconAttributes(datum.attributes)) {
|
|
62
62
|
const { sizes, type, rel, href } = datum.attributes;
|
|
63
|
-
metadata
|
|
64
|
-
metadata
|
|
65
|
-
...(metadata
|
|
63
|
+
metadata.icons || (metadata.icons = {});
|
|
64
|
+
metadata.icons.icon = [
|
|
65
|
+
...(metadata.icons.icon || []),
|
|
66
66
|
{ url: href, sizes, type, rel },
|
|
67
67
|
];
|
|
68
68
|
}
|