@conduction/components 2.0.22 → 2.0.23
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/README.md +3 -0
- package/package.json +7 -2
- package/src/components/topNav/primaryTopNav/PrimaryTopNav.module.css +14 -0
- package/src/components/topNav/primaryTopNav/PrimaryTopNav.tsx +2 -2
- package/src/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +15 -0
- package/src/components/topNav/secondaryTopNav/SecondaryTopNav.tsx +1 -1
- package/lib/components/badgeCounter/BadgeCounter.d.ts +0 -8
- package/lib/components/badgeCounter/BadgeCounter.js +0 -4
- package/lib/components/badgeCounter/BadgeCounter.module.css +0 -27
- package/lib/components/card/detailsCard/DetailsCard.d.ts +0 -14
- package/lib/components/card/detailsCard/DetailsCard.js +0 -10
- package/lib/components/card/detailsCard/DetailsCard.module.css +0 -51
- package/lib/components/card/downloadCard/DownloadCard.d.ts +0 -11
- package/lib/components/card/downloadCard/DownloadCard.js +0 -8
- package/lib/components/card/downloadCard/DownloadCard.module.css +0 -27
- package/lib/components/card/horizontalImageCard/HorizontalImageCard.d.ts +0 -13
- package/lib/components/card/horizontalImageCard/HorizontalImageCard.js +0 -9
- package/lib/components/card/horizontalImageCard/HorizontalImageCard.module.css +0 -34
- package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.d.ts +0 -14
- package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.js +0 -9
- package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.module.css +0 -63
- package/lib/components/card/index.d.ts +0 -7
- package/lib/components/card/index.js +0 -7
- package/lib/components/card/infoCard/InfoCard.d.ts +0 -8
- package/lib/components/card/infoCard/InfoCard.js +0 -6
- package/lib/components/card/infoCard/InfoCard.module.css +0 -26
- package/lib/components/card/richContentCard/RichContentCard.d.ts +0 -19
- package/lib/components/card/richContentCard/RichContentCard.js +0 -15
- package/lib/components/card/richContentCard/RichContentCard.module.css +0 -93
- package/lib/components/codeBlock/CodeBlock.d.ts +0 -6
- package/lib/components/codeBlock/CodeBlock.js +0 -3
- package/lib/components/codeBlock/CodeBlock.module.css +0 -6
- package/lib/components/container/Container.d.ts +0 -6
- package/lib/components/container/Container.js +0 -4
- package/lib/components/container/Container.module.css +0 -9
- package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +0 -222
- package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.d.ts +0 -17
- package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.js +0 -20
- package/lib/components/denhaag-wrappers/pagination/Pagination.css +0 -120
- package/lib/components/denhaag-wrappers/pagination/Pagination.d.ts +0 -9
- package/lib/components/denhaag-wrappers/pagination/Pagination.js +0 -15
- package/lib/components/editableTableRow/EditableTableRow.d.ts +0 -14
- package/lib/components/editableTableRow/EditableTableRow.js +0 -31
- package/lib/components/editableTableRow/EditableTableRow.module.css +0 -25
- package/lib/components/formFields/checkbox.d.ts +0 -9
- package/lib/components/formFields/checkbox.js +0 -3
- package/lib/components/formFields/createKeyValue/CreateKeyValue.d.ts +0 -17
- package/lib/components/formFields/createKeyValue/CreateKeyValue.js +0 -31
- package/lib/components/formFields/createKeyValue/CreateKeyValue.module.css +0 -43
- package/lib/components/formFields/index.d.ts +0 -7
- package/lib/components/formFields/index.js +0 -7
- package/lib/components/formFields/input.d.ts +0 -21
- package/lib/components/formFields/input.js +0 -15
- package/lib/components/formFields/radio.d.ts +0 -9
- package/lib/components/formFields/radio.js +0 -3
- package/lib/components/formFields/select/select.d.ts +0 -18
- package/lib/components/formFields/select/select.js +0 -20
- package/lib/components/formFields/select/select.module.css +0 -35
- package/lib/components/formFields/textarea.d.ts +0 -8
- package/lib/components/formFields/textarea.js +0 -3
- package/lib/components/formFields/types.d.ts +0 -6
- package/lib/components/formFields/types.js +0 -1
- package/lib/components/imageDivider/ImageDivider.d.ts +0 -7
- package/lib/components/imageDivider/ImageDivider.js +0 -6
- package/lib/components/imageDivider/imageDivider.module.css +0 -5
- package/lib/components/logo/Logo.d.ts +0 -8
- package/lib/components/logo/Logo.js +0 -10
- package/lib/components/logo/Logo.module.css +0 -15
- package/lib/components/metaIcon/MetaIcon.d.ts +0 -7
- package/lib/components/metaIcon/MetaIcon.js +0 -3
- package/lib/components/metaIcon/MetaIcon.module.css +0 -29
- package/lib/components/notificationPopUp/NotificationPopUp.d.ts +0 -24
- package/lib/components/notificationPopUp/NotificationPopUp.js +0 -31
- package/lib/components/notificationPopUp/NotificationPopUp.module.css +0 -61
- package/lib/components/privateRoute/PrivateRoute.d.ts +0 -6
- package/lib/components/privateRoute/PrivateRoute.js +0 -15
- package/lib/components/quoteWrapper/QuoteWrapper.d.ts +0 -7
- package/lib/components/quoteWrapper/QuoteWrapper.js +0 -5
- package/lib/components/quoteWrapper/QuoteWrapper.module.css +0 -12
- package/lib/components/statusSteps/StatusSteps.d.ts +0 -13
- package/lib/components/statusSteps/StatusSteps.js +0 -5
- package/lib/components/tag/Tag.d.ts +0 -9
- package/lib/components/tag/Tag.js +0 -4
- package/lib/components/tag/Tag.module.css +0 -28
- package/lib/components/toolTip/ToolTip.d.ts +0 -9
- package/lib/components/toolTip/ToolTip.js +0 -7
- package/lib/components/toolTip/ToolTip.module.css +0 -4
- package/lib/components/topNav/index.d.ts +0 -3
- package/lib/components/topNav/index.js +0 -3
- package/lib/components/topNav/primaryTopNav/PrimaryTopNav.d.ts +0 -20
- package/lib/components/topNav/primaryTopNav/PrimaryTopNav.js +0 -17
- package/lib/components/topNav/primaryTopNav/PrimaryTopNav.module.css +0 -125
- package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.d.ts +0 -12
- package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.js +0 -7
- package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +0 -48
- package/lib/index.d.ts +0 -27
- package/lib/index.js +0 -20
package/README.md
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
- **Version 2**
|
|
6
6
|
|
|
7
|
+
- 2.0.23:
|
|
8
|
+
- Added optional boxshadow to PrimaryTopNav.
|
|
9
|
+
- Added maxLength to both TopNavs and added a gap to the icon and label of a TopNav item.
|
|
7
10
|
- 2.0.22: Refactor InputNumber and InputFloat to return number type.
|
|
8
11
|
- 2.0.21: Add InputDateTime component.
|
|
9
12
|
- 2.0.20: Bugfix Textarea component to include correct field validation.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@conduction/components",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.23",
|
|
4
4
|
"description": "React (Gatsby) components used within the Conduction Skeleton Application (and its implementations)",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -11,7 +11,12 @@
|
|
|
11
11
|
"type": "git",
|
|
12
12
|
"url": "git+https://github.com/ConductionNL/conduction-components.git"
|
|
13
13
|
},
|
|
14
|
-
"keywords": [
|
|
14
|
+
"keywords": [
|
|
15
|
+
"React",
|
|
16
|
+
"Gatsby",
|
|
17
|
+
"Conduction",
|
|
18
|
+
"Components"
|
|
19
|
+
],
|
|
15
20
|
"author": "Conduction B.V.",
|
|
16
21
|
"license": "ISC",
|
|
17
22
|
"bugs": {
|
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
--conduction-primary-top-nav-background-color-hover: rgba(255, 255, 255, 0.2);
|
|
6
6
|
--conduction-primary-top-nav-dropdown-border-radius: var(--skeleton-border-radius-md);
|
|
7
7
|
--conduction-primary-top-nav-background-color-active: rgba(255, 255, 255, 0.2);
|
|
8
|
+
--conduction-primary-top-nav-box-shadow-active: inset 0 -4px black;
|
|
8
9
|
--conduction-primary-top-nav-toggle-icon-size: 24px;
|
|
9
10
|
--conduction-primary-top-nav-mobile-logo-padding: 18px;
|
|
11
|
+
--conduction-primary-top-nav-item-icon-margin: var(--skeleton-size-2x);
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
.container {
|
|
@@ -74,6 +76,7 @@
|
|
|
74
76
|
|
|
75
77
|
.current {
|
|
76
78
|
background-color: var(--conduction-primary-top-nav-background-color-active);
|
|
79
|
+
box-shadow: var(--conduction-primary-top-nav-box-shadow-active);
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
.primary .link {
|
|
@@ -101,6 +104,17 @@
|
|
|
101
104
|
padding-inline-start: var(--web-app-size-md);
|
|
102
105
|
}
|
|
103
106
|
|
|
107
|
+
.label {
|
|
108
|
+
overflow: hidden;
|
|
109
|
+
max-width: 37ch;
|
|
110
|
+
text-overflow: ellipsis;
|
|
111
|
+
white-space: nowrap;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.label > :not(:last-child) {
|
|
115
|
+
margin-inline-end: var(--conduction-primary-top-nav-item-icon-margin);
|
|
116
|
+
}
|
|
117
|
+
|
|
104
118
|
@media only screen and (min-width: 992px) {
|
|
105
119
|
.container {
|
|
106
120
|
width: fit-content;
|
|
@@ -50,7 +50,7 @@ export const PrimaryTopNav: React.FC<TopNavProps> = ({ items, mobileLogo, layout
|
|
|
50
50
|
{items.map(({ label, icon, current, handleClick, subItems }, idx) => (
|
|
51
51
|
<li className={clsx(styles.li, current && styles.current)} key={idx}>
|
|
52
52
|
<div onClick={() => handleItemClick(handleClick)}>
|
|
53
|
-
<Link className={styles.link} icon={icon} iconAlign="start">
|
|
53
|
+
<Link className={clsx(styles.link, styles.label)} icon={icon} iconAlign="start">
|
|
54
54
|
{label}
|
|
55
55
|
</Link>
|
|
56
56
|
</div>
|
|
@@ -63,7 +63,7 @@ export const PrimaryTopNav: React.FC<TopNavProps> = ({ items, mobileLogo, layout
|
|
|
63
63
|
className={clsx(styles.li, current && styles.current)}
|
|
64
64
|
onClick={() => handleItemClick(handleClick)}
|
|
65
65
|
>
|
|
66
|
-
<Link className={styles.link} icon={icon} iconAlign="start">
|
|
66
|
+
<Link className={clsx(styles.link, styles.label)} icon={icon} iconAlign="start">
|
|
67
67
|
{label}
|
|
68
68
|
</Link>
|
|
69
69
|
</li>
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
--conduction-secondary-top-nav-background-color-hover: rgba(0, 0, 0, 0.1);
|
|
7
7
|
--conduction-secondary-top-nav-font-weight: var(--skeleton-font-weight-light);
|
|
8
8
|
--conduction-secondary-top-nav-color-active: rgba(0, 0, 0, 0.1);
|
|
9
|
+
--conduction-secondary-top-nav-box-shadow-active: inset 0 -4px black;
|
|
10
|
+
--conduction-secondary-top-nav-item-icon-margin: var(--skeleton-size-2x);
|
|
9
11
|
}
|
|
10
12
|
|
|
11
13
|
.secondary:hover {
|
|
@@ -34,6 +36,7 @@
|
|
|
34
36
|
|
|
35
37
|
.current {
|
|
36
38
|
background-color: var(--conduction-secondary-top-nav-color-active);
|
|
39
|
+
box-shadow: var(--conduction-secondary-top-nav-box-shadow-active);
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
.secondary {
|
|
@@ -45,4 +48,16 @@
|
|
|
45
48
|
|
|
46
49
|
.secondary .link {
|
|
47
50
|
color: var(--conduction-secondary-top-nav-color);
|
|
51
|
+
display: block;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.label {
|
|
55
|
+
overflow: hidden;
|
|
56
|
+
max-width: 37ch;
|
|
57
|
+
text-overflow: ellipsis;
|
|
58
|
+
white-space: nowrap;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.label > :not(:last-child) {
|
|
62
|
+
margin-inline-end: var(--conduction-secondary-top-nav-item-icon-margin);
|
|
48
63
|
}
|
|
@@ -15,7 +15,7 @@ export const SecondaryTopNav: React.FC<TopNavProps> = ({ items, layoutClassName
|
|
|
15
15
|
<ul className={styles.ul}>
|
|
16
16
|
{items.map(({ label, icon, current, handleClick }, idx) => (
|
|
17
17
|
<li className={clsx(styles.li, current && styles.current)} key={idx} onClick={handleClick}>
|
|
18
|
-
<Link className={styles.link} icon={icon} iconAlign="start">
|
|
18
|
+
<Link className={clsx(styles.link, styles.label)} icon={icon} iconAlign="start">
|
|
19
19
|
{label}
|
|
20
20
|
</Link>
|
|
21
21
|
</li>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as styles from "./BadgeCounter.module.css";
|
|
3
|
-
import clsx from "clsx";
|
|
4
|
-
export const BadgeCounter = ({ number, children, layoutClassName }) => (_jsxs("div", { className: styles.content, children: [children, _jsx("span", { className: clsx([layoutClassName && layoutClassName], styles.badge), children: number })] }));
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--conduction-badge-counter-color: hsl(0 0% 0%);
|
|
3
|
-
--conduction-badge-counter-background-color: var(--skeleton-color-grey-1);
|
|
4
|
-
--conduction-badge-counter-height: var(--skeleton-size-md);
|
|
5
|
-
--conduction-badge-counter-width: var(--skeleton-size-md);
|
|
6
|
-
--conduction-badge-counter-font-size: var(--skeleton-font-size-xs);
|
|
7
|
-
--conduction-badge-counter-max-number-font-size: var(--skeleton-font-size-2xs);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.content {
|
|
11
|
-
display: flex;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.badge {
|
|
15
|
-
height: var(--conduction-badge-counter-height);
|
|
16
|
-
width: var(--conduction-badge-counter-width);
|
|
17
|
-
border-radius: 50%;
|
|
18
|
-
font-size: var(--conduction-badge-counter-font-size);
|
|
19
|
-
display: flex;
|
|
20
|
-
align-items: center;
|
|
21
|
-
justify-content: space-around;
|
|
22
|
-
background-color: var(--conduction-badge-counter-background-color);
|
|
23
|
-
color: var(--conduction-badge-counter-color);
|
|
24
|
-
}
|
|
25
|
-
.maxNumber {
|
|
26
|
-
font-size: var(--conduction-badge-counter-max-number-font-size);
|
|
27
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
interface DetailsCardProps {
|
|
3
|
-
title: string;
|
|
4
|
-
introduction?: string;
|
|
5
|
-
link: {
|
|
6
|
-
href: string;
|
|
7
|
-
label: string;
|
|
8
|
-
};
|
|
9
|
-
tags?: string[];
|
|
10
|
-
subHeader?: string;
|
|
11
|
-
layoutClassName?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare const DetailsCard: React.FC<DetailsCardProps>;
|
|
14
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as styles from "./DetailsCard.module.css";
|
|
3
|
-
import clsx from "clsx";
|
|
4
|
-
import { Link } from "@gemeente-denhaag/components-react";
|
|
5
|
-
import { navigate } from "gatsby";
|
|
6
|
-
import { ArrowRightIcon } from "@gemeente-denhaag/icons";
|
|
7
|
-
import { Tag } from "../../tag/Tag";
|
|
8
|
-
export const DetailsCard = ({ title, subHeader, introduction, link, tags, layoutClassName, }) => {
|
|
9
|
-
return (_jsx("div", { className: clsx(styles.container, [layoutClassName && layoutClassName]), onClick: () => navigate(link.href), children: _jsxs("div", { className: styles.content, children: [_jsxs("div", { children: [_jsx("div", { className: styles.title, children: title }), _jsx("span", { className: styles.subHeader, children: subHeader })] }), tags && (_jsx("div", { className: styles.tags, children: tags.map((tag, idx) => (_jsx(Tag, { label: tag }, idx))) })), _jsx("div", { className: styles.introduction, children: introduction }), _jsx("div", { className: styles.link, children: _jsx(Link, { icon: _jsx(ArrowRightIcon, {}), iconAlign: "start", children: link.label }) })] }) }));
|
|
10
|
-
};
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--conduction-details-card-border: 1px solid var(--skeleton-color-grey-2);
|
|
3
|
-
--conduction-details-card-introduction-lines-clamp: 3;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.container {
|
|
7
|
-
cursor: pointer;
|
|
8
|
-
overflow: hidden;
|
|
9
|
-
border-radius: var(--skeleton-border-radius-md);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.content {
|
|
13
|
-
display: flex;
|
|
14
|
-
flex-direction: column;
|
|
15
|
-
padding-inline-start: var(--skeleton-size-md);
|
|
16
|
-
padding-inline-end: var(--skeleton-size-md);
|
|
17
|
-
padding-block-start: var(--skeleton-size-md);
|
|
18
|
-
padding-block-end: var(--skeleton-size-md);
|
|
19
|
-
border: var(--conduction-details-card-border);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.content > *:not(:last-child) {
|
|
23
|
-
margin-block-end: var(--skeleton-size-md);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.title {
|
|
27
|
-
font-size: var(--skeleton-font-size-xl);
|
|
28
|
-
font-weight: var(--skeleton-font-weight-bold);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.subHeader {
|
|
32
|
-
color: var(--skeleton-color-grey-3);
|
|
33
|
-
font-size: var(--skeleton-font-size-sm);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.tags > *:not(:last-child) {
|
|
37
|
-
margin-inline-end: var(--skeleton-size-sm);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.introduction {
|
|
41
|
-
overflow: hidden;
|
|
42
|
-
text-overflow: ellipsis;
|
|
43
|
-
display: -webkit-box;
|
|
44
|
-
-webkit-line-clamp: var(--conduction-details-card-introduction-lines-clamp);
|
|
45
|
-
-webkit-box-orient: vertical;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.link {
|
|
49
|
-
display: flex;
|
|
50
|
-
justify-content: flex-end;
|
|
51
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
interface DownloadCardProps {
|
|
3
|
-
icon: JSX.Element;
|
|
4
|
-
label: string;
|
|
5
|
-
sizeKb: string;
|
|
6
|
-
downloadLabel: string;
|
|
7
|
-
layoutClassName?: string;
|
|
8
|
-
handleClick: () => any;
|
|
9
|
-
}
|
|
10
|
-
export declare const DownloadCard: React.FC<DownloadCardProps>;
|
|
11
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as styles from "./DownloadCard.module.css";
|
|
3
|
-
import { DownloadIcon } from "@gemeente-denhaag/icons";
|
|
4
|
-
import { Link } from "@gemeente-denhaag/components-react";
|
|
5
|
-
import clsx from "clsx";
|
|
6
|
-
export const DownloadCard = ({ icon, label, sizeKb, layoutClassName, downloadLabel, handleClick, }) => {
|
|
7
|
-
return (_jsxs("div", { className: clsx(styles.container, [layoutClassName && layoutClassName]), children: [_jsxs("div", { className: styles.content, children: [_jsx("div", { className: styles.icon, children: icon }), _jsxs("div", { children: [label, " (", sizeKb, "kb)"] })] }), _jsx("div", { onClick: handleClick, children: _jsx(Link, { icon: _jsx(DownloadIcon, {}), iconAlign: "start", children: downloadLabel }) })] }));
|
|
8
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--conduction-download-card-border: 1px solid var(--skeleton-color-grey-2);
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.container {
|
|
6
|
-
display: flex;
|
|
7
|
-
align-items: center;
|
|
8
|
-
justify-content: space-between;
|
|
9
|
-
border: var(--conduction-download-card-border);
|
|
10
|
-
border-radius: var(--skeleton-border-radius-md);
|
|
11
|
-
padding-inline-end: var(--skeleton-size-sm);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.content {
|
|
15
|
-
display: flex;
|
|
16
|
-
align-items: center;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.content > *:not(:last-child) {
|
|
20
|
-
margin-inline-end: var(--skeleton-size-sm);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.icon {
|
|
24
|
-
padding-inline: var(--skeleton-size-sm);
|
|
25
|
-
padding-block: var(--skeleton-size-sm);
|
|
26
|
-
background-color: var(--skeleton-color-grey-1);
|
|
27
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
interface HorizontalImageCardProps {
|
|
3
|
-
iconOrImage: JSX.Element;
|
|
4
|
-
title: string;
|
|
5
|
-
link: {
|
|
6
|
-
label: string;
|
|
7
|
-
href: string;
|
|
8
|
-
};
|
|
9
|
-
layoutClassName?: string;
|
|
10
|
-
external?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare const HorizontalImageCard: React.FC<HorizontalImageCardProps>;
|
|
13
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as styles from "./HorizontalImageCard.module.css";
|
|
3
|
-
import clsx from "clsx";
|
|
4
|
-
import { Link } from "@gemeente-denhaag/components-react";
|
|
5
|
-
import { navigate } from "gatsby";
|
|
6
|
-
import { ExternalLinkIcon, ArrowRightIcon } from "@gemeente-denhaag/icons";
|
|
7
|
-
export const HorizontalImageCard = ({ title, layoutClassName, external, link, iconOrImage, }) => {
|
|
8
|
-
return (_jsxs("div", { className: clsx(styles.container, [layoutClassName && layoutClassName]), onClick: () => navigate(link.href), children: [_jsx("div", { className: styles.imageOrIconContainer, children: iconOrImage }), _jsxs("div", { className: styles.link, children: [_jsx("div", { className: styles.title, children: title }), _jsx(Link, { icon: external ? _jsx(ExternalLinkIcon, {}) : _jsx(ArrowRightIcon, {}), iconAlign: "start", children: link.label })] })] }));
|
|
9
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--conduction-horizontal-image-card-image-size: 52px;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.container {
|
|
6
|
-
display: flex;
|
|
7
|
-
align-items: center;
|
|
8
|
-
cursor: pointer;
|
|
9
|
-
background-color: var(--skeleton-color-grey-1);
|
|
10
|
-
border-radius: var(--skeleton-border-radius-md);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.link {
|
|
14
|
-
display: flex;
|
|
15
|
-
flex-direction: column;
|
|
16
|
-
padding-block-start: var(--skeleton-size-lg);
|
|
17
|
-
padding-block-end: var(--skeleton-size-lg);
|
|
18
|
-
padding-inline-end: var(--skeleton-size-lg);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.imageOrIconContainer > :first-child {
|
|
22
|
-
width: var(--conduction-horizontal-image-card-image-size);
|
|
23
|
-
height: var(--conduction-horizontal-image-card-image-size);
|
|
24
|
-
|
|
25
|
-
padding-inline-start: var(--skeleton-size-md);
|
|
26
|
-
padding-inline-end: var(--skeleton-size-md);
|
|
27
|
-
padding-block-start: var(--skeleton-size-md);
|
|
28
|
-
padding-block-end: var(--skeleton-size-md);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.title {
|
|
32
|
-
font-weight: var(--skeleton-font-weight-bold);
|
|
33
|
-
font-size: var(--skeleton-font-size-xl);
|
|
34
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
interface ImageAndDetailsCardProps {
|
|
3
|
-
title: string;
|
|
4
|
-
image: JSX.Element;
|
|
5
|
-
introduction: string;
|
|
6
|
-
link: {
|
|
7
|
-
href: string;
|
|
8
|
-
label: string;
|
|
9
|
-
};
|
|
10
|
-
subHeader?: string;
|
|
11
|
-
layoutClassName?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare const ImageAndDetailsCard: React.FC<ImageAndDetailsCardProps>;
|
|
14
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as styles from "./ImageAndDetailsCard.module.css";
|
|
3
|
-
import clsx from "clsx";
|
|
4
|
-
import { Link } from "@gemeente-denhaag/components-react";
|
|
5
|
-
import { navigate } from "gatsby";
|
|
6
|
-
import { ArrowRightIcon } from "@gemeente-denhaag/icons";
|
|
7
|
-
export const ImageAndDetailsCard = ({ image, title, subHeader, introduction, link, layoutClassName, }) => {
|
|
8
|
-
return (_jsxs("div", { className: clsx(styles.container, [layoutClassName && layoutClassName]), onClick: () => navigate(link.href), children: [_jsx("div", { className: styles.image, children: image }), _jsxs("div", { className: styles.content, children: [_jsxs("div", { children: [_jsx("div", { className: styles.title, children: title }), _jsx("span", { className: styles.subHeader, children: subHeader })] }), _jsx("div", { className: styles.introduction, children: introduction }), _jsx("div", { className: styles.link, children: _jsx(Link, { icon: _jsx(ArrowRightIcon, {}), iconAlign: "start", children: link.label }) })] })] }));
|
|
9
|
-
};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--conduction-image-and-details-card-image-height: 275px;
|
|
3
|
-
--conduction-image-and-details-card-title-font-weight: bold;
|
|
4
|
-
--conduction-image-and-details-card-introduction-lines-clamp: 3;
|
|
5
|
-
--conduction-image-and-details-card-border: 1px solid var(--skeleton-color-grey-2);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
.container {
|
|
9
|
-
cursor: pointer;
|
|
10
|
-
overflow: hidden;
|
|
11
|
-
border-radius: var(--skeleton-border-radius-md);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.image {
|
|
15
|
-
height: var(--conduction-image-and-details-card-image-height);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.image > :first-child {
|
|
19
|
-
width: 100%;
|
|
20
|
-
height: 100%;
|
|
21
|
-
object-fit: cover;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.content {
|
|
25
|
-
display: flex;
|
|
26
|
-
flex-direction: column;
|
|
27
|
-
padding-inline-start: var(--skeleton-size-md);
|
|
28
|
-
padding-inline-end: var(--skeleton-size-md);
|
|
29
|
-
padding-block-start: var(--skeleton-size-md);
|
|
30
|
-
padding-block-end: var(--skeleton-size-md);
|
|
31
|
-
border: var(--conduction-image-and-details-card-border);
|
|
32
|
-
height: calc(
|
|
33
|
-
100% - var(--conduction-image-and-details-card-image-height) - var(--skeleton-size-md) - var(--skeleton-size-md) - 2px
|
|
34
|
-
); /* height = 100% - imageHeight - padding - border */
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.content > *:not(:last-child) {
|
|
38
|
-
margin-block-end: var(--skeleton-size-md);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.title {
|
|
42
|
-
font-size: var(--skeleton-font-size-xl);
|
|
43
|
-
font-weight: var(--skeleton-font-weight-bold);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.subHeader {
|
|
47
|
-
color: var(--skeleton-color-grey-3);
|
|
48
|
-
font-size: var(--skeleton-font-size-sm);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.introduction {
|
|
52
|
-
overflow: hidden;
|
|
53
|
-
text-overflow: ellipsis;
|
|
54
|
-
display: -webkit-box;
|
|
55
|
-
-webkit-line-clamp: var(--conduction-image-and-details-card-introduction-lines-clamp);
|
|
56
|
-
-webkit-box-orient: vertical;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.link {
|
|
60
|
-
display: flex;
|
|
61
|
-
justify-content: flex-end;
|
|
62
|
-
margin-block-start: auto;
|
|
63
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { DownloadCard } from "./downloadCard/DownloadCard";
|
|
2
|
-
import { HorizontalImageCard } from "./horizontalImageCard/HorizontalImageCard";
|
|
3
|
-
import { ImageAndDetailsCard } from "./imageAndDetailsCard/ImageAndDetailsCard";
|
|
4
|
-
import { RichContentCard } from "./richContentCard/RichContentCard";
|
|
5
|
-
import { DetailsCard } from "./detailsCard/DetailsCard";
|
|
6
|
-
import { InfoCard } from "./infoCard/InfoCard";
|
|
7
|
-
export { DownloadCard, HorizontalImageCard, ImageAndDetailsCard, RichContentCard, DetailsCard, InfoCard };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { DownloadCard } from "./downloadCard/DownloadCard";
|
|
2
|
-
import { HorizontalImageCard } from "./horizontalImageCard/HorizontalImageCard";
|
|
3
|
-
import { ImageAndDetailsCard } from "./imageAndDetailsCard/ImageAndDetailsCard";
|
|
4
|
-
import { RichContentCard } from "./richContentCard/RichContentCard";
|
|
5
|
-
import { DetailsCard } from "./detailsCard/DetailsCard";
|
|
6
|
-
import { InfoCard } from "./infoCard/InfoCard";
|
|
7
|
-
export { DownloadCard, HorizontalImageCard, ImageAndDetailsCard, RichContentCard, DetailsCard, InfoCard };
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as styles from "./InfoCard.module.css";
|
|
3
|
-
import clsx from "clsx";
|
|
4
|
-
export const InfoCard = ({ title, content, layoutClassName }) => {
|
|
5
|
-
return (_jsxs("div", { className: clsx([layoutClassName && layoutClassName], styles.container), children: [_jsx("span", { className: styles.title, children: title }), _jsx("div", { className: styles.content, children: content })] }));
|
|
6
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
.container {
|
|
2
|
-
background-color: var(--skeleton-color-grey-1);
|
|
3
|
-
border-radius: var(--skeleton-border-radius-md);
|
|
4
|
-
padding-inline-start: var(--skeleton-size-md);
|
|
5
|
-
padding-inline-end: var(--skeleton-size-md);
|
|
6
|
-
padding-block-start: var(--skeleton-size-md);
|
|
7
|
-
padding-block-end: var(--skeleton-size-md);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.container > * {
|
|
11
|
-
display: block;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.container > *:not(:last-child) {
|
|
15
|
-
margin-block-end: var(--skeleton-size-xs);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.container > .title {
|
|
19
|
-
font-weight: var(--skeleton-font-weight-bold);
|
|
20
|
-
font-size: var(--skeleton-font-size-xl);
|
|
21
|
-
color: var(--skeleton-color-black);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.content {
|
|
25
|
-
color: var(--skeleton-color-black);
|
|
26
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
export interface RichContentCardProps {
|
|
3
|
-
link: {
|
|
4
|
-
label: string;
|
|
5
|
-
href: string;
|
|
6
|
-
};
|
|
7
|
-
labelsWithIcon: {
|
|
8
|
-
label: string;
|
|
9
|
-
icon: JSX.Element;
|
|
10
|
-
}[];
|
|
11
|
-
tags: string[];
|
|
12
|
-
contentLinks?: {
|
|
13
|
-
title: string;
|
|
14
|
-
subTitle: string;
|
|
15
|
-
href: string;
|
|
16
|
-
}[];
|
|
17
|
-
linkIsExternal?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare const RichContentCard: React.FC<RichContentCardProps>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Divider, Link } from "@gemeente-denhaag/components-react";
|
|
3
|
-
import { navigate } from "gatsby";
|
|
4
|
-
import * as styles from "./RichContentCard.module.css";
|
|
5
|
-
import { ExternalLinkIcon, ArrowRightIcon } from "@gemeente-denhaag/icons";
|
|
6
|
-
import { Tag } from "../../tag/Tag";
|
|
7
|
-
export const RichContentCard = ({ link, labelsWithIcon, tags, contentLinks, linkIsExternal, }) => {
|
|
8
|
-
return (_jsxs("div", { className: styles.container, children: [_jsx("div", { className: styles.link, onClick: () => navigate(link.href), children: _jsx(Link, { icon: linkIsExternal ? _jsx(ExternalLinkIcon, {}) : _jsx(ArrowRightIcon, {}), iconAlign: "start", children: link.label }) }), _jsx("div", { className: styles.labelsWithIcon, children: labelsWithIcon.map(({ label, icon }, idx) => (_jsx(LabelWithIcon, { ...{ label, icon } }, idx))) }), _jsx("div", { className: styles.tags, children: tags.map((tag, idx) => (_jsx(Tag, { label: tag }, idx))) }), contentLinks && (_jsxs("div", { className: styles.contentLinks, children: [_jsx(Divider, {}), contentLinks.map(({ title, subTitle, href }, idx) => (_jsx(ContentLink, { ...{ title, subTitle, href } }, idx)))] }))] }));
|
|
9
|
-
};
|
|
10
|
-
const LabelWithIcon = ({ label, icon }) => {
|
|
11
|
-
return (_jsxs("div", { className: styles.labelWithIcon, children: [_jsx("span", { className: styles.labelWithIcon_icon, children: icon }), _jsx("span", { className: styles.labelWithIcon_label, children: label })] }));
|
|
12
|
-
};
|
|
13
|
-
const ContentLink = ({ title, subTitle, href }) => {
|
|
14
|
-
return (_jsxs(Link, { className: styles.contentLink, children: [_jsxs("div", { className: styles.contentLink_content, children: [_jsx("span", { className: styles.contentLink_title, children: title }), _jsx("span", { className: styles.contentLink_subTitle, children: subTitle })] }), _jsx("div", { children: _jsx(ArrowRightIcon, {}) })] }));
|
|
15
|
-
};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--conduction-rich-content-card-border: 1px solid var(--skeleton-color-grey-2);
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.container {
|
|
6
|
-
display: flex;
|
|
7
|
-
flex-direction: column;
|
|
8
|
-
border: var(--conduction-rich-content-card-border);
|
|
9
|
-
border-radius: var(--skeleton-border-radius-md);
|
|
10
|
-
|
|
11
|
-
padding-inline-start: var(--skeleton-size-md);
|
|
12
|
-
padding-inline-end: var(--skeleton-size-md);
|
|
13
|
-
padding-block-start: var(--skeleton-size-md);
|
|
14
|
-
padding-block-end: var(--skeleton-size-md);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.container > *:not(.link):not(:last-child) {
|
|
18
|
-
margin-block-end: var(--skeleton-size-md);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.link {
|
|
22
|
-
margin-block-end: var(--skeleton-size-xs);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.link > :first-child {
|
|
26
|
-
display: flex;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.labelsWithIcon {
|
|
30
|
-
display: flex;
|
|
31
|
-
flex-wrap: wrap;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.labelsWithIcon > *:not(:last-child) {
|
|
35
|
-
margin-inline-end: var(--skeleton-size-md);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.tags > *:not(:last-child) {
|
|
39
|
-
margin-inline-end: var(--skeleton-size-md);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.contentLinks > *:not(:last-child):not(hr) {
|
|
43
|
-
margin-block-end: var(--skeleton-size-xs);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/* Component: LabelWithIcon */
|
|
47
|
-
.labelWithIcon {
|
|
48
|
-
display: flex;
|
|
49
|
-
align-items: center;
|
|
50
|
-
color: var(--skeleton-color-grey-3);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.labelWithIcon > .labelWithIcon_icon > svg {
|
|
54
|
-
height: var(--skeleton-size-sm);
|
|
55
|
-
width: var(--skeleton-size-sm);
|
|
56
|
-
margin-inline-end: var(--skeleton-size-xs);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.labelWithIcon > .labelWithIcon_label {
|
|
60
|
-
font-size: var(--skeleton-size-sm);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/* Content Link */
|
|
64
|
-
.contentLink {
|
|
65
|
-
display: flex;
|
|
66
|
-
padding-block-start: var(--skeleton-size-xs);
|
|
67
|
-
padding-block-end: var(--skeleton-size-xs);
|
|
68
|
-
text-decoration: none !important;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.contentLink > span {
|
|
72
|
-
width: 100%;
|
|
73
|
-
display: flex;
|
|
74
|
-
justify-content: space-between;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.contentLink:hover {
|
|
78
|
-
cursor: pointer;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.contentLink_content {
|
|
82
|
-
display: flex;
|
|
83
|
-
flex-direction: column;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.contentLink_title {
|
|
87
|
-
font-size: var(--conduction-content-link-font-size);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.contentLink_subTitle {
|
|
91
|
-
font-size: var(--conduction-content-link-font-size);
|
|
92
|
-
color: var(--denhaag-color-grey-3);
|
|
93
|
-
}
|