@ndla/ui 11.1.5 → 12.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.
@@ -487,7 +487,7 @@ var messages = _objectSpread(_objectSpread({
487
487
  aboutNDLA: 'Om NDLA',
488
488
  selectLanguage: 'Velg språk (language): ',
489
489
  vision: 'Sammen skaper vi framtidas læring',
490
- footerLinksHeader: 'Andre NDLA nettsteder',
490
+ footerLinksHeader: 'Andre NDLA-nettsteder',
491
491
  footerInfo: 'Nettstedet er utarbeidet av NDLA med åpen kildekode.',
492
492
  footerEditiorInChief: 'Ansvarlig redaktør: ',
493
493
  footerManagingEditor: 'Utgaveansvarlig: ',
@@ -487,7 +487,7 @@ var messages = _objectSpread(_objectSpread({
487
487
  aboutNDLA: 'Om NDLA',
488
488
  selectLanguage: 'Vel språk (language): ',
489
489
  vision: 'Saman skapar vi framtidas læring',
490
- footerLinksHeader: 'Andre NDLA nettstader',
490
+ footerLinksHeader: 'Andre NDLA-nettstader',
491
491
  footerInfo: 'Nettstaden er utarbeida av NDLA med open kjeldekode.',
492
492
  footerEditiorInChief: 'Ansvarleg redaktør: ',
493
493
  footerManagingEditor: 'Utgåveansvarleg: ',
@@ -487,7 +487,7 @@ var messages = _objectSpread(_objectSpread({
487
487
  aboutNDLA: 'Om NDLA',
488
488
  selectLanguage: 'Velg språk (language): ',
489
489
  vision: 'Sammen skaper vi framtidas læring',
490
- footerLinksHeader: 'Andre NDLA nettsteder',
490
+ footerLinksHeader: 'Andre NDLA-nettsteder',
491
491
  footerInfo: 'Nettstedet er utarbeidet av NDLA med åpen kildekode.',
492
492
  footerEditiorInChief: 'Ansvarlig redaktør: ',
493
493
  footerManagingEditor: 'Utgaveansvarlig: ',
@@ -487,7 +487,7 @@ var messages = _objectSpread(_objectSpread({
487
487
  aboutNDLA: 'Om NDLA',
488
488
  selectLanguage: 'Velg språk (language): ',
489
489
  vision: 'Sammen skaper vi framtidas læring',
490
- footerLinksHeader: 'Andre NDLA nettsteder',
490
+ footerLinksHeader: 'Andre NDLA-nettsteder',
491
491
  footerInfo: 'Nettstedet er utarbeidet av NDLA med åpen kildekode.',
492
492
  footerEditiorInChief: 'Ansvarlig redaktør: ',
493
493
  footerManagingEditor: 'Utgaveansvarlig: ',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndla/ui",
3
- "version": "11.1.5",
3
+ "version": "12.0.0",
4
4
  "description": "UI component library for NDLA.",
5
5
  "license": "GPL-3.0",
6
6
  "main": "lib/index.js",
@@ -36,9 +36,9 @@
36
36
  "@ndla/core": "^2.1.1",
37
37
  "@ndla/hooks": "^1.1.4",
38
38
  "@ndla/icons": "^1.7.0",
39
- "@ndla/licenses": "^4.1.0",
39
+ "@ndla/licenses": "^4.1.1",
40
40
  "@ndla/modal": "^1.2.7",
41
- "@ndla/notion": "^3.1.4",
41
+ "@ndla/notion": "^3.1.5",
42
42
  "@ndla/safelink": "^1.1.7",
43
43
  "@ndla/switch": "^0.1.5",
44
44
  "@ndla/tabs": "^1.1.5",
@@ -81,5 +81,5 @@
81
81
  "publishConfig": {
82
82
  "access": "public"
83
83
  },
84
- "gitHead": "12c85e9d1f1e9f9e482e3bb8edd093fade651809"
84
+ "gitHead": "28f46a3c20d71e0148dc35e1d24dc13f97cc3a31"
85
85
  }
@@ -25,7 +25,7 @@
25
25
  position: relative;
26
26
 
27
27
  mjx-stretchy-v > mjx-ext > mjx-c {
28
- transform: scaleY(200) translateY(0.075em);
28
+ transform: scaleY(100) translateY(0.075em);
29
29
  }
30
30
 
31
31
  > section > p {
@@ -7,7 +7,7 @@
7
7
  *
8
8
  */
9
9
  import React from 'react';
10
- import { breakpoints, fonts, mq, colors } from '@ndla/core';
10
+ import { breakpoints, fonts, mq, colors, spacing } from '@ndla/core';
11
11
  import { useTranslation } from 'react-i18next';
12
12
  import { Launch } from '@ndla/icons/common';
13
13
  import { LicenseByline } from '@ndla/licenses';
@@ -17,18 +17,18 @@ import Image from '../Image';
17
17
 
18
18
  const ResourceBoxContainer = styled.div`
19
19
  display: flex;
20
- padding: 20px;
20
+ position: relative;
21
+ padding: ${spacing.nsmall};
21
22
  border-radius: 5px;
22
23
  border: 1px solid ${colors.brand.light};
23
- position: relative;
24
24
  font-family: ${fonts.sans};
25
25
  box-shadow: 0px 20px 35px -15px rgba(32, 88, 143, 0.15);
26
- gap: 40px;
26
+ gap: ${spacing.medium};
27
27
 
28
28
  ${mq.range({ until: breakpoints.desktop })} {
29
29
  gap: 0;
30
30
  flex-direction: column;
31
- padding-top: 30px;
31
+ padding-top: ${spacing.medium};
32
32
  text-align: center;
33
33
  }
34
34
  `;
@@ -41,40 +41,34 @@ const Title = styled.h3`
41
41
 
42
42
  const Caption = styled.p`
43
43
  font-size: ${fonts.sizes(14)};
44
- max-width: 600px;
45
-
46
- ${mq.range({ until: breakpoints.desktop })} {
47
- line-height: 22px;
48
- }
49
44
  `;
50
45
 
51
- const TextWrapper = styled.div`
46
+ const ContentWrapper = styled.div`
47
+ flex-basis: 0;
48
+ flex-grow: 1;
52
49
  display: flex;
53
50
  flex-direction: column;
54
51
  align-items: flex-start;
55
52
  ${mq.range({ until: breakpoints.desktop })} {
56
53
  align-items: center;
57
- padding-top: 10px;
54
+ padding-top: ${spacing.small};
58
55
  }
59
56
  `;
60
57
 
61
58
  const StyledButton = styled(SafeLinkButton)`
59
+ display: flex;
60
+ gap: ${spacing.xxsmall};
61
+ align-items: center;
62
62
  border: 1px solid ${colors.brand.tertiary};
63
63
  :hover {
64
64
  background-color: ${colors.brand.primary};
65
65
  border: 1px solid ${colors.brand.primary};
66
- color: white;
66
+ color: ${colors.white};
67
67
  }
68
68
  `;
69
69
 
70
- const StyledLaunchIcon = styled(Launch)`
71
- margin-left: 8px;
72
- height: 15px;
73
- width: 15px;
74
- `;
75
-
76
- const ImageWrapper = styled.div`
77
- img {
70
+ const StyledImage = styled(Image)`
71
+ && {
78
72
  object-fit: cover;
79
73
  width: 134px;
80
74
  height: 134px;
@@ -88,46 +82,49 @@ const ImageWrapper = styled.div`
88
82
  `;
89
83
 
90
84
  const LincenseWrapper = styled.div`
91
- top: 9px;
92
85
  position: absolute;
93
- right: 1px;
94
- ul {
95
- margin-right: 0;
96
- }
86
+ top: 9px;
87
+ right: 0;
97
88
  `;
98
89
 
99
- type Props = {
100
- image: string;
90
+ interface ImageMeta {
91
+ src: string;
92
+ alt: string;
93
+ }
94
+
95
+ interface Props {
96
+ image: ImageMeta;
101
97
  title: string;
102
98
  caption: string;
103
99
  licenseRights: string[];
104
- authors?: { name: string }[];
100
+ authors?: string[];
105
101
  locale?: string;
106
102
  url: string;
107
- };
103
+ }
104
+
108
105
  export const ResourceBox = ({ image, title, caption, licenseRights, locale, authors, url }: Props) => {
109
106
  const { t } = useTranslation();
110
107
  return (
111
108
  <ResourceBoxContainer>
112
109
  <LincenseWrapper>
113
110
  <LicenseByline licenseRights={licenseRights} locale={locale} marginRight color={colors.brand.tertiary}>
114
- <div className="c-figure__byline-author-buttons">
115
- <span className="c-figure__byline-authors">{authors?.map((author) => author.name).join(' ')}</span>
116
- </div>
111
+ {authors && authors.length > 0 && (
112
+ <div className="c-figure__byline-author-buttons">
113
+ <span className="c-figure__byline-authors">{authors.join(' ')}</span>
114
+ </div>
115
+ )}
117
116
  </LicenseByline>
118
117
  </LincenseWrapper>
119
- <ImageWrapper>
120
- <Image alt={title} src={image} />
121
- </ImageWrapper>
122
- <TextWrapper>
118
+ <StyledImage src={image.src} alt={image.alt} />
119
+ <ContentWrapper>
123
120
  <Title>{title}</Title>
124
121
  <Caption>{caption}</Caption>
125
122
 
126
123
  <StyledButton to={url} target="_blank" outline borderShape="rounded">
127
124
  {t('license.other.itemImage.ariaLabel')}
128
- <StyledLaunchIcon aria-hidden />
125
+ <Launch aria-hidden />
129
126
  </StyledButton>
130
- </TextWrapper>
127
+ </ContentWrapper>
131
128
  </ResourceBoxContainer>
132
129
  );
133
130
  };
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- import React from 'react';
9
+ import React, { ReactNode } from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import parse from 'html-react-parser';
12
12
 
@@ -173,13 +173,14 @@ export type SearchItemProps = {
173
173
  img?: { url: string; alt: string };
174
174
  labels?: string[];
175
175
  type?: ContentType;
176
+ children?: ReactNode;
176
177
  };
177
178
  export type SearchItemType = {
178
179
  item: SearchItemProps;
179
180
  type?: ContentType;
180
181
  };
181
182
  const SearchItem = ({ item, type }: SearchItemType) => {
182
- const { title, url, ingress, contexts, img = null, labels = [] } = item;
183
+ const { title, url, ingress, contexts, img = null, labels = [], children } = item;
183
184
 
184
185
  const isTopic = type === contentTypes.TOPIC || type === contentTypes.MULTIDISCIPLINARY_TOPIC;
185
186
 
@@ -209,6 +210,7 @@ const SearchItem = ({ item, type }: SearchItemType) => {
209
210
  {contexts && contexts.length > 0 && <ItemContexts contexts={contexts} id={item.id} title={item.title} />}
210
211
  </ContextWrapper>
211
212
  </ItemLink>
213
+ {children}
212
214
  </ItemWrapper>
213
215
  </Container>
214
216
  );
@@ -518,7 +518,7 @@ const messages = {
518
518
  aboutNDLA: 'Om NDLA',
519
519
  selectLanguage: 'Velg språk (language): ',
520
520
  vision: 'Sammen skaper vi framtidas læring',
521
- footerLinksHeader: 'Andre NDLA nettsteder',
521
+ footerLinksHeader: 'Andre NDLA-nettsteder',
522
522
  footerInfo: 'Nettstedet er utarbeidet av NDLA med åpen kildekode.',
523
523
  footerEditiorInChief: 'Ansvarlig redaktør: ',
524
524
  footerManagingEditor: 'Utgaveansvarlig: ',
@@ -519,7 +519,7 @@ const messages = {
519
519
  aboutNDLA: 'Om NDLA',
520
520
  selectLanguage: 'Vel språk (language): ',
521
521
  vision: 'Saman skapar vi framtidas læring',
522
- footerLinksHeader: 'Andre NDLA nettstader',
522
+ footerLinksHeader: 'Andre NDLA-nettstader',
523
523
  footerInfo: 'Nettstaden er utarbeida av NDLA med open kjeldekode.',
524
524
  footerEditiorInChief: 'Ansvarleg redaktør: ',
525
525
  footerManagingEditor: 'Utgåveansvarleg: ',
@@ -518,7 +518,7 @@ const messages = {
518
518
  aboutNDLA: 'Om NDLA',
519
519
  selectLanguage: 'Velg språk (language): ',
520
520
  vision: 'Sammen skaper vi framtidas læring',
521
- footerLinksHeader: 'Andre NDLA nettsteder',
521
+ footerLinksHeader: 'Andre NDLA-nettsteder',
522
522
  footerInfo: 'Nettstedet er utarbeidet av NDLA med åpen kildekode.',
523
523
  footerEditiorInChief: 'Ansvarlig redaktør: ',
524
524
  footerManagingEditor: 'Utgaveansvarlig: ',
@@ -518,7 +518,7 @@ const messages = {
518
518
  aboutNDLA: 'Om NDLA',
519
519
  selectLanguage: 'Velg språk (language): ',
520
520
  vision: 'Sammen skaper vi framtidas læring',
521
- footerLinksHeader: 'Andre NDLA nettsteder',
521
+ footerLinksHeader: 'Andre NDLA-nettsteder',
522
522
  footerInfo: 'Nettstedet er utarbeidet av NDLA med åpen kildekode.',
523
523
  footerEditiorInChief: 'Ansvarlig redaktør: ',
524
524
  footerManagingEditor: 'Utgaveansvarlig: ',