Ver Fonte

fix(build): ensure BaseTransition functions can be tree-shaken

Evan You há 3 anos atrás
pai
commit
3a6f5eb0f7

+ 22 - 20
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()!

+ 2 - 1
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'

+ 2 - 1
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
   ))