@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
  **/
@@ -334,6 +334,7 @@ function warn$2(msg, ...args) {
334
334
 
335
335
  let activeEffectScope;
336
336
  class EffectScope {
337
+ // TODO isolatedDeclarations "__v_skip"
337
338
  constructor(detached = false) {
338
339
  this.detached = detached;
339
340
  /**
@@ -353,6 +354,7 @@ class EffectScope {
353
354
  */
354
355
  this.cleanups = [];
355
356
  this._isPaused = false;
357
+ this.__v_skip = true;
356
358
  this.parent = activeEffectScope;
357
359
  if (!detached && activeEffectScope) {
358
360
  this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
@@ -1418,20 +1420,20 @@ function createIterableMethod(method, isReadonly2, isShallow2) {
1418
1420
  "iterate",
1419
1421
  isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
1420
1422
  );
1421
- return {
1422
- // iterator protocol
1423
- next() {
1424
- const { value, done } = innerIterator.next();
1425
- return done ? { value, done } : {
1426
- value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
1427
- done
1428
- };
1429
- },
1430
- // iterable protocol
1431
- [Symbol.iterator]() {
1432
- return this;
1423
+ return extend(
1424
+ // inheriting all iterator properties
1425
+ Object.create(innerIterator),
1426
+ {
1427
+ // iterator protocol
1428
+ next() {
1429
+ const { value, done } = innerIterator.next();
1430
+ return done ? { value, done } : {
1431
+ value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
1432
+ done
1433
+ };
1434
+ }
1433
1435
  }
1434
- };
1436
+ );
1435
1437
  };
1436
1438
  }
1437
1439
  function createReadonlyMethod(type) {
@@ -1645,8 +1647,9 @@ function targetTypeMap(rawType) {
1645
1647
  function getTargetType(value) {
1646
1648
  return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
1647
1649
  }
1650
+ // @__NO_SIDE_EFFECTS__
1648
1651
  function reactive(target) {
1649
- if (isReadonly(target)) {
1652
+ if (/* @__PURE__ */ isReadonly(target)) {
1650
1653
  return target;
1651
1654
  }
1652
1655
  return createReactiveObject(
@@ -1657,6 +1660,7 @@ function reactive(target) {
1657
1660
  reactiveMap
1658
1661
  );
1659
1662
  }
1663
+ // @__NO_SIDE_EFFECTS__
1660
1664
  function shallowReactive(target) {
1661
1665
  return createReactiveObject(
1662
1666
  target,
@@ -1666,6 +1670,7 @@ function shallowReactive(target) {
1666
1670
  shallowReactiveMap
1667
1671
  );
1668
1672
  }
1673
+ // @__NO_SIDE_EFFECTS__
1669
1674
  function readonly(target) {
1670
1675
  return createReactiveObject(
1671
1676
  target,
@@ -1675,6 +1680,7 @@ function readonly(target) {
1675
1680
  readonlyMap
1676
1681
  );
1677
1682
  }
1683
+ // @__NO_SIDE_EFFECTS__
1678
1684
  function shallowReadonly(target) {
1679
1685
  return createReactiveObject(
1680
1686
  target,
@@ -1713,24 +1719,29 @@ function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandl
1713
1719
  proxyMap.set(target, proxy);
1714
1720
  return proxy;
1715
1721
  }
1722
+ // @__NO_SIDE_EFFECTS__
1716
1723
  function isReactive(value) {
1717
- if (isReadonly(value)) {
1718
- return isReactive(value["__v_raw"]);
1724
+ if (/* @__PURE__ */ isReadonly(value)) {
1725
+ return /* @__PURE__ */ isReactive(value["__v_raw"]);
1719
1726
  }
1720
1727
  return !!(value && value["__v_isReactive"]);
1721
1728
  }
1729
+ // @__NO_SIDE_EFFECTS__
1722
1730
  function isReadonly(value) {
1723
1731
  return !!(value && value["__v_isReadonly"]);
1724
1732
  }
1733
+ // @__NO_SIDE_EFFECTS__
1725
1734
  function isShallow(value) {
1726
1735
  return !!(value && value["__v_isShallow"]);
1727
1736
  }
1737
+ // @__NO_SIDE_EFFECTS__
1728
1738
  function isProxy(value) {
1729
1739
  return value ? !!value["__v_raw"] : false;
1730
1740
  }
1741
+ // @__NO_SIDE_EFFECTS__
1731
1742
  function toRaw(observed) {
1732
1743
  const raw = observed && observed["__v_raw"];
1733
- return raw ? toRaw(raw) : observed;
1744
+ return raw ? /* @__PURE__ */ toRaw(raw) : observed;
1734
1745
  }
1735
1746
  function markRaw(value) {
1736
1747
  if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) {
@@ -1738,20 +1749,23 @@ function markRaw(value) {
1738
1749
  }
1739
1750
  return value;
1740
1751
  }
1741
- const toReactive = (value) => isObject(value) ? reactive(value) : value;
1742
- const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1752
+ const toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value;
1753
+ const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
1743
1754
 
1755
+ // @__NO_SIDE_EFFECTS__
1744
1756
  function isRef(r) {
1745
1757
  return r ? r["__v_isRef"] === true : false;
1746
1758
  }
1759
+ // @__NO_SIDE_EFFECTS__
1747
1760
  function ref(value) {
1748
1761
  return createRef(value, false);
1749
1762
  }
1763
+ // @__NO_SIDE_EFFECTS__
1750
1764
  function shallowRef(value) {
1751
1765
  return createRef(value, true);
1752
1766
  }
1753
1767
  function createRef(rawValue, shallow) {
1754
- if (isRef(rawValue)) {
1768
+ if (/* @__PURE__ */ isRef(rawValue)) {
1755
1769
  return rawValue;
1756
1770
  }
1757
1771
  return new RefImpl(rawValue, shallow);
@@ -1807,7 +1821,7 @@ function triggerRef(ref2) {
1807
1821
  }
1808
1822
  }
1809
1823
  function unref(ref2) {
1810
- return isRef(ref2) ? ref2.value : ref2;
1824
+ return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2;
1811
1825
  }
1812
1826
  function toValue(source) {
1813
1827
  return isFunction(source) ? source() : unref(source);
@@ -1816,7 +1830,7 @@ const shallowUnwrapHandlers = {
1816
1830
  get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)),
1817
1831
  set: (target, key, value, receiver) => {
1818
1832
  const oldValue = target[key];
1819
- if (isRef(oldValue) && !isRef(value)) {
1833
+ if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
1820
1834
  oldValue.value = value;
1821
1835
  return true;
1822
1836
  } else {
@@ -1846,6 +1860,7 @@ class CustomRefImpl {
1846
1860
  function customRef(factory) {
1847
1861
  return new CustomRefImpl(factory);
1848
1862
  }
1863
+ // @__NO_SIDE_EFFECTS__
1849
1864
  function toRefs(object) {
1850
1865
  if (!isProxy(object)) {
1851
1866
  warn$2(`toRefs() expects a reactive object but received a plain one.`);
@@ -1881,9 +1896,9 @@ class ObjectRefImpl {
1881
1896
  return this._value = val === void 0 ? this._defaultValue : val;
1882
1897
  }
1883
1898
  set value(newVal) {
1884
- if (this._shallow && isRef(this._raw[this._key])) {
1899
+ if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) {
1885
1900
  const nestedRef = this._object[this._key];
1886
- if (isRef(nestedRef)) {
1901
+ if (/* @__PURE__ */ isRef(nestedRef)) {
1887
1902
  nestedRef.value = newVal;
1888
1903
  return;
1889
1904
  }
@@ -1905,15 +1920,16 @@ class GetterRefImpl {
1905
1920
  return this._value = this._getter();
1906
1921
  }
1907
1922
  }
1923
+ // @__NO_SIDE_EFFECTS__
1908
1924
  function toRef(source, key, defaultValue) {
1909
- if (isRef(source)) {
1925
+ if (/* @__PURE__ */ isRef(source)) {
1910
1926
  return source;
1911
1927
  } else if (isFunction(source)) {
1912
1928
  return new GetterRefImpl(source);
1913
1929
  } else if (isObject(source) && arguments.length > 1) {
1914
1930
  return propertyToRef(source, key, defaultValue);
1915
1931
  } else {
1916
- return ref(source);
1932
+ return /* @__PURE__ */ ref(source);
1917
1933
  }
1918
1934
  }
1919
1935
  function propertyToRef(source, key, defaultValue) {
@@ -1994,6 +2010,7 @@ class ComputedRefImpl {
1994
2010
  }
1995
2011
  }
1996
2012
  }
2013
+ // @__NO_SIDE_EFFECTS__
1997
2014
  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1998
2015
  let getter;
1999
2016
  let setter;
@@ -3891,7 +3908,22 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3891
3908
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
3892
3909
  o: { nextSibling, parentNode, querySelector, insert, createText }
3893
3910
  }, hydrateChildren) {
3894
- function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
3911
+ function hydrateAnchor(target2, targetNode) {
3912
+ let targetAnchor = targetNode;
3913
+ while (targetAnchor) {
3914
+ if (targetAnchor && targetAnchor.nodeType === 8) {
3915
+ if (targetAnchor.data === "teleport start anchor") {
3916
+ vnode.targetStart = targetAnchor;
3917
+ } else if (targetAnchor.data === "teleport anchor") {
3918
+ vnode.targetAnchor = targetAnchor;
3919
+ target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3920
+ break;
3921
+ }
3922
+ }
3923
+ targetAnchor = nextSibling(targetAnchor);
3924
+ }
3925
+ }
3926
+ function hydrateDisabledTeleport(node2, vnode2) {
3895
3927
  vnode2.anchor = hydrateChildren(
3896
3928
  nextSibling(node2),
3897
3929
  vnode2,
@@ -3901,8 +3933,6 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3901
3933
  slotScopeIds,
3902
3934
  optimized
3903
3935
  );
3904
- vnode2.targetStart = targetStart;
3905
- vnode2.targetAnchor = targetAnchor;
3906
3936
  }
3907
3937
  const target = vnode.target = resolveTarget(
3908
3938
  vnode.props,
@@ -3913,27 +3943,22 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3913
3943
  const targetNode = target._lpa || target.firstChild;
3914
3944
  if (vnode.shapeFlag & 16) {
3915
3945
  if (disabled) {
3916
- hydrateDisabledTeleport(
3917
- node,
3918
- vnode,
3919
- targetNode,
3920
- targetNode && nextSibling(targetNode)
3921
- );
3946
+ hydrateDisabledTeleport(node, vnode);
3947
+ hydrateAnchor(target, targetNode);
3948
+ if (!vnode.targetAnchor) {
3949
+ prepareAnchor(
3950
+ target,
3951
+ vnode,
3952
+ createText,
3953
+ insert,
3954
+ // if target is the same as the main view, insert anchors before current node
3955
+ // to avoid hydrating mismatch
3956
+ parentNode(node) === target ? node : null
3957
+ );
3958
+ }
3922
3959
  } else {
3923
3960
  vnode.anchor = nextSibling(node);
3924
- let targetAnchor = targetNode;
3925
- while (targetAnchor) {
3926
- if (targetAnchor && targetAnchor.nodeType === 8) {
3927
- if (targetAnchor.data === "teleport start anchor") {
3928
- vnode.targetStart = targetAnchor;
3929
- } else if (targetAnchor.data === "teleport anchor") {
3930
- vnode.targetAnchor = targetAnchor;
3931
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3932
- break;
3933
- }
3934
- }
3935
- targetAnchor = nextSibling(targetAnchor);
3936
- }
3961
+ hydrateAnchor(target, targetNode);
3937
3962
  if (!vnode.targetAnchor) {
3938
3963
  prepareAnchor(target, vnode, createText, insert);
3939
3964
  }
@@ -3951,7 +3976,9 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3951
3976
  updateCssVars(vnode, disabled);
3952
3977
  } else if (disabled) {
3953
3978
  if (vnode.shapeFlag & 16) {
3954
- hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3979
+ hydrateDisabledTeleport(node, vnode);
3980
+ vnode.targetStart = node;
3981
+ vnode.targetAnchor = nextSibling(node);
3955
3982
  }
3956
3983
  }
3957
3984
  return vnode.anchor && nextSibling(vnode.anchor);
@@ -3975,13 +4002,13 @@ function updateCssVars(vnode, isDisabled) {
3975
4002
  ctx.ut();
3976
4003
  }
3977
4004
  }
3978
- function prepareAnchor(target, vnode, createText, insert) {
4005
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
3979
4006
  const targetStart = vnode.targetStart = createText("");
3980
4007
  const targetAnchor = vnode.targetAnchor = createText("");
3981
4008
  targetStart[TeleportEndKey] = targetAnchor;
3982
4009
  if (target) {
3983
- insert(targetStart, target);
3984
- insert(targetAnchor, target);
4010
+ insert(targetStart, target, anchor);
4011
+ insert(targetAnchor, target, anchor);
3985
4012
  }
3986
4013
  return targetAnchor;
3987
4014
  }
@@ -4219,7 +4246,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4219
4246
  }
4220
4247
  }
4221
4248
  let called = false;
4222
- const done = el[enterCbKey$1] = (cancelled) => {
4249
+ el[enterCbKey$1] = (cancelled) => {
4223
4250
  if (called) return;
4224
4251
  called = true;
4225
4252
  if (cancelled) {
@@ -4232,6 +4259,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4232
4259
  }
4233
4260
  el[enterCbKey$1] = void 0;
4234
4261
  };
4262
+ const done = el[enterCbKey$1].bind(null, false);
4235
4263
  if (hook) {
4236
4264
  callAsyncHook(hook, [el, done]);
4237
4265
  } else {
@@ -4251,7 +4279,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4251
4279
  }
4252
4280
  callHook(onBeforeLeave, [el]);
4253
4281
  let called = false;
4254
- const done = el[leaveCbKey] = (cancelled) => {
4282
+ el[leaveCbKey] = (cancelled) => {
4255
4283
  if (called) return;
4256
4284
  called = true;
4257
4285
  remove();
@@ -4265,6 +4293,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4265
4293
  delete leavingVNodesCache[key2];
4266
4294
  }
4267
4295
  };
4296
+ const done = el[leaveCbKey].bind(null, false);
4268
4297
  leavingVNodesCache[key2] = vnode;
4269
4298
  if (onLeave) {
4270
4299
  callAsyncHook(onLeave, [el, done]);
@@ -4377,8 +4406,7 @@ function useTemplateRef(key) {
4377
4406
  const r = shallowRef(null);
4378
4407
  if (i) {
4379
4408
  const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
4380
- let desc;
4381
- if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
4409
+ if (isTemplateRefKey(refs, key)) {
4382
4410
  warn$1(`useTemplateRef('${key}') already exists.`);
4383
4411
  } else {
4384
4412
  Object.defineProperty(refs, key, {
@@ -4398,6 +4426,10 @@ function useTemplateRef(key) {
4398
4426
  }
4399
4427
  return ret;
4400
4428
  }
4429
+ function isTemplateRefKey(refs, key) {
4430
+ let desc;
4431
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
4432
+ }
4401
4433
 
4402
4434
  const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
4403
4435
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
@@ -4443,10 +4475,19 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4443
4475
  return false;
4444
4476
  }
4445
4477
  }
4478
+ if (isTemplateRefKey(refs, key)) {
4479
+ return false;
4480
+ }
4446
4481
  return hasOwn(rawSetupState, key);
4447
4482
  };
4448
- const canSetRef = (ref2) => {
4449
- return !knownTemplateRefs.has(ref2);
4483
+ const canSetRef = (ref2, key) => {
4484
+ if (knownTemplateRefs.has(ref2)) {
4485
+ return false;
4486
+ }
4487
+ if (key && isTemplateRefKey(refs, key)) {
4488
+ return false;
4489
+ }
4490
+ return true;
4450
4491
  };
4451
4492
  if (oldRef != null && oldRef !== ref) {
4452
4493
  invalidatePendingSetRef(oldRawRef);
@@ -4456,10 +4497,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4456
4497
  setupState[oldRef] = null;
4457
4498
  }
4458
4499
  } else if (isRef(oldRef)) {
4459
- if (canSetRef(oldRef)) {
4500
+ const oldRawRefAtom = oldRawRef;
4501
+ if (canSetRef(oldRef, oldRawRefAtom.k)) {
4460
4502
  oldRef.value = null;
4461
4503
  }
4462
- const oldRawRefAtom = oldRawRef;
4463
4504
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
4464
4505
  }
4465
4506
  }
@@ -4483,7 +4524,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4483
4524
  }
4484
4525
  } else {
4485
4526
  const newVal = [refValue];
4486
- if (canSetRef(ref)) {
4527
+ if (canSetRef(ref, rawRef.k)) {
4487
4528
  ref.value = newVal;
4488
4529
  }
4489
4530
  if (rawRef.k) refs[rawRef.k] = newVal;
@@ -4498,7 +4539,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4498
4539
  setupState[ref] = value;
4499
4540
  }
4500
4541
  } else if (_isRef) {
4501
- if (canSetRef(ref)) {
4542
+ if (canSetRef(ref, rawRef.k)) {
4502
4543
  ref.value = value;
4503
4544
  }
4504
4545
  if (rawRef.k) refs[rawRef.k] = value;
@@ -4838,7 +4879,7 @@ Server rendered element contains more child nodes than client vdom.`
4838
4879
  logMismatchError();
4839
4880
  }
4840
4881
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4841
- key[0] === "." || isCustomElement) {
4882
+ key[0] === "." || isCustomElement && !isReservedProp(key)) {
4842
4883
  patchProp(el, key, null, props[key], void 0, parentComponent);
4843
4884
  }
4844
4885
  }
@@ -7361,7 +7402,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7361
7402
  return vm;
7362
7403
  }
7363
7404
  }
7364
- Vue.version = `2.6.14-compat:${"3.5.26"}`;
7405
+ Vue.version = `2.6.14-compat:${"3.5.28"}`;
7365
7406
  Vue.config = singletonApp.config;
7366
7407
  Vue.use = (plugin, ...options) => {
7367
7408
  if (plugin && isFunction(plugin.install)) {
@@ -8475,7 +8516,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
8475
8516
  const dynamicProps = nextVNode.dynamicProps;
8476
8517
  for (let i = 0; i < dynamicProps.length; i++) {
8477
8518
  const key = dynamicProps[i];
8478
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
8519
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
8479
8520
  return true;
8480
8521
  }
8481
8522
  }
@@ -8506,12 +8547,20 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
8506
8547
  }
8507
8548
  for (let i = 0; i < nextKeys.length; i++) {
8508
8549
  const key = nextKeys[i];
8509
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
8550
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
8510
8551
  return true;
8511
8552
  }
8512
8553
  }
8513
8554
  return false;
8514
8555
  }
8556
+ function hasPropValueChanged(nextProps, prevProps, key) {
8557
+ const nextProp = nextProps[key];
8558
+ const prevProp = prevProps[key];
8559
+ if (key === "style" && isObject(nextProp) && isObject(prevProp)) {
8560
+ return !looseEqual(nextProp, prevProp);
8561
+ }
8562
+ return nextProp !== prevProp;
8563
+ }
8515
8564
  function updateHOCHostEl({ vnode, parent }, el) {
8516
8565
  while (parent) {
8517
8566
  const root = parent.subTree;
@@ -9287,15 +9336,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9287
9336
  } else {
9288
9337
  const el = n2.el = n1.el;
9289
9338
  if (n2.children !== n1.children) {
9290
- if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
9291
- const childNodes = container.childNodes;
9292
- const newChild = hostCreateText(n2.children);
9293
- const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
9294
- hostInsert(newChild, container, oldChild);
9295
- hostRemove(oldChild);
9296
- } else {
9297
- hostSetText(el, n2.children);
9298
- }
9339
+ hostSetText(el, n2.children);
9299
9340
  }
9300
9341
  }
9301
9342
  };
@@ -9371,7 +9412,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9371
9412
  optimized
9372
9413
  );
9373
9414
  } else {
9374
- const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null;
9415
+ const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
9375
9416
  try {
9376
9417
  if (customElement) {
9377
9418
  customElement._beginPatch();
@@ -9857,8 +9898,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9857
9898
  hydrateSubTree();
9858
9899
  }
9859
9900
  } else {
9860
- if (root.ce && // @ts-expect-error _def is private
9861
- root.ce._def.shadowRoot !== false) {
9901
+ if (root.ce && root.ce._hasShadowRoot()) {
9862
9902
  root.ce._injectChildStyle(type);
9863
9903
  }
9864
9904
  {
@@ -9925,9 +9965,9 @@ function baseCreateRenderer(options, createHydrationFns) {
9925
9965
  updateComponentPreRender(instance, next, optimized);
9926
9966
  }
9927
9967
  nonHydratedAsyncRoot.asyncDep.then(() => {
9928
- if (!instance.isUnmounted) {
9929
- componentUpdateFn();
9930
- }
9968
+ queuePostRenderEffect(() => {
9969
+ if (!instance.isUnmounted) update();
9970
+ }, parentSuspense);
9931
9971
  });
9932
9972
  return;
9933
9973
  }
@@ -10642,12 +10682,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
10642
10682
  traverseStaticChildren(c1, c2);
10643
10683
  }
10644
10684
  if (c2.type === Text) {
10645
- if (c2.patchFlag !== -1) {
10646
- c2.el = c1.el;
10647
- } else {
10648
- c2.__elIndex = i + // take fragment start anchor into account
10649
- (n1.type === Fragment ? 1 : 0);
10685
+ if (c2.patchFlag === -1) {
10686
+ c2 = ch2[i] = cloneIfMounted(c2);
10650
10687
  }
10688
+ c2.el = c1.el;
10651
10689
  }
10652
10690
  if (c2.type === Comment && !c2.el) {
10653
10691
  c2.el = c1.el;
@@ -12452,7 +12490,7 @@ function isMemoSame(cached, memo) {
12452
12490
  return true;
12453
12491
  }
12454
12492
 
12455
- const version = "3.5.26";
12493
+ const version = "3.5.28";
12456
12494
  const warn = warn$1 ;
12457
12495
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12458
12496
  const devtools = devtools$1 ;
@@ -13814,6 +13852,12 @@ class VueElement extends BaseClass {
13814
13852
  this._update();
13815
13853
  }
13816
13854
  }
13855
+ /**
13856
+ * @internal
13857
+ */
13858
+ _hasShadowRoot() {
13859
+ return this._def.shadowRoot !== false;
13860
+ }
13817
13861
  /**
13818
13862
  * @internal
13819
13863
  */
@@ -13957,10 +14001,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13957
14001
  instance
13958
14002
  )
13959
14003
  );
13960
- positionMap.set(child, {
13961
- left: child.el.offsetLeft,
13962
- top: child.el.offsetTop
13963
- });
14004
+ positionMap.set(child, getPosition(child.el));
13964
14005
  }
13965
14006
  }
13966
14007
  }
@@ -13991,10 +14032,7 @@ function callPendingCbs(c) {
13991
14032
  }
13992
14033
  }
13993
14034
  function recordPosition(c) {
13994
- newPositionMap.set(c, {
13995
- left: c.el.offsetLeft,
13996
- top: c.el.offsetTop
13997
- });
14035
+ newPositionMap.set(c, getPosition(c.el));
13998
14036
  }
13999
14037
  function applyTranslation(c) {
14000
14038
  const oldPos = positionMap.get(c);
@@ -14002,12 +14040,29 @@ function applyTranslation(c) {
14002
14040
  const dx = oldPos.left - newPos.left;
14003
14041
  const dy = oldPos.top - newPos.top;
14004
14042
  if (dx || dy) {
14005
- const s = c.el.style;
14006
- s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
14043
+ const el = c.el;
14044
+ const s = el.style;
14045
+ const rect = el.getBoundingClientRect();
14046
+ let scaleX = 1;
14047
+ let scaleY = 1;
14048
+ if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
14049
+ if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
14050
+ if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
14051
+ if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
14052
+ if (Math.abs(scaleX - 1) < 0.01) scaleX = 1;
14053
+ if (Math.abs(scaleY - 1) < 0.01) scaleY = 1;
14054
+ s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
14007
14055
  s.transitionDuration = "0s";
14008
14056
  return c;
14009
14057
  }
14010
14058
  }
14059
+ function getPosition(el) {
14060
+ const rect = el.getBoundingClientRect();
14061
+ return {
14062
+ left: rect.left,
14063
+ top: rect.top
14064
+ };
14065
+ }
14011
14066
  function hasCSSTransform(el, root, moveClass) {
14012
14067
  const clone = el.cloneNode();
14013
14068
  const _vtc = el[vtcKey];
@@ -14318,6 +14373,7 @@ const modifierGuards = {
14318
14373
  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
14319
14374
  };
14320
14375
  const withModifiers = (fn, modifiers) => {
14376
+ if (!fn) return fn;
14321
14377
  const cache = fn._withMods || (fn._withMods = {});
14322
14378
  const cacheKey = modifiers.join(".");
14323
14379
  return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {