@vue/runtime-core 3.6.0-rc.10 → 3.6.0-rc.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.6.0-rc.10
2
+ * @vue/runtime-core v3.6.0-rc.11
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1165,10 +1165,11 @@ const BaseTransitionPropsValidators = {
1165
1165
  onAfterAppear: TransitionHookValidator,
1166
1166
  onAppearCancelled: TransitionHookValidator
1167
1167
  };
1168
- const recursiveGetSubtree = (instance) => {
1169
- const subTree = isVaporComponent(instance.type) ? instance.block : instance.subTree;
1170
- return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
1171
- };
1168
+ function isEmptyTransitionChild(vnode, instance) {
1169
+ if (vnode.type === Comment) return true;
1170
+ if (vnode.type === VaporSlot || isVaporComponent(vnode.type)) return !getVaporInterface(instance, vnode).hasTransitionChild(vnode);
1171
+ return !!vnode.component && isEmptyTransitionChild(vnode.component.subTree, instance);
1172
+ }
1172
1173
  const BaseTransitionImpl = {
1173
1174
  name: `BaseTransition`,
1174
1175
  props: BaseTransitionPropsValidators,
@@ -1216,7 +1217,7 @@ function getLeavingNodesForType(state, vnode) {
1216
1217
  function resolveTransitionHooks(vnode, props, state, instance, postClone) {
1217
1218
  const key = String(vnode.key);
1218
1219
  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
1219
- return baseResolveTransitionHooks({
1220
+ const hooks = baseResolveTransitionHooks({
1220
1221
  isLeaving: () => leavingVNodesCache[key] === vnode,
1221
1222
  setLeavingNodeCache: () => {
1222
1223
  leavingVNodesCache[key] = vnode;
@@ -1234,6 +1235,13 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
1234
1235
  return hooks;
1235
1236
  }
1236
1237
  }, props, state, instance);
1238
+ if (vnode.type === VaporSlot) (0, _vue_shared.extend)(hooks, {
1239
+ __vapor: true,
1240
+ props,
1241
+ state,
1242
+ instance
1243
+ });
1244
+ return hooks;
1237
1245
  }
1238
1246
  function baseResolveTransitionHooks(context, props, state, instance) {
1239
1247
  const { isLeaving, setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
@@ -1349,7 +1357,7 @@ function prepareTransitionSwitch(previous, next, props, state, instance, resumeA
1349
1357
  if (nextInner.type !== Comment) setTransitionHooks(nextInner, enterHooks);
1350
1358
  const mode = props.mode;
1351
1359
  const previousInner = previous && getInnerChild$1(previous);
1352
- if (previous && previousInner && previousInner.type !== Comment && !isSameVNodeType(previousInner, nextInner) && (!previous.component || recursiveGetSubtree(previous.component).type !== Comment)) {
1360
+ if (previous && previousInner && !isSameVNodeType(previousInner, nextInner) && !isEmptyTransitionChild(previousInner, instance)) {
1353
1361
  const leavingHooks = prepareLeavingTransitionHooks(previousInner, props, state, instance);
1354
1362
  if (nextInner.type !== Comment && (mode === "out-in" || mode === "in-out") && applyTransitionModeSwitch(previousInner, leavingHooks, mode === "in-out" ? () => enterHooks : void 0, props, state, resumeAfterLeave)) return emptyPlaceholder(next);
1355
1363
  }
@@ -6496,7 +6504,7 @@ function isMemoSame(cached, memo) {
6496
6504
  }
6497
6505
  //#endregion
6498
6506
  //#region packages/runtime-core/src/index.ts
6499
- const version = "3.6.0-rc.10";
6507
+ const version = "3.6.0-rc.11";
6500
6508
  const warn = warn$1;
6501
6509
  /**
6502
6510
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.6.0-rc.10
2
+ * @vue/runtime-core v3.6.0-rc.11
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -781,10 +781,11 @@ const BaseTransitionPropsValidators = {
781
781
  onAfterAppear: TransitionHookValidator,
782
782
  onAppearCancelled: TransitionHookValidator
783
783
  };
784
- const recursiveGetSubtree = (instance) => {
785
- const subTree = isVaporComponent(instance.type) ? instance.block : instance.subTree;
786
- return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
787
- };
784
+ function isEmptyTransitionChild(vnode, instance) {
785
+ if (vnode.type === Comment) return true;
786
+ if (vnode.type === VaporSlot || isVaporComponent(vnode.type)) return !getVaporInterface(instance, vnode).hasTransitionChild(vnode);
787
+ return !!vnode.component && isEmptyTransitionChild(vnode.component.subTree, instance);
788
+ }
788
789
  const BaseTransitionImpl = {
789
790
  name: `BaseTransition`,
790
791
  props: BaseTransitionPropsValidators,
@@ -826,7 +827,7 @@ function getLeavingNodesForType(state, vnode) {
826
827
  function resolveTransitionHooks(vnode, props, state, instance, postClone) {
827
828
  const key = String(vnode.key);
828
829
  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
829
- return baseResolveTransitionHooks({
830
+ const hooks = baseResolveTransitionHooks({
830
831
  isLeaving: () => leavingVNodesCache[key] === vnode,
831
832
  setLeavingNodeCache: () => {
832
833
  leavingVNodesCache[key] = vnode;
@@ -844,6 +845,13 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
844
845
  return hooks;
845
846
  }
846
847
  }, props, state, instance);
848
+ if (vnode.type === VaporSlot) (0, _vue_shared.extend)(hooks, {
849
+ __vapor: true,
850
+ props,
851
+ state,
852
+ instance
853
+ });
854
+ return hooks;
847
855
  }
848
856
  function baseResolveTransitionHooks(context, props, state, instance) {
849
857
  const { isLeaving, setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
@@ -959,7 +967,7 @@ function prepareTransitionSwitch(previous, next, props, state, instance, resumeA
959
967
  if (nextInner.type !== Comment) setTransitionHooks(nextInner, enterHooks);
960
968
  const mode = props.mode;
961
969
  const previousInner = previous && getInnerChild$1(previous);
962
- if (previous && previousInner && previousInner.type !== Comment && !isSameVNodeType(previousInner, nextInner) && (!previous.component || recursiveGetSubtree(previous.component).type !== Comment)) {
970
+ if (previous && previousInner && !isSameVNodeType(previousInner, nextInner) && !isEmptyTransitionChild(previousInner, instance)) {
963
971
  const leavingHooks = prepareLeavingTransitionHooks(previousInner, props, state, instance);
964
972
  if (nextInner.type !== Comment && (mode === "out-in" || mode === "in-out") && applyTransitionModeSwitch(previousInner, leavingHooks, mode === "in-out" ? () => enterHooks : void 0, props, state, resumeAfterLeave)) return emptyPlaceholder(next);
965
973
  }
@@ -5097,7 +5105,7 @@ function isMemoSame(cached, memo) {
5097
5105
  }
5098
5106
  //#endregion
5099
5107
  //#region packages/runtime-core/src/index.ts
5100
- const version = "3.6.0-rc.10";
5108
+ const version = "3.6.0-rc.11";
5101
5109
  const warn = _vue_shared.NOOP;
5102
5110
  /**
5103
5111
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.6.0-rc.10
2
+ * @vue/runtime-core v3.6.0-rc.11
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1175,10 +1175,11 @@ const BaseTransitionPropsValidators = {
1175
1175
  onAfterAppear: TransitionHookValidator,
1176
1176
  onAppearCancelled: TransitionHookValidator
1177
1177
  };
1178
- const recursiveGetSubtree = (instance) => {
1179
- const subTree = isVaporComponent(instance.type) ? instance.block : instance.subTree;
1180
- return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
1181
- };
1178
+ function isEmptyTransitionChild(vnode, instance) {
1179
+ if (vnode.type === Comment) return true;
1180
+ if (vnode.type === VaporSlot || isVaporComponent(vnode.type)) return !getVaporInterface(instance, vnode).hasTransitionChild(vnode);
1181
+ return !!vnode.component && isEmptyTransitionChild(vnode.component.subTree, instance);
1182
+ }
1182
1183
  const BaseTransitionImpl = {
1183
1184
  name: `BaseTransition`,
1184
1185
  props: BaseTransitionPropsValidators,
@@ -1227,7 +1228,7 @@ function getLeavingNodesForType(state, vnode) {
1227
1228
  function resolveTransitionHooks(vnode, props, state, instance, postClone) {
1228
1229
  const key = String(vnode.key);
1229
1230
  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
1230
- return baseResolveTransitionHooks({
1231
+ const hooks = baseResolveTransitionHooks({
1231
1232
  isLeaving: () => leavingVNodesCache[key] === vnode,
1232
1233
  setLeavingNodeCache: () => {
1233
1234
  leavingVNodesCache[key] = vnode;
@@ -1245,6 +1246,13 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
1245
1246
  return hooks;
1246
1247
  }
1247
1248
  }, props, state, instance);
1249
+ if (vnode.type === VaporSlot) extend(hooks, {
1250
+ __vapor: true,
1251
+ props,
1252
+ state,
1253
+ instance
1254
+ });
1255
+ return hooks;
1248
1256
  }
1249
1257
  function baseResolveTransitionHooks(context, props, state, instance) {
1250
1258
  const { isLeaving, setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
@@ -1360,7 +1368,7 @@ function prepareTransitionSwitch(previous, next, props, state, instance, resumeA
1360
1368
  if (nextInner.type !== Comment) setTransitionHooks(nextInner, enterHooks);
1361
1369
  const mode = props.mode;
1362
1370
  const previousInner = previous && getInnerChild$1(previous);
1363
- if (previous && previousInner && previousInner.type !== Comment && !isSameVNodeType(previousInner, nextInner) && (!previous.component || recursiveGetSubtree(previous.component).type !== Comment)) {
1371
+ if (previous && previousInner && !isSameVNodeType(previousInner, nextInner) && !isEmptyTransitionChild(previousInner, instance)) {
1364
1372
  const leavingHooks = prepareLeavingTransitionHooks(previousInner, props, state, instance);
1365
1373
  if (nextInner.type !== Comment && (mode === "out-in" || mode === "in-out") && applyTransitionModeSwitch(previousInner, leavingHooks, mode === "in-out" ? () => enterHooks : void 0, props, state, resumeAfterLeave)) return emptyPlaceholder(next);
1366
1374
  }
@@ -1382,7 +1390,7 @@ function forwardDelayedLeave(hooks, source) {
1382
1390
  */
1383
1391
  function prepareTransitionLeave(previous, enterHooks, props, state, instance, resumeAfterLeave) {
1384
1392
  const previousInner = getInnerChild$1(previous);
1385
- if (!previousInner || previousInner.type === Comment || previous.component && recursiveGetSubtree(previous.component).type === Comment) return false;
1393
+ if (!previousInner || isEmptyTransitionChild(previousInner, instance)) return false;
1386
1394
  return applyTransitionModeSwitch(previousInner, prepareLeavingTransitionHooks(previousInner, props, state, instance), enterHooks ? () => enterHooks : void 0, props, state, resumeAfterLeave);
1387
1395
  }
1388
1396
  function prepareLeavingTransitionHooks(previousInner, props, state, instance) {
@@ -6618,7 +6626,7 @@ function isMemoSame(cached, memo) {
6618
6626
  }
6619
6627
  //#endregion
6620
6628
  //#region packages/runtime-core/src/index.ts
6621
- const version = "3.6.0-rc.10";
6629
+ const version = "3.6.0-rc.11";
6622
6630
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
6623
6631
  /**
6624
6632
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -6656,4 +6664,4 @@ const resolveFilter = null;
6656
6664
  const compatUtils = null;
6657
6665
  const DeprecationTypes = null;
6658
6666
  //#endregion
6659
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, TriggerOpTypes, VaporSlot, activate, assertNumber, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, defaultPropGetter, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureValidVNode, expose, filterModelListeners, flushOnAppMount, getAttributeMismatch, getComponentName, getContainerType, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, invokeSlotFallback, invokeVNodeHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isUnchangedResourceProp, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, normalizeClass, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, rawVaporSlotKey, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveCssVars, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionChild, resolveTransitionHooks, restoreCurrentInstance, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, useAsyncComponentState, useAttrs, useId, useInstanceOption, useModel, useSSRContext, useSlots, useTemplateRef, useTransitionState, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
6667
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, TriggerOpTypes, VaporSlot, activate, assertNumber, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, defaultPropGetter, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureValidVNode, expose, filterModelListeners, filterSingleRoot, flushOnAppMount, getAttributeMismatch, getComponentName, getContainerType, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, invokeSlotFallback, invokeVNodeHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isUnchangedResourceProp, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, normalizeClass, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, rawVaporSlotKey, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveCssVars, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionChild, resolveTransitionHooks, restoreCurrentInstance, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, useAsyncComponentState, useAttrs, useId, useInstanceOption, useModel, useSSRContext, useSlots, useTemplateRef, useTransitionState, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/runtime-core",
3
- "version": "3.6.0-rc.10",
3
+ "version": "3.6.0-rc.11",
4
4
  "description": "@vue/runtime-core",
5
5
  "main": "index.js",
6
6
  "module": "dist/runtime-core.esm-bundler.js",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
48
48
  "dependencies": {
49
- "@vue/shared": "3.6.0-rc.10",
50
- "@vue/reactivity": "3.6.0-rc.10"
49
+ "@vue/shared": "3.6.0-rc.11",
50
+ "@vue/reactivity": "3.6.0-rc.11"
51
51
  }
52
52
  }