/* eslint-disable tailwindcss/no-custom-classname */ /* eslint-disable react/no-array-index-key */ import "swiper/css"; import "swiper/css/pagination"; import "swiper/css/navigation"; import "./carousel.css"; import React from "react"; import { Navigation, Pagination } from "swiper/modules"; import { Swiper, SwiperSlide } from "swiper/react"; import { cn } from "@/libs/utils"; import LIcon from "../lucid-icon/lucid-icon"; export interface CarouselProps { navigation?: boolean; sliderPerView?: number; autoplay?: boolean; loop?: boolean; paginationClickable?: boolean; spaceBetween?: number; pagination?: boolean; navigationState?: "in" | "out"; children: React.ReactNode; wrapperClassName?: React.ComponentProps<"div">["className"]; className?: React.ComponentProps<"div">["className"]; containerModifierClass?: string; initialSlide?: number; } const Carousel: React.FC = ({ navigation = true, sliderPerView = 1, autoplay = false, loop = false, paginationClickable = true, navigationState = "in", wrapperClassName, className, children, pagination = true, spaceBetween = 0, containerModifierClass, initialSlide = 0, }) => { return (
{React.Children.map(children, (child) => { if (React.isValidElement(child)) { return ( {child} ); } return null; })} {navigation && (
)}
); }; export { Carousel };