1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26import 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'];
variant?: string;
}