@vue/runtime-dom 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/runtime-dom v3.5.13
2
+ * @vue/runtime-dom 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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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 VueRuntimeDOM = (function (exports) {
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;
@@ -2993,15 +3003,16 @@ var VueRuntimeDOM = (function (exports) {
2993
3003
  updateCssVars(n2, true);
2994
3004
  }
2995
3005
  if (isTeleportDeferred(n2.props)) {
3006
+ n2.el.__isMounted = false;
2996
3007
  queuePostRenderEffect(() => {
2997
3008
  mountToTarget();
2998
- n2.el.__isMounted = true;
3009
+ delete n2.el.__isMounted;
2999
3010
  }, parentSuspense);
3000
3011
  } else {
3001
3012
  mountToTarget();
3002
3013
  }
3003
3014
  } else {
3004
- if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
3015
+ if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {
3005
3016
  queuePostRenderEffect(() => {
3006
3017
  TeleportImpl.process(
3007
3018
  n1,
@@ -3015,7 +3026,6 @@ var VueRuntimeDOM = (function (exports) {
3015
3026
  optimized,
3016
3027
  internals
3017
3028
  );
3018
- delete n1.el.__isMounted;
3019
3029
  }, parentSuspense);
3020
3030
  return;
3021
3031
  }
@@ -3042,7 +3052,7 @@ var VueRuntimeDOM = (function (exports) {
3042
3052
  namespace,
3043
3053
  slotScopeIds
3044
3054
  );
3045
- traverseStaticChildren(n1, n2, true);
3055
+ traverseStaticChildren(n1, n2, false);
3046
3056
  } else if (!optimized) {
3047
3057
  patchChildren(
3048
3058
  n1,
@@ -4003,6 +4013,8 @@ var VueRuntimeDOM = (function (exports) {
4003
4013
  ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;
4004
4014
  const content = el.content.firstChild;
4005
4015
  if (needCallTransitionHooks) {
4016
+ const cls = content.getAttribute("class");
4017
+ if (cls) content.$cls = cls;
4006
4018
  transition.beforeEnter(content);
4007
4019
  }
4008
4020
  replaceNode(content, el, parentComponent);
@@ -4255,7 +4267,12 @@ Server rendered element contains fewer child nodes than client vdom.`
4255
4267
  let actual;
4256
4268
  let expected;
4257
4269
  if (key === "class") {
4258
- actual = el.getAttribute("class");
4270
+ if (el.$cls) {
4271
+ actual = el.$cls;
4272
+ delete el.$cls;
4273
+ } else {
4274
+ actual = el.getAttribute("class");
4275
+ }
4259
4276
  expected = normalizeClass(clientValue);
4260
4277
  if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) {
4261
4278
  mismatchType = 2 /* CLASS */;
@@ -4550,14 +4567,25 @@ Server rendered element contains fewer child nodes than client vdom.`
4550
4567
  name: "AsyncComponentWrapper",
4551
4568
  __asyncLoader: load,
4552
4569
  __asyncHydrate(el, instance, hydrate) {
4570
+ let patched = false;
4553
4571
  const doHydrate = hydrateStrategy ? () => {
4572
+ const performHydrate = () => {
4573
+ if (patched) {
4574
+ warn$1(
4575
+ `Skipping lazy hydration for component '${getComponentName(resolvedComp)}': it was updated before lazy hydration performed.`
4576
+ );
4577
+ return;
4578
+ }
4579
+ hydrate();
4580
+ };
4554
4581
  const teardown = hydrateStrategy(
4555
- hydrate,
4582
+ performHydrate,
4556
4583
  (cb) => forEachElement(el, cb)
4557
4584
  );
4558
4585
  if (teardown) {
4559
4586
  (instance.bum || (instance.bum = [])).push(teardown);
4560
4587
  }
4588
+ (instance.u || (instance.u = [])).push(() => patched = true);
4561
4589
  } : hydrate;
4562
4590
  if (resolvedComp) {
4563
4591
  doHydrate();
@@ -4721,6 +4749,9 @@ Server rendered element contains fewer child nodes than client vdom.`
4721
4749
  {
4722
4750
  devtoolsComponentAdded(instance2);
4723
4751
  }
4752
+ {
4753
+ instance2.__keepAliveStorageContainer = storageContainer;
4754
+ }
4724
4755
  };
4725
4756
  function unmount(vnode) {
4726
4757
  resetShapeFlag(vnode);
@@ -4808,7 +4839,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4808
4839
  );
4809
4840
  const { include, exclude, max } = props;
4810
4841
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
4811
- vnode.shapeFlag &= ~256;
4842
+ vnode.shapeFlag &= -257;
4812
4843
  current = vnode;
4813
4844
  return rawVNode;
4814
4845
  }
@@ -4895,8 +4926,8 @@ Server rendered element contains fewer child nodes than client vdom.`
4895
4926
  }, target);
4896
4927
  }
4897
4928
  function resetShapeFlag(vnode) {
4898
- vnode.shapeFlag &= ~256;
4899
- vnode.shapeFlag &= ~512;
4929
+ vnode.shapeFlag &= -257;
4930
+ vnode.shapeFlag &= -513;
4900
4931
  }
4901
4932
  function getInnerChild(vnode) {
4902
4933
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -5011,14 +5042,16 @@ If this is a native custom element, make sure to exclude it from component resol
5011
5042
  if (sourceIsArray || isString(source)) {
5012
5043
  const sourceIsReactiveArray = sourceIsArray && isReactive(source);
5013
5044
  let needsWrap = false;
5045
+ let isReadonlySource = false;
5014
5046
  if (sourceIsReactiveArray) {
5015
5047
  needsWrap = !isShallow(source);
5048
+ isReadonlySource = isReadonly(source);
5016
5049
  source = shallowReadArray(source);
5017
5050
  }
5018
5051
  ret = new Array(source.length);
5019
5052
  for (let i = 0, l = source.length; i < l; i++) {
5020
5053
  ret[i] = renderItem(
5021
- needsWrap ? toReactive(source[i]) : source[i],
5054
+ needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],
5022
5055
  i,
5023
5056
  void 0,
5024
5057
  cached && cached[i]
@@ -6037,11 +6070,9 @@ If this is a native custom element, make sure to exclude it from component resol
6037
6070
  }
6038
6071
  {
6039
6072
  context.reload = () => {
6040
- render(
6041
- cloneVNode(vnode),
6042
- rootContainer,
6043
- namespace
6044
- );
6073
+ const cloned = cloneVNode(vnode);
6074
+ cloned.el = null;
6075
+ render(cloned, rootContainer, namespace);
6045
6076
  };
6046
6077
  }
6047
6078
  if (isHydrate && hydrate) {
@@ -6091,9 +6122,15 @@ If you want to remount the same app, move your app creation logic into a factory
6091
6122
  },
6092
6123
  provide(key, value) {
6093
6124
  if (key in context.provides) {
6094
- warn$1(
6095
- `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
6096
- );
6125
+ if (hasOwn(context.provides, key)) {
6126
+ warn$1(
6127
+ `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
6128
+ );
6129
+ } else {
6130
+ warn$1(
6131
+ `App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`
6132
+ );
6133
+ }
6097
6134
  }
6098
6135
  context.provides[key] = value;
6099
6136
  return app;
@@ -6130,7 +6167,7 @@ If you want to remount the same app, move your app creation logic into a factory
6130
6167
  function inject(key, defaultValue, treatDefaultAsFactory = false) {
6131
6168
  const instance = currentInstance || currentRenderingInstance;
6132
6169
  if (instance || currentApp) {
6133
- const provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
6170
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
6134
6171
  if (provides && key in provides) {
6135
6172
  return provides[key];
6136
6173
  } else if (arguments.length > 1) {
@@ -6564,7 +6601,7 @@ If you want to remount the same app, move your app creation logic into a factory
6564
6601
  return rawSlot;
6565
6602
  }
6566
6603
  const normalized = withCtx((...args) => {
6567
- if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
6604
+ if (currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {
6568
6605
  warn$1(
6569
6606
  `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.`
6570
6607
  );
@@ -6603,7 +6640,7 @@ If you want to remount the same app, move your app creation logic into a factory
6603
6640
  };
6604
6641
  const assignSlots = (slots, children, optimized) => {
6605
6642
  for (const key in children) {
6606
- if (optimized || key !== "_") {
6643
+ if (optimized || !isInternalKey(key)) {
6607
6644
  slots[key] = children[key];
6608
6645
  }
6609
6646
  }
@@ -7127,7 +7164,7 @@ If you want to remount the same app, move your app creation logic into a factory
7127
7164
  (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
7128
7165
  // which also requires the correct parent container
7129
7166
  !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
7130
- oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (
7167
+ oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldVNode.el) : (
7131
7168
  // In other cases, the parent container is not actually used so we
7132
7169
  // just pass the block element here to avoid a DOM parentNode call.
7133
7170
  fallbackContainer
@@ -7289,8 +7326,8 @@ If you want to remount the same app, move your app creation logic into a factory
7289
7326
  endMeasure(instance, `init`);
7290
7327
  }
7291
7328
  }
7329
+ if (isHmrUpdating) initialVNode.el = null;
7292
7330
  if (instance.asyncDep) {
7293
- if (isHmrUpdating) initialVNode.el = null;
7294
7331
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
7295
7332
  if (!initialVNode.el) {
7296
7333
  const placeholder = instance.subTree = createVNode(Comment);
@@ -7852,7 +7889,13 @@ If you want to remount the same app, move your app creation logic into a factory
7852
7889
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
7853
7890
  } else {
7854
7891
  const { leave, delayLeave, afterLeave } = transition;
7855
- const remove2 = () => hostInsert(el, container, anchor);
7892
+ const remove2 = () => {
7893
+ if (vnode.ctx.isUnmounted) {
7894
+ hostRemove(el);
7895
+ } else {
7896
+ hostInsert(el, container, anchor);
7897
+ }
7898
+ };
7856
7899
  const performLeave = () => {
7857
7900
  leave(el, () => {
7858
7901
  remove2();
@@ -7885,7 +7928,9 @@ If you want to remount the same app, move your app creation logic into a factory
7885
7928
  optimized = false;
7886
7929
  }
7887
7930
  if (ref != null) {
7931
+ pauseTracking();
7888
7932
  setRef(ref, null, parentSuspense, vnode, true);
7933
+ resetTracking();
7889
7934
  }
7890
7935
  if (cacheIndex != null) {
7891
7936
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -7997,12 +8042,27 @@ If you want to remount the same app, move your app creation logic into a factory
7997
8042
  if (instance.type.__hmrId) {
7998
8043
  unregisterHMR(instance);
7999
8044
  }
8000
- const { bum, scope, job, subTree, um, m, a } = instance;
8045
+ const {
8046
+ bum,
8047
+ scope,
8048
+ job,
8049
+ subTree,
8050
+ um,
8051
+ m,
8052
+ a,
8053
+ parent,
8054
+ slots: { __: slotCacheKeys }
8055
+ } = instance;
8001
8056
  invalidateMount(m);
8002
8057
  invalidateMount(a);
8003
8058
  if (bum) {
8004
8059
  invokeArrayFns(bum);
8005
8060
  }
8061
+ if (parent && isArray(slotCacheKeys)) {
8062
+ slotCacheKeys.forEach((v) => {
8063
+ parent.renderCache[v] = void 0;
8064
+ });
8065
+ }
8006
8066
  scope.stop();
8007
8067
  if (job) {
8008
8068
  job.flags |= 8;
@@ -8098,8 +8158,8 @@ If you want to remount the same app, move your app creation logic into a factory
8098
8158
  effect.flags |= 32;
8099
8159
  job.flags |= 4;
8100
8160
  } else {
8101
- effect.flags &= ~32;
8102
- job.flags &= ~4;
8161
+ effect.flags &= -33;
8162
+ job.flags &= -5;
8103
8163
  }
8104
8164
  }
8105
8165
  function needTransition(parentSuspense, transition) {
@@ -8126,6 +8186,9 @@ If you want to remount the same app, move your app creation logic into a factory
8126
8186
  if (c2.type === Comment && !c2.el) {
8127
8187
  c2.el = c1.el;
8128
8188
  }
8189
+ {
8190
+ c2.el && (c2.el.__vnode = c2);
8191
+ }
8129
8192
  }
8130
8193
  }
8131
8194
  }
@@ -9443,8 +9506,8 @@ If you want to remount the same app, move your app creation logic into a factory
9443
9506
  if (n2.shapeFlag & 6 && n1.component) {
9444
9507
  const dirtyInstances = hmrDirtyComponents.get(n2.type);
9445
9508
  if (dirtyInstances && dirtyInstances.has(n1.component)) {
9446
- n1.shapeFlag &= ~256;
9447
- n2.shapeFlag &= ~512;
9509
+ n1.shapeFlag &= -257;
9510
+ n2.shapeFlag &= -513;
9448
9511
  return false;
9449
9512
  }
9450
9513
  }
@@ -9893,7 +9956,7 @@ Component that was made reactive: `,
9893
9956
  const { props, children } = instance.vnode;
9894
9957
  const isStateful = isStatefulComponent(instance);
9895
9958
  initProps(instance, props, isStateful, isSSR);
9896
- initSlots(instance, children, optimized);
9959
+ initSlots(instance, children, optimized || isSSR);
9897
9960
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
9898
9961
  isSSR && setInSSRSetupState(false);
9899
9962
  return setupResult;
@@ -10222,13 +10285,15 @@ Component that was made reactive: `,
10222
10285
  if (obj.__isVue) {
10223
10286
  return ["div", vueStyle, `VueInstance`];
10224
10287
  } else if (isRef(obj)) {
10288
+ pauseTracking();
10289
+ const value = obj.value;
10290
+ resetTracking();
10225
10291
  return [
10226
10292
  "div",
10227
10293
  {},
10228
10294
  ["span", vueStyle, genRefFlag(obj)],
10229
10295
  "<",
10230
- // avoid debugger accessing value affecting behavior
10231
- formatValue("_value" in obj ? obj._value : obj),
10296
+ formatValue(value),
10232
10297
  `>`
10233
10298
  ];
10234
10299
  } else if (isReactive(obj)) {
@@ -10409,7 +10474,7 @@ Component that was made reactive: `,
10409
10474
  return true;
10410
10475
  }
10411
10476
 
10412
- const version = "3.5.13";
10477
+ const version = "3.5.15";
10413
10478
  const warn = warn$1 ;
10414
10479
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10415
10480
  const devtools = devtools$1 ;
@@ -11208,7 +11273,7 @@ Expected function or array of functions, received type ${typeof value}.`
11208
11273
  }
11209
11274
  return false;
11210
11275
  }
11211
- if (key === "spellcheck" || key === "draggable" || key === "translate") {
11276
+ if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
11212
11277
  return false;
11213
11278
  }
11214
11279
  if (key === "form") {
@@ -11291,13 +11356,10 @@ Expected function or array of functions, received type ${typeof value}.`
11291
11356
  this._root = this;
11292
11357
  }
11293
11358
  }
11294
- if (!this._def.__asyncLoader) {
11295
- this._resolveProps(this._def);
11296
- }
11297
11359
  }
11298
11360
  connectedCallback() {
11299
11361
  if (!this.isConnected) return;
11300
- if (!this.shadowRoot) {
11362
+ if (!this.shadowRoot && !this._resolved) {
11301
11363
  this._parseSlots();
11302
11364
  }
11303
11365
  this._connected = true;
@@ -11310,8 +11372,7 @@ Expected function or array of functions, received type ${typeof value}.`
11310
11372
  }
11311
11373
  if (!this._instance) {
11312
11374
  if (this._resolved) {
11313
- this._setParent();
11314
- this._update();
11375
+ this._mount(this._def);
11315
11376
  } else {
11316
11377
  if (parent && parent._pendingResolve) {
11317
11378
  this._pendingResolve = parent._pendingResolve.then(() => {
@@ -11327,7 +11388,15 @@ Expected function or array of functions, received type ${typeof value}.`
11327
11388
  _setParent(parent = this._parent) {
11328
11389
  if (parent) {
11329
11390
  this._instance.parent = parent._instance;
11330
- this._instance.provides = parent._instance.provides;
11391
+ this._inheritParentContext(parent);
11392
+ }
11393
+ }
11394
+ _inheritParentContext(parent = this._parent) {
11395
+ if (parent && this._app) {
11396
+ Object.setPrototypeOf(
11397
+ this._app._context.provides,
11398
+ parent._instance.provides
11399
+ );
11331
11400
  }
11332
11401
  }
11333
11402
  disconnectedCallback() {
@@ -11377,9 +11446,7 @@ Expected function or array of functions, received type ${typeof value}.`
11377
11446
  }
11378
11447
  }
11379
11448
  this._numberProps = numberProps;
11380
- if (isAsync) {
11381
- this._resolveProps(def);
11382
- }
11449
+ this._resolveProps(def);
11383
11450
  if (this.shadowRoot) {
11384
11451
  this._applyStyles(styles);
11385
11452
  } else if (styles) {
@@ -11403,6 +11470,7 @@ Expected function or array of functions, received type ${typeof value}.`
11403
11470
  def.name = "VueElement";
11404
11471
  }
11405
11472
  this._app = this._createApp(def);
11473
+ this._inheritParentContext();
11406
11474
  if (def.configureApp) {
11407
11475
  def.configureApp(this._app);
11408
11476
  }
@@ -11487,7 +11555,9 @@ Expected function or array of functions, received type ${typeof value}.`
11487
11555
  }
11488
11556
  }
11489
11557
  _update() {
11490
- render(this._createVNode(), this._root);
11558
+ const vnode = this._createVNode();
11559
+ if (this._app) vnode.appContext = this._app._context;
11560
+ render(vnode, this._root);
11491
11561
  }
11492
11562
  _createVNode() {
11493
11563
  const baseProps = {};
@@ -11685,6 +11755,7 @@ Expected function or array of functions, received type ${typeof value}.`
11685
11755
  instance.vnode.el,
11686
11756
  moveClass
11687
11757
  )) {
11758
+ prevChildren = [];
11688
11759
  return;
11689
11760
  }
11690
11761
  prevChildren.forEach(callPendingCbs);
@@ -11708,6 +11779,7 @@ Expected function or array of functions, received type ${typeof value}.`
11708
11779
  };
11709
11780
  el.addEventListener("transitionend", cb);
11710
11781
  });
11782
+ prevChildren = [];
11711
11783
  });
11712
11784
  return () => {
11713
11785
  const rawProps = toRaw(props);