@conduction/components 2.0.4 → 2.0.5
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 +2 -1
- package/lib/components/notificationPopUp/{NotificationPopUP.module.css → NotificationPopUp.module.css} +0 -0
- package/package.json +1 -1
- 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,8 @@
|
|
|
4
4
|
|
|
5
5
|
- **Version 2**
|
|
6
6
|
|
|
7
|
-
- 2.0.
|
|
7
|
+
- 2.0.5: wrong camelcase in npm publish/build fix;
|
|
8
|
+
- 2.0.4: added layoutClassName to InfoCard;
|
|
8
9
|
- 2.0.3: Bugfix: --conduction-container typo removed;
|
|
9
10
|
- 2.0.2: Refactor SelectSingle formField with optional props;
|
|
10
11
|
- 2.0.1: Refactor SecondaryTopNav css module import;
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -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
|