@ndla/ui 30.0.6 → 30.0.8

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 (67) hide show
  1. package/es/Article/Article.js +6 -12
  2. package/es/Article/index.js +1 -2
  3. package/es/LearningPaths/LearningPathMenu.js +5 -5
  4. package/es/LearningPaths/LearningPathMenuIntro.js +9 -14
  5. package/es/ResourceGroup/ResourceGroup.js +5 -8
  6. package/es/ResourceGroup/ResourceItem.js +13 -22
  7. package/es/ResourceGroup/ResourceList.js +4 -6
  8. package/es/TagSelector/Control.js +1 -1
  9. package/es/TagSelector/MenuList.js +1 -1
  10. package/es/TreeStructure/TreeStructure.js +7 -7
  11. package/es/index.js +1 -1
  12. package/es/locale/messages-en.js +3 -1
  13. package/es/locale/messages-nb.js +3 -1
  14. package/es/locale/messages-nn.js +4 -2
  15. package/es/locale/messages-se.js +3 -1
  16. package/es/locale/messages-sma.js +3 -1
  17. package/lib/Article/Article.d.ts +2 -3
  18. package/lib/Article/Article.js +6 -13
  19. package/lib/Article/index.d.ts +1 -2
  20. package/lib/Article/index.js +0 -8
  21. package/lib/LearningPaths/LearningPathMenu.d.ts +3 -2
  22. package/lib/LearningPaths/LearningPathMenu.js +5 -5
  23. package/lib/LearningPaths/LearningPathMenuIntro.d.ts +3 -2
  24. package/lib/LearningPaths/LearningPathMenuIntro.js +9 -15
  25. package/lib/ResourceGroup/ResourceGroup.d.ts +3 -3
  26. package/lib/ResourceGroup/ResourceGroup.js +5 -8
  27. package/lib/ResourceGroup/ResourceItem.d.ts +3 -4
  28. package/lib/ResourceGroup/ResourceItem.js +13 -23
  29. package/lib/ResourceGroup/ResourceList.d.ts +4 -4
  30. package/lib/ResourceGroup/ResourceList.js +4 -6
  31. package/lib/TagSelector/Control.js +1 -1
  32. package/lib/TagSelector/MenuList.js +1 -1
  33. package/lib/TreeStructure/TreeStructure.js +7 -7
  34. package/lib/index.d.ts +1 -1
  35. package/lib/index.js +0 -7
  36. package/lib/locale/messages-en.d.ts +2 -0
  37. package/lib/locale/messages-en.js +3 -1
  38. package/lib/locale/messages-nb.d.ts +2 -0
  39. package/lib/locale/messages-nb.js +3 -1
  40. package/lib/locale/messages-nn.d.ts +2 -0
  41. package/lib/locale/messages-nn.js +4 -2
  42. package/lib/locale/messages-se.d.ts +2 -0
  43. package/lib/locale/messages-se.js +3 -1
  44. package/lib/locale/messages-sma.d.ts +2 -0
  45. package/lib/locale/messages-sma.js +3 -1
  46. package/package.json +10 -10
  47. package/src/.DS_Store +0 -0
  48. package/src/Article/Article.tsx +4 -14
  49. package/src/Article/index.ts +0 -2
  50. package/src/LearningPaths/LearningPathMenu.tsx +4 -4
  51. package/src/LearningPaths/LearningPathMenuIntro.tsx +4 -7
  52. package/src/ResourceGroup/ResourceGroup.tsx +4 -7
  53. package/src/ResourceGroup/ResourceItem.tsx +4 -15
  54. package/src/ResourceGroup/ResourceList.tsx +5 -8
  55. package/src/TagSelector/Control.tsx +1 -0
  56. package/src/TagSelector/MenuList.tsx +1 -0
  57. package/src/TreeStructure/TreeStructure.tsx +1 -0
  58. package/src/index.ts +0 -1
  59. package/src/locale/messages-en.ts +4 -1
  60. package/src/locale/messages-nb.ts +4 -1
  61. package/src/locale/messages-nn.ts +5 -2
  62. package/src/locale/messages-se.ts +4 -1
  63. package/src/locale/messages-sma.ts +4 -1
  64. package/es/Article/ArticleFavoritesButton.js +0 -42
  65. package/lib/Article/ArticleFavoritesButton.d.ts +0 -14
  66. package/lib/Article/ArticleFavoritesButton.js +0 -59
  67. package/src/Article/ArticleFavoritesButton.tsx +0 -42
@@ -96,12 +96,14 @@ declare const messages: {
96
96
  addToFavourites: string;
97
97
  alreadyFavourited: string;
98
98
  alreadyInFolder: string;
99
+ noFolderSelected: string;
99
100
  help: string;
100
101
  more: string;
101
102
  listView: string;
102
103
  detailView: string;
103
104
  shortView: string;
104
105
  myPage: {
106
+ imageAlt: string;
105
107
  confirmDeleteAccount: string;
106
108
  confirmDeleteAccountButton: string;
107
109
  myPage: string;
@@ -1024,13 +1024,15 @@ var messages = _objectSpread(_objectSpread({
1024
1024
  favourites: 'Favorittar',
1025
1025
  addToFavourites: 'Legg til i mine favorittar',
1026
1026
  alreadyFavourited: 'Allereie lagt til i mine favorittar',
1027
- alreadyInFolder: 'Finst allereie i mappa',
1027
+ alreadyInFolder: 'Finst allereie i mappa. Du kan fortsatt lagre nye emneknaggar.',
1028
+ noFolderSelected: 'Velg eller opprett ny mappe for å lagre ressursen',
1028
1029
  help: 'Hjelp',
1029
1030
  more: 'Fleire val',
1030
1031
  listView: 'Listevisning',
1031
1032
  detailView: 'Detaljert listevisning',
1032
1033
  shortView: 'Kortvisning',
1033
1034
  myPage: {
1035
+ imageAlt: 'Halvnært bilete av jente som held eit nettbrett i hendene. Oppå nettbrettet ligg det ei samling fargeprøver i ulike former og fargar. Grafikk.',
1034
1036
  confirmDeleteAccount: 'Er du sikker på at du vil slette kontoen?',
1035
1037
  confirmDeleteAccountButton: 'Slett konto',
1036
1038
  myPage: 'Mi side',
@@ -1076,7 +1078,7 @@ var messages = _objectSpread(_objectSpread({
1076
1078
  }
1077
1079
  },
1078
1080
  resource: {
1079
- add: 'Legg til mappe/tag',
1081
+ add: 'Legg til mappe/emneknagg',
1080
1082
  remove: 'Fjern',
1081
1083
  removeTitle: 'Fjern ressurs',
1082
1084
  confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen frå denne mappa?',
@@ -96,12 +96,14 @@ declare const messages: {
96
96
  addToFavourites: string;
97
97
  alreadyFavourited: string;
98
98
  alreadyInFolder: string;
99
+ noFolderSelected: string;
99
100
  help: string;
100
101
  more: string;
101
102
  listView: string;
102
103
  detailView: string;
103
104
  shortView: string;
104
105
  myPage: {
106
+ imageAlt: string;
105
107
  confirmDeleteAccount: string;
106
108
  confirmDeleteAccountButton: string;
107
109
  myPage: string;
@@ -1024,13 +1024,15 @@ var messages = _objectSpread(_objectSpread({
1024
1024
  favourites: 'Oiddohat',
1025
1025
  addToFavourites: 'Bija mu oiddohiid searvái',
1026
1026
  alreadyFavourited: 'Lea juo biddjon oiddohin',
1027
- alreadyInFolder: 'Gávdno juo máhpas',
1027
+ alreadyInFolder: 'Finnes allerede i mappen. Du kan fortsatt lagre nye emneknagger.',
1028
+ noFolderSelected: 'Velg eller opprett ny mappe for å lagre ressursen',
1028
1029
  help: 'Veahkki',
1029
1030
  more: 'Eanet válljejumit',
1030
1031
  listView: 'Oppalašlistu',
1031
1032
  detailView: 'Bienalaš oppalašlistu',
1032
1033
  shortView: 'Oanehis listu',
1033
1034
  myPage: {
1035
+ imageAlt: 'Halvnært bilde av jente som holder et nettbrett i hendene. Oppå nettbrettet ligger det ei samling fargeprøver i ulike former og farger. Grafikk.',
1034
1036
  confirmDeleteAccount: 'Leat go sihkar ahte dáhtut sihkkut kontu?',
1035
1037
  confirmDeleteAccountButton: 'Sihko kontu',
1036
1038
  myPage: 'Mu siidu',
@@ -96,12 +96,14 @@ declare const messages: {
96
96
  addToFavourites: string;
97
97
  alreadyFavourited: string;
98
98
  alreadyInFolder: string;
99
+ noFolderSelected: string;
99
100
  help: string;
100
101
  more: string;
101
102
  listView: string;
102
103
  detailView: string;
103
104
  shortView: string;
104
105
  myPage: {
106
+ imageAlt: string;
105
107
  confirmDeleteAccount: string;
106
108
  confirmDeleteAccountButton: string;
107
109
  myPage: string;
@@ -1024,13 +1024,15 @@ var messages = _objectSpread(_objectSpread({
1024
1024
  favourites: 'Favoritter',
1025
1025
  addToFavourites: 'Legg til i mine favoritter',
1026
1026
  alreadyFavourited: 'Allerede lagt til i mine favoritter',
1027
- alreadyInFolder: 'Finnes allerede i mappen',
1027
+ alreadyInFolder: 'Finnes allerede i mappen. Du kan fortsatt lagre nye emneknagger.',
1028
+ noFolderSelected: 'Velg eller opprett ny mappe for å lagre ressursen',
1028
1029
  help: 'Hjelp',
1029
1030
  more: 'Flere valg',
1030
1031
  listView: 'Listevisning',
1031
1032
  detailView: 'Detaljert listevisning',
1032
1033
  shortView: 'Kort visning',
1033
1034
  myPage: {
1035
+ imageAlt: 'Halvnært bilde av jente som holder et nettbrett i hendene. Oppå nettbrettet ligger det ei samling fargeprøver i ulike former og farger. Grafikk.',
1034
1036
  confirmDeleteAccount: 'Er du sikker på at du vil slette kontoen?',
1035
1037
  confirmDeleteAccountButton: 'Slett konto',
1036
1038
  myPage: 'Min side',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndla/ui",
3
- "version": "30.0.6",
3
+ "version": "30.0.8",
4
4
  "description": "UI component library for NDLA.",
5
5
  "license": "GPL-3.0",
6
6
  "main": "lib/index.js",
@@ -31,22 +31,22 @@
31
31
  "types"
32
32
  ],
33
33
  "dependencies": {
34
- "@ndla/article-scripts": "^3.0.7",
35
- "@ndla/button": "^4.0.5",
34
+ "@ndla/article-scripts": "^3.0.8",
35
+ "@ndla/button": "^5.0.0",
36
36
  "@ndla/carousel": "^2.0.5",
37
37
  "@ndla/core": "^3.0.0",
38
- "@ndla/forms": "^4.0.5",
39
- "@ndla/hooks": "^1.1.11",
38
+ "@ndla/forms": "^4.0.6",
39
+ "@ndla/hooks": "^1.1.12",
40
40
  "@ndla/icons": "^2.0.5",
41
41
  "@ndla/licenses": "^6.0.5",
42
42
  "@ndla/modal": "^2.0.5",
43
- "@ndla/notion": "^4.0.5",
44
- "@ndla/safelink": "^3.0.5",
43
+ "@ndla/notion": "^4.0.6",
44
+ "@ndla/safelink": "^3.0.6",
45
45
  "@ndla/switch": "^1.0.0",
46
- "@ndla/tabs": "^2.0.5",
46
+ "@ndla/tabs": "^2.0.6",
47
47
  "@ndla/tooltip": "^3.0.1",
48
48
  "@ndla/types-learningpath-api": "^0.0.13",
49
- "@ndla/util": "^3.1.5",
49
+ "@ndla/util": "^3.1.6",
50
50
  "@reach/menu-button": "^0.16.2",
51
51
  "@reach/slider": "^0.16.0",
52
52
  "focus-trap-react": "^8.9.2",
@@ -86,5 +86,5 @@
86
86
  "publishConfig": {
87
87
  "access": "public"
88
88
  },
89
- "gitHead": "e62f69c71e7b72b1e346508e8ad483afd36eeffd"
89
+ "gitHead": "5cb8d6b7fce98737fda299e7f52b70bc3af35d1d"
90
90
  }
package/src/.DS_Store ADDED
Binary file
@@ -19,7 +19,6 @@ import { Article as ArticleType, Locale } from '../types';
19
19
  import ArticleFootNotes from './ArticleFootNotes';
20
20
  import ArticleContent from './ArticleContent';
21
21
  import ArticleByline from './ArticleByline';
22
- import ArticleFavoritesButton from './ArticleFavoritesButton';
23
22
  import LayoutItem from '../Layout';
24
23
  import ArticleHeaderWrapper from './ArticleHeaderWrapper';
25
24
  import ArticleNotions, { NotionRelatedContent } from './ArticleNotions';
@@ -116,6 +115,7 @@ const ArticleFavoritesButtonWrapper = styled.div`
116
115
  `;
117
116
 
118
117
  type Props = {
118
+ heartButton?: ReactNode;
119
119
  article: ArticleType;
120
120
  icon?: ReactNode;
121
121
  licenseBox?: ReactNode;
@@ -135,8 +135,6 @@ type Props = {
135
135
  printUrl?: string;
136
136
  notions?: { list: ConceptNotionType[]; related: NotionRelatedContent[] };
137
137
  accessMessage?: string;
138
- isFavorite?: boolean;
139
- onToggleAddToFavorites?: (id: string, add: boolean) => void;
140
138
  };
141
139
 
142
140
  const getArticleContent = (content: any, locale: Locale) => {
@@ -167,8 +165,7 @@ export const Article = ({
167
165
  printUrl,
168
166
  renderMarkdown,
169
167
  accessMessage,
170
- onToggleAddToFavorites,
171
- isFavorite,
168
+ heartButton,
172
169
  }: Props) => {
173
170
  const [articleRef, { entry }] = useIntersectionObserver({
174
171
  root: null,
@@ -218,15 +215,8 @@ export const Article = ({
218
215
  </MSGboxWrapper>
219
216
  )}
220
217
  <ArticleHeaderWrapper competenceGoals={competenceGoals} competenceGoalTypes={competenceGoalTypes}>
221
- {onToggleAddToFavorites && (
222
- <ArticleFavoritesButtonWrapper>
223
- <ArticleFavoritesButton
224
- articleId={id}
225
- isFavorite={isFavorite}
226
- onToggleAddToFavorites={onToggleAddToFavorites}
227
- />
228
- </ArticleFavoritesButtonWrapper>
229
- )}
218
+ {heartButton ? <ArticleFavoritesButtonWrapper>{heartButton}</ArticleFavoritesButtonWrapper> : null}
219
+
230
220
  <ArticleTitle icon={icon} label={messages.label}>
231
221
  {title}
232
222
  </ArticleTitle>
@@ -12,7 +12,6 @@ import ArticleContent from './ArticleContent';
12
12
  import ArticleFootNotes from './ArticleFootNotes';
13
13
  import ArticleHeaderWrapper from './ArticleHeaderWrapper';
14
14
  import ArticleSideBar from './ArticleSideBar';
15
- import ArticleFavoritesButton from './ArticleFavoritesButton';
16
15
 
17
16
  export {
18
17
  ArticleByline,
@@ -23,6 +22,5 @@ export {
23
22
  ArticleTitle,
24
23
  ArticleIntroduction,
25
24
  ArticleWrapper,
26
- ArticleFavoritesButton,
27
25
  };
28
26
  export default Article;
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- import React, { useState } from 'react';
9
+ import React, { ReactNode, useState } from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import { css } from '@emotion/react';
12
12
  import { useTranslation } from 'react-i18next';
@@ -76,7 +76,7 @@ export type StepProps = {
76
76
  };
77
77
 
78
78
  interface Props {
79
- onToggleAddToFavorites?: () => void;
79
+ heartButton?: ReactNode;
80
80
  learningsteps: StepProps[];
81
81
  name: string;
82
82
  lastUpdated: string;
@@ -110,7 +110,7 @@ const LearningPathMenu = ({
110
110
  learningPathURL,
111
111
  invertedStyle,
112
112
  cookies,
113
- onToggleAddToFavorites,
113
+ heartButton,
114
114
  }: Props) => {
115
115
  const { t } = useTranslation();
116
116
  const [isOpen, toggleOpenState] = useState(false);
@@ -136,7 +136,7 @@ const LearningPathMenu = ({
136
136
  name={name}
137
137
  invertedStyle={invertedStyle}
138
138
  id={learningPathId}
139
- onToggleAddToFavorites={onToggleAddToFavorites}
139
+ heartButton={heartButton}
140
140
  />
141
141
  <LearningPathMenuContent
142
142
  learningsteps={learningsteps}
@@ -6,12 +6,11 @@
6
6
  *
7
7
  */
8
8
 
9
- import React from 'react';
9
+ import React, { ReactNode } from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import { css } from '@emotion/react';
12
12
  import { useTranslation } from 'react-i18next';
13
13
  import { colors, spacing, spacingUnit, fonts, typography, mq, breakpoints, animations } from '@ndla/core';
14
- import { ArticleFavoritesButton } from '../Article';
15
14
 
16
15
  const StyledInfoHeader = styled.p`
17
16
  ${typography.smallHeading}
@@ -104,20 +103,18 @@ interface Props {
104
103
  isOpen: boolean;
105
104
  invertedStyle?: boolean;
106
105
  name: string;
107
- onToggleAddToFavorites?: () => void;
108
106
  id: number;
107
+ heartButton?: ReactNode;
109
108
  }
110
109
 
111
- const LearningPathMenuIntro = ({ isOpen, name, invertedStyle, onToggleAddToFavorites, id }: Props) => {
110
+ const LearningPathMenuIntro = ({ isOpen, name, invertedStyle, heartButton }: Props) => {
112
111
  const { t } = useTranslation();
113
112
  return (
114
113
  <StyledMenuIntro isOpen={isOpen} invertedStyle={invertedStyle}>
115
114
  <div>
116
115
  <StyledRow>
117
116
  <StyledInfoHeader>{t('learningPath.youAreInALearningPath')}</StyledInfoHeader>
118
- {onToggleAddToFavorites && (
119
- <ArticleFavoritesButton onToggleAddToFavorites={onToggleAddToFavorites} articleId={id.toString()} />
120
- )}
117
+ {heartButton}
121
118
  </StyledRow>
122
119
  <StyledIntroHeader>{name}</StyledIntroHeader>
123
120
  </div>
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- import React from 'react';
9
+ import React, { ReactNode } from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import { fonts, spacing } from '@ndla/core';
12
12
 
@@ -36,8 +36,7 @@ const StyledHeading = styled.h1`
36
36
  type Props = {
37
37
  invertedStyle?: boolean;
38
38
  toggleAdditionalResources: () => void;
39
- onToggleAddToFavorites: (id: string) => void;
40
- showAddToFavoriteButton: boolean;
39
+ heartButton?: (path: string) => ReactNode;
41
40
  };
42
41
 
43
42
  const ResourceGroup = ({
@@ -47,8 +46,7 @@ const ResourceGroup = ({
47
46
  toggleAdditionalResources,
48
47
  contentType,
49
48
  invertedStyle,
50
- onToggleAddToFavorites,
51
- showAddToFavoriteButton = false,
49
+ heartButton,
52
50
  }: Props & ResourceListProps) => (
53
51
  <Wrapper>
54
52
  {title && (
@@ -63,8 +61,7 @@ const ResourceGroup = ({
63
61
  showAdditionalResources={showAdditionalResources}
64
62
  contentType={contentType}
65
63
  resources={resources}
66
- onToggleAddToFavorites={onToggleAddToFavorites}
67
- showAddToFavoriteButton={showAddToFavoriteButton}
64
+ heartButton={heartButton}
68
65
  />
69
66
  ) : null}
70
67
  </Wrapper>
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- import React from 'react';
9
+ import React, { ReactNode } from 'react';
10
10
  import { useTranslation } from 'react-i18next';
11
11
  import styled from '@emotion/styled';
12
12
  import { css } from '@emotion/react';
@@ -15,7 +15,6 @@ import SafeLink from '@ndla/safelink';
15
15
  import { Additional, Core, HumanMaleBoard } from '@ndla/icons/common';
16
16
  import { breakpoints, colors, fonts, mq, spacing } from '@ndla/core';
17
17
  import Tooltip from '@ndla/tooltip';
18
- import { ArticleFavoritesButton } from '../Article';
19
18
  import { Resource } from '../types';
20
19
  import ContentTypeBadge from '../ContentTypeBadge';
21
20
  import * as contentTypes from '../model/ContentType';
@@ -228,9 +227,7 @@ type Props = {
228
227
  extraBottomMargin?: boolean;
229
228
  showAdditionalResources?: boolean;
230
229
  access?: 'teacher';
231
- isFavorite?: boolean;
232
- onToggleAddToFavorites: (id: string) => void;
233
- showAddToFavoriteButton: boolean;
230
+ heartButton?: (path: string) => ReactNode;
234
231
  };
235
232
 
236
233
  const ResourceItem = ({
@@ -245,9 +242,7 @@ const ResourceItem = ({
245
242
  extraBottomMargin,
246
243
  showAdditionalResources,
247
244
  access,
248
- onToggleAddToFavorites,
249
- isFavorite,
250
- showAddToFavoriteButton,
245
+ heartButton,
251
246
  }: Props & Resource) => {
252
247
  const { t } = useTranslation();
253
248
  const hidden = additional ? !showAdditionalResources : false;
@@ -310,13 +305,7 @@ const ResourceItem = ({
310
305
  )}
311
306
  </>
312
307
  )}
313
- {showAddToFavoriteButton && (
314
- <ArticleFavoritesButton
315
- isFavorite={isFavorite}
316
- articleId={id}
317
- onToggleAddToFavorites={() => onToggleAddToFavorites(id)}
318
- />
319
- )}
308
+ {heartButton?.(path)}
320
309
  </TypeWrapper>
321
310
  </ListElement>
322
311
  );
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- import React from 'react';
9
+ import React, { ReactNode } from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import { css } from '@emotion/react';
12
12
  import { keyframes } from '@emotion/react';
@@ -44,22 +44,20 @@ const StyledResourceList = styled.ul<StyledListProps>`
44
44
 
45
45
  export type ResourceListProps = {
46
46
  resources: Resource[];
47
- onClick: () => void;
47
+ onClick?: () => void;
48
48
  contentType?: string;
49
49
  title?: string;
50
50
  showAdditionalResources?: boolean;
51
- onToggleAddToFavorites: (id: string) => void;
52
- showAddToFavoriteButton: boolean;
51
+ heartButton?: (path: string) => ReactNode;
53
52
  };
54
53
 
55
54
  const ResourceList = ({
56
55
  resources,
57
56
  onClick,
58
- onToggleAddToFavorites,
59
57
  contentType,
60
58
  title,
61
59
  showAdditionalResources,
62
- showAddToFavoriteButton,
60
+ heartButton,
63
61
  }: ResourceListProps) => {
64
62
  const { t } = useTranslation();
65
63
  const renderAdditionalResourceTrigger =
@@ -76,8 +74,7 @@ const ResourceList = ({
76
74
  key={id}
77
75
  contentType={contentType}
78
76
  showAdditionalResources={showAdditionalResources}
79
- showAddToFavoriteButton={showAddToFavoriteButton}
80
- onToggleAddToFavorites={onToggleAddToFavorites}
77
+ heartButton={heartButton}
81
78
  {...resource}
82
79
  contentTypeDescription={
83
80
  resource.additional ? t('resource.tooltipAdditionalTopic') : t('resource.tooltipCoreTopic')
@@ -19,6 +19,7 @@ const StyledTagSelectorControl = styled.div`
19
19
  align-items: center;
20
20
  margin: ${spacing.xxsmall};
21
21
 
22
+ overflow: auto;
22
23
  overflow: overlay;
23
24
  ${utils.scrollbar}
24
25
  `;
@@ -13,6 +13,7 @@ import { MenuListProps } from 'react-select';
13
13
  import { TagType } from './types';
14
14
 
15
15
  export const StyledMenuList = styled.div`
16
+ overflow: auto;
16
17
  overflow: overlay;
17
18
  ${utils.scrollbar}
18
19
  display: flex;
@@ -61,6 +61,7 @@ const ScrollableDiv = styled.div<ScrollableDivProps>`
61
61
  ${({ type }) =>
62
62
  type === 'picker' &&
63
63
  css`
64
+ overflow: auto;
64
65
  overflow: overlay;
65
66
  ${utils.scrollbar}
66
67
  `}
package/src/index.ts CHANGED
@@ -24,7 +24,6 @@ export {
24
24
  ArticleHeaderWrapper,
25
25
  ArticleSideBar,
26
26
  default as Article,
27
- ArticleFavoritesButton,
28
27
  } from './Article';
29
28
 
30
29
  export { CompetenceGoalsDialog } from './CompetenceGoals';
@@ -1065,13 +1065,16 @@ const messages = {
1065
1065
  favourites: 'Favourites',
1066
1066
  addToFavourites: 'Add to my favourites',
1067
1067
  alreadyFavourited: 'Already in my favourites',
1068
- alreadyInFolder: 'Already in folder',
1068
+ alreadyInFolder: 'Already in folder. You can still save new tags.',
1069
+ noFolderSelected: 'Select or create a new folder to save the resource.',
1069
1070
  help: 'Help',
1070
1071
  more: 'More options',
1071
1072
  listView: 'List view',
1072
1073
  detailView: 'Detailed listview',
1073
1074
  shortView: 'Card view',
1074
1075
  myPage: {
1076
+ imageAlt:
1077
+ 'Medium close-up of girl holding a tablet. On top of the tablet there are colour samples in different shapes and colours. Graphic image.',
1075
1078
  confirmDeleteAccount: 'Are you sure you want to delete your account?',
1076
1079
  confirmDeleteAccountButton: 'Delete account',
1077
1080
  myPage: 'My page',
@@ -1062,13 +1062,16 @@ const messages = {
1062
1062
  favourites: 'Favoritter',
1063
1063
  addToFavourites: 'Legg til i mine favoritter',
1064
1064
  alreadyFavourited: 'Allerede lagt til i mine favoritter',
1065
- alreadyInFolder: 'Finnes allerede i mappen',
1065
+ alreadyInFolder: 'Finnes allerede i mappen. Du kan fortsatt lagre nye emneknagger.',
1066
+ noFolderSelected: 'Velg eller opprett ny mappe for å lagre ressursen',
1066
1067
  help: 'Hjelp',
1067
1068
  more: 'Flere valg',
1068
1069
  listView: 'Listevisning',
1069
1070
  detailView: 'Detaljert listevisning',
1070
1071
  shortView: 'Kort visning',
1071
1072
  myPage: {
1073
+ imageAlt:
1074
+ 'Halvnært bilde av jente som holder et nettbrett i hendene. Oppå nettbrettet ligger det ei samling fargeprøver i ulike former og farger. Grafikk.',
1072
1075
  confirmDeleteAccount: 'Er du sikker på at du vil slette kontoen?',
1073
1076
  confirmDeleteAccountButton: 'Slett konto',
1074
1077
  myPage: 'Min side',
@@ -1063,13 +1063,16 @@ const messages = {
1063
1063
  favourites: 'Favorittar',
1064
1064
  addToFavourites: 'Legg til i mine favorittar',
1065
1065
  alreadyFavourited: 'Allereie lagt til i mine favorittar',
1066
- alreadyInFolder: 'Finst allereie i mappa',
1066
+ alreadyInFolder: 'Finst allereie i mappa. Du kan fortsatt lagre nye emneknaggar.',
1067
+ noFolderSelected: 'Velg eller opprett ny mappe for å lagre ressursen',
1067
1068
  help: 'Hjelp',
1068
1069
  more: 'Fleire val',
1069
1070
  listView: 'Listevisning',
1070
1071
  detailView: 'Detaljert listevisning',
1071
1072
  shortView: 'Kortvisning',
1072
1073
  myPage: {
1074
+ imageAlt:
1075
+ 'Halvnært bilete av jente som held eit nettbrett i hendene. Oppå nettbrettet ligg det ei samling fargeprøver i ulike former og fargar. Grafikk.',
1073
1076
  confirmDeleteAccount: 'Er du sikker på at du vil slette kontoen?',
1074
1077
  confirmDeleteAccountButton: 'Slett konto',
1075
1078
  myPage: 'Mi side',
@@ -1112,7 +1115,7 @@ const messages = {
1112
1115
  },
1113
1116
  },
1114
1117
  resource: {
1115
- add: 'Legg til mappe/tag',
1118
+ add: 'Legg til mappe/emneknagg',
1116
1119
  remove: 'Fjern',
1117
1120
  removeTitle: 'Fjern ressurs',
1118
1121
  confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen frå denne mappa?',
@@ -1063,7 +1063,8 @@ const messages = {
1063
1063
  favourites: 'Oiddohat',
1064
1064
  addToFavourites: 'Bija mu oiddohiid searvái',
1065
1065
  alreadyFavourited: 'Lea juo biddjon oiddohin',
1066
- alreadyInFolder: 'Gávdno juo máhpas',
1066
+ alreadyInFolder: 'Finnes allerede i mappen. Du kan fortsatt lagre nye emneknagger.',
1067
+ noFolderSelected: 'Velg eller opprett ny mappe for å lagre ressursen',
1067
1068
  help: 'Veahkki',
1068
1069
  more: 'Eanet válljejumit',
1069
1070
  listView: 'Oppalašlistu',
@@ -1071,6 +1072,8 @@ const messages = {
1071
1072
  shortView: 'Oanehis listu',
1072
1073
 
1073
1074
  myPage: {
1075
+ imageAlt:
1076
+ 'Halvnært bilde av jente som holder et nettbrett i hendene. Oppå nettbrettet ligger det ei samling fargeprøver i ulike former og farger. Grafikk.',
1074
1077
  confirmDeleteAccount: 'Leat go sihkar ahte dáhtut sihkkut kontu?',
1075
1078
  confirmDeleteAccountButton: 'Sihko kontu',
1076
1079
  myPage: 'Mu siidu',
@@ -1064,13 +1064,16 @@ const messages = {
1064
1064
  favourites: 'Favoritter',
1065
1065
  addToFavourites: 'Legg til i mine favoritter',
1066
1066
  alreadyFavourited: 'Allerede lagt til i mine favoritter',
1067
- alreadyInFolder: 'Finnes allerede i mappen',
1067
+ alreadyInFolder: 'Finnes allerede i mappen. Du kan fortsatt lagre nye emneknagger.',
1068
+ noFolderSelected: 'Velg eller opprett ny mappe for å lagre ressursen',
1068
1069
  help: 'Hjelp',
1069
1070
  more: 'Flere valg',
1070
1071
  listView: 'Listevisning',
1071
1072
  detailView: 'Detaljert listevisning',
1072
1073
  shortView: 'Kort visning',
1073
1074
  myPage: {
1075
+ imageAlt:
1076
+ 'Halvnært bilde av jente som holder et nettbrett i hendene. Oppå nettbrettet ligger det ei samling fargeprøver i ulike former og farger. Grafikk.',
1074
1077
  confirmDeleteAccount: 'Er du sikker på at du vil slette kontoen?',
1075
1078
  confirmDeleteAccountButton: 'Slett konto',
1076
1079
  myPage: 'Min side',
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
-
3
- /**
4
- * Copyright (c) 2022-present, NDLA.
5
- *
6
- * This source code is licensed under the GPLv3 license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- *
9
- */
10
- import React from 'react';
11
- import { IconButtonDualStates } from '@ndla/button';
12
- import { Heart, HeartOutline } from '@ndla/icons/action';
13
- import Tooltip from '@ndla/tooltip';
14
- import { useTranslation } from 'react-i18next';
15
- export var ArticleFavoritesButton = function ArticleFavoritesButton(_ref) {
16
- var isFavorite = _ref.isFavorite,
17
- onToggleAddToFavorites = _ref.onToggleAddToFavorites,
18
- articleId = _ref.articleId;
19
-
20
- var _useTranslation = useTranslation(),
21
- t = _useTranslation.t;
22
-
23
- var removeFromFavoritesLabel = t('myNdla.resource.addToMyNdla');
24
- var addToFavoritesLabel = t('myNdla.resource.addedToMyNdla');
25
- return _jsx(Tooltip, {
26
- tooltip: isFavorite ? addToFavoritesLabel : removeFromFavoritesLabel,
27
- children: _jsx(IconButtonDualStates, {
28
- ariaLabelActive: t('myNdla.alreadyFavourited'),
29
- ariaLabelInActive: t('myNdla.addToFavourites'),
30
- activeIcon: _jsx(Heart, {}),
31
- inactiveIcon: _jsx(HeartOutline, {}),
32
- active: isFavorite,
33
- size: "small",
34
- colorTheme: "light",
35
- variant: "ghost",
36
- onClick: function onClick() {
37
- return onToggleAddToFavorites(articleId, !isFavorite);
38
- }
39
- })
40
- });
41
- };
42
- export default ArticleFavoritesButton;
@@ -1,14 +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
- export interface Props {
9
- isFavorite?: boolean;
10
- onToggleAddToFavorites: (id: string, add: boolean) => void;
11
- articleId: string;
12
- }
13
- export declare const ArticleFavoritesButton: ({ isFavorite, onToggleAddToFavorites, articleId }: Props) => import("@emotion/react/types/jsx-namespace").EmotionJSX.Element;
14
- export default ArticleFavoritesButton;