@szum-tech/design-system
Version:
Szum-Tech design system with tailwindcss support
47 lines (39 loc) • 2.31 kB
TypeScript
import * as React from 'react';
import useEmblaCarousel, { UseEmblaCarouselType } from 'embla-carousel-react';
import { Button } from '../button/index.js';
import 'class-variance-authority';
import 'class-variance-authority/types';
type CarouselApi = UseEmblaCarouselType[1];
type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
type CarouselOptions = UseCarouselParameters[0];
type CarouselPlugin = UseCarouselParameters[1];
type CarouselContextProps = {
carouselRef: ReturnType<typeof useEmblaCarousel>[0];
api: ReturnType<typeof useEmblaCarousel>[1];
scrollPrev: () => void;
scrollNext: () => void;
canScrollPrev: boolean;
canScrollNext: boolean;
opts?: CarouselOptions;
plugins?: CarouselPlugin;
orientation?: "horizontal" | "vertical";
setApi?: (api: CarouselApi) => void;
};
declare const CarouselContext: React.Context<CarouselContextProps>;
declare function useCarousel(): CarouselContextProps;
type CarouselProps = React.ComponentProps<"div"> & {
opts?: CarouselOptions;
plugins?: CarouselPlugin;
orientation?: "horizontal" | "vertical";
setApi?: (api: CarouselApi) => void;
};
declare function Carousel({ orientation, opts, setApi, plugins, className, children, ...props }: CarouselProps): React.JSX.Element;
type CarouselContentProps = React.ComponentProps<"div">;
declare function CarouselContent({ className, ...props }: CarouselContentProps): React.JSX.Element;
type CarouselItemProps = React.ComponentProps<"div">;
declare function CarouselItem({ className, ...props }: CarouselItemProps): React.JSX.Element;
type CarouselPreviousProps = React.ComponentProps<typeof Button>;
declare function CarouselPrevious({ className, variant, size, ...props }: CarouselPreviousProps): React.JSX.Element;
type CarouselNextProps = React.ComponentProps<typeof Button>;
declare function CarouselNext({ className, variant, size, ...props }: CarouselNextProps): React.JSX.Element;
export { Carousel, type CarouselApi, CarouselContent, type CarouselContentProps, CarouselContext, type CarouselContextProps, CarouselItem, type CarouselItemProps, CarouselNext, type CarouselNextProps, type CarouselOptions, type CarouselPlugin, CarouselPrevious, type CarouselPreviousProps, type CarouselProps, type UseCarouselParameters, useCarousel };