@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.
- package/es/ResourceBox/ResourceBox.js +26 -43
- package/es/SearchTypeResult/SearchItem.js +11 -10
- package/es/all.css +1 -1
- package/es/locale/messages-nb.js +1 -1
- package/es/locale/messages-nn.js +1 -1
- package/es/locale/messages-se.js +1 -1
- package/es/locale/messages-sma.js +1 -1
- package/lib/ResourceBox/ResourceBox.d.ts +8 -6
- package/lib/ResourceBox/ResourceBox.js +25 -41
- package/lib/SearchTypeResult/SearchItem.d.ts +2 -0
- package/lib/SearchTypeResult/SearchItem.js +11 -10
- package/lib/all.css +1 -1
- package/lib/locale/messages-nb.js +1 -1
- package/lib/locale/messages-nn.js +1 -1
- package/lib/locale/messages-se.js +1 -1
- package/lib/locale/messages-sma.js +1 -1
- package/package.json +4 -4
- package/src/Article/component.article.scss +1 -1
- package/src/ResourceBox/ResourceBox.tsx +36 -39
- package/src/SearchTypeResult/SearchItem.tsx +4 -2
- package/src/locale/messages-nb.ts +1 -1
- package/src/locale/messages-nn.ts +1 -1
- package/src/locale/messages-se.ts +1 -1
- package/src/locale/messages-sma.ts +1 -1
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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": "
|
|
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.
|
|
39
|
+
"@ndla/licenses": "^4.1.1",
|
|
40
40
|
"@ndla/modal": "^1.2.7",
|
|
41
|
-
"@ndla/notion": "^3.1.
|
|
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": "
|
|
84
|
+
"gitHead": "28f46a3c20d71e0148dc35e1d24dc13f97cc3a31"
|
|
85
85
|
}
|
|
@@ -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
|
-
|
|
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:
|
|
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:
|
|
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
|
|
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:
|
|
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
|
|
71
|
-
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
margin-right: 0;
|
|
96
|
-
}
|
|
86
|
+
top: 9px;
|
|
87
|
+
right: 0;
|
|
97
88
|
`;
|
|
98
89
|
|
|
99
|
-
|
|
100
|
-
|
|
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?:
|
|
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
|
-
|
|
115
|
-
<
|
|
116
|
-
|
|
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
|
-
<
|
|
120
|
-
|
|
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
|
-
<
|
|
125
|
+
<Launch aria-hidden />
|
|
129
126
|
</StyledButton>
|
|
130
|
-
</
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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: ',
|