@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
  **/
@@ -337,6 +337,7 @@ var Vue = (function () {
337
337
 
338
338
  let activeEffectScope;
339
339
  class EffectScope {
340
+ // TODO isolatedDeclarations "__v_skip"
340
341
  constructor(detached = false) {
341
342
  this.detached = detached;
342
343
  /**
@@ -356,6 +357,7 @@ var Vue = (function () {
356
357
  */
357
358
  this.cleanups = [];
358
359
  this._isPaused = false;
360
+ this.__v_skip = true;
359
361
  this.parent = activeEffectScope;
360
362
  if (!detached && activeEffectScope) {
361
363
  this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
@@ -1421,20 +1423,20 @@ var Vue = (function () {
1421
1423
  "iterate",
1422
1424
  isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
1423
1425
  );
1424
- return {
1425
- // iterator protocol
1426
- next() {
1427
- const { value, done } = innerIterator.next();
1428
- return done ? { value, done } : {
1429
- value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
1430
- done
1431
- };
1432
- },
1433
- // iterable protocol
1434
- [Symbol.iterator]() {
1435
- return this;
1426
+ return extend(
1427
+ // inheriting all iterator properties
1428
+ Object.create(innerIterator),
1429
+ {
1430
+ // iterator protocol
1431
+ next() {
1432
+ const { value, done } = innerIterator.next();
1433
+ return done ? { value, done } : {
1434
+ value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
1435
+ done
1436
+ };
1437
+ }
1436
1438
  }
1437
- };
1439
+ );
1438
1440
  };
1439
1441
  }
1440
1442
  function createReadonlyMethod(type) {
@@ -1648,8 +1650,9 @@ var Vue = (function () {
1648
1650
  function getTargetType(value) {
1649
1651
  return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
1650
1652
  }
1653
+ // @__NO_SIDE_EFFECTS__
1651
1654
  function reactive(target) {
1652
- if (isReadonly(target)) {
1655
+ if (/* @__PURE__ */ isReadonly(target)) {
1653
1656
  return target;
1654
1657
  }
1655
1658
  return createReactiveObject(
@@ -1660,6 +1663,7 @@ var Vue = (function () {
1660
1663
  reactiveMap
1661
1664
  );
1662
1665
  }
1666
+ // @__NO_SIDE_EFFECTS__
1663
1667
  function shallowReactive(target) {
1664
1668
  return createReactiveObject(
1665
1669
  target,
@@ -1669,6 +1673,7 @@ var Vue = (function () {
1669
1673
  shallowReactiveMap
1670
1674
  );
1671
1675
  }
1676
+ // @__NO_SIDE_EFFECTS__
1672
1677
  function readonly(target) {
1673
1678
  return createReactiveObject(
1674
1679
  target,
@@ -1678,6 +1683,7 @@ var Vue = (function () {
1678
1683
  readonlyMap
1679
1684
  );
1680
1685
  }
1686
+ // @__NO_SIDE_EFFECTS__
1681
1687
  function shallowReadonly(target) {
1682
1688
  return createReactiveObject(
1683
1689
  target,
@@ -1716,24 +1722,29 @@ var Vue = (function () {
1716
1722
  proxyMap.set(target, proxy);
1717
1723
  return proxy;
1718
1724
  }
1725
+ // @__NO_SIDE_EFFECTS__
1719
1726
  function isReactive(value) {
1720
- if (isReadonly(value)) {
1721
- return isReactive(value["__v_raw"]);
1727
+ if (/* @__PURE__ */ isReadonly(value)) {
1728
+ return /* @__PURE__ */ isReactive(value["__v_raw"]);
1722
1729
  }
1723
1730
  return !!(value && value["__v_isReactive"]);
1724
1731
  }
1732
+ // @__NO_SIDE_EFFECTS__
1725
1733
  function isReadonly(value) {
1726
1734
  return !!(value && value["__v_isReadonly"]);
1727
1735
  }
1736
+ // @__NO_SIDE_EFFECTS__
1728
1737
  function isShallow(value) {
1729
1738
  return !!(value && value["__v_isShallow"]);
1730
1739
  }
1740
+ // @__NO_SIDE_EFFECTS__
1731
1741
  function isProxy(value) {
1732
1742
  return value ? !!value["__v_raw"] : false;
1733
1743
  }
1744
+ // @__NO_SIDE_EFFECTS__
1734
1745
  function toRaw(observed) {
1735
1746
  const raw = observed && observed["__v_raw"];
1736
- return raw ? toRaw(raw) : observed;
1747
+ return raw ? /* @__PURE__ */ toRaw(raw) : observed;
1737
1748
  }
1738
1749
  function markRaw(value) {
1739
1750
  if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) {
@@ -1741,20 +1752,23 @@ var Vue = (function () {
1741
1752
  }
1742
1753
  return value;
1743
1754
  }
1744
- const toReactive = (value) => isObject(value) ? reactive(value) : value;
1745
- const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1755
+ const toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value;
1756
+ const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
1746
1757
 
1758
+ // @__NO_SIDE_EFFECTS__
1747
1759
  function isRef(r) {
1748
1760
  return r ? r["__v_isRef"] === true : false;
1749
1761
  }
1762
+ // @__NO_SIDE_EFFECTS__
1750
1763
  function ref(value) {
1751
1764
  return createRef(value, false);
1752
1765
  }
1766
+ // @__NO_SIDE_EFFECTS__
1753
1767
  function shallowRef(value) {
1754
1768
  return createRef(value, true);
1755
1769
  }
1756
1770
  function createRef(rawValue, shallow) {
1757
- if (isRef(rawValue)) {
1771
+ if (/* @__PURE__ */ isRef(rawValue)) {
1758
1772
  return rawValue;
1759
1773
  }
1760
1774
  return new RefImpl(rawValue, shallow);
@@ -1810,7 +1824,7 @@ var Vue = (function () {
1810
1824
  }
1811
1825
  }
1812
1826
  function unref(ref2) {
1813
- return isRef(ref2) ? ref2.value : ref2;
1827
+ return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2;
1814
1828
  }
1815
1829
  function toValue(source) {
1816
1830
  return isFunction(source) ? source() : unref(source);
@@ -1819,7 +1833,7 @@ var Vue = (function () {
1819
1833
  get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)),
1820
1834
  set: (target, key, value, receiver) => {
1821
1835
  const oldValue = target[key];
1822
- if (isRef(oldValue) && !isRef(value)) {
1836
+ if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
1823
1837
  oldValue.value = value;
1824
1838
  return true;
1825
1839
  } else {
@@ -1849,6 +1863,7 @@ var Vue = (function () {
1849
1863
  function customRef(factory) {
1850
1864
  return new CustomRefImpl(factory);
1851
1865
  }
1866
+ // @__NO_SIDE_EFFECTS__
1852
1867
  function toRefs(object) {
1853
1868
  if (!isProxy(object)) {
1854
1869
  warn$2(`toRefs() expects a reactive object but received a plain one.`);
@@ -1884,9 +1899,9 @@ var Vue = (function () {
1884
1899
  return this._value = val === void 0 ? this._defaultValue : val;
1885
1900
  }
1886
1901
  set value(newVal) {
1887
- if (this._shallow && isRef(this._raw[this._key])) {
1902
+ if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) {
1888
1903
  const nestedRef = this._object[this._key];
1889
- if (isRef(nestedRef)) {
1904
+ if (/* @__PURE__ */ isRef(nestedRef)) {
1890
1905
  nestedRef.value = newVal;
1891
1906
  return;
1892
1907
  }
@@ -1908,15 +1923,16 @@ var Vue = (function () {
1908
1923
  return this._value = this._getter();
1909
1924
  }
1910
1925
  }
1926
+ // @__NO_SIDE_EFFECTS__
1911
1927
  function toRef(source, key, defaultValue) {
1912
- if (isRef(source)) {
1928
+ if (/* @__PURE__ */ isRef(source)) {
1913
1929
  return source;
1914
1930
  } else if (isFunction(source)) {
1915
1931
  return new GetterRefImpl(source);
1916
1932
  } else if (isObject(source) && arguments.length > 1) {
1917
1933
  return propertyToRef(source, key, defaultValue);
1918
1934
  } else {
1919
- return ref(source);
1935
+ return /* @__PURE__ */ ref(source);
1920
1936
  }
1921
1937
  }
1922
1938
  function propertyToRef(source, key, defaultValue) {
@@ -1997,6 +2013,7 @@ var Vue = (function () {
1997
2013
  }
1998
2014
  }
1999
2015
  }
2016
+ // @__NO_SIDE_EFFECTS__
2000
2017
  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
2001
2018
  let getter;
2002
2019
  let setter;
@@ -3866,7 +3883,22 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3866
3883
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
3867
3884
  o: { nextSibling, parentNode, querySelector, insert, createText }
3868
3885
  }, hydrateChildren) {
3869
- function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
3886
+ function hydrateAnchor(target2, targetNode) {
3887
+ let targetAnchor = targetNode;
3888
+ while (targetAnchor) {
3889
+ if (targetAnchor && targetAnchor.nodeType === 8) {
3890
+ if (targetAnchor.data === "teleport start anchor") {
3891
+ vnode.targetStart = targetAnchor;
3892
+ } else if (targetAnchor.data === "teleport anchor") {
3893
+ vnode.targetAnchor = targetAnchor;
3894
+ target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3895
+ break;
3896
+ }
3897
+ }
3898
+ targetAnchor = nextSibling(targetAnchor);
3899
+ }
3900
+ }
3901
+ function hydrateDisabledTeleport(node2, vnode2) {
3870
3902
  vnode2.anchor = hydrateChildren(
3871
3903
  nextSibling(node2),
3872
3904
  vnode2,
@@ -3876,8 +3908,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3876
3908
  slotScopeIds,
3877
3909
  optimized
3878
3910
  );
3879
- vnode2.targetStart = targetStart;
3880
- vnode2.targetAnchor = targetAnchor;
3881
3911
  }
3882
3912
  const target = vnode.target = resolveTarget(
3883
3913
  vnode.props,
@@ -3888,27 +3918,22 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3888
3918
  const targetNode = target._lpa || target.firstChild;
3889
3919
  if (vnode.shapeFlag & 16) {
3890
3920
  if (disabled) {
3891
- hydrateDisabledTeleport(
3892
- node,
3893
- vnode,
3894
- targetNode,
3895
- targetNode && nextSibling(targetNode)
3896
- );
3921
+ hydrateDisabledTeleport(node, vnode);
3922
+ hydrateAnchor(target, targetNode);
3923
+ if (!vnode.targetAnchor) {
3924
+ prepareAnchor(
3925
+ target,
3926
+ vnode,
3927
+ createText,
3928
+ insert,
3929
+ // if target is the same as the main view, insert anchors before current node
3930
+ // to avoid hydrating mismatch
3931
+ parentNode(node) === target ? node : null
3932
+ );
3933
+ }
3897
3934
  } else {
3898
3935
  vnode.anchor = nextSibling(node);
3899
- let targetAnchor = targetNode;
3900
- while (targetAnchor) {
3901
- if (targetAnchor && targetAnchor.nodeType === 8) {
3902
- if (targetAnchor.data === "teleport start anchor") {
3903
- vnode.targetStart = targetAnchor;
3904
- } else if (targetAnchor.data === "teleport anchor") {
3905
- vnode.targetAnchor = targetAnchor;
3906
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3907
- break;
3908
- }
3909
- }
3910
- targetAnchor = nextSibling(targetAnchor);
3911
- }
3936
+ hydrateAnchor(target, targetNode);
3912
3937
  if (!vnode.targetAnchor) {
3913
3938
  prepareAnchor(target, vnode, createText, insert);
3914
3939
  }
@@ -3926,7 +3951,9 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3926
3951
  updateCssVars(vnode, disabled);
3927
3952
  } else if (disabled) {
3928
3953
  if (vnode.shapeFlag & 16) {
3929
- hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3954
+ hydrateDisabledTeleport(node, vnode);
3955
+ vnode.targetStart = node;
3956
+ vnode.targetAnchor = nextSibling(node);
3930
3957
  }
3931
3958
  }
3932
3959
  return vnode.anchor && nextSibling(vnode.anchor);
@@ -3950,13 +3977,13 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3950
3977
  ctx.ut();
3951
3978
  }
3952
3979
  }
3953
- function prepareAnchor(target, vnode, createText, insert) {
3980
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
3954
3981
  const targetStart = vnode.targetStart = createText("");
3955
3982
  const targetAnchor = vnode.targetAnchor = createText("");
3956
3983
  targetStart[TeleportEndKey] = targetAnchor;
3957
3984
  if (target) {
3958
- insert(targetStart, target);
3959
- insert(targetAnchor, target);
3985
+ insert(targetStart, target, anchor);
3986
+ insert(targetAnchor, target, anchor);
3960
3987
  }
3961
3988
  return targetAnchor;
3962
3989
  }
@@ -4194,7 +4221,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4194
4221
  }
4195
4222
  }
4196
4223
  let called = false;
4197
- const done = el[enterCbKey$1] = (cancelled) => {
4224
+ el[enterCbKey$1] = (cancelled) => {
4198
4225
  if (called) return;
4199
4226
  called = true;
4200
4227
  if (cancelled) {
@@ -4207,6 +4234,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4207
4234
  }
4208
4235
  el[enterCbKey$1] = void 0;
4209
4236
  };
4237
+ const done = el[enterCbKey$1].bind(null, false);
4210
4238
  if (hook) {
4211
4239
  callAsyncHook(hook, [el, done]);
4212
4240
  } else {
@@ -4226,7 +4254,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4226
4254
  }
4227
4255
  callHook(onBeforeLeave, [el]);
4228
4256
  let called = false;
4229
- const done = el[leaveCbKey] = (cancelled) => {
4257
+ el[leaveCbKey] = (cancelled) => {
4230
4258
  if (called) return;
4231
4259
  called = true;
4232
4260
  remove();
@@ -4240,6 +4268,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4240
4268
  delete leavingVNodesCache[key2];
4241
4269
  }
4242
4270
  };
4271
+ const done = el[leaveCbKey].bind(null, false);
4243
4272
  leavingVNodesCache[key2] = vnode;
4244
4273
  if (onLeave) {
4245
4274
  callAsyncHook(onLeave, [el, done]);
@@ -4352,8 +4381,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4352
4381
  const r = shallowRef(null);
4353
4382
  if (i) {
4354
4383
  const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
4355
- let desc;
4356
- if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
4384
+ if (isTemplateRefKey(refs, key)) {
4357
4385
  warn$1(`useTemplateRef('${key}') already exists.`);
4358
4386
  } else {
4359
4387
  Object.defineProperty(refs, key, {
@@ -4373,6 +4401,10 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4373
4401
  }
4374
4402
  return ret;
4375
4403
  }
4404
+ function isTemplateRefKey(refs, key) {
4405
+ let desc;
4406
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
4407
+ }
4376
4408
 
4377
4409
  const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
4378
4410
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
@@ -4418,10 +4450,19 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4418
4450
  return false;
4419
4451
  }
4420
4452
  }
4453
+ if (isTemplateRefKey(refs, key)) {
4454
+ return false;
4455
+ }
4421
4456
  return hasOwn(rawSetupState, key);
4422
4457
  };
4423
- const canSetRef = (ref2) => {
4424
- return !knownTemplateRefs.has(ref2);
4458
+ const canSetRef = (ref2, key) => {
4459
+ if (knownTemplateRefs.has(ref2)) {
4460
+ return false;
4461
+ }
4462
+ if (key && isTemplateRefKey(refs, key)) {
4463
+ return false;
4464
+ }
4465
+ return true;
4425
4466
  };
4426
4467
  if (oldRef != null && oldRef !== ref) {
4427
4468
  invalidatePendingSetRef(oldRawRef);
@@ -4431,10 +4472,10 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4431
4472
  setupState[oldRef] = null;
4432
4473
  }
4433
4474
  } else if (isRef(oldRef)) {
4434
- if (canSetRef(oldRef)) {
4475
+ const oldRawRefAtom = oldRawRef;
4476
+ if (canSetRef(oldRef, oldRawRefAtom.k)) {
4435
4477
  oldRef.value = null;
4436
4478
  }
4437
- const oldRawRefAtom = oldRawRef;
4438
4479
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
4439
4480
  }
4440
4481
  }
@@ -4458,7 +4499,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4458
4499
  }
4459
4500
  } else {
4460
4501
  const newVal = [refValue];
4461
- if (canSetRef(ref)) {
4502
+ if (canSetRef(ref, rawRef.k)) {
4462
4503
  ref.value = newVal;
4463
4504
  }
4464
4505
  if (rawRef.k) refs[rawRef.k] = newVal;
@@ -4473,7 +4514,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4473
4514
  setupState[ref] = value;
4474
4515
  }
4475
4516
  } else if (_isRef) {
4476
- if (canSetRef(ref)) {
4517
+ if (canSetRef(ref, rawRef.k)) {
4477
4518
  ref.value = value;
4478
4519
  }
4479
4520
  if (rawRef.k) refs[rawRef.k] = value;
@@ -4813,7 +4854,7 @@ Server rendered element contains more child nodes than client vdom.`
4813
4854
  logMismatchError();
4814
4855
  }
4815
4856
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4816
- key[0] === "." || isCustomElement) {
4857
+ key[0] === "." || isCustomElement && !isReservedProp(key)) {
4817
4858
  patchProp(el, key, null, props[key], void 0, parentComponent);
4818
4859
  }
4819
4860
  }
@@ -7327,7 +7368,7 @@ If this is a native custom element, make sure to exclude it from component resol
7327
7368
  return vm;
7328
7369
  }
7329
7370
  }
7330
- Vue.version = `2.6.14-compat:${"3.5.26"}`;
7371
+ Vue.version = `2.6.14-compat:${"3.5.28"}`;
7331
7372
  Vue.config = singletonApp.config;
7332
7373
  Vue.use = (plugin, ...options) => {
7333
7374
  if (plugin && isFunction(plugin.install)) {
@@ -8441,7 +8482,7 @@ If you want to remount the same app, move your app creation logic into a factory
8441
8482
  const dynamicProps = nextVNode.dynamicProps;
8442
8483
  for (let i = 0; i < dynamicProps.length; i++) {
8443
8484
  const key = dynamicProps[i];
8444
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
8485
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
8445
8486
  return true;
8446
8487
  }
8447
8488
  }
@@ -8472,12 +8513,20 @@ If you want to remount the same app, move your app creation logic into a factory
8472
8513
  }
8473
8514
  for (let i = 0; i < nextKeys.length; i++) {
8474
8515
  const key = nextKeys[i];
8475
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
8516
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
8476
8517
  return true;
8477
8518
  }
8478
8519
  }
8479
8520
  return false;
8480
8521
  }
8522
+ function hasPropValueChanged(nextProps, prevProps, key) {
8523
+ const nextProp = nextProps[key];
8524
+ const prevProp = prevProps[key];
8525
+ if (key === "style" && isObject(nextProp) && isObject(prevProp)) {
8526
+ return !looseEqual(nextProp, prevProp);
8527
+ }
8528
+ return nextProp !== prevProp;
8529
+ }
8481
8530
  function updateHOCHostEl({ vnode, parent }, el) {
8482
8531
  while (parent) {
8483
8532
  const root = parent.subTree;
@@ -9253,15 +9302,7 @@ If you want to remount the same app, move your app creation logic into a factory
9253
9302
  } else {
9254
9303
  const el = n2.el = n1.el;
9255
9304
  if (n2.children !== n1.children) {
9256
- if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
9257
- const childNodes = container.childNodes;
9258
- const newChild = hostCreateText(n2.children);
9259
- const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
9260
- hostInsert(newChild, container, oldChild);
9261
- hostRemove(oldChild);
9262
- } else {
9263
- hostSetText(el, n2.children);
9264
- }
9305
+ hostSetText(el, n2.children);
9265
9306
  }
9266
9307
  }
9267
9308
  };
@@ -9337,7 +9378,7 @@ If you want to remount the same app, move your app creation logic into a factory
9337
9378
  optimized
9338
9379
  );
9339
9380
  } else {
9340
- const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null;
9381
+ const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
9341
9382
  try {
9342
9383
  if (customElement) {
9343
9384
  customElement._beginPatch();
@@ -9823,8 +9864,7 @@ If you want to remount the same app, move your app creation logic into a factory
9823
9864
  hydrateSubTree();
9824
9865
  }
9825
9866
  } else {
9826
- if (root.ce && // @ts-expect-error _def is private
9827
- root.ce._def.shadowRoot !== false) {
9867
+ if (root.ce && root.ce._hasShadowRoot()) {
9828
9868
  root.ce._injectChildStyle(type);
9829
9869
  }
9830
9870
  {
@@ -9891,9 +9931,9 @@ If you want to remount the same app, move your app creation logic into a factory
9891
9931
  updateComponentPreRender(instance, next, optimized);
9892
9932
  }
9893
9933
  nonHydratedAsyncRoot.asyncDep.then(() => {
9894
- if (!instance.isUnmounted) {
9895
- componentUpdateFn();
9896
- }
9934
+ queuePostRenderEffect(() => {
9935
+ if (!instance.isUnmounted) update();
9936
+ }, parentSuspense);
9897
9937
  });
9898
9938
  return;
9899
9939
  }
@@ -10608,12 +10648,10 @@ If you want to remount the same app, move your app creation logic into a factory
10608
10648
  traverseStaticChildren(c1, c2);
10609
10649
  }
10610
10650
  if (c2.type === Text) {
10611
- if (c2.patchFlag !== -1) {
10612
- c2.el = c1.el;
10613
- } else {
10614
- c2.__elIndex = i + // take fragment start anchor into account
10615
- (n1.type === Fragment ? 1 : 0);
10651
+ if (c2.patchFlag === -1) {
10652
+ c2 = ch2[i] = cloneIfMounted(c2);
10616
10653
  }
10654
+ c2.el = c1.el;
10617
10655
  }
10618
10656
  if (c2.type === Comment && !c2.el) {
10619
10657
  c2.el = c1.el;
@@ -12404,7 +12442,7 @@ Component that was made reactive: `,
12404
12442
  return true;
12405
12443
  }
12406
12444
 
12407
- const version = "3.5.26";
12445
+ const version = "3.5.28";
12408
12446
  const warn = warn$1 ;
12409
12447
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12410
12448
  const devtools = devtools$1 ;
@@ -13747,6 +13785,12 @@ Expected function or array of functions, received type ${typeof value}.`
13747
13785
  this._update();
13748
13786
  }
13749
13787
  }
13788
+ /**
13789
+ * @internal
13790
+ */
13791
+ _hasShadowRoot() {
13792
+ return this._def.shadowRoot !== false;
13793
+ }
13750
13794
  /**
13751
13795
  * @internal
13752
13796
  */
@@ -13878,10 +13922,7 @@ Expected function or array of functions, received type ${typeof value}.`
13878
13922
  instance
13879
13923
  )
13880
13924
  );
13881
- positionMap.set(child, {
13882
- left: child.el.offsetLeft,
13883
- top: child.el.offsetTop
13884
- });
13925
+ positionMap.set(child, getPosition(child.el));
13885
13926
  }
13886
13927
  }
13887
13928
  }
@@ -13912,10 +13953,7 @@ Expected function or array of functions, received type ${typeof value}.`
13912
13953
  }
13913
13954
  }
13914
13955
  function recordPosition(c) {
13915
- newPositionMap.set(c, {
13916
- left: c.el.offsetLeft,
13917
- top: c.el.offsetTop
13918
- });
13956
+ newPositionMap.set(c, getPosition(c.el));
13919
13957
  }
13920
13958
  function applyTranslation(c) {
13921
13959
  const oldPos = positionMap.get(c);
@@ -13923,12 +13961,29 @@ Expected function or array of functions, received type ${typeof value}.`
13923
13961
  const dx = oldPos.left - newPos.left;
13924
13962
  const dy = oldPos.top - newPos.top;
13925
13963
  if (dx || dy) {
13926
- const s = c.el.style;
13927
- s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
13964
+ const el = c.el;
13965
+ const s = el.style;
13966
+ const rect = el.getBoundingClientRect();
13967
+ let scaleX = 1;
13968
+ let scaleY = 1;
13969
+ if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
13970
+ if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
13971
+ if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
13972
+ if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
13973
+ if (Math.abs(scaleX - 1) < 0.01) scaleX = 1;
13974
+ if (Math.abs(scaleY - 1) < 0.01) scaleY = 1;
13975
+ s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
13928
13976
  s.transitionDuration = "0s";
13929
13977
  return c;
13930
13978
  }
13931
13979
  }
13980
+ function getPosition(el) {
13981
+ const rect = el.getBoundingClientRect();
13982
+ return {
13983
+ left: rect.left,
13984
+ top: rect.top
13985
+ };
13986
+ }
13932
13987
  function hasCSSTransform(el, root, moveClass) {
13933
13988
  const clone = el.cloneNode();
13934
13989
  const _vtc = el[vtcKey];
@@ -14205,6 +14260,7 @@ Expected function or array of functions, received type ${typeof value}.`
14205
14260
  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
14206
14261
  };
14207
14262
  const withModifiers = (fn, modifiers) => {
14263
+ if (!fn) return fn;
14208
14264
  const cache = fn._withMods || (fn._withMods = {});
14209
14265
  const cacheKey = modifiers.join(".");
14210
14266
  return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {