Списки выбора

Список по ширине содержимого

Select, чья ширина рассчитана от самого длинного варианта в символах, а не задана фиксированной величиной и не растянута на всю ширину родителя — короткий список даёт короткое поле.

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

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

  • подпись поля через label
  • состав вариантов через options
  • потолок ширины в символах через maxWidthCh

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

Превью

1440pxТема страницы
Список по ширине содержимого — Select, чья ширина рассчитана от самого длинного варианта в символах, а не задана фиксированной величиной и не растянута на всю ширину родителя — короткий список даёт короткое поле.

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

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

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

https://vibeui.ru/c/select-033?theme=dark

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

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

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

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

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

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

<Select033
  label="Страна"
  maxWidthCh={20}
/>

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

Настройки

Подпись
label · по умолчанию: Страна
Потолок ширины (ch)
maxWidthCh · по умолчанию: 28
Акцент
accent · по умолчанию: цвет темы
Фон
background · по умолчанию: цвет темы

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

Как установить компонент «Список по ширине содержимого» через Cursor или Claude Code?
Нажмите «Копировать для ИИ» на этой странице и вставьте текст в чат агента. В инструкции команда установки через shadcn CLI, зависимости и что сохранить — агент поставит именно этот компонент, а не перерисует похожий.
Какие зависимости у компонента «Список по ширине содержимого»?
Никаких npm-пакетов, кроме React и Tailwind CSS.
Что можно поменять в компоненте «Список по ширине содержимого»?
Можно менять: подпись поля через label; состав вариантов через options; потолок ширины в символах через maxWidthCh. Сохранить как есть: локальную палитру --vibeui-select-033-* — не заменять её токенами темы проекта; расчёт ширины от длины текста вариантов в ch, а не фиксированное значение — при смене options ширина обязана пересчитаться сама; потолок maxWidthCh: без него один длинный вариант в списке растягивает поле на всю строку.
Компонент «Список по ширине содержимого» бесплатный?
Да. Превью открыто без регистрации, а с бесплатным аккаунтом можно скопировать до 20 компонентов в месяц.

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

npx shadcn@latest add https://vibeui.ru/r/pro/select-033.json

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

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

Серверный компонент без клиентского состояния. Ширина считается на этапе рендера: reduce находит длину самого длинного label в options, значение зажимается между 4 и maxWidthCh и уходит в CSS-переменную --vibeui-select-033-content-width через inline style. Сам select использует width:min(100%, calc(var(...) + 3rem)) — запас в 3rem покрывает отступы и стрелку. defaultValue передаётся напрямую в нативный select, компонент неконтролируемый. Палитра в --vibeui-select-033-*.

Теги

  • select
  • width
  • layout
  • native
Исходник компонента

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

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