aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/molecules/forms/labelled-select.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/molecules/forms/labelled-select.tsx')
-rw-r--r--src/components/molecules/forms/labelled-select.tsx66
1 files changed, 0 insertions, 66 deletions
diff --git a/src/components/molecules/forms/labelled-select.tsx b/src/components/molecules/forms/labelled-select.tsx
deleted file mode 100644
index 300ae8a..0000000
--- a/src/components/molecules/forms/labelled-select.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import { FC } from 'react';
-import { Label, type LabelProps, Select, type SelectProps } from '../../atoms';
-import styles from './labelled-select.module.scss';
-
-export type LabelledSelectProps = Omit<
- SelectProps,
- 'aria-labelledby' | 'className'
-> & {
- /**
- * The field label.
- */
- label: string;
- /**
- * Set additional classnames to the label.
- */
- labelClassName?: LabelProps['className'];
- /**
- * The label position. Default: top.
- */
- labelPosition?: 'left' | 'top';
- /**
- * The label size.
- */
- labelSize?: LabelProps['size'];
- /**
- * Set additional classnames to the select field.
- */
- selectClassName?: SelectProps['className'];
-};
-
-/**
- * LabelledSelect component
- *
- * Render a select with a label.
- */
-export const LabelledSelect: FC<LabelledSelectProps> = ({
- id,
- label,
- labelClassName = '',
- labelPosition = 'top',
- labelSize,
- required,
- selectClassName = '',
- ...props
-}) => {
- const positionModifier = `label--${labelPosition}`;
-
- return (
- <>
- <Label
- className={`${styles[positionModifier]} ${labelClassName}`}
- htmlFor={id}
- required={required}
- size={labelSize}
- >
- {label}
- </Label>
- <Select
- {...props}
- className={selectClassName}
- id={id}
- required={required}
- />
- </>
- );
-};