@conduction/components 2.1.19 → 2.1.21

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.
Files changed (175) hide show
  1. package/.github/workflows/github-actions.yml +26 -0
  2. package/.github/workflows/npm-publish.yml +39 -39
  3. package/.nvmrc +1 -0
  4. package/.prettierrc +30 -30
  5. package/README.md +11 -9
  6. package/lib/components/badgeCounter/BadgeCounter.d.ts +8 -8
  7. package/lib/components/badgeCounter/BadgeCounter.js +4 -4
  8. package/lib/components/badgeCounter/BadgeCounter.module.css +27 -27
  9. package/lib/components/card/detailsCard/DetailsCard.d.ts +14 -14
  10. package/lib/components/card/detailsCard/DetailsCard.js +10 -10
  11. package/lib/components/card/detailsCard/DetailsCard.module.css +51 -51
  12. package/lib/components/card/downloadCard/DownloadCard.d.ts +11 -11
  13. package/lib/components/card/downloadCard/DownloadCard.js +8 -8
  14. package/lib/components/card/downloadCard/DownloadCard.module.css +27 -27
  15. package/lib/components/card/horizontalImageCard/HorizontalImageCard.d.ts +13 -13
  16. package/lib/components/card/horizontalImageCard/HorizontalImageCard.js +9 -9
  17. package/lib/components/card/horizontalImageCard/HorizontalImageCard.module.css +34 -34
  18. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.d.ts +14 -14
  19. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.js +9 -9
  20. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.module.css +63 -63
  21. package/lib/components/card/index.d.ts +7 -7
  22. package/lib/components/card/index.js +7 -7
  23. package/lib/components/card/infoCard/InfoCard.d.ts +8 -8
  24. package/lib/components/card/infoCard/InfoCard.js +6 -6
  25. package/lib/components/card/infoCard/InfoCard.module.css +26 -26
  26. package/lib/components/card/richContentCard/RichContentCard.d.ts +19 -19
  27. package/lib/components/card/richContentCard/RichContentCard.js +15 -15
  28. package/lib/components/card/richContentCard/RichContentCard.module.css +93 -93
  29. package/lib/components/codeBlock/CodeBlock.d.ts +6 -6
  30. package/lib/components/codeBlock/CodeBlock.js +3 -3
  31. package/lib/components/codeBlock/CodeBlock.module.css +6 -6
  32. package/lib/components/container/Container.d.ts +6 -6
  33. package/lib/components/container/Container.js +4 -4
  34. package/lib/components/container/Container.module.css +9 -9
  35. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +222 -222
  36. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.d.ts +17 -17
  37. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.js +20 -20
  38. package/lib/components/denhaag-wrappers/pagination/Pagination.css +120 -120
  39. package/lib/components/denhaag-wrappers/pagination/Pagination.d.ts +9 -9
  40. package/lib/components/denhaag-wrappers/pagination/Pagination.js +15 -15
  41. package/lib/components/editableTableRow/EditableTableRow.d.ts +14 -14
  42. package/lib/components/editableTableRow/EditableTableRow.js +31 -31
  43. package/lib/components/editableTableRow/EditableTableRow.module.css +25 -25
  44. package/lib/components/formFields/checkbox/Checkbox.module.css +7 -7
  45. package/lib/components/formFields/checkbox/checkbox.d.ts +9 -9
  46. package/lib/components/formFields/checkbox/checkbox.js +3 -3
  47. package/lib/components/formFields/createKeyValue/CreateKeyValue.d.ts +22 -18
  48. package/lib/components/formFields/createKeyValue/CreateKeyValue.js +41 -31
  49. package/lib/components/formFields/createKeyValue/CreateKeyValue.module.css +56 -43
  50. package/lib/components/formFields/date/Date.d.ts +12 -12
  51. package/lib/components/formFields/date/Date.js +10 -10
  52. package/lib/components/formFields/date/Date.module.css +12 -12
  53. package/lib/components/formFields/errorMessage/ErrorMessage.d.ts +5 -0
  54. package/lib/components/formFields/errorMessage/ErrorMessage.js +3 -0
  55. package/lib/components/formFields/errorMessage/ErrorMessage.module.css +4 -0
  56. package/lib/components/formFields/index.d.ts +8 -8
  57. package/lib/components/formFields/index.js +8 -8
  58. package/lib/components/formFields/input.d.ts +20 -20
  59. package/lib/components/formFields/input.js +15 -15
  60. package/lib/components/formFields/radio.d.ts +9 -9
  61. package/lib/components/formFields/radio.js +3 -3
  62. package/lib/components/formFields/select/select.d.ts +18 -18
  63. package/lib/components/formFields/select/select.js +21 -21
  64. package/lib/components/formFields/select/select.module.css +38 -38
  65. package/lib/components/formFields/textarea.d.ts +8 -8
  66. package/lib/components/formFields/textarea.js +3 -3
  67. package/lib/components/formFields/types.d.ts +6 -6
  68. package/lib/components/formFields/types.js +1 -1
  69. package/lib/components/imageDivider/ImageDivider.d.ts +7 -7
  70. package/lib/components/imageDivider/ImageDivider.js +6 -6
  71. package/lib/components/imageDivider/imageDivider.module.css +5 -5
  72. package/lib/components/logo/Logo.d.ts +8 -8
  73. package/lib/components/logo/Logo.js +10 -10
  74. package/lib/components/logo/Logo.module.css +15 -15
  75. package/lib/components/metaIcon/MetaIcon.d.ts +7 -7
  76. package/lib/components/metaIcon/MetaIcon.js +3 -3
  77. package/lib/components/metaIcon/MetaIcon.module.css +29 -29
  78. package/lib/components/notificationPopUp/NotificationPopUp.d.ts +26 -26
  79. package/lib/components/notificationPopUp/NotificationPopUp.js +31 -31
  80. package/lib/components/privateRoute/PrivateRoute.d.ts +6 -6
  81. package/lib/components/privateRoute/PrivateRoute.js +15 -15
  82. package/lib/components/quoteWrapper/QuoteWrapper.d.ts +7 -7
  83. package/lib/components/quoteWrapper/QuoteWrapper.js +5 -5
  84. package/lib/components/quoteWrapper/QuoteWrapper.module.css +12 -12
  85. package/lib/components/statusSteps/StatusSteps.d.ts +13 -13
  86. package/lib/components/statusSteps/StatusSteps.js +5 -5
  87. package/lib/components/tag/Tag.d.ts +10 -10
  88. package/lib/components/tag/Tag.js +6 -6
  89. package/lib/components/tag/Tag.module.css +44 -44
  90. package/lib/components/toolTip/ToolTip.d.ts +9 -9
  91. package/lib/components/toolTip/ToolTip.js +8 -8
  92. package/lib/components/topNav/index.d.ts +3 -3
  93. package/lib/components/topNav/index.js +3 -3
  94. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.d.ts +20 -20
  95. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.js +17 -17
  96. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.module.css +145 -145
  97. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.d.ts +12 -12
  98. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.js +7 -7
  99. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +63 -63
  100. package/lib/index.d.ts +27 -27
  101. package/lib/index.js +20 -20
  102. package/package.json +9 -2
  103. package/src/components/badgeCounter/BadgeCounter.module.css +27 -27
  104. package/src/components/badgeCounter/BadgeCounter.tsx +5 -1
  105. package/src/components/card/detailsCard/DetailsCard.module.css +51 -51
  106. package/src/components/card/detailsCard/DetailsCard.tsx +2 -2
  107. package/src/components/card/downloadCard/DownloadCard.js +10 -10
  108. package/src/components/card/downloadCard/DownloadCard.module.css +27 -27
  109. package/src/components/card/downloadCard/DownloadCard.tsx +2 -2
  110. package/src/components/card/horizontalImageCard/HorizontalImageCard.js +9 -9
  111. package/src/components/card/horizontalImageCard/HorizontalImageCard.module.css +34 -34
  112. package/src/components/card/horizontalImageCard/HorizontalImageCard.tsx +2 -2
  113. package/src/components/card/imageAndDetailsCard/ImageAndDetailsCard.js +9 -9
  114. package/src/components/card/imageAndDetailsCard/ImageAndDetailsCard.module.css +63 -63
  115. package/src/components/card/imageAndDetailsCard/ImageAndDetailsCard.tsx +2 -2
  116. package/src/components/card/index.js +5 -5
  117. package/src/components/card/index.tsx +8 -8
  118. package/src/components/card/infoCard/InfoCard.module.css +26 -26
  119. package/src/components/card/infoCard/InfoCard.tsx +1 -1
  120. package/src/components/card/richContentCard/RichContentCard.js +17 -17
  121. package/src/components/card/richContentCard/RichContentCard.module.css +93 -93
  122. package/src/components/card/richContentCard/RichContentCard.tsx +4 -4
  123. package/src/components/codeBlock/CodeBlock.module.css +6 -6
  124. package/src/components/codeBlock/CodeBlock.tsx +1 -1
  125. package/src/components/container/Container.js +3 -3
  126. package/src/components/container/Container.module.css +9 -9
  127. package/src/components/container/Container.tsx +1 -1
  128. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +222 -222
  129. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.js +84 -84
  130. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.tsx +3 -3
  131. package/src/components/denhaag-wrappers/pagination/Pagination.css +120 -120
  132. package/src/components/denhaag-wrappers/pagination/Pagination.tsx +4 -4
  133. package/src/components/editableTableRow/EditableTableRow.js +34 -34
  134. package/src/components/editableTableRow/EditableTableRow.module.css +25 -25
  135. package/src/components/editableTableRow/EditableTableRow.tsx +6 -6
  136. package/src/components/formFields/checkbox/Checkbox.module.css +7 -7
  137. package/src/components/formFields/checkbox/checkbox.tsx +2 -2
  138. package/src/components/formFields/createKeyValue/CreateKeyValue.module.css +56 -43
  139. package/src/components/formFields/createKeyValue/CreateKeyValue.tsx +55 -14
  140. package/src/components/formFields/date/Date.module.css +12 -12
  141. package/src/components/formFields/date/Date.tsx +2 -2
  142. package/src/components/formFields/index.js +4 -4
  143. package/src/components/formFields/input.js +12 -12
  144. package/src/components/formFields/radio.tsx +2 -2
  145. package/src/components/formFields/select/select.module.css +38 -38
  146. package/src/components/formFields/select/select.tsx +6 -6
  147. package/src/components/formFields/textarea.js +3 -3
  148. package/src/components/formFields/textarea.tsx +4 -2
  149. package/src/components/formFields/types.js +1 -1
  150. package/src/components/imageDivider/ImageDivider.js +6 -6
  151. package/src/components/imageDivider/ImageDivider.tsx +1 -1
  152. package/src/components/imageDivider/imageDivider.module.css +5 -5
  153. package/src/components/logo/Logo.js +10 -10
  154. package/src/components/logo/Logo.module.css +15 -15
  155. package/src/components/logo/Logo.tsx +2 -2
  156. package/src/components/metaIcon/MetaIcon.js +3 -3
  157. package/src/components/metaIcon/MetaIcon.module.css +29 -29
  158. package/src/components/metaIcon/MetaIcon.tsx +1 -1
  159. package/src/components/notificationPopUp/NotificationPopUp.tsx +2 -2
  160. package/src/components/privateRoute/PrivateRoute.js +15 -15
  161. package/src/components/privateRoute/PrivateRoute.tsx +1 -1
  162. package/src/components/quoteWrapper/QuoteWrapper.module.css +12 -12
  163. package/src/components/quoteWrapper/QuoteWrapper.tsx +5 -1
  164. package/src/components/statusSteps/StatusSteps.js +5 -5
  165. package/src/components/statusSteps/StatusSteps.tsx +1 -1
  166. package/src/components/tag/Tag.module.css +44 -44
  167. package/src/components/tag/Tag.tsx +1 -1
  168. package/src/components/toolTip/ToolTip.tsx +1 -1
  169. package/src/components/topNav/index.ts +4 -4
  170. package/src/components/topNav/primaryTopNav/PrimaryTopNav.module.css +145 -145
  171. package/src/components/topNav/primaryTopNav/PrimaryTopNav.tsx +1 -1
  172. package/src/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +63 -63
  173. package/src/components/topNav/secondaryTopNav/SecondaryTopNav.tsx +1 -1
  174. package/src/custom.d.ts +4 -4
  175. package/src/index.ts +79 -79
@@ -2,9 +2,12 @@ import * as React from "react";
2
2
  import * as styles from "./CreateKeyValue.module.css";
3
3
  import { Control, Controller, FieldValues } from "react-hook-form";
4
4
  import { IReactHookFormProps } from "../types";
5
- import { IInputProps } from "../input";
6
5
  import { Button } from "@gemeente-denhaag/components-react";
7
6
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@gemeente-denhaag/table";
7
+ import { ToolTip } from "../../toolTip/ToolTip";
8
+ import clsx from "clsx";
9
+ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
10
+ import { faCopy, faTrash } from "@fortawesome/free-solid-svg-icons";
8
11
 
9
12
  /**
10
13
  * Export KeyValue input component (wrapped in FormFieldGroup)
@@ -14,6 +17,10 @@ interface CreateKeyValueProps {
14
17
  control: Control<FieldValues, any>;
15
18
  defaultValue?: IKeyValue[];
16
19
  disabled?: boolean;
20
+ copyValue?: {
21
+ canCopy: boolean;
22
+ onCopied?: () => any;
23
+ };
17
24
  }
18
25
 
19
26
  export interface IKeyValue {
@@ -21,20 +28,21 @@ export interface IKeyValue {
21
28
  value: string;
22
29
  }
23
30
 
24
- export const CreateKeyValue: React.FC<CreateKeyValueProps & IReactHookFormProps> = ({
31
+ export const CreateKeyValue = ({
25
32
  name,
26
33
  errors,
27
34
  control,
28
35
  validation,
29
36
  defaultValue,
30
37
  disabled,
31
- }) => {
38
+ copyValue,
39
+ }: CreateKeyValueProps & IReactHookFormProps): JSX.Element => {
32
40
  return (
33
41
  <Controller
34
42
  {...{ control, name, errors }}
35
43
  rules={validation}
36
44
  render={({ field: { onChange } }) => {
37
- return <KeyValueComponent handleChange={onChange} {...{ defaultValue, errors, disabled }} />;
45
+ return <KeyValueComponent handleChange={onChange} {...{ defaultValue, errors, disabled, copyValue }} />;
38
46
  }}
39
47
  />
40
48
  );
@@ -44,15 +52,25 @@ export const CreateKeyValue: React.FC<CreateKeyValueProps & IReactHookFormProps>
44
52
  * Internal KeyValueComponent (contains all required logic)
45
53
  */
46
54
  interface CreateKeyValueComponentProps {
47
- defaultValue?: IKeyValue[];
48
55
  handleChange: (...event: any[]) => void;
56
+ defaultValue?: IKeyValue[];
49
57
  disabled?: boolean;
58
+ copyValue?: {
59
+ canCopy: boolean;
60
+ onCopied?: () => any;
61
+ };
50
62
  }
51
63
 
52
- const KeyValueComponent: React.FC<CreateKeyValueComponentProps> = ({ defaultValue, handleChange, disabled }) => {
64
+ const KeyValueComponent = ({
65
+ defaultValue,
66
+ handleChange,
67
+ disabled,
68
+ copyValue,
69
+ }: CreateKeyValueComponentProps): JSX.Element => {
53
70
  const [currentKey, setCurrentKey] = React.useState<string>("");
54
71
  const [currentValue, setCurrentValue] = React.useState<string>("");
55
72
  const [keyValues, setKeyValues] = React.useState<IKeyValue[]>(defaultValue ?? []);
73
+ const [currentCopyIdx, setCurrentCopyIdx] = React.useState<number>();
56
74
 
57
75
  const currentKeyRef = React.useRef(null);
58
76
  const currentValueRef = React.useRef(null);
@@ -66,6 +84,12 @@ const KeyValueComponent: React.FC<CreateKeyValueComponentProps> = ({ defaultValu
66
84
  setKeyValues([...keyValues, keyValue]);
67
85
  };
68
86
 
87
+ const handleCopyToClipboard = (value: string, id: number) => {
88
+ navigator.clipboard.writeText(value);
89
+ setCurrentCopyIdx(id);
90
+ copyValue?.onCopied && copyValue.onCopied();
91
+ };
92
+
69
93
  React.useEffect(() => {
70
94
  defaultValue && setKeyValues(defaultValue);
71
95
  }, [defaultValue]);
@@ -87,16 +111,33 @@ const KeyValueComponent: React.FC<CreateKeyValueComponentProps> = ({ defaultValu
87
111
  </TableHead>
88
112
  <TableBody>
89
113
  {keyValues.map((keyValue, idx) => (
90
- <TableRow key={`${keyValue}${idx}`}>
114
+ <TableRow key={`${keyValue.key}${keyValue.value}${idx}`}>
91
115
  <TableCell>{keyValue.key}</TableCell>
92
116
  <TableCell>{keyValue.value}</TableCell>
93
- <TableCell className={styles.tdDelete}>
94
- <Button
95
- {...{ disabled }}
96
- onClick={() => setKeyValues(keyValues.filter((_keyValue) => _keyValue !== keyValue))}
97
- >
98
- Delete
99
- </Button>
117
+ <TableCell>
118
+ <div className={styles.buttonsContainer}>
119
+ {copyValue && (
120
+ <ToolTip tooltip="Copy value">
121
+ <Button
122
+ {...{ disabled }}
123
+ className={styles.copyButton}
124
+ onClick={() => handleCopyToClipboard(keyValue.value, idx)}
125
+ variant={currentCopyIdx === idx ? "secondary-action" : "primary-action"}
126
+ >
127
+ <FontAwesomeIcon icon={faCopy} />
128
+ </Button>
129
+ </ToolTip>
130
+ )}
131
+ <ToolTip tooltip="Delete value">
132
+ <Button
133
+ {...{ disabled }}
134
+ onClick={() => setKeyValues(keyValues.filter((_keyValue) => _keyValue !== keyValue))}
135
+ className={clsx(styles.deleteButton)}
136
+ >
137
+ <FontAwesomeIcon icon={faTrash} />
138
+ </Button>
139
+ </ToolTip>
140
+ </div>
100
141
  </TableCell>
101
142
  </TableRow>
102
143
  ))}
@@ -1,12 +1,12 @@
1
- .container {
2
- display: flex;
3
- }
4
-
5
- .calendar {
6
- display: flex;
7
- }
8
-
9
- .calendar > div::before,
10
- .calendar > div::after {
11
- display: none;
12
- }
1
+ .container {
2
+ display: flex;
3
+ }
4
+
5
+ .calendar {
6
+ display: flex;
7
+ }
8
+
9
+ .calendar > div::before,
10
+ .calendar > div::after {
11
+ display: none;
12
+ }
@@ -12,13 +12,13 @@ interface IDateProps {
12
12
  disabled?: boolean;
13
13
  }
14
14
 
15
- export const InputDate: React.FC<IDateProps & IReactHookFormProps> = ({
15
+ export const InputDate = ({
16
16
  name,
17
17
  errors,
18
18
  control,
19
19
  validation,
20
20
  disabled,
21
- }) => {
21
+ }: IDateProps & IReactHookFormProps): JSX.Element => {
22
22
  return (
23
23
  <Controller
24
24
  {...{ control, name }}
@@ -1,4 +1,4 @@
1
- import { InputText, InputPassword, InputEmail, InputDate, InputNumber } from "./input";
2
- import { Textarea } from "./textarea";
3
- import { InputCheckbox } from "./checkbox";
4
- export { InputText, InputPassword, InputEmail, InputDate, InputNumber, InputCheckbox, Textarea };
1
+ import { InputText, InputPassword, InputEmail, InputDate, InputNumber } from "./input";
2
+ import { Textarea } from "./textarea";
3
+ import { InputCheckbox } from "./checkbox";
4
+ export { InputText, InputPassword, InputEmail, InputDate, InputNumber, InputCheckbox, Textarea };
@@ -1,12 +1,12 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import { TextField } from "@gemeente-denhaag/components-react";
4
- import { ShowIcon, HideIcon } from "@gemeente-denhaag/icons";
5
- export const InputPassword = ({ disabled, name, validation, register, errors, }) => {
6
- const [showPassword, setShowPassword] = React.useState(false);
7
- return (_jsx(TextField, { type: showPassword ? "text" : "password", ...{ disabled }, ...register(name, { ...validation }), invalid: errors[name], icon: _jsx("span", { onClick: () => setShowPassword(!showPassword), children: showPassword ? _jsx(HideIcon, {}) : _jsx(ShowIcon, {}) }) }));
8
- };
9
- export const InputText = ({ disabled, name, defaultValue, validation, register, errors, }) => (_jsx(TextField, { type: "text", ...{ defaultValue, disabled }, ...register(name, { ...validation }), invalid: errors[name] }));
10
- export const InputEmail = ({ disabled, name, defaultValue, validation, register, errors, }) => (_jsx(TextField, { type: "email", ...{ defaultValue, disabled }, ...register(name, { ...validation }), invalid: errors[name] }));
11
- export const InputDate = ({ disabled, name, defaultValue, validation, register, errors, }) => (_jsx(TextField, { type: "date", ...{ defaultValue, disabled }, ...register(name, { ...validation }), invalid: errors[name] }));
12
- export const InputNumber = ({ disabled, name, defaultValue, validation, register, errors, }) => (_jsx(TextField, { type: "number", ...{ defaultValue, disabled }, ...register(name, { ...validation }), invalid: errors[name] }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { TextField } from "@gemeente-denhaag/components-react";
4
+ import { ShowIcon, HideIcon } from "@gemeente-denhaag/icons";
5
+ export const InputPassword = ({ disabled, name, validation, register, errors, }) => {
6
+ const [showPassword, setShowPassword] = React.useState(false);
7
+ return (_jsx(TextField, { type: showPassword ? "text" : "password", ...{ disabled }, ...register(name, { ...validation }), invalid: errors[name], icon: _jsx("span", { onClick: () => setShowPassword(!showPassword), children: showPassword ? _jsx(HideIcon, {}) : _jsx(ShowIcon, {}) }) }));
8
+ };
9
+ export const InputText = ({ disabled, name, defaultValue, validation, register, errors, }) => (_jsx(TextField, { type: "text", ...{ defaultValue, disabled }, ...register(name, { ...validation }), invalid: errors[name] }));
10
+ export const InputEmail = ({ disabled, name, defaultValue, validation, register, errors, }) => (_jsx(TextField, { type: "email", ...{ defaultValue, disabled }, ...register(name, { ...validation }), invalid: errors[name] }));
11
+ export const InputDate = ({ disabled, name, defaultValue, validation, register, errors, }) => (_jsx(TextField, { type: "date", ...{ defaultValue, disabled }, ...register(name, { ...validation }), invalid: errors[name] }));
12
+ export const InputNumber = ({ disabled, name, defaultValue, validation, register, errors, }) => (_jsx(TextField, { type: "number", ...{ defaultValue, disabled }, ...register(name, { ...validation }), invalid: errors[name] }));
@@ -7,13 +7,13 @@ interface IRadioProps {
7
7
  value: string;
8
8
  }
9
9
 
10
- export const InputRadio: React.FC<IRadioProps & IReactHookFormProps> = ({
10
+ export const InputRadio = ({
11
11
  name,
12
12
  validation,
13
13
  register,
14
14
  label,
15
15
  value,
16
- }) => (
16
+ }: IRadioProps & IReactHookFormProps): JSX.Element => (
17
17
  <FormControlLabel
18
18
  input={<input type="radio" {...{ value }} {...register(name, { ...validation })} />}
19
19
  {...{ label }}
@@ -1,38 +1,38 @@
1
- :root {
2
- --conduction-input-select-border: 1px solid var(--skeleton-color-grey-3);
3
- --conduction-input-select-border-focus: 2px dashed var(--skeleton-color-grey-5);
4
- }
5
-
6
- .select > div {
7
- background-color: var(--skeleton-color-white);
8
- border: var(--conduction-input-select-border);
9
- border-radius: var(--skeleton-border-radius-md);
10
- box-sizing: border-box;
11
- padding-block-start: var(--skeleton-size-xs);
12
- padding-block-end: var(--skeleton-size-xs);
13
- }
14
-
15
- .select.error > div {
16
- border-color: var(
17
- --utrecht-textbox-invalid-border-color,
18
- var(--utrecht-form-input-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color)))
19
- );
20
- }
21
-
22
- .select .select > div:focus-within {
23
- outline: none;
24
- box-shadow: none;
25
- }
26
-
27
- .select > div:focus-within::after {
28
- content: "";
29
- display: block;
30
- position: absolute;
31
- pointer-events: none;
32
- bottom: calc(var(--skeleton-size-2xs) * -1);
33
- left: calc(var(--skeleton-size-2xs) * -1);
34
- right: calc(var(--skeleton-size-2xs) * -1);
35
- top: calc(var(--skeleton-size-2xs) * -1);
36
- border: var(--conduction-input-select-border-focus);
37
- border-radius: var(--skeleton-border-radius-md);
38
- }
1
+ :root {
2
+ --conduction-input-select-border: 1px solid var(--skeleton-color-grey-3);
3
+ --conduction-input-select-border-focus: 2px dashed var(--skeleton-color-grey-5);
4
+ }
5
+
6
+ .select > div {
7
+ background-color: var(--skeleton-color-white);
8
+ border: var(--conduction-input-select-border);
9
+ border-radius: var(--skeleton-border-radius-md);
10
+ box-sizing: border-box;
11
+ padding-block-start: var(--skeleton-size-xs);
12
+ padding-block-end: var(--skeleton-size-xs);
13
+ }
14
+
15
+ .select.error > div {
16
+ border-color: var(
17
+ --utrecht-textbox-invalid-border-color,
18
+ var(--utrecht-form-input-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color)))
19
+ );
20
+ }
21
+
22
+ .select .select > div:focus-within {
23
+ outline: none;
24
+ box-shadow: none;
25
+ }
26
+
27
+ .select > div:focus-within::after {
28
+ content: "";
29
+ display: block;
30
+ position: absolute;
31
+ pointer-events: none;
32
+ bottom: calc(var(--skeleton-size-2xs) * -1);
33
+ left: calc(var(--skeleton-size-2xs) * -1);
34
+ right: calc(var(--skeleton-size-2xs) * -1);
35
+ top: calc(var(--skeleton-size-2xs) * -1);
36
+ border: var(--conduction-input-select-border-focus);
37
+ border-radius: var(--skeleton-border-radius-md);
38
+ }
@@ -15,7 +15,7 @@ interface ISelectProps {
15
15
  isClearable?: boolean;
16
16
  }
17
17
 
18
- export const SelectMultiple: React.FC<ISelectProps & IReactHookFormProps> = ({
18
+ export const SelectMultiple = ({
19
19
  name,
20
20
  options,
21
21
  errors,
@@ -23,7 +23,7 @@ export const SelectMultiple: React.FC<ISelectProps & IReactHookFormProps> = ({
23
23
  validation,
24
24
  defaultValue,
25
25
  disabled,
26
- }) => {
26
+ }: ISelectProps & IReactHookFormProps): JSX.Element => {
27
27
  return (
28
28
  <Controller
29
29
  {...{ control, name, defaultValue }}
@@ -46,7 +46,7 @@ export const SelectMultiple: React.FC<ISelectProps & IReactHookFormProps> = ({
46
46
  );
47
47
  };
48
48
 
49
- export const SelectCreate: React.FC<ISelectProps & IReactHookFormProps> = ({
49
+ export const SelectCreate = ({
50
50
  name,
51
51
  options,
52
52
  errors,
@@ -54,7 +54,7 @@ export const SelectCreate: React.FC<ISelectProps & IReactHookFormProps> = ({
54
54
  validation,
55
55
  defaultValue,
56
56
  disabled,
57
- }) => {
57
+ }: ISelectProps & IReactHookFormProps): JSX.Element => {
58
58
  return (
59
59
  <Controller
60
60
  {...{ control, name, defaultValue }}
@@ -77,7 +77,7 @@ export const SelectCreate: React.FC<ISelectProps & IReactHookFormProps> = ({
77
77
  );
78
78
  };
79
79
 
80
- export const SelectSingle: React.FC<ISelectProps & IReactHookFormProps> = ({
80
+ export const SelectSingle = ({
81
81
  name,
82
82
  options,
83
83
  errors,
@@ -86,7 +86,7 @@ export const SelectSingle: React.FC<ISelectProps & IReactHookFormProps> = ({
86
86
  isClearable,
87
87
  defaultValue,
88
88
  disabled,
89
- }) => {
89
+ }: ISelectProps & IReactHookFormProps): JSX.Element => {
90
90
  return (
91
91
  <Controller
92
92
  {...{ control, name, defaultValue }}
@@ -1,3 +1,3 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { TextArea } from "@gemeente-denhaag/textarea";
3
- export const Textarea = ({ name, validation, register, errors }) => (_jsx(TextArea, { ...register(name, { ...validation }), invalid: errors[name] }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { TextArea } from "@gemeente-denhaag/textarea";
3
+ export const Textarea = ({ name, validation, register, errors }) => (_jsx(TextArea, { ...register(name, { ...validation }), invalid: errors[name] }));
@@ -8,11 +8,13 @@ export interface ITextAreaProps {
8
8
  defaultValue?: string;
9
9
  }
10
10
 
11
- export const Textarea: React.FC<ITextAreaProps & IReactHookFormProps> = ({
11
+ export const Textarea = ({
12
12
  name,
13
13
  validation,
14
14
  register,
15
15
  errors,
16
16
  disabled,
17
17
  defaultValue,
18
- }) => <TextArea {...register(name, { ...validation })} {...{ disabled, defaultValue }} invalid={errors[name]} />;
18
+ }: ITextAreaProps & IReactHookFormProps): JSX.Element => (
19
+ <TextArea {...register(name, { ...validation })} {...{ disabled, defaultValue }} invalid={errors[name]} />
20
+ );
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,6 +1,6 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import clsx from "clsx";
3
- import * as styles from "./imageDivider.module.css";
4
- export const ImageDivider = ({ image, layoutClassName }) => {
5
- return _jsx("img", { src: image, className: clsx(styles.divider, layoutClassName) });
6
- };
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import clsx from "clsx";
3
+ import * as styles from "./imageDivider.module.css";
4
+ export const ImageDivider = ({ image, layoutClassName }) => {
5
+ return _jsx("img", { src: image, className: clsx(styles.divider, layoutClassName) });
6
+ };
@@ -7,6 +7,6 @@ interface ImageDividerProps {
7
7
  layoutClassName: string;
8
8
  }
9
9
 
10
- export const ImageDivider: React.FC<ImageDividerProps> = ({ image, layoutClassName }) => {
10
+ export const ImageDivider = ({ image, layoutClassName }: ImageDividerProps): JSX.Element => {
11
11
  return <img src={image} className={clsx(styles.divider, layoutClassName)} />;
12
12
  };
@@ -1,5 +1,5 @@
1
- .divider {
2
- display: block;
3
- object-fit: cover;
4
- width: 100%;
5
- }
1
+ .divider {
2
+ display: block;
3
+ object-fit: cover;
4
+ width: 100%;
5
+ }
@@ -1,10 +1,10 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import clsx from "clsx";
3
- import { Link } from "gatsby";
4
- import * as styles from "./Logo.module.css";
5
- export const AuthenticatedLogo = ({ layoutClassName, href }) => {
6
- return (_jsx(Link, { className: styles.logoContainer, to: href ?? "#", children: _jsx("div", { className: clsx(styles.authenticatedLogo, styles.logo, layoutClassName) }) }));
7
- };
8
- export const UnauthenticatedLogo = ({ layoutClassName, href }) => {
9
- return (_jsx(Link, { className: styles.logoContainer, to: href ?? "#", children: _jsx("div", { className: clsx(styles.unauthenticatedLogo, styles.logo, layoutClassName) }) }));
10
- };
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import clsx from "clsx";
3
+ import { Link } from "gatsby";
4
+ import * as styles from "./Logo.module.css";
5
+ export const AuthenticatedLogo = ({ layoutClassName, href }) => {
6
+ return (_jsx(Link, { className: styles.logoContainer, to: href ?? "#", children: _jsx("div", { className: clsx(styles.authenticatedLogo, styles.logo, layoutClassName) }) }));
7
+ };
8
+ export const UnauthenticatedLogo = ({ layoutClassName, href }) => {
9
+ return (_jsx(Link, { className: styles.logoContainer, to: href ?? "#", children: _jsx("div", { className: clsx(styles.unauthenticatedLogo, styles.logo, layoutClassName) }) }));
10
+ };
@@ -1,15 +1,15 @@
1
- .logoContainer {
2
- height: 100%;
3
- }
4
-
5
- .logo {
6
- background-size: 100% 100%;
7
- }
8
-
9
- .authenticatedLogo {
10
- background-image: var(--conduction-authenticated-logo-background);
11
- }
12
-
13
- .unauthenticatedLogo {
14
- background-image: var(--conduction-unauthenticated-logo-background);
15
- }
1
+ .logoContainer {
2
+ height: 100%;
3
+ }
4
+
5
+ .logo {
6
+ background-size: 100% 100%;
7
+ }
8
+
9
+ .authenticatedLogo {
10
+ background-image: var(--conduction-authenticated-logo-background);
11
+ }
12
+
13
+ .unauthenticatedLogo {
14
+ background-image: var(--conduction-unauthenticated-logo-background);
15
+ }
@@ -8,7 +8,7 @@ interface LogoProps {
8
8
  href?: string;
9
9
  }
10
10
 
11
- export const AuthenticatedLogo: React.FC<LogoProps> = ({ layoutClassName, href }) => {
11
+ export const AuthenticatedLogo = ({ layoutClassName, href }: LogoProps): JSX.Element => {
12
12
  return (
13
13
  <Link className={styles.logoContainer} to={href ?? "#"}>
14
14
  <div className={clsx(styles.authenticatedLogo, styles.logo, layoutClassName)} />
@@ -16,7 +16,7 @@ export const AuthenticatedLogo: React.FC<LogoProps> = ({ layoutClassName, href }
16
16
  );
17
17
  };
18
18
 
19
- export const UnauthenticatedLogo: React.FC<LogoProps> = ({ layoutClassName, href }) => {
19
+ export const UnauthenticatedLogo = ({ layoutClassName, href }: LogoProps): JSX.Element => {
20
20
  return (
21
21
  <Link className={styles.logoContainer} to={href ?? "#"}>
22
22
  <div className={clsx(styles.unauthenticatedLogo, styles.logo, layoutClassName)} />
@@ -1,3 +1,3 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as styles from "./MetaIcon.module.css";
3
- export const MetaIcon = ({ icon, label, value }) => (_jsxs("div", { className: styles.container, children: [_jsx("span", { className: styles.icon, children: icon }), _jsx("span", { children: label }), _jsx("span", { className: styles.value, children: value })] }));
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as styles from "./MetaIcon.module.css";
3
+ export const MetaIcon = ({ icon, label, value }) => (_jsxs("div", { className: styles.container, children: [_jsx("span", { className: styles.icon, children: icon }), _jsx("span", { children: label }), _jsx("span", { className: styles.value, children: value })] }));
@@ -1,29 +1,29 @@
1
- :root {
2
- --conduction-meta-icon-icon-size: var(--skeleton-size-lg);
3
- --conduction-meta-icon-icon-color: var(--skeleton-color-secondary-4);
4
- }
5
-
6
- .container {
7
- display: flex;
8
- align-items: center;
9
- flex-direction: column;
10
- }
11
-
12
- .container > *:not(:last-child) {
13
- margin-block-end: var(--skeleton-size-xs);
14
- }
15
-
16
- .icon {
17
- color: var(--conduction-meta-icon-icon-color);
18
- height: var(--conduction-meta-icon-icon-size);
19
- width: var(--conduction-meta-icon-icon-size);
20
- }
21
-
22
- .icon > svg {
23
- height: 100%;
24
- width: 100%;
25
- }
26
-
27
- .value {
28
- font-weight: var(--skeleton-font-weight-bold);
29
- }
1
+ :root {
2
+ --conduction-meta-icon-icon-size: var(--skeleton-size-lg);
3
+ --conduction-meta-icon-icon-color: var(--skeleton-color-secondary-4);
4
+ }
5
+
6
+ .container {
7
+ display: flex;
8
+ align-items: center;
9
+ flex-direction: column;
10
+ }
11
+
12
+ .container > *:not(:last-child) {
13
+ margin-block-end: var(--skeleton-size-xs);
14
+ }
15
+
16
+ .icon {
17
+ color: var(--conduction-meta-icon-icon-color);
18
+ height: var(--conduction-meta-icon-icon-size);
19
+ width: var(--conduction-meta-icon-icon-size);
20
+ }
21
+
22
+ .icon > svg {
23
+ height: 100%;
24
+ width: 100%;
25
+ }
26
+
27
+ .value {
28
+ font-weight: var(--skeleton-font-weight-bold);
29
+ }
@@ -7,7 +7,7 @@ export interface MetaIconProps {
7
7
  value: string;
8
8
  }
9
9
 
10
- export const MetaIcon: React.FC<MetaIconProps> = ({ icon, label, value }) => (
10
+ export const MetaIcon = ({ icon, label, value }: MetaIconProps): JSX.Element => (
11
11
  <div className={styles.container}>
12
12
  <span className={styles.icon}>{icon}</span>
13
13
 
@@ -25,7 +25,7 @@ export interface NotificationPopUpProps {
25
25
  layoutClassName?: string;
26
26
  }
27
27
 
28
- export const NotificationPopUp: React.FC<NotificationPopUpProps> = ({
28
+ export const NotificationPopUp = ({
29
29
  title,
30
30
  description,
31
31
  isVisible,
@@ -33,7 +33,7 @@ export const NotificationPopUp: React.FC<NotificationPopUpProps> = ({
33
33
  primaryButton,
34
34
  secondaryButton,
35
35
  layoutClassName,
36
- }) => {
36
+ }: NotificationPopUpProps): JSX.Element | null => {
37
37
  const [animationVisible, setAnimationVisible] = React.useState<boolean>(true);
38
38
 
39
39
  const animationDuration = parseInt(styles.animationDuration, 10);
@@ -1,15 +1,15 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import React from "react";
3
- import { navigate } from "gatsby";
4
- export const PrivateRoute = ({ children, isLoggedIn }) => {
5
- const [authenticated, setAuthenticated] = React.useState(false);
6
- React.useEffect(() => {
7
- if (!isLoggedIn && window.location.pathname !== "/login") {
8
- navigate("/login");
9
- }
10
- isLoggedIn && setAuthenticated(true);
11
- }, [isLoggedIn]);
12
- if (!authenticated)
13
- return _jsx(_Fragment, {});
14
- return _jsx(_Fragment, { children: children });
15
- };
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { navigate } from "gatsby";
4
+ export const PrivateRoute = ({ children, isLoggedIn }) => {
5
+ const [authenticated, setAuthenticated] = React.useState(false);
6
+ React.useEffect(() => {
7
+ if (!isLoggedIn && window.location.pathname !== "/login") {
8
+ navigate("/login");
9
+ }
10
+ isLoggedIn && setAuthenticated(true);
11
+ }, [isLoggedIn]);
12
+ if (!authenticated)
13
+ return _jsx(_Fragment, {});
14
+ return _jsx(_Fragment, { children: children });
15
+ };
@@ -5,7 +5,7 @@ interface PrivateRouteProps {
5
5
  authenticated: boolean;
6
6
  }
7
7
 
8
- export const PrivateRoute: React.FC<PrivateRouteProps> = ({ children, authenticated }) => {
8
+ export const PrivateRoute = ({ children, authenticated }: React.PropsWithChildren<PrivateRouteProps>): JSX.Element => {
9
9
  const [_authenticated, setAuthenticated] = React.useState<boolean>(false);
10
10
 
11
11
  React.useEffect(() => {