Кнопки

Кнопка с удержанием

Подтверждение без диалога: заливка ползёт по кнопке, пока её держат, и отскакивает назад, если отпустить раньше срока.

React + Tailwind, совместим с shadcn: нажмите «Копировать для ИИ» — агент в Cursor или Claude Code поставит его через shadcn CLI.

Что можно поменять

  • подписи и пояснение (label, doneLabel, hint)
  • время удержания — проп duration в миллисекундах: 800 для обычного подтверждения, 1500 для по-настоящему опасного
  • акцент и подложку — пропы accent и background

Ссылка для ИИ-агента: в ней превью, код и инструкция.

Превью

1440pxТема страницы
Кнопка с удержанием — Подтверждение без диалога: заливка ползёт по кнопке, пока её держат, и отскакивает назад, если отпустить раньше срока.

Использовать с ИИ

  1. 1. Скопируйте ссылку.
  2. 2. Напишите агенту своими словами и вставьте её в предложение.
  3. 3. Агент откроет ссылку и поставит компонент из реестра.
AI
1Выбрали здесь

добавь это на главную первым экраном:

https://vibeui.ru/c/button-073?theme=dark

2Вставили в чат агента
3Получили в проекте

Не знаете, куда вставить? Пошаговый гайд

Показать полную инструкцию

То, что лежит по ссылке в развёрнутом виде. Нужна, если агент не может открыть ссылку — тогда вставьте этот текст целиком.

Загружается…

Как использовать

<Button073 label="Удерживайте для удаления" duration={800} />

Пример вызова. Сам компонент агент ставит из реестра по ссылке «Копировать для ИИ».

Настройки

Подпись
label · по умолчанию: Удерживайте для удаления
Подпись после подтверждения
doneLabel · по умолчанию: Готово
Время удержания, мс
duration · по умолчанию: 800
Акцент
accent · по умолчанию: цвет темы
Подложка
background · по умолчанию: цвет темы

Частые вопросы

Как установить компонент «Кнопка с удержанием» через Cursor или Claude Code?
Нажмите «Копировать для ИИ» на этой странице и вставьте текст в чат агента. В инструкции команда установки через shadcn CLI, зависимости и что сохранить — агент поставит именно этот компонент, а не перерисует похожий.
Какие зависимости у компонента «Кнопка с удержанием»?
Никаких npm-пакетов, кроме React и Tailwind CSS.
Что можно поменять в компоненте «Кнопка с удержанием»?
Можно менять: подписи и пояснение (label, doneLabel, hint); время удержания — проп duration в миллисекундах: 800 для обычного подтверждения, 1500 для по-настоящему опасного; акцент и подложку — пропы accent и background. Сохранить как есть: линейный ход заливки во время удержания: она обязана честно показывать оставшееся время, а не подгонять его кривой; пружинный откат при раннем отпускании — это и есть сигнал «ничего не произошло»; связь CSS и таймера через переменную --vibeui-button-073-hold: две независимые длительности неизбежно разойдутся.
Компонент «Кнопка с удержанием» бесплатный?
Да. Превью открыто без регистрации, а с бесплатным аккаунтом можно скопировать до 20 компонентов в месяц.

Для разработчика

npx shadcn@latest add https://vibeui.ru/r/pro/button-073.json

Команде нужна подписанная ссылка: войдите и откройте «Исходник компонента» ниже — там рабочая ссылка на 30 минут. Все способы установки

Технические заметки

Компонент самодостаточен: один файл, без зависимостей, собственная палитра в локальных переменных --vibeui-button-073-*. Заливка — отдельный слой со scale по оси X и transform-origin слева: анимировать width значило бы перекладывать раскладку каждый кадр. Длительность приходит переменной --vibeui-button-073-hold из пропа duration, поэтому CSS-переход и таймер JS не расходятся. Состояний три: idle, holding, done; done держится 1400 мс и сам возвращается в idle. Указатель и клавиатура работают одинаково: pointerdown и keydown начинают, pointerup, pointerleave, pointercancel и keyup отменяют. Тема берётся из окружения через light-dark() плюс правило для класса .dark.

Теги

  • button
  • hold
  • confirm
  • progress
  • destructive
Исходник компонента

Тот же файл, который поставит агент. Нужен, если вы предпочитаете скопировать код руками.

Загружается…