From a6ff5eee45215effb3344cb5d631a27a7c0369aa Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
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<HTMLSelectElement> & {
-  /**
-   * 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<string>) => void;
-  /**
-   * Field value.
-   */
-  value: string;
-};
-
-/**
- * Select component
- *
- * Render a HTML select element.
- */
-export const Select: FC<SelectProps> = ({
-  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<HTMLSelectElement>) => {
-    setValue(e.target.value);
-  };
-
-  /**
-   * Get the option elements.
-   * @returns {JSX.Element[]} An array of HTML option elements.
-   */
-  const getOptions = (): JSX.Element[] =>
-    options.map((option) => (
-      <option key={option.id} value={option.value}>
-        {option.name}
-      </option>
-    ));
-
-  return (
-    <select {...props} className={selectClass} onChange={updateValue}>
-      {getOptions()}
-    </select>
-  );
-};
-- 
cgit v1.2.3

