veui
Version:
Baidu Enterprise UI for Vue.js.
55 lines (45 loc) • 1.06 kB
TypeScript
import {
VeuiDefineComponent,
VeuiDefineInstance,
LooseObject,
UiMixin,
Promisify
} from '../common'
import { CarouselCommonProps, Item } from './carousel'
export type BeforeClose = () => Promisify<boolean | void>
export type PreviewOptions = LooseObject<{
video?: LooseObject<{
muted?: boolean
autoplay?: boolean
controls?: boolean
}>
}>
type Props<T extends Item> = CarouselCommonProps<T> & {
open?: boolean
closable?: boolean
escapable?: boolean
beforeClose?: BeforeClose
priority?: number
indicator?: 'number' | 'none'
options?: PreviewOptions
outsideClosable?: boolean
}
type Emits = {
close(): void
afterclose(): void
}
type Mixins = UiMixin
type SlotScope = LooseObject<Item> & { index: number }
type Slots = {
item(slotProps: SlotScope & { preload: boolean }): unknown
desc(slotProps: SlotScope): unknown
}
type Lightbox = VeuiDefineComponent<{
new <T extends Item = Item>(...args: any[]): VeuiDefineInstance<
Props<T>,
Emits,
Slots,
Mixins
>
}>
export default Lightbox