@@ -23,59 +23,51 @@ export type StyleValue = string | CSSProperties | (string | CSSProperties)[]
23
23
## ModalSlot
24
24
25
25
` ` ` ts
26
- export type ModalSlot <T extends Record <string , any > = {}> = string | Component | {
27
- component: Component
28
- attrs? : T
29
- }
26
+ interface UseModalOptionsBase { component: Raw <Component >; attrs? : Record <string , any > }
27
+ type ModalSlot = string | Component | UseModalOptionsBase
30
28
` ` `
31
29
32
- ## UseModalOptionsPrivate
30
+ ## UseModalOptionsSlots
33
31
34
32
` ` ` ts
35
- export type UseModalOptionsPrivate <
36
- ModalProps extends ComponentProps = {},
37
- DefaultSlotProps extends ComponentProps = {},
38
- > = {
39
- defaultModelValue? : boolean
40
- context? : Vfm
41
- component: Component
42
- attrs? : ModalProps
43
- slots? : {
44
- default: ModalSlot <DefaultSlotProps >
33
+ export type UseModalOptionsSlots = {
34
+ slots? : string | Component | {
35
+ default: ModalSlot
45
36
[key : string ]: ModalSlot
46
37
}
47
-
48
- id? : symbol
49
- modelValue? : boolean
50
- resolveOpened? : () => void
51
- resolveClosed? : () => void
52
38
}
53
39
` ` `
54
40
55
41
## UseModalOptions
56
42
57
43
` ` ` ts
58
- export type UseModalOptions <
59
- ModalProps extends ComponentProps ,
60
- DefaultSlotProps extends ComponentProps = {},
61
- > = Pick <
62
- UseModalOptionsPrivate <ModalProps , DefaultSlotProps >,
63
- | ' defaultModelValue'
64
- | ' context'
65
- | ' component'
66
- | ' attrs'
67
- | ' slots'
68
- >
44
+ export type UseModalOptions = {
45
+ defaultModelValue? : boolean
46
+ context? : Vfm
47
+ component: Raw <Component >
48
+ attrs? : Record <string , any >
49
+ } & UseModalOptionsSlots
50
+ ` ` `
51
+
52
+ ## UseModalOptionsPrivate
53
+
54
+ ` ` ` ts
55
+ export type UseModalOptionsPrivate = {
56
+ id: symbol
57
+ modelValue: boolean
58
+ resolveOpened: () => void
59
+ resolveClosed: () => void
60
+ }
69
61
` ` `
70
62
71
63
## UseModalReturnType
72
64
73
65
` ` ` ts
74
- export type UseModalReturnType < ModalProps extends ComponentProps , DefaultSlotProps extends ComponentProps > = {
75
- options: UseModalOptions < ModalProps , DefaultSlotProps >
76
- open: () => Promise <unknown >
77
- close: () => Promise <unknown >
78
- patchOptions: ( options : UseModalOptions < ModalProps , DefaultSlotProps >) => void
66
+ export interface UseModalReturnType {
67
+ options: UseModalOptions & UseModalOptionsPrivate
68
+ open: () => Promise <string >
69
+ close: () => Promise <string >
70
+ patchOptions: IOverloadedPatchOptionsFn
79
71
destroy: () => void
80
72
}
81
73
```
@@ -87,7 +79,7 @@ export type Vfm = {
87
79
install(app : App ): void
88
80
modals: ComputedRef <Modal >[]
89
81
openedModals: ComputedRef <Modal >[]
90
- dynamicModals: UseModalOptionsPrivate <{}, {}> []
82
+ dynamicModals: ( UseModalOptions & UseModalOptionsPrivate ) []
91
83
modalsContainers: Ref <symbol []>
92
84
get: (modalId : ModalId ) => undefined | ComputedRef <Modal >
93
85
toggle: (modalId : ModalId , show ? : boolean ) => undefined | Promise <string >
0 commit comments