@ndla/ui 20.0.3 → 22.0.1
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/Breadcrumb/ActionBreadcrumb.js +4 -4
- package/es/LearningPaths/LearningPathInformation.js +21 -3
- package/es/LearningPaths/LearningPathMenuAsideCopyright.js +17 -4
- package/es/MyNdla/Resource/Folder.js +7 -6
- package/es/Resource/BlockResource.js +6 -5
- package/es/Resource/ListResource.js +7 -6
- package/es/ResourceGroup/ResourceGroup.js +3 -3
- package/es/ResourceGroup/ResourceItem.js +12 -12
- package/es/ResourceGroup/ResourceList.js +2 -2
- package/es/Search/ContentTypeResult.js +1 -2
- package/es/SearchTypeResult/SearchItem.js +8 -8
- package/es/TopicMenu/TopicMenuButton.js +4 -2
- package/es/TreeStructure/FolderItem.js +109 -68
- package/es/TreeStructure/FolderItems.js +34 -62
- package/es/TreeStructure/FolderNameInput.js +14 -13
- package/es/TreeStructure/TreeStructure.js +89 -98
- package/es/TreeStructure/helperFunctions.js +4 -73
- package/es/TreeStructure/{TreeStructure.types.js → types.js} +0 -0
- package/es/locale/messages-en.js +8 -0
- package/es/locale/messages-nb.js +8 -0
- package/es/locale/messages-nn.js +8 -0
- package/es/locale/messages-se.js +8 -0
- package/es/locale/messages-sma.js +8 -0
- package/lib/Breadcrumb/ActionBreadcrumb.js +4 -4
- package/lib/LearningPaths/LearningPathInformation.js +19 -2
- package/lib/LearningPaths/LearningPathMenuAsideCopyright.js +16 -3
- package/lib/MyNdla/Resource/Folder.js +7 -6
- package/lib/Resource/BlockResource.js +6 -5
- package/lib/Resource/ListResource.js +7 -6
- package/lib/ResourceGroup/ResourceGroup.d.ts +1 -1
- package/lib/ResourceGroup/ResourceGroup.js +3 -3
- package/lib/ResourceGroup/ResourceItem.d.ts +1 -1
- package/lib/ResourceGroup/ResourceItem.js +12 -12
- package/lib/ResourceGroup/ResourceList.d.ts +1 -1
- package/lib/ResourceGroup/ResourceList.js +2 -2
- package/lib/Search/ContentTypeResult.js +1 -2
- package/lib/SearchTypeResult/SearchItem.js +8 -8
- package/lib/TopicMenu/TopicMenuButton.js +3 -1
- package/lib/TreeStructure/FolderItem.d.ts +6 -20
- package/lib/TreeStructure/FolderItem.js +112 -68
- package/lib/TreeStructure/FolderItems.d.ts +11 -2
- package/lib/TreeStructure/FolderItems.js +34 -62
- package/lib/TreeStructure/FolderNameInput.js +14 -13
- package/lib/TreeStructure/TreeStructure.d.ts +12 -2
- package/lib/TreeStructure/TreeStructure.js +87 -96
- package/lib/TreeStructure/helperFunctions.d.ts +2 -4
- package/lib/TreeStructure/helperFunctions.js +5 -80
- package/lib/TreeStructure/index.d.ts +2 -1
- package/lib/TreeStructure/types.d.ts +33 -0
- package/lib/TreeStructure/{TreeStructure.types.js → types.js} +0 -0
- package/lib/index.d.ts +1 -1
- package/lib/locale/messages-en.d.ts +8 -0
- package/lib/locale/messages-en.js +8 -0
- package/lib/locale/messages-nb.d.ts +8 -0
- package/lib/locale/messages-nb.js +8 -0
- package/lib/locale/messages-nn.d.ts +8 -0
- package/lib/locale/messages-nn.js +8 -0
- package/lib/locale/messages-se.d.ts +8 -0
- package/lib/locale/messages-se.js +8 -0
- package/lib/locale/messages-sma.d.ts +8 -0
- package/lib/locale/messages-sma.js +8 -0
- package/package.json +15 -14
- package/src/.DS_Store +0 -0
- package/src/Breadcrumb/ActionBreadcrumb.tsx +1 -1
- package/src/LearningPaths/LearningPathInformation.tsx +27 -12
- package/src/LearningPaths/LearningPathMenuAsideCopyright.tsx +22 -20
- package/src/MyNdla/Resource/Folder.tsx +1 -1
- package/src/Resource/BlockResource.tsx +1 -1
- package/src/Resource/ListResource.tsx +1 -1
- package/src/ResourceGroup/ResourceGroup.tsx +1 -1
- package/src/ResourceGroup/ResourceItem.tsx +2 -2
- package/src/ResourceGroup/ResourceList.tsx +1 -1
- package/src/Search/ContentTypeResult.tsx +0 -1
- package/src/SearchTypeResult/SearchItem.tsx +0 -1
- package/src/TopicMenu/TopicMenuButton.jsx +5 -1
- package/src/TreeStructure/FolderItem.tsx +105 -94
- package/src/TreeStructure/FolderItems.tsx +33 -52
- package/src/TreeStructure/FolderNameInput.tsx +6 -11
- package/src/TreeStructure/TreeStructure.tsx +80 -73
- package/src/TreeStructure/helperFunctions.ts +3 -37
- package/src/TreeStructure/index.ts +2 -1
- package/src/TreeStructure/types.ts +38 -0
- package/src/index.ts +1 -1
- package/src/locale/messages-en.ts +8 -0
- package/src/locale/messages-nb.ts +8 -0
- package/src/locale/messages-nn.ts +8 -0
- package/src/locale/messages-se.ts +8 -0
- package/src/locale/messages-sma.ts +8 -0
- package/lib/TreeStructure/TreeStructure.types.d.ts +0 -61
- package/src/TreeStructure/TreeStructure.types.ts +0 -71
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2022-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 { MouseEvent, ReactNode } from 'react';
|
|
9
|
+
import { IFolder, IResource } from '@ndla/types-learningpath-api';
|
|
10
|
+
import { MenuItemProps } from '@ndla/button/src';
|
|
11
|
+
export interface FolderType extends IFolder {
|
|
12
|
+
icon?: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export interface TreeStructureMenuProps extends Omit<MenuItemProps, 'onClick'> {
|
|
15
|
+
onClick: (e: MouseEvent<HTMLDivElement> | undefined, folder: FolderType) => void;
|
|
16
|
+
}
|
|
17
|
+
export interface CommonTreeStructureProps {
|
|
18
|
+
loading?: boolean;
|
|
19
|
+
onSelectFolder?: (id: string) => void;
|
|
20
|
+
openOnFolderClick?: boolean;
|
|
21
|
+
menuItems?: TreeStructureMenuProps[];
|
|
22
|
+
targetResource?: IResource;
|
|
23
|
+
}
|
|
24
|
+
export interface CommonFolderItemsProps extends CommonTreeStructureProps {
|
|
25
|
+
focusedFolderId?: string;
|
|
26
|
+
level: number;
|
|
27
|
+
selectedFolder?: FolderType;
|
|
28
|
+
onCloseFolder: (id: string) => void;
|
|
29
|
+
onOpenFolder: (id: string) => void;
|
|
30
|
+
setFocusedId: (id: string) => void;
|
|
31
|
+
setSelectedFolder: (id: FolderType) => void;
|
|
32
|
+
visibleFolders: string[];
|
|
33
|
+
}
|
|
File without changes
|
package/lib/index.d.ts
CHANGED
|
@@ -88,4 +88,4 @@ export type { SnackBarItem } from './SnackBar';
|
|
|
88
88
|
export { SnackBar } from './SnackBar';
|
|
89
89
|
export { InfoBlock } from './InfoBlock';
|
|
90
90
|
export { TreeStructure } from './TreeStructure';
|
|
91
|
-
export type {
|
|
91
|
+
export type { FolderType, TreeStructureProps, TreeStructureMenuProps } from './TreeStructure';
|
|
@@ -64,6 +64,8 @@ declare const messages: {
|
|
|
64
64
|
edit: string;
|
|
65
65
|
missingName: string;
|
|
66
66
|
};
|
|
67
|
+
tags: string;
|
|
68
|
+
tags_plural: string;
|
|
67
69
|
confirmDeleteFolder: string;
|
|
68
70
|
confirmDeleteTag: string;
|
|
69
71
|
myFolders: string;
|
|
@@ -74,6 +76,7 @@ declare const messages: {
|
|
|
74
76
|
favourites: string;
|
|
75
77
|
addToFavourites: string;
|
|
76
78
|
alreadyFavourited: string;
|
|
79
|
+
alreadyInFolder: string;
|
|
77
80
|
help: string;
|
|
78
81
|
more: string;
|
|
79
82
|
listView: string;
|
|
@@ -82,6 +85,9 @@ declare const messages: {
|
|
|
82
85
|
myPage: {
|
|
83
86
|
myPage: string;
|
|
84
87
|
logout: string;
|
|
88
|
+
loginTerms: string;
|
|
89
|
+
loginResourcePitch: string;
|
|
90
|
+
loginWelcome: string;
|
|
85
91
|
deleteAccount: string;
|
|
86
92
|
welcome: string;
|
|
87
93
|
read: {
|
|
@@ -118,6 +124,8 @@ declare const messages: {
|
|
|
118
124
|
resource: {
|
|
119
125
|
add: string;
|
|
120
126
|
remove: string;
|
|
127
|
+
removeTitle: string;
|
|
128
|
+
confirmRemove: string;
|
|
121
129
|
copyLink: string;
|
|
122
130
|
addToMyNdla: string;
|
|
123
131
|
addedToMyNdla: string;
|
|
@@ -959,6 +959,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
959
959
|
edit: 'Edit',
|
|
960
960
|
missingName: 'Folder name required'
|
|
961
961
|
},
|
|
962
|
+
tags: '{{count}} tag',
|
|
963
|
+
tags_plural: '{{count}} tags',
|
|
962
964
|
confirmDeleteFolder: 'Are you sure you want to delete this folder? This process cannot be undone.',
|
|
963
965
|
confirmDeleteTag: 'Are you sure you want to delete this tag? This process cannot be undone.',
|
|
964
966
|
myFolders: 'My folders',
|
|
@@ -969,6 +971,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
969
971
|
favourites: 'Favourites',
|
|
970
972
|
addToFavourites: 'Add to my favourites',
|
|
971
973
|
alreadyFavourited: 'Already in my favourites',
|
|
974
|
+
alreadyInFolder: 'Already in folder',
|
|
972
975
|
help: 'Help',
|
|
973
976
|
more: 'More options',
|
|
974
977
|
listView: 'List view',
|
|
@@ -977,6 +980,9 @@ var messages = _objectSpread(_objectSpread({
|
|
|
977
980
|
myPage: {
|
|
978
981
|
myPage: 'My page',
|
|
979
982
|
logout: 'Log out of My NDLA',
|
|
983
|
+
loginTerms: 'Log in with Feide to receive access. By logging on your accept your terms of service',
|
|
984
|
+
loginResourcePitch: 'Do you want to favorite this page?',
|
|
985
|
+
loginWelcome: 'Welcome to My NDLA! This page allows you to organize your articles in your <i>own</i> way!',
|
|
980
986
|
deleteAccount: 'Delete My NDLA',
|
|
981
987
|
welcome: 'Welcome to my NDLA! You can now save your favourite resources from NDLA and organise them in folders with tags',
|
|
982
988
|
read: {
|
|
@@ -1013,6 +1019,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
1013
1019
|
resource: {
|
|
1014
1020
|
add: 'Add folder/tag',
|
|
1015
1021
|
remove: 'Remove',
|
|
1022
|
+
removeTitle: 'Remove resource',
|
|
1023
|
+
confirmRemove: 'Are you sure you want to remove the resource from this folder?',
|
|
1016
1024
|
copyLink: 'Copy link to this page',
|
|
1017
1025
|
addToMyNdla: 'Add to My NDLA',
|
|
1018
1026
|
addedToMyNdla: 'Added to My NDLA'
|
|
@@ -64,6 +64,8 @@ declare const messages: {
|
|
|
64
64
|
edit: string;
|
|
65
65
|
missingName: string;
|
|
66
66
|
};
|
|
67
|
+
tags: string;
|
|
68
|
+
tags_plural: string;
|
|
67
69
|
confirmDeleteFolder: string;
|
|
68
70
|
confirmDeleteTag: string;
|
|
69
71
|
myFolders: string;
|
|
@@ -74,6 +76,7 @@ declare const messages: {
|
|
|
74
76
|
favourites: string;
|
|
75
77
|
addToFavourites: string;
|
|
76
78
|
alreadyFavourited: string;
|
|
79
|
+
alreadyInFolder: string;
|
|
77
80
|
help: string;
|
|
78
81
|
more: string;
|
|
79
82
|
listView: string;
|
|
@@ -83,6 +86,9 @@ declare const messages: {
|
|
|
83
86
|
myPage: string;
|
|
84
87
|
deleteAccount: string;
|
|
85
88
|
logout: string;
|
|
89
|
+
loginTerms: string;
|
|
90
|
+
loginResourcePitch: string;
|
|
91
|
+
loginWelcome: string;
|
|
86
92
|
welcome: string;
|
|
87
93
|
read: {
|
|
88
94
|
our: string;
|
|
@@ -118,6 +124,8 @@ declare const messages: {
|
|
|
118
124
|
resource: {
|
|
119
125
|
add: string;
|
|
120
126
|
remove: string;
|
|
127
|
+
removeTitle: string;
|
|
128
|
+
confirmRemove: string;
|
|
121
129
|
copyLink: string;
|
|
122
130
|
addToMyNdla: string;
|
|
123
131
|
addedToMyNdla: string;
|
|
@@ -959,6 +959,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
959
959
|
edit: 'Rediger',
|
|
960
960
|
missingName: 'Mappenavn er påkrevd'
|
|
961
961
|
},
|
|
962
|
+
tags: '{{count}} tag',
|
|
963
|
+
tags_plural: '{{count}} tags',
|
|
962
964
|
confirmDeleteFolder: 'Er du sikker på at du vil slette mappen? Denne handlingen kan ikke angres.',
|
|
963
965
|
confirmDeleteTag: 'Er du sikker på at du vil slette tag? Denne handlingen kan ikke angres.',
|
|
964
966
|
myFolders: 'Mine mapper',
|
|
@@ -969,6 +971,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
969
971
|
favourites: 'Favoritter',
|
|
970
972
|
addToFavourites: 'Legg til i mine favoritter',
|
|
971
973
|
alreadyFavourited: 'Allerede lagt til i mine favoritter',
|
|
974
|
+
alreadyInFolder: 'Finnes allerede i mappen',
|
|
972
975
|
help: 'Hjelp',
|
|
973
976
|
more: 'Flere valg',
|
|
974
977
|
listView: 'Listevisning',
|
|
@@ -978,6 +981,9 @@ var messages = _objectSpread(_objectSpread({
|
|
|
978
981
|
myPage: 'Min side',
|
|
979
982
|
deleteAccount: 'Slett Min NDLA',
|
|
980
983
|
logout: 'Logg ut av Min NDLA',
|
|
984
|
+
loginTerms: 'Logg på med Feide for å få tilgang. Ved å logge på godkjenner du våre vilkår for bruk',
|
|
985
|
+
loginResourcePitch: 'Ønsker du å favorittmerke denne siden?',
|
|
986
|
+
loginWelcome: 'Velkommen til NDLA! Her kan du organisere fagstoffet på <i>din</i> måte!',
|
|
981
987
|
welcome: 'Velkommen til Min NDLA! Nå kan du lagre dine favorittressurser fra NDLA og organisere dem slik du ønsker i mapper og med tags.',
|
|
982
988
|
read: {
|
|
983
989
|
our: 'Les våre',
|
|
@@ -1013,6 +1019,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
1013
1019
|
resource: {
|
|
1014
1020
|
add: 'Legg til mappe/tag',
|
|
1015
1021
|
remove: 'Fjern',
|
|
1022
|
+
removeTitle: 'Fjern ressurs',
|
|
1023
|
+
confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen fra denne mappen?',
|
|
1016
1024
|
copyLink: 'Kopier lenke til siden',
|
|
1017
1025
|
addToMyNdla: 'Legg i Min NDLA',
|
|
1018
1026
|
addedToMyNdla: 'Lagt i Min NDLA'
|
|
@@ -64,6 +64,8 @@ declare const messages: {
|
|
|
64
64
|
edit: string;
|
|
65
65
|
missingName: string;
|
|
66
66
|
};
|
|
67
|
+
tags: string;
|
|
68
|
+
tags_plural: string;
|
|
67
69
|
confirmDeleteFolder: string;
|
|
68
70
|
confirmDeleteTag: string;
|
|
69
71
|
myFolders: string;
|
|
@@ -74,6 +76,7 @@ declare const messages: {
|
|
|
74
76
|
favourites: string;
|
|
75
77
|
addToFavourites: string;
|
|
76
78
|
alreadyFavourited: string;
|
|
79
|
+
alreadyInFolder: string;
|
|
77
80
|
help: string;
|
|
78
81
|
more: string;
|
|
79
82
|
listView: string;
|
|
@@ -83,6 +86,9 @@ declare const messages: {
|
|
|
83
86
|
myPage: string;
|
|
84
87
|
deleteAccount: string;
|
|
85
88
|
logout: string;
|
|
89
|
+
loginTerms: string;
|
|
90
|
+
loginResourcePitch: string;
|
|
91
|
+
loginWelcome: string;
|
|
86
92
|
welcome: string;
|
|
87
93
|
read: {
|
|
88
94
|
our: string;
|
|
@@ -118,6 +124,8 @@ declare const messages: {
|
|
|
118
124
|
resource: {
|
|
119
125
|
add: string;
|
|
120
126
|
remove: string;
|
|
127
|
+
removeTitle: string;
|
|
128
|
+
confirmRemove: string;
|
|
121
129
|
copyLink: string;
|
|
122
130
|
addToMyNdla: string;
|
|
123
131
|
addedToMyNdla: string;
|
|
@@ -959,6 +959,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
959
959
|
edit: 'Rediger',
|
|
960
960
|
missingName: 'Mappenavn er påkrevd'
|
|
961
961
|
},
|
|
962
|
+
tags: '{{count}} tag',
|
|
963
|
+
tags_plural: '{{count}} tags',
|
|
962
964
|
confirmDeleteFolder: 'Er du sikker på at du vil slette mappa? Denne handlinga kan ikkje angres.',
|
|
963
965
|
confirmDeleteTag: 'Er du sikker på at du vil slette tag? Denne handlinga kan ikkje angres.',
|
|
964
966
|
myFolders: 'Mine mapper',
|
|
@@ -969,6 +971,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
969
971
|
favourites: 'Favorittar',
|
|
970
972
|
addToFavourites: 'Legg til i mine favorittar',
|
|
971
973
|
alreadyFavourited: 'Allereie lagt til i mine favorittar',
|
|
974
|
+
alreadyInFolder: 'Finnes allereie i mappa',
|
|
972
975
|
help: 'Hjelp',
|
|
973
976
|
more: 'Fleire val',
|
|
974
977
|
listView: 'Listevisning',
|
|
@@ -978,6 +981,9 @@ var messages = _objectSpread(_objectSpread({
|
|
|
978
981
|
myPage: 'Min side',
|
|
979
982
|
deleteAccount: 'Slett Min NDLA',
|
|
980
983
|
logout: 'Logg ut av Min NDLA',
|
|
984
|
+
loginTerms: 'Logg på med Feide for å få tilgang. Ved å logge på godkjennar du våre vilkår for bruk',
|
|
985
|
+
loginResourcePitch: 'Ønsker du å favorittmerke denne sida?',
|
|
986
|
+
loginWelcome: 'Velkommen til NDLA! Her kan du organisere fagstoffet på <i>din</i> måte!',
|
|
981
987
|
welcome: 'Velkommen til Min NDLA! Nå kan du lagre dine favorittressurser fra NDLA og organisere dem slik du ønsker i mapper og med tags.',
|
|
982
988
|
read: {
|
|
983
989
|
our: 'Les våre',
|
|
@@ -1013,6 +1019,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
1013
1019
|
resource: {
|
|
1014
1020
|
add: 'Legg til mappe/tag',
|
|
1015
1021
|
remove: 'Fjern',
|
|
1022
|
+
removeTitle: 'Fjern ressurs',
|
|
1023
|
+
confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen frå denne mappen?',
|
|
1016
1024
|
copyLink: 'Kopier lenke til sida',
|
|
1017
1025
|
addToMyNdla: 'Legg i Min NDLA',
|
|
1018
1026
|
addedToMyNdla: 'Lagt i Min NDLA'
|
|
@@ -64,6 +64,8 @@ declare const messages: {
|
|
|
64
64
|
edit: string;
|
|
65
65
|
missingName: string;
|
|
66
66
|
};
|
|
67
|
+
tags: string;
|
|
68
|
+
tags_plural: string;
|
|
67
69
|
confirmDeleteFolder: string;
|
|
68
70
|
confirmDeleteTag: string;
|
|
69
71
|
myFolders: string;
|
|
@@ -74,6 +76,7 @@ declare const messages: {
|
|
|
74
76
|
favourites: string;
|
|
75
77
|
addToFavourites: string;
|
|
76
78
|
alreadyFavourited: string;
|
|
79
|
+
alreadyInFolder: string;
|
|
77
80
|
help: string;
|
|
78
81
|
more: string;
|
|
79
82
|
listView: string;
|
|
@@ -83,6 +86,9 @@ declare const messages: {
|
|
|
83
86
|
myPage: string;
|
|
84
87
|
deleteAccount: string;
|
|
85
88
|
logout: string;
|
|
89
|
+
loginTerms: string;
|
|
90
|
+
loginResourcePitch: string;
|
|
91
|
+
loginWelcome: string;
|
|
86
92
|
welcome: string;
|
|
87
93
|
read: {
|
|
88
94
|
our: string;
|
|
@@ -118,6 +124,8 @@ declare const messages: {
|
|
|
118
124
|
resource: {
|
|
119
125
|
add: string;
|
|
120
126
|
remove: string;
|
|
127
|
+
removeTitle: string;
|
|
128
|
+
confirmRemove: string;
|
|
121
129
|
copyLink: string;
|
|
122
130
|
addToMyNdla: string;
|
|
123
131
|
addedToMyNdla: string;
|
|
@@ -959,6 +959,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
959
959
|
edit: 'Rediger',
|
|
960
960
|
missingName: 'Mappenavn er påkrevd'
|
|
961
961
|
},
|
|
962
|
+
tags: '{{count}} tag',
|
|
963
|
+
tags_plural: '{{count}} tags',
|
|
962
964
|
confirmDeleteFolder: 'Er du sikker på at du vil slette mappen? Denne handlingen kan ikke angres.',
|
|
963
965
|
confirmDeleteTag: 'Er du sikker på at du vil slette tag? Denne handlingen kan ikke angres.',
|
|
964
966
|
myFolders: 'Mine mapper',
|
|
@@ -969,6 +971,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
969
971
|
favourites: 'Favoritter',
|
|
970
972
|
addToFavourites: 'Legg til i mine favoritter',
|
|
971
973
|
alreadyFavourited: 'Allerede lagt til i mine favoritter',
|
|
974
|
+
alreadyInFolder: 'Finnes allerede i mappen',
|
|
972
975
|
help: 'Hjelp',
|
|
973
976
|
more: 'Flere valg',
|
|
974
977
|
listView: 'Listevisning',
|
|
@@ -978,6 +981,9 @@ var messages = _objectSpread(_objectSpread({
|
|
|
978
981
|
myPage: 'Min side',
|
|
979
982
|
deleteAccount: 'Slett Min NDLA',
|
|
980
983
|
logout: 'Logg ut av Min NDLA',
|
|
984
|
+
loginTerms: 'Logg på med Feide for å få tilgang. Ved å logge på godkjennar du våre vilkår for bruk',
|
|
985
|
+
loginResourcePitch: 'Ønsker du å favorittmerke denne sida?',
|
|
986
|
+
loginWelcome: 'Velkommen til NDLA! Her kan du organisere fagstoffet på <i>din</i> måte!',
|
|
981
987
|
welcome: 'Velkommen til Min NDLA! Nå kan du lagre dine favorittressurser fra NDLA og organisere dem slik du ønsker i mapper og med tags.',
|
|
982
988
|
read: {
|
|
983
989
|
our: 'Les våre',
|
|
@@ -1013,6 +1019,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
1013
1019
|
resource: {
|
|
1014
1020
|
add: 'Legg til mappe/tag',
|
|
1015
1021
|
remove: 'Fjern',
|
|
1022
|
+
removeTitle: 'Fjern ressurs',
|
|
1023
|
+
confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen frå denne mappen?',
|
|
1016
1024
|
copyLink: 'Kopier lenke til siden',
|
|
1017
1025
|
addToMyNdla: 'Legg i Min NDLA',
|
|
1018
1026
|
addedToMyNdla: 'Lagt i Min NDLA'
|
|
@@ -64,6 +64,8 @@ declare const messages: {
|
|
|
64
64
|
edit: string;
|
|
65
65
|
missingName: string;
|
|
66
66
|
};
|
|
67
|
+
tags: string;
|
|
68
|
+
tags_plural: string;
|
|
67
69
|
confirmDeleteFolder: string;
|
|
68
70
|
confirmDeleteTag: string;
|
|
69
71
|
myFolders: string;
|
|
@@ -74,6 +76,7 @@ declare const messages: {
|
|
|
74
76
|
favourites: string;
|
|
75
77
|
addToFavourites: string;
|
|
76
78
|
alreadyFavourited: string;
|
|
79
|
+
alreadyInFolder: string;
|
|
77
80
|
help: string;
|
|
78
81
|
more: string;
|
|
79
82
|
listView: string;
|
|
@@ -83,6 +86,9 @@ declare const messages: {
|
|
|
83
86
|
myPage: string;
|
|
84
87
|
deleteAccount: string;
|
|
85
88
|
logout: string;
|
|
89
|
+
loginTerms: string;
|
|
90
|
+
loginResourcePitch: string;
|
|
91
|
+
loginWelcome: string;
|
|
86
92
|
welcome: string;
|
|
87
93
|
read: {
|
|
88
94
|
our: string;
|
|
@@ -118,6 +124,8 @@ declare const messages: {
|
|
|
118
124
|
resource: {
|
|
119
125
|
add: string;
|
|
120
126
|
remove: string;
|
|
127
|
+
removeTitle: string;
|
|
128
|
+
confirmRemove: string;
|
|
121
129
|
copyLink: string;
|
|
122
130
|
addToMyNdla: string;
|
|
123
131
|
addedToMyNdla: string;
|
|
@@ -959,6 +959,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
959
959
|
edit: 'Rediger',
|
|
960
960
|
missingName: 'Mappenavn er påkrevd'
|
|
961
961
|
},
|
|
962
|
+
tags: '{{count}} tag',
|
|
963
|
+
tags_plural: '{{count}} tags',
|
|
962
964
|
confirmDeleteFolder: 'Er du sikker på at du vil slette mappen? Denne handlingen kan ikke angres.',
|
|
963
965
|
confirmDeleteTag: 'Er du sikker på at du vil slette tag? Denne handlingen kan ikke angres.',
|
|
964
966
|
myFolders: 'Mine mapper',
|
|
@@ -969,6 +971,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
969
971
|
favourites: 'Favoritter',
|
|
970
972
|
addToFavourites: 'Legg til i mine favoritter',
|
|
971
973
|
alreadyFavourited: 'Allerede lagt til i mine favoritter',
|
|
974
|
+
alreadyInFolder: 'Finnes allerede i mappen',
|
|
972
975
|
help: 'Hjelp',
|
|
973
976
|
more: 'Flere valg',
|
|
974
977
|
listView: 'Listevisning',
|
|
@@ -978,6 +981,9 @@ var messages = _objectSpread(_objectSpread({
|
|
|
978
981
|
myPage: 'Min side',
|
|
979
982
|
deleteAccount: 'Slett Min NDLA',
|
|
980
983
|
logout: 'Logg ut av Min NDLA',
|
|
984
|
+
loginTerms: 'Logg på med Feide for å få tilgang. Ved å logge på godkjennar du våre vilkår for bruk',
|
|
985
|
+
loginResourcePitch: 'Ønsker du å favorittmerke denne sida?',
|
|
986
|
+
loginWelcome: 'Velkommen til NDLA! Her kan du organisere fagstoffet på <i>din</i> måte!',
|
|
981
987
|
welcome: 'Velkommen til Min NDLA! Nå kan du lagre dine favorittressurser fra NDLA og organisere dem slik du ønsker i mapper og med tags.',
|
|
982
988
|
read: {
|
|
983
989
|
our: 'Les våre',
|
|
@@ -1013,6 +1019,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
1013
1019
|
resource: {
|
|
1014
1020
|
add: 'Legg til mappe/tag',
|
|
1015
1021
|
remove: 'Fjern',
|
|
1022
|
+
removeTitle: 'Fjern ressurs',
|
|
1023
|
+
confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen frå denne mappen?',
|
|
1016
1024
|
copyLink: 'Kopier lenke til siden',
|
|
1017
1025
|
addToMyNdla: 'Legg i Min NDLA',
|
|
1018
1026
|
addedToMyNdla: 'Lagt i Min NDLA'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "22.0.1",
|
|
4
4
|
"description": "UI component library for NDLA.",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -31,19 +31,20 @@
|
|
|
31
31
|
"types"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@ndla/button": "^3.
|
|
35
|
-
"@ndla/carousel": "^1.2.
|
|
36
|
-
"@ndla/core": "^2.3.
|
|
37
|
-
"@ndla/forms": "^3.1.
|
|
34
|
+
"@ndla/button": "^3.2.0",
|
|
35
|
+
"@ndla/carousel": "^1.2.15",
|
|
36
|
+
"@ndla/core": "^2.3.3",
|
|
37
|
+
"@ndla/forms": "^3.1.3",
|
|
38
38
|
"@ndla/hooks": "^1.1.4",
|
|
39
|
-
"@ndla/icons": "^1.11.
|
|
40
|
-
"@ndla/licenses": "^5.0.
|
|
41
|
-
"@ndla/modal": "^1.2.
|
|
42
|
-
"@ndla/notion": "^3.1.
|
|
43
|
-
"@ndla/safelink": "^2.2.
|
|
44
|
-
"@ndla/switch": "^0.1.
|
|
45
|
-
"@ndla/tabs": "^1.1.
|
|
46
|
-
"@ndla/tooltip": "^2.1.
|
|
39
|
+
"@ndla/icons": "^1.11.3",
|
|
40
|
+
"@ndla/licenses": "^5.0.6",
|
|
41
|
+
"@ndla/modal": "^1.2.16",
|
|
42
|
+
"@ndla/notion": "^3.1.26",
|
|
43
|
+
"@ndla/safelink": "^2.2.4",
|
|
44
|
+
"@ndla/switch": "^0.1.10",
|
|
45
|
+
"@ndla/tabs": "^1.1.14",
|
|
46
|
+
"@ndla/tooltip": "^2.1.5",
|
|
47
|
+
"@ndla/types-learningpath-api": "^0.0.12",
|
|
47
48
|
"@ndla/util": "^3.0.0",
|
|
48
49
|
"@reach/menu-button": "^0.16.2",
|
|
49
50
|
"@reach/slider": "^0.16.0",
|
|
@@ -82,5 +83,5 @@
|
|
|
82
83
|
"publishConfig": {
|
|
83
84
|
"access": "public"
|
|
84
85
|
},
|
|
85
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "b4b0a48ca5d00d92fadafa85326a8ee86b91f152"
|
|
86
87
|
}
|
package/src/.DS_Store
ADDED
|
Binary file
|
|
@@ -47,7 +47,7 @@ const ActionBreadcrumb = ({ items, actionItems }: Props) => {
|
|
|
47
47
|
if (totalCount === 1) {
|
|
48
48
|
return <StyledSpan title={item.name}>{item.name}</StyledSpan>;
|
|
49
49
|
}
|
|
50
|
-
if (item.index === totalCount - 1) {
|
|
50
|
+
if (item.index === totalCount - 1 && actionItems.length > 0) {
|
|
51
51
|
return (
|
|
52
52
|
<MenuButton menuItems={actionItems} size="small">
|
|
53
53
|
<StyledSpan title={item.name}>{item.name}</StyledSpan>
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import styled from '@emotion/styled';
|
|
11
|
-
import { fonts, spacing, spacingUnit, breakpoints, mq } from '@ndla/core';
|
|
11
|
+
import { fonts, spacing, spacingUnit, breakpoints, mq, colors } from '@ndla/core';
|
|
12
|
+
import { getLicenseByAbbreviation, LicenseByline } from '@ndla/licenses';
|
|
12
13
|
|
|
13
14
|
type StyledWrapperProps = {
|
|
14
15
|
invertedStyle?: boolean;
|
|
@@ -50,6 +51,17 @@ const StyledWrapper = styled.div<StyledWrapperProps>`
|
|
|
50
51
|
}
|
|
51
52
|
`;
|
|
52
53
|
|
|
54
|
+
const LicenseWrapper = styled.div`
|
|
55
|
+
ul {
|
|
56
|
+
margin-left: 0;
|
|
57
|
+
margin-bottom: ${spacing.small};
|
|
58
|
+
}
|
|
59
|
+
`;
|
|
60
|
+
|
|
61
|
+
const StyledHeader = styled.h1`
|
|
62
|
+
margin-bottom: ${spacing.small};
|
|
63
|
+
`;
|
|
64
|
+
|
|
53
65
|
interface Props {
|
|
54
66
|
description?: string;
|
|
55
67
|
title: string;
|
|
@@ -59,14 +71,17 @@ interface Props {
|
|
|
59
71
|
};
|
|
60
72
|
}
|
|
61
73
|
|
|
62
|
-
export const LearningPathInformation = ({ description, title, license, invertedStyle }: Props) =>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
74
|
+
export const LearningPathInformation = ({ description, title, license, invertedStyle }: Props) => {
|
|
75
|
+
const { rights } = getLicenseByAbbreviation(license?.license || '', 'nb');
|
|
76
|
+
return (
|
|
77
|
+
<section className="o-wrapper">
|
|
78
|
+
<StyledWrapper invertedStyle={invertedStyle} className="c-article">
|
|
79
|
+
<LicenseWrapper>
|
|
80
|
+
<StyledHeader>{title}</StyledHeader>
|
|
81
|
+
<LicenseByline licenseRights={rights} color={colors.brand.tertiary} />
|
|
82
|
+
</LicenseWrapper>
|
|
83
|
+
{description && <div dangerouslySetInnerHTML={{ __html: description }} />}
|
|
84
|
+
</StyledWrapper>
|
|
85
|
+
</section>
|
|
86
|
+
);
|
|
87
|
+
};
|
|
@@ -9,22 +9,20 @@
|
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import styled from '@emotion/styled';
|
|
11
11
|
import { User } from '@ndla/icons/common';
|
|
12
|
-
import { spacing, fonts } from '@ndla/core';
|
|
12
|
+
import { spacing, fonts, colors } from '@ndla/core';
|
|
13
|
+
import { getLicenseByAbbreviation, LicenseByline } from '@ndla/licenses';
|
|
13
14
|
|
|
14
15
|
const StyledLearningPathDetails = styled.div`
|
|
15
16
|
${fonts.sizes(14, 1.1)};
|
|
16
17
|
font-weight: ${fonts.weight.normal};
|
|
17
|
-
|
|
18
|
+
`;
|
|
19
|
+
|
|
20
|
+
const UserLine = styled.div`
|
|
18
21
|
display: flex;
|
|
19
|
-
align-items: flex-start;
|
|
20
|
-
justify-items: flex-start;
|
|
21
22
|
margin-bottom: ${spacing.xsmall};
|
|
22
|
-
|
|
23
|
-
margin: 0;
|
|
24
|
-
padding-left: ${spacing.xsmall};
|
|
25
|
-
}
|
|
23
|
+
|
|
26
24
|
span {
|
|
27
|
-
|
|
25
|
+
margin-left: ${spacing.xsmall};
|
|
28
26
|
}
|
|
29
27
|
`;
|
|
30
28
|
|
|
@@ -40,16 +38,20 @@ type Props = {
|
|
|
40
38
|
};
|
|
41
39
|
};
|
|
42
40
|
|
|
43
|
-
const LearningPathMenuAsideCopyright = ({ copyright }: Props) =>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
<
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
41
|
+
const LearningPathMenuAsideCopyright = ({ copyright }: Props) => {
|
|
42
|
+
const { rights } = getLicenseByAbbreviation(copyright.license.license || '', 'nb');
|
|
43
|
+
return (
|
|
44
|
+
<StyledLearningPathDetails>
|
|
45
|
+
<UserLine>
|
|
46
|
+
<User />
|
|
47
|
+
{copyright.contributors.map((contributor) => (
|
|
48
|
+
<span key={contributor.name}>{contributor.name}</span>
|
|
49
|
+
))}
|
|
50
|
+
</UserLine>
|
|
51
|
+
|
|
52
|
+
<LicenseByline licenseRights={rights} color={colors.brand.tertiary} />
|
|
53
|
+
</StyledLearningPathDetails>
|
|
54
|
+
);
|
|
55
|
+
};
|
|
54
56
|
|
|
55
57
|
export default LearningPathMenuAsideCopyright;
|
|
@@ -141,7 +141,7 @@ const Folder = ({ link, title, subFolders, subResources, type = 'list', menuItem
|
|
|
141
141
|
<FolderTitle>{title}</FolderTitle>
|
|
142
142
|
<IconCount layoutType={type} type={'folder'} count={subFolders} />
|
|
143
143
|
<IconCount layoutType={type} type={'resource'} count={subResources} />
|
|
144
|
-
{menuItems && menuItems.length > 0 && <MenuButton size="small" menuItems={menuItems} />}
|
|
144
|
+
{menuItems && menuItems.length > 0 && <MenuButton alignRight size="small" menuItems={menuItems} />}
|
|
145
145
|
</FolderWrapper>
|
|
146
146
|
);
|
|
147
147
|
};
|
|
@@ -92,7 +92,7 @@ const BlockResource = ({ link, title, tags, resourceImage, topics, description,
|
|
|
92
92
|
<BlockDescription>{description}</BlockDescription>
|
|
93
93
|
<RightRow>
|
|
94
94
|
{tags && <CompressedTagList tags={tags} />}
|
|
95
|
-
{menuItems && menuItems.length > 0 && <MenuButton size="small" menuItems={menuItems} />}
|
|
95
|
+
{menuItems && menuItems.length > 0 && <MenuButton alignRight size="small" menuItems={menuItems} />}
|
|
96
96
|
</RightRow>
|
|
97
97
|
</BlockInfoWrapper>
|
|
98
98
|
</BlockElementWrapper>
|
|
@@ -131,7 +131,7 @@ const ListResource = ({ link, title, tags, resourceImage, topics, description, m
|
|
|
131
131
|
{showDescription && <ResourceDescription>{description}</ResourceDescription>}
|
|
132
132
|
<TagsandActionMenu>
|
|
133
133
|
{tags && <CompressedTagList tags={tags} />}
|
|
134
|
-
{menuItems && menuItems.length > 0 && <MenuButton size="small" menuItems={menuItems} />}
|
|
134
|
+
{menuItems && menuItems.length > 0 && <MenuButton alignRight size="small" menuItems={menuItems} />}
|
|
135
135
|
</TagsandActionMenu>
|
|
136
136
|
</ResourceWrapper>
|
|
137
137
|
);
|
|
@@ -36,7 +36,7 @@ const StyledHeading = styled.h1`
|
|
|
36
36
|
type Props = {
|
|
37
37
|
invertedStyle?: boolean;
|
|
38
38
|
toggleAdditionalResources: () => void;
|
|
39
|
-
onToggleAddToFavorites: (id: string
|
|
39
|
+
onToggleAddToFavorites: (id: string) => void;
|
|
40
40
|
showAddToFavoriteButton: boolean;
|
|
41
41
|
};
|
|
42
42
|
|
|
@@ -229,7 +229,7 @@ type Props = {
|
|
|
229
229
|
showAdditionalResources?: boolean;
|
|
230
230
|
access?: 'teacher';
|
|
231
231
|
isFavorite?: boolean;
|
|
232
|
-
onToggleAddToFavorites: (id: string
|
|
232
|
+
onToggleAddToFavorites: (id: string) => void;
|
|
233
233
|
showAddToFavoriteButton: boolean;
|
|
234
234
|
};
|
|
235
235
|
|
|
@@ -305,7 +305,7 @@ const ResourceItem = ({
|
|
|
305
305
|
<ArticleFavoritesButton
|
|
306
306
|
isFavorite={isFavorite}
|
|
307
307
|
articleId={id}
|
|
308
|
-
onToggleAddToFavorites={() => onToggleAddToFavorites(id
|
|
308
|
+
onToggleAddToFavorites={() => onToggleAddToFavorites(id)}
|
|
309
309
|
/>
|
|
310
310
|
)}
|
|
311
311
|
</TypeWrapper>
|
|
@@ -48,7 +48,7 @@ export type ResourceListProps = {
|
|
|
48
48
|
contentType?: string;
|
|
49
49
|
title?: string;
|
|
50
50
|
showAdditionalResources?: boolean;
|
|
51
|
-
onToggleAddToFavorites: (id: string
|
|
51
|
+
onToggleAddToFavorites: (id: string) => void;
|
|
52
52
|
showAddToFavoriteButton: boolean;
|
|
53
53
|
};
|
|
54
54
|
|