@ndla/ui 50.15.2 → 51.0.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/Embed/ImageEmbed.js +7 -5
- package/es/Embed/index.js +1 -1
- package/es/Footer/FooterBlock.js +17 -0
- package/es/Footer/index.js +1 -4
- package/es/Subject/index.js +0 -1
- package/es/all.css +1 -1
- package/es/index.js +3 -3
- package/es/locale/messages-en.js +3 -1
- package/es/locale/messages-nb.js +3 -1
- package/es/locale/messages-nn.js +3 -1
- package/es/locale/messages-se.js +3 -1
- package/es/locale/messages-sma.js +3 -1
- package/lib/Embed/ImageEmbed.d.ts +3 -1
- package/lib/Embed/ImageEmbed.js +7 -5
- package/lib/Embed/index.d.ts +1 -1
- package/lib/Embed/index.js +15 -3
- package/lib/Footer/FooterBlock.d.ts +13 -0
- package/lib/Footer/FooterBlock.js +24 -0
- package/lib/Footer/index.d.ts +1 -4
- package/lib/Footer/index.js +3 -18
- package/lib/Subject/index.d.ts +0 -1
- package/lib/Subject/index.js +0 -7
- package/lib/all.css +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +14 -20
- 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 +2 -0
- package/lib/locale/messages-nn.js +3 -1
- package/lib/locale/messages-se.d.ts +2 -0
- package/lib/locale/messages-se.js +3 -1
- package/lib/locale/messages-sma.d.ts +2 -0
- package/lib/locale/messages-sma.js +3 -1
- package/package.json +19 -19
- package/src/Embed/ImageEmbed.tsx +5 -1
- package/src/Embed/index.ts +1 -1
- package/src/Footer/Footer.stories.tsx +7 -105
- package/src/Footer/FooterBlock.tsx +30 -0
- package/src/Footer/index.ts +1 -5
- package/src/Subject/index.ts +0 -1
- package/src/index.ts +4 -2
- package/src/locale/messages-en.ts +2 -0
- package/src/locale/messages-nb.ts +2 -0
- package/src/locale/messages-nn.ts +2 -0
- package/src/locale/messages-se.ts +2 -0
- package/src/locale/messages-sma.ts +2 -0
- package/es/Footer/EditorName.js +0 -20
- package/es/Footer/Footer.js +0 -83
- package/es/Footer/FooterLinks.js +0 -108
- package/es/Footer/FooterText.js +0 -25
- package/es/Subject/SubjectHeader.js +0 -66
- package/lib/Footer/EditorName.d.ts +0 -13
- package/lib/Footer/EditorName.js +0 -27
- package/lib/Footer/Footer.d.ts +0 -30
- package/lib/Footer/Footer.js +0 -88
- package/lib/Footer/FooterLinks.d.ts +0 -26
- package/lib/Footer/FooterLinks.js +0 -115
- package/lib/Footer/FooterText.d.ts +0 -13
- package/lib/Footer/FooterText.js +0 -33
- package/lib/Subject/SubjectHeader.d.ts +0 -17
- package/lib/Subject/SubjectHeader.js +0 -73
- package/src/Footer/EditorName.tsx +0 -19
- package/src/Footer/Footer.tsx +0 -107
- package/src/Footer/FooterLinks.tsx +0 -144
- package/src/Footer/FooterText.tsx +0 -35
- package/src/Subject/SubjectHeader.tsx +0 -100
package/lib/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export { ExpandableBox, ExpandableBoxSummary } from "./ExpandableBox";
|
|
9
9
|
export { default as FramedContent } from "./FramedContent";
|
|
10
|
-
export { ConceptNotionV2, ImageEmbed, AudioEmbed, H5pEmbed, ExternalEmbed, IframeEmbed, FootnoteEmbed, BrightcoveEmbed, ContentLinkEmbed, RelatedContentEmbed, ConceptEmbed, ConceptListEmbed, UnknownEmbed, InlineConcept, BlockConcept, UuDisclaimerEmbed, CopyrightEmbed, CodeEmbed, } from "./Embed";
|
|
10
|
+
export { ConceptNotionV2, ImageEmbed, getCrop, getFocalPoint, AudioEmbed, H5pEmbed, ExternalEmbed, IframeEmbed, FootnoteEmbed, BrightcoveEmbed, ContentLinkEmbed, RelatedContentEmbed, ConceptEmbed, ConceptListEmbed, UnknownEmbed, InlineConcept, BlockConcept, UuDisclaimerEmbed, CopyrightEmbed, CodeEmbed, } from "./Embed";
|
|
11
11
|
export { LicenseLink } from "./LicenseByline";
|
|
12
12
|
export { ArticleByline, ArticleFootNotes, ArticleIntroduction, ArticleTitle, ArticleWrapper, ArticleHeaderWrapper, default as Article, } from "./Article";
|
|
13
13
|
export { getPossiblyRelativeUrl } from "./utils/relativeUrl";
|
|
@@ -26,7 +26,7 @@ export type { ImageCrop, ImageFocalPoint } from "./Image";
|
|
|
26
26
|
export type { HeroContentType } from "./Hero";
|
|
27
27
|
export { SubjectMaterialHero, TasksAndActivitiesHero, AssessmentResourcesHero, SubjectHero, SourceMaterialHero, Hero, NdlaFilmHero, ConceptHero, HeroContent, } from "./Hero";
|
|
28
28
|
export { FilterButtons, ToggleItem } from "./Filter";
|
|
29
|
-
export {
|
|
29
|
+
export { FooterBlock } from "./Footer";
|
|
30
30
|
export { Figure } from "./Figure";
|
|
31
31
|
export type { FigureType } from "./Figure";
|
|
32
32
|
export { LanguageSelector } from "./LanguageSelector";
|
|
@@ -62,7 +62,7 @@ export { FilmSlideshow, MovieGrid, FilmMovieSearch, FilmMovieList, AllMoviesAlph
|
|
|
62
62
|
export { MediaList, MediaListItem, MediaListItemBody, MediaListItemActions, MediaListItemImage, MediaListItemMeta, } from "./MediaList";
|
|
63
63
|
export type { ItemType } from "./MediaList";
|
|
64
64
|
export { default as ContentTypeBadge, SubjectMaterialBadge, TasksAndActivitiesBadge, AssessmentResourcesBadge, LearningPathBadge, SubjectBadge, SourceMaterialBadge, ConceptBadge, } from "./ContentTypeBadge";
|
|
65
|
-
export {
|
|
65
|
+
export { SubjectBanner } from "./Subject";
|
|
66
66
|
export { default as CopyParagraphButton } from "./CopyParagraphButton";
|
|
67
67
|
export { default as ContentPlaceholder } from "./ContentPlaceholder";
|
|
68
68
|
export { Notion } from "./Notion";
|
package/lib/index.js
CHANGED
|
@@ -255,12 +255,6 @@ Object.defineProperty(exports, "DefinitionTerm", {
|
|
|
255
255
|
return _DefinitionList.DefinitionTerm;
|
|
256
256
|
}
|
|
257
257
|
});
|
|
258
|
-
Object.defineProperty(exports, "EditorName", {
|
|
259
|
-
enumerable: true,
|
|
260
|
-
get: function () {
|
|
261
|
-
return _Footer.EditorName;
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
258
|
Object.defineProperty(exports, "ErrorMessage", {
|
|
265
259
|
enumerable: true,
|
|
266
260
|
get: function () {
|
|
@@ -357,16 +351,10 @@ Object.defineProperty(exports, "FolderInput", {
|
|
|
357
351
|
return _MyNdla.FolderInput;
|
|
358
352
|
}
|
|
359
353
|
});
|
|
360
|
-
Object.defineProperty(exports, "
|
|
361
|
-
enumerable: true,
|
|
362
|
-
get: function () {
|
|
363
|
-
return _Footer.Footer;
|
|
364
|
-
}
|
|
365
|
-
});
|
|
366
|
-
Object.defineProperty(exports, "FooterText", {
|
|
354
|
+
Object.defineProperty(exports, "FooterBlock", {
|
|
367
355
|
enumerable: true,
|
|
368
356
|
get: function () {
|
|
369
|
-
return _Footer.
|
|
357
|
+
return _Footer.FooterBlock;
|
|
370
358
|
}
|
|
371
359
|
});
|
|
372
360
|
Object.defineProperty(exports, "FootnoteEmbed", {
|
|
@@ -855,12 +843,6 @@ Object.defineProperty(exports, "SubjectBanner", {
|
|
|
855
843
|
return _Subject.SubjectBanner;
|
|
856
844
|
}
|
|
857
845
|
});
|
|
858
|
-
Object.defineProperty(exports, "SubjectHeader", {
|
|
859
|
-
enumerable: true,
|
|
860
|
-
get: function () {
|
|
861
|
-
return _Subject.SubjectHeader;
|
|
862
|
-
}
|
|
863
|
-
});
|
|
864
846
|
Object.defineProperty(exports, "SubjectHero", {
|
|
865
847
|
enumerable: true,
|
|
866
848
|
get: function () {
|
|
@@ -969,6 +951,18 @@ Object.defineProperty(exports, "formatNestedMessages", {
|
|
|
969
951
|
return _i18n.formatNestedMessages;
|
|
970
952
|
}
|
|
971
953
|
});
|
|
954
|
+
Object.defineProperty(exports, "getCrop", {
|
|
955
|
+
enumerable: true,
|
|
956
|
+
get: function () {
|
|
957
|
+
return _Embed.getCrop;
|
|
958
|
+
}
|
|
959
|
+
});
|
|
960
|
+
Object.defineProperty(exports, "getFocalPoint", {
|
|
961
|
+
enumerable: true,
|
|
962
|
+
get: function () {
|
|
963
|
+
return _Embed.getFocalPoint;
|
|
964
|
+
}
|
|
965
|
+
});
|
|
972
966
|
Object.defineProperty(exports, "getMastheadHeight", {
|
|
973
967
|
enumerable: true,
|
|
974
968
|
get: function () {
|
|
@@ -520,6 +520,7 @@ declare const messages: {
|
|
|
520
520
|
tips: string;
|
|
521
521
|
vacancies: string;
|
|
522
522
|
};
|
|
523
|
+
otherLanguages: string;
|
|
523
524
|
};
|
|
524
525
|
contentTypes: {
|
|
525
526
|
all: string;
|
|
@@ -1123,6 +1124,7 @@ declare const messages: {
|
|
|
1123
1124
|
confirmDeleteFolder: string;
|
|
1124
1125
|
confirmDeleteTag: string;
|
|
1125
1126
|
myFolders: string;
|
|
1127
|
+
sharedByOthersFolders: string;
|
|
1126
1128
|
myTags: string;
|
|
1127
1129
|
mySubjects: string;
|
|
1128
1130
|
newFolder: string;
|
|
@@ -536,7 +536,8 @@ const messages = {
|
|
|
536
536
|
blog: "Blog",
|
|
537
537
|
tips: "Tips to students",
|
|
538
538
|
vacancies: "Vacancies"
|
|
539
|
-
}
|
|
539
|
+
},
|
|
540
|
+
otherLanguages: "Other languages"
|
|
540
541
|
},
|
|
541
542
|
contentTypes: {
|
|
542
543
|
all: "All",
|
|
@@ -1140,6 +1141,7 @@ const messages = {
|
|
|
1140
1141
|
confirmDeleteFolder: "Are you sure you want to delete this folder? Subfolders of this folder will also be deleted. This action cannot be undone.",
|
|
1141
1142
|
confirmDeleteTag: "Are you sure you want to delete this tag? This process cannot be undone.",
|
|
1142
1143
|
myFolders: "My folders",
|
|
1144
|
+
sharedByOthersFolders: "Folders shared by others",
|
|
1143
1145
|
myTags: "My tags",
|
|
1144
1146
|
mySubjects: "My subjects",
|
|
1145
1147
|
newFolder: "New folder",
|
|
@@ -520,6 +520,7 @@ declare const messages: {
|
|
|
520
520
|
tips: string;
|
|
521
521
|
vacancies: string;
|
|
522
522
|
};
|
|
523
|
+
otherLanguages: string;
|
|
523
524
|
};
|
|
524
525
|
contentTypes: {
|
|
525
526
|
all: string;
|
|
@@ -1123,6 +1124,7 @@ declare const messages: {
|
|
|
1123
1124
|
confirmDeleteFolder: string;
|
|
1124
1125
|
confirmDeleteTag: string;
|
|
1125
1126
|
myFolders: string;
|
|
1127
|
+
sharedByOthersFolders: string;
|
|
1126
1128
|
myTags: string;
|
|
1127
1129
|
mySubjects: string;
|
|
1128
1130
|
newFolder: string;
|
|
@@ -536,7 +536,8 @@ const messages = {
|
|
|
536
536
|
blog: "Fagblogg",
|
|
537
537
|
tips: "Tips til elever",
|
|
538
538
|
vacancies: "Ledige stillinger"
|
|
539
|
-
}
|
|
539
|
+
},
|
|
540
|
+
otherLanguages: "Andre språk"
|
|
540
541
|
},
|
|
541
542
|
contentTypes: {
|
|
542
543
|
all: "Alle",
|
|
@@ -1140,6 +1141,7 @@ const messages = {
|
|
|
1140
1141
|
confirmDeleteFolder: "Er du sikker på at du vil slette mappen? Dersom mappen har undermapper vil disse også slettes. Handlingen kan ikke endres.",
|
|
1141
1142
|
confirmDeleteTag: "Er du sikker på at du vil slette emneknagg? Denne handlingen kan ikke endres.",
|
|
1142
1143
|
myFolders: "Mine mapper",
|
|
1144
|
+
sharedByOthersFolders: "Mapper andre har delt",
|
|
1143
1145
|
myTags: "Mine emneknagger",
|
|
1144
1146
|
mySubjects: "Mine fag",
|
|
1145
1147
|
newFolder: "Ny mappe",
|
|
@@ -520,6 +520,7 @@ declare const messages: {
|
|
|
520
520
|
tips: string;
|
|
521
521
|
vacancies: string;
|
|
522
522
|
};
|
|
523
|
+
otherLanguages: string;
|
|
523
524
|
};
|
|
524
525
|
contentTypes: {
|
|
525
526
|
all: string;
|
|
@@ -1123,6 +1124,7 @@ declare const messages: {
|
|
|
1123
1124
|
confirmDeleteFolder: string;
|
|
1124
1125
|
confirmDeleteTag: string;
|
|
1125
1126
|
myFolders: string;
|
|
1127
|
+
sharedByOthersFolders: string;
|
|
1126
1128
|
myTags: string;
|
|
1127
1129
|
mySubjects: string;
|
|
1128
1130
|
newFolder: string;
|
|
@@ -536,7 +536,8 @@ const messages = {
|
|
|
536
536
|
blog: "Fagblogg",
|
|
537
537
|
tips: "Tips til elevar",
|
|
538
538
|
vacancies: "Ledige stillingar"
|
|
539
|
-
}
|
|
539
|
+
},
|
|
540
|
+
otherLanguages: "Andre språk"
|
|
540
541
|
},
|
|
541
542
|
contentTypes: {
|
|
542
543
|
all: "Alle",
|
|
@@ -1140,6 +1141,7 @@ const messages = {
|
|
|
1140
1141
|
confirmDeleteFolder: "Er du sikker på at du vil slette mappa? Dersom mappa har undermapper vil desse også slettast. Denne handlinga kan ikkje endrast.",
|
|
1141
1142
|
confirmDeleteTag: "Er du sikker på at du vil slette tag? Denne handlinga kan ikkje endrast.",
|
|
1142
1143
|
myFolders: "Mine mapper",
|
|
1144
|
+
sharedByOthersFolders: "Mapper andre har delt",
|
|
1143
1145
|
myTags: "Mine emneknaggar",
|
|
1144
1146
|
mySubjects: "Mine fag",
|
|
1145
1147
|
newFolder: "Ny mappe",
|
|
@@ -520,6 +520,7 @@ declare const messages: {
|
|
|
520
520
|
tips: string;
|
|
521
521
|
vacancies: string;
|
|
522
522
|
};
|
|
523
|
+
otherLanguages: string;
|
|
523
524
|
};
|
|
524
525
|
contentTypes: {
|
|
525
526
|
all: string;
|
|
@@ -1123,6 +1124,7 @@ declare const messages: {
|
|
|
1123
1124
|
confirmDeleteFolder: string;
|
|
1124
1125
|
confirmDeleteTag: string;
|
|
1125
1126
|
myFolders: string;
|
|
1127
|
+
sharedByOthersFolders: string;
|
|
1126
1128
|
myTags: string;
|
|
1127
1129
|
mySubjects: string;
|
|
1128
1130
|
newFolder: string;
|
|
@@ -536,7 +536,8 @@ const messages = {
|
|
|
536
536
|
blog: "Fágablogga",
|
|
537
537
|
tips: "Cavgileapmi ohppiide",
|
|
538
538
|
vacancies: "Rabas virggit"
|
|
539
|
-
}
|
|
539
|
+
},
|
|
540
|
+
otherLanguages: "Andre språk"
|
|
540
541
|
},
|
|
541
542
|
contentTypes: {
|
|
542
543
|
all: "Buot",
|
|
@@ -1140,6 +1141,7 @@ const messages = {
|
|
|
1140
1141
|
confirmDeleteFolder: "Er du sikker på at du vil slette mappen? Dersom mappen har undermapper vil disse også slettes. Handlingen kan ikke endres.",
|
|
1141
1142
|
confirmDeleteTag: "Er du sikker på at du vil slette emneknagg? Denne handlingen kan ikke endres.",
|
|
1142
1143
|
myFolders: "Mine mapper",
|
|
1144
|
+
sharedByOthersFolders: "Mapper andre har delt",
|
|
1143
1145
|
myTags: "Mine emneknagger",
|
|
1144
1146
|
mySubjects: "Mine fag",
|
|
1145
1147
|
newFolder: "Ny mappe",
|
|
@@ -520,6 +520,7 @@ declare const messages: {
|
|
|
520
520
|
tips: string;
|
|
521
521
|
vacancies: string;
|
|
522
522
|
};
|
|
523
|
+
otherLanguages: string;
|
|
523
524
|
};
|
|
524
525
|
contentTypes: {
|
|
525
526
|
all: string;
|
|
@@ -1123,6 +1124,7 @@ declare const messages: {
|
|
|
1123
1124
|
confirmDeleteFolder: string;
|
|
1124
1125
|
confirmDeleteTag: string;
|
|
1125
1126
|
myFolders: string;
|
|
1127
|
+
sharedByOthersFolders: string;
|
|
1126
1128
|
myTags: string;
|
|
1127
1129
|
mySubjects: string;
|
|
1128
1130
|
newFolder: string;
|
|
@@ -536,7 +536,8 @@ const messages = {
|
|
|
536
536
|
blog: "Faageblogge",
|
|
537
537
|
tips: "Tipsh learoehkidie",
|
|
538
538
|
vacancies: "Gaavnoes barkoeh"
|
|
539
|
-
}
|
|
539
|
+
},
|
|
540
|
+
otherLanguages: "Andre språk"
|
|
540
541
|
},
|
|
541
542
|
contentTypes: {
|
|
542
543
|
all: "Alle",
|
|
@@ -1140,6 +1141,7 @@ const messages = {
|
|
|
1140
1141
|
confirmDeleteFolder: "Er du sikker på at du vil slette mappen? Dersom mappen har undermapper vil disse også slettes. Handlingen kan ikke endres.",
|
|
1141
1142
|
confirmDeleteTag: "Er du sikker på at du vil slette emneknagg? Denne handlingen kan ikke endres.",
|
|
1142
1143
|
myFolders: "Mine mapper",
|
|
1144
|
+
sharedByOthersFolders: "Mapper andre har delt",
|
|
1143
1145
|
myTags: "Mine emneknagger",
|
|
1144
1146
|
mySubjects: "Mine fag",
|
|
1145
1147
|
newFolder: "Ny mappe",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "51.0.0",
|
|
4
4
|
"description": "UI component library for NDLA.",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -31,24 +31,24 @@
|
|
|
31
31
|
"types"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@ndla/accordion": "^3.0.
|
|
35
|
-
"@ndla/button": "^12.0.
|
|
36
|
-
"@ndla/carousel": "^4.0.
|
|
37
|
-
"@ndla/code": "^5.0.
|
|
38
|
-
"@ndla/core": "^4.5.
|
|
39
|
-
"@ndla/dropdown-menu": "^1.0.
|
|
40
|
-
"@ndla/forms": "^7.1.
|
|
34
|
+
"@ndla/accordion": "^3.0.42",
|
|
35
|
+
"@ndla/button": "^12.0.45",
|
|
36
|
+
"@ndla/carousel": "^4.0.43",
|
|
37
|
+
"@ndla/code": "^5.0.57",
|
|
38
|
+
"@ndla/core": "^4.5.5",
|
|
39
|
+
"@ndla/dropdown-menu": "^1.0.36",
|
|
40
|
+
"@ndla/forms": "^7.1.2",
|
|
41
41
|
"@ndla/hooks": "^2.1.6",
|
|
42
|
-
"@ndla/icons": "^6.1.
|
|
42
|
+
"@ndla/icons": "^6.1.3",
|
|
43
43
|
"@ndla/licenses": "^7.2.6",
|
|
44
|
-
"@ndla/modal": "^5.0.
|
|
45
|
-
"@ndla/notion": "^6.0.
|
|
46
|
-
"@ndla/safelink": "^5.1.
|
|
47
|
-
"@ndla/select": "^3.3.
|
|
48
|
-
"@ndla/switch": "^1.1.
|
|
49
|
-
"@ndla/tabs": "^4.0.
|
|
50
|
-
"@ndla/tooltip": "^7.0.
|
|
51
|
-
"@ndla/typography": "^0.4.
|
|
44
|
+
"@ndla/modal": "^5.0.42",
|
|
45
|
+
"@ndla/notion": "^6.0.43",
|
|
46
|
+
"@ndla/safelink": "^5.1.2",
|
|
47
|
+
"@ndla/select": "^3.3.17",
|
|
48
|
+
"@ndla/switch": "^1.1.42",
|
|
49
|
+
"@ndla/tabs": "^4.0.5",
|
|
50
|
+
"@ndla/tooltip": "^7.0.5",
|
|
51
|
+
"@ndla/typography": "^0.4.19",
|
|
52
52
|
"@ndla/util": "^4.0.4",
|
|
53
53
|
"@radix-ui/react-popover": "^1.0.7",
|
|
54
54
|
"@radix-ui/react-slider": "^1.1.2",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@ndla/types-backend": "^0.2.64",
|
|
75
|
-
"@ndla/types-embed": "^4.1.
|
|
75
|
+
"@ndla/types-embed": "^4.1.6",
|
|
76
76
|
"css-loader": "^6.7.3",
|
|
77
77
|
"mini-css-extract-plugin": "^2.7.5",
|
|
78
78
|
"sass-loader": "^13.2.2",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
"publishConfig": {
|
|
83
83
|
"access": "public"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "4c02a36e29e56aef17cf835b383799a1898b99e3"
|
|
86
86
|
}
|
package/src/Embed/ImageEmbed.tsx
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import parse from "html-react-parser";
|
|
10
|
-
import { MouseEventHandler, useMemo, useState } from "react";
|
|
10
|
+
import { MouseEventHandler, ReactNode, useMemo, useState } from "react";
|
|
11
11
|
import { useTranslation } from "react-i18next";
|
|
12
12
|
import styled from "@emotion/styled";
|
|
13
13
|
import { colors, spacing, utils } from "@ndla/core";
|
|
@@ -30,6 +30,7 @@ interface Props {
|
|
|
30
30
|
inGrid?: boolean;
|
|
31
31
|
lang?: string;
|
|
32
32
|
renderContext?: RenderContext;
|
|
33
|
+
children?: ReactNode;
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
export interface Author {
|
|
@@ -133,6 +134,7 @@ const ImageEmbed = ({
|
|
|
133
134
|
lang,
|
|
134
135
|
canonicalUrl,
|
|
135
136
|
renderContext = "article",
|
|
137
|
+
children,
|
|
136
138
|
}: Props) => {
|
|
137
139
|
const [isBylineHidden, setIsBylineHidden] = useState(hideByline(embed.embedData.size));
|
|
138
140
|
const [imageSizes, setImageSizes] = useState<string | undefined>(undefined);
|
|
@@ -165,6 +167,7 @@ const ImageEmbed = ({
|
|
|
165
167
|
|
|
166
168
|
return (
|
|
167
169
|
<StyledFigure type={imageSizes ? undefined : figureType} data-float={embedData.align}>
|
|
170
|
+
{children}
|
|
168
171
|
<ImageWrapper
|
|
169
172
|
src={!isCopyrighted ? canonicalUrl?.(data) : undefined}
|
|
170
173
|
crop={crop}
|
|
@@ -276,6 +279,7 @@ const ExpandButton = ({ size, expanded, bylineHidden, onExpand, onHideByline }:
|
|
|
276
279
|
<button
|
|
277
280
|
type="button"
|
|
278
281
|
css={figureActionIndicatorStyle}
|
|
282
|
+
data-byline-button=""
|
|
279
283
|
aria-label={t(`license.images.itemImage.zoom${expanded ? "Out" : ""}ImageButtonLabel`)}
|
|
280
284
|
onClick={onExpand}
|
|
281
285
|
>
|
package/src/Embed/index.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
export { default as ImageEmbed } from "./ImageEmbed";
|
|
9
|
+
export { default as ImageEmbed, getCrop, getFocalPoint } from "./ImageEmbed";
|
|
10
10
|
export { default as AudioEmbed } from "./AudioEmbed";
|
|
11
11
|
export { default as H5pEmbed } from "./H5pEmbed";
|
|
12
12
|
export { default as ExternalEmbed } from "./ExternalEmbed";
|
|
@@ -7,81 +7,12 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { Meta, StoryObj } from "@storybook/react";
|
|
10
|
-
import
|
|
11
|
-
import { EditorName } from "./EditorName";
|
|
12
|
-
import Footer from "./Footer";
|
|
13
|
-
import { FooterText } from "./FooterText";
|
|
14
|
-
|
|
15
|
-
const mockCommonLinks = [
|
|
16
|
-
{
|
|
17
|
-
to: "https://ndla.no/about/om-ndla",
|
|
18
|
-
text: "Om NDLA",
|
|
19
|
-
external: false,
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
to: "https://ndla.no/about/about-ndla",
|
|
23
|
-
text: "About NDLA",
|
|
24
|
-
external: false,
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
to: "https://blogg.ndla.no/",
|
|
28
|
-
text: "NDLA fagblogg",
|
|
29
|
-
external: true,
|
|
30
|
-
},
|
|
31
|
-
];
|
|
32
|
-
|
|
33
|
-
const mockFooterLinks = [
|
|
34
|
-
{
|
|
35
|
-
to: "https://www.facebook.com/ndla.no",
|
|
36
|
-
text: "NDLA på Facebook",
|
|
37
|
-
icon: <Facebook />,
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
to: "https://instagram.com/ndla_no/",
|
|
41
|
-
text: "NDLA på Instagram",
|
|
42
|
-
icon: <Instagram />,
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
to: "https://www.linkedin.com/company/ndla/",
|
|
46
|
-
text: "NDLA på LinkedIn",
|
|
47
|
-
icon: <LinkedIn />,
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
to: "https://www.youtube.com/channel/UCBlt6T8B0mmvDh3k5q7EhsA",
|
|
51
|
-
text: "NDLA på YouTube",
|
|
52
|
-
icon: <Youtube />,
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
to: "https://ndla.us6.list-manage.com/subscribe?u=99d41bbb28de0128915adebed&id=9a1d3ad1ea",
|
|
56
|
-
text: "Meld deg på vårt nyhetsbrev",
|
|
57
|
-
icon: <EmailOutline />,
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
to: "#",
|
|
61
|
-
text: "Del denne siden",
|
|
62
|
-
icon: <Share />,
|
|
63
|
-
},
|
|
64
|
-
];
|
|
65
|
-
|
|
66
|
-
const privacyLinks = [
|
|
67
|
-
{
|
|
68
|
-
label: "Personvernerklæring",
|
|
69
|
-
url: "https://ndla.no/article/personvernerklaering",
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
label: "Erklæring om informasjonskapsler",
|
|
73
|
-
url: "https://ndla.no/article/erklaering-for-informasjonskapsler",
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
label: "Tilgjengelighetserklæring",
|
|
77
|
-
url: "https://uustatus.no/nn/erklaringer/publisert/8cefdf3d-3272-402a-907b-689ddfc9bba7",
|
|
78
|
-
},
|
|
79
|
-
];
|
|
10
|
+
import FooterBlock from "./FooterBlock";
|
|
80
11
|
|
|
81
12
|
export default {
|
|
82
|
-
title: "Components/
|
|
13
|
+
title: "Components/FooterBlock",
|
|
83
14
|
tags: ["autodocs"],
|
|
84
|
-
component:
|
|
15
|
+
component: FooterBlock,
|
|
85
16
|
parameters: {
|
|
86
17
|
inlineStories: true,
|
|
87
18
|
},
|
|
@@ -89,10 +20,7 @@ export default {
|
|
|
89
20
|
args: {
|
|
90
21
|
children: (
|
|
91
22
|
<>
|
|
92
|
-
<
|
|
93
|
-
<EditorName title="Ansvarlig redaktør:" name="Sigurd Trageton" />
|
|
94
|
-
</FooterText>
|
|
95
|
-
<FooterText>Nettstedet er utarbeidet av NDLA med åpen kildekode.</FooterText>
|
|
23
|
+
<p>Litt tekst i footer!</p>
|
|
96
24
|
</>
|
|
97
25
|
),
|
|
98
26
|
},
|
|
@@ -101,33 +29,7 @@ export default {
|
|
|
101
29
|
languageSelector: { control: false },
|
|
102
30
|
auth: { control: false },
|
|
103
31
|
},
|
|
104
|
-
render: (args) => <
|
|
105
|
-
} as Meta<typeof
|
|
106
|
-
|
|
107
|
-
export const Default: StoryObj<typeof Footer> = {};
|
|
108
|
-
|
|
109
|
-
export const WithContentAndLinks: StoryObj<typeof Footer> = {
|
|
110
|
-
args: {
|
|
111
|
-
privacyLinks: privacyLinks,
|
|
112
|
-
commonLinks: mockCommonLinks,
|
|
113
|
-
links: mockFooterLinks,
|
|
114
|
-
},
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
export const WithoutContent: StoryObj<typeof Footer> = {
|
|
118
|
-
args: {
|
|
119
|
-
children: undefined,
|
|
120
|
-
commonLinks: mockCommonLinks,
|
|
121
|
-
links: mockFooterLinks,
|
|
122
|
-
privacyLinks: privacyLinks,
|
|
123
|
-
},
|
|
124
|
-
};
|
|
32
|
+
render: (args) => <FooterBlock {...args}></FooterBlock>,
|
|
33
|
+
} as Meta<typeof FooterBlock>;
|
|
125
34
|
|
|
126
|
-
export const
|
|
127
|
-
args: {
|
|
128
|
-
privacyLinks: privacyLinks,
|
|
129
|
-
commonLinks: mockCommonLinks,
|
|
130
|
-
links: mockFooterLinks,
|
|
131
|
-
auth: <div>Auth info can be placed down here</div>,
|
|
132
|
-
},
|
|
133
|
-
};
|
|
35
|
+
export const Default: StoryObj<typeof FooterBlock> = {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2016-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 styled from "@emotion/styled";
|
|
10
|
+
import { breakpoints, colors, mq, spacing, stackOrder } from "@ndla/core";
|
|
11
|
+
|
|
12
|
+
export const FooterBlock = styled.div`
|
|
13
|
+
position: relative;
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
align-items: center;
|
|
17
|
+
gap: ${spacing.large};
|
|
18
|
+
color: ${colors.white};
|
|
19
|
+
z-index: ${stackOrder.offsetSingle};
|
|
20
|
+
padding: ${spacing.large} ${spacing.large} ${spacing.xlarge};
|
|
21
|
+
background: ${colors.brand.dark};
|
|
22
|
+
${mq.range({ from: breakpoints.wide })} {
|
|
23
|
+
padding: ${spacing.large} 170px ${spacing.xlarge};
|
|
24
|
+
}
|
|
25
|
+
> * {
|
|
26
|
+
max-width: 1100px;
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
|
|
30
|
+
export default FooterBlock;
|
package/src/Footer/index.ts
CHANGED
package/src/Subject/index.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -14,6 +14,8 @@ export { default as FramedContent } from "./FramedContent";
|
|
|
14
14
|
export {
|
|
15
15
|
ConceptNotionV2,
|
|
16
16
|
ImageEmbed,
|
|
17
|
+
getCrop,
|
|
18
|
+
getFocalPoint,
|
|
17
19
|
AudioEmbed,
|
|
18
20
|
H5pEmbed,
|
|
19
21
|
ExternalEmbed,
|
|
@@ -84,7 +86,7 @@ export {
|
|
|
84
86
|
|
|
85
87
|
export { FilterButtons, ToggleItem } from "./Filter";
|
|
86
88
|
|
|
87
|
-
export {
|
|
89
|
+
export { FooterBlock } from "./Footer";
|
|
88
90
|
|
|
89
91
|
export { Figure } from "./Figure";
|
|
90
92
|
export type { FigureType } from "./Figure";
|
|
@@ -179,7 +181,7 @@ export {
|
|
|
179
181
|
ConceptBadge,
|
|
180
182
|
} from "./ContentTypeBadge";
|
|
181
183
|
|
|
182
|
-
export {
|
|
184
|
+
export { SubjectBanner } from "./Subject";
|
|
183
185
|
|
|
184
186
|
export { default as CopyParagraphButton } from "./CopyParagraphButton";
|
|
185
187
|
|
|
@@ -540,6 +540,7 @@ const messages = {
|
|
|
540
540
|
tips: "Tips to students",
|
|
541
541
|
vacancies: "Vacancies",
|
|
542
542
|
},
|
|
543
|
+
otherLanguages: "Other languages",
|
|
543
544
|
},
|
|
544
545
|
contentTypes: {
|
|
545
546
|
all: "All",
|
|
@@ -1156,6 +1157,7 @@ const messages = {
|
|
|
1156
1157
|
|
|
1157
1158
|
confirmDeleteTag: "Are you sure you want to delete this tag? This process cannot be undone.",
|
|
1158
1159
|
myFolders: "My folders",
|
|
1160
|
+
sharedByOthersFolders: "Folders shared by others",
|
|
1159
1161
|
myTags: "My tags",
|
|
1160
1162
|
mySubjects: "My subjects",
|
|
1161
1163
|
newFolder: "New folder",
|
|
@@ -540,6 +540,7 @@ const messages = {
|
|
|
540
540
|
tips: "Tips til elever",
|
|
541
541
|
vacancies: "Ledige stillinger",
|
|
542
542
|
},
|
|
543
|
+
otherLanguages: "Andre språk",
|
|
543
544
|
},
|
|
544
545
|
contentTypes: {
|
|
545
546
|
all: "Alle",
|
|
@@ -1156,6 +1157,7 @@ const messages = {
|
|
|
1156
1157
|
"Er du sikker på at du vil slette mappen? Dersom mappen har undermapper vil disse også slettes. Handlingen kan ikke endres.",
|
|
1157
1158
|
confirmDeleteTag: "Er du sikker på at du vil slette emneknagg? Denne handlingen kan ikke endres.",
|
|
1158
1159
|
myFolders: "Mine mapper",
|
|
1160
|
+
sharedByOthersFolders: "Mapper andre har delt",
|
|
1159
1161
|
myTags: "Mine emneknagger",
|
|
1160
1162
|
mySubjects: "Mine fag",
|
|
1161
1163
|
newFolder: "Ny mappe",
|
|
@@ -540,6 +540,7 @@ const messages = {
|
|
|
540
540
|
tips: "Tips til elevar",
|
|
541
541
|
vacancies: "Ledige stillingar",
|
|
542
542
|
},
|
|
543
|
+
otherLanguages: "Andre språk",
|
|
543
544
|
},
|
|
544
545
|
contentTypes: {
|
|
545
546
|
all: "Alle",
|
|
@@ -1156,6 +1157,7 @@ const messages = {
|
|
|
1156
1157
|
"Er du sikker på at du vil slette mappa? Dersom mappa har undermapper vil desse også slettast. Denne handlinga kan ikkje endrast.",
|
|
1157
1158
|
confirmDeleteTag: "Er du sikker på at du vil slette tag? Denne handlinga kan ikkje endrast.",
|
|
1158
1159
|
myFolders: "Mine mapper",
|
|
1160
|
+
sharedByOthersFolders: "Mapper andre har delt",
|
|
1159
1161
|
myTags: "Mine emneknaggar",
|
|
1160
1162
|
mySubjects: "Mine fag",
|
|
1161
1163
|
newFolder: "Ny mappe",
|
|
@@ -542,6 +542,7 @@ const messages = {
|
|
|
542
542
|
tips: "Cavgileapmi ohppiide",
|
|
543
543
|
vacancies: "Rabas virggit",
|
|
544
544
|
},
|
|
545
|
+
otherLanguages: "Andre språk",
|
|
545
546
|
},
|
|
546
547
|
contentTypes: {
|
|
547
548
|
all: "Buot",
|
|
@@ -1158,6 +1159,7 @@ const messages = {
|
|
|
1158
1159
|
"Er du sikker på at du vil slette mappen? Dersom mappen har undermapper vil disse også slettes. Handlingen kan ikke endres.",
|
|
1159
1160
|
confirmDeleteTag: "Er du sikker på at du vil slette emneknagg? Denne handlingen kan ikke endres.",
|
|
1160
1161
|
myFolders: "Mine mapper",
|
|
1162
|
+
sharedByOthersFolders: "Mapper andre har delt",
|
|
1161
1163
|
myTags: "Mine emneknagger",
|
|
1162
1164
|
mySubjects: "Mine fag",
|
|
1163
1165
|
newFolder: "Ny mappe",
|