Skip to content

Компоненти — огляд ​

vue-dev-kit містить 21 UI-компонент із єдиним фірмовим стилем Skyservice. Усі імпортуються з кореня пакета й кастомізуються через CSS-змінні.

ts
import '@skyservice-developers/vue-dev-kit/style.css'
import { SkyButton, Modal, SkyCard /* ... */ } from '@skyservice-developers/vue-dev-kit'

Каталог ​

Layout ​

КомпонентПризначення
HeaderШапка сторінки з back-кнопкою, дропдауном розділів, слотом для дій
ModalМодальне вікно з оверлеєм, скролом, футером
DialogПовноекранний діалог (стилі next / classic)

Форми ​

КомпонентПризначення
SkyButtonКнопка: 4 варіанти, loading/disabled, block, icon
SkyInputТекстовий інпут зі станами default/success/error
SkySearchInputПоле пошуку з очищенням і режимом collapsible
SkySelectКастомний select із клавіатурною навігацією
SkySelectSearchSelect із пошуком у дропдауні (для довгих списків)
SkyCheckboxЧекбокс або switch, boolean / масив
SkyTabsСегментовані таби з анімованим індикатором

Дані та статуси ​

КомпонентПризначення
SkyDataTableГрід на TanStack Table v9: сортування, пошук, вибір, пагінація
Примітиви таблиціSkyTableRoot / Header / Head / Body / Row / Cell + композабли
SkyTableСтара віртуал-скрол таблиця POS: масові дії, inline-редагування
SkyCardShell-контейнер картки (+ SkyCardHeader, SkyCardRow)
SkyTileCardТайл-картка для списків інтеграцій/додатків
SkyAlertІнформаційне повідомлення (4 тональності)
SkyBadgeКомпактний статус-лейбл із крапкою
SkyLoaderФірмовий лоадер із двома кільцями

Features ​

КомпонентПризначення
SkyCheckboxFilterКнопка-фільтр із дропдауном, пошуком і мульти-вибором

Сповіщення ​

КомпонентПризначення
NotificationElementWeb Component для тостів + notificationModule

Спільні конвенції ​

  • v-model — інтерактивні компоненти (Modal, Dialog, SkySelect, SkyInput, SkyCheckbox) працюють через v-model.
  • Стани — форми підтримують disabled та (де доречно) state: 'default' | 'success' | 'error'.
  • Слоти замість пропсів — контент (іконки, кнопки, заголовки) передається слотами, а не рядковими пропсами, де потрібна гнучкість.
  • Тематизація через CSS — кольори/радіуси/відступи задаються лише CSS-змінними, не пропсами.

Демо ​

Усі компоненти в одному місці — на сторінці Галерея: живі, клікабельні, з посиланням на сторінку кожного.

Локально документація піднімається так:

bash
npm run docs:dev

Опубліковано під ліцензією MIT.