@@ -30,26 +30,17 @@ export type ModalSlot = string | Component | ModalSlotOptions
30
30
## UseModalOptions
31
31
32
32
` ` ` ts
33
- export type UseModalOptions = {
33
+ export type UseModalOptions < P > = {
34
34
defaultModelValue? : boolean
35
35
context? : Vfm
36
- component? : Raw <Component >
37
- attrs? : Record <string , any >
38
- } & UseModalOptionsSlots
39
- ` ` `
40
-
41
- ## UseModalOptionsSlots
42
-
43
- ` ` ` ts
44
- export type UseModalOptionsSlots = {
36
+ component? : Constructor <P >
37
+ attrs? : (RawProps & P ) | ({} extends P ? null : never )
45
38
slots? : {
46
- default: ModalSlot
47
39
[key : string ]: ModalSlot
48
40
}
49
41
}
50
42
` ` `
51
43
52
-
53
44
## UseModalOptionsPrivate
54
45
55
46
` ` ` ts
@@ -64,11 +55,11 @@ export type UseModalOptionsPrivate = {
64
55
## UseModalReturnType
65
56
66
57
` ` ` ts
67
- export interface UseModalReturnType {
68
- options: UseModalOptions & UseModalOptionsPrivate
58
+ export interface UseModalReturnType < P > {
59
+ options: UseModalOptions < P > & UseModalOptionsPrivate
69
60
open: () => Promise <string >
70
61
close: () => Promise <string >
71
- patchOptions: IOverloadedPatchOptionsFn
62
+ patchOptions: ( options : Partial < Omit < UseModalOptions < P >, ' defaultModelValue ' | ' context ' >>) => void
72
63
destroy: () => void
73
64
}
74
65
```
@@ -80,7 +71,7 @@ export type Vfm = {
80
71
install(app : App ): void
81
72
modals: ComputedRef <Modal >[]
82
73
openedModals: ComputedRef <Modal >[]
83
- dynamicModals: (UseModalOptions & UseModalOptionsPrivate )[]
74
+ dynamicModals: (UseModalOptions < any > & UseModalOptionsPrivate )[]
84
75
modalsContainers: Ref <symbol []>
85
76
get: (modalId : ModalId ) => undefined | ComputedRef <Modal >
86
77
toggle: (modalId : ModalId , show ? : boolean ) => undefined | Promise <string >
0 commit comments