import type { FC, ReactNode } from 'react' import { Switch as HeadlessUiSwitch } from '@headlessui/react' import classNames from 'classnames' type SwitchColor = 'default' | 'gradient' interface SwitchProps { checked: boolean onChange: (checked: boolean) => void size?: 'xs' | 'sm' | 'md' checkedIcon?: ReactNode uncheckedIcon?: ReactNode color?: SwitchColor id?: string } const COLOR = { default: (checked: boolean) => (checked ? 'bg-slate-100' : 'bg-slate-100'), gradient: (checked: boolean) => (checked ? 'bg-gradient-to-r from-blue to-pink' : 'bg-slate-700'), } const HEIGHT = { xs: 20, sm: 28, md: 36, } const WIDTH = { xs: 49, sm: 57, md: 65, } export const Switch: FC = ({ size = 'md', checked, onChange, checkedIcon = '', uncheckedIcon = '', color = 'default', id = '', }: SwitchProps) => { const height = HEIGHT[size] const width = WIDTH[size] return ( {checked ? checkedIcon : uncheckedIcon} ) } export default Switch