@ndla/ui 8.2.3 → 9.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 (92) hide show
  1. package/es/Article/ArticleNotions.js +9 -7
  2. package/es/Figure/Figure.js +6 -5
  3. package/es/Figure/FigureExpandButton.js +6 -6
  4. package/es/Figure/FigureOpenDialogButton.js +45 -0
  5. package/es/Figure/index.js +2 -1
  6. package/es/Image/Image.js +1 -1
  7. package/es/MessageBox/MessageBox.js +8 -8
  8. package/es/Notion/ConceptNotion.js +79 -28
  9. package/es/Notion/FigureNotion.js +5 -6
  10. package/es/Notion/Notion.js +19 -98
  11. package/es/Notion/NotionImage.js +25 -6
  12. package/es/Notion/NotionVisualElement.js +49 -10
  13. package/es/ResourceBox/ResourceBox.js +34 -67
  14. package/es/Topic/Topic.js +21 -21
  15. package/es/all.css +1 -1
  16. package/es/index.js +1 -2
  17. package/es/locale/messages-en.js +6 -4
  18. package/es/locale/messages-nb.js +6 -4
  19. package/es/locale/messages-nn.js +6 -4
  20. package/es/locale/messages-se.js +5 -3
  21. package/es/locale/messages-sma.js +5 -3
  22. package/es/{CloseButton/index.js → model/SubjectTypes.js} +3 -4
  23. package/es/model/index.js +3 -1
  24. package/lib/Article/ArticleNotions.d.ts +2 -1
  25. package/lib/Article/ArticleNotions.js +9 -7
  26. package/lib/Figure/Figure.d.ts +2 -1
  27. package/lib/Figure/Figure.js +6 -5
  28. package/lib/Figure/FigureExpandButton.js +6 -6
  29. package/lib/Figure/FigureOpenDialogButton.d.ts +16 -0
  30. package/lib/Figure/FigureOpenDialogButton.js +57 -0
  31. package/lib/Figure/index.d.ts +1 -0
  32. package/lib/Figure/index.js +8 -0
  33. package/lib/Image/Image.js +1 -1
  34. package/lib/MessageBox/MessageBox.js +9 -9
  35. package/lib/Notion/ConceptNotion.d.ts +6 -7
  36. package/lib/Notion/ConceptNotion.js +84 -30
  37. package/lib/Notion/FigureNotion.d.ts +3 -2
  38. package/lib/Notion/FigureNotion.js +5 -7
  39. package/lib/Notion/Notion.d.ts +1 -12
  40. package/lib/Notion/Notion.js +23 -105
  41. package/lib/Notion/NotionImage.d.ts +2 -1
  42. package/lib/Notion/NotionImage.js +25 -7
  43. package/lib/Notion/NotionVisualElement.d.ts +6 -7
  44. package/lib/Notion/NotionVisualElement.js +48 -18
  45. package/lib/ResourceBox/ResourceBox.js +34 -63
  46. package/lib/Topic/Topic.js +21 -21
  47. package/lib/all.css +1 -1
  48. package/lib/index.d.ts +1 -2
  49. package/lib/index.js +7 -9
  50. package/lib/locale/messages-en.d.ts +5 -1
  51. package/lib/locale/messages-en.js +7 -4
  52. package/lib/locale/messages-nb.d.ts +5 -1
  53. package/lib/locale/messages-nb.js +7 -4
  54. package/lib/locale/messages-nn.d.ts +5 -1
  55. package/lib/locale/messages-nn.js +7 -4
  56. package/lib/locale/messages-se.d.ts +5 -1
  57. package/lib/locale/messages-se.js +6 -3
  58. package/lib/locale/messages-sma.d.ts +5 -1
  59. package/lib/locale/messages-sma.js +6 -3
  60. package/lib/{CloseButton/CloseButton.d.ts → model/SubjectTypes.d.ts} +2 -3
  61. package/lib/model/SubjectTypes.js +18 -0
  62. package/lib/model/index.d.ts +2 -0
  63. package/lib/model/index.js +4 -1
  64. package/package.json +9 -9
  65. package/src/Article/ArticleNotions.tsx +3 -2
  66. package/src/Figure/Figure.tsx +49 -41
  67. package/src/Figure/FigureExpandButton.tsx +4 -4
  68. package/src/Figure/FigureOpenDialogButton.tsx +37 -0
  69. package/src/Figure/component.figure.scss +4 -0
  70. package/src/Figure/index.ts +1 -0
  71. package/src/Image/Image.tsx +1 -1
  72. package/src/MessageBox/MessageBox.tsx +1 -1
  73. package/src/Notion/ConceptNotion.tsx +136 -37
  74. package/src/Notion/FigureNotion.tsx +6 -6
  75. package/src/Notion/Notion.tsx +7 -145
  76. package/src/Notion/NotionImage.tsx +44 -15
  77. package/src/Notion/NotionVisualElement.tsx +35 -8
  78. package/src/ResourceBox/ResourceBox.tsx +47 -102
  79. package/src/Topic/Topic.tsx +1 -1
  80. package/src/index.ts +2 -2
  81. package/src/locale/messages-en.ts +6 -2
  82. package/src/locale/messages-nb.ts +6 -2
  83. package/src/locale/messages-nn.ts +6 -2
  84. package/src/locale/messages-se.ts +5 -1
  85. package/src/locale/messages-sma.ts +5 -1
  86. package/{lib/CloseButton/index.d.ts → src/model/SubjectTypes.ts} +4 -4
  87. package/src/model/index.ts +2 -0
  88. package/es/CloseButton/CloseButton.js +0 -46
  89. package/lib/CloseButton/CloseButton.js +0 -54
  90. package/lib/CloseButton/index.js +0 -26
  91. package/src/CloseButton/CloseButton.tsx +0 -36
  92. package/src/CloseButton/index.ts +0 -13
package/lib/index.d.ts CHANGED
@@ -28,7 +28,7 @@ export { default as Image, ImageLink } from './Image';
28
28
  export { makeSrcQueryString } from './Image';
29
29
  export { SubjectMaterialHero, TasksAndActivitiesHero, AssessmentResourcesHero, SubjectHero, ExternalLearningResourcesHero, SourceMaterialHero, Hero, NdlaFilmHero, } from './Hero';
30
30
  export { Footer, EditorName, FooterText, FooterAuth } from './Footer';
31
- export { Figure, FigureCaption, FigureLicenseDialog, FigureExpandButton } from './Figure';
31
+ export { Figure, FigureCaption, FigureLicenseDialog, FigureExpandButton, FigureOpenDialogButton } from './Figure';
32
32
  export { LanguageSelector } from './LanguageSelector';
33
33
  export { LearningPathWrapper, LearningPathContent, LearningPathMenu, LearningPathSticky, LearningPathInformation, LearningPathStickySibling, LearningPathStickyPlaceholder, LearningPathLastStepNavigation, LearningPathMobileStepInfo, LearningPathMobileHeader, } from './LearningPaths';
34
34
  export { Translation, TranslationLine, TranslationBox } from './Translation';
@@ -43,7 +43,6 @@ export { default as CreatedBy } from './CreatedBy';
43
43
  export { default as Breadcrumblist } from './Breadcrumblist';
44
44
  export { MessageBox, MessageBoxTag, MessageBoxType } from './MessageBox';
45
45
  export { ResourceBox } from './ResourceBox';
46
- export { default as CloseButton } from './CloseButton';
47
46
  export { default as AudioPlayer, initAudioPlayers } from './AudioPlayer';
48
47
  export { NavigationHeading, NavigationBox, NavigationTopicAbout } from './Navigation';
49
48
  export { default as Programme } from './Programme';
package/lib/index.js CHANGED
@@ -66,6 +66,7 @@ var _exportNames = {
66
66
  FigureCaption: true,
67
67
  FigureLicenseDialog: true,
68
68
  FigureExpandButton: true,
69
+ FigureOpenDialogButton: true,
69
70
  LanguageSelector: true,
70
71
  LearningPathWrapper: true,
71
72
  LearningPathContent: true,
@@ -93,7 +94,6 @@ var _exportNames = {
93
94
  MessageBoxTag: true,
94
95
  MessageBoxType: true,
95
96
  ResourceBox: true,
96
- CloseButton: true,
97
97
  AudioPlayer: true,
98
98
  initAudioPlayers: true,
99
99
  NavigationHeading: true,
@@ -535,6 +535,12 @@ Object.defineProperty(exports, "FigureExpandButton", {
535
535
  return _Figure.FigureExpandButton;
536
536
  }
537
537
  });
538
+ Object.defineProperty(exports, "FigureOpenDialogButton", {
539
+ enumerable: true,
540
+ get: function get() {
541
+ return _Figure.FigureOpenDialogButton;
542
+ }
543
+ });
538
544
  Object.defineProperty(exports, "LanguageSelector", {
539
545
  enumerable: true,
540
546
  get: function get() {
@@ -697,12 +703,6 @@ Object.defineProperty(exports, "ResourceBox", {
697
703
  return _ResourceBox.ResourceBox;
698
704
  }
699
705
  });
700
- Object.defineProperty(exports, "CloseButton", {
701
- enumerable: true,
702
- get: function get() {
703
- return _CloseButton["default"];
704
- }
705
- });
706
706
  Object.defineProperty(exports, "AudioPlayer", {
707
707
  enumerable: true,
708
708
  get: function get() {
@@ -1267,8 +1267,6 @@ var _MessageBox = require("./MessageBox");
1267
1267
 
1268
1268
  var _ResourceBox = require("./ResourceBox");
1269
1269
 
1270
- var _CloseButton = _interopRequireDefault(require("./CloseButton"));
1271
-
1272
1270
  var _AudioPlayer = _interopRequireWildcard(require("./AudioPlayer"));
1273
1271
 
1274
1272
  var _Navigation = require("./Navigation");
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories");
8
+ export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories"), subjectTypes: typeof import("../model/SubjectTypes");
9
9
  declare const messages: {
10
10
  filterButtons: {
11
11
  removeAllFilters: string;
@@ -81,6 +81,10 @@ declare const messages: {
81
81
  programme: string;
82
82
  specialized: string;
83
83
  };
84
+ subjectTypes: {
85
+ subject: string;
86
+ resourceCollection: string;
87
+ };
84
88
  searchPage: {
85
89
  noHits: string;
86
90
  noHitsShort: string;
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.subjectCategories = exports.contentTypes = void 0;
6
+ exports["default"] = exports.subjectTypes = exports.subjectCategories = exports.contentTypes = void 0;
7
7
 
8
8
  var _licenses = require("@ndla/licenses");
9
9
 
10
10
  var _model = _interopRequireDefault(require("../model"));
11
11
 
12
- var _subjectCategories, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
12
+ var _subjectCategories, _subjectTypes, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -20,7 +20,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
20
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
21
 
22
22
  var contentTypes = _model["default"].contentTypes,
23
- subjectCategories = _model["default"].subjectCategories;
23
+ subjectCategories = _model["default"].subjectCategories,
24
+ subjectTypes = _model["default"].subjectTypes;
25
+ exports.subjectTypes = subjectTypes;
24
26
  exports.subjectCategories = subjectCategories;
25
27
  exports.contentTypes = contentTypes;
26
28
  var titleTemplate = ' - NDLA';
@@ -57,6 +59,7 @@ var messages = _objectSpread(_objectSpread({
57
59
  notSupported: 'It did not work to auto-insert the content. You can copy the source code and add it to your content.'
58
60
  },
59
61
  subjectCategories: (_subjectCategories = {}, _defineProperty(_subjectCategories, subjectCategories.ACTIVE_SUBJECTS, 'Active'), _defineProperty(_subjectCategories, subjectCategories.ARCHIVE_SUBJECTS, 'Expired'), _defineProperty(_subjectCategories, subjectCategories.BETA_SUBJECTS, 'Revised'), _defineProperty(_subjectCategories, subjectCategories.COMMON_SUBJECTS, 'Common core subj.'), _defineProperty(_subjectCategories, subjectCategories.PROGRAMME_SUBJECTS, 'Programme subj. SF'), _defineProperty(_subjectCategories, subjectCategories.SPECIALIZED_SUBJECTS, 'Programme subj. YF'), _subjectCategories),
62
+ subjectTypes: (_subjectTypes = {}, _defineProperty(_subjectTypes, subjectTypes.SUBJECT, 'Subject'), _defineProperty(_subjectTypes, subjectTypes.RESOURCE_COLLECTION, 'Resource collection'), _subjectTypes),
60
63
  searchPage: {
61
64
  noHits: 'Your search - {{query}} - did not match any articles. ',
62
65
  noHitsShort: 'No results for search: {{query}}',
@@ -377,7 +380,7 @@ var messages = _objectSpread(_objectSpread({
377
380
  images: 'Images',
378
381
  audio: 'Audio',
379
382
  video: 'Video',
380
- h5p: 'H5P',
383
+ h5p: 'h5p',
381
384
  files: 'Files',
382
385
  embedlink: 'Embedded link',
383
386
  other: 'Other content',
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories");
8
+ export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories"), subjectTypes: typeof import("../model/SubjectTypes");
9
9
  declare const messages: {
10
10
  filterButtons: {
11
11
  removeAllFilters: string;
@@ -81,6 +81,10 @@ declare const messages: {
81
81
  programme: string;
82
82
  specialized: string;
83
83
  };
84
+ subjectTypes: {
85
+ subject: string;
86
+ resourceCollection: string;
87
+ };
84
88
  searchPage: {
85
89
  noHits: string;
86
90
  noHitsShort: string;
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.subjectCategories = exports.contentTypes = void 0;
6
+ exports["default"] = exports.subjectTypes = exports.subjectCategories = exports.contentTypes = void 0;
7
7
 
8
8
  var _licenses = require("@ndla/licenses");
9
9
 
10
10
  var _model = _interopRequireDefault(require("../model"));
11
11
 
12
- var _subjectCategories, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
12
+ var _subjectCategories, _subjectTypes, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -20,7 +20,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
20
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
21
 
22
22
  var contentTypes = _model["default"].contentTypes,
23
- subjectCategories = _model["default"].subjectCategories;
23
+ subjectCategories = _model["default"].subjectCategories,
24
+ subjectTypes = _model["default"].subjectTypes;
25
+ exports.subjectTypes = subjectTypes;
24
26
  exports.subjectCategories = subjectCategories;
25
27
  exports.contentTypes = contentTypes;
26
28
  var titleTemplate = ' - NDLA';
@@ -57,6 +59,7 @@ var messages = _objectSpread(_objectSpread({
57
59
  notSupported: 'Det fungerte ikke å sette inn innholdet automatisk. Kopier kildekoden under for å sette inn på din side.'
58
60
  },
59
61
  subjectCategories: (_subjectCategories = {}, _defineProperty(_subjectCategories, subjectCategories.ACTIVE_SUBJECTS, 'Aktive'), _defineProperty(_subjectCategories, subjectCategories.ARCHIVE_SUBJECTS, 'Utgåtte'), _defineProperty(_subjectCategories, subjectCategories.BETA_SUBJECTS, 'Kommende'), _defineProperty(_subjectCategories, subjectCategories.COMMON_SUBJECTS, 'Fellesfag'), _defineProperty(_subjectCategories, subjectCategories.PROGRAMME_SUBJECTS, 'Programfag SF'), _defineProperty(_subjectCategories, subjectCategories.SPECIALIZED_SUBJECTS, 'Yrkesfag'), _subjectCategories),
62
+ subjectTypes: (_subjectTypes = {}, _defineProperty(_subjectTypes, subjectTypes.SUBJECT, 'Fag'), _defineProperty(_subjectTypes, subjectTypes.RESOURCE_COLLECTION, 'Ressurssamling'), _subjectTypes),
60
63
  searchPage: {
61
64
  noHits: 'Ingen artikler samsvarte med søket ditt på: {{query}}',
62
65
  noHitsShort: 'Ingen treff på søk: {{query}}',
@@ -392,7 +395,7 @@ var messages = _objectSpread(_objectSpread({
392
395
  images: 'Bilder',
393
396
  audio: 'Lyd',
394
397
  video: 'Video',
395
- h5p: 'H5P',
398
+ h5p: 'h5p',
396
399
  files: 'Filer',
397
400
  embedlink: 'Innbyggingslenke',
398
401
  concept: 'Forklaringer',
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories");
8
+ export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories"), subjectTypes: typeof import("../model/SubjectTypes");
9
9
  declare const messages: {
10
10
  filterButtons: {
11
11
  removeAllFilters: string;
@@ -81,6 +81,10 @@ declare const messages: {
81
81
  programme: string;
82
82
  specialized: string;
83
83
  };
84
+ subjectTypes: {
85
+ subject: string;
86
+ resourceCollection: string;
87
+ };
84
88
  searchPage: {
85
89
  noHits: string;
86
90
  noHitsShort: string;
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.subjectCategories = exports.contentTypes = void 0;
6
+ exports["default"] = exports.subjectTypes = exports.subjectCategories = exports.contentTypes = void 0;
7
7
 
8
8
  var _licenses = require("@ndla/licenses");
9
9
 
10
10
  var _model = _interopRequireDefault(require("../model"));
11
11
 
12
- var _subjectCategories, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
12
+ var _subjectCategories, _subjectTypes, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -20,7 +20,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
20
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
21
 
22
22
  var contentTypes = _model["default"].contentTypes,
23
- subjectCategories = _model["default"].subjectCategories;
23
+ subjectCategories = _model["default"].subjectCategories,
24
+ subjectTypes = _model["default"].subjectTypes;
25
+ exports.subjectTypes = subjectTypes;
24
26
  exports.subjectCategories = subjectCategories;
25
27
  exports.contentTypes = contentTypes;
26
28
  var titleTemplate = ' - NDLA';
@@ -57,6 +59,7 @@ var messages = _objectSpread(_objectSpread({
57
59
  notSupported: 'Det fungerte ikkje å setje inn innhaldet automatisk. Kopier kjeldekoden under for å setje han inn på sida di.'
58
60
  },
59
61
  subjectCategories: (_subjectCategories = {}, _defineProperty(_subjectCategories, subjectCategories.ACTIVE_SUBJECTS, 'Aktive'), _defineProperty(_subjectCategories, subjectCategories.ARCHIVE_SUBJECTS, 'Utgåtte'), _defineProperty(_subjectCategories, subjectCategories.BETA_SUBJECTS, 'Kommande'), _defineProperty(_subjectCategories, subjectCategories.COMMON_SUBJECTS, 'Fellesfag'), _defineProperty(_subjectCategories, subjectCategories.PROGRAMME_SUBJECTS, 'Programfag SF'), _defineProperty(_subjectCategories, subjectCategories.SPECIALIZED_SUBJECTS, 'Yrkesfag'), _subjectCategories),
62
+ subjectTypes: (_subjectTypes = {}, _defineProperty(_subjectTypes, subjectTypes.SUBJECT, 'Fag'), _defineProperty(_subjectTypes, subjectTypes.RESOURCE_COLLECTION, 'Ressurssamling'), _subjectTypes),
60
63
  searchPage: {
61
64
  noHits: 'Ingen artiklar samsvarte med søket ditt på: {{query}}',
62
65
  noHitsShort: 'Ingen treff på søk: {{query}}',
@@ -392,7 +395,7 @@ var messages = _objectSpread(_objectSpread({
392
395
  images: 'Bilete',
393
396
  audio: 'Lyd',
394
397
  video: 'Video',
395
- h5p: 'H5P',
398
+ h5p: 'h5p',
396
399
  files: 'Filer',
397
400
  embedlink: 'Innbyggingslenke',
398
401
  other: 'Anna innhald',
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories");
8
+ export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories"), subjectTypes: typeof import("../model/SubjectTypes");
9
9
  declare const messages: {
10
10
  filterButtons: {
11
11
  removeAllFilters: string;
@@ -81,6 +81,10 @@ declare const messages: {
81
81
  programme: string;
82
82
  specialized: string;
83
83
  };
84
+ subjectTypes: {
85
+ subject: string;
86
+ resourceCollection: string;
87
+ };
84
88
  searchPage: {
85
89
  noHits: string;
86
90
  noHitsShort: string;
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.subjectCategories = exports.contentTypes = void 0;
6
+ exports["default"] = exports.subjectTypes = exports.subjectCategories = exports.contentTypes = void 0;
7
7
 
8
8
  var _licenses = require("@ndla/licenses");
9
9
 
10
10
  var _model = _interopRequireDefault(require("../model"));
11
11
 
12
- var _subjectCategories, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
12
+ var _subjectCategories, _subjectTypes, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -20,7 +20,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
20
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
21
 
22
22
  var contentTypes = _model["default"].contentTypes,
23
- subjectCategories = _model["default"].subjectCategories;
23
+ subjectCategories = _model["default"].subjectCategories,
24
+ subjectTypes = _model["default"].subjectTypes;
25
+ exports.subjectTypes = subjectTypes;
24
26
  exports.subjectCategories = subjectCategories;
25
27
  exports.contentTypes = contentTypes;
26
28
  var titleTemplate = ' - NDLA';
@@ -57,6 +59,7 @@ var messages = _objectSpread(_objectSpread({
57
59
  notSupported: 'Det fungerte ikke å sette inn innholdet automatisk. Kopier kildekoden under for å sette inn på din side.'
58
60
  },
59
61
  subjectCategories: (_subjectCategories = {}, _defineProperty(_subjectCategories, subjectCategories.ACTIVE_SUBJECTS, 'Aktive'), _defineProperty(_subjectCategories, subjectCategories.ARCHIVE_SUBJECTS, 'Utgåtte'), _defineProperty(_subjectCategories, subjectCategories.BETA_SUBJECTS, 'Kommende'), _defineProperty(_subjectCategories, subjectCategories.COMMON_SUBJECTS, 'Fellesfag'), _defineProperty(_subjectCategories, subjectCategories.PROGRAMME_SUBJECTS, 'Programfag SF'), _defineProperty(_subjectCategories, subjectCategories.SPECIALIZED_SUBJECTS, 'Yrkesfag'), _subjectCategories),
62
+ subjectTypes: (_subjectTypes = {}, _defineProperty(_subjectTypes, subjectTypes.SUBJECT, 'Fag'), _defineProperty(_subjectTypes, subjectTypes.RESOURCE_COLLECTION, 'Ressurssamling'), _subjectTypes),
60
63
  searchPage: {
61
64
  noHits: 'Ingen artikler samsvarte med søket ditt på: {{query}}',
62
65
  noHitsShort: 'Ingen treff på søk: {{query}}',
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories");
8
+ export declare const contentTypes: typeof import("../model/ContentType"), subjectCategories: typeof import("../model/SubjectCategories"), subjectTypes: typeof import("../model/SubjectTypes");
9
9
  declare const messages: {
10
10
  filterButtons: {
11
11
  removeAllFilters: string;
@@ -81,6 +81,10 @@ declare const messages: {
81
81
  programme: string;
82
82
  specialized: string;
83
83
  };
84
+ subjectTypes: {
85
+ subject: string;
86
+ resourceCollection: string;
87
+ };
84
88
  searchPage: {
85
89
  noHits: string;
86
90
  noHitsShort: string;
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.subjectCategories = exports.contentTypes = void 0;
6
+ exports["default"] = exports.subjectTypes = exports.subjectCategories = exports.contentTypes = void 0;
7
7
 
8
8
  var _licenses = require("@ndla/licenses");
9
9
 
10
10
  var _model = _interopRequireDefault(require("../model"));
11
11
 
12
- var _subjectCategories, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
12
+ var _subjectCategories, _subjectTypes, _contentTypeResultsSh, _contentTypeResultsSh2, _contentTypeResultsNo;
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -20,7 +20,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
20
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
21
 
22
22
  var contentTypes = _model["default"].contentTypes,
23
- subjectCategories = _model["default"].subjectCategories;
23
+ subjectCategories = _model["default"].subjectCategories,
24
+ subjectTypes = _model["default"].subjectTypes;
25
+ exports.subjectTypes = subjectTypes;
24
26
  exports.subjectCategories = subjectCategories;
25
27
  exports.contentTypes = contentTypes;
26
28
  var titleTemplate = ' - NDLA';
@@ -57,6 +59,7 @@ var messages = _objectSpread(_objectSpread({
57
59
  notSupported: 'Det fungerte ikke å sette inn innholdet automatisk. Kopier kildekoden under for å sette inn på din side.'
58
60
  },
59
61
  subjectCategories: (_subjectCategories = {}, _defineProperty(_subjectCategories, subjectCategories.ACTIVE_SUBJECTS, 'Aktive'), _defineProperty(_subjectCategories, subjectCategories.ARCHIVE_SUBJECTS, 'Utgåtte'), _defineProperty(_subjectCategories, subjectCategories.BETA_SUBJECTS, 'Kommende'), _defineProperty(_subjectCategories, subjectCategories.COMMON_SUBJECTS, 'Fellesfag'), _defineProperty(_subjectCategories, subjectCategories.PROGRAMME_SUBJECTS, 'Programfag SF'), _defineProperty(_subjectCategories, subjectCategories.SPECIALIZED_SUBJECTS, 'Yrkesfag'), _subjectCategories),
62
+ subjectTypes: (_subjectTypes = {}, _defineProperty(_subjectTypes, subjectTypes.SUBJECT, 'Fag'), _defineProperty(_subjectTypes, subjectTypes.RESOURCE_COLLECTION, 'Ressurssamling'), _subjectTypes),
60
63
  searchPage: {
61
64
  noHits: 'Ingen artikler samsvarte med søket ditt på: {{query}}',
62
65
  noHitsShort: 'Ingen treff på søk: {{query}}',
@@ -5,6 +5,5 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import { ButtonHTMLAttributes } from 'react';
9
- export declare const CloseButton: (props: ButtonHTMLAttributes<HTMLButtonElement>) => JSX.Element;
10
- export default CloseButton;
8
+ export declare const SUBJECT = "subject";
9
+ export declare const RESOURCE_COLLECTION = "resourceCollection";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RESOURCE_COLLECTION = exports.SUBJECT = void 0;
7
+
8
+ /**
9
+ * Copyright (c) 2022-present, NDLA.
10
+ *
11
+ * This source code is licensed under the GPLv3 license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ *
14
+ */
15
+ var SUBJECT = 'subject';
16
+ exports.SUBJECT = SUBJECT;
17
+ var RESOURCE_COLLECTION = 'resourceCollection';
18
+ exports.RESOURCE_COLLECTION = RESOURCE_COLLECTION;
@@ -7,8 +7,10 @@
7
7
  */
8
8
  import * as contentTypes from './ContentType';
9
9
  import * as subjectCategories from './SubjectCategories';
10
+ import * as subjectTypes from './SubjectTypes';
10
11
  declare const model: {
11
12
  contentTypes: typeof contentTypes;
12
13
  subjectCategories: typeof subjectCategories;
14
+ subjectTypes: typeof subjectTypes;
13
15
  };
14
16
  export default model;
@@ -11,6 +11,8 @@ var contentTypes = _interopRequireWildcard(require("./ContentType"));
11
11
 
12
12
  var subjectCategories = _interopRequireWildcard(require("./SubjectCategories"));
13
13
 
14
+ var subjectTypes = _interopRequireWildcard(require("./SubjectTypes"));
15
+
14
16
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
15
17
 
16
18
  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; }
@@ -24,7 +26,8 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
24
26
  */
25
27
  var model = {
26
28
  contentTypes: contentTypes,
27
- subjectCategories: subjectCategories
29
+ subjectCategories: subjectCategories,
30
+ subjectTypes: subjectTypes
28
31
  };
29
32
  var _default = model;
30
33
  exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndla/ui",
3
- "version": "8.2.3",
3
+ "version": "9.0.0",
4
4
  "description": "UI component library for NDLA.",
5
5
  "license": "GPL-3.0",
6
6
  "main": "lib/index.js",
@@ -31,16 +31,16 @@
31
31
  "types"
32
32
  ],
33
33
  "dependencies": {
34
- "@ndla/button": "^2.1.5",
35
- "@ndla/carousel": "^1.2.5",
34
+ "@ndla/button": "^2.2.0",
35
+ "@ndla/carousel": "^1.2.6",
36
36
  "@ndla/core": "^2.1.1",
37
37
  "@ndla/hooks": "^1.1.3",
38
- "@ndla/icons": "^1.6.1",
39
- "@ndla/licenses": "^4.0.5",
40
- "@ndla/modal": "^1.2.5",
41
- "@ndla/safelink": "^1.1.6",
38
+ "@ndla/icons": "^1.7.0",
39
+ "@ndla/licenses": "^4.1.0",
40
+ "@ndla/modal": "^1.2.6",
41
+ "@ndla/safelink": "^1.1.7",
42
42
  "@ndla/switch": "^0.1.5",
43
- "@ndla/tabs": "^1.1.3",
43
+ "@ndla/tabs": "^1.1.4",
44
44
  "@ndla/tooltip": "^0.3.5",
45
45
  "@ndla/util": "^2.0.5",
46
46
  "@reach/menu-button": "^0.16.2",
@@ -80,5 +80,5 @@
80
80
  "publishConfig": {
81
81
  "access": "public"
82
82
  },
83
- "gitHead": "cad80f3c7f0d81b01bacf0599885670d63c7e0a4"
83
+ "gitHead": "76c237a1e2d807c08054f066bbf5b274010c0e02"
84
84
  }
@@ -159,9 +159,10 @@ type ArticleNotionsProps = {
159
159
  notions: ConceptNotionType[];
160
160
  relatedContent?: NotionRelatedContent[];
161
161
  buttonOffsetRight: number;
162
+ type?: 'image' | 'video' | 'h5p' | 'iframe' | 'external';
162
163
  };
163
164
 
164
- export const ArticleNotions = ({ notions, relatedContent = [], buttonOffsetRight }: ArticleNotionsProps) => {
165
+ export const ArticleNotions = ({ notions, relatedContent = [], buttonOffsetRight, type }: ArticleNotionsProps) => {
165
166
  const { t } = useTranslation();
166
167
  const leftOffset = `${buttonOffsetRight - 32}px`;
167
168
  return (
@@ -188,7 +189,7 @@ export const ArticleNotions = ({ notions, relatedContent = [], buttonOffsetRight
188
189
  </ModalHeadingContainer>
189
190
  <NotionsContainer>
190
191
  {notions.map((notion) => (
191
- <ConceptNotion key={notion.id} concept={notion} />
192
+ <ConceptNotion key={notion.id} concept={notion} type={type} />
192
193
  ))}
193
194
  </NotionsContainer>
194
195
  {relatedContent.length > 0 && (
@@ -35,57 +35,64 @@ export const FigureCaption = ({
35
35
  link,
36
36
  hideFigcaption,
37
37
  hasLinkedVideo,
38
+ hideIconsAndAuthors,
38
39
  }: FigureCaptionProps) => {
39
40
  const { t } = useTranslation();
41
+
40
42
  return (
41
- <figcaption {...classes('caption', hideFigcaption ? 'hidden-caption' : undefined)}>
42
- {caption ? <div {...classes('info')}>{parseMarkdown(caption)}</div> : null}
43
- <footer {...classes('byline')}>
44
- <div {...classes('byline-licenselist')}>
45
- <LicenseByline licenseRights={licenseRights} locale={locale} marginRight>
46
- <div {...classes('byline-author-buttons')}>
47
- <span {...classes('byline-authors')}>{authors?.map((author) => author.name).join(', ')}</span>
48
- <div>
49
- <Button
50
- borderShape="rounded"
51
- outline
52
- size="small"
53
- type="button"
54
- data-dialog-trigger-id={id}
55
- data-dialog-source-id={figureId}>
56
- {reuseLabel}
57
- </Button>
58
- {hasLinkedVideo && (
43
+ <>
44
+ <figcaption {...classes('caption', hideFigcaption ? 'hidden-caption' : undefined)}>
45
+ {caption ? <div {...classes('info')}>{parseMarkdown(caption)}</div> : null}
46
+ <footer {...classes('byline')}>
47
+ <div {...classes('byline-licenselist')}>
48
+ <LicenseByline licenseRights={hideIconsAndAuthors ? [] : licenseRights} locale={locale} marginRight>
49
+ <div {...classes('byline-author-buttons', hideIconsAndAuthors ? 'no-siblings' : undefined)}>
50
+ {!hideIconsAndAuthors && (
51
+ <span {...classes('byline-authors')}>{authors?.map((author) => author.name).join(', ')}</span>
52
+ )}
53
+ <div>
59
54
  <Button
60
55
  borderShape="rounded"
61
56
  outline
62
57
  size="small"
63
58
  type="button"
64
- {...classes('toggleAlternativeVideo')}>
65
- <span className="original">{t('figure.button.alternative')}</span>
66
- <span className="alternative hidden">{t('figure.button.original')}</span>
59
+ data-dialog-trigger-id={id}
60
+ data-dialog-source-id={figureId}>
61
+ {reuseLabel}
67
62
  </Button>
68
- )}
63
+ {hasLinkedVideo && (
64
+ <Button
65
+ borderShape="rounded"
66
+ outline
67
+ size="small"
68
+ type="button"
69
+ {...classes('toggleAlternativeVideo')}>
70
+ <span className="original">{t('figure.button.alternative')}</span>
71
+ <span className="alternative hidden">{t('figure.button.original')}</span>
72
+ </Button>
73
+ )}
74
+ </div>
75
+ {children}
76
+ </div>
77
+ </LicenseByline>
78
+
79
+ {link && (
80
+ <div {...classes('link-wrapper')}>
81
+ <SafeLink
82
+ to={link.url}
83
+ {...classes('link')}
84
+ target={link.external ? '_blank' : undefined}
85
+ rel={link.external ? 'noopener noreferrer' : undefined}>
86
+ <span {...classes('link-text')}>{link.text}</span>
87
+ <LinkIcon />
88
+ </SafeLink>
89
+ {link.description && <p {...classes('link-description')}>{link.description}</p>}
69
90
  </div>
70
- {children}
71
- </div>
72
- </LicenseByline>
73
- {link && (
74
- <div {...classes('link-wrapper')}>
75
- <SafeLink
76
- to={link.url}
77
- {...classes('link')}
78
- target={link.external ? '_blank' : undefined}
79
- rel={link.external ? 'noopener noreferrer' : undefined}>
80
- <span {...classes('link-text')}>{link.text}</span>
81
- <LinkIcon />
82
- </SafeLink>
83
- {link.description && <p {...classes('link-description')}>{link.description}</p>}
84
- </div>
85
- )}
86
- </div>
87
- </footer>
88
- </figcaption>
91
+ )}
92
+ </div>
93
+ </footer>
94
+ </figcaption>
95
+ </>
89
96
  );
90
97
  };
91
98
 
@@ -116,6 +123,7 @@ interface FigureCaptionProps {
116
123
  locale?: string;
117
124
  hideFigcaption?: boolean;
118
125
  hasLinkedVideo?: boolean;
126
+ hideIconsAndAuthors?: boolean;
119
127
  }
120
128
 
121
129
  const Figure = ({ children, type = 'full', resizeIframe, ...rest }: Props) => {
@@ -15,13 +15,13 @@ export function FigureExpandButton({ messages, typeClass }: Props) {
15
15
  <button
16
16
  className="c-figure__fullscreen-btn"
17
17
  type="button"
18
- data-figure-button
19
- data-classtype={typeClass}
20
18
  data-aria={messages.zoomImageButtonLabel}
21
19
  data-ariaexpanded={messages.zoomOutImageButtonLabel}
22
- aria-label={messages.zoomImageButtonLabel}>
23
- <ArrowCollapse className="expanded-icon" />
20
+ aria-label={messages.zoomImageButtonLabel}
21
+ data-figure-button
22
+ data-classtype={typeClass}>
24
23
  <ExpandTwoArrows className="contracted-icon" />
24
+ <ArrowCollapse className="expanded-icon" />
25
25
  </button>
26
26
  );
27
27
  }