hongluan-ui
Version:
Hongluan Component Library for Vue 3
38 lines (37 loc) • 1.33 kB
TypeScript
import type { InjectionKey, Ref } from 'vue';
import type { CarouselItemProps } from 'hongluan-ui/es/components/carousel';
export declare type CarouselItemStates = {
hover: boolean;
translate: number;
scale: number;
active: boolean;
ready: boolean;
inStage: boolean;
animating: boolean;
};
export declare type CarouselItemContext = {
props: CarouselItemProps;
states: CarouselItemStates;
uid: number;
translateItem: (index: number, activeIndex: number, oldIndex?: number, distance?: number, isAnimating?: boolean) => void;
};
export declare type CarouselContext = {
root: Ref<HTMLElement | undefined>;
direction: string;
type: string;
showMultiple: Ref<boolean>;
itemsWidth: string | number;
itemsWidthUnit: string;
items: Ref<CarouselItemContext[]>;
loop: boolean;
addItem: (item: CarouselItemContext) => void;
removeItem: (uid: number) => void;
setActiveItem: (index: number) => void;
};
export declare type CarouselIndicatorContext = {
activeIndex: Ref<number>;
handleIndicatorClick: (index: number) => void;
throttledIndicatorHover: (index: number) => void;
};
export declare const carouselContextKey: InjectionKey<CarouselContext>;
export declare const carouselIndicatorContextKey: InjectionKey<CarouselIndicatorContext>;