@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
31 lines (30 loc) • 894 B
TypeScript
import { InjectionKey } from 'vue';
export type CarouselArrowType = 'outside' | 'inside' | 'none';
export type CarouselArrowTrigger = 'hover' | 'always';
export type CarouselPointerType = 'outside' | 'inside' | 'none';
export interface ItemState {
label: number;
width: number;
height: number;
offset: number;
}
export interface CarouselState {
vertical: boolean;
increaseItem: (item: ItemState) => void;
decreaseItem: (item: ItemState) => void;
isItemActive: (label: number) => boolean;
handleSelect: (label: number) => void;
}
export interface CarouselSlots {
default?: () => any;
prevArrow?: (params: {
disabled: boolean;
}) => any;
nextArrow?: (params: {
disabled: boolean;
}) => any;
pointer?: (params: {
active: boolean;
}) => any;
}
export declare const CAROUSEL_STATE: InjectionKey<CarouselState>;