From a6ff5eee45215effb3344cb5d631a27a7c0369aa Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 22 Sep 2023 19:34:01 +0200 Subject: refactor(components): rewrite form components --- src/components/atoms/forms/select.tsx | 79 ----------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 src/components/atoms/forms/select.tsx (limited to 'src/components/atoms/forms/select.tsx') diff --git a/src/components/atoms/forms/select.tsx b/src/components/atoms/forms/select.tsx deleted file mode 100644 index 14f85dc..0000000 --- a/src/components/atoms/forms/select.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import { ChangeEvent, FC, SelectHTMLAttributes, SetStateAction } from 'react'; -import styles from './forms.module.scss'; - -export type SelectOptions = { - /** - * The option id. - */ - id: string; - /** - * The option name. - */ - name: string; - /** - * The option value. - */ - value: string; -}; - -export type SelectProps = SelectHTMLAttributes & { - /** - * Field id attribute. - */ - id: string; - /** - * Field name attribute. - */ - name: string; - /** - * True if the field is required. Default: false. - */ - options: SelectOptions[]; - /** - * Callback function to set field value. - */ - setValue: (value: SetStateAction) => void; - /** - * Field value. - */ - value: string; -}; - -/** - * Select component - * - * Render a HTML select element. - */ -export const Select: FC = ({ - className = '', - options, - setValue, - ...props -}) => { - const selectClass = `${styles.field} ${styles['field--select']} ${className}`; - - /** - * Update select value when an option is selected. - * @param e - The option change event. - */ - const updateValue = (e: ChangeEvent) => { - setValue(e.target.value); - }; - - /** - * Get the option elements. - * @returns {JSX.Element[]} An array of HTML option elements. - */ - const getOptions = (): JSX.Element[] => - options.map((option) => ( - - )); - - return ( - - ); -}; -- cgit v1.2.3