@vue/compat 3.5.30 → 3.5.31

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.5.30
2
+ * @vue/compat v3.5.31
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1962,16 +1962,16 @@ function toRefs(object) {
1962
1962
  return ret;
1963
1963
  }
1964
1964
  class ObjectRefImpl {
1965
- constructor(_object, _key, _defaultValue) {
1965
+ constructor(_object, key, _defaultValue) {
1966
1966
  this._object = _object;
1967
- this._key = _key;
1968
1967
  this._defaultValue = _defaultValue;
1969
1968
  this["__v_isRef"] = true;
1970
1969
  this._value = void 0;
1970
+ this._key = isSymbol(key) ? key : String(key);
1971
1971
  this._raw = toRaw(_object);
1972
1972
  let shallow = true;
1973
1973
  let obj = _object;
1974
- if (!isArray(_object) || !isIntegerKey(String(_key))) {
1974
+ if (!isArray(_object) || isSymbol(this._key) || !isIntegerKey(this._key)) {
1975
1975
  do {
1976
1976
  shallow = !isProxy(obj) || isShallow(obj);
1977
1977
  } while (shallow && (obj = obj["__v_raw"]));
@@ -2776,6 +2776,13 @@ function checkRecursiveUpdates(seen, fn) {
2776
2776
  }
2777
2777
 
2778
2778
  let isHmrUpdating = false;
2779
+ const setHmrUpdating = (v) => {
2780
+ try {
2781
+ return isHmrUpdating;
2782
+ } finally {
2783
+ isHmrUpdating = v;
2784
+ }
2785
+ };
2779
2786
  const hmrDirtyComponents = /* @__PURE__ */ new Map();
2780
2787
  if (!!(process.env.NODE_ENV !== "production")) {
2781
2788
  getGlobalThis().__VUE_HMR_RUNTIME__ = {
@@ -3834,9 +3841,10 @@ const TeleportImpl = {
3834
3841
  mount(container, mainAnchor);
3835
3842
  updateCssVars(n2, true);
3836
3843
  }
3837
- if (isTeleportDeferred(n2.props)) {
3844
+ if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) {
3838
3845
  n2.el.__isMounted = false;
3839
3846
  queuePostRenderEffect(() => {
3847
+ if (n2.el.__isMounted !== false) return;
3840
3848
  mountToTarget();
3841
3849
  delete n2.el.__isMounted;
3842
3850
  }, parentSuspense);
@@ -3844,7 +3852,12 @@ const TeleportImpl = {
3844
3852
  mountToTarget();
3845
3853
  }
3846
3854
  } else {
3847
- if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {
3855
+ n2.el = n1.el;
3856
+ n2.targetStart = n1.targetStart;
3857
+ const mainAnchor = n2.anchor = n1.anchor;
3858
+ const target = n2.target = n1.target;
3859
+ const targetAnchor = n2.targetAnchor = n1.targetAnchor;
3860
+ if (n1.el.__isMounted === false) {
3848
3861
  queuePostRenderEffect(() => {
3849
3862
  TeleportImpl.process(
3850
3863
  n1,
@@ -3861,11 +3874,6 @@ const TeleportImpl = {
3861
3874
  }, parentSuspense);
3862
3875
  return;
3863
3876
  }
3864
- n2.el = n1.el;
3865
- n2.targetStart = n1.targetStart;
3866
- const mainAnchor = n2.anchor = n1.anchor;
3867
- const target = n2.target = n1.target;
3868
- const targetAnchor = n2.targetAnchor = n1.targetAnchor;
3869
3877
  const wasDisabled = isTeleportDisabled(n1.props);
3870
3878
  const currentContainer = wasDisabled ? container : target;
3871
3879
  const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
@@ -4332,7 +4340,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4332
4340
  callHook(hook, [el]);
4333
4341
  },
4334
4342
  enter(el) {
4335
- if (leavingVNodesCache[key] === vnode) return;
4343
+ if (!isHmrUpdating && leavingVNodesCache[key] === vnode) return;
4336
4344
  let hook = onEnter;
4337
4345
  let afterHook = onAfterEnter;
4338
4346
  let cancelHook = onEnterCancelled;
@@ -7543,7 +7551,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7543
7551
  return vm;
7544
7552
  }
7545
7553
  }
7546
- Vue.version = `2.6.14-compat:${"3.5.30"}`;
7554
+ Vue.version = `2.6.14-compat:${"3.5.31"}`;
7547
7555
  Vue.config = singletonApp.config;
7548
7556
  Vue.use = (plugin, ...options) => {
7549
7557
  if (plugin && isFunction(plugin.install)) {
@@ -8704,11 +8712,12 @@ function hasPropValueChanged(nextProps, prevProps, key) {
8704
8712
  }
8705
8713
  return nextProp !== prevProp;
8706
8714
  }
8707
- function updateHOCHostEl({ vnode, parent }, el) {
8715
+ function updateHOCHostEl({ vnode, parent, suspense }, el) {
8708
8716
  while (parent) {
8709
8717
  const root = parent.subTree;
8710
8718
  if (root.suspense && root.suspense.activeBranch === vnode) {
8711
- root.el = vnode.el;
8719
+ root.suspense.vnode.el = root.el = el;
8720
+ vnode = root;
8712
8721
  }
8713
8722
  if (root === vnode) {
8714
8723
  (vnode = parent.vnode).el = el;
@@ -8717,6 +8726,9 @@ function updateHOCHostEl({ vnode, parent }, el) {
8717
8726
  break;
8718
8727
  }
8719
8728
  }
8729
+ if (suspense && suspense.activeBranch === vnode) {
8730
+ suspense.vnode.el = el;
8731
+ }
8720
8732
  }
8721
8733
 
8722
8734
  function createPropsDefaultThis(instance, rawProps, propKey) {
@@ -9657,10 +9669,17 @@ function baseCreateRenderer(options, createHydrationFns) {
9657
9669
  }
9658
9670
  hostInsert(el, container, anchor);
9659
9671
  if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
9672
+ const isHmr = !!(process.env.NODE_ENV !== "production") && isHmrUpdating;
9660
9673
  queuePostRenderEffect(() => {
9661
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
9662
- needCallTransitionHooks && transition.enter(el);
9663
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
9674
+ let prev;
9675
+ if (!!(process.env.NODE_ENV !== "production")) prev = setHmrUpdating(isHmr);
9676
+ try {
9677
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
9678
+ needCallTransitionHooks && transition.enter(el);
9679
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
9680
+ } finally {
9681
+ if (!!(process.env.NODE_ENV !== "production")) setHmrUpdating(prev);
9682
+ }
9664
9683
  }, parentSuspense);
9665
9684
  }
9666
9685
  };
@@ -10617,7 +10636,8 @@ function baseCreateRenderer(options, createHydrationFns) {
10617
10636
  shapeFlag,
10618
10637
  patchFlag,
10619
10638
  dirs,
10620
- cacheIndex
10639
+ cacheIndex,
10640
+ memo
10621
10641
  } = vnode;
10622
10642
  if (patchFlag === -2) {
10623
10643
  optimized = false;
@@ -10679,10 +10699,14 @@ function baseCreateRenderer(options, createHydrationFns) {
10679
10699
  remove(vnode);
10680
10700
  }
10681
10701
  }
10682
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {
10702
+ const shouldInvalidateMemo = memo != null && cacheIndex == null;
10703
+ if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs || shouldInvalidateMemo) {
10683
10704
  queuePostRenderEffect(() => {
10684
10705
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
10685
10706
  shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
10707
+ if (shouldInvalidateMemo) {
10708
+ vnode.el = null;
10709
+ }
10686
10710
  }, parentSuspense);
10687
10711
  }
10688
10712
  };
@@ -11245,6 +11269,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11245
11269
  pendingId: suspenseId++,
11246
11270
  timeout: typeof timeout === "number" ? timeout : -1,
11247
11271
  activeBranch: null,
11272
+ isFallbackMountPending: false,
11248
11273
  pendingBranch: null,
11249
11274
  isInFallback: !isHydrating,
11250
11275
  isHydrating,
@@ -11294,7 +11319,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11294
11319
  }
11295
11320
  };
11296
11321
  }
11297
- if (activeBranch) {
11322
+ if (activeBranch && !suspense.isFallbackMountPending) {
11298
11323
  if (parentNode(activeBranch.el) === container2) {
11299
11324
  anchor = next(activeBranch);
11300
11325
  }
@@ -11307,6 +11332,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11307
11332
  move(pendingBranch, container2, anchor, 0);
11308
11333
  }
11309
11334
  }
11335
+ suspense.isFallbackMountPending = false;
11310
11336
  setActiveBranch(suspense, pendingBranch);
11311
11337
  suspense.pendingBranch = null;
11312
11338
  suspense.isInFallback = false;
@@ -11342,6 +11368,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11342
11368
  triggerEvent(vnode2, "onFallback");
11343
11369
  const anchor2 = next(activeBranch);
11344
11370
  const mountFallback = () => {
11371
+ suspense.isFallbackMountPending = false;
11345
11372
  if (!suspense.isInFallback) {
11346
11373
  return;
11347
11374
  }
@@ -11361,6 +11388,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11361
11388
  };
11362
11389
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
11363
11390
  if (delayEnter) {
11391
+ suspense.isFallbackMountPending = true;
11364
11392
  activeBranch.transition.afterLeave = mountFallback;
11365
11393
  }
11366
11394
  suspense.isInFallback = true;
@@ -11978,6 +12006,10 @@ function mergeProps(...args) {
11978
12006
  const incoming = toMerge[key];
11979
12007
  if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {
11980
12008
  ret[key] = existing ? [].concat(existing, incoming) : incoming;
12009
+ } else if (incoming == null && existing == null && // mergeProps({ 'onUpdate:modelValue': undefined }) should not retain
12010
+ // the model listener.
12011
+ !isModelListener(key)) {
12012
+ ret[key] = incoming;
11981
12013
  }
11982
12014
  } else if (key !== "") {
11983
12015
  ret[key] = toMerge[key];
@@ -12688,7 +12720,7 @@ function isMemoSame(cached, memo) {
12688
12720
  return true;
12689
12721
  }
12690
12722
 
12691
- const version = "3.5.30";
12723
+ const version = "3.5.31";
12692
12724
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12693
12725
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12694
12726
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -14376,7 +14408,8 @@ const vModelText = {
14376
14408
  if (elValue === newValue) {
14377
14409
  return;
14378
14410
  }
14379
- if (document.activeElement === el && el.type !== "range") {
14411
+ const rootNode = el.getRootNode();
14412
+ if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement === el && el.type !== "range") {
14380
14413
  if (lazy && value === oldValue) {
14381
14414
  return;
14382
14415
  }
@@ -18811,7 +18844,7 @@ const transformFor = createStructuralDirectiveTransform(
18811
18844
  loop.body = createBlockStatement([
18812
18845
  createCompoundExpression([`const _memo = (`, memo.exp, `)`]),
18813
18846
  createCompoundExpression([
18814
- `if (_cached`,
18847
+ `if (_cached && _cached.el`,
18815
18848
  ...keyExp ? [` && _cached.key === `, keyExp] : [],
18816
18849
  ` && ${context.helperString(
18817
18850
  IS_MEMO_SAME
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.30
2
+ * @vue/compat v3.5.31
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1955,16 +1955,16 @@ var Vue = (function () {
1955
1955
  return ret;
1956
1956
  }
1957
1957
  class ObjectRefImpl {
1958
- constructor(_object, _key, _defaultValue) {
1958
+ constructor(_object, key, _defaultValue) {
1959
1959
  this._object = _object;
1960
- this._key = _key;
1961
1960
  this._defaultValue = _defaultValue;
1962
1961
  this["__v_isRef"] = true;
1963
1962
  this._value = void 0;
1963
+ this._key = isSymbol(key) ? key : String(key);
1964
1964
  this._raw = toRaw(_object);
1965
1965
  let shallow = true;
1966
1966
  let obj = _object;
1967
- if (!isArray(_object) || !isIntegerKey(String(_key))) {
1967
+ if (!isArray(_object) || isSymbol(this._key) || !isIntegerKey(this._key)) {
1968
1968
  do {
1969
1969
  shallow = !isProxy(obj) || isShallow(obj);
1970
1970
  } while (shallow && (obj = obj["__v_raw"]));
@@ -2764,6 +2764,13 @@ var Vue = (function () {
2764
2764
  }
2765
2765
 
2766
2766
  let isHmrUpdating = false;
2767
+ const setHmrUpdating = (v) => {
2768
+ try {
2769
+ return isHmrUpdating;
2770
+ } finally {
2771
+ isHmrUpdating = v;
2772
+ }
2773
+ };
2767
2774
  const hmrDirtyComponents = /* @__PURE__ */ new Map();
2768
2775
  {
2769
2776
  getGlobalThis().__VUE_HMR_RUNTIME__ = {
@@ -3791,9 +3798,10 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3791
3798
  mount(container, mainAnchor);
3792
3799
  updateCssVars(n2, true);
3793
3800
  }
3794
- if (isTeleportDeferred(n2.props)) {
3801
+ if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) {
3795
3802
  n2.el.__isMounted = false;
3796
3803
  queuePostRenderEffect(() => {
3804
+ if (n2.el.__isMounted !== false) return;
3797
3805
  mountToTarget();
3798
3806
  delete n2.el.__isMounted;
3799
3807
  }, parentSuspense);
@@ -3801,7 +3809,12 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3801
3809
  mountToTarget();
3802
3810
  }
3803
3811
  } else {
3804
- if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {
3812
+ n2.el = n1.el;
3813
+ n2.targetStart = n1.targetStart;
3814
+ const mainAnchor = n2.anchor = n1.anchor;
3815
+ const target = n2.target = n1.target;
3816
+ const targetAnchor = n2.targetAnchor = n1.targetAnchor;
3817
+ if (n1.el.__isMounted === false) {
3805
3818
  queuePostRenderEffect(() => {
3806
3819
  TeleportImpl.process(
3807
3820
  n1,
@@ -3818,11 +3831,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3818
3831
  }, parentSuspense);
3819
3832
  return;
3820
3833
  }
3821
- n2.el = n1.el;
3822
- n2.targetStart = n1.targetStart;
3823
- const mainAnchor = n2.anchor = n1.anchor;
3824
- const target = n2.target = n1.target;
3825
- const targetAnchor = n2.targetAnchor = n1.targetAnchor;
3826
3834
  const wasDisabled = isTeleportDisabled(n1.props);
3827
3835
  const currentContainer = wasDisabled ? container : target;
3828
3836
  const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
@@ -4288,7 +4296,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4288
4296
  callHook(hook, [el]);
4289
4297
  },
4290
4298
  enter(el) {
4291
- if (leavingVNodesCache[key] === vnode) return;
4299
+ if (!isHmrUpdating && leavingVNodesCache[key] === vnode) return;
4292
4300
  let hook = onEnter;
4293
4301
  let afterHook = onAfterEnter;
4294
4302
  let cancelHook = onEnterCancelled;
@@ -7477,7 +7485,7 @@ If this is a native custom element, make sure to exclude it from component resol
7477
7485
  return vm;
7478
7486
  }
7479
7487
  }
7480
- Vue.version = `2.6.14-compat:${"3.5.30"}`;
7488
+ Vue.version = `2.6.14-compat:${"3.5.31"}`;
7481
7489
  Vue.config = singletonApp.config;
7482
7490
  Vue.use = (plugin, ...options) => {
7483
7491
  if (plugin && isFunction(plugin.install)) {
@@ -8636,11 +8644,12 @@ If you want to remount the same app, move your app creation logic into a factory
8636
8644
  }
8637
8645
  return nextProp !== prevProp;
8638
8646
  }
8639
- function updateHOCHostEl({ vnode, parent }, el) {
8647
+ function updateHOCHostEl({ vnode, parent, suspense }, el) {
8640
8648
  while (parent) {
8641
8649
  const root = parent.subTree;
8642
8650
  if (root.suspense && root.suspense.activeBranch === vnode) {
8643
- root.el = vnode.el;
8651
+ root.suspense.vnode.el = root.el = el;
8652
+ vnode = root;
8644
8653
  }
8645
8654
  if (root === vnode) {
8646
8655
  (vnode = parent.vnode).el = el;
@@ -8649,6 +8658,9 @@ If you want to remount the same app, move your app creation logic into a factory
8649
8658
  break;
8650
8659
  }
8651
8660
  }
8661
+ if (suspense && suspense.activeBranch === vnode) {
8662
+ suspense.vnode.el = el;
8663
+ }
8652
8664
  }
8653
8665
 
8654
8666
  function createPropsDefaultThis(instance, rawProps, propKey) {
@@ -9562,10 +9574,17 @@ If you want to remount the same app, move your app creation logic into a factory
9562
9574
  }
9563
9575
  hostInsert(el, container, anchor);
9564
9576
  if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
9577
+ const isHmr = isHmrUpdating;
9565
9578
  queuePostRenderEffect(() => {
9566
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
9567
- needCallTransitionHooks && transition.enter(el);
9568
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
9579
+ let prev;
9580
+ prev = setHmrUpdating(isHmr);
9581
+ try {
9582
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
9583
+ needCallTransitionHooks && transition.enter(el);
9584
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
9585
+ } finally {
9586
+ setHmrUpdating(prev);
9587
+ }
9569
9588
  }, parentSuspense);
9570
9589
  }
9571
9590
  };
@@ -10511,7 +10530,8 @@ If you want to remount the same app, move your app creation logic into a factory
10511
10530
  shapeFlag,
10512
10531
  patchFlag,
10513
10532
  dirs,
10514
- cacheIndex
10533
+ cacheIndex,
10534
+ memo
10515
10535
  } = vnode;
10516
10536
  if (patchFlag === -2) {
10517
10537
  optimized = false;
@@ -10573,10 +10593,14 @@ If you want to remount the same app, move your app creation logic into a factory
10573
10593
  remove(vnode);
10574
10594
  }
10575
10595
  }
10576
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {
10596
+ const shouldInvalidateMemo = memo != null && cacheIndex == null;
10597
+ if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs || shouldInvalidateMemo) {
10577
10598
  queuePostRenderEffect(() => {
10578
10599
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
10579
10600
  shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
10601
+ if (shouldInvalidateMemo) {
10602
+ vnode.el = null;
10603
+ }
10580
10604
  }, parentSuspense);
10581
10605
  }
10582
10606
  };
@@ -11139,6 +11163,7 @@ If you want to remount the same app, move your app creation logic into a factory
11139
11163
  pendingId: suspenseId++,
11140
11164
  timeout: typeof timeout === "number" ? timeout : -1,
11141
11165
  activeBranch: null,
11166
+ isFallbackMountPending: false,
11142
11167
  pendingBranch: null,
11143
11168
  isInFallback: !isHydrating,
11144
11169
  isHydrating,
@@ -11188,7 +11213,7 @@ If you want to remount the same app, move your app creation logic into a factory
11188
11213
  }
11189
11214
  };
11190
11215
  }
11191
- if (activeBranch) {
11216
+ if (activeBranch && !suspense.isFallbackMountPending) {
11192
11217
  if (parentNode(activeBranch.el) === container2) {
11193
11218
  anchor = next(activeBranch);
11194
11219
  }
@@ -11201,6 +11226,7 @@ If you want to remount the same app, move your app creation logic into a factory
11201
11226
  move(pendingBranch, container2, anchor, 0);
11202
11227
  }
11203
11228
  }
11229
+ suspense.isFallbackMountPending = false;
11204
11230
  setActiveBranch(suspense, pendingBranch);
11205
11231
  suspense.pendingBranch = null;
11206
11232
  suspense.isInFallback = false;
@@ -11236,6 +11262,7 @@ If you want to remount the same app, move your app creation logic into a factory
11236
11262
  triggerEvent(vnode2, "onFallback");
11237
11263
  const anchor2 = next(activeBranch);
11238
11264
  const mountFallback = () => {
11265
+ suspense.isFallbackMountPending = false;
11239
11266
  if (!suspense.isInFallback) {
11240
11267
  return;
11241
11268
  }
@@ -11255,6 +11282,7 @@ If you want to remount the same app, move your app creation logic into a factory
11255
11282
  };
11256
11283
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
11257
11284
  if (delayEnter) {
11285
+ suspense.isFallbackMountPending = true;
11258
11286
  activeBranch.transition.afterLeave = mountFallback;
11259
11287
  }
11260
11288
  suspense.isInFallback = true;
@@ -11872,6 +11900,10 @@ Component that was made reactive: `,
11872
11900
  const incoming = toMerge[key];
11873
11901
  if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {
11874
11902
  ret[key] = existing ? [].concat(existing, incoming) : incoming;
11903
+ } else if (incoming == null && existing == null && // mergeProps({ 'onUpdate:modelValue': undefined }) should not retain
11904
+ // the model listener.
11905
+ !isModelListener(key)) {
11906
+ ret[key] = incoming;
11875
11907
  }
11876
11908
  } else if (key !== "") {
11877
11909
  ret[key] = toMerge[key];
@@ -12554,7 +12586,7 @@ Component that was made reactive: `,
12554
12586
  return true;
12555
12587
  }
12556
12588
 
12557
- const version = "3.5.30";
12589
+ const version = "3.5.31";
12558
12590
  const warn = warn$1 ;
12559
12591
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12560
12592
  const devtools = devtools$1 ;
@@ -14211,7 +14243,8 @@ Expected function or array of functions, received type ${typeof value}.`
14211
14243
  if (elValue === newValue) {
14212
14244
  return;
14213
14245
  }
14214
- if (document.activeElement === el && el.type !== "range") {
14246
+ const rootNode = el.getRootNode();
14247
+ if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement === el && el.type !== "range") {
14215
14248
  if (lazy && value === oldValue) {
14216
14249
  return;
14217
14250
  }
@@ -18608,7 +18641,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18608
18641
  loop.body = createBlockStatement([
18609
18642
  createCompoundExpression([`const _memo = (`, memo.exp, `)`]),
18610
18643
  createCompoundExpression([
18611
- `if (_cached`,
18644
+ `if (_cached && _cached.el`,
18612
18645
  ...keyExp ? [` && _cached.key === `, keyExp] : [],
18613
18646
  ` && ${context.helperString(
18614
18647
  IS_MEMO_SAME