@ndla/ui 49.0.1 → 49.0.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.
Files changed (37) hide show
  1. package/es/Gloss/Gloss.js +17 -25
  2. package/es/LanguageSelector/LanguageSelector.js +8 -6
  3. package/es/ResourceGroup/ResourceItem.js +11 -9
  4. package/es/Table/Table.js +10 -10
  5. package/es/all.css +1 -1
  6. package/es/locale/messages-en.js +26 -2
  7. package/es/locale/messages-nb.js +28 -4
  8. package/es/locale/messages-nn.js +30 -6
  9. package/es/locale/messages-se.js +24 -0
  10. package/es/locale/messages-sma.js +27 -3
  11. package/lib/Gloss/Gloss.js +17 -25
  12. package/lib/LanguageSelector/LanguageSelector.d.ts +2 -1
  13. package/lib/LanguageSelector/LanguageSelector.js +8 -6
  14. package/lib/ResourceGroup/ResourceItem.d.ts +2 -1
  15. package/lib/ResourceGroup/ResourceItem.js +11 -9
  16. package/lib/Table/Table.js +10 -10
  17. package/lib/all.css +1 -1
  18. package/lib/locale/messages-en.d.ts +24 -0
  19. package/lib/locale/messages-en.js +26 -2
  20. package/lib/locale/messages-nb.d.ts +24 -0
  21. package/lib/locale/messages-nb.js +28 -4
  22. package/lib/locale/messages-nn.d.ts +24 -0
  23. package/lib/locale/messages-nn.js +30 -6
  24. package/lib/locale/messages-se.d.ts +24 -0
  25. package/lib/locale/messages-se.js +24 -0
  26. package/lib/locale/messages-sma.d.ts +24 -0
  27. package/lib/locale/messages-sma.js +27 -3
  28. package/package.json +18 -18
  29. package/src/Gloss/Gloss.tsx +21 -8
  30. package/src/LanguageSelector/LanguageSelector.tsx +9 -2
  31. package/src/ResourceGroup/ResourceItem.tsx +8 -1
  32. package/src/Table/Table.tsx +1 -0
  33. package/src/locale/messages-en.ts +26 -2
  34. package/src/locale/messages-nb.ts +28 -4
  35. package/src/locale/messages-nn.ts +30 -6
  36. package/src/locale/messages-se.ts +25 -0
  37. package/src/locale/messages-sma.ts +27 -3
@@ -17,6 +17,7 @@ interface Props<T extends string> {
17
17
  locales: T[];
18
18
  onSelect: (locale: T) => void;
19
19
  inverted?: boolean;
20
+ triggerId?: string;
20
21
  }
21
22
 
22
23
  const StyledDropdownContent = styled(DropdownContent)`
@@ -60,12 +61,18 @@ const Text = styled.span`
60
61
  font-weight: ${fonts.weight.semibold};
61
62
  `;
62
63
 
63
- const LanguageSelector = <T extends string>({ locales, onSelect, inverted }: Props<T>) => {
64
+ const LanguageSelector = <T extends string>({ locales, onSelect, inverted, triggerId }: Props<T>) => {
64
65
  const { t, i18n } = useTranslation();
65
66
  return (
66
67
  <DropdownMenu>
67
68
  <DropdownTrigger>
68
- <ButtonV2 variant="outline" shape="pill" inverted={inverted} aria-label={t('footer.selectLanguage')}>
69
+ <ButtonV2
70
+ variant="outline"
71
+ shape="pill"
72
+ inverted={inverted}
73
+ aria-label={t('footer.selectLanguage')}
74
+ id={triggerId}
75
+ >
69
76
  {t(`languages.prefixChangeLanguage`)} <ChevronDown />
70
77
  </ButtonV2>
71
78
  </DropdownTrigger>
@@ -188,6 +188,7 @@ interface Props {
188
188
  contentTypeDescription?: string;
189
189
  extraBottomMargin?: boolean;
190
190
  showAdditionalResources?: boolean;
191
+ language?: string;
191
192
  access?: 'teacher';
192
193
  heartButton?: (path: string) => ReactNode;
193
194
  }
@@ -212,6 +213,7 @@ const ResourceItem = ({
212
213
  additional,
213
214
  showAdditionalResources,
214
215
  access,
216
+ language,
215
217
  heartButton,
216
218
  }: Props & Resource) => {
217
219
  const { t } = useTranslation();
@@ -238,7 +240,12 @@ const ResourceItem = ({
238
240
  <ContentTypeBadge type={contentType ?? ''} background border={false} />
239
241
  </ContentBadgeWrapper>
240
242
  <InlineContainer>
241
- <ResourceLink to={path} aria-current={active ? 'page' : undefined} aria-describedby={describedBy}>
243
+ <ResourceLink
244
+ to={path}
245
+ lang={language}
246
+ aria-current={active ? 'page' : undefined}
247
+ aria-describedby={describedBy}
248
+ >
242
249
  {name}
243
250
  </ResourceLink>
244
251
  {active ? <CurrentSmall>{t('resource.youAreHere')}</CurrentSmall> : undefined}
@@ -205,6 +205,7 @@ const TableWrapper = styled.div`
205
205
  `;
206
206
 
207
207
  const OverflowWrapper = styled.div`
208
+ position: relative;
208
209
  overflow-x: auto;
209
210
  `;
210
211
 
@@ -537,6 +537,7 @@ const messages = {
537
537
  files: 'Files',
538
538
  embedlink: 'Embedded link',
539
539
  concept: 'Concepts',
540
+ gloss: 'Glosses',
540
541
  podcast: 'Podcast',
541
542
  other: 'Other content',
542
543
  },
@@ -611,6 +612,18 @@ const messages = {
611
612
  hasCopiedTitle: 'Embed link copied',
612
613
  },
613
614
  },
615
+ gloss: {
616
+ heading: 'How to reuse gloss content',
617
+ description: 'Remember that built-in content might have a different license than the gloss text',
618
+ rules: 'Rules for use of gloss:',
619
+ title: 'Title',
620
+ embedlink: {
621
+ heading: 'How to show the gloss in other content',
622
+ description: 'This url shows the gloss without menu and footer',
623
+ copyTitle: 'Copy embed link',
624
+ hasCopiedTitle: 'Embed link copied',
625
+ },
626
+ },
614
627
  files: {
615
628
  heading: 'How to reuse files',
616
629
  description: 'Remember to copy the text to be attached to the file where you use it.',
@@ -1023,8 +1036,8 @@ const messages = {
1023
1036
  heading: 'Text version',
1024
1037
  close: 'Close text version',
1025
1038
  },
1026
- readMoreDescriptionLabel: 'show more',
1027
- readLessDescriptionLabel: 'show less',
1039
+ readMoreDescriptionLabel: 'Show more',
1040
+ readLessDescriptionLabel: 'Show less',
1028
1041
  },
1029
1042
  h5p: {
1030
1043
  reuse: 'Use H5P',
@@ -1294,6 +1307,17 @@ const messages = {
1294
1307
  option1: 'Show my name when I share a folder',
1295
1308
  option2: 'Do not show my name when I share a folder',
1296
1309
  },
1310
+ modalTexts: {
1311
+ title: 'Upload a new profile picture',
1312
+ uploadSection: {
1313
+ title: 'Drag and drop',
1314
+ subTitle: 'or press to upload picture',
1315
+ },
1316
+ fileName: 'Uploaded file:',
1317
+ fileTypes: 'Accepted file types: PNG, JPG (Max 5MB)',
1318
+ savePicture: 'Save profile picture',
1319
+ deletePicture: 'Delete profile picture',
1320
+ },
1297
1321
  },
1298
1322
  resource: {
1299
1323
  add: 'Add folder/tag',
@@ -551,6 +551,7 @@ const messages = {
551
551
  files: 'Filer',
552
552
  embedlink: 'Innbyggingslenke',
553
553
  concept: 'Forklaringer',
554
+ gloss: 'Gloser',
554
555
  podcast: 'Podkast',
555
556
  other: 'Annet innhold',
556
557
  },
@@ -625,6 +626,18 @@ const messages = {
625
626
  hasCopiedTitle: 'Innbyggingslenke kopiert',
626
627
  },
627
628
  },
629
+ gloss: {
630
+ heading: 'Slik gjenbruker du gloser',
631
+ description: 'Husk at innebygd innhold i en glose kan ha en annen lisens enn selve gloseteksten',
632
+ rules: 'Regler for bruk av glose:',
633
+ title: 'Tittel',
634
+ embedlink: {
635
+ heading: 'Slik viser du glosen i annet innhold',
636
+ description: 'Denne lenken viser glosen uten kontekst (meny og bunntekst)',
637
+ copyTitle: 'Kopier innbyggingslenke',
638
+ hasCopiedTitle: 'Innbyggingslenke kopiert',
639
+ },
640
+ },
628
641
  files: {
629
642
  heading: 'Slik gjenbruker du filer',
630
643
  description: 'Husk å kopier teksten som skal legges ved filen der du bruker den.',
@@ -1009,11 +1022,11 @@ const messages = {
1009
1022
  download: 'Last ned lydfil',
1010
1023
  reuse: 'Bruk lydfil',
1011
1024
  error: {
1012
- url: 'Feil ved lasting av lydfila.',
1025
+ url: 'Feil ved lasting av lydfil.',
1013
1026
  caption: 'Beklager, en feil oppstod ved lasting av lydfil.',
1014
1027
  },
1015
1028
  controls: {
1016
- forward15sec: 'Spol 15 sekunder frem',
1029
+ forward15sec: 'Spol 15 sekunder fram',
1017
1030
  rewind15sec: 'Spol 15 sekunder tilbake',
1018
1031
  selectSpeed: 'Velg avspillingshastighet',
1019
1032
  adjustVolume: 'Endre volum',
@@ -1022,8 +1035,8 @@ const messages = {
1022
1035
  heading: 'Tekstversjon',
1023
1036
  close: 'Lukk tekstversjon',
1024
1037
  },
1025
- readMoreDescriptionLabel: 'vis mer',
1026
- readLessDescriptionLabel: 'vis mindre',
1038
+ readMoreDescriptionLabel: 'Vis mer',
1039
+ readLessDescriptionLabel: 'Vis mindre',
1027
1040
  },
1028
1041
  h5p: {
1029
1042
  reuse: 'Bruk H5P',
@@ -1293,6 +1306,17 @@ const messages = {
1293
1306
  option1: 'Vis navnet mitt når jeg deler en mappe',
1294
1307
  option2: 'Ikke vis navnet mitt når jeg deler mappe',
1295
1308
  },
1309
+ modalTexts: {
1310
+ title: 'Last opp nytt profilbilde',
1311
+ uploadSection: {
1312
+ title: 'Dra og slipp',
1313
+ subTitle: 'eller trykk for å laste opp bilde',
1314
+ },
1315
+ fileName: 'Opplastet fil:',
1316
+ fileTypes: 'Godkjente filtyper: PNG, JPG (Maks 5MB)',
1317
+ savePicture: 'Lagre profilbilde',
1318
+ deletePicture: 'Slett profilbilde',
1319
+ },
1296
1320
  },
1297
1321
  resource: {
1298
1322
  add: 'Legg til mappe/emneknagg',
@@ -551,6 +551,7 @@ const messages = {
551
551
  files: 'Filer',
552
552
  embedlink: 'Innbyggingslenke',
553
553
  concept: 'Forklaringar',
554
+ gloss: 'Glosar',
554
555
  podcast: 'Podkast',
555
556
  other: 'Anna innhald',
556
557
  },
@@ -625,6 +626,18 @@ const messages = {
625
626
  rules: 'Reglar for bruk av forklaring:',
626
627
  title: 'Tittel',
627
628
  },
629
+ gloss: {
630
+ embedlink: {
631
+ heading: 'Slik viser du glosen i anna innhald',
632
+ description: 'Denne lenka viser glosen utan kontekst (meny og botntekst)',
633
+ copyTitle: 'Kopier innbyggingslenke',
634
+ hasCopiedTitle: 'Innbyggingslenke kopiert',
635
+ },
636
+ heading: 'Slik gjenbruker du gloser',
637
+ description: 'Husk at innebygd innhald i ei glose kan ha ein anna lisens enn sjølve gloseteksten',
638
+ rules: 'Regler for bruk av glose:',
639
+ title: 'Tittel',
640
+ },
628
641
  files: {
629
642
  heading: 'Slik gjenbruker du filer',
630
643
  description: 'Hugs å kopiere teksten som skal leggjast ved fila der du bruker ho.',
@@ -1004,17 +1017,17 @@ const messages = {
1004
1017
  },
1005
1018
  },
1006
1019
  audio: {
1007
- play: 'Spill av',
1020
+ play: 'Spel av',
1008
1021
  pause: 'Pause',
1009
1022
  download: 'Last ned lydfil',
1010
1023
  reuse: 'Bruk lydfil',
1011
1024
  error: {
1012
- url: 'Feil ved lasting av lydfila.',
1025
+ url: 'Feil ved lasting av lydfil.',
1013
1026
  caption: 'Orsak, ein feil oppstod ved lasting av lydfil.',
1014
1027
  },
1015
1028
  controls: {
1016
- forward15sec: 'Spol 15 sekundar fram',
1017
- rewind15sec: 'Spol 15 sekundar tilbake',
1029
+ forward15sec: 'Spol 15 sekund fram',
1030
+ rewind15sec: 'Spol 15 sekund tilbake',
1018
1031
  selectSpeed: 'Velg avspelingshastigheit',
1019
1032
  adjustVolume: 'Endre volum',
1020
1033
  },
@@ -1022,8 +1035,8 @@ const messages = {
1022
1035
  heading: 'Tekstversjon',
1023
1036
  close: 'Lukk tekstversjon',
1024
1037
  },
1025
- readMoreDescriptionLabel: 'vis meir',
1026
- readLessDescriptionLabel: 'vis mindre',
1038
+ readMoreDescriptionLabel: 'Vis meir',
1039
+ readLessDescriptionLabel: 'Vis mindre',
1027
1040
  },
1028
1041
  h5p: {
1029
1042
  reuse: 'Bruk H5P',
@@ -1293,6 +1306,17 @@ const messages = {
1293
1306
  option1: 'Vis namnet mitt når eg deler ei mappe',
1294
1307
  option2: 'Ikkje vis namnet mitt når eg deler mappe',
1295
1308
  },
1309
+ modalTexts: {
1310
+ title: 'Last opp nytt profilbilete',
1311
+ uploadSection: {
1312
+ title: 'Dra og slepp',
1313
+ subTitle: 'eller trykk for å lasta opp bilete',
1314
+ },
1315
+ fileName: 'Opplasta fil:',
1316
+ fileTypes: 'Godkjente filtyper: PNG, JPG (Maks 5MB)',
1317
+ savePicture: 'Lagre profilbilete',
1318
+ deletePicture: 'Slett profilbilete',
1319
+ },
1296
1320
  },
1297
1321
  resource: {
1298
1322
  add: 'Legg til mappe/emneknagg',
@@ -552,6 +552,7 @@ const messages = {
552
552
  files: 'Fiillat',
553
553
  embedlink: 'Sisahuksenliŋka',
554
554
  concept: 'Čilgehusat',
555
+ gloss: 'Gloser',
555
556
  podcast: 'Podkásta',
556
557
  other: 'Eará sisdoallu',
557
558
  },
@@ -626,6 +627,19 @@ const messages = {
626
627
  hasCopiedTitle: 'Sisahuksenliŋka máŋgejuvvon',
627
628
  },
628
629
  },
630
+ gloss: {
631
+ heading: 'Movt geavahit ođđasit dajaldagaid',
632
+ description:
633
+ 'Muitte ahte sisdoalus mii lea vuojuhuvvon ovtta gihppagii sáhttá leat eará liseansa go dušše jietnadat.',
634
+ rules: 'Glossa geavaheami njuolggadusat:',
635
+ title: 'Namahus',
636
+ embedlink: {
637
+ heading: 'Čájet jietnadaga eará sisdoaluin',
638
+ description: 'Dát liŋka čájeha teavstta konteavstta haga (fállu ja juolgeteaksta)',
639
+ copyTitle: 'Máŋge sisačálihanliŋkka',
640
+ hasCopiedTitle: 'Sajáiduhttinliŋka mángejuvvon',
641
+ },
642
+ },
629
643
  files: {
630
644
  heading: 'Ná geavahat fiillaid ođđasit',
631
645
  description: 'Muitte máŋget teavsttaid mat galget čuovvut fiillaid doppe gos dat geavahuvvet.',
@@ -1290,6 +1304,17 @@ const messages = {
1290
1304
  option1: 'Čájet mu nama máhpa juohkkedettiin',
1291
1305
  option2: 'Ale čájet mu nama máhpa juohkkedettiin',
1292
1306
  },
1307
+ modalTexts: {
1308
+ title: 'Viečča ođđa profiila gova',
1309
+ uploadSection: {
1310
+ title: 'Gease ja luoitte',
1311
+ subTitle: 'dahje coahkkal vai viežžat gova',
1312
+ },
1313
+ fileName: 'Sáddejuvvon fiila:',
1314
+ fileTypes: 'Dohkkehuvvon fiilašlájat: PNG, JPG (Máksá 5MB)',
1315
+ savePicture: 'Vurke profiilagova',
1316
+ deletePicture: 'Sihko profiilagova',
1317
+ },
1293
1318
  },
1294
1319
  resource: {
1295
1320
  add: 'Lasit máhpa/fáddágilkora',
@@ -552,6 +552,7 @@ const messages = {
552
552
  files: 'Fijlh',
553
553
  embedlink: 'Sïjsebïejemesvaalhtese',
554
554
  concept: 'Buerkiestimmieh',
555
+ gloss: 'Glosa',
555
556
  podcast: 'Podkast',
556
557
  other: 'Jeatjah sisvege',
557
558
  },
@@ -628,6 +629,18 @@ const messages = {
628
629
  hasCopiedTitle: 'Innbyggingslenke kopiert',
629
630
  },
630
631
  },
632
+ gloss: {
633
+ heading: 'Naemhtie gïelem ikth vielie nåhtadidh',
634
+ description: 'Mujhtieh sisvege aktene raajesisnie maahta jeatjah lisensem utnedh enn jïjtjehke raajesisnie',
635
+ rules: 'Njoelkedassh guktie diejvesem nåhtadidh:',
636
+ title: 'Tihtele',
637
+ embedlink: {
638
+ heading: 'Naemhtie gïelem jeatjah sisvegisnie vuesehte',
639
+ description: 'Daate lïenghke vuesehte tjoejh konteksten namhtah (meny jïh nueliekapihtele)',
640
+ copyTitle: 'Kopijerh svaalhtesem sïjse loggedh',
641
+ hasCopiedTitle: 'Bigkeme svaalhtese kopijeradamme',
642
+ },
643
+ },
631
644
  files: {
632
645
  heading: 'Slik gjenbruker du filer',
633
646
  description:
@@ -1026,8 +1039,8 @@ const messages = {
1026
1039
  heading: 'Teeksteversjovne',
1027
1040
  close: 'Dahph teeksteversjovnem',
1028
1041
  },
1029
- readMoreDescriptionLabel: 'vis mer',
1030
- readLessDescriptionLabel: 'vis mindre',
1042
+ readMoreDescriptionLabel: 'Vis mer',
1043
+ readLessDescriptionLabel: 'Vis mindre',
1031
1044
  },
1032
1045
  h5p: {
1033
1046
  reuse: 'Bruk H5P',
@@ -1295,6 +1308,17 @@ const messages = {
1295
1308
  option1: 'Vuesehth mov nommem gosse maabpam juekieh',
1296
1309
  option2: 'Aellieh mov nommem vuesehth gosse maabpam juekieh',
1297
1310
  },
1311
+ modalTexts: {
1312
+ title: 'Orre profijleguvviem bæjhkoehtidh',
1313
+ uploadSection: {
1314
+ title: 'Gïesh jïh luajhth',
1315
+ subTitle: 'jallh diedtieh juktie guvviem bæjjese vaeltedh',
1316
+ },
1317
+ fileName: 'Bijjiedamme tjaatsege:',
1318
+ fileTypes: 'Nænnoestamme tjaatsegh: PNG , JPG (Maakseme 5 MB)',
1319
+ savePicture: 'Vurkehth profijleguvviem',
1320
+ deletePicture: 'Prefikse guvviem sliejhtedh',
1321
+ },
1298
1322
  },
1299
1323
  resource: {
1300
1324
  add: 'Legg til mappe/emneknagg',
@@ -1370,7 +1394,7 @@ const messages = {
1370
1394
  concept: 'Forklaring',
1371
1395
  h5p: 'H5P',
1372
1396
  external: 'Ekstern ressurs',
1373
- gloss: 'Glose',
1397
+ gloss: 'Glosa',
1374
1398
  },
1375
1399
  },
1376
1400
  gloss: {