๐Ÿ“ฆ directus / website

๐Ÿ“„ interface.ts ยท 26 lines
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;
}