@conduction/components 2.0.4 → 2.0.6
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 +8 -1
- package/lib/components/card/detailsCard/DetailsCard.js +1 -1
- package/lib/components/card/downloadCard/DownloadCard.d.ts +1 -0
- package/lib/components/card/downloadCard/DownloadCard.js +2 -2
- package/lib/components/card/richContentCard/RichContentCard.js +1 -1
- package/lib/components/notificationPopUp/NotificationPopUp.d.ts +2 -0
- package/lib/components/notificationPopUp/NotificationPopUp.js +1 -1
- package/lib/components/notificationPopUp/{NotificationPopUP.module.css → NotificationPopUp.module.css} +0 -0
- package/lib/components/tag/Tag.d.ts +4 -1
- package/lib/components/tag/Tag.js +3 -2
- package/lib/components/tag/Tag.module.css +11 -2
- package/package.json +1 -1
- package/src/components/card/detailsCard/DetailsCard.tsx +1 -1
- package/src/components/card/downloadCard/DownloadCard.tsx +14 -5
- package/src/components/card/richContentCard/RichContentCard.tsx +1 -1
- package/src/components/notificationPopUp/NotificationPopUp.tsx +7 -2
- package/src/components/tag/Tag.module.css +11 -2
- package/src/components/tag/Tag.tsx +11 -2
- package/lib/components/modals/NotificationModal.d.ts +0 -21
- package/lib/components/modals/NotificationModal.js +0 -34
- package/lib/components/modals/NotificationModal.module.css +0 -56
- package/lib/components/topNav/TopNav.d.ts +0 -12
- package/lib/components/topNav/TopNav.js +0 -10
- package/lib/components/topNav/TopNav.module.css +0 -71
- package/lib/pages/index.d.ts +0 -3
- package/lib/pages/index.js +0 -5
- package/lib/templates/landing/LandingTemplate.d.ts +0 -2
- package/lib/templates/landing/LandingTemplate.js +0 -6
- package/lib/templates/landing/LandingTemplate.module.css +0 -17
- package/lib/templates/testing/TestingTemplate.d.ts +0 -2
- package/lib/templates/testing/TestingTemplate.js +0 -6
- package/lib/templates/testing/TestingTemplate.module.css +0 -0
package/README.md
CHANGED
|
@@ -4,7 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
- **Version 2**
|
|
6
6
|
|
|
7
|
-
- 2.0.
|
|
7
|
+
- 2.0.6:
|
|
8
|
+
- Added optional icon with default icon to the primary and secondary button in NotificationPopUp
|
|
9
|
+
- Added a handleClick function to the DownloadCard;
|
|
10
|
+
- Added clickFunction, layoutClassName and renamed tag to label in the Tag component;
|
|
11
|
+
- Edited DetailsCard to accommodate changes made to Tag component;
|
|
12
|
+
- Edited RichContentCard to accommodate changes made to Tag component;
|
|
13
|
+
- 2.0.5: wrong camelcase in npm publish/build fix;
|
|
14
|
+
- 2.0.4: added layoutClassName to InfoCard;
|
|
8
15
|
- 2.0.3: Bugfix: --conduction-container typo removed;
|
|
9
16
|
- 2.0.2: Refactor SelectSingle formField with optional props;
|
|
10
17
|
- 2.0.1: Refactor SecondaryTopNav css module import;
|
|
@@ -6,5 +6,5 @@ import { navigate } from "gatsby";
|
|
|
6
6
|
import { ArrowRightIcon } from "@gemeente-denhaag/icons";
|
|
7
7
|
import { Tag } from "../../tag/Tag";
|
|
8
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, {
|
|
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
10
|
};
|
|
@@ -3,6 +3,6 @@ import * as styles from "./DownloadCard.module.css";
|
|
|
3
3
|
import { DownloadIcon } from "@gemeente-denhaag/icons";
|
|
4
4
|
import { Link } from "@gemeente-denhaag/components-react";
|
|
5
5
|
import clsx from "clsx";
|
|
6
|
-
export const DownloadCard = ({ icon, label, sizeKb, layoutClassName, downloadLabel }) => {
|
|
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(Link, { icon: _jsx(DownloadIcon, {}), iconAlign: "start", children: downloadLabel })] }));
|
|
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
8
|
};
|
|
@@ -5,7 +5,7 @@ import * as styles from "./RichContentCard.module.css";
|
|
|
5
5
|
import { ExternalLinkIcon, ArrowRightIcon } from "@gemeente-denhaag/icons";
|
|
6
6
|
import { Tag } from "../../tag/Tag";
|
|
7
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, {
|
|
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
9
|
};
|
|
10
10
|
const LabelWithIcon = ({ label, icon }) => {
|
|
11
11
|
return (_jsxs("div", { className: styles.labelWithIcon, children: [_jsx("span", { className: styles.labelWithIcon_icon, children: icon }), _jsx("span", { className: styles.labelWithIcon_label, children: label })] }));
|
|
@@ -6,10 +6,12 @@ export interface NotificationPopUpProps {
|
|
|
6
6
|
hide: () => void;
|
|
7
7
|
primaryButton: {
|
|
8
8
|
label: string;
|
|
9
|
+
icon?: JSX.Element;
|
|
9
10
|
handleClick: () => any;
|
|
10
11
|
};
|
|
11
12
|
secondaryButton?: {
|
|
12
13
|
label: string;
|
|
14
|
+
icon?: JSX.Element;
|
|
13
15
|
handleClick: () => any;
|
|
14
16
|
};
|
|
15
17
|
layoutClassName?: string;
|
|
@@ -16,7 +16,7 @@ export const NotificationPopUp = ({ title, description, isVisible, hide, primary
|
|
|
16
16
|
setAnimationVisible(true);
|
|
17
17
|
}, animationDuration);
|
|
18
18
|
};
|
|
19
|
-
const modal = (_jsx(StylesProvider, { children: _jsxs("div", { style: { animationDuration: `${animationDuration}ms` }, className: clsx(styles.modal, animationVisible && styles.visible, layoutClassName), children: [_jsx(Heading3, { children: title }), _jsx(Paragraph, { children: description }), _jsxs("div", { className: styles.buttons, children: [secondaryButton && (_jsx("div", { onClick: () => handleClick(secondaryButton.handleClick), children: _jsx(Link, { icon: _jsx(CloseIcon, {}), iconAlign: "start", children: secondaryButton.label }) })), _jsx(Button, { icon: _jsx(ArrowRightIcon, {}), onClick: () => handleClick(primaryButton.handleClick), children: primaryButton.label })] })] }) }));
|
|
19
|
+
const modal = (_jsx(StylesProvider, { children: _jsxs("div", { style: { animationDuration: `${animationDuration}ms` }, className: clsx(styles.modal, animationVisible && styles.visible, layoutClassName), children: [_jsx(Heading3, { children: title }), _jsx(Paragraph, { children: description }), _jsxs("div", { className: styles.buttons, children: [secondaryButton && (_jsx("div", { onClick: () => handleClick(secondaryButton.handleClick), children: _jsx(Link, { icon: secondaryButton.icon ?? _jsx(CloseIcon, {}), iconAlign: "start", children: secondaryButton.label }) })), _jsx(Button, { icon: primaryButton.icon ?? _jsx(ArrowRightIcon, {}), onClick: () => handleClick(primaryButton.handleClick), children: primaryButton.label })] })] }) }));
|
|
20
20
|
return isVisible ? ReactDOM.createPortal(modal, document.body) : null;
|
|
21
21
|
};
|
|
22
22
|
export const NotificationPopUpController = () => {
|
|
File without changes
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as styles from "./Tag.module.css";
|
|
3
|
-
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
export const Tag = ({ label, icon, onClick, layoutClassName }) => (_jsxs("div", { className: clsx(styles.tag, [layoutClassName && layoutClassName], onClick && styles.clickable), ...{ onClick }, children: [icon && _jsx("span", { children: icon }), _jsx("span", { children: label })] }));
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--conduction-tag-font-size: var(--skeleton-font-size-sm);
|
|
3
3
|
--conduction-tag-color: var(--skeleton-black);
|
|
4
|
-
--conduction-tag-
|
|
4
|
+
--conduction-tag-background-color: var(--skeleton-color-grey-1);
|
|
5
5
|
--conduction-tag-border-radius: var(--skeleton-border-radius-md);
|
|
6
6
|
--conduction-tag-padding: var(--skeleton-size-xs);
|
|
7
|
+
--conduction-tag-child-margin-inline: var(--skeleton-size-2xs);
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
.tag {
|
|
@@ -11,10 +12,18 @@
|
|
|
11
12
|
width: fit-content;
|
|
12
13
|
font-size: var(--conduction-tag-font-size);
|
|
13
14
|
color: var(--conduction-tag-color);
|
|
14
|
-
background-color: var(--conduction-tag-
|
|
15
|
+
background-color: var(--conduction-tag-background-color);
|
|
15
16
|
border-radius: var(--conduction-tag-border-radius);
|
|
16
17
|
padding-inline-start: var(--conduction-tag-padding);
|
|
17
18
|
padding-inline-end: var(--conduction-tag-padding);
|
|
18
19
|
padding-block-start: var(--conduction-tag-padding);
|
|
19
20
|
padding-block-end: var(--conduction-tag-padding);
|
|
20
21
|
}
|
|
22
|
+
|
|
23
|
+
.tag > *:not(:last-child) {
|
|
24
|
+
margin-inline-end: var(--conduction-tag-child-margin-inline);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.clickable :hover {
|
|
28
|
+
cursor: pointer;
|
|
29
|
+
}
|
package/package.json
CHANGED
|
@@ -10,9 +10,17 @@ interface DownloadCardProps {
|
|
|
10
10
|
sizeKb: string;
|
|
11
11
|
downloadLabel: string;
|
|
12
12
|
layoutClassName?: string;
|
|
13
|
+
handleClick: () => any;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
export const DownloadCard: React.FC<DownloadCardProps> = ({
|
|
16
|
+
export const DownloadCard: React.FC<DownloadCardProps> = ({
|
|
17
|
+
icon,
|
|
18
|
+
label,
|
|
19
|
+
sizeKb,
|
|
20
|
+
layoutClassName,
|
|
21
|
+
downloadLabel,
|
|
22
|
+
handleClick,
|
|
23
|
+
}) => {
|
|
16
24
|
return (
|
|
17
25
|
<div className={clsx(styles.container, [layoutClassName && layoutClassName])}>
|
|
18
26
|
<div className={styles.content}>
|
|
@@ -22,10 +30,11 @@ export const DownloadCard: React.FC<DownloadCardProps> = ({ icon, label, sizeKb,
|
|
|
22
30
|
{label} ({sizeKb}kb)
|
|
23
31
|
</div>
|
|
24
32
|
</div>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
33
|
+
<div onClick={handleClick}>
|
|
34
|
+
<Link icon={<DownloadIcon />} iconAlign="start">
|
|
35
|
+
{downloadLabel}
|
|
36
|
+
</Link>
|
|
37
|
+
</div>
|
|
29
38
|
</div>
|
|
30
39
|
);
|
|
31
40
|
};
|
|
@@ -12,10 +12,12 @@ export interface NotificationPopUpProps {
|
|
|
12
12
|
hide: () => void;
|
|
13
13
|
primaryButton: {
|
|
14
14
|
label: string;
|
|
15
|
+
icon?: JSX.Element;
|
|
15
16
|
handleClick: () => any;
|
|
16
17
|
};
|
|
17
18
|
secondaryButton?: {
|
|
18
19
|
label: string;
|
|
20
|
+
icon?: JSX.Element;
|
|
19
21
|
handleClick: () => any;
|
|
20
22
|
};
|
|
21
23
|
layoutClassName?: string;
|
|
@@ -54,12 +56,15 @@ export const NotificationPopUp: React.FC<NotificationPopUpProps> = ({
|
|
|
54
56
|
<div className={styles.buttons}>
|
|
55
57
|
{secondaryButton && (
|
|
56
58
|
<div onClick={() => handleClick(secondaryButton.handleClick)}>
|
|
57
|
-
<Link icon={<CloseIcon />} iconAlign="start">
|
|
59
|
+
<Link icon={secondaryButton.icon ?? <CloseIcon />} iconAlign="start">
|
|
58
60
|
{secondaryButton.label}
|
|
59
61
|
</Link>
|
|
60
62
|
</div>
|
|
61
63
|
)}
|
|
62
|
-
<Button
|
|
64
|
+
<Button
|
|
65
|
+
icon={primaryButton.icon ?? <ArrowRightIcon />}
|
|
66
|
+
onClick={() => handleClick(primaryButton.handleClick)}
|
|
67
|
+
>
|
|
63
68
|
{primaryButton.label}
|
|
64
69
|
</Button>
|
|
65
70
|
</div>
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--conduction-tag-font-size: var(--skeleton-font-size-sm);
|
|
3
3
|
--conduction-tag-color: var(--skeleton-black);
|
|
4
|
-
--conduction-tag-
|
|
4
|
+
--conduction-tag-background-color: var(--skeleton-color-grey-1);
|
|
5
5
|
--conduction-tag-border-radius: var(--skeleton-border-radius-md);
|
|
6
6
|
--conduction-tag-padding: var(--skeleton-size-xs);
|
|
7
|
+
--conduction-tag-child-margin-inline: var(--skeleton-size-2xs);
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
.tag {
|
|
@@ -11,10 +12,18 @@
|
|
|
11
12
|
width: fit-content;
|
|
12
13
|
font-size: var(--conduction-tag-font-size);
|
|
13
14
|
color: var(--conduction-tag-color);
|
|
14
|
-
background-color: var(--conduction-tag-
|
|
15
|
+
background-color: var(--conduction-tag-background-color);
|
|
15
16
|
border-radius: var(--conduction-tag-border-radius);
|
|
16
17
|
padding-inline-start: var(--conduction-tag-padding);
|
|
17
18
|
padding-inline-end: var(--conduction-tag-padding);
|
|
18
19
|
padding-block-start: var(--conduction-tag-padding);
|
|
19
20
|
padding-block-end: var(--conduction-tag-padding);
|
|
20
21
|
}
|
|
22
|
+
|
|
23
|
+
.tag > *:not(:last-child) {
|
|
24
|
+
margin-inline-end: var(--conduction-tag-child-margin-inline);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.clickable :hover {
|
|
28
|
+
cursor: pointer;
|
|
29
|
+
}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import * as styles from "./Tag.module.css";
|
|
3
|
+
import clsx from "clsx";
|
|
3
4
|
|
|
4
5
|
interface TagProps {
|
|
5
|
-
|
|
6
|
+
label: string;
|
|
7
|
+
icon?: JSX.Element;
|
|
8
|
+
onClick?: () => any;
|
|
9
|
+
layoutClassName?: string;
|
|
6
10
|
}
|
|
7
11
|
|
|
8
|
-
export const Tag: React.FC<TagProps> = ({
|
|
12
|
+
export const Tag: React.FC<TagProps> = ({ label, icon, onClick, layoutClassName }) => (
|
|
13
|
+
<div className={clsx(styles.tag, [layoutClassName && layoutClassName], onClick && styles.clickable)} {...{ onClick }}>
|
|
14
|
+
{icon && <span>{icon}</span>}
|
|
15
|
+
<span>{label}</span>
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
export interface ModalProps {
|
|
3
|
-
title: string;
|
|
4
|
-
description: string | JSX.Element;
|
|
5
|
-
isShown: boolean;
|
|
6
|
-
hide: () => void;
|
|
7
|
-
layoutClassName: string;
|
|
8
|
-
primaryButton: {
|
|
9
|
-
label: string;
|
|
10
|
-
handleClick: () => any;
|
|
11
|
-
};
|
|
12
|
-
closeButton?: {
|
|
13
|
-
label: string;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export declare const NotificationModal: React.FC<ModalProps>;
|
|
17
|
-
export declare const toggleNotificationModal: () => {
|
|
18
|
-
isShown: boolean;
|
|
19
|
-
show: () => void;
|
|
20
|
-
hide: () => void;
|
|
21
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import * as styles from "./NotificationModal.module.css";
|
|
4
|
-
import ReactDOM from "react-dom";
|
|
5
|
-
import { Button, Heading3, Link, Paragraph } from "@gemeente-denhaag/components-react";
|
|
6
|
-
import clsx from "clsx";
|
|
7
|
-
import { CloseIcon, ArrowRightIcon } from "@gemeente-denhaag/icons";
|
|
8
|
-
export const NotificationModal = ({ title, description, isShown, hide, primaryButton, closeButton, layoutClassName, }) => {
|
|
9
|
-
const [fadeOut, setFadeOut] = React.useState(true);
|
|
10
|
-
const stylesContainer = document.getElementById("stylesContainer");
|
|
11
|
-
const animationDurationToken = getComputedStyle(document.documentElement).getPropertyValue("--conduction-notification-animation-duration");
|
|
12
|
-
const animationDurationString = animationDurationToken.replace(/\D/g, "");
|
|
13
|
-
const animationDuration = parseInt(animationDurationString);
|
|
14
|
-
const handleClick = (clickFunction) => {
|
|
15
|
-
setFadeOut(!setFadeOut);
|
|
16
|
-
clickFunction && clickFunction();
|
|
17
|
-
setTimeout(() => {
|
|
18
|
-
hide();
|
|
19
|
-
setFadeOut(true);
|
|
20
|
-
}, animationDuration);
|
|
21
|
-
};
|
|
22
|
-
const modal = (_jsx("div", { className: clsx(styles.cssanimation, fadeOut ? styles.fadeInBottom : styles.fadeOutBottom, layoutClassName), children: _jsxs("div", { className: styles.modal, children: [_jsx(Heading3, { children: title }), _jsx(Paragraph, { children: description }), _jsxs("div", { className: styles.buttons, children: [closeButton ? (_jsx("div", { onClick: () => handleClick(), children: _jsx(Link, { icon: _jsx(CloseIcon, {}), iconAlign: "start", children: closeButton.label }) })) : (_jsx(_Fragment, {})), _jsx(Button, { icon: _jsx(ArrowRightIcon, {}), onClick: () => handleClick(primaryButton.handleClick), children: primaryButton.label })] })] }) }));
|
|
23
|
-
return isShown ? ReactDOM.createPortal(modal, stylesContainer) : null;
|
|
24
|
-
};
|
|
25
|
-
export const toggleNotificationModal = () => {
|
|
26
|
-
const [isShown, setIsShown] = React.useState(false);
|
|
27
|
-
const show = () => setIsShown(true);
|
|
28
|
-
const hide = () => setIsShown(false);
|
|
29
|
-
return {
|
|
30
|
-
isShown,
|
|
31
|
-
show,
|
|
32
|
-
hide,
|
|
33
|
-
};
|
|
34
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
.modal {
|
|
2
|
-
background: var(--denhaag-color-warmgrey-1);
|
|
3
|
-
padding-inline-start: var(--nlportal-space-inline-lg);
|
|
4
|
-
padding-inline-end: var(--nlportal-space-inline-lg);
|
|
5
|
-
padding-block-start: var(--nlportal-space-block-lg);
|
|
6
|
-
padding-block-end: var(--nlportal-space-block-lg);
|
|
7
|
-
box-shadow: var(--conduction-notification-box-shadow);
|
|
8
|
-
border-radius: var(--nlportal-document-border-radius);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.modal > *:not(:last-child) {
|
|
12
|
-
margin-block-end: var(--nlportal-space-block-md);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.buttons {
|
|
16
|
-
display: flex;
|
|
17
|
-
justify-content: flex-end;
|
|
18
|
-
align-items: center;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.buttons > *:not(:last-child) {
|
|
22
|
-
margin-inline-end: var(--nlportal-space-inline-md);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.cssanimation {
|
|
26
|
-
animation-duration: var(--conduction-notification-animation-duration);
|
|
27
|
-
animation-fill-mode: both;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.fadeInBottom {
|
|
31
|
-
animation-name: fadeInBottom;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
@keyframes fadeInBottom {
|
|
35
|
-
from {
|
|
36
|
-
opacity: 0;
|
|
37
|
-
transform: translateY(100%);
|
|
38
|
-
}
|
|
39
|
-
to {
|
|
40
|
-
opacity: 1;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.fadeOutBottom {
|
|
45
|
-
animation-name: fadeOutBottom;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@keyframes fadeOutBottom {
|
|
49
|
-
from {
|
|
50
|
-
opacity: 1;
|
|
51
|
-
}
|
|
52
|
-
to {
|
|
53
|
-
opacity: 0;
|
|
54
|
-
transform: translateY(100%);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
interface TopNavProps {
|
|
3
|
-
items: {
|
|
4
|
-
label: string;
|
|
5
|
-
icon?: JSX.Element;
|
|
6
|
-
handleClick: () => any;
|
|
7
|
-
}[];
|
|
8
|
-
layoutClassName?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const PrimaryTopNav: React.FC<TopNavProps>;
|
|
11
|
-
export declare const SecondaryTopNav: React.FC<TopNavProps>;
|
|
12
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Link } from "@gemeente-denhaag/components-react";
|
|
3
|
-
import * as styles from "./TopNav.module.css";
|
|
4
|
-
import clsx from "clsx";
|
|
5
|
-
export const PrimaryTopNav = ({ items, layoutClassName }) => {
|
|
6
|
-
return (_jsx("div", { className: clsx(styles.primary, layoutClassName && layoutClassName), children: _jsx("nav", { className: styles.primary, children: _jsx("ul", { className: styles.ul, children: items.map(({ label, icon, handleClick }, idx) => (_jsx("li", { className: styles.li, onClick: handleClick, children: _jsx(Link, { className: styles.link, icon: icon, iconAlign: "start", children: label }) }, idx))) }) }) }));
|
|
7
|
-
};
|
|
8
|
-
export const SecondaryTopNav = ({ items, layoutClassName }) => {
|
|
9
|
-
return (_jsx("div", { className: clsx(styles.secondary, layoutClassName && layoutClassName), children: _jsx("nav", { children: _jsx("ul", { className: styles.ul, children: items.map(({ label, icon, handleClick }, idx) => (_jsx("li", { className: styles.li, onClick: handleClick, children: _jsx(Link, { className: styles.link, icon: icon, iconAlign: "start", children: label }) }, idx))) }) }) }));
|
|
10
|
-
};
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--conduction-top-nav-space-inline-lg: 1.25rem;
|
|
3
|
-
|
|
4
|
-
--conduction-top-nav-color-primary: #ffffff;
|
|
5
|
-
--conduction-top-nav-background-color-primary: #0b71a1;
|
|
6
|
-
--conduction-top-nav-background-color-primary-hover: rgba(255, 255, 255, 0.2);
|
|
7
|
-
|
|
8
|
-
--conduction-top-nav-font-size-secondary: 16px;
|
|
9
|
-
--conduction-top-nav-color-secondary: #ffffff;
|
|
10
|
-
--conduction-top-nav-background-color-secondary: #084f70;
|
|
11
|
-
--conduction-top-nav-background-color-secondary-hover: rgba(0, 0, 0, 0.2);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/*
|
|
15
|
-
* Global
|
|
16
|
-
*/
|
|
17
|
-
.primary:hover,
|
|
18
|
-
.secondary:hover {
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.ul {
|
|
23
|
-
margin: unset;
|
|
24
|
-
display: flex;
|
|
25
|
-
padding-inline-start: unset;
|
|
26
|
-
align-items: center;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.li {
|
|
30
|
-
list-style-type: none;
|
|
31
|
-
display: block;
|
|
32
|
-
padding-inline-start: var(--conduction-top-nav-space-inline-lg);
|
|
33
|
-
padding-inline-end: var(--conduction-top-nav-space-inline-lg);
|
|
34
|
-
padding-block-start: var(--conduction-top-nav-space-inline-lg);
|
|
35
|
-
padding-block-end: var(--conduction-top-nav-space-inline-lg);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/*
|
|
39
|
-
* Primary Top Navigation
|
|
40
|
-
*/
|
|
41
|
-
.primary {
|
|
42
|
-
font-weight: 500;
|
|
43
|
-
width: fit-content;
|
|
44
|
-
background-color: var(--conduction-top-nav-background-color-primary);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.primary .link {
|
|
48
|
-
color: var(--conduction-top-nav-color-primary);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.primary .li:hover {
|
|
52
|
-
background-color: var(--conduction-top-nav-background-color-primary-hover);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/*
|
|
56
|
-
* Secondary Top Navigation
|
|
57
|
-
*/
|
|
58
|
-
.secondary {
|
|
59
|
-
font-weight: 100;
|
|
60
|
-
width: fit-content;
|
|
61
|
-
font-size: var(--conduction-top-nav-font-size-secondary);
|
|
62
|
-
background-color: var(--conduction-top-nav-background-color-secondary);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.secondary .link {
|
|
66
|
-
color: var(--conduction-top-nav-color-secondary);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.secondary .li:hover {
|
|
70
|
-
background-color: var(--conduction-top-nav-background-color-secondary-hover);
|
|
71
|
-
}
|
package/lib/pages/index.d.ts
DELETED
package/lib/pages/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { QuoteWrapper } from "../components/quoteWrapper/QuoteWrapper";
|
|
3
|
-
import { TestingTemplate } from "../templates/testing/TestingTemplate";
|
|
4
|
-
const IndexPage = () => (_jsx(QuoteWrapper, { children: _jsx(TestingTemplate, {}) }));
|
|
5
|
-
export default IndexPage;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Container } from "../../components/container/Container";
|
|
3
|
-
import { QuoteWrapper } from "../../components/quoteWrapper/QuoteWrapper";
|
|
4
|
-
export const LandingTemplate = () => {
|
|
5
|
-
return (_jsx(Container, { children: _jsx(QuoteWrapper, { color: "blue" }) }));
|
|
6
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
.heading {
|
|
2
|
-
padding-block-end: var(--nlportal-space-inline-4xl);
|
|
3
|
-
padding-block-start: var(--nlportal-space-inline-4xl);
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.subHeading {
|
|
7
|
-
font-weight: 100 !important;
|
|
8
|
-
padding-block-start: var(--nlportal-space-block-4xl);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.cardsContainer {
|
|
12
|
-
display: grid;
|
|
13
|
-
grid-template-columns: 1fr 1fr;
|
|
14
|
-
grid-gap: var(--nlportal-space-inline-xl);
|
|
15
|
-
padding-block-end: var(--nlportal-space-inline-2xl);
|
|
16
|
-
padding-block-start: var(--nlportal-space-inline-2xl);
|
|
17
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Container } from "../../components/container/Container";
|
|
3
|
-
import { QuoteWrapper } from "../../components/quoteWrapper/QuoteWrapper";
|
|
4
|
-
export const TestingTemplate = () => {
|
|
5
|
-
return (_jsx(Container, { children: _jsx(QuoteWrapper, {}) }));
|
|
6
|
-
};
|
|
File without changes
|