@vue/compat 3.6.0-beta.8 → 3.6.0-beta.9

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/compat v3.6.0-beta.8
2
+ * @vue/compat v3.6.0-beta.9
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1777,16 +1777,16 @@ function toRefs(object) {
1777
1777
  return ret;
1778
1778
  }
1779
1779
  var ObjectRefImpl = class {
1780
- constructor(_object, _key, _defaultValue) {
1780
+ constructor(_object, key, _defaultValue) {
1781
1781
  this._object = _object;
1782
- this._key = _key;
1783
1782
  this._defaultValue = _defaultValue;
1784
1783
  this["__v_isRef"] = true;
1785
1784
  this._value = void 0;
1785
+ this._key = isSymbol(key) ? key : String(key);
1786
1786
  this._raw = /* @__PURE__ */ toRaw(_object);
1787
1787
  let shallow = true;
1788
1788
  let obj = _object;
1789
- if (!isArray(_object) || !isIntegerKey(String(_key))) do
1789
+ if (!isArray(_object) || isSymbol(this._key) || !isIntegerKey(this._key)) do
1790
1790
  shallow = !/* @__PURE__ */ isProxy(obj) || /* @__PURE__ */ isShallow(obj);
1791
1791
  while (shallow && (obj = obj["__v_raw"]));
1792
1792
  this._shallow = shallow;
@@ -2708,6 +2708,13 @@ function checkRecursiveUpdates(seen, fn) {
2708
2708
  //#endregion
2709
2709
  //#region packages/runtime-core/src/hmr.ts
2710
2710
  let isHmrUpdating = false;
2711
+ const setHmrUpdating = (v) => {
2712
+ try {
2713
+ return isHmrUpdating;
2714
+ } finally {
2715
+ isHmrUpdating = v;
2716
+ }
2717
+ };
2711
2718
  const hmrDirtyComponents = /* @__PURE__ */ new Map();
2712
2719
  const hmrDirtyComponentsMode = /* @__PURE__ */ new Map();
2713
2720
  if (!!(process.env.NODE_ENV !== "production")) getGlobalThis().__VUE_HMR_RUNTIME__ = {
@@ -3568,25 +3575,26 @@ const TeleportImpl = {
3568
3575
  mount(container, mainAnchor);
3569
3576
  updateCssVars(n2, true);
3570
3577
  }
3571
- if (isTeleportDeferred(n2.props)) {
3578
+ if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) {
3572
3579
  n2.el.__isMounted = false;
3573
3580
  queuePostRenderEffect(() => {
3581
+ if (n2.el.__isMounted !== false) return;
3574
3582
  mountToTarget();
3575
3583
  delete n2.el.__isMounted;
3576
3584
  }, void 0, parentSuspense);
3577
3585
  } else mountToTarget();
3578
3586
  } else {
3579
- if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {
3580
- queuePostRenderEffect(() => {
3581
- TeleportImpl.process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals);
3582
- }, void 0, parentSuspense);
3583
- return;
3584
- }
3585
3587
  n2.el = n1.el;
3586
3588
  n2.targetStart = n1.targetStart;
3587
3589
  const mainAnchor = n2.anchor = n1.anchor;
3588
3590
  const target = n2.target = n1.target;
3589
3591
  const targetAnchor = n2.targetAnchor = n1.targetAnchor;
3592
+ if (n1.el.__isMounted === false) {
3593
+ queuePostRenderEffect(() => {
3594
+ TeleportImpl.process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals);
3595
+ }, void 0, parentSuspense);
3596
+ return;
3597
+ }
3590
3598
  const wasDisabled = isTeleportDisabled(n1.props);
3591
3599
  const currentContainer = wasDisabled ? container : target;
3592
3600
  const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
@@ -3608,11 +3616,9 @@ const TeleportImpl = {
3608
3616
  }
3609
3617
  },
3610
3618
  remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
3611
- const { shapeFlag, children, anchor, targetStart, targetAnchor, target, props } = vnode;
3612
- if (target) {
3613
- hostRemove(targetStart);
3614
- hostRemove(targetAnchor);
3615
- }
3619
+ const { shapeFlag, children, anchor, targetStart, targetAnchor, props } = vnode;
3620
+ if (targetStart) hostRemove(targetStart);
3621
+ if (targetAnchor) hostRemove(targetAnchor);
3616
3622
  doRemove && hostRemove(anchor);
3617
3623
  if (shapeFlag & 16) {
3618
3624
  const shouldRemove = doRemove || !isTeleportDisabled(props);
@@ -3873,7 +3879,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3873
3879
  callHook(hook, [el]);
3874
3880
  },
3875
3881
  enter(el) {
3876
- if (isLeaving()) return;
3882
+ if (!isHmrUpdating && isLeaving()) return;
3877
3883
  let hook = onEnter;
3878
3884
  let afterHook = onAfterEnter;
3879
3885
  let cancelHook = onEnterCancelled;
@@ -6281,7 +6287,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6281
6287
  if (options.el) return vm.$mount(options.el);
6282
6288
  else return vm;
6283
6289
  }
6284
- Vue.version = `2.6.14-compat:3.6.0-beta.8`;
6290
+ Vue.version = `2.6.14-compat:3.6.0-beta.9`;
6285
6291
  Vue.config = singletonApp.config;
6286
6292
  Vue.use = (plugin, ...options) => {
6287
6293
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -7103,15 +7109,19 @@ function hasPropValueChanged(nextProps, prevProps, key) {
7103
7109
  if (key === "style" && isObject(nextProp) && isObject(prevProp)) return !looseEqual(nextProp, prevProp);
7104
7110
  return nextProp !== prevProp;
7105
7111
  }
7106
- function updateHOCHostEl({ vnode, parent }, el) {
7112
+ function updateHOCHostEl({ vnode, parent, suspense }, el) {
7107
7113
  while (parent && !parent.vapor) {
7108
7114
  const root = parent.subTree;
7109
- if (root.suspense && root.suspense.activeBranch === vnode) root.el = vnode.el;
7115
+ if (root.suspense && root.suspense.activeBranch === vnode) {
7116
+ root.suspense.vnode.el = root.el = el;
7117
+ vnode = root;
7118
+ }
7110
7119
  if (root === vnode) {
7111
7120
  (vnode = parent.vnode).el = el;
7112
7121
  parent = parent.parent;
7113
7122
  } else break;
7114
7123
  }
7124
+ if (suspense && suspense.activeBranch === vnode) suspense.vnode.el = el;
7115
7125
  }
7116
7126
  //#endregion
7117
7127
  //#region packages/runtime-core/src/compat/props.ts
@@ -7752,10 +7762,19 @@ function baseCreateRenderer(options, createHydrationFns) {
7752
7762
  if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
7753
7763
  if (transition) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense);
7754
7764
  else hostInsert(el, container, anchor);
7755
- if ((vnodeHook = props && props.onVnodeMounted) || dirs) queuePostRenderEffect(() => {
7756
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
7757
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
7758
- }, void 0, parentSuspense);
7765
+ if ((vnodeHook = props && props.onVnodeMounted) || dirs) {
7766
+ const isHmr = !!(process.env.NODE_ENV !== "production") && isHmrUpdating;
7767
+ queuePostRenderEffect(() => {
7768
+ let prev;
7769
+ if (!!(process.env.NODE_ENV !== "production")) prev = setHmrUpdating(isHmr);
7770
+ try {
7771
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
7772
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
7773
+ } finally {
7774
+ if (!!(process.env.NODE_ENV !== "production")) setHmrUpdating(prev);
7775
+ }
7776
+ }, void 0, parentSuspense);
7777
+ }
7759
7778
  };
7760
7779
  const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {
7761
7780
  if (scopeId) hostSetScopeId(el, scopeId);
@@ -8245,7 +8264,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8245
8264
  else hostInsert(el, container, anchor);
8246
8265
  };
8247
8266
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
8248
- const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex } = vnode;
8267
+ const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
8249
8268
  if (patchFlag === -2) optimized = false;
8250
8269
  if (ref != null) {
8251
8270
  const prevSub = setActiveSub();
@@ -8283,9 +8302,11 @@ function baseCreateRenderer(options, createHydrationFns) {
8283
8302
  }
8284
8303
  if (doRemove) remove(vnode);
8285
8304
  }
8286
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) queuePostRenderEffect(() => {
8305
+ const shouldInvalidateMemo = memo != null && cacheIndex == null;
8306
+ if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs || shouldInvalidateMemo) queuePostRenderEffect(() => {
8287
8307
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
8288
8308
  shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
8309
+ if (shouldInvalidateMemo) vnode.el = null;
8289
8310
  }, void 0, parentSuspense);
8290
8311
  };
8291
8312
  const remove = (vnode) => {
@@ -8640,6 +8661,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
8640
8661
  pendingId: suspenseId++,
8641
8662
  timeout: typeof timeout === "number" ? timeout : -1,
8642
8663
  activeBranch: null,
8664
+ isFallbackMountPending: false,
8643
8665
  pendingBranch: null,
8644
8666
  isInFallback: !isHydrating,
8645
8667
  isHydrating,
@@ -8662,13 +8684,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
8662
8684
  if (isInFallback && vnode.ssFallback) vnode.ssFallback.el = null;
8663
8685
  }
8664
8686
  };
8665
- if (activeBranch) {
8687
+ if (activeBranch && !suspense.isFallbackMountPending) {
8666
8688
  if (parentNode(activeBranch.el) === container) anchor = next(activeBranch);
8667
8689
  unmount(activeBranch, parentComponent, suspense, true);
8668
8690
  if (!delayEnter && isInFallback && vnode.ssFallback) queuePostRenderEffect(() => vnode.ssFallback.el = null, void 0, suspense);
8669
8691
  }
8670
8692
  if (!delayEnter) move(pendingBranch, container, anchor, 0, parentComponent);
8671
8693
  }
8694
+ suspense.isFallbackMountPending = false;
8672
8695
  setActiveBranch(suspense, pendingBranch);
8673
8696
  suspense.pendingBranch = null;
8674
8697
  suspense.isInFallback = false;
@@ -8698,12 +8721,16 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
8698
8721
  triggerEvent(vnode, "onFallback");
8699
8722
  const anchor = next(activeBranch);
8700
8723
  const mountFallback = () => {
8724
+ suspense.isFallbackMountPending = false;
8701
8725
  if (!suspense.isInFallback) return;
8702
8726
  patch(null, fallbackVNode, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8703
8727
  setActiveBranch(suspense, fallbackVNode);
8704
8728
  };
8705
8729
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
8706
- if (delayEnter) activeBranch.transition.afterLeave = mountFallback;
8730
+ if (delayEnter) {
8731
+ suspense.isFallbackMountPending = true;
8732
+ activeBranch.transition.afterLeave = mountFallback;
8733
+ }
8707
8734
  suspense.isInFallback = true;
8708
8735
  unmount(activeBranch, parentComponent, null, true);
8709
8736
  if (!delayEnter) mountFallback();
@@ -9148,6 +9175,7 @@ function mergeProps(...args) {
9148
9175
  const existing = ret[key];
9149
9176
  const incoming = toMerge[key];
9150
9177
  if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) ret[key] = existing ? [].concat(existing, incoming) : incoming;
9178
+ else if (incoming == null && existing == null && !isModelListener(key)) ret[key] = incoming;
9151
9179
  } else if (key !== "") ret[key] = toMerge[key];
9152
9180
  }
9153
9181
  return ret;
@@ -9747,7 +9775,7 @@ function isMemoSame(cached, memo) {
9747
9775
  }
9748
9776
  //#endregion
9749
9777
  //#region packages/runtime-core/src/index.ts
9750
- const version = "3.6.0-beta.8";
9778
+ const version = "3.6.0-beta.9";
9751
9779
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
9752
9780
  /**
9753
9781
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -11094,7 +11122,8 @@ const vModelTextUpdate = (el, oldValue, value, trim, number, lazy) => {
11094
11122
  const elValue = (number || el.type === "number") && !/^0\d/.test(el.value) ? looseToNumber(el.value) : el.value;
11095
11123
  const newValue = value == null ? "" : value;
11096
11124
  if (elValue === newValue) return;
11097
- if (document.activeElement === el && el.type !== "range") {
11125
+ const rootNode = el.getRootNode();
11126
+ if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement === el && el.type !== "range") {
11098
11127
  if (lazy && value === oldValue) return;
11099
11128
  if (trim && el.value.trim() === newValue) return;
11100
11129
  }
@@ -11465,6 +11494,8 @@ var src_exports = /* @__PURE__ */ __exportAll({
11465
11494
  initDirectivesForSSR: () => initDirectivesForSSR,
11466
11495
  initFeatureFlags: () => initFeatureFlags,
11467
11496
  inject: () => inject,
11497
+ invalidateMount: () => invalidateMount,
11498
+ invokeDirectiveHook: () => invokeDirectiveHook,
11468
11499
  isAsyncWrapper: () => isAsyncWrapper,
11469
11500
  isEmitListener: () => isEmitListener,
11470
11501
  isHydrating: () => isHydrating,
@@ -11559,6 +11590,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
11559
11590
  shallowRef: () => shallowRef,
11560
11591
  shouldSetAsProp: () => shouldSetAsProp,
11561
11592
  shouldSetAsPropForVueCE: () => shouldSetAsPropForVueCE,
11593
+ shouldUpdateComponent: () => shouldUpdateComponent,
11562
11594
  simpleSetCurrentInstance: () => simpleSetCurrentInstance,
11563
11595
  ssrContextKey: () => ssrContextKey,
11564
11596
  ssrUtils: () => ssrUtils,
@@ -14638,7 +14670,7 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
14638
14670
  `)`
14639
14671
  ]),
14640
14672
  createCompoundExpression([
14641
- `if (_cached`,
14673
+ `if (_cached && _cached.el`,
14642
14674
  ...keyExp ? [` && _cached.key === `, keyExp] : [],
14643
14675
  ` && ${context.helperString(IS_MEMO_SAME)}(_cached, _memo)) return _cached`
14644
14676
  ]),
@@ -16096,4 +16128,4 @@ Vue.compile = compileToFunction;
16096
16128
  var esm_index_default = Vue;
16097
16129
  const configureCompat = Vue.configureCompat;
16098
16130
  //#endregion
16099
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureVaporSlotFallback, expose, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, resolveTransitionProps, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };
16131
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureVaporSlotFallback, expose, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, resolveTransitionProps, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.6.0-beta.8
2
+ * @vue/compat v3.6.0-beta.9
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1773,16 +1773,16 @@ var Vue = (function() {
1773
1773
  return ret;
1774
1774
  }
1775
1775
  var ObjectRefImpl = class {
1776
- constructor(_object, _key, _defaultValue) {
1776
+ constructor(_object, key, _defaultValue) {
1777
1777
  this._object = _object;
1778
- this._key = _key;
1779
1778
  this._defaultValue = _defaultValue;
1780
1779
  this["__v_isRef"] = true;
1781
1780
  this._value = void 0;
1781
+ this._key = isSymbol(key) ? key : String(key);
1782
1782
  this._raw = /* @__PURE__ */ toRaw(_object);
1783
1783
  let shallow = true;
1784
1784
  let obj = _object;
1785
- if (!isArray(_object) || !isIntegerKey(String(_key))) do
1785
+ if (!isArray(_object) || isSymbol(this._key) || !isIntegerKey(this._key)) do
1786
1786
  shallow = !/* @__PURE__ */ isProxy(obj) || /* @__PURE__ */ isShallow(obj);
1787
1787
  while (shallow && (obj = obj["__v_raw"]));
1788
1788
  this._shallow = shallow;
@@ -2692,6 +2692,13 @@ var Vue = (function() {
2692
2692
  //#endregion
2693
2693
  //#region packages/runtime-core/src/hmr.ts
2694
2694
  let isHmrUpdating = false;
2695
+ const setHmrUpdating = (v) => {
2696
+ try {
2697
+ return isHmrUpdating;
2698
+ } finally {
2699
+ isHmrUpdating = v;
2700
+ }
2701
+ };
2695
2702
  const hmrDirtyComponents = /* @__PURE__ */ new Map();
2696
2703
  const hmrDirtyComponentsMode = /* @__PURE__ */ new Map();
2697
2704
  getGlobalThis().__VUE_HMR_RUNTIME__ = {
@@ -3527,25 +3534,26 @@ var Vue = (function() {
3527
3534
  mount(container, mainAnchor);
3528
3535
  updateCssVars(n2, true);
3529
3536
  }
3530
- if (isTeleportDeferred(n2.props)) {
3537
+ if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) {
3531
3538
  n2.el.__isMounted = false;
3532
3539
  queuePostRenderEffect(() => {
3540
+ if (n2.el.__isMounted !== false) return;
3533
3541
  mountToTarget();
3534
3542
  delete n2.el.__isMounted;
3535
3543
  }, void 0, parentSuspense);
3536
3544
  } else mountToTarget();
3537
3545
  } else {
3538
- if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {
3539
- queuePostRenderEffect(() => {
3540
- TeleportImpl.process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals);
3541
- }, void 0, parentSuspense);
3542
- return;
3543
- }
3544
3546
  n2.el = n1.el;
3545
3547
  n2.targetStart = n1.targetStart;
3546
3548
  const mainAnchor = n2.anchor = n1.anchor;
3547
3549
  const target = n2.target = n1.target;
3548
3550
  const targetAnchor = n2.targetAnchor = n1.targetAnchor;
3551
+ if (n1.el.__isMounted === false) {
3552
+ queuePostRenderEffect(() => {
3553
+ TeleportImpl.process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals);
3554
+ }, void 0, parentSuspense);
3555
+ return;
3556
+ }
3549
3557
  const wasDisabled = isTeleportDisabled(n1.props);
3550
3558
  const currentContainer = wasDisabled ? container : target;
3551
3559
  const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
@@ -3567,11 +3575,9 @@ var Vue = (function() {
3567
3575
  }
3568
3576
  },
3569
3577
  remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
3570
- const { shapeFlag, children, anchor, targetStart, targetAnchor, target, props } = vnode;
3571
- if (target) {
3572
- hostRemove(targetStart);
3573
- hostRemove(targetAnchor);
3574
- }
3578
+ const { shapeFlag, children, anchor, targetStart, targetAnchor, props } = vnode;
3579
+ if (targetStart) hostRemove(targetStart);
3580
+ if (targetAnchor) hostRemove(targetAnchor);
3575
3581
  doRemove && hostRemove(anchor);
3576
3582
  if (shapeFlag & 16) {
3577
3583
  const shouldRemove = doRemove || !isTeleportDisabled(props);
@@ -3831,7 +3837,7 @@ var Vue = (function() {
3831
3837
  callHook(hook, [el]);
3832
3838
  },
3833
3839
  enter(el) {
3834
- if (isLeaving()) return;
3840
+ if (!isHmrUpdating && isLeaving()) return;
3835
3841
  let hook = onEnter;
3836
3842
  let afterHook = onAfterEnter;
3837
3843
  let cancelHook = onEnterCancelled;
@@ -6205,7 +6211,7 @@ var Vue = (function() {
6205
6211
  if (options.el) return vm.$mount(options.el);
6206
6212
  else return vm;
6207
6213
  }
6208
- Vue.version = `2.6.14-compat:3.6.0-beta.8`;
6214
+ Vue.version = `2.6.14-compat:3.6.0-beta.9`;
6209
6215
  Vue.config = singletonApp.config;
6210
6216
  Vue.use = (plugin, ...options) => {
6211
6217
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -7017,15 +7023,19 @@ var Vue = (function() {
7017
7023
  if (key === "style" && isObject(nextProp) && isObject(prevProp)) return !looseEqual(nextProp, prevProp);
7018
7024
  return nextProp !== prevProp;
7019
7025
  }
7020
- function updateHOCHostEl({ vnode, parent }, el) {
7026
+ function updateHOCHostEl({ vnode, parent, suspense }, el) {
7021
7027
  while (parent && !parent.vapor) {
7022
7028
  const root = parent.subTree;
7023
- if (root.suspense && root.suspense.activeBranch === vnode) root.el = vnode.el;
7029
+ if (root.suspense && root.suspense.activeBranch === vnode) {
7030
+ root.suspense.vnode.el = root.el = el;
7031
+ vnode = root;
7032
+ }
7024
7033
  if (root === vnode) {
7025
7034
  (vnode = parent.vnode).el = el;
7026
7035
  parent = parent.parent;
7027
7036
  } else break;
7028
7037
  }
7038
+ if (suspense && suspense.activeBranch === vnode) suspense.vnode.el = el;
7029
7039
  }
7030
7040
  //#endregion
7031
7041
  //#region packages/runtime-core/src/compat/props.ts
@@ -7634,10 +7644,19 @@ var Vue = (function() {
7634
7644
  if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
7635
7645
  if (transition) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense);
7636
7646
  else hostInsert(el, container, anchor);
7637
- if ((vnodeHook = props && props.onVnodeMounted) || dirs) queuePostRenderEffect(() => {
7638
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
7639
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
7640
- }, void 0, parentSuspense);
7647
+ if ((vnodeHook = props && props.onVnodeMounted) || dirs) {
7648
+ const isHmr = isHmrUpdating;
7649
+ queuePostRenderEffect(() => {
7650
+ let prev;
7651
+ prev = setHmrUpdating(isHmr);
7652
+ try {
7653
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
7654
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
7655
+ } finally {
7656
+ setHmrUpdating(prev);
7657
+ }
7658
+ }, void 0, parentSuspense);
7659
+ }
7641
7660
  };
7642
7661
  const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {
7643
7662
  if (scopeId) hostSetScopeId(el, scopeId);
@@ -8120,7 +8139,7 @@ var Vue = (function() {
8120
8139
  else hostInsert(el, container, anchor);
8121
8140
  };
8122
8141
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
8123
- const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex } = vnode;
8142
+ const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
8124
8143
  if (patchFlag === -2) optimized = false;
8125
8144
  if (ref != null) {
8126
8145
  const prevSub = setActiveSub();
@@ -8158,9 +8177,11 @@ var Vue = (function() {
8158
8177
  }
8159
8178
  if (doRemove) remove(vnode);
8160
8179
  }
8161
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) queuePostRenderEffect(() => {
8180
+ const shouldInvalidateMemo = memo != null && cacheIndex == null;
8181
+ if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs || shouldInvalidateMemo) queuePostRenderEffect(() => {
8162
8182
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
8163
8183
  shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
8184
+ if (shouldInvalidateMemo) vnode.el = null;
8164
8185
  }, void 0, parentSuspense);
8165
8186
  };
8166
8187
  const remove = (vnode) => {
@@ -8515,6 +8536,7 @@ var Vue = (function() {
8515
8536
  pendingId: suspenseId++,
8516
8537
  timeout: typeof timeout === "number" ? timeout : -1,
8517
8538
  activeBranch: null,
8539
+ isFallbackMountPending: false,
8518
8540
  pendingBranch: null,
8519
8541
  isInFallback: !isHydrating,
8520
8542
  isHydrating,
@@ -8535,13 +8557,14 @@ var Vue = (function() {
8535
8557
  if (isInFallback && vnode.ssFallback) vnode.ssFallback.el = null;
8536
8558
  }
8537
8559
  };
8538
- if (activeBranch) {
8560
+ if (activeBranch && !suspense.isFallbackMountPending) {
8539
8561
  if (parentNode(activeBranch.el) === container) anchor = next(activeBranch);
8540
8562
  unmount(activeBranch, parentComponent, suspense, true);
8541
8563
  if (!delayEnter && isInFallback && vnode.ssFallback) queuePostRenderEffect(() => vnode.ssFallback.el = null, void 0, suspense);
8542
8564
  }
8543
8565
  if (!delayEnter) move(pendingBranch, container, anchor, 0, parentComponent);
8544
8566
  }
8567
+ suspense.isFallbackMountPending = false;
8545
8568
  setActiveBranch(suspense, pendingBranch);
8546
8569
  suspense.pendingBranch = null;
8547
8570
  suspense.isInFallback = false;
@@ -8571,12 +8594,16 @@ var Vue = (function() {
8571
8594
  triggerEvent(vnode, "onFallback");
8572
8595
  const anchor = next(activeBranch);
8573
8596
  const mountFallback = () => {
8597
+ suspense.isFallbackMountPending = false;
8574
8598
  if (!suspense.isInFallback) return;
8575
8599
  patch(null, fallbackVNode, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8576
8600
  setActiveBranch(suspense, fallbackVNode);
8577
8601
  };
8578
8602
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
8579
- if (delayEnter) activeBranch.transition.afterLeave = mountFallback;
8603
+ if (delayEnter) {
8604
+ suspense.isFallbackMountPending = true;
8605
+ activeBranch.transition.afterLeave = mountFallback;
8606
+ }
8580
8607
  suspense.isInFallback = true;
8581
8608
  unmount(activeBranch, parentComponent, null, true);
8582
8609
  if (!delayEnter) mountFallback();
@@ -9021,6 +9048,7 @@ var Vue = (function() {
9021
9048
  const existing = ret[key];
9022
9049
  const incoming = toMerge[key];
9023
9050
  if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) ret[key] = existing ? [].concat(existing, incoming) : incoming;
9051
+ else if (incoming == null && existing == null && !isModelListener(key)) ret[key] = incoming;
9024
9052
  } else if (key !== "") ret[key] = toMerge[key];
9025
9053
  }
9026
9054
  return ret;
@@ -9591,7 +9619,7 @@ var Vue = (function() {
9591
9619
  }
9592
9620
  //#endregion
9593
9621
  //#region packages/runtime-core/src/index.ts
9594
- const version = "3.6.0-beta.8";
9622
+ const version = "3.6.0-beta.9";
9595
9623
  const warn = warn$1;
9596
9624
  /**
9597
9625
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -10896,7 +10924,8 @@ var Vue = (function() {
10896
10924
  const elValue = (number || el.type === "number") && !/^0\d/.test(el.value) ? looseToNumber(el.value) : el.value;
10897
10925
  const newValue = value == null ? "" : value;
10898
10926
  if (elValue === newValue) return;
10899
- if (document.activeElement === el && el.type !== "range") {
10927
+ const rootNode = el.getRootNode();
10928
+ if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement === el && el.type !== "range") {
10900
10929
  if (lazy && value === oldValue) return;
10901
10930
  if (trim && el.value.trim() === newValue) return;
10902
10931
  }
@@ -14312,7 +14341,7 @@ var Vue = (function() {
14312
14341
  `)`
14313
14342
  ]),
14314
14343
  createCompoundExpression([
14315
- `if (_cached`,
14344
+ `if (_cached && _cached.el`,
14316
14345
  ...keyExp ? [` && _cached.key === `, keyExp] : [],
14317
14346
  ` && ${context.helperString(IS_MEMO_SAME)}(_cached, _memo)) return _cached`
14318
14347
  ]),