@conduction/components 1.0.7 → 1.0.8
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/lib/components/card/{horizontalImageCard → HorizontalImageCard}/HorizontalImageCard.d.ts +0 -0
- package/lib/components/card/{horizontalImageCard → HorizontalImageCard}/HorizontalImageCard.js +0 -0
- package/lib/components/card/{horizontalImageCard → HorizontalImageCard}/HorizontalImageCard.module.css +0 -0
- package/lib/components/card/{richContentCard → RichContentCard}/RichContentCard.d.ts +0 -0
- package/lib/components/card/{richContentCard → RichContentCard}/RichContentCard.js +0 -0
- package/lib/components/card/{richContentCard → RichContentCard}/RichContentCard.module.css +0 -0
- package/lib/components/denhaag-wrappers/paginations/Paginations.css +10 -0
- package/lib/components/denhaag-wrappers/paginations/Paginations.d.ts +20 -0
- package/lib/components/denhaag-wrappers/paginations/Paginations.js +10 -0
- package/lib/components/formFields/select/select.d.ts +17 -0
- package/lib/components/formFields/select/select.js +14 -0
- package/lib/components/formFields/select/select.module.css +65 -0
- package/lib/components/privateRoute/PrivateRoute.d.ts +1 -1
- package/lib/components/privateRoute/PrivateRoute.js +6 -6
- package/package.json +1 -1
- package/src/components/privateRoute/PrivateRoute.tsx +7 -7
package/lib/components/card/{horizontalImageCard → HorizontalImageCard}/HorizontalImageCard.d.ts
RENAMED
|
File without changes
|
package/lib/components/card/{horizontalImageCard → HorizontalImageCard}/HorizontalImageCard.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is a wrapper element based on https://nl-design-system.github.io/denhaag/?path=/docs/css-navigation-pagination--default-story
|
|
3
|
+
*
|
|
4
|
+
* IMPORTANT: DO NOT MAKE CHANGES TO THIS FILE, AS ALL CHANGES WILL BE LOST UPON PACKAGE IMPLEMENTATION
|
|
5
|
+
*
|
|
6
|
+
* Note: we do not use css modules here due to this component being a wrapper
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import "./Paginations.css";
|
|
10
|
+
interface PaginationsProps {
|
|
11
|
+
pages: {
|
|
12
|
+
ariaLabel: string;
|
|
13
|
+
label: string;
|
|
14
|
+
href: string;
|
|
15
|
+
}[];
|
|
16
|
+
nextPageHref: string;
|
|
17
|
+
previousPageHref: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const Paginations: React.FC<PaginationsProps>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import "./Paginations.css";
|
|
3
|
+
import { Link } from "gatsby";
|
|
4
|
+
export const Paginations = ({ pages, previousPageHref, nextPageHref }) => {
|
|
5
|
+
return (_jsxs("nav", { className: "denhaag-pagination", children: [_jsx(PreviousPage, { href: previousPageHref }), _jsx("span", { className: "denhaag-pagination__links", role: "group", children: pages.map((page) => {
|
|
6
|
+
return (_jsx(Link, { "aria-label": page.ariaLabel, className: "denhaag-pagination__link", to: page.href, children: page.label }));
|
|
7
|
+
}) }), _jsx(NextPage, { href: nextPageHref })] }));
|
|
8
|
+
};
|
|
9
|
+
const PreviousPage = ({ href }) => (_jsx(Link, { "aria-label": "Previous page", className: "denhaag-pagination__link denhaag-pagination__link--arrow", to: href, rel: "prev", children: _jsx("svg", { "aria-hidden": "true", className: "denhaag-icon", fill: "none", height: "1em", viewBox: "0 0 7 12", width: "1em", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M4.9921 10.8143C5.36382 11.1914 5.97222 11.1914 6.34393 10.8143C6.7079 10.4451 6.70822 9.8521 6.34466 9.48248L3.36315 6.45123C2.98039 6.06209 2.98039 5.43791 3.36315 5.04877L6.34466 2.01752C6.70822 1.6479 6.7079 1.05492 6.34394 0.685696C5.97222 0.308599 5.36382 0.308599 4.9921 0.685695L0.692003 5.04799C0.308224 5.43732 0.308224 6.06268 0.692003 6.45201L4.9921 10.8143Z", fill: "currentColor" }) }) }));
|
|
10
|
+
const NextPage = ({ href }) => (_jsx(Link, { "aria-label": "Next page", className: "denhaag-pagination__link denhaag-pagination__link--arrow", to: href, rel: "next", children: _jsx("svg", { "aria-hidden": "true", className: "denhaag-icon", fill: "none", height: "1em", viewBox: "0 0 7 12", width: "1em", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M2.0079 1.1857C1.63618 0.8086 1.02778 0.8086 0.656065 1.18569V1.18569C0.292103 1.55492 0.291779 2.1479 0.655339 2.51752L3.63685 5.54877C4.01961 5.93791 4.01961 6.56209 3.63686 6.95123L0.655339 9.98248C0.291779 10.3521 0.292102 10.9451 0.656065 11.3143V11.3143C1.02778 11.6914 1.63618 11.6914 2.0079 11.3143L6.308 6.95201C6.69178 6.56268 6.69178 5.93732 6.308 5.54799L2.0079 1.1857Z", fill: "currentColor" }) }) }));
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Control, FieldValues } from "react-hook-form";
|
|
3
|
+
import { IReactHookFormProps } from "./../types";
|
|
4
|
+
export interface ISelectValue {
|
|
5
|
+
label: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
8
|
+
interface ISelectProps {
|
|
9
|
+
control: Control<FieldValues, any>;
|
|
10
|
+
options: ISelectValue[];
|
|
11
|
+
name: string;
|
|
12
|
+
defaultValue?: any;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const SelectMultiple: React.FC<ISelectProps & ISelectProps & IReactHookFormProps>;
|
|
16
|
+
export declare const SelectSingle: React.FC<ISelectProps & ISelectProps & IReactHookFormProps>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as styles from "./select.module.css";
|
|
3
|
+
import { Controller } from "react-hook-form";
|
|
4
|
+
import ReactSelect from "react-select";
|
|
5
|
+
export const SelectMultiple = ({ name, options, errors, control, validation, defaultValue, disabled, }) => {
|
|
6
|
+
return (_jsx(Controller, { ...{ control, name }, rules: validation, render: ({ field: { onChange, value } }) => {
|
|
7
|
+
return (_jsx(ReactSelect, { className: styles.select, isMulti: true, isDisabled: disabled, ...{ options, value, onChange, errors, defaultValue } }));
|
|
8
|
+
} }));
|
|
9
|
+
};
|
|
10
|
+
export const SelectSingle = ({ name, options, errors, control, validation, }) => {
|
|
11
|
+
return (_jsx(Controller, { ...{ control, name }, rules: validation, render: ({ field: { onChange, value } }) => {
|
|
12
|
+
return _jsx(ReactSelect, { className: styles.select, ...{ options, onChange, value, errors }, isClearable: true });
|
|
13
|
+
} }));
|
|
14
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
.select > div {
|
|
2
|
+
background-color: var(
|
|
3
|
+
--utrecht-textbox-background-color,
|
|
4
|
+
var(--utrecht-form-input-background-color)
|
|
5
|
+
);
|
|
6
|
+
border-width: var(
|
|
7
|
+
--utrecht-textbox-border-width,
|
|
8
|
+
var(--utrecht-form-input-border-width)
|
|
9
|
+
);
|
|
10
|
+
border-bottom-width: var(
|
|
11
|
+
--utrecht-textbox-border-bottom-width,
|
|
12
|
+
var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width))
|
|
13
|
+
);
|
|
14
|
+
border-color: var(
|
|
15
|
+
--utrecht-textbox-border-color,
|
|
16
|
+
var(--utrecht-form-input-border-color)
|
|
17
|
+
);
|
|
18
|
+
border-radius: var(
|
|
19
|
+
--utrecht-textbox-border-radius,
|
|
20
|
+
var(--utrecht-form-input-border-radius, 0)
|
|
21
|
+
);
|
|
22
|
+
border-style: solid;
|
|
23
|
+
box-sizing: border-box;
|
|
24
|
+
color: var(--utrecht-textbox-color, var(--utrecht-form-input-color));
|
|
25
|
+
font-family: var(
|
|
26
|
+
--utrecht-textbox-font-family,
|
|
27
|
+
var(--utrecht-form-input-font-family)
|
|
28
|
+
);
|
|
29
|
+
font-size: var(
|
|
30
|
+
--utrecht-textbox-font-size,
|
|
31
|
+
var(--utrecht-form-input-font-size, 1em)
|
|
32
|
+
);
|
|
33
|
+
max-inline-size: var(
|
|
34
|
+
--utrecht-textbox-max-inline-size,
|
|
35
|
+
var(--utrecht-form-input-max-inline-size)
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
padding-block-start: 6.5px;
|
|
39
|
+
padding-block-end: 6.5px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.select > div:hover {
|
|
43
|
+
border-color: var(
|
|
44
|
+
--utrecht-textbox-border-color,
|
|
45
|
+
var(--utrecht-form-input-border-color)
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.select > div:focus-within {
|
|
50
|
+
outline: none;
|
|
51
|
+
box-shadow: none;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.select > div:focus-within::after {
|
|
55
|
+
pointer-events: none;
|
|
56
|
+
border: var(--denhaag-focus-border);
|
|
57
|
+
border-radius: var(--denhaag-border-radius);
|
|
58
|
+
bottom: -3px;
|
|
59
|
+
content: "";
|
|
60
|
+
display: block;
|
|
61
|
+
left: -3px;
|
|
62
|
+
position: absolute;
|
|
63
|
+
right: -3px;
|
|
64
|
+
top: -3px;
|
|
65
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { navigate } from "gatsby";
|
|
4
|
-
export const PrivateRoute = ({ children,
|
|
5
|
-
const [
|
|
4
|
+
export const PrivateRoute = ({ children, authenticated }) => {
|
|
5
|
+
const [_authenticated, setAuthenticated] = React.useState(false);
|
|
6
6
|
React.useEffect(() => {
|
|
7
|
-
if (!
|
|
7
|
+
if (!authenticated && window.location.pathname !== "/login") {
|
|
8
8
|
navigate("/login");
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
}, [
|
|
12
|
-
if (!
|
|
10
|
+
authenticated && setAuthenticated(true);
|
|
11
|
+
}, [authenticated]);
|
|
12
|
+
if (!_authenticated)
|
|
13
13
|
return _jsx(_Fragment, {});
|
|
14
14
|
return _jsx(_Fragment, { children: children });
|
|
15
15
|
};
|
package/package.json
CHANGED
|
@@ -2,21 +2,21 @@ import React from "react";
|
|
|
2
2
|
import { navigate } from "gatsby";
|
|
3
3
|
|
|
4
4
|
interface PrivateRouteProps {
|
|
5
|
-
|
|
5
|
+
authenticated: boolean;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
export const PrivateRoute: React.FC<PrivateRouteProps> = ({ children,
|
|
9
|
-
const [
|
|
8
|
+
export const PrivateRoute: React.FC<PrivateRouteProps> = ({ children, authenticated }) => {
|
|
9
|
+
const [_authenticated, setAuthenticated] = React.useState<boolean>(false);
|
|
10
10
|
|
|
11
11
|
React.useEffect(() => {
|
|
12
|
-
if (!
|
|
12
|
+
if (!authenticated && window.location.pathname !== "/login") {
|
|
13
13
|
navigate("/login");
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
}, [
|
|
16
|
+
authenticated && setAuthenticated(true);
|
|
17
|
+
}, [authenticated]);
|
|
18
18
|
|
|
19
|
-
if (!
|
|
19
|
+
if (!_authenticated) return <></>;
|
|
20
20
|
|
|
21
21
|
return <>{children}</>;
|
|
22
22
|
};
|