MCPcopy
hub / github.com/vuejs/core / resolveTransitionProps

Function resolveTransitionProps

packages/runtime-dom/src/components/Transition.ts:121–298  ·  view source on GitHub ↗
(
  rawProps: TransitionProps,
)

Source from the content-addressed store, hash-verified

119}
120
121export function resolveTransitionProps(
122 rawProps: TransitionProps,
123): BaseTransitionProps<Element> {
124 const baseProps: BaseTransitionProps<Element> = {}
125 for (const key in rawProps) {
126 if (!(key in DOMTransitionPropsValidators)) {
127 ;(baseProps as any)[key] = (rawProps as any)[key]
128 }
129 }
130
131 if (rawProps.css === false) {
132 return baseProps
133 }
134
135 const {
136 name = 'v',
137 type,
138 duration,
139 enterFromClass = `${name}-enter-from`,
140 enterActiveClass = `${name}-enter-active`,
141 enterToClass = `${name}-enter-to`,
142 appearFromClass = enterFromClass,
143 appearActiveClass = enterActiveClass,
144 appearToClass = enterToClass,
145 leaveFromClass = `${name}-leave-from`,
146 leaveActiveClass = `${name}-leave-active`,
147 leaveToClass = `${name}-leave-to`,
148 } = rawProps
149
150 // legacy transition class compat
151 const legacyClassEnabled =
152 __COMPAT__ &&
153 compatUtils.isCompatEnabled(DeprecationTypes.TRANSITION_CLASSES, null)
154 let legacyEnterFromClass: string
155 let legacyAppearFromClass: string
156 let legacyLeaveFromClass: string
157 if (__COMPAT__ && legacyClassEnabled) {
158 const toLegacyClass = (cls: string) => cls.replace(/-from$/, '')
159 if (!rawProps.enterFromClass) {
160 legacyEnterFromClass = toLegacyClass(enterFromClass)
161 }
162 if (!rawProps.appearFromClass) {
163 legacyAppearFromClass = toLegacyClass(appearFromClass)
164 }
165 if (!rawProps.leaveFromClass) {
166 legacyLeaveFromClass = toLegacyClass(leaveFromClass)
167 }
168 }
169
170 const durations = normalizeDuration(duration)
171 const enterDuration = durations && durations[0]
172 const leaveDuration = durations && durations[1]
173 const {
174 onBeforeEnter,
175 onEnter,
176 onEnterCancelled,
177 onLeave,
178 onLeaveCancelled,

Callers 2

setupFunction · 0.90
Transition.tsFile · 0.85

Calls 3

toLegacyClassFunction · 0.85
normalizeDurationFunction · 0.85
makeEnterHookFunction · 0.85

Tested by

no test coverage detected