feat(Modal): open programmatically (#1319)

This commit is contained in:
Neil Richter
2024-02-07 16:53:17 +01:00
committed by GitHub
parent 98a2d0f1af
commit 6f29c620ab
11 changed files with 168 additions and 0 deletions

14
src/runtime/types/component.d.ts vendored Normal file
View File

@@ -0,0 +1,14 @@
export type ComponentProps<T> =
T extends new () => { $props: infer P } ? NonNullable<P> :
T extends (props: infer P, ...args: any) => any ? P :
{}
export type ComponentSlots<T> =
T extends new () => { $slots: infer S } ? NonNullable<S> :
T extends (props: any, ctx: { slots: infer S; attrs: any; emit: any }, ...args: any) => any ? NonNullable<S> :
{}
export type ComponentEmit<T> =
T extends new () => { $emit: infer E } ? NonNullable<E> :
T extends (props: any, ctx: { slots: any; attrs: any; emit: infer E }, ...args: any) => any ? NonNullable<E> :
{}

View File

@@ -16,6 +16,7 @@ export * from './input'
export * from './kbd'
export * from './link'
export * from './meter'
export * from './modal'
export * from './notification'
export * from './popper'
export * from './progress'

18
src/runtime/types/modal.d.ts vendored Normal file
View File

@@ -0,0 +1,18 @@
import type { Component } from 'vue'
export interface Modal {
appear?: boolean
overlay?: boolean
transition?: boolean
preventClose?: boolean
fullscreen?: boolean
class?: string | Object | string[]
ui?: any
onClose?: () => void
onClosePrevented?: () => void
}
export interface ModalState {
component: Component | string
props: Modal
}