@ndla/ui 54.0.0 → 54.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.
- package/es/Article/ArticleByline.js +15 -7
- package/es/Article/ArticleParagraph.js +5 -5
- package/es/BlogPost/BlogPost.js +6 -5
- package/es/CampaignBlock/CampaignBlock.js +7 -7
- package/es/CodeBlock/CodeBlock.js +4 -4
- package/es/KeyFigure/KeyFigure.js +5 -5
- package/es/MyNdla/Resource/Folder.js +37 -24
- package/es/ResourceBox/ResourceBox.js +6 -6
- package/es/Search/SearchResultSleeve.js +11 -11
- package/es/Table/Table.js +6 -6
- package/es/TreeStructure/FolderItem.js +7 -7
- package/es/locale/messages-en.js +17 -3
- package/es/locale/messages-nb.js +17 -3
- package/es/locale/messages-nn.js +18 -4
- package/es/locale/messages-se.js +17 -3
- package/es/locale/messages-sma.js +17 -3
- package/lib/Article/ArticleByline.js +15 -7
- package/lib/Article/ArticleParagraph.js +5 -5
- package/lib/BlogPost/BlogPost.js +6 -5
- package/lib/CampaignBlock/CampaignBlock.js +7 -7
- package/lib/CodeBlock/CodeBlock.js +4 -4
- package/lib/KeyFigure/KeyFigure.js +5 -5
- package/lib/MyNdla/Resource/Folder.d.ts +3 -1
- package/lib/MyNdla/Resource/Folder.js +35 -22
- package/lib/ResourceBox/ResourceBox.js +6 -6
- package/lib/Search/SearchResultSleeve.js +11 -11
- package/lib/Table/Table.js +6 -6
- package/lib/TreeStructure/FolderItem.js +7 -7
- package/lib/locale/messages-en.d.ts +14 -0
- package/lib/locale/messages-en.js +17 -3
- package/lib/locale/messages-nb.d.ts +14 -0
- package/lib/locale/messages-nb.js +17 -3
- package/lib/locale/messages-nn.d.ts +15 -1
- package/lib/locale/messages-nn.js +18 -4
- package/lib/locale/messages-se.d.ts +14 -0
- package/lib/locale/messages-se.js +17 -3
- package/lib/locale/messages-sma.d.ts +14 -0
- package/lib/locale/messages-sma.js +17 -3
- package/package.json +10 -10
- package/src/Article/ArticleByline.tsx +9 -2
- package/src/Article/ArticleParagraph.tsx +3 -0
- package/src/BlogPost/BlogPost.tsx +2 -1
- package/src/CampaignBlock/CampaignBlock.tsx +1 -1
- package/src/CodeBlock/CodeBlock.tsx +1 -1
- package/src/KeyFigure/KeyFigure.tsx +1 -1
- package/src/MyNdla/Resource/Folder.stories.tsx +5 -0
- package/src/MyNdla/Resource/Folder.tsx +41 -8
- package/src/ResourceBox/ResourceBox.tsx +2 -2
- package/src/Search/SearchResultSleeve.tsx +3 -3
- package/src/Table/Table.stories.tsx +39 -0
- package/src/Table/Table.tsx +11 -0
- package/src/TreeStructure/FolderItem.tsx +1 -1
- package/src/locale/messages-en.ts +14 -0
- package/src/locale/messages-nb.ts +14 -0
- package/src/locale/messages-nn.ts +15 -1
- package/src/locale/messages-se.ts +14 -0
- package/src/locale/messages-sma.ts +14 -0
|
@@ -107,6 +107,10 @@ const messages = {
|
|
|
107
107
|
movedResourcePage: {
|
|
108
108
|
title: "Siden har flyttet, men du kan finne den her:"
|
|
109
109
|
},
|
|
110
|
+
unpublishedResourcePage: {
|
|
111
|
+
title: "Ressursen er avpublisert",
|
|
112
|
+
errorDescription: "Beklager, ressursen du prøvde komme til er avpublisert."
|
|
113
|
+
},
|
|
110
114
|
lti: {
|
|
111
115
|
embed: "Sett inn",
|
|
112
116
|
notSupported: "Det fungerte ikke å sette inn innholdet automatisk. Kopier kildekoden under for å sette inn på din side."
|
|
@@ -936,11 +940,15 @@ const messages = {
|
|
|
936
940
|
sharing: {
|
|
937
941
|
share: "Del mappe",
|
|
938
942
|
shared: "Delt",
|
|
943
|
+
sharedBy: "Delt av ",
|
|
944
|
+
sharedByAnonymous: "anonym lærer",
|
|
939
945
|
sharedFolder: "Delt mappe",
|
|
940
946
|
unShare: "Delingen er avsluttet. Mappen er ikke lenger delt.",
|
|
941
947
|
copyLink: "Kopier lenke til mappa",
|
|
948
|
+
removeLink: "Fjern lenke til mappe",
|
|
942
949
|
link: "Lenken er kopiert",
|
|
943
950
|
savedLink: "Lenke til {{ name }} er lagt til i Mine mapper.",
|
|
951
|
+
unSavedLink: "Lenke til {{ name }} er fjernet fra Mine mapper.",
|
|
944
952
|
header: {
|
|
945
953
|
shared: "Denne mappa er delt"
|
|
946
954
|
},
|
|
@@ -961,7 +969,8 @@ const messages = {
|
|
|
961
969
|
goTo: "Gå til delt mappe",
|
|
962
970
|
unShare: "Avslutt deling",
|
|
963
971
|
shareLink: "Kopier lenke",
|
|
964
|
-
saveLink: "Lagre lenken"
|
|
972
|
+
saveLink: "Lagre lenken",
|
|
973
|
+
unSaveLink: "Fjern lenken"
|
|
965
974
|
},
|
|
966
975
|
save: {
|
|
967
976
|
warning: "Dette lager en lenke til mappen i Mine mapper. Du kan enkelt finne den igjen ved å gå til Mine mapper i menyen i Min NDLA.",
|
|
@@ -1050,7 +1059,9 @@ const messages = {
|
|
|
1050
1059
|
delete: "Slett innlegget"
|
|
1051
1060
|
},
|
|
1052
1061
|
fetchMore: "Hent flere svar",
|
|
1053
|
-
deleted: "Dette innlegget er slettet av forfatteren."
|
|
1062
|
+
deleted: "Dette innlegget er slettet av forfatteren.",
|
|
1063
|
+
upvote: "Stem opp",
|
|
1064
|
+
removeUpvote: "Fjern stemme"
|
|
1054
1065
|
},
|
|
1055
1066
|
flag: {
|
|
1056
1067
|
title: "Rapporter innlegg / kommentar",
|
|
@@ -1337,7 +1348,10 @@ const messages = {
|
|
|
1337
1348
|
loadMore: "Last mer"
|
|
1338
1349
|
},
|
|
1339
1350
|
siteNav: {
|
|
1340
|
-
search: "Søk"
|
|
1351
|
+
search: "Søk",
|
|
1352
|
+
navigate: "Naviger med piltastene",
|
|
1353
|
+
select: "Velg",
|
|
1354
|
+
close: "Lukk søk"
|
|
1341
1355
|
},
|
|
1342
1356
|
programmes: {
|
|
1343
1357
|
header: "Hva vil du lære om i dag?",
|
|
@@ -90,6 +90,10 @@ declare const messages: {
|
|
|
90
90
|
movedResourcePage: {
|
|
91
91
|
title: string;
|
|
92
92
|
};
|
|
93
|
+
unpublishedResourcePage: {
|
|
94
|
+
title: string;
|
|
95
|
+
errorDescription: string;
|
|
96
|
+
};
|
|
93
97
|
lti: {
|
|
94
98
|
embed: string;
|
|
95
99
|
notSupported: string;
|
|
@@ -919,11 +923,15 @@ declare const messages: {
|
|
|
919
923
|
sharing: {
|
|
920
924
|
share: string;
|
|
921
925
|
shared: string;
|
|
926
|
+
sharedBy: string;
|
|
927
|
+
sharedByAnonymous: string;
|
|
922
928
|
sharedFolder: string;
|
|
923
929
|
unShare: string;
|
|
924
930
|
link: string;
|
|
925
|
-
savedLink: string;
|
|
926
931
|
copyLink: string;
|
|
932
|
+
removeLink: string;
|
|
933
|
+
savedLink: string;
|
|
934
|
+
unSavedLink: string;
|
|
927
935
|
header: {
|
|
928
936
|
shared: string;
|
|
929
937
|
};
|
|
@@ -945,6 +953,7 @@ declare const messages: {
|
|
|
945
953
|
unShare: string;
|
|
946
954
|
shareLink: string;
|
|
947
955
|
saveLink: string;
|
|
956
|
+
unSaveLink: string;
|
|
948
957
|
};
|
|
949
958
|
save: {
|
|
950
959
|
warning: string;
|
|
@@ -1034,6 +1043,8 @@ declare const messages: {
|
|
|
1034
1043
|
};
|
|
1035
1044
|
fetchMore: string;
|
|
1036
1045
|
deleted: string;
|
|
1046
|
+
upvote: string;
|
|
1047
|
+
removeUpvote: string;
|
|
1037
1048
|
};
|
|
1038
1049
|
flag: {
|
|
1039
1050
|
title: string;
|
|
@@ -1321,6 +1332,9 @@ declare const messages: {
|
|
|
1321
1332
|
};
|
|
1322
1333
|
siteNav: {
|
|
1323
1334
|
search: string;
|
|
1335
|
+
navigate: string;
|
|
1336
|
+
select: string;
|
|
1337
|
+
close: string;
|
|
1324
1338
|
};
|
|
1325
1339
|
programmes: {
|
|
1326
1340
|
header: string;
|
|
@@ -107,6 +107,10 @@ const messages = {
|
|
|
107
107
|
movedResourcePage: {
|
|
108
108
|
title: "Sida har flytta, men du kan finne den her:"
|
|
109
109
|
},
|
|
110
|
+
unpublishedResourcePage: {
|
|
111
|
+
title: "Ressursen er avpublisert",
|
|
112
|
+
errorDescription: "Orsak, ressursen du prøvde komme til er avpublisert."
|
|
113
|
+
},
|
|
110
114
|
lti: {
|
|
111
115
|
embed: "Sett inn",
|
|
112
116
|
notSupported: "Det fungerte ikkje å setje inn innhaldet automatisk. Kopier kjeldekoden under for å setje han inn på sida di."
|
|
@@ -936,11 +940,15 @@ const messages = {
|
|
|
936
940
|
sharing: {
|
|
937
941
|
share: "Del mappe",
|
|
938
942
|
shared: "Delt",
|
|
943
|
+
sharedBy: "Delt av ",
|
|
944
|
+
sharedByAnonymous: "anonym lærar",
|
|
939
945
|
sharedFolder: "Delt mappe",
|
|
940
946
|
unShare: "Delinga er avslutta. Mappa er ikkje lenger delt",
|
|
941
947
|
link: "Lenka er kopiert",
|
|
942
|
-
savedLink: "Lenka til {{ name }} er lagt til i Mine mapper.",
|
|
943
948
|
copyLink: "Kopier lenke til mappa",
|
|
949
|
+
removeLink: "Fjern lenke til mappe",
|
|
950
|
+
savedLink: "Lenka til {{ name }} er lagt til i Mine mapper.",
|
|
951
|
+
unSavedLink: "Lenka til {{ name }} er fjernet fra Mine mapper.",
|
|
944
952
|
header: {
|
|
945
953
|
shared: "Denne mappa er delt"
|
|
946
954
|
},
|
|
@@ -961,7 +969,8 @@ const messages = {
|
|
|
961
969
|
goTo: "Gå til delt mappe",
|
|
962
970
|
unShare: "Avslutt deling",
|
|
963
971
|
shareLink: "Kopier lenke",
|
|
964
|
-
saveLink: "Lagre lenka"
|
|
972
|
+
saveLink: "Lagre lenka",
|
|
973
|
+
unSaveLink: "Fjern lenken"
|
|
965
974
|
},
|
|
966
975
|
save: {
|
|
967
976
|
warning: "Dette lagar ei lenke til mappa i Mine mapper. Du kan enkelt finne ho att ved å gå til Mine mapper i menyen i Min NDLA.",
|
|
@@ -1050,7 +1059,9 @@ const messages = {
|
|
|
1050
1059
|
delete: "Slett innlegget"
|
|
1051
1060
|
},
|
|
1052
1061
|
fetchMore: "Hent fleire svar",
|
|
1053
|
-
deleted: "Dette innlegget er sletta av forfatteren."
|
|
1062
|
+
deleted: "Dette innlegget er sletta av forfatteren.",
|
|
1063
|
+
upvote: "Stem opp",
|
|
1064
|
+
removeUpvote: "Fjern stemme"
|
|
1054
1065
|
},
|
|
1055
1066
|
flag: {
|
|
1056
1067
|
title: "Rapporter innlegg / kommentar",
|
|
@@ -1337,7 +1348,10 @@ const messages = {
|
|
|
1337
1348
|
loadMore: "Last meir"
|
|
1338
1349
|
},
|
|
1339
1350
|
siteNav: {
|
|
1340
|
-
search: "Søk"
|
|
1351
|
+
search: "Søk",
|
|
1352
|
+
navigate: "Naviger med piltastane",
|
|
1353
|
+
select: "Velg",
|
|
1354
|
+
close: "Lukk søk"
|
|
1341
1355
|
},
|
|
1342
1356
|
programmes: {
|
|
1343
1357
|
header: "Kva vil du lære om i dag?",
|
|
@@ -90,6 +90,10 @@ declare const messages: {
|
|
|
90
90
|
movedResourcePage: {
|
|
91
91
|
title: string;
|
|
92
92
|
};
|
|
93
|
+
unpublishedResourcePage: {
|
|
94
|
+
title: string;
|
|
95
|
+
errorDescription: string;
|
|
96
|
+
};
|
|
93
97
|
lti: {
|
|
94
98
|
embed: string;
|
|
95
99
|
notSupported: string;
|
|
@@ -919,11 +923,15 @@ declare const messages: {
|
|
|
919
923
|
sharing: {
|
|
920
924
|
share: string;
|
|
921
925
|
shared: string;
|
|
926
|
+
sharedBy: string;
|
|
927
|
+
sharedByAnonymous: string;
|
|
922
928
|
sharedFolder: string;
|
|
923
929
|
unShare: string;
|
|
924
930
|
copyLink: string;
|
|
931
|
+
removeLink: string;
|
|
925
932
|
link: string;
|
|
926
933
|
savedLink: string;
|
|
934
|
+
unSavedLink: string;
|
|
927
935
|
header: {
|
|
928
936
|
shared: string;
|
|
929
937
|
};
|
|
@@ -945,6 +953,7 @@ declare const messages: {
|
|
|
945
953
|
unShare: string;
|
|
946
954
|
shareLink: string;
|
|
947
955
|
saveLink: string;
|
|
956
|
+
unSaveLink: string;
|
|
948
957
|
};
|
|
949
958
|
save: {
|
|
950
959
|
warning: string;
|
|
@@ -1034,6 +1043,8 @@ declare const messages: {
|
|
|
1034
1043
|
};
|
|
1035
1044
|
fetchMore: string;
|
|
1036
1045
|
deleted: string;
|
|
1046
|
+
upvote: string;
|
|
1047
|
+
removeUpvote: string;
|
|
1037
1048
|
};
|
|
1038
1049
|
flag: {
|
|
1039
1050
|
title: string;
|
|
@@ -1321,6 +1332,9 @@ declare const messages: {
|
|
|
1321
1332
|
};
|
|
1322
1333
|
siteNav: {
|
|
1323
1334
|
search: string;
|
|
1335
|
+
navigate: string;
|
|
1336
|
+
select: string;
|
|
1337
|
+
close: string;
|
|
1324
1338
|
};
|
|
1325
1339
|
programmes: {
|
|
1326
1340
|
header: string;
|
|
@@ -107,6 +107,10 @@ const messages = {
|
|
|
107
107
|
movedResourcePage: {
|
|
108
108
|
title: "Siidu lea sirdojuvvon, muhto gávnnat dan dás:"
|
|
109
109
|
},
|
|
110
|
+
unpublishedResourcePage: {
|
|
111
|
+
title: "Ressursen er avpublisert",
|
|
112
|
+
errorDescription: "Beklager, ressursen du prøvde komme til er avpublisert."
|
|
113
|
+
},
|
|
110
114
|
lti: {
|
|
111
115
|
embed: "Deavdde",
|
|
112
116
|
notSupported: "Ii lean vejolaš bidjat sisdoalu sisa automáhtalaččat. Kopiere gáldokoda vulobealde ja bija iežat siidui."
|
|
@@ -936,11 +940,15 @@ const messages = {
|
|
|
936
940
|
sharing: {
|
|
937
941
|
share: "Del mappe",
|
|
938
942
|
shared: "Delt",
|
|
943
|
+
sharedBy: "Delt av ",
|
|
944
|
+
sharedByAnonymous: "anonym lærer",
|
|
939
945
|
sharedFolder: "Delt mappe",
|
|
940
946
|
unShare: "Delingen er avsluttet. Mappen er ikke lenger delt.",
|
|
941
947
|
copyLink: "Kopier lenke til mappa",
|
|
948
|
+
removeLink: "Fjern lenke til mappe",
|
|
942
949
|
link: "Lenken er kopiert",
|
|
943
950
|
savedLink: "Lenke til {{ name }} er lagt til i Mine mapper.",
|
|
951
|
+
unSavedLink: "Lenke til {{ name }} er fjernet fra Mine mapper.",
|
|
944
952
|
header: {
|
|
945
953
|
shared: "Denne mappa er delt"
|
|
946
954
|
},
|
|
@@ -961,7 +969,8 @@ const messages = {
|
|
|
961
969
|
goTo: "Gå til delt mappe",
|
|
962
970
|
unShare: "Avslutt deling",
|
|
963
971
|
shareLink: "Kopier lenke",
|
|
964
|
-
saveLink: "Lagre lenken"
|
|
972
|
+
saveLink: "Lagre lenken",
|
|
973
|
+
unSaveLink: "Fjern lenken"
|
|
965
974
|
},
|
|
966
975
|
save: {
|
|
967
976
|
warning: "Dette lager en lenke til mappen i Mine mapper. Du kan enkelt finne den igjen ved å gå til Mine mapper i menyen i Min NDLA.",
|
|
@@ -1050,7 +1059,9 @@ const messages = {
|
|
|
1050
1059
|
delete: "Slett innlegget"
|
|
1051
1060
|
},
|
|
1052
1061
|
fetchMore: "Hent flere svar",
|
|
1053
|
-
deleted: "Dette innlegget er slettet av forfatteren."
|
|
1062
|
+
deleted: "Dette innlegget er slettet av forfatteren.",
|
|
1063
|
+
upvote: "Stem opp",
|
|
1064
|
+
removeUpvote: "Fjern stemme"
|
|
1054
1065
|
},
|
|
1055
1066
|
flag: {
|
|
1056
1067
|
title: "Rapporter innlegg / kommentar",
|
|
@@ -1337,7 +1348,10 @@ const messages = {
|
|
|
1337
1348
|
loadMore: "Viečča eanet"
|
|
1338
1349
|
},
|
|
1339
1350
|
siteNav: {
|
|
1340
|
-
search: "Oza"
|
|
1351
|
+
search: "Oza",
|
|
1352
|
+
navigate: "Naviger med piltastene",
|
|
1353
|
+
select: "Velg",
|
|
1354
|
+
close: "Lukk søk"
|
|
1341
1355
|
},
|
|
1342
1356
|
programmes: {
|
|
1343
1357
|
header: "Maid háliidat oahppat odne?",
|
|
@@ -90,6 +90,10 @@ declare const messages: {
|
|
|
90
90
|
movedResourcePage: {
|
|
91
91
|
title: string;
|
|
92
92
|
};
|
|
93
|
+
unpublishedResourcePage: {
|
|
94
|
+
title: string;
|
|
95
|
+
errorDescription: string;
|
|
96
|
+
};
|
|
93
97
|
lti: {
|
|
94
98
|
embed: string;
|
|
95
99
|
notSupported: string;
|
|
@@ -919,11 +923,15 @@ declare const messages: {
|
|
|
919
923
|
sharing: {
|
|
920
924
|
share: string;
|
|
921
925
|
shared: string;
|
|
926
|
+
sharedBy: string;
|
|
927
|
+
sharedByAnonymous: string;
|
|
922
928
|
sharedFolder: string;
|
|
923
929
|
unShare: string;
|
|
924
930
|
copyLink: string;
|
|
931
|
+
removeLink: string;
|
|
925
932
|
link: string;
|
|
926
933
|
savedLink: string;
|
|
934
|
+
unSavedLink: string;
|
|
927
935
|
header: {
|
|
928
936
|
shared: string;
|
|
929
937
|
};
|
|
@@ -945,6 +953,7 @@ declare const messages: {
|
|
|
945
953
|
unShare: string;
|
|
946
954
|
shareLink: string;
|
|
947
955
|
saveLink: string;
|
|
956
|
+
unSaveLink: string;
|
|
948
957
|
};
|
|
949
958
|
save: {
|
|
950
959
|
warning: string;
|
|
@@ -1034,6 +1043,8 @@ declare const messages: {
|
|
|
1034
1043
|
};
|
|
1035
1044
|
fetchMore: string;
|
|
1036
1045
|
deleted: string;
|
|
1046
|
+
upvote: string;
|
|
1047
|
+
removeUpvote: string;
|
|
1037
1048
|
};
|
|
1038
1049
|
flag: {
|
|
1039
1050
|
title: string;
|
|
@@ -1321,6 +1332,9 @@ declare const messages: {
|
|
|
1321
1332
|
};
|
|
1322
1333
|
siteNav: {
|
|
1323
1334
|
search: string;
|
|
1335
|
+
navigate: string;
|
|
1336
|
+
select: string;
|
|
1337
|
+
close: string;
|
|
1324
1338
|
};
|
|
1325
1339
|
programmes: {
|
|
1326
1340
|
header: string;
|
|
@@ -107,6 +107,10 @@ const messages = {
|
|
|
107
107
|
movedResourcePage: {
|
|
108
108
|
title: "Sæjroe ij leah daesnie, men maahtah dam daesnie gaavnedh:"
|
|
109
109
|
},
|
|
110
|
+
unpublishedResourcePage: {
|
|
111
|
+
title: "Ressursen er avpublisert",
|
|
112
|
+
errorDescription: "Beklager, ressursen du prøvde komme til er avpublisert."
|
|
113
|
+
},
|
|
110
114
|
lti: {
|
|
111
115
|
embed: "Lissehth",
|
|
112
116
|
notSupported: "Idtji gåaredh sisvegem lissiehtidh. Vaeltieh kopijem gaaltijekodeste vuelielistie juktie dam dov sæjrose lissiehtidh."
|
|
@@ -936,11 +940,15 @@ const messages = {
|
|
|
936
940
|
sharing: {
|
|
937
941
|
share: "Del mappe",
|
|
938
942
|
shared: "Delt",
|
|
943
|
+
sharedBy: "Delt av ",
|
|
944
|
+
sharedByAnonymous: "anonym lærer",
|
|
939
945
|
sharedFolder: "Delt mappe",
|
|
940
946
|
unShare: "Delingen er avsluttet. Mappen er ikke lenger delt.",
|
|
941
947
|
copyLink: "Kopier lenke til mappa",
|
|
948
|
+
removeLink: "Fjern lenke til mappe",
|
|
942
949
|
link: "Lenken er kopiert",
|
|
943
950
|
savedLink: "Lenke til {{ name }} er lagt til i Mine mapper.",
|
|
951
|
+
unSavedLink: "Lenke til {{ name }} er fjernet fra Mine mapper.",
|
|
944
952
|
header: {
|
|
945
953
|
shared: "Denne mappa er delt"
|
|
946
954
|
},
|
|
@@ -961,7 +969,8 @@ const messages = {
|
|
|
961
969
|
goTo: "Gå til delt mappe",
|
|
962
970
|
unShare: "Avslutt deling",
|
|
963
971
|
shareLink: "Kopier lenke",
|
|
964
|
-
saveLink: "Lagre lenken"
|
|
972
|
+
saveLink: "Lagre lenken",
|
|
973
|
+
unSaveLink: "Fjern lenken"
|
|
965
974
|
},
|
|
966
975
|
save: {
|
|
967
976
|
warning: "Dette lager en lenke til mappen i Mine mapper. Du kan enkelt finne den igjen ved å gå til Mine mapper i menyen i Min NDLA.",
|
|
@@ -1050,7 +1059,9 @@ const messages = {
|
|
|
1050
1059
|
delete: "Slett innlegget"
|
|
1051
1060
|
},
|
|
1052
1061
|
fetchMore: "Hent flere svar",
|
|
1053
|
-
deleted: "Dette innlegget er slettet av forfatteren."
|
|
1062
|
+
deleted: "Dette innlegget er slettet av forfatteren.",
|
|
1063
|
+
upvote: "Stem opp",
|
|
1064
|
+
removeUpvote: "Fjern stemme"
|
|
1054
1065
|
},
|
|
1055
1066
|
flag: {
|
|
1056
1067
|
title: "Rapporter innlegg / kommentar",
|
|
@@ -1337,7 +1348,10 @@ const messages = {
|
|
|
1337
1348
|
loadMore: "Last mer"
|
|
1338
1349
|
},
|
|
1339
1350
|
siteNav: {
|
|
1340
|
-
search: "Ohtsh"
|
|
1351
|
+
search: "Ohtsh",
|
|
1352
|
+
navigate: "Naviger med piltastene",
|
|
1353
|
+
select: "Velg",
|
|
1354
|
+
close: "Lukk søk"
|
|
1341
1355
|
},
|
|
1342
1356
|
programmes: {
|
|
1343
1357
|
header: "Maam sïjhth daan biejjien lïeredh ?",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/ui",
|
|
3
|
-
"version": "54.0.
|
|
3
|
+
"version": "54.0.1",
|
|
4
4
|
"description": "UI component library for NDLA.",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -31,19 +31,19 @@
|
|
|
31
31
|
"types"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@ndla/accordion": "^4.0.
|
|
35
|
-
"@ndla/button": "^13.0.
|
|
34
|
+
"@ndla/accordion": "^4.0.3",
|
|
35
|
+
"@ndla/button": "^13.0.3",
|
|
36
36
|
"@ndla/core": "^5.0.1",
|
|
37
37
|
"@ndla/dropdown-menu": "^1.0.38",
|
|
38
|
-
"@ndla/forms": "^8.0.
|
|
38
|
+
"@ndla/forms": "^8.0.3",
|
|
39
39
|
"@ndla/hooks": "^2.1.7",
|
|
40
|
-
"@ndla/icons": "^6.1.
|
|
40
|
+
"@ndla/icons": "^6.1.6",
|
|
41
41
|
"@ndla/licenses": "^7.2.6",
|
|
42
|
-
"@ndla/modal": "^6.0.
|
|
43
|
-
"@ndla/notion": "^7.0.
|
|
44
|
-
"@ndla/safelink": "^5.1.
|
|
42
|
+
"@ndla/modal": "^6.0.2",
|
|
43
|
+
"@ndla/notion": "^7.0.2",
|
|
44
|
+
"@ndla/safelink": "^5.1.6",
|
|
45
45
|
"@ndla/tooltip": "^8.0.1",
|
|
46
|
-
"@ndla/typography": "^0.4.
|
|
46
|
+
"@ndla/typography": "^0.4.22",
|
|
47
47
|
"@ndla/util": "^4.0.4",
|
|
48
48
|
"@radix-ui/react-popover": "^1.0.7",
|
|
49
49
|
"@radix-ui/react-slider": "^1.1.2",
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"publishConfig": {
|
|
78
78
|
"access": "public"
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "06462ea8a1e84faedef361152994b7d48d4cd6e3"
|
|
81
81
|
}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { TFunction } from "i18next";
|
|
10
10
|
import { ReactNode, useCallback, useEffect, useState } from "react";
|
|
11
11
|
import { useTranslation } from "react-i18next";
|
|
12
|
+
import { useLocation } from "react-router-dom";
|
|
12
13
|
import styled from "@emotion/styled";
|
|
13
14
|
import { AccordionRoot, AccordionHeader, AccordionContent, AccordionItem } from "@ndla/accordion";
|
|
14
15
|
import { breakpoints, colors, fonts, mq, spacing } from "@ndla/core";
|
|
@@ -103,7 +104,7 @@ const LicenseWrapper = styled.div`
|
|
|
103
104
|
|
|
104
105
|
const StyledAccordionHeader = styled(AccordionHeader)`
|
|
105
106
|
background-color: ${colors.brand.lightest};
|
|
106
|
-
|
|
107
|
+
${fonts.sizes("16px", "29px")};
|
|
107
108
|
font-weight: ${fonts.weight.semibold};
|
|
108
109
|
|
|
109
110
|
&[data-background-color="white"][data-state="closed"] {
|
|
@@ -133,7 +134,9 @@ const ArticleByline = ({
|
|
|
133
134
|
bylineType = "article",
|
|
134
135
|
}: Props) => {
|
|
135
136
|
const { t } = useTranslation();
|
|
137
|
+
const { pathname } = useLocation();
|
|
136
138
|
const [openAccordions, setOpenAccordions] = useState<string[]>([]);
|
|
139
|
+
const accordionItemValue = "rulesForUse";
|
|
137
140
|
|
|
138
141
|
const onHashChange = useCallback(
|
|
139
142
|
(e: HashChangeEvent) => {
|
|
@@ -148,6 +151,10 @@ const ArticleByline = ({
|
|
|
148
151
|
[openAccordions],
|
|
149
152
|
);
|
|
150
153
|
|
|
154
|
+
useEffect(() => {
|
|
155
|
+
setOpenAccordions((prev) => prev.filter((state) => state !== accordionItemValue));
|
|
156
|
+
}, [pathname]);
|
|
157
|
+
|
|
151
158
|
useEffect(() => {
|
|
152
159
|
window.addEventListener("hashchange", onHashChange);
|
|
153
160
|
return () => window.removeEventListener("hashchange", onHashChange);
|
|
@@ -181,7 +188,7 @@ const ArticleByline = ({
|
|
|
181
188
|
)}
|
|
182
189
|
<AccordionRoot type="multiple" onValueChange={setOpenAccordions} value={openAccordions}>
|
|
183
190
|
{licenseBox && (
|
|
184
|
-
<AccordionItem value=
|
|
191
|
+
<AccordionItem value={accordionItemValue}>
|
|
185
192
|
<StyledAccordionHeader headingLevel="h2" data-background-color={accordionHeaderVariant}>
|
|
186
193
|
{t("article.useContent")}
|
|
187
194
|
</StyledAccordionHeader>
|
|
@@ -84,12 +84,13 @@ const StyledImg = styled.img`
|
|
|
84
84
|
const BlogPost = ({ title, author, url, metaImage, headingLevel: Heading = "h3", size = "normal", path }: Props) => {
|
|
85
85
|
const { t } = useTranslation();
|
|
86
86
|
const href = getPossiblyRelativeUrl(url, path);
|
|
87
|
+
const imageWidth = size === "large" ? 532 : 350;
|
|
87
88
|
return (
|
|
88
89
|
<Container data-size={size} to={href}>
|
|
89
90
|
<Heading className="blog-title" css={headingCss}>
|
|
90
91
|
{parse(title)}
|
|
91
92
|
</Heading>
|
|
92
|
-
<StyledImg src={metaImage.url} alt={metaImage.alt} />
|
|
93
|
+
<StyledImg src={`${metaImage.url}?width=${imageWidth}`} alt={metaImage.alt} />
|
|
93
94
|
{!!author && <AuthorContainer aria-label={t("article.writtenBy", { authors: author })}>{author}</AuthorContainer>}
|
|
94
95
|
</Container>
|
|
95
96
|
);
|
|
@@ -91,7 +91,7 @@ const CampaignBlock = ({
|
|
|
91
91
|
}: Props) => {
|
|
92
92
|
return (
|
|
93
93
|
<Container className={className} data-type="campaign-block" data-image-side={imageSide}>
|
|
94
|
-
{image && <StyledImg src={image.src} height={200} width={240} alt={image.alt} />}
|
|
94
|
+
{image && <StyledImg src={`${image.src}?width=240`} height={200} width={240} alt={image.alt} />}
|
|
95
95
|
<TextWrapper>
|
|
96
96
|
<Heading css={headingStyle}>{parse(title)}</Heading>
|
|
97
97
|
<StyledDescription>{parse(description)}</StyledDescription>
|
|
@@ -65,7 +65,7 @@ interface Props {
|
|
|
65
65
|
const KeyFigure = ({ image, title, subtitle }: Props) => {
|
|
66
66
|
return (
|
|
67
67
|
<ContentWrapper>
|
|
68
|
-
<StyledImage src={image?.src} width={150} height={150} alt={image?.alt} />
|
|
68
|
+
<StyledImage src={`${image?.src}?width=150`} width={150} height={150} alt={image?.alt} />
|
|
69
69
|
<TitleWrapper>{parse(title)}</TitleWrapper>
|
|
70
70
|
<SubTitleWrapper>{parse(subtitle)}</SubTitleWrapper>
|
|
71
71
|
</ContentWrapper>
|
|
@@ -57,6 +57,7 @@ export default {
|
|
|
57
57
|
</DropdownMenu>
|
|
58
58
|
),
|
|
59
59
|
isShared: true,
|
|
60
|
+
isOwner: true,
|
|
60
61
|
},
|
|
61
62
|
} as Meta<typeof Folder>;
|
|
62
63
|
|
|
@@ -66,6 +67,10 @@ export const WithoutMenu: StoryObj<typeof Folder> = {
|
|
|
66
67
|
args: { menu: undefined },
|
|
67
68
|
};
|
|
68
69
|
|
|
70
|
+
export const SharedByOthers: StoryObj<typeof Folder> = {
|
|
71
|
+
args: { author: "Lise Lærer", isOwner: false },
|
|
72
|
+
};
|
|
73
|
+
|
|
69
74
|
const BlockWrapper = styled.div`
|
|
70
75
|
display: flex;
|
|
71
76
|
gap: ${spacing.small};
|
|
@@ -10,7 +10,7 @@ import { ReactNode } from "react";
|
|
|
10
10
|
import { useTranslation } from "react-i18next";
|
|
11
11
|
import styled from "@emotion/styled";
|
|
12
12
|
import { fonts, spacing, colors, mq, breakpoints, stackOrder } from "@ndla/core";
|
|
13
|
-
import { FileDocumentOutline, Share } from "@ndla/icons/common";
|
|
13
|
+
import { FileDocumentOutline, Share, Link } from "@ndla/icons/common";
|
|
14
14
|
import { FolderOutlined, FolderSharedOutlined } from "@ndla/icons/contentType";
|
|
15
15
|
import { ResourceTitleLink } from "../../Resource/resourceComponents";
|
|
16
16
|
|
|
@@ -147,6 +147,7 @@ const Count = ({ type, count, layoutType }: IconCountProps) => {
|
|
|
147
147
|
interface Props {
|
|
148
148
|
id: string;
|
|
149
149
|
title: string;
|
|
150
|
+
author?: string;
|
|
150
151
|
subFolders?: number;
|
|
151
152
|
subResources?: number;
|
|
152
153
|
description?: string;
|
|
@@ -154,11 +155,33 @@ interface Props {
|
|
|
154
155
|
type?: LayoutType;
|
|
155
156
|
menu?: ReactNode;
|
|
156
157
|
isShared?: boolean;
|
|
158
|
+
isOwner?: boolean;
|
|
157
159
|
}
|
|
158
160
|
|
|
159
|
-
const
|
|
161
|
+
const getIcon = (isOwner: boolean, isShared?: boolean) => {
|
|
162
|
+
if (!isOwner) {
|
|
163
|
+
return Link;
|
|
164
|
+
} else if (isShared) {
|
|
165
|
+
return FolderSharedOutlined;
|
|
166
|
+
} else {
|
|
167
|
+
return FolderOutlined;
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
const Folder = ({
|
|
172
|
+
id,
|
|
173
|
+
link,
|
|
174
|
+
title,
|
|
175
|
+
author,
|
|
176
|
+
subFolders,
|
|
177
|
+
subResources,
|
|
178
|
+
type = "list",
|
|
179
|
+
menu,
|
|
180
|
+
isShared,
|
|
181
|
+
isOwner = true,
|
|
182
|
+
}: Props) => {
|
|
160
183
|
const { t } = useTranslation();
|
|
161
|
-
const Icon = isShared
|
|
184
|
+
const Icon = getIcon(isOwner, isShared);
|
|
162
185
|
|
|
163
186
|
return (
|
|
164
187
|
<FolderWrapper data-type={type} id={id}>
|
|
@@ -177,14 +200,24 @@ const Folder = ({ id, link, title, subFolders, subResources, type = "list", menu
|
|
|
177
200
|
<MenuWrapper>
|
|
178
201
|
<CountContainer data-type={type}>
|
|
179
202
|
{isShared && (
|
|
180
|
-
|
|
181
|
-
<IconTextWrapper aria-hidden>
|
|
203
|
+
<IconTextWrapper>
|
|
182
204
|
<Share />
|
|
183
|
-
|
|
205
|
+
{!isOwner ? (
|
|
206
|
+
<span>
|
|
207
|
+
{t("myNdla.folder.sharing.sharedBy")}
|
|
208
|
+
{author ? `${author}` : t("myNdla.folder.sharing.sharedByAnonymous")}
|
|
209
|
+
</span>
|
|
210
|
+
) : (
|
|
211
|
+
<span aria-hidden>{t("myNdla.folder.sharing.shared")}</span>
|
|
212
|
+
)}
|
|
184
213
|
</IconTextWrapper>
|
|
185
214
|
)}
|
|
186
|
-
|
|
187
|
-
|
|
215
|
+
{isOwner && (
|
|
216
|
+
<>
|
|
217
|
+
<Count layoutType={type} type={"folder"} count={subFolders} />
|
|
218
|
+
<Count layoutType={type} type={"resource"} count={subResources} />
|
|
219
|
+
</>
|
|
220
|
+
)}
|
|
188
221
|
</CountContainer>
|
|
189
222
|
{menu}
|
|
190
223
|
</MenuWrapper>
|
|
@@ -32,12 +32,12 @@ const ResourceBoxContainer = styled.div`
|
|
|
32
32
|
|
|
33
33
|
const Title = styled.h3`
|
|
34
34
|
font-weight: ${fonts.weight.bold};
|
|
35
|
-
|
|
35
|
+
${fonts.sizes(18)};
|
|
36
36
|
margin-top: 0;
|
|
37
37
|
`;
|
|
38
38
|
|
|
39
39
|
const Caption = styled.p`
|
|
40
|
-
|
|
40
|
+
${fonts.sizes(14)};
|
|
41
41
|
`;
|
|
42
42
|
|
|
43
43
|
const ContentWrapper = styled.div`
|