3D и WebGLНовое

Карусель-куб

Слайды лежат на гранях 3D-куба, и он поворачивается к следующему. Листать можно кнопками, перетаскиванием или автоматически.

Настройки

faceColor
edgeColor

Основано на Box Carousel (MIT лицензия) · Условия использования

Параметры

18 параметров
ПараметрТипПо умолчаниюОписание
items{ id: string; type: 'image' | 'video'; src: string; alt?: string; poster?: string }[]—Слайды: картинки или видео.
widthnumber280Ширина куба, в пикселях.
heightnumber200Высота куба, в пикселях.
direction'top' | 'bottom' | 'left' | 'right'"left"В какую сторону поворачивается куб.
perspectivenumber600Глубина перспективы: меньше значит сильнее 3D.
autoPlaybooleanfalseЛистать слайды автоматически.
autoPlayIntervalnumber3000Пауза между автопереходами, в миллисекундах.
enableDragbooleantrueРазрешить поворот перетаскиванием.
dragSensitivitynumber0.5Насколько сильно куб поворачивается при перетаскивании.
transitionValueAnimationOptions"{ duration: 1.25, ease: [0.953, 0.001, 0.019, 0.995] }"Анимация поворота по кнопке.
snapTransitionValueAnimationOptions"{ type: 'spring', damping: 30, stiffness: 200 }"Как куб встаёт на место после перетаскивания.
dragSpring{ stiffness?: number; damping?: number; mass?: number }"{ stiffness: 200, damping: 30 }"Пружина во время перетаскивания.
debugbooleanfalseПодсветить грани куба для отладки.
onIndexChange(index: number) => void—Вызывается при смене слайда.
ref{ next(): void; prev(): void; getCurrentItemIndex(): number }—Управление каруселью из кода.
faceColorstring"#171717"Фон граней куба. Виден за прозрачными картинками и пока они грузятся.
edgeColorstring"rgba(255, 255, 255, 0.1)"Тонкая рамка по краю каждой грани.
classNamestring—Дополнительные классы.

Зависимости

Пакетов: 3

npm install motion clsx tailwind-merge

Похожие компоненты

Смотреть все