@vue/compat 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/compat v3.5.12
2
+ * @vue/compat v3.5.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -141,10 +141,9 @@ function parseStringStyle(cssText) {
141
141
  return ret;
142
142
  }
143
143
  function stringifyStyle(styles) {
144
+ if (!styles) return "";
145
+ if (isString(styles)) return styles;
144
146
  let ret = "";
145
- if (!styles || isString(styles)) {
146
- return ret;
147
- }
148
147
  for (const key in styles) {
149
148
  const value = styles[key];
150
149
  if (isString(value) || typeof value === "number") {
@@ -324,6 +323,10 @@ class EffectScope {
324
323
  * @internal
325
324
  */
326
325
  this._active = true;
326
+ /**
327
+ * @internal track `on` calls, allow `on` call multiple times
328
+ */
329
+ this._on = 0;
327
330
  /**
328
331
  * @internal
329
332
  */
@@ -394,28 +397,38 @@ class EffectScope {
394
397
  * @internal
395
398
  */
396
399
  on() {
397
- activeEffectScope = this;
400
+ if (++this._on === 1) {
401
+ this.prevScope = activeEffectScope;
402
+ activeEffectScope = this;
403
+ }
398
404
  }
399
405
  /**
400
406
  * This should only be called on non-detached scopes
401
407
  * @internal
402
408
  */
403
409
  off() {
404
- activeEffectScope = this.parent;
410
+ if (this._on > 0 && --this._on === 0) {
411
+ activeEffectScope = this.prevScope;
412
+ this.prevScope = void 0;
413
+ }
405
414
  }
406
415
  stop(fromParent) {
407
416
  if (this._active) {
417
+ this._active = false;
408
418
  let i, l;
409
419
  for (i = 0, l = this.effects.length; i < l; i++) {
410
420
  this.effects[i].stop();
411
421
  }
422
+ this.effects.length = 0;
412
423
  for (i = 0, l = this.cleanups.length; i < l; i++) {
413
424
  this.cleanups[i]();
414
425
  }
426
+ this.cleanups.length = 0;
415
427
  if (this.scopes) {
416
428
  for (i = 0, l = this.scopes.length; i < l; i++) {
417
429
  this.scopes[i].stop(true);
418
430
  }
431
+ this.scopes.length = 0;
419
432
  }
420
433
  if (!this.detached && this.parent && !fromParent) {
421
434
  const last = this.parent.scopes.pop();
@@ -425,7 +438,6 @@ class EffectScope {
425
438
  }
426
439
  }
427
440
  this.parent = void 0;
428
- this._active = false;
429
441
  }
430
442
  }
431
443
  }
@@ -480,7 +492,7 @@ class ReactiveEffect {
480
492
  }
481
493
  resume() {
482
494
  if (this.flags & 64) {
483
- this.flags &= ~64;
495
+ this.flags &= -65;
484
496
  if (pausedQueueEffects.has(this)) {
485
497
  pausedQueueEffects.delete(this);
486
498
  this.trigger();
@@ -520,7 +532,7 @@ class ReactiveEffect {
520
532
  cleanupDeps(this);
521
533
  activeSub = prevEffect;
522
534
  shouldTrack = prevShouldTrack;
523
- this.flags &= ~2;
535
+ this.flags &= -3;
524
536
  }
525
537
  }
526
538
  stop() {
@@ -531,7 +543,7 @@ class ReactiveEffect {
531
543
  this.deps = this.depsTail = void 0;
532
544
  cleanupEffect(this);
533
545
  this.onStop && this.onStop();
534
- this.flags &= ~1;
546
+ this.flags &= -2;
535
547
  }
536
548
  }
537
549
  trigger() {
@@ -581,7 +593,7 @@ function endBatch() {
581
593
  while (e) {
582
594
  const next = e.next;
583
595
  e.next = void 0;
584
- e.flags &= ~8;
596
+ e.flags &= -9;
585
597
  e = next;
586
598
  }
587
599
  }
@@ -592,7 +604,7 @@ function endBatch() {
592
604
  while (e) {
593
605
  const next = e.next;
594
606
  e.next = void 0;
595
- e.flags &= ~8;
607
+ e.flags &= -9;
596
608
  if (e.flags & 1) {
597
609
  try {
598
610
  ;
@@ -648,17 +660,16 @@ function refreshComputed(computed) {
648
660
  if (computed.flags & 4 && !(computed.flags & 16)) {
649
661
  return;
650
662
  }
651
- computed.flags &= ~16;
663
+ computed.flags &= -17;
652
664
  if (computed.globalVersion === globalVersion) {
653
665
  return;
654
666
  }
655
667
  computed.globalVersion = globalVersion;
656
- const dep = computed.dep;
657
- computed.flags |= 2;
658
- if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {
659
- computed.flags &= ~2;
668
+ if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {
660
669
  return;
661
670
  }
671
+ computed.flags |= 2;
672
+ const dep = computed.dep;
662
673
  const prevSub = activeSub;
663
674
  const prevShouldTrack = shouldTrack;
664
675
  activeSub = computed;
@@ -667,6 +678,7 @@ function refreshComputed(computed) {
667
678
  prepareDeps(computed);
668
679
  const value = computed.fn(computed._value);
669
680
  if (dep.version === 0 || hasChanged(value, computed._value)) {
681
+ computed.flags |= 128;
670
682
  computed._value = value;
671
683
  dep.version++;
672
684
  }
@@ -677,7 +689,7 @@ function refreshComputed(computed) {
677
689
  activeSub = prevSub;
678
690
  shouldTrack = prevShouldTrack;
679
691
  cleanupDeps(computed);
680
- computed.flags &= ~2;
692
+ computed.flags &= -3;
681
693
  }
682
694
  }
683
695
  function removeSub(link, soft = false) {
@@ -696,7 +708,7 @@ function removeSub(link, soft = false) {
696
708
  if (dep.subs === link) {
697
709
  dep.subs = prevSub;
698
710
  if (!prevSub && dep.computed) {
699
- dep.computed.flags &= ~4;
711
+ dep.computed.flags &= -5;
700
712
  for (let l = dep.computed.deps; l; l = l.nextDep) {
701
713
  removeSub(l, true);
702
714
  }
@@ -1191,6 +1203,7 @@ class BaseReactiveHandler {
1191
1203
  this._isShallow = _isShallow;
1192
1204
  }
1193
1205
  get(target, key, receiver) {
1206
+ if (key === "__v_skip") return target["__v_skip"];
1194
1207
  const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;
1195
1208
  if (key === "__v_isReactive") {
1196
1209
  return !isReadonly2;
@@ -1628,14 +1641,14 @@ function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandl
1628
1641
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1629
1642
  return target;
1630
1643
  }
1631
- const existingProxy = proxyMap.get(target);
1632
- if (existingProxy) {
1633
- return existingProxy;
1634
- }
1635
1644
  const targetType = getTargetType(target);
1636
1645
  if (targetType === 0 /* INVALID */) {
1637
1646
  return target;
1638
1647
  }
1648
+ const existingProxy = proxyMap.get(target);
1649
+ if (existingProxy) {
1650
+ return existingProxy;
1651
+ }
1639
1652
  const proxy = new Proxy(
1640
1653
  target,
1641
1654
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -2027,7 +2040,7 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
2027
2040
  const scope = getCurrentScope();
2028
2041
  const watchHandle = () => {
2029
2042
  effect.stop();
2030
- if (scope) {
2043
+ if (scope && scope.active) {
2031
2044
  remove(scope.effects, effect);
2032
2045
  }
2033
2046
  };
@@ -2479,11 +2492,11 @@ function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
2479
2492
  queue.splice(i, 1);
2480
2493
  i--;
2481
2494
  if (cb.flags & 4) {
2482
- cb.flags &= ~1;
2495
+ cb.flags &= -2;
2483
2496
  }
2484
2497
  cb();
2485
2498
  if (!(cb.flags & 4)) {
2486
- cb.flags &= ~1;
2499
+ cb.flags &= -2;
2487
2500
  }
2488
2501
  }
2489
2502
  }
@@ -2508,10 +2521,10 @@ function flushPostFlushCbs(seen) {
2508
2521
  continue;
2509
2522
  }
2510
2523
  if (cb.flags & 4) {
2511
- cb.flags &= ~1;
2524
+ cb.flags &= -2;
2512
2525
  }
2513
2526
  if (!(cb.flags & 8)) cb();
2514
- cb.flags &= ~1;
2527
+ cb.flags &= -2;
2515
2528
  }
2516
2529
  activePostFlushCbs = null;
2517
2530
  postFlushIndex = 0;
@@ -2547,7 +2560,7 @@ function flushJobs(seen) {
2547
2560
  for (; flushIndex < queue.length; flushIndex++) {
2548
2561
  const job = queue[flushIndex];
2549
2562
  if (job) {
2550
- job.flags &= ~1;
2563
+ job.flags &= -2;
2551
2564
  }
2552
2565
  }
2553
2566
  flushIndex = -1;
@@ -3515,11 +3528,32 @@ const TeleportImpl = {
3515
3528
  updateCssVars(n2, true);
3516
3529
  }
3517
3530
  if (isTeleportDeferred(n2.props)) {
3518
- queuePostRenderEffect(mountToTarget, parentSuspense);
3531
+ queuePostRenderEffect(() => {
3532
+ mountToTarget();
3533
+ n2.el.__isMounted = true;
3534
+ }, parentSuspense);
3519
3535
  } else {
3520
3536
  mountToTarget();
3521
3537
  }
3522
3538
  } else {
3539
+ if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
3540
+ queuePostRenderEffect(() => {
3541
+ TeleportImpl.process(
3542
+ n1,
3543
+ n2,
3544
+ container,
3545
+ anchor,
3546
+ parentComponent,
3547
+ parentSuspense,
3548
+ namespace,
3549
+ slotScopeIds,
3550
+ optimized,
3551
+ internals
3552
+ );
3553
+ delete n1.el.__isMounted;
3554
+ }, parentSuspense);
3555
+ return;
3556
+ }
3523
3557
  n2.el = n1.el;
3524
3558
  n2.targetStart = n1.targetStart;
3525
3559
  const mainAnchor = n2.anchor = n1.anchor;
@@ -3543,7 +3577,7 @@ const TeleportImpl = {
3543
3577
  namespace,
3544
3578
  slotScopeIds
3545
3579
  );
3546
- traverseStaticChildren(n1, n2, true);
3580
+ traverseStaticChildren(n1, n2, false);
3547
3581
  } else if (!optimized) {
3548
3582
  patchChildren(
3549
3583
  n1,
@@ -3825,10 +3859,9 @@ const BaseTransitionImpl = {
3825
3859
  if (innerChild.type !== Comment) {
3826
3860
  setTransitionHooks(innerChild, enterHooks);
3827
3861
  }
3828
- const oldChild = instance.subTree;
3829
- const oldInnerChild = oldChild && getInnerChild$1(oldChild);
3862
+ let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
3830
3863
  if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
3831
- const leavingHooks = resolveTransitionHooks(
3864
+ let leavingHooks = resolveTransitionHooks(
3832
3865
  oldInnerChild,
3833
3866
  rawProps,
3834
3867
  state,
@@ -3843,6 +3876,7 @@ const BaseTransitionImpl = {
3843
3876
  instance.update();
3844
3877
  }
3845
3878
  delete leavingHooks.afterLeave;
3879
+ oldInnerChild = void 0;
3846
3880
  };
3847
3881
  return emptyPlaceholder(child);
3848
3882
  } else if (mode === "in-out" && innerChild.type !== Comment) {
@@ -3856,10 +3890,19 @@ const BaseTransitionImpl = {
3856
3890
  earlyRemove();
3857
3891
  el[leaveCbKey] = void 0;
3858
3892
  delete enterHooks.delayedLeave;
3893
+ oldInnerChild = void 0;
3894
+ };
3895
+ enterHooks.delayedLeave = () => {
3896
+ delayedLeave();
3897
+ delete enterHooks.delayedLeave;
3898
+ oldInnerChild = void 0;
3859
3899
  };
3860
- enterHooks.delayedLeave = delayedLeave;
3861
3900
  };
3901
+ } else {
3902
+ oldInnerChild = void 0;
3862
3903
  }
3904
+ } else if (oldInnerChild) {
3905
+ oldInnerChild = void 0;
3863
3906
  }
3864
3907
  return child;
3865
3908
  };
@@ -4167,6 +4210,9 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4167
4210
  return;
4168
4211
  }
4169
4212
  if (isAsyncWrapper(vnode) && !isUnmount) {
4213
+ if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {
4214
+ setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);
4215
+ }
4170
4216
  return;
4171
4217
  }
4172
4218
  const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
@@ -4431,7 +4477,7 @@ function createHydrationFunctions(rendererInternals) {
4431
4477
  getContainerType(container),
4432
4478
  optimized
4433
4479
  );
4434
- if (isAsyncWrapper(vnode)) {
4480
+ if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {
4435
4481
  let subTree;
4436
4482
  if (isFragmentStart) {
4437
4483
  subTree = createVNode(Fragment);
@@ -4700,6 +4746,10 @@ Server rendered element contains fewer child nodes than client vdom.`
4700
4746
  getContainerType(container),
4701
4747
  slotScopeIds
4702
4748
  );
4749
+ if (parentComponent) {
4750
+ parentComponent.vnode.el = vnode.el;
4751
+ updateHOCHostEl(parentComponent, vnode.el);
4752
+ }
4703
4753
  return next;
4704
4754
  };
4705
4755
  const locateClosingAnchor = (node, open = "[", close = "]") => {
@@ -5215,6 +5265,9 @@ const KeepAliveImpl = {
5215
5265
  {
5216
5266
  devtoolsComponentAdded(instance2);
5217
5267
  }
5268
+ {
5269
+ instance2.__keepAliveStorageContainer = storageContainer;
5270
+ }
5218
5271
  };
5219
5272
  function unmount(vnode) {
5220
5273
  resetShapeFlag(vnode);
@@ -5302,7 +5355,7 @@ const KeepAliveImpl = {
5302
5355
  );
5303
5356
  const { include, exclude, max } = props;
5304
5357
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
5305
- vnode.shapeFlag &= ~256;
5358
+ vnode.shapeFlag &= -257;
5306
5359
  current = vnode;
5307
5360
  return rawVNode;
5308
5361
  }
@@ -5393,8 +5446,8 @@ function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
5393
5446
  }, target);
5394
5447
  }
5395
5448
  function resetShapeFlag(vnode) {
5396
- vnode.shapeFlag &= ~256;
5397
- vnode.shapeFlag &= ~512;
5449
+ vnode.shapeFlag &= -257;
5450
+ vnode.shapeFlag &= -513;
5398
5451
  }
5399
5452
  function getInnerChild(vnode) {
5400
5453
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -5796,14 +5849,16 @@ function renderList(source, renderItem, cache, index) {
5796
5849
  if (sourceIsArray || isString(source)) {
5797
5850
  const sourceIsReactiveArray = sourceIsArray && isReactive(source);
5798
5851
  let needsWrap = false;
5852
+ let isReadonlySource = false;
5799
5853
  if (sourceIsReactiveArray) {
5800
5854
  needsWrap = !isShallow(source);
5855
+ isReadonlySource = isReadonly(source);
5801
5856
  source = shallowReadArray(source);
5802
5857
  }
5803
5858
  ret = new Array(source.length);
5804
5859
  for (let i = 0, l = source.length; i < l; i++) {
5805
5860
  ret[i] = renderItem(
5806
- needsWrap ? toReactive(source[i]) : source[i],
5861
+ needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],
5807
5862
  i,
5808
5863
  void 0,
5809
5864
  cached && cached[i]
@@ -7055,7 +7110,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7055
7110
  return vm;
7056
7111
  }
7057
7112
  }
7058
- Vue.version = `2.6.14-compat:${"3.5.12"}`;
7113
+ Vue.version = `2.6.14-compat:${"3.5.14"}`;
7059
7114
  Vue.config = singletonApp.config;
7060
7115
  Vue.use = (plugin, ...options) => {
7061
7116
  if (plugin && isFunction(plugin.install)) {
@@ -7549,11 +7604,9 @@ function createAppAPI(render, hydrate) {
7549
7604
  }
7550
7605
  {
7551
7606
  context.reload = () => {
7552
- render(
7553
- cloneVNode(vnode),
7554
- rootContainer,
7555
- namespace
7556
- );
7607
+ const cloned = cloneVNode(vnode);
7608
+ cloned.el = null;
7609
+ render(cloned, rootContainer, namespace);
7557
7610
  };
7558
7611
  }
7559
7612
  if (isHydrate && hydrate) {
@@ -8151,7 +8204,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
8151
8204
  return rawSlot;
8152
8205
  }
8153
8206
  const normalized = withCtx((...args) => {
8154
- if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
8207
+ if (currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {
8155
8208
  warn$1(
8156
8209
  `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.`
8157
8210
  );
@@ -8190,7 +8243,7 @@ const normalizeVNodeSlots = (instance, children) => {
8190
8243
  };
8191
8244
  const assignSlots = (slots, children, optimized) => {
8192
8245
  for (const key in children) {
8193
- if (optimized || key !== "_") {
8246
+ if (optimized || !isInternalKey(key)) {
8194
8247
  slots[key] = children[key];
8195
8248
  }
8196
8249
  }
@@ -8877,8 +8930,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8877
8930
  endMeasure(instance, `init`);
8878
8931
  }
8879
8932
  }
8933
+ if (isHmrUpdating) initialVNode.el = null;
8880
8934
  if (instance.asyncDep) {
8881
- if (isHmrUpdating) initialVNode.el = null;
8882
8935
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
8883
8936
  if (!initialVNode.el) {
8884
8937
  const placeholder = instance.subTree = createVNode(Comment);
@@ -9464,7 +9517,13 @@ function baseCreateRenderer(options, createHydrationFns) {
9464
9517
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
9465
9518
  } else {
9466
9519
  const { leave, delayLeave, afterLeave } = transition;
9467
- const remove2 = () => hostInsert(el, container, anchor);
9520
+ const remove2 = () => {
9521
+ if (vnode.ctx.isUnmounted) {
9522
+ hostRemove(el);
9523
+ } else {
9524
+ hostInsert(el, container, anchor);
9525
+ }
9526
+ };
9468
9527
  const performLeave = () => {
9469
9528
  leave(el, () => {
9470
9529
  remove2();
@@ -9497,7 +9556,9 @@ function baseCreateRenderer(options, createHydrationFns) {
9497
9556
  optimized = false;
9498
9557
  }
9499
9558
  if (ref != null) {
9559
+ pauseTracking();
9500
9560
  setRef(ref, null, parentSuspense, vnode, true);
9561
+ resetTracking();
9501
9562
  }
9502
9563
  if (cacheIndex != null) {
9503
9564
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -9609,12 +9670,27 @@ function baseCreateRenderer(options, createHydrationFns) {
9609
9670
  if (instance.type.__hmrId) {
9610
9671
  unregisterHMR(instance);
9611
9672
  }
9612
- const { bum, scope, job, subTree, um, m, a } = instance;
9673
+ const {
9674
+ bum,
9675
+ scope,
9676
+ job,
9677
+ subTree,
9678
+ um,
9679
+ m,
9680
+ a,
9681
+ parent,
9682
+ slots: { __: slotCacheKeys }
9683
+ } = instance;
9613
9684
  invalidateMount(m);
9614
9685
  invalidateMount(a);
9615
9686
  if (bum) {
9616
9687
  invokeArrayFns(bum);
9617
9688
  }
9689
+ if (parent && isArray(slotCacheKeys)) {
9690
+ slotCacheKeys.forEach((v) => {
9691
+ parent.renderCache[v] = void 0;
9692
+ });
9693
+ }
9618
9694
  if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
9619
9695
  instance.emit("hook:beforeDestroy");
9620
9696
  }
@@ -9719,8 +9795,8 @@ function toggleRecurse({ effect, job }, allowed) {
9719
9795
  effect.flags |= 32;
9720
9796
  job.flags |= 4;
9721
9797
  } else {
9722
- effect.flags &= ~32;
9723
- job.flags &= ~4;
9798
+ effect.flags &= -33;
9799
+ job.flags &= -5;
9724
9800
  }
9725
9801
  }
9726
9802
  function needTransition(parentSuspense, transition) {
@@ -9747,6 +9823,9 @@ function traverseStaticChildren(n1, n2, shallow = false) {
9747
9823
  if (c2.type === Comment && !c2.el) {
9748
9824
  c2.el = c1.el;
9749
9825
  }
9826
+ {
9827
+ c2.el && (c2.el.__vnode = c2);
9828
+ }
9750
9829
  }
9751
9830
  }
9752
9831
  }
@@ -10270,7 +10349,7 @@ function renderComponentRoot(instance) {
10270
10349
  }
10271
10350
  if (extraAttrs.length) {
10272
10351
  warn$1(
10273
- `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
10352
+ `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.`
10274
10353
  );
10275
10354
  }
10276
10355
  if (eventAttrs.length) {
@@ -11131,9 +11210,9 @@ function closeBlock() {
11131
11210
  currentBlock = blockStack[blockStack.length - 1] || null;
11132
11211
  }
11133
11212
  let isBlockTreeEnabled = 1;
11134
- function setBlockTracking(value) {
11213
+ function setBlockTracking(value, inVOnce = false) {
11135
11214
  isBlockTreeEnabled += value;
11136
- if (value < 0 && currentBlock) {
11215
+ if (value < 0 && currentBlock && inVOnce) {
11137
11216
  currentBlock.hasOnce = true;
11138
11217
  }
11139
11218
  }
@@ -11177,8 +11256,8 @@ function isSameVNodeType(n1, n2) {
11177
11256
  if (n2.shapeFlag & 6 && n1.component) {
11178
11257
  const dirtyInstances = hmrDirtyComponents.get(n2.type);
11179
11258
  if (dirtyInstances && dirtyInstances.has(n1.component)) {
11180
- n1.shapeFlag &= ~256;
11181
- n2.shapeFlag &= ~512;
11259
+ n1.shapeFlag &= -257;
11260
+ n2.shapeFlag &= -513;
11182
11261
  return false;
11183
11262
  }
11184
11263
  }
@@ -11649,7 +11728,7 @@ function setupComponent(instance, isSSR = false, optimized = false) {
11649
11728
  const { props, children } = instance.vnode;
11650
11729
  const isStateful = isStatefulComponent(instance);
11651
11730
  initProps(instance, props, isStateful, isSSR);
11652
- initSlots(instance, children, optimized);
11731
+ initSlots(instance, children, optimized || isSSR);
11653
11732
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
11654
11733
  isSSR && setInSSRSetupState(false);
11655
11734
  return setupResult;
@@ -11992,13 +12071,15 @@ function initCustomFormatter() {
11992
12071
  if (obj.__isVue) {
11993
12072
  return ["div", vueStyle, `VueInstance`];
11994
12073
  } else if (isRef(obj)) {
12074
+ pauseTracking();
12075
+ const value = obj.value;
12076
+ resetTracking();
11995
12077
  return [
11996
12078
  "div",
11997
12079
  {},
11998
12080
  ["span", vueStyle, genRefFlag(obj)],
11999
12081
  "<",
12000
- // avoid debugger accessing value affecting behavior
12001
- formatValue("_value" in obj ? obj._value : obj),
12082
+ formatValue(value),
12002
12083
  `>`
12003
12084
  ];
12004
12085
  } else if (isReactive(obj)) {
@@ -12179,7 +12260,7 @@ function isMemoSame(cached, memo) {
12179
12260
  return true;
12180
12261
  }
12181
12262
 
12182
- const version = "3.5.12";
12263
+ const version = "3.5.14";
12183
12264
  const warn = warn$1 ;
12184
12265
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12185
12266
  const devtools = devtools$1 ;
@@ -12389,7 +12470,8 @@ function resolveTransitionProps(rawProps) {
12389
12470
  onAppear = onEnter,
12390
12471
  onAppearCancelled = onEnterCancelled
12391
12472
  } = baseProps;
12392
- const finishEnter = (el, isAppear, done) => {
12473
+ const finishEnter = (el, isAppear, done, isCancelled) => {
12474
+ el._enterCancelled = isCancelled;
12393
12475
  removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
12394
12476
  removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
12395
12477
  done && done();
@@ -12447,8 +12529,13 @@ function resolveTransitionProps(rawProps) {
12447
12529
  if (legacyClassEnabled && legacyLeaveFromClass) {
12448
12530
  addTransitionClass(el, legacyLeaveFromClass);
12449
12531
  }
12450
- addTransitionClass(el, leaveActiveClass);
12451
- forceReflow();
12532
+ if (!el._enterCancelled) {
12533
+ forceReflow();
12534
+ addTransitionClass(el, leaveActiveClass);
12535
+ } else {
12536
+ addTransitionClass(el, leaveActiveClass);
12537
+ forceReflow();
12538
+ }
12452
12539
  nextFrame(() => {
12453
12540
  if (!el._isLeaving) {
12454
12541
  return;
@@ -12465,11 +12552,11 @@ function resolveTransitionProps(rawProps) {
12465
12552
  callHook(onLeave, [el, resolve]);
12466
12553
  },
12467
12554
  onEnterCancelled(el) {
12468
- finishEnter(el, false);
12555
+ finishEnter(el, false, void 0, true);
12469
12556
  callHook(onEnterCancelled, [el]);
12470
12557
  },
12471
12558
  onAppearCancelled(el) {
12472
- finishEnter(el, true);
12559
+ finishEnter(el, true, void 0, true);
12473
12560
  callHook(onAppearCancelled, [el]);
12474
12561
  },
12475
12562
  onLeaveCancelled(el) {
@@ -12689,10 +12776,11 @@ function useCssVars(getter) {
12689
12776
  }
12690
12777
  updateTeleports(vars);
12691
12778
  };
12692
- onBeforeMount(() => {
12693
- watchPostEffect(setVars);
12779
+ onBeforeUpdate(() => {
12780
+ queuePostFlushCb(setVars);
12694
12781
  });
12695
12782
  onMounted(() => {
12783
+ watch(setVars, NOOP, { flush: "post" });
12696
12784
  const ob = new MutationObserver(setVars);
12697
12785
  ob.observe(instance.subTree.el.parentNode, { childList: true });
12698
12786
  onUnmounted(() => ob.disconnect());
@@ -13078,7 +13166,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
13078
13166
  }
13079
13167
  return false;
13080
13168
  }
13081
- if (key === "spellcheck" || key === "draggable" || key === "translate") {
13169
+ if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
13082
13170
  return false;
13083
13171
  }
13084
13172
  if (key === "form") {
@@ -13343,6 +13431,8 @@ class VueElement extends BaseClass {
13343
13431
  this._update();
13344
13432
  }
13345
13433
  if (shouldReflect) {
13434
+ const ob = this._ob;
13435
+ ob && ob.disconnect();
13346
13436
  if (val === true) {
13347
13437
  this.setAttribute(hyphenate(key), "");
13348
13438
  } else if (typeof val === "string" || typeof val === "number") {
@@ -13350,6 +13440,7 @@ class VueElement extends BaseClass {
13350
13440
  } else if (!val) {
13351
13441
  this.removeAttribute(hyphenate(key));
13352
13442
  }
13443
+ ob && ob.observe(this, { attributes: true });
13353
13444
  }
13354
13445
  }
13355
13446
  }
@@ -13567,6 +13658,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13567
13658
  instance.vnode.el,
13568
13659
  moveClass
13569
13660
  )) {
13661
+ prevChildren = [];
13570
13662
  return;
13571
13663
  }
13572
13664
  prevChildren.forEach(callPendingCbs);
@@ -13590,6 +13682,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13590
13682
  };
13591
13683
  el.addEventListener("transitionend", cb);
13592
13684
  });
13685
+ prevChildren = [];
13593
13686
  });
13594
13687
  return () => {
13595
13688
  const rawProps = toRaw(props);