]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(transition): should ship props declarations in production
authorEvan You <yyx990803@gmail.com>
Tue, 7 Apr 2020 21:19:37 +0000 (17:19 -0400)
committerEvan You <yyx990803@gmail.com>
Tue, 7 Apr 2020 21:19:37 +0000 (17:19 -0400)
packages/runtime-core/src/components/BaseTransition.ts
packages/runtime-dom/src/components/Transition.ts
packages/runtime-dom/src/components/TransitionGroup.ts

index f516ad924b6b3a4671c54b239b88c486085e67a2..f643487e8bc2441dba8df3b51509f03c0c9b4939 100644 (file)
@@ -1,7 +1,6 @@
 import {
   getCurrentInstance,
   SetupContext,
-  ComponentOptions,
   ComponentInternalInstance
 } from '../component'
 import {
@@ -100,6 +99,23 @@ export function useTransitionState(): TransitionState {
 
 const BaseTransitionImpl = {
   name: `BaseTransition`,
+
+  props: {
+    mode: String,
+    appear: Boolean,
+    persisted: Boolean,
+    // enter
+    onBeforeEnter: Function,
+    onEnter: Function,
+    onAfterEnter: Function,
+    onEnterCancelled: Function,
+    // leave
+    onBeforeLeave: Function,
+    onLeave: Function,
+    onAfterLeave: Function,
+    onLeaveCancelled: Function
+  },
+
   setup(props: BaseTransitionProps, { slots }: SetupContext) {
     const instance = getCurrentInstance()!
     const state = useTransitionState()
@@ -201,24 +217,6 @@ const BaseTransitionImpl = {
   }
 }
 
-if (__DEV__) {
-  ;(BaseTransitionImpl as ComponentOptions).props = {
-    mode: String,
-    appear: Boolean,
-    persisted: Boolean,
-    // enter
-    onBeforeEnter: Function,
-    onEnter: Function,
-    onAfterEnter: Function,
-    onEnterCancelled: Function,
-    // leave
-    onBeforeLeave: Function,
-    onLeave: Function,
-    onAfterLeave: Function,
-    onLeaveCancelled: Function
-  }
-}
-
 // export the public type for h/tsx inference
 // also to avoid inline import() in generated d.ts files
 export const BaseTransition = (BaseTransitionImpl as any) as {
index d80d4f9ee42d0daacf7cbd8f1d4464ef268f3f3c..67c85d0052bb6551b87e8af5288878b5d326d129 100644 (file)
@@ -37,7 +37,7 @@ export const Transition: FunctionalComponent<TransitionProps> = (
   { slots }
 ) => h(BaseTransition, resolveTransitionProps(props), slots)
 
-export const TransitionPropsValidators = {
+export const TransitionPropsValidators = (Transition.props = {
   ...(BaseTransition as any).props,
   name: String,
   type: String,
@@ -55,11 +55,7 @@ export const TransitionPropsValidators = {
   leaveFromClass: String,
   leaveActiveClass: String,
   leaveToClass: String
-}
-
-if (__DEV__) {
-  Transition.props = TransitionPropsValidators
-}
+})
 
 export function resolveTransitionProps({
   name = 'v',
index 331b5f1989948567b5c1966d45288d4a8da8976f..24d23b9e7b2a5cb8d01c9a2a42ce72a737207cde 100644 (file)
@@ -36,6 +36,12 @@ export type TransitionGroupProps = Omit<TransitionProps, 'mode'> & {
 }
 
 const TransitionGroupImpl = {
+  props: {
+    ...TransitionPropsValidators,
+    tag: String,
+    moveClass: String
+  },
+
   setup(props: TransitionGroupProps, { slots }: SetupContext) {
     const instance = getCurrentInstance()!
     const state = useTransitionState()
@@ -130,21 +136,15 @@ const TransitionGroupImpl = {
   }
 }
 
+// remove mode props as TransitionGroup doesn't support it
+delete TransitionGroupImpl.props.mode
+
 export const TransitionGroup = (TransitionGroupImpl as unknown) as {
   new (): {
     $props: TransitionGroupProps
   }
 }
 
-if (__DEV__) {
-  const props = ((TransitionGroup as any).props = {
-    ...TransitionPropsValidators,
-    tag: String,
-    moveClass: String
-  })
-  delete props.mode
-}
-
 function callPendingCbs(c: VNode) {
   const el = c.el as any
   if (el._moveCb) {