From 3a6f5eb0f7d60dc87d17a69c66e88ae5688b11a5 Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 2 Feb 2023 21:36:36 +0800 Subject: [PATCH] fix(build): ensure BaseTransition functions can be tree-shaken --- .../src/components/BaseTransition.ts | 42 ++++++++++--------- packages/runtime-core/src/index.ts | 3 +- .../runtime-dom/src/components/Transition.ts | 3 +- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/packages/runtime-core/src/components/BaseTransition.ts b/packages/runtime-core/src/components/BaseTransition.ts index affa069c2..043b97365 100644 --- a/packages/runtime-core/src/components/BaseTransition.ts +++ b/packages/runtime-core/src/components/BaseTransition.ts @@ -111,29 +111,31 @@ export function useTransitionState(): TransitionState { const TransitionHookValidator = [Function, Array] +export const BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +} + const BaseTransitionImpl: ComponentOptions = { name: `BaseTransition`, - props: { - mode: String, - appear: Boolean, - persisted: Boolean, - // enter - onBeforeEnter: TransitionHookValidator, - onEnter: TransitionHookValidator, - onAfterEnter: TransitionHookValidator, - onEnterCancelled: TransitionHookValidator, - // leave - onBeforeLeave: TransitionHookValidator, - onLeave: TransitionHookValidator, - onAfterLeave: TransitionHookValidator, - onLeaveCancelled: TransitionHookValidator, - // appear - onBeforeAppear: TransitionHookValidator, - onAppear: TransitionHookValidator, - onAfterAppear: TransitionHookValidator, - onAppearCancelled: TransitionHookValidator - }, + props: BaseTransitionPropsValidators, setup(props: BaseTransitionProps, { slots }: SetupContext) { const instance = getCurrentInstance()! diff --git a/packages/runtime-core/src/index.ts b/packages/runtime-core/src/index.ts index 086beaa6a..3101ed06c 100644 --- a/packages/runtime-core/src/index.ts +++ b/packages/runtime-core/src/index.ts @@ -93,7 +93,8 @@ export { Suspense, SuspenseProps } from './components/Suspense' export { KeepAlive, KeepAliveProps } from './components/KeepAlive' export { BaseTransition, - BaseTransitionProps + BaseTransitionPropsValidators, + type BaseTransitionProps } from './components/BaseTransition' // For using custom directives export { withDirectives } from './directives' diff --git a/packages/runtime-dom/src/components/Transition.ts b/packages/runtime-dom/src/components/Transition.ts index fb2cbe0ce..0cbf924b0 100644 --- a/packages/runtime-dom/src/components/Transition.ts +++ b/packages/runtime-dom/src/components/Transition.ts @@ -1,6 +1,7 @@ import { BaseTransition, BaseTransitionProps, + BaseTransitionPropsValidators, h, assertNumber, FunctionalComponent, @@ -74,7 +75,7 @@ const DOMTransitionPropsValidators = { export const TransitionPropsValidators = (Transition.props = /*#__PURE__*/ extend( {}, - (BaseTransition as any).props, + BaseTransitionPropsValidators as any, DOMTransitionPropsValidators ))