@ndla/ui 36.0.2 → 37.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.
Files changed (174) hide show
  1. package/es/Article/Article.js +7 -13
  2. package/es/Article/ArticleByline.js +79 -123
  3. package/es/Article/ArticleFootNotes.js +16 -11
  4. package/es/AudioPlayer/AudioPlayer.js +33 -35
  5. package/es/AudioPlayer/initAudioPlayers.js +6 -1
  6. package/es/ContentTypeBadge/ContentTypeBadge.js +27 -6
  7. package/es/Embed/AudioEmbed.js +44 -188
  8. package/es/Embed/BrightcoveEmbed.js +32 -127
  9. package/es/Embed/ConceptEmbed.js +53 -75
  10. package/es/Embed/EmbedErrorPlaceholder.js +41 -0
  11. package/es/Embed/ExternalEmbed.js +5 -12
  12. package/es/Embed/H5pEmbed.js +5 -15
  13. package/es/Embed/IframeEmbed.js +4 -4
  14. package/es/Embed/ImageEmbed.js +41 -153
  15. package/es/Embed/RelatedContentEmbed.js +3 -3
  16. package/es/Embed/conceptComponents.js +62 -228
  17. package/es/Embed/types.js +1 -0
  18. package/es/KeyFigure/KeyFigure.js +57 -0
  19. package/es/{KeyPerformanceIndicator → KeyFigure}/index.js +1 -1
  20. package/es/LicenseByline/EmbedByline.js +33 -8
  21. package/es/LicenseByline/LicenseDescription.js +16 -14
  22. package/es/List/OrderedList.js +48 -0
  23. package/es/List/UnOrderedList.js +36 -0
  24. package/es/List/index.js +10 -0
  25. package/es/Navigation/NavigationBox.js +41 -48
  26. package/es/Navigation/NavigationHeading.js +18 -29
  27. package/es/Notion/Notion.js +5 -5
  28. package/es/Resource/ListResource.js +9 -9
  29. package/es/Resource/resourceComponents.js +12 -11
  30. package/es/Typography/Heading.js +38 -0
  31. package/es/Typography/index.js +9 -0
  32. package/es/all.css +1 -1
  33. package/es/index.js +4 -2
  34. package/es/locale/messages-en.js +6 -2
  35. package/es/locale/messages-nb.js +6 -2
  36. package/es/locale/messages-nn.js +6 -2
  37. package/es/locale/messages-se.js +6 -2
  38. package/es/locale/messages-sma.js +6 -2
  39. package/es/model/ContentType.js +7 -1
  40. package/lib/Article/Article.d.ts +1 -3
  41. package/lib/Article/Article.js +7 -13
  42. package/lib/Article/ArticleByline.d.ts +3 -5
  43. package/lib/Article/ArticleByline.js +83 -126
  44. package/lib/Article/ArticleFootNotes.js +16 -11
  45. package/lib/AudioPlayer/AudioPlayer.d.ts +1 -2
  46. package/lib/AudioPlayer/AudioPlayer.js +33 -36
  47. package/lib/AudioPlayer/initAudioPlayers.d.ts +1 -0
  48. package/lib/AudioPlayer/initAudioPlayers.js +9 -3
  49. package/lib/ContentTypeBadge/ContentTypeBadge.js +27 -6
  50. package/lib/Embed/AudioEmbed.d.ts +3 -2
  51. package/lib/Embed/AudioEmbed.js +53 -192
  52. package/lib/Embed/BrightcoveEmbed.d.ts +3 -1
  53. package/lib/Embed/BrightcoveEmbed.js +32 -126
  54. package/lib/Embed/ConceptEmbed.d.ts +7 -2
  55. package/lib/Embed/ConceptEmbed.js +51 -73
  56. package/lib/Embed/EmbedErrorPlaceholder.d.ts +17 -0
  57. package/lib/Embed/EmbedErrorPlaceholder.js +48 -0
  58. package/lib/Embed/ExternalEmbed.js +5 -11
  59. package/lib/Embed/H5pEmbed.js +5 -14
  60. package/lib/Embed/IframeEmbed.d.ts +2 -2
  61. package/lib/Embed/IframeEmbed.js +4 -4
  62. package/lib/Embed/ImageEmbed.d.ts +3 -10
  63. package/lib/Embed/ImageEmbed.js +48 -161
  64. package/lib/Embed/RelatedContentEmbed.js +3 -3
  65. package/lib/Embed/conceptComponents.d.ts +4 -2
  66. package/lib/Embed/conceptComponents.js +67 -231
  67. package/lib/Embed/index.d.ts +1 -0
  68. package/lib/Embed/types.d.ts +14 -0
  69. package/lib/Embed/types.js +5 -0
  70. package/lib/KeyFigure/KeyFigure.d.ts +10 -0
  71. package/lib/KeyFigure/KeyFigure.js +62 -0
  72. package/lib/KeyFigure/index.d.ts +1 -0
  73. package/lib/KeyFigure/index.js +13 -0
  74. package/lib/LicenseByline/EmbedByline.d.ts +10 -2
  75. package/lib/LicenseByline/EmbedByline.js +32 -7
  76. package/lib/LicenseByline/LicenseDescription.d.ts +3 -1
  77. package/lib/LicenseByline/LicenseDescription.js +14 -13
  78. package/lib/List/OrderedList.d.ts +15 -0
  79. package/lib/List/OrderedList.js +56 -0
  80. package/lib/List/UnOrderedList.d.ts +10 -0
  81. package/lib/List/UnOrderedList.js +43 -0
  82. package/lib/List/index.d.ts +9 -0
  83. package/lib/List/index.js +20 -0
  84. package/lib/Navigation/NavigationBox.js +40 -47
  85. package/lib/Navigation/NavigationHeading.js +17 -28
  86. package/lib/Notion/Notion.js +5 -5
  87. package/lib/Resource/ListResource.js +8 -8
  88. package/lib/Resource/resourceComponents.js +12 -11
  89. package/lib/Typography/Heading.d.ts +26 -0
  90. package/lib/Typography/Heading.js +45 -0
  91. package/lib/Typography/index.d.ts +8 -0
  92. package/lib/Typography/index.js +13 -0
  93. package/lib/all.css +1 -1
  94. package/lib/index.d.ts +4 -1
  95. package/lib/index.js +23 -3
  96. package/lib/locale/messages-en.d.ts +4 -0
  97. package/lib/locale/messages-en.js +6 -2
  98. package/lib/locale/messages-nb.d.ts +4 -0
  99. package/lib/locale/messages-nb.js +6 -2
  100. package/lib/locale/messages-nn.d.ts +4 -0
  101. package/lib/locale/messages-nn.js +6 -2
  102. package/lib/locale/messages-se.d.ts +4 -0
  103. package/lib/locale/messages-se.js +6 -2
  104. package/lib/locale/messages-sma.d.ts +4 -0
  105. package/lib/locale/messages-sma.js +6 -2
  106. package/lib/model/ContentType.d.ts +1 -0
  107. package/lib/model/ContentType.js +9 -2
  108. package/package.json +15 -15
  109. package/src/Article/Article.tsx +1 -8
  110. package/src/Article/ArticleByline.tsx +78 -127
  111. package/src/Article/ArticleFootNotes.tsx +33 -10
  112. package/src/Article/component.article.scss +1 -52
  113. package/src/Article/component.footnotes.scss +2 -2
  114. package/src/Aside/component.aside.scss +3 -3
  115. package/src/AudioPlayer/AudioPlayer.tsx +11 -24
  116. package/src/AudioPlayer/initAudioPlayers.tsx +7 -2
  117. package/src/ContentTypeBadge/ContentTypeBadge.tsx +29 -6
  118. package/src/ContentTypeBadge/component.content-type-badge.scss +9 -3
  119. package/src/Dialog/component.dialog.scss +4 -5
  120. package/src/Embed/AudioEmbed.stories.tsx +5 -3
  121. package/src/Embed/AudioEmbed.tsx +45 -192
  122. package/src/Embed/BrightcoveEmbed.stories.tsx +5 -1
  123. package/src/Embed/BrightcoveEmbed.tsx +24 -98
  124. package/src/Embed/ConceptEmbed.stories.tsx +5 -0
  125. package/src/Embed/ConceptEmbed.tsx +43 -54
  126. package/src/Embed/EmbedErrorPlaceholder.tsx +59 -0
  127. package/src/Embed/ExternalEmbed.stories.tsx +86 -0
  128. package/src/Embed/ExternalEmbed.tsx +3 -8
  129. package/src/Embed/H5pEmbed.stories.tsx +92 -0
  130. package/src/Embed/H5pEmbed.tsx +3 -11
  131. package/src/Embed/IframeEmbed.stories.tsx +130 -0
  132. package/src/Embed/IframeEmbed.tsx +3 -3
  133. package/src/Embed/ImageEmbed.stories.tsx +3 -1
  134. package/src/Embed/ImageEmbed.tsx +21 -116
  135. package/src/Embed/RelatedContentEmbed.tsx +3 -1
  136. package/src/Embed/conceptComponents.tsx +67 -257
  137. package/src/Embed/index.ts +1 -0
  138. package/src/Embed/types.ts +12 -0
  139. package/src/FactBox/component.factbox.scss +3 -3
  140. package/src/Figure/component.figure-license.scss +4 -4
  141. package/src/Figure/component.figure.scss +1 -1
  142. package/src/KeyFigure/KeyFigure.stories.tsx +36 -0
  143. package/src/{KeyPerformanceIndicator/KeyPerformanceIndicator.tsx → KeyFigure/KeyFigure.tsx} +9 -7
  144. package/src/{KeyPerformanceIndicator → KeyFigure}/index.ts +1 -1
  145. package/src/LicenseByline/EmbedByline.stories.tsx +1 -0
  146. package/src/LicenseByline/EmbedByline.tsx +57 -9
  147. package/src/LicenseByline/LicenseDescription.tsx +9 -3
  148. package/src/List/OrderedList.tsx +115 -0
  149. package/src/List/UnOrderedList.tsx +49 -0
  150. package/src/List/index.ts +10 -0
  151. package/src/MediaList/component.medialist.scss +2 -2
  152. package/src/Navigation/NavigationBox.tsx +10 -14
  153. package/src/Navigation/NavigationHeading.tsx +15 -24
  154. package/src/Notion/Notion.tsx +1 -1
  155. package/src/RelatedArticleList/component.related-articles.scss +3 -13
  156. package/src/Resource/ListResource.tsx +6 -2
  157. package/src/Resource/resourceComponents.tsx +4 -2
  158. package/src/Table/component.tables.scss +0 -46
  159. package/src/Translation/component.translation.scss +3 -5
  160. package/src/Typography/Heading.tsx +96 -0
  161. package/src/Typography/index.ts +9 -0
  162. package/src/index.ts +5 -1
  163. package/src/locale/messages-en.ts +4 -0
  164. package/src/locale/messages-nb.ts +4 -0
  165. package/src/locale/messages-nn.ts +4 -0
  166. package/src/locale/messages-se.ts +4 -0
  167. package/src/locale/messages-sma.ts +4 -0
  168. package/src/model/ContentType.ts +7 -0
  169. package/es/KeyPerformanceIndicator/KeyPerformanceIndicator.js +0 -57
  170. package/lib/KeyPerformanceIndicator/KeyPerformanceIndicator.d.ts +0 -8
  171. package/lib/KeyPerformanceIndicator/KeyPerformanceIndicator.js +0 -62
  172. package/lib/KeyPerformanceIndicator/index.d.ts +0 -1
  173. package/lib/KeyPerformanceIndicator/index.js +0 -13
  174. package/src/KeyPerformanceIndicator/KeyPerformanceIndicator.stories.tsx +0 -79
@@ -7,10 +7,15 @@
7
7
  */
8
8
  import React from 'react';
9
9
  import ReactDOM from 'react-dom';
10
+ import shave from 'shave';
10
11
  import Controls from './Controls';
11
12
  import SpeechControl from './SpeechControl';
12
- import { truncateDescription } from './AudioPlayer';
13
13
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
14
+ export var truncateDescription = function truncateDescription(el, readMoreLabel) {
15
+ shave(el, 90, {
16
+ character: "... <a href=\"#\" onclick=\"(function(e){e.preventDefault(); const parentNode = e.target.parentNode; parentNode.nextSibling.style.display = 'inline'; parentNode.remove();return false;})(arguments[0]);return false;\">".concat(readMoreLabel, "</a>")
17
+ });
18
+ };
14
19
  var forEachElement = function forEachElement(selector, callback) {
15
20
  var nodeList = document.querySelectorAll(selector);
16
21
  for (var i = 0; i < nodeList.length; i += 1) {
@@ -8,6 +8,7 @@ import React from 'react';
8
8
  import BEMHelper from 'react-bem-helper';
9
9
  import { SubjectMaterial, TasksAndActivities, AssessmentResource, Subject, ExternalLearningResource, SharedResource, LearningPath, MultidisciplinaryTopic } from '@ndla/icons/contentType';
10
10
  import { MenuBook } from '@ndla/icons/action';
11
+ import { Concept, Media, SquareAudio, SquareVideo } from '@ndla/icons/editor';
11
12
  import * as contentTypes from '../model/ContentType';
12
13
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
13
14
  var classes = new BEMHelper({
@@ -24,12 +25,7 @@ export var ContentTypeBadge = function ContentTypeBadge(_ref) {
24
25
  border = _ref$border === void 0 ? true : _ref$border,
25
26
  className = _ref.className;
26
27
  var modifiers = [type, size];
27
- if (background) {
28
- modifiers.push('background');
29
- }
30
- if (border) {
31
- modifiers.push('border');
32
- }
28
+ var embedResource = false;
33
29
  var icon = null;
34
30
  switch (type) {
35
31
  case contentTypes.SUBJECT_MATERIAL:
@@ -75,9 +71,34 @@ export var ContentTypeBadge = function ContentTypeBadge(_ref) {
75
71
  case contentTypes.MULTIDISCIPLINARY_TOPIC:
76
72
  icon = _jsx(MultidisciplinaryTopic, {});
77
73
  break;
74
+ case contentTypes.resourceTypeMapping.image:
75
+ icon = _jsx(Media, {});
76
+ embedResource = true;
77
+ break;
78
+ case contentTypes.resourceTypeMapping.audio:
79
+ icon = _jsx(SquareAudio, {});
80
+ embedResource = true;
81
+ break;
82
+ case contentTypes.resourceTypeMapping.video:
83
+ icon = _jsx(SquareVideo, {});
84
+ embedResource = true;
85
+ break;
86
+ case contentTypes.resourceTypeMapping.concept:
87
+ icon = _jsx(Concept, {});
88
+ embedResource = true;
89
+ break;
78
90
  default:
79
91
  break;
80
92
  }
93
+ if (embedResource) {
94
+ modifiers.push('embed-resource');
95
+ }
96
+ if (background || embedResource) {
97
+ modifiers.push('background');
98
+ }
99
+ if (border) {
100
+ modifiers.push('border');
101
+ }
81
102
  return _jsx("div", _objectSpread(_objectSpread({}, classes('', modifiers, className)), {}, {
82
103
  children: icon
83
104
  }));
@@ -1,9 +1,3 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
1
  /**
8
2
  * Copyright (c) 2023-present, NDLA.
9
3
  *
@@ -12,20 +6,14 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
6
  *
13
7
  */
14
8
 
15
- import { figureApa7CopyString, getGroupedContributorDescriptionList, getLicenseByAbbreviation, getLicenseCredits } from '@ndla/licenses';
16
- import { ModalV2 } from '@ndla/modal';
17
- import { useState } from 'react';
18
- import { useTranslation } from 'react-i18next';
19
9
  //@ts-ignore
20
10
  import { Remarkable } from 'remarkable';
21
- import { ButtonV2, CopyButton } from '@ndla/button';
22
- import { SafeLinkButton } from '@ndla/safelink';
23
11
  import AudioPlayer from '../AudioPlayer';
24
- import { Figure, FigureCaption } from '../Figure';
25
- import { FigureLicenseDialogContent } from '../Figure/FigureLicenseDialogContent';
12
+ import { Figure } from '../Figure';
13
+ import { EmbedByline } from '../LicenseByline';
14
+ import EmbedErrorPlaceholder from './EmbedErrorPlaceholder';
26
15
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
27
16
  import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
28
- import { Fragment as _Fragment } from "@emotion/react/jsx-runtime";
29
17
  export var getFirstNonEmptyLicenseCredits = function getFirstNonEmptyLicenseCredits(authors) {
30
18
  var _Object$values$find;
31
19
  return (_Object$values$find = Object.values(authors).find(function (i) {
@@ -41,38 +29,29 @@ var renderMarkdown = function renderMarkdown(text) {
41
29
  }
42
30
  });
43
31
  };
32
+ var imageMetaToMockEmbed = function imageMetaToMockEmbed(imageMeta) {
33
+ var _imageMeta$data$image, _imageMeta$data$image2, _imageMeta$data$image3, _imageMeta$data$image4;
34
+ return {
35
+ resource: 'image',
36
+ status: 'success',
37
+ // Make sure the seq is unused. It's rarely used, but it's nice to ensure uniqueness.
38
+ seq: imageMeta.seq + 0.1,
39
+ // We check that this exists where the function is used.
40
+ data: imageMeta.data.imageMeta,
41
+ embedData: {
42
+ resource: 'image',
43
+ resourceId: ((_imageMeta$data$image = imageMeta.data.imageMeta) === null || _imageMeta$data$image === void 0 ? void 0 : (_imageMeta$data$image2 = _imageMeta$data$image.id) === null || _imageMeta$data$image2 === void 0 ? void 0 : _imageMeta$data$image2.toString()) || '',
44
+ alt: (_imageMeta$data$image3 = (_imageMeta$data$image4 = imageMeta.data.imageMeta) === null || _imageMeta$data$image4 === void 0 ? void 0 : _imageMeta$data$image4.alttext.alttext) !== null && _imageMeta$data$image3 !== void 0 ? _imageMeta$data$image3 : ''
45
+ }
46
+ };
47
+ };
44
48
  var AudioEmbed = function AudioEmbed(_ref) {
45
- var _data$podcastMeta$int, _data$podcastMeta, _data$podcastMeta2;
49
+ var _data$manuscript, _data$podcastMeta, _data$podcastMeta$int, _data$podcastMeta2;
46
50
  var embed = _ref.embed,
47
- articlePath = _ref.articlePath;
48
- var _useTranslation = useTranslation(),
49
- t = _useTranslation.t,
50
- i18n = _useTranslation.i18n;
51
- var _useState = useState(false),
52
- _useState2 = _slicedToArray(_useState, 2),
53
- isOpen = _useState2[0],
54
- setIsOpen = _useState2[1];
51
+ HeartButton = _ref.heartButton;
55
52
  if (embed.status === 'error') {
56
- return _jsxs(Figure, {
57
- children: [_jsxs("svg", {
58
- fill: "#8A8888",
59
- height: "50",
60
- viewBox: "0 0 24 12",
61
- width: "100%",
62
- xmlns: "http://www.w3.org/2000/svg",
63
- style: {
64
- backgroundColor: '#EFF0F2'
65
- },
66
- children: [_jsx("path", {
67
- d: "M0 0h24v24H0V0z",
68
- fill: "none"
69
- }), _jsx("path", {
70
- transform: "scale(0.3) translate(28, 8.5)",
71
- d: "M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
72
- })]
73
- }), _jsx("figcaption", {
74
- children: t('audio.error.caption')
75
- })]
53
+ return _jsx(EmbedErrorPlaceholder, {
54
+ type: embed.embedData.type === 'standard' ? 'audio' : 'podcast'
76
55
  });
77
56
  }
78
57
  var data = embed.data,
@@ -89,166 +68,43 @@ var AudioEmbed = function AudioEmbed(_ref) {
89
68
  title: data.series.title.title,
90
69
  url: "/podkast/".concat(data.series.id)
91
70
  } : undefined;
92
- var textVersion = data.manuscript && renderMarkdown(data.manuscript.manuscript);
93
- var description = renderMarkdown((_data$podcastMeta$int = (_data$podcastMeta = data.podcastMeta) === null || _data$podcastMeta === void 0 ? void 0 : _data$podcastMeta.introduction) !== null && _data$podcastMeta$int !== void 0 ? _data$podcastMeta$int : '');
94
- var coverPhoto = (_data$podcastMeta2 = data.podcastMeta) === null || _data$podcastMeta2 === void 0 ? void 0 : _data$podcastMeta2.coverPhoto;
71
+ var textVersion = (_data$manuscript = data.manuscript) !== null && _data$manuscript !== void 0 && _data$manuscript.manuscript.length ? renderMarkdown(data.manuscript.manuscript) : undefined;
72
+ var coverPhoto = (_data$podcastMeta = data.podcastMeta) === null || _data$podcastMeta === void 0 ? void 0 : _data$podcastMeta.coverPhoto;
95
73
  var img = coverPhoto && {
96
74
  url: coverPhoto.url,
97
75
  alt: coverPhoto.altText
98
76
  };
99
- var authors = getLicenseCredits(data.copyright);
100
- var license = getLicenseByAbbreviation(data.copyright.license.license, i18n.language);
101
- var contributors = getGroupedContributorDescriptionList(data.copyright, i18n.language).map(function (item) {
102
- return {
103
- name: item.description,
104
- type: item.label
105
- };
106
- });
107
77
  var figureId = "figure-".concat(seq, "-").concat(data.id);
108
- var copyString = data.audioType === 'podcast' ? figureApa7CopyString(data.title.title, undefined, data.audioFile.url, articlePath, data.copyright, data.copyright.license.license, '', function (id) {
109
- return t(id);
110
- }, i18n.language) : undefined;
111
- var captionAuthors = getFirstNonEmptyLicenseCredits(authors);
112
78
  return _jsxs(Figure, {
113
79
  id: figureId,
114
80
  type: "full",
115
81
  children: [_jsx(AudioPlayer, {
116
- description: description,
82
+ description: (_data$podcastMeta$int = (_data$podcastMeta2 = data.podcastMeta) === null || _data$podcastMeta2 === void 0 ? void 0 : _data$podcastMeta2.introduction) !== null && _data$podcastMeta$int !== void 0 ? _data$podcastMeta$int : '',
117
83
  img: img,
118
84
  src: data.audioFile.url,
119
85
  textVersion: textVersion,
120
86
  title: data.title.title,
121
87
  subtitle: subtitle
122
- }), _jsx(FigureCaption, {
123
- id: "",
124
- figureId: "",
125
- modalButton: _jsx(ButtonV2, {
126
- variant: "outline",
127
- shape: "pill",
128
- size: "small",
129
- onClick: function onClick() {
130
- return setIsOpen(true);
131
- },
132
- children: t('audio.reuse')
133
- }),
134
- licenseRights: license.rights,
135
- authors: captionAuthors,
136
- locale: i18n.language
137
- }), _jsx(ModalV2, {
138
- controlled: true,
139
- isOpen: isOpen,
140
- onClose: function onClose() {
141
- return setIsOpen(false);
142
- },
143
- labelledBy: "license-dialog-rules-heading",
144
- children: function children(close) {
145
- return _jsx(FigureLicenseDialogContent, {
146
- onClose: close,
147
- title: data.title.title,
148
- license: license,
149
- authors: contributors,
150
- origin: data.copyright.origin,
151
- locale: i18n.language,
152
- type: "audio",
153
- children: data.copyright.license.license !== 'COPYRIGHT' && _jsxs(_Fragment, {
154
- children: [copyString && _jsx(CopyButton, {
155
- variant: "outline",
156
- copyNode: t('license.hasCopiedTitle'),
157
- onClick: function onClick() {
158
- return navigator.clipboard.writeText(copyString);
159
- },
160
- children: t('license.copyTitle')
161
- }), _jsx(SafeLinkButton, {
162
- download: true,
163
- to: data.audioFile.url,
164
- variant: "outline",
165
- children: t('audio.download')
166
- })]
167
- })
168
- });
169
- }
170
- }), data.imageMeta && _jsx(ImageLicense, {
171
- title: data.imageMeta.title.title,
172
- imageUrl: data.imageMeta.imageUrl,
88
+ }), _jsx(EmbedByline, {
89
+ error: false,
90
+ type: embedData.type === 'standard' ? 'audio' : 'podcast',
91
+ topRounded: false,
92
+ bottomRounded: !data.imageMeta,
93
+ copyright: embed.data.copyright,
94
+ children: HeartButton && _jsx(HeartButton, {
95
+ embed: embed
96
+ })
97
+ }), data.imageMeta && _jsx(EmbedByline, {
98
+ error: false,
99
+ first: false,
100
+ type: "image",
101
+ topRounded: false,
102
+ bottomRounded: true,
173
103
  copyright: data.imageMeta.copyright,
174
- articlePath: articlePath
175
- })]
176
- });
177
- };
178
- var ImageLicense = function ImageLicense(_ref2) {
179
- var articlePath = _ref2.articlePath,
180
- title = _ref2.title,
181
- imageUrl = _ref2.imageUrl,
182
- copyright = _ref2.copyright;
183
- var _useTranslation2 = useTranslation(),
184
- t = _useTranslation2.t,
185
- i18n = _useTranslation2.i18n;
186
- var _useState3 = useState(false),
187
- _useState4 = _slicedToArray(_useState3, 2),
188
- isOpen = _useState4[0],
189
- setIsOpen = _useState4[1];
190
- var copyString = figureApa7CopyString(title, undefined, imageUrl, articlePath, copyright, copyright.license.license, undefined, function (id) {
191
- return t(id);
192
- }, i18n.language);
193
- var license = getLicenseByAbbreviation(copyright.license.license, i18n.language);
194
- var authors = getLicenseCredits(copyright);
195
- var contributors = getGroupedContributorDescriptionList(copyright, i18n.language).map(function (item) {
196
- return {
197
- name: item.description,
198
- type: item.label
199
- };
200
- });
201
- var captionAuthors = getFirstNonEmptyLicenseCredits(authors);
202
- return _jsx(_Fragment, {
203
- children: _jsx(FigureCaption, {
204
- figureId: "",
205
- id: "",
206
- licenseRights: license.rights,
207
- modalButton: _jsx(ButtonV2, {
208
- variant: "outline",
209
- shape: "pill",
210
- size: "small",
211
- onClick: function onClick() {
212
- return setIsOpen(true);
213
- },
214
- children: t('image.reuse')
215
- }),
216
- authors: captionAuthors,
217
- locale: i18n.language,
218
- children: _jsx(ModalV2, {
219
- controlled: true,
220
- isOpen: isOpen,
221
- onClose: function onClose() {
222
- return setIsOpen(false);
223
- },
224
- children: function children(close) {
225
- return _jsx(FigureLicenseDialogContent, {
226
- onClose: close,
227
- title: title,
228
- license: license,
229
- authors: contributors,
230
- origin: copyright.origin,
231
- locale: i18n.language,
232
- type: "image",
233
- children: copyright.license.license !== 'COPYRIGHTED' && _jsxs(_Fragment, {
234
- children: [copyString && _jsx(CopyButton, {
235
- variant: "outline",
236
- copyNode: t('license.hasCopiedTitle'),
237
- onClick: function onClick() {
238
- return navigator.clipboard.writeText(copyString);
239
- },
240
- children: t('license.copyTitle')
241
- }), _jsx(SafeLinkButton, {
242
- download: true,
243
- to: imageUrl,
244
- variant: "outline",
245
- children: t('image.download')
246
- })]
247
- })
248
- });
249
- }
104
+ children: HeartButton && _jsx(HeartButton, {
105
+ embed: imageMetaToMockEmbed(embed)
250
106
  })
251
- })
107
+ })]
252
108
  });
253
109
  };
254
110
  export default AudioEmbed;
@@ -23,22 +23,18 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
23
23
  import sortBy from 'lodash/sortBy';
24
24
  import isNumber from 'lodash/isNumber';
25
25
  import { spacing } from '@ndla/core';
26
- import { getGroupedContributorDescriptionList, getLicenseByAbbreviation } from '@ndla/licenses';
27
26
  import { useEffect, useRef, useState } from 'react';
28
- import { ModalV2 } from '@ndla/modal';
29
- import { SafeLinkButton } from '@ndla/safelink';
30
27
  import { useTranslation } from 'react-i18next';
31
- import { ButtonV2, CopyButton } from '@ndla/button';
32
- import { Figure, FigureCaption } from '../Figure';
33
- import { FigureLicenseDialogContent } from '../Figure/FigureLicenseDialogContent';
34
- import { getFirstNonEmptyLicenseCredits } from './AudioEmbed';
28
+ import { ButtonV2 } from '@ndla/button';
29
+ import { Figure } from '../Figure';
30
+ import { EmbedByline } from '../LicenseByline';
31
+ import EmbedErrorPlaceholder from './EmbedErrorPlaceholder';
35
32
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
36
33
  import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
37
- import { Fragment as _Fragment } from "@emotion/react/jsx-runtime";
38
34
  var LinkedVideoButton = /*#__PURE__*/_styled(ButtonV2, {
39
35
  target: "e2wbdyh1",
40
36
  label: "LinkedVideoButton"
41
- })("margin-left:", spacing.small, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJyaWdodGNvdmVFbWJlZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEIwQyIsImZpbGUiOiJCcmlnaHRjb3ZlRW1iZWQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgc29ydEJ5IGZyb20gJ2xvZGFzaC9zb3J0QnknO1xuaW1wb3J0IGlzTnVtYmVyIGZyb20gJ2xvZGFzaC9pc051bWJlcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyBnZXRHcm91cGVkQ29udHJpYnV0b3JEZXNjcmlwdGlvbkxpc3QsIGdldExpY2Vuc2VCeUFiYnJldmlhdGlvbiB9IGZyb20gJ0BuZGxhL2xpY2Vuc2VzJztcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1vZGFsVjIgfSBmcm9tICdAbmRsYS9tb2RhbCc7XG5pbXBvcnQgeyBTYWZlTGlua0J1dHRvbiB9IGZyb20gJ0BuZGxhL3NhZmVsaW5rJztcbmltcG9ydCB7IEJyaWdodGNvdmVFbWJlZERhdGEsIEJyaWdodGNvdmVNZXRhRGF0YSwgQnJpZ2h0Y292ZVZpZGVvU291cmNlIH0gZnJvbSAnQG5kbGEvdHlwZXMtZW1iZWQnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IEJ1dHRvblYyLCBDb3B5QnV0dG9uIH0gZnJvbSAnQG5kbGEvYnV0dG9uJztcbmltcG9ydCB7IEZpZ3VyZSwgRmlndXJlQ2FwdGlvbiB9IGZyb20gJy4uL0ZpZ3VyZSc7XG5pbXBvcnQgeyBGaWd1cmVMaWNlbnNlRGlhbG9nQ29udGVudCB9IGZyb20gJy4uL0ZpZ3VyZS9GaWd1cmVMaWNlbnNlRGlhbG9nQ29udGVudCc7XG5pbXBvcnQgeyBnZXRGaXJzdE5vbkVtcHR5TGljZW5zZUNyZWRpdHMgfSBmcm9tICcuL0F1ZGlvRW1iZWQnO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBlbWJlZDogQnJpZ2h0Y292ZU1ldGFEYXRhO1xuICBpc0NvbmNlcHQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBMaW5rZWRWaWRlb0J1dHRvbiA9IHN0eWxlZChCdXR0b25WMilgXG4gIG1hcmdpbi1sZWZ0OiAke3NwYWNpbmcuc21hbGx9O1xuYDtcblxuY29uc3QgQnJpZ2h0Y292ZUlmcmFtZSA9IHN0eWxlZC5pZnJhbWVgXG4gIGhlaWdodDogYXV0bztcbmA7XG5cbmV4cG9ydCBjb25zdCBtYWtlSWZyYW1lU3RyaW5nID0gKHVybDogc3RyaW5nLCB3aWR0aDogc3RyaW5nIHwgbnVtYmVyLCBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciwgdGl0bGU6IHN0cmluZyA9ICcnKSA9PiB7XG4gIGNvbnN0IHN0cmlwcGVkV2lkdGggPSBpc051bWJlcih3aWR0aCkgPyB3aWR0aCA6IHdpZHRoLnJlcGxhY2UoL1xccypweC8sICcnKTtcbiAgY29uc3Qgc3RyaXBwZWRIZWlnaHQgPSBpc051bWJlcihoZWlnaHQpID8gaGVpZ2h0IDogaGVpZ2h0LnJlcGxhY2UoL1xccypweC8sICcnKTtcbiAgY29uc3QgdXJsT3JUaXRsZSA9IHRpdGxlIHx8IHVybDtcbiAgcmV0dXJuIGA8aWZyYW1lIHRpdGxlPVwiJHt1cmxPclRpdGxlfVwiIGFyaWEtbGFiZWw9XCIke3VybE9yVGl0bGV9XCIgc3JjPVwiJHt1cmx9XCIgd2lkdGg9XCIke3N0cmlwcGVkV2lkdGh9XCIgaGVpZ2h0PVwiJHtzdHJpcHBlZEhlaWdodH1cIiBhbGxvd2Z1bGxzY3JlZW4gc2Nyb2xsaW5nPVwibm9cIiBmcmFtZWJvcmRlcj1cIjBcIiBsb2FkaW5nPVwibGF6eVwiPjwvaWZyYW1lPmA7XG59O1xuXG5leHBvcnQgY29uc3QgaXNOdW1lcmljID0gKHZhbHVlOiBhbnkpID0+ICFOdW1iZXIuaXNOYU4odmFsdWUgLSBwYXJzZUZsb2F0KHZhbHVlKSk7XG5cbmNvbnN0IGdldElmcmFtZVByb3BzID0gKGRhdGE6IEJyaWdodGNvdmVFbWJlZERhdGEsIHNvdXJjZXM6IEJyaWdodGNvdmVWaWRlb1NvdXJjZVtdKSA9PiB7XG4gIGNvbnN0IHsgYWNjb3VudCwgdmlkZW9pZCwgcGxheWVyID0gJ2RlZmF1bHQnIH0gPSBkYXRhO1xuXG4gIGNvbnN0IHNvdXJjZSA9IHNvcnRCeShcbiAgICBzb3VyY2VzLmZpbHRlcigocykgPT4gcy53aWR0aCAmJiBzLmhlaWdodCksXG4gICAgKHMpID0+IHMuaGVpZ2h0LFxuICApWzBdO1xuXG4gIHJldHVybiB7XG4gICAgc3JjOiBgaHR0cHM6Ly9wbGF5ZXJzLmJyaWdodGNvdmUubmV0LyR7YWNjb3VudH0vJHtwbGF5ZXJ9X2RlZmF1bHQvaW5kZXguaHRtbD92aWRlb0lkPSR7dmlkZW9pZH1gLFxuICAgIGhlaWdodDogc291cmNlPy5oZWlnaHQgPz8gJzQ4MCcsXG4gICAgd2lkdGg6IHNvdXJjZT8ud2lkdGggPz8gJzY0MCcsXG4gIH07XG59O1xuY29uc3QgQnJpZ2h0Y292ZUVtYmVkID0gKHsgZW1iZWQsIGlzQ29uY2VwdCB9OiBQcm9wcykgPT4ge1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2hvd09yaWdpbmFsVmlkZW8sIHNldFNob3dPcmlnaW5hbFZpZGVvXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IGlmcmFtZVJlZiA9IHVzZVJlZjxIVE1MSUZyYW1lRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHsgZW1iZWREYXRhIH0gPSBlbWJlZDtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlmcmFtZSA9IGlmcmFtZVJlZi5jdXJyZW50O1xuICAgIGlmIChpZnJhbWUpIHtcbiAgICAgIGNvbnN0IFt3aWR0aCwgaGVpZ2h0XSA9IFtwYXJzZUludChpZnJhbWUud2lkdGgpLCBwYXJzZUludChpZnJhbWUuaGVpZ2h0KV07XG4gICAgICBpZnJhbWUuc3R5bGUuYXNwZWN0UmF0aW8gPSBgJHt3aWR0aH0vJHtoZWlnaHR9YDtcbiAgICAgIGlmcmFtZS53aWR0aCA9ICcnO1xuICAgICAgaWZyYW1lLmhlaWdodCA9ICcnO1xuICAgIH1cbiAgfSwgW10pO1xuICBpZiAoZW1iZWQuc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxGaWd1cmUgdHlwZT17aXNDb25jZXB0ID8gJ2Z1bGwtY29sdW1uJyA6ICdmdWxsJ30gcmVzaXplSWZyYW1lPlxuICAgICAgICA8QnJpZ2h0Y292ZUlmcmFtZVxuICAgICAgICAgIHJlZj17aWZyYW1lUmVmfVxuICAgICAgICAgIHRpdGxlPXtgVmlkZW86ICR7ZW1iZWREYXRhLnZpZGVvaWQgPz8gJyd9YH1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgVmlkZW86ICR7ZW1iZWREYXRhLnZpZGVvaWQgPz8gJyd9YH1cbiAgICAgICAgICBmcmFtZUJvcmRlcj1cIjBcIlxuICAgICAgICAgIHsuLi5nZXRJZnJhbWVQcm9wcyhlbWJlZERhdGEsIFtdKX1cbiAgICAgICAgICBhbGxvd0Z1bGxTY3JlZW5cbiAgICAgICAgLz5cbiAgICAgICAgPGZpZ2NhcHRpb24+e3QoJ3ZpZGVvLmVycm9yJyl9PC9maWdjYXB0aW9uPlxuICAgICAgPC9GaWd1cmU+XG4gICAgKTtcbiAgfVxuICBjb25zdCB7IGRhdGEsIHNlcSB9ID0gZW1iZWQ7XG5cbiAgY29uc3QgbGlua2VkVmlkZW9JZCA9IGlzTnVtZXJpYyhkYXRhLmxpbms/LnRleHQpID8gZGF0YS5saW5rPy50ZXh0IDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGxpY2Vuc2UgPSBnZXRMaWNlbnNlQnlBYmJyZXZpYXRpb24oZGF0YS5jb3B5cmlnaHQ/LmxpY2Vuc2UubGljZW5zZSA/PyAnJywgaTE4bi5sYW5ndWFnZSk7XG4gIGNvbnN0IGNvbnRyaWJ1dG9ycyA9IGRhdGEuY29weXJpZ2h0XG4gICAgPyBnZXRHcm91cGVkQ29udHJpYnV0b3JEZXNjcmlwdGlvbkxpc3QoZGF0YS5jb3B5cmlnaHQsIGkxOG4ubGFuZ3VhZ2UpLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgbmFtZTogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgdHlwZTogaXRlbS5sYWJlbCxcbiAgICAgIH0pKVxuICAgIDogW107XG5cbiAgY29uc3QgeyByaWdodHNob2xkZXJzID0gW10sIGNyZWF0b3JzID0gW10sIHByb2Nlc3NvcnMgPSBbXSB9ID0gZGF0YS5jb3B5cmlnaHQgPz8ge307XG5cbiAgY29uc3QgZG93bmxvYWQgPSBzb3J0QnkoXG4gICAgZGF0YS5zb3VyY2VzLmZpbHRlcigoc3JjKSA9PiBzcmMuY29udGFpbmVyID09PSAnTVA0JyAmJiBzcmMuc3JjKSxcbiAgICAoc3JjKSA9PiBzcmMuc2l6ZSxcbiAgKT8uWzBdPy5zcmM7XG5cbiAgY29uc3QgZmlndXJlSWQgPSBgZmlndXJlLSR7c2VxfS0ke2RhdGEuaWR9YDtcbiAgY29uc3Qgb3JpZ2luYWxWaWRlb1Byb3BzID0gZ2V0SWZyYW1lUHJvcHMoZW1iZWREYXRhLCBkYXRhLnNvdXJjZXMpO1xuICBjb25zdCBhbHRlcm5hdGl2ZVZpZGVvUHJvcHMgPSBsaW5rZWRWaWRlb0lkXG4gICAgPyBnZXRJZnJhbWVQcm9wcyh7IC4uLmVtYmVkRGF0YSwgdmlkZW9pZDogbGlua2VkVmlkZW9JZCB9LCBkYXRhLnNvdXJjZXMpXG4gICAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGNhcHRpb25BdXRob3JzID0gZ2V0Rmlyc3ROb25FbXB0eUxpY2Vuc2VDcmVkaXRzKHsgcmlnaHRzaG9sZGVycywgY3JlYXRvcnMsIHByb2Nlc3NvcnMgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIGlkPXtmaWd1cmVJZH0gdHlwZT17aXNDb25jZXB0ID8gJ2Z1bGwtY29sdW1uJyA6ICdmdWxsJ30gcmVzaXplSWZyYW1lPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJicmlnaHRjb3ZlLXZpZGVvXCI+XG4gICAgICAgIDxCcmlnaHRjb3ZlSWZyYW1lXG4gICAgICAgICAgcmVmPXtpZnJhbWVSZWZ9XG4gICAgICAgICAgY2xhc3NOYW1lPVwib3JpZ2luYWxcIlxuICAgICAgICAgIHRpdGxlPXtgVmlkZW86ICR7ZGF0YS5uYW1lfWB9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YFZpZGVvOiAke2RhdGEubmFtZX1gfVxuICAgICAgICAgIGZyYW1lQm9yZGVyPVwiMFwiXG4gICAgICAgICAgey4uLihhbHRlcm5hdGl2ZVZpZGVvUHJvcHMgJiYgIXNob3dPcmlnaW5hbFZpZGVvID8gYWx0ZXJuYXRpdmVWaWRlb1Byb3BzIDogb3JpZ2luYWxWaWRlb1Byb3BzKX1cbiAgICAgICAgICBhbGxvd0Z1bGxTY3JlZW5cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPEZpZ3VyZUNhcHRpb25cbiAgICAgICAgZmlndXJlSWQ9e2ZpZ3VyZUlkfVxuICAgICAgICBpZD17ZGF0YS5pZH1cbiAgICAgICAgbG9jYWxlPXtpMThuLmxhbmd1YWdlfVxuICAgICAgICBjYXB0aW9uPXtlbWJlZERhdGEuY2FwdGlvbiA/PyAnJ31cbiAgICAgICAgbW9kYWxCdXR0b249e1xuICAgICAgICAgIDxCdXR0b25WMiB2YXJpYW50PVwib3V0bGluZVwiIHNoYXBlPVwicGlsbFwiIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9eygpID0+IHNldElzT3Blbih0cnVlKX0+XG4gICAgICAgICAgICB7dCgndmlkZW8ucmV1c2UnKX1cbiAgICAgICAgICA8L0J1dHRvblYyPlxuICAgICAgICB9XG4gICAgICAgIGxpbmtlZFZpZGVvQnV0dG9uPXtcbiAgICAgICAgICA8TGlua2VkVmlkZW9CdXR0b25cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgIHNoYXBlPVwicGlsbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd09yaWdpbmFsVmlkZW8oKHApID0+ICFwKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dChgZmlndXJlLmJ1dHRvbi4keyFzaG93T3JpZ2luYWxWaWRlbyA/ICdvcmlnaW5hbCcgOiAnYWx0ZXJuYXRpdmUnfWApfVxuICAgICAgICAgIDwvTGlua2VkVmlkZW9CdXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgbGljZW5zZVJpZ2h0cz17bGljZW5zZS5yaWdodHN9XG4gICAgICAgIGF1dGhvcnM9e2NhcHRpb25BdXRob3JzfVxuICAgICAgICBoYXNMaW5rZWRWaWRlbz17ISFsaW5rZWRWaWRlb0lkfVxuICAgICAgLz5cbiAgICAgIDxNb2RhbFYyIGNvbnRyb2xsZWQgaXNPcGVuPXtpc09wZW59IG9uQ2xvc2U9eygpID0+IHNldElzT3BlbihmYWxzZSl9IGxhYmVsbGVkQnk9XCJsaWNlbnNlLWRpYWxvZy1ydWxlcy1oZWFkaW5nXCI+XG4gICAgICAgIHsoY2xvc2UpID0+IChcbiAgICAgICAgICA8RmlndXJlTGljZW5zZURpYWxvZ0NvbnRlbnRcbiAgICAgICAgICAgIG9uQ2xvc2U9e2Nsb3NlfVxuICAgICAgICAgICAgdGl0bGU9e2RhdGEubmFtZX1cbiAgICAgICAgICAgIGxvY2FsZT17aTE4bi5sYW5ndWFnZX1cbiAgICAgICAgICAgIGxpY2Vuc2U9e2xpY2Vuc2V9XG4gICAgICAgICAgICBhdXRob3JzPXtjb250cmlidXRvcnN9XG4gICAgICAgICAgICB0eXBlPVwidmlkZW9cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxWaWRlb0xpY2Vuc2VCdXR0b25zXG4gICAgICAgICAgICAgIGRvd25sb2FkPXtkb3dubG9hZH1cbiAgICAgICAgICAgICAgbGljZW5zZUNvZGU9e2RhdGEuY29weXJpZ2h0Py5saWNlbnNlLmxpY2Vuc2V9XG4gICAgICAgICAgICAgIHNyYz17b3JpZ2luYWxWaWRlb1Byb3BzLnNyY31cbiAgICAgICAgICAgICAgd2lkdGg9e29yaWdpbmFsVmlkZW9Qcm9wcy53aWR0aH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtvcmlnaW5hbFZpZGVvUHJvcHMuaGVpZ2h0fVxuICAgICAgICAgICAgICBuYW1lPXtkYXRhLm5hbWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvRmlndXJlTGljZW5zZURpYWxvZ0NvbnRlbnQ+XG4gICAgICAgICl9XG4gICAgICA8L01vZGFsVjI+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuXG5pbnRlcmZhY2UgVmlkZW9MaWNlbnNlQnV0dG9uc1Byb3BzIHtcbiAgZG93bmxvYWQ6IHN0cmluZztcbiAgbGljZW5zZUNvZGU/OiBzdHJpbmc7XG4gIHNyYzogc3RyaW5nO1xuICB3aWR0aDogc3RyaW5nIHwgbnVtYmVyO1xuICBoZWlnaHQ6IHN0cmluZyB8IG51bWJlcjtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuY29uc3QgVmlkZW9MaWNlbnNlQnV0dG9ucyA9ICh7IGRvd25sb2FkLCBzcmMsIHdpZHRoLCBoZWlnaHQsIG5hbWUsIGxpY2Vuc2VDb2RlIH06IFZpZGVvTGljZW5zZUJ1dHRvbnNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtsaWNlbnNlQ29kZSAhPT0gJ0NPUFlSSUdIVEVEJyAmJiAoXG4gICAgICAgIDxTYWZlTGlua0J1dHRvbiBrZXk9XCJkb3dubG9hZFwiIHRvPXtkb3dubG9hZH0gdmFyaWFudD1cIm91dGxpbmVcIiBkb3dubG9hZD5cbiAgICAgICAgICB7dCgndmlkZW8uZG93bmxvYWQnKX1cbiAgICAgICAgPC9TYWZlTGlua0J1dHRvbj5cbiAgICAgICl9XG4gICAgICA8Q29weUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgIGNvcHlOb2RlPXt0KCdsaWNlbnNlLmhhc0NvcGllZFRpdGxlJyl9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KG1ha2VJZnJhbWVTdHJpbmcoc3JjLCB3aWR0aCwgaGVpZ2h0LCBuYW1lKSl9XG4gICAgICA+XG4gICAgICAgIHt0KCdsaWNlbnNlLmVtYmVkJyl9XG4gICAgICA8L0NvcHlCdXR0b24+XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBCcmlnaHRjb3ZlRW1iZWQ7XG4iXX0= */"));
37
+ })("margin-left:", spacing.small, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJyaWdodGNvdmVFbWJlZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkIwQyIsImZpbGUiOiJCcmlnaHRjb3ZlRW1iZWQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgc29ydEJ5IGZyb20gJ2xvZGFzaC9zb3J0QnknO1xuaW1wb3J0IGlzTnVtYmVyIGZyb20gJ2xvZGFzaC9pc051bWJlcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCcmlnaHRjb3ZlRW1iZWREYXRhLCBCcmlnaHRjb3ZlTWV0YURhdGEsIEJyaWdodGNvdmVWaWRlb1NvdXJjZSB9IGZyb20gJ0BuZGxhL3R5cGVzLWVtYmVkJztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBCdXR0b25WMiB9IGZyb20gJ0BuZGxhL2J1dHRvbic7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tICcuLi9GaWd1cmUnO1xuaW1wb3J0IHsgRW1iZWRCeWxpbmUgfSBmcm9tICcuLi9MaWNlbnNlQnlsaW5lJztcbmltcG9ydCBFbWJlZEVycm9yUGxhY2Vob2xkZXIgZnJvbSAnLi9FbWJlZEVycm9yUGxhY2Vob2xkZXInO1xuaW1wb3J0IHsgSGVhcnRCdXR0b25UeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGVtYmVkOiBCcmlnaHRjb3ZlTWV0YURhdGE7XG4gIGlzQ29uY2VwdD86IGJvb2xlYW47XG4gIGhlYXJ0QnV0dG9uPzogSGVhcnRCdXR0b25UeXBlO1xufVxuXG5jb25zdCBMaW5rZWRWaWRlb0J1dHRvbiA9IHN0eWxlZChCdXR0b25WMilgXG4gIG1hcmdpbi1sZWZ0OiAke3NwYWNpbmcuc21hbGx9O1xuYDtcblxuY29uc3QgQnJpZ2h0Y292ZUlmcmFtZSA9IHN0eWxlZC5pZnJhbWVgXG4gIGhlaWdodDogYXV0bztcbmA7XG5cbmV4cG9ydCBjb25zdCBtYWtlSWZyYW1lU3RyaW5nID0gKHVybDogc3RyaW5nLCB3aWR0aDogc3RyaW5nIHwgbnVtYmVyLCBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciwgdGl0bGU6IHN0cmluZyA9ICcnKSA9PiB7XG4gIGNvbnN0IHN0cmlwcGVkV2lkdGggPSBpc051bWJlcih3aWR0aCkgPyB3aWR0aCA6IHdpZHRoLnJlcGxhY2UoL1xccypweC8sICcnKTtcbiAgY29uc3Qgc3RyaXBwZWRIZWlnaHQgPSBpc051bWJlcihoZWlnaHQpID8gaGVpZ2h0IDogaGVpZ2h0LnJlcGxhY2UoL1xccypweC8sICcnKTtcbiAgY29uc3QgdXJsT3JUaXRsZSA9IHRpdGxlIHx8IHVybDtcbiAgcmV0dXJuIGA8aWZyYW1lIHRpdGxlPVwiJHt1cmxPclRpdGxlfVwiIGFyaWEtbGFiZWw9XCIke3VybE9yVGl0bGV9XCIgc3JjPVwiJHt1cmx9XCIgd2lkdGg9XCIke3N0cmlwcGVkV2lkdGh9XCIgaGVpZ2h0PVwiJHtzdHJpcHBlZEhlaWdodH1cIiBhbGxvd2Z1bGxzY3JlZW4gc2Nyb2xsaW5nPVwibm9cIiBmcmFtZWJvcmRlcj1cIjBcIiBsb2FkaW5nPVwibGF6eVwiPjwvaWZyYW1lPmA7XG59O1xuXG5leHBvcnQgY29uc3QgaXNOdW1lcmljID0gKHZhbHVlOiBhbnkpID0+ICFOdW1iZXIuaXNOYU4odmFsdWUgLSBwYXJzZUZsb2F0KHZhbHVlKSk7XG5cbmNvbnN0IGdldElmcmFtZVByb3BzID0gKGRhdGE6IEJyaWdodGNvdmVFbWJlZERhdGEsIHNvdXJjZXM6IEJyaWdodGNvdmVWaWRlb1NvdXJjZVtdKSA9PiB7XG4gIGNvbnN0IHsgYWNjb3VudCwgdmlkZW9pZCwgcGxheWVyID0gJ2RlZmF1bHQnIH0gPSBkYXRhO1xuXG4gIGNvbnN0IHNvdXJjZSA9IHNvcnRCeShcbiAgICBzb3VyY2VzLmZpbHRlcigocykgPT4gcy53aWR0aCAmJiBzLmhlaWdodCksXG4gICAgKHMpID0+IHMuaGVpZ2h0LFxuICApWzBdO1xuXG4gIHJldHVybiB7XG4gICAgc3JjOiBgaHR0cHM6Ly9wbGF5ZXJzLmJyaWdodGNvdmUubmV0LyR7YWNjb3VudH0vJHtwbGF5ZXJ9X2RlZmF1bHQvaW5kZXguaHRtbD92aWRlb0lkPSR7dmlkZW9pZH1gLFxuICAgIGhlaWdodDogc291cmNlPy5oZWlnaHQgPz8gJzQ4MCcsXG4gICAgd2lkdGg6IHNvdXJjZT8ud2lkdGggPz8gJzY0MCcsXG4gIH07XG59O1xuY29uc3QgQnJpZ2h0Y292ZUVtYmVkID0gKHsgZW1iZWQsIGlzQ29uY2VwdCwgaGVhcnRCdXR0b246IEhlYXJ0QnV0dG9uIH06IFByb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93T3JpZ2luYWxWaWRlbywgc2V0U2hvd09yaWdpbmFsVmlkZW9dID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgaWZyYW1lUmVmID0gdXNlUmVmPEhUTUxJRnJhbWVFbGVtZW50PihudWxsKTtcbiAgY29uc3QgeyBlbWJlZERhdGEgfSA9IGVtYmVkO1xuICBjb25zdCBmYWxsYmFja1RpdGxlID0gYCR7dCgnZW1iZWQudHlwZS52aWRlbycpfTogJHtlbWJlZERhdGEudmlkZW9pZH1gO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaWZyYW1lID0gaWZyYW1lUmVmLmN1cnJlbnQ7XG4gICAgaWYgKGlmcmFtZSkge1xuICAgICAgY29uc3QgW3dpZHRoLCBoZWlnaHRdID0gW3BhcnNlSW50KGlmcmFtZS53aWR0aCksIHBhcnNlSW50KGlmcmFtZS5oZWlnaHQpXTtcbiAgICAgIGlmcmFtZS5zdHlsZS5hc3BlY3RSYXRpbyA9IGAke3dpZHRofS8ke2hlaWdodH1gO1xuICAgICAgaWZyYW1lLndpZHRoID0gJyc7XG4gICAgICBpZnJhbWUuaGVpZ2h0ID0gJyc7XG4gICAgfVxuICB9LCBbXSk7XG4gIGlmIChlbWJlZC5zdGF0dXMgPT09ICdlcnJvcicpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEVtYmVkRXJyb3JQbGFjZWhvbGRlciB0eXBlPVwidmlkZW9cIj5cbiAgICAgICAgPEJyaWdodGNvdmVJZnJhbWVcbiAgICAgICAgICByZWY9e2lmcmFtZVJlZn1cbiAgICAgICAgICB0aXRsZT17ZW1iZWREYXRhLmFsdCA/PyBmYWxsYmFja1RpdGxlfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2VtYmVkRGF0YS5hbHQgPz8gZmFsbGJhY2tUaXRsZX1cbiAgICAgICAgICBmcmFtZUJvcmRlcj1cIjBcIlxuICAgICAgICAgIHsuLi5nZXRJZnJhbWVQcm9wcyhlbWJlZERhdGEsIFtdKX1cbiAgICAgICAgICBhbGxvd0Z1bGxTY3JlZW5cbiAgICAgICAgLz5cbiAgICAgIDwvRW1iZWRFcnJvclBsYWNlaG9sZGVyPlxuICAgICk7XG4gIH1cbiAgY29uc3QgeyBkYXRhLCBzZXEgfSA9IGVtYmVkO1xuXG4gIGNvbnN0IGxpbmtlZFZpZGVvSWQgPSBpc051bWVyaWMoZGF0YS5saW5rPy50ZXh0KSA/IGRhdGEubGluaz8udGV4dCA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBmaWd1cmVJZCA9IGBmaWd1cmUtJHtzZXF9LSR7ZGF0YS5pZH1gO1xuICBjb25zdCBvcmlnaW5hbFZpZGVvUHJvcHMgPSBnZXRJZnJhbWVQcm9wcyhlbWJlZERhdGEsIGRhdGEuc291cmNlcyk7XG4gIGNvbnN0IGFsdGVybmF0aXZlVmlkZW9Qcm9wcyA9IGxpbmtlZFZpZGVvSWRcbiAgICA/IGdldElmcmFtZVByb3BzKHsgLi4uZW1iZWREYXRhLCB2aWRlb2lkOiBsaW5rZWRWaWRlb0lkIH0sIGRhdGEuc291cmNlcylcbiAgICA6IHVuZGVmaW5lZDtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgaWQ9e2ZpZ3VyZUlkfSB0eXBlPXtpc0NvbmNlcHQgPyAnZnVsbC1jb2x1bW4nIDogJ2Z1bGwnfSByZXNpemVJZnJhbWU+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJyaWdodGNvdmUtdmlkZW9cIj5cbiAgICAgICAgPEJyaWdodGNvdmVJZnJhbWVcbiAgICAgICAgICByZWY9e2lmcmFtZVJlZn1cbiAgICAgICAgICBjbGFzc05hbWU9XCJvcmlnaW5hbFwiXG4gICAgICAgICAgdGl0bGU9e2VtYmVkRGF0YS5hbHQgPz8gZGF0YS5uYW1lID8/IGZhbGxiYWNrVGl0bGV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17ZW1iZWREYXRhLmFsdCA/PyBkYXRhLm5hbWUgPz8gZmFsbGJhY2tUaXRsZX1cbiAgICAgICAgICBmcmFtZUJvcmRlcj1cIjBcIlxuICAgICAgICAgIHsuLi4oYWx0ZXJuYXRpdmVWaWRlb1Byb3BzICYmICFzaG93T3JpZ2luYWxWaWRlbyA/IGFsdGVybmF0aXZlVmlkZW9Qcm9wcyA6IG9yaWdpbmFsVmlkZW9Qcm9wcyl9XG4gICAgICAgICAgYWxsb3dGdWxsU2NyZWVuXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxFbWJlZEJ5bGluZVxuICAgICAgICB0eXBlPVwidmlkZW9cIlxuICAgICAgICBjb3B5cmlnaHQ9e2RhdGEuY29weXJpZ2h0IX1cbiAgICAgICAgZGVzY3JpcHRpb249e2VtYmVkRGF0YS5jYXB0aW9uID8/IGRhdGEuZGVzY3JpcHRpb24gPz8gJyd9XG4gICAgICAgIGJvdHRvbVJvdW5kZWRcbiAgICAgID5cbiAgICAgICAgeyEhbGlua2VkVmlkZW9JZCAmJiAoXG4gICAgICAgICAgPExpbmtlZFZpZGVvQnV0dG9uXG4gICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgICAgICBzaGFwZT1cInBpbGxcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dPcmlnaW5hbFZpZGVvKChwKSA9PiAhcCl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoYGZpZ3VyZS5idXR0b24uJHshc2hvd09yaWdpbmFsVmlkZW8gPyAnb3JpZ2luYWwnIDogJ2FsdGVybmF0aXZlJ31gKX1cbiAgICAgICAgICA8L0xpbmtlZFZpZGVvQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICB7SGVhcnRCdXR0b24gJiYgPEhlYXJ0QnV0dG9uIGVtYmVkPXtlbWJlZH0gLz59XG4gICAgICA8L0VtYmVkQnlsaW5lPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQnJpZ2h0Y292ZUVtYmVkO1xuIl19 */"));
42
38
  var BrightcoveIframe = /*#__PURE__*/_styled("iframe", {
43
39
  target: "e2wbdyh0",
44
40
  label: "BrightcoveIframe"
@@ -48,7 +44,7 @@ var BrightcoveIframe = /*#__PURE__*/_styled("iframe", {
48
44
  } : {
49
45
  name: "pit38s",
50
46
  styles: "height:auto",
51
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJyaWdodGNvdmVFbWJlZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0NzQyIsImZpbGUiOiJCcmlnaHRjb3ZlRW1iZWQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgc29ydEJ5IGZyb20gJ2xvZGFzaC9zb3J0QnknO1xuaW1wb3J0IGlzTnVtYmVyIGZyb20gJ2xvZGFzaC9pc051bWJlcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyBnZXRHcm91cGVkQ29udHJpYnV0b3JEZXNjcmlwdGlvbkxpc3QsIGdldExpY2Vuc2VCeUFiYnJldmlhdGlvbiB9IGZyb20gJ0BuZGxhL2xpY2Vuc2VzJztcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1vZGFsVjIgfSBmcm9tICdAbmRsYS9tb2RhbCc7XG5pbXBvcnQgeyBTYWZlTGlua0J1dHRvbiB9IGZyb20gJ0BuZGxhL3NhZmVsaW5rJztcbmltcG9ydCB7IEJyaWdodGNvdmVFbWJlZERhdGEsIEJyaWdodGNvdmVNZXRhRGF0YSwgQnJpZ2h0Y292ZVZpZGVvU291cmNlIH0gZnJvbSAnQG5kbGEvdHlwZXMtZW1iZWQnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IEJ1dHRvblYyLCBDb3B5QnV0dG9uIH0gZnJvbSAnQG5kbGEvYnV0dG9uJztcbmltcG9ydCB7IEZpZ3VyZSwgRmlndXJlQ2FwdGlvbiB9IGZyb20gJy4uL0ZpZ3VyZSc7XG5pbXBvcnQgeyBGaWd1cmVMaWNlbnNlRGlhbG9nQ29udGVudCB9IGZyb20gJy4uL0ZpZ3VyZS9GaWd1cmVMaWNlbnNlRGlhbG9nQ29udGVudCc7XG5pbXBvcnQgeyBnZXRGaXJzdE5vbkVtcHR5TGljZW5zZUNyZWRpdHMgfSBmcm9tICcuL0F1ZGlvRW1iZWQnO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBlbWJlZDogQnJpZ2h0Y292ZU1ldGFEYXRhO1xuICBpc0NvbmNlcHQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBMaW5rZWRWaWRlb0J1dHRvbiA9IHN0eWxlZChCdXR0b25WMilgXG4gIG1hcmdpbi1sZWZ0OiAke3NwYWNpbmcuc21hbGx9O1xuYDtcblxuY29uc3QgQnJpZ2h0Y292ZUlmcmFtZSA9IHN0eWxlZC5pZnJhbWVgXG4gIGhlaWdodDogYXV0bztcbmA7XG5cbmV4cG9ydCBjb25zdCBtYWtlSWZyYW1lU3RyaW5nID0gKHVybDogc3RyaW5nLCB3aWR0aDogc3RyaW5nIHwgbnVtYmVyLCBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciwgdGl0bGU6IHN0cmluZyA9ICcnKSA9PiB7XG4gIGNvbnN0IHN0cmlwcGVkV2lkdGggPSBpc051bWJlcih3aWR0aCkgPyB3aWR0aCA6IHdpZHRoLnJlcGxhY2UoL1xccypweC8sICcnKTtcbiAgY29uc3Qgc3RyaXBwZWRIZWlnaHQgPSBpc051bWJlcihoZWlnaHQpID8gaGVpZ2h0IDogaGVpZ2h0LnJlcGxhY2UoL1xccypweC8sICcnKTtcbiAgY29uc3QgdXJsT3JUaXRsZSA9IHRpdGxlIHx8IHVybDtcbiAgcmV0dXJuIGA8aWZyYW1lIHRpdGxlPVwiJHt1cmxPclRpdGxlfVwiIGFyaWEtbGFiZWw9XCIke3VybE9yVGl0bGV9XCIgc3JjPVwiJHt1cmx9XCIgd2lkdGg9XCIke3N0cmlwcGVkV2lkdGh9XCIgaGVpZ2h0PVwiJHtzdHJpcHBlZEhlaWdodH1cIiBhbGxvd2Z1bGxzY3JlZW4gc2Nyb2xsaW5nPVwibm9cIiBmcmFtZWJvcmRlcj1cIjBcIiBsb2FkaW5nPVwibGF6eVwiPjwvaWZyYW1lPmA7XG59O1xuXG5leHBvcnQgY29uc3QgaXNOdW1lcmljID0gKHZhbHVlOiBhbnkpID0+ICFOdW1iZXIuaXNOYU4odmFsdWUgLSBwYXJzZUZsb2F0KHZhbHVlKSk7XG5cbmNvbnN0IGdldElmcmFtZVByb3BzID0gKGRhdGE6IEJyaWdodGNvdmVFbWJlZERhdGEsIHNvdXJjZXM6IEJyaWdodGNvdmVWaWRlb1NvdXJjZVtdKSA9PiB7XG4gIGNvbnN0IHsgYWNjb3VudCwgdmlkZW9pZCwgcGxheWVyID0gJ2RlZmF1bHQnIH0gPSBkYXRhO1xuXG4gIGNvbnN0IHNvdXJjZSA9IHNvcnRCeShcbiAgICBzb3VyY2VzLmZpbHRlcigocykgPT4gcy53aWR0aCAmJiBzLmhlaWdodCksXG4gICAgKHMpID0+IHMuaGVpZ2h0LFxuICApWzBdO1xuXG4gIHJldHVybiB7XG4gICAgc3JjOiBgaHR0cHM6Ly9wbGF5ZXJzLmJyaWdodGNvdmUubmV0LyR7YWNjb3VudH0vJHtwbGF5ZXJ9X2RlZmF1bHQvaW5kZXguaHRtbD92aWRlb0lkPSR7dmlkZW9pZH1gLFxuICAgIGhlaWdodDogc291cmNlPy5oZWlnaHQgPz8gJzQ4MCcsXG4gICAgd2lkdGg6IHNvdXJjZT8ud2lkdGggPz8gJzY0MCcsXG4gIH07XG59O1xuY29uc3QgQnJpZ2h0Y292ZUVtYmVkID0gKHsgZW1iZWQsIGlzQ29uY2VwdCB9OiBQcm9wcykgPT4ge1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2hvd09yaWdpbmFsVmlkZW8sIHNldFNob3dPcmlnaW5hbFZpZGVvXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IGlmcmFtZVJlZiA9IHVzZVJlZjxIVE1MSUZyYW1lRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHsgZW1iZWREYXRhIH0gPSBlbWJlZDtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlmcmFtZSA9IGlmcmFtZVJlZi5jdXJyZW50O1xuICAgIGlmIChpZnJhbWUpIHtcbiAgICAgIGNvbnN0IFt3aWR0aCwgaGVpZ2h0XSA9IFtwYXJzZUludChpZnJhbWUud2lkdGgpLCBwYXJzZUludChpZnJhbWUuaGVpZ2h0KV07XG4gICAgICBpZnJhbWUuc3R5bGUuYXNwZWN0UmF0aW8gPSBgJHt3aWR0aH0vJHtoZWlnaHR9YDtcbiAgICAgIGlmcmFtZS53aWR0aCA9ICcnO1xuICAgICAgaWZyYW1lLmhlaWdodCA9ICcnO1xuICAgIH1cbiAgfSwgW10pO1xuICBpZiAoZW1iZWQuc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxGaWd1cmUgdHlwZT17aXNDb25jZXB0ID8gJ2Z1bGwtY29sdW1uJyA6ICdmdWxsJ30gcmVzaXplSWZyYW1lPlxuICAgICAgICA8QnJpZ2h0Y292ZUlmcmFtZVxuICAgICAgICAgIHJlZj17aWZyYW1lUmVmfVxuICAgICAgICAgIHRpdGxlPXtgVmlkZW86ICR7ZW1iZWREYXRhLnZpZGVvaWQgPz8gJyd9YH1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgVmlkZW86ICR7ZW1iZWREYXRhLnZpZGVvaWQgPz8gJyd9YH1cbiAgICAgICAgICBmcmFtZUJvcmRlcj1cIjBcIlxuICAgICAgICAgIHsuLi5nZXRJZnJhbWVQcm9wcyhlbWJlZERhdGEsIFtdKX1cbiAgICAgICAgICBhbGxvd0Z1bGxTY3JlZW5cbiAgICAgICAgLz5cbiAgICAgICAgPGZpZ2NhcHRpb24+e3QoJ3ZpZGVvLmVycm9yJyl9PC9maWdjYXB0aW9uPlxuICAgICAgPC9GaWd1cmU+XG4gICAgKTtcbiAgfVxuICBjb25zdCB7IGRhdGEsIHNlcSB9ID0gZW1iZWQ7XG5cbiAgY29uc3QgbGlua2VkVmlkZW9JZCA9IGlzTnVtZXJpYyhkYXRhLmxpbms/LnRleHQpID8gZGF0YS5saW5rPy50ZXh0IDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGxpY2Vuc2UgPSBnZXRMaWNlbnNlQnlBYmJyZXZpYXRpb24oZGF0YS5jb3B5cmlnaHQ/LmxpY2Vuc2UubGljZW5zZSA/PyAnJywgaTE4bi5sYW5ndWFnZSk7XG4gIGNvbnN0IGNvbnRyaWJ1dG9ycyA9IGRhdGEuY29weXJpZ2h0XG4gICAgPyBnZXRHcm91cGVkQ29udHJpYnV0b3JEZXNjcmlwdGlvbkxpc3QoZGF0YS5jb3B5cmlnaHQsIGkxOG4ubGFuZ3VhZ2UpLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgbmFtZTogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgdHlwZTogaXRlbS5sYWJlbCxcbiAgICAgIH0pKVxuICAgIDogW107XG5cbiAgY29uc3QgeyByaWdodHNob2xkZXJzID0gW10sIGNyZWF0b3JzID0gW10sIHByb2Nlc3NvcnMgPSBbXSB9ID0gZGF0YS5jb3B5cmlnaHQgPz8ge307XG5cbiAgY29uc3QgZG93bmxvYWQgPSBzb3J0QnkoXG4gICAgZGF0YS5zb3VyY2VzLmZpbHRlcigoc3JjKSA9PiBzcmMuY29udGFpbmVyID09PSAnTVA0JyAmJiBzcmMuc3JjKSxcbiAgICAoc3JjKSA9PiBzcmMuc2l6ZSxcbiAgKT8uWzBdPy5zcmM7XG5cbiAgY29uc3QgZmlndXJlSWQgPSBgZmlndXJlLSR7c2VxfS0ke2RhdGEuaWR9YDtcbiAgY29uc3Qgb3JpZ2luYWxWaWRlb1Byb3BzID0gZ2V0SWZyYW1lUHJvcHMoZW1iZWREYXRhLCBkYXRhLnNvdXJjZXMpO1xuICBjb25zdCBhbHRlcm5hdGl2ZVZpZGVvUHJvcHMgPSBsaW5rZWRWaWRlb0lkXG4gICAgPyBnZXRJZnJhbWVQcm9wcyh7IC4uLmVtYmVkRGF0YSwgdmlkZW9pZDogbGlua2VkVmlkZW9JZCB9LCBkYXRhLnNvdXJjZXMpXG4gICAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGNhcHRpb25BdXRob3JzID0gZ2V0Rmlyc3ROb25FbXB0eUxpY2Vuc2VDcmVkaXRzKHsgcmlnaHRzaG9sZGVycywgY3JlYXRvcnMsIHByb2Nlc3NvcnMgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIGlkPXtmaWd1cmVJZH0gdHlwZT17aXNDb25jZXB0ID8gJ2Z1bGwtY29sdW1uJyA6ICdmdWxsJ30gcmVzaXplSWZyYW1lPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJicmlnaHRjb3ZlLXZpZGVvXCI+XG4gICAgICAgIDxCcmlnaHRjb3ZlSWZyYW1lXG4gICAgICAgICAgcmVmPXtpZnJhbWVSZWZ9XG4gICAgICAgICAgY2xhc3NOYW1lPVwib3JpZ2luYWxcIlxuICAgICAgICAgIHRpdGxlPXtgVmlkZW86ICR7ZGF0YS5uYW1lfWB9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YFZpZGVvOiAke2RhdGEubmFtZX1gfVxuICAgICAgICAgIGZyYW1lQm9yZGVyPVwiMFwiXG4gICAgICAgICAgey4uLihhbHRlcm5hdGl2ZVZpZGVvUHJvcHMgJiYgIXNob3dPcmlnaW5hbFZpZGVvID8gYWx0ZXJuYXRpdmVWaWRlb1Byb3BzIDogb3JpZ2luYWxWaWRlb1Byb3BzKX1cbiAgICAgICAgICBhbGxvd0Z1bGxTY3JlZW5cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPEZpZ3VyZUNhcHRpb25cbiAgICAgICAgZmlndXJlSWQ9e2ZpZ3VyZUlkfVxuICAgICAgICBpZD17ZGF0YS5pZH1cbiAgICAgICAgbG9jYWxlPXtpMThuLmxhbmd1YWdlfVxuICAgICAgICBjYXB0aW9uPXtlbWJlZERhdGEuY2FwdGlvbiA/PyAnJ31cbiAgICAgICAgbW9kYWxCdXR0b249e1xuICAgICAgICAgIDxCdXR0b25WMiB2YXJpYW50PVwib3V0bGluZVwiIHNoYXBlPVwicGlsbFwiIHNpemU9XCJzbWFsbFwiIG9uQ2xpY2s9eygpID0+IHNldElzT3Blbih0cnVlKX0+XG4gICAgICAgICAgICB7dCgndmlkZW8ucmV1c2UnKX1cbiAgICAgICAgICA8L0J1dHRvblYyPlxuICAgICAgICB9XG4gICAgICAgIGxpbmtlZFZpZGVvQnV0dG9uPXtcbiAgICAgICAgICA8TGlua2VkVmlkZW9CdXR0b25cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgIHNoYXBlPVwicGlsbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd09yaWdpbmFsVmlkZW8oKHApID0+ICFwKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dChgZmlndXJlLmJ1dHRvbi4keyFzaG93T3JpZ2luYWxWaWRlbyA/ICdvcmlnaW5hbCcgOiAnYWx0ZXJuYXRpdmUnfWApfVxuICAgICAgICAgIDwvTGlua2VkVmlkZW9CdXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgbGljZW5zZVJpZ2h0cz17bGljZW5zZS5yaWdodHN9XG4gICAgICAgIGF1dGhvcnM9e2NhcHRpb25BdXRob3JzfVxuICAgICAgICBoYXNMaW5rZWRWaWRlbz17ISFsaW5rZWRWaWRlb0lkfVxuICAgICAgLz5cbiAgICAgIDxNb2RhbFYyIGNvbnRyb2xsZWQgaXNPcGVuPXtpc09wZW59IG9uQ2xvc2U9eygpID0+IHNldElzT3BlbihmYWxzZSl9IGxhYmVsbGVkQnk9XCJsaWNlbnNlLWRpYWxvZy1ydWxlcy1oZWFkaW5nXCI+XG4gICAgICAgIHsoY2xvc2UpID0+IChcbiAgICAgICAgICA8RmlndXJlTGljZW5zZURpYWxvZ0NvbnRlbnRcbiAgICAgICAgICAgIG9uQ2xvc2U9e2Nsb3NlfVxuICAgICAgICAgICAgdGl0bGU9e2RhdGEubmFtZX1cbiAgICAgICAgICAgIGxvY2FsZT17aTE4bi5sYW5ndWFnZX1cbiAgICAgICAgICAgIGxpY2Vuc2U9e2xpY2Vuc2V9XG4gICAgICAgICAgICBhdXRob3JzPXtjb250cmlidXRvcnN9XG4gICAgICAgICAgICB0eXBlPVwidmlkZW9cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxWaWRlb0xpY2Vuc2VCdXR0b25zXG4gICAgICAgICAgICAgIGRvd25sb2FkPXtkb3dubG9hZH1cbiAgICAgICAgICAgICAgbGljZW5zZUNvZGU9e2RhdGEuY29weXJpZ2h0Py5saWNlbnNlLmxpY2Vuc2V9XG4gICAgICAgICAgICAgIHNyYz17b3JpZ2luYWxWaWRlb1Byb3BzLnNyY31cbiAgICAgICAgICAgICAgd2lkdGg9e29yaWdpbmFsVmlkZW9Qcm9wcy53aWR0aH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtvcmlnaW5hbFZpZGVvUHJvcHMuaGVpZ2h0fVxuICAgICAgICAgICAgICBuYW1lPXtkYXRhLm5hbWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvRmlndXJlTGljZW5zZURpYWxvZ0NvbnRlbnQ+XG4gICAgICAgICl9XG4gICAgICA8L01vZGFsVjI+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuXG5pbnRlcmZhY2UgVmlkZW9MaWNlbnNlQnV0dG9uc1Byb3BzIHtcbiAgZG93bmxvYWQ6IHN0cmluZztcbiAgbGljZW5zZUNvZGU/OiBzdHJpbmc7XG4gIHNyYzogc3RyaW5nO1xuICB3aWR0aDogc3RyaW5nIHwgbnVtYmVyO1xuICBoZWlnaHQ6IHN0cmluZyB8IG51bWJlcjtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuY29uc3QgVmlkZW9MaWNlbnNlQnV0dG9ucyA9ICh7IGRvd25sb2FkLCBzcmMsIHdpZHRoLCBoZWlnaHQsIG5hbWUsIGxpY2Vuc2VDb2RlIH06IFZpZGVvTGljZW5zZUJ1dHRvbnNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtsaWNlbnNlQ29kZSAhPT0gJ0NPUFlSSUdIVEVEJyAmJiAoXG4gICAgICAgIDxTYWZlTGlua0J1dHRvbiBrZXk9XCJkb3dubG9hZFwiIHRvPXtkb3dubG9hZH0gdmFyaWFudD1cIm91dGxpbmVcIiBkb3dubG9hZD5cbiAgICAgICAgICB7dCgndmlkZW8uZG93bmxvYWQnKX1cbiAgICAgICAgPC9TYWZlTGlua0J1dHRvbj5cbiAgICAgICl9XG4gICAgICA8Q29weUJ1dHRvblxuICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgIGNvcHlOb2RlPXt0KCdsaWNlbnNlLmhhc0NvcGllZFRpdGxlJyl9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KG1ha2VJZnJhbWVTdHJpbmcoc3JjLCB3aWR0aCwgaGVpZ2h0LCBuYW1lKSl9XG4gICAgICA+XG4gICAgICAgIHt0KCdsaWNlbnNlLmVtYmVkJyl9XG4gICAgICA8L0NvcHlCdXR0b24+XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBCcmlnaHRjb3ZlRW1iZWQ7XG4iXX0= */",
47
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJyaWdodGNvdmVFbWJlZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0JzQyIsImZpbGUiOiJCcmlnaHRjb3ZlRW1iZWQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgc29ydEJ5IGZyb20gJ2xvZGFzaC9zb3J0QnknO1xuaW1wb3J0IGlzTnVtYmVyIGZyb20gJ2xvZGFzaC9pc051bWJlcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCcmlnaHRjb3ZlRW1iZWREYXRhLCBCcmlnaHRjb3ZlTWV0YURhdGEsIEJyaWdodGNvdmVWaWRlb1NvdXJjZSB9IGZyb20gJ0BuZGxhL3R5cGVzLWVtYmVkJztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBCdXR0b25WMiB9IGZyb20gJ0BuZGxhL2J1dHRvbic7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tICcuLi9GaWd1cmUnO1xuaW1wb3J0IHsgRW1iZWRCeWxpbmUgfSBmcm9tICcuLi9MaWNlbnNlQnlsaW5lJztcbmltcG9ydCBFbWJlZEVycm9yUGxhY2Vob2xkZXIgZnJvbSAnLi9FbWJlZEVycm9yUGxhY2Vob2xkZXInO1xuaW1wb3J0IHsgSGVhcnRCdXR0b25UeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGVtYmVkOiBCcmlnaHRjb3ZlTWV0YURhdGE7XG4gIGlzQ29uY2VwdD86IGJvb2xlYW47XG4gIGhlYXJ0QnV0dG9uPzogSGVhcnRCdXR0b25UeXBlO1xufVxuXG5jb25zdCBMaW5rZWRWaWRlb0J1dHRvbiA9IHN0eWxlZChCdXR0b25WMilgXG4gIG1hcmdpbi1sZWZ0OiAke3NwYWNpbmcuc21hbGx9O1xuYDtcblxuY29uc3QgQnJpZ2h0Y292ZUlmcmFtZSA9IHN0eWxlZC5pZnJhbWVgXG4gIGhlaWdodDogYXV0bztcbmA7XG5cbmV4cG9ydCBjb25zdCBtYWtlSWZyYW1lU3RyaW5nID0gKHVybDogc3RyaW5nLCB3aWR0aDogc3RyaW5nIHwgbnVtYmVyLCBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciwgdGl0bGU6IHN0cmluZyA9ICcnKSA9PiB7XG4gIGNvbnN0IHN0cmlwcGVkV2lkdGggPSBpc051bWJlcih3aWR0aCkgPyB3aWR0aCA6IHdpZHRoLnJlcGxhY2UoL1xccypweC8sICcnKTtcbiAgY29uc3Qgc3RyaXBwZWRIZWlnaHQgPSBpc051bWJlcihoZWlnaHQpID8gaGVpZ2h0IDogaGVpZ2h0LnJlcGxhY2UoL1xccypweC8sICcnKTtcbiAgY29uc3QgdXJsT3JUaXRsZSA9IHRpdGxlIHx8IHVybDtcbiAgcmV0dXJuIGA8aWZyYW1lIHRpdGxlPVwiJHt1cmxPclRpdGxlfVwiIGFyaWEtbGFiZWw9XCIke3VybE9yVGl0bGV9XCIgc3JjPVwiJHt1cmx9XCIgd2lkdGg9XCIke3N0cmlwcGVkV2lkdGh9XCIgaGVpZ2h0PVwiJHtzdHJpcHBlZEhlaWdodH1cIiBhbGxvd2Z1bGxzY3JlZW4gc2Nyb2xsaW5nPVwibm9cIiBmcmFtZWJvcmRlcj1cIjBcIiBsb2FkaW5nPVwibGF6eVwiPjwvaWZyYW1lPmA7XG59O1xuXG5leHBvcnQgY29uc3QgaXNOdW1lcmljID0gKHZhbHVlOiBhbnkpID0+ICFOdW1iZXIuaXNOYU4odmFsdWUgLSBwYXJzZUZsb2F0KHZhbHVlKSk7XG5cbmNvbnN0IGdldElmcmFtZVByb3BzID0gKGRhdGE6IEJyaWdodGNvdmVFbWJlZERhdGEsIHNvdXJjZXM6IEJyaWdodGNvdmVWaWRlb1NvdXJjZVtdKSA9PiB7XG4gIGNvbnN0IHsgYWNjb3VudCwgdmlkZW9pZCwgcGxheWVyID0gJ2RlZmF1bHQnIH0gPSBkYXRhO1xuXG4gIGNvbnN0IHNvdXJjZSA9IHNvcnRCeShcbiAgICBzb3VyY2VzLmZpbHRlcigocykgPT4gcy53aWR0aCAmJiBzLmhlaWdodCksXG4gICAgKHMpID0+IHMuaGVpZ2h0LFxuICApWzBdO1xuXG4gIHJldHVybiB7XG4gICAgc3JjOiBgaHR0cHM6Ly9wbGF5ZXJzLmJyaWdodGNvdmUubmV0LyR7YWNjb3VudH0vJHtwbGF5ZXJ9X2RlZmF1bHQvaW5kZXguaHRtbD92aWRlb0lkPSR7dmlkZW9pZH1gLFxuICAgIGhlaWdodDogc291cmNlPy5oZWlnaHQgPz8gJzQ4MCcsXG4gICAgd2lkdGg6IHNvdXJjZT8ud2lkdGggPz8gJzY0MCcsXG4gIH07XG59O1xuY29uc3QgQnJpZ2h0Y292ZUVtYmVkID0gKHsgZW1iZWQsIGlzQ29uY2VwdCwgaGVhcnRCdXR0b246IEhlYXJ0QnV0dG9uIH06IFByb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93T3JpZ2luYWxWaWRlbywgc2V0U2hvd09yaWdpbmFsVmlkZW9dID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgaWZyYW1lUmVmID0gdXNlUmVmPEhUTUxJRnJhbWVFbGVtZW50PihudWxsKTtcbiAgY29uc3QgeyBlbWJlZERhdGEgfSA9IGVtYmVkO1xuICBjb25zdCBmYWxsYmFja1RpdGxlID0gYCR7dCgnZW1iZWQudHlwZS52aWRlbycpfTogJHtlbWJlZERhdGEudmlkZW9pZH1gO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaWZyYW1lID0gaWZyYW1lUmVmLmN1cnJlbnQ7XG4gICAgaWYgKGlmcmFtZSkge1xuICAgICAgY29uc3QgW3dpZHRoLCBoZWlnaHRdID0gW3BhcnNlSW50KGlmcmFtZS53aWR0aCksIHBhcnNlSW50KGlmcmFtZS5oZWlnaHQpXTtcbiAgICAgIGlmcmFtZS5zdHlsZS5hc3BlY3RSYXRpbyA9IGAke3dpZHRofS8ke2hlaWdodH1gO1xuICAgICAgaWZyYW1lLndpZHRoID0gJyc7XG4gICAgICBpZnJhbWUuaGVpZ2h0ID0gJyc7XG4gICAgfVxuICB9LCBbXSk7XG4gIGlmIChlbWJlZC5zdGF0dXMgPT09ICdlcnJvcicpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEVtYmVkRXJyb3JQbGFjZWhvbGRlciB0eXBlPVwidmlkZW9cIj5cbiAgICAgICAgPEJyaWdodGNvdmVJZnJhbWVcbiAgICAgICAgICByZWY9e2lmcmFtZVJlZn1cbiAgICAgICAgICB0aXRsZT17ZW1iZWREYXRhLmFsdCA/PyBmYWxsYmFja1RpdGxlfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2VtYmVkRGF0YS5hbHQgPz8gZmFsbGJhY2tUaXRsZX1cbiAgICAgICAgICBmcmFtZUJvcmRlcj1cIjBcIlxuICAgICAgICAgIHsuLi5nZXRJZnJhbWVQcm9wcyhlbWJlZERhdGEsIFtdKX1cbiAgICAgICAgICBhbGxvd0Z1bGxTY3JlZW5cbiAgICAgICAgLz5cbiAgICAgIDwvRW1iZWRFcnJvclBsYWNlaG9sZGVyPlxuICAgICk7XG4gIH1cbiAgY29uc3QgeyBkYXRhLCBzZXEgfSA9IGVtYmVkO1xuXG4gIGNvbnN0IGxpbmtlZFZpZGVvSWQgPSBpc051bWVyaWMoZGF0YS5saW5rPy50ZXh0KSA/IGRhdGEubGluaz8udGV4dCA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBmaWd1cmVJZCA9IGBmaWd1cmUtJHtzZXF9LSR7ZGF0YS5pZH1gO1xuICBjb25zdCBvcmlnaW5hbFZpZGVvUHJvcHMgPSBnZXRJZnJhbWVQcm9wcyhlbWJlZERhdGEsIGRhdGEuc291cmNlcyk7XG4gIGNvbnN0IGFsdGVybmF0aXZlVmlkZW9Qcm9wcyA9IGxpbmtlZFZpZGVvSWRcbiAgICA/IGdldElmcmFtZVByb3BzKHsgLi4uZW1iZWREYXRhLCB2aWRlb2lkOiBsaW5rZWRWaWRlb0lkIH0sIGRhdGEuc291cmNlcylcbiAgICA6IHVuZGVmaW5lZDtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgaWQ9e2ZpZ3VyZUlkfSB0eXBlPXtpc0NvbmNlcHQgPyAnZnVsbC1jb2x1bW4nIDogJ2Z1bGwnfSByZXNpemVJZnJhbWU+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJyaWdodGNvdmUtdmlkZW9cIj5cbiAgICAgICAgPEJyaWdodGNvdmVJZnJhbWVcbiAgICAgICAgICByZWY9e2lmcmFtZVJlZn1cbiAgICAgICAgICBjbGFzc05hbWU9XCJvcmlnaW5hbFwiXG4gICAgICAgICAgdGl0bGU9e2VtYmVkRGF0YS5hbHQgPz8gZGF0YS5uYW1lID8/IGZhbGxiYWNrVGl0bGV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17ZW1iZWREYXRhLmFsdCA/PyBkYXRhLm5hbWUgPz8gZmFsbGJhY2tUaXRsZX1cbiAgICAgICAgICBmcmFtZUJvcmRlcj1cIjBcIlxuICAgICAgICAgIHsuLi4oYWx0ZXJuYXRpdmVWaWRlb1Byb3BzICYmICFzaG93T3JpZ2luYWxWaWRlbyA/IGFsdGVybmF0aXZlVmlkZW9Qcm9wcyA6IG9yaWdpbmFsVmlkZW9Qcm9wcyl9XG4gICAgICAgICAgYWxsb3dGdWxsU2NyZWVuXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxFbWJlZEJ5bGluZVxuICAgICAgICB0eXBlPVwidmlkZW9cIlxuICAgICAgICBjb3B5cmlnaHQ9e2RhdGEuY29weXJpZ2h0IX1cbiAgICAgICAgZGVzY3JpcHRpb249e2VtYmVkRGF0YS5jYXB0aW9uID8/IGRhdGEuZGVzY3JpcHRpb24gPz8gJyd9XG4gICAgICAgIGJvdHRvbVJvdW5kZWRcbiAgICAgID5cbiAgICAgICAgeyEhbGlua2VkVmlkZW9JZCAmJiAoXG4gICAgICAgICAgPExpbmtlZFZpZGVvQnV0dG9uXG4gICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgICAgICBzaGFwZT1cInBpbGxcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dPcmlnaW5hbFZpZGVvKChwKSA9PiAhcCl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoYGZpZ3VyZS5idXR0b24uJHshc2hvd09yaWdpbmFsVmlkZW8gPyAnb3JpZ2luYWwnIDogJ2FsdGVybmF0aXZlJ31gKX1cbiAgICAgICAgICA8L0xpbmtlZFZpZGVvQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICB7SGVhcnRCdXR0b24gJiYgPEhlYXJ0QnV0dG9uIGVtYmVkPXtlbWJlZH0gLz59XG4gICAgICA8L0VtYmVkQnlsaW5lPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQnJpZ2h0Y292ZUVtYmVkO1xuIl19 */",
52
48
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
53
49
  });
54
50
  export var makeIframeString = function makeIframeString(url, width, height) {
@@ -79,22 +75,19 @@ var getIframeProps = function getIframeProps(data, sources) {
79
75
  };
80
76
  };
81
77
  var BrightcoveEmbed = function BrightcoveEmbed(_ref) {
82
- var _data$link, _data$link2, _data$copyright$licen, _data$copyright, _data$copyright2, _sortBy, _sortBy$, _embedData$caption;
78
+ var _data$link, _data$link2, _ref3, _embedData$alt3, _ref4, _embedData$alt4, _ref5, _embedData$caption;
83
79
  var embed = _ref.embed,
84
- isConcept = _ref.isConcept;
85
- var _useState = useState(false),
80
+ isConcept = _ref.isConcept,
81
+ HeartButton = _ref.heartButton;
82
+ var _useState = useState(true),
86
83
  _useState2 = _slicedToArray(_useState, 2),
87
- isOpen = _useState2[0],
88
- setIsOpen = _useState2[1];
89
- var _useState3 = useState(true),
90
- _useState4 = _slicedToArray(_useState3, 2),
91
- showOriginalVideo = _useState4[0],
92
- setShowOriginalVideo = _useState4[1];
84
+ showOriginalVideo = _useState2[0],
85
+ setShowOriginalVideo = _useState2[1];
93
86
  var _useTranslation = useTranslation(),
94
- t = _useTranslation.t,
95
- i18n = _useTranslation.i18n;
87
+ t = _useTranslation.t;
96
88
  var iframeRef = useRef(null);
97
89
  var embedData = embed.embedData;
90
+ var fallbackTitle = "".concat(t('embed.type.video'), ": ").concat(embedData.videoid);
98
91
  useEffect(function () {
99
92
  var iframe = iframeRef.current;
100
93
  if (iframe) {
@@ -107,54 +100,27 @@ var BrightcoveEmbed = function BrightcoveEmbed(_ref) {
107
100
  }
108
101
  }, []);
109
102
  if (embed.status === 'error') {
110
- var _embedData$videoid, _embedData$videoid2;
111
- return _jsxs(Figure, {
112
- type: isConcept ? 'full-column' : 'full',
113
- resizeIframe: true,
114
- children: [_jsx(BrightcoveIframe, _objectSpread(_objectSpread({
103
+ var _embedData$alt, _embedData$alt2;
104
+ return _jsx(EmbedErrorPlaceholder, {
105
+ type: "video",
106
+ children: _jsx(BrightcoveIframe, _objectSpread(_objectSpread({
115
107
  ref: iframeRef,
116
- title: "Video: ".concat((_embedData$videoid = embedData.videoid) !== null && _embedData$videoid !== void 0 ? _embedData$videoid : ''),
117
- "aria-label": "Video: ".concat((_embedData$videoid2 = embedData.videoid) !== null && _embedData$videoid2 !== void 0 ? _embedData$videoid2 : ''),
108
+ title: (_embedData$alt = embedData.alt) !== null && _embedData$alt !== void 0 ? _embedData$alt : fallbackTitle,
109
+ "aria-label": (_embedData$alt2 = embedData.alt) !== null && _embedData$alt2 !== void 0 ? _embedData$alt2 : fallbackTitle,
118
110
  frameBorder: "0"
119
111
  }, getIframeProps(embedData, [])), {}, {
120
112
  allowFullScreen: true
121
- })), _jsx("figcaption", {
122
- children: t('video.error')
123
- })]
113
+ }))
124
114
  });
125
115
  }
126
116
  var data = embed.data,
127
117
  seq = embed.seq;
128
118
  var linkedVideoId = isNumeric((_data$link = data.link) === null || _data$link === void 0 ? void 0 : _data$link.text) ? (_data$link2 = data.link) === null || _data$link2 === void 0 ? void 0 : _data$link2.text : undefined;
129
- var license = getLicenseByAbbreviation((_data$copyright$licen = (_data$copyright = data.copyright) === null || _data$copyright === void 0 ? void 0 : _data$copyright.license.license) !== null && _data$copyright$licen !== void 0 ? _data$copyright$licen : '', i18n.language);
130
- var contributors = data.copyright ? getGroupedContributorDescriptionList(data.copyright, i18n.language).map(function (item) {
131
- return {
132
- name: item.description,
133
- type: item.label
134
- };
135
- }) : [];
136
- var _ref3 = (_data$copyright2 = data.copyright) !== null && _data$copyright2 !== void 0 ? _data$copyright2 : {},
137
- _ref3$rightsholders = _ref3.rightsholders,
138
- rightsholders = _ref3$rightsholders === void 0 ? [] : _ref3$rightsholders,
139
- _ref3$creators = _ref3.creators,
140
- creators = _ref3$creators === void 0 ? [] : _ref3$creators,
141
- _ref3$processors = _ref3.processors,
142
- processors = _ref3$processors === void 0 ? [] : _ref3$processors;
143
- var download = (_sortBy = sortBy(data.sources.filter(function (src) {
144
- return src.container === 'MP4' && src.src;
145
- }), function (src) {
146
- return src.size;
147
- })) === null || _sortBy === void 0 ? void 0 : (_sortBy$ = _sortBy[0]) === null || _sortBy$ === void 0 ? void 0 : _sortBy$.src;
148
119
  var figureId = "figure-".concat(seq, "-").concat(data.id);
149
120
  var originalVideoProps = getIframeProps(embedData, data.sources);
150
121
  var alternativeVideoProps = linkedVideoId ? getIframeProps(_objectSpread(_objectSpread({}, embedData), {}, {
151
122
  videoid: linkedVideoId
152
123
  }), data.sources) : undefined;
153
- var captionAuthors = getFirstNonEmptyLicenseCredits({
154
- rightsholders: rightsholders,
155
- creators: creators,
156
- processors: processors
157
- });
158
124
  return _jsxs(Figure, {
159
125
  id: figureId,
160
126
  type: isConcept ? 'full-column' : 'full',
@@ -164,27 +130,18 @@ var BrightcoveEmbed = function BrightcoveEmbed(_ref) {
164
130
  children: _jsx(BrightcoveIframe, _objectSpread(_objectSpread({
165
131
  ref: iframeRef,
166
132
  className: "original",
167
- title: "Video: ".concat(data.name),
168
- "aria-label": "Video: ".concat(data.name),
133
+ title: (_ref3 = (_embedData$alt3 = embedData.alt) !== null && _embedData$alt3 !== void 0 ? _embedData$alt3 : data.name) !== null && _ref3 !== void 0 ? _ref3 : fallbackTitle,
134
+ "aria-label": (_ref4 = (_embedData$alt4 = embedData.alt) !== null && _embedData$alt4 !== void 0 ? _embedData$alt4 : data.name) !== null && _ref4 !== void 0 ? _ref4 : fallbackTitle,
169
135
  frameBorder: "0"
170
136
  }, alternativeVideoProps && !showOriginalVideo ? alternativeVideoProps : originalVideoProps), {}, {
171
137
  allowFullScreen: true
172
138
  }))
173
- }), _jsx(FigureCaption, {
174
- figureId: figureId,
175
- id: data.id,
176
- locale: i18n.language,
177
- caption: (_embedData$caption = embedData.caption) !== null && _embedData$caption !== void 0 ? _embedData$caption : '',
178
- modalButton: _jsx(ButtonV2, {
179
- variant: "outline",
180
- shape: "pill",
181
- size: "small",
182
- onClick: function onClick() {
183
- return setIsOpen(true);
184
- },
185
- children: t('video.reuse')
186
- }),
187
- linkedVideoButton: _jsx(LinkedVideoButton, {
139
+ }), _jsxs(EmbedByline, {
140
+ type: "video",
141
+ copyright: data.copyright,
142
+ description: (_ref5 = (_embedData$caption = embedData.caption) !== null && _embedData$caption !== void 0 ? _embedData$caption : data.description) !== null && _ref5 !== void 0 ? _ref5 : '',
143
+ bottomRounded: true,
144
+ children: [!!linkedVideoId && _jsx(LinkedVideoButton, {
188
145
  variant: "outline",
189
146
  shape: "pill",
190
147
  size: "small",
@@ -194,61 +151,9 @@ var BrightcoveEmbed = function BrightcoveEmbed(_ref) {
194
151
  });
195
152
  },
196
153
  children: t("figure.button.".concat(!showOriginalVideo ? 'original' : 'alternative'))
197
- }),
198
- licenseRights: license.rights,
199
- authors: captionAuthors,
200
- hasLinkedVideo: !!linkedVideoId
201
- }), _jsx(ModalV2, {
202
- controlled: true,
203
- isOpen: isOpen,
204
- onClose: function onClose() {
205
- return setIsOpen(false);
206
- },
207
- labelledBy: "license-dialog-rules-heading",
208
- children: function children(close) {
209
- var _data$copyright3;
210
- return _jsx(FigureLicenseDialogContent, {
211
- onClose: close,
212
- title: data.name,
213
- locale: i18n.language,
214
- license: license,
215
- authors: contributors,
216
- type: "video",
217
- children: _jsx(VideoLicenseButtons, {
218
- download: download,
219
- licenseCode: (_data$copyright3 = data.copyright) === null || _data$copyright3 === void 0 ? void 0 : _data$copyright3.license.license,
220
- src: originalVideoProps.src,
221
- width: originalVideoProps.width,
222
- height: originalVideoProps.height,
223
- name: data.name
224
- })
225
- });
226
- }
227
- })]
228
- });
229
- };
230
- var VideoLicenseButtons = function VideoLicenseButtons(_ref4) {
231
- var download = _ref4.download,
232
- src = _ref4.src,
233
- width = _ref4.width,
234
- height = _ref4.height,
235
- name = _ref4.name,
236
- licenseCode = _ref4.licenseCode;
237
- var _useTranslation2 = useTranslation(),
238
- t = _useTranslation2.t;
239
- return _jsxs(_Fragment, {
240
- children: [licenseCode !== 'COPYRIGHTED' && _jsx(SafeLinkButton, {
241
- to: download,
242
- variant: "outline",
243
- download: true,
244
- children: t('video.download')
245
- }, "download"), _jsx(CopyButton, {
246
- variant: "outline",
247
- copyNode: t('license.hasCopiedTitle'),
248
- onClick: function onClick() {
249
- return navigator.clipboard.writeText(makeIframeString(src, width, height, name));
250
- },
251
- children: t('license.embed')
154
+ }), HeartButton && _jsx(HeartButton, {
155
+ embed: embed
156
+ })]
252
157
  })]
253
158
  });
254
159
  };