import React from "react"; import clsx from "clsx"; import { bgPrimaryColor, textColor } from "../../data/getColorBasedOnMode"; import { inputWidths } from "../../data/getItemsWidth"; export type SwitchSize = "small" | "medium" | "large"; interface SwitchProps { checked: boolean; onChange: (e: React.ChangeEvent) => void; disabled?: boolean; isError?: boolean; size?: SwitchSize; label?: string; name?: string; className?: string; } const sizeMap: Record< SwitchSize, { track: string; thumb: string; thumbTranslate: string } > = { small: { track: "w-9 h-5", thumb: "w-4 h-4", thumbTranslate: "translate-x-4", }, medium: { track: "w-11 h-6", thumb: "w-5 h-5", thumbTranslate: "translate-x-5", }, large: { track: "w-14 h-8", thumb: "w-6 h-6", thumbTranslate: "translate-x-6", }, }; export const Switch: React.FC = ({ checked, onChange, disabled = false, isError = false, size = "medium", label, name, className, }) => { const sizeStyles = sizeMap[size]; return (