@vue/compat 3.5.26 → 3.5.28

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.26
2
+ * @vue/compat v3.5.28
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -407,6 +407,7 @@ function warn$2(msg, ...args) {
407
407
 
408
408
  let activeEffectScope;
409
409
  class EffectScope {
410
+ // TODO isolatedDeclarations "__v_skip"
410
411
  constructor(detached = false) {
411
412
  this.detached = detached;
412
413
  /**
@@ -426,6 +427,7 @@ class EffectScope {
426
427
  */
427
428
  this.cleanups = [];
428
429
  this._isPaused = false;
430
+ this.__v_skip = true;
429
431
  this.parent = activeEffectScope;
430
432
  if (!detached && activeEffectScope) {
431
433
  this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
@@ -1491,20 +1493,20 @@ function createIterableMethod(method, isReadonly2, isShallow2) {
1491
1493
  "iterate",
1492
1494
  isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
1493
1495
  );
1494
- return {
1495
- // iterator protocol
1496
- next() {
1497
- const { value, done } = innerIterator.next();
1498
- return done ? { value, done } : {
1499
- value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
1500
- done
1501
- };
1502
- },
1503
- // iterable protocol
1504
- [Symbol.iterator]() {
1505
- return this;
1496
+ return extend(
1497
+ // inheriting all iterator properties
1498
+ Object.create(innerIterator),
1499
+ {
1500
+ // iterator protocol
1501
+ next() {
1502
+ const { value, done } = innerIterator.next();
1503
+ return done ? { value, done } : {
1504
+ value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
1505
+ done
1506
+ };
1507
+ }
1506
1508
  }
1507
- };
1509
+ );
1508
1510
  };
1509
1511
  }
1510
1512
  function createReadonlyMethod(type) {
@@ -1718,8 +1720,9 @@ function targetTypeMap(rawType) {
1718
1720
  function getTargetType(value) {
1719
1721
  return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
1720
1722
  }
1723
+ // @__NO_SIDE_EFFECTS__
1721
1724
  function reactive(target) {
1722
- if (isReadonly(target)) {
1725
+ if (/* @__PURE__ */ isReadonly(target)) {
1723
1726
  return target;
1724
1727
  }
1725
1728
  return createReactiveObject(
@@ -1730,6 +1733,7 @@ function reactive(target) {
1730
1733
  reactiveMap
1731
1734
  );
1732
1735
  }
1736
+ // @__NO_SIDE_EFFECTS__
1733
1737
  function shallowReactive(target) {
1734
1738
  return createReactiveObject(
1735
1739
  target,
@@ -1739,6 +1743,7 @@ function shallowReactive(target) {
1739
1743
  shallowReactiveMap
1740
1744
  );
1741
1745
  }
1746
+ // @__NO_SIDE_EFFECTS__
1742
1747
  function readonly(target) {
1743
1748
  return createReactiveObject(
1744
1749
  target,
@@ -1748,6 +1753,7 @@ function readonly(target) {
1748
1753
  readonlyMap
1749
1754
  );
1750
1755
  }
1756
+ // @__NO_SIDE_EFFECTS__
1751
1757
  function shallowReadonly(target) {
1752
1758
  return createReactiveObject(
1753
1759
  target,
@@ -1786,24 +1792,29 @@ function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandl
1786
1792
  proxyMap.set(target, proxy);
1787
1793
  return proxy;
1788
1794
  }
1795
+ // @__NO_SIDE_EFFECTS__
1789
1796
  function isReactive(value) {
1790
- if (isReadonly(value)) {
1791
- return isReactive(value["__v_raw"]);
1797
+ if (/* @__PURE__ */ isReadonly(value)) {
1798
+ return /* @__PURE__ */ isReactive(value["__v_raw"]);
1792
1799
  }
1793
1800
  return !!(value && value["__v_isReactive"]);
1794
1801
  }
1802
+ // @__NO_SIDE_EFFECTS__
1795
1803
  function isReadonly(value) {
1796
1804
  return !!(value && value["__v_isReadonly"]);
1797
1805
  }
1806
+ // @__NO_SIDE_EFFECTS__
1798
1807
  function isShallow(value) {
1799
1808
  return !!(value && value["__v_isShallow"]);
1800
1809
  }
1810
+ // @__NO_SIDE_EFFECTS__
1801
1811
  function isProxy(value) {
1802
1812
  return value ? !!value["__v_raw"] : false;
1803
1813
  }
1814
+ // @__NO_SIDE_EFFECTS__
1804
1815
  function toRaw(observed) {
1805
1816
  const raw = observed && observed["__v_raw"];
1806
- return raw ? toRaw(raw) : observed;
1817
+ return raw ? /* @__PURE__ */ toRaw(raw) : observed;
1807
1818
  }
1808
1819
  function markRaw(value) {
1809
1820
  if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) {
@@ -1811,20 +1822,23 @@ function markRaw(value) {
1811
1822
  }
1812
1823
  return value;
1813
1824
  }
1814
- const toReactive = (value) => isObject(value) ? reactive(value) : value;
1815
- const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1825
+ const toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value;
1826
+ const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
1816
1827
 
1828
+ // @__NO_SIDE_EFFECTS__
1817
1829
  function isRef(r) {
1818
1830
  return r ? r["__v_isRef"] === true : false;
1819
1831
  }
1832
+ // @__NO_SIDE_EFFECTS__
1820
1833
  function ref(value) {
1821
1834
  return createRef(value, false);
1822
1835
  }
1836
+ // @__NO_SIDE_EFFECTS__
1823
1837
  function shallowRef(value) {
1824
1838
  return createRef(value, true);
1825
1839
  }
1826
1840
  function createRef(rawValue, shallow) {
1827
- if (isRef(rawValue)) {
1841
+ if (/* @__PURE__ */ isRef(rawValue)) {
1828
1842
  return rawValue;
1829
1843
  }
1830
1844
  return new RefImpl(rawValue, shallow);
@@ -1880,7 +1894,7 @@ function triggerRef(ref2) {
1880
1894
  }
1881
1895
  }
1882
1896
  function unref(ref2) {
1883
- return isRef(ref2) ? ref2.value : ref2;
1897
+ return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2;
1884
1898
  }
1885
1899
  function toValue(source) {
1886
1900
  return isFunction(source) ? source() : unref(source);
@@ -1889,7 +1903,7 @@ const shallowUnwrapHandlers = {
1889
1903
  get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)),
1890
1904
  set: (target, key, value, receiver) => {
1891
1905
  const oldValue = target[key];
1892
- if (isRef(oldValue) && !isRef(value)) {
1906
+ if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
1893
1907
  oldValue.value = value;
1894
1908
  return true;
1895
1909
  } else {
@@ -1919,6 +1933,7 @@ class CustomRefImpl {
1919
1933
  function customRef(factory) {
1920
1934
  return new CustomRefImpl(factory);
1921
1935
  }
1936
+ // @__NO_SIDE_EFFECTS__
1922
1937
  function toRefs(object) {
1923
1938
  if (!isProxy(object)) {
1924
1939
  warn$2(`toRefs() expects a reactive object but received a plain one.`);
@@ -1954,9 +1969,9 @@ class ObjectRefImpl {
1954
1969
  return this._value = val === void 0 ? this._defaultValue : val;
1955
1970
  }
1956
1971
  set value(newVal) {
1957
- if (this._shallow && isRef(this._raw[this._key])) {
1972
+ if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) {
1958
1973
  const nestedRef = this._object[this._key];
1959
- if (isRef(nestedRef)) {
1974
+ if (/* @__PURE__ */ isRef(nestedRef)) {
1960
1975
  nestedRef.value = newVal;
1961
1976
  return;
1962
1977
  }
@@ -1978,15 +1993,16 @@ class GetterRefImpl {
1978
1993
  return this._value = this._getter();
1979
1994
  }
1980
1995
  }
1996
+ // @__NO_SIDE_EFFECTS__
1981
1997
  function toRef(source, key, defaultValue) {
1982
- if (isRef(source)) {
1998
+ if (/* @__PURE__ */ isRef(source)) {
1983
1999
  return source;
1984
2000
  } else if (isFunction(source)) {
1985
2001
  return new GetterRefImpl(source);
1986
2002
  } else if (isObject(source) && arguments.length > 1) {
1987
2003
  return propertyToRef(source, key, defaultValue);
1988
2004
  } else {
1989
- return ref(source);
2005
+ return /* @__PURE__ */ ref(source);
1990
2006
  }
1991
2007
  }
1992
2008
  function propertyToRef(source, key, defaultValue) {
@@ -2067,6 +2083,7 @@ class ComputedRefImpl {
2067
2083
  }
2068
2084
  }
2069
2085
  }
2086
+ // @__NO_SIDE_EFFECTS__
2070
2087
  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
2071
2088
  let getter;
2072
2089
  let setter;
@@ -3964,7 +3981,22 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3964
3981
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
3965
3982
  o: { nextSibling, parentNode, querySelector, insert, createText }
3966
3983
  }, hydrateChildren) {
3967
- function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
3984
+ function hydrateAnchor(target2, targetNode) {
3985
+ let targetAnchor = targetNode;
3986
+ while (targetAnchor) {
3987
+ if (targetAnchor && targetAnchor.nodeType === 8) {
3988
+ if (targetAnchor.data === "teleport start anchor") {
3989
+ vnode.targetStart = targetAnchor;
3990
+ } else if (targetAnchor.data === "teleport anchor") {
3991
+ vnode.targetAnchor = targetAnchor;
3992
+ target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3993
+ break;
3994
+ }
3995
+ }
3996
+ targetAnchor = nextSibling(targetAnchor);
3997
+ }
3998
+ }
3999
+ function hydrateDisabledTeleport(node2, vnode2) {
3968
4000
  vnode2.anchor = hydrateChildren(
3969
4001
  nextSibling(node2),
3970
4002
  vnode2,
@@ -3974,8 +4006,6 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3974
4006
  slotScopeIds,
3975
4007
  optimized
3976
4008
  );
3977
- vnode2.targetStart = targetStart;
3978
- vnode2.targetAnchor = targetAnchor;
3979
4009
  }
3980
4010
  const target = vnode.target = resolveTarget(
3981
4011
  vnode.props,
@@ -3986,27 +4016,22 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3986
4016
  const targetNode = target._lpa || target.firstChild;
3987
4017
  if (vnode.shapeFlag & 16) {
3988
4018
  if (disabled) {
3989
- hydrateDisabledTeleport(
3990
- node,
3991
- vnode,
3992
- targetNode,
3993
- targetNode && nextSibling(targetNode)
3994
- );
4019
+ hydrateDisabledTeleport(node, vnode);
4020
+ hydrateAnchor(target, targetNode);
4021
+ if (!vnode.targetAnchor) {
4022
+ prepareAnchor(
4023
+ target,
4024
+ vnode,
4025
+ createText,
4026
+ insert,
4027
+ // if target is the same as the main view, insert anchors before current node
4028
+ // to avoid hydrating mismatch
4029
+ parentNode(node) === target ? node : null
4030
+ );
4031
+ }
3995
4032
  } else {
3996
4033
  vnode.anchor = nextSibling(node);
3997
- let targetAnchor = targetNode;
3998
- while (targetAnchor) {
3999
- if (targetAnchor && targetAnchor.nodeType === 8) {
4000
- if (targetAnchor.data === "teleport start anchor") {
4001
- vnode.targetStart = targetAnchor;
4002
- } else if (targetAnchor.data === "teleport anchor") {
4003
- vnode.targetAnchor = targetAnchor;
4004
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
4005
- break;
4006
- }
4007
- }
4008
- targetAnchor = nextSibling(targetAnchor);
4009
- }
4034
+ hydrateAnchor(target, targetNode);
4010
4035
  if (!vnode.targetAnchor) {
4011
4036
  prepareAnchor(target, vnode, createText, insert);
4012
4037
  }
@@ -4024,7 +4049,9 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
4024
4049
  updateCssVars(vnode, disabled);
4025
4050
  } else if (disabled) {
4026
4051
  if (vnode.shapeFlag & 16) {
4027
- hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
4052
+ hydrateDisabledTeleport(node, vnode);
4053
+ vnode.targetStart = node;
4054
+ vnode.targetAnchor = nextSibling(node);
4028
4055
  }
4029
4056
  }
4030
4057
  return vnode.anchor && nextSibling(vnode.anchor);
@@ -4048,13 +4075,13 @@ function updateCssVars(vnode, isDisabled) {
4048
4075
  ctx.ut();
4049
4076
  }
4050
4077
  }
4051
- function prepareAnchor(target, vnode, createText, insert) {
4078
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
4052
4079
  const targetStart = vnode.targetStart = createText("");
4053
4080
  const targetAnchor = vnode.targetAnchor = createText("");
4054
4081
  targetStart[TeleportEndKey] = targetAnchor;
4055
4082
  if (target) {
4056
- insert(targetStart, target);
4057
- insert(targetAnchor, target);
4083
+ insert(targetStart, target, anchor);
4084
+ insert(targetAnchor, target, anchor);
4058
4085
  }
4059
4086
  return targetAnchor;
4060
4087
  }
@@ -4292,7 +4319,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4292
4319
  }
4293
4320
  }
4294
4321
  let called = false;
4295
- const done = el[enterCbKey$1] = (cancelled) => {
4322
+ el[enterCbKey$1] = (cancelled) => {
4296
4323
  if (called) return;
4297
4324
  called = true;
4298
4325
  if (cancelled) {
@@ -4305,6 +4332,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4305
4332
  }
4306
4333
  el[enterCbKey$1] = void 0;
4307
4334
  };
4335
+ const done = el[enterCbKey$1].bind(null, false);
4308
4336
  if (hook) {
4309
4337
  callAsyncHook(hook, [el, done]);
4310
4338
  } else {
@@ -4324,7 +4352,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4324
4352
  }
4325
4353
  callHook(onBeforeLeave, [el]);
4326
4354
  let called = false;
4327
- const done = el[leaveCbKey] = (cancelled) => {
4355
+ el[leaveCbKey] = (cancelled) => {
4328
4356
  if (called) return;
4329
4357
  called = true;
4330
4358
  remove();
@@ -4338,6 +4366,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4338
4366
  delete leavingVNodesCache[key2];
4339
4367
  }
4340
4368
  };
4369
+ const done = el[leaveCbKey].bind(null, false);
4341
4370
  leavingVNodesCache[key2] = vnode;
4342
4371
  if (onLeave) {
4343
4372
  callAsyncHook(onLeave, [el, done]);
@@ -4450,8 +4479,7 @@ function useTemplateRef(key) {
4450
4479
  const r = shallowRef(null);
4451
4480
  if (i) {
4452
4481
  const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
4453
- let desc;
4454
- if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
4482
+ if (isTemplateRefKey(refs, key)) {
4455
4483
  warn$1(`useTemplateRef('${key}') already exists.`);
4456
4484
  } else {
4457
4485
  Object.defineProperty(refs, key, {
@@ -4471,6 +4499,10 @@ function useTemplateRef(key) {
4471
4499
  }
4472
4500
  return ret;
4473
4501
  }
4502
+ function isTemplateRefKey(refs, key) {
4503
+ let desc;
4504
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
4505
+ }
4474
4506
 
4475
4507
  const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
4476
4508
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
@@ -4516,10 +4548,19 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4516
4548
  return false;
4517
4549
  }
4518
4550
  }
4551
+ if (isTemplateRefKey(refs, key)) {
4552
+ return false;
4553
+ }
4519
4554
  return hasOwn(rawSetupState, key);
4520
4555
  };
4521
- const canSetRef = (ref2) => {
4522
- return !knownTemplateRefs.has(ref2);
4556
+ const canSetRef = (ref2, key) => {
4557
+ if (knownTemplateRefs.has(ref2)) {
4558
+ return false;
4559
+ }
4560
+ if (key && isTemplateRefKey(refs, key)) {
4561
+ return false;
4562
+ }
4563
+ return true;
4523
4564
  };
4524
4565
  if (oldRef != null && oldRef !== ref) {
4525
4566
  invalidatePendingSetRef(oldRawRef);
@@ -4529,10 +4570,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4529
4570
  setupState[oldRef] = null;
4530
4571
  }
4531
4572
  } else if (isRef(oldRef)) {
4532
- if (canSetRef(oldRef)) {
4573
+ const oldRawRefAtom = oldRawRef;
4574
+ if (canSetRef(oldRef, oldRawRefAtom.k)) {
4533
4575
  oldRef.value = null;
4534
4576
  }
4535
- const oldRawRefAtom = oldRawRef;
4536
4577
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
4537
4578
  }
4538
4579
  }
@@ -4556,7 +4597,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4556
4597
  }
4557
4598
  } else {
4558
4599
  const newVal = [refValue];
4559
- if (canSetRef(ref)) {
4600
+ if (canSetRef(ref, rawRef.k)) {
4560
4601
  ref.value = newVal;
4561
4602
  }
4562
4603
  if (rawRef.k) refs[rawRef.k] = newVal;
@@ -4571,7 +4612,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4571
4612
  setupState[ref] = value;
4572
4613
  }
4573
4614
  } else if (_isRef) {
4574
- if (canSetRef(ref)) {
4615
+ if (canSetRef(ref, rawRef.k)) {
4575
4616
  ref.value = value;
4576
4617
  }
4577
4618
  if (rawRef.k) refs[rawRef.k] = value;
@@ -4911,7 +4952,7 @@ Server rendered element contains more child nodes than client vdom.`
4911
4952
  logMismatchError();
4912
4953
  }
4913
4954
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4914
- key[0] === "." || isCustomElement) {
4955
+ key[0] === "." || isCustomElement && !isReservedProp(key)) {
4915
4956
  patchProp(el, key, null, props[key], void 0, parentComponent);
4916
4957
  }
4917
4958
  }
@@ -7434,7 +7475,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7434
7475
  return vm;
7435
7476
  }
7436
7477
  }
7437
- Vue.version = `2.6.14-compat:${"3.5.26"}`;
7478
+ Vue.version = `2.6.14-compat:${"3.5.28"}`;
7438
7479
  Vue.config = singletonApp.config;
7439
7480
  Vue.use = (plugin, ...options) => {
7440
7481
  if (plugin && isFunction(plugin.install)) {
@@ -8548,7 +8589,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
8548
8589
  const dynamicProps = nextVNode.dynamicProps;
8549
8590
  for (let i = 0; i < dynamicProps.length; i++) {
8550
8591
  const key = dynamicProps[i];
8551
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
8592
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
8552
8593
  return true;
8553
8594
  }
8554
8595
  }
@@ -8579,12 +8620,20 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
8579
8620
  }
8580
8621
  for (let i = 0; i < nextKeys.length; i++) {
8581
8622
  const key = nextKeys[i];
8582
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
8623
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
8583
8624
  return true;
8584
8625
  }
8585
8626
  }
8586
8627
  return false;
8587
8628
  }
8629
+ function hasPropValueChanged(nextProps, prevProps, key) {
8630
+ const nextProp = nextProps[key];
8631
+ const prevProp = prevProps[key];
8632
+ if (key === "style" && isObject(nextProp) && isObject(prevProp)) {
8633
+ return !looseEqual(nextProp, prevProp);
8634
+ }
8635
+ return nextProp !== prevProp;
8636
+ }
8588
8637
  function updateHOCHostEl({ vnode, parent }, el) {
8589
8638
  while (parent) {
8590
8639
  const root = parent.subTree;
@@ -9360,15 +9409,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9360
9409
  } else {
9361
9410
  const el = n2.el = n1.el;
9362
9411
  if (n2.children !== n1.children) {
9363
- if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
9364
- const childNodes = container.childNodes;
9365
- const newChild = hostCreateText(n2.children);
9366
- const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
9367
- hostInsert(newChild, container, oldChild);
9368
- hostRemove(oldChild);
9369
- } else {
9370
- hostSetText(el, n2.children);
9371
- }
9412
+ hostSetText(el, n2.children);
9372
9413
  }
9373
9414
  }
9374
9415
  };
@@ -9444,7 +9485,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9444
9485
  optimized
9445
9486
  );
9446
9487
  } else {
9447
- const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null;
9488
+ const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
9448
9489
  try {
9449
9490
  if (customElement) {
9450
9491
  customElement._beginPatch();
@@ -9930,8 +9971,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9930
9971
  hydrateSubTree();
9931
9972
  }
9932
9973
  } else {
9933
- if (root.ce && // @ts-expect-error _def is private
9934
- root.ce._def.shadowRoot !== false) {
9974
+ if (root.ce && root.ce._hasShadowRoot()) {
9935
9975
  root.ce._injectChildStyle(type);
9936
9976
  }
9937
9977
  {
@@ -9998,9 +10038,9 @@ function baseCreateRenderer(options, createHydrationFns) {
9998
10038
  updateComponentPreRender(instance, next, optimized);
9999
10039
  }
10000
10040
  nonHydratedAsyncRoot.asyncDep.then(() => {
10001
- if (!instance.isUnmounted) {
10002
- componentUpdateFn();
10003
- }
10041
+ queuePostRenderEffect(() => {
10042
+ if (!instance.isUnmounted) update();
10043
+ }, parentSuspense);
10004
10044
  });
10005
10045
  return;
10006
10046
  }
@@ -10715,12 +10755,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
10715
10755
  traverseStaticChildren(c1, c2);
10716
10756
  }
10717
10757
  if (c2.type === Text) {
10718
- if (c2.patchFlag !== -1) {
10719
- c2.el = c1.el;
10720
- } else {
10721
- c2.__elIndex = i + // take fragment start anchor into account
10722
- (n1.type === Fragment ? 1 : 0);
10758
+ if (c2.patchFlag === -1) {
10759
+ c2 = ch2[i] = cloneIfMounted(c2);
10723
10760
  }
10761
+ c2.el = c1.el;
10724
10762
  }
10725
10763
  if (c2.type === Comment && !c2.el) {
10726
10764
  c2.el = c1.el;
@@ -12525,7 +12563,7 @@ function isMemoSame(cached, memo) {
12525
12563
  return true;
12526
12564
  }
12527
12565
 
12528
- const version = "3.5.26";
12566
+ const version = "3.5.28";
12529
12567
  const warn = warn$1 ;
12530
12568
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12531
12569
  const devtools = devtools$1 ;
@@ -13887,6 +13925,12 @@ class VueElement extends BaseClass {
13887
13925
  this._update();
13888
13926
  }
13889
13927
  }
13928
+ /**
13929
+ * @internal
13930
+ */
13931
+ _hasShadowRoot() {
13932
+ return this._def.shadowRoot !== false;
13933
+ }
13890
13934
  /**
13891
13935
  * @internal
13892
13936
  */
@@ -14030,10 +14074,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
14030
14074
  instance
14031
14075
  )
14032
14076
  );
14033
- positionMap.set(child, {
14034
- left: child.el.offsetLeft,
14035
- top: child.el.offsetTop
14036
- });
14077
+ positionMap.set(child, getPosition(child.el));
14037
14078
  }
14038
14079
  }
14039
14080
  }
@@ -14064,10 +14105,7 @@ function callPendingCbs(c) {
14064
14105
  }
14065
14106
  }
14066
14107
  function recordPosition(c) {
14067
- newPositionMap.set(c, {
14068
- left: c.el.offsetLeft,
14069
- top: c.el.offsetTop
14070
- });
14108
+ newPositionMap.set(c, getPosition(c.el));
14071
14109
  }
14072
14110
  function applyTranslation(c) {
14073
14111
  const oldPos = positionMap.get(c);
@@ -14075,12 +14113,29 @@ function applyTranslation(c) {
14075
14113
  const dx = oldPos.left - newPos.left;
14076
14114
  const dy = oldPos.top - newPos.top;
14077
14115
  if (dx || dy) {
14078
- const s = c.el.style;
14079
- s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
14116
+ const el = c.el;
14117
+ const s = el.style;
14118
+ const rect = el.getBoundingClientRect();
14119
+ let scaleX = 1;
14120
+ let scaleY = 1;
14121
+ if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
14122
+ if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
14123
+ if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
14124
+ if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
14125
+ if (Math.abs(scaleX - 1) < 0.01) scaleX = 1;
14126
+ if (Math.abs(scaleY - 1) < 0.01) scaleY = 1;
14127
+ s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
14080
14128
  s.transitionDuration = "0s";
14081
14129
  return c;
14082
14130
  }
14083
14131
  }
14132
+ function getPosition(el) {
14133
+ const rect = el.getBoundingClientRect();
14134
+ return {
14135
+ left: rect.left,
14136
+ top: rect.top
14137
+ };
14138
+ }
14084
14139
  function hasCSSTransform(el, root, moveClass) {
14085
14140
  const clone = el.cloneNode();
14086
14141
  const _vtc = el[vtcKey];
@@ -14391,6 +14446,7 @@ const modifierGuards = {
14391
14446
  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
14392
14447
  };
14393
14448
  const withModifiers = (fn, modifiers) => {
14449
+ if (!fn) return fn;
14394
14450
  const cache = fn._withMods || (fn._withMods = {});
14395
14451
  const cacheKey = modifiers.join(".");
14396
14452
  return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {