@ndla/ui 42.0.5 → 42.1.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 (67) hide show
  1. package/es/Article/ArticleByline.js +9 -6
  2. package/es/CompetenceGoalTab/CompetenceGoalItem.js +7 -81
  3. package/es/CompetenceGoalTab/CompetenceGoalTab.js +2 -11
  4. package/es/CompetenceGoalTab/CompetenceItem.js +26 -51
  5. package/es/CompetenceGoalTab/CoreElementItem.js +43 -0
  6. package/es/CompetenceGoalTab/SearchButton.js +43 -0
  7. package/es/CompetenceGoalTab/styles.js +57 -0
  8. package/es/FrontpageArticle/FrontpageArticle.js +15 -3
  9. package/es/Hero/Hero.js +2 -2
  10. package/es/Layout/OneColumn.js +15 -4
  11. package/es/ProgrammeCard/ProgrammeCard.js +3 -3
  12. package/es/SearchTypeResult/SearchHeader.js +34 -17
  13. package/es/locale/messages-en.js +2 -1
  14. package/es/locale/messages-nb.js +2 -1
  15. package/es/locale/messages-nn.js +2 -1
  16. package/es/locale/messages-se.js +2 -1
  17. package/es/locale/messages-sma.js +2 -1
  18. package/lib/Article/ArticleByline.d.ts +3 -1
  19. package/lib/Article/ArticleByline.js +9 -6
  20. package/lib/CompetenceGoalTab/CompetenceGoalItem.js +20 -92
  21. package/lib/CompetenceGoalTab/CompetenceGoalTab.js +9 -18
  22. package/lib/CompetenceGoalTab/CompetenceItem.d.ts +2 -6
  23. package/lib/CompetenceGoalTab/CompetenceItem.js +25 -50
  24. package/lib/CompetenceGoalTab/CoreElementItem.d.ts +10 -0
  25. package/lib/CompetenceGoalTab/CoreElementItem.js +50 -0
  26. package/lib/CompetenceGoalTab/SearchButton.d.ts +14 -0
  27. package/lib/CompetenceGoalTab/SearchButton.js +50 -0
  28. package/lib/CompetenceGoalTab/styles.d.ts +28 -0
  29. package/lib/CompetenceGoalTab/styles.js +67 -0
  30. package/lib/FrontpageArticle/FrontpageArticle.d.ts +2 -1
  31. package/lib/FrontpageArticle/FrontpageArticle.js +15 -3
  32. package/lib/Hero/Hero.js +2 -2
  33. package/lib/Layout/OneColumn.d.ts +3 -3
  34. package/lib/Layout/OneColumn.js +16 -6
  35. package/lib/ProgrammeCard/ProgrammeCard.js +3 -3
  36. package/lib/SearchTypeResult/SearchHeader.d.ts +3 -2
  37. package/lib/SearchTypeResult/SearchHeader.js +34 -17
  38. package/lib/locale/messages-en.d.ts +1 -0
  39. package/lib/locale/messages-en.js +2 -1
  40. package/lib/locale/messages-nb.d.ts +1 -0
  41. package/lib/locale/messages-nb.js +2 -1
  42. package/lib/locale/messages-nn.d.ts +1 -0
  43. package/lib/locale/messages-nn.js +2 -1
  44. package/lib/locale/messages-se.d.ts +1 -0
  45. package/lib/locale/messages-se.js +2 -1
  46. package/lib/locale/messages-sma.d.ts +1 -0
  47. package/lib/locale/messages-sma.js +2 -1
  48. package/lib/types.d.ts +9 -2
  49. package/package.json +2 -2
  50. package/src/Article/ArticleByline.tsx +12 -2
  51. package/src/CompetenceGoalTab/CompetenceGoalItem.tsx +7 -56
  52. package/src/CompetenceGoalTab/CompetenceGoalTab.tsx +2 -2
  53. package/src/CompetenceGoalTab/CompetenceItem.tsx +26 -26
  54. package/src/CompetenceGoalTab/CoreElementItem.tsx +38 -0
  55. package/src/CompetenceGoalTab/SearchButton.tsx +51 -0
  56. package/src/CompetenceGoalTab/styles.ts +36 -0
  57. package/src/FrontpageArticle/FrontpageArticle.tsx +17 -2
  58. package/src/Hero/Hero.tsx +4 -1
  59. package/src/Layout/OneColumn.tsx +8 -4
  60. package/src/ProgrammeCard/ProgrammeCard.tsx +1 -1
  61. package/src/SearchTypeResult/SearchHeader.tsx +24 -9
  62. package/src/locale/messages-en.ts +2 -1
  63. package/src/locale/messages-nb.ts +2 -1
  64. package/src/locale/messages-nn.ts +2 -1
  65. package/src/locale/messages-se.ts +2 -1
  66. package/src/locale/messages-sma.ts +2 -1
  67. package/src/types.ts +11 -2
@@ -13,9 +13,10 @@ import { ButtonV2 } from '@ndla/button';
13
13
  import { Spinner } from '@ndla/icons';
14
14
 
15
15
  import SearchFieldHeader from './SearchFieldHeader';
16
- import { CompetenceGoalsItemType } from '../types';
16
+ import { CompetenceGoalsItemType, CoreElementsItemType } from '../types';
17
17
  import CompetenceGoalItem from '../CompetenceGoalTab/CompetenceGoalItem';
18
18
  import SubjectFilters, { SubjectFilterProps } from './components/SubjectFilters';
19
+ import CoreElementItem from '../CompetenceGoalTab/CoreElementItem';
19
20
 
20
21
  const Wrapper = styled.div`
21
22
  margin-top: ${spacing.normal};
@@ -36,13 +37,13 @@ const PhraseWrapper = styled.div`
36
37
  margin: ${spacing.normal} 0 ${spacing.medium};
37
38
  `;
38
39
 
39
- const CompetenceGoalsWrapper = styled.div`
40
+ const GrepCodesWrapper = styled.div`
40
41
  font-size: 16px;
41
42
  width: 100%;
42
43
  margin-top: ${spacing.normal};
43
44
  `;
44
45
 
45
- const CompetenceGoalsList = styled.ul`
46
+ const GrepCodesList = styled.ul`
46
47
  padding: 0;
47
48
  margin: 0;
48
49
  li {
@@ -56,7 +57,7 @@ const PhraseText = styled.div`
56
57
  `;
57
58
  const PhraseSuggestionText = styled.div``;
58
59
 
59
- const GoalsLabel = styled.div`
60
+ const GrepCodesLabel = styled.div`
60
61
  ${fonts.sizes('16px', '32px')};
61
62
  text-transform: uppercase;
62
63
  `;
@@ -69,6 +70,7 @@ type Props = {
69
70
  filters: SubjectFilterProps['filters'];
70
71
  activeFilters?: SubjectFilterProps['activeFilters'];
71
72
  competenceGoals?: CompetenceGoalsItemType[];
73
+ coreElements?: CoreElementsItemType[];
72
74
  onSearchValueChange: (value: string) => void;
73
75
  onSubmit: (event: FormEvent<HTMLFormElement>) => void;
74
76
  noResults?: boolean;
@@ -85,6 +87,7 @@ const SearchHeader = ({
85
87
  activeFilters,
86
88
  filters,
87
89
  competenceGoals,
90
+ coreElements,
88
91
  noResults,
89
92
  loading,
90
93
  }: Props) => {
@@ -143,18 +146,30 @@ const SearchHeader = ({
143
146
  </PhraseSuggestionText>
144
147
  )}
145
148
  {!!competenceGoals?.length && (
146
- <CompetenceGoalsWrapper>
149
+ <GrepCodesWrapper>
147
150
  {competenceGoals?.length && (
148
151
  <>
149
- <GoalsLabel>{t('competenceGoals.competenceGoalItem.title')}</GoalsLabel>
150
- <CompetenceGoalsList>
152
+ <GrepCodesLabel>{t('competenceGoals.competenceGoalItem.title')}</GrepCodesLabel>
153
+ <GrepCodesList>
151
154
  {competenceGoals.map((e) => (
152
155
  <CompetenceGoalItem key={e.id} id={e.id} title={e.title} goals={e.goals} />
153
156
  ))}
154
- </CompetenceGoalsList>
157
+ </GrepCodesList>
155
158
  </>
156
159
  )}
157
- </CompetenceGoalsWrapper>
160
+ </GrepCodesWrapper>
161
+ )}
162
+ {!!coreElements?.length && (
163
+ <GrepCodesWrapper>
164
+ <>
165
+ <GrepCodesLabel>{t('competenceGoals.competenceTabCorelabel')}</GrepCodesLabel>
166
+ <GrepCodesList>
167
+ {coreElements.map((e) => (
168
+ <CoreElementItem key={e.id} id={e.id} title={e.title} text={e.text} url={e.url} />
169
+ ))}
170
+ </GrepCodesList>
171
+ </>
172
+ </GrepCodesWrapper>
158
173
  )}
159
174
  </PhraseWrapper>
160
175
  {isNarrowScreen && (
@@ -490,7 +490,8 @@ const messages = {
490
490
  useCompentenceGoalsFilter: 'Use filter',
491
491
  closeCompentenceGoalsFilter: 'Close filter',
492
492
  competenceGoalsNarrowBackButton: 'Go back',
493
- competenceGoalResourceSearchText: 'View resources to competence goal {{goal}}',
493
+ competenceGoalResourceSearchText: 'View resources to competence goal {{code}}',
494
+ coreResourceSearchText: 'View resources to core element {{code}}',
494
495
  competenceGoalShowExtra: 'Show',
495
496
  competenceGoalCloseExtra: 'Hide',
496
497
  competenceCoreLabel: 'Core element',
@@ -489,7 +489,8 @@ const messages = {
489
489
  useCompentenceGoalsFilter: 'Bruk filter',
490
490
  closeCompentenceGoalsFilter: 'Lukk filter',
491
491
  competenceGoalsNarrowBackButton: 'Tilbake',
492
- competenceGoalResourceSearchText: 'Vis ressurser til kompetansemål {{goal}}',
492
+ competenceGoalResourceSearchText: 'Vis ressurser til kompetansemål {{code}}',
493
+ coreResourceSearchText: 'Vis ressurser til kjerneelement {{code}}',
493
494
  competenceGoalShowExtra: 'Vis støtte til læreplanen',
494
495
  competenceGoalCloseExtra: 'Skjul støtte til læreplanen',
495
496
  competenceCoreLabel: 'Kjerneelement',
@@ -489,7 +489,8 @@ const messages = {
489
489
  useCompentenceGoalsFilter: 'Bruk filter',
490
490
  closeCompentenceGoalsFilter: 'Lukk filter',
491
491
  competenceGoalsNarrowBackButton: 'Tilbake',
492
- competenceGoalResourceSearchText: 'Vis ressursar til kompetansemål {{goal}}',
492
+ competenceGoalResourceSearchText: 'Vis ressursar til kompetansemål {{code}}',
493
+ coreResourceSearchText: 'Vis ressursar til kjerneelement {{code}}',
493
494
  competenceGoalShowExtra: 'Vis støtte til læreplanen',
494
495
  competenceGoalCloseExtra: 'Skjul støtte til læreplanen',
495
496
  competenceCoreLabel: 'Kjerneelement',
@@ -490,7 +490,8 @@ const messages = {
490
490
  useCompentenceGoalsFilter: 'Geavat filtara',
491
491
  closeCompentenceGoalsFilter: 'Govčča filtara',
492
492
  competenceGoalsNarrowBackButton: 'Ruovttoluotta',
493
- competenceGoalResourceSearchText: 'Vis ressursar til kompetansemål {{goal}}',
493
+ competenceGoalResourceSearchText: 'Vis ressursar til kompetansemål {{code}}',
494
+ coreResourceSearchText: 'Vis ressurser til kjerneelement {{code}}',
494
495
  competenceGoalShowExtra: 'Čájet oahppoplána doarjaga',
495
496
  competenceGoalCloseExtra: 'Čiega oahppoplána doarjaga',
496
497
  competenceCoreLabel: 'Guovddášelemeanta',
@@ -490,7 +490,8 @@ const messages = {
490
490
  useCompentenceGoalsFilter: 'Bruk filter',
491
491
  closeCompentenceGoalsFilter: 'Lukk filter',
492
492
  competenceGoalsNarrowBackButton: 'Tilbake',
493
- competenceGoalResourceSearchText: 'Ohtsh gaajhkh vierhtieh mah daan maahtoeålman sjiehtieh',
493
+ competenceGoalResourceSearchText: 'Ohtsh gaajhkh vierhtieh mah daan maahtoeålman sjiehtieh {{code}}',
494
+ coreResourceSearchText: 'Vis ressurser til kjerneelement {{code}}',
494
495
  competenceGoalShowExtra: 'Vuesehth learoesoejkesjen dåarjoem',
495
496
  competenceGoalCloseExtra: 'Tjïekh learoesoejkesjen dåarjoem',
496
497
  competenceCoreLabel: 'Jarngebiehkie',
package/src/types.ts CHANGED
@@ -104,9 +104,12 @@ export type elementRectType = {
104
104
  fromScale: number;
105
105
  };
106
106
 
107
- export type CompetenceGoalsItemType = {
107
+ interface GrepCode {
108
108
  id: string;
109
109
  title: string;
110
+ }
111
+
112
+ export interface CompetenceGoalsItemType extends GrepCode {
110
113
  goals: {
111
114
  id: string;
112
115
  text: string;
@@ -114,7 +117,13 @@ export type CompetenceGoalsItemType = {
114
117
  }[];
115
118
  selected?: boolean;
116
119
  isOembed?: boolean;
117
- };
120
+ }
121
+
122
+ export interface CoreElementsItemType extends GrepCode {
123
+ text?: string;
124
+ url?: string;
125
+ isOembed?: boolean;
126
+ }
118
127
 
119
128
  export type NotionMedia = {
120
129
  type: 'video' | 'other';