@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.
Files changed (79) hide show
  1. package/README.md +1 -1
  2. package/es/LearningPaths/LearningPathInformation.js +21 -3
  3. package/es/LearningPaths/LearningPathMenu.js +8 -5
  4. package/es/LearningPaths/LearningPathMenuAsideCopyright.js +17 -4
  5. package/es/LearningPaths/LearningPathMenuIntro.js +19 -8
  6. package/es/Masthead/Masthead.js +1 -0
  7. package/es/Messages/MessageBanner.js +3 -3
  8. package/es/Resource/ListResource.js +6 -6
  9. package/es/TopicMenu/TopicMenu.js +14 -1
  10. package/es/TreeStructure/FolderItem.js +72 -51
  11. package/es/TreeStructure/FolderItems.js +33 -61
  12. package/es/TreeStructure/FolderNameInput.js +14 -13
  13. package/es/TreeStructure/TreeStructure.js +80 -96
  14. package/es/TreeStructure/helperFunctions.js +4 -73
  15. package/es/TreeStructure/{TreeStructure.types.js → types.js} +0 -0
  16. package/es/all.css +1 -1
  17. package/es/locale/messages-en.js +6 -1
  18. package/es/locale/messages-nb.js +6 -1
  19. package/es/locale/messages-nn.js +6 -1
  20. package/es/locale/messages-se.js +6 -1
  21. package/es/locale/messages-sma.js +6 -1
  22. package/lib/LearningPaths/LearningPathInformation.js +19 -2
  23. package/lib/LearningPaths/LearningPathMenu.d.ts +2 -1
  24. package/lib/LearningPaths/LearningPathMenu.js +8 -5
  25. package/lib/LearningPaths/LearningPathMenuAsideCopyright.js +16 -3
  26. package/lib/LearningPaths/LearningPathMenuIntro.d.ts +3 -1
  27. package/lib/LearningPaths/LearningPathMenuIntro.js +19 -8
  28. package/lib/Masthead/Masthead.js +1 -0
  29. package/lib/Messages/MessageBanner.js +3 -3
  30. package/lib/Resource/ListResource.js +6 -6
  31. package/lib/TopicMenu/TopicMenu.js +14 -1
  32. package/lib/TreeStructure/FolderItem.d.ts +6 -20
  33. package/lib/TreeStructure/FolderItem.js +74 -51
  34. package/lib/TreeStructure/FolderItems.d.ts +11 -2
  35. package/lib/TreeStructure/FolderItems.js +33 -61
  36. package/lib/TreeStructure/FolderNameInput.js +14 -13
  37. package/lib/TreeStructure/TreeStructure.d.ts +12 -2
  38. package/lib/TreeStructure/TreeStructure.js +78 -94
  39. package/lib/TreeStructure/helperFunctions.d.ts +2 -4
  40. package/lib/TreeStructure/helperFunctions.js +5 -80
  41. package/lib/TreeStructure/index.d.ts +2 -1
  42. package/lib/TreeStructure/types.d.ts +32 -0
  43. package/lib/TreeStructure/{TreeStructure.types.js → types.js} +0 -0
  44. package/lib/all.css +1 -1
  45. package/lib/index.d.ts +1 -1
  46. package/lib/locale/messages-en.d.ts +6 -1
  47. package/lib/locale/messages-en.js +6 -1
  48. package/lib/locale/messages-nb.d.ts +6 -1
  49. package/lib/locale/messages-nb.js +6 -1
  50. package/lib/locale/messages-nn.d.ts +6 -1
  51. package/lib/locale/messages-nn.js +6 -1
  52. package/lib/locale/messages-se.d.ts +6 -1
  53. package/lib/locale/messages-se.js +6 -1
  54. package/lib/locale/messages-sma.d.ts +6 -1
  55. package/lib/locale/messages-sma.js +6 -1
  56. package/package.json +15 -14
  57. package/src/LearningPaths/LearningPathInformation.tsx +27 -12
  58. package/src/LearningPaths/LearningPathMenu.tsx +9 -1
  59. package/src/LearningPaths/LearningPathMenuAsideCopyright.tsx +22 -20
  60. package/src/LearningPaths/LearningPathMenuIntro.tsx +15 -2
  61. package/src/Masthead/Masthead.tsx +4 -1
  62. package/src/Messages/MessageBanner.tsx +1 -1
  63. package/src/Resource/ListResource.tsx +1 -0
  64. package/src/TopicMenu/TopicMenu.jsx +15 -2
  65. package/src/TreeStructure/FolderItem.tsx +59 -67
  66. package/src/TreeStructure/FolderItems.tsx +30 -50
  67. package/src/TreeStructure/FolderNameInput.tsx +6 -11
  68. package/src/TreeStructure/TreeStructure.tsx +73 -71
  69. package/src/TreeStructure/helperFunctions.ts +3 -37
  70. package/src/TreeStructure/index.ts +2 -1
  71. package/src/TreeStructure/types.ts +37 -0
  72. package/src/index.ts +1 -1
  73. package/src/locale/messages-en.ts +6 -1
  74. package/src/locale/messages-nb.ts +7 -1
  75. package/src/locale/messages-nn.ts +6 -1
  76. package/src/locale/messages-se.ts +7 -1
  77. package/src/locale/messages-sma.ts +7 -1
  78. package/lib/TreeStructure/TreeStructure.types.d.ts +0 -61
  79. 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 { FolderStructureProps, TreeStructureProps } from './TreeStructure';
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: 'terms of use',
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: 'vilkår for bruk',
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: 'vilkår for bruk',
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: 'vilkår for bruk',
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: 'vilkår for bruk',
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
- }