Files
better-auth/examples/nuxt-example/components/ui/carousel/interface.ts
2024-09-27 13:36:20 +03:00

25 lines
736 B
TypeScript

import type { HTMLAttributes, UnwrapRef } from "vue";
import type useEmblaCarousel from "embla-carousel-vue";
import type { EmblaCarouselVueType } from "embla-carousel-vue";
type CarouselApi = EmblaCarouselVueType[1];
type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
type CarouselOptions = UseCarouselParameters[0];
type CarouselPlugin = UseCarouselParameters[1];
export type UnwrapRefCarouselApi = UnwrapRef<CarouselApi>;
export interface CarouselProps {
opts?: CarouselOptions;
plugins?: CarouselPlugin;
orientation?: "horizontal" | "vertical";
}
export interface CarouselEmits {
(e: "init-api", payload: UnwrapRefCarouselApi): void;
}
export interface WithClassAsProps {
class?: HTMLAttributes["class"];
}