слайдеры
Built by Luneka Lab digital agency
Fade Slider
Мягкий fade-слайдер для постеров, портретов и продуктовых кадров, который легко встраивается в промо-блоки.
Framer MotionReact state
Готовый сниппет для переноса
У каждой демки есть React-компонент, который можно скопировать и адаптировать под HTML embed или кастомный блок в Tilda. Библиотека собрана Luneka Lab как showroom motion-подходов для клиентских сайтов.
Назад в библиотекуЗагрузка сцены
React component
Fade Slider
'use client';
import { AnimatePresence, motion } from 'framer-motion';
import { useState } from 'react';
const slides = ['Aurora', 'Monolith', 'Glass', 'Signal'];
export function FadeSlider() {
const [index, setIndex] = useState(0);
return (
<div className="relative overflow-hidden rounded-[28px] border border-white/10 bg-black p-4">
<AnimatePresence mode="wait">
<motion.div
key={index}
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
exit={{ opacity: 0 }}
className="aspect-[16/10] rounded-[20px] bg-neutral-900"
>
{slides[index]}
</motion.div>
</AnimatePresence>
<div className="mt-4 flex gap-2">
<button onClick={() => setIndex((index - 1 + slides.length) % slides.length)}>Prev</button>
<button onClick={() => setIndex((index + 1) % slides.length)}>Next</button>
</div>
</div>
);
}