@@ -23,59 +23,51 @@ export type StyleValue = string | CSSProperties | (string | CSSProperties)[]
2323## ModalSlot
2424
2525` ` ` 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
3028` ` `
3129
32- ## UseModalOptionsPrivate
30+ ## UseModalOptionsSlots
3331
3432` ` ` 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
4536 [key : string ]: ModalSlot
4637 }
47-
48- id? : symbol
49- modelValue? : boolean
50- resolveOpened? : () => void
51- resolveClosed? : () => void
5238}
5339` ` `
5440
5541## UseModalOptions
5642
5743` ` ` 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+ }
6961` ` `
7062
7163## UseModalReturnType
7264
7365` ` ` 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
7971 destroy: () => void
8072}
8173```
@@ -87,7 +79,7 @@ export type Vfm = {
8779 install(app : App ): void
8880 modals: ComputedRef <Modal >[]
8981 openedModals: ComputedRef <Modal >[]
90- dynamicModals: UseModalOptionsPrivate <{}, {}> []
82+ dynamicModals: ( UseModalOptions & UseModalOptionsPrivate ) []
9183 modalsContainers: Ref <symbol []>
9284 get: (modalId : ModalId ) => undefined | ComputedRef <Modal >
9385 toggle: (modalId : ModalId , show ? : boolean ) => undefined | Promise <string >
0 commit comments