@ndla/ui 48.0.0 → 49.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/es/BlogPost/BlogPost.js +6 -6
  2. package/es/CampaignBlock/CampaignBlock.js +8 -8
  3. package/es/CopyParagraphButton/CopyParagraphButton.js +30 -58
  4. package/es/CopyParagraphButton/index.js +1 -3
  5. package/es/Embed/RelatedContentEmbed.js +3 -3
  6. package/es/FactBox/FactBox.js +64 -19
  7. package/es/FactBox/index.js +0 -1
  8. package/es/Figure/index.js +0 -2
  9. package/es/FileList/File.js +46 -24
  10. package/es/FileList/FileList.js +18 -14
  11. package/es/FileList/index.js +0 -2
  12. package/es/LinkBlock/LinkBlock.js +7 -7
  13. package/es/Messages/index.js +1 -2
  14. package/es/Navigation/index.js +1 -2
  15. package/es/RelatedArticleList/RelatedArticleList.js +80 -35
  16. package/es/RelatedArticleList/index.js +2 -3
  17. package/es/Search/index.js +0 -1
  18. package/es/all.css +1 -1
  19. package/es/i18n/i18n.js +2 -1
  20. package/es/index.js +9 -11
  21. package/es/utils/relativeUrl.js +17 -2
  22. package/lib/BlogPost/BlogPost.js +5 -5
  23. package/lib/CampaignBlock/CampaignBlock.js +7 -7
  24. package/lib/CopyParagraphButton/CopyParagraphButton.d.ts +5 -4
  25. package/lib/CopyParagraphButton/CopyParagraphButton.js +29 -57
  26. package/lib/CopyParagraphButton/index.d.ts +1 -3
  27. package/lib/CopyParagraphButton/index.js +0 -14
  28. package/lib/Embed/RelatedContentEmbed.js +3 -3
  29. package/lib/FactBox/FactBox.d.ts +1 -4
  30. package/lib/FactBox/FactBox.js +72 -27
  31. package/lib/FactBox/index.d.ts +0 -1
  32. package/lib/FactBox/index.js +0 -7
  33. package/lib/Figure/index.d.ts +0 -2
  34. package/lib/Figure/index.js +0 -14
  35. package/lib/FileList/File.d.ts +22 -3
  36. package/lib/FileList/File.js +45 -25
  37. package/lib/FileList/FileList.d.ts +10 -14
  38. package/lib/FileList/FileList.js +17 -15
  39. package/lib/FileList/index.d.ts +0 -2
  40. package/lib/FileList/index.js +0 -14
  41. package/lib/LinkBlock/LinkBlock.js +6 -6
  42. package/lib/Messages/index.d.ts +1 -2
  43. package/lib/Messages/index.js +0 -7
  44. package/lib/Navigation/index.d.ts +1 -2
  45. package/lib/Navigation/index.js +0 -7
  46. package/lib/RelatedArticleList/RelatedArticleList.d.ts +16 -17
  47. package/lib/RelatedArticleList/RelatedArticleList.js +78 -35
  48. package/lib/RelatedArticleList/index.d.ts +2 -3
  49. package/lib/RelatedArticleList/index.js +2 -12
  50. package/lib/Search/index.d.ts +0 -1
  51. package/lib/Search/index.js +0 -7
  52. package/lib/all.css +1 -1
  53. package/lib/i18n/i18n.d.ts +1 -0
  54. package/lib/i18n/i18n.js +4 -2
  55. package/lib/index.d.ts +9 -11
  56. package/lib/index.js +9 -89
  57. package/lib/utils/relativeUrl.d.ts +1 -1
  58. package/lib/utils/relativeUrl.js +19 -4
  59. package/package.json +8 -8
  60. package/src/BlogPost/BlogPost.tsx +2 -2
  61. package/src/CampaignBlock/CampaignBlock.tsx +2 -2
  62. package/src/CopyParagraphButton/CopyParagraphButton.tsx +24 -46
  63. package/src/CopyParagraphButton/index.tsx +1 -3
  64. package/src/Embed/RelatedContentEmbed.stories.tsx +9 -9
  65. package/src/Embed/RelatedContentEmbed.tsx +3 -3
  66. package/src/FactBox/FactBox.tsx +29 -16
  67. package/src/FactBox/Factbox.stories.tsx +4 -4
  68. package/src/FactBox/index.ts +0 -2
  69. package/src/Figure/index.ts +0 -2
  70. package/src/FileList/File.tsx +62 -32
  71. package/src/FileList/FileList.stories.tsx +15 -15
  72. package/src/FileList/FileList.tsx +21 -27
  73. package/src/FileList/index.ts +0 -2
  74. package/src/LinkBlock/LinkBlock.tsx +2 -2
  75. package/src/Messages/index.ts +1 -2
  76. package/src/Navigation/index.ts +1 -2
  77. package/src/RelatedArticleList/RelatedArticleList.tsx +53 -47
  78. package/src/RelatedArticleList/index.ts +2 -3
  79. package/src/Search/index.ts +0 -1
  80. package/src/i18n/i18n.ts +2 -1
  81. package/src/index.ts +10 -13
  82. package/src/main.scss +0 -1
  83. package/src/utils/__tests__/relativeUrl-test.tsx +72 -0
  84. package/src/utils/relativeUrl.ts +19 -2
  85. package/es/CopyParagraphButton/CopyParagraphButtonV2.js +0 -87
  86. package/es/CopyParagraphButton/initCopyParagraphButtons.js +0 -29
  87. package/es/FactBox/FactBoxV2.js +0 -93
  88. package/es/Figure/FigureBylineExpandButton.js +0 -29
  89. package/es/Figure/FigureExpandButton.js +0 -30
  90. package/es/FileList/FileListV2.js +0 -47
  91. package/es/FileList/FileV2.js +0 -32
  92. package/es/Masthead/MastheadSearchModal.js +0 -82
  93. package/es/Messages/MessageBoxTag.js +0 -33
  94. package/es/MultidisciplinarySubject/List.js +0 -52
  95. package/es/MultidisciplinarySubject/ListItem.js +0 -90
  96. package/es/MultidisciplinarySubject/MultidisciplinarySubject.js +0 -125
  97. package/es/MultidisciplinarySubject/index.js +0 -10
  98. package/es/Navigation/NavigationTopicAbout.js +0 -164
  99. package/es/RelatedArticleList/RelatedArticleV2.js +0 -125
  100. package/es/Search/ToggleSearchButton.js +0 -51
  101. package/es/Translation/Translation.js +0 -33
  102. package/es/Translation/TranslationLine.js +0 -47
  103. package/es/Translation/index.js +0 -2
  104. package/lib/CopyParagraphButton/CopyParagraphButtonV2.d.ts +0 -15
  105. package/lib/CopyParagraphButton/CopyParagraphButtonV2.js +0 -92
  106. package/lib/CopyParagraphButton/initCopyParagraphButtons.d.ts +0 -2
  107. package/lib/CopyParagraphButton/initCopyParagraphButtons.js +0 -38
  108. package/lib/FactBox/FactBoxV2.d.ts +0 -13
  109. package/lib/FactBox/FactBoxV2.js +0 -98
  110. package/lib/Figure/FigureBylineExpandButton.d.ts +0 -16
  111. package/lib/Figure/FigureBylineExpandButton.js +0 -35
  112. package/lib/Figure/FigureExpandButton.d.ts +0 -16
  113. package/lib/Figure/FigureExpandButton.js +0 -35
  114. package/lib/FileList/FileListV2.d.ts +0 -13
  115. package/lib/FileList/FileListV2.js +0 -52
  116. package/lib/FileList/FileV2.d.ts +0 -15
  117. package/lib/FileList/FileV2.js +0 -40
  118. package/lib/Masthead/MastheadSearchModal.d.ts +0 -8
  119. package/lib/Masthead/MastheadSearchModal.js +0 -89
  120. package/lib/Messages/MessageBoxTag.d.ts +0 -12
  121. package/lib/Messages/MessageBoxTag.js +0 -40
  122. package/lib/MultidisciplinarySubject/List.d.ts +0 -7
  123. package/lib/MultidisciplinarySubject/List.js +0 -59
  124. package/lib/MultidisciplinarySubject/ListItem.d.ts +0 -10
  125. package/lib/MultidisciplinarySubject/ListItem.js +0 -97
  126. package/lib/MultidisciplinarySubject/MultidisciplinarySubject.d.ts +0 -13
  127. package/lib/MultidisciplinarySubject/MultidisciplinarySubject.js +0 -135
  128. package/lib/MultidisciplinarySubject/index.d.ts +0 -9
  129. package/lib/MultidisciplinarySubject/index.js +0 -17
  130. package/lib/Navigation/NavigationTopicAbout.d.ts +0 -13
  131. package/lib/Navigation/NavigationTopicAbout.js +0 -171
  132. package/lib/RelatedArticleList/RelatedArticleV2.d.ts +0 -26
  133. package/lib/RelatedArticleList/RelatedArticleV2.js +0 -131
  134. package/lib/Search/ToggleSearchButton.d.ts +0 -14
  135. package/lib/Search/ToggleSearchButton.js +0 -57
  136. package/lib/Translation/Translation.d.ts +0 -14
  137. package/lib/Translation/Translation.js +0 -38
  138. package/lib/Translation/TranslationLine.d.ts +0 -16
  139. package/lib/Translation/TranslationLine.js +0 -51
  140. package/lib/Translation/index.d.ts +0 -2
  141. package/lib/Translation/index.js +0 -20
  142. package/src/CopyParagraphButton/CopyParagraphButtonV2.tsx +0 -85
  143. package/src/CopyParagraphButton/initCopyParagraphButtons.tsx +0 -27
  144. package/src/FactBox/FactBoxV2.tsx +0 -56
  145. package/src/Figure/FigureBylineExpandButton.tsx +0 -34
  146. package/src/Figure/FigureExpandButton.tsx +0 -35
  147. package/src/FileList/FileListV2.tsx +0 -58
  148. package/src/FileList/FileV2.tsx +0 -33
  149. package/src/Masthead/MastheadSearchModal.tsx +0 -101
  150. package/src/Messages/MessageBoxTag.tsx +0 -34
  151. package/src/MultidisciplinarySubject/List.tsx +0 -49
  152. package/src/MultidisciplinarySubject/ListItem.tsx +0 -74
  153. package/src/MultidisciplinarySubject/MultidisciplinarySubject.tsx +0 -117
  154. package/src/MultidisciplinarySubject/index.ts +0 -11
  155. package/src/Navigation/NavigationTopicAbout.tsx +0 -171
  156. package/src/RelatedArticleList/RelatedArticleV2.tsx +0 -101
  157. package/src/Search/ToggleSearchButton.tsx +0 -64
  158. package/src/Translation/Translation.tsx +0 -29
  159. package/src/Translation/TranslationLine.tsx +0 -42
  160. package/src/Translation/component.translation.scss +0 -53
  161. package/src/Translation/index.ts +0 -2
package/src/index.ts CHANGED
@@ -40,6 +40,8 @@ export {
40
40
  default as Article,
41
41
  } from './Article';
42
42
 
43
+ export { getPossiblyRelativeUrl } from './utils/relativeUrl';
44
+
43
45
  export { default as Table, TableStyling } from './Table';
44
46
 
45
47
  export { default as ResourcesWrapper, ResourcesTopicTitle } from './ResourcesWrapper';
@@ -50,15 +52,15 @@ export { default as Masthead, getMastheadHeight, useMastheadHeight, SkipToMainCo
50
52
 
51
53
  export { default as ContentLoader } from './ContentLoader';
52
54
 
53
- export { default as RelatedArticleList, RelatedArticle, RelatedArticleListV2 } from './RelatedArticleList';
55
+ export { default as RelatedArticleList, RelatedArticle } from './RelatedArticleList';
54
56
 
55
57
  export { ErrorResourceAccessDenied, default as ErrorMessage } from './ErrorMessage';
56
58
 
57
- export { default as FileList, File, FileListV2, FileV2, PdfFile } from './FileList';
59
+ export { default as FileList, File, PdfFile } from './FileList';
58
60
 
59
61
  export { default as Logo } from './Logo';
60
62
 
61
- export { default as FactBox, FactBoxV2 } from './FactBox';
63
+ export { default as FactBox } from './FactBox';
62
64
 
63
65
  export { default as Image, ImageLink, makeSrcQueryString } from './Image';
64
66
  export type { ImageCrop, ImageFocalPoint } from './Image';
@@ -80,7 +82,7 @@ export { FilterList, FilterListPhone, FilterButtons, ToggleItem } from './Filter
80
82
 
81
83
  export { Footer, EditorName, FooterText } from './Footer';
82
84
 
83
- export { Figure, FigureExpandButton, FigureOpenDialogButton, FigureBylineExpandButton } from './Figure';
85
+ export { Figure, FigureOpenDialogButton } from './Figure';
84
86
  export type { FigureType } from './Figure';
85
87
 
86
88
  export { LanguageSelector } from './LanguageSelector';
@@ -97,7 +99,6 @@ export {
97
99
  LearningPathMobileStepInfo,
98
100
  LearningPathMobileHeader,
99
101
  } from './LearningPaths';
100
- export { Translation, TranslationLine } from './Translation';
101
102
 
102
103
  export { default as SearchResultSleeve } from './Search/SearchResultSleeve';
103
104
 
@@ -105,26 +106,22 @@ export { default as ContentTypeResult } from './Search/ContentTypeResult';
105
106
 
106
107
  export { SearchFieldForm } from './Search/SearchFieldForm';
107
108
 
108
- export { default as MastheadSearchModal } from './Masthead/MastheadSearchModal';
109
-
110
109
  export { default as resourceTypeColor } from './utils/resourceTypeColor';
111
110
 
112
111
  export { default as CreatedBy } from './CreatedBy';
113
112
 
114
- export { MessageBox, MessageBoxTag, MessageBanner } from './Messages';
113
+ export { MessageBox, MessageBanner } from './Messages';
115
114
 
116
115
  export { ResourceBox } from './ResourceBox';
117
116
 
118
117
  export { default as AudioPlayer } from './AudioPlayer';
119
118
 
120
- export { NavigationBox, NavigationTopicAbout } from './Navigation';
119
+ export { NavigationBox } from './Navigation';
121
120
 
122
121
  export { default as Programme } from './Programme';
123
122
 
124
123
  export { default as CompetenceGoalTab } from './CompetenceGoalTab';
125
124
 
126
- export { default as MultidisciplinarySubject } from './MultidisciplinarySubject';
127
-
128
125
  export {
129
126
  SearchTypeResult,
130
127
  SearchHeader,
@@ -190,7 +187,7 @@ export {
190
187
 
191
188
  export { SubjectHeader, SubjectBanner } from './Subject';
192
189
 
193
- export { default as CopyParagraphButton, CopyParagraphButtonV2 } from './CopyParagraphButton';
190
+ export { default as CopyParagraphButton } from './CopyParagraphButton';
194
191
 
195
192
  export { default as ContentPlaceholder } from './ContentPlaceholder';
196
193
 
@@ -208,7 +205,7 @@ export type { Snack, SnackContext } from './SnackBar';
208
205
  export { TreeStructure } from './TreeStructure';
209
206
  export type { TreeStructureProps } from './TreeStructure';
210
207
 
211
- export { SearchField, SearchResultList, SearchResultItem, ActiveFilters, ToggleSearchButton } from './Search';
208
+ export { SearchField, SearchResultList, SearchResultItem, ActiveFilters } from './Search';
212
209
  export { default as LetterFilter } from './LetterFilter';
213
210
 
214
211
  export { OrderedList, UnOrderedList } from './List';
package/src/main.scss CHANGED
@@ -16,6 +16,5 @@
16
16
  @import 'RelatedArticleList/component.related-articles';
17
17
  @import 'ContentTypeBadge/component.content-type-badge';
18
18
  @import 'Filter/component.filter';
19
- @import 'Translation/component.translation';
20
19
  @import 'Search/component.search';
21
20
  @import 'Carousel/component.carousel';
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Copyright (c) 2023-present, NDLA.
3
+ *
4
+ * This source code is licensed under the GPLv3 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { getPossiblyRelativeUrl } from '../relativeUrl';
10
+
11
+ describe('getPossibleRelativeUrl', () => {
12
+ it('returns a relative URL for NDLA urls', () => {
13
+ const url = 'https://ndla.no/article/123';
14
+ const pathname = 'https://ndla.no/about/hvem-er-vi';
15
+
16
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('/article/123');
17
+ });
18
+ it('does not return relative URLs for non-NDLA urls', () => {
19
+ const url = 'https://google.com';
20
+ const pathname = 'https://ndla.no/about/hvem-er-vi';
21
+
22
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('https://google.com');
23
+ });
24
+ it('handles www just fine', () => {
25
+ const url = 'https://www.ndla.no/article/123';
26
+ const pathname = 'https://www.ndla.no/about/hvem-er-vi';
27
+
28
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('/article/123');
29
+ });
30
+ it('handles other environments', () => {
31
+ const url = 'https://test.ndla.no/article/123';
32
+ const pathname = 'https://test.ndla.no/about/hvem-er-vi';
33
+
34
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('/article/123');
35
+ });
36
+ it('strips out the languages from the URL if pathname has no language set', () => {
37
+ const url = 'https://test.ndla.no/nb/article/123';
38
+ const pathname = 'https://test.ndla.no/about/hvem-er-vi';
39
+
40
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('/article/123');
41
+ });
42
+ it('replaces languages from the URL that do not match the pathname language', () => {
43
+ const url = 'https://test.ndla.no/nb/article/123';
44
+ const pathname = 'https://test.ndla.no/nn/about/hvem-er-vi';
45
+
46
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('/nn/article/123');
47
+ });
48
+ it('returns a base url if the url only contains a language tag', () => {
49
+ const url = 'https://ndla.no/nb';
50
+ const pathname = 'https://ndla.no/about/hvem-er-vi';
51
+
52
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('/');
53
+ });
54
+ it('Handles trailing backslash', () => {
55
+ const url = 'https://ndla.no/nb/';
56
+ const pathname = 'https://ndla.no/about/hvem-er-vi';
57
+
58
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('/');
59
+ });
60
+ it('handles www', () => {
61
+ const url = 'https://www.ndla.no';
62
+ const pathname = 'https://ndla.no/about/hvem-er-vi';
63
+
64
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('/');
65
+ });
66
+ it('handles ports', () => {
67
+ const url = 'https://www.ndla.no:8080';
68
+ const pathname = 'https://ndla.no/about/hvem-er-vi';
69
+
70
+ expect(getPossiblyRelativeUrl(url, pathname)).toEqual('/');
71
+ });
72
+ });
@@ -6,15 +6,32 @@
6
6
  *
7
7
  */
8
8
 
9
+ import { supportedTranslationLanguages } from '../i18n/i18n';
10
+
9
11
  const ENV_REGEX = /(staging|test)\.?/;
12
+ const LANGUAGE_REGEX = new RegExp(`^\\/((?:${supportedTranslationLanguages.join('|')})(?:$|\\/))`, '');
10
13
 
11
14
  const NDLA_URL = /(.*\.)?ndla.no.*/;
15
+ const REPLACE_WWW = /^www\./;
12
16
 
13
- export const usePossiblyRelativeUrl = (url: string, path?: string) => {
17
+ export const getPossiblyRelativeUrl = (url: string, path?: string) => {
14
18
  if (!path) return url;
19
+ // If not on NDLA, or if url is not a NDLA url, return url as is
15
20
  if (!NDLA_URL.test(url) || !NDLA_URL.test(path)) return url;
21
+ //Remove environment info
16
22
  const urlObj = new URL(url.replace(ENV_REGEX, ''));
17
23
  const pathObj = new URL(path.replace(ENV_REGEX, ''));
18
- if (urlObj.host === pathObj.host) return urlObj.pathname;
24
+ // If the host is the same, return the relative path
25
+ if (urlObj.hostname.replace(REPLACE_WWW, '') === pathObj.hostname.replace(REPLACE_WWW, '')) {
26
+ // Replace the language part of the url with the language part of the path
27
+ // If the path language part does not exist, remove it.
28
+ const urlMatch = urlObj.pathname.match(LANGUAGE_REGEX);
29
+ const pathMatch = pathObj.pathname.match(LANGUAGE_REGEX);
30
+ if (urlMatch?.[1] && urlMatch?.[1] !== pathMatch?.[1]) {
31
+ return urlObj.pathname.replace(urlMatch[1], pathMatch?.[1] || '');
32
+ }
33
+
34
+ return urlObj.pathname;
35
+ }
19
36
  return url;
20
37
  };
@@ -1,87 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
- 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."); }
4
- 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); }
5
- 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; }
6
- 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; } }
7
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
9
- /**
10
- * Copyright (c) 2021-present, NDLA.
11
- *
12
- * This source code is licensed under the GPLv3 license found in the
13
- * LICENSE file in the root directory of this source tree.
14
- *
15
- */
16
-
17
- import { useCallback, useEffect, useMemo, useState } from 'react';
18
- import { useTranslation } from 'react-i18next';
19
- import { colors } from '@ndla/core';
20
- import Tooltip from '@ndla/tooltip';
21
- import { Link } from '@ndla/icons/common';
22
- import { copyTextToClipboard } from '@ndla/util';
23
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
24
- import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
25
- var ContainerDiv = /*#__PURE__*/_styled("div", {
26
- target: "esvy8zq1",
27
- label: "ContainerDiv"
28
- })(process.env.NODE_ENV === "production" ? {
29
- name: "bjn8wh",
30
- styles: "position:relative"
31
- } : {
32
- name: "bjn8wh",
33
- styles: "position:relative",
34
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvcHlQYXJhZ3JhcGhCdXR0b25WMi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0IrQiIsImZpbGUiOiJDb3B5UGFyYWdyYXBoQnV0dG9uVjIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBNb3VzZUV2ZW50LCBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbG9ycyB9IGZyb20gJ0BuZGxhL2NvcmUnO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCB7IGNvcHlUZXh0VG9DbGlwYm9hcmQgfSBmcm9tICdAbmRsYS91dGlsJztcblxuY29uc3QgQ29udGFpbmVyRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcbmNvbnN0IEljb25CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0zZW07XG4gIHRvcDogMC4xZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogMC4ycztcbiAgb3BhY2l0eTogMDtcbiAgY29sb3I6ICR7Y29sb3JzLmJyYW5kLmdyZXl9O1xuXG4gICYgc3ZnIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cblxuICAke0NvbnRhaW5lckRpdn06aG92ZXIgJixcbiAgJjpmb2N1cywgJjpmb2N1cy12aXNpYmxlLCAmOmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8vIFdoYXQgdG8gcmVuZGVyIHdpdGhpbiB0aGUgaDJcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY29weVRleHQ6IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbn1cbmNvbnN0IENvcHlQYXJhZ3JhcGhCdXR0b25WMiA9ICh7IGNoaWxkcmVuLCBjb3B5VGV4dCwgbGFuZyB9OiBQcm9wcykgPT4ge1xuICBjb25zdCBbaGFzQ29waWVkLCBzZXRIYXNDb3BpZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHNhbml0aXplZFRpdGxlID0gdXNlTWVtbygoKSA9PiBlbmNvZGVVUklDb21wb25lbnQoY29weVRleHQucmVwbGFjZSgvIC9nLCAnLScpKSwgW2NvcHlUZXh0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaGFzQ29waWVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldEhhc0NvcGllZChmYWxzZSksIDMwMDApO1xuICAgIH1cbiAgfSwgW2hhc0NvcGllZF0pO1xuXG4gIGNvbnN0IG9uQ29weUNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEhhc0NvcGllZCh0cnVlKTtcbiAgICBjb25zdCB7IGxvY2F0aW9uIH0gPSB3aW5kb3c7XG4gICAgY29uc3QgbmV3SGFzaCA9IGAjJHtzYW5pdGl6ZWRUaXRsZX1gO1xuICAgIGNvbnN0IHBvcnQgPSBsb2NhdGlvbi5wb3J0ID8gYDoke2xvY2F0aW9uLnBvcnR9YCA6ICcnO1xuICAgIGNvbnN0IHVybFRvQ29weSA9IGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtsb2NhdGlvbi5ob3N0bmFtZX0ke3BvcnR9JHtsb2NhdGlvbi5wYXRobmFtZX0ke2xvY2F0aW9uLnNlYXJjaH0ke25ld0hhc2h9YDtcblxuICAgIGNvcHlUZXh0VG9DbGlwYm9hcmQodXJsVG9Db3B5KTtcbiAgfSwgW3Nhbml0aXplZFRpdGxlXSk7XG5cbiAgY29uc3QgdG9vbHRpcCA9IGhhc0NvcGllZCA/IHQoJ2FydGljbGUuY29weVBhZ2VMaW5rQ29waWVkJykgOiB0KCdhcnRpY2xlLmNvcHlIZWFkZXJMaW5rJyk7XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lckRpdj5cbiAgICAgIDxUb29sdGlwIHRvb2x0aXA9e3Rvb2x0aXB9PlxuICAgICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXtvbkNvcHlDbGlja30gYXJpYS1sYWJlbD17YCR7dG9vbHRpcH06ICR7Y29weVRleHR9YH0+XG4gICAgICAgICAgPExpbmsgLz5cbiAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgPC9Ub29sdGlwPlxuICAgICAgPGgyIGlkPXtzYW5pdGl6ZWRUaXRsZX0gdGFiSW5kZXg9ey0xfSBsYW5nPXtsYW5nfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9oMj5cbiAgICA8L0NvbnRhaW5lckRpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvcHlQYXJhZ3JhcGhCdXR0b25WMjtcbiJdfQ== */",
35
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
- });
37
- var IconButton = /*#__PURE__*/_styled("button", {
38
- target: "esvy8zq0",
39
- label: "IconButton"
40
- })("position:absolute;left:-3em;top:0.1em;background:none;border:0;z-index:1;transition:0.2s;opacity:0;color:", colors.brand.grey, ";& svg{width:30px;height:30px;}", ContainerDiv, ":hover &,&:focus,&:focus-visible,&:active{cursor:pointer;opacity:1;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvcHlQYXJhZ3JhcGhCdXR0b25WMi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJnQyIsImZpbGUiOiJDb3B5UGFyYWdyYXBoQnV0dG9uVjIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBNb3VzZUV2ZW50LCBSZWFjdE5vZGUsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbG9ycyB9IGZyb20gJ0BuZGxhL2NvcmUnO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCB7IGNvcHlUZXh0VG9DbGlwYm9hcmQgfSBmcm9tICdAbmRsYS91dGlsJztcblxuY29uc3QgQ29udGFpbmVyRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcbmNvbnN0IEljb25CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0zZW07XG4gIHRvcDogMC4xZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogMC4ycztcbiAgb3BhY2l0eTogMDtcbiAgY29sb3I6ICR7Y29sb3JzLmJyYW5kLmdyZXl9O1xuXG4gICYgc3ZnIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cblxuICAke0NvbnRhaW5lckRpdn06aG92ZXIgJixcbiAgJjpmb2N1cywgJjpmb2N1cy12aXNpYmxlLCAmOmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8vIFdoYXQgdG8gcmVuZGVyIHdpdGhpbiB0aGUgaDJcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY29weVRleHQ6IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbn1cbmNvbnN0IENvcHlQYXJhZ3JhcGhCdXR0b25WMiA9ICh7IGNoaWxkcmVuLCBjb3B5VGV4dCwgbGFuZyB9OiBQcm9wcykgPT4ge1xuICBjb25zdCBbaGFzQ29waWVkLCBzZXRIYXNDb3BpZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHNhbml0aXplZFRpdGxlID0gdXNlTWVtbygoKSA9PiBlbmNvZGVVUklDb21wb25lbnQoY29weVRleHQucmVwbGFjZSgvIC9nLCAnLScpKSwgW2NvcHlUZXh0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaGFzQ29waWVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldEhhc0NvcGllZChmYWxzZSksIDMwMDApO1xuICAgIH1cbiAgfSwgW2hhc0NvcGllZF0pO1xuXG4gIGNvbnN0IG9uQ29weUNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEhhc0NvcGllZCh0cnVlKTtcbiAgICBjb25zdCB7IGxvY2F0aW9uIH0gPSB3aW5kb3c7XG4gICAgY29uc3QgbmV3SGFzaCA9IGAjJHtzYW5pdGl6ZWRUaXRsZX1gO1xuICAgIGNvbnN0IHBvcnQgPSBsb2NhdGlvbi5wb3J0ID8gYDoke2xvY2F0aW9uLnBvcnR9YCA6ICcnO1xuICAgIGNvbnN0IHVybFRvQ29weSA9IGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtsb2NhdGlvbi5ob3N0bmFtZX0ke3BvcnR9JHtsb2NhdGlvbi5wYXRobmFtZX0ke2xvY2F0aW9uLnNlYXJjaH0ke25ld0hhc2h9YDtcblxuICAgIGNvcHlUZXh0VG9DbGlwYm9hcmQodXJsVG9Db3B5KTtcbiAgfSwgW3Nhbml0aXplZFRpdGxlXSk7XG5cbiAgY29uc3QgdG9vbHRpcCA9IGhhc0NvcGllZCA/IHQoJ2FydGljbGUuY29weVBhZ2VMaW5rQ29waWVkJykgOiB0KCdhcnRpY2xlLmNvcHlIZWFkZXJMaW5rJyk7XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lckRpdj5cbiAgICAgIDxUb29sdGlwIHRvb2x0aXA9e3Rvb2x0aXB9PlxuICAgICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXtvbkNvcHlDbGlja30gYXJpYS1sYWJlbD17YCR7dG9vbHRpcH06ICR7Y29weVRleHR9YH0+XG4gICAgICAgICAgPExpbmsgLz5cbiAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgPC9Ub29sdGlwPlxuICAgICAgPGgyIGlkPXtzYW5pdGl6ZWRUaXRsZX0gdGFiSW5kZXg9ey0xfSBsYW5nPXtsYW5nfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9oMj5cbiAgICA8L0NvbnRhaW5lckRpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvcHlQYXJhZ3JhcGhCdXR0b25WMjtcbiJdfQ== */"));
41
- var CopyParagraphButtonV2 = function CopyParagraphButtonV2(_ref) {
42
- var children = _ref.children,
43
- copyText = _ref.copyText,
44
- lang = _ref.lang;
45
- var _useState = useState(false),
46
- _useState2 = _slicedToArray(_useState, 2),
47
- hasCopied = _useState2[0],
48
- setHasCopied = _useState2[1];
49
- var _useTranslation = useTranslation(),
50
- t = _useTranslation.t;
51
- var sanitizedTitle = useMemo(function () {
52
- return encodeURIComponent(copyText.replace(/ /g, '-'));
53
- }, [copyText]);
54
- useEffect(function () {
55
- if (hasCopied) {
56
- setTimeout(function () {
57
- return setHasCopied(false);
58
- }, 3000);
59
- }
60
- }, [hasCopied]);
61
- var onCopyClick = useCallback(function () {
62
- setHasCopied(true);
63
- var _window = window,
64
- location = _window.location;
65
- var newHash = "#".concat(sanitizedTitle);
66
- var port = location.port ? ":".concat(location.port) : '';
67
- var urlToCopy = "".concat(location.protocol, "//").concat(location.hostname).concat(port).concat(location.pathname).concat(location.search).concat(newHash);
68
- copyTextToClipboard(urlToCopy);
69
- }, [sanitizedTitle]);
70
- var tooltip = hasCopied ? t('article.copyPageLinkCopied') : t('article.copyHeaderLink');
71
- return _jsxs(ContainerDiv, {
72
- children: [_jsx(Tooltip, {
73
- tooltip: tooltip,
74
- children: _jsx(IconButton, {
75
- onClick: onCopyClick,
76
- "aria-label": "".concat(tooltip, ": ").concat(copyText),
77
- children: _jsx(Link, {})
78
- })
79
- }), _jsx("h2", {
80
- id: sanitizedTitle,
81
- tabIndex: -1,
82
- lang: lang,
83
- children: children
84
- })]
85
- });
86
- };
87
- export default CopyParagraphButtonV2;
@@ -1,29 +0,0 @@
1
- /**
2
- * Copyright (c) 2021-present, NDLA.
3
- *
4
- * This source code is licensed under the GPLv3 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
- import ReactDOM from 'react-dom';
9
- import CopyParagraphButton from './CopyParagraphButton';
10
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
11
- var forEachElement = function forEachElement(selector, callback) {
12
- var nodeList = document.querySelectorAll(selector);
13
- for (var i = 0; i < nodeList.length; i += 1) {
14
- callback(nodeList[i], i);
15
- }
16
- };
17
- var initCopyParagraphButtons = function initCopyParagraphButtons() {
18
- forEachElement('[data-header-copy-container]', function (el) {
19
- var title = el.getAttribute('data-title');
20
-
21
- // eslint-disable-next-line react/no-deprecated
22
- ReactDOM.hydrate(_jsx(CopyParagraphButton, {
23
- title: title,
24
- content: title,
25
- hydrate: true
26
- }), el);
27
- });
28
- };
29
- export default initCopyParagraphButtons;
@@ -1,93 +0,0 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- import _styled from "@emotion/styled/base";
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
- 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."); }
10
- 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); }
11
- 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; }
12
- 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; } }
13
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
15
- /**
16
- * Copyright (c) 2016-present, NDLA.
17
- *
18
- * This source code is licensed under the GPLv3 license found in the
19
- * LICENSE file in the root directory of this source tree.
20
- *
21
- */
22
-
23
- import { useState } from 'react';
24
- import BEMHelper from 'react-bem-helper';
25
- import { useTranslation } from 'react-i18next';
26
- import { IconButtonV2 } from '@ndla/button';
27
- import { ChevronDown, ChevronUp } from '@ndla/icons/common';
28
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
29
- import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
30
- var classes = new BEMHelper({
31
- name: 'factbox',
32
- prefix: 'c-'
33
- });
34
- var StyledAside = /*#__PURE__*/_styled("aside", {
35
- target: "e1imrgx42",
36
- label: "StyledAside"
37
- })(process.env.NODE_ENV === "production" ? {
38
- name: "zigog8",
39
- styles: "display:flex;flex-direction:column;align-items:center"
40
- } : {
41
- name: "zigog8",
42
- styles: "display:flex;flex-direction:column;align-items:center",
43
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZhY3RCb3hWMi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0JnQyIsImZpbGUiOiJGYWN0Qm94VjIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEJFTUhlbHBlciBmcm9tICdyZWFjdC1iZW0taGVscGVyJztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uVjIgfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IHsgQ2hldnJvbkRvd24sIENoZXZyb25VcCB9IGZyb20gJ0BuZGxhL2ljb25zL2NvbW1vbic7XG5cbmNvbnN0IGNsYXNzZXMgPSBuZXcgQkVNSGVscGVyKHtcbiAgbmFtZTogJ2ZhY3Rib3gnLFxuICBwcmVmaXg6ICdjLScsXG59KTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59XG5cbmNvbnN0IFN0eWxlZEFzaWRlID0gc3R5bGVkLmFzaWRlYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuY29uc3QgU3R5bGVkRGl2ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBTdHlsZWRJY29uQnV0dG9uID0gc3R5bGVkKEljb25CdXR0b25WMilgXG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICB6LWluZGV4OiAxO1xuYDtcblxuY29uc3QgRmFjdEJveCA9ICh7IGNoaWxkcmVuIH06IFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBhZGRpdGlvbmFsID0gaXNPcGVuID8gJ2V4cGFuZGVkJyA6ICcnO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEFzaWRlIHsuLi5jbGFzc2VzKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBhZGRpdGlvbmFsKX0+XG4gICAgICA8U3R5bGVkRGl2IHsuLi5jbGFzc2VzKCdjb250ZW50Jyl9PntjaGlsZHJlbn08L1N0eWxlZERpdj5cbiAgICAgIDxTdHlsZWRJY29uQnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldElzT3BlbigocCkgPT4gIXApfSBhcmlhLWxhYmVsPXt0KGBmYWN0Ym94LiR7aXNPcGVuID8gJ2Nsb3NlJyA6ICdvcGVuJ31gKX0+XG4gICAgICAgIHtpc09wZW4gPyA8Q2hldnJvblVwIC8+IDogPENoZXZyb25Eb3duIC8+fVxuICAgICAgPC9TdHlsZWRJY29uQnV0dG9uPlxuICAgIDwvU3R5bGVkQXNpZGU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGYWN0Qm94O1xuIl19 */",
44
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
45
- });
46
- var StyledDiv = /*#__PURE__*/_styled("div", {
47
- target: "e1imrgx41",
48
- label: "StyledDiv"
49
- })(process.env.NODE_ENV === "production" ? {
50
- name: "1d3w5wq",
51
- styles: "width:100%"
52
- } : {
53
- name: "1d3w5wq",
54
- styles: "width:100%",
55
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZhY3RCb3hWMi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEI0QiIsImZpbGUiOiJGYWN0Qm94VjIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEJFTUhlbHBlciBmcm9tICdyZWFjdC1iZW0taGVscGVyJztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uVjIgfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IHsgQ2hldnJvbkRvd24sIENoZXZyb25VcCB9IGZyb20gJ0BuZGxhL2ljb25zL2NvbW1vbic7XG5cbmNvbnN0IGNsYXNzZXMgPSBuZXcgQkVNSGVscGVyKHtcbiAgbmFtZTogJ2ZhY3Rib3gnLFxuICBwcmVmaXg6ICdjLScsXG59KTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59XG5cbmNvbnN0IFN0eWxlZEFzaWRlID0gc3R5bGVkLmFzaWRlYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuY29uc3QgU3R5bGVkRGl2ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBTdHlsZWRJY29uQnV0dG9uID0gc3R5bGVkKEljb25CdXR0b25WMilgXG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICB6LWluZGV4OiAxO1xuYDtcblxuY29uc3QgRmFjdEJveCA9ICh7IGNoaWxkcmVuIH06IFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBhZGRpdGlvbmFsID0gaXNPcGVuID8gJ2V4cGFuZGVkJyA6ICcnO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEFzaWRlIHsuLi5jbGFzc2VzKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBhZGRpdGlvbmFsKX0+XG4gICAgICA8U3R5bGVkRGl2IHsuLi5jbGFzc2VzKCdjb250ZW50Jyl9PntjaGlsZHJlbn08L1N0eWxlZERpdj5cbiAgICAgIDxTdHlsZWRJY29uQnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldElzT3BlbigocCkgPT4gIXApfSBhcmlhLWxhYmVsPXt0KGBmYWN0Ym94LiR7aXNPcGVuID8gJ2Nsb3NlJyA6ICdvcGVuJ31gKX0+XG4gICAgICAgIHtpc09wZW4gPyA8Q2hldnJvblVwIC8+IDogPENoZXZyb25Eb3duIC8+fVxuICAgICAgPC9TdHlsZWRJY29uQnV0dG9uPlxuICAgIDwvU3R5bGVkQXNpZGU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGYWN0Qm94O1xuIl19 */",
56
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
57
- });
58
- var StyledIconButton = /*#__PURE__*/_styled(IconButtonV2, {
59
- target: "e1imrgx40",
60
- label: "StyledIconButton"
61
- })(process.env.NODE_ENV === "production" ? {
62
- name: "2grj3y",
63
- styles: "margin-top:-20px;z-index:1"
64
- } : {
65
- name: "2grj3y",
66
- styles: "margin-top:-20px;z-index:1",
67
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZhY3RCb3hWMi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0M2QyIsImZpbGUiOiJGYWN0Qm94VjIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEJFTUhlbHBlciBmcm9tICdyZWFjdC1iZW0taGVscGVyJztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uVjIgfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IHsgQ2hldnJvbkRvd24sIENoZXZyb25VcCB9IGZyb20gJ0BuZGxhL2ljb25zL2NvbW1vbic7XG5cbmNvbnN0IGNsYXNzZXMgPSBuZXcgQkVNSGVscGVyKHtcbiAgbmFtZTogJ2ZhY3Rib3gnLFxuICBwcmVmaXg6ICdjLScsXG59KTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59XG5cbmNvbnN0IFN0eWxlZEFzaWRlID0gc3R5bGVkLmFzaWRlYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuY29uc3QgU3R5bGVkRGl2ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBTdHlsZWRJY29uQnV0dG9uID0gc3R5bGVkKEljb25CdXR0b25WMilgXG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICB6LWluZGV4OiAxO1xuYDtcblxuY29uc3QgRmFjdEJveCA9ICh7IGNoaWxkcmVuIH06IFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBhZGRpdGlvbmFsID0gaXNPcGVuID8gJ2V4cGFuZGVkJyA6ICcnO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEFzaWRlIHsuLi5jbGFzc2VzKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBhZGRpdGlvbmFsKX0+XG4gICAgICA8U3R5bGVkRGl2IHsuLi5jbGFzc2VzKCdjb250ZW50Jyl9PntjaGlsZHJlbn08L1N0eWxlZERpdj5cbiAgICAgIDxTdHlsZWRJY29uQnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldElzT3BlbigocCkgPT4gIXApfSBhcmlhLWxhYmVsPXt0KGBmYWN0Ym94LiR7aXNPcGVuID8gJ2Nsb3NlJyA6ICdvcGVuJ31gKX0+XG4gICAgICAgIHtpc09wZW4gPyA8Q2hldnJvblVwIC8+IDogPENoZXZyb25Eb3duIC8+fVxuICAgICAgPC9TdHlsZWRJY29uQnV0dG9uPlxuICAgIDwvU3R5bGVkQXNpZGU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGYWN0Qm94O1xuIl19 */",
68
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
69
- });
70
- var FactBox = function FactBox(_ref) {
71
- var children = _ref.children;
72
- var _useTranslation = useTranslation(),
73
- t = _useTranslation.t;
74
- var _useState = useState(false),
75
- _useState2 = _slicedToArray(_useState, 2),
76
- isOpen = _useState2[0],
77
- setIsOpen = _useState2[1];
78
- var additional = isOpen ? 'expanded' : '';
79
- return _jsxs(StyledAside, _objectSpread(_objectSpread({}, classes(undefined, undefined, additional)), {}, {
80
- children: [_jsx(StyledDiv, _objectSpread(_objectSpread({}, classes('content')), {}, {
81
- children: children
82
- })), _jsx(StyledIconButton, {
83
- onClick: function onClick() {
84
- return setIsOpen(function (p) {
85
- return !p;
86
- });
87
- },
88
- "aria-label": t("factbox.".concat(isOpen ? 'close' : 'open')),
89
- children: isOpen ? _jsx(ChevronUp, {}) : _jsx(ChevronDown, {})
90
- })]
91
- }));
92
- };
93
- export default FactBox;
@@ -1,29 +0,0 @@
1
- /**
2
- * Copyright (c) 2021-present, NDLA.
3
- *
4
- * This source code is licensed under the GPLv3 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
-
9
- import { ChevronUp, ChevronDown } from '@ndla/icons/common';
10
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
11
- import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
12
- export var FigureBylineExpandButton = function FigureBylineExpandButton(_ref) {
13
- var messages = _ref.messages,
14
- typeClass = _ref.typeClass;
15
- return _jsxs("button", {
16
- className: "c-figure__show-byline-btn",
17
- type: "button",
18
- "data-figure-button": true,
19
- "data-classtype": typeClass,
20
- "data-aria": messages.expandBylineButtonLabel,
21
- "data-ariaexpanded": messages.minimizeBylineButtonLabel,
22
- "aria-label": messages.expandBylineButtonLabel,
23
- children: [_jsx(ChevronUp, {
24
- className: "expanded-icon"
25
- }), _jsx(ChevronDown, {
26
- className: "contracted-icon"
27
- })]
28
- });
29
- };
@@ -1,30 +0,0 @@
1
- /**
2
- * Copyright (c) 2019-present, NDLA.
3
- *
4
- * This source code is licensed under the GPLv3 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
-
9
- import { ArrowCollapse } from '@ndla/icons/common';
10
- import { ExpandTwoArrows } from '@ndla/icons/action';
11
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
12
- import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
13
- export function FigureExpandButton(_ref) {
14
- var messages = _ref.messages,
15
- typeClass = _ref.typeClass;
16
- return _jsxs("button", {
17
- className: "c-figure__fullscreen-btn",
18
- type: "button",
19
- "data-aria": messages.zoomImageButtonLabel,
20
- "data-ariaexpanded": messages.zoomOutImageButtonLabel,
21
- "aria-label": messages.zoomImageButtonLabel,
22
- "data-figure-button": true,
23
- "data-classtype": typeClass,
24
- children: [_jsx(ExpandTwoArrows, {
25
- className: "contracted-icon"
26
- }), _jsx(ArrowCollapse, {
27
- className: "expanded-icon"
28
- })]
29
- });
30
- }
@@ -1,47 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3
- /**
4
- * Copyright (c) 2023-present, NDLA.
5
- *
6
- * This source code is licensed under the GPLv3 license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- *
9
- */
10
-
11
- import { colors, fonts, spacing } from '@ndla/core';
12
- import { useTranslation } from 'react-i18next';
13
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
14
- import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
15
- var FileListSection = /*#__PURE__*/_styled("section", {
16
- target: "e1xwzl982",
17
- label: "FileListSection"
18
- })("margin:", spacing.large, " 0;padding:", spacing.small, " 0 ", spacing.normal, " ", spacing.normal, ";border-left:2px solid ", colors.brand.greyLightest, ";font-family:", fonts.sans, ";.c-icon{margin-top:3px;flex-shrink:0;margin-right:", spacing.small, ";height:18px;width:18px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbGVMaXN0VjIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCc0MiLCJmaWxlIjoiRmlsZUxpc3RWMi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMy1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbG9ycywgZm9udHMsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59XG5cbmNvbnN0IEZpbGVMaXN0U2VjdGlvbiA9IHN0eWxlZC5zZWN0aW9uYFxuICBtYXJnaW46ICR7c3BhY2luZy5sYXJnZX0gMDtcbiAgcGFkZGluZzogJHtzcGFjaW5nLnNtYWxsfSAwICR7c3BhY2luZy5ub3JtYWx9ICR7c3BhY2luZy5ub3JtYWx9O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICR7Y29sb3JzLmJyYW5kLmdyZXlMaWdodGVzdH07XG4gIGZvbnQtZmFtaWx5OiAke2ZvbnRzLnNhbnN9O1xuXG4gIC5jLWljb24ge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICR7c3BhY2luZy5zbWFsbH07XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICB9XG5gO1xuXG5jb25zdCBGaWxlTGlzdEhlYWRpbmcgPSBzdHlsZWQuaDNgXG4gICR7Zm9udHMuc2l6ZXMoJzE2cHgnLCAnMThweCcpfTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgbWFyZ2luOiAwIDAgJHtzcGFjaW5nLnhzbWFsbH0gMDtcbiAgcGFkZGluZy1ib3R0b206ICR7c3BhY2luZy54c21hbGx9O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHtjb2xvcnMuYnJhbmQuZ3JleUxpZ2h0fTtcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuYDtcblxuY29uc3QgRmlsZXNMaXN0ID0gc3R5bGVkLnVsYFxuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5gO1xuXG5jb25zdCBGaWxlTGlzdFYyID0gKHsgY2hpbGRyZW4gfTogUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGaWxlTGlzdFNlY3Rpb24+XG4gICAgICA8RmlsZUxpc3RIZWFkaW5nPnt0KCdmaWxlcycpfTwvRmlsZUxpc3RIZWFkaW5nPlxuICAgICAgPEZpbGVzTGlzdD57Y2hpbGRyZW59PC9GaWxlc0xpc3Q+XG4gICAgPC9GaWxlTGlzdFNlY3Rpb24+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWxlTGlzdFYyO1xuIl19 */"));
19
- var FileListHeading = /*#__PURE__*/_styled("h3", {
20
- target: "e1xwzl981",
21
- label: "FileListHeading"
22
- })(fonts.sizes('16px', '18px'), ";letter-spacing:0.05em;margin:0 0 ", spacing.xsmall, " 0;padding-bottom:", spacing.xsmall, ";border-bottom:2px solid ", colors.brand.greyLight, ";font-weight:", fonts.weight.bold, ";text-transform:uppercase;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbGVMaXN0VjIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDaUMiLCJmaWxlIjoiRmlsZUxpc3RWMi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMy1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbG9ycywgZm9udHMsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59XG5cbmNvbnN0IEZpbGVMaXN0U2VjdGlvbiA9IHN0eWxlZC5zZWN0aW9uYFxuICBtYXJnaW46ICR7c3BhY2luZy5sYXJnZX0gMDtcbiAgcGFkZGluZzogJHtzcGFjaW5nLnNtYWxsfSAwICR7c3BhY2luZy5ub3JtYWx9ICR7c3BhY2luZy5ub3JtYWx9O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICR7Y29sb3JzLmJyYW5kLmdyZXlMaWdodGVzdH07XG4gIGZvbnQtZmFtaWx5OiAke2ZvbnRzLnNhbnN9O1xuXG4gIC5jLWljb24ge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICR7c3BhY2luZy5zbWFsbH07XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICB9XG5gO1xuXG5jb25zdCBGaWxlTGlzdEhlYWRpbmcgPSBzdHlsZWQuaDNgXG4gICR7Zm9udHMuc2l6ZXMoJzE2cHgnLCAnMThweCcpfTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgbWFyZ2luOiAwIDAgJHtzcGFjaW5nLnhzbWFsbH0gMDtcbiAgcGFkZGluZy1ib3R0b206ICR7c3BhY2luZy54c21hbGx9O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHtjb2xvcnMuYnJhbmQuZ3JleUxpZ2h0fTtcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuYDtcblxuY29uc3QgRmlsZXNMaXN0ID0gc3R5bGVkLnVsYFxuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5gO1xuXG5jb25zdCBGaWxlTGlzdFYyID0gKHsgY2hpbGRyZW4gfTogUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGaWxlTGlzdFNlY3Rpb24+XG4gICAgICA8RmlsZUxpc3RIZWFkaW5nPnt0KCdmaWxlcycpfTwvRmlsZUxpc3RIZWFkaW5nPlxuICAgICAgPEZpbGVzTGlzdD57Y2hpbGRyZW59PC9GaWxlc0xpc3Q+XG4gICAgPC9GaWxlTGlzdFNlY3Rpb24+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWxlTGlzdFYyO1xuIl19 */"));
23
- var FilesList = /*#__PURE__*/_styled("ul", {
24
- target: "e1xwzl980",
25
- label: "FilesList"
26
- })(process.env.NODE_ENV === "production" ? {
27
- name: "1xclg2i",
28
- styles: "margin:0;padding:0"
29
- } : {
30
- name: "1xclg2i",
31
- styles: "margin:0;padding:0",
32
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbGVMaXN0VjIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDMkIiLCJmaWxlIjoiRmlsZUxpc3RWMi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMy1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbG9ycywgZm9udHMsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59XG5cbmNvbnN0IEZpbGVMaXN0U2VjdGlvbiA9IHN0eWxlZC5zZWN0aW9uYFxuICBtYXJnaW46ICR7c3BhY2luZy5sYXJnZX0gMDtcbiAgcGFkZGluZzogJHtzcGFjaW5nLnNtYWxsfSAwICR7c3BhY2luZy5ub3JtYWx9ICR7c3BhY2luZy5ub3JtYWx9O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICR7Y29sb3JzLmJyYW5kLmdyZXlMaWdodGVzdH07XG4gIGZvbnQtZmFtaWx5OiAke2ZvbnRzLnNhbnN9O1xuXG4gIC5jLWljb24ge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICR7c3BhY2luZy5zbWFsbH07XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICB9XG5gO1xuXG5jb25zdCBGaWxlTGlzdEhlYWRpbmcgPSBzdHlsZWQuaDNgXG4gICR7Zm9udHMuc2l6ZXMoJzE2cHgnLCAnMThweCcpfTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgbWFyZ2luOiAwIDAgJHtzcGFjaW5nLnhzbWFsbH0gMDtcbiAgcGFkZGluZy1ib3R0b206ICR7c3BhY2luZy54c21hbGx9O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHtjb2xvcnMuYnJhbmQuZ3JleUxpZ2h0fTtcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuYDtcblxuY29uc3QgRmlsZXNMaXN0ID0gc3R5bGVkLnVsYFxuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5gO1xuXG5jb25zdCBGaWxlTGlzdFYyID0gKHsgY2hpbGRyZW4gfTogUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxGaWxlTGlzdFNlY3Rpb24+XG4gICAgICA8RmlsZUxpc3RIZWFkaW5nPnt0KCdmaWxlcycpfTwvRmlsZUxpc3RIZWFkaW5nPlxuICAgICAgPEZpbGVzTGlzdD57Y2hpbGRyZW59PC9GaWxlc0xpc3Q+XG4gICAgPC9GaWxlTGlzdFNlY3Rpb24+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWxlTGlzdFYyO1xuIl19 */",
33
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
34
- });
35
- var FileListV2 = function FileListV2(_ref) {
36
- var children = _ref.children;
37
- var _useTranslation = useTranslation(),
38
- t = _useTranslation.t;
39
- return _jsxs(FileListSection, {
40
- children: [_jsx(FileListHeading, {
41
- children: t('files')
42
- }), _jsx(FilesList, {
43
- children: children
44
- })]
45
- });
46
- };
47
- export default FileListV2;
@@ -1,32 +0,0 @@
1
- /**
2
- * Copyright (c) 2023-present, NDLA.
3
- *
4
- * This source code is licensed under the GPLv3 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
-
9
- import { useTranslation } from 'react-i18next';
10
- import File from './File';
11
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
12
- var FileV2 = function FileV2(_ref) {
13
- var title = _ref.title,
14
- url = _ref.url,
15
- fileExists = _ref.fileExists,
16
- fileType = _ref.fileType;
17
- var _useTranslation = useTranslation(),
18
- t = _useTranslation.t;
19
- var tooltip = "".concat(t('download'), " ").concat(url.split('/').pop());
20
- return _jsx(File, {
21
- file: {
22
- title: title,
23
- fileExists: fileExists,
24
- formats: [{
25
- url: url,
26
- fileType: fileType,
27
- tooltip: tooltip
28
- }]
29
- }
30
- });
31
- };
32
- export default FileV2;