@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.
Files changed (68) hide show
  1. package/es/Embed/ImageEmbed.js +7 -5
  2. package/es/Embed/index.js +1 -1
  3. package/es/Footer/FooterBlock.js +17 -0
  4. package/es/Footer/index.js +1 -4
  5. package/es/Subject/index.js +0 -1
  6. package/es/all.css +1 -1
  7. package/es/index.js +3 -3
  8. package/es/locale/messages-en.js +3 -1
  9. package/es/locale/messages-nb.js +3 -1
  10. package/es/locale/messages-nn.js +3 -1
  11. package/es/locale/messages-se.js +3 -1
  12. package/es/locale/messages-sma.js +3 -1
  13. package/lib/Embed/ImageEmbed.d.ts +3 -1
  14. package/lib/Embed/ImageEmbed.js +7 -5
  15. package/lib/Embed/index.d.ts +1 -1
  16. package/lib/Embed/index.js +15 -3
  17. package/lib/Footer/FooterBlock.d.ts +13 -0
  18. package/lib/Footer/FooterBlock.js +24 -0
  19. package/lib/Footer/index.d.ts +1 -4
  20. package/lib/Footer/index.js +3 -18
  21. package/lib/Subject/index.d.ts +0 -1
  22. package/lib/Subject/index.js +0 -7
  23. package/lib/all.css +1 -1
  24. package/lib/index.d.ts +3 -3
  25. package/lib/index.js +14 -20
  26. package/lib/locale/messages-en.d.ts +2 -0
  27. package/lib/locale/messages-en.js +3 -1
  28. package/lib/locale/messages-nb.d.ts +2 -0
  29. package/lib/locale/messages-nb.js +3 -1
  30. package/lib/locale/messages-nn.d.ts +2 -0
  31. package/lib/locale/messages-nn.js +3 -1
  32. package/lib/locale/messages-se.d.ts +2 -0
  33. package/lib/locale/messages-se.js +3 -1
  34. package/lib/locale/messages-sma.d.ts +2 -0
  35. package/lib/locale/messages-sma.js +3 -1
  36. package/package.json +19 -19
  37. package/src/Embed/ImageEmbed.tsx +5 -1
  38. package/src/Embed/index.ts +1 -1
  39. package/src/Footer/Footer.stories.tsx +7 -105
  40. package/src/Footer/FooterBlock.tsx +30 -0
  41. package/src/Footer/index.ts +1 -5
  42. package/src/Subject/index.ts +0 -1
  43. package/src/index.ts +4 -2
  44. package/src/locale/messages-en.ts +2 -0
  45. package/src/locale/messages-nb.ts +2 -0
  46. package/src/locale/messages-nn.ts +2 -0
  47. package/src/locale/messages-se.ts +2 -0
  48. package/src/locale/messages-sma.ts +2 -0
  49. package/es/Footer/EditorName.js +0 -20
  50. package/es/Footer/Footer.js +0 -83
  51. package/es/Footer/FooterLinks.js +0 -108
  52. package/es/Footer/FooterText.js +0 -25
  53. package/es/Subject/SubjectHeader.js +0 -66
  54. package/lib/Footer/EditorName.d.ts +0 -13
  55. package/lib/Footer/EditorName.js +0 -27
  56. package/lib/Footer/Footer.d.ts +0 -30
  57. package/lib/Footer/Footer.js +0 -88
  58. package/lib/Footer/FooterLinks.d.ts +0 -26
  59. package/lib/Footer/FooterLinks.js +0 -115
  60. package/lib/Footer/FooterText.d.ts +0 -13
  61. package/lib/Footer/FooterText.js +0 -33
  62. package/lib/Subject/SubjectHeader.d.ts +0 -17
  63. package/lib/Subject/SubjectHeader.js +0 -73
  64. package/src/Footer/EditorName.tsx +0 -19
  65. package/src/Footer/Footer.tsx +0 -107
  66. package/src/Footer/FooterLinks.tsx +0 -144
  67. package/src/Footer/FooterText.tsx +0 -35
  68. 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 { Footer, EditorName, FooterText } from "./Footer";
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 { SubjectHeader, SubjectBanner } from "./Subject";
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, "Footer", {
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.FooterText;
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": "50.15.2",
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.41",
35
- "@ndla/button": "^12.0.44",
36
- "@ndla/carousel": "^4.0.42",
37
- "@ndla/code": "^5.0.56",
38
- "@ndla/core": "^4.5.4",
39
- "@ndla/dropdown-menu": "^1.0.35",
40
- "@ndla/forms": "^7.1.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.2",
42
+ "@ndla/icons": "^6.1.3",
43
43
  "@ndla/licenses": "^7.2.6",
44
- "@ndla/modal": "^5.0.41",
45
- "@ndla/notion": "^6.0.42",
46
- "@ndla/safelink": "^5.1.1",
47
- "@ndla/select": "^3.3.16",
48
- "@ndla/switch": "^1.1.41",
49
- "@ndla/tabs": "^4.0.4",
50
- "@ndla/tooltip": "^7.0.4",
51
- "@ndla/typography": "^0.4.18",
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.5",
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": "5c3f40bb53a46b29aaf264624d7fbf9900d03744"
85
+ "gitHead": "4c02a36e29e56aef17cf835b383799a1898b99e3"
86
86
  }
@@ -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
  >
@@ -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 { EmailOutline, Facebook, Instagram, LinkedIn, Share, Youtube } from "@ndla/icons/common";
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/Footer",
13
+ title: "Components/FooterBlock",
83
14
  tags: ["autodocs"],
84
- component: Footer,
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
- <FooterText>
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) => <Footer {...args}></Footer>,
105
- } as Meta<typeof Footer>;
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 WithAuthBlock: StoryObj<typeof Footer> = {
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;
@@ -6,8 +6,4 @@
6
6
  *
7
7
  */
8
8
 
9
- import { EditorName } from "./EditorName";
10
- import Footer from "./Footer";
11
- import { FooterText } from "./FooterText";
12
-
13
- export { Footer, FooterText, EditorName };
9
+ export { FooterBlock } from "./FooterBlock";
@@ -6,5 +6,4 @@
6
6
  *
7
7
  */
8
8
 
9
- export { default as SubjectHeader } from "./SubjectHeader";
10
9
  export { default as SubjectBanner } from "./SubjectBanner";
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 { Footer, EditorName, FooterText } from "./Footer";
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 { SubjectHeader, SubjectBanner } from "./Subject";
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",