@ndla/ui 27.1.2 → 27.1.4

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.
@@ -53,12 +53,12 @@ interface Props {
53
53
  label?: string;
54
54
  focusedFolder?: FolderType;
55
55
  selectedFolder?: FolderType;
56
- setSelectedFolder: (folder?: FolderType) => void;
56
+ setSelectedFolder: (folder: FolderType) => void;
57
57
  onToggleTree: (open: boolean) => void;
58
58
  flattenedFolders: FolderType[];
59
59
  onOpenFolder: (id: string) => void;
60
60
  onCloseFolder: (id: string) => void;
61
- setFocusedFolder: (folder?: FolderType) => void;
61
+ setFocusedFolder: (folder: FolderType) => void;
62
62
  }
63
63
 
64
64
  const ComboboxButton = forwardRef<HTMLButtonElement, Props>(
@@ -82,7 +82,7 @@ const ComboboxButton = forwardRef<HTMLButtonElement, Props>(
82
82
 
83
83
  const onKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {
84
84
  if (e.key === 'Enter') {
85
- if (showTree) {
85
+ if (showTree && focusedFolder) {
86
86
  setSelectedFolder(focusedFolder);
87
87
  }
88
88
  return;
@@ -117,7 +117,6 @@ const FolderItem = ({
117
117
  selectedFolder,
118
118
  onCloseFolder,
119
119
  onOpenFolder,
120
- onSelectFolder,
121
120
  setFocusedFolder,
122
121
  setSelectedFolder,
123
122
  targetResource,
@@ -143,7 +142,6 @@ const FolderItem = ({
143
142
  if (selected) {
144
143
  closeTree();
145
144
  }
146
- onSelectFolder?.(id);
147
145
  }
148
146
  };
149
147
 
@@ -193,7 +191,7 @@ const FolderItem = ({
193
191
  selected={selected}
194
192
  onFocus={() => setFocusedFolder(folder)}
195
193
  onClick={handleClickFolder}>
196
- {(!hideArrow || level === 0) && (
194
+ {!hideArrow && (
197
195
  <OpenButton
198
196
  aria-hidden
199
197
  tabIndex={-1}
@@ -81,6 +81,7 @@ export interface TreeStructureProps extends CommonTreeStructureProps {
81
81
  label?: string;
82
82
  maxLevel?: number;
83
83
  newFolderInput?: NewFolderInputFunc;
84
+ onSelectFolder?: (id: string) => void;
84
85
  }
85
86
 
86
87
  const TreeStructure = ({
@@ -101,8 +102,8 @@ const TreeStructure = ({
101
102
  const [openFolders, setOpenFolders] = useState<string[]>(defaultOpenFolders || []);
102
103
 
103
104
  const [newFolderParentId, setNewFolderParentId] = useState<string | undefined>();
104
- const [focusedFolder, setFocusedFolder] = useState<FolderType | undefined>();
105
- const [selectedFolder, setSelectedFolder] = useState<FolderType | undefined>();
105
+ const [focusedFolder, _setFocusedFolder] = useState<FolderType | undefined>();
106
+ const [selectedFolder, _setSelectedFolder] = useState<FolderType | undefined>();
106
107
  const [showTree, setShowTree] = useState(type === 'navigation');
107
108
 
108
109
  const flattenedFolders = useMemo(() => flattenFolders(folders, openFolders), [folders, openFolders]);
@@ -122,9 +123,9 @@ const TreeStructure = ({
122
123
  if (defaultSelectedFolderId !== undefined) {
123
124
  const selected = flattenFolders(folders).find((folder) => folder.id === defaultSelectedFolderId);
124
125
  if (selected) {
125
- setSelectedFolder(selected);
126
+ _setSelectedFolder(selected);
126
127
  if (type === 'picker') {
127
- setFocusedFolder(selected);
128
+ _setFocusedFolder(selected);
128
129
  }
129
130
  }
130
131
  }
@@ -138,6 +139,22 @@ const TreeStructure = ({
138
139
  }
139
140
  };
140
141
 
142
+ const setSelectedFolder = (folder: FolderType) => {
143
+ _setSelectedFolder(folder);
144
+ onSelectFolder?.(folder.id);
145
+ };
146
+
147
+ const setFocusedFolder = (folder: FolderType) => {
148
+ _setFocusedFolder(folder);
149
+ setNewFolderParentId(undefined);
150
+
151
+ ref.current?.focus();
152
+ };
153
+
154
+ const onOpenFolder = (id: string) => {
155
+ setOpenFolders(uniq(openFolders.concat(id)));
156
+ };
157
+
141
158
  const onCloseFolder = (id: string) => {
142
159
  const closedFolder = flattenedFolders.find((folder) => folder.id === id);
143
160
 
@@ -150,14 +167,9 @@ const TreeStructure = ({
150
167
  setOpenFolders(openFolders.filter((folderId) => folderId !== id));
151
168
  };
152
169
 
153
- const onOpenFolder = (id: string) => {
154
- setOpenFolders(uniq(openFolders.concat(id)));
155
- };
156
-
157
170
  const onNewFolderCreated = (newFolder: IFolder | undefined, parentId: string) => {
158
171
  if (newFolder) {
159
172
  setSelectedFolder(newFolder);
160
- onSelectFolder?.(newFolder.id);
161
173
  setFocusedFolder(newFolder);
162
174
  setOpenFolders(uniq(openFolders.concat(parentId)));
163
175
  setNewFolderParentId?.(undefined);
@@ -170,11 +182,6 @@ const TreeStructure = ({
170
182
  ref.current?.focus();
171
183
  };
172
184
 
173
- const setFolderFocus = (folder: FolderType) => {
174
- setFocusedFolder(folder);
175
- setNewFolderParentId(undefined);
176
- ref.current?.focus();
177
- };
178
185
  const canAddFolder = showTree && selectedFolder && selectedFolder?.breadcrumbs.length < (maxLevel || 1);
179
186
 
180
187
  return (
@@ -224,9 +231,8 @@ const TreeStructure = ({
224
231
  onCancelNewFolder={onCancelNewFolder}
225
232
  onCloseFolder={onCloseFolder}
226
233
  onOpenFolder={onOpenFolder}
227
- onSelectFolder={onSelectFolder}
228
234
  openFolders={openFolders}
229
- setFocusedFolder={setFolderFocus}
235
+ setFocusedFolder={setFocusedFolder}
230
236
  setSelectedFolder={setSelectedFolder}
231
237
  targetResource={targetResource}
232
238
  visibleFolders={flattenedFolders}
@@ -7,6 +7,6 @@
7
7
  */
8
8
 
9
9
  import TreeStructure from './TreeStructure';
10
- export type { FolderType, TreeStructureMenuProps } from './types';
10
+ export type { FolderType } from './types';
11
11
  export type { TreeStructureProps } from './TreeStructure';
12
12
  export { TreeStructure };
@@ -6,9 +6,8 @@
6
6
  *
7
7
  */
8
8
 
9
- import { MouseEvent, ReactNode } from 'react';
9
+ import { ReactNode } from 'react';
10
10
  import { IFolder, IResource } from '@ndla/types-learningpath-api';
11
- import { MenuItemProps } from '@ndla/button';
12
11
 
13
12
  export interface FolderType extends IFolder {
14
13
  icon?: ReactNode;
@@ -29,13 +28,8 @@ export type NewFolderInputFunc = ({
29
28
  onCreate: OnCreatedFunc;
30
29
  }) => ReactNode;
31
30
 
32
- export interface TreeStructureMenuProps extends Omit<MenuItemProps, 'onClick'> {
33
- onClick: (e: MouseEvent<HTMLDivElement> | undefined, folder: FolderType) => void;
34
- }
35
-
36
31
  export interface CommonTreeStructureProps {
37
32
  loading?: boolean;
38
- onSelectFolder?: (id: string) => void;
39
33
  targetResource?: IResource;
40
34
  type: TreeStructureType;
41
35
  }
package/src/index.ts CHANGED
@@ -252,6 +252,6 @@ export { SnackbarProvider, useSnack, BaseSnack, DefaultSnackbar } from './SnackB
252
252
  export type { Snack, SnackContext } from './SnackBar';
253
253
  export { InfoBlock } from './InfoBlock';
254
254
  export { TreeStructure } from './TreeStructure';
255
- export type { FolderType, TreeStructureProps, TreeStructureMenuProps } from './TreeStructure';
255
+ export type { FolderType, TreeStructureProps } from './TreeStructure';
256
256
 
257
257
  export { SearchField, SearchResultList, SearchResultItem, ActiveFilters, ToggleSearchButton } from './Search';
@@ -997,16 +997,16 @@ const messages = {
997
997
  folder: {
998
998
  folder: 'Máhppa',
999
999
  delete: 'Sihko',
1000
- edit: 'Redigere',
1000
+ edit: 'Rievdat',
1001
1001
  missingName: 'Čále nama máhppii',
1002
1002
  folderDeleted: '"{{folderName}}" lea sihkkojuvvon',
1003
1003
  folderCreated: '"{{folderName}}" er oppretta',
1004
1004
  },
1005
- tagList: 'Emneknagger',
1005
+ tagList: 'Fáddágilkor',
1006
1006
  tags: '{{count}} fáddágilkor',
1007
1007
  tags_plural: '{{count}} fáddágilkorat',
1008
- moreTags: 'Vis ein emneknagg til',
1009
- moreTags_plural: 'Vis {{count}} emneknaggar til',
1008
+ moreTags: 'Čájet nuppi fáddágilkora vel',
1009
+ moreTags_plural: 'Čájet {{count}} fáddágilkoriid vel',
1010
1010
  confirmDeleteFolder: 'Leat go áibbas sihkar ahte dáhtut sihkkut máhpa? Dan ii sáhte gáhtat.',
1011
1011
  confirmDeleteTag: 'Leat go áibbas sihkar ahte dáhtut sihkkut fáddágilkora? Dan ii sáhte gáhtat.',
1012
1012
  myFolders: 'Mu máhpat',
@@ -1031,8 +1031,8 @@ const messages = {
1031
1031
  deleteAccount: 'Sihko mu NDLA',
1032
1032
  logout: 'Logge eret mu NDLAs',
1033
1033
  loginText:
1034
- 'For å kunne bruke tjenesten Min NDLA du vere elev eller jobbe ein skule i eit fylke som er med i NDLA-samarbeidet. Vi ber om at du ikkje skriv noko støtande, personsensitiv informasjon eller andre persondata i tekstfelt. Les vår ',
1035
- loginTextLink: 'personvernerklæring her',
1034
+ 'Jus galggat sáhttit geavahit bálvalusa Mu NDLA fertet leat oahppi dahje bargat muhtin skuvllas fylkkas mii lea mielde NDLA-ovttasbarggus. Mii bivdit ahte it čále maidege unohasaid, persovdnasensitiivvalaš dieđuid dahje eará persovdnadáhtaid min teakstagieddái. Loga min ',
1035
+ loginTextLink: 'personsuodjalusjulggaštusa dákko',
1036
1036
  loginTerms: 'Logge Feide bokte vai oaččut beassanlobi. Go logget sisa de dohkkehat min geavahaneavttuid.',
1037
1037
  loginResourcePitch: 'Dáhtut go merket siiddu oiddohin?',
1038
1038
  loginWelcome: 'Bures boahtin NDLA:ii! Dáppe sáhtát fágaávdnasiid ordnet iežat vuogi mielde',
package/src/.DS_Store DELETED
Binary file