@vue/runtime-dom 3.5.12 → 3.5.14

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-dom v3.5.12
2
+ * @vue/runtime-dom v3.5.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -144,10 +144,9 @@ var VueRuntimeDOM = (function (exports) {
144
144
  return ret;
145
145
  }
146
146
  function stringifyStyle(styles) {
147
+ if (!styles) return "";
148
+ if (isString(styles)) return styles;
147
149
  let ret = "";
148
- if (!styles || isString(styles)) {
149
- return ret;
150
- }
151
150
  for (const key in styles) {
152
151
  const value = styles[key];
153
152
  if (isString(value) || typeof value === "number") {
@@ -327,6 +326,10 @@ var VueRuntimeDOM = (function (exports) {
327
326
  * @internal
328
327
  */
329
328
  this._active = true;
329
+ /**
330
+ * @internal track `on` calls, allow `on` call multiple times
331
+ */
332
+ this._on = 0;
330
333
  /**
331
334
  * @internal
332
335
  */
@@ -397,28 +400,38 @@ var VueRuntimeDOM = (function (exports) {
397
400
  * @internal
398
401
  */
399
402
  on() {
400
- activeEffectScope = this;
403
+ if (++this._on === 1) {
404
+ this.prevScope = activeEffectScope;
405
+ activeEffectScope = this;
406
+ }
401
407
  }
402
408
  /**
403
409
  * This should only be called on non-detached scopes
404
410
  * @internal
405
411
  */
406
412
  off() {
407
- activeEffectScope = this.parent;
413
+ if (this._on > 0 && --this._on === 0) {
414
+ activeEffectScope = this.prevScope;
415
+ this.prevScope = void 0;
416
+ }
408
417
  }
409
418
  stop(fromParent) {
410
419
  if (this._active) {
420
+ this._active = false;
411
421
  let i, l;
412
422
  for (i = 0, l = this.effects.length; i < l; i++) {
413
423
  this.effects[i].stop();
414
424
  }
425
+ this.effects.length = 0;
415
426
  for (i = 0, l = this.cleanups.length; i < l; i++) {
416
427
  this.cleanups[i]();
417
428
  }
429
+ this.cleanups.length = 0;
418
430
  if (this.scopes) {
419
431
  for (i = 0, l = this.scopes.length; i < l; i++) {
420
432
  this.scopes[i].stop(true);
421
433
  }
434
+ this.scopes.length = 0;
422
435
  }
423
436
  if (!this.detached && this.parent && !fromParent) {
424
437
  const last = this.parent.scopes.pop();
@@ -428,7 +441,6 @@ var VueRuntimeDOM = (function (exports) {
428
441
  }
429
442
  }
430
443
  this.parent = void 0;
431
- this._active = false;
432
444
  }
433
445
  }
434
446
  }
@@ -483,7 +495,7 @@ var VueRuntimeDOM = (function (exports) {
483
495
  }
484
496
  resume() {
485
497
  if (this.flags & 64) {
486
- this.flags &= ~64;
498
+ this.flags &= -65;
487
499
  if (pausedQueueEffects.has(this)) {
488
500
  pausedQueueEffects.delete(this);
489
501
  this.trigger();
@@ -523,7 +535,7 @@ var VueRuntimeDOM = (function (exports) {
523
535
  cleanupDeps(this);
524
536
  activeSub = prevEffect;
525
537
  shouldTrack = prevShouldTrack;
526
- this.flags &= ~2;
538
+ this.flags &= -3;
527
539
  }
528
540
  }
529
541
  stop() {
@@ -534,7 +546,7 @@ var VueRuntimeDOM = (function (exports) {
534
546
  this.deps = this.depsTail = void 0;
535
547
  cleanupEffect(this);
536
548
  this.onStop && this.onStop();
537
- this.flags &= ~1;
549
+ this.flags &= -2;
538
550
  }
539
551
  }
540
552
  trigger() {
@@ -584,7 +596,7 @@ var VueRuntimeDOM = (function (exports) {
584
596
  while (e) {
585
597
  const next = e.next;
586
598
  e.next = void 0;
587
- e.flags &= ~8;
599
+ e.flags &= -9;
588
600
  e = next;
589
601
  }
590
602
  }
@@ -595,7 +607,7 @@ var VueRuntimeDOM = (function (exports) {
595
607
  while (e) {
596
608
  const next = e.next;
597
609
  e.next = void 0;
598
- e.flags &= ~8;
610
+ e.flags &= -9;
599
611
  if (e.flags & 1) {
600
612
  try {
601
613
  ;
@@ -651,17 +663,16 @@ var VueRuntimeDOM = (function (exports) {
651
663
  if (computed.flags & 4 && !(computed.flags & 16)) {
652
664
  return;
653
665
  }
654
- computed.flags &= ~16;
666
+ computed.flags &= -17;
655
667
  if (computed.globalVersion === globalVersion) {
656
668
  return;
657
669
  }
658
670
  computed.globalVersion = globalVersion;
659
- const dep = computed.dep;
660
- computed.flags |= 2;
661
- if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {
662
- computed.flags &= ~2;
671
+ if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {
663
672
  return;
664
673
  }
674
+ computed.flags |= 2;
675
+ const dep = computed.dep;
665
676
  const prevSub = activeSub;
666
677
  const prevShouldTrack = shouldTrack;
667
678
  activeSub = computed;
@@ -670,6 +681,7 @@ var VueRuntimeDOM = (function (exports) {
670
681
  prepareDeps(computed);
671
682
  const value = computed.fn(computed._value);
672
683
  if (dep.version === 0 || hasChanged(value, computed._value)) {
684
+ computed.flags |= 128;
673
685
  computed._value = value;
674
686
  dep.version++;
675
687
  }
@@ -680,7 +692,7 @@ var VueRuntimeDOM = (function (exports) {
680
692
  activeSub = prevSub;
681
693
  shouldTrack = prevShouldTrack;
682
694
  cleanupDeps(computed);
683
- computed.flags &= ~2;
695
+ computed.flags &= -3;
684
696
  }
685
697
  }
686
698
  function removeSub(link, soft = false) {
@@ -699,7 +711,7 @@ var VueRuntimeDOM = (function (exports) {
699
711
  if (dep.subs === link) {
700
712
  dep.subs = prevSub;
701
713
  if (!prevSub && dep.computed) {
702
- dep.computed.flags &= ~4;
714
+ dep.computed.flags &= -5;
703
715
  for (let l = dep.computed.deps; l; l = l.nextDep) {
704
716
  removeSub(l, true);
705
717
  }
@@ -1194,6 +1206,7 @@ var VueRuntimeDOM = (function (exports) {
1194
1206
  this._isShallow = _isShallow;
1195
1207
  }
1196
1208
  get(target, key, receiver) {
1209
+ if (key === "__v_skip") return target["__v_skip"];
1197
1210
  const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;
1198
1211
  if (key === "__v_isReactive") {
1199
1212
  return !isReadonly2;
@@ -1631,14 +1644,14 @@ var VueRuntimeDOM = (function (exports) {
1631
1644
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1632
1645
  return target;
1633
1646
  }
1634
- const existingProxy = proxyMap.get(target);
1635
- if (existingProxy) {
1636
- return existingProxy;
1637
- }
1638
1647
  const targetType = getTargetType(target);
1639
1648
  if (targetType === 0 /* INVALID */) {
1640
1649
  return target;
1641
1650
  }
1651
+ const existingProxy = proxyMap.get(target);
1652
+ if (existingProxy) {
1653
+ return existingProxy;
1654
+ }
1642
1655
  const proxy = new Proxy(
1643
1656
  target,
1644
1657
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -2030,7 +2043,7 @@ var VueRuntimeDOM = (function (exports) {
2030
2043
  const scope = getCurrentScope();
2031
2044
  const watchHandle = () => {
2032
2045
  effect.stop();
2033
- if (scope) {
2046
+ if (scope && scope.active) {
2034
2047
  remove(scope.effects, effect);
2035
2048
  }
2036
2049
  };
@@ -2482,11 +2495,11 @@ var VueRuntimeDOM = (function (exports) {
2482
2495
  queue.splice(i, 1);
2483
2496
  i--;
2484
2497
  if (cb.flags & 4) {
2485
- cb.flags &= ~1;
2498
+ cb.flags &= -2;
2486
2499
  }
2487
2500
  cb();
2488
2501
  if (!(cb.flags & 4)) {
2489
- cb.flags &= ~1;
2502
+ cb.flags &= -2;
2490
2503
  }
2491
2504
  }
2492
2505
  }
@@ -2511,10 +2524,10 @@ var VueRuntimeDOM = (function (exports) {
2511
2524
  continue;
2512
2525
  }
2513
2526
  if (cb.flags & 4) {
2514
- cb.flags &= ~1;
2527
+ cb.flags &= -2;
2515
2528
  }
2516
2529
  if (!(cb.flags & 8)) cb();
2517
- cb.flags &= ~1;
2530
+ cb.flags &= -2;
2518
2531
  }
2519
2532
  activePostFlushCbs = null;
2520
2533
  postFlushIndex = 0;
@@ -2550,7 +2563,7 @@ var VueRuntimeDOM = (function (exports) {
2550
2563
  for (; flushIndex < queue.length; flushIndex++) {
2551
2564
  const job = queue[flushIndex];
2552
2565
  if (job) {
2553
- job.flags &= ~1;
2566
+ job.flags &= -2;
2554
2567
  }
2555
2568
  }
2556
2569
  flushIndex = -1;
@@ -2990,11 +3003,32 @@ var VueRuntimeDOM = (function (exports) {
2990
3003
  updateCssVars(n2, true);
2991
3004
  }
2992
3005
  if (isTeleportDeferred(n2.props)) {
2993
- queuePostRenderEffect(mountToTarget, parentSuspense);
3006
+ queuePostRenderEffect(() => {
3007
+ mountToTarget();
3008
+ n2.el.__isMounted = true;
3009
+ }, parentSuspense);
2994
3010
  } else {
2995
3011
  mountToTarget();
2996
3012
  }
2997
3013
  } else {
3014
+ if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
3015
+ queuePostRenderEffect(() => {
3016
+ TeleportImpl.process(
3017
+ n1,
3018
+ n2,
3019
+ container,
3020
+ anchor,
3021
+ parentComponent,
3022
+ parentSuspense,
3023
+ namespace,
3024
+ slotScopeIds,
3025
+ optimized,
3026
+ internals
3027
+ );
3028
+ delete n1.el.__isMounted;
3029
+ }, parentSuspense);
3030
+ return;
3031
+ }
2998
3032
  n2.el = n1.el;
2999
3033
  n2.targetStart = n1.targetStart;
3000
3034
  const mainAnchor = n2.anchor = n1.anchor;
@@ -3018,7 +3052,7 @@ var VueRuntimeDOM = (function (exports) {
3018
3052
  namespace,
3019
3053
  slotScopeIds
3020
3054
  );
3021
- traverseStaticChildren(n1, n2, true);
3055
+ traverseStaticChildren(n1, n2, false);
3022
3056
  } else if (!optimized) {
3023
3057
  patchChildren(
3024
3058
  n1,
@@ -3300,10 +3334,9 @@ var VueRuntimeDOM = (function (exports) {
3300
3334
  if (innerChild.type !== Comment) {
3301
3335
  setTransitionHooks(innerChild, enterHooks);
3302
3336
  }
3303
- const oldChild = instance.subTree;
3304
- const oldInnerChild = oldChild && getInnerChild$1(oldChild);
3337
+ let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
3305
3338
  if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
3306
- const leavingHooks = resolveTransitionHooks(
3339
+ let leavingHooks = resolveTransitionHooks(
3307
3340
  oldInnerChild,
3308
3341
  rawProps,
3309
3342
  state,
@@ -3318,6 +3351,7 @@ var VueRuntimeDOM = (function (exports) {
3318
3351
  instance.update();
3319
3352
  }
3320
3353
  delete leavingHooks.afterLeave;
3354
+ oldInnerChild = void 0;
3321
3355
  };
3322
3356
  return emptyPlaceholder(child);
3323
3357
  } else if (mode === "in-out" && innerChild.type !== Comment) {
@@ -3331,10 +3365,19 @@ var VueRuntimeDOM = (function (exports) {
3331
3365
  earlyRemove();
3332
3366
  el[leaveCbKey] = void 0;
3333
3367
  delete enterHooks.delayedLeave;
3368
+ oldInnerChild = void 0;
3369
+ };
3370
+ enterHooks.delayedLeave = () => {
3371
+ delayedLeave();
3372
+ delete enterHooks.delayedLeave;
3373
+ oldInnerChild = void 0;
3334
3374
  };
3335
- enterHooks.delayedLeave = delayedLeave;
3336
3375
  };
3376
+ } else {
3377
+ oldInnerChild = void 0;
3337
3378
  }
3379
+ } else if (oldInnerChild) {
3380
+ oldInnerChild = void 0;
3338
3381
  }
3339
3382
  return child;
3340
3383
  };
@@ -3639,6 +3682,9 @@ var VueRuntimeDOM = (function (exports) {
3639
3682
  return;
3640
3683
  }
3641
3684
  if (isAsyncWrapper(vnode) && !isUnmount) {
3685
+ if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {
3686
+ setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);
3687
+ }
3642
3688
  return;
3643
3689
  }
3644
3690
  const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
@@ -3903,7 +3949,7 @@ var VueRuntimeDOM = (function (exports) {
3903
3949
  getContainerType(container),
3904
3950
  optimized
3905
3951
  );
3906
- if (isAsyncWrapper(vnode)) {
3952
+ if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {
3907
3953
  let subTree;
3908
3954
  if (isFragmentStart) {
3909
3955
  subTree = createVNode(Fragment);
@@ -4172,6 +4218,10 @@ Server rendered element contains fewer child nodes than client vdom.`
4172
4218
  getContainerType(container),
4173
4219
  slotScopeIds
4174
4220
  );
4221
+ if (parentComponent) {
4222
+ parentComponent.vnode.el = vnode.el;
4223
+ updateHOCHostEl(parentComponent, vnode.el);
4224
+ }
4175
4225
  return next;
4176
4226
  };
4177
4227
  const locateClosingAnchor = (node, open = "[", close = "]") => {
@@ -4681,6 +4731,9 @@ Server rendered element contains fewer child nodes than client vdom.`
4681
4731
  {
4682
4732
  devtoolsComponentAdded(instance2);
4683
4733
  }
4734
+ {
4735
+ instance2.__keepAliveStorageContainer = storageContainer;
4736
+ }
4684
4737
  };
4685
4738
  function unmount(vnode) {
4686
4739
  resetShapeFlag(vnode);
@@ -4768,7 +4821,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4768
4821
  );
4769
4822
  const { include, exclude, max } = props;
4770
4823
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
4771
- vnode.shapeFlag &= ~256;
4824
+ vnode.shapeFlag &= -257;
4772
4825
  current = vnode;
4773
4826
  return rawVNode;
4774
4827
  }
@@ -4855,8 +4908,8 @@ Server rendered element contains fewer child nodes than client vdom.`
4855
4908
  }, target);
4856
4909
  }
4857
4910
  function resetShapeFlag(vnode) {
4858
- vnode.shapeFlag &= ~256;
4859
- vnode.shapeFlag &= ~512;
4911
+ vnode.shapeFlag &= -257;
4912
+ vnode.shapeFlag &= -513;
4860
4913
  }
4861
4914
  function getInnerChild(vnode) {
4862
4915
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -4971,14 +5024,16 @@ If this is a native custom element, make sure to exclude it from component resol
4971
5024
  if (sourceIsArray || isString(source)) {
4972
5025
  const sourceIsReactiveArray = sourceIsArray && isReactive(source);
4973
5026
  let needsWrap = false;
5027
+ let isReadonlySource = false;
4974
5028
  if (sourceIsReactiveArray) {
4975
5029
  needsWrap = !isShallow(source);
5030
+ isReadonlySource = isReadonly(source);
4976
5031
  source = shallowReadArray(source);
4977
5032
  }
4978
5033
  ret = new Array(source.length);
4979
5034
  for (let i = 0, l = source.length; i < l; i++) {
4980
5035
  ret[i] = renderItem(
4981
- needsWrap ? toReactive(source[i]) : source[i],
5036
+ needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],
4982
5037
  i,
4983
5038
  void 0,
4984
5039
  cached && cached[i]
@@ -5997,11 +6052,9 @@ If this is a native custom element, make sure to exclude it from component resol
5997
6052
  }
5998
6053
  {
5999
6054
  context.reload = () => {
6000
- render(
6001
- cloneVNode(vnode),
6002
- rootContainer,
6003
- namespace
6004
- );
6055
+ const cloned = cloneVNode(vnode);
6056
+ cloned.el = null;
6057
+ render(cloned, rootContainer, namespace);
6005
6058
  };
6006
6059
  }
6007
6060
  if (isHydrate && hydrate) {
@@ -6524,7 +6577,7 @@ If you want to remount the same app, move your app creation logic into a factory
6524
6577
  return rawSlot;
6525
6578
  }
6526
6579
  const normalized = withCtx((...args) => {
6527
- if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
6580
+ if (currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {
6528
6581
  warn$1(
6529
6582
  `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
6530
6583
  );
@@ -6563,7 +6616,7 @@ If you want to remount the same app, move your app creation logic into a factory
6563
6616
  };
6564
6617
  const assignSlots = (slots, children, optimized) => {
6565
6618
  for (const key in children) {
6566
- if (optimized || key !== "_") {
6619
+ if (optimized || !isInternalKey(key)) {
6567
6620
  slots[key] = children[key];
6568
6621
  }
6569
6622
  }
@@ -7249,8 +7302,8 @@ If you want to remount the same app, move your app creation logic into a factory
7249
7302
  endMeasure(instance, `init`);
7250
7303
  }
7251
7304
  }
7305
+ if (isHmrUpdating) initialVNode.el = null;
7252
7306
  if (instance.asyncDep) {
7253
- if (isHmrUpdating) initialVNode.el = null;
7254
7307
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
7255
7308
  if (!initialVNode.el) {
7256
7309
  const placeholder = instance.subTree = createVNode(Comment);
@@ -7812,7 +7865,13 @@ If you want to remount the same app, move your app creation logic into a factory
7812
7865
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
7813
7866
  } else {
7814
7867
  const { leave, delayLeave, afterLeave } = transition;
7815
- const remove2 = () => hostInsert(el, container, anchor);
7868
+ const remove2 = () => {
7869
+ if (vnode.ctx.isUnmounted) {
7870
+ hostRemove(el);
7871
+ } else {
7872
+ hostInsert(el, container, anchor);
7873
+ }
7874
+ };
7816
7875
  const performLeave = () => {
7817
7876
  leave(el, () => {
7818
7877
  remove2();
@@ -7845,7 +7904,9 @@ If you want to remount the same app, move your app creation logic into a factory
7845
7904
  optimized = false;
7846
7905
  }
7847
7906
  if (ref != null) {
7907
+ pauseTracking();
7848
7908
  setRef(ref, null, parentSuspense, vnode, true);
7909
+ resetTracking();
7849
7910
  }
7850
7911
  if (cacheIndex != null) {
7851
7912
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -7957,12 +8018,27 @@ If you want to remount the same app, move your app creation logic into a factory
7957
8018
  if (instance.type.__hmrId) {
7958
8019
  unregisterHMR(instance);
7959
8020
  }
7960
- const { bum, scope, job, subTree, um, m, a } = instance;
8021
+ const {
8022
+ bum,
8023
+ scope,
8024
+ job,
8025
+ subTree,
8026
+ um,
8027
+ m,
8028
+ a,
8029
+ parent,
8030
+ slots: { __: slotCacheKeys }
8031
+ } = instance;
7961
8032
  invalidateMount(m);
7962
8033
  invalidateMount(a);
7963
8034
  if (bum) {
7964
8035
  invokeArrayFns(bum);
7965
8036
  }
8037
+ if (parent && isArray(slotCacheKeys)) {
8038
+ slotCacheKeys.forEach((v) => {
8039
+ parent.renderCache[v] = void 0;
8040
+ });
8041
+ }
7966
8042
  scope.stop();
7967
8043
  if (job) {
7968
8044
  job.flags |= 8;
@@ -8058,8 +8134,8 @@ If you want to remount the same app, move your app creation logic into a factory
8058
8134
  effect.flags |= 32;
8059
8135
  job.flags |= 4;
8060
8136
  } else {
8061
- effect.flags &= ~32;
8062
- job.flags &= ~4;
8137
+ effect.flags &= -33;
8138
+ job.flags &= -5;
8063
8139
  }
8064
8140
  }
8065
8141
  function needTransition(parentSuspense, transition) {
@@ -8086,6 +8162,9 @@ If you want to remount the same app, move your app creation logic into a factory
8086
8162
  if (c2.type === Comment && !c2.el) {
8087
8163
  c2.el = c1.el;
8088
8164
  }
8165
+ {
8166
+ c2.el && (c2.el.__vnode = c2);
8167
+ }
8089
8168
  }
8090
8169
  }
8091
8170
  }
@@ -8574,7 +8653,7 @@ If you want to remount the same app, move your app creation logic into a factory
8574
8653
  }
8575
8654
  if (extraAttrs.length) {
8576
8655
  warn$1(
8577
- `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
8656
+ `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`
8578
8657
  );
8579
8658
  }
8580
8659
  if (eventAttrs.length) {
@@ -9357,9 +9436,9 @@ If you want to remount the same app, move your app creation logic into a factory
9357
9436
  currentBlock = blockStack[blockStack.length - 1] || null;
9358
9437
  }
9359
9438
  let isBlockTreeEnabled = 1;
9360
- function setBlockTracking(value) {
9439
+ function setBlockTracking(value, inVOnce = false) {
9361
9440
  isBlockTreeEnabled += value;
9362
- if (value < 0 && currentBlock) {
9441
+ if (value < 0 && currentBlock && inVOnce) {
9363
9442
  currentBlock.hasOnce = true;
9364
9443
  }
9365
9444
  }
@@ -9403,8 +9482,8 @@ If you want to remount the same app, move your app creation logic into a factory
9403
9482
  if (n2.shapeFlag & 6 && n1.component) {
9404
9483
  const dirtyInstances = hmrDirtyComponents.get(n2.type);
9405
9484
  if (dirtyInstances && dirtyInstances.has(n1.component)) {
9406
- n1.shapeFlag &= ~256;
9407
- n2.shapeFlag &= ~512;
9485
+ n1.shapeFlag &= -257;
9486
+ n2.shapeFlag &= -513;
9408
9487
  return false;
9409
9488
  }
9410
9489
  }
@@ -9853,7 +9932,7 @@ Component that was made reactive: `,
9853
9932
  const { props, children } = instance.vnode;
9854
9933
  const isStateful = isStatefulComponent(instance);
9855
9934
  initProps(instance, props, isStateful, isSSR);
9856
- initSlots(instance, children, optimized);
9935
+ initSlots(instance, children, optimized || isSSR);
9857
9936
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
9858
9937
  isSSR && setInSSRSetupState(false);
9859
9938
  return setupResult;
@@ -10182,13 +10261,15 @@ Component that was made reactive: `,
10182
10261
  if (obj.__isVue) {
10183
10262
  return ["div", vueStyle, `VueInstance`];
10184
10263
  } else if (isRef(obj)) {
10264
+ pauseTracking();
10265
+ const value = obj.value;
10266
+ resetTracking();
10185
10267
  return [
10186
10268
  "div",
10187
10269
  {},
10188
10270
  ["span", vueStyle, genRefFlag(obj)],
10189
10271
  "<",
10190
- // avoid debugger accessing value affecting behavior
10191
- formatValue("_value" in obj ? obj._value : obj),
10272
+ formatValue(value),
10192
10273
  `>`
10193
10274
  ];
10194
10275
  } else if (isReactive(obj)) {
@@ -10369,7 +10450,7 @@ Component that was made reactive: `,
10369
10450
  return true;
10370
10451
  }
10371
10452
 
10372
- const version = "3.5.12";
10453
+ const version = "3.5.14";
10373
10454
  const warn = warn$1 ;
10374
10455
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10375
10456
  const devtools = devtools$1 ;
@@ -10541,7 +10622,8 @@ Component that was made reactive: `,
10541
10622
  onAppear = onEnter,
10542
10623
  onAppearCancelled = onEnterCancelled
10543
10624
  } = baseProps;
10544
- const finishEnter = (el, isAppear, done) => {
10625
+ const finishEnter = (el, isAppear, done, isCancelled) => {
10626
+ el._enterCancelled = isCancelled;
10545
10627
  removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
10546
10628
  removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
10547
10629
  done && done();
@@ -10584,8 +10666,13 @@ Component that was made reactive: `,
10584
10666
  el._isLeaving = true;
10585
10667
  const resolve = () => finishLeave(el, done);
10586
10668
  addTransitionClass(el, leaveFromClass);
10587
- addTransitionClass(el, leaveActiveClass);
10588
- forceReflow();
10669
+ if (!el._enterCancelled) {
10670
+ forceReflow();
10671
+ addTransitionClass(el, leaveActiveClass);
10672
+ } else {
10673
+ addTransitionClass(el, leaveActiveClass);
10674
+ forceReflow();
10675
+ }
10589
10676
  nextFrame(() => {
10590
10677
  if (!el._isLeaving) {
10591
10678
  return;
@@ -10599,11 +10686,11 @@ Component that was made reactive: `,
10599
10686
  callHook(onLeave, [el, resolve]);
10600
10687
  },
10601
10688
  onEnterCancelled(el) {
10602
- finishEnter(el, false);
10689
+ finishEnter(el, false, void 0, true);
10603
10690
  callHook(onEnterCancelled, [el]);
10604
10691
  },
10605
10692
  onAppearCancelled(el) {
10606
- finishEnter(el, true);
10693
+ finishEnter(el, true, void 0, true);
10607
10694
  callHook(onAppearCancelled, [el]);
10608
10695
  },
10609
10696
  onLeaveCancelled(el) {
@@ -10816,10 +10903,11 @@ Component that was made reactive: `,
10816
10903
  }
10817
10904
  updateTeleports(vars);
10818
10905
  };
10819
- onBeforeMount(() => {
10820
- watchPostEffect(setVars);
10906
+ onBeforeUpdate(() => {
10907
+ queuePostFlushCb(setVars);
10821
10908
  });
10822
10909
  onMounted(() => {
10910
+ watch(setVars, NOOP, { flush: "post" });
10823
10911
  const ob = new MutationObserver(setVars);
10824
10912
  ob.observe(instance.subTree.el.parentNode, { childList: true });
10825
10913
  onUnmounted(() => ob.disconnect());
@@ -11161,7 +11249,7 @@ Expected function or array of functions, received type ${typeof value}.`
11161
11249
  }
11162
11250
  return false;
11163
11251
  }
11164
- if (key === "spellcheck" || key === "draggable" || key === "translate") {
11252
+ if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
11165
11253
  return false;
11166
11254
  }
11167
11255
  if (key === "form") {
@@ -11426,6 +11514,8 @@ Expected function or array of functions, received type ${typeof value}.`
11426
11514
  this._update();
11427
11515
  }
11428
11516
  if (shouldReflect) {
11517
+ const ob = this._ob;
11518
+ ob && ob.disconnect();
11429
11519
  if (val === true) {
11430
11520
  this.setAttribute(hyphenate(key), "");
11431
11521
  } else if (typeof val === "string" || typeof val === "number") {
@@ -11433,6 +11523,7 @@ Expected function or array of functions, received type ${typeof value}.`
11433
11523
  } else if (!val) {
11434
11524
  this.removeAttribute(hyphenate(key));
11435
11525
  }
11526
+ ob && ob.observe(this, { attributes: true });
11436
11527
  }
11437
11528
  }
11438
11529
  }
@@ -11635,6 +11726,7 @@ Expected function or array of functions, received type ${typeof value}.`
11635
11726
  instance.vnode.el,
11636
11727
  moveClass
11637
11728
  )) {
11729
+ prevChildren = [];
11638
11730
  return;
11639
11731
  }
11640
11732
  prevChildren.forEach(callPendingCbs);
@@ -11658,6 +11750,7 @@ Expected function or array of functions, received type ${typeof value}.`
11658
11750
  };
11659
11751
  el.addEventListener("transitionend", cb);
11660
11752
  });
11753
+ prevChildren = [];
11661
11754
  });
11662
11755
  return () => {
11663
11756
  const rawProps = toRaw(props);