@ndla/ui 3.2.1 → 3.2.5

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 (141) hide show
  1. package/es/Article/ArticleAuthorContent.js +1 -2
  2. package/es/Article/ArticleSideBar.js +42 -14
  3. package/es/BackgroundImage/BackgroundImage.js +27 -0
  4. package/es/BackgroundImage/index.js +2 -0
  5. package/es/ContentLoader/index.js +83 -0
  6. package/es/Dialog/Dialog.js +64 -0
  7. package/es/Dialog/index.js +10 -0
  8. package/es/FactBox/FactBox.js +7 -11
  9. package/es/Figure/Figure.js +97 -0
  10. package/es/Figure/FigureExpandButton.js +28 -0
  11. package/es/Figure/FigureLicense.js +54 -0
  12. package/es/Figure/FigureLicenseDialog.js +43 -0
  13. package/es/Figure/index.js +12 -0
  14. package/es/FileList/File.js +48 -0
  15. package/es/FileList/FileList.js +20 -0
  16. package/es/FileList/index.js +3 -0
  17. package/es/Hero/Hero.js +64 -0
  18. package/es/Hero/index.js +8 -0
  19. package/es/Image/Image.js +96 -0
  20. package/es/Image/ImageLink.js +46 -0
  21. package/es/Image/LazyLoadImage.js +47 -0
  22. package/es/Image/index.js +11 -0
  23. package/es/InfoBox/InfoBox.js +11 -0
  24. package/es/InfoBox/index.js +1 -0
  25. package/es/InfoWidget/InfoWidget.js +57 -0
  26. package/es/InfoWidget/index.js +2 -0
  27. package/es/Logo/Logo.js +51 -0
  28. package/es/Logo/SvgLogo.js +54 -0
  29. package/es/Logo/index.js +9 -0
  30. package/es/Masthead/Masthead.js +67 -0
  31. package/es/Masthead/index.js +10 -0
  32. package/es/NoContentBox/NoContentBox.js +26 -0
  33. package/es/NoContentBox/index.js +9 -0
  34. package/es/Portrait/Portrait.js +30 -0
  35. package/es/Portrait/index.js +9 -0
  36. package/es/RelatedArticleList/RelatedArticleList.js +4 -23
  37. package/es/ResourcesWrapper/ResourcesTitle.js +0 -4
  38. package/es/ResourcesWrapper/ResourcesTopicTitle.js +12 -25
  39. package/es/ResourcesWrapper/ResourcesWrapper.js +2 -11
  40. package/es/Topic/Topic.js +21 -22
  41. package/es/Translation/Translation.js +22 -0
  42. package/es/Translation/TranslationBox.js +17 -0
  43. package/es/Translation/TranslationLine.js +37 -0
  44. package/es/Translation/index.js +3 -0
  45. package/es/index-javascript.js +1 -19
  46. package/es/index.js +18 -0
  47. package/es/locale/messages-en.js +4 -0
  48. package/es/locale/messages-nb.js +5 -1
  49. package/es/locale/messages-nn.js +5 -1
  50. package/lib/Article/ArticleSideBar.d.ts +2 -1
  51. package/lib/Article/ArticleSideBar.js +43 -14
  52. package/lib/BackgroundImage/BackgroundImage.js +40 -0
  53. package/lib/BackgroundImage/index.js +13 -0
  54. package/lib/ContentLoader/index.js +88 -0
  55. package/lib/Dialog/Dialog.d.ts +1 -1
  56. package/lib/Dialog/Dialog.js +70 -0
  57. package/lib/Dialog/index.js +24 -0
  58. package/lib/FactBox/FactBox.d.ts +16 -0
  59. package/lib/FactBox/FactBox.js +5 -11
  60. package/lib/FactBox/index.d.ts +2 -0
  61. package/lib/Figure/Figure.d.ts +3 -4
  62. package/lib/Figure/Figure.js +109 -0
  63. package/lib/Figure/FigureExpandButton.js +41 -0
  64. package/lib/Figure/FigureLicense.js +66 -0
  65. package/lib/Figure/FigureLicenseDialog.js +48 -0
  66. package/lib/Figure/index.js +49 -0
  67. package/lib/FileList/File.js +63 -0
  68. package/lib/FileList/FileList.js +34 -0
  69. package/lib/FileList/index.js +21 -0
  70. package/lib/Hero/Hero.d.ts +2 -1
  71. package/lib/Hero/Hero.js +100 -0
  72. package/lib/Hero/index.d.ts +1 -0
  73. package/lib/Hero/index.js +55 -0
  74. package/lib/Image/Image.d.ts +10 -1
  75. package/lib/Image/Image.js +105 -0
  76. package/lib/Image/ImageLink.d.ts +1 -1
  77. package/lib/Image/ImageLink.js +50 -0
  78. package/lib/Image/LazyLoadImage.js +51 -0
  79. package/lib/Image/index.d.ts +1 -0
  80. package/lib/Image/index.js +38 -0
  81. package/lib/InfoBox/InfoBox.js +24 -0
  82. package/lib/InfoBox/index.js +15 -0
  83. package/lib/InfoWidget/InfoWidget.js +73 -0
  84. package/lib/InfoWidget/index.js +13 -0
  85. package/lib/Logo/Logo.js +70 -0
  86. package/lib/Logo/SvgLogo.js +59 -0
  87. package/lib/Logo/index.js +20 -0
  88. package/lib/Masthead/Masthead.js +82 -0
  89. package/lib/Masthead/index.js +30 -0
  90. package/lib/NoContentBox/NoContentBox.js +43 -0
  91. package/lib/NoContentBox/index.js +20 -0
  92. package/lib/Portrait/Portrait.js +43 -0
  93. package/lib/Portrait/index.js +20 -0
  94. package/lib/RelatedArticleList/RelatedArticleList.d.ts +25 -0
  95. package/lib/RelatedArticleList/RelatedArticleList.js +2 -23
  96. package/lib/RelatedArticleList/index.d.ts +10 -0
  97. package/lib/ResourcesWrapper/ResourcesTitle.d.ts +13 -0
  98. package/lib/ResourcesWrapper/ResourcesTitle.js +0 -5
  99. package/lib/ResourcesWrapper/ResourcesTopicTitle.d.ts +13 -0
  100. package/lib/ResourcesWrapper/ResourcesTopicTitle.js +11 -26
  101. package/lib/ResourcesWrapper/ResourcesWrapper.d.ts +18 -0
  102. package/lib/ResourcesWrapper/ResourcesWrapper.js +2 -12
  103. package/lib/ResourcesWrapper/index.d.ts +11 -0
  104. package/lib/Topic/Topic.d.ts +1 -1
  105. package/lib/Topic/Topic.js +20 -20
  106. package/lib/Translation/Translation.js +35 -0
  107. package/lib/Translation/TranslationBox.d.ts +1 -1
  108. package/lib/Translation/TranslationBox.js +29 -0
  109. package/lib/Translation/TranslationLine.js +42 -0
  110. package/lib/Translation/index.js +31 -0
  111. package/lib/index-javascript.js +0 -250
  112. package/lib/index.d.ts +4 -0
  113. package/lib/index.js +286 -0
  114. package/lib/locale/messages-en.js +4 -0
  115. package/lib/locale/messages-nb.js +5 -1
  116. package/lib/locale/messages-nn.js +5 -1
  117. package/lib/types.d.ts +0 -10
  118. package/lib/utils/createUniversalPortal.d.ts +9 -0
  119. package/package.json +6 -6
  120. package/src/Article/ArticleSideBar.tsx +31 -3
  121. package/src/FactBox/{FactBox.jsx → FactBox.tsx} +12 -14
  122. package/src/FactBox/{index.js → index.ts} +0 -0
  123. package/src/Figure/Figure.tsx +7 -4
  124. package/src/Figure/FigureLicense.tsx +1 -1
  125. package/src/Hero/Hero.tsx +14 -12
  126. package/src/Hero/index.ts +2 -0
  127. package/src/Image/Image.tsx +11 -1
  128. package/src/Image/ImageLink.tsx +1 -1
  129. package/src/Image/index.ts +1 -0
  130. package/src/RelatedArticleList/{RelatedArticleList.jsx → RelatedArticleList.tsx} +43 -30
  131. package/src/RelatedArticleList/{index.js → index.ts} +0 -0
  132. package/src/ResourcesWrapper/{ResourcesTitle.jsx → ResourcesTitle.tsx} +5 -7
  133. package/src/ResourcesWrapper/{ResourcesTopicTitle.jsx → ResourcesTopicTitle.tsx} +23 -22
  134. package/src/ResourcesWrapper/{ResourcesWrapper.jsx → ResourcesWrapper.tsx} +9 -14
  135. package/src/ResourcesWrapper/{index.js → index.ts} +0 -0
  136. package/src/Topic/Topic.tsx +1 -3
  137. package/src/Translation/TranslationBox.tsx +1 -1
  138. package/src/index-javascript.js +0 -4
  139. package/src/index.ts +8 -0
  140. package/src/types.ts +0 -12
  141. package/src/utils/{createUniversalPortal.jsx → createUniversalPortal.tsx} +3 -3
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Dialog = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactBemHelper = _interopRequireDefault(require("react-bem-helper"));
11
+
12
+ var _createUniversalPortal = require("../utils/createUniversalPortal");
13
+
14
+ var _core = require("@emotion/core");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
+
20
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
+
22
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+
24
+ var classes = new _reactBemHelper["default"]({
25
+ name: 'dialog',
26
+ prefix: 'c-'
27
+ });
28
+
29
+ var Dialog = function Dialog(_ref) {
30
+ var children = _ref.children,
31
+ _ref$messages = _ref.messages,
32
+ messages = _ref$messages === void 0 ? {
33
+ close: 'Lukk'
34
+ } : _ref$messages,
35
+ id = _ref.id,
36
+ labelledby = _ref.labelledby,
37
+ label = _ref.label,
38
+ modifier = _ref.modifier,
39
+ _ref$disablePortal = _ref.disablePortal,
40
+ disablePortal = _ref$disablePortal === void 0 ? false : _ref$disablePortal,
41
+ _ref$hidden = _ref.hidden,
42
+ hidden = _ref$hidden === void 0 ? true : _ref$hidden,
43
+ onClose = _ref.onClose,
44
+ rest = _objectWithoutProperties(_ref, ["children", "messages", "id", "labelledby", "label", "modifier", "disablePortal", "hidden", "onClose"]);
45
+
46
+ var content = (0, _core.jsx)("div", _extends({}, classes('', modifier), {
47
+ "data-dialog-id": id,
48
+ role: "dialog",
49
+ "aria-hidden": hidden,
50
+ "aria-labelledby": labelledby,
51
+ "aria-label": label
52
+ }, rest), (0, _core.jsx)("div", classes('content'), (0, _core.jsx)("button", _extends({}, classes('close'), {
53
+ type: "button",
54
+ onClick: function onClick() {
55
+ if (onClose) {
56
+ onClose();
57
+ }
58
+ }
59
+ }), messages.close), children), (0, _core.jsx)("div", {
60
+ className: "o-backdrop"
61
+ }));
62
+
63
+ if (disablePortal) {
64
+ return content;
65
+ }
66
+
67
+ return (0, _createUniversalPortal.createUniversalPortal)(content, 'body');
68
+ };
69
+
70
+ exports.Dialog = Dialog;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Dialog", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _Dialog.Dialog;
10
+ }
11
+ });
12
+ exports["default"] = void 0;
13
+
14
+ var _Dialog = require("./Dialog");
15
+
16
+ /**
17
+ * Copyright (c) 2017-present, NDLA.
18
+ *
19
+ * This source code is licensed under the GPLv3 license found in the
20
+ * LICENSE file in the root directory of this source tree.
21
+ *
22
+ */
23
+ var _default = _Dialog.Dialog;
24
+ exports["default"] = _default;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright (c) 2016-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 { ReactNode } from 'react';
9
+ interface Props {
10
+ dangerouslySetInnerHTML?: {
11
+ __html: string;
12
+ };
13
+ children?: ReactNode;
14
+ }
15
+ declare const FactBox: ({ children, dangerouslySetInnerHTML }: Props) => JSX.Element;
16
+ export default FactBox;
@@ -7,8 +7,6 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
10
  var _reactBemHelper = _interopRequireDefault(require("react-bem-helper"));
13
11
 
14
12
  var _button = _interopRequireDefault(require("@ndla/button"));
@@ -20,9 +18,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
20
18
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
19
 
22
20
  var toggleFactBox = function toggleFactBox(event) {
23
- var button = event.target;
24
- var aside = button.previousSibling.parentNode;
25
- aside.classList.toggle('expanded');
21
+ var _button$previousSibli, _aside$classList;
22
+
23
+ var button = event.currentTarget;
24
+ var aside = button === null || button === void 0 ? void 0 : (_button$previousSibli = button.previousSibling) === null || _button$previousSibli === void 0 ? void 0 : _button$previousSibli.parentElement;
25
+ aside === null || aside === void 0 ? void 0 : (_aside$classList = aside.classList) === null || _aside$classList === void 0 ? void 0 : _aside$classList.toggle('expanded');
26
26
  };
27
27
 
28
28
  var classes = new _reactBemHelper["default"]({
@@ -40,11 +40,5 @@ var FactBox = function FactBox(_ref) {
40
40
  })));
41
41
  };
42
42
 
43
- FactBox.propTypes = {
44
- dangerouslySetInnerHTML: _propTypes["default"].shape({
45
- __html: _propTypes["default"].string.isRequired
46
- }),
47
- children: _propTypes["default"].node
48
- };
49
43
  var _default = FactBox;
50
44
  exports["default"] = _default;
@@ -0,0 +1,2 @@
1
+ import FactBox from './FactBox';
2
+ export default FactBox;
@@ -6,9 +6,8 @@
6
6
  *
7
7
  */
8
8
  import { ReactNode } from 'react';
9
- import { License } from '../types';
10
9
  export declare const FigureCaption: ({ figureId, id, children, caption, authors, reuseLabel, licenseRights, locale, link, hideFigcaption, hasLinkedVideo, }: FigureCaptionProps) => JSX.Element;
11
- export interface FigureLicense extends License {
10
+ export interface FigureLicense {
12
11
  short: string;
13
12
  title: string;
14
13
  userFriendlyTitle: string;
@@ -40,9 +39,9 @@ interface FigureCaptionProps {
40
39
  declare const Figure: ({ children, type, resizeIframe, ...rest }: Props) => JSX.Element;
41
40
  interface Props {
42
41
  id: string;
43
- children: (params: {
42
+ children: ReactNode | ((params: {
44
43
  typeClass: string;
45
- }) => ReactNode | ReactNode;
44
+ }) => ReactNode);
46
45
  type: 'full' | 'full-column' | 'left' | 'small-left' | 'right' | 'small-right' | 'xsmall-right' | 'xsmall-left';
47
46
  resizeIframe?: boolean;
48
47
  noFigcaption?: boolean;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.FigureCaption = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactBemHelper = _interopRequireDefault(require("react-bem-helper"));
11
+
12
+ var _util = require("@ndla/util");
13
+
14
+ var _reactI18next = require("react-i18next");
15
+
16
+ var _common = require("@ndla/icons/common");
17
+
18
+ var _licenses = require("@ndla/licenses");
19
+
20
+ var _safelink = _interopRequireDefault(require("@ndla/safelink"));
21
+
22
+ var _button = _interopRequireDefault(require("@ndla/button"));
23
+
24
+ var _core = require("@emotion/core");
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
+
28
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29
+
30
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
31
+
32
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
33
+
34
+ var classes = new _reactBemHelper["default"]({
35
+ name: 'figure',
36
+ prefix: 'c-'
37
+ });
38
+
39
+ var FigureCaption = function FigureCaption(_ref) {
40
+ var figureId = _ref.figureId,
41
+ id = _ref.id,
42
+ children = _ref.children,
43
+ caption = _ref.caption,
44
+ authors = _ref.authors,
45
+ reuseLabel = _ref.reuseLabel,
46
+ licenseRights = _ref.licenseRights,
47
+ locale = _ref.locale,
48
+ link = _ref.link,
49
+ hideFigcaption = _ref.hideFigcaption,
50
+ hasLinkedVideo = _ref.hasLinkedVideo;
51
+
52
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
53
+ t = _useTranslation.t;
54
+
55
+ return (0, _core.jsx)("figcaption", classes('caption', hideFigcaption ? 'hidden-caption' : undefined), caption ? (0, _core.jsx)("div", classes('info'), (0, _util.parseMarkdown)(caption)) : null, (0, _core.jsx)("footer", classes('byline'), (0, _core.jsx)("div", classes('byline-licenselist'), (0, _core.jsx)(_licenses.LicenseByline, {
56
+ licenseRights: licenseRights,
57
+ locale: locale,
58
+ marginRight: true
59
+ }, (0, _core.jsx)("div", classes('byline-author-buttons'), (0, _core.jsx)("span", classes('byline-authors'), authors === null || authors === void 0 ? void 0 : authors.map(function (author) {
60
+ return author.name;
61
+ }).join(', ')), (0, _core.jsx)("div", null, (0, _core.jsx)(_button["default"], {
62
+ borderShape: "rounded",
63
+ outline: true,
64
+ size: "small",
65
+ type: "button",
66
+ "data-dialog-trigger-id": id,
67
+ "data-dialog-source-id": figureId
68
+ }, reuseLabel), hasLinkedVideo && (0, _core.jsx)(_button["default"], _extends({
69
+ borderShape: "rounded",
70
+ outline: true,
71
+ size: "small",
72
+ type: "button"
73
+ }, classes('toggleAlternativeVideo')), (0, _core.jsx)("span", {
74
+ className: "original"
75
+ }, t('figure.button.alternative')), (0, _core.jsx)("span", {
76
+ className: "alternative hidden"
77
+ }, t('figure.button.original')))), children)), link && (0, _core.jsx)("div", classes('link-wrapper'), (0, _core.jsx)(_safelink["default"], _extends({
78
+ to: link.url
79
+ }, classes('link'), {
80
+ target: link.external ? '_blank' : undefined,
81
+ rel: link.external ? 'noopener noreferrer' : undefined
82
+ }), (0, _core.jsx)("span", classes('link-text'), link.text), (0, _core.jsx)(_common.Link, null)), link.description && (0, _core.jsx)("p", classes('link-description'), link.description)))));
83
+ };
84
+
85
+ exports.FigureCaption = FigureCaption;
86
+
87
+ var Figure = function Figure(_ref2) {
88
+ var children = _ref2.children,
89
+ _ref2$type = _ref2.type,
90
+ type = _ref2$type === void 0 ? 'full' : _ref2$type,
91
+ resizeIframe = _ref2.resizeIframe,
92
+ rest = _objectWithoutProperties(_ref2, ["children", "type", "resizeIframe"]);
93
+
94
+ var typeClass = type === 'full-column' ? 'c-figure--full-column' : "u-float-".concat(type);
95
+ return (0, _core.jsx)("figure", _extends({
96
+ "data-sizetype": type
97
+ }, classes('', {
98
+ resize: !!resizeIframe
99
+ }, typeClass), rest), isFunction(children) ? children({
100
+ typeClass: typeClass
101
+ }) : children);
102
+ };
103
+
104
+ var isFunction = function isFunction(children) {
105
+ return (0, _util.isFunction)(children);
106
+ };
107
+
108
+ var _default = Figure;
109
+ exports["default"] = _default;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FigureExpandButton = FigureExpandButton;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _common = require("@ndla/icons/common");
11
+
12
+ var _action = require("@ndla/icons/action");
13
+
14
+ var _core = require("@emotion/core");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ /**
19
+ * Copyright (c) 2019-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
+ function FigureExpandButton(_ref) {
26
+ var messages = _ref.messages,
27
+ typeClass = _ref.typeClass;
28
+ return (0, _core.jsx)("button", {
29
+ className: "c-figure__fullscreen-btn",
30
+ type: "button",
31
+ "data-figure-button": true,
32
+ "data-classtype": typeClass,
33
+ "data-aria": messages.zoomImageButtonLabel,
34
+ "data-ariaexpanded": messages.zoomOutImageButtonLabel,
35
+ "aria-label": messages.zoomImageButtonLabel
36
+ }, (0, _core.jsx)(_common.ArrowCollapse, {
37
+ className: "expanded-icon"
38
+ }), (0, _core.jsx)(_action.ExpandTwoArrows, {
39
+ className: "contracted-icon"
40
+ }));
41
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FigureLicenseByline = exports.FigureLicenseCta = exports.classLicenses = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactBemHelper = _interopRequireDefault(require("react-bem-helper"));
11
+
12
+ var _util = require("@ndla/util");
13
+
14
+ var _licenses = require("@ndla/licenses");
15
+
16
+ var _core = require("@emotion/core");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
+
22
+ var classLicenses = new _reactBemHelper["default"]({
23
+ name: 'figure-license',
24
+ prefix: 'c-'
25
+ });
26
+ exports.classLicenses = classLicenses;
27
+
28
+ var FigureLicenseCta = function FigureLicenseCta(_ref) {
29
+ var children = _ref.children,
30
+ messages = _ref.messages,
31
+ authors = _ref.authors,
32
+ origin = _ref.origin,
33
+ title = _ref.title;
34
+ return (0, _core.jsx)("div", classLicenses('cta-wrapper'), (0, _core.jsx)("ul", classLicenses('list'), title && (0, _core.jsx)("li", classLicenses('item'), "".concat(messages.title, ": ").concat(title)), authors === null || authors === void 0 ? void 0 : authors.map(function (author) {
35
+ return (0, _core.jsx)("li", _extends({
36
+ key: (0, _util.uuid)()
37
+ }, classLicenses('item')), "".concat(author.type, ": ").concat(author.name));
38
+ }), origin && (0, _core.jsx)("li", classLicenses('item'), messages.source, ":", ' ', origin.startsWith('http') ? (0, _core.jsx)("a", {
39
+ href: origin,
40
+ target: "_blank",
41
+ rel: "noopener noreferrer"
42
+ }, origin) : origin)), (0, _core.jsx)("div", classLicenses('cta-block'), children));
43
+ };
44
+
45
+ exports.FigureLicenseCta = FigureLicenseCta;
46
+
47
+ var FigureLicenseByline = function FigureLicenseByline(_ref2) {
48
+ var messages = _ref2.messages,
49
+ license = _ref2.license,
50
+ locale = _ref2.locale;
51
+ return (0, _core.jsx)(_react["default"].Fragment, null, (0, _core.jsx)(_licenses.LicenseDescription, {
52
+ key: "byline",
53
+ highlightCC: true,
54
+ locale: locale,
55
+ messages: messages,
56
+ licenseRights: license.rights
57
+ }), (0, _core.jsx)("a", _extends({
58
+ key: "link"
59
+ }, classLicenses('link'), {
60
+ target: "_blank",
61
+ rel: "noopener noreferrer",
62
+ href: license.url
63
+ }), license.linkText));
64
+ };
65
+
66
+ exports.FigureLicenseByline = FigureLicenseByline;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FigureLicenseDialog = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Dialog = _interopRequireDefault(require("../Dialog"));
11
+
12
+ var _FigureLicense = require("./FigureLicense");
13
+
14
+ var _core = require("@emotion/core");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
+
20
+ var FigureLicenseDialog = function FigureLicenseDialog(_ref) {
21
+ var children = _ref.children,
22
+ messages = _ref.messages,
23
+ id = _ref.id,
24
+ authors = _ref.authors,
25
+ origin = _ref.origin,
26
+ title = _ref.title,
27
+ locale = _ref.locale,
28
+ license = _ref.license;
29
+ var headingLabelId = "heading-".concat(id);
30
+ return (0, _core.jsx)(_Dialog["default"], {
31
+ id: id,
32
+ labelledby: headingLabelId,
33
+ messages: messages
34
+ }, (0, _core.jsx)("div", (0, _FigureLicense.classLicenses)(), (0, _core.jsx)("h3", _extends({
35
+ id: headingLabelId
36
+ }, (0, _FigureLicense.classLicenses)('title')), messages.rulesForUse), (0, _core.jsx)(_FigureLicense.FigureLicenseByline, {
37
+ license: license,
38
+ messages: messages,
39
+ locale: locale
40
+ }), (0, _core.jsx)(_FigureLicense.FigureLicenseCta, {
41
+ authors: authors,
42
+ title: title,
43
+ origin: origin,
44
+ messages: messages
45
+ }, children)));
46
+ };
47
+
48
+ exports.FigureLicenseDialog = FigureLicenseDialog;
@@ -0,0 +1,49 @@
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
+ Object.defineProperty(exports, "Figure", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _Figure["default"];
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "FigureCaption", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _Figure.FigureCaption;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "FigureLicenseDialog", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _FigureLicenseDialog.FigureLicenseDialog;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "FigureExpandButton", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _FigureExpandButton.FigureExpandButton;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "FigureBylineExpandButton", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _FigureBylineExpandButton.FigureBylineExpandButton;
36
+ }
37
+ });
38
+
39
+ var _Figure = _interopRequireWildcard(require("./Figure"));
40
+
41
+ var _FigureLicenseDialog = require("./FigureLicenseDialog");
42
+
43
+ var _FigureExpandButton = require("./FigureExpandButton");
44
+
45
+ var _FigureBylineExpandButton = require("./FigureBylineExpandButton");
46
+
47
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
48
+
49
+ 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; }
@@ -0,0 +1,63 @@
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 _reactBemHelper = _interopRequireDefault(require("react-bem-helper"));
11
+
12
+ var _common = require("@ndla/icons/common");
13
+
14
+ var _safelink = _interopRequireDefault(require("@ndla/safelink"));
15
+
16
+ var _core = require("@emotion/core");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
+
22
+ var classes = (0, _reactBemHelper["default"])('c-file-list');
23
+
24
+ var renderFormat = function renderFormat(format, title, isPrimary, id, isDeadLink) {
25
+ var titleWithFormat = "".concat(title, " (").concat(format.fileType.toUpperCase(), ")");
26
+ var formatId = "".concat(id, "_").concat(format.fileType);
27
+
28
+ if (isDeadLink) {
29
+ return (0, _core.jsx)("span", {
30
+ key: format.url
31
+ }, (0, _core.jsx)(_common.Download, null), (0, _core.jsx)("span", null, isPrimary ? titleWithFormat : "(".concat(format.fileType.toUpperCase(), ")")), (0, _core.jsx)("span", _extends({}, classes('tooltip'), {
32
+ "aria-hidden": true,
33
+ role: "tooltip",
34
+ id: formatId
35
+ }), (0, _core.jsx)("span", classes('tooltip-text'), format.tooltip)));
36
+ }
37
+
38
+ return (0, _core.jsx)(_safelink["default"], _extends({}, classes('link'), {
39
+ key: format.url,
40
+ to: format.url,
41
+ target: "_blank",
42
+ "aria-label": titleWithFormat,
43
+ "aria-describedby": formatId
44
+ }), (0, _core.jsx)(_common.Download, null), (0, _core.jsx)("span", classes('link-text'), (0, _core.jsx)("span", null, isPrimary ? titleWithFormat : "(".concat(format.fileType.toUpperCase(), ")"))), (0, _core.jsx)("span", _extends({}, classes('tooltip'), {
45
+ "aria-hidden": true,
46
+ role: "tooltip",
47
+ id: formatId
48
+ }), (0, _core.jsx)("span", classes('tooltip-text'), format.tooltip)));
49
+ };
50
+
51
+ var File = function File(_ref) {
52
+ var file = _ref.file,
53
+ id = _ref.id;
54
+ var formatLinks = file.formats.map(function (format, index) {
55
+ return renderFormat(format, file.title, index === 0, id, !file.fileExists);
56
+ });
57
+ return (0, _core.jsx)("li", _extends({}, classes('item'), {
58
+ key: file.title
59
+ }), formatLinks);
60
+ };
61
+
62
+ var _default = File;
63
+ exports["default"] = _default;
@@ -0,0 +1,34 @@
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 _reactBemHelper = _interopRequireDefault(require("react-bem-helper"));
11
+
12
+ var _File = _interopRequireDefault(require("./File"));
13
+
14
+ var _core = require("@emotion/core");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ var classes = (0, _reactBemHelper["default"])('c-file-list');
19
+
20
+ var FileList = function FileList(_ref) {
21
+ var files = _ref.files,
22
+ heading = _ref.heading,
23
+ id = _ref.id;
24
+ return (0, _core.jsx)("section", classes(), (0, _core.jsx)("h1", classes('heading'), heading), (0, _core.jsx)("ul", classes('files'), files.map(function (file) {
25
+ return (0, _core.jsx)(_File["default"], {
26
+ key: "file-".concat(id, "-").concat(file.title),
27
+ file: file,
28
+ id: id
29
+ });
30
+ })));
31
+ };
32
+
33
+ var _default = FileList;
34
+ exports["default"] = _default;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "File", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _File["default"];
10
+ }
11
+ });
12
+ exports["default"] = void 0;
13
+
14
+ var _FileList = _interopRequireDefault(require("./FileList"));
15
+
16
+ var _File = _interopRequireDefault(require("./File"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ var _default = _FileList["default"];
21
+ exports["default"] = _default;
@@ -6,9 +6,10 @@
6
6
  *
7
7
  */
8
8
  import { ReactNode } from 'react';
9
+ export declare type HeroContentType = 'subject-material' | 'tasks-and-activities' | 'assessment-resources' | 'subject' | 'external-learning-resources' | 'source-material' | 'learning-path' | 'topic' | 'beta' | 'ndla-film' | 'ndla-film has-image';
9
10
  interface HeroProps {
10
11
  children?: ReactNode;
11
- contentType: 'subject-material' | 'tasks-and-activities' | 'assessment-resources' | 'subject' | 'external-learning-resources' | 'source-material' | 'learning-path' | 'topic' | 'beta' | 'ndla-film' | 'ndla-film has-image';
12
+ contentType?: HeroContentType;
12
13
  }
13
14
  export declare const Hero: ({ children, contentType }: HeroProps) => JSX.Element;
14
15
  interface Props {