@ndla/ui 3.0.11 → 3.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Article/ArticleContent.js +2 -0
- package/es/CopyParagraphButton/CopyParagraphButton.js +107 -0
- package/es/CopyParagraphButton/index.js +11 -0
- package/es/CopyParagraphButton/initCopyParagraphButtons.js +30 -0
- package/es/MultidisciplinarySubject/MultidisciplinarySubject.js +7 -7
- package/es/index.js +2 -1
- package/es/locale/messages-en.js +8 -2
- package/es/locale/messages-nb.js +8 -2
- package/es/locale/messages-nn.js +8 -2
- package/lib/Article/ArticleContent.js +3 -0
- package/lib/CopyParagraphButton/CopyParagraphButton.js +119 -0
- package/lib/CopyParagraphButton/index.js +34 -0
- package/lib/CopyParagraphButton/initCopyParagraphButtons.js +44 -0
- package/lib/MultidisciplinarySubject/MultidisciplinarySubject.d.ts +2 -2
- package/lib/MultidisciplinarySubject/MultidisciplinarySubject.js +7 -7
- package/lib/index.js +10 -1
- package/lib/locale/messages-en.d.ts +5 -0
- package/lib/locale/messages-en.js +8 -2
- package/lib/locale/messages-nb.d.ts +5 -0
- package/lib/locale/messages-nb.js +8 -2
- package/lib/locale/messages-nn.d.ts +5 -0
- package/lib/locale/messages-nn.js +8 -2
- package/package.json +6 -6
- package/src/MultidisciplinarySubject/MultidisciplinarySubject.tsx +2 -2
- package/src/ResourceGroup/ResourceItem.tsx +1 -1
- package/src/locale/messages-en.ts +6 -1
- package/src/locale/messages-nb.ts +6 -1
- package/src/locale/messages-nn.ts +6 -1
package/es/index.js
CHANGED
|
@@ -46,4 +46,5 @@ export { i18nInstance, formatNestedMessages, formatMessage } from './i18n';
|
|
|
46
46
|
export { default as ResourceGroup } from './ResourceGroup';
|
|
47
47
|
export { default as LayoutItem, OneColumn, PageContainer, Content } from './Layout';
|
|
48
48
|
export { SubjectAbout, SubjectArchive, SubjectCarousel, SubjectChildContent, SubjectContent, SubjectFilter, SubjectFlexChild, SubjectFlexWrapper, SubjectHeader, SubjectLinks, SubjectNewContent, SubjectSecondaryContent, SubjectSectionTitle, SubjectShortcuts, SubjectSidebarWrapper, SubjectSocialContent, SubjectSocialSection, SubjectTopics, SubjectBanner } from './Subject';
|
|
49
|
-
export { default as ContentCard } from './ContentCard';
|
|
49
|
+
export { default as ContentCard } from './ContentCard';
|
|
50
|
+
export { default as CopyParagraphButton } from './CopyParagraphButton';
|
package/es/locale/messages-en.js
CHANGED
|
@@ -174,7 +174,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
174
174
|
iconLabel: 'in beta',
|
|
175
175
|
dialogHeader: '{{title}} is under construction',
|
|
176
176
|
dialogText: 'Read more at'
|
|
177
|
-
}
|
|
177
|
+
},
|
|
178
|
+
archived: 'This is an expired and unmaintained subject.'
|
|
178
179
|
},
|
|
179
180
|
subjectsPage: {
|
|
180
181
|
chooseSubject: 'Choose subject',
|
|
@@ -297,6 +298,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
297
298
|
multipleAuthorsLabelAriaConjunction: 'and',
|
|
298
299
|
copyPageLink: 'Copy page-link',
|
|
299
300
|
copyPageLinkCopied: 'Link copied',
|
|
301
|
+
copyHeaderLink: 'Copy link to header',
|
|
300
302
|
conjunction: 'and',
|
|
301
303
|
supplierLabel: 'Rightsholder: {{name}}',
|
|
302
304
|
multipleSuppliersLabel: 'Rightsholders: {{names}}',
|
|
@@ -362,6 +364,9 @@ var messages = _objectSpread(_objectSpread({
|
|
|
362
364
|
copyTitle: 'Copy link',
|
|
363
365
|
hasCopiedTitle: 'Link copied'
|
|
364
366
|
},
|
|
367
|
+
image: {
|
|
368
|
+
rules: 'Rules for use of image:'
|
|
369
|
+
},
|
|
365
370
|
images: {
|
|
366
371
|
heading: 'How to use images from the article',
|
|
367
372
|
description: 'Remember to copy the text to be attached to the image where you use it.',
|
|
@@ -500,7 +505,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
500
505
|
en: 'English',
|
|
501
506
|
fr: 'French',
|
|
502
507
|
de: 'German',
|
|
503
|
-
se: 'Sami',
|
|
508
|
+
se: 'Northern Sami',
|
|
509
|
+
sma: 'Southern Sami',
|
|
504
510
|
es: 'Spanish',
|
|
505
511
|
zh: 'Chinese',
|
|
506
512
|
unknown: 'Unknown',
|
package/es/locale/messages-nb.js
CHANGED
|
@@ -174,7 +174,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
174
174
|
iconLabel: 'i arbeid',
|
|
175
175
|
dialogHeader: '{{title}} er under arbeid.',
|
|
176
176
|
dialogText: 'Du kan lese mer om hva dette betyr på'
|
|
177
|
-
}
|
|
177
|
+
},
|
|
178
|
+
archived: 'Dette er et utgått fag som ikke vedlikeholdes.'
|
|
178
179
|
},
|
|
179
180
|
subjectsPage: {
|
|
180
181
|
errorDescription: 'Beklager, en feil oppstod under lasting av fagene.',
|
|
@@ -297,6 +298,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
297
298
|
multipleAuthorsLabelAriaConjunction: 'og',
|
|
298
299
|
copyPageLink: 'Kopier lenke til siden',
|
|
299
300
|
copyPageLinkCopied: 'Lenke kopiert',
|
|
301
|
+
copyHeaderLink: 'Kopier lenke til overskriften',
|
|
300
302
|
conjunction: 'og',
|
|
301
303
|
supplierLabel: 'Rettighetshaver: {{name}}',
|
|
302
304
|
multipleSuppliersLabel: 'Rettighetshavere: {{names}}',
|
|
@@ -374,6 +376,9 @@ var messages = _objectSpread(_objectSpread({
|
|
|
374
376
|
copyTitle: 'Kopier lenke',
|
|
375
377
|
hasCopiedTitle: 'Lenke kopiert'
|
|
376
378
|
},
|
|
379
|
+
image: {
|
|
380
|
+
rules: 'Regler for bruk av bildet:'
|
|
381
|
+
},
|
|
377
382
|
images: {
|
|
378
383
|
heading: 'Slik bruker du bilder fra artikkelen',
|
|
379
384
|
description: 'Husk å kopiere teksten som skal legges ved bildet der du bruker det.',
|
|
@@ -500,7 +505,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
500
505
|
en: 'Engelsk',
|
|
501
506
|
fr: 'Fransk',
|
|
502
507
|
de: 'Tysk',
|
|
503
|
-
se: '
|
|
508
|
+
se: 'Nordsamisk',
|
|
509
|
+
sma: 'Sørsamisk',
|
|
504
510
|
es: 'Spansk',
|
|
505
511
|
zh: 'Kinesisk',
|
|
506
512
|
unknown: 'Ukjent',
|
package/es/locale/messages-nn.js
CHANGED
|
@@ -174,7 +174,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
174
174
|
iconLabel: 'i arbeid',
|
|
175
175
|
dialogHeader: '{{title}} er under arbeid.',
|
|
176
176
|
dialogText: 'Du kan lese meir om kva dette betyr på'
|
|
177
|
-
}
|
|
177
|
+
},
|
|
178
|
+
archived: 'Dette er eit utgått fag som ikkje blir halde ved like.'
|
|
178
179
|
},
|
|
179
180
|
subjectsPage: {
|
|
180
181
|
errorDescription: 'Orsak, ein feil oppstod under lasting av faga.',
|
|
@@ -297,6 +298,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
297
298
|
multipleAuthorsLabelAriaConjunction: 'og',
|
|
298
299
|
copyPageLink: 'Kopier lenke til sida',
|
|
299
300
|
copyPageLinkCopied: 'Lenke kopiert',
|
|
301
|
+
copyHeaderLink: 'Kopier lenke til overskrifta',
|
|
300
302
|
conjunction: 'og',
|
|
301
303
|
supplierLabel: 'Rettshavar: {{name}}',
|
|
302
304
|
multipleSuppliersLabel: 'Rettshavarar: {{names}}',
|
|
@@ -374,6 +376,9 @@ var messages = _objectSpread(_objectSpread({
|
|
|
374
376
|
copyTitle: 'Kopier lenke',
|
|
375
377
|
hasCopiedTitle: 'Lenke kopiert'
|
|
376
378
|
},
|
|
379
|
+
image: {
|
|
380
|
+
rules: 'Reglar for bruk av biletet:'
|
|
381
|
+
},
|
|
377
382
|
images: {
|
|
378
383
|
heading: 'Slik bruker du bilete frå artikkelen',
|
|
379
384
|
description: 'Hugs å kopiere teksten som skal leggjast ved biletet der du bruker det.',
|
|
@@ -500,7 +505,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
500
505
|
en: 'Engelsk',
|
|
501
506
|
fr: 'Fransk',
|
|
502
507
|
de: 'Tysk',
|
|
503
|
-
se: '
|
|
508
|
+
se: 'Nordsamisk',
|
|
509
|
+
sma: 'Sørsamisk',
|
|
504
510
|
es: 'Spansk',
|
|
505
511
|
zh: 'Kinesisk',
|
|
506
512
|
unknown: 'Ukjent',
|
|
@@ -13,6 +13,8 @@ var _articleScripts = require("@ndla/article-scripts");
|
|
|
13
13
|
|
|
14
14
|
var _AudioPlayer = require("../AudioPlayer");
|
|
15
15
|
|
|
16
|
+
var _CopyParagraphButton = require("../CopyParagraphButton");
|
|
17
|
+
|
|
16
18
|
var _core = require("@emotion/core");
|
|
17
19
|
|
|
18
20
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
@@ -34,6 +36,7 @@ var ArticleContent = function ArticleContent(_ref) {
|
|
|
34
36
|
(0, _articleScripts.removeEventListenerForResize)();
|
|
35
37
|
(0, _articleScripts.initArticleScripts)();
|
|
36
38
|
(0, _AudioPlayer.initAudioPlayers)(locale);
|
|
39
|
+
(0, _CopyParagraphButton.initCopyParagraphButtons)();
|
|
37
40
|
return function () {
|
|
38
41
|
(0, _articleScripts.removeEventListenerForResize)();
|
|
39
42
|
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _styledBase = _interopRequireDefault(require("@emotion/styled-base"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
14
|
+
var _common = require("@ndla/icons/common");
|
|
15
|
+
|
|
16
|
+
var _reactI18next = require("react-i18next");
|
|
17
|
+
|
|
18
|
+
var _tooltip = _interopRequireDefault(require("@ndla/tooltip"));
|
|
19
|
+
|
|
20
|
+
var _util = require("@ndla/util");
|
|
21
|
+
|
|
22
|
+
var _core = require("@emotion/core");
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
29
|
+
|
|
30
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
31
|
+
|
|
32
|
+
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."); }
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
39
|
+
|
|
40
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
41
|
+
|
|
42
|
+
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)."; }
|
|
43
|
+
|
|
44
|
+
var IconButton = (0, _styledBase["default"])("button", {
|
|
45
|
+
target: "e18czas70",
|
|
46
|
+
label: "IconButton"
|
|
47
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
48
|
+
name: "1eoah0f",
|
|
49
|
+
styles: "float:left;position:relative;left:-3em;top:0.1em;background:none;border:0;z-index:1;transition:0.2s;opacity:0;& svg{width:30px;height:30px;}"
|
|
50
|
+
} : {
|
|
51
|
+
name: "1eoah0f",
|
|
52
|
+
styles: "float:left;position:relative;left:-3em;top:0.1em;background:none;border:0;z-index:1;transition:0.2s;opacity:0;& svg{width:30px;height:30px;}",
|
|
53
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvcHlQYXJhZ3JhcGhCdXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCZ0MiLCJmaWxlIjoiQ29weVBhcmFncmFwaEJ1dHRvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgVG9vbHRpcCBmcm9tICdAbmRsYS90b29sdGlwJztcbmltcG9ydCB7IGNvcHlUZXh0VG9DbGlwYm9hcmQgfSBmcm9tICdAbmRsYS91dGlsJztcblxuY29uc3QgSWNvbkJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zZW07XG4gIHRvcDogMC4xZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogMC4ycztcbiAgb3BhY2l0eTogMDtcblxuICAmIHN2ZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG5gO1xuXG5jb25zdCBDb250YWluZXJEaXYgPSBzdHlsZWQuZGl2YFxuICAmOmhvdmVyIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gICYgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMmVtO1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XG59XG5cbmNvbnN0IENvcHlQYXJhZ3JhcGhCdXR0b24gPSAoeyB0aXRsZSB9OiBQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IFtoYXNDb3BpZWQsIHNldEhhc0NvcGllZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGhhc0NvcGllZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiBzZXRIYXNDb3BpZWQoZmFsc2UpLCAzMDAwKTtcbiAgICB9XG4gIH0sIFtoYXNDb3BpZWRdKTtcblxuICBpZiAoIXRpdGxlKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBvbkNvcHlDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudCwgTW91c2VFdmVudD4pOiB2b2lkID0+IHtcbiAgICBzZXRIYXNDb3BpZWQodHJ1ZSk7XG4gICAgY29uc3QgY29weUlkID0gZXZlbnQuY3VycmVudFRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGl0bGUnKTtcbiAgICBjb25zdCB7IGxvY2F0aW9uIH0gPSB3aW5kb3c7XG4gICAgY29uc3QgbmV3SGFzaCA9IGAjJHtjb3B5SWR9YDtcbiAgICBjb25zdCBwb3J0ID0gbG9jYXRpb24ucG9ydCA/IGA6JHtsb2NhdGlvbi5wb3J0fWAgOiAnJztcbiAgICBjb25zdCB1cmxUb0NvcHkgPSBgJHtsb2NhdGlvbi5wcm90b2NvbH0vLyR7bG9jYXRpb24uaG9zdG5hbWV9JHtwb3J0fSR7bG9jYXRpb24ucGF0aG5hbWV9JHtsb2NhdGlvbi5zZWFyY2h9JHtuZXdIYXNofWA7XG5cbiAgICBjb3B5VGV4dFRvQ2xpcGJvYXJkKHVybFRvQ29weSk7XG4gIH07XG5cbiAgY29uc3Qgc2FuaXRpemVkVGl0bGUgPSBlbmNvZGVVUklDb21wb25lbnQodGl0bGUucmVwbGFjZSgvIC9nLCAnLScpKTtcbiAgY29uc3QgdG9vbHRpcCA9IGhhc0NvcGllZCA/IHQoJ2FydGljbGUuY29weVBhZ2VMaW5rQ29waWVkJykgOiB0KCdhcnRpY2xlLmNvcHlIZWFkZXJMaW5rJyk7XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lckRpdiBkYXRhLWhlYWRlci1jb3B5LWNvbnRhaW5lciBkYXRhLXRpdGxlPXt0aXRsZX0+XG4gICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXtvbkNvcHlDbGlja30gZGF0YS10aXRsZT17c2FuaXRpemVkVGl0bGV9PlxuICAgICAgICA8VG9vbHRpcCB0b29sdGlwPXt0b29sdGlwfT5cbiAgICAgICAgICA8TGluayB0aXRsZT17Jyd9IC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDxoMiBpZD17c2FuaXRpemVkVGl0bGV9IHRhYkluZGV4PXswfT5cbiAgICAgICAge3RpdGxlfVxuICAgICAgPC9oMj5cbiAgICA8L0NvbnRhaW5lckRpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvcHlQYXJhZ3JhcGhCdXR0b247XG4iXX0= */",
|
|
54
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
55
|
+
});
|
|
56
|
+
var ContainerDiv = (0, _styledBase["default"])("div", {
|
|
57
|
+
target: "e18czas71",
|
|
58
|
+
label: "ContainerDiv"
|
|
59
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
60
|
+
name: "25spe5",
|
|
61
|
+
styles: "&:hover button{cursor:pointer;opacity:0.5;}& h2{position:relative;left:-2em;}"
|
|
62
|
+
} : {
|
|
63
|
+
name: "25spe5",
|
|
64
|
+
styles: "&:hover button{cursor:pointer;opacity:0.5;}& h2{position:relative;left:-2em;}",
|
|
65
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvcHlQYXJhZ3JhcGhCdXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtDK0IiLCJmaWxlIjoiQ29weVBhcmFncmFwaEJ1dHRvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgVG9vbHRpcCBmcm9tICdAbmRsYS90b29sdGlwJztcbmltcG9ydCB7IGNvcHlUZXh0VG9DbGlwYm9hcmQgfSBmcm9tICdAbmRsYS91dGlsJztcblxuY29uc3QgSWNvbkJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zZW07XG4gIHRvcDogMC4xZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogMC4ycztcbiAgb3BhY2l0eTogMDtcblxuICAmIHN2ZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG5gO1xuXG5jb25zdCBDb250YWluZXJEaXYgPSBzdHlsZWQuZGl2YFxuICAmOmhvdmVyIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gICYgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMmVtO1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XG59XG5cbmNvbnN0IENvcHlQYXJhZ3JhcGhCdXR0b24gPSAoeyB0aXRsZSB9OiBQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IFtoYXNDb3BpZWQsIHNldEhhc0NvcGllZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGhhc0NvcGllZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiBzZXRIYXNDb3BpZWQoZmFsc2UpLCAzMDAwKTtcbiAgICB9XG4gIH0sIFtoYXNDb3BpZWRdKTtcblxuICBpZiAoIXRpdGxlKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBvbkNvcHlDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudCwgTW91c2VFdmVudD4pOiB2b2lkID0+IHtcbiAgICBzZXRIYXNDb3BpZWQodHJ1ZSk7XG4gICAgY29uc3QgY29weUlkID0gZXZlbnQuY3VycmVudFRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGl0bGUnKTtcbiAgICBjb25zdCB7IGxvY2F0aW9uIH0gPSB3aW5kb3c7XG4gICAgY29uc3QgbmV3SGFzaCA9IGAjJHtjb3B5SWR9YDtcbiAgICBjb25zdCBwb3J0ID0gbG9jYXRpb24ucG9ydCA/IGA6JHtsb2NhdGlvbi5wb3J0fWAgOiAnJztcbiAgICBjb25zdCB1cmxUb0NvcHkgPSBgJHtsb2NhdGlvbi5wcm90b2NvbH0vLyR7bG9jYXRpb24uaG9zdG5hbWV9JHtwb3J0fSR7bG9jYXRpb24ucGF0aG5hbWV9JHtsb2NhdGlvbi5zZWFyY2h9JHtuZXdIYXNofWA7XG5cbiAgICBjb3B5VGV4dFRvQ2xpcGJvYXJkKHVybFRvQ29weSk7XG4gIH07XG5cbiAgY29uc3Qgc2FuaXRpemVkVGl0bGUgPSBlbmNvZGVVUklDb21wb25lbnQodGl0bGUucmVwbGFjZSgvIC9nLCAnLScpKTtcbiAgY29uc3QgdG9vbHRpcCA9IGhhc0NvcGllZCA/IHQoJ2FydGljbGUuY29weVBhZ2VMaW5rQ29waWVkJykgOiB0KCdhcnRpY2xlLmNvcHlIZWFkZXJMaW5rJyk7XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lckRpdiBkYXRhLWhlYWRlci1jb3B5LWNvbnRhaW5lciBkYXRhLXRpdGxlPXt0aXRsZX0+XG4gICAgICA8SWNvbkJ1dHRvbiBvbkNsaWNrPXtvbkNvcHlDbGlja30gZGF0YS10aXRsZT17c2FuaXRpemVkVGl0bGV9PlxuICAgICAgICA8VG9vbHRpcCB0b29sdGlwPXt0b29sdGlwfT5cbiAgICAgICAgICA8TGluayB0aXRsZT17Jyd9IC8+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDxoMiBpZD17c2FuaXRpemVkVGl0bGV9IHRhYkluZGV4PXswfT5cbiAgICAgICAge3RpdGxlfVxuICAgICAgPC9oMj5cbiAgICA8L0NvbnRhaW5lckRpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvcHlQYXJhZ3JhcGhCdXR0b247XG4iXX0= */",
|
|
66
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
var CopyParagraphButton = function CopyParagraphButton(_ref) {
|
|
70
|
+
var title = _ref.title;
|
|
71
|
+
|
|
72
|
+
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
73
|
+
t = _useTranslation.t;
|
|
74
|
+
|
|
75
|
+
var _useState = (0, _react.useState)(false),
|
|
76
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
77
|
+
hasCopied = _useState2[0],
|
|
78
|
+
setHasCopied = _useState2[1];
|
|
79
|
+
|
|
80
|
+
(0, _react.useEffect)(function () {
|
|
81
|
+
if (hasCopied) {
|
|
82
|
+
setTimeout(function () {
|
|
83
|
+
return setHasCopied(false);
|
|
84
|
+
}, 3000);
|
|
85
|
+
}
|
|
86
|
+
}, [hasCopied]);
|
|
87
|
+
if (!title) return null;
|
|
88
|
+
|
|
89
|
+
var onCopyClick = function onCopyClick(event) {
|
|
90
|
+
setHasCopied(true);
|
|
91
|
+
var copyId = event.currentTarget.getAttribute('data-title');
|
|
92
|
+
var _window = window,
|
|
93
|
+
location = _window.location;
|
|
94
|
+
var newHash = "#".concat(copyId);
|
|
95
|
+
var port = location.port ? ":".concat(location.port) : '';
|
|
96
|
+
var urlToCopy = "".concat(location.protocol, "//").concat(location.hostname).concat(port).concat(location.pathname).concat(location.search).concat(newHash);
|
|
97
|
+
(0, _util.copyTextToClipboard)(urlToCopy);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
var sanitizedTitle = encodeURIComponent(title.replace(/ /g, '-'));
|
|
101
|
+
var tooltip = hasCopied ? t('article.copyPageLinkCopied') : t('article.copyHeaderLink');
|
|
102
|
+
return (0, _core.jsx)(ContainerDiv, {
|
|
103
|
+
"data-header-copy-container": true,
|
|
104
|
+
"data-title": title
|
|
105
|
+
}, (0, _core.jsx)(IconButton, {
|
|
106
|
+
onClick: onCopyClick,
|
|
107
|
+
"data-title": sanitizedTitle
|
|
108
|
+
}, (0, _core.jsx)(_tooltip["default"], {
|
|
109
|
+
tooltip: tooltip
|
|
110
|
+
}, (0, _core.jsx)(_common.Link, {
|
|
111
|
+
title: ''
|
|
112
|
+
}))), (0, _core.jsx)("h2", {
|
|
113
|
+
id: sanitizedTitle,
|
|
114
|
+
tabIndex: 0
|
|
115
|
+
}, title));
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
var _default = CopyParagraphButton;
|
|
119
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "CopyParagraphButton", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _CopyParagraphButton["default"];
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "initCopyParagraphButtons", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _initCopyParagraphButtons["default"];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
exports["default"] = void 0;
|
|
19
|
+
|
|
20
|
+
var _CopyParagraphButton = _interopRequireDefault(require("./CopyParagraphButton"));
|
|
21
|
+
|
|
22
|
+
var _initCopyParagraphButtons = _interopRequireDefault(require("./initCopyParagraphButtons"));
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Copyright (c) 2021-present, NDLA.
|
|
28
|
+
*
|
|
29
|
+
* This source code is licensed under the GPLv3 license found in the
|
|
30
|
+
* LICENSE file in the root directory of this source tree.
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
var _default = _CopyParagraphButton["default"];
|
|
34
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
11
|
+
|
|
12
|
+
var _CopyParagraphButton = _interopRequireDefault(require("./CopyParagraphButton"));
|
|
13
|
+
|
|
14
|
+
var _core = require("@emotion/core");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Copyright (c) 2021-present, NDLA.
|
|
20
|
+
*
|
|
21
|
+
* This source code is licensed under the GPLv3 license found in the
|
|
22
|
+
* LICENSE file in the root directory of this source tree.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
var forEachElement = function forEachElement(selector, callback) {
|
|
26
|
+
var nodeList = document.querySelectorAll(selector);
|
|
27
|
+
|
|
28
|
+
for (var i = 0; i < nodeList.length; i += 1) {
|
|
29
|
+
callback(nodeList[i], i);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var initCopyParagraphButtons = function initCopyParagraphButtons() {
|
|
34
|
+
forEachElement('[data-header-copy-container]', function (el) {
|
|
35
|
+
var title = el.getAttribute('data-title');
|
|
36
|
+
|
|
37
|
+
_reactDom["default"].hydrate((0, _core.jsx)(_CopyParagraphButton["default"], {
|
|
38
|
+
title: title
|
|
39
|
+
}), el);
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var _default = initCopyParagraphButtons;
|
|
44
|
+
exports["default"] = _default;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
import { ListItemProps } from './ListItem';
|
|
3
3
|
declare type Props = {
|
|
4
4
|
cards: ListItemProps[];
|
|
5
|
-
children:
|
|
5
|
+
children: ReactNode;
|
|
6
6
|
totalCardCount: number;
|
|
7
7
|
hideCards?: boolean;
|
|
8
8
|
};
|