@conduction/components 2.2.26 → 2.2.28

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 (180) hide show
  1. package/README.md +3 -0
  2. package/lib/components/Pagination/Pagination.d.ts +14 -14
  3. package/lib/components/Pagination/Pagination.js +12 -12
  4. package/lib/components/badgeCounter/BadgeCounter.d.ts +8 -8
  5. package/lib/components/badgeCounter/BadgeCounter.js +4 -4
  6. package/lib/components/card/cardHeader/CardHeader.d.ts +4 -4
  7. package/lib/components/card/cardHeader/CardHeader.js +14 -14
  8. package/lib/components/card/cardWrapper/CardWrapper.d.ts +2 -2
  9. package/lib/components/card/cardWrapper/CardWrapper.js +6 -6
  10. package/lib/components/card/detailsCard/DetailsCard.d.ts +14 -14
  11. package/lib/components/card/detailsCard/DetailsCard.js +11 -11
  12. package/lib/components/card/downloadCard/DownloadCard.d.ts +11 -11
  13. package/lib/components/card/downloadCard/DownloadCard.js +9 -9
  14. package/lib/components/card/horizontalImageCard/HorizontalImageCard.d.ts +13 -13
  15. package/lib/components/card/horizontalImageCard/HorizontalImageCard.js +10 -10
  16. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.d.ts +14 -14
  17. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.js +10 -10
  18. package/lib/components/card/index.d.ts +8 -8
  19. package/lib/components/card/index.js +8 -8
  20. package/lib/components/card/infoCard/InfoCard.d.ts +8 -8
  21. package/lib/components/card/infoCard/InfoCard.js +6 -6
  22. package/lib/components/codeBlock/CodeBlock.d.ts +6 -6
  23. package/lib/components/codeBlock/CodeBlock.js +3 -3
  24. package/lib/components/container/Container.d.ts +6 -6
  25. package/lib/components/container/Container.js +4 -4
  26. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.d.ts +17 -17
  27. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.js +20 -20
  28. package/lib/components/displaySwitch/DisplaySwitch.d.ts +18 -18
  29. package/lib/components/displaySwitch/DisplaySwitch.js +13 -13
  30. package/lib/components/formFields/checkbox/checkbox.d.ts +9 -9
  31. package/lib/components/formFields/checkbox/checkbox.js +3 -3
  32. package/lib/components/formFields/createKeyValue/CreateKeyValue.d.ts +23 -23
  33. package/lib/components/formFields/createKeyValue/CreateKeyValue.js +40 -40
  34. package/lib/components/formFields/date/Date.d.ts +12 -12
  35. package/lib/components/formFields/date/Date.js +10 -10
  36. package/lib/components/formFields/errorMessage/ErrorMessage.d.ts +5 -5
  37. package/lib/components/formFields/errorMessage/ErrorMessage.js +3 -3
  38. package/lib/components/formFields/index.d.ts +7 -7
  39. package/lib/components/formFields/index.js +7 -7
  40. package/lib/components/formFields/input.d.ts +22 -22
  41. package/lib/components/formFields/input.js +12 -12
  42. package/lib/components/formFields/select/select.d.ts +24 -24
  43. package/lib/components/formFields/select/select.js +74 -74
  44. package/lib/components/formFields/textarea.d.ts +10 -10
  45. package/lib/components/formFields/textarea.js +4 -4
  46. package/lib/components/formFields/types.d.ts +6 -6
  47. package/lib/components/formFields/types.js +1 -1
  48. package/lib/components/horizontalOverflowWrapper/HorizontalOverflowWrapper.d.ts +10 -10
  49. package/lib/components/horizontalOverflowWrapper/HorizontalOverflowWrapper.js +36 -36
  50. package/lib/components/imageDivider/ImageDivider.d.ts +7 -7
  51. package/lib/components/imageDivider/ImageDivider.js +6 -6
  52. package/lib/components/jumbotron/Jumbotron.d.ts +23 -23
  53. package/lib/components/jumbotron/Jumbotron.js +34 -34
  54. package/lib/components/logo/Logo.d.ts +8 -8
  55. package/lib/components/logo/Logo.js +9 -9
  56. package/lib/components/metaIcon/MetaIcon.d.ts +7 -7
  57. package/lib/components/metaIcon/MetaIcon.js +3 -3
  58. package/lib/components/notificationPopUp/NotificationPopUp.d.ts +27 -27
  59. package/lib/components/notificationPopUp/NotificationPopUp.js +34 -34
  60. package/lib/components/privateRoute/PrivateRoute.d.ts +6 -6
  61. package/lib/components/privateRoute/PrivateRoute.js +15 -15
  62. package/lib/components/quoteWrapper/QuoteWrapper.d.ts +7 -7
  63. package/lib/components/quoteWrapper/QuoteWrapper.js +5 -5
  64. package/lib/components/tabs/Tabs.d.ts +5 -5
  65. package/lib/components/tabs/Tabs.js +49 -49
  66. package/lib/components/tag/Tag.d.ts +10 -10
  67. package/lib/components/tag/Tag.js +6 -6
  68. package/lib/components/toolTip/ToolTip.d.ts +14 -14
  69. package/lib/components/toolTip/ToolTip.js +14 -14
  70. package/lib/components/topNav/index.d.ts +3 -3
  71. package/lib/components/topNav/index.js +3 -3
  72. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.d.ts +39 -39
  73. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.js +23 -23
  74. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.d.ts +12 -12
  75. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.js +7 -7
  76. package/lib/index.d.ts +29 -29
  77. package/lib/index.js +22 -22
  78. package/package.json +17 -17
  79. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +222 -222
  80. package/src/components/formFields/checkbox/Checkbox.module.css +209 -3
  81. package/src/components/formFields/checkbox/checkbox.tsx +3 -2
  82. package/src/components/formFields/createKeyValue/CreateKeyValue.tsx +2 -2
  83. package/src/components/formFields/input.tsx +14 -14
  84. package/src/components/formFields/select/select.tsx +6 -6
  85. package/src/components/formFields/textarea.tsx +3 -2
  86. package/tsconfig.json +6 -3
  87. package/lib/components/Pagination/Pagination.module.css +0 -158
  88. package/lib/components/badgeCounter/BadgeCounter.module.css +0 -27
  89. package/lib/components/card/cardHeader/CardHeader.module.css +0 -36
  90. package/lib/components/card/cardWrapper/CardWrapper.module.css +0 -47
  91. package/lib/components/card/detailsCard/DetailsCard.module.css +0 -56
  92. package/lib/components/card/downloadCard/DownloadCard.module.css +0 -27
  93. package/lib/components/card/horizontalImageCard/HorizontalImageCard.module.css +0 -38
  94. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.module.css +0 -68
  95. package/lib/components/card/infoCard/InfoCard.module.css +0 -26
  96. package/lib/components/card/richContentCard/RichContentCard.d.ts +0 -19
  97. package/lib/components/card/richContentCard/RichContentCard.js +0 -15
  98. package/lib/components/card/richContentCard/RichContentCard.module.css +0 -103
  99. package/lib/components/codeBlock/CodeBlock.module.css +0 -6
  100. package/lib/components/container/Container.module.css +0 -12
  101. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +0 -222
  102. package/lib/components/denhaag-wrappers/pagination/Pagination.css +0 -120
  103. package/lib/components/denhaag-wrappers/pagination/Pagination.d.ts +0 -9
  104. package/lib/components/denhaag-wrappers/pagination/Pagination.js +0 -15
  105. package/lib/components/displaySwitch/DisplaySwitch.module.css +0 -3
  106. package/lib/components/editableTableRow/EditableTableRow.d.ts +0 -14
  107. package/lib/components/editableTableRow/EditableTableRow.js +0 -31
  108. package/lib/components/editableTableRow/EditableTableRow.module.css +0 -25
  109. package/lib/components/formFields/checkbox/Checkbox.module.css +0 -7
  110. package/lib/components/formFields/createKeyValue/CreateKeyValue.module.css +0 -65
  111. package/lib/components/formFields/date/Date.module.css +0 -12
  112. package/lib/components/formFields/errorMessage/ErrorMessage.module.css +0 -9
  113. package/lib/components/formFields/radio.d.ts +0 -9
  114. package/lib/components/formFields/radio.js +0 -3
  115. package/lib/components/formFields/select/select.module.css +0 -58
  116. package/lib/components/horizontalOverflowWrapper/HorizontalOverflowWrapper.module.css +0 -41
  117. package/lib/components/htmlParser/ParsedHTML.d.ts +0 -10
  118. package/lib/components/htmlParser/ParsedHTML.js +0 -17
  119. package/lib/components/htmlParser/ParsedHTML.module.css +0 -7
  120. package/lib/components/htmlParser/parser/alert/getAlert.d.ts +0 -1
  121. package/lib/components/htmlParser/parser/alert/getAlert.js +0 -18
  122. package/lib/components/htmlParser/parser/alert/getAlert.module.css +0 -28
  123. package/lib/components/htmlParser/parser/anchor/getAnchor.d.ts +0 -2
  124. package/lib/components/htmlParser/parser/anchor/getAnchor.js +0 -74
  125. package/lib/components/htmlParser/parser/code/getCode.d.ts +0 -1
  126. package/lib/components/htmlParser/parser/code/getCode.js +0 -11
  127. package/lib/components/htmlParser/parser/getBlockquote/getBlockquote.d.ts +0 -1
  128. package/lib/components/htmlParser/parser/getBlockquote/getBlockquote.js +0 -6
  129. package/lib/components/htmlParser/parser/header/getHeader.d.ts +0 -1
  130. package/lib/components/htmlParser/parser/header/getHeader.js +0 -15
  131. package/lib/components/htmlParser/parser/image/getImage.d.ts +0 -1
  132. package/lib/components/htmlParser/parser/image/getImage.js +0 -28
  133. package/lib/components/htmlParser/parser/list/getList.d.ts +0 -1
  134. package/lib/components/htmlParser/parser/list/getList.js +0 -12
  135. package/lib/components/htmlParser/parser/list/getList.module.css +0 -3
  136. package/lib/components/htmlParser/parser/listItem/getListItem.d.ts +0 -1
  137. package/lib/components/htmlParser/parser/listItem/getListItem.js +0 -12
  138. package/lib/components/htmlParser/parser/paragraph/getParagraph.d.ts +0 -1
  139. package/lib/components/htmlParser/parser/paragraph/getParagraph.js +0 -6
  140. package/lib/components/htmlParser/parser/svg/getSvg.d.ts +0 -1
  141. package/lib/components/htmlParser/parser/svg/getSvg.js +0 -8
  142. package/lib/components/htmlParser/parser/table/getTable.d.ts +0 -1
  143. package/lib/components/htmlParser/parser/table/getTable.js +0 -7
  144. package/lib/components/htmlParser/parser/table/getTable.module.css +0 -3
  145. package/lib/components/htmlParser/parser/tableBody/getTableBody.d.ts +0 -1
  146. package/lib/components/htmlParser/parser/tableBody/getTableBody.js +0 -7
  147. package/lib/components/htmlParser/parser/tableBody/getTableBody.module.css +0 -3
  148. package/lib/components/htmlParser/parser/tableCell/getTableCell.d.ts +0 -1
  149. package/lib/components/htmlParser/parser/tableCell/getTableCell.js +0 -7
  150. package/lib/components/htmlParser/parser/tableCell/getTableCell.module.css +0 -3
  151. package/lib/components/htmlParser/parser/tableHeader/getTableHeader.d.ts +0 -1
  152. package/lib/components/htmlParser/parser/tableHeader/getTableHeader.js +0 -7
  153. package/lib/components/htmlParser/parser/tableHeader/getTableHeader.module.css +0 -28
  154. package/lib/components/htmlParser/parser/tableHeaderCell/getTableHeaderCell.d.ts +0 -1
  155. package/lib/components/htmlParser/parser/tableHeaderCell/getTableHeaderCell.js +0 -6
  156. package/lib/components/htmlParser/parser/tableRow/getTableRow.d.ts +0 -1
  157. package/lib/components/htmlParser/parser/tableRow/getTableRow.js +0 -7
  158. package/lib/components/htmlParser/parser/tableRow/getTableRow.module.css +0 -29
  159. package/lib/components/htmlParser/parser/useHtmlParser.d.ts +0 -5
  160. package/lib/components/htmlParser/parser/useHtmlParser.js +0 -78
  161. package/lib/components/htmlParser/useGitHubDirectories.d.ts +0 -10
  162. package/lib/components/htmlParser/useGitHubDirectories.js +0 -31
  163. package/lib/components/imageDivider/imageDivider.module.css +0 -5
  164. package/lib/components/jumbotron/Jumbotron.module.css +0 -88
  165. package/lib/components/logo/Logo.module.css +0 -31
  166. package/lib/components/metaIcon/MetaIcon.module.css +0 -29
  167. package/lib/components/notificationPopUp/NotificationPopUp.module.css +0 -70
  168. package/lib/components/quoteWrapper/QuoteWrapper.module.css +0 -12
  169. package/lib/components/statusSteps/StatusSteps.d.ts +0 -13
  170. package/lib/components/statusSteps/StatusSteps.js +0 -5
  171. package/lib/components/tableWrapper/TableWrapper.d.ts +0 -4
  172. package/lib/components/tableWrapper/TableWrapper.js +0 -30
  173. package/lib/components/tableWrapper/TableWrapper.module.css +0 -67
  174. package/lib/components/tabs/Tabs.module.css +0 -247
  175. package/lib/components/tag/Tag.module.css +0 -44
  176. package/lib/components/toolTip/ToolTip.module.css +0 -35
  177. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.module.css +0 -235
  178. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +0 -80
  179. package/lib/custom.d copy.d.ts +0 -5
  180. package/lib/custom.d copy.js +0 -1
@@ -1,13 +1,13 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as styles from "./DisplaySwitch.module.css";
3
- import clsx from "clsx";
4
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
5
- import { Button, ButtonGroup } from "@utrecht/component-library-react/dist/css-module";
6
- const DisplaySwitch = ({ layoutClassName, buttons }) => {
7
- return (_jsx(ButtonGroup, { className: clsx(styles.displaySwitchButtons, [layoutClassName] && layoutClassName), children: buttons.map((button, idx) => {
8
- // TODO: Once the Rotterdam design system supports the "pressed" state,
9
- // remove the `appereance` switch, and use the same appearance for each button.
10
- return (_jsxs(Button, { pressed: button.pressed, appearance: button.pressed ? "secondary-action-button" : "subtle-button", onClick: button.handleClick, children: [button.icon && _jsx(FontAwesomeIcon, { icon: [button.icon.prefix, button.icon.name] }), _jsx("span", { children: button.label })] }, idx));
11
- }) }));
12
- };
13
- export default DisplaySwitch;
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as styles from "./DisplaySwitch.module.css";
3
+ import clsx from "clsx";
4
+ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
5
+ import { Button, ButtonGroup } from "@utrecht/component-library-react/dist/css-module";
6
+ const DisplaySwitch = ({ layoutClassName, buttons }) => {
7
+ return (_jsx(ButtonGroup, { className: clsx(styles.displaySwitchButtons, [layoutClassName] && layoutClassName), children: buttons.map((button, idx) => {
8
+ // TODO: Once the Rotterdam design system supports the "pressed" state,
9
+ // remove the `appereance` switch, and use the same appearance for each button.
10
+ return (_jsxs(Button, { pressed: button.pressed, appearance: button.pressed ? "secondary-action-button" : "subtle-button", onClick: button.handleClick, children: [button.icon && _jsx(FontAwesomeIcon, { icon: [button.icon.prefix, button.icon.name] }), _jsx("span", { children: button.label })] }, idx));
11
+ }) }));
12
+ };
13
+ export default DisplaySwitch;
@@ -1,9 +1,9 @@
1
- /// <reference types="react" />
2
- import { IReactHookFormProps } from "./../types";
3
- export interface ICheckboxProps {
4
- label: string;
5
- name: string;
6
- defaultChecked?: boolean;
7
- disabled?: boolean;
8
- }
9
- export declare const InputCheckbox: ({ name, validation, register, label, defaultChecked, disabled, }: ICheckboxProps & IReactHookFormProps) => JSX.Element;
1
+ /// <reference types="react" />
2
+ import { IReactHookFormProps } from "./../types";
3
+ export interface ICheckboxProps {
4
+ label: string;
5
+ name: string;
6
+ defaultChecked?: boolean;
7
+ disabled?: boolean;
8
+ }
9
+ export declare const InputCheckbox: ({ name, validation, register, label, defaultChecked, disabled, }: ICheckboxProps & IReactHookFormProps) => JSX.Element;
@@ -1,3 +1,3 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as styles from "./Checkbox.module.css";
3
- export const InputCheckbox = ({ name, validation, register, label, defaultChecked, disabled, }) => (_jsxs("div", { className: styles.container, children: [_jsx("input", { type: "checkbox", id: `checkbox${name}`, ...{ defaultChecked, disabled }, ...register(name, { ...validation }) }), _jsx("label", { htmlFor: `checkbox${name}`, children: label })] }));
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as styles from "./checkbox.module.css";
3
+ export const InputCheckbox = ({ name, validation, register, label, defaultChecked, disabled, }) => (_jsxs("div", { children: [_jsx("input", { type: "checkbox", id: `checkbox${name}`, defaultChecked, disabled, ...register(name, { ...validation }), className: styles.checkbox }), _jsx("label", { htmlFor: `checkbox${name}`, children: label })] }));
@@ -1,23 +1,23 @@
1
- /// <reference types="react" />
2
- import { Control, FieldValues } from "react-hook-form";
3
- import { IReactHookFormProps } from "../types";
4
- /**
5
- * Export KeyValue input component (wrapped in FormFieldGroup)
6
- */
7
- interface CreateKeyValueProps {
8
- name: string;
9
- control: Control<FieldValues, any>;
10
- defaultValue?: IKeyValue[];
11
- disabled?: boolean;
12
- copyValue?: {
13
- canCopy: boolean;
14
- onCopied?: () => any;
15
- };
16
- hideErrorMessage?: boolean;
17
- }
18
- export interface IKeyValue {
19
- key: string;
20
- value: string;
21
- }
22
- export declare const CreateKeyValue: ({ name, errors, control, validation, defaultValue, disabled, copyValue, hideErrorMessage, }: CreateKeyValueProps & IReactHookFormProps) => JSX.Element;
23
- export {};
1
+ /// <reference types="react" />
2
+ import { Control, FieldValues } from "react-hook-form";
3
+ import { IReactHookFormProps } from "../types";
4
+ /**
5
+ * Export KeyValue input component (wrapped in FormFieldGroup)
6
+ */
7
+ interface CreateKeyValueProps {
8
+ name: string;
9
+ control: Control<FieldValues, any>;
10
+ defaultValue?: IKeyValue[];
11
+ disabled?: boolean;
12
+ copyValue?: {
13
+ canCopy: boolean;
14
+ onCopied?: () => any;
15
+ };
16
+ hideErrorMessage?: boolean;
17
+ }
18
+ export interface IKeyValue {
19
+ key: string;
20
+ value: string;
21
+ }
22
+ export declare const CreateKeyValue: ({ name, errors, control, validation, defaultValue, disabled, copyValue, hideErrorMessage, }: CreateKeyValueProps & IReactHookFormProps) => JSX.Element;
23
+ export {};
@@ -1,40 +1,40 @@
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 "./CreateKeyValue.module.css";
4
- import { Controller } from "react-hook-form";
5
- import { Table, TableBody, TableCell, TableHeaderCell, TableHeader, TableRow, Textbox, Button, } from "@utrecht/component-library-react/dist/css-module";
6
- import clsx from "clsx";
7
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
8
- import { faCopy, faTrash } from "@fortawesome/free-solid-svg-icons";
9
- import { ErrorMessage } from "../errorMessage/ErrorMessage";
10
- export const CreateKeyValue = ({ name, errors, control, validation, defaultValue, disabled, copyValue, hideErrorMessage, }) => {
11
- return (_jsx(Controller, { ...{ control, name, errors }, rules: validation, render: ({ field: { onChange } }) => {
12
- return (_jsxs(_Fragment, { children: [_jsx(KeyValueComponent, { handleChange: onChange, ...{ defaultValue, errors, disabled, copyValue } }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
13
- } }));
14
- };
15
- const KeyValueComponent = ({ defaultValue, handleChange, disabled, copyValue, }) => {
16
- const [currentKey, setCurrentKey] = React.useState("");
17
- const [currentValue, setCurrentValue] = React.useState("");
18
- const [keyValues, setKeyValues] = React.useState(defaultValue ?? []);
19
- const [currentCopyIdx, setCurrentCopyIdx] = React.useState();
20
- const currentKeyRef = React.useRef(null);
21
- const currentValueRef = React.useRef(null);
22
- const handleCreate = () => {
23
- const keyValue = { key: currentKey, value: currentValue };
24
- setCurrentKey("");
25
- setCurrentValue("");
26
- setKeyValues([...keyValues, keyValue]);
27
- };
28
- const handleCopyToClipboard = (value, id) => {
29
- navigator.clipboard.writeText(value);
30
- setCurrentCopyIdx(id);
31
- copyValue?.onCopied && copyValue.onCopied();
32
- };
33
- React.useEffect(() => {
34
- defaultValue && setKeyValues(defaultValue);
35
- }, [defaultValue]);
36
- React.useEffect(() => {
37
- handleChange(keyValues);
38
- }, [keyValues]);
39
- return (_jsxs("div", { className: styles.keyValue, children: [keyValues && (_jsxs(Table, { className: styles.table, children: [_jsx(TableHeader, { className: styles.tableHeader, children: _jsxs(TableRow, { children: [_jsx(TableHeaderCell, { children: "Key" }), _jsx(TableHeaderCell, { children: "Value" }), _jsx(TableHeaderCell, {})] }) }), _jsx(TableBody, { children: keyValues.map((keyValue, idx) => (_jsxs(TableRow, { children: [_jsx(TableCell, { children: keyValue.key }), _jsx(TableCell, { children: keyValue.value }), _jsx(TableCell, { children: _jsxs("div", { className: styles.buttonsContainer, children: [copyValue && (_jsx(Button, { ...{ disabled }, onClick: () => handleCopyToClipboard(keyValue.value, idx), appearance: currentCopyIdx === idx ? "secondary-action-button" : "primary-action-button", children: _jsx(FontAwesomeIcon, { icon: faCopy }) })), _jsx(Button, { ...{ disabled }, onClick: () => setKeyValues(keyValues.filter((_keyValue) => _keyValue !== keyValue)), className: clsx(styles.deleteButton), children: _jsx(FontAwesomeIcon, { icon: faTrash }) })] }) })] }, `${keyValue.key}${keyValue.value}${idx}`))) })] })), _jsxs("div", { className: styles.form, children: [_jsx(Textbox, { type: "text", placeholder: "Key", value: currentKey, ref: currentKeyRef, onChange: (e) => setCurrentKey(e.target.value), ...{ disabled } }), _jsx(Textbox, { type: "text", placeholder: "Value", value: currentValue, ref: currentValueRef, onChange: (e) => setCurrentValue(e.target.value), ...{ disabled } }), _jsx(Button, { onClick: handleCreate, disabled: !currentKey || !currentValue || disabled, children: "Add" })] })] }));
40
- };
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 "./CreateKeyValue.module.css";
4
+ import clsx from "clsx";
5
+ import { Controller } from "react-hook-form";
6
+ import { Table, TableBody, TableCell, TableHeaderCell, TableHeader, TableRow, Textbox, Button, } from "@utrecht/component-library-react/dist/css-module";
7
+ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
8
+ import { faCopy, faTrash } from "@fortawesome/free-solid-svg-icons";
9
+ import { ErrorMessage } from "../errorMessage/ErrorMessage";
10
+ export const CreateKeyValue = ({ name, errors, control, validation, defaultValue, disabled, copyValue, hideErrorMessage, }) => {
11
+ return (_jsx(Controller, { control, name, errors, rules: validation, render: ({ field: { onChange } }) => {
12
+ return (_jsxs(_Fragment, { children: [_jsx(KeyValueComponent, { handleChange: onChange, defaultValue, errors, disabled, copyValue }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
13
+ } }));
14
+ };
15
+ const KeyValueComponent = ({ defaultValue, handleChange, disabled, copyValue, }) => {
16
+ const [currentKey, setCurrentKey] = React.useState("");
17
+ const [currentValue, setCurrentValue] = React.useState("");
18
+ const [keyValues, setKeyValues] = React.useState(defaultValue ?? []);
19
+ const [currentCopyIdx, setCurrentCopyIdx] = React.useState();
20
+ const currentKeyRef = React.useRef(null);
21
+ const currentValueRef = React.useRef(null);
22
+ const handleCreate = () => {
23
+ const keyValue = { key: currentKey, value: currentValue };
24
+ setCurrentKey("");
25
+ setCurrentValue("");
26
+ setKeyValues([...keyValues, keyValue]);
27
+ };
28
+ const handleCopyToClipboard = (value, id) => {
29
+ navigator.clipboard.writeText(value);
30
+ setCurrentCopyIdx(id);
31
+ copyValue?.onCopied && copyValue.onCopied();
32
+ };
33
+ React.useEffect(() => {
34
+ defaultValue && setKeyValues(defaultValue);
35
+ }, [defaultValue]);
36
+ React.useEffect(() => {
37
+ handleChange(keyValues);
38
+ }, [keyValues]);
39
+ return (_jsxs("div", { className: styles.keyValue, children: [keyValues && (_jsxs(Table, { className: styles.table, children: [_jsx(TableHeader, { className: styles.tableHeader, children: _jsxs(TableRow, { children: [_jsx(TableHeaderCell, { children: "Key" }), _jsx(TableHeaderCell, { children: "Value" }), _jsx(TableHeaderCell, {})] }) }), _jsx(TableBody, { children: keyValues.map((keyValue, idx) => (_jsxs(TableRow, { children: [_jsx(TableCell, { children: keyValue.key }), _jsx(TableCell, { children: keyValue.value }), _jsx(TableCell, { children: _jsxs("div", { className: styles.buttonsContainer, children: [copyValue && (_jsx(Button, { disabled, onClick: () => handleCopyToClipboard(keyValue.value, idx), appearance: currentCopyIdx === idx ? "secondary-action-button" : "primary-action-button", children: _jsx(FontAwesomeIcon, { icon: faCopy }) })), _jsx(Button, { disabled, onClick: () => setKeyValues(keyValues.filter((_keyValue) => _keyValue !== keyValue)), className: clsx(styles.deleteButton), children: _jsx(FontAwesomeIcon, { icon: faTrash }) })] }) })] }, `${keyValue.key}${keyValue.value}${idx}`))) })] })), _jsxs("div", { className: styles.form, children: [_jsx(Textbox, { type: "text", placeholder: "Key", value: currentKey, ref: currentKeyRef, onChange: (e) => setCurrentKey(e.target.value), disabled }), _jsx(Textbox, { type: "text", placeholder: "Value", value: currentValue, ref: currentValueRef, onChange: (e) => setCurrentValue(e.target.value), disabled }), _jsx(Button, { onClick: handleCreate, disabled: !currentKey || !currentValue || disabled, children: "Add" })] })] }));
40
+ };
@@ -1,12 +1,12 @@
1
- /// <reference types="react" />
2
- import "react-datepicker/dist/react-datepicker.css";
3
- import { Control, FieldValues } from "react-hook-form";
4
- import { IReactHookFormProps } from "../types";
5
- interface IDateProps {
6
- control: Control<FieldValues, any>;
7
- name: string;
8
- showTimeSelect?: boolean;
9
- disabled?: boolean;
10
- }
11
- export declare const InputDate: ({ name, errors, control, validation, disabled, }: IDateProps & IReactHookFormProps) => JSX.Element;
12
- export {};
1
+ /// <reference types="react" />
2
+ import "react-datepicker/dist/react-datepicker.css";
3
+ import { Control, FieldValues } from "react-hook-form";
4
+ import { IReactHookFormProps } from "../types";
5
+ interface IDateProps {
6
+ control: Control<FieldValues, any>;
7
+ name: string;
8
+ showTimeSelect?: boolean;
9
+ disabled?: boolean;
10
+ }
11
+ export declare const InputDate: ({ name, errors, control, validation, disabled, }: IDateProps & IReactHookFormProps) => JSX.Element;
12
+ export {};
@@ -1,10 +1,10 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import "react-datepicker/dist/react-datepicker.css";
3
- import * as styles from "./Date.module.css";
4
- import { Controller } from "react-hook-form";
5
- import DatePicker from "react-datepicker";
6
- export const InputDate = ({ name, errors, control, validation, disabled, }) => {
7
- return (_jsx(Controller, { ...{ control, name }, rules: validation, render: ({ field: { onChange, value } }) => {
8
- return (_jsx(DatePicker, { calendarClassName: styles.calendar, className: "denhaag-datepicker__input", onChange: (date) => onChange(date), dateFormat: "d-MM-yyyy HH:mm", timeFormat: "HH:mm", selected: value, timeIntervals: 1, showTimeSelect: true, ...{ errors, value, disabled } }));
9
- } }));
10
- };
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import "react-datepicker/dist/react-datepicker.css";
3
+ import * as styles from "./Date.module.css";
4
+ import { Controller } from "react-hook-form";
5
+ import DatePicker from "react-datepicker";
6
+ export const InputDate = ({ name, errors, control, validation, disabled, }) => {
7
+ return (_jsx(Controller, { control, name, rules: validation, render: ({ field: { onChange, value } }) => {
8
+ return (_jsx(DatePicker, { calendarClassName: styles.calendar, className: "denhaag-datepicker__input", onChange: (date) => onChange(date), dateFormat: "d-MM-yyyy HH:mm", timeFormat: "HH:mm", selected: value, timeIntervals: 1, showTimeSelect: true, errors, value, disabled }));
9
+ } }));
10
+ };
@@ -1,5 +1,5 @@
1
- /// <reference types="react" />
2
- export interface IErrorMessageProps {
3
- message: string;
4
- }
5
- export declare const ErrorMessage: ({ message }: IErrorMessageProps) => JSX.Element;
1
+ /// <reference types="react" />
2
+ export interface IErrorMessageProps {
3
+ message: string;
4
+ }
5
+ export declare const ErrorMessage: ({ message }: IErrorMessageProps) => JSX.Element;
@@ -1,3 +1,3 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as styles from "./ErrorMessage.module.css";
3
- export const ErrorMessage = ({ message }) => (_jsx("span", { className: styles.message, children: message }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as styles from "./ErrorMessage.module.css";
3
+ export const ErrorMessage = ({ message }) => (_jsx("span", { className: styles.message, children: message }));
@@ -1,7 +1,7 @@
1
- import { InputText, InputPassword, InputEmail, InputURL, InputNumber, InputFile } from "./input";
2
- import { Textarea } from "./textarea";
3
- import { InputCheckbox } from "./checkbox/checkbox";
4
- import { SelectSingle, SelectMultiple, SelectCreate } from "./select/select";
5
- import { CreateKeyValue, IKeyValue } from "./createKeyValue/CreateKeyValue";
6
- import { InputDate } from "./date/Date";
7
- export { InputText, InputPassword, InputEmail, InputURL, InputDate, InputNumber, InputCheckbox, InputFile, Textarea, SelectSingle, SelectMultiple, SelectCreate, CreateKeyValue, IKeyValue, };
1
+ import { InputText, InputPassword, InputEmail, InputURL, InputNumber, InputFile } from "./input";
2
+ import { Textarea } from "./textarea";
3
+ import { InputCheckbox } from "./checkbox/checkbox";
4
+ import { SelectSingle, SelectMultiple, SelectCreate } from "./select/select";
5
+ import { CreateKeyValue, IKeyValue } from "./createKeyValue/CreateKeyValue";
6
+ import { InputDate } from "./date/Date";
7
+ export { InputText, InputPassword, InputEmail, InputURL, InputDate, InputNumber, InputCheckbox, InputFile, Textarea, SelectSingle, SelectMultiple, SelectCreate, CreateKeyValue, IKeyValue, };
@@ -1,7 +1,7 @@
1
- import { InputText, InputPassword, InputEmail, InputURL, InputNumber, InputFile } from "./input";
2
- import { Textarea } from "./textarea";
3
- import { InputCheckbox } from "./checkbox/checkbox";
4
- import { SelectSingle, SelectMultiple, SelectCreate } from "./select/select";
5
- import { CreateKeyValue } from "./createKeyValue/CreateKeyValue";
6
- import { InputDate } from "./date/Date";
7
- export { InputText, InputPassword, InputEmail, InputURL, InputDate, InputNumber, InputCheckbox, InputFile, Textarea, SelectSingle, SelectMultiple, SelectCreate, CreateKeyValue, };
1
+ import { InputText, InputPassword, InputEmail, InputURL, InputNumber, InputFile } from "./input";
2
+ import { Textarea } from "./textarea";
3
+ import { InputCheckbox } from "./checkbox/checkbox";
4
+ import { SelectSingle, SelectMultiple, SelectCreate } from "./select/select";
5
+ import { CreateKeyValue } from "./createKeyValue/CreateKeyValue";
6
+ import { InputDate } from "./date/Date";
7
+ export { InputText, InputPassword, InputEmail, InputURL, InputDate, InputNumber, InputCheckbox, InputFile, Textarea, SelectSingle, SelectMultiple, SelectCreate, CreateKeyValue, };
@@ -1,22 +1,22 @@
1
- import * as React from "react";
2
- import { IReactHookFormProps } from "./types";
3
- export interface IInputProps {
4
- name: string;
5
- ariaLabel: string;
6
- disabled?: boolean;
7
- defaultValue?: string;
8
- icon?: JSX.Element;
9
- placeholder?: string;
10
- hideErrorMessage?: boolean;
11
- }
12
- export declare const InputPassword: React.FC<IInputProps & IReactHookFormProps>;
13
- export declare const InputText: React.FC<IInputProps & IReactHookFormProps>;
14
- export declare const InputEmail: React.FC<IInputProps & IReactHookFormProps>;
15
- export declare const InputURL: React.FC<IInputProps & IReactHookFormProps>;
16
- export declare const InputNumber: React.FC<IInputProps & IReactHookFormProps>;
17
- export declare const InputFloat: React.FC<IInputProps & IReactHookFormProps>;
18
- interface IInputFileProps {
19
- accept?: string;
20
- }
21
- export declare const InputFile: React.FC<IInputFileProps & IInputProps & IReactHookFormProps>;
22
- export {};
1
+ import * as React from "react";
2
+ import { IReactHookFormProps } from "./types";
3
+ export interface IInputProps {
4
+ name: string;
5
+ ariaLabel: string;
6
+ disabled?: boolean;
7
+ defaultValue?: string;
8
+ icon?: JSX.Element;
9
+ placeholder?: string;
10
+ hideErrorMessage?: boolean;
11
+ }
12
+ export declare const InputPassword: React.FC<IInputProps & IReactHookFormProps>;
13
+ export declare const InputText: React.FC<IInputProps & IReactHookFormProps>;
14
+ export declare const InputEmail: React.FC<IInputProps & IReactHookFormProps>;
15
+ export declare const InputURL: React.FC<IInputProps & IReactHookFormProps>;
16
+ export declare const InputNumber: React.FC<IInputProps & IReactHookFormProps>;
17
+ export declare const InputFloat: React.FC<IInputProps & IReactHookFormProps>;
18
+ interface IInputFileProps {
19
+ accept?: string;
20
+ }
21
+ export declare const InputFile: React.FC<IInputFileProps & IInputProps & IReactHookFormProps>;
22
+ export {};
@@ -1,12 +1,12 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Textbox } from "@utrecht/component-library-react/dist/css-module";
3
- import { ErrorMessage } from "./errorMessage/ErrorMessage";
4
- export const InputPassword = ({ disabled, name, validation, register, placeholder, errors, hideErrorMessage, ariaLabel, }) => {
5
- return (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "password", ...{ disabled, placeholder }, ...register(name, { ...validation }), invalid: errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
6
- };
7
- export const InputText = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "text", ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation }), invalid: errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
8
- export const InputEmail = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "email", required: !!validation?.required, ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation }), invalid: errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
9
- export const InputURL = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "url", ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation }), invalid: errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
10
- export const InputNumber = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "number", ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation, valueAsNumber: true }), invalid: errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
11
- export const InputFloat = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "number", step: ".01", ...{ disabled, placeholder, icon, defaultValue }, ...register(name, { ...validation, valueAsNumber: true }), invalid: errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
12
- export const InputFile = ({ disabled, name, accept, defaultValue, validation, register, ariaLabel, }) => (_jsx("input", { className: "denhaag-Textbox__input", type: "file", ...{ defaultValue, disabled, accept }, ...register(name, { ...validation }), "aria-label": ariaLabel }));
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Textbox } from "@utrecht/component-library-react/dist/css-module";
3
+ import { ErrorMessage } from "./errorMessage/ErrorMessage";
4
+ export const InputPassword = ({ disabled, name, validation, register, placeholder, errors, hideErrorMessage, ariaLabel, }) => {
5
+ return (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "password", disabled, placeholder, ...register(name, { ...validation }), invalid: !!errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
6
+ };
7
+ export const InputText = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "text", defaultValue, disabled, placeholder, icon, ...register(name, { ...validation }), invalid: !!errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
8
+ export const InputEmail = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "email", required: !!validation?.required, defaultValue, disabled, placeholder, icon, ...register(name, { ...validation }), invalid: !!errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
9
+ export const InputURL = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "url", defaultValue, disabled, placeholder, icon, ...register(name, { ...validation }), invalid: !!errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
10
+ export const InputNumber = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "number", defaultValue, disabled, placeholder, icon, ...register(name, { ...{ validation }, valueAsNumber: true }), invalid: !!errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
11
+ export const InputFloat = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "number", step: ".01", disabled, placeholder, icon, defaultValue, ...register(name, { ...{ validation }, valueAsNumber: true }), invalid: !!errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
12
+ export const InputFile = ({ disabled, name, accept, defaultValue, validation, register, ariaLabel, }) => (_jsx("input", { className: "denhaag-Textbox__input", type: "file", defaultValue, disabled, accept, ...register(name, { ...validation }), "aria-label": ariaLabel }));
@@ -1,24 +1,24 @@
1
- /// <reference types="react" />
2
- import { Control, FieldValues } from "react-hook-form";
3
- import { MenuPlacement } from "react-select";
4
- import { IReactHookFormProps } from "../types";
5
- interface ISelectProps {
6
- control: Control<FieldValues, any>;
7
- options: {
8
- label: string;
9
- value: string;
10
- }[];
11
- name: string;
12
- ariaLabel: string;
13
- id?: string;
14
- defaultValue?: any;
15
- disabled?: boolean;
16
- isClearable?: boolean;
17
- hideErrorMessage?: boolean;
18
- menuPlacement?: MenuPlacement;
19
- placeholder?: string;
20
- }
21
- export declare const SelectMultiple: ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }: ISelectProps & IReactHookFormProps) => JSX.Element;
22
- export declare const SelectCreate: ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }: ISelectProps & IReactHookFormProps) => JSX.Element;
23
- export declare const SelectSingle: ({ id, name, options, errors, control, validation, isClearable, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }: ISelectProps & IReactHookFormProps) => JSX.Element;
24
- export {};
1
+ /// <reference types="react" />
2
+ import { MenuPlacement } from "react-select";
3
+ import { Control, FieldValues } from "react-hook-form";
4
+ import { IReactHookFormProps } from "../types";
5
+ interface ISelectProps {
6
+ control: Control<FieldValues, any>;
7
+ options: {
8
+ label: string;
9
+ value: string;
10
+ }[];
11
+ name: string;
12
+ ariaLabel: string;
13
+ id?: string;
14
+ defaultValue?: any;
15
+ disabled?: boolean;
16
+ isClearable?: boolean;
17
+ hideErrorMessage?: boolean;
18
+ menuPlacement?: MenuPlacement;
19
+ placeholder?: string;
20
+ }
21
+ export declare const SelectMultiple: ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }: ISelectProps & IReactHookFormProps) => JSX.Element;
22
+ export declare const SelectCreate: ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }: ISelectProps & IReactHookFormProps) => JSX.Element;
23
+ export declare const SelectSingle: ({ id, name, options, errors, control, validation, isClearable, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }: ISelectProps & IReactHookFormProps) => JSX.Element;
24
+ export {};
@@ -1,74 +1,74 @@
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 "./select.module.css";
4
- import { Controller } from "react-hook-form";
5
- import ReactSelect from "react-select";
6
- import CreatableSelect from "react-select/creatable";
7
- import clsx from "clsx";
8
- import { ErrorMessage } from "../errorMessage/ErrorMessage";
9
- const selectStyles = {
10
- menuPortal: (base) => ({ ...base, zIndex: 100 }),
11
- option: (base, state) => ({
12
- ...base,
13
- fontFamily: `var(--conduction-input-select-list-option-font-family, ${base.fontFamily})`,
14
- backgroundColor: [
15
- state.isFocused
16
- ? `var(--conduction-input-select-list-option-focus-background-color, ${base.backgroundColor})`
17
- : state.isSelected
18
- ? `var(--conduction-input-select-list-option-selected-background-color, ${base.backgroundColor})`
19
- : `var(--conduction-input-select-list-option-background-color, ${base.backgroundColor})`,
20
- ],
21
- color: [
22
- state.isFocused
23
- ? `var(--conduction-input-select-list-option-focus-color, ${base.color})`
24
- : state.isSelected
25
- ? `var(--conduction-input-select-list-option-selected-color, ${base.color})`
26
- : `var(--conduction-input-select-list-option-color, ${base.color})`,
27
- ],
28
- "&:hover": {
29
- backgroundColor: `var(--conduction-input-select-list-option-hover-background-color, ${base.backgroundColor})`,
30
- color: `var(--conduction-input-select-list-option-hover-color, ${base.color})`,
31
- fontFamily: `var(--conduction-input-select-list-option-hover-font-family, var(--conduction-input-select-list-option-font-family, ${base.fontFamily}))`,
32
- },
33
- }),
34
- placeholder: (base) => ({
35
- ...base,
36
- fontFamily: `var(--conduction-input-select-placeholder-font-family, var(--utrecht-form-input-placeholder-font-family, ${base.fontFamily}))`,
37
- color: `var(--conduction-input-select-placeholder-color, var(--utrecht-form-input-placeholder-color, ${base.color}) )`,
38
- }),
39
- };
40
- const setAttributes = () => {
41
- const setRoleToPresentation = (selector, role) => {
42
- document.querySelectorAll(selector).forEach((element) => {
43
- if (element.getAttribute("role") !== "presentation")
44
- element.setAttribute("role", role);
45
- });
46
- };
47
- setRoleToPresentation('[id*="live-region"]', "presentation");
48
- setRoleToPresentation('[class*="indicatorSeparator"]', "separator");
49
- setRoleToPresentation('[class*="a11yText"]', "presentation");
50
- };
51
- export const SelectMultiple = ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }) => {
52
- React.useEffect(() => {
53
- setAttributes();
54
- }, []);
55
- return (_jsx(Controller, { ...{ control, name, defaultValue }, rules: validation, render: ({ field: { onChange, value } }) => {
56
- return (_jsxs(_Fragment, { children: [_jsx(ReactSelect, { "aria-label": ariaLabel, inputId: id, value: value ?? "", className: clsx(styles.select, errors[name] && styles.error), isMulti: true, isDisabled: disabled, ...{ options, onChange, errors }, menuPortalTarget: document.body, menuPlacement: menuPlacement, styles: selectStyles, placeholder: disabled ? "Disabled..." : placeholder ?? "Select one or more options..." }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
57
- } }));
58
- };
59
- export const SelectCreate = ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }) => {
60
- React.useEffect(() => {
61
- setAttributes();
62
- }, []);
63
- return (_jsx(Controller, { ...{ control, name, defaultValue }, rules: validation, render: ({ field: { onChange, value } }) => {
64
- return (_jsxs(_Fragment, { children: [_jsx(CreatableSelect, { "aria-label": ariaLabel, inputId: id, value: value ?? "", placeholder: disabled ? "Disabled..." : placeholder ?? "Select one or more options...", className: clsx(styles.select, errors[name] && styles.error), isMulti: true, isDisabled: disabled, ...{ options, onChange, errors }, menuPortalTarget: document.body, menuPlacement: menuPlacement, styles: selectStyles }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
65
- } }));
66
- };
67
- export const SelectSingle = ({ id, name, options, errors, control, validation, isClearable, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }) => {
68
- React.useEffect(() => {
69
- setAttributes();
70
- }, []);
71
- return (_jsx(Controller, { ...{ control, name, defaultValue }, rules: validation, render: ({ field: { onChange, value } }) => {
72
- return (_jsxs(_Fragment, { children: [_jsx(ReactSelect, { "aria-label": ariaLabel, inputId: id, value: value ?? "", className: clsx(styles.select, errors[name] && styles.error), isDisabled: disabled, ...{ options, onChange, errors, isClearable }, menuPortalTarget: document.body, menuPlacement: menuPlacement, styles: selectStyles, placeholder: disabled ? "Disabled..." : placeholder ?? "Select one or more options..." }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
73
- } }));
74
- };
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 "./select.module.css";
4
+ import clsx from "clsx";
5
+ import CreatableSelect from "react-select/creatable";
6
+ import ReactSelect from "react-select";
7
+ import { Controller } from "react-hook-form";
8
+ import { ErrorMessage } from "../errorMessage/ErrorMessage";
9
+ const selectStyles = {
10
+ menuPortal: (base) => ({ ...base, zIndex: 100 }),
11
+ option: (base, state) => ({
12
+ ...base,
13
+ fontFamily: `var(--conduction-input-select-list-option-font-family, ${base.fontFamily})`,
14
+ backgroundColor: [
15
+ state.isFocused
16
+ ? `var(--conduction-input-select-list-option-focus-background-color, ${base.backgroundColor})`
17
+ : state.isSelected
18
+ ? `var(--conduction-input-select-list-option-selected-background-color, ${base.backgroundColor})`
19
+ : `var(--conduction-input-select-list-option-background-color, ${base.backgroundColor})`,
20
+ ],
21
+ color: [
22
+ state.isFocused
23
+ ? `var(--conduction-input-select-list-option-focus-color, ${base.color})`
24
+ : state.isSelected
25
+ ? `var(--conduction-input-select-list-option-selected-color, ${base.color})`
26
+ : `var(--conduction-input-select-list-option-color, ${base.color})`,
27
+ ],
28
+ "&:hover": {
29
+ backgroundColor: `var(--conduction-input-select-list-option-hover-background-color, ${base.backgroundColor})`,
30
+ color: `var(--conduction-input-select-list-option-hover-color, ${base.color})`,
31
+ fontFamily: `var(--conduction-input-select-list-option-hover-font-family, var(--conduction-input-select-list-option-font-family, ${base.fontFamily}))`,
32
+ },
33
+ }),
34
+ placeholder: (base) => ({
35
+ ...base,
36
+ fontFamily: `var(--conduction-input-select-placeholder-font-family, var(--utrecht-form-input-placeholder-font-family, ${base.fontFamily}))`,
37
+ color: `var(--conduction-input-select-placeholder-color, var(--utrecht-form-input-placeholder-color, ${base.color}) )`,
38
+ }),
39
+ };
40
+ const setAttributes = () => {
41
+ const setRoleToPresentation = (selector, role) => {
42
+ document.querySelectorAll(selector).forEach((element) => {
43
+ if (element.getAttribute("role") !== "presentation")
44
+ element.setAttribute("role", role);
45
+ });
46
+ };
47
+ setRoleToPresentation('[id*="live-region"]', "presentation");
48
+ setRoleToPresentation('[class*="indicatorSeparator"]', "separator");
49
+ setRoleToPresentation('[class*="a11yText"]', "presentation");
50
+ };
51
+ export const SelectMultiple = ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }) => {
52
+ React.useEffect(() => {
53
+ setAttributes();
54
+ }, []);
55
+ return (_jsx(Controller, { control, name, defaultValue, rules: validation, render: ({ field: { onChange, value } }) => {
56
+ return (_jsxs(_Fragment, { children: [_jsx(ReactSelect, { "aria-label": ariaLabel, inputId: id, value: value ?? "", className: clsx(styles.select, errors[name] && styles.error), isMulti: true, isDisabled: disabled, options, onChange, errors, menuPortalTarget: document.body, menuPlacement: menuPlacement, styles: selectStyles, placeholder: disabled ? "Disabled..." : placeholder ?? "Select one or more options..." }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
57
+ } }));
58
+ };
59
+ export const SelectCreate = ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }) => {
60
+ React.useEffect(() => {
61
+ setAttributes();
62
+ }, []);
63
+ return (_jsx(Controller, { control, name, defaultValue, rules: validation, render: ({ field: { onChange, value } }) => {
64
+ return (_jsxs(_Fragment, { children: [_jsx(CreatableSelect, { "aria-label": ariaLabel, inputId: id, value: value ?? "", placeholder: disabled ? "Disabled..." : placeholder ?? "Select one or more options...", className: clsx(styles.select, errors[name] && styles.error), isMulti: true, isDisabled: disabled, options, onChange, errors, menuPortalTarget: document.body, menuPlacement: menuPlacement, styles: selectStyles }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
65
+ } }));
66
+ };
67
+ export const SelectSingle = ({ id, name, options, errors, control, validation, isClearable, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, ariaLabel, }) => {
68
+ React.useEffect(() => {
69
+ setAttributes();
70
+ }, []);
71
+ return (_jsx(Controller, { control, name, defaultValue, rules: validation, render: ({ field: { onChange, value } }) => {
72
+ return (_jsxs(_Fragment, { children: [_jsx(ReactSelect, { "aria-label": ariaLabel, inputId: id, value: value ?? "", className: clsx(styles.select, errors[name] && styles.error), isDisabled: disabled, options, onChange, errors, isClearable, menuPortalTarget: document.body, menuPlacement: menuPlacement, styles: selectStyles, placeholder: disabled ? "Disabled..." : placeholder ?? "Select one or more options..." }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));
73
+ } }));
74
+ };
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
2
- import { IReactHookFormProps } from "./types";
3
- export interface ITextAreaProps {
4
- name: string;
5
- ariaLabel: string;
6
- disabled?: boolean;
7
- defaultValue?: string;
8
- hideErrorMessage?: boolean;
9
- }
10
- export declare const Textarea: ({ name, validation, register, errors, disabled, defaultValue, hideErrorMessage, ariaLabel, }: ITextAreaProps & IReactHookFormProps) => JSX.Element;
1
+ /// <reference types="react" />
2
+ import { IReactHookFormProps } from "./types";
3
+ export interface ITextAreaProps {
4
+ name: string;
5
+ ariaLabel: string;
6
+ disabled?: boolean;
7
+ defaultValue?: string;
8
+ hideErrorMessage?: boolean;
9
+ }
10
+ export declare const Textarea: ({ name, validation, register, errors, disabled, defaultValue, hideErrorMessage, ariaLabel, }: ITextAreaProps & IReactHookFormProps) => JSX.Element;
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ErrorMessage } from "./errorMessage/ErrorMessage";
3
- import { Textarea as UtrechtTextarea } from "@utrecht/component-library-react/dist/css-module";
4
- export const Textarea = ({ name, validation, register, errors, disabled, defaultValue, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(UtrechtTextarea, { ...register(name, { ...validation }), ...{ disabled, defaultValue }, invalid: errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ErrorMessage } from "./errorMessage/ErrorMessage";
3
+ import { Textarea as UtrechtTextarea } from "@utrecht/component-library-react/dist/css-module";
4
+ export const Textarea = ({ name, validation, register, errors, disabled, defaultValue, hideErrorMessage, ariaLabel, }) => (_jsxs(_Fragment, { children: [_jsx(UtrechtTextarea, { ...register(name, { ...validation }), disabled, defaultValue, invalid: !!errors[name], "aria-label": ariaLabel }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name]?.message })] }));