import React from "react"; import { IconType } from "../types"; import Cancel from "./cancel.svg"; import CheckboxChecked from "./checkbox-check.svg"; import CheckboxUnchecked from "./checkbox-unchecked.svg"; import RadioChecked from "./radio-button-checked.svg"; import RadioUnchecked from "./radio-button-unchecked.svg"; import { IconCon } from "../styles"; export const ICONS = { CANCEL: "cancel", CHECKBOX_CHECKED: "checkboxChecked", CHECKBOX_UNCHECKED: "checkboxUnchecked", RADIO_CHECKED: "radioChecked", RADIO_UNCHECKED: "radioUnchecked", }; interface Props { icon: string; width?: number; height?: number; applytheme?: string; layout?: "horizontal" | "vertical"; } const Icons = (props: Props) => { const { icon, width = props.layout === "vertical" ? 20 : 30, height = props.layout === "vertical" ? 20 : 30, applytheme = "true", } = props; const getIconJSX = (): JSX.Element | null => { switch (icon) { case ICONS.CANCEL: return ; case ICONS.CHECKBOX_CHECKED: return ; case ICONS.CHECKBOX_UNCHECKED: return ; case ICONS.RADIO_CHECKED: return ; case ICONS.RADIO_UNCHECKED: return ; default: console.error(`Icon ${icon} is not defined`); return null; // Return null if icon is not found } }; const IconJSX = getIconJSX(); // Handle case where the icon is not found if (!IconJSX) { return <>icon; // Fallback if the icon does not exist } // Render the icon JSX inside IconCon return {IconJSX}; }; export default Icons;