Рукописный
Рукописный переключатель
Переключатель, нарисованный от руки: капсула-дорожка и кружок-ползунок дрожат, включённая дорожка заливается чернилами. Внутри настоящий чекбокс с role=switch — работает с клавиатуры и в формах.
React + Tailwind, совместим с shadcn: нажмите «Копировать для ИИ» — агент в Cursor или Claude Code поставит его через shadcn CLI.
Что можно поменять
- label — подпись справа от переключателя
- defaultChecked — начальное состояние; управляемое состояние — через onChange и checked родителя
- rough — neat или loose: аккуратный или размашистый почерк
Ссылка для ИИ-агента: в ней превью, код и инструкция.
Превью

Использовать с ИИ
- 1. Скопируйте ссылку.
- 2. Напишите агенту своими словами и вставьте её в предложение.
- 3. Агент откроет ссылку и поставит компонент из реестра.
добавь это на главную первым экраном:
https://vibeui.ru/c/sketch-002?theme=dark
Не знаете, куда вставить? Пошаговый гайд
Показать полную инструкцию
То, что лежит по ссылке в развёрнутом виде. Нужна, если агент не может открыть ссылку — тогда вставьте этот текст целиком.
Загружается…
Как использовать
<Sketch002 label="Уведомления" defaultChecked />Пример вызова. Сам компонент агент ставит из реестра по ссылке «Копировать для ИИ».
Настройки
- Включён
defaultChecked· по умолчанию: выключено- Почерк
rough· по умолчанию: neat- Дрожание
boil· по умолчанию: soft- Линия
accent· по умолчанию: цвет темы- Текст
ink· по умолчанию: цвет темы
Ещё в разделе «Рукописный»
Частые вопросы
- Как установить компонент «Рукописный переключатель» через Cursor или Claude Code?
- Нажмите «Копировать для ИИ» на этой странице и вставьте текст в чат агента. В инструкции команда установки через shadcn CLI, зависимости и что сохранить — агент поставит именно этот компонент, а не перерисует похожий.
- Какие зависимости у компонента «Рукописный переключатель»?
- Никаких npm-пакетов, кроме React и Tailwind CSS.
- Что можно поменять в компоненте «Рукописный переключатель»?
- Можно менять: label — подпись справа от переключателя; defaultChecked — начальное состояние; управляемое состояние — через onChange и checked родителя; rough — neat или loose: аккуратный или размашистый почерк. Сохранить как есть: локальную палитру --vibeui-sketch-002-* и не подменять её токенами вашей темы; три кадра контура и переключение через @property + step-end — это «кипящая линия» рисованной анимации, не заменять на CSS-фильтры и не на JS-таймер; детерминированный seed: одна подпись — один почерк при каждой загрузке, а не случайный при каждом рендере.
- Компонент «Рукописный переключатель» бесплатный?
- Превью открыто всем, исходник доступен по подписке PRO.
Для разработчика
npx shadcn@latest add https://vibeui.ru/r/pro/sketch-002.jsonКоманде нужна подписанная ссылка: войдите и откройте «Исходник компонента» ниже — там рабочая ссылка на 30 минут. Все способы установки
Технические заметки
Один файл, ноль зависимостей, «use client». Хост измерения — дорожка 3.2×1.7em; дорожка — rectPoints с радиусом h/2, ползунок — ellipsePoints в левом или правом конце по состоянию, включённая дорожка получает второй заполненный контур. Состояние — useState от defaultChecked; управляемый режим оборачивайте снаружи. Контуры рисуются в пикселях: хост измеряется ResizeObserver, точки периметра сдвигаются детерминированным шумом (mulberry32 от seed, по умолчанию — хэш подписи), отрезки — квадратичные кривые; три кадра одной линии отличаются мелкой дрожью boil. Кадры переключает CSS: @property --frame (integer) + @keyframes step-end 1.2s, каждый path видим только на своём кадре (opacity через clamp(1 − (frame − i)²)). Наведение сдвигает seed — новый росчерк. Шрифты Neucha и Caveat подключаются <link precedence> с Google Fonts (с fallback на системные рукописные). Палитра --vibeui-sketch-002-* с light-dark, reduced-motion выключает boil.
Теги
- sketch
- hand-drawn
- handwritten
- doodle
- rough
- boil
- toggle
- switch
- form
Исходник компонента
Тот же файл, который поставит агент. Нужен, если вы предпочитаете скопировать код руками.
Загружается…