@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
  **/
@@ -326,6 +326,10 @@ var Vue = (function () {
326
326
  * @internal
327
327
  */
328
328
  this._active = true;
329
+ /**
330
+ * @internal track `on` calls, allow `on` call multiple times
331
+ */
332
+ this._on = 0;
329
333
  /**
330
334
  * @internal
331
335
  */
@@ -396,14 +400,20 @@ var Vue = (function () {
396
400
  * @internal
397
401
  */
398
402
  on() {
399
- activeEffectScope = this;
403
+ if (++this._on === 1) {
404
+ this.prevScope = activeEffectScope;
405
+ activeEffectScope = this;
406
+ }
400
407
  }
401
408
  /**
402
409
  * This should only be called on non-detached scopes
403
410
  * @internal
404
411
  */
405
412
  off() {
406
- activeEffectScope = this.parent;
413
+ if (this._on > 0 && --this._on === 0) {
414
+ activeEffectScope = this.prevScope;
415
+ this.prevScope = void 0;
416
+ }
407
417
  }
408
418
  stop(fromParent) {
409
419
  if (this._active) {
@@ -485,7 +495,7 @@ var Vue = (function () {
485
495
  }
486
496
  resume() {
487
497
  if (this.flags & 64) {
488
- this.flags &= ~64;
498
+ this.flags &= -65;
489
499
  if (pausedQueueEffects.has(this)) {
490
500
  pausedQueueEffects.delete(this);
491
501
  this.trigger();
@@ -525,7 +535,7 @@ var Vue = (function () {
525
535
  cleanupDeps(this);
526
536
  activeSub = prevEffect;
527
537
  shouldTrack = prevShouldTrack;
528
- this.flags &= ~2;
538
+ this.flags &= -3;
529
539
  }
530
540
  }
531
541
  stop() {
@@ -536,7 +546,7 @@ var Vue = (function () {
536
546
  this.deps = this.depsTail = void 0;
537
547
  cleanupEffect(this);
538
548
  this.onStop && this.onStop();
539
- this.flags &= ~1;
549
+ this.flags &= -2;
540
550
  }
541
551
  }
542
552
  trigger() {
@@ -586,7 +596,7 @@ var Vue = (function () {
586
596
  while (e) {
587
597
  const next = e.next;
588
598
  e.next = void 0;
589
- e.flags &= ~8;
599
+ e.flags &= -9;
590
600
  e = next;
591
601
  }
592
602
  }
@@ -597,7 +607,7 @@ var Vue = (function () {
597
607
  while (e) {
598
608
  const next = e.next;
599
609
  e.next = void 0;
600
- e.flags &= ~8;
610
+ e.flags &= -9;
601
611
  if (e.flags & 1) {
602
612
  try {
603
613
  ;
@@ -653,17 +663,16 @@ var Vue = (function () {
653
663
  if (computed.flags & 4 && !(computed.flags & 16)) {
654
664
  return;
655
665
  }
656
- computed.flags &= ~16;
666
+ computed.flags &= -17;
657
667
  if (computed.globalVersion === globalVersion) {
658
668
  return;
659
669
  }
660
670
  computed.globalVersion = globalVersion;
661
- const dep = computed.dep;
662
- computed.flags |= 2;
663
- if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {
664
- computed.flags &= ~2;
671
+ if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {
665
672
  return;
666
673
  }
674
+ computed.flags |= 2;
675
+ const dep = computed.dep;
667
676
  const prevSub = activeSub;
668
677
  const prevShouldTrack = shouldTrack;
669
678
  activeSub = computed;
@@ -672,6 +681,7 @@ var Vue = (function () {
672
681
  prepareDeps(computed);
673
682
  const value = computed.fn(computed._value);
674
683
  if (dep.version === 0 || hasChanged(value, computed._value)) {
684
+ computed.flags |= 128;
675
685
  computed._value = value;
676
686
  dep.version++;
677
687
  }
@@ -682,7 +692,7 @@ var Vue = (function () {
682
692
  activeSub = prevSub;
683
693
  shouldTrack = prevShouldTrack;
684
694
  cleanupDeps(computed);
685
- computed.flags &= ~2;
695
+ computed.flags &= -3;
686
696
  }
687
697
  }
688
698
  function removeSub(link, soft = false) {
@@ -701,7 +711,7 @@ var Vue = (function () {
701
711
  if (dep.subs === link) {
702
712
  dep.subs = prevSub;
703
713
  if (!prevSub && dep.computed) {
704
- dep.computed.flags &= ~4;
714
+ dep.computed.flags &= -5;
705
715
  for (let l = dep.computed.deps; l; l = l.nextDep) {
706
716
  removeSub(l, true);
707
717
  }
@@ -1634,14 +1644,14 @@ var Vue = (function () {
1634
1644
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1635
1645
  return target;
1636
1646
  }
1637
- const existingProxy = proxyMap.get(target);
1638
- if (existingProxy) {
1639
- return existingProxy;
1640
- }
1641
1647
  const targetType = getTargetType(target);
1642
1648
  if (targetType === 0 /* INVALID */) {
1643
1649
  return target;
1644
1650
  }
1651
+ const existingProxy = proxyMap.get(target);
1652
+ if (existingProxy) {
1653
+ return existingProxy;
1654
+ }
1645
1655
  const proxy = new Proxy(
1646
1656
  target,
1647
1657
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -2064,11 +2074,11 @@ var Vue = (function () {
2064
2074
  oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
2065
2075
  boundCleanup
2066
2076
  ];
2077
+ oldValue = newValue;
2067
2078
  call ? call(cb, 3, args) : (
2068
2079
  // @ts-expect-error
2069
2080
  cb(...args)
2070
2081
  );
2071
- oldValue = newValue;
2072
2082
  } finally {
2073
2083
  activeWatcher = currentWatcher;
2074
2084
  }
@@ -2485,11 +2495,11 @@ var Vue = (function () {
2485
2495
  queue.splice(i, 1);
2486
2496
  i--;
2487
2497
  if (cb.flags & 4) {
2488
- cb.flags &= ~1;
2498
+ cb.flags &= -2;
2489
2499
  }
2490
2500
  cb();
2491
2501
  if (!(cb.flags & 4)) {
2492
- cb.flags &= ~1;
2502
+ cb.flags &= -2;
2493
2503
  }
2494
2504
  }
2495
2505
  }
@@ -2514,10 +2524,10 @@ var Vue = (function () {
2514
2524
  continue;
2515
2525
  }
2516
2526
  if (cb.flags & 4) {
2517
- cb.flags &= ~1;
2527
+ cb.flags &= -2;
2518
2528
  }
2519
2529
  if (!(cb.flags & 8)) cb();
2520
- cb.flags &= ~1;
2530
+ cb.flags &= -2;
2521
2531
  }
2522
2532
  activePostFlushCbs = null;
2523
2533
  postFlushIndex = 0;
@@ -2553,7 +2563,7 @@ var Vue = (function () {
2553
2563
  for (; flushIndex < queue.length; flushIndex++) {
2554
2564
  const job = queue[flushIndex];
2555
2565
  if (job) {
2556
- job.flags &= ~1;
2566
+ job.flags &= -2;
2557
2567
  }
2558
2568
  }
2559
2569
  flushIndex = -1;
@@ -3521,15 +3531,16 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3521
3531
  updateCssVars(n2, true);
3522
3532
  }
3523
3533
  if (isTeleportDeferred(n2.props)) {
3534
+ n2.el.__isMounted = false;
3524
3535
  queuePostRenderEffect(() => {
3525
3536
  mountToTarget();
3526
- n2.el.__isMounted = true;
3537
+ delete n2.el.__isMounted;
3527
3538
  }, parentSuspense);
3528
3539
  } else {
3529
3540
  mountToTarget();
3530
3541
  }
3531
3542
  } else {
3532
- if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
3543
+ if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {
3533
3544
  queuePostRenderEffect(() => {
3534
3545
  TeleportImpl.process(
3535
3546
  n1,
@@ -3543,7 +3554,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3543
3554
  optimized,
3544
3555
  internals
3545
3556
  );
3546
- delete n1.el.__isMounted;
3547
3557
  }, parentSuspense);
3548
3558
  return;
3549
3559
  }
@@ -3570,7 +3580,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3570
3580
  namespace,
3571
3581
  slotScopeIds
3572
3582
  );
3573
- traverseStaticChildren(n1, n2, true);
3583
+ traverseStaticChildren(n1, n2, false);
3574
3584
  } else if (!optimized) {
3575
3585
  patchChildren(
3576
3586
  n1,
@@ -4534,6 +4544,8 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4534
4544
  ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;
4535
4545
  const content = el.content.firstChild;
4536
4546
  if (needCallTransitionHooks) {
4547
+ const cls = content.getAttribute("class");
4548
+ if (cls) content.$cls = cls;
4537
4549
  transition.beforeEnter(content);
4538
4550
  }
4539
4551
  replaceNode(content, el, parentComponent);
@@ -4786,7 +4798,12 @@ Server rendered element contains fewer child nodes than client vdom.`
4786
4798
  let actual;
4787
4799
  let expected;
4788
4800
  if (key === "class") {
4789
- actual = el.getAttribute("class");
4801
+ if (el.$cls) {
4802
+ actual = el.$cls;
4803
+ delete el.$cls;
4804
+ } else {
4805
+ actual = el.getAttribute("class");
4806
+ }
4790
4807
  expected = normalizeClass(clientValue);
4791
4808
  if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) {
4792
4809
  mismatchType = 2 /* CLASS */;
@@ -5081,14 +5098,25 @@ Server rendered element contains fewer child nodes than client vdom.`
5081
5098
  name: "AsyncComponentWrapper",
5082
5099
  __asyncLoader: load,
5083
5100
  __asyncHydrate(el, instance, hydrate) {
5101
+ let patched = false;
5084
5102
  const doHydrate = hydrateStrategy ? () => {
5103
+ const performHydrate = () => {
5104
+ if (patched) {
5105
+ warn$1(
5106
+ `Skipping lazy hydration for component '${getComponentName(resolvedComp)}': it was updated before lazy hydration performed.`
5107
+ );
5108
+ return;
5109
+ }
5110
+ hydrate();
5111
+ };
5085
5112
  const teardown = hydrateStrategy(
5086
- hydrate,
5113
+ performHydrate,
5087
5114
  (cb) => forEachElement(el, cb)
5088
5115
  );
5089
5116
  if (teardown) {
5090
5117
  (instance.bum || (instance.bum = [])).push(teardown);
5091
5118
  }
5119
+ (instance.u || (instance.u = [])).push(() => patched = true);
5092
5120
  } : hydrate;
5093
5121
  if (resolvedComp) {
5094
5122
  doHydrate();
@@ -5252,6 +5280,9 @@ Server rendered element contains fewer child nodes than client vdom.`
5252
5280
  {
5253
5281
  devtoolsComponentAdded(instance2);
5254
5282
  }
5283
+ {
5284
+ instance2.__keepAliveStorageContainer = storageContainer;
5285
+ }
5255
5286
  };
5256
5287
  function unmount(vnode) {
5257
5288
  resetShapeFlag(vnode);
@@ -5339,7 +5370,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5339
5370
  );
5340
5371
  const { include, exclude, max } = props;
5341
5372
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
5342
- vnode.shapeFlag &= ~256;
5373
+ vnode.shapeFlag &= -257;
5343
5374
  current = vnode;
5344
5375
  return rawVNode;
5345
5376
  }
@@ -5430,8 +5461,8 @@ Server rendered element contains fewer child nodes than client vdom.`
5430
5461
  }, target);
5431
5462
  }
5432
5463
  function resetShapeFlag(vnode) {
5433
- vnode.shapeFlag &= ~256;
5434
- vnode.shapeFlag &= ~512;
5464
+ vnode.shapeFlag &= -257;
5465
+ vnode.shapeFlag &= -513;
5435
5466
  }
5436
5467
  function getInnerChild(vnode) {
5437
5468
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -5833,14 +5864,16 @@ If this is a native custom element, make sure to exclude it from component resol
5833
5864
  if (sourceIsArray || isString(source)) {
5834
5865
  const sourceIsReactiveArray = sourceIsArray && isReactive(source);
5835
5866
  let needsWrap = false;
5867
+ let isReadonlySource = false;
5836
5868
  if (sourceIsReactiveArray) {
5837
5869
  needsWrap = !isShallow(source);
5870
+ isReadonlySource = isReadonly(source);
5838
5871
  source = shallowReadArray(source);
5839
5872
  }
5840
5873
  ret = new Array(source.length);
5841
5874
  for (let i = 0, l = source.length; i < l; i++) {
5842
5875
  ret[i] = renderItem(
5843
- needsWrap ? toReactive(source[i]) : source[i],
5876
+ needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],
5844
5877
  i,
5845
5878
  void 0,
5846
5879
  cached && cached[i]
@@ -7089,7 +7122,7 @@ If this is a native custom element, make sure to exclude it from component resol
7089
7122
  return vm;
7090
7123
  }
7091
7124
  }
7092
- Vue.version = `2.6.14-compat:${"3.5.13"}`;
7125
+ Vue.version = `2.6.14-compat:${"3.5.15"}`;
7093
7126
  Vue.config = singletonApp.config;
7094
7127
  Vue.use = (plugin, ...options) => {
7095
7128
  if (plugin && isFunction(plugin.install)) {
@@ -7583,11 +7616,9 @@ If this is a native custom element, make sure to exclude it from component resol
7583
7616
  }
7584
7617
  {
7585
7618
  context.reload = () => {
7586
- render(
7587
- cloneVNode(vnode),
7588
- rootContainer,
7589
- namespace
7590
- );
7619
+ const cloned = cloneVNode(vnode);
7620
+ cloned.el = null;
7621
+ render(cloned, rootContainer, namespace);
7591
7622
  };
7592
7623
  }
7593
7624
  if (isHydrate && hydrate) {
@@ -7637,9 +7668,15 @@ If you want to remount the same app, move your app creation logic into a factory
7637
7668
  },
7638
7669
  provide(key, value) {
7639
7670
  if (key in context.provides) {
7640
- warn$1(
7641
- `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
7642
- );
7671
+ if (hasOwn(context.provides, key)) {
7672
+ warn$1(
7673
+ `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
7674
+ );
7675
+ } else {
7676
+ warn$1(
7677
+ `App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`
7678
+ );
7679
+ }
7643
7680
  }
7644
7681
  context.provides[key] = value;
7645
7682
  return app;
@@ -7679,7 +7716,7 @@ If you want to remount the same app, move your app creation logic into a factory
7679
7716
  function inject(key, defaultValue, treatDefaultAsFactory = false) {
7680
7717
  const instance = currentInstance || currentRenderingInstance;
7681
7718
  if (instance || currentApp) {
7682
- const provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
7719
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
7683
7720
  if (provides && key in provides) {
7684
7721
  return provides[key];
7685
7722
  } else if (arguments.length > 1) {
@@ -8185,7 +8222,7 @@ If you want to remount the same app, move your app creation logic into a factory
8185
8222
  return rawSlot;
8186
8223
  }
8187
8224
  const normalized = withCtx((...args) => {
8188
- if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
8225
+ if (currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {
8189
8226
  warn$1(
8190
8227
  `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.`
8191
8228
  );
@@ -8224,7 +8261,7 @@ If you want to remount the same app, move your app creation logic into a factory
8224
8261
  };
8225
8262
  const assignSlots = (slots, children, optimized) => {
8226
8263
  for (const key in children) {
8227
- if (optimized || key !== "_") {
8264
+ if (optimized || !isInternalKey(key)) {
8228
8265
  slots[key] = children[key];
8229
8266
  }
8230
8267
  }
@@ -8748,7 +8785,7 @@ If you want to remount the same app, move your app creation logic into a factory
8748
8785
  (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
8749
8786
  // which also requires the correct parent container
8750
8787
  !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
8751
- oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (
8788
+ oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldVNode.el) : (
8752
8789
  // In other cases, the parent container is not actually used so we
8753
8790
  // just pass the block element here to avoid a DOM parentNode call.
8754
8791
  fallbackContainer
@@ -8911,8 +8948,8 @@ If you want to remount the same app, move your app creation logic into a factory
8911
8948
  endMeasure(instance, `init`);
8912
8949
  }
8913
8950
  }
8951
+ if (isHmrUpdating) initialVNode.el = null;
8914
8952
  if (instance.asyncDep) {
8915
- if (isHmrUpdating) initialVNode.el = null;
8916
8953
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
8917
8954
  if (!initialVNode.el) {
8918
8955
  const placeholder = instance.subTree = createVNode(Comment);
@@ -9498,7 +9535,13 @@ If you want to remount the same app, move your app creation logic into a factory
9498
9535
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
9499
9536
  } else {
9500
9537
  const { leave, delayLeave, afterLeave } = transition;
9501
- const remove2 = () => hostInsert(el, container, anchor);
9538
+ const remove2 = () => {
9539
+ if (vnode.ctx.isUnmounted) {
9540
+ hostRemove(el);
9541
+ } else {
9542
+ hostInsert(el, container, anchor);
9543
+ }
9544
+ };
9502
9545
  const performLeave = () => {
9503
9546
  leave(el, () => {
9504
9547
  remove2();
@@ -9531,7 +9574,9 @@ If you want to remount the same app, move your app creation logic into a factory
9531
9574
  optimized = false;
9532
9575
  }
9533
9576
  if (ref != null) {
9577
+ pauseTracking();
9534
9578
  setRef(ref, null, parentSuspense, vnode, true);
9579
+ resetTracking();
9535
9580
  }
9536
9581
  if (cacheIndex != null) {
9537
9582
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -9643,12 +9688,27 @@ If you want to remount the same app, move your app creation logic into a factory
9643
9688
  if (instance.type.__hmrId) {
9644
9689
  unregisterHMR(instance);
9645
9690
  }
9646
- const { bum, scope, job, subTree, um, m, a } = instance;
9691
+ const {
9692
+ bum,
9693
+ scope,
9694
+ job,
9695
+ subTree,
9696
+ um,
9697
+ m,
9698
+ a,
9699
+ parent,
9700
+ slots: { __: slotCacheKeys }
9701
+ } = instance;
9647
9702
  invalidateMount(m);
9648
9703
  invalidateMount(a);
9649
9704
  if (bum) {
9650
9705
  invokeArrayFns(bum);
9651
9706
  }
9707
+ if (parent && isArray(slotCacheKeys)) {
9708
+ slotCacheKeys.forEach((v) => {
9709
+ parent.renderCache[v] = void 0;
9710
+ });
9711
+ }
9652
9712
  if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
9653
9713
  instance.emit("hook:beforeDestroy");
9654
9714
  }
@@ -9753,8 +9813,8 @@ If you want to remount the same app, move your app creation logic into a factory
9753
9813
  effect.flags |= 32;
9754
9814
  job.flags |= 4;
9755
9815
  } else {
9756
- effect.flags &= ~32;
9757
- job.flags &= ~4;
9816
+ effect.flags &= -33;
9817
+ job.flags &= -5;
9758
9818
  }
9759
9819
  }
9760
9820
  function needTransition(parentSuspense, transition) {
@@ -9781,6 +9841,9 @@ If you want to remount the same app, move your app creation logic into a factory
9781
9841
  if (c2.type === Comment && !c2.el) {
9782
9842
  c2.el = c1.el;
9783
9843
  }
9844
+ {
9845
+ c2.el && (c2.el.__vnode = c2);
9846
+ }
9784
9847
  }
9785
9848
  }
9786
9849
  }
@@ -11183,8 +11246,8 @@ If you want to remount the same app, move your app creation logic into a factory
11183
11246
  if (n2.shapeFlag & 6 && n1.component) {
11184
11247
  const dirtyInstances = hmrDirtyComponents.get(n2.type);
11185
11248
  if (dirtyInstances && dirtyInstances.has(n1.component)) {
11186
- n1.shapeFlag &= ~256;
11187
- n2.shapeFlag &= ~512;
11249
+ n1.shapeFlag &= -257;
11250
+ n2.shapeFlag &= -513;
11188
11251
  return false;
11189
11252
  }
11190
11253
  }
@@ -11643,7 +11706,7 @@ Component that was made reactive: `,
11643
11706
  const { props, children } = instance.vnode;
11644
11707
  const isStateful = isStatefulComponent(instance);
11645
11708
  initProps(instance, props, isStateful, isSSR);
11646
- initSlots(instance, children, optimized);
11709
+ initSlots(instance, children, optimized || isSSR);
11647
11710
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
11648
11711
  isSSR && setInSSRSetupState(false);
11649
11712
  return setupResult;
@@ -11984,13 +12047,15 @@ Component that was made reactive: `,
11984
12047
  if (obj.__isVue) {
11985
12048
  return ["div", vueStyle, `VueInstance`];
11986
12049
  } else if (isRef(obj)) {
12050
+ pauseTracking();
12051
+ const value = obj.value;
12052
+ resetTracking();
11987
12053
  return [
11988
12054
  "div",
11989
12055
  {},
11990
12056
  ["span", vueStyle, genRefFlag(obj)],
11991
12057
  "<",
11992
- // avoid debugger accessing value affecting behavior
11993
- formatValue("_value" in obj ? obj._value : obj),
12058
+ formatValue(value),
11994
12059
  `>`
11995
12060
  ];
11996
12061
  } else if (isReactive(obj)) {
@@ -12171,7 +12236,7 @@ Component that was made reactive: `,
12171
12236
  return true;
12172
12237
  }
12173
12238
 
12174
- const version = "3.5.13";
12239
+ const version = "3.5.15";
12175
12240
  const warn = warn$1 ;
12176
12241
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12177
12242
  const devtools = devtools$1 ;
@@ -12852,7 +12917,7 @@ Component that was made reactive: `,
12852
12917
  el.setAttribute(key, v2CoercedValue);
12853
12918
  return true;
12854
12919
  }
12855
- } else if (value === false && !isSpecialBooleanAttr(key) && compatUtils.isCompatEnabled("ATTR_FALSE_VALUE", instance)) {
12920
+ } else if (value === false && !(el.tagName === "INPUT" && key === "value") && !isSpecialBooleanAttr(key) && compatUtils.isCompatEnabled("ATTR_FALSE_VALUE", instance)) {
12856
12921
  compatUtils.warnDeprecation(
12857
12922
  "ATTR_FALSE_VALUE",
12858
12923
  instance,
@@ -13058,7 +13123,7 @@ Expected function or array of functions, received type ${typeof value}.`
13058
13123
  }
13059
13124
  return false;
13060
13125
  }
13061
- if (key === "spellcheck" || key === "draggable" || key === "translate") {
13126
+ if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
13062
13127
  return false;
13063
13128
  }
13064
13129
  if (key === "form") {
@@ -13141,13 +13206,10 @@ Expected function or array of functions, received type ${typeof value}.`
13141
13206
  this._root = this;
13142
13207
  }
13143
13208
  }
13144
- if (!this._def.__asyncLoader) {
13145
- this._resolveProps(this._def);
13146
- }
13147
13209
  }
13148
13210
  connectedCallback() {
13149
13211
  if (!this.isConnected) return;
13150
- if (!this.shadowRoot) {
13212
+ if (!this.shadowRoot && !this._resolved) {
13151
13213
  this._parseSlots();
13152
13214
  }
13153
13215
  this._connected = true;
@@ -13160,8 +13222,7 @@ Expected function or array of functions, received type ${typeof value}.`
13160
13222
  }
13161
13223
  if (!this._instance) {
13162
13224
  if (this._resolved) {
13163
- this._setParent();
13164
- this._update();
13225
+ this._mount(this._def);
13165
13226
  } else {
13166
13227
  if (parent && parent._pendingResolve) {
13167
13228
  this._pendingResolve = parent._pendingResolve.then(() => {
@@ -13177,7 +13238,15 @@ Expected function or array of functions, received type ${typeof value}.`
13177
13238
  _setParent(parent = this._parent) {
13178
13239
  if (parent) {
13179
13240
  this._instance.parent = parent._instance;
13180
- this._instance.provides = parent._instance.provides;
13241
+ this._inheritParentContext(parent);
13242
+ }
13243
+ }
13244
+ _inheritParentContext(parent = this._parent) {
13245
+ if (parent && this._app) {
13246
+ Object.setPrototypeOf(
13247
+ this._app._context.provides,
13248
+ parent._instance.provides
13249
+ );
13181
13250
  }
13182
13251
  }
13183
13252
  disconnectedCallback() {
@@ -13227,9 +13296,7 @@ Expected function or array of functions, received type ${typeof value}.`
13227
13296
  }
13228
13297
  }
13229
13298
  this._numberProps = numberProps;
13230
- if (isAsync) {
13231
- this._resolveProps(def);
13232
- }
13299
+ this._resolveProps(def);
13233
13300
  if (this.shadowRoot) {
13234
13301
  this._applyStyles(styles);
13235
13302
  } else if (styles) {
@@ -13253,6 +13320,7 @@ Expected function or array of functions, received type ${typeof value}.`
13253
13320
  def.name = "VueElement";
13254
13321
  }
13255
13322
  this._app = this._createApp(def);
13323
+ this._inheritParentContext();
13256
13324
  if (def.configureApp) {
13257
13325
  def.configureApp(this._app);
13258
13326
  }
@@ -13337,7 +13405,9 @@ Expected function or array of functions, received type ${typeof value}.`
13337
13405
  }
13338
13406
  }
13339
13407
  _update() {
13340
- render(this._createVNode(), this._root);
13408
+ const vnode = this._createVNode();
13409
+ if (this._app) vnode.appContext = this._app._context;
13410
+ render(vnode, this._root);
13341
13411
  }
13342
13412
  _createVNode() {
13343
13413
  const baseProps = {};
@@ -13538,6 +13608,7 @@ Expected function or array of functions, received type ${typeof value}.`
13538
13608
  instance.vnode.el,
13539
13609
  moveClass
13540
13610
  )) {
13611
+ prevChildren = [];
13541
13612
  return;
13542
13613
  }
13543
13614
  prevChildren.forEach(callPendingCbs);
@@ -13561,6 +13632,7 @@ Expected function or array of functions, received type ${typeof value}.`
13561
13632
  };
13562
13633
  el.addEventListener("transitionend", cb);
13563
13634
  });
13635
+ prevChildren = [];
13564
13636
  });
13565
13637
  return () => {
13566
13638
  const rawProps = toRaw(props);