@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
  **/
@@ -359,6 +359,7 @@ const stringifySymbol = (v, i = "") => {
359
359
 
360
360
  let activeEffectScope;
361
361
  class EffectScope {
362
+ // TODO isolatedDeclarations "__v_skip"
362
363
  constructor(detached = false) {
363
364
  this.detached = detached;
364
365
  /**
@@ -378,6 +379,7 @@ class EffectScope {
378
379
  */
379
380
  this.cleanups = [];
380
381
  this._isPaused = false;
382
+ this.__v_skip = true;
381
383
  this.parent = activeEffectScope;
382
384
  if (!detached && activeEffectScope) {
383
385
  this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
@@ -1371,20 +1373,20 @@ function createIterableMethod(method, isReadonly2, isShallow2) {
1371
1373
  "iterate",
1372
1374
  isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
1373
1375
  );
1374
- return {
1375
- // iterator protocol
1376
- next() {
1377
- const { value, done } = innerIterator.next();
1378
- return done ? { value, done } : {
1379
- value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
1380
- done
1381
- };
1382
- },
1383
- // iterable protocol
1384
- [Symbol.iterator]() {
1385
- return this;
1376
+ return extend$1(
1377
+ // inheriting all iterator properties
1378
+ Object.create(innerIterator),
1379
+ {
1380
+ // iterator protocol
1381
+ next() {
1382
+ const { value, done } = innerIterator.next();
1383
+ return done ? { value, done } : {
1384
+ value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
1385
+ done
1386
+ };
1387
+ }
1386
1388
  }
1387
- };
1389
+ );
1388
1390
  };
1389
1391
  }
1390
1392
  function createReadonlyMethod(type) {
@@ -1575,8 +1577,9 @@ function targetTypeMap(rawType) {
1575
1577
  function getTargetType(value) {
1576
1578
  return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
1577
1579
  }
1580
+ // @__NO_SIDE_EFFECTS__
1578
1581
  function reactive(target) {
1579
- if (isReadonly(target)) {
1582
+ if (/* @__PURE__ */ isReadonly(target)) {
1580
1583
  return target;
1581
1584
  }
1582
1585
  return createReactiveObject(
@@ -1587,6 +1590,7 @@ function reactive(target) {
1587
1590
  reactiveMap
1588
1591
  );
1589
1592
  }
1593
+ // @__NO_SIDE_EFFECTS__
1590
1594
  function shallowReactive(target) {
1591
1595
  return createReactiveObject(
1592
1596
  target,
@@ -1596,6 +1600,7 @@ function shallowReactive(target) {
1596
1600
  shallowReactiveMap
1597
1601
  );
1598
1602
  }
1603
+ // @__NO_SIDE_EFFECTS__
1599
1604
  function readonly(target) {
1600
1605
  return createReactiveObject(
1601
1606
  target,
@@ -1605,6 +1610,7 @@ function readonly(target) {
1605
1610
  readonlyMap
1606
1611
  );
1607
1612
  }
1613
+ // @__NO_SIDE_EFFECTS__
1608
1614
  function shallowReadonly$1(target) {
1609
1615
  return createReactiveObject(
1610
1616
  target,
@@ -1636,24 +1642,29 @@ function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandl
1636
1642
  proxyMap.set(target, proxy);
1637
1643
  return proxy;
1638
1644
  }
1645
+ // @__NO_SIDE_EFFECTS__
1639
1646
  function isReactive(value) {
1640
- if (isReadonly(value)) {
1641
- return isReactive(value["__v_raw"]);
1647
+ if (/* @__PURE__ */ isReadonly(value)) {
1648
+ return /* @__PURE__ */ isReactive(value["__v_raw"]);
1642
1649
  }
1643
1650
  return !!(value && value["__v_isReactive"]);
1644
1651
  }
1652
+ // @__NO_SIDE_EFFECTS__
1645
1653
  function isReadonly(value) {
1646
1654
  return !!(value && value["__v_isReadonly"]);
1647
1655
  }
1656
+ // @__NO_SIDE_EFFECTS__
1648
1657
  function isShallow(value) {
1649
1658
  return !!(value && value["__v_isShallow"]);
1650
1659
  }
1660
+ // @__NO_SIDE_EFFECTS__
1651
1661
  function isProxy(value) {
1652
1662
  return value ? !!value["__v_raw"] : false;
1653
1663
  }
1664
+ // @__NO_SIDE_EFFECTS__
1654
1665
  function toRaw(observed) {
1655
1666
  const raw = observed && observed["__v_raw"];
1656
- return raw ? toRaw(raw) : observed;
1667
+ return raw ? /* @__PURE__ */ toRaw(raw) : observed;
1657
1668
  }
1658
1669
  function markRaw(value) {
1659
1670
  if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) {
@@ -1661,20 +1672,23 @@ function markRaw(value) {
1661
1672
  }
1662
1673
  return value;
1663
1674
  }
1664
- const toReactive = (value) => isObject(value) ? reactive(value) : value;
1665
- const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1675
+ const toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value;
1676
+ const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
1666
1677
 
1678
+ // @__NO_SIDE_EFFECTS__
1667
1679
  function isRef(r) {
1668
1680
  return r ? r["__v_isRef"] === true : false;
1669
1681
  }
1682
+ // @__NO_SIDE_EFFECTS__
1670
1683
  function ref(value) {
1671
1684
  return createRef(value, false);
1672
1685
  }
1686
+ // @__NO_SIDE_EFFECTS__
1673
1687
  function shallowRef(value) {
1674
1688
  return createRef(value, true);
1675
1689
  }
1676
1690
  function createRef(rawValue, shallow) {
1677
- if (isRef(rawValue)) {
1691
+ if (/* @__PURE__ */ isRef(rawValue)) {
1678
1692
  return rawValue;
1679
1693
  }
1680
1694
  return new RefImpl(rawValue, shallow);
@@ -1715,7 +1729,7 @@ function triggerRef(ref2) {
1715
1729
  }
1716
1730
  }
1717
1731
  function unref(ref2) {
1718
- return isRef(ref2) ? ref2.value : ref2;
1732
+ return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2;
1719
1733
  }
1720
1734
  function toValue(source) {
1721
1735
  return isFunction(source) ? source() : unref(source);
@@ -1724,7 +1738,7 @@ const shallowUnwrapHandlers = {
1724
1738
  get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)),
1725
1739
  set: (target, key, value, receiver) => {
1726
1740
  const oldValue = target[key];
1727
- if (isRef(oldValue) && !isRef(value)) {
1741
+ if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
1728
1742
  oldValue.value = value;
1729
1743
  return true;
1730
1744
  } else {
@@ -1754,6 +1768,7 @@ class CustomRefImpl {
1754
1768
  function customRef(factory) {
1755
1769
  return new CustomRefImpl(factory);
1756
1770
  }
1771
+ // @__NO_SIDE_EFFECTS__
1757
1772
  function toRefs(object) {
1758
1773
  const ret = isArray(object) ? new Array(object.length) : {};
1759
1774
  for (const key in object) {
@@ -1786,9 +1801,9 @@ class ObjectRefImpl {
1786
1801
  return this._value = val === void 0 ? this._defaultValue : val;
1787
1802
  }
1788
1803
  set value(newVal) {
1789
- if (this._shallow && isRef(this._raw[this._key])) {
1804
+ if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) {
1790
1805
  const nestedRef = this._object[this._key];
1791
- if (isRef(nestedRef)) {
1806
+ if (/* @__PURE__ */ isRef(nestedRef)) {
1792
1807
  nestedRef.value = newVal;
1793
1808
  return;
1794
1809
  }
@@ -1810,15 +1825,16 @@ class GetterRefImpl {
1810
1825
  return this._value = this._getter();
1811
1826
  }
1812
1827
  }
1828
+ // @__NO_SIDE_EFFECTS__
1813
1829
  function toRef(source, key, defaultValue) {
1814
- if (isRef(source)) {
1830
+ if (/* @__PURE__ */ isRef(source)) {
1815
1831
  return source;
1816
1832
  } else if (isFunction(source)) {
1817
1833
  return new GetterRefImpl(source);
1818
1834
  } else if (isObject(source) && arguments.length > 1) {
1819
1835
  return propertyToRef(source, key, defaultValue);
1820
1836
  } else {
1821
- return ref(source);
1837
+ return /* @__PURE__ */ ref(source);
1822
1838
  }
1823
1839
  }
1824
1840
  function propertyToRef(source, key, defaultValue) {
@@ -1893,6 +1909,7 @@ class ComputedRefImpl {
1893
1909
  }
1894
1910
  }
1895
1911
  }
1912
+ // @__NO_SIDE_EFFECTS__
1896
1913
  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1897
1914
  let getter;
1898
1915
  let setter;
@@ -3052,7 +3069,22 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3052
3069
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
3053
3070
  o: { nextSibling, parentNode, querySelector, insert, createText }
3054
3071
  }, hydrateChildren) {
3055
- function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
3072
+ function hydrateAnchor(target2, targetNode) {
3073
+ let targetAnchor = targetNode;
3074
+ while (targetAnchor) {
3075
+ if (targetAnchor && targetAnchor.nodeType === 8) {
3076
+ if (targetAnchor.data === "teleport start anchor") {
3077
+ vnode.targetStart = targetAnchor;
3078
+ } else if (targetAnchor.data === "teleport anchor") {
3079
+ vnode.targetAnchor = targetAnchor;
3080
+ target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3081
+ break;
3082
+ }
3083
+ }
3084
+ targetAnchor = nextSibling(targetAnchor);
3085
+ }
3086
+ }
3087
+ function hydrateDisabledTeleport(node2, vnode2) {
3056
3088
  vnode2.anchor = hydrateChildren(
3057
3089
  nextSibling(node2),
3058
3090
  vnode2,
@@ -3062,8 +3094,6 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3062
3094
  slotScopeIds,
3063
3095
  optimized
3064
3096
  );
3065
- vnode2.targetStart = targetStart;
3066
- vnode2.targetAnchor = targetAnchor;
3067
3097
  }
3068
3098
  const target = vnode.target = resolveTarget(
3069
3099
  vnode.props,
@@ -3074,27 +3104,22 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3074
3104
  const targetNode = target._lpa || target.firstChild;
3075
3105
  if (vnode.shapeFlag & 16) {
3076
3106
  if (disabled) {
3077
- hydrateDisabledTeleport(
3078
- node,
3079
- vnode,
3080
- targetNode,
3081
- targetNode && nextSibling(targetNode)
3082
- );
3107
+ hydrateDisabledTeleport(node, vnode);
3108
+ hydrateAnchor(target, targetNode);
3109
+ if (!vnode.targetAnchor) {
3110
+ prepareAnchor(
3111
+ target,
3112
+ vnode,
3113
+ createText,
3114
+ insert,
3115
+ // if target is the same as the main view, insert anchors before current node
3116
+ // to avoid hydrating mismatch
3117
+ parentNode(node) === target ? node : null
3118
+ );
3119
+ }
3083
3120
  } else {
3084
3121
  vnode.anchor = nextSibling(node);
3085
- let targetAnchor = targetNode;
3086
- while (targetAnchor) {
3087
- if (targetAnchor && targetAnchor.nodeType === 8) {
3088
- if (targetAnchor.data === "teleport start anchor") {
3089
- vnode.targetStart = targetAnchor;
3090
- } else if (targetAnchor.data === "teleport anchor") {
3091
- vnode.targetAnchor = targetAnchor;
3092
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3093
- break;
3094
- }
3095
- }
3096
- targetAnchor = nextSibling(targetAnchor);
3097
- }
3122
+ hydrateAnchor(target, targetNode);
3098
3123
  if (!vnode.targetAnchor) {
3099
3124
  prepareAnchor(target, vnode, createText, insert);
3100
3125
  }
@@ -3112,7 +3137,9 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3112
3137
  updateCssVars(vnode, disabled);
3113
3138
  } else if (disabled) {
3114
3139
  if (vnode.shapeFlag & 16) {
3115
- hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3140
+ hydrateDisabledTeleport(node, vnode);
3141
+ vnode.targetStart = node;
3142
+ vnode.targetAnchor = nextSibling(node);
3116
3143
  }
3117
3144
  }
3118
3145
  return vnode.anchor && nextSibling(vnode.anchor);
@@ -3136,13 +3163,13 @@ function updateCssVars(vnode, isDisabled) {
3136
3163
  ctx.ut();
3137
3164
  }
3138
3165
  }
3139
- function prepareAnchor(target, vnode, createText, insert) {
3166
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
3140
3167
  const targetStart = vnode.targetStart = createText("");
3141
3168
  const targetAnchor = vnode.targetAnchor = createText("");
3142
3169
  targetStart[TeleportEndKey] = targetAnchor;
3143
3170
  if (target) {
3144
- insert(targetStart, target);
3145
- insert(targetAnchor, target);
3171
+ insert(targetStart, target, anchor);
3172
+ insert(targetAnchor, target, anchor);
3146
3173
  }
3147
3174
  return targetAnchor;
3148
3175
  }
@@ -3370,7 +3397,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
3370
3397
  }
3371
3398
  }
3372
3399
  let called = false;
3373
- const done = el[enterCbKey$1] = (cancelled) => {
3400
+ el[enterCbKey$1] = (cancelled) => {
3374
3401
  if (called) return;
3375
3402
  called = true;
3376
3403
  if (cancelled) {
@@ -3383,6 +3410,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
3383
3410
  }
3384
3411
  el[enterCbKey$1] = void 0;
3385
3412
  };
3413
+ const done = el[enterCbKey$1].bind(null, false);
3386
3414
  if (hook) {
3387
3415
  callAsyncHook(hook, [el, done]);
3388
3416
  } else {
@@ -3402,7 +3430,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
3402
3430
  }
3403
3431
  callHook(onBeforeLeave, [el]);
3404
3432
  let called = false;
3405
- const done = el[leaveCbKey] = (cancelled) => {
3433
+ el[leaveCbKey] = (cancelled) => {
3406
3434
  if (called) return;
3407
3435
  called = true;
3408
3436
  remove();
@@ -3416,6 +3444,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
3416
3444
  delete leavingVNodesCache[key2];
3417
3445
  }
3418
3446
  };
3447
+ const done = el[leaveCbKey].bind(null, false);
3419
3448
  leavingVNodesCache[key2] = vnode;
3420
3449
  if (onLeave) {
3421
3450
  callAsyncHook(onLeave, [el, done]);
@@ -3534,6 +3563,10 @@ function useTemplateRef(key) {
3534
3563
  const ret = r;
3535
3564
  return ret;
3536
3565
  }
3566
+ function isTemplateRefKey(refs, key) {
3567
+ let desc;
3568
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
3569
+ }
3537
3570
 
3538
3571
  const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
3539
3572
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
@@ -3563,8 +3596,17 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3563
3596
  const setupState = owner.setupState;
3564
3597
  const rawSetupState = toRaw(setupState);
3565
3598
  const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => {
3599
+ if (isTemplateRefKey(refs, key)) {
3600
+ return false;
3601
+ }
3566
3602
  return hasOwn(rawSetupState, key);
3567
3603
  };
3604
+ const canSetRef = (ref2, key) => {
3605
+ if (key && isTemplateRefKey(refs, key)) {
3606
+ return false;
3607
+ }
3608
+ return true;
3609
+ };
3568
3610
  if (oldRef != null && oldRef !== ref) {
3569
3611
  invalidatePendingSetRef(oldRawRef);
3570
3612
  if (isString(oldRef)) {
@@ -3573,10 +3615,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3573
3615
  setupState[oldRef] = null;
3574
3616
  }
3575
3617
  } else if (isRef(oldRef)) {
3576
- {
3618
+ const oldRawRefAtom = oldRawRef;
3619
+ if (canSetRef(oldRef, oldRawRefAtom.k)) {
3577
3620
  oldRef.value = null;
3578
3621
  }
3579
- const oldRawRefAtom = oldRawRef;
3580
3622
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
3581
3623
  }
3582
3624
  }
@@ -3588,7 +3630,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3588
3630
  if (_isString || _isRef) {
3589
3631
  const doSet = () => {
3590
3632
  if (rawRef.f) {
3591
- const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value ;
3633
+ const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef() || !rawRef.k ? ref.value : refs[rawRef.k];
3592
3634
  if (isUnmount) {
3593
3635
  isArray(existing) && remove(existing, refValue);
3594
3636
  } else {
@@ -3600,7 +3642,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3600
3642
  }
3601
3643
  } else {
3602
3644
  const newVal = [refValue];
3603
- {
3645
+ if (canSetRef(ref, rawRef.k)) {
3604
3646
  ref.value = newVal;
3605
3647
  }
3606
3648
  if (rawRef.k) refs[rawRef.k] = newVal;
@@ -3615,7 +3657,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3615
3657
  setupState[ref] = value;
3616
3658
  }
3617
3659
  } else if (_isRef) {
3618
- {
3660
+ if (canSetRef(ref, rawRef.k)) {
3619
3661
  ref.value = value;
3620
3662
  }
3621
3663
  if (rawRef.k) refs[rawRef.k] = value;
@@ -3911,7 +3953,7 @@ function createHydrationFunctions(rendererInternals) {
3911
3953
  const isCustomElement = el.tagName.includes("-");
3912
3954
  for (const key in props) {
3913
3955
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
3914
- key[0] === "." || isCustomElement) {
3956
+ key[0] === "." || isCustomElement && !isReservedProp(key)) {
3915
3957
  patchProp(el, key, null, props[key], void 0, parentComponent);
3916
3958
  }
3917
3959
  }
@@ -5999,7 +6041,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5999
6041
  return vm;
6000
6042
  }
6001
6043
  }
6002
- Vue.version = `2.6.14-compat:${"3.5.26"}`;
6044
+ Vue.version = `2.6.14-compat:${"3.5.28"}`;
6003
6045
  Vue.config = singletonApp.config;
6004
6046
  Vue.use = (plugin, ...options) => {
6005
6047
  if (plugin && isFunction(plugin.install)) {
@@ -6854,7 +6896,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
6854
6896
  const dynamicProps = nextVNode.dynamicProps;
6855
6897
  for (let i = 0; i < dynamicProps.length; i++) {
6856
6898
  const key = dynamicProps[i];
6857
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
6899
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
6858
6900
  return true;
6859
6901
  }
6860
6902
  }
@@ -6885,12 +6927,20 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
6885
6927
  }
6886
6928
  for (let i = 0; i < nextKeys.length; i++) {
6887
6929
  const key = nextKeys[i];
6888
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
6930
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
6889
6931
  return true;
6890
6932
  }
6891
6933
  }
6892
6934
  return false;
6893
6935
  }
6936
+ function hasPropValueChanged(nextProps, prevProps, key) {
6937
+ const nextProp = nextProps[key];
6938
+ const prevProp = prevProps[key];
6939
+ if (key === "style" && isObject(nextProp) && isObject(prevProp)) {
6940
+ return !looseEqual(nextProp, prevProp);
6941
+ }
6942
+ return nextProp !== prevProp;
6943
+ }
6894
6944
  function updateHOCHostEl({ vnode, parent }, el) {
6895
6945
  while (parent) {
6896
6946
  const root = parent.subTree;
@@ -7468,9 +7518,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7468
7518
  } else {
7469
7519
  const el = n2.el = n1.el;
7470
7520
  if (n2.children !== n1.children) {
7471
- {
7472
- hostSetText(el, n2.children);
7473
- }
7521
+ hostSetText(el, n2.children);
7474
7522
  }
7475
7523
  }
7476
7524
  };
@@ -7531,7 +7579,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7531
7579
  optimized
7532
7580
  );
7533
7581
  } else {
7534
- const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null;
7582
+ const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
7535
7583
  try {
7536
7584
  if (customElement) {
7537
7585
  customElement._beginPatch();
@@ -7966,8 +8014,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7966
8014
  hydrateSubTree();
7967
8015
  }
7968
8016
  } else {
7969
- if (root.ce && // @ts-expect-error _def is private
7970
- root.ce._def.shadowRoot !== false) {
8017
+ if (root.ce && root.ce._hasShadowRoot()) {
7971
8018
  root.ce._injectChildStyle(type);
7972
8019
  }
7973
8020
  const subTree = instance.subTree = renderComponentRoot(instance);
@@ -8019,9 +8066,9 @@ function baseCreateRenderer(options, createHydrationFns) {
8019
8066
  updateComponentPreRender(instance, next, optimized);
8020
8067
  }
8021
8068
  nonHydratedAsyncRoot.asyncDep.then(() => {
8022
- if (!instance.isUnmounted) {
8023
- componentUpdateFn();
8024
- }
8069
+ queuePostRenderEffect(() => {
8070
+ if (!instance.isUnmounted) update();
8071
+ }, parentSuspense);
8025
8072
  });
8026
8073
  return;
8027
8074
  }
@@ -8690,12 +8737,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
8690
8737
  traverseStaticChildren(c1, c2);
8691
8738
  }
8692
8739
  if (c2.type === Text) {
8693
- if (c2.patchFlag !== -1) {
8694
- c2.el = c1.el;
8695
- } else {
8696
- c2.__elIndex = i + // take fragment start anchor into account
8697
- (n1.type === Fragment ? 1 : 0);
8740
+ if (c2.patchFlag === -1) {
8741
+ c2 = ch2[i] = cloneIfMounted(c2);
8698
8742
  }
8743
+ c2.el = c1.el;
8699
8744
  }
8700
8745
  if (c2.type === Comment && !c2.el) {
8701
8746
  c2.el = c1.el;
@@ -10108,7 +10153,7 @@ function isMemoSame(cached, memo) {
10108
10153
  return true;
10109
10154
  }
10110
10155
 
10111
- const version = "3.5.26";
10156
+ const version = "3.5.28";
10112
10157
  const warn$1 = NOOP;
10113
10158
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10114
10159
  const devtools = void 0;
@@ -11330,6 +11375,12 @@ class VueElement extends BaseClass {
11330
11375
  this._update();
11331
11376
  }
11332
11377
  }
11378
+ /**
11379
+ * @internal
11380
+ */
11381
+ _hasShadowRoot() {
11382
+ return this._def.shadowRoot !== false;
11383
+ }
11333
11384
  /**
11334
11385
  * @internal
11335
11386
  */
@@ -11450,10 +11501,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
11450
11501
  instance
11451
11502
  )
11452
11503
  );
11453
- positionMap.set(child, {
11454
- left: child.el.offsetLeft,
11455
- top: child.el.offsetTop
11456
- });
11504
+ positionMap.set(child, getPosition(child.el));
11457
11505
  }
11458
11506
  }
11459
11507
  }
@@ -11482,10 +11530,7 @@ function callPendingCbs(c) {
11482
11530
  }
11483
11531
  }
11484
11532
  function recordPosition(c) {
11485
- newPositionMap.set(c, {
11486
- left: c.el.offsetLeft,
11487
- top: c.el.offsetTop
11488
- });
11533
+ newPositionMap.set(c, getPosition(c.el));
11489
11534
  }
11490
11535
  function applyTranslation(c) {
11491
11536
  const oldPos = positionMap.get(c);
@@ -11493,12 +11538,29 @@ function applyTranslation(c) {
11493
11538
  const dx = oldPos.left - newPos.left;
11494
11539
  const dy = oldPos.top - newPos.top;
11495
11540
  if (dx || dy) {
11496
- const s = c.el.style;
11497
- s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
11541
+ const el = c.el;
11542
+ const s = el.style;
11543
+ const rect = el.getBoundingClientRect();
11544
+ let scaleX = 1;
11545
+ let scaleY = 1;
11546
+ if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
11547
+ if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
11548
+ if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
11549
+ if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
11550
+ if (Math.abs(scaleX - 1) < 0.01) scaleX = 1;
11551
+ if (Math.abs(scaleY - 1) < 0.01) scaleY = 1;
11552
+ s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
11498
11553
  s.transitionDuration = "0s";
11499
11554
  return c;
11500
11555
  }
11501
11556
  }
11557
+ function getPosition(el) {
11558
+ const rect = el.getBoundingClientRect();
11559
+ return {
11560
+ left: rect.left,
11561
+ top: rect.top
11562
+ };
11563
+ }
11502
11564
  function hasCSSTransform(el, root, moveClass) {
11503
11565
  const clone = el.cloneNode();
11504
11566
  const _vtc = el[vtcKey];
@@ -11806,6 +11868,7 @@ const modifierGuards = {
11806
11868
  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
11807
11869
  };
11808
11870
  const withModifiers = (fn, modifiers) => {
11871
+ if (!fn) return fn;
11809
11872
  const cache = fn._withMods || (fn._withMods = {});
11810
11873
  const cacheKey = modifiers.join(".");
11811
11874
  return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {