@conduction/components 2.1.32 → 2.1.34

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 (35) hide show
  1. package/README.md +2 -0
  2. package/lib/components/card/detailsCard/DetailsCard.d.ts +0 -1
  3. package/lib/components/card/downloadCard/DownloadCard.d.ts +0 -1
  4. package/lib/components/card/horizontalImageCard/HorizontalImageCard.d.ts +0 -1
  5. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.d.ts +0 -1
  6. package/lib/components/card/infoCard/InfoCard.d.ts +0 -1
  7. package/lib/components/card/richContentCard/RichContentCard.d.ts +0 -1
  8. package/lib/components/codeBlock/CodeBlock.d.ts +0 -1
  9. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.d.ts +0 -1
  10. package/lib/components/denhaag-wrappers/pagination/Pagination.d.ts +0 -1
  11. package/lib/components/editableTableRow/EditableTableRow.d.ts +0 -1
  12. package/lib/components/formFields/checkbox/checkbox.d.ts +0 -1
  13. package/lib/components/formFields/createKeyValue/CreateKeyValue.d.ts +0 -1
  14. package/lib/components/formFields/date/Date.d.ts +0 -1
  15. package/lib/components/formFields/errorMessage/ErrorMessage.d.ts +0 -1
  16. package/lib/components/formFields/input.js +8 -12
  17. package/lib/components/formFields/radio.d.ts +0 -1
  18. package/lib/components/formFields/select/select.d.ts +4 -4
  19. package/lib/components/formFields/select/select.js +6 -6
  20. package/lib/components/formFields/select/select.module.css +14 -9
  21. package/lib/components/formFields/textarea.d.ts +0 -1
  22. package/lib/components/formFields/textarea.js +2 -2
  23. package/lib/components/imageDivider/ImageDivider.d.ts +0 -1
  24. package/lib/components/logo/Logo.d.ts +0 -1
  25. package/lib/components/metaIcon/MetaIcon.d.ts +0 -1
  26. package/lib/components/notificationPopUp/NotificationPopUp.d.ts +0 -1
  27. package/lib/components/tag/Tag.d.ts +0 -1
  28. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.d.ts +0 -1
  29. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.d.ts +0 -1
  30. package/lib/index.d.ts +0 -1
  31. package/package.json +1 -1
  32. package/src/components/formFields/input.tsx +9 -18
  33. package/src/components/formFields/select/select.module.css +14 -9
  34. package/src/components/formFields/select/select.tsx +7 -3
  35. package/src/components/formFields/textarea.tsx +2 -2
package/README.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  - **Version 2.1 (breaking changes from 2.0.x)**
6
6
 
7
+ - 2.1.34: Refactor Den Haag textbox and textarea to Utrecht; add Single Select design tokens.
8
+ - 2.1.33: Added optional placeholder to all select elements.
7
9
  - 2.1.32: Add inline-padding to container, remove redundant (breaking and unused) components, up React version.
8
10
  - 2.1.31: Removed Den Haag implementations which hold shapeRendering warnings.
9
11
  - 2.1.29/2.1.30: Added optional menuPlacement to all select elements.
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface DetailsCardProps {
3
2
  title: string;
4
3
  introduction?: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface DownloadCardProps {
3
2
  icon: JSX.Element;
4
3
  label: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface HorizontalImageCardProps {
3
2
  iconOrImage: JSX.Element;
4
3
  title: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface ImageAndDetailsCardProps {
3
2
  title: string;
4
3
  image: JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface InfoCardProps {
3
2
  title: string;
4
3
  content: JSX.Element | string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface RichContentCardProps {
3
2
  link: {
4
3
  label: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface CodeBlockProps {
3
2
  codeBlock: string | JSX.Element;
4
3
  }
@@ -5,7 +5,6 @@
5
5
  *
6
6
  * Note: we do not use css modules here due to this component being a wrapper
7
7
  */
8
- /// <reference types="react" />
9
8
  import "./Breadcrumbs.css";
10
9
  interface BreadcrumbsProps {
11
10
  crumbs: {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./Pagination.css";
3
2
  interface PaginationProps {
4
3
  pages: number;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface InputTypes {
3
2
  inputType: "text" | "email";
4
3
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IReactHookFormProps } from "./../types";
3
2
  export interface ICheckboxProps {
4
3
  label: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Control, FieldValues } from "react-hook-form";
3
2
  import { IReactHookFormProps } from "../types";
4
3
  /**
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "react-datepicker/dist/react-datepicker.css";
3
2
  import { Control, FieldValues } from "react-hook-form";
4
3
  import { IReactHookFormProps } from "../types";
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface IErrorMessageProps {
3
2
  message: string;
4
3
  }
@@ -1,16 +1,12 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import { TextField } from "@gemeente-denhaag/textfield";
4
- import { faEyeSlash, faEye } from "@fortawesome/free-solid-svg-icons";
5
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
2
+ import { Textbox } from "@utrecht/component-library-react/dist/css-module";
6
3
  import { ErrorMessage } from "./errorMessage/ErrorMessage";
7
4
  export const InputPassword = ({ disabled, name, validation, register, placeholder, errors, hideErrorMessage, }) => {
8
- const [showPassword, setShowPassword] = React.useState(false);
9
- return (_jsxs(_Fragment, { children: [_jsx(TextField, { type: showPassword ? "text" : "password", ...{ disabled, placeholder }, ...register(name, { ...validation }), invalid: errors[name], icon: _jsx("span", { onClick: () => setShowPassword(!showPassword), children: showPassword ? _jsx(FontAwesomeIcon, { icon: faEye }) : _jsx(FontAwesomeIcon, { icon: faEyeSlash }) }) }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
5
+ return (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "password", ...{ disabled, placeholder }, ...register(name, { ...validation }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
10
6
  };
11
- export const InputText = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(TextField, { type: "text", ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
12
- export const InputEmail = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(TextField, { type: "email", required: !!validation?.required, ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
13
- export const InputURL = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(TextField, { type: "url", ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
14
- export const InputNumber = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(TextField, { type: "number", ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation, valueAsNumber: true }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
15
- export const InputFloat = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(TextField, { type: "number", step: ".01", ...{ disabled, placeholder, icon, defaultValue }, ...register(name, { ...validation, valueAsNumber: true }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
16
- export const InputFile = ({ disabled, name, accept, defaultValue, validation, register, }) => (_jsx("input", { className: "denhaag-textfield__input", type: "file", ...{ defaultValue, disabled, accept }, ...register(name, { ...validation }) }));
7
+ export const InputText = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "text", ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
8
+ export const InputEmail = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "email", required: !!validation?.required, ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
9
+ export const InputURL = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "url", ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
10
+ export const InputNumber = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "number", ...{ defaultValue, disabled, placeholder, icon }, ...register(name, { ...validation, valueAsNumber: true }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
11
+ export const InputFloat = ({ disabled, name, defaultValue, validation, register, icon, placeholder, errors, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(Textbox, { type: "number", step: ".01", ...{ disabled, placeholder, icon, defaultValue }, ...register(name, { ...validation, valueAsNumber: true }), invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
12
+ export const InputFile = ({ disabled, name, accept, defaultValue, validation, register, }) => (_jsx("input", { className: "denhaag-Textbox__input", type: "file", ...{ defaultValue, disabled, accept }, ...register(name, { ...validation }) }));
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IReactHookFormProps } from "./types";
3
2
  interface IRadioProps {
4
3
  label: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Control, FieldValues } from "react-hook-form";
3
2
  import { MenuPlacement } from "react-select";
4
3
  import { IReactHookFormProps } from "../types";
@@ -15,8 +14,9 @@ interface ISelectProps {
15
14
  isClearable?: boolean;
16
15
  hideErrorMessage?: boolean;
17
16
  menuPlacement?: MenuPlacement;
17
+ placeholder?: string;
18
18
  }
19
- export declare const SelectMultiple: ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, }: ISelectProps & IReactHookFormProps) => JSX.Element;
20
- export declare const SelectCreate: ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, }: ISelectProps & IReactHookFormProps) => JSX.Element;
21
- export declare const SelectSingle: ({ id, name, options, errors, control, validation, isClearable, defaultValue, disabled, hideErrorMessage, menuPlacement, }: ISelectProps & IReactHookFormProps) => JSX.Element;
19
+ export declare const SelectMultiple: ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, }: ISelectProps & IReactHookFormProps) => JSX.Element;
20
+ export declare const SelectCreate: ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, }: ISelectProps & IReactHookFormProps) => JSX.Element;
21
+ export declare const SelectSingle: ({ id, name, options, errors, control, validation, isClearable, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, }: ISelectProps & IReactHookFormProps) => JSX.Element;
22
22
  export {};
@@ -5,18 +5,18 @@ import ReactSelect from "react-select";
5
5
  import CreatableSelect from "react-select/creatable";
6
6
  import clsx from "clsx";
7
7
  import { ErrorMessage } from "../errorMessage/ErrorMessage";
8
- export const SelectMultiple = ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, }) => {
8
+ export const SelectMultiple = ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, }) => {
9
9
  return (_jsx(Controller, { ...{ control, name, defaultValue }, rules: validation, render: ({ field: { onChange, value } }) => {
10
- return (_jsxs(_Fragment, { children: [_jsx(ReactSelect, { 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: { menuPortal: (base) => ({ ...base, zIndex: 100 }) }, placeholder: disabled ? "Disabled..." : "Select one or more options..." }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
10
+ return (_jsxs(_Fragment, { children: [_jsx(ReactSelect, { 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: { menuPortal: (base) => ({ ...base, zIndex: 100 }) }, placeholder: disabled ? "Disabled..." : placeholder ?? "Select one or more options..." }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
11
11
  } }));
12
12
  };
13
- export const SelectCreate = ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, }) => {
13
+ export const SelectCreate = ({ id, name, options, errors, control, validation, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, }) => {
14
14
  return (_jsx(Controller, { ...{ control, name, defaultValue }, rules: validation, render: ({ field: { onChange, value } }) => {
15
- return (_jsxs(_Fragment, { children: [_jsx(CreatableSelect, { inputId: id, value: value ?? "", placeholder: disabled ? "Disabled..." : "Select or create one or multiple options...", className: clsx(styles.select, errors[name] && styles.error), isMulti: true, isDisabled: disabled, ...{ options, onChange, errors }, menuPortalTarget: document.body, menuPlacement: menuPlacement, styles: { menuPortal: (base) => ({ ...base, zIndex: 100 }) } }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
15
+ return (_jsxs(_Fragment, { children: [_jsx(CreatableSelect, { 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: { menuPortal: (base) => ({ ...base, zIndex: 100 }) } }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
16
16
  } }));
17
17
  };
18
- export const SelectSingle = ({ id, name, options, errors, control, validation, isClearable, defaultValue, disabled, hideErrorMessage, menuPlacement, }) => {
18
+ export const SelectSingle = ({ id, name, options, errors, control, validation, isClearable, defaultValue, disabled, hideErrorMessage, menuPlacement, placeholder, }) => {
19
19
  return (_jsx(Controller, { ...{ control, name, defaultValue }, rules: validation, render: ({ field: { onChange, value } }) => {
20
- return (_jsxs(_Fragment, { children: [_jsx(ReactSelect, { inputId: id, value: value ?? "", className: clsx(styles.select, errors[name] && styles.error), isDisabled: disabled, ...{ options, onChange, errors, isClearable }, menuPortalTarget: document.body, menuPlacement: menuPlacement, styles: { menuPortal: (base) => ({ ...base, zIndex: 100 }) }, placeholder: disabled ? "Disabled..." : "Select an option..." }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
20
+ return (_jsxs(_Fragment, { children: [_jsx(ReactSelect, { inputId: id, value: value ?? "", className: clsx(styles.select, errors[name] && styles.error), isDisabled: disabled, ...{ options, onChange, errors, isClearable }, menuPortalTarget: document.body, menuPlacement: menuPlacement, styles: { menuPortal: (base) => ({ ...base, zIndex: 100 }) }, placeholder: disabled ? "Disabled..." : placeholder ?? "Select one or more options..." }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
21
21
  } }));
22
22
  };
@@ -1,22 +1,27 @@
1
1
  :root {
2
+ --conduction-input-select-padding-block-start: var(--skeleton-size-xs);
3
+ --conduction-input-select-padding-block-end: var(--skeleton-size-xs);
4
+ --conduction-input-select-border-radius: var(--skeleton-border-radius-md);
5
+ --conduction-input-select-background-color: var(--skeleton-color-white);
2
6
  --conduction-input-select-border: 1px solid var(--skeleton-color-grey-3);
3
7
  --conduction-input-select-border-focus: 2px dashed var(--skeleton-color-grey-5);
8
+ --conduction-input-select-invalid-border-color: var(
9
+ --utrecht-textbox-invalid-border-color,
10
+ var(--utrecht-form-input-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color)))
11
+ );
4
12
  }
5
13
 
6
14
  .select > div {
7
- background-color: var(--skeleton-color-white);
15
+ background-color: var(--conduction-input-select-background-color);
8
16
  border: var(--conduction-input-select-border);
9
- border-radius: var(--skeleton-border-radius-md);
17
+ border-radius: var(--conduction-input-select-border-radius);
10
18
  box-sizing: border-box;
11
- padding-block-start: var(--skeleton-size-xs);
12
- padding-block-end: var(--skeleton-size-xs);
19
+ padding-block-start: var(--conduction-input-select-padding-block-start);
20
+ padding-block-end: var(--conduction-input-select-padding-block-end);
13
21
  }
14
22
 
15
23
  .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
- );
24
+ border-color: var(--conduction-input-select-invalid-border-color);
20
25
  }
21
26
 
22
27
  .select .select > div:focus-within {
@@ -34,5 +39,5 @@
34
39
  right: calc(var(--skeleton-size-2xs) * -1);
35
40
  top: calc(var(--skeleton-size-2xs) * -1);
36
41
  border: var(--conduction-input-select-border-focus);
37
- border-radius: var(--skeleton-border-radius-md);
42
+ border-radius: var(--conduction-input-select-border-radius);
38
43
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IReactHookFormProps } from "./types";
3
2
  export interface ITextAreaProps {
4
3
  name: string;
@@ -1,4 +1,4 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { TextArea } from "@gemeente-denhaag/textarea";
3
2
  import { ErrorMessage } from "./errorMessage/ErrorMessage";
4
- export const Textarea = ({ name, validation, register, errors, disabled, defaultValue, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(TextArea, { ...register(name, { ...validation }), ...{ disabled, defaultValue }, invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
3
+ import { Textarea as UtrechtTextarea } from "@utrecht/component-library-react/dist/css-module";
4
+ export const Textarea = ({ name, validation, register, errors, disabled, defaultValue, hideErrorMessage, }) => (_jsxs(_Fragment, { children: [_jsx(UtrechtTextarea, { ...register(name, { ...validation }), ...{ disabled, defaultValue }, invalid: errors[name] }), errors[name] && !hideErrorMessage && _jsx(ErrorMessage, { message: errors[name].message })] }));
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface ImageDividerProps {
3
2
  image: string;
4
3
  layoutClassName: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface LogoProps {
3
2
  layoutClassName: string;
4
3
  href?: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface MetaIconProps {
3
2
  icon: JSX.Element;
4
3
  label: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface NotificationPopUpProps {
3
2
  title: string;
4
3
  description: string | JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface TagProps {
3
2
  label: string;
4
3
  icon?: JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface ITopNavItem {
3
2
  label: string;
4
3
  icon?: JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface TopNavProps {
3
2
  items: {
4
3
  label: string;
package/lib/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DownloadCard, HorizontalImageCard, ImageAndDetailsCard, RichContentCard, DetailsCard, InfoCard } from "./components/card";
3
2
  import { Container } from "./components/container/Container";
4
3
  import { Breadcrumbs } from "./components/denhaag-wrappers/breadcrumbs/Breadcrumbs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conduction/components",
3
- "version": "2.1.32",
3
+ "version": "2.1.34",
4
4
  "description": "React (Gatsby) components used within the Conduction Skeleton Application (and its implementations)",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -1,8 +1,6 @@
1
1
  import * as React from "react";
2
- import { TextField } from "@gemeente-denhaag/textfield";
2
+ import { Textbox } from "@utrecht/component-library-react/dist/css-module";
3
3
  import { IReactHookFormProps } from "./types";
4
- import { faEyeSlash, faEye } from "@fortawesome/free-solid-svg-icons";
5
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
6
4
  import { ErrorMessage } from "./errorMessage/ErrorMessage";
7
5
 
8
6
  export interface IInputProps {
@@ -23,20 +21,13 @@ export const InputPassword: React.FC<IInputProps & IReactHookFormProps> = ({
23
21
  errors,
24
22
  hideErrorMessage,
25
23
  }) => {
26
- const [showPassword, setShowPassword] = React.useState<boolean>(false);
27
-
28
24
  return (
29
25
  <>
30
- <TextField
31
- type={showPassword ? "text" : "password"}
26
+ <Textbox
27
+ type="password"
32
28
  {...{ disabled, placeholder }}
33
29
  {...register(name, { ...validation })}
34
30
  invalid={errors[name]}
35
- icon={
36
- <span onClick={() => setShowPassword(!showPassword)}>
37
- {showPassword ? <FontAwesomeIcon icon={faEye} /> : <FontAwesomeIcon icon={faEyeSlash} />}
38
- </span>
39
- }
40
31
  />
41
32
  {errors[name] && !hideErrorMessage && <ErrorMessage message={errors[name].message} />}
42
33
  </>
@@ -55,7 +46,7 @@ export const InputText: React.FC<IInputProps & IReactHookFormProps> = ({
55
46
  hideErrorMessage,
56
47
  }) => (
57
48
  <>
58
- <TextField
49
+ <Textbox
59
50
  type="text"
60
51
  {...{ defaultValue, disabled, placeholder, icon }}
61
52
  {...register(name, { ...validation })}
@@ -77,7 +68,7 @@ export const InputEmail: React.FC<IInputProps & IReactHookFormProps> = ({
77
68
  hideErrorMessage,
78
69
  }) => (
79
70
  <>
80
- <TextField
71
+ <Textbox
81
72
  type="email"
82
73
  required={!!validation?.required}
83
74
  {...{ defaultValue, disabled, placeholder, icon }}
@@ -100,7 +91,7 @@ export const InputURL: React.FC<IInputProps & IReactHookFormProps> = ({
100
91
  hideErrorMessage,
101
92
  }) => (
102
93
  <>
103
- <TextField
94
+ <Textbox
104
95
  type="url"
105
96
  {...{ defaultValue, disabled, placeholder, icon }}
106
97
  {...register(name, { ...validation })}
@@ -122,7 +113,7 @@ export const InputNumber: React.FC<IInputProps & IReactHookFormProps> = ({
122
113
  hideErrorMessage,
123
114
  }) => (
124
115
  <>
125
- <TextField
116
+ <Textbox
126
117
  type="number"
127
118
  {...{ defaultValue, disabled, placeholder, icon }}
128
119
  {...register(name, { ...validation, valueAsNumber: true })}
@@ -144,7 +135,7 @@ export const InputFloat: React.FC<IInputProps & IReactHookFormProps> = ({
144
135
  hideErrorMessage,
145
136
  }) => (
146
137
  <>
147
- <TextField
138
+ <Textbox
148
139
  type="number"
149
140
  step=".01"
150
141
  {...{ disabled, placeholder, icon, defaultValue }}
@@ -168,7 +159,7 @@ export const InputFile: React.FC<IInputFileProps & IInputProps & IReactHookFormP
168
159
  register,
169
160
  }) => (
170
161
  <input
171
- className="denhaag-textfield__input"
162
+ className="denhaag-Textbox__input"
172
163
  type="file"
173
164
  {...{ defaultValue, disabled, accept }}
174
165
  {...register(name, { ...validation })}
@@ -1,22 +1,27 @@
1
1
  :root {
2
+ --conduction-input-select-padding-block-start: var(--skeleton-size-xs);
3
+ --conduction-input-select-padding-block-end: var(--skeleton-size-xs);
4
+ --conduction-input-select-border-radius: var(--skeleton-border-radius-md);
5
+ --conduction-input-select-background-color: var(--skeleton-color-white);
2
6
  --conduction-input-select-border: 1px solid var(--skeleton-color-grey-3);
3
7
  --conduction-input-select-border-focus: 2px dashed var(--skeleton-color-grey-5);
8
+ --conduction-input-select-invalid-border-color: var(
9
+ --utrecht-textbox-invalid-border-color,
10
+ var(--utrecht-form-input-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color)))
11
+ );
4
12
  }
5
13
 
6
14
  .select > div {
7
- background-color: var(--skeleton-color-white);
15
+ background-color: var(--conduction-input-select-background-color);
8
16
  border: var(--conduction-input-select-border);
9
- border-radius: var(--skeleton-border-radius-md);
17
+ border-radius: var(--conduction-input-select-border-radius);
10
18
  box-sizing: border-box;
11
- padding-block-start: var(--skeleton-size-xs);
12
- padding-block-end: var(--skeleton-size-xs);
19
+ padding-block-start: var(--conduction-input-select-padding-block-start);
20
+ padding-block-end: var(--conduction-input-select-padding-block-end);
13
21
  }
14
22
 
15
23
  .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
- );
24
+ border-color: var(--conduction-input-select-invalid-border-color);
20
25
  }
21
26
 
22
27
  .select .select > div:focus-within {
@@ -34,5 +39,5 @@
34
39
  right: calc(var(--skeleton-size-2xs) * -1);
35
40
  top: calc(var(--skeleton-size-2xs) * -1);
36
41
  border: var(--conduction-input-select-border-focus);
37
- border-radius: var(--skeleton-border-radius-md);
42
+ border-radius: var(--conduction-input-select-border-radius);
38
43
  }
@@ -17,6 +17,7 @@ interface ISelectProps {
17
17
  isClearable?: boolean;
18
18
  hideErrorMessage?: boolean;
19
19
  menuPlacement?: MenuPlacement;
20
+ placeholder?: string;
20
21
  }
21
22
 
22
23
  export const SelectMultiple = ({
@@ -30,6 +31,7 @@ export const SelectMultiple = ({
30
31
  disabled,
31
32
  hideErrorMessage,
32
33
  menuPlacement,
34
+ placeholder,
33
35
  }: ISelectProps & IReactHookFormProps): JSX.Element => {
34
36
  return (
35
37
  <Controller
@@ -48,7 +50,7 @@ export const SelectMultiple = ({
48
50
  menuPortalTarget={document.body}
49
51
  menuPlacement={menuPlacement}
50
52
  styles={{ menuPortal: (base) => ({ ...base, zIndex: 100 }) }}
51
- placeholder={disabled ? "Disabled..." : "Select one or more options..."}
53
+ placeholder={disabled ? "Disabled..." : placeholder ?? "Select one or more options..."}
52
54
  />
53
55
  {errors[name] && !hideErrorMessage && <ErrorMessage message={errors[name].message} />}
54
56
  </>
@@ -69,6 +71,7 @@ export const SelectCreate = ({
69
71
  disabled,
70
72
  hideErrorMessage,
71
73
  menuPlacement,
74
+ placeholder,
72
75
  }: ISelectProps & IReactHookFormProps): JSX.Element => {
73
76
  return (
74
77
  <Controller
@@ -80,7 +83,7 @@ export const SelectCreate = ({
80
83
  <CreatableSelect
81
84
  inputId={id}
82
85
  value={value ?? ""}
83
- placeholder={disabled ? "Disabled..." : "Select or create one or multiple options..."}
86
+ placeholder={disabled ? "Disabled..." : placeholder ?? "Select one or more options..."}
84
87
  className={clsx(styles.select, errors[name] && styles.error)}
85
88
  isMulti
86
89
  isDisabled={disabled}
@@ -109,6 +112,7 @@ export const SelectSingle = ({
109
112
  disabled,
110
113
  hideErrorMessage,
111
114
  menuPlacement,
115
+ placeholder,
112
116
  }: ISelectProps & IReactHookFormProps): JSX.Element => {
113
117
  return (
114
118
  <Controller
@@ -126,7 +130,7 @@ export const SelectSingle = ({
126
130
  menuPortalTarget={document.body}
127
131
  menuPlacement={menuPlacement}
128
132
  styles={{ menuPortal: (base) => ({ ...base, zIndex: 100 }) }}
129
- placeholder={disabled ? "Disabled..." : "Select an option..."}
133
+ placeholder={disabled ? "Disabled..." : placeholder ?? "Select one or more options..."}
130
134
  />
131
135
  {errors[name] && !hideErrorMessage && <ErrorMessage message={errors[name].message} />}
132
136
  </>
@@ -1,6 +1,6 @@
1
- import { TextArea } from "@gemeente-denhaag/textarea";
2
1
  import { IReactHookFormProps } from "./types";
3
2
  import { ErrorMessage } from "./errorMessage/ErrorMessage";
3
+ import { Textarea as UtrechtTextarea } from "@utrecht/component-library-react/dist/css-module";
4
4
 
5
5
  export interface ITextAreaProps {
6
6
  name: string;
@@ -19,7 +19,7 @@ export const Textarea = ({
19
19
  hideErrorMessage,
20
20
  }: ITextAreaProps & IReactHookFormProps): JSX.Element => (
21
21
  <>
22
- <TextArea {...register(name, { ...validation })} {...{ disabled, defaultValue }} invalid={errors[name]} />
22
+ <UtrechtTextarea {...register(name, { ...validation })} {...{ disabled, defaultValue }} invalid={errors[name]} />
23
23
  {errors[name] && !hideErrorMessage && <ErrorMessage message={errors[name].message} />}
24
24
  </>
25
25
  );