@ndla/ui 34.0.0 → 34.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.
- package/es/Figure/Figure.js +3 -2
- package/es/FileList/File.js +6 -6
- package/es/LanguageSelector/LanguageSelector.js +67 -99
- package/es/NDLAFilm/AboutNdlaFilm.js +13 -12
- package/es/NDLAFilm/AllMoviesAlphabetically.js +79 -144
- package/es/NDLAFilm/FilmContentCard.js +41 -26
- package/es/NDLAFilm/FilmContentCardTags.js +5 -3
- package/es/NDLAFilm/FilmMovieList.js +13 -8
- package/es/NDLAFilm/FilmMovieSearch.js +6 -5
- package/es/NDLAFilm/FilmSlideshow.js +44 -20
- package/es/NDLAFilm/filmStyles.js +2 -2
- package/es/ResourceGroup/ResourceItem.js +72 -48
- package/es/ResourceGroup/ResourceList.js +4 -3
- package/es/Search/ActiveFilterContent.js +6 -5
- package/es/Search/ContentTypeResult.js +6 -3
- package/es/SearchTypeResult/ActiveFilterContent.js +9 -10
- package/es/Topic/Topic.js +171 -213
- package/es/all.css +1 -1
- package/es/locale/messages-en.js +3 -1
- package/es/locale/messages-nb.js +3 -1
- package/es/locale/messages-nn.js +7 -5
- package/es/locale/messages-se.js +2 -0
- package/es/locale/messages-sma.js +3 -1
- package/lib/Figure/Figure.d.ts +2 -1
- package/lib/Figure/Figure.js +3 -2
- package/lib/FileList/File.js +6 -6
- package/lib/LanguageSelector/LanguageSelector.d.ts +6 -15
- package/lib/LanguageSelector/LanguageSelector.js +64 -99
- package/lib/NDLAFilm/AboutNdlaFilm.js +11 -14
- package/lib/NDLAFilm/AllMoviesAlphabetically.d.ts +1 -2
- package/lib/NDLAFilm/AllMoviesAlphabetically.js +77 -142
- package/lib/NDLAFilm/FilmContentCard.d.ts +7 -0
- package/lib/NDLAFilm/FilmContentCard.js +41 -26
- package/lib/NDLAFilm/FilmContentCardTags.d.ts +2 -1
- package/lib/NDLAFilm/FilmContentCardTags.js +5 -3
- package/lib/NDLAFilm/FilmMovieList.js +12 -7
- package/lib/NDLAFilm/FilmMovieSearch.js +5 -4
- package/lib/NDLAFilm/FilmSlideshow.js +44 -20
- package/lib/NDLAFilm/filmStyles.js +2 -2
- package/lib/Resource/resourceComponents.d.ts +1 -1
- package/lib/ResourceGroup/ResourceItem.d.ts +2 -2
- package/lib/ResourceGroup/ResourceItem.js +72 -48
- package/lib/ResourceGroup/ResourceList.js +4 -3
- package/lib/Search/ActiveFilterContent.d.ts +1 -1
- package/lib/Search/ActiveFilterContent.js +9 -5
- package/lib/Search/ContentTypeResult.js +6 -3
- package/lib/SearchTypeResult/ActiveFilterContent.d.ts +1 -1
- package/lib/SearchTypeResult/ActiveFilterContent.js +12 -10
- package/lib/Topic/Topic.js +170 -215
- package/lib/all.css +1 -1
- package/lib/locale/messages-en.d.ts +2 -0
- package/lib/locale/messages-en.js +3 -1
- package/lib/locale/messages-nb.d.ts +2 -0
- package/lib/locale/messages-nb.js +3 -1
- package/lib/locale/messages-nn.d.ts +4 -2
- package/lib/locale/messages-nn.js +7 -5
- package/lib/locale/messages-se.d.ts +2 -0
- package/lib/locale/messages-se.js +2 -0
- package/lib/locale/messages-sma.d.ts +2 -0
- package/lib/locale/messages-sma.js +3 -1
- package/package.json +15 -14
- package/src/Figure/Figure.tsx +6 -2
- package/src/FileList/File.tsx +4 -4
- package/src/LanguageSelector/LanguageSelector.stories.tsx +48 -0
- package/src/LanguageSelector/LanguageSelector.tsx +70 -149
- package/src/NDLAFilm/AboutNdlaFilm.tsx +11 -14
- package/src/NDLAFilm/AllMoviesAlphabetically.tsx +44 -160
- package/src/NDLAFilm/FilmContentCard.tsx +40 -21
- package/src/NDLAFilm/FilmContentCardTags.tsx +3 -2
- package/src/NDLAFilm/FilmMovieList.tsx +14 -7
- package/src/NDLAFilm/FilmMovieSearch.tsx +2 -2
- package/src/NDLAFilm/FilmSlideshow.tsx +49 -40
- package/src/NDLAFilm/filmStyles.ts +1 -1
- package/src/ResourceGroup/ResourceItem.tsx +79 -94
- package/src/ResourceGroup/ResourceList.tsx +2 -0
- package/src/Search/ActiveFilterContent.tsx +4 -3
- package/src/Search/ContentTypeResult.tsx +3 -1
- package/src/SearchTypeResult/ActiveFilterContent.tsx +7 -8
- package/src/Topic/Topic.tsx +166 -193
- package/src/locale/messages-en.ts +3 -1
- package/src/locale/messages-nb.ts +3 -1
- package/src/locale/messages-nn.ts +5 -4
- package/src/locale/messages-se.ts +2 -0
- package/src/locale/messages-sma.ts +3 -1
- package/src/main.scss +0 -1
- package/es/LanguageSelector/LanguageSelectorContent.js +0 -61
- package/es/Subject/SubjectCarousel.js +0 -133
- package/lib/LanguageSelector/LanguageSelectorContent.d.ts +0 -15
- package/lib/LanguageSelector/LanguageSelectorContent.js +0 -68
- package/lib/Subject/SubjectCarousel.d.ts +0 -18
- package/lib/Subject/SubjectCarousel.js +0 -138
- package/src/LanguageSelector/LanguageSelectorContent.tsx +0 -80
- package/src/NDLAFilm/component.film-movielist.scss +0 -105
- package/src/Subject/SubjectCarousel.tsx +0 -162
|
@@ -934,6 +934,7 @@ declare const messages: {
|
|
|
934
934
|
copyCode: string;
|
|
935
935
|
};
|
|
936
936
|
ndlaFilm: {
|
|
937
|
+
heading: string;
|
|
937
938
|
slideBackwardsLabel: string;
|
|
938
939
|
slideForwardsLabel: string;
|
|
939
940
|
movieMatchInCategory: string;
|
|
@@ -980,6 +981,7 @@ declare const messages: {
|
|
|
980
981
|
shortFilm: string;
|
|
981
982
|
all: string;
|
|
982
983
|
};
|
|
984
|
+
allMovieGroupTitleLabel: string;
|
|
983
985
|
moreAboutNdlaFilm: {
|
|
984
986
|
header: string;
|
|
985
987
|
firstParagraph: string;
|
|
@@ -399,7 +399,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
399
399
|
article: {
|
|
400
400
|
edition: 'Edition',
|
|
401
401
|
publisher: 'Publisher',
|
|
402
|
-
lastUpdated: 'Last
|
|
402
|
+
lastUpdated: 'Last revised date',
|
|
403
403
|
closeLabel: 'Close',
|
|
404
404
|
useContent: 'Cite or use',
|
|
405
405
|
additionalLabel: 'Additional content',
|
|
@@ -729,6 +729,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
729
729
|
copyCode: 'Copy code'
|
|
730
730
|
},
|
|
731
731
|
ndlaFilm: {
|
|
732
|
+
heading: 'NDLA film',
|
|
732
733
|
slideBackwardsLabel: 'Scroll backwards',
|
|
733
734
|
slideForwardsLabel: 'Scroll forwards',
|
|
734
735
|
movieMatchInCategory: 'Matches',
|
|
@@ -775,6 +776,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
775
776
|
shortFilm: 'Short film',
|
|
776
777
|
all: 'All movies A-Z'
|
|
777
778
|
},
|
|
779
|
+
allMovieGroupTitleLabel: 'Movies starting with {{letter}}',
|
|
778
780
|
moreAboutNdlaFilm: {
|
|
779
781
|
header: 'NDLA Film',
|
|
780
782
|
firstParagraph: "The films in the film service are taken from Norwegian and international film heritage and are linked to curricula in several subjects. They have been selected by NDLA's editors in collaboration with Norgesfilm AS.",
|
|
@@ -934,6 +934,7 @@ declare const messages: {
|
|
|
934
934
|
copyCode: string;
|
|
935
935
|
};
|
|
936
936
|
ndlaFilm: {
|
|
937
|
+
heading: string;
|
|
937
938
|
slideBackwardsLabel: string;
|
|
938
939
|
slideForwardsLabel: string;
|
|
939
940
|
movieMatchInCategory: string;
|
|
@@ -980,6 +981,7 @@ declare const messages: {
|
|
|
980
981
|
shortFilm: string;
|
|
981
982
|
all: string;
|
|
982
983
|
};
|
|
984
|
+
allMovieGroupTitleLabel: string;
|
|
983
985
|
moreAboutNdlaFilm: {
|
|
984
986
|
header: string;
|
|
985
987
|
firstParagraph: string;
|
|
@@ -397,7 +397,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
397
397
|
frontPageExpired: 'Utgåtte fag undervises det ikke i lenger, men det kan fortsatt være mulig å ta eksamen i faga som privatist.'
|
|
398
398
|
},
|
|
399
399
|
article: {
|
|
400
|
-
lastUpdated: 'Sist oppdatert',
|
|
400
|
+
lastUpdated: 'Sist faglig oppdatert',
|
|
401
401
|
edition: 'Utgave',
|
|
402
402
|
publisher: 'Utgiver',
|
|
403
403
|
useContent: 'Regler for bruk',
|
|
@@ -729,6 +729,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
729
729
|
copyCode: 'Kopier kode til utklippstavle'
|
|
730
730
|
},
|
|
731
731
|
ndlaFilm: {
|
|
732
|
+
heading: 'NDLA film',
|
|
732
733
|
slideBackwardsLabel: 'Scroll bakover',
|
|
733
734
|
slideForwardsLabel: 'Scroll fremover',
|
|
734
735
|
movieMatchInCategory: 'Treff',
|
|
@@ -775,6 +776,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
775
776
|
shortFilm: 'Kortfilm',
|
|
776
777
|
all: 'Alle filmer A-Å'
|
|
777
778
|
},
|
|
779
|
+
allMovieGroupTitleLabel: 'Filmer som starter på {{letter}}',
|
|
778
780
|
moreAboutNdlaFilm: {
|
|
779
781
|
header: 'NDLA Film',
|
|
780
782
|
firstParagraph: 'Filmene i filmtjenesten er hentet fra norsk og internasjonal filmarv og kobles mot læreplaner i flere fag. De er valgt ut av NDLAs redaksjoner i samarbeid med Norgesfilm AS.',
|
|
@@ -491,6 +491,7 @@ declare const messages: {
|
|
|
491
491
|
name: string;
|
|
492
492
|
};
|
|
493
493
|
};
|
|
494
|
+
errorDescription: string;
|
|
494
495
|
film: {
|
|
495
496
|
header: string;
|
|
496
497
|
text: string;
|
|
@@ -498,7 +499,6 @@ declare const messages: {
|
|
|
498
499
|
linkLabel: string;
|
|
499
500
|
};
|
|
500
501
|
blog: string;
|
|
501
|
-
errorDescription: string;
|
|
502
502
|
};
|
|
503
503
|
toolboxPage: {
|
|
504
504
|
introduction: string;
|
|
@@ -567,8 +567,8 @@ declare const messages: {
|
|
|
567
567
|
error: string;
|
|
568
568
|
noCoreResourcesAvailableUnspecific: string;
|
|
569
569
|
noCoreResourcesAvailable: string;
|
|
570
|
-
toggleFilterLabel: string;
|
|
571
570
|
activateAdditionalResources: string;
|
|
571
|
+
toggleFilterLabel: string;
|
|
572
572
|
label: string;
|
|
573
573
|
allResources: string;
|
|
574
574
|
shortcutButtonText: string;
|
|
@@ -934,6 +934,7 @@ declare const messages: {
|
|
|
934
934
|
copyCode: string;
|
|
935
935
|
};
|
|
936
936
|
ndlaFilm: {
|
|
937
|
+
heading: string;
|
|
937
938
|
slideBackwardsLabel: string;
|
|
938
939
|
slideForwardsLabel: string;
|
|
939
940
|
movieMatchInCategory: string;
|
|
@@ -980,6 +981,7 @@ declare const messages: {
|
|
|
980
981
|
shortFilm: string;
|
|
981
982
|
all: string;
|
|
982
983
|
};
|
|
984
|
+
allMovieGroupTitleLabel: string;
|
|
983
985
|
moreAboutNdlaFilm: {
|
|
984
986
|
header: string;
|
|
985
987
|
firstParagraph: string;
|
|
@@ -295,14 +295,14 @@ var messages = _objectSpread(_objectSpread({
|
|
|
295
295
|
name: 'Følg oss'
|
|
296
296
|
}
|
|
297
297
|
},
|
|
298
|
+
errorDescription: 'Orsak, ein feil oppstod under lasting av faga.',
|
|
298
299
|
film: {
|
|
299
300
|
header: 'NDLA film',
|
|
300
301
|
text: 'NDLA film er ei teneste i samarbeid med Norgesfilm. Denne tenesta lar deg sjå ei rekkje spelefilmar, kortfilmar, dokumentarar og seriar. Du kan òg sjå undervisningsfilm og filmklipp. Velkomen inn i filmen si verd!',
|
|
301
302
|
textShort: 'Velkomen inn i filmen si verd!',
|
|
302
303
|
linkLabel: 'Gå til NDLA film'
|
|
303
304
|
},
|
|
304
|
-
blog: 'Frå bloggen'
|
|
305
|
-
errorDescription: 'Orsak, ein feil oppstod under lasting av faga.'
|
|
305
|
+
blog: 'Frå bloggen'
|
|
306
306
|
},
|
|
307
307
|
toolboxPage: {
|
|
308
308
|
introduction: 'Kva vil det seie å arbeide utforskande? Korleis kan du lære betre? Kva skal til for å få gruppearbeid til å fungere? I Verktøykassa finn både elevar og lærerar ressursar som er aktuelle for alle fag, og som støtter opp under læringsarbeid og utvikling av kunnskap, ferdigheter og forståing.'
|
|
@@ -350,7 +350,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
350
350
|
back: 'Tilbake',
|
|
351
351
|
additionalFilterLabel: 'Tilleggsressursar',
|
|
352
352
|
contentTypeResultsShowMore: (_contentTypeResultsSh = {}, _defineProperty(_contentTypeResultsSh, contentTypes.SUBJECT_MATERIAL, 'Vis meir fagstoff'), _defineProperty(_contentTypeResultsSh, contentTypes.TASKS_AND_ACTIVITIES, 'Vis fleire oppgåver og aktivitetar'), _defineProperty(_contentTypeResultsSh, contentTypes.LEARNING_PATH, 'Vis fleire læringsstiar'), _defineProperty(_contentTypeResultsSh, contentTypes.ASSESSMENT_RESOURCES, 'Vis fleire vurderingsressursar'), _defineProperty(_contentTypeResultsSh, contentTypes.SOURCE_MATERIAL, 'Vis fleire kjeldemateriale'), _defineProperty(_contentTypeResultsSh, contentTypes.EXTERNAL_LEARNING_RESOURCES, 'Vis fleire eksterne læringsressursar'), _defineProperty(_contentTypeResultsSh, "unGrouped", 'Vis fleire ressursar'), _contentTypeResultsSh),
|
|
353
|
-
contentTypeResultsShowLess: (_contentTypeResultsSh2 = {}, _defineProperty(_contentTypeResultsSh2, contentTypes.SUBJECT_MATERIAL, 'Vis mindre fagstoff'), _defineProperty(_contentTypeResultsSh2, contentTypes.TASKS_AND_ACTIVITIES, 'Vis færre oppgåver og aktivitetar'), _defineProperty(_contentTypeResultsSh2, contentTypes.LEARNING_PATH, 'Vis færre læringsstiar'), _defineProperty(_contentTypeResultsSh2, contentTypes.
|
|
353
|
+
contentTypeResultsShowLess: (_contentTypeResultsSh2 = {}, _defineProperty(_contentTypeResultsSh2, contentTypes.SUBJECT_MATERIAL, 'Vis mindre fagstoff'), _defineProperty(_contentTypeResultsSh2, contentTypes.TASKS_AND_ACTIVITIES, 'Vis færre oppgåver og aktivitetar'), _defineProperty(_contentTypeResultsSh2, contentTypes.LEARNING_PATH, 'Vis færre læringsstiar'), _defineProperty(_contentTypeResultsSh2, contentTypes.ASSESSMENT_RESOURCES, 'Vis færre vurderingsressursar'), _defineProperty(_contentTypeResultsSh2, contentTypes.SOURCE_MATERIAL, 'Vis færre kjeldemateriale'), _defineProperty(_contentTypeResultsSh2, contentTypes.EXTERNAL_LEARNING_RESOURCES, 'Vis færre eksterne læringsressursar'), _defineProperty(_contentTypeResultsSh2, "unGrouped", 'Vis færre ressursar'), _contentTypeResultsSh2),
|
|
354
354
|
contentTypeResultsNoHit: (_contentTypeResultsNo = {}, _defineProperty(_contentTypeResultsNo, contentTypes.SUBJECT_MATERIAL, 'Ikkje noko fagstoff'), _defineProperty(_contentTypeResultsNo, contentTypes.TASKS_AND_ACTIVITIES, 'Ingen oppgåver'), _defineProperty(_contentTypeResultsNo, contentTypes.LEARNING_PATH, 'Ingen læringsstiar'), _defineProperty(_contentTypeResultsNo, contentTypes.ASSESSMENT_RESOURCES, 'Ingen vurderingsressursar'), _defineProperty(_contentTypeResultsNo, contentTypes.SOURCE_MATERIAL, 'Ingen kjeldemateriale'), _defineProperty(_contentTypeResultsNo, contentTypes.EXTERNAL_LEARNING_RESOURCES, 'Ingen eksterne læringsressursar'), _defineProperty(_contentTypeResultsNo, "unGrouped", 'Ingen ressursar'), _contentTypeResultsNo)
|
|
355
355
|
}
|
|
356
356
|
},
|
|
@@ -362,8 +362,8 @@ var messages = _objectSpread(_objectSpread({
|
|
|
362
362
|
error: 'Orsak, ein del av innhaldet kunne ikkje visast.',
|
|
363
363
|
noCoreResourcesAvailableUnspecific: 'Det er ikkje noko kjernestoff tilgjengeleg.',
|
|
364
364
|
noCoreResourcesAvailable: 'Det er ikkje noko kjernestoff tilgjengeleg for {{name}}.',
|
|
365
|
-
toggleFilterLabel: 'Tilleggsressursar',
|
|
366
365
|
activateAdditionalResources: 'Tilleggsressursar',
|
|
366
|
+
toggleFilterLabel: 'Tilleggsressursar',
|
|
367
367
|
label: 'Læringsressursar',
|
|
368
368
|
allResources: 'Ressursar',
|
|
369
369
|
shortcutButtonText: 'Lærestoff',
|
|
@@ -397,7 +397,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
397
397
|
frontPageExpired: 'Utgåtte fag blir det ikkje undervist i lenger, men det kan framleis vere mogleg å ta eksamen i faget som privatist.'
|
|
398
398
|
},
|
|
399
399
|
article: {
|
|
400
|
-
lastUpdated: 'Sist oppdatert',
|
|
400
|
+
lastUpdated: 'Sist faglig oppdatert',
|
|
401
401
|
edition: 'Utgåve',
|
|
402
402
|
publisher: 'Utgjevar',
|
|
403
403
|
closeLabel: 'Lukk',
|
|
@@ -729,6 +729,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
729
729
|
copyCode: 'Kopier kode til utklippstavle'
|
|
730
730
|
},
|
|
731
731
|
ndlaFilm: {
|
|
732
|
+
heading: 'NDLA film',
|
|
732
733
|
slideBackwardsLabel: 'Scroll bakover',
|
|
733
734
|
slideForwardsLabel: 'Scroll framover',
|
|
734
735
|
movieMatchInCategory: 'Treff',
|
|
@@ -775,6 +776,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
775
776
|
shortFilm: 'Kortfilm',
|
|
776
777
|
all: 'Alle filmar A-Å'
|
|
777
778
|
},
|
|
779
|
+
allMovieGroupTitleLabel: 'Filmar som startar på {{letter}}',
|
|
778
780
|
moreAboutNdlaFilm: {
|
|
779
781
|
header: 'NDLA Film',
|
|
780
782
|
firstParagraph: 'Filmane i filmtenesta er henta frå norsk og internasjonal filmarv og er kopla mot læreplanar i fleire fag. Dei er valde av redaksjonane til NDLA i samarbeid med Norgesfilm AS.',
|
|
@@ -934,6 +934,7 @@ declare const messages: {
|
|
|
934
934
|
copyCode: string;
|
|
935
935
|
};
|
|
936
936
|
ndlaFilm: {
|
|
937
|
+
heading: string;
|
|
937
938
|
slideBackwardsLabel: string;
|
|
938
939
|
slideForwardsLabel: string;
|
|
939
940
|
movieMatchInCategory: string;
|
|
@@ -980,6 +981,7 @@ declare const messages: {
|
|
|
980
981
|
shortFilm: string;
|
|
981
982
|
all: string;
|
|
982
983
|
};
|
|
984
|
+
allMovieGroupTitleLabel: string;
|
|
983
985
|
moreAboutNdlaFilm: {
|
|
984
986
|
header: string;
|
|
985
987
|
firstParagraph: string;
|
|
@@ -729,6 +729,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
729
729
|
copyCode: 'Máŋge koda vuorkátávvalii'
|
|
730
730
|
},
|
|
731
731
|
ndlaFilm: {
|
|
732
|
+
heading: 'NDLA film',
|
|
732
733
|
slideBackwardsLabel: 'Rulle maŋos',
|
|
733
734
|
slideForwardsLabel: 'Rulle ovddas',
|
|
734
735
|
movieMatchInCategory: 'Deaivan',
|
|
@@ -775,6 +776,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
775
776
|
shortFilm: 'Oanehis filbma',
|
|
776
777
|
all: 'Buot filmmat A-Å'
|
|
777
778
|
},
|
|
779
|
+
allMovieGroupTitleLabel: 'Filmar som startar på {{letter}}',
|
|
778
780
|
moreAboutNdlaFilm: {
|
|
779
781
|
header: 'NDLA Filbma',
|
|
780
782
|
firstParagraph: 'Filmmat filbmabálvalusas leat vižžouvvon norgga ja riikkaidgaskasaš filbmaárbbis ja leat čadnon oahppoplánaide máŋgga fágas. Dat leat válljejuvvon NDLA doaimmahusgottiin ovttasráđiid Norgesfilm AS:ain.',
|
|
@@ -934,6 +934,7 @@ declare const messages: {
|
|
|
934
934
|
copyCode: string;
|
|
935
935
|
};
|
|
936
936
|
ndlaFilm: {
|
|
937
|
+
heading: string;
|
|
937
938
|
slideBackwardsLabel: string;
|
|
938
939
|
slideForwardsLabel: string;
|
|
939
940
|
movieMatchInCategory: string;
|
|
@@ -980,6 +981,7 @@ declare const messages: {
|
|
|
980
981
|
shortFilm: string;
|
|
981
982
|
all: string;
|
|
982
983
|
};
|
|
984
|
+
allMovieGroupTitleLabel: string;
|
|
983
985
|
moreAboutNdlaFilm: {
|
|
984
986
|
header: string;
|
|
985
987
|
firstParagraph: string;
|
|
@@ -397,7 +397,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
397
397
|
frontPageExpired: 'Utgåtte fag undervises det ikke i lenger, men det kan fortsatt være mulig å ta eksamen i faga som privatist.'
|
|
398
398
|
},
|
|
399
399
|
article: {
|
|
400
|
-
lastUpdated: 'Sist oppdatert',
|
|
400
|
+
lastUpdated: 'Sist faglig oppdatert',
|
|
401
401
|
edition: 'Utgave',
|
|
402
402
|
publisher: 'Utgiver',
|
|
403
403
|
useContent: 'Regler for bruk',
|
|
@@ -729,6 +729,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
729
729
|
copyCode: 'Kopier kode til utklippstavle'
|
|
730
730
|
},
|
|
731
731
|
ndlaFilm: {
|
|
732
|
+
heading: 'NDLA film',
|
|
732
733
|
slideBackwardsLabel: 'Scroll bakover',
|
|
733
734
|
slideForwardsLabel: 'Scroll fremover',
|
|
734
735
|
movieMatchInCategory: 'Treff',
|
|
@@ -775,6 +776,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
775
776
|
shortFilm: 'Kortfilm',
|
|
776
777
|
all: 'Alle filmer A-Å'
|
|
777
778
|
},
|
|
779
|
+
allMovieGroupTitleLabel: 'Filmar som startar på {{letter}}',
|
|
778
780
|
moreAboutNdlaFilm: {
|
|
779
781
|
header: 'NDLA Film',
|
|
780
782
|
firstParagraph: 'Filmene i filmtjenesten er hentet fra norsk og internasjonal filmarv og kobles mot læreplaner i flere fag. De er valgt ut av NDLAs redaksjoner i samarbeid med Norgesfilm AS.',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/ui",
|
|
3
|
-
"version": "34.
|
|
3
|
+
"version": "34.1.0",
|
|
4
4
|
"description": "UI component library for NDLA.",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -32,21 +32,22 @@
|
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@ndla/article-scripts": "^3.0.14",
|
|
35
|
-
"@ndla/button": "^9.0.
|
|
36
|
-
"@ndla/carousel": "^
|
|
37
|
-
"@ndla/core": "^3.0
|
|
38
|
-
"@ndla/forms": "^4.
|
|
35
|
+
"@ndla/button": "^9.0.1",
|
|
36
|
+
"@ndla/carousel": "^3.0.0",
|
|
37
|
+
"@ndla/core": "^3.1.0",
|
|
38
|
+
"@ndla/forms": "^4.2.0",
|
|
39
39
|
"@ndla/hooks": "^1.2.0",
|
|
40
|
-
"@ndla/icons": "^2.
|
|
41
|
-
"@ndla/licenses": "^6.1.
|
|
42
|
-
"@ndla/modal": "^2.2.
|
|
43
|
-
"@ndla/notion": "^4.1.
|
|
44
|
-
"@ndla/safelink": "^4.0.
|
|
45
|
-
"@ndla/switch": "^1.0.
|
|
46
|
-
"@ndla/tabs": "^2.1.
|
|
47
|
-
"@ndla/tooltip": "^4.0.
|
|
40
|
+
"@ndla/icons": "^2.2.0",
|
|
41
|
+
"@ndla/licenses": "^6.1.7",
|
|
42
|
+
"@ndla/modal": "^2.2.3",
|
|
43
|
+
"@ndla/notion": "^4.1.14",
|
|
44
|
+
"@ndla/safelink": "^4.0.3",
|
|
45
|
+
"@ndla/switch": "^1.0.4",
|
|
46
|
+
"@ndla/tabs": "^2.1.2",
|
|
47
|
+
"@ndla/tooltip": "^4.0.5",
|
|
48
48
|
"@ndla/types-learningpath-api": "^0.0.17",
|
|
49
49
|
"@ndla/util": "^3.1.9",
|
|
50
|
+
"@radix-ui/react-dropdown-menu": "2.0.2",
|
|
50
51
|
"@reach/menu-button": "^0.16.2",
|
|
51
52
|
"@reach/slider": "^0.16.0",
|
|
52
53
|
"focus-trap-react": "^8.9.2",
|
|
@@ -82,5 +83,5 @@
|
|
|
82
83
|
"publishConfig": {
|
|
83
84
|
"access": "public"
|
|
84
85
|
},
|
|
85
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "4d0730c32a5a72e492a281daf6447cd42c45f629"
|
|
86
87
|
}
|
package/src/Figure/Figure.tsx
CHANGED
|
@@ -126,11 +126,14 @@ interface FigureCaptionProps {
|
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
const Figure = ({ children, type = 'full', resizeIframe, ...rest }: Props) => {
|
|
129
|
+
const Figure = ({ children, type = 'full', resizeIframe, className, ...rest }: Props) => {
|
|
130
130
|
const typeClass = type === 'full-column' ? 'c-figure--full-column' : `u-float-${type}`;
|
|
131
131
|
const right = ['small-right', 'xsmall-right'].includes(type);
|
|
132
132
|
return (
|
|
133
|
-
<figure
|
|
133
|
+
<figure
|
|
134
|
+
data-sizetype={type}
|
|
135
|
+
{...classes('', { resize: !!resizeIframe, right }, `${typeClass} ${className ?? ''}`)}
|
|
136
|
+
{...rest}>
|
|
134
137
|
{isFunction(children) ? children({ typeClass }) : children}
|
|
135
138
|
</figure>
|
|
136
139
|
);
|
|
@@ -156,6 +159,7 @@ interface Props {
|
|
|
156
159
|
type?: FigureType;
|
|
157
160
|
resizeIframe?: boolean;
|
|
158
161
|
noFigcaption?: boolean;
|
|
162
|
+
className?: string;
|
|
159
163
|
}
|
|
160
164
|
|
|
161
165
|
export default Figure;
|
package/src/FileList/File.tsx
CHANGED
|
@@ -6,7 +6,7 @@ import Tooltip from '@ndla/tooltip';
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { FileFormat, FileType } from './FileList';
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const LinkTextWrapper = styled.div`
|
|
10
10
|
& > span {
|
|
11
11
|
box-shadow: inset 0 -1px;
|
|
12
12
|
}
|
|
@@ -26,7 +26,7 @@ const FileLink = styled(SafeLink)`
|
|
|
26
26
|
&:hover,
|
|
27
27
|
&:focus,
|
|
28
28
|
&:active {
|
|
29
|
-
${
|
|
29
|
+
${LinkTextWrapper} {
|
|
30
30
|
box-shadow: none;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -50,9 +50,9 @@ const renderFormat = (format: FileFormat, title: string, isPrimary: boolean, id:
|
|
|
50
50
|
<FileLink key={format.url} to={format.url} target="_blank" aria-label={titleWithFormat} aria-describedby={formatId}>
|
|
51
51
|
<Download />
|
|
52
52
|
<Tooltip tooltip={format.tooltip}>
|
|
53
|
-
<
|
|
53
|
+
<LinkTextWrapper>
|
|
54
54
|
<span>{isPrimary ? titleWithFormat : `(${format.fileType.toUpperCase()})`}</span>
|
|
55
|
-
</
|
|
55
|
+
</LinkTextWrapper>
|
|
56
56
|
</Tooltip>
|
|
57
57
|
</FileLink>
|
|
58
58
|
);
|
|
@@ -0,0 +1,48 @@
|
|
|
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
|
+
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import { ComponentStory, ComponentMeta } from '@storybook/react';
|
|
11
|
+
import { LanguageSelector } from '@ndla/ui';
|
|
12
|
+
import styled from '@emotion/styled';
|
|
13
|
+
import { colors, spacing } from '@ndla/core';
|
|
14
|
+
import { defaultParameters } from '../../../../stories/defaults';
|
|
15
|
+
export default {
|
|
16
|
+
title: 'Enkle komponenter/LanguageSelector',
|
|
17
|
+
component: LanguageSelector,
|
|
18
|
+
parameters: {
|
|
19
|
+
...defaultParameters,
|
|
20
|
+
},
|
|
21
|
+
args: {
|
|
22
|
+
locales: ['en', 'nb', 'nn'],
|
|
23
|
+
inverted: false,
|
|
24
|
+
// eslint-disable-next-line no-console
|
|
25
|
+
onSelect: (locale) => console.log(`selected ${locale}`),
|
|
26
|
+
},
|
|
27
|
+
} as ComponentMeta<typeof LanguageSelector>;
|
|
28
|
+
|
|
29
|
+
interface ButtonWrapperProps {
|
|
30
|
+
inverted?: boolean;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const shouldForwardProp = (p: string) => p !== 'inverted';
|
|
34
|
+
|
|
35
|
+
const ButtonWrapper = styled('div', { shouldForwardProp })<ButtonWrapperProps>`
|
|
36
|
+
background-color: ${(p) => p.inverted && colors.brand.primary};
|
|
37
|
+
padding: ${spacing.normal};
|
|
38
|
+
`;
|
|
39
|
+
|
|
40
|
+
export const LanguageSelectorStory: ComponentStory<typeof LanguageSelector> = (args) => {
|
|
41
|
+
return (
|
|
42
|
+
<ButtonWrapper inverted={args.inverted}>
|
|
43
|
+
<LanguageSelector {...args} />
|
|
44
|
+
</ButtonWrapper>
|
|
45
|
+
);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
LanguageSelectorStory.storyName = 'LanguageSelector';
|
|
@@ -1,175 +1,96 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2022-present, NDLA.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the GPLv3 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import React
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import FocusTrapReact from 'focus-trap-react';
|
|
13
|
-
import { ButtonV2 as Button } from '@ndla/button';
|
|
14
|
-
import { spacing, misc, colors, mq, breakpoints, animations, fonts, spacingUnit } from '@ndla/core';
|
|
15
|
-
import { ChevronDown } from '@ndla/icons/common';
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import { Root, Trigger, Item, Content, Portal, Arrow } from '@radix-ui/react-dropdown-menu';
|
|
11
|
+
import { ButtonV2 } from '@ndla/button';
|
|
16
12
|
import { useTranslation } from 'react-i18next';
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
alwaysVisible?: boolean;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const StyledWrapper = styled.div<StyledWrapperProps>`
|
|
24
|
-
position: relative;
|
|
25
|
-
${(props) =>
|
|
26
|
-
!props.alwaysVisible &&
|
|
27
|
-
css`
|
|
28
|
-
${mq.range({ until: breakpoints.wide })} {
|
|
29
|
-
display: none;
|
|
30
|
-
}
|
|
31
|
-
`}
|
|
32
|
-
`;
|
|
13
|
+
import { ChevronDown } from '@ndla/icons/common';
|
|
14
|
+
import styled from '@emotion/styled';
|
|
15
|
+
import { colors, fonts, spacing } from '@ndla/core';
|
|
33
16
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
17
|
+
interface Props<T extends string> {
|
|
18
|
+
locales: T[];
|
|
19
|
+
onSelect: (locale: T) => void;
|
|
20
|
+
inverted?: boolean;
|
|
21
|
+
}
|
|
38
22
|
|
|
39
|
-
const
|
|
40
|
-
background: ${colors.brand.light};
|
|
41
|
-
position: absolute;
|
|
23
|
+
const PopoverContent = styled(Content)`
|
|
42
24
|
z-index: 9999;
|
|
43
|
-
right: 0;
|
|
44
|
-
top: ${-spacingUnit * 0.75}px;
|
|
45
|
-
padding: ${spacingUnit * 0.75}px ${spacing.normal} ${spacing.normal};
|
|
46
|
-
box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
|
|
47
|
-
border-radius: ${misc.borderRadius};
|
|
48
25
|
display: flex;
|
|
49
26
|
flex-direction: column;
|
|
50
|
-
|
|
51
|
-
${
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
`};
|
|
56
|
-
${(props) =>
|
|
57
|
-
props.centered &&
|
|
58
|
-
css`
|
|
59
|
-
right: calc(50% - 225px);
|
|
60
|
-
left: calc(50% - 225px);
|
|
61
|
-
${mq.range({ until: breakpoints.mobileWide })} {
|
|
62
|
-
right: calc(50% - 150px);
|
|
63
|
-
left: calc(50% - 150px);
|
|
64
|
-
}
|
|
65
|
-
`};
|
|
66
|
-
nav {
|
|
67
|
-
width: 100%;
|
|
68
|
-
padding: ${spacing.medium} ${spacing.large} ${spacing.small};
|
|
69
|
-
display: flex;
|
|
70
|
-
flex-direction: column;
|
|
71
|
-
align-items: center;
|
|
72
|
-
justify-content: center;
|
|
73
|
-
ul {
|
|
74
|
-
margin: 0 ${spacing.large};
|
|
75
|
-
padding: 0;
|
|
76
|
-
list-style: none;
|
|
77
|
-
li {
|
|
78
|
-
margin: 0 0 ${spacing.xsmall};
|
|
79
|
-
padding: 0;
|
|
80
|
-
}
|
|
81
|
-
button {
|
|
82
|
-
border: none;
|
|
83
|
-
width: 100%;
|
|
84
|
-
padding: ${spacingUnit / 2 + 5}px ${spacingUnit * 2.5}px;
|
|
85
|
-
display: flex;
|
|
86
|
-
align-items: center;
|
|
87
|
-
justify-content: center;
|
|
88
|
-
border-radius: ${misc.borderRadius};
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
background-color: ${colors.brand.greyLightest};
|
|
29
|
+
border-radius: ${spacing.small};
|
|
30
|
+
border: 1px solid ${colors.brand.tertiary};
|
|
31
|
+
fill: ${colors.brand.tertiary};
|
|
92
32
|
`;
|
|
93
33
|
|
|
94
|
-
const
|
|
95
|
-
|
|
34
|
+
const LanguageChoice = styled(ButtonV2)`
|
|
35
|
+
padding: ${spacing.small};
|
|
36
|
+
border-radius: 0;
|
|
37
|
+
gap: ${spacing.normal};
|
|
38
|
+
justify-content: space-between;
|
|
39
|
+
border: 0;
|
|
40
|
+
:not(:last-of-type) {
|
|
41
|
+
border-bottom: 1px solid ${colors.brand.tertiary};
|
|
42
|
+
}
|
|
96
43
|
`;
|
|
97
44
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
invertedOutlineLargeScreensOnly?: boolean;
|
|
108
|
-
outline?: boolean;
|
|
109
|
-
center?: boolean;
|
|
110
|
-
alwaysVisible?: boolean;
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
interface StyledButtonProps {
|
|
114
|
-
outline?: boolean;
|
|
115
|
-
inverted?: boolean;
|
|
116
|
-
}
|
|
45
|
+
const ActivityIndicator = styled.div`
|
|
46
|
+
width: ${spacing.normal};
|
|
47
|
+
height: ${spacing.normal};
|
|
48
|
+
border: 1.5px solid currentColor;
|
|
49
|
+
border-radius: 100%;
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: center;
|
|
53
|
+
`;
|
|
117
54
|
|
|
118
|
-
const
|
|
55
|
+
const ActiveIndicator = styled.div`
|
|
56
|
+
width: 50%;
|
|
57
|
+
height: 50%;
|
|
58
|
+
background-color: currentColor;
|
|
59
|
+
border-radius: 100%;
|
|
60
|
+
`;
|
|
119
61
|
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
62
|
+
const Text = styled.span`
|
|
63
|
+
${fonts.sizes('20px', '24px')};
|
|
64
|
+
font-weight: ${fonts.weight.semibold};
|
|
123
65
|
`;
|
|
124
66
|
|
|
125
|
-
const LanguageSelector = ({
|
|
67
|
+
const LanguageSelector = <T extends string>({ locales, onSelect, inverted }: Props<T>) => {
|
|
126
68
|
const { t, i18n } = useTranslation();
|
|
127
|
-
const [infoLocale, setInfoLocale] = useState(i18n.language);
|
|
128
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
129
69
|
return (
|
|
130
|
-
<
|
|
131
|
-
<
|
|
132
|
-
outline={
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}}>
|
|
155
|
-
<StyledModal animateIn={isOpen} centered={center}>
|
|
156
|
-
<Button
|
|
157
|
-
variant="link"
|
|
158
|
-
onClick={() => {
|
|
159
|
-
setIsOpen(false);
|
|
160
|
-
}}>
|
|
161
|
-
{t('masthead.menu.close')}
|
|
162
|
-
</Button>
|
|
163
|
-
<LanguageSelectorContent
|
|
164
|
-
currentLanguage={currentLanguage}
|
|
165
|
-
setInfoLocale={setInfoLocale}
|
|
166
|
-
infoLocale={infoLocale}
|
|
167
|
-
close={() => setIsOpen(false)}
|
|
168
|
-
/>
|
|
169
|
-
</StyledModal>
|
|
170
|
-
</FocusTrapReact>
|
|
171
|
-
)}
|
|
172
|
-
</StyledWrapper>
|
|
70
|
+
<Root>
|
|
71
|
+
<Trigger asChild>
|
|
72
|
+
<ButtonV2 variant="outline" shape="pill" inverted={inverted} aria-label={t('footer.selectLanguage')}>
|
|
73
|
+
{t(`languages.prefixChangeLanguage`)} <ChevronDown />
|
|
74
|
+
</ButtonV2>
|
|
75
|
+
</Trigger>
|
|
76
|
+
<Portal>
|
|
77
|
+
<PopoverContent>
|
|
78
|
+
<Arrow aria-hidden />
|
|
79
|
+
{locales.map((locale) => (
|
|
80
|
+
<Item asChild key={locale}>
|
|
81
|
+
<LanguageChoice
|
|
82
|
+
role="link"
|
|
83
|
+
variant="ghost"
|
|
84
|
+
aria-label={t(`changeLanguage.${locale}`)}
|
|
85
|
+
onClick={() => onSelect(locale)}>
|
|
86
|
+
<Text>{t(`languages.${locale}`)}</Text>
|
|
87
|
+
<ActivityIndicator>{i18n.language === locale && <ActiveIndicator />}</ActivityIndicator>
|
|
88
|
+
</LanguageChoice>
|
|
89
|
+
</Item>
|
|
90
|
+
))}
|
|
91
|
+
</PopoverContent>
|
|
92
|
+
</Portal>
|
|
93
|
+
</Root>
|
|
173
94
|
);
|
|
174
95
|
};
|
|
175
96
|
|