Встановлення
Встановіть пакети reelkit і налаштуйте проєкт.
Вибір пакета
Встановлюйте лише те, що використовуєте:
| Пакет | Опис | Коли брати |
|---|---|---|
@reelkit/core | Ядро без прив’язки до фреймворку | Власні інтеграції |
@reelkit/stories-core | Рушій історій без прив’язки до фреймворку | Власні інтеграції історій |
@reelkit/react | Компоненти React | Застосунки на React 18+ |
@reelkit/react-reel-player | Повноекранний вертикальний reel-плеєр | Плеєр у стилі Instagram / TikTok |
@reelkit/react-lightbox | Lightbox-галерея зображень | Повноекранний перегляд зображень |
@reelkit/react-stories-player | Плеєр історій у стилі Instagram | Історії з автопрогортанням і жестами |
@reelkit/angular | Автономні компоненти Angular | Застосунки на Angular 19+ |
@reelkit/angular-reel-player | Повноекранний вертикальний reel-плеєр | Плеєр у стилі Instagram / TikTok |
@reelkit/angular-lightbox | Lightbox-галерея зображень | Повноекранний перегляд зображень |
@reelkit/angular-stories-player | Плеєр історій у стилі Instagram | Історії з автопрогортанням і жестами |
@reelkit/vue | Компоненти та композабли для Vue 3 | Застосунки на Vue 3 |
@reelkit/vue-reel-player | Повноекранний вертикальний reel-плеєр | Плеєр у стилі Instagram / TikTok |
@reelkit/vue-lightbox | Lightbox-галерея зображень | Повноекранний перегляд зображень |
@reelkit/vue-stories-player | Плеєр історій у стилі Instagram | Історії з автопрогортанням і жестами |
Розміри бандлів
Усі пакети оптимізовані так, щоб мінімально впливати на розмір бандла:
| Пакет | JS | JS (gzip) | CSS | CSS (gzip) |
|---|---|---|---|---|
@reelkit/core | 29.8 kB | 11.2 kB | - | - |
@reelkit/react | 13.8 kB | 4.9 kB | - | - |
@reelkit/react-reel-player | 17.1 kB | 5.4 kB | 9.7 kB | 2.1 kB |
@reelkit/react-lightbox | 12.7 kB | 4.1 kB | 7.9 kB | 1.6 kB |
@reelkit/react-stories-player | 25.3 kB | 7.5 kB | 9.9 kB | 2.1 kB |
@reelkit/angular | 70.2 kB | 15.8 kB | - | - |
@reelkit/angular-reel-player | 148.1 kB | 24.4 kB | 15.0 kB | 3.5 kB |
@reelkit/angular-lightbox | 113.6 kB | 19.1 kB | 10.2 kB | 2.2 kB |
@reelkit/vue | 15.3 kB | 5.2 kB | - | - |
@reelkit/vue-reel-player | 21.0 kB | 6.2 kB | 9.7 kB | 2.1 kB |
@reelkit/vue-lightbox | 18.2 kB | 4.9 kB | 7.0 kB | 1.4 kB |
@reelkit/vue-stories-player | 25.4 kB | 7.9 kB | 9.9 kB | 2.1 kB |
Порівняння з іншими бібліотеками
ReelKit тримає в DOM лише 3 слайди в будь-який момент і витримує 10 000+ елементів. Інші бібліотеки каруселей рендерять усі слайди, і на великих списках це гальмує.
| Бібліотека | JS (gzip) | Віртуалізація | Примітки |
|---|---|---|---|
| ReelKit (core + react) | 16.1 kB | Нуль залежностей | |
| ReelKit (core + angular) | 27.0 kB | Нуль залежностей | |
| ReelKit (core + vue) | 16.4 kB | Нуль залежностей | |
| Swiper | ~25 kB | Плагін | Повний б андл; підтримує tree-shaking |
| Embla Carousel | ~7 kB | ✗ | Легка, на плагінах |
| keen-slider | ~6 kB | ✗ | Нуль залежностей |
npm
npm install @reelkit/angularyarn
yarn add @reelkit/angularpnpm
pnpm add @reelkit/angularPeer-залежності
Пакети для фреймворків мають peer-залежності, які вже мають бути у вашому проєкті:
@reelkit/react
react>= 18.0.0react-dom>= 18.0.0
@reelkit/react-reel-player
@reelkit/reactreact>= 18.0.0react-dom>= 18.0.0lucide-react>= 0.400.0
@reelkit/react-lightbox
@reelkit/reactreact>= 18.0.0react-dom>= 18.0.0lucide-react>= 0.400.0
@reelkit/react-stories-player
@reelkit/reactreact>= 18.0.0react-dom>= 18.0.0lucide-react>= 0.400.0
@reelkit/angular
@angular/core>= 19.0.0@angular/common>= 19.0.0
@reelkit/angular-reel-player
@reelkit/angular@angular/core>= 19.0.0@angular/common>= 19.0.0lucide-angular>= 0.460.0
@reelkit/angular-lightbox
@reelkit/angular@angular/core>= 19.0.0@angular/common>= 19.0.0lucide-angular>= 0.460.0
@reelkit/angular-stories-player
@reelkit/angular@angular/core>= 19.0.0@angular/common>= 19.0.0lucide-angular>= 0.460.0
@reelkit/vue
vue>= 3.0.0
@reelkit/vue-reel-player
@reelkit/vuevue>= 3.3.0lucide-vue-next>= 0.400.0
@reelkit/vue-lightbox
@reelkit/vuevue>= 3.0.0lucide-vue-next>= 0.400.0
@reelkit/vue-stories-player
@reelkit/vuevue>= 3.3.0lucide-vue-next>= 0.400.0
lucide-react потрібен лише для стандартних іконок. Якщо ви передаєте власні елементи керування та навігацію через renderControls і renderNavigation (renderHeader і renderNavigation у плеєрі історій), встановлювати його не потрібно.
lucide-angular потрібен лише для стандартних іконок. Якщо ви передаєте власні елементи керування та навігацію через слоти шаблону (rkPlayerControls і rkPlayerNavigation, rkLightboxControls і rkLightboxNavigation, rkStoriesHeader і rkStoriesNavigation), встановлювати його не потрібно.
lucide-vue-next потрібен лише для стандартних іконок. Якщо ви передаєте власні елементи керування та навігацію через scoped-слоти #controls і #navigation (#header і #navigation у плеєрі історій), встановлювати його не потрібно.
TypeScript
Усі пакети постачаються з типами TypeScript. Додаткові @types пакети не потрібні.
Підтримка браузерів
reelkit працює в усіх сучасних браузерах:
- Chrome/Edge 88+
- Firefox 78+
- Safari 14+
- iOS Safari 14+
- Android Chrome 88+
Наступні кроки
- Посібник з ядра - рушій без прив’язки до фреймворку
- Посібник для фреймворку - компоненти, демо та інтеграціяПосібник для фреймворку - компоненти, демо та інтеграціяПосібник для фреймворку - компоненти, демо та інтеграція
- Reel Player - відеоплеєр у стилі TikTok / ReelsReel Player - відеоплеєр у стилі TikTok / ReelsReel Player - відеоплеєр у стилі TikTok / Reels
- Lightbox - галерея зображень і відеоLightbox - галерея зображень і відеоLightbox - галерея зображень і відео
- Stories Player - переглядач історій у стилі InstagramStories Player - переглядач історій у стилі InstagramStories Player - переглядач історій у стилі Instagram