Дії
Кнопки, чипи й панель масових дій
Бібліотека компонентів для Vue і Nuxt, зібрана з продуктових кодових баз. Файл стає вашим після копіювання, а документація пояснює, від якого бага рятує кожне рішення в ньому.
Приклади використання
Не скріншоти: фільтруйте, редагуйте, відкривайте оверлеї, перемикайте тему. Кожен екран — звичайний Vue-файл із тих самих компонентів, що описані в документації.
Метрики з трендом, план місяця й стрічка подій. Числа узгоджені між собою, як у справжньому звіті, а не в макеті.
Спробуйте
Каталог
Кожна сторінка — живий приклад, таблиця API з коду, «коли використовувати» і «коли ні», а також список файлів, які треба скопіювати разом. Крапкою позначено нове в третьому циклі.
Кнопки, чипи й панель масових дій
Поля, вибір, дати, оцінка
Вікна, панелі, меню, тости, галерея
Таблиці, дерева, метрики, стрічки
Навігація, вкладки, панелі, розкладка
Завантаження, порожнеча, прогрес
Клавіші, лічильники, копіювання, команди
Типографіка й редактор
Чому саме так
Бібліотека виросла з продуктів, де ті самі компоненти писали незалежно по кілька разів. Правила нижче — не стиль, а наслідки.
Компонент стає частиною проєкту: правка під екран — це правка файлу, а не форк пакета. Сторінка кожного компонента перелічує, що скопіювати разом із ним.
app/
components/ui/UiRating.vue← компонент
utils/uiFieldStyles.ts← dependsOn
assets/css/tokens.css← раз на проєкт
0
Позиціонування, пастка фокуса, блокування прокрутки, дати — власні. Єдиний свідомий виняток — редактор на TipTap.
bg-card, а не bg-white dark:bg-…. Та сама розмітка тримає обидві теми.
Ролі, клавіатура й видимий фокус перевіряються тестами разом із поведінкою. На телефоні — поля з 16px тексту й цілі дотику 44px.
Modal, Drawer, Lightbox і Confirm ділять шари, лок прокрутки й пастку фокуса — вкладені вікна закриваються по одному.
Як це працюєТаблиці API генеруються з самих компонентів, а десять перевірок валять збірку, щойно сторінка й код розійшлися.
$ bun run check:docs
✓ кожен Ui*.vue має сторінку, і навпаки
✓ кожен props має опис у JSDoc
✓ події звірені з defineEmits в обидва боки
✓ лише зареєстровані токени, жодного dark:
✓ accent і danger тримають AA в обох темах
Як почати