@ndla/ui 49.0.5 → 49.0.7
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/es/ContactBlock/ContactBlock.js +47 -30
- package/es/Embed/IframeEmbed.js +3 -2
- package/es/Embed/ImageEmbed.js +3 -2
- package/lib/ContactBlock/ContactBlock.d.ts +4 -1
- package/lib/ContactBlock/ContactBlock.js +49 -29
- package/lib/Embed/IframeEmbed.js +3 -2
- package/lib/Embed/ImageEmbed.d.ts +3 -2
- package/lib/Embed/ImageEmbed.js +3 -2
- package/lib/Embed/index.d.ts +1 -1
- package/lib/Embed/types.d.ts +8 -0
- package/lib/index.d.ts +1 -1
- package/package.json +18 -18
- package/src/ContactBlock/ContactBlock.tsx +29 -7
- package/src/Embed/IframeEmbed.tsx +2 -1
- package/src/Embed/ImageEmbed.tsx +4 -2
- package/src/Embed/index.ts +1 -1
- package/src/Embed/types.ts +9 -0
- package/src/index.ts +1 -1
package/lib/Embed/IframeEmbed.js
CHANGED
|
@@ -36,11 +36,12 @@ var IframeEmbed = function IframeEmbed(_ref) {
|
|
|
36
36
|
}
|
|
37
37
|
}, []);
|
|
38
38
|
if (embedData.type === 'fullscreen') {
|
|
39
|
-
var _iframeImage$image$im,
|
|
39
|
+
var _iframeImage$image$im, _embedData$title, _embedData$caption;
|
|
40
40
|
var iframeImage = embed.status === 'success' ? embed.data.iframeImage : undefined;
|
|
41
|
+
var alt = embedData.alt !== undefined ? embedData.alt : iframeImage === null || iframeImage === void 0 ? void 0 : iframeImage.alttext.alttext;
|
|
41
42
|
var image = {
|
|
42
43
|
src: (_iframeImage$image$im = iframeImage === null || iframeImage === void 0 ? void 0 : iframeImage.image.imageUrl) !== null && _iframeImage$image$im !== void 0 ? _iframeImage$image$im : '',
|
|
43
|
-
alt:
|
|
44
|
+
alt: alt !== null && alt !== void 0 ? alt : ''
|
|
44
45
|
};
|
|
45
46
|
return (0, _jsxRuntime.jsx)(_Figure.Figure, {
|
|
46
47
|
type: "full",
|
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
import { ImageEmbedData, ImageMetaData } from '@ndla/types-embed';
|
|
9
|
-
import { HeartButtonType, RenderContext } from './types';
|
|
9
|
+
import { CanonicalUrlFuncs, HeartButtonType, RenderContext } from './types';
|
|
10
10
|
interface Props {
|
|
11
11
|
embed: ImageMetaData;
|
|
12
12
|
previewAlt?: boolean;
|
|
13
13
|
path?: string;
|
|
14
14
|
heartButton?: HeartButtonType;
|
|
15
|
+
canonicalUrl?: CanonicalUrlFuncs['image'];
|
|
15
16
|
inGrid?: boolean;
|
|
16
17
|
lang?: string;
|
|
17
18
|
renderContext?: RenderContext;
|
|
@@ -40,5 +41,5 @@ export declare const getCrop: (data: ImageEmbedData) => {
|
|
|
40
41
|
endX: number;
|
|
41
42
|
endY: number;
|
|
42
43
|
} | undefined;
|
|
43
|
-
declare const ImageEmbed: ({ embed, previewAlt, heartButton: HeartButton, inGrid, path, lang, renderContext, }: Props) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
44
|
+
declare const ImageEmbed: ({ embed, previewAlt, heartButton: HeartButton, inGrid, path, lang, canonicalUrl, renderContext, }: Props) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
44
45
|
export default ImageEmbed;
|
package/lib/Embed/ImageEmbed.js
CHANGED
|
@@ -112,6 +112,7 @@ var ImageEmbed = function ImageEmbed(_ref) {
|
|
|
112
112
|
inGrid = _ref.inGrid,
|
|
113
113
|
path = _ref.path,
|
|
114
114
|
lang = _ref.lang,
|
|
115
|
+
canonicalUrl = _ref.canonicalUrl,
|
|
115
116
|
_ref$renderContext = _ref.renderContext,
|
|
116
117
|
renderContext = _ref$renderContext === void 0 ? 'article' : _ref$renderContext;
|
|
117
118
|
var _useState = (0, _react.useState)(hideByline(embed.embedData.size)),
|
|
@@ -151,7 +152,7 @@ var ImageEmbed = function ImageEmbed(_ref) {
|
|
|
151
152
|
type: imageSizes ? undefined : figureType,
|
|
152
153
|
className: imageSizes ? "c-figure--".concat(embedData.align, " expanded") : '',
|
|
153
154
|
children: [(0, _jsxRuntime.jsx)(ImageWrapper, {
|
|
154
|
-
src: !isCopyrighted ?
|
|
155
|
+
src: !isCopyrighted ? canonicalUrl === null || canonicalUrl === void 0 ? void 0 : canonicalUrl(data) : undefined,
|
|
155
156
|
crop: crop,
|
|
156
157
|
size: embedData.size,
|
|
157
158
|
pagePath: path,
|
|
@@ -196,7 +197,7 @@ var ImageEmbed = function ImageEmbed(_ref) {
|
|
|
196
197
|
var HiddenSpan = /*#__PURE__*/(0, _base.default)("span", {
|
|
197
198
|
target: "ened8ka0",
|
|
198
199
|
label: "HiddenSpan"
|
|
199
|
-
})(_core.utils.visuallyHidden, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkltYWdlRW1iZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlNOEIiLCJmaWxlIjoiSW1hZ2VFbWJlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMy1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCB7IEltYWdlRW1iZWREYXRhLCBJbWFnZU1ldGFEYXRhIH0gZnJvbSAnQG5kbGEvdHlwZXMtZW1iZWQnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IE1vdXNlRXZlbnRIYW5kbGVyLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwYXJzZSBmcm9tICdodG1sLXJlYWN0LXBhcnNlcic7XG5pbXBvcnQgeyBFeHBhbmRUd29BcnJvd3MgfSBmcm9tICdAbmRsYS9pY29ucy9hY3Rpb24nO1xuaW1wb3J0IHsgQ09QWVJJR0hURUQgfSBmcm9tICdAbmRsYS9saWNlbnNlcyc7XG5pbXBvcnQgeyBBcnJvd0NvbGxhcHNlLCBDaGV2cm9uRG93biwgQ2hldnJvblVwIH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBGaWd1cmUsIEZpZ3VyZVR5cGUgfSBmcm9tICcuLi9GaWd1cmUnO1xuaW1wb3J0IEltYWdlLCB7IEltYWdlTGluayB9IGZyb20gJy4uL0ltYWdlJztcbmltcG9ydCB7IEVtYmVkQnlsaW5lIH0gZnJvbSAnLi4vTGljZW5zZUJ5bGluZSc7XG5pbXBvcnQgRW1iZWRFcnJvclBsYWNlaG9sZGVyIGZyb20gJy4vRW1iZWRFcnJvclBsYWNlaG9sZGVyJztcbmltcG9ydCB7IEhlYXJ0QnV0dG9uVHlwZSwgUmVuZGVyQ29udGV4dCB9IGZyb20gJy4vdHlwZXMnO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBlbWJlZDogSW1hZ2VNZXRhRGF0YTtcbiAgcHJldmlld0FsdD86IGJvb2xlYW47XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGhlYXJ0QnV0dG9uPzogSGVhcnRCdXR0b25UeXBlO1xuICBpbkdyaWQ/OiBib29sZWFuO1xuICBsYW5nPzogc3RyaW5nO1xuICByZW5kZXJDb250ZXh0PzogUmVuZGVyQ29udGV4dDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRob3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGdldExpY2Vuc2VDcmVkaXRzID0gKGNvcHlyaWdodD86IHtcbiAgY3JlYXRvcnM/OiBBdXRob3JbXTtcbiAgcmlnaHRzaG9sZGVycz86IEF1dGhvcltdO1xuICBwcm9jZXNzb3JzPzogQXV0aG9yW107XG59KSA9PiB7XG4gIHJldHVybiB7XG4gICAgY3JlYXRvcnM6IGNvcHlyaWdodD8uY3JlYXRvcnMgPz8gW10sXG4gICAgcmlnaHRzaG9sZGVyczogY29weXJpZ2h0Py5yaWdodHNob2xkZXJzID8/IFtdLFxuICAgIHByb2Nlc3NvcnM6IGNvcHlyaWdodD8ucHJvY2Vzc29ycyA/PyBbXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBlcnJvclN2Z1NyYyA9IGBkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmcgZmlsbD0nJTIzOEE4ODg4JyBoZWlnaHQ9JzQwMCcgdmlld0JveD0nMCAwIDI0IDEyJyB3aWR0aD0nMTAwJTI1JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAlMjNFRkYwRjInJTNFJTNDcGF0aCBkPSdNMCAwaDI0djI0SDBWMHonIGZpbGw9J25vbmUnLyUzRSUzQ3BhdGggdHJhbnNmb3JtPSdzY2FsZSgwLjMpIHRyYW5zbGF0ZSgyOCwgOC41KScgZD0nTTExIDE1aDJ2MmgtMnptMC04aDJ2NmgtMnptLjk5LTVDNi40NyAyIDIgNi40OCAyIDEyczQuNDcgMTAgOS45OSAxMEMxNy41MiAyMiAyMiAxNy41MiAyMiAxMlMxNy41MiAyIDExLjk5IDJ6TTEyIDIwYy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHonLyUzRSUzQy9zdmclM0VgO1xuY29uc3QgaXNTbWFsbCA9IChzaXplPzogc3RyaW5nKTogc2l6ZSBpcyAneHNtYWxsJyB8ICdzbWFsbCcgPT4gc2l6ZSA9PT0gJ3hzbWFsbCcgfHwgc2l6ZSA9PT0gJ3NtYWxsJztcblxuY29uc3QgaXNBbGlnbiA9IChhbGlnbj86IHN0cmluZyk6IGFsaWduIGlzICdsZWZ0JyB8ICdyaWdodCcgPT4gYWxpZ24gPT09ICdsZWZ0JyB8fCBhbGlnbiA9PT0gJ3JpZ2h0JztcblxuY29uc3QgZ2V0RmlndXJlVHlwZSA9IChzaXplPzogc3RyaW5nLCBhbGlnbj86IHN0cmluZyk6IEZpZ3VyZVR5cGUgPT4ge1xuICBpZiAoc2l6ZSAmJiBpc1NtYWxsKHNpemUpICYmIGFsaWduICYmIGlzQWxpZ24oYWxpZ24pKSB7XG4gICAgcmV0dXJuIGAke3NpemV9LSR7YWxpZ259YDtcbiAgfVxuICBpZiAoc2l6ZSAmJiBpc1NtYWxsKHNpemUpICYmICFhbGlnbikge1xuICAgIHJldHVybiBzaXplIGFzIEZpZ3VyZVR5cGU7XG4gIH1cbiAgaWYgKGFsaWduICYmIGlzQWxpZ24oYWxpZ24pKSB7XG4gICAgcmV0dXJuIGFsaWduO1xuICB9XG4gIHJldHVybiAnZnVsbCc7XG59O1xuXG5jb25zdCBnZXRTaXplcyA9IChzaXplPzogc3RyaW5nLCBhbGlnbj86IHN0cmluZykgPT4ge1xuICBpZiAoYWxpZ24gJiYgc2l6ZSA9PT0gJ2Z1bGwnKSB7XG4gICAgcmV0dXJuICcobWluLXdpZHRoOiAxMDI0cHgpIDUxMnB4LCAobWluLXdpZHRoOiA3NjhweCkgMzUwcHgsIDEwMHZ3JztcbiAgfVxuICBpZiAoYWxpZ24gJiYgc2l6ZSA9PT0gJ3NtYWxsJykge1xuICAgIHJldHVybiAnKG1pbi13aWR0aDogMTAyNHB4KSAzNTBweCwgKG1pbi13aWR0aDogNzY4cHgpIDE4MHB4LCAxMDB2dyc7XG4gIH1cbiAgaWYgKGFsaWduICYmIHNpemUgPT09ICd4c21hbGwnKSB7XG4gICAgcmV0dXJuICcobWluLXdpZHRoOiAxMDI0cHgpIDE4MHB4LCAobWluLXdpZHRoOiA3NjhweCkgMTgwcHgsIDEwMHZ3JztcbiAgfVxuICByZXR1cm4gJyhtaW4td2lkdGg6IDEwMjRweCkgMTAyNHB4LCAxMDB2dyc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rm9jYWxQb2ludCA9IChkYXRhOiBJbWFnZUVtYmVkRGF0YSkgPT4ge1xuICBjb25zdCBmb2NhbFggPSBwYXJzZUZsb2F0KGRhdGEuZm9jYWxYID8/ICcnKTtcbiAgY29uc3QgZm9jYWxZID0gcGFyc2VGbG9hdChkYXRhLmZvY2FsWSA/PyAnJyk7XG4gIGlmICghIWZvY2FsWCAmJiAhIWZvY2FsWSkge1xuICAgIHJldHVybiB7IHg6IGZvY2FsWCwgeTogZm9jYWxZIH07XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDcm9wID0gKGRhdGE6IEltYWdlRW1iZWREYXRhKSA9PiB7XG4gIGNvbnN0IGxvd2VyUmlnaHRYID0gcGFyc2VGbG9hdChkYXRhLmxvd2VyUmlnaHRYID8/ICcnKTtcbiAgY29uc3QgbG93ZXJSaWdodFkgPSBwYXJzZUZsb2F0KGRhdGEubG93ZXJSaWdodFkgPz8gJycpO1xuICBjb25zdCB1cHBlckxlZnRYID0gcGFyc2VGbG9hdChkYXRhLnVwcGVyTGVmdFggPz8gJycpO1xuICBjb25zdCB1cHBlckxlZnRZID0gcGFyc2VGbG9hdChkYXRhLnVwcGVyTGVmdFkgPz8gJycpO1xuICBpZiAoISFsb3dlclJpZ2h0WCAmJiAhIWxvd2VyUmlnaHRZICYmICEhdXBwZXJMZWZ0WCAmJiAhIXVwcGVyTGVmdFkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhcnRYOiBsb3dlclJpZ2h0WCxcbiAgICAgIHN0YXJ0WTogbG93ZXJSaWdodFksXG4gICAgICBlbmRYOiB1cHBlckxlZnRYLFxuICAgICAgZW5kWTogdXBwZXJMZWZ0WSxcbiAgICB9O1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBleHBhbmRlZFNpemVzID0gJyhtaW4td2lkdGg6IDEwMjRweCkgMTAyNHB4LCAxMDB2dyc7XG5cbmNvbnN0IEltYWdlRW1iZWQgPSAoe1xuICBlbWJlZCxcbiAgcHJldmlld0FsdCxcbiAgaGVhcnRCdXR0b246IEhlYXJ0QnV0dG9uLFxuICBpbkdyaWQsXG4gIHBhdGgsXG4gIGxhbmcsXG4gIHJlbmRlckNvbnRleHQgPSAnYXJ0aWNsZScsXG59OiBQcm9wcykgPT4ge1xuICBjb25zdCBbaXNCeWxpbmVIaWRkZW4sIHNldElzQnlsaW5lSGlkZGVuXSA9IHVzZVN0YXRlKGhpZGVCeWxpbmUoZW1iZWQuZW1iZWREYXRhLnNpemUpKTtcbiAgY29uc3QgW2ltYWdlU2l6ZXMsIHNldEltYWdlU2l6ZXNdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0IHBhcnNlZERlc2NyaXB0aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGVtYmVkLmVtYmVkRGF0YS5jYXB0aW9uIHx8IHJlbmRlckNvbnRleHQgPT09ICdhcnRpY2xlJykge1xuICAgICAgcmV0dXJuIGVtYmVkLmVtYmVkRGF0YS5jYXB0aW9uID8gcGFyc2UoZW1iZWQuZW1iZWREYXRhLmNhcHRpb24pIDogdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoZW1iZWQuc3RhdHVzID09PSAnc3VjY2VzcycgJiYgZW1iZWQuZGF0YS5jYXB0aW9uLmNhcHRpb24pIHtcbiAgICAgIHJldHVybiBwYXJzZShlbWJlZC5kYXRhLmNhcHRpb24uY2FwdGlvbik7XG4gICAgfVxuICB9LCBbZW1iZWQsIHJlbmRlckNvbnRleHRdKTtcblxuICBpZiAoZW1iZWQuc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgY29uc3QgeyBhbGlnbiwgc2l6ZSB9ID0gZW1iZWQuZW1iZWREYXRhO1xuICAgIGNvbnN0IGZpZ3VyZVR5cGUgPSBnZXRGaWd1cmVUeXBlKHNpemUsIGFsaWduKTtcbiAgICByZXR1cm4gPEVtYmVkRXJyb3JQbGFjZWhvbGRlciB0eXBlPXsnaW1hZ2UnfSBmaWd1cmVUeXBlPXtmaWd1cmVUeXBlfSAvPjtcbiAgfVxuXG4gIGNvbnN0IHsgZGF0YSwgZW1iZWREYXRhIH0gPSBlbWJlZDtcblxuICBjb25zdCBhbHRUZXh0ID0gZW1iZWREYXRhLmFsdCB8fCAnJztcblxuICBjb25zdCBmaWd1cmVUeXBlID0gZ2V0RmlndXJlVHlwZShlbWJlZERhdGEuc2l6ZSwgZW1iZWREYXRhLmFsaWduKTtcbiAgY29uc3Qgc2l6ZXMgPSBnZXRTaXplcyhlbWJlZERhdGEuc2l6ZSwgZW1iZWREYXRhLmFsaWduKTtcblxuICBjb25zdCBmb2NhbFBvaW50ID0gZ2V0Rm9jYWxQb2ludChlbWJlZERhdGEpO1xuICBjb25zdCBjcm9wID0gZ2V0Q3JvcChlbWJlZERhdGEpO1xuXG4gIGNvbnN0IGlzQ29weXJpZ2h0ZWQgPSBkYXRhLmNvcHlyaWdodC5saWNlbnNlLmxpY2Vuc2UudG9Mb3dlckNhc2UoKSA9PT0gQ09QWVJJR0hURUQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlXG4gICAgICB0eXBlPXtpbWFnZVNpemVzID8gdW5kZWZpbmVkIDogZmlndXJlVHlwZX1cbiAgICAgIGNsYXNzTmFtZT17aW1hZ2VTaXplcyA/IGBjLWZpZ3VyZS0tJHtlbWJlZERhdGEuYWxpZ259IGV4cGFuZGVkYCA6ICcnfVxuICAgID5cbiAgICAgIDxJbWFnZVdyYXBwZXJcbiAgICAgICAgc3JjPXshaXNDb3B5cmlnaHRlZCA/IGVtYmVkRGF0YS5wYWdlVXJsIHx8IGRhdGEuaW1hZ2UuaW1hZ2VVcmwgOiB1bmRlZmluZWR9XG4gICAgICAgIGNyb3A9e2Nyb3B9XG4gICAgICAgIHNpemU9e2VtYmVkRGF0YS5zaXplfVxuICAgICAgICBwYWdlUGF0aD17cGF0aH1cbiAgICAgID5cbiAgICAgICAgPEltYWdlXG4gICAgICAgICAgZm9jYWxQb2ludD17Zm9jYWxQb2ludH1cbiAgICAgICAgICBjb250ZW50VHlwZT17ZGF0YS5pbWFnZS5jb250ZW50VHlwZX1cbiAgICAgICAgICBjcm9wPXtjcm9wfVxuICAgICAgICAgIHNpemVzPXtpbWFnZVNpemVzID8/IHNpemVzfVxuICAgICAgICAgIGFsdD17YWx0VGV4dH1cbiAgICAgICAgICBzcmM9e2RhdGEuaW1hZ2UuaW1hZ2VVcmx9XG4gICAgICAgICAgYm9yZGVyPXtlbWJlZERhdGEuYm9yZGVyfVxuICAgICAgICAgIGV4cGFuZEJ1dHRvbj17XG4gICAgICAgICAgICA8RXhwYW5kQnV0dG9uXG4gICAgICAgICAgICAgIHNpemU9e2VtYmVkRGF0YS5zaXplfVxuICAgICAgICAgICAgICBleHBhbmRlZD17ISFpbWFnZVNpemVzfVxuICAgICAgICAgICAgICBieWxpbmVIaWRkZW49e2lzQnlsaW5lSGlkZGVufVxuICAgICAgICAgICAgICBvbkV4cGFuZD17KCkgPT4gc2V0SW1hZ2VTaXplcygocCkgPT4gKHAgPyB1bmRlZmluZWQgOiBleHBhbmRlZFNpemVzKSl9XG4gICAgICAgICAgICAgIG9uSGlkZUJ5bGluZT17KCkgPT4gc2V0SXNCeWxpbmVIaWRkZW4oKHApID0+ICFwKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIGxhbmc9e2xhbmd9XG4gICAgICAgIC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIHtpc0J5bGluZUhpZGRlbiB8fCAoaXNTbWFsbChlbWJlZERhdGEuc2l6ZSkgJiYgIWltYWdlU2l6ZXMpID8gbnVsbCA6IChcbiAgICAgICAgPEVtYmVkQnlsaW5lXG4gICAgICAgICAgdHlwZT1cImltYWdlXCJcbiAgICAgICAgICBjb3B5cmlnaHQ9e2RhdGEuY29weXJpZ2h0fVxuICAgICAgICAgIGRlc2NyaXB0aW9uPXtwYXJzZWREZXNjcmlwdGlvbn1cbiAgICAgICAgICBib3R0b21Sb3VuZGVkXG4gICAgICAgICAgdmlzaWJsZUFsdD17cHJldmlld0FsdCA/IGVtYmVkLmVtYmVkRGF0YS5hbHQgOiAnJ31cbiAgICAgICAgICBpbkdyaWQ9e2luR3JpZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtIZWFydEJ1dHRvbiAmJiAhaXNDb3B5cmlnaHRlZCAmJiA8SGVhcnRCdXR0b24gZW1iZWQ9e2VtYmVkfSAvPn1cbiAgICAgICAgPC9FbWJlZEJ5bGluZT5cbiAgICAgICl9XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuXG5jb25zdCBIaWRkZW5TcGFuID0gc3R5bGVkLnNwYW5gXG4gICR7dXRpbHMudmlzdWFsbHlIaWRkZW59O1xuYDtcblxuaW50ZXJmYWNlIEltYWdlV3JhcHBlclByb3BzIHtcbiAgc3JjPzogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBwYWdlUGF0aD86IHN0cmluZztcbiAgY3JvcD86IHtcbiAgICBzdGFydFg6IG51bWJlcjtcbiAgICBzdGFydFk6IG51bWJlcjtcbiAgICBlbmRYOiBudW1iZXI7XG4gICAgZW5kWTogbnVtYmVyO1xuICB9O1xuICBzaXplPzogc3RyaW5nO1xufVxuY29uc3QgaGlkZUJ5bGluZSA9IChzaXplPzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAhIXNpemUgJiYgc2l6ZS5lbmRzV2l0aCgnLWhpZGUtYnlsaW5lJyk7XG59O1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSAoeyBzcmMsIGNyb3AsIHNpemUsIGNoaWxkcmVuLCBwYWdlUGF0aCB9OiBJbWFnZVdyYXBwZXJQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGlmIChpc1NtYWxsKHNpemUpIHx8IGhpZGVCeWxpbmUoc2l6ZSkgfHwgIXNyYyB8fCAocGFnZVBhdGggJiYgc3JjLmVuZHNXaXRoKHBhZ2VQYXRoKSkpIHtcbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8SW1hZ2VMaW5rIHNyYz17c3JjfSBjcm9wPXtjcm9wfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDxIaWRkZW5TcGFuPnt0KCdsaWNlbnNlLmltYWdlcy5pdGVtSW1hZ2UuYXJpYUxhYmVsJyl9PC9IaWRkZW5TcGFuPlxuICAgIDwvSW1hZ2VMaW5rPlxuICApO1xufTtcblxuaW50ZXJmYWNlIEV4cGFuZEJ1dHRvblByb3BzIHtcbiAgc2l6ZT86IHN0cmluZztcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG4gIGJ5bGluZUhpZGRlbjogYm9vbGVhbjtcbiAgb25FeHBhbmQ6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgb25IaWRlQnlsaW5lOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MQnV0dG9uRWxlbWVudD47XG59XG5cbmNvbnN0IEV4cGFuZEJ1dHRvbiA9ICh7IHNpemUsIGV4cGFuZGVkLCBieWxpbmVIaWRkZW4sIG9uRXhwYW5kLCBvbkhpZGVCeWxpbmUgfTogRXhwYW5kQnV0dG9uUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBpZiAoaXNTbWFsbChzaXplKSkge1xuICAgIHJldHVybiAoXG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzc05hbWU9XCJjLWZpZ3VyZV9fZnVsbHNjcmVlbi1idG5cIlxuICAgICAgICBhcmlhLWxhYmVsPXt0KGBsaWNlbnNlLmltYWdlcy5pdGVtSW1hZ2Uuem9vbSR7ZXhwYW5kZWQgPyAnT3V0JyA6ICcnfUltYWdlQnV0dG9uTGFiZWxgKX1cbiAgICAgICAgb25DbGljaz17b25FeHBhbmR9XG4gICAgICA+XG4gICAgICAgIHtleHBhbmRlZCA/IDxBcnJvd0NvbGxhcHNlIC8+IDogPEV4cGFuZFR3b0Fycm93cyAvPn1cbiAgICAgIDwvYnV0dG9uPlxuICAgICk7XG4gIH0gZWxzZSBpZiAoaGlkZUJ5bGluZShzaXplKSkge1xuICAgIHJldHVybiAoXG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzc05hbWU9XCJjLWZpZ3VyZV9fc2hvdy1ieWxpbmUtYnRuXCJcbiAgICAgICAgYXJpYS1sYWJlbD17dChgbGljZW5zZS5pbWFnZXMuaXRlbUltYWdlLiR7YnlsaW5lSGlkZGVuID8gJ2V4cGFuZEJ5bGluZScgOiAnbWluaW1pemVCeWxpbmUnfWApfVxuICAgICAgICBvbkNsaWNrPXtvbkhpZGVCeWxpbmV9XG4gICAgICA+XG4gICAgICAgIHtieWxpbmVIaWRkZW4gPyA8Q2hldnJvbkRvd24gLz4gOiA8Q2hldnJvblVwIC8+fVxuICAgICAgPC9idXR0b24+XG4gICAgKTtcbiAgfSBlbHNlIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgSW1hZ2VFbWJlZDtcbiJdfQ== */"));
|
|
200
|
+
})(_core.utils.visuallyHidden, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkltYWdlRW1iZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1NOEIiLCJmaWxlIjoiSW1hZ2VFbWJlZC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMy1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCB7IEltYWdlRW1iZWREYXRhLCBJbWFnZU1ldGFEYXRhIH0gZnJvbSAnQG5kbGEvdHlwZXMtZW1iZWQnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IE1vdXNlRXZlbnRIYW5kbGVyLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwYXJzZSBmcm9tICdodG1sLXJlYWN0LXBhcnNlcic7XG5pbXBvcnQgeyBFeHBhbmRUd29BcnJvd3MgfSBmcm9tICdAbmRsYS9pY29ucy9hY3Rpb24nO1xuaW1wb3J0IHsgQ09QWVJJR0hURUQgfSBmcm9tICdAbmRsYS9saWNlbnNlcyc7XG5pbXBvcnQgeyBBcnJvd0NvbGxhcHNlLCBDaGV2cm9uRG93biwgQ2hldnJvblVwIH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBGaWd1cmUsIEZpZ3VyZVR5cGUgfSBmcm9tICcuLi9GaWd1cmUnO1xuaW1wb3J0IEltYWdlLCB7IEltYWdlTGluayB9IGZyb20gJy4uL0ltYWdlJztcbmltcG9ydCB7IEVtYmVkQnlsaW5lIH0gZnJvbSAnLi4vTGljZW5zZUJ5bGluZSc7XG5pbXBvcnQgRW1iZWRFcnJvclBsYWNlaG9sZGVyIGZyb20gJy4vRW1iZWRFcnJvclBsYWNlaG9sZGVyJztcbmltcG9ydCB7IENhbm9uaWNhbFVybEZ1bmNzLCBIZWFydEJ1dHRvblR5cGUsIFJlbmRlckNvbnRleHQgfSBmcm9tICcuL3R5cGVzJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgZW1iZWQ6IEltYWdlTWV0YURhdGE7XG4gIHByZXZpZXdBbHQ/OiBib29sZWFuO1xuICBwYXRoPzogc3RyaW5nO1xuICBoZWFydEJ1dHRvbj86IEhlYXJ0QnV0dG9uVHlwZTtcbiAgY2Fub25pY2FsVXJsPzogQ2Fub25pY2FsVXJsRnVuY3NbJ2ltYWdlJ107XG4gIGluR3JpZD86IGJvb2xlYW47XG4gIGxhbmc/OiBzdHJpbmc7XG4gIHJlbmRlckNvbnRleHQ/OiBSZW5kZXJDb250ZXh0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhvciB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0TGljZW5zZUNyZWRpdHMgPSAoY29weXJpZ2h0Pzoge1xuICBjcmVhdG9ycz86IEF1dGhvcltdO1xuICByaWdodHNob2xkZXJzPzogQXV0aG9yW107XG4gIHByb2Nlc3NvcnM/OiBBdXRob3JbXTtcbn0pID0+IHtcbiAgcmV0dXJuIHtcbiAgICBjcmVhdG9yczogY29weXJpZ2h0Py5jcmVhdG9ycyA/PyBbXSxcbiAgICByaWdodHNob2xkZXJzOiBjb3B5cmlnaHQ/LnJpZ2h0c2hvbGRlcnMgPz8gW10sXG4gICAgcHJvY2Vzc29yczogY29weXJpZ2h0Py5wcm9jZXNzb3JzID8/IFtdLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGVycm9yU3ZnU3JjID0gYGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyBmaWxsPSclMjM4QTg4ODgnIGhlaWdodD0nNDAwJyB2aWV3Qm94PScwIDAgMjQgMTInIHdpZHRoPScxMDAlMjUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6ICUyM0VGRjBGMiclM0UlM0NwYXRoIGQ9J00wIDBoMjR2MjRIMFYweicgZmlsbD0nbm9uZScvJTNFJTNDcGF0aCB0cmFuc2Zvcm09J3NjYWxlKDAuMykgdHJhbnNsYXRlKDI4LCA4LjUpJyBkPSdNMTEgMTVoMnYyaC0yem0wLThoMnY2aC0yem0uOTktNUM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnpNMTIgMjBjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4eicvJTNFJTNDL3N2ZyUzRWA7XG5jb25zdCBpc1NtYWxsID0gKHNpemU/OiBzdHJpbmcpOiBzaXplIGlzICd4c21hbGwnIHwgJ3NtYWxsJyA9PiBzaXplID09PSAneHNtYWxsJyB8fCBzaXplID09PSAnc21hbGwnO1xuXG5jb25zdCBpc0FsaWduID0gKGFsaWduPzogc3RyaW5nKTogYWxpZ24gaXMgJ2xlZnQnIHwgJ3JpZ2h0JyA9PiBhbGlnbiA9PT0gJ2xlZnQnIHx8IGFsaWduID09PSAncmlnaHQnO1xuXG5jb25zdCBnZXRGaWd1cmVUeXBlID0gKHNpemU/OiBzdHJpbmcsIGFsaWduPzogc3RyaW5nKTogRmlndXJlVHlwZSA9PiB7XG4gIGlmIChzaXplICYmIGlzU21hbGwoc2l6ZSkgJiYgYWxpZ24gJiYgaXNBbGlnbihhbGlnbikpIHtcbiAgICByZXR1cm4gYCR7c2l6ZX0tJHthbGlnbn1gO1xuICB9XG4gIGlmIChzaXplICYmIGlzU21hbGwoc2l6ZSkgJiYgIWFsaWduKSB7XG4gICAgcmV0dXJuIHNpemUgYXMgRmlndXJlVHlwZTtcbiAgfVxuICBpZiAoYWxpZ24gJiYgaXNBbGlnbihhbGlnbikpIHtcbiAgICByZXR1cm4gYWxpZ247XG4gIH1cbiAgcmV0dXJuICdmdWxsJztcbn07XG5cbmNvbnN0IGdldFNpemVzID0gKHNpemU/OiBzdHJpbmcsIGFsaWduPzogc3RyaW5nKSA9PiB7XG4gIGlmIChhbGlnbiAmJiBzaXplID09PSAnZnVsbCcpIHtcbiAgICByZXR1cm4gJyhtaW4td2lkdGg6IDEwMjRweCkgNTEycHgsIChtaW4td2lkdGg6IDc2OHB4KSAzNTBweCwgMTAwdncnO1xuICB9XG4gIGlmIChhbGlnbiAmJiBzaXplID09PSAnc21hbGwnKSB7XG4gICAgcmV0dXJuICcobWluLXdpZHRoOiAxMDI0cHgpIDM1MHB4LCAobWluLXdpZHRoOiA3NjhweCkgMTgwcHgsIDEwMHZ3JztcbiAgfVxuICBpZiAoYWxpZ24gJiYgc2l6ZSA9PT0gJ3hzbWFsbCcpIHtcbiAgICByZXR1cm4gJyhtaW4td2lkdGg6IDEwMjRweCkgMTgwcHgsIChtaW4td2lkdGg6IDc2OHB4KSAxODBweCwgMTAwdncnO1xuICB9XG4gIHJldHVybiAnKG1pbi13aWR0aDogMTAyNHB4KSAxMDI0cHgsIDEwMHZ3Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGb2NhbFBvaW50ID0gKGRhdGE6IEltYWdlRW1iZWREYXRhKSA9PiB7XG4gIGNvbnN0IGZvY2FsWCA9IHBhcnNlRmxvYXQoZGF0YS5mb2NhbFggPz8gJycpO1xuICBjb25zdCBmb2NhbFkgPSBwYXJzZUZsb2F0KGRhdGEuZm9jYWxZID8/ICcnKTtcbiAgaWYgKCEhZm9jYWxYICYmICEhZm9jYWxZKSB7XG4gICAgcmV0dXJuIHsgeDogZm9jYWxYLCB5OiBmb2NhbFkgfTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENyb3AgPSAoZGF0YTogSW1hZ2VFbWJlZERhdGEpID0+IHtcbiAgY29uc3QgbG93ZXJSaWdodFggPSBwYXJzZUZsb2F0KGRhdGEubG93ZXJSaWdodFggPz8gJycpO1xuICBjb25zdCBsb3dlclJpZ2h0WSA9IHBhcnNlRmxvYXQoZGF0YS5sb3dlclJpZ2h0WSA/PyAnJyk7XG4gIGNvbnN0IHVwcGVyTGVmdFggPSBwYXJzZUZsb2F0KGRhdGEudXBwZXJMZWZ0WCA/PyAnJyk7XG4gIGNvbnN0IHVwcGVyTGVmdFkgPSBwYXJzZUZsb2F0KGRhdGEudXBwZXJMZWZ0WSA/PyAnJyk7XG4gIGlmICghIWxvd2VyUmlnaHRYICYmICEhbG93ZXJSaWdodFkgJiYgISF1cHBlckxlZnRYICYmICEhdXBwZXJMZWZ0WSkge1xuICAgIHJldHVybiB7XG4gICAgICBzdGFydFg6IGxvd2VyUmlnaHRYLFxuICAgICAgc3RhcnRZOiBsb3dlclJpZ2h0WSxcbiAgICAgIGVuZFg6IHVwcGVyTGVmdFgsXG4gICAgICBlbmRZOiB1cHBlckxlZnRZLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGV4cGFuZGVkU2l6ZXMgPSAnKG1pbi13aWR0aDogMTAyNHB4KSAxMDI0cHgsIDEwMHZ3JztcblxuY29uc3QgSW1hZ2VFbWJlZCA9ICh7XG4gIGVtYmVkLFxuICBwcmV2aWV3QWx0LFxuICBoZWFydEJ1dHRvbjogSGVhcnRCdXR0b24sXG4gIGluR3JpZCxcbiAgcGF0aCxcbiAgbGFuZyxcbiAgY2Fub25pY2FsVXJsLFxuICByZW5kZXJDb250ZXh0ID0gJ2FydGljbGUnLFxufTogUHJvcHMpID0+IHtcbiAgY29uc3QgW2lzQnlsaW5lSGlkZGVuLCBzZXRJc0J5bGluZUhpZGRlbl0gPSB1c2VTdGF0ZShoaWRlQnlsaW5lKGVtYmVkLmVtYmVkRGF0YS5zaXplKSk7XG4gIGNvbnN0IFtpbWFnZVNpemVzLCBzZXRJbWFnZVNpemVzXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBjb25zdCBwYXJzZWREZXNjcmlwdGlvbiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChlbWJlZC5lbWJlZERhdGEuY2FwdGlvbiB8fCByZW5kZXJDb250ZXh0ID09PSAnYXJ0aWNsZScpIHtcbiAgICAgIHJldHVybiBlbWJlZC5lbWJlZERhdGEuY2FwdGlvbiA/IHBhcnNlKGVtYmVkLmVtYmVkRGF0YS5jYXB0aW9uKSA6IHVuZGVmaW5lZDtcbiAgICB9IGVsc2UgaWYgKGVtYmVkLnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnICYmIGVtYmVkLmRhdGEuY2FwdGlvbi5jYXB0aW9uKSB7XG4gICAgICByZXR1cm4gcGFyc2UoZW1iZWQuZGF0YS5jYXB0aW9uLmNhcHRpb24pO1xuICAgIH1cbiAgfSwgW2VtYmVkLCByZW5kZXJDb250ZXh0XSk7XG5cbiAgaWYgKGVtYmVkLnN0YXR1cyA9PT0gJ2Vycm9yJykge1xuICAgIGNvbnN0IHsgYWxpZ24sIHNpemUgfSA9IGVtYmVkLmVtYmVkRGF0YTtcbiAgICBjb25zdCBmaWd1cmVUeXBlID0gZ2V0RmlndXJlVHlwZShzaXplLCBhbGlnbik7XG4gICAgcmV0dXJuIDxFbWJlZEVycm9yUGxhY2Vob2xkZXIgdHlwZT17J2ltYWdlJ30gZmlndXJlVHlwZT17ZmlndXJlVHlwZX0gLz47XG4gIH1cblxuICBjb25zdCB7IGRhdGEsIGVtYmVkRGF0YSB9ID0gZW1iZWQ7XG5cbiAgY29uc3QgYWx0VGV4dCA9IGVtYmVkRGF0YS5hbHQgfHwgJyc7XG5cbiAgY29uc3QgZmlndXJlVHlwZSA9IGdldEZpZ3VyZVR5cGUoZW1iZWREYXRhLnNpemUsIGVtYmVkRGF0YS5hbGlnbik7XG4gIGNvbnN0IHNpemVzID0gZ2V0U2l6ZXMoZW1iZWREYXRhLnNpemUsIGVtYmVkRGF0YS5hbGlnbik7XG5cbiAgY29uc3QgZm9jYWxQb2ludCA9IGdldEZvY2FsUG9pbnQoZW1iZWREYXRhKTtcbiAgY29uc3QgY3JvcCA9IGdldENyb3AoZW1iZWREYXRhKTtcblxuICBjb25zdCBpc0NvcHlyaWdodGVkID0gZGF0YS5jb3B5cmlnaHQubGljZW5zZS5saWNlbnNlLnRvTG93ZXJDYXNlKCkgPT09IENPUFlSSUdIVEVEO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZVxuICAgICAgdHlwZT17aW1hZ2VTaXplcyA/IHVuZGVmaW5lZCA6IGZpZ3VyZVR5cGV9XG4gICAgICBjbGFzc05hbWU9e2ltYWdlU2l6ZXMgPyBgYy1maWd1cmUtLSR7ZW1iZWREYXRhLmFsaWdufSBleHBhbmRlZGAgOiAnJ31cbiAgICA+XG4gICAgICA8SW1hZ2VXcmFwcGVyXG4gICAgICAgIHNyYz17IWlzQ29weXJpZ2h0ZWQgPyBjYW5vbmljYWxVcmw/LihkYXRhKSA6IHVuZGVmaW5lZH1cbiAgICAgICAgY3JvcD17Y3JvcH1cbiAgICAgICAgc2l6ZT17ZW1iZWREYXRhLnNpemV9XG4gICAgICAgIHBhZ2VQYXRoPXtwYXRofVxuICAgICAgPlxuICAgICAgICA8SW1hZ2VcbiAgICAgICAgICBmb2NhbFBvaW50PXtmb2NhbFBvaW50fVxuICAgICAgICAgIGNvbnRlbnRUeXBlPXtkYXRhLmltYWdlLmNvbnRlbnRUeXBlfVxuICAgICAgICAgIGNyb3A9e2Nyb3B9XG4gICAgICAgICAgc2l6ZXM9e2ltYWdlU2l6ZXMgPz8gc2l6ZXN9XG4gICAgICAgICAgYWx0PXthbHRUZXh0fVxuICAgICAgICAgIHNyYz17ZGF0YS5pbWFnZS5pbWFnZVVybH1cbiAgICAgICAgICBib3JkZXI9e2VtYmVkRGF0YS5ib3JkZXJ9XG4gICAgICAgICAgZXhwYW5kQnV0dG9uPXtcbiAgICAgICAgICAgIDxFeHBhbmRCdXR0b25cbiAgICAgICAgICAgICAgc2l6ZT17ZW1iZWREYXRhLnNpemV9XG4gICAgICAgICAgICAgIGV4cGFuZGVkPXshIWltYWdlU2l6ZXN9XG4gICAgICAgICAgICAgIGJ5bGluZUhpZGRlbj17aXNCeWxpbmVIaWRkZW59XG4gICAgICAgICAgICAgIG9uRXhwYW5kPXsoKSA9PiBzZXRJbWFnZVNpemVzKChwKSA9PiAocCA/IHVuZGVmaW5lZCA6IGV4cGFuZGVkU2l6ZXMpKX1cbiAgICAgICAgICAgICAgb25IaWRlQnlsaW5lPXsoKSA9PiBzZXRJc0J5bGluZUhpZGRlbigocCkgPT4gIXApfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICB9XG4gICAgICAgICAgbGFuZz17bGFuZ31cbiAgICAgICAgLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAge2lzQnlsaW5lSGlkZGVuIHx8IChpc1NtYWxsKGVtYmVkRGF0YS5zaXplKSAmJiAhaW1hZ2VTaXplcykgPyBudWxsIDogKFxuICAgICAgICA8RW1iZWRCeWxpbmVcbiAgICAgICAgICB0eXBlPVwiaW1hZ2VcIlxuICAgICAgICAgIGNvcHlyaWdodD17ZGF0YS5jb3B5cmlnaHR9XG4gICAgICAgICAgZGVzY3JpcHRpb249e3BhcnNlZERlc2NyaXB0aW9ufVxuICAgICAgICAgIGJvdHRvbVJvdW5kZWRcbiAgICAgICAgICB2aXNpYmxlQWx0PXtwcmV2aWV3QWx0ID8gZW1iZWQuZW1iZWREYXRhLmFsdCA6ICcnfVxuICAgICAgICAgIGluR3JpZD17aW5HcmlkfVxuICAgICAgICA+XG4gICAgICAgICAge0hlYXJ0QnV0dG9uICYmICFpc0NvcHlyaWdodGVkICYmIDxIZWFydEJ1dHRvbiBlbWJlZD17ZW1iZWR9IC8+fVxuICAgICAgICA8L0VtYmVkQnlsaW5lPlxuICAgICAgKX1cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG5cbmNvbnN0IEhpZGRlblNwYW4gPSBzdHlsZWQuc3BhbmBcbiAgJHt1dGlscy52aXN1YWxseUhpZGRlbn07XG5gO1xuXG5pbnRlcmZhY2UgSW1hZ2VXcmFwcGVyUHJvcHMge1xuICBzcmM/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHBhZ2VQYXRoPzogc3RyaW5nO1xuICBjcm9wPzoge1xuICAgIHN0YXJ0WDogbnVtYmVyO1xuICAgIHN0YXJ0WTogbnVtYmVyO1xuICAgIGVuZFg6IG51bWJlcjtcbiAgICBlbmRZOiBudW1iZXI7XG4gIH07XG4gIHNpemU/OiBzdHJpbmc7XG59XG5jb25zdCBoaWRlQnlsaW5lID0gKHNpemU/OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuICEhc2l6ZSAmJiBzaXplLmVuZHNXaXRoKCctaGlkZS1ieWxpbmUnKTtcbn07XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9ICh7IHNyYywgY3JvcCwgc2l6ZSwgY2hpbGRyZW4sIHBhZ2VQYXRoIH06IEltYWdlV3JhcHBlclByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgaWYgKGlzU21hbGwoc2l6ZSkgfHwgaGlkZUJ5bGluZShzaXplKSB8fCAhc3JjIHx8IChwYWdlUGF0aCAmJiBzcmMuZW5kc1dpdGgocGFnZVBhdGgpKSkge1xuICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxJbWFnZUxpbmsgc3JjPXtzcmN9IGNyb3A9e2Nyb3B9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlblNwYW4+e3QoJ2xpY2Vuc2UuaW1hZ2VzLml0ZW1JbWFnZS5hcmlhTGFiZWwnKX08L0hpZGRlblNwYW4+XG4gICAgPC9JbWFnZUxpbms+XG4gICk7XG59O1xuXG5pbnRlcmZhY2UgRXhwYW5kQnV0dG9uUHJvcHMge1xuICBzaXplPzogc3RyaW5nO1xuICBleHBhbmRlZDogYm9vbGVhbjtcbiAgYnlsaW5lSGlkZGVuOiBib29sZWFuO1xuICBvbkV4cGFuZDogTW91c2VFdmVudEhhbmRsZXI8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICBvbkhpZGVCeWxpbmU6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxCdXR0b25FbGVtZW50Pjtcbn1cblxuY29uc3QgRXhwYW5kQnV0dG9uID0gKHsgc2l6ZSwgZXhwYW5kZWQsIGJ5bGluZUhpZGRlbiwgb25FeHBhbmQsIG9uSGlkZUJ5bGluZSB9OiBFeHBhbmRCdXR0b25Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGlmIChpc1NtYWxsKHNpemUpKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzTmFtZT1cImMtZmlndXJlX19mdWxsc2NyZWVuLWJ0blwiXG4gICAgICAgIGFyaWEtbGFiZWw9e3QoYGxpY2Vuc2UuaW1hZ2VzLml0ZW1JbWFnZS56b29tJHtleHBhbmRlZCA/ICdPdXQnIDogJyd9SW1hZ2VCdXR0b25MYWJlbGApfVxuICAgICAgICBvbkNsaWNrPXtvbkV4cGFuZH1cbiAgICAgID5cbiAgICAgICAge2V4cGFuZGVkID8gPEFycm93Q29sbGFwc2UgLz4gOiA8RXhwYW5kVHdvQXJyb3dzIC8+fVxuICAgICAgPC9idXR0b24+XG4gICAgKTtcbiAgfSBlbHNlIGlmIChoaWRlQnlsaW5lKHNpemUpKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzTmFtZT1cImMtZmlndXJlX19zaG93LWJ5bGluZS1idG5cIlxuICAgICAgICBhcmlhLWxhYmVsPXt0KGBsaWNlbnNlLmltYWdlcy5pdGVtSW1hZ2UuJHtieWxpbmVIaWRkZW4gPyAnZXhwYW5kQnlsaW5lJyA6ICdtaW5pbWl6ZUJ5bGluZSd9YCl9XG4gICAgICAgIG9uQ2xpY2s9e29uSGlkZUJ5bGluZX1cbiAgICAgID5cbiAgICAgICAge2J5bGluZUhpZGRlbiA/IDxDaGV2cm9uRG93biAvPiA6IDxDaGV2cm9uVXAgLz59XG4gICAgICA8L2J1dHRvbj5cbiAgICApO1xuICB9IGVsc2UgcmV0dXJuIG51bGw7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbWFnZUVtYmVkO1xuIl19 */"));
|
|
200
201
|
var hideByline = function hideByline(size) {
|
|
201
202
|
return !!size && size.endsWith('-hide-byline');
|
|
202
203
|
};
|
package/lib/Embed/index.d.ts
CHANGED
|
@@ -19,4 +19,4 @@ export { ConceptNotionV2 } from './conceptComponents';
|
|
|
19
19
|
export { default as ConceptListEmbed } from './ConceptListEmbed';
|
|
20
20
|
export { default as UnknownEmbed } from './UnknownEmbed';
|
|
21
21
|
export { InlineConcept, BlockConcept } from './ConceptEmbed';
|
|
22
|
-
export type { HeartButtonType, RenderContext } from './types';
|
|
22
|
+
export type { HeartButtonType, CanonicalUrlFuncs, RenderContext } from './types';
|
package/lib/Embed/types.d.ts
CHANGED
|
@@ -7,9 +7,17 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { ElementType } from 'react';
|
|
9
9
|
import { EmbedMetaData } from '@ndla/types-embed';
|
|
10
|
+
import { IImageMetaInformationV3 } from '@ndla/types-backend/image-api';
|
|
10
11
|
export type HeartButtonType = ElementType<{
|
|
11
12
|
embed: Extract<EmbedMetaData, {
|
|
12
13
|
status: 'success';
|
|
13
14
|
}>;
|
|
14
15
|
}>;
|
|
16
|
+
export type EmbedParameter<T extends EmbedMetaData['resource']> = Partial<Extract<EmbedMetaData, {
|
|
17
|
+
status: 'success';
|
|
18
|
+
resource: T;
|
|
19
|
+
}>>;
|
|
20
|
+
export type CanonicalUrlFuncs = {
|
|
21
|
+
image?: (image: IImageMetaInformationV3) => string;
|
|
22
|
+
};
|
|
15
23
|
export type RenderContext = 'article' | 'embed';
|
package/lib/index.d.ts
CHANGED
|
@@ -84,7 +84,7 @@ export { BlogPostV2 } from './BlogPost';
|
|
|
84
84
|
export { ProgrammeCard } from './ProgrammeCard';
|
|
85
85
|
export { KeyFigure } from './KeyFigure';
|
|
86
86
|
export { default as ContactBlock } from './ContactBlock';
|
|
87
|
-
export type { HeartButtonType, RenderContext } from './Embed';
|
|
87
|
+
export type { HeartButtonType, CanonicalUrlFuncs, RenderContext } from './Embed';
|
|
88
88
|
export { CampaignBlock } from './CampaignBlock';
|
|
89
89
|
export { Grid, GridParallaxItem } from './Grid';
|
|
90
90
|
export type { GridType } from './Grid';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/ui",
|
|
3
|
-
"version": "49.0.
|
|
3
|
+
"version": "49.0.7",
|
|
4
4
|
"description": "UI component library for NDLA.",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -31,23 +31,23 @@
|
|
|
31
31
|
"types"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@ndla/accordion": "^3.0.
|
|
35
|
-
"@ndla/button": "^12.0.
|
|
36
|
-
"@ndla/carousel": "^4.0.
|
|
37
|
-
"@ndla/core": "^4.2.
|
|
38
|
-
"@ndla/dropdown-menu": "^1.0.
|
|
39
|
-
"@ndla/forms": "^5.0.
|
|
34
|
+
"@ndla/accordion": "^3.0.4",
|
|
35
|
+
"@ndla/button": "^12.0.10",
|
|
36
|
+
"@ndla/carousel": "^4.0.12",
|
|
37
|
+
"@ndla/core": "^4.2.6",
|
|
38
|
+
"@ndla/dropdown-menu": "^1.0.15",
|
|
39
|
+
"@ndla/forms": "^5.0.12",
|
|
40
40
|
"@ndla/hooks": "^2.1.1",
|
|
41
|
-
"@ndla/icons": "^4.1.
|
|
41
|
+
"@ndla/icons": "^4.1.7",
|
|
42
42
|
"@ndla/licenses": "^7.2.2",
|
|
43
|
-
"@ndla/modal": "^5.0.
|
|
44
|
-
"@ndla/notion": "^6.0.
|
|
45
|
-
"@ndla/safelink": "^4.1.
|
|
46
|
-
"@ndla/select": "^3.1.
|
|
47
|
-
"@ndla/switch": "^1.1.
|
|
48
|
-
"@ndla/tabs": "^3.2.
|
|
49
|
-
"@ndla/tooltip": "^6.0.
|
|
50
|
-
"@ndla/typography": "^0.
|
|
43
|
+
"@ndla/modal": "^5.0.9",
|
|
44
|
+
"@ndla/notion": "^6.0.12",
|
|
45
|
+
"@ndla/safelink": "^4.1.35",
|
|
46
|
+
"@ndla/select": "^3.1.7",
|
|
47
|
+
"@ndla/switch": "^1.1.21",
|
|
48
|
+
"@ndla/tabs": "^3.2.1",
|
|
49
|
+
"@ndla/tooltip": "^6.0.3",
|
|
50
|
+
"@ndla/typography": "^0.3.0",
|
|
51
51
|
"@ndla/util": "^4.0.0",
|
|
52
52
|
"@radix-ui/react-popover": "^1.0.7",
|
|
53
53
|
"@radix-ui/react-radio-group": "^1.1.3",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@ndla/types-backend": "^0.2.21",
|
|
73
|
-
"@ndla/types-embed": "^4.0.
|
|
73
|
+
"@ndla/types-embed": "^4.0.7",
|
|
74
74
|
"css-loader": "^6.7.3",
|
|
75
75
|
"mini-css-extract-plugin": "^2.7.5",
|
|
76
76
|
"sass-loader": "^13.2.2",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"publishConfig": {
|
|
81
81
|
"access": "public"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "5b6502dbc509b761ddea72112df15ee4fe633255"
|
|
84
84
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { ReactNode } from 'react';
|
|
9
10
|
import { useTranslation } from 'react-i18next';
|
|
10
11
|
import concat from 'lodash/concat';
|
|
11
12
|
import { css } from '@emotion/react';
|
|
@@ -13,10 +14,11 @@ import styled from '@emotion/styled';
|
|
|
13
14
|
import { IImageMetaInformationV3 } from '@ndla/types-backend/image-api';
|
|
14
15
|
import { spacing, fonts, colors, mq, breakpoints, misc } from '@ndla/core';
|
|
15
16
|
import { BlobPointy, BlobRound } from '@ndla/icons/common';
|
|
16
|
-
import { getLicenseByAbbreviation } from '@ndla/licenses';
|
|
17
|
+
import { COPYRIGHTED, getLicenseByAbbreviation } from '@ndla/licenses';
|
|
17
18
|
import { errorSvgSrc } from '../Embed/ImageEmbed';
|
|
18
|
-
import Image from '../Image';
|
|
19
|
+
import Image, { ImageLink } from '../Image';
|
|
19
20
|
import LicenseLink from '../LicenseByline/LicenseLink';
|
|
21
|
+
import { CanonicalUrlFuncs } from '../Embed';
|
|
20
22
|
|
|
21
23
|
const BLOB_WIDTH = 90;
|
|
22
24
|
|
|
@@ -29,7 +31,9 @@ interface Props {
|
|
|
29
31
|
imageWidth?: number;
|
|
30
32
|
name: string;
|
|
31
33
|
email: string;
|
|
34
|
+
embedAlt?: string;
|
|
32
35
|
lang?: string;
|
|
36
|
+
imageCanonicalUrl?: CanonicalUrlFuncs['image'];
|
|
33
37
|
}
|
|
34
38
|
const BlockWrapper = styled.div`
|
|
35
39
|
display: flex;
|
|
@@ -129,14 +133,28 @@ const StyledImage = styled(Image)`
|
|
|
129
133
|
object-fit: cover;
|
|
130
134
|
`;
|
|
131
135
|
|
|
136
|
+
interface LinkWrapperProps {
|
|
137
|
+
src?: string;
|
|
138
|
+
children: ReactNode;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const LinkWrapper = ({ src, children }: LinkWrapperProps) => {
|
|
142
|
+
if (src) {
|
|
143
|
+
return <ImageLink src={src}>{children}</ImageLink>;
|
|
144
|
+
}
|
|
145
|
+
return children;
|
|
146
|
+
};
|
|
147
|
+
|
|
132
148
|
const ContactBlock = ({
|
|
133
149
|
image,
|
|
134
150
|
jobTitle,
|
|
135
151
|
description,
|
|
136
152
|
name,
|
|
137
153
|
email,
|
|
154
|
+
embedAlt,
|
|
138
155
|
blobColor = 'green',
|
|
139
156
|
blob = 'pointy',
|
|
157
|
+
imageCanonicalUrl,
|
|
140
158
|
lang,
|
|
141
159
|
}: Props) => {
|
|
142
160
|
const { t, i18n } = useTranslation();
|
|
@@ -147,16 +165,20 @@ const ContactBlock = ({
|
|
|
147
165
|
? getLicenseByAbbreviation(image.copyright.license.license, i18n.language)
|
|
148
166
|
: undefined;
|
|
149
167
|
|
|
168
|
+
const isCopyrighted = image?.copyright.license.license.toLowerCase() === COPYRIGHTED;
|
|
169
|
+
|
|
150
170
|
return (
|
|
151
171
|
<BlockWrapper>
|
|
152
172
|
<ImageWrapper>
|
|
153
173
|
{image ? (
|
|
154
174
|
<>
|
|
155
|
-
<
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
175
|
+
<LinkWrapper src={!isCopyrighted && image ? imageCanonicalUrl?.(image) : undefined}>
|
|
176
|
+
<StyledImage
|
|
177
|
+
alt={embedAlt !== undefined ? embedAlt : image.alttext.alttext}
|
|
178
|
+
src={image.image.imageUrl}
|
|
179
|
+
sizes={`(min-width: ${breakpoints.tablet}) 240px, (max-width: ${breakpoints.tablet}) 500px`}
|
|
180
|
+
/>
|
|
181
|
+
</LinkWrapper>
|
|
160
182
|
<span>
|
|
161
183
|
{`${t('photo')}: ${authors.reduce((acc, name) => (acc = `${acc} ${name?.name}`), '')} `}
|
|
162
184
|
{!!license && <LicenseLink license={license} asLink={!!license.url.length} />}
|
|
@@ -35,7 +35,8 @@ const IframeEmbed = ({ embed, isConcept }: Props) => {
|
|
|
35
35
|
|
|
36
36
|
if (embedData.type === 'fullscreen') {
|
|
37
37
|
const iframeImage = embed.status === 'success' ? embed.data.iframeImage : undefined;
|
|
38
|
-
const
|
|
38
|
+
const alt = embedData.alt !== undefined ? embedData.alt : iframeImage?.alttext.alttext;
|
|
39
|
+
const image = { src: iframeImage?.image.imageUrl ?? '', alt: alt ?? '' };
|
|
39
40
|
return (
|
|
40
41
|
<Figure type="full">
|
|
41
42
|
<ResourceBox
|
package/src/Embed/ImageEmbed.tsx
CHANGED
|
@@ -19,13 +19,14 @@ import { Figure, FigureType } from '../Figure';
|
|
|
19
19
|
import Image, { ImageLink } from '../Image';
|
|
20
20
|
import { EmbedByline } from '../LicenseByline';
|
|
21
21
|
import EmbedErrorPlaceholder from './EmbedErrorPlaceholder';
|
|
22
|
-
import { HeartButtonType, RenderContext } from './types';
|
|
22
|
+
import { CanonicalUrlFuncs, HeartButtonType, RenderContext } from './types';
|
|
23
23
|
|
|
24
24
|
interface Props {
|
|
25
25
|
embed: ImageMetaData;
|
|
26
26
|
previewAlt?: boolean;
|
|
27
27
|
path?: string;
|
|
28
28
|
heartButton?: HeartButtonType;
|
|
29
|
+
canonicalUrl?: CanonicalUrlFuncs['image'];
|
|
29
30
|
inGrid?: boolean;
|
|
30
31
|
lang?: string;
|
|
31
32
|
renderContext?: RenderContext;
|
|
@@ -113,6 +114,7 @@ const ImageEmbed = ({
|
|
|
113
114
|
inGrid,
|
|
114
115
|
path,
|
|
115
116
|
lang,
|
|
117
|
+
canonicalUrl,
|
|
116
118
|
renderContext = 'article',
|
|
117
119
|
}: Props) => {
|
|
118
120
|
const [isBylineHidden, setIsBylineHidden] = useState(hideByline(embed.embedData.size));
|
|
@@ -150,7 +152,7 @@ const ImageEmbed = ({
|
|
|
150
152
|
className={imageSizes ? `c-figure--${embedData.align} expanded` : ''}
|
|
151
153
|
>
|
|
152
154
|
<ImageWrapper
|
|
153
|
-
src={!isCopyrighted ?
|
|
155
|
+
src={!isCopyrighted ? canonicalUrl?.(data) : undefined}
|
|
154
156
|
crop={crop}
|
|
155
157
|
size={embedData.size}
|
|
156
158
|
pagePath={path}
|
package/src/Embed/index.ts
CHANGED
|
@@ -20,4 +20,4 @@ export { ConceptNotionV2 } from './conceptComponents';
|
|
|
20
20
|
export { default as ConceptListEmbed } from './ConceptListEmbed';
|
|
21
21
|
export { default as UnknownEmbed } from './UnknownEmbed';
|
|
22
22
|
export { InlineConcept, BlockConcept } from './ConceptEmbed';
|
|
23
|
-
export type { HeartButtonType, RenderContext } from './types';
|
|
23
|
+
export type { HeartButtonType, CanonicalUrlFuncs, RenderContext } from './types';
|
package/src/Embed/types.ts
CHANGED
|
@@ -8,7 +8,16 @@
|
|
|
8
8
|
|
|
9
9
|
import { ElementType } from 'react';
|
|
10
10
|
import { EmbedMetaData } from '@ndla/types-embed';
|
|
11
|
+
import { IImageMetaInformationV3 } from '@ndla/types-backend/image-api';
|
|
11
12
|
|
|
12
13
|
export type HeartButtonType = ElementType<{ embed: Extract<EmbedMetaData, { status: 'success' }> }>;
|
|
13
14
|
|
|
15
|
+
export type EmbedParameter<T extends EmbedMetaData['resource']> = Partial<
|
|
16
|
+
Extract<EmbedMetaData, { status: 'success'; resource: T }>
|
|
17
|
+
>;
|
|
18
|
+
|
|
19
|
+
export type CanonicalUrlFuncs = {
|
|
20
|
+
image?: (image: IImageMetaInformationV3) => string;
|
|
21
|
+
};
|
|
22
|
+
|
|
14
23
|
export type RenderContext = 'article' | 'embed';
|
package/src/index.ts
CHANGED
|
@@ -213,7 +213,7 @@ export { BlogPostV2 } from './BlogPost';
|
|
|
213
213
|
export { ProgrammeCard } from './ProgrammeCard';
|
|
214
214
|
export { KeyFigure } from './KeyFigure';
|
|
215
215
|
export { default as ContactBlock } from './ContactBlock';
|
|
216
|
-
export type { HeartButtonType, RenderContext } from './Embed';
|
|
216
|
+
export type { HeartButtonType, CanonicalUrlFuncs, RenderContext } from './Embed';
|
|
217
217
|
export { CampaignBlock } from './CampaignBlock';
|
|
218
218
|
export { Grid, GridParallaxItem } from './Grid';
|
|
219
219
|
export type { GridType } from './Grid';
|