@vue/compat 3.5.13 → 3.5.15

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.13
2
+ * @vue/compat v3.5.15
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -323,6 +323,10 @@ class EffectScope {
323
323
  * @internal
324
324
  */
325
325
  this._active = true;
326
+ /**
327
+ * @internal track `on` calls, allow `on` call multiple times
328
+ */
329
+ this._on = 0;
326
330
  /**
327
331
  * @internal
328
332
  */
@@ -393,14 +397,20 @@ class EffectScope {
393
397
  * @internal
394
398
  */
395
399
  on() {
396
- activeEffectScope = this;
400
+ if (++this._on === 1) {
401
+ this.prevScope = activeEffectScope;
402
+ activeEffectScope = this;
403
+ }
397
404
  }
398
405
  /**
399
406
  * This should only be called on non-detached scopes
400
407
  * @internal
401
408
  */
402
409
  off() {
403
- activeEffectScope = this.parent;
410
+ if (this._on > 0 && --this._on === 0) {
411
+ activeEffectScope = this.prevScope;
412
+ this.prevScope = void 0;
413
+ }
404
414
  }
405
415
  stop(fromParent) {
406
416
  if (this._active) {
@@ -482,7 +492,7 @@ class ReactiveEffect {
482
492
  }
483
493
  resume() {
484
494
  if (this.flags & 64) {
485
- this.flags &= ~64;
495
+ this.flags &= -65;
486
496
  if (pausedQueueEffects.has(this)) {
487
497
  pausedQueueEffects.delete(this);
488
498
  this.trigger();
@@ -522,7 +532,7 @@ class ReactiveEffect {
522
532
  cleanupDeps(this);
523
533
  activeSub = prevEffect;
524
534
  shouldTrack = prevShouldTrack;
525
- this.flags &= ~2;
535
+ this.flags &= -3;
526
536
  }
527
537
  }
528
538
  stop() {
@@ -533,7 +543,7 @@ class ReactiveEffect {
533
543
  this.deps = this.depsTail = void 0;
534
544
  cleanupEffect(this);
535
545
  this.onStop && this.onStop();
536
- this.flags &= ~1;
546
+ this.flags &= -2;
537
547
  }
538
548
  }
539
549
  trigger() {
@@ -583,7 +593,7 @@ function endBatch() {
583
593
  while (e) {
584
594
  const next = e.next;
585
595
  e.next = void 0;
586
- e.flags &= ~8;
596
+ e.flags &= -9;
587
597
  e = next;
588
598
  }
589
599
  }
@@ -594,7 +604,7 @@ function endBatch() {
594
604
  while (e) {
595
605
  const next = e.next;
596
606
  e.next = void 0;
597
- e.flags &= ~8;
607
+ e.flags &= -9;
598
608
  if (e.flags & 1) {
599
609
  try {
600
610
  ;
@@ -650,17 +660,16 @@ function refreshComputed(computed) {
650
660
  if (computed.flags & 4 && !(computed.flags & 16)) {
651
661
  return;
652
662
  }
653
- computed.flags &= ~16;
663
+ computed.flags &= -17;
654
664
  if (computed.globalVersion === globalVersion) {
655
665
  return;
656
666
  }
657
667
  computed.globalVersion = globalVersion;
658
- const dep = computed.dep;
659
- computed.flags |= 2;
660
- if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {
661
- computed.flags &= ~2;
668
+ if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {
662
669
  return;
663
670
  }
671
+ computed.flags |= 2;
672
+ const dep = computed.dep;
664
673
  const prevSub = activeSub;
665
674
  const prevShouldTrack = shouldTrack;
666
675
  activeSub = computed;
@@ -669,6 +678,7 @@ function refreshComputed(computed) {
669
678
  prepareDeps(computed);
670
679
  const value = computed.fn(computed._value);
671
680
  if (dep.version === 0 || hasChanged(value, computed._value)) {
681
+ computed.flags |= 128;
672
682
  computed._value = value;
673
683
  dep.version++;
674
684
  }
@@ -679,7 +689,7 @@ function refreshComputed(computed) {
679
689
  activeSub = prevSub;
680
690
  shouldTrack = prevShouldTrack;
681
691
  cleanupDeps(computed);
682
- computed.flags &= ~2;
692
+ computed.flags &= -3;
683
693
  }
684
694
  }
685
695
  function removeSub(link, soft = false) {
@@ -698,7 +708,7 @@ function removeSub(link, soft = false) {
698
708
  if (dep.subs === link) {
699
709
  dep.subs = prevSub;
700
710
  if (!prevSub && dep.computed) {
701
- dep.computed.flags &= ~4;
711
+ dep.computed.flags &= -5;
702
712
  for (let l = dep.computed.deps; l; l = l.nextDep) {
703
713
  removeSub(l, true);
704
714
  }
@@ -1635,14 +1645,14 @@ function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandl
1635
1645
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1636
1646
  return target;
1637
1647
  }
1638
- const existingProxy = proxyMap.get(target);
1639
- if (existingProxy) {
1640
- return existingProxy;
1641
- }
1642
1648
  const targetType = getTargetType(target);
1643
1649
  if (targetType === 0 /* INVALID */) {
1644
1650
  return target;
1645
1651
  }
1652
+ const existingProxy = proxyMap.get(target);
1653
+ if (existingProxy) {
1654
+ return existingProxy;
1655
+ }
1646
1656
  const proxy = new Proxy(
1647
1657
  target,
1648
1658
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -2071,11 +2081,11 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
2071
2081
  oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
2072
2082
  boundCleanup
2073
2083
  ];
2084
+ oldValue = newValue;
2074
2085
  call ? call(cb, 3, args) : (
2075
2086
  // @ts-expect-error
2076
2087
  cb(...args)
2077
2088
  );
2078
- oldValue = newValue;
2079
2089
  } finally {
2080
2090
  activeWatcher = currentWatcher;
2081
2091
  }
@@ -2497,11 +2507,11 @@ function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
2497
2507
  queue.splice(i, 1);
2498
2508
  i--;
2499
2509
  if (cb.flags & 4) {
2500
- cb.flags &= ~1;
2510
+ cb.flags &= -2;
2501
2511
  }
2502
2512
  cb();
2503
2513
  if (!(cb.flags & 4)) {
2504
- cb.flags &= ~1;
2514
+ cb.flags &= -2;
2505
2515
  }
2506
2516
  }
2507
2517
  }
@@ -2526,10 +2536,10 @@ function flushPostFlushCbs(seen) {
2526
2536
  continue;
2527
2537
  }
2528
2538
  if (cb.flags & 4) {
2529
- cb.flags &= ~1;
2539
+ cb.flags &= -2;
2530
2540
  }
2531
2541
  if (!(cb.flags & 8)) cb();
2532
- cb.flags &= ~1;
2542
+ cb.flags &= -2;
2533
2543
  }
2534
2544
  activePostFlushCbs = null;
2535
2545
  postFlushIndex = 0;
@@ -2565,7 +2575,7 @@ function flushJobs(seen) {
2565
2575
  for (; flushIndex < queue.length; flushIndex++) {
2566
2576
  const job = queue[flushIndex];
2567
2577
  if (job) {
2568
- job.flags &= ~1;
2578
+ job.flags &= -2;
2569
2579
  }
2570
2580
  }
2571
2581
  flushIndex = -1;
@@ -3536,15 +3546,16 @@ const TeleportImpl = {
3536
3546
  updateCssVars(n2, true);
3537
3547
  }
3538
3548
  if (isTeleportDeferred(n2.props)) {
3549
+ n2.el.__isMounted = false;
3539
3550
  queuePostRenderEffect(() => {
3540
3551
  mountToTarget();
3541
- n2.el.__isMounted = true;
3552
+ delete n2.el.__isMounted;
3542
3553
  }, parentSuspense);
3543
3554
  } else {
3544
3555
  mountToTarget();
3545
3556
  }
3546
3557
  } else {
3547
- if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
3558
+ if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {
3548
3559
  queuePostRenderEffect(() => {
3549
3560
  TeleportImpl.process(
3550
3561
  n1,
@@ -3558,7 +3569,6 @@ const TeleportImpl = {
3558
3569
  optimized,
3559
3570
  internals
3560
3571
  );
3561
- delete n1.el.__isMounted;
3562
3572
  }, parentSuspense);
3563
3573
  return;
3564
3574
  }
@@ -3585,7 +3595,7 @@ const TeleportImpl = {
3585
3595
  namespace,
3586
3596
  slotScopeIds
3587
3597
  );
3588
- traverseStaticChildren(n1, n2, true);
3598
+ traverseStaticChildren(n1, n2, !!!(process.env.NODE_ENV !== "production"));
3589
3599
  } else if (!optimized) {
3590
3600
  patchChildren(
3591
3601
  n1,
@@ -4105,7 +4115,7 @@ function getInnerChild$1(vnode) {
4105
4115
  }
4106
4116
  return vnode;
4107
4117
  }
4108
- if (!!(process.env.NODE_ENV !== "production") && vnode.component) {
4118
+ if (vnode.component) {
4109
4119
  return vnode.component.subTree;
4110
4120
  }
4111
4121
  const { shapeFlag, children } = vnode;
@@ -4550,6 +4560,8 @@ function createHydrationFunctions(rendererInternals) {
4550
4560
  ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;
4551
4561
  const content = el.content.firstChild;
4552
4562
  if (needCallTransitionHooks) {
4563
+ const cls = content.getAttribute("class");
4564
+ if (cls) content.$cls = cls;
4553
4565
  transition.beforeEnter(content);
4554
4566
  }
4555
4567
  replaceNode(content, el, parentComponent);
@@ -4813,7 +4825,12 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
4813
4825
  let actual;
4814
4826
  let expected;
4815
4827
  if (key === "class") {
4816
- actual = el.getAttribute("class");
4828
+ if (el.$cls) {
4829
+ actual = el.$cls;
4830
+ delete el.$cls;
4831
+ } else {
4832
+ actual = el.getAttribute("class");
4833
+ }
4817
4834
  expected = normalizeClass(clientValue);
4818
4835
  if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) {
4819
4836
  mismatchType = 2 /* CLASS */;
@@ -5108,14 +5125,25 @@ function defineAsyncComponent(source) {
5108
5125
  name: "AsyncComponentWrapper",
5109
5126
  __asyncLoader: load,
5110
5127
  __asyncHydrate(el, instance, hydrate) {
5128
+ let patched = false;
5111
5129
  const doHydrate = hydrateStrategy ? () => {
5130
+ const performHydrate = () => {
5131
+ if (!!(process.env.NODE_ENV !== "production") && patched) {
5132
+ warn$1(
5133
+ `Skipping lazy hydration for component '${getComponentName(resolvedComp)}': it was updated before lazy hydration performed.`
5134
+ );
5135
+ return;
5136
+ }
5137
+ hydrate();
5138
+ };
5112
5139
  const teardown = hydrateStrategy(
5113
- hydrate,
5140
+ performHydrate,
5114
5141
  (cb) => forEachElement(el, cb)
5115
5142
  );
5116
5143
  if (teardown) {
5117
5144
  (instance.bum || (instance.bum = [])).push(teardown);
5118
5145
  }
5146
+ (instance.u || (instance.u = [])).push(() => patched = true);
5119
5147
  } : hydrate;
5120
5148
  if (resolvedComp) {
5121
5149
  doHydrate();
@@ -5285,6 +5313,9 @@ const KeepAliveImpl = {
5285
5313
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
5286
5314
  devtoolsComponentAdded(instance2);
5287
5315
  }
5316
+ if (!!(process.env.NODE_ENV !== "production") && true) {
5317
+ instance2.__keepAliveStorageContainer = storageContainer;
5318
+ }
5288
5319
  };
5289
5320
  function unmount(vnode) {
5290
5321
  resetShapeFlag(vnode);
@@ -5372,7 +5403,7 @@ const KeepAliveImpl = {
5372
5403
  );
5373
5404
  const { include, exclude, max } = props;
5374
5405
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
5375
- vnode.shapeFlag &= ~256;
5406
+ vnode.shapeFlag &= -257;
5376
5407
  current = vnode;
5377
5408
  return rawVNode;
5378
5409
  }
@@ -5463,8 +5494,8 @@ function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
5463
5494
  }, target);
5464
5495
  }
5465
5496
  function resetShapeFlag(vnode) {
5466
- vnode.shapeFlag &= ~256;
5467
- vnode.shapeFlag &= ~512;
5497
+ vnode.shapeFlag &= -257;
5498
+ vnode.shapeFlag &= -513;
5468
5499
  }
5469
5500
  function getInnerChild(vnode) {
5470
5501
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -5866,14 +5897,16 @@ function renderList(source, renderItem, cache, index) {
5866
5897
  if (sourceIsArray || isString(source)) {
5867
5898
  const sourceIsReactiveArray = sourceIsArray && isReactive(source);
5868
5899
  let needsWrap = false;
5900
+ let isReadonlySource = false;
5869
5901
  if (sourceIsReactiveArray) {
5870
5902
  needsWrap = !isShallow(source);
5903
+ isReadonlySource = isReadonly(source);
5871
5904
  source = shallowReadArray(source);
5872
5905
  }
5873
5906
  ret = new Array(source.length);
5874
5907
  for (let i = 0, l = source.length; i < l; i++) {
5875
5908
  ret[i] = renderItem(
5876
- needsWrap ? toReactive(source[i]) : source[i],
5909
+ needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],
5877
5910
  i,
5878
5911
  void 0,
5879
5912
  cached && cached[i]
@@ -7127,7 +7160,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7127
7160
  return vm;
7128
7161
  }
7129
7162
  }
7130
- Vue.version = `2.6.14-compat:${"3.5.13"}`;
7163
+ Vue.version = `2.6.14-compat:${"3.5.15"}`;
7131
7164
  Vue.config = singletonApp.config;
7132
7165
  Vue.use = (plugin, ...options) => {
7133
7166
  if (plugin && isFunction(plugin.install)) {
@@ -7623,11 +7656,9 @@ function createAppAPI(render, hydrate) {
7623
7656
  }
7624
7657
  if (!!(process.env.NODE_ENV !== "production")) {
7625
7658
  context.reload = () => {
7626
- render(
7627
- cloneVNode(vnode),
7628
- rootContainer,
7629
- namespace
7630
- );
7659
+ const cloned = cloneVNode(vnode);
7660
+ cloned.el = null;
7661
+ render(cloned, rootContainer, namespace);
7631
7662
  };
7632
7663
  }
7633
7664
  if (isHydrate && hydrate) {
@@ -7677,9 +7708,15 @@ If you want to remount the same app, move your app creation logic into a factory
7677
7708
  },
7678
7709
  provide(key, value) {
7679
7710
  if (!!(process.env.NODE_ENV !== "production") && key in context.provides) {
7680
- warn$1(
7681
- `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
7682
- );
7711
+ if (hasOwn(context.provides, key)) {
7712
+ warn$1(
7713
+ `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
7714
+ );
7715
+ } else {
7716
+ warn$1(
7717
+ `App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`
7718
+ );
7719
+ }
7683
7720
  }
7684
7721
  context.provides[key] = value;
7685
7722
  return app;
@@ -7719,7 +7756,7 @@ function provide(key, value) {
7719
7756
  function inject(key, defaultValue, treatDefaultAsFactory = false) {
7720
7757
  const instance = currentInstance || currentRenderingInstance;
7721
7758
  if (instance || currentApp) {
7722
- const provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
7759
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
7723
7760
  if (provides && key in provides) {
7724
7761
  return provides[key];
7725
7762
  } else if (arguments.length > 1) {
@@ -8225,7 +8262,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
8225
8262
  return rawSlot;
8226
8263
  }
8227
8264
  const normalized = withCtx((...args) => {
8228
- if (!!(process.env.NODE_ENV !== "production") && currentInstance && (!ctx || ctx.root === currentInstance.root)) {
8265
+ if (!!(process.env.NODE_ENV !== "production") && currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {
8229
8266
  warn$1(
8230
8267
  `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.`
8231
8268
  );
@@ -8264,7 +8301,7 @@ const normalizeVNodeSlots = (instance, children) => {
8264
8301
  };
8265
8302
  const assignSlots = (slots, children, optimized) => {
8266
8303
  for (const key in children) {
8267
- if (optimized || key !== "_") {
8304
+ if (optimized || !isInternalKey(key)) {
8268
8305
  slots[key] = children[key];
8269
8306
  }
8270
8307
  }
@@ -8815,7 +8852,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8815
8852
  (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
8816
8853
  // which also requires the correct parent container
8817
8854
  !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
8818
- oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (
8855
+ oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldVNode.el) : (
8819
8856
  // In other cases, the parent container is not actually used so we
8820
8857
  // just pass the block element here to avoid a DOM parentNode call.
8821
8858
  fallbackContainer
@@ -8989,8 +9026,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8989
9026
  endMeasure(instance, `init`);
8990
9027
  }
8991
9028
  }
9029
+ if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) initialVNode.el = null;
8992
9030
  if (instance.asyncDep) {
8993
- if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) initialVNode.el = null;
8994
9031
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
8995
9032
  if (!initialVNode.el) {
8996
9033
  const placeholder = instance.subTree = createVNode(Comment);
@@ -9576,7 +9613,13 @@ function baseCreateRenderer(options, createHydrationFns) {
9576
9613
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
9577
9614
  } else {
9578
9615
  const { leave, delayLeave, afterLeave } = transition;
9579
- const remove2 = () => hostInsert(el, container, anchor);
9616
+ const remove2 = () => {
9617
+ if (vnode.ctx.isUnmounted) {
9618
+ hostRemove(el);
9619
+ } else {
9620
+ hostInsert(el, container, anchor);
9621
+ }
9622
+ };
9580
9623
  const performLeave = () => {
9581
9624
  leave(el, () => {
9582
9625
  remove2();
@@ -9609,7 +9652,9 @@ function baseCreateRenderer(options, createHydrationFns) {
9609
9652
  optimized = false;
9610
9653
  }
9611
9654
  if (ref != null) {
9655
+ pauseTracking();
9612
9656
  setRef(ref, null, parentSuspense, vnode, true);
9657
+ resetTracking();
9613
9658
  }
9614
9659
  if (cacheIndex != null) {
9615
9660
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -9721,12 +9766,27 @@ function baseCreateRenderer(options, createHydrationFns) {
9721
9766
  if (!!(process.env.NODE_ENV !== "production") && instance.type.__hmrId) {
9722
9767
  unregisterHMR(instance);
9723
9768
  }
9724
- const { bum, scope, job, subTree, um, m, a } = instance;
9769
+ const {
9770
+ bum,
9771
+ scope,
9772
+ job,
9773
+ subTree,
9774
+ um,
9775
+ m,
9776
+ a,
9777
+ parent,
9778
+ slots: { __: slotCacheKeys }
9779
+ } = instance;
9725
9780
  invalidateMount(m);
9726
9781
  invalidateMount(a);
9727
9782
  if (bum) {
9728
9783
  invokeArrayFns(bum);
9729
9784
  }
9785
+ if (parent && isArray(slotCacheKeys)) {
9786
+ slotCacheKeys.forEach((v) => {
9787
+ parent.renderCache[v] = void 0;
9788
+ });
9789
+ }
9730
9790
  if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
9731
9791
  instance.emit("hook:beforeDestroy");
9732
9792
  }
@@ -9831,8 +9891,8 @@ function toggleRecurse({ effect, job }, allowed) {
9831
9891
  effect.flags |= 32;
9832
9892
  job.flags |= 4;
9833
9893
  } else {
9834
- effect.flags &= ~32;
9835
- job.flags &= ~4;
9894
+ effect.flags &= -33;
9895
+ job.flags &= -5;
9836
9896
  }
9837
9897
  }
9838
9898
  function needTransition(parentSuspense, transition) {
@@ -9856,9 +9916,12 @@ function traverseStaticChildren(n1, n2, shallow = false) {
9856
9916
  if (c2.type === Text) {
9857
9917
  c2.el = c1.el;
9858
9918
  }
9859
- if (!!(process.env.NODE_ENV !== "production") && c2.type === Comment && !c2.el) {
9919
+ if (c2.type === Comment && !c2.el) {
9860
9920
  c2.el = c1.el;
9861
9921
  }
9922
+ if (!!(process.env.NODE_ENV !== "production")) {
9923
+ c2.el && (c2.el.__vnode = c2);
9924
+ }
9862
9925
  }
9863
9926
  }
9864
9927
  }
@@ -11289,8 +11352,8 @@ function isSameVNodeType(n1, n2) {
11289
11352
  if (!!(process.env.NODE_ENV !== "production") && n2.shapeFlag & 6 && n1.component) {
11290
11353
  const dirtyInstances = hmrDirtyComponents.get(n2.type);
11291
11354
  if (dirtyInstances && dirtyInstances.has(n1.component)) {
11292
- n1.shapeFlag &= ~256;
11293
- n2.shapeFlag &= ~512;
11355
+ n1.shapeFlag &= -257;
11356
+ n2.shapeFlag &= -513;
11294
11357
  return false;
11295
11358
  }
11296
11359
  }
@@ -11763,7 +11826,7 @@ function setupComponent(instance, isSSR = false, optimized = false) {
11763
11826
  const { props, children } = instance.vnode;
11764
11827
  const isStateful = isStatefulComponent(instance);
11765
11828
  initProps(instance, props, isStateful, isSSR);
11766
- initSlots(instance, children, optimized);
11829
+ initSlots(instance, children, optimized || isSSR);
11767
11830
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
11768
11831
  isSSR && setInSSRSetupState(false);
11769
11832
  return setupResult;
@@ -12118,13 +12181,15 @@ function initCustomFormatter() {
12118
12181
  if (obj.__isVue) {
12119
12182
  return ["div", vueStyle, `VueInstance`];
12120
12183
  } else if (isRef(obj)) {
12184
+ pauseTracking();
12185
+ const value = obj.value;
12186
+ resetTracking();
12121
12187
  return [
12122
12188
  "div",
12123
12189
  {},
12124
12190
  ["span", vueStyle, genRefFlag(obj)],
12125
12191
  "<",
12126
- // avoid debugger accessing value affecting behavior
12127
- formatValue("_value" in obj ? obj._value : obj),
12192
+ formatValue(value),
12128
12193
  `>`
12129
12194
  ];
12130
12195
  } else if (isReactive(obj)) {
@@ -12305,7 +12370,7 @@ function isMemoSame(cached, memo) {
12305
12370
  return true;
12306
12371
  }
12307
12372
 
12308
- const version = "3.5.13";
12373
+ const version = "3.5.15";
12309
12374
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12310
12375
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12311
12376
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -13005,7 +13070,7 @@ function compatCoerceAttr(el, key, value, instance = null) {
13005
13070
  el.setAttribute(key, v2CoercedValue);
13006
13071
  return true;
13007
13072
  }
13008
- } else if (value === false && !isSpecialBooleanAttr(key) && compatUtils.isCompatEnabled("ATTR_FALSE_VALUE", instance)) {
13073
+ } else if (value === false && !(el.tagName === "INPUT" && key === "value") && !isSpecialBooleanAttr(key) && compatUtils.isCompatEnabled("ATTR_FALSE_VALUE", instance)) {
13009
13074
  compatUtils.warnDeprecation(
13010
13075
  "ATTR_FALSE_VALUE",
13011
13076
  instance,
@@ -13211,7 +13276,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
13211
13276
  }
13212
13277
  return false;
13213
13278
  }
13214
- if (key === "spellcheck" || key === "draggable" || key === "translate") {
13279
+ if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
13215
13280
  return false;
13216
13281
  }
13217
13282
  if (key === "form") {
@@ -13294,13 +13359,10 @@ class VueElement extends BaseClass {
13294
13359
  this._root = this;
13295
13360
  }
13296
13361
  }
13297
- if (!this._def.__asyncLoader) {
13298
- this._resolveProps(this._def);
13299
- }
13300
13362
  }
13301
13363
  connectedCallback() {
13302
13364
  if (!this.isConnected) return;
13303
- if (!this.shadowRoot) {
13365
+ if (!this.shadowRoot && !this._resolved) {
13304
13366
  this._parseSlots();
13305
13367
  }
13306
13368
  this._connected = true;
@@ -13313,8 +13375,7 @@ class VueElement extends BaseClass {
13313
13375
  }
13314
13376
  if (!this._instance) {
13315
13377
  if (this._resolved) {
13316
- this._setParent();
13317
- this._update();
13378
+ this._mount(this._def);
13318
13379
  } else {
13319
13380
  if (parent && parent._pendingResolve) {
13320
13381
  this._pendingResolve = parent._pendingResolve.then(() => {
@@ -13330,7 +13391,15 @@ class VueElement extends BaseClass {
13330
13391
  _setParent(parent = this._parent) {
13331
13392
  if (parent) {
13332
13393
  this._instance.parent = parent._instance;
13333
- this._instance.provides = parent._instance.provides;
13394
+ this._inheritParentContext(parent);
13395
+ }
13396
+ }
13397
+ _inheritParentContext(parent = this._parent) {
13398
+ if (parent && this._app) {
13399
+ Object.setPrototypeOf(
13400
+ this._app._context.provides,
13401
+ parent._instance.provides
13402
+ );
13334
13403
  }
13335
13404
  }
13336
13405
  disconnectedCallback() {
@@ -13380,9 +13449,7 @@ class VueElement extends BaseClass {
13380
13449
  }
13381
13450
  }
13382
13451
  this._numberProps = numberProps;
13383
- if (isAsync) {
13384
- this._resolveProps(def);
13385
- }
13452
+ this._resolveProps(def);
13386
13453
  if (this.shadowRoot) {
13387
13454
  this._applyStyles(styles);
13388
13455
  } else if (!!(process.env.NODE_ENV !== "production") && styles) {
@@ -13406,6 +13473,7 @@ class VueElement extends BaseClass {
13406
13473
  def.name = "VueElement";
13407
13474
  }
13408
13475
  this._app = this._createApp(def);
13476
+ this._inheritParentContext();
13409
13477
  if (def.configureApp) {
13410
13478
  def.configureApp(this._app);
13411
13479
  }
@@ -13490,7 +13558,9 @@ class VueElement extends BaseClass {
13490
13558
  }
13491
13559
  }
13492
13560
  _update() {
13493
- render(this._createVNode(), this._root);
13561
+ const vnode = this._createVNode();
13562
+ if (this._app) vnode.appContext = this._app._context;
13563
+ render(vnode, this._root);
13494
13564
  }
13495
13565
  _createVNode() {
13496
13566
  const baseProps = {};
@@ -13703,6 +13773,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13703
13773
  instance.vnode.el,
13704
13774
  moveClass
13705
13775
  )) {
13776
+ prevChildren = [];
13706
13777
  return;
13707
13778
  }
13708
13779
  prevChildren.forEach(callPendingCbs);
@@ -13726,6 +13797,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13726
13797
  };
13727
13798
  el.addEventListener("transitionend", cb);
13728
13799
  });
13800
+ prevChildren = [];
13729
13801
  });
13730
13802
  return () => {
13731
13803
  const rawProps = toRaw(props);