From 7254c354570ccf17173b9bf5af62ca2ffae20ae3 Mon Sep 17 00:00:00 2001 From: Johnson Chu Date: Mon, 30 May 2022 23:08:38 +0800 Subject: [PATCH 1/2] feat(types): add slots types for `Suspense` --- packages/runtime-core/src/components/Suspense.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/runtime-core/src/components/Suspense.ts b/packages/runtime-core/src/components/Suspense.ts index 8408cab388d..42c68c5f8f7 100644 --- a/packages/runtime-core/src/components/Suspense.ts +++ b/packages/runtime-core/src/components/Suspense.ts @@ -91,7 +91,13 @@ export const SuspenseImpl = { // Force-casted public typing for h and TSX props inference export const Suspense = (__FEATURE_SUSPENSE__ ? SuspenseImpl : null) as any as { __isSuspense: true - new (): { $props: VNodeProps & SuspenseProps } + new (): { + $props: VNodeProps & SuspenseProps + $slots: { + default(): VNode[] + fallback(): VNode[] + } + } } function triggerEvent( From e2c8bc8a36a666eb188b02b947b51db7b90f967e Mon Sep 17 00:00:00 2001 From: johnsoncodehk Date: Thu, 16 Jun 2022 13:15:10 +0800 Subject: [PATCH 2/2] feat: add `$slots` type for Teleport, KeepAlive, BaseTransition --- packages/runtime-core/src/components/BaseTransition.ts | 3 +++ packages/runtime-core/src/components/KeepAlive.ts | 3 +++ packages/runtime-core/src/components/Teleport.ts | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/runtime-core/src/components/BaseTransition.ts b/packages/runtime-core/src/components/BaseTransition.ts index 53c3e85390a..b8c65eaa3d1 100644 --- a/packages/runtime-core/src/components/BaseTransition.ts +++ b/packages/runtime-core/src/components/BaseTransition.ts @@ -279,6 +279,9 @@ if (__COMPAT__) { export const BaseTransition = BaseTransitionImpl as any 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 3fec48140fc..b44b876b6a1 100644 --- a/packages/runtime-core/src/components/KeepAlive.ts +++ b/packages/runtime-core/src/components/KeepAlive.ts @@ -342,6 +342,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/Teleport.ts b/packages/runtime-core/src/components/Teleport.ts index 06b69aff4ec..88377cfc1a0 100644 --- a/packages/runtime-core/src/components/Teleport.ts +++ b/packages/runtime-core/src/components/Teleport.ts @@ -390,5 +390,10 @@ function hydrateTeleport( // Force-casted public typing for h and TSX props inference export const Teleport = TeleportImpl as any as { __isTeleport: true - new (): { $props: VNodeProps & TeleportProps } + new(): { + $props: VNodeProps & TeleportProps + $slots: { + default(): VNode[] + } + } }