@ndla/ui 33.4.5 → 34.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.
Files changed (59) hide show
  1. package/es/Article/Article.js +7 -7
  2. package/es/Article/ArticleByline.js +14 -14
  3. package/es/Article/ArticleHeaderWrapper.js +4 -2
  4. package/es/BannerCard/BannerCard.js +13 -10
  5. package/es/CompetenceGoalTab/CompetenceGoalItem.js +69 -51
  6. package/es/CompetenceGoalTab/CompetenceGoalTab.js +25 -47
  7. package/es/CompetenceGoalTab/CompetenceItem.js +38 -90
  8. package/es/CompetenceGoals/CompetenceGoalsDialog.js +4 -4
  9. package/es/ResourceGroup/ResourceList.js +4 -3
  10. package/es/locale/messages-en.js +6 -3
  11. package/es/locale/messages-nb.js +6 -3
  12. package/es/locale/messages-nn.js +6 -3
  13. package/es/locale/messages-se.js +6 -3
  14. package/es/locale/messages-sma.js +6 -3
  15. package/lib/Article/Article.d.ts +3 -3
  16. package/lib/Article/Article.js +7 -7
  17. package/lib/Article/ArticleByline.js +14 -14
  18. package/lib/Article/ArticleHeaderWrapper.d.ts +2 -2
  19. package/lib/Article/ArticleHeaderWrapper.js +4 -2
  20. package/lib/BannerCard/BannerCard.d.ts +12 -3
  21. package/lib/BannerCard/BannerCard.js +13 -10
  22. package/lib/CompetenceGoalTab/CompetenceGoalItem.js +69 -51
  23. package/lib/CompetenceGoalTab/CompetenceGoalTab.d.ts +1 -2
  24. package/lib/CompetenceGoalTab/CompetenceGoalTab.js +23 -46
  25. package/lib/CompetenceGoalTab/CompetenceItem.d.ts +6 -2
  26. package/lib/CompetenceGoalTab/CompetenceItem.js +37 -89
  27. package/lib/CompetenceGoals/CompetenceGoalsDialog.js +4 -4
  28. package/lib/ResourceGroup/ResourceList.js +4 -3
  29. package/lib/locale/messages-en.d.ts +4 -1
  30. package/lib/locale/messages-en.js +6 -3
  31. package/lib/locale/messages-nb.d.ts +4 -1
  32. package/lib/locale/messages-nb.js +6 -3
  33. package/lib/locale/messages-nn.d.ts +4 -1
  34. package/lib/locale/messages-nn.js +6 -3
  35. package/lib/locale/messages-se.d.ts +4 -1
  36. package/lib/locale/messages-se.js +6 -3
  37. package/lib/locale/messages-sma.d.ts +4 -1
  38. package/lib/locale/messages-sma.js +6 -3
  39. package/lib/types.d.ts +1 -1
  40. package/package.json +2 -2
  41. package/src/Article/Article.tsx +6 -6
  42. package/src/Article/ArticleByline.tsx +12 -12
  43. package/src/Article/ArticleHeaderWrapper.tsx +9 -3
  44. package/src/BannerCard/BannerCard.tsx +7 -7
  45. package/src/CompetenceGoalTab/CompetenceGoalItem.tsx +36 -39
  46. package/src/CompetenceGoalTab/CompetenceGoalTab.tsx +32 -76
  47. package/src/CompetenceGoalTab/CompetenceItem.tsx +55 -74
  48. package/src/CompetenceGoals/CompetenceGoalsDialog.tsx +1 -1
  49. package/src/ResourceGroup/ResourceList.tsx +2 -0
  50. package/src/locale/messages-en.ts +7 -3
  51. package/src/locale/messages-nb.ts +7 -3
  52. package/src/locale/messages-nn.ts +7 -3
  53. package/src/locale/messages-se.ts +7 -3
  54. package/src/locale/messages-sma.ts +7 -3
  55. package/src/types.ts +1 -1
  56. package/es/CompetenceGoalTab/SearchButton.js +0 -46
  57. package/lib/CompetenceGoalTab/SearchButton.d.ts +0 -14
  58. package/lib/CompetenceGoalTab/SearchButton.js +0 -53
  59. package/src/CompetenceGoalTab/SearchButton.tsx +0 -54
@@ -9,49 +9,49 @@
9
9
  import React from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import { fonts, spacing, mq, breakpoints } from '@ndla/core';
12
+ import { Search } from '@ndla/icons/common';
13
+ import { SafeLinkButton } from '@ndla/safelink';
12
14
  import { useTranslation } from 'react-i18next';
13
15
  import { CompetenceGoalsItemType } from '../types';
14
- import SearchButton from './SearchButton';
15
16
 
16
17
  const GoalItem = styled.li`
17
18
  margin: ${spacing.medium} 0;
18
- list-style-type: none;
19
- display: flex;
20
- font-size: 18px;
21
- line-height: 24px;
22
19
  border-bottom: 1px solid #d1d6db;
23
20
  `;
24
21
 
25
- const GoalWrapper = styled.div`
26
- width: 100%;
27
- padding-bottom: ${spacing.small};
28
- `;
29
-
30
22
  const GoalsHeading = styled.h3`
31
23
  margin-top: 0;
32
- font-weight: ${fonts.weight.semibold};
33
24
  `;
25
+
26
+ const StyledSearch = styled(Search)`
27
+ height: 24px;
28
+ width: 24px;
29
+ min-width: 24px;
30
+ `;
31
+
34
32
  const GoalList = styled.ul`
35
33
  padding: 0;
36
34
  `;
37
- const GoalListElement = styled.li`
38
- ${fonts.sizes('22px', '32px')};
35
+
36
+ const GoalText = styled.p`
37
+ margin: 0;
39
38
  `;
40
- const GoalListElementInnerWrapper = styled.div`
39
+
40
+ const ListItemContent = styled.div`
41
41
  display: flex;
42
42
  justify-content: space-between;
43
+ ${fonts.sizes('22px', '32px')};
43
44
  ${mq.range({ until: breakpoints.tabletWide })} {
44
45
  flex-direction: column;
45
46
  }
46
47
  `;
47
48
 
48
- const GoalListInnerTextWrapper = styled.div`
49
- flex: 1;
50
- `;
51
-
52
49
  const GoalSearchWrapper = styled.div`
53
50
  margin-left: ${spacing.normal};
54
51
  flex: 0 0 289px;
52
+ span {
53
+ text-align: left;
54
+ }
55
55
 
56
56
  ${mq.range({ until: breakpoints.tabletWide })} {
57
57
  margin-left: 0;
@@ -64,27 +64,24 @@ const CompetenceGoalItem = ({ title, goals, isOembed }: CompetenceGoalsItemType)
64
64
  const { t } = useTranslation();
65
65
  return (
66
66
  <GoalItem>
67
- <GoalWrapper>
68
- <GoalsHeading>{title}</GoalsHeading>
69
- <GoalList>
70
- {goals.map((goal, index: number) => (
71
- <GoalListElement key={`${goal.text}${index}`}>
72
- <GoalListElementInnerWrapper>
73
- <GoalListInnerTextWrapper>{goal.text}</GoalListInnerTextWrapper>
74
- {goal.url && goal.type !== 'LK06' && (
75
- <GoalSearchWrapper>
76
- <SearchButton
77
- to={goal.url}
78
- text={t('competenceGoals.competenceGoalResourceSearchText')}
79
- target={isOembed ? '_blank' : '_self'}
80
- />
81
- </GoalSearchWrapper>
82
- )}
83
- </GoalListElementInnerWrapper>
84
- </GoalListElement>
85
- ))}
86
- </GoalList>
87
- </GoalWrapper>
67
+ <GoalsHeading>{title}</GoalsHeading>
68
+ <GoalList>
69
+ {goals.map((goal, index) => (
70
+ <li key={`${goal.text}${index}`}>
71
+ <ListItemContent>
72
+ <GoalText>{goal.text}</GoalText>
73
+ {goal.url && (
74
+ <GoalSearchWrapper>
75
+ <SafeLinkButton variant="outline" to={goal.url} target={isOembed ? '_blank' : '_self'}>
76
+ <StyledSearch size="large" />
77
+ <span>{t('competenceGoals.competenceGoalResourceSearchText', { goal: goal.id })}</span>
78
+ </SafeLinkButton>
79
+ </GoalSearchWrapper>
80
+ )}
81
+ </ListItemContent>
82
+ </li>
83
+ ))}
84
+ </GoalList>
88
85
  </GoalItem>
89
86
  );
90
87
  };
@@ -8,37 +8,24 @@
8
8
 
9
9
  import React, { useState } from 'react';
10
10
  import styled from '@emotion/styled';
11
- import { colors, spacing, mq, breakpoints } from '@ndla/core';
11
+ import { spacing } from '@ndla/core';
12
12
  import { useTranslation } from 'react-i18next';
13
- import { ArrowFeatureTips } from '@ndla/icons/common';
14
- import Button from '@ndla/button';
13
+ import { ButtonV2 } from '@ndla/button';
15
14
  import SafeLink from '@ndla/safelink';
16
15
  import { BY, CC, LicenseByline } from '@ndla/licenses';
16
+ import Tooltip from '@ndla/tooltip';
17
17
  import CompetenceItem, { ListItemProp } from './CompetenceItem';
18
18
 
19
19
  type CompetenceProps = {
20
20
  list: ListItemProp[];
21
- highlightSearchBox?: boolean;
22
21
  isOembed?: boolean;
23
22
  };
24
23
 
25
- const Wrapper = styled.div`
26
- h2 {
27
- margin: 0 0 ${spacing.medium};
28
- }
29
- position: relative;
30
- `;
31
-
32
- const TabWrapper = styled.div`
24
+ const ButtonWrapper = styled.div`
33
25
  display: flex;
34
- flex-direction: row;
26
+ padding-top: ${spacing.small};
27
+ gap: ${spacing.small};
35
28
  flex-wrap: wrap;
36
- button {
37
- margin: 8px 8px 8px 0;
38
- &:last-of-type {
39
- margin-right: 0;
40
- }
41
- }
42
29
  `;
43
30
 
44
31
  const LicenseIconsTextWrapper = styled.span`
@@ -46,66 +33,35 @@ const LicenseIconsTextWrapper = styled.span`
46
33
  margin-left: 5px;
47
34
  `;
48
35
 
49
- const HighlightWrapper = styled.div`
50
- position: absolute;
51
- right: 0;
52
- z-index: 200;
53
- display: flex;
54
- flex-direction: column;
55
- align-items: center;
56
- transform: translate(180px, 50%);
57
-
58
- svg {
59
- width: 32px;
60
- height: auto;
61
- position: relative;
62
- left: -38px;
63
- margin-top: ${spacing.normal};
64
- }
65
-
66
- ${mq.range({ until: breakpoints.wide })} {
67
- display: none;
68
- }
69
- `;
70
-
71
- const HighlightText = styled.span`
72
- font-family: 'Shadows Into Light Two';
73
- font-display: swap;
74
- display: inline-block;
75
- color: ${colors.text.light};
76
- transform: rotate(14deg);
77
- font-size: 20px;
78
- max-width: 170px;
79
- text-align: center;
80
- font-family: 'Shadows Into Light Two', cursive;
81
- `;
82
-
83
- const CompetenceGoalTab = ({ list, highlightSearchBox, isOembed }: CompetenceProps) => {
36
+ const CompetenceGoalTab = ({ list, isOembed }: CompetenceProps) => {
84
37
  const [currentTabItem, setCurrentTab] = useState(list[0]);
85
38
  const { t } = useTranslation();
86
39
 
87
40
  return (
88
- <Wrapper>
89
- <TabWrapper>
90
- {list.map((tabItem, index: number) => {
91
- const { id, title: tabTitle } = tabItem;
92
- return (
93
- <Button
94
- borderShape="rounded"
95
- lighter={id !== currentTabItem.id}
96
- size="normal"
97
- onClick={() => setCurrentTab(list[index])}
98
- key={`tabitem-${id}`}>
99
- {tabTitle}
100
- </Button>
101
- );
102
- })}
103
- </TabWrapper>
104
- {highlightSearchBox && (
105
- <HighlightWrapper>
106
- <HighlightText>{t('checkOutNewFeature')}</HighlightText>
107
- <ArrowFeatureTips />
108
- </HighlightWrapper>
41
+ <>
42
+ {list.length > 1 && (
43
+ <ButtonWrapper>
44
+ {list.map((tabItem, index) => {
45
+ const { id, title: tabTitle, type } = tabItem;
46
+ return (
47
+ <Tooltip
48
+ tooltip={
49
+ type === 'coreElement'
50
+ ? t('competenceGoals.competenceTabCoreTooltip')
51
+ : t('competenceGoals.showCompetenceGoals')
52
+ }
53
+ key={`tabitem-${id}`}>
54
+ <ButtonV2
55
+ shape="pill"
56
+ aria-current={id === currentTabItem.id}
57
+ colorTheme={id !== currentTabItem.id ? 'lighter' : undefined}
58
+ onClick={() => setCurrentTab(list[index])}>
59
+ {tabTitle}
60
+ </ButtonV2>
61
+ </Tooltip>
62
+ );
63
+ })}
64
+ </ButtonWrapper>
109
65
  )}
110
66
  <CompetenceItem item={currentTabItem} isOembed={isOembed} />
111
67
  <LicenseByline licenseRights={[CC, BY]}>
@@ -119,7 +75,7 @@ const CompetenceGoalTab = ({ list, highlightSearchBox, isOembed }: CompetencePro
119
75
  <SafeLink to="https://data.udir.no/" target="_blank">
120
76
  data.udir.no
121
77
  </SafeLink>
122
- </Wrapper>
78
+ </>
123
79
  );
124
80
  };
125
81
 
@@ -9,7 +9,7 @@
9
9
  import React from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import { MenuBook } from '@ndla/icons/action';
12
- import { fonts } from '@ndla/core';
12
+ import { spacing } from '@ndla/core';
13
13
  import { useTranslation } from 'react-i18next';
14
14
  import CompetenceGoalItem from './CompetenceGoalItem';
15
15
  import { CompetenceGoalsItemType } from '../types';
@@ -21,54 +21,43 @@ const GroupedGoalsWrapper = styled.div`
21
21
  const GroupedGoalsTitleWrapper = styled.div`
22
22
  border-bottom: 1px solid #d1d6db;
23
23
  `;
24
- const GroupedGoalsTitle = styled.h3`
25
- ${fonts.sizes('22px', '32px')};
26
- margin-bottom: 0;
24
+ const GroupedGoalsTitle = styled.h2`
27
25
  display: flex;
28
- `;
29
-
30
- const GroupedGoalsTitleIcon = styled.span`
31
- display: inline-flex;
32
26
  align-items: center;
33
- margin-right: 8px;
27
+ gap: ${spacing.xsmall};
28
+ svg {
29
+ width: 24px;
30
+ height: 24px;
31
+ }
34
32
  `;
35
33
 
36
- const GoalsInfo = styled.h4`
37
- ${fonts.sizes('22px', '32px')};
38
- margin-top: 0;
39
- font-weight: ${fonts.weight.normal};
34
+ const GoalsInfo = styled.p`
35
+ margin: 0;
40
36
  `;
41
37
 
42
- const Goals = styled.ul`
38
+ const GoalList = styled.ul`
43
39
  margin: 0;
44
40
  padding: 0;
45
41
  list-style-type: none;
46
42
  list-style-image: none;
47
43
  `;
48
44
 
49
- const CoreItem = styled.div`
50
- margin: 16px 0 24px;
51
- `;
52
45
  const GroupedCoreItemsWrapper = styled.div`
53
46
  margin: 24px 0 52px;
54
47
  `;
55
48
 
56
- const CoreItemTitle = styled.h4`
57
- font-size: 20px;
58
- `;
59
- const CoreItemText = styled.p`
60
- font-size: 18px;
61
- line-height: 32px;
62
- `;
63
-
64
49
  export type CompetenceTypeProps = 'competenceGoals' | 'coreElement';
65
50
  export type CompetenceGoals = {
66
- title?: string;
51
+ title: string;
67
52
  elements: CompetenceGoalsItemType[];
68
53
  };
69
54
  export type CoreElementItems = {
70
55
  title?: string;
71
- elements: any;
56
+ elements: {
57
+ id: string;
58
+ name: string;
59
+ text: string;
60
+ }[];
72
61
  };
73
62
  export type ListItemProp = {
74
63
  id: string;
@@ -89,59 +78,51 @@ const CompetenceItem = ({ item, isOembed }: ListItemProps) => {
89
78
  case 'competenceGoals':
90
79
  return (
91
80
  <>
92
- {groupedCompetenceGoals &&
93
- groupedCompetenceGoals.map((group) => (
94
- <GroupedGoalsWrapper key={group.title}>
95
- <GroupedGoalsTitleWrapper>
96
- {group.title && (
97
- <GroupedGoalsTitle>
98
- <GroupedGoalsTitleIcon>
99
- <MenuBook style={{ width: '24px', height: '24px' }} />
100
- </GroupedGoalsTitleIcon>
101
- {group.title}
102
- </GroupedGoalsTitle>
103
- )}
81
+ {groupedCompetenceGoals?.map((group) => (
82
+ <GroupedGoalsWrapper key={group.title}>
83
+ <GroupedGoalsTitleWrapper>
84
+ <hgroup>
85
+ <GroupedGoalsTitle>
86
+ <MenuBook />
87
+ {group.title}
88
+ </GroupedGoalsTitle>
104
89
  <GoalsInfo>{t('competenceGoals.competenceGoalTitle')}</GoalsInfo>
105
- </GroupedGoalsTitleWrapper>
106
- {group.elements.length > 0 && (
107
- <Goals>
108
- {group.elements.map((goal) => (
109
- <CompetenceGoalItem
110
- key={goal.id}
111
- id={goal.id}
112
- title={goal.title}
113
- goals={goal.goals}
114
- isOembed={isOembed}
115
- />
116
- ))}
117
- </Goals>
118
- )}
119
- </GroupedGoalsWrapper>
120
- ))}
90
+ </hgroup>
91
+ </GroupedGoalsTitleWrapper>
92
+ {group.elements.length > 0 && (
93
+ <GoalList>
94
+ {group.elements.map((goal) => (
95
+ <CompetenceGoalItem
96
+ key={goal.id}
97
+ id={goal.id}
98
+ title={goal.title}
99
+ goals={goal.goals}
100
+ isOembed={isOembed}
101
+ />
102
+ ))}
103
+ </GoalList>
104
+ )}
105
+ </GroupedGoalsWrapper>
106
+ ))}
121
107
  </>
122
108
  );
123
109
  case 'coreElement':
124
110
  return (
125
111
  <>
126
- {groupedCoreElementItems &&
127
- groupedCoreElementItems.map((group: any) => (
128
- <GroupedCoreItemsWrapper key={group.title}>
129
- {group.title && (
130
- <GroupedGoalsTitle>
131
- <GroupedGoalsTitleIcon>
132
- <MenuBook style={{ width: '24px', height: '24px' }} />
133
- </GroupedGoalsTitleIcon>
134
- {group.title}
135
- </GroupedGoalsTitle>
136
- )}
137
- {group.elements.map((coreItem: any) => (
138
- <CoreItem key={coreItem.id}>
139
- {coreItem.name && <CoreItemTitle>{coreItem.name}</CoreItemTitle>}
140
- {coreItem.text && <CoreItemText>{coreItem.text}</CoreItemText>}
141
- </CoreItem>
142
- ))}
143
- </GroupedCoreItemsWrapper>
144
- ))}
112
+ {groupedCoreElementItems?.map((group) => (
113
+ <GroupedCoreItemsWrapper key={group.title}>
114
+ <GroupedGoalsTitle>
115
+ <MenuBook />
116
+ {group.title}
117
+ </GroupedGoalsTitle>
118
+ {group.elements.map((coreItem) => (
119
+ <div key={coreItem.id}>
120
+ <h3>{coreItem.name}</h3>
121
+ <p>{coreItem.text}</p>
122
+ </div>
123
+ ))}
124
+ </GroupedCoreItemsWrapper>
125
+ ))}
145
126
  </>
146
127
  );
147
128
  default:
@@ -21,7 +21,7 @@ const HeaderWrapper = styled.div`
21
21
  width: 100%;
22
22
  `;
23
23
 
24
- const HeadingWrapper = styled.h2`
24
+ const HeadingWrapper = styled.h1`
25
25
  display: flex;
26
26
  align-items: center;
27
27
  ${fonts.sizes('18px', '32px')};
@@ -10,6 +10,7 @@ import React, { ReactNode } from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import { css, keyframes } from '@emotion/react';
12
12
  import { useTranslation } from 'react-i18next';
13
+ import { fonts } from '@ndla/core';
13
14
  import NoContentBox from '../NoContentBox';
14
15
  import ResourceItem from './ResourceItem';
15
16
  import { Resource } from '../types';
@@ -33,6 +34,7 @@ const StyledResourceList = styled.ul<StyledListProps>`
33
34
  list-style: none;
34
35
  margin: 0;
35
36
  padding: 0;
37
+ font-family: ${fonts.sans};
36
38
  ${({ showAdditionalResources }) =>
37
39
  showAdditionalResources &&
38
40
  css`
@@ -267,6 +267,9 @@ const messages = {
267
267
  removeFavorite: 'Remove favorite subject',
268
268
  removeConfirmed: '{{subject}} is removed from your favorite subjects',
269
269
  addConfirmed: '{{subject}} is added to your favorite subjects',
270
+ subjectFavoritePitch: 'Do you want to favorite this subject?',
271
+ subjectFavoriteGuide:
272
+ 'To favorite a subject you must log in to My NDLA. You will find the subject on the top of this page after logging in.',
270
273
  shows: 'Shows',
271
274
  },
272
275
  topicPage: {
@@ -474,7 +477,7 @@ const messages = {
474
477
  useCompentenceGoalsFilter: 'Use filter',
475
478
  closeCompentenceGoalsFilter: 'Close filter',
476
479
  competenceGoalsNarrowBackButton: 'Go back',
477
- competenceGoalResourceSearchText: 'Search all resources appropriate to this goal',
480
+ competenceGoalResourceSearchText: 'View resources to competence goal {{goal}}',
478
481
  competenceGoalShowExtra: 'Show',
479
482
  competenceGoalCloseExtra: 'Hide',
480
483
  competenceCoreLabel: 'Core element',
@@ -485,9 +488,10 @@ const messages = {
485
488
  competenceSubjectSearchText: 'Go to topic page',
486
489
  competenceGoalClose: 'Close',
487
490
  competenceGoalTitle: 'The pupil is expected to be able to:',
488
- competenceTabLK06label: 'Competence goal (LK06)',
489
- competenceTabLK20label: 'Competence goal (LK20)',
491
+ competenceTabLK20label: 'Competence goal',
492
+ competenceTabLK20Tooltip: 'Show competence goals',
490
493
  competenceTabCorelabel: 'Core element',
494
+ competenceTabCoreTooltip: 'Show core elements',
491
495
  competenceGoalItem: {
492
496
  title: 'Competence goals and assessment',
493
497
  },
@@ -266,6 +266,9 @@ const messages = {
266
266
  removeFavorite: 'Fjern favorittfag',
267
267
  removeConfirmed: '{{subject}} er fjernet fra favorittfag',
268
268
  addConfirmed: '{{subject}} er lagt til som favorittfag',
269
+ subjectFavoritePitch: 'Ønsker du å favorittmerke dette faget?',
270
+ subjectFavoriteGuide:
271
+ 'For å favorittmerke et fag må du logge inn på Min NDLA. Du finner faget øverst på denne siden etter at du har logget inn.',
269
272
  shows: 'Viser',
270
273
  },
271
274
  topicPage: {
@@ -473,7 +476,7 @@ const messages = {
473
476
  useCompentenceGoalsFilter: 'Bruk filter',
474
477
  closeCompentenceGoalsFilter: 'Lukk filter',
475
478
  competenceGoalsNarrowBackButton: 'Tilbake',
476
- competenceGoalResourceSearchText: 'Søk på alle ressurser som passer til dette kompetansemålet',
479
+ competenceGoalResourceSearchText: 'Vis ressurser til kompetansemål {{goal}}',
477
480
  competenceGoalShowExtra: 'Vis støtte til læreplanen',
478
481
  competenceGoalCloseExtra: 'Skjul støtte til læreplanen',
479
482
  competenceCoreLabel: 'Kjerneelement',
@@ -484,9 +487,10 @@ const messages = {
484
487
  competenceSubjectSearchText: 'Gå til fagsiden',
485
488
  competenceGoalClose: 'Lukk',
486
489
  competenceGoalTitle: 'Målet er at eleven skal kunne:',
487
- competenceTabLK06label: 'Kompetansemål (LK06)',
488
- competenceTabLK20label: 'Kompetansemål (LK20)',
490
+ competenceTabLK20label: 'Kompetansemål',
491
+ competenceTabLK20Tooltip: 'Vis kompetansemål',
489
492
  competenceTabCorelabel: 'Kjerneelement',
493
+ competenceTabCoreTooltip: 'Vis kjerneelementer',
490
494
  competenceGoalItem: {
491
495
  title: 'Kompetansemål og vurdering',
492
496
  },
@@ -266,6 +266,9 @@ const messages = {
266
266
  removeFavorite: 'Fjern favorittfag',
267
267
  removeConfirmed: '{{subject}} er fjerna frå favorittfag',
268
268
  addConfirmed: '{{subject}} er lagt til som favorittfag',
269
+ subjectFavoritePitch: 'Ønsker du å favorittmerke dette faget?',
270
+ subjectFavoriteGuide:
271
+ 'For å favorittmerke eit fag må du logge inn på Min NDLA. Du finn faget øverst på denne sida etter at du har logga inn.',
269
272
  shows: 'Viser',
270
273
  },
271
274
  topicPage: {
@@ -474,7 +477,7 @@ const messages = {
474
477
  useCompentenceGoalsFilter: 'Bruk filter',
475
478
  closeCompentenceGoalsFilter: 'Lukk filter',
476
479
  competenceGoalsNarrowBackButton: 'Tilbake',
477
- competenceGoalResourceSearchText: 'Søk på alle ressursar som passar til dette kompetansemålet',
480
+ competenceGoalResourceSearchText: 'Vis ressursar til kompetansemål {{goal}}',
478
481
  competenceGoalShowExtra: 'Vis støtte til læreplanen',
479
482
  competenceGoalCloseExtra: 'Skjul støtte til læreplanen',
480
483
  competenceCoreLabel: 'Kjerneelement',
@@ -485,9 +488,10 @@ const messages = {
485
488
  competenceSubjectSearchText: 'Gå til fagsiden',
486
489
  competenceGoalClose: 'Lukk',
487
490
  competenceGoalTitle: 'Målet er at eleven skal kunne:',
488
- competenceTabLK06label: 'Kompetansemål (LK06)',
489
- competenceTabLK20label: 'Kompetansemål (LK20)',
491
+ competenceTabLK20label: 'Kompetansemål',
492
+ competenceTabLK20Tooltip: 'Vis kompetansemål',
490
493
  competenceTabCorelabel: 'Kjerneelement',
494
+ competenceTabCoreTooltip: 'Vis kjerneelementar',
491
495
  competenceGoalItem: {
492
496
  title: 'Kompetansemål og vurdering',
493
497
  },
@@ -266,6 +266,9 @@ const messages = {
266
266
  removeFavorite: 'Fjern favorittfag',
267
267
  removeConfirmed: '{{subject}} er fjernet fra favorittfag',
268
268
  addConfirmed: '{{subject}} er lagt til som favorittfag',
269
+ subjectFavoritePitch: 'Ønsker du å favorittmerke dette faget?',
270
+ subjectFavoriteGuide:
271
+ 'For å favorittmerke et fag må du logge inn på Min NDLA. Du finner faget øverst på denne siden etter at du har logget inn.',
269
272
  shows: 'Viser',
270
273
  },
271
274
  topicPage: {
@@ -474,7 +477,7 @@ const messages = {
474
477
  useCompentenceGoalsFilter: 'Geavat filtara',
475
478
  closeCompentenceGoalsFilter: 'Govčča filtara',
476
479
  competenceGoalsNarrowBackButton: 'Ruovttoluotta',
477
- competenceGoalResourceSearchText: 'Oza buot resurssaid mat heivejit dán gealbomihttomearrái',
480
+ competenceGoalResourceSearchText: 'Vis ressursar til kompetansemål {{goal}}',
478
481
  competenceGoalShowExtra: 'Čájet oahppoplána doarjaga',
479
482
  competenceGoalCloseExtra: 'Čiega oahppoplána doarjaga',
480
483
  competenceCoreLabel: 'Guovddášelemeanta',
@@ -485,9 +488,10 @@ const messages = {
485
488
  competenceSubjectSearchText: 'Mana fágasiidui',
486
489
  competenceGoalClose: 'Govčča',
487
490
  competenceGoalTitle: 'Mihttun lea ahte oahppi galgá máhttit:',
488
- competenceTabLK06label: 'Gealbomihttomearri (ML06)',
489
- competenceTabLK20label: 'Gealbomihttomearri (ML20)',
491
+ competenceTabLK20label: 'Gealbomihttomearri',
492
+ competenceTabLK20Tooltip: 'Vis kompetansemål',
490
493
  competenceTabCorelabel: 'Guovddášelemeanta',
494
+ competenceTabCoreTooltip: 'Vis kjerneelementer',
491
495
  competenceGoalItem: {
492
496
  title: 'Gealbomihttomearit ja árvvoštallan',
493
497
  },
@@ -266,6 +266,9 @@ const messages = {
266
266
  removeFavorite: 'Fjern favorittfag',
267
267
  removeConfirmed: '{{subject}} er fjernet fra favorittfag',
268
268
  addConfirmed: '{{subject}} er lagt til som favorittfag',
269
+ subjectFavoritePitch: 'Ønsker du å favorittmerke dette faget?',
270
+ subjectFavoriteGuide:
271
+ 'For å favorittmerke et fag må du logge inn på Min NDLA. Du finner faget øverst på denne siden etter at du har logget inn.',
269
272
  shows: 'Viser',
270
273
  },
271
274
  topicPage: {
@@ -474,7 +477,7 @@ const messages = {
474
477
  useCompentenceGoalsFilter: 'Bruk filter',
475
478
  closeCompentenceGoalsFilter: 'Lukk filter',
476
479
  competenceGoalsNarrowBackButton: 'Tilbake',
477
- competenceGoalResourceSearchText: 'Søk alle ressurser som passer til dette kompetansemålet',
480
+ competenceGoalResourceSearchText: 'Vis ressursar til kompetansemål {{goal}}',
478
481
  competenceGoalShowExtra: 'Vis støtte til læreplanen',
479
482
  competenceGoalCloseExtra: 'Skjul støtte til læreplanen',
480
483
  competenceCoreLabel: 'Kjerneelement',
@@ -485,9 +488,10 @@ const messages = {
485
488
  competenceSubjectSearchText: 'Gå til fagsiden',
486
489
  competenceGoalClose: 'Lukk',
487
490
  competenceGoalTitle: 'Målet er at eleven skal kunne:',
488
- competenceTabLK06label: 'Kompetansemål (LK06)',
489
- competenceTabLK20label: 'Kompetansemål (LK20)',
491
+ competenceTabLK20label: 'Kompetansemål',
492
+ competenceTabLK20Tooltip: 'Vis kompetansemål',
490
493
  competenceTabCorelabel: 'Kjerneelement',
494
+ competenceTabCoreTooltip: 'Vis kjerneelementer',
491
495
  competenceGoalItem: {
492
496
  title: 'Kompetansemål og vurdering',
493
497
  },
package/src/types.ts CHANGED
@@ -108,9 +108,9 @@ export type CompetenceGoalsItemType = {
108
108
  id: string;
109
109
  title: string;
110
110
  goals: {
111
+ id: string;
111
112
  text: string;
112
113
  url?: string;
113
- type: 'LK06' | 'LK20';
114
114
  }[];
115
115
  selected?: boolean;
116
116
  isOembed?: boolean;