Рукописный
Рукописная кнопка
Кнопка, нарисованная от руки: контур дрожит, как в рисованном мультфильме, по наведению перерисовывается заново, по нажатию линия жирнеет. Три вида: контур, заливка чернилами и штриховка. Настоящий <button>, ноль зависимостей.
React + Tailwind, совместим с shadcn: нажмите «Копировать для ИИ» — агент в Cursor или Claude Code поставит его через shadcn CLI.
Что можно поменять
- label — подпись; от неё же по умолчанию считается seed почерка
- variant — scribble (штриховка одной линией), outline или solid (заливка чернилами, текст инвертирован)
- onClick — обработчик нажатия
Ссылка для ИИ-агента: в ней превью, код и инструкция.
Превью

Использовать с ИИ
- 1. Скопируйте ссылку.
- 2. Напишите агенту своими словами и вставьте её в предложение.
- 3. Агент откроет ссылку и поставит компонент из реестра.
добавь это на главную первым экраном:
https://vibeui.ru/c/sketch-001?theme=dark
Не знаете, куда вставить? Пошаговый гайд
Показать полную инструкцию
То, что лежит по ссылке в развёрнутом виде. Нужна, если агент не может открыть ссылку — тогда вставьте этот текст целиком.
Загружается…
Как использовать
<Sketch001 label="Готово" onClick={() => save()} />Пример вызова. Сам компонент агент ставит из реестра по ссылке «Копировать для ИИ».
Настройки
- Вид
variant· по умолчанию: scribble- Почерк
rough· по умолчанию: neat- Дрожание
boil· по умолчанию: soft- Линия
accent· по умолчанию: цвет темы- Текст
ink· по умолчанию: цвет темы
Используется в сценариях
- Портфолио фотографаКнопки в ценах
Ещё в разделе «Рукописный»
Частые вопросы
- Как установить компонент «Рукописная кнопка» через Cursor или Claude Code?
- Нажмите «Копировать для ИИ» на этой странице и вставьте текст в чат агента. В инструкции команда установки через shadcn CLI, зависимости и что сохранить — агент поставит именно этот компонент, а не перерисует похожий.
- Какие зависимости у компонента «Рукописная кнопка»?
- Никаких npm-пакетов, кроме React и Tailwind CSS.
- Что можно поменять в компоненте «Рукописная кнопка»?
- Можно менять: label — подпись; от неё же по умолчанию считается seed почерка; variant — scribble (штриховка одной линией), outline или solid (заливка чернилами, текст инвертирован); onClick — обработчик нажатия. Сохранить как есть: локальную палитру --vibeui-sketch-001-* и не подменять её токенами вашей темы; три кадра контура и переключение через @property + step-end — это «кипящая линия» рисованной анимации, не заменять на CSS-фильтры и не на JS-таймер; детерминированный seed: одна подпись — один почерк при каждой загрузке, а не случайный при каждом рендере.
- Компонент «Рукописная кнопка» бесплатный?
- Превью открыто всем, исходник доступен по подписке PRO.
Для разработчика
npx shadcn@latest add https://vibeui.ru/r/pro/sketch-001.jsonКоманде нужна подписанная ссылка: войдите и откройте «Исходник компонента» ниже — там рабочая ссылка на 30 минут. Все способы установки
Технические заметки
Один файл, ноль зависимостей, «use client». Хост — <button>, слой чернил — SVG под подписью: контур rectPoints со скруглением 9, для solid — второй неровный контур с fill, для scribble (по умолчанию) — штриховка одной непрерывной пилой между кромками с шагом 11px, тонкой линией 0.7 от базовой. :active утолщает линию через --width. Контуры рисуются в пикселях: хост измеряется 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-001-* с light-dark, reduced-motion выключает boil.
Теги
- sketch
- hand-drawn
- handwritten
- doodle
- rough
- boil
- button
- cta
Исходник компонента
Тот же файл, который поставит агент. Нужен, если вы предпочитаете скопировать код руками.
Загружается…