Контакты

Форма с вложением

Обращение в поддержку с пунктирной зоной вложения: label растягивает клик на всю область, а видимый нативный input сам показывает имя выбранного файла.

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

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

  • dropTitle, dropHint и accept у input
  • title, description и eyebrow
  • submitLabel и responseNote

Собран из

Команда установки поставит и эти компоненты. Блок задаёт им только пропсы: их палитра и поведение — свои.

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

Превью

1440pxТема страницы
Форма с вложением — Обращение в поддержку с пунктирной зоной вложения: label растягивает клик на всю область, а видимый нативный input сам показывает имя выбранного файла.

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

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

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

https://vibeui.ru/c/contact-012?theme=dark

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

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

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

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

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

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

<Contact012 dropTitle="Выберите файл или перетащите его на кнопку" dropHint="PNG, PDF или ZIP до 10 МБ" submitLabel="Отправить обращение" />

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

Настройки

Заголовок
title · по умолчанию: Покажите проблему файлом
Подпись кнопки
submitLabel · по умолчанию: Отправить обращение
Акцент
accent · по умолчанию: цвет темы
Подложка
background · по умолчанию: цвет темы

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

Как установить компонент «Форма с вложением» через Cursor или Claude Code?
Нажмите «Копировать для ИИ» на этой странице и вставьте текст в чат агента. В инструкции команда установки через shadcn CLI, зависимости и что сохранить — агент поставит именно этот компонент, а не перерисует похожий.
Какие зависимости у компонента «Форма с вложением»?
Никаких npm-пакетов, кроме React и Tailwind CSS. Вместе с ним ставятся компоненты каталога: input-001, input-034, button-001, heading-001.
Что можно поменять в компоненте «Форма с вложением»?
Можно менять: dropTitle, dropHint и accept у input; title, description и eyebrow; submitLabel и responseNote. Сохранить как есть: импорты input-001, input-034, button-001, heading-001 из @/components/vibeui/ — не встраивать их код в блок и не заменять своими; частям уходят только пропсы; локальную палитру --vibeui-contact-012-* и не подменять её токенами вашей темы; видимый нативный input file: спрятанный контрол лишает пользователя имени выбранного файла.
Компонент «Форма с вложением» бесплатный?
Да. Превью открыто без регистрации, а с бесплатным аккаунтом можно скопировать до 20 компонентов в месяц.

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

npx shadcn@latest add https://vibeui.ru/r/pro/contact-012.json

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

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

Составной блок: импортирует input-001, input-034, button-001, heading-001 из @/components/vibeui/ — команда установки приносит их вместе с блоком. Блок владеет раскладкой и своим текстом, частям передаёт только пропсы, их палитры --vibeui-<name>-* не трогает. Блок самодостаточен: один файл, без npm-зависимостей, собственная палитра в локальных переменных --vibeui-contact-012-*. Серверный: дропзона — label вокруг нативного input type="file": клик по всей пунктирной области открывает диалог, кнопка выбора стилизована через ::file-selector-button, а имя выбранного файла показывает сам нативный контрол — без JS его иначе не показать. Фокус на зоне виден через :has(input:focus-visible), ошибки полей — по :user-invalid.

Теги

  • contact
  • form
  • upload
  • attachment
  • composite
Исходник компонента

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

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