@@ -30,26 +30,17 @@ export type ModalSlot = string | Component | ModalSlotOptions
3030## UseModalOptions
3131
3232` ` ` ts
33- export type UseModalOptions = {
33+ export type UseModalOptions < P > = {
3434 defaultModelValue? : boolean
3535 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 )
4538 slots? : {
46- default: ModalSlot
4739 [key : string ]: ModalSlot
4840 }
4941}
5042` ` `
5143
52-
5344## UseModalOptionsPrivate
5445
5546` ` ` ts
@@ -64,11 +55,11 @@ export type UseModalOptionsPrivate = {
6455## UseModalReturnType
6556
6657` ` ` ts
67- export interface UseModalReturnType {
68- options: UseModalOptions & UseModalOptionsPrivate
58+ export interface UseModalReturnType < P > {
59+ options: UseModalOptions < P > & UseModalOptionsPrivate
6960 open: () => Promise <string >
7061 close: () => Promise <string >
71- patchOptions: IOverloadedPatchOptionsFn
62+ patchOptions: ( options : Partial < Omit < UseModalOptions < P >, ' defaultModelValue ' | ' context ' >>) => void
7263 destroy: () => void
7364}
7465```
@@ -80,7 +71,7 @@ export type Vfm = {
8071 install(app : App ): void
8172 modals: ComputedRef <Modal >[]
8273 openedModals: ComputedRef <Modal >[]
83- dynamicModals: (UseModalOptions & UseModalOptionsPrivate )[]
74+ dynamicModals: (UseModalOptions < any > & UseModalOptionsPrivate )[]
8475 modalsContainers: Ref <symbol []>
8576 get: (modalId : ModalId ) => undefined | ComputedRef <Modal >
8677 toggle: (modalId : ModalId , show ? : boolean ) => undefined | Promise <string >
0 commit comments