@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.
- package/es/Article/ArticleNotions.js +9 -7
- package/es/Figure/Figure.js +6 -5
- package/es/Figure/FigureExpandButton.js +6 -6
- package/es/Figure/FigureOpenDialogButton.js +45 -0
- package/es/Figure/index.js +2 -1
- package/es/Image/Image.js +1 -1
- package/es/MessageBox/MessageBox.js +8 -8
- package/es/Notion/ConceptNotion.js +79 -28
- package/es/Notion/FigureNotion.js +5 -6
- package/es/Notion/Notion.js +19 -98
- package/es/Notion/NotionImage.js +25 -6
- package/es/Notion/NotionVisualElement.js +49 -10
- package/es/ResourceBox/ResourceBox.js +34 -67
- package/es/Topic/Topic.js +21 -21
- package/es/all.css +1 -1
- package/es/index.js +1 -2
- package/es/locale/messages-en.js +6 -4
- package/es/locale/messages-nb.js +6 -4
- package/es/locale/messages-nn.js +6 -4
- package/es/locale/messages-se.js +5 -3
- package/es/locale/messages-sma.js +5 -3
- package/es/{CloseButton/index.js → model/SubjectTypes.js} +3 -4
- package/es/model/index.js +3 -1
- package/lib/Article/ArticleNotions.d.ts +2 -1
- package/lib/Article/ArticleNotions.js +9 -7
- package/lib/Figure/Figure.d.ts +2 -1
- package/lib/Figure/Figure.js +6 -5
- package/lib/Figure/FigureExpandButton.js +6 -6
- package/lib/Figure/FigureOpenDialogButton.d.ts +16 -0
- package/lib/Figure/FigureOpenDialogButton.js +57 -0
- package/lib/Figure/index.d.ts +1 -0
- package/lib/Figure/index.js +8 -0
- package/lib/Image/Image.js +1 -1
- package/lib/MessageBox/MessageBox.js +9 -9
- package/lib/Notion/ConceptNotion.d.ts +6 -7
- package/lib/Notion/ConceptNotion.js +84 -30
- package/lib/Notion/FigureNotion.d.ts +3 -2
- package/lib/Notion/FigureNotion.js +5 -7
- package/lib/Notion/Notion.d.ts +1 -12
- package/lib/Notion/Notion.js +23 -105
- package/lib/Notion/NotionImage.d.ts +2 -1
- package/lib/Notion/NotionImage.js +25 -7
- package/lib/Notion/NotionVisualElement.d.ts +6 -7
- package/lib/Notion/NotionVisualElement.js +48 -18
- package/lib/ResourceBox/ResourceBox.js +34 -63
- package/lib/Topic/Topic.js +21 -21
- package/lib/all.css +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.js +7 -9
- package/lib/locale/messages-en.d.ts +5 -1
- package/lib/locale/messages-en.js +7 -4
- package/lib/locale/messages-nb.d.ts +5 -1
- package/lib/locale/messages-nb.js +7 -4
- package/lib/locale/messages-nn.d.ts +5 -1
- package/lib/locale/messages-nn.js +7 -4
- package/lib/locale/messages-se.d.ts +5 -1
- package/lib/locale/messages-se.js +6 -3
- package/lib/locale/messages-sma.d.ts +5 -1
- package/lib/locale/messages-sma.js +6 -3
- package/lib/{CloseButton/CloseButton.d.ts → model/SubjectTypes.d.ts} +2 -3
- package/lib/model/SubjectTypes.js +18 -0
- package/lib/model/index.d.ts +2 -0
- package/lib/model/index.js +4 -1
- package/package.json +9 -9
- package/src/Article/ArticleNotions.tsx +3 -2
- package/src/Figure/Figure.tsx +49 -41
- package/src/Figure/FigureExpandButton.tsx +4 -4
- package/src/Figure/FigureOpenDialogButton.tsx +37 -0
- package/src/Figure/component.figure.scss +4 -0
- package/src/Figure/index.ts +1 -0
- package/src/Image/Image.tsx +1 -1
- package/src/MessageBox/MessageBox.tsx +1 -1
- package/src/Notion/ConceptNotion.tsx +136 -37
- package/src/Notion/FigureNotion.tsx +6 -6
- package/src/Notion/Notion.tsx +7 -145
- package/src/Notion/NotionImage.tsx +44 -15
- package/src/Notion/NotionVisualElement.tsx +35 -8
- package/src/ResourceBox/ResourceBox.tsx +47 -102
- package/src/Topic/Topic.tsx +1 -1
- package/src/index.ts +2 -2
- package/src/locale/messages-en.ts +6 -2
- package/src/locale/messages-nb.ts +6 -2
- package/src/locale/messages-nn.ts +6 -2
- package/src/locale/messages-se.ts +5 -1
- package/src/locale/messages-sma.ts +5 -1
- package/{lib/CloseButton/index.d.ts → src/model/SubjectTypes.ts} +4 -4
- package/src/model/index.ts +2 -0
- package/es/CloseButton/CloseButton.js +0 -46
- package/lib/CloseButton/CloseButton.js +0 -54
- package/lib/CloseButton/index.js +0 -26
- package/src/CloseButton/CloseButton.tsx +0 -36
- 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: '
|
|
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: '
|
|
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: '
|
|
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
|
-
|
|
9
|
-
export declare const
|
|
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;
|
package/lib/model/index.d.ts
CHANGED
|
@@ -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;
|
package/lib/model/index.js
CHANGED
|
@@ -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": "
|
|
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.
|
|
35
|
-
"@ndla/carousel": "^1.2.
|
|
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.
|
|
39
|
-
"@ndla/licenses": "^4.0
|
|
40
|
-
"@ndla/modal": "^1.2.
|
|
41
|
-
"@ndla/safelink": "^1.1.
|
|
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.
|
|
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": "
|
|
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 && (
|
package/src/Figure/Figure.tsx
CHANGED
|
@@ -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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<
|
|
45
|
-
<
|
|
46
|
-
<
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
{
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
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
|
}
|