@ndla/ui 3.3.11 → 3.3.15

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 (132) hide show
  1. package/es/Figure/Figure.js +3 -1
  2. package/es/Filter/FilterButtons.js +11 -13
  3. package/es/Frontpage/FrontpageAllSubjects.js +7 -7
  4. package/es/Frontpage/FrontpageSearch.js +2 -4
  5. package/es/LearningPaths/LearningPathMenu.js +4 -5
  6. package/es/LearningPaths/LearningPathMobileHeader.js +4 -5
  7. package/es/NDLAFilm/AboutNdlaFilm.js +6 -17
  8. package/es/NDLAFilm/AllMoviesAlphabetically.js +11 -11
  9. package/es/NDLAFilm/CategorySelect.js +17 -18
  10. package/es/NDLAFilm/FilmContentCard.js +8 -22
  11. package/es/NDLAFilm/FilmContentCardTags.js +4 -8
  12. package/es/NDLAFilm/FilmMovieList.js +6 -21
  13. package/es/NDLAFilm/FilmMovieSearch.js +18 -26
  14. package/es/NDLAFilm/MovieGrid.js +10 -19
  15. package/es/NDLAFilm/VisualElement.js +22 -29
  16. package/es/Search/SearchResultSleeve.js +12 -15
  17. package/es/SearchTypeResult/SearchFieldHeader.js +5 -5
  18. package/es/SearchTypeResult/SearchHeader.js +9 -9
  19. package/es/SearchTypeResult/SearchItem.js +19 -19
  20. package/es/SearchTypeResult/SearchNotionItem.js +12 -12
  21. package/es/TopicIntroductionList/TopicIntroduction.js +14 -33
  22. package/es/TopicIntroductionList/TopicIntroductionList.js +6 -23
  23. package/es/TopicIntroductionList/TopicIntroductionShortcuts.js +71 -110
  24. package/es/TopicIntroductionList/TopicShortcutItem.js +0 -9
  25. package/es/all.css +1 -4
  26. package/es/index-javascript.js +1 -5
  27. package/es/index.js +4 -0
  28. package/es/shapes.js +0 -6
  29. package/lib/Figure/Figure.js +3 -1
  30. package/lib/Filter/FilterButtons.js +9 -9
  31. package/lib/Frontpage/FrontpageAllSubjects.d.ts +1 -1
  32. package/lib/Frontpage/FrontpageAllSubjects.js +7 -7
  33. package/lib/Frontpage/FrontpageSearch.d.ts +3 -5
  34. package/lib/Frontpage/FrontpageSearch.js +2 -4
  35. package/lib/LearningPaths/LearningPathMenu.js +3 -3
  36. package/lib/LearningPaths/LearningPathMobileHeader.js +4 -5
  37. package/lib/NDLAFilm/AboutNdlaFilm.d.ts +15 -0
  38. package/lib/NDLAFilm/AboutNdlaFilm.js +6 -18
  39. package/lib/NDLAFilm/AllMoviesAlphabetically.d.ts +2 -2
  40. package/lib/NDLAFilm/AllMoviesAlphabetically.js +11 -11
  41. package/lib/NDLAFilm/CategorySelect.d.ts +11 -0
  42. package/lib/NDLAFilm/CategorySelect.js +20 -19
  43. package/lib/NDLAFilm/FilmContentCard.d.ts +11 -0
  44. package/lib/NDLAFilm/FilmContentCard.js +8 -23
  45. package/lib/NDLAFilm/FilmContentCardTags.d.ts +7 -0
  46. package/lib/NDLAFilm/FilmContentCardTags.js +4 -9
  47. package/lib/NDLAFilm/FilmMovieList.d.ts +19 -0
  48. package/lib/NDLAFilm/FilmMovieList.js +5 -21
  49. package/lib/NDLAFilm/FilmMovieSearch.d.ts +21 -0
  50. package/lib/NDLAFilm/FilmMovieSearch.js +25 -30
  51. package/lib/NDLAFilm/FilmSlideshow.d.ts +5 -5
  52. package/lib/NDLAFilm/MovieGrid.d.ts +13 -0
  53. package/lib/NDLAFilm/MovieGrid.js +9 -21
  54. package/lib/NDLAFilm/SlideshowIndicator.d.ts +2 -2
  55. package/lib/NDLAFilm/VisualElement.d.ts +16 -0
  56. package/lib/NDLAFilm/VisualElement.js +22 -30
  57. package/lib/NDLAFilm/index.d.ts +14 -0
  58. package/lib/NDLAFilm/types.d.ts +6 -4
  59. package/lib/Search/SearchResultSleeve.d.ts +4 -6
  60. package/lib/Search/SearchResultSleeve.js +10 -11
  61. package/lib/SearchTypeResult/SearchFieldHeader.d.ts +3 -3
  62. package/lib/SearchTypeResult/SearchFieldHeader.js +5 -5
  63. package/lib/SearchTypeResult/SearchHeader.d.ts +3 -3
  64. package/lib/SearchTypeResult/SearchHeader.js +9 -9
  65. package/lib/SearchTypeResult/SearchItem.d.ts +2 -3
  66. package/lib/SearchTypeResult/SearchItem.js +19 -19
  67. package/lib/SearchTypeResult/SearchNotionItem.d.ts +1 -1
  68. package/lib/SearchTypeResult/SearchNotionItem.js +12 -12
  69. package/lib/SearchTypeResult/index.d.ts +1 -0
  70. package/lib/TopicIntroductionList/TopicIntroduction.d.ts +21 -0
  71. package/lib/TopicIntroductionList/TopicIntroduction.js +16 -36
  72. package/lib/TopicIntroductionList/TopicIntroductionList.d.ts +35 -0
  73. package/lib/TopicIntroductionList/TopicIntroductionList.js +6 -25
  74. package/lib/TopicIntroductionList/TopicIntroductionShortcuts.d.ts +8 -0
  75. package/lib/TopicIntroductionList/TopicIntroductionShortcuts.js +72 -110
  76. package/lib/TopicIntroductionList/TopicShortcutItem.d.ts +6 -0
  77. package/lib/TopicIntroductionList/TopicShortcutItem.js +0 -11
  78. package/lib/TopicIntroductionList/index.d.ts +9 -0
  79. package/lib/all.css +1 -4
  80. package/lib/index-javascript.js +3 -137
  81. package/lib/index.d.ts +4 -0
  82. package/lib/index.js +155 -0
  83. package/lib/shapes.js +1 -10
  84. package/lib/types.d.ts +2 -2
  85. package/package.json +10 -10
  86. package/src/Figure/Figure.tsx +2 -1
  87. package/src/Figure/component.figure.scss +37 -3
  88. package/src/Filter/FilterButtons.tsx +0 -2
  89. package/src/Frontpage/FrontpageAllSubjects.tsx +2 -2
  90. package/src/Frontpage/FrontpageSearch.tsx +3 -7
  91. package/src/LearningPaths/LearningPathMenu.tsx +0 -1
  92. package/src/LearningPaths/LearningPathMobileHeader.tsx +1 -2
  93. package/src/NDLAFilm/{AboutNdlaFilm.jsx → AboutNdlaFilm.tsx} +19 -18
  94. package/src/NDLAFilm/AllMoviesAlphabetically.tsx +3 -3
  95. package/src/NDLAFilm/{CategorySelect.jsx → CategorySelect.tsx} +23 -20
  96. package/src/NDLAFilm/{FilmContentCard.jsx → FilmContentCard.tsx} +21 -21
  97. package/src/NDLAFilm/{FilmContentCardTags.jsx → FilmContentCardTags.tsx} +7 -7
  98. package/src/NDLAFilm/{FilmMovieList.jsx → FilmMovieList.tsx} +17 -27
  99. package/src/NDLAFilm/FilmMovieSearch.tsx +71 -0
  100. package/src/NDLAFilm/FilmSlideshow.tsx +6 -6
  101. package/src/NDLAFilm/MovieGrid.tsx +76 -0
  102. package/src/NDLAFilm/SlideshowIndicator.tsx +2 -2
  103. package/src/NDLAFilm/VisualElement.tsx +40 -0
  104. package/src/NDLAFilm/{index.js → index.ts} +0 -0
  105. package/src/NDLAFilm/types.ts +7 -4
  106. package/src/Search/SearchResultSleeve.tsx +7 -19
  107. package/src/SearchTypeResult/SearchFieldHeader.tsx +3 -3
  108. package/src/SearchTypeResult/SearchHeader.tsx +3 -3
  109. package/src/SearchTypeResult/SearchItem.tsx +4 -5
  110. package/src/SearchTypeResult/SearchNotionItem.tsx +1 -1
  111. package/src/SearchTypeResult/index.ts +2 -0
  112. package/src/TopicIntroductionList/{TopicIntroduction.jsx → TopicIntroduction.tsx} +22 -35
  113. package/src/TopicIntroductionList/{TopicIntroductionList.jsx → TopicIntroductionList.tsx} +32 -26
  114. package/src/TopicIntroductionList/TopicIntroductionShortcuts.tsx +71 -0
  115. package/src/TopicIntroductionList/{TopicShortcutItem.jsx → TopicShortcutItem.tsx} +5 -13
  116. package/src/TopicIntroductionList/{index.js → index.ts} +0 -0
  117. package/src/index-javascript.js +0 -30
  118. package/src/index.ts +31 -0
  119. package/src/shapes.js +0 -7
  120. package/src/types.ts +2 -2
  121. package/es/NDLAFilm/interfaces.js +0 -0
  122. package/es/NDLAFilm/shapes.js +0 -15
  123. package/lib/NDLAFilm/interfaces.d.ts +0 -10
  124. package/lib/NDLAFilm/interfaces.js +0 -1
  125. package/lib/NDLAFilm/shapes.d.ts +0 -15
  126. package/lib/NDLAFilm/shapes.js +0 -30
  127. package/src/NDLAFilm/FilmMovieSearch.jsx +0 -66
  128. package/src/NDLAFilm/MovieGrid.jsx +0 -75
  129. package/src/NDLAFilm/VisualElement.jsx +0 -48
  130. package/src/NDLAFilm/interfaces.ts +0 -10
  131. package/src/NDLAFilm/shapes.ts +0 -17
  132. package/src/TopicIntroductionList/TopicIntroductionShortcuts.jsx +0 -92
@@ -0,0 +1,21 @@
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 { Shortcut, Topic } from './TopicIntroductionList';
9
+ interface Props {
10
+ additional?: boolean;
11
+ showAdditionalCores?: boolean;
12
+ topic: Topic;
13
+ toTopic: (id: string) => string;
14
+ subjectPage?: boolean;
15
+ shortcuts?: Shortcut[];
16
+ twoColumns?: boolean;
17
+ shortcutAlwaysExpanded?: boolean;
18
+ id: string;
19
+ }
20
+ export declare const TopicIntroduction: ({ toTopic, topic, subjectPage, shortcuts, shortcutAlwaysExpanded, additional, showAdditionalCores, id, }: Props) => JSX.Element;
21
+ export {};
@@ -7,18 +7,16 @@ exports.TopicIntroduction = 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
 
12
+ var _reactI18next = require("react-i18next");
13
+
14
14
  var _common = require("@ndla/icons/common");
15
15
 
16
16
  var _tooltip = _interopRequireDefault(require("@ndla/tooltip"));
17
17
 
18
18
  var _safelink = _interopRequireDefault(require("@ndla/safelink"));
19
19
 
20
- var _shapes = require("../shapes");
21
-
22
20
  var _TopicIntroductionShortcuts = _interopRequireDefault(require("./TopicIntroductionShortcuts"));
23
21
 
24
22
  var _core = require("@emotion/core");
@@ -43,15 +41,20 @@ var TopicIntroduction = function TopicIntroduction(_ref) {
43
41
  topic = _ref.topic,
44
42
  subjectPage = _ref.subjectPage,
45
43
  shortcuts = _ref.shortcuts,
46
- messages = _ref.messages,
47
44
  shortcutAlwaysExpanded = _ref.shortcutAlwaysExpanded,
48
- additional = _ref.additional,
49
- showAdditionalCores = _ref.showAdditionalCores,
45
+ _ref$additional = _ref.additional,
46
+ additional = _ref$additional === void 0 ? false : _ref$additional,
47
+ _ref$showAdditionalCo = _ref.showAdditionalCores,
48
+ showAdditionalCores = _ref$showAdditionalCo === void 0 ? false : _ref$showAdditionalCo,
50
49
  id = _ref.id;
51
- var contentTypeDescription = additional ? messages.tooltipAdditionalTopic : messages.tooltipCoreTopic;
50
+
51
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
52
+ t = _useTranslation.t;
53
+
54
+ var contentTypeDescription = t(additional ? 'resource.tooltipAdditionalTopic' : 'resource.tooltipCoreTopic');
52
55
  return (0, _core.jsx)("li", {
53
56
  className: topicClasses('item', {
54
- subjectPage: subjectPage,
57
+ subjectPage: !!subjectPage,
55
58
  additional: additional,
56
59
  showAdditionalCores: showAdditionalCores
57
60
  })
@@ -68,12 +71,12 @@ var TopicIntroduction = function TopicIntroduction(_ref) {
68
71
  id: id,
69
72
  hidden: true
70
73
  }, contentTypeDescription), additional && (0, _core.jsx)(_tooltip["default"], {
71
- tooltip: messages.tooltipAdditionalTopic,
74
+ tooltip: t('resource.tooltipAdditionalTopic'),
72
75
  align: "left"
73
76
  }, (0, _core.jsx)(_common.Additional, {
74
77
  className: "c-icon--20 u-margin-left-tiny"
75
78
  })), !additional && showAdditionalCores && (0, _core.jsx)(_tooltip["default"], {
76
- tooltip: messages.tooltipCoreTopic,
79
+ tooltip: t('resource.tooltipCoreTopic'),
77
80
  align: "left"
78
81
  }, (0, _core.jsx)(_common.Core, {
79
82
  className: "c-icon--20 u-margin-left-tiny"
@@ -86,34 +89,11 @@ var TopicIntroduction = function TopicIntroduction(_ref) {
86
89
  }), shortcuts && (0, _core.jsx)(_TopicIntroductionShortcuts["default"], {
87
90
  alwaysExpanded: shortcutAlwaysExpanded,
88
91
  id: "".concat(topic.id, "_shortcuts"),
89
- shortcuts: shortcuts,
90
- messages: {
91
- toggleButtonText: messages.shortcutButtonText
92
- }
92
+ shortcuts: shortcuts
93
93
  })), topic.metaImage && (0, _core.jsx)("div", null, (0, _core.jsx)("img", {
94
94
  src: topic.metaImage.url,
95
95
  alt: topic.metaImage.alt
96
96
  })))));
97
97
  };
98
98
 
99
- exports.TopicIntroduction = TopicIntroduction;
100
- TopicIntroduction.propTypes = {
101
- additional: _propTypes["default"].bool,
102
- showAdditionalCores: _propTypes["default"].bool,
103
- messages: _propTypes["default"].shape({
104
- shortcutButtonText: _propTypes["default"].string.isRequired,
105
- tooltipAdditionalTopic: _propTypes["default"].string,
106
- tooltipCoreTopic: _propTypes["default"].string
107
- }),
108
- topic: _shapes.TopicShape.isRequired,
109
- toTopic: _propTypes["default"].func.isRequired,
110
- subjectPage: _propTypes["default"].bool,
111
- shortcuts: _propTypes["default"].arrayOf(_shapes.ShortcutShape),
112
- twoColumns: _propTypes["default"].bool,
113
- shortcutAlwaysExpanded: _propTypes["default"].bool,
114
- id: _propTypes["default"].string.isRequired
115
- };
116
- TopicIntroduction.defaultProps = {
117
- showAdditionalCores: false,
118
- additional: false
119
- };
99
+ exports.TopicIntroduction = TopicIntroduction;
@@ -0,0 +1,35 @@
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
+ export interface Shortcut {
9
+ id: string | number;
10
+ tooltip: string;
11
+ contentType: string;
12
+ url: string;
13
+ count: number;
14
+ }
15
+ export interface Topic {
16
+ name: string;
17
+ id: string;
18
+ additional?: boolean;
19
+ shortcuts?: Shortcut[];
20
+ introduction: string;
21
+ metaImage?: {
22
+ url?: string;
23
+ alt?: string;
24
+ };
25
+ }
26
+ interface Props {
27
+ toTopic: (id: string) => string;
28
+ topics: Topic[];
29
+ twoColumns?: boolean;
30
+ shortcutAlwaysExpanded?: boolean;
31
+ showAdditionalCores?: boolean;
32
+ toggleAdditionalCores?: () => void;
33
+ }
34
+ declare const TopicIntroductionList: ({ topics, twoColumns, shortcutAlwaysExpanded, showAdditionalCores, toggleAdditionalCores, ...rest }: Props) => JSX.Element;
35
+ export default TopicIntroductionList;
@@ -7,16 +7,12 @@ 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 _reactI18next = require("react-i18next");
15
13
 
16
14
  var _NoContentBox = _interopRequireDefault(require("../NoContentBox"));
17
15
 
18
- var _shapes = require("../shapes");
19
-
20
16
  var _TopicIntroduction = require("./TopicIntroduction");
21
17
 
22
18
  var _core = require("@emotion/core");
@@ -37,9 +33,12 @@ var topicClasses = new _reactBemHelper["default"]({
37
33
 
38
34
  var TopicIntroductionList = function TopicIntroductionList(_ref) {
39
35
  var topics = _ref.topics,
40
- twoColumns = _ref.twoColumns,
41
- shortcutAlwaysExpanded = _ref.shortcutAlwaysExpanded,
42
- showAdditionalCores = _ref.showAdditionalCores,
36
+ _ref$twoColumns = _ref.twoColumns,
37
+ twoColumns = _ref$twoColumns === void 0 ? false : _ref$twoColumns,
38
+ _ref$shortcutAlwaysEx = _ref.shortcutAlwaysExpanded,
39
+ shortcutAlwaysExpanded = _ref$shortcutAlwaysEx === void 0 ? false : _ref$shortcutAlwaysEx,
40
+ _ref$showAdditionalCo = _ref.showAdditionalCores,
41
+ showAdditionalCores = _ref$showAdditionalCo === void 0 ? false : _ref$showAdditionalCo,
43
42
  toggleAdditionalCores = _ref.toggleAdditionalCores,
44
43
  rest = _objectWithoutProperties(_ref, ["topics", "twoColumns", "shortcutAlwaysExpanded", "showAdditionalCores", "toggleAdditionalCores"]);
45
44
 
@@ -66,11 +65,6 @@ var TopicIntroductionList = function TopicIntroductionList(_ref) {
66
65
  additional: additional,
67
66
  showAdditionalCores: showAdditionalCores,
68
67
  shortcutAlwaysExpanded: shortcutAlwaysExpanded,
69
- messages: {
70
- shortcutButtonText: t('resource.label'),
71
- tooltipAdditionalTopic: t('resource.tooltipAdditionalTopic'),
72
- tooltipCoreTopic: t('resource.tooltipCoreTopic')
73
- },
74
68
  id: "".concat(topic.id, "_").concat(index)
75
69
  }));
76
70
  }), renderAdditionalTopicsTrigger && (0, _core.jsx)("li", null, (0, _core.jsx)(_NoContentBox["default"], {
@@ -80,18 +74,5 @@ var TopicIntroductionList = function TopicIntroductionList(_ref) {
80
74
  })));
81
75
  };
82
76
 
83
- TopicIntroductionList.propTypes = {
84
- toTopic: _propTypes["default"].func.isRequired,
85
- topics: _propTypes["default"].arrayOf(_shapes.TopicShape).isRequired,
86
- twoColumns: _propTypes["default"].bool,
87
- shortcutAlwaysExpanded: _propTypes["default"].bool,
88
- showAdditionalCores: _propTypes["default"].bool,
89
- toggleAdditionalCores: _propTypes["default"].func.isRequired
90
- };
91
- TopicIntroductionList.defaultProps = {
92
- twoColumns: false,
93
- shortcutAlwaysExpanded: false,
94
- showAdditionalCores: false
95
- };
96
77
  var _default = TopicIntroductionList;
97
78
  exports["default"] = _default;
@@ -0,0 +1,8 @@
1
+ import { Shortcut } from './TopicIntroductionList';
2
+ interface Props {
3
+ id: string;
4
+ alwaysExpanded?: boolean;
5
+ shortcuts: Shortcut[];
6
+ }
7
+ declare const TopicIntroductionShortcuts: ({ id, alwaysExpanded, shortcuts }: Props) => JSX.Element;
8
+ export default TopicIntroductionShortcuts;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
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
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -7,7 +9,7 @@ exports["default"] = void 0;
7
9
 
8
10
  var _react = _interopRequireWildcard(require("react"));
9
11
 
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _reactI18next = require("react-i18next");
11
13
 
12
14
  var _reactBemHelper = _interopRequireDefault(require("react-bem-helper"));
13
15
 
@@ -15,8 +17,6 @@ var _common = require("@ndla/icons/common");
15
17
 
16
18
  var _TopicShortcutItem = _interopRequireDefault(require("./TopicShortcutItem"));
17
19
 
18
- var _shapes = require("../shapes");
19
-
20
20
  var _core = require("@emotion/core");
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -25,131 +25,93 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
25
25
 
26
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
27
 
28
- 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); }
29
-
30
28
  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); }
31
29
 
32
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
33
-
34
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
35
-
36
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
37
-
38
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
39
-
40
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
30
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
41
31
 
42
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
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."); }
43
33
 
44
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
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); }
45
35
 
46
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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; }
47
37
 
48
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
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; }
49
39
 
50
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
40
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
51
41
 
52
42
  var classes = new _reactBemHelper["default"]({
53
43
  name: 'topic-shortcuts',
54
44
  prefix: 'c-'
55
45
  });
56
46
 
57
- var TopicIntroductionShortcuts = /*#__PURE__*/function (_Component) {
58
- _inherits(TopicIntroductionShortcuts, _Component);
59
-
60
- var _super = _createSuper(TopicIntroductionShortcuts);
61
-
62
- function TopicIntroductionShortcuts(props) {
63
- var _this;
64
-
65
- _classCallCheck(this, TopicIntroductionShortcuts);
47
+ var TopicIntroductionShortcuts = function TopicIntroductionShortcuts(_ref) {
48
+ var id = _ref.id,
49
+ _ref$alwaysExpanded = _ref.alwaysExpanded,
50
+ alwaysExpanded = _ref$alwaysExpanded === void 0 ? false : _ref$alwaysExpanded,
51
+ shortcuts = _ref.shortcuts;
52
+
53
+ var _useTranslation = (0, _reactI18next.useTranslation)(),
54
+ t = _useTranslation.t;
55
+
56
+ var _useState = (0, _react.useState)(alwaysExpanded),
57
+ _useState2 = _slicedToArray(_useState, 2),
58
+ open = _useState2[0],
59
+ setOpen = _useState2[1];
60
+
61
+ var _useState3 = (0, _react.useState)(false),
62
+ _useState4 = _slicedToArray(_useState3, 2),
63
+ returned = _useState4[0],
64
+ setReturned = _useState4[1];
65
+
66
+ var _useState5 = (0, _react.useState)(true),
67
+ _useState6 = _slicedToArray(_useState5, 2),
68
+ showButtonText = _useState6[0],
69
+ setShowButtonText = _useState6[1];
70
+
71
+ var handleOnToggle = function handleOnToggle(newOpen) {
72
+ setOpen(newOpen);
73
+ setShowButtonText(!newOpen);
74
+ setReturned(!newOpen);
75
+ };
76
+
77
+ var onMouseEnter = undefined;
78
+ var onMouseLeave = undefined;
79
+ var buttonView = null;
80
+
81
+ if (!alwaysExpanded) {
82
+ onMouseEnter = function onMouseEnter() {
83
+ return handleOnToggle(true);
84
+ };
66
85
 
67
- _this = _super.call(this, props);
68
- _this.state = {
69
- open: props.alwaysExpanded,
70
- returned: false,
71
- showButtonText: true
86
+ onMouseLeave = function onMouseLeave() {
87
+ return handleOnToggle(false);
72
88
  };
73
- _this.handleOnToggle = _this.handleOnToggle.bind(_assertThisInitialized(_this));
74
- return _this;
75
- }
76
89
 
77
- _createClass(TopicIntroductionShortcuts, [{
78
- key: "handleOnToggle",
79
- value: function handleOnToggle(open) {
80
- this.setState({
81
- open: open,
82
- showButtonText: !open,
83
- returned: !open
84
- });
85
- }
86
- }, {
87
- key: "render",
88
- value: function render() {
89
- var _this2 = this;
90
-
91
- var _this$props = this.props,
92
- shortcuts = _this$props.shortcuts,
93
- messages = _this$props.messages,
94
- id = _this$props.id,
95
- alwaysExpanded = _this$props.alwaysExpanded;
96
- var _this$state = this.state,
97
- open = _this$state.open,
98
- returned = _this$state.returned,
99
- showButtonText = _this$state.showButtonText;
100
- var onMouseEnter = null;
101
- var onMouseLeave = null;
102
- var buttonView = null;
103
-
104
- if (!alwaysExpanded) {
105
- onMouseEnter = function onMouseEnter() {
106
- return _this2.handleOnToggle(true);
107
- };
108
-
109
- onMouseLeave = function onMouseLeave() {
110
- return _this2.handleOnToggle(false);
111
- };
112
-
113
- buttonView = (0, _core.jsx)("button", _extends({
114
- type: "button",
115
- "aria-expanded": this.state.open,
116
- "aria-label": messages.toggleButtonText,
117
- "aria-controls": id
118
- }, classes('button', returned ? 're-enter' : ''), {
119
- onClick: function onClick() {
120
- _this2.handleOnToggle(!open);
121
- }
122
- }), (0, _core.jsx)(_common.Forward, null), showButtonText && (0, _core.jsx)("span", classes('label'), messages.toggleButtonText));
90
+ buttonView = (0, _core.jsx)("button", _extends({
91
+ type: "button",
92
+ "aria-expanded": open,
93
+ "aria-label": t('resource.label'),
94
+ "aria-controls": id
95
+ }, classes('button', returned ? 're-enter' : ''), {
96
+ onClick: function onClick() {
97
+ return handleOnToggle(!open);
123
98
  }
99
+ }), (0, _core.jsx)(_common.Forward, null), showButtonText && (0, _core.jsx)("span", classes('label'), t('resource.label')));
100
+ }
124
101
 
125
- return (0, _core.jsx)("div", _extends({
126
- onMouseEnter: onMouseEnter,
127
- onMouseLeave: onMouseLeave
128
- }, classes()), buttonView, open && (0, _core.jsx)("ul", {
129
- className: classes('list', open ? 'visible' : '').className
130
- }, shortcuts.map(function (shortcut) {
131
- return (0, _core.jsx)("li", _extends({}, classes('item'), {
132
- key: shortcut.id
133
- }), (0, _core.jsx)(_TopicShortcutItem["default"], {
134
- shortcut: shortcut
135
- }));
136
- })));
137
- }
138
- }]);
139
-
140
- return TopicIntroductionShortcuts;
141
- }(_react.Component);
142
-
143
- TopicIntroductionShortcuts.propTypes = {
144
- id: _propTypes["default"].string.isRequired,
145
- alwaysExpanded: _propTypes["default"].bool,
146
- messages: _propTypes["default"].shape({
147
- toggleButtonText: _propTypes["default"].string.isRequired
148
- }),
149
- shortcuts: _propTypes["default"].arrayOf(_shapes.ShortcutShape).isRequired
150
- };
151
- TopicIntroductionShortcuts.defaultProps = {
152
- alwaysExpanded: false
102
+ return (0, _core.jsx)("div", _extends({
103
+ onMouseEnter: onMouseEnter,
104
+ onMouseLeave: onMouseLeave
105
+ }, classes()), buttonView, open && (0, _core.jsx)("ul", {
106
+ className: classes('list', open ? 'visible' : '').className
107
+ }, shortcuts.map(function (shortcut) {
108
+ return (0, _core.jsx)("li", _extends({}, classes('item'), {
109
+ key: shortcut.id
110
+ }), (0, _core.jsx)(_TopicShortcutItem["default"], {
111
+ shortcut: shortcut
112
+ }));
113
+ })));
153
114
  };
115
+
154
116
  var _default = TopicIntroductionShortcuts;
155
117
  exports["default"] = _default;
@@ -0,0 +1,6 @@
1
+ import { Shortcut } from './TopicIntroductionList';
2
+ interface Props {
3
+ shortcut: Shortcut;
4
+ }
5
+ declare const ShortcutItem: ({ shortcut: { id, tooltip, contentType, url, count } }: Props) => JSX.Element;
6
+ export default ShortcutItem;
@@ -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 _tooltip = _interopRequireDefault(require("@ndla/tooltip"));
@@ -19,8 +17,6 @@ var _reactI18next = require("react-i18next");
19
17
 
20
18
  var _ContentTypeBadge = _interopRequireDefault(require("../ContentTypeBadge"));
21
19
 
22
- var _shapes = require("../shapes");
23
-
24
20
  var _core = require("@emotion/core");
25
21
 
26
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -60,12 +56,5 @@ var ShortcutItem = function ShortcutItem(_ref) {
60
56
  }), (0, _core.jsx)("span", classes('count'), count)));
61
57
  };
62
58
 
63
- ShortcutItem.propTypes = {
64
- shortcut: _shapes.ShortcutShape.isRequired,
65
- disableToolTip: _propTypes["default"].bool
66
- };
67
- ShortcutItem.defaultProps = {
68
- disableToolTip: false
69
- };
70
59
  var _default = ShortcutItem;
71
60
  exports["default"] = _default;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2018-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 TopicIntroductionList from './TopicIntroductionList';
9
+ export default TopicIntroductionList;