/** * Material Design Switch компонент */ 'use client'; import React from 'react'; interface SwitchProps { checked: boolean; onChange: (checked: boolean) => void; disabled?: boolean; label?: string; size?: 'default' | 'compact'; } const SIZES = { default: { trackW: 52, trackH: 32, thumb: 24, inset: 4 }, compact: { trackW: 40, trackH: 22, thumb: 18, inset: 2 }, }; export const Switch: React.FC = ({ checked, onChange, disabled = false, label, size = 'default', }) => { const s = SIZES[size]; const handleClick = () => { if (!disabled) { onChange(!checked); } }; return (
{/* Switch track и thumb */}
{/* Label */} {label && ( {label} )}
); };