veui
Version:
Baidu Enterprise UI for Vue.js.
47 lines (38 loc) • 776 B
TypeScript
import {
VeuiDefineComponent,
VeuiDefineInstance,
LooseObject,
UiMixin,
LinkTo
} from '../common'
type Item = {
to: LinkTo
status?: string
label?: string
desc?: string
}
type Props<T extends Item> = {
steps: Array<T>
current: number
stateless?: boolean
}
type Emits = {
click(index: number, e: MouseEvent): void
}
type Mixins = UiMixin
type SlotScope = LooseObject<Item> & { index: number }
type Slots = {
default(slotProps: SlotScope): unknown
index(slotProps: SlotScope): unknown
label(slotProps: SlotScope): unknown
desc(slotProps: SlotScope): unknown
}
type Steps = VeuiDefineComponent<{
new <T extends Item = Item>(...args: any[]): VeuiDefineInstance<
Props<T>,
Emits,
Slots,
Mixins
>
}>
export default Steps