@ndla/ui 20.0.0 → 21.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/README.md +1 -1
- package/es/LearningPaths/LearningPathInformation.js +21 -3
- package/es/LearningPaths/LearningPathMenu.js +8 -5
- package/es/LearningPaths/LearningPathMenuAsideCopyright.js +17 -4
- package/es/LearningPaths/LearningPathMenuIntro.js +19 -8
- package/es/Masthead/Masthead.js +1 -0
- package/es/Messages/MessageBanner.js +3 -3
- package/es/Resource/ListResource.js +6 -6
- package/es/TopicMenu/TopicMenu.js +14 -1
- package/es/TreeStructure/FolderItem.js +72 -51
- package/es/TreeStructure/FolderItems.js +33 -61
- package/es/TreeStructure/FolderNameInput.js +14 -13
- package/es/TreeStructure/TreeStructure.js +80 -96
- package/es/TreeStructure/helperFunctions.js +4 -73
- package/es/TreeStructure/{TreeStructure.types.js → types.js} +0 -0
- package/es/all.css +1 -1
- package/es/locale/messages-en.js +6 -1
- package/es/locale/messages-nb.js +6 -1
- package/es/locale/messages-nn.js +6 -1
- package/es/locale/messages-se.js +6 -1
- package/es/locale/messages-sma.js +6 -1
- package/lib/LearningPaths/LearningPathInformation.js +19 -2
- package/lib/LearningPaths/LearningPathMenu.d.ts +2 -1
- package/lib/LearningPaths/LearningPathMenu.js +8 -5
- package/lib/LearningPaths/LearningPathMenuAsideCopyright.js +16 -3
- package/lib/LearningPaths/LearningPathMenuIntro.d.ts +3 -1
- package/lib/LearningPaths/LearningPathMenuIntro.js +19 -8
- package/lib/Masthead/Masthead.js +1 -0
- package/lib/Messages/MessageBanner.js +3 -3
- package/lib/Resource/ListResource.js +6 -6
- package/lib/TopicMenu/TopicMenu.js +14 -1
- package/lib/TreeStructure/FolderItem.d.ts +6 -20
- package/lib/TreeStructure/FolderItem.js +74 -51
- package/lib/TreeStructure/FolderItems.d.ts +11 -2
- package/lib/TreeStructure/FolderItems.js +33 -61
- package/lib/TreeStructure/FolderNameInput.js +14 -13
- package/lib/TreeStructure/TreeStructure.d.ts +12 -2
- package/lib/TreeStructure/TreeStructure.js +78 -94
- 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 +32 -0
- package/lib/TreeStructure/{TreeStructure.types.js → types.js} +0 -0
- package/lib/all.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/locale/messages-en.d.ts +6 -1
- package/lib/locale/messages-en.js +6 -1
- package/lib/locale/messages-nb.d.ts +6 -1
- package/lib/locale/messages-nb.js +6 -1
- package/lib/locale/messages-nn.d.ts +6 -1
- package/lib/locale/messages-nn.js +6 -1
- package/lib/locale/messages-se.d.ts +6 -1
- package/lib/locale/messages-se.js +6 -1
- package/lib/locale/messages-sma.d.ts +6 -1
- package/lib/locale/messages-sma.js +6 -1
- package/package.json +15 -14
- package/src/LearningPaths/LearningPathInformation.tsx +27 -12
- package/src/LearningPaths/LearningPathMenu.tsx +9 -1
- package/src/LearningPaths/LearningPathMenuAsideCopyright.tsx +22 -20
- package/src/LearningPaths/LearningPathMenuIntro.tsx +15 -2
- package/src/Masthead/Masthead.tsx +4 -1
- package/src/Messages/MessageBanner.tsx +1 -1
- package/src/Resource/ListResource.tsx +1 -0
- package/src/TopicMenu/TopicMenu.jsx +15 -2
- package/src/TreeStructure/FolderItem.tsx +59 -67
- package/src/TreeStructure/FolderItems.tsx +30 -50
- package/src/TreeStructure/FolderNameInput.tsx +6 -11
- package/src/TreeStructure/TreeStructure.tsx +73 -71
- package/src/TreeStructure/helperFunctions.ts +3 -37
- package/src/TreeStructure/index.ts +2 -1
- package/src/TreeStructure/types.ts +37 -0
- package/src/index.ts +1 -1
- package/src/locale/messages-en.ts +6 -1
- package/src/locale/messages-nb.ts +7 -1
- package/src/locale/messages-nn.ts +6 -1
- package/src/locale/messages-se.ts +7 -1
- package/src/locale/messages-sma.ts +7 -1
- package/lib/TreeStructure/TreeStructure.types.d.ts +0 -61
- package/src/TreeStructure/TreeStructure.types.ts +0 -71
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
|
|
9
|
+
import { MouseEvent, ReactNode } from 'react';
|
|
10
|
+
import { IFolder } from '@ndla/types-learningpath-api';
|
|
11
|
+
import { MenuItemProps } from '@ndla/button/src';
|
|
12
|
+
|
|
13
|
+
export interface FolderType extends IFolder {
|
|
14
|
+
icon?: ReactNode;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface TreeStructureMenuProps extends Omit<MenuItemProps, 'onClick'> {
|
|
18
|
+
onClick: (e: MouseEvent<HTMLDivElement> | undefined, folder: FolderType) => void;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface CommonTreeStructureProps {
|
|
22
|
+
loading?: boolean;
|
|
23
|
+
onSelectFolder?: (id: string) => void;
|
|
24
|
+
openOnFolderClick?: boolean;
|
|
25
|
+
menuItems?: TreeStructureMenuProps[];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface CommonFolderItemsProps extends CommonTreeStructureProps {
|
|
29
|
+
focusedFolderId?: string;
|
|
30
|
+
level: number;
|
|
31
|
+
selectedFolder?: FolderType;
|
|
32
|
+
onCloseFolder: (id: string) => void;
|
|
33
|
+
onOpenFolder: (id: string) => void;
|
|
34
|
+
setFocusedId: (id: string) => void;
|
|
35
|
+
setSelectedFolder: (id: FolderType) => void;
|
|
36
|
+
visibleFolders: string[];
|
|
37
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -244,4 +244,4 @@ export type { SnackBarItem } from './SnackBar';
|
|
|
244
244
|
export { SnackBar } from './SnackBar';
|
|
245
245
|
export { InfoBlock } from './InfoBlock';
|
|
246
246
|
export { TreeStructure } from './TreeStructure';
|
|
247
|
-
export type {
|
|
247
|
+
export type { FolderType, TreeStructureProps, TreeStructureMenuProps } from './TreeStructure';
|
|
@@ -1022,7 +1022,12 @@ const messages = {
|
|
|
1022
1022
|
privacy: 'privacy statement',
|
|
1023
1023
|
questions: { question: 'Any questions?', ask: 'Ask us in the chat' },
|
|
1024
1024
|
wishToDelete: 'Do you wish to delete your account?',
|
|
1025
|
-
terms:
|
|
1025
|
+
terms: {
|
|
1026
|
+
terms: 'Terms of use',
|
|
1027
|
+
term1: 'Do not write personal or sensitive information in text fields.',
|
|
1028
|
+
term2: 'Do not write offensive statements in text fields.',
|
|
1029
|
+
term3: 'NDLA reserves the right to update or remove resources if they are not up to date.',
|
|
1030
|
+
},
|
|
1026
1031
|
feide: 'We have retrieved this information from Feide',
|
|
1027
1032
|
newFavourite: 'Recently favourited',
|
|
1028
1033
|
|
|
@@ -1020,7 +1020,13 @@ const messages = {
|
|
|
1020
1020
|
privacy: 'personvernerklæring her',
|
|
1021
1021
|
questions: { question: 'Lurer du på noe?', ask: 'Spør oss i chatten' },
|
|
1022
1022
|
wishToDelete: 'Ønsker du ikke ha brukerprofil hos oss lengre?',
|
|
1023
|
-
terms:
|
|
1023
|
+
terms: {
|
|
1024
|
+
terms: 'Vilkår for bruk',
|
|
1025
|
+
term1: 'Ikke skriv personsensitiv informasjon eller persondata i tekstfelt.',
|
|
1026
|
+
term2: 'Ikke skriv noe støtende i tekstfelt.',
|
|
1027
|
+
term3:
|
|
1028
|
+
'NDLA forbeholder seg retten til å oppdatere eller eventuelt slette ressurser dersom disse blir utdatert.',
|
|
1029
|
+
},
|
|
1024
1030
|
newFavourite: 'Nylig lagt til',
|
|
1025
1031
|
feide: 'Dette henter vi om deg fra Feide',
|
|
1026
1032
|
storageInfo: {
|
|
@@ -1021,7 +1021,12 @@ const messages = {
|
|
|
1021
1021
|
privacy: 'personvernerklæring her',
|
|
1022
1022
|
questions: { question: 'Lurer du på noe?', ask: 'Spør oss i chatten' },
|
|
1023
1023
|
wishToDelete: 'Ønsker du ikke ha brukerprofil hos oss lengre?',
|
|
1024
|
-
terms:
|
|
1024
|
+
terms: {
|
|
1025
|
+
terms: 'Vilkår for bruk',
|
|
1026
|
+
term1: 'Ikkje skriv personsensitiv informasjon eller persondata i tekstfelt.',
|
|
1027
|
+
term2: 'Ikkje skriv noko støytande i tekstfelt.',
|
|
1028
|
+
term3: 'NDLA atterhald seg retten til å oppdatere eller eventuelt slette ressursar dersom disse blir utdatert.',
|
|
1029
|
+
},
|
|
1025
1030
|
newFavourite: 'Nylig lagt til',
|
|
1026
1031
|
feide: 'Dette henter vi om deg fra Feide',
|
|
1027
1032
|
storageInfo: {
|
|
@@ -1020,7 +1020,13 @@ const messages = {
|
|
|
1020
1020
|
privacy: 'personvernerklæring her',
|
|
1021
1021
|
questions: { question: 'Lurer du på noe?', ask: 'Spør oss i chatten' },
|
|
1022
1022
|
wishToDelete: 'Ønsker du ikke ha brukerprofil hos oss lengre?',
|
|
1023
|
-
terms:
|
|
1023
|
+
terms: {
|
|
1024
|
+
terms: 'Vilkår for bruk',
|
|
1025
|
+
term1: 'Ikke skriv personsensitiv informasjon eller persondata i tekstfelt.',
|
|
1026
|
+
term2: 'Ikke skriv noe støtende i tekstfelt.',
|
|
1027
|
+
term3:
|
|
1028
|
+
'NDLA forbeholder seg retten til å oppdatere eller eventuelt slette ressurser dersom disse blir utdatert.',
|
|
1029
|
+
},
|
|
1024
1030
|
newFavourite: 'Nylig lagt til',
|
|
1025
1031
|
feide: 'Dette henter vi om deg fra Feide',
|
|
1026
1032
|
storageInfo: {
|
|
@@ -1020,7 +1020,13 @@ const messages = {
|
|
|
1020
1020
|
privacy: 'personvernerklæring her',
|
|
1021
1021
|
questions: { question: 'Lurer du på noe?', ask: 'Spør oss i chatten' },
|
|
1022
1022
|
wishToDelete: 'Ønsker du ikke ha brukerprofil hos oss lengre?',
|
|
1023
|
-
terms:
|
|
1023
|
+
terms: {
|
|
1024
|
+
terms: 'Vilkår for bruk',
|
|
1025
|
+
term1: 'Ikke skriv personsensitiv informasjon eller persondata i tekstfelt.',
|
|
1026
|
+
term2: 'Ikke skriv noe støtende i tekstfelt.',
|
|
1027
|
+
term3:
|
|
1028
|
+
'NDLA forbeholder seg retten til å oppdatere eller eventuelt slette ressurser dersom disse blir utdatert.',
|
|
1029
|
+
},
|
|
1024
1030
|
newFavourite: 'Nylig lagt til',
|
|
1025
1031
|
feide: 'Dette henter vi om deg fra Feide',
|
|
1026
1032
|
storageInfo: {
|
|
@@ -1,61 +0,0 @@
|
|
|
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 React, { ReactNode } from 'react';
|
|
9
|
-
export interface FolderStructureProps {
|
|
10
|
-
id: string;
|
|
11
|
-
name: string;
|
|
12
|
-
subfolders: FolderStructureProps[];
|
|
13
|
-
isFavorite?: boolean;
|
|
14
|
-
status?: string;
|
|
15
|
-
openAsDefault?: boolean;
|
|
16
|
-
icon?: ReactNode;
|
|
17
|
-
}
|
|
18
|
-
interface CommonFolderProps {
|
|
19
|
-
editable?: boolean;
|
|
20
|
-
loading?: boolean;
|
|
21
|
-
openOnFolderClick?: boolean;
|
|
22
|
-
onSelectFolder?: (id: string) => void;
|
|
23
|
-
}
|
|
24
|
-
export interface TreeStructureProps extends CommonFolderProps {
|
|
25
|
-
folders: FolderStructureProps[];
|
|
26
|
-
framed?: boolean;
|
|
27
|
-
label?: string;
|
|
28
|
-
folderIdMarkedByDefault?: string;
|
|
29
|
-
onNewFolder: (name: string, parentId: string) => Promise<string>;
|
|
30
|
-
defaultOpenFolders?: string[];
|
|
31
|
-
folderChild?: FolderChildFuncType;
|
|
32
|
-
maximumLevelsOfFoldersAllowed?: number;
|
|
33
|
-
}
|
|
34
|
-
export declare type onCreateNewFolderProp = ({ idPaths, parentId, }: {
|
|
35
|
-
idPaths: number[];
|
|
36
|
-
parentId: string | undefined;
|
|
37
|
-
}) => void;
|
|
38
|
-
export declare type SetOpenFolderProp = React.Dispatch<React.SetStateAction<string[]>>;
|
|
39
|
-
export declare type SetFocusedFolderId = React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
40
|
-
export declare type FolderChildFuncType = (id: string, tabIndex: number) => ReactNode;
|
|
41
|
-
export interface FolderItemsProps extends CommonFolderProps {
|
|
42
|
-
folders: FolderStructureProps[];
|
|
43
|
-
onCloseFolder: (id: string) => void;
|
|
44
|
-
onOpenFolder: (id: string) => void;
|
|
45
|
-
onSaveNewFolder: (name: string, parentId: string) => void;
|
|
46
|
-
onCancelNewFolder: () => void;
|
|
47
|
-
onCreateNewFolder: (parentId: string) => void;
|
|
48
|
-
newFolderParentId: string | undefined;
|
|
49
|
-
visibleFolders: string[];
|
|
50
|
-
openFolders: string[];
|
|
51
|
-
markedFolderId?: string;
|
|
52
|
-
onMarkFolder: (id: string) => void;
|
|
53
|
-
level: number;
|
|
54
|
-
focusedFolderId: string | undefined;
|
|
55
|
-
setFocusedFolderId: SetFocusedFolderId;
|
|
56
|
-
keyNavigationFocusIsCreateFolderButton?: boolean;
|
|
57
|
-
icon?: ReactNode;
|
|
58
|
-
folderChild?: FolderChildFuncType;
|
|
59
|
-
maximumLevelsOfFoldersAllowed: number;
|
|
60
|
-
}
|
|
61
|
-
export {};
|
|
@@ -1,71 +0,0 @@
|
|
|
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
|
-
|
|
9
|
-
import React, { ReactNode } from 'react';
|
|
10
|
-
|
|
11
|
-
export interface FolderStructureProps {
|
|
12
|
-
id: string;
|
|
13
|
-
name: string;
|
|
14
|
-
subfolders: FolderStructureProps[];
|
|
15
|
-
isFavorite?: boolean;
|
|
16
|
-
status?: string;
|
|
17
|
-
openAsDefault?: boolean;
|
|
18
|
-
icon?: ReactNode;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
interface CommonFolderProps {
|
|
22
|
-
editable?: boolean;
|
|
23
|
-
loading?: boolean;
|
|
24
|
-
openOnFolderClick?: boolean;
|
|
25
|
-
onSelectFolder?: (id: string) => void;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface TreeStructureProps extends CommonFolderProps {
|
|
29
|
-
folders: FolderStructureProps[];
|
|
30
|
-
framed?: boolean;
|
|
31
|
-
label?: string;
|
|
32
|
-
folderIdMarkedByDefault?: string;
|
|
33
|
-
onNewFolder: (name: string, parentId: string) => Promise<string>;
|
|
34
|
-
defaultOpenFolders?: string[];
|
|
35
|
-
folderChild?: FolderChildFuncType;
|
|
36
|
-
maximumLevelsOfFoldersAllowed?: number;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export type onCreateNewFolderProp = ({
|
|
40
|
-
idPaths,
|
|
41
|
-
parentId,
|
|
42
|
-
}: {
|
|
43
|
-
idPaths: number[];
|
|
44
|
-
parentId: string | undefined;
|
|
45
|
-
}) => void;
|
|
46
|
-
|
|
47
|
-
export type SetOpenFolderProp = React.Dispatch<React.SetStateAction<string[]>>;
|
|
48
|
-
export type SetFocusedFolderId = React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
49
|
-
|
|
50
|
-
export type FolderChildFuncType = (id: string, tabIndex: number) => ReactNode;
|
|
51
|
-
|
|
52
|
-
export interface FolderItemsProps extends CommonFolderProps {
|
|
53
|
-
folders: FolderStructureProps[];
|
|
54
|
-
onCloseFolder: (id: string) => void;
|
|
55
|
-
onOpenFolder: (id: string) => void;
|
|
56
|
-
onSaveNewFolder: (name: string, parentId: string) => void;
|
|
57
|
-
onCancelNewFolder: () => void;
|
|
58
|
-
onCreateNewFolder: (parentId: string) => void;
|
|
59
|
-
newFolderParentId: string | undefined;
|
|
60
|
-
visibleFolders: string[];
|
|
61
|
-
openFolders: string[];
|
|
62
|
-
markedFolderId?: string;
|
|
63
|
-
onMarkFolder: (id: string) => void;
|
|
64
|
-
level: number;
|
|
65
|
-
focusedFolderId: string | undefined;
|
|
66
|
-
setFocusedFolderId: SetFocusedFolderId;
|
|
67
|
-
keyNavigationFocusIsCreateFolderButton?: boolean;
|
|
68
|
-
icon?: ReactNode;
|
|
69
|
-
folderChild?: FolderChildFuncType;
|
|
70
|
-
maximumLevelsOfFoldersAllowed: number;
|
|
71
|
-
}
|