UNPKG

veui

Version:

Baidu Enterprise UI for Vue.js.

68 lines (59 loc) 1.41 kB
import { VeuiDefineComponent, VeuiDefineInstance, LooseObject, CarouselMixin } from '../common' export type Item = { src: string label?: string alt?: string type?: 'video' | 'image' } export type CarouselCommonProps<T extends Item> = { datasource?: Array<T> index?: number wrap?: boolean lazy?: boolean | { preload: number } } type Props<T extends Item> = CarouselCommonProps<T> & { indicator?: 'bar' | 'radio' | 'number' | 'none' | 'dot' indicatorAlign?: 'start' | 'end' indicatorPosition?: 'inside' | 'outside' controlsPosition?: 'inside' | 'outside' controls?: boolean switchTrigger?: 'hover' | 'click' // keyField?: string autoplay?: boolean pauseOnHover?: boolean interval?: number effect?: 'fade' | 'slide' slidesPerView?: number slidesPerGroup?: number vertical?: boolean slideAspectRatio?: string | number options?: { video?: { muted?: boolean autoplay?: boolean controls?: boolean loop?: boolean [key: keyof any]: unknown } [key: keyof any]: unknown } } type Emits = {} // change 也在 mixin 中 type Mixins = CarouselMixin // ui 也在 type Slots = { item(slotProps: { item: LooseObject<Item> }): unknown } type Carousel = VeuiDefineComponent<{ new <T extends Item = Item>(...args: any[]): VeuiDefineInstance< Props<T>, Emits, Slots, Mixins > }> export default Carousel