Package Exports
- @reelkit/core
- @reelkit/core/package.json
Readme
@reelkit/core
Framework-agnostic slider engine with zero dependencies. Provides virtualized rendering, gesture recognition, keyboard/wheel controllers, and a lightweight signal-based reactive system.
Installation
npm install @reelkit/coreQuick Start
import { createSliderController } from '@reelkit/core';
const slider = createSliderController({
count: 100,
direction: 'vertical',
});
// Navigate
slider.next();
slider.prev();
slider.goTo(5);
// Read state via signals
console.log(slider.currentIndex.value); // 5
// Subscribe to changes
slider.currentIndex.subscribe((index) => {
console.log('Slide changed:', index);
});Features
- Virtualized — renders only 3 slides at a time, handles 10,000+ items
- Zero dependencies — ~4.7 kB gzip
- Controller pattern — factory functions (
createSliderController,createGestureController,createKeyboardController,createWheelController) - Signal-based reactivity — lightweight
Signal,ComputedSignal, andreactionprimitives - Touch gestures — swipe with momentum, configurable thresholds
- Keyboard & wheel — full navigation support with debouncing
- Loop mode — infinite circular scrolling
- Auto-size — optional ResizeObserver-based sizing
- TypeScript — full type safety
Documentation
Full API reference and guides at reelkit.dev.