@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
  **/
@@ -399,6 +399,10 @@ var Vue = (function () {
399
399
  * @internal
400
400
  */
401
401
  this._active = true;
402
+ /**
403
+ * @internal track `on` calls, allow `on` call multiple times
404
+ */
405
+ this._on = 0;
402
406
  /**
403
407
  * @internal
404
408
  */
@@ -469,14 +473,20 @@ var Vue = (function () {
469
473
  * @internal
470
474
  */
471
475
  on() {
472
- activeEffectScope = this;
476
+ if (++this._on === 1) {
477
+ this.prevScope = activeEffectScope;
478
+ activeEffectScope = this;
479
+ }
473
480
  }
474
481
  /**
475
482
  * This should only be called on non-detached scopes
476
483
  * @internal
477
484
  */
478
485
  off() {
479
- activeEffectScope = this.parent;
486
+ if (this._on > 0 && --this._on === 0) {
487
+ activeEffectScope = this.prevScope;
488
+ this.prevScope = void 0;
489
+ }
480
490
  }
481
491
  stop(fromParent) {
482
492
  if (this._active) {
@@ -558,7 +568,7 @@ var Vue = (function () {
558
568
  }
559
569
  resume() {
560
570
  if (this.flags & 64) {
561
- this.flags &= ~64;
571
+ this.flags &= -65;
562
572
  if (pausedQueueEffects.has(this)) {
563
573
  pausedQueueEffects.delete(this);
564
574
  this.trigger();
@@ -598,7 +608,7 @@ var Vue = (function () {
598
608
  cleanupDeps(this);
599
609
  activeSub = prevEffect;
600
610
  shouldTrack = prevShouldTrack;
601
- this.flags &= ~2;
611
+ this.flags &= -3;
602
612
  }
603
613
  }
604
614
  stop() {
@@ -609,7 +619,7 @@ var Vue = (function () {
609
619
  this.deps = this.depsTail = void 0;
610
620
  cleanupEffect(this);
611
621
  this.onStop && this.onStop();
612
- this.flags &= ~1;
622
+ this.flags &= -2;
613
623
  }
614
624
  }
615
625
  trigger() {
@@ -659,7 +669,7 @@ var Vue = (function () {
659
669
  while (e) {
660
670
  const next = e.next;
661
671
  e.next = void 0;
662
- e.flags &= ~8;
672
+ e.flags &= -9;
663
673
  e = next;
664
674
  }
665
675
  }
@@ -670,7 +680,7 @@ var Vue = (function () {
670
680
  while (e) {
671
681
  const next = e.next;
672
682
  e.next = void 0;
673
- e.flags &= ~8;
683
+ e.flags &= -9;
674
684
  if (e.flags & 1) {
675
685
  try {
676
686
  ;
@@ -726,17 +736,16 @@ var Vue = (function () {
726
736
  if (computed.flags & 4 && !(computed.flags & 16)) {
727
737
  return;
728
738
  }
729
- computed.flags &= ~16;
739
+ computed.flags &= -17;
730
740
  if (computed.globalVersion === globalVersion) {
731
741
  return;
732
742
  }
733
743
  computed.globalVersion = globalVersion;
734
- const dep = computed.dep;
735
- computed.flags |= 2;
736
- if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {
737
- computed.flags &= ~2;
744
+ if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {
738
745
  return;
739
746
  }
747
+ computed.flags |= 2;
748
+ const dep = computed.dep;
740
749
  const prevSub = activeSub;
741
750
  const prevShouldTrack = shouldTrack;
742
751
  activeSub = computed;
@@ -745,6 +754,7 @@ var Vue = (function () {
745
754
  prepareDeps(computed);
746
755
  const value = computed.fn(computed._value);
747
756
  if (dep.version === 0 || hasChanged(value, computed._value)) {
757
+ computed.flags |= 128;
748
758
  computed._value = value;
749
759
  dep.version++;
750
760
  }
@@ -755,7 +765,7 @@ var Vue = (function () {
755
765
  activeSub = prevSub;
756
766
  shouldTrack = prevShouldTrack;
757
767
  cleanupDeps(computed);
758
- computed.flags &= ~2;
768
+ computed.flags &= -3;
759
769
  }
760
770
  }
761
771
  function removeSub(link, soft = false) {
@@ -774,7 +784,7 @@ var Vue = (function () {
774
784
  if (dep.subs === link) {
775
785
  dep.subs = prevSub;
776
786
  if (!prevSub && dep.computed) {
777
- dep.computed.flags &= ~4;
787
+ dep.computed.flags &= -5;
778
788
  for (let l = dep.computed.deps; l; l = l.nextDep) {
779
789
  removeSub(l, true);
780
790
  }
@@ -1707,14 +1717,14 @@ var Vue = (function () {
1707
1717
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1708
1718
  return target;
1709
1719
  }
1710
- const existingProxy = proxyMap.get(target);
1711
- if (existingProxy) {
1712
- return existingProxy;
1713
- }
1714
1720
  const targetType = getTargetType(target);
1715
1721
  if (targetType === 0 /* INVALID */) {
1716
1722
  return target;
1717
1723
  }
1724
+ const existingProxy = proxyMap.get(target);
1725
+ if (existingProxy) {
1726
+ return existingProxy;
1727
+ }
1718
1728
  const proxy = new Proxy(
1719
1729
  target,
1720
1730
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -2137,11 +2147,11 @@ var Vue = (function () {
2137
2147
  oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
2138
2148
  boundCleanup
2139
2149
  ];
2150
+ oldValue = newValue;
2140
2151
  call ? call(cb, 3, args) : (
2141
2152
  // @ts-expect-error
2142
2153
  cb(...args)
2143
2154
  );
2144
- oldValue = newValue;
2145
2155
  } finally {
2146
2156
  activeWatcher = currentWatcher;
2147
2157
  }
@@ -2558,11 +2568,11 @@ var Vue = (function () {
2558
2568
  queue.splice(i, 1);
2559
2569
  i--;
2560
2570
  if (cb.flags & 4) {
2561
- cb.flags &= ~1;
2571
+ cb.flags &= -2;
2562
2572
  }
2563
2573
  cb();
2564
2574
  if (!(cb.flags & 4)) {
2565
- cb.flags &= ~1;
2575
+ cb.flags &= -2;
2566
2576
  }
2567
2577
  }
2568
2578
  }
@@ -2587,10 +2597,10 @@ var Vue = (function () {
2587
2597
  continue;
2588
2598
  }
2589
2599
  if (cb.flags & 4) {
2590
- cb.flags &= ~1;
2600
+ cb.flags &= -2;
2591
2601
  }
2592
2602
  if (!(cb.flags & 8)) cb();
2593
- cb.flags &= ~1;
2603
+ cb.flags &= -2;
2594
2604
  }
2595
2605
  activePostFlushCbs = null;
2596
2606
  postFlushIndex = 0;
@@ -2626,7 +2636,7 @@ var Vue = (function () {
2626
2636
  for (; flushIndex < queue.length; flushIndex++) {
2627
2637
  const job = queue[flushIndex];
2628
2638
  if (job) {
2629
- job.flags &= ~1;
2639
+ job.flags &= -2;
2630
2640
  }
2631
2641
  }
2632
2642
  flushIndex = -1;
@@ -3594,15 +3604,16 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3594
3604
  updateCssVars(n2, true);
3595
3605
  }
3596
3606
  if (isTeleportDeferred(n2.props)) {
3607
+ n2.el.__isMounted = false;
3597
3608
  queuePostRenderEffect(() => {
3598
3609
  mountToTarget();
3599
- n2.el.__isMounted = true;
3610
+ delete n2.el.__isMounted;
3600
3611
  }, parentSuspense);
3601
3612
  } else {
3602
3613
  mountToTarget();
3603
3614
  }
3604
3615
  } else {
3605
- if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
3616
+ if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {
3606
3617
  queuePostRenderEffect(() => {
3607
3618
  TeleportImpl.process(
3608
3619
  n1,
@@ -3616,7 +3627,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3616
3627
  optimized,
3617
3628
  internals
3618
3629
  );
3619
- delete n1.el.__isMounted;
3620
3630
  }, parentSuspense);
3621
3631
  return;
3622
3632
  }
@@ -3643,7 +3653,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3643
3653
  namespace,
3644
3654
  slotScopeIds
3645
3655
  );
3646
- traverseStaticChildren(n1, n2, true);
3656
+ traverseStaticChildren(n1, n2, false);
3647
3657
  } else if (!optimized) {
3648
3658
  patchChildren(
3649
3659
  n1,
@@ -4607,6 +4617,8 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4607
4617
  ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;
4608
4618
  const content = el.content.firstChild;
4609
4619
  if (needCallTransitionHooks) {
4620
+ const cls = content.getAttribute("class");
4621
+ if (cls) content.$cls = cls;
4610
4622
  transition.beforeEnter(content);
4611
4623
  }
4612
4624
  replaceNode(content, el, parentComponent);
@@ -4859,7 +4871,12 @@ Server rendered element contains fewer child nodes than client vdom.`
4859
4871
  let actual;
4860
4872
  let expected;
4861
4873
  if (key === "class") {
4862
- actual = el.getAttribute("class");
4874
+ if (el.$cls) {
4875
+ actual = el.$cls;
4876
+ delete el.$cls;
4877
+ } else {
4878
+ actual = el.getAttribute("class");
4879
+ }
4863
4880
  expected = normalizeClass(clientValue);
4864
4881
  if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) {
4865
4882
  mismatchType = 2 /* CLASS */;
@@ -5154,14 +5171,25 @@ Server rendered element contains fewer child nodes than client vdom.`
5154
5171
  name: "AsyncComponentWrapper",
5155
5172
  __asyncLoader: load,
5156
5173
  __asyncHydrate(el, instance, hydrate) {
5174
+ let patched = false;
5157
5175
  const doHydrate = hydrateStrategy ? () => {
5176
+ const performHydrate = () => {
5177
+ if (patched) {
5178
+ warn$1(
5179
+ `Skipping lazy hydration for component '${getComponentName(resolvedComp)}': it was updated before lazy hydration performed.`
5180
+ );
5181
+ return;
5182
+ }
5183
+ hydrate();
5184
+ };
5158
5185
  const teardown = hydrateStrategy(
5159
- hydrate,
5186
+ performHydrate,
5160
5187
  (cb) => forEachElement(el, cb)
5161
5188
  );
5162
5189
  if (teardown) {
5163
5190
  (instance.bum || (instance.bum = [])).push(teardown);
5164
5191
  }
5192
+ (instance.u || (instance.u = [])).push(() => patched = true);
5165
5193
  } : hydrate;
5166
5194
  if (resolvedComp) {
5167
5195
  doHydrate();
@@ -5325,6 +5353,9 @@ Server rendered element contains fewer child nodes than client vdom.`
5325
5353
  {
5326
5354
  devtoolsComponentAdded(instance2);
5327
5355
  }
5356
+ {
5357
+ instance2.__keepAliveStorageContainer = storageContainer;
5358
+ }
5328
5359
  };
5329
5360
  function unmount(vnode) {
5330
5361
  resetShapeFlag(vnode);
@@ -5412,7 +5443,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5412
5443
  );
5413
5444
  const { include, exclude, max } = props;
5414
5445
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
5415
- vnode.shapeFlag &= ~256;
5446
+ vnode.shapeFlag &= -257;
5416
5447
  current = vnode;
5417
5448
  return rawVNode;
5418
5449
  }
@@ -5503,8 +5534,8 @@ Server rendered element contains fewer child nodes than client vdom.`
5503
5534
  }, target);
5504
5535
  }
5505
5536
  function resetShapeFlag(vnode) {
5506
- vnode.shapeFlag &= ~256;
5507
- vnode.shapeFlag &= ~512;
5537
+ vnode.shapeFlag &= -257;
5538
+ vnode.shapeFlag &= -513;
5508
5539
  }
5509
5540
  function getInnerChild(vnode) {
5510
5541
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -5906,14 +5937,16 @@ If this is a native custom element, make sure to exclude it from component resol
5906
5937
  if (sourceIsArray || isString(source)) {
5907
5938
  const sourceIsReactiveArray = sourceIsArray && isReactive(source);
5908
5939
  let needsWrap = false;
5940
+ let isReadonlySource = false;
5909
5941
  if (sourceIsReactiveArray) {
5910
5942
  needsWrap = !isShallow(source);
5943
+ isReadonlySource = isReadonly(source);
5911
5944
  source = shallowReadArray(source);
5912
5945
  }
5913
5946
  ret = new Array(source.length);
5914
5947
  for (let i = 0, l = source.length; i < l; i++) {
5915
5948
  ret[i] = renderItem(
5916
- needsWrap ? toReactive(source[i]) : source[i],
5949
+ needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],
5917
5950
  i,
5918
5951
  void 0,
5919
5952
  cached && cached[i]
@@ -7162,7 +7195,7 @@ If this is a native custom element, make sure to exclude it from component resol
7162
7195
  return vm;
7163
7196
  }
7164
7197
  }
7165
- Vue.version = `2.6.14-compat:${"3.5.13"}`;
7198
+ Vue.version = `2.6.14-compat:${"3.5.15"}`;
7166
7199
  Vue.config = singletonApp.config;
7167
7200
  Vue.use = (plugin, ...options) => {
7168
7201
  if (plugin && isFunction(plugin.install)) {
@@ -7656,11 +7689,9 @@ If this is a native custom element, make sure to exclude it from component resol
7656
7689
  }
7657
7690
  {
7658
7691
  context.reload = () => {
7659
- render(
7660
- cloneVNode(vnode),
7661
- rootContainer,
7662
- namespace
7663
- );
7692
+ const cloned = cloneVNode(vnode);
7693
+ cloned.el = null;
7694
+ render(cloned, rootContainer, namespace);
7664
7695
  };
7665
7696
  }
7666
7697
  if (isHydrate && hydrate) {
@@ -7710,9 +7741,15 @@ If you want to remount the same app, move your app creation logic into a factory
7710
7741
  },
7711
7742
  provide(key, value) {
7712
7743
  if (key in context.provides) {
7713
- warn$1(
7714
- `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
7715
- );
7744
+ if (hasOwn(context.provides, key)) {
7745
+ warn$1(
7746
+ `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
7747
+ );
7748
+ } else {
7749
+ warn$1(
7750
+ `App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`
7751
+ );
7752
+ }
7716
7753
  }
7717
7754
  context.provides[key] = value;
7718
7755
  return app;
@@ -7752,7 +7789,7 @@ If you want to remount the same app, move your app creation logic into a factory
7752
7789
  function inject(key, defaultValue, treatDefaultAsFactory = false) {
7753
7790
  const instance = currentInstance || currentRenderingInstance;
7754
7791
  if (instance || currentApp) {
7755
- const provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
7792
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
7756
7793
  if (provides && key in provides) {
7757
7794
  return provides[key];
7758
7795
  } else if (arguments.length > 1) {
@@ -8258,7 +8295,7 @@ If you want to remount the same app, move your app creation logic into a factory
8258
8295
  return rawSlot;
8259
8296
  }
8260
8297
  const normalized = withCtx((...args) => {
8261
- if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
8298
+ if (currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {
8262
8299
  warn$1(
8263
8300
  `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.`
8264
8301
  );
@@ -8297,7 +8334,7 @@ If you want to remount the same app, move your app creation logic into a factory
8297
8334
  };
8298
8335
  const assignSlots = (slots, children, optimized) => {
8299
8336
  for (const key in children) {
8300
- if (optimized || key !== "_") {
8337
+ if (optimized || !isInternalKey(key)) {
8301
8338
  slots[key] = children[key];
8302
8339
  }
8303
8340
  }
@@ -8821,7 +8858,7 @@ If you want to remount the same app, move your app creation logic into a factory
8821
8858
  (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
8822
8859
  // which also requires the correct parent container
8823
8860
  !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
8824
- oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (
8861
+ oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldVNode.el) : (
8825
8862
  // In other cases, the parent container is not actually used so we
8826
8863
  // just pass the block element here to avoid a DOM parentNode call.
8827
8864
  fallbackContainer
@@ -8984,8 +9021,8 @@ If you want to remount the same app, move your app creation logic into a factory
8984
9021
  endMeasure(instance, `init`);
8985
9022
  }
8986
9023
  }
9024
+ if (isHmrUpdating) initialVNode.el = null;
8987
9025
  if (instance.asyncDep) {
8988
- if (isHmrUpdating) initialVNode.el = null;
8989
9026
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
8990
9027
  if (!initialVNode.el) {
8991
9028
  const placeholder = instance.subTree = createVNode(Comment);
@@ -9571,7 +9608,13 @@ If you want to remount the same app, move your app creation logic into a factory
9571
9608
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
9572
9609
  } else {
9573
9610
  const { leave, delayLeave, afterLeave } = transition;
9574
- const remove2 = () => hostInsert(el, container, anchor);
9611
+ const remove2 = () => {
9612
+ if (vnode.ctx.isUnmounted) {
9613
+ hostRemove(el);
9614
+ } else {
9615
+ hostInsert(el, container, anchor);
9616
+ }
9617
+ };
9575
9618
  const performLeave = () => {
9576
9619
  leave(el, () => {
9577
9620
  remove2();
@@ -9604,7 +9647,9 @@ If you want to remount the same app, move your app creation logic into a factory
9604
9647
  optimized = false;
9605
9648
  }
9606
9649
  if (ref != null) {
9650
+ pauseTracking();
9607
9651
  setRef(ref, null, parentSuspense, vnode, true);
9652
+ resetTracking();
9608
9653
  }
9609
9654
  if (cacheIndex != null) {
9610
9655
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -9716,12 +9761,27 @@ If you want to remount the same app, move your app creation logic into a factory
9716
9761
  if (instance.type.__hmrId) {
9717
9762
  unregisterHMR(instance);
9718
9763
  }
9719
- const { bum, scope, job, subTree, um, m, a } = instance;
9764
+ const {
9765
+ bum,
9766
+ scope,
9767
+ job,
9768
+ subTree,
9769
+ um,
9770
+ m,
9771
+ a,
9772
+ parent,
9773
+ slots: { __: slotCacheKeys }
9774
+ } = instance;
9720
9775
  invalidateMount(m);
9721
9776
  invalidateMount(a);
9722
9777
  if (bum) {
9723
9778
  invokeArrayFns(bum);
9724
9779
  }
9780
+ if (parent && isArray(slotCacheKeys)) {
9781
+ slotCacheKeys.forEach((v) => {
9782
+ parent.renderCache[v] = void 0;
9783
+ });
9784
+ }
9725
9785
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) {
9726
9786
  instance.emit("hook:beforeDestroy");
9727
9787
  }
@@ -9826,8 +9886,8 @@ If you want to remount the same app, move your app creation logic into a factory
9826
9886
  effect.flags |= 32;
9827
9887
  job.flags |= 4;
9828
9888
  } else {
9829
- effect.flags &= ~32;
9830
- job.flags &= ~4;
9889
+ effect.flags &= -33;
9890
+ job.flags &= -5;
9831
9891
  }
9832
9892
  }
9833
9893
  function needTransition(parentSuspense, transition) {
@@ -9854,6 +9914,9 @@ If you want to remount the same app, move your app creation logic into a factory
9854
9914
  if (c2.type === Comment && !c2.el) {
9855
9915
  c2.el = c1.el;
9856
9916
  }
9917
+ {
9918
+ c2.el && (c2.el.__vnode = c2);
9919
+ }
9857
9920
  }
9858
9921
  }
9859
9922
  }
@@ -11256,8 +11319,8 @@ If you want to remount the same app, move your app creation logic into a factory
11256
11319
  if (n2.shapeFlag & 6 && n1.component) {
11257
11320
  const dirtyInstances = hmrDirtyComponents.get(n2.type);
11258
11321
  if (dirtyInstances && dirtyInstances.has(n1.component)) {
11259
- n1.shapeFlag &= ~256;
11260
- n2.shapeFlag &= ~512;
11322
+ n1.shapeFlag &= -257;
11323
+ n2.shapeFlag &= -513;
11261
11324
  return false;
11262
11325
  }
11263
11326
  }
@@ -11716,7 +11779,7 @@ Component that was made reactive: `,
11716
11779
  const { props, children } = instance.vnode;
11717
11780
  const isStateful = isStatefulComponent(instance);
11718
11781
  initProps(instance, props, isStateful, isSSR);
11719
- initSlots(instance, children, optimized);
11782
+ initSlots(instance, children, optimized || isSSR);
11720
11783
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
11721
11784
  isSSR && setInSSRSetupState(false);
11722
11785
  return setupResult;
@@ -12057,13 +12120,15 @@ Component that was made reactive: `,
12057
12120
  if (obj.__isVue) {
12058
12121
  return ["div", vueStyle, `VueInstance`];
12059
12122
  } else if (isRef(obj)) {
12123
+ pauseTracking();
12124
+ const value = obj.value;
12125
+ resetTracking();
12060
12126
  return [
12061
12127
  "div",
12062
12128
  {},
12063
12129
  ["span", vueStyle, genRefFlag(obj)],
12064
12130
  "<",
12065
- // avoid debugger accessing value affecting behavior
12066
- formatValue("_value" in obj ? obj._value : obj),
12131
+ formatValue(value),
12067
12132
  `>`
12068
12133
  ];
12069
12134
  } else if (isReactive(obj)) {
@@ -12244,7 +12309,7 @@ Component that was made reactive: `,
12244
12309
  return true;
12245
12310
  }
12246
12311
 
12247
- const version = "3.5.13";
12312
+ const version = "3.5.15";
12248
12313
  const warn = warn$1 ;
12249
12314
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12250
12315
  const devtools = devtools$1 ;
@@ -12925,7 +12990,7 @@ Component that was made reactive: `,
12925
12990
  el.setAttribute(key, v2CoercedValue);
12926
12991
  return true;
12927
12992
  }
12928
- } else if (value === false && !isSpecialBooleanAttr(key) && compatUtils.isCompatEnabled("ATTR_FALSE_VALUE", instance)) {
12993
+ } else if (value === false && !(el.tagName === "INPUT" && key === "value") && !isSpecialBooleanAttr(key) && compatUtils.isCompatEnabled("ATTR_FALSE_VALUE", instance)) {
12929
12994
  compatUtils.warnDeprecation(
12930
12995
  "ATTR_FALSE_VALUE",
12931
12996
  instance,
@@ -13131,7 +13196,7 @@ Expected function or array of functions, received type ${typeof value}.`
13131
13196
  }
13132
13197
  return false;
13133
13198
  }
13134
- if (key === "spellcheck" || key === "draggable" || key === "translate") {
13199
+ if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
13135
13200
  return false;
13136
13201
  }
13137
13202
  if (key === "form") {
@@ -13214,13 +13279,10 @@ Expected function or array of functions, received type ${typeof value}.`
13214
13279
  this._root = this;
13215
13280
  }
13216
13281
  }
13217
- if (!this._def.__asyncLoader) {
13218
- this._resolveProps(this._def);
13219
- }
13220
13282
  }
13221
13283
  connectedCallback() {
13222
13284
  if (!this.isConnected) return;
13223
- if (!this.shadowRoot) {
13285
+ if (!this.shadowRoot && !this._resolved) {
13224
13286
  this._parseSlots();
13225
13287
  }
13226
13288
  this._connected = true;
@@ -13233,8 +13295,7 @@ Expected function or array of functions, received type ${typeof value}.`
13233
13295
  }
13234
13296
  if (!this._instance) {
13235
13297
  if (this._resolved) {
13236
- this._setParent();
13237
- this._update();
13298
+ this._mount(this._def);
13238
13299
  } else {
13239
13300
  if (parent && parent._pendingResolve) {
13240
13301
  this._pendingResolve = parent._pendingResolve.then(() => {
@@ -13250,7 +13311,15 @@ Expected function or array of functions, received type ${typeof value}.`
13250
13311
  _setParent(parent = this._parent) {
13251
13312
  if (parent) {
13252
13313
  this._instance.parent = parent._instance;
13253
- this._instance.provides = parent._instance.provides;
13314
+ this._inheritParentContext(parent);
13315
+ }
13316
+ }
13317
+ _inheritParentContext(parent = this._parent) {
13318
+ if (parent && this._app) {
13319
+ Object.setPrototypeOf(
13320
+ this._app._context.provides,
13321
+ parent._instance.provides
13322
+ );
13254
13323
  }
13255
13324
  }
13256
13325
  disconnectedCallback() {
@@ -13300,9 +13369,7 @@ Expected function or array of functions, received type ${typeof value}.`
13300
13369
  }
13301
13370
  }
13302
13371
  this._numberProps = numberProps;
13303
- if (isAsync) {
13304
- this._resolveProps(def);
13305
- }
13372
+ this._resolveProps(def);
13306
13373
  if (this.shadowRoot) {
13307
13374
  this._applyStyles(styles);
13308
13375
  } else if (styles) {
@@ -13326,6 +13393,7 @@ Expected function or array of functions, received type ${typeof value}.`
13326
13393
  def.name = "VueElement";
13327
13394
  }
13328
13395
  this._app = this._createApp(def);
13396
+ this._inheritParentContext();
13329
13397
  if (def.configureApp) {
13330
13398
  def.configureApp(this._app);
13331
13399
  }
@@ -13410,7 +13478,9 @@ Expected function or array of functions, received type ${typeof value}.`
13410
13478
  }
13411
13479
  }
13412
13480
  _update() {
13413
- render(this._createVNode(), this._root);
13481
+ const vnode = this._createVNode();
13482
+ if (this._app) vnode.appContext = this._app._context;
13483
+ render(vnode, this._root);
13414
13484
  }
13415
13485
  _createVNode() {
13416
13486
  const baseProps = {};
@@ -13611,6 +13681,7 @@ Expected function or array of functions, received type ${typeof value}.`
13611
13681
  instance.vnode.el,
13612
13682
  moveClass
13613
13683
  )) {
13684
+ prevChildren = [];
13614
13685
  return;
13615
13686
  }
13616
13687
  prevChildren.forEach(callPendingCbs);
@@ -13634,6 +13705,7 @@ Expected function or array of functions, received type ${typeof value}.`
13634
13705
  };
13635
13706
  el.addEventListener("transitionend", cb);
13636
13707
  });
13708
+ prevChildren = [];
13637
13709
  });
13638
13710
  return () => {
13639
13711
  const rawProps = toRaw(props);
@@ -16090,7 +16162,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16090
16162
  "COMPILER_V_BIND_SYNC",
16091
16163
  currentOptions,
16092
16164
  currentProp.loc,
16093
- currentProp.rawName
16165
+ currentProp.arg.loc.source
16094
16166
  )) {
16095
16167
  currentProp.name = "model";
16096
16168
  currentProp.modifiers.splice(syncIndex, 1);
@@ -16666,6 +16738,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16666
16738
  }
16667
16739
  }
16668
16740
  let cachedAsArray = false;
16741
+ const slotCacheKeys = [];
16669
16742
  if (toCache.length === children.length && node.type === 1) {
16670
16743
  if (node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray(node.codegenNode.children)) {
16671
16744
  node.codegenNode.children = getCacheExpression(
@@ -16675,6 +16748,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16675
16748
  } else if (node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) {
16676
16749
  const slot = getSlotNode(node.codegenNode, "default");
16677
16750
  if (slot) {
16751
+ slotCacheKeys.push(context.cached.length);
16678
16752
  slot.returns = getCacheExpression(
16679
16753
  createArrayExpression(slot.returns)
16680
16754
  );
@@ -16684,6 +16758,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16684
16758
  const slotName = findDir(node, "slot", true);
16685
16759
  const slot = slotName && slotName.arg && getSlotNode(parent.codegenNode, slotName.arg);
16686
16760
  if (slot) {
16761
+ slotCacheKeys.push(context.cached.length);
16687
16762
  slot.returns = getCacheExpression(
16688
16763
  createArrayExpression(slot.returns)
16689
16764
  );
@@ -16693,9 +16768,18 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16693
16768
  }
16694
16769
  if (!cachedAsArray) {
16695
16770
  for (const child of toCache) {
16771
+ slotCacheKeys.push(context.cached.length);
16696
16772
  child.codegenNode = context.cache(child.codegenNode);
16697
16773
  }
16698
16774
  }
16775
+ if (slotCacheKeys.length && node.type === 1 && node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) {
16776
+ node.codegenNode.children.properties.push(
16777
+ createObjectProperty(
16778
+ `__`,
16779
+ createSimpleExpression(JSON.stringify(slotCacheKeys), false)
16780
+ )
16781
+ );
16782
+ }
16699
16783
  function getCacheExpression(value) {
16700
16784
  const exp = context.cache(value);
16701
16785
  if (inFor && context.hmr) {
@@ -18856,9 +18940,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18856
18940
  hasDynamicKeys = true;
18857
18941
  if (exp) {
18858
18942
  if (isVBind) {
18859
- pushRefVForMarker();
18860
- pushMergeArg();
18861
18943
  {
18944
+ pushMergeArg();
18862
18945
  {
18863
18946
  const hasOverridableKeys = mergeArgs.some((arg2) => {
18864
18947
  if (arg2.type === 15) {
@@ -18888,6 +18971,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18888
18971
  continue;
18889
18972
  }
18890
18973
  }
18974
+ pushRefVForMarker();
18975
+ pushMergeArg();
18891
18976
  mergeArgs.push(exp);
18892
18977
  } else {
18893
18978
  pushMergeArg({
@@ -19396,8 +19481,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
19396
19481
  context.onError(createCompilerError(44, exp.loc));
19397
19482
  return createTransformProps();
19398
19483
  }
19399
- const maybeRef = false;
19400
- if (!expString.trim() || !isMemberExpression(exp) && !maybeRef) {
19484
+ if (!expString.trim() || !isMemberExpression(exp) && true) {
19401
19485
  context.onError(
19402
19486
  createCompilerError(42, exp.loc)
19403
19487
  );
@@ -20121,6 +20205,9 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20121
20205
  };
20122
20206
 
20123
20207
  function isValidHTMLNesting(parent, child) {
20208
+ if (parent === "template") {
20209
+ return true;
20210
+ }
20124
20211
  if (parent in onlyValidChildren) {
20125
20212
  return onlyValidChildren[parent].has(child);
20126
20213
  }