From 3cb4dc9e5538e1c2bde9fa691b001615a848c546 Mon Sep 17 00:00:00 2001 From: Johnson Chu Date: Fri, 5 May 2023 17:12:51 +0800 Subject: [PATCH] feat(types): add slots types for built-in components (#6033) --- packages/runtime-core/src/components/BaseTransition.ts | 3 +++ packages/runtime-core/src/components/KeepAlive.ts | 3 +++ packages/runtime-core/src/components/Suspense.ts | 8 +++++++- packages/runtime-core/src/components/Teleport.ts | 7 ++++++- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/runtime-core/src/components/BaseTransition.ts b/packages/runtime-core/src/components/BaseTransition.ts index 043b9736525..a4e862335eb 100644 --- a/packages/runtime-core/src/components/BaseTransition.ts +++ b/packages/runtime-core/src/components/BaseTransition.ts @@ -283,6 +283,9 @@ if (__COMPAT__) { export const BaseTransition = BaseTransitionImpl as unknown as { new (): { $props: BaseTransitionProps + $slots: { + default(): VNode[] + } } } diff --git a/packages/runtime-core/src/components/KeepAlive.ts b/packages/runtime-core/src/components/KeepAlive.ts index d5813f90e09..8c1b6318887 100644 --- a/packages/runtime-core/src/components/KeepAlive.ts +++ b/packages/runtime-core/src/components/KeepAlive.ts @@ -344,6 +344,9 @@ export const KeepAlive = KeepAliveImpl as any as { __isKeepAlive: true new (): { $props: VNodeProps & KeepAliveProps + $slots: { + default(): VNode[] + } } } diff --git a/packages/runtime-core/src/components/Suspense.ts b/packages/runtime-core/src/components/Suspense.ts index aef62db4a31..fd6a7e0fac8 100644 --- a/packages/runtime-core/src/components/Suspense.ts +++ b/packages/runtime-core/src/components/Suspense.ts @@ -104,7 +104,13 @@ export const Suspense = (__FEATURE_SUSPENSE__ ? SuspenseImpl : null) as unknown as { __isSuspense: true - new (): { $props: VNodeProps & SuspenseProps } + new (): { + $props: VNodeProps & SuspenseProps + $slots: { + default(): VNode[] + fallback(): VNode[] + } + } } function triggerEvent( diff --git a/packages/runtime-core/src/components/Teleport.ts b/packages/runtime-core/src/components/Teleport.ts index f9f845298dc..6e66d0444f9 100644 --- a/packages/runtime-core/src/components/Teleport.ts +++ b/packages/runtime-core/src/components/Teleport.ts @@ -393,7 +393,12 @@ function hydrateTeleport( // Force-casted public typing for h and TSX props inference export const Teleport = TeleportImpl as unknown as { __isTeleport: true - new (): { $props: VNodeProps & TeleportProps } + new(): { + $props: VNodeProps & TeleportProps + $slots: { + default(): VNode[] + } + } } function updateCssVars(vnode: VNode) {