@vue/runtime-core 3.5.33 → 3.5.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.33
2
+ * @vue/runtime-core v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1158,19 +1158,18 @@ const TeleportImpl = {
1158
1158
  target,
1159
1159
  props
1160
1160
  } = vnode;
1161
- let shouldRemove = doRemove || !isTeleportDisabled(props);
1161
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
1162
1162
  const pendingMount = pendingMounts.get(vnode);
1163
1163
  if (pendingMount) {
1164
1164
  pendingMount.flags |= 8;
1165
1165
  pendingMounts.delete(vnode);
1166
- shouldRemove = false;
1167
1166
  }
1168
1167
  if (target) {
1169
1168
  hostRemove(targetStart);
1170
1169
  hostRemove(targetAnchor);
1171
1170
  }
1172
1171
  doRemove && hostRemove(anchor);
1173
- if (shapeFlag & 16) {
1172
+ if (!pendingMount && shapeFlag & 16) {
1174
1173
  for (let i = 0; i < children.length; i++) {
1175
1174
  const child = children[i];
1176
1175
  unmount(
@@ -2138,20 +2137,16 @@ function createHydrationFunctions(rendererInternals) {
2138
2137
  slotScopeIds,
2139
2138
  optimized
2140
2139
  );
2141
- let hasWarned = false;
2142
- while (next) {
2143
- if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {
2144
- if (!hasWarned) {
2145
- warn$1(
2146
- `Hydration children mismatch on`,
2147
- el,
2148
- `
2140
+ if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {
2141
+ warn$1(
2142
+ `Hydration children mismatch on`,
2143
+ el,
2144
+ `
2149
2145
  Server rendered element contains more child nodes than client vdom.`
2150
- );
2151
- hasWarned = true;
2152
- }
2153
- logMismatchError();
2154
- }
2146
+ );
2147
+ logMismatchError();
2148
+ }
2149
+ while (next) {
2155
2150
  const cur = next;
2156
2151
  next = next.nextSibling;
2157
2152
  remove(cur);
@@ -2214,7 +2209,7 @@ Server rendered element contains more child nodes than client vdom.`
2214
2209
  optimized = optimized || !!parentVNode.dynamicChildren;
2215
2210
  const children = parentVNode.children;
2216
2211
  const l = children.length;
2217
- let hasWarned = false;
2212
+ let hasCheckedMismatch = false;
2218
2213
  for (let i = 0; i < l; i++) {
2219
2214
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
2220
2215
  const isText = vnode.type === Text;
@@ -2242,17 +2237,17 @@ Server rendered element contains more child nodes than client vdom.`
2242
2237
  } else if (isText && !vnode.children) {
2243
2238
  insert(vnode.el = createText(""), container);
2244
2239
  } else {
2245
- if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
2246
- if (!hasWarned) {
2240
+ if (!hasCheckedMismatch) {
2241
+ hasCheckedMismatch = true;
2242
+ if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
2247
2243
  warn$1(
2248
2244
  `Hydration children mismatch on`,
2249
2245
  container,
2250
2246
  `
2251
2247
  Server rendered element contains fewer child nodes than client vdom.`
2252
2248
  );
2253
- hasWarned = true;
2249
+ logMismatchError();
2254
2250
  }
2255
- logMismatchError();
2256
2251
  }
2257
2252
  patch(
2258
2253
  null,
@@ -5185,7 +5180,7 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
5185
5180
  const receivedType = shared.toRawType(value);
5186
5181
  const expectedValue = styleValue(value, expectedType);
5187
5182
  const receivedValue = styleValue(value, receivedType);
5188
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
5183
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {
5189
5184
  message += ` with value ${expectedValue}`;
5190
5185
  }
5191
5186
  message += `, got ${receivedType} `;
@@ -5195,7 +5190,9 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
5195
5190
  return message;
5196
5191
  }
5197
5192
  function styleValue(value, type) {
5198
- if (type === "String") {
5193
+ if (shared.isSymbol(value)) {
5194
+ return value.toString();
5195
+ } else if (type === "String") {
5199
5196
  return `"${value}"`;
5200
5197
  } else if (type === "Number") {
5201
5198
  return `${Number(value)}`;
@@ -5207,8 +5204,11 @@ function isExplicable(type) {
5207
5204
  const explicitTypes = ["string", "number", "boolean"];
5208
5205
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
5209
5206
  }
5210
- function isBoolean(...args) {
5211
- return args.some((elem) => elem.toLowerCase() === "boolean");
5207
+ function isCoercible(...args) {
5208
+ return args.every((elem) => {
5209
+ const value = elem.toLowerCase();
5210
+ return value !== "boolean" && value !== "symbol";
5211
+ });
5212
5212
  }
5213
5213
 
5214
5214
  const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
@@ -6526,9 +6526,13 @@ function baseCreateRenderer(options, createHydrationFns) {
6526
6526
  const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
6527
6527
  if (needTransition2) {
6528
6528
  if (moveType === 0) {
6529
- transition.beforeEnter(el);
6530
- hostInsert(el, container, anchor);
6531
- queuePostRenderEffect(() => transition.enter(el), parentSuspense);
6529
+ if (transition.persisted && !el[leaveCbKey]) {
6530
+ hostInsert(el, container, anchor);
6531
+ } else {
6532
+ transition.beforeEnter(el);
6533
+ hostInsert(el, container, anchor);
6534
+ queuePostRenderEffect(() => transition.enter(el), parentSuspense);
6535
+ }
6532
6536
  } else {
6533
6537
  const { leave, delayLeave, afterLeave } = transition;
6534
6538
  const remove2 = () => {
@@ -6539,16 +6543,21 @@ function baseCreateRenderer(options, createHydrationFns) {
6539
6543
  }
6540
6544
  };
6541
6545
  const performLeave = () => {
6546
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
6542
6547
  if (el._isLeaving) {
6543
6548
  el[leaveCbKey](
6544
6549
  true
6545
6550
  /* cancelled */
6546
6551
  );
6547
6552
  }
6548
- leave(el, () => {
6553
+ if (transition.persisted && !wasLeaving) {
6549
6554
  remove2();
6550
- afterLeave && afterLeave();
6551
- });
6555
+ } else {
6556
+ leave(el, () => {
6557
+ remove2();
6558
+ afterLeave && afterLeave();
6559
+ });
6560
+ }
6552
6561
  };
6553
6562
  if (delayLeave) {
6554
6563
  delayLeave(el, remove2, performLeave);
@@ -7228,13 +7237,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
7228
7237
  suspense.isHydrating = false;
7229
7238
  } else if (!resume) {
7230
7239
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
7240
+ let hasUpdatedAnchor = false;
7231
7241
  if (delayEnter) {
7232
7242
  activeBranch.transition.afterLeave = () => {
7233
7243
  if (pendingId === suspense.pendingId) {
7234
7244
  move(
7235
7245
  pendingBranch,
7236
7246
  container2,
7237
- anchor === initialAnchor ? next(activeBranch) : anchor,
7247
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
7238
7248
  0
7239
7249
  );
7240
7250
  queuePostFlushCb(effects);
@@ -7247,6 +7257,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
7247
7257
  if (activeBranch && !suspense.isFallbackMountPending) {
7248
7258
  if (parentNode(activeBranch.el) === container2) {
7249
7259
  anchor = next(activeBranch);
7260
+ hasUpdatedAnchor = true;
7250
7261
  }
7251
7262
  unmount(activeBranch, parentComponent2, suspense, true);
7252
7263
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -8553,7 +8564,7 @@ function isMemoSame(cached, memo) {
8553
8564
  return true;
8554
8565
  }
8555
8566
 
8556
- const version = "3.5.33";
8567
+ const version = "3.5.35";
8557
8568
  const warn = warn$1 ;
8558
8569
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8559
8570
  const devtools = devtools$1 ;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.33
2
+ * @vue/runtime-core v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -702,19 +702,18 @@ const TeleportImpl = {
702
702
  target,
703
703
  props
704
704
  } = vnode;
705
- let shouldRemove = doRemove || !isTeleportDisabled(props);
705
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
706
706
  const pendingMount = pendingMounts.get(vnode);
707
707
  if (pendingMount) {
708
708
  pendingMount.flags |= 8;
709
709
  pendingMounts.delete(vnode);
710
- shouldRemove = false;
711
710
  }
712
711
  if (target) {
713
712
  hostRemove(targetStart);
714
713
  hostRemove(targetAnchor);
715
714
  }
716
715
  doRemove && hostRemove(anchor);
717
- if (shapeFlag & 16) {
716
+ if (!pendingMount && shapeFlag & 16) {
718
717
  for (let i = 0; i < children.length; i++) {
719
718
  const child = children[i];
720
719
  unmount(
@@ -1617,10 +1616,10 @@ function createHydrationFunctions(rendererInternals) {
1617
1616
  slotScopeIds,
1618
1617
  optimized
1619
1618
  );
1619
+ if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {
1620
+ logMismatchError();
1621
+ }
1620
1622
  while (next) {
1621
- if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {
1622
- logMismatchError();
1623
- }
1624
1623
  const cur = next;
1625
1624
  next = next.nextSibling;
1626
1625
  remove(cur);
@@ -1682,6 +1681,7 @@ function createHydrationFunctions(rendererInternals) {
1682
1681
  optimized = optimized || !!parentVNode.dynamicChildren;
1683
1682
  const children = parentVNode.children;
1684
1683
  const l = children.length;
1684
+ let hasCheckedMismatch = false;
1685
1685
  for (let i = 0; i < l; i++) {
1686
1686
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
1687
1687
  const isText = vnode.type === Text;
@@ -1709,8 +1709,11 @@ function createHydrationFunctions(rendererInternals) {
1709
1709
  } else if (isText && !vnode.children) {
1710
1710
  insert(vnode.el = createText(""), container);
1711
1711
  } else {
1712
- if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
1713
- logMismatchError();
1712
+ if (!hasCheckedMismatch) {
1713
+ hasCheckedMismatch = true;
1714
+ if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
1715
+ logMismatchError();
1716
+ }
1714
1717
  }
1715
1718
  patch(
1716
1719
  null,
@@ -5067,9 +5070,13 @@ function baseCreateRenderer(options, createHydrationFns) {
5067
5070
  const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
5068
5071
  if (needTransition2) {
5069
5072
  if (moveType === 0) {
5070
- transition.beforeEnter(el);
5071
- hostInsert(el, container, anchor);
5072
- queuePostRenderEffect(() => transition.enter(el), parentSuspense);
5073
+ if (transition.persisted && !el[leaveCbKey]) {
5074
+ hostInsert(el, container, anchor);
5075
+ } else {
5076
+ transition.beforeEnter(el);
5077
+ hostInsert(el, container, anchor);
5078
+ queuePostRenderEffect(() => transition.enter(el), parentSuspense);
5079
+ }
5073
5080
  } else {
5074
5081
  const { leave, delayLeave, afterLeave } = transition;
5075
5082
  const remove2 = () => {
@@ -5080,16 +5087,21 @@ function baseCreateRenderer(options, createHydrationFns) {
5080
5087
  }
5081
5088
  };
5082
5089
  const performLeave = () => {
5090
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
5083
5091
  if (el._isLeaving) {
5084
5092
  el[leaveCbKey](
5085
5093
  true
5086
5094
  /* cancelled */
5087
5095
  );
5088
5096
  }
5089
- leave(el, () => {
5097
+ if (transition.persisted && !wasLeaving) {
5090
5098
  remove2();
5091
- afterLeave && afterLeave();
5092
- });
5099
+ } else {
5100
+ leave(el, () => {
5101
+ remove2();
5102
+ afterLeave && afterLeave();
5103
+ });
5104
+ }
5093
5105
  };
5094
5106
  if (delayLeave) {
5095
5107
  delayLeave(el, remove2, performLeave);
@@ -5730,13 +5742,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
5730
5742
  suspense.isHydrating = false;
5731
5743
  } else if (!resume) {
5732
5744
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
5745
+ let hasUpdatedAnchor = false;
5733
5746
  if (delayEnter) {
5734
5747
  activeBranch.transition.afterLeave = () => {
5735
5748
  if (pendingId === suspense.pendingId) {
5736
5749
  move(
5737
5750
  pendingBranch,
5738
5751
  container2,
5739
- anchor === initialAnchor ? next(activeBranch) : anchor,
5752
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
5740
5753
  0
5741
5754
  );
5742
5755
  queuePostFlushCb(effects);
@@ -5749,6 +5762,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
5749
5762
  if (activeBranch && !suspense.isFallbackMountPending) {
5750
5763
  if (parentNode(activeBranch.el) === container2) {
5751
5764
  anchor = next(activeBranch);
5765
+ hasUpdatedAnchor = true;
5752
5766
  }
5753
5767
  unmount(activeBranch, parentComponent2, suspense, true);
5754
5768
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -6691,7 +6705,7 @@ function isMemoSame(cached, memo) {
6691
6705
  return true;
6692
6706
  }
6693
6707
 
6694
- const version = "3.5.33";
6708
+ const version = "3.5.35";
6695
6709
  const warn$1 = shared.NOOP;
6696
6710
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
6697
6711
  const devtools = void 0;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.33
2
+ * @vue/runtime-core v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1161,19 +1161,18 @@ const TeleportImpl = {
1161
1161
  target,
1162
1162
  props
1163
1163
  } = vnode;
1164
- let shouldRemove = doRemove || !isTeleportDisabled(props);
1164
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
1165
1165
  const pendingMount = pendingMounts.get(vnode);
1166
1166
  if (pendingMount) {
1167
1167
  pendingMount.flags |= 8;
1168
1168
  pendingMounts.delete(vnode);
1169
- shouldRemove = false;
1170
1169
  }
1171
1170
  if (target) {
1172
1171
  hostRemove(targetStart);
1173
1172
  hostRemove(targetAnchor);
1174
1173
  }
1175
1174
  doRemove && hostRemove(anchor);
1176
- if (shapeFlag & 16) {
1175
+ if (!pendingMount && shapeFlag & 16) {
1177
1176
  for (let i = 0; i < children.length; i++) {
1178
1177
  const child = children[i];
1179
1178
  unmount(
@@ -2142,20 +2141,16 @@ function createHydrationFunctions(rendererInternals) {
2142
2141
  slotScopeIds,
2143
2142
  optimized
2144
2143
  );
2145
- let hasWarned = false;
2146
- while (next) {
2147
- if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {
2148
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
2149
- warn$1(
2150
- `Hydration children mismatch on`,
2151
- el,
2152
- `
2144
+ if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {
2145
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
2146
+ `Hydration children mismatch on`,
2147
+ el,
2148
+ `
2153
2149
  Server rendered element contains more child nodes than client vdom.`
2154
- );
2155
- hasWarned = true;
2156
- }
2157
- logMismatchError();
2158
- }
2150
+ );
2151
+ logMismatchError();
2152
+ }
2153
+ while (next) {
2159
2154
  const cur = next;
2160
2155
  next = next.nextSibling;
2161
2156
  remove(cur);
@@ -2229,7 +2224,7 @@ Server rendered element contains more child nodes than client vdom.`
2229
2224
  optimized = optimized || !!parentVNode.dynamicChildren;
2230
2225
  const children = parentVNode.children;
2231
2226
  const l = children.length;
2232
- let hasWarned = false;
2227
+ let hasCheckedMismatch = false;
2233
2228
  for (let i = 0; i < l; i++) {
2234
2229
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
2235
2230
  const isText = vnode.type === Text;
@@ -2257,17 +2252,17 @@ Server rendered element contains more child nodes than client vdom.`
2257
2252
  } else if (isText && !vnode.children) {
2258
2253
  insert(vnode.el = createText(""), container);
2259
2254
  } else {
2260
- if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
2261
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
2262
- warn$1(
2255
+ if (!hasCheckedMismatch) {
2256
+ hasCheckedMismatch = true;
2257
+ if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
2258
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
2263
2259
  `Hydration children mismatch on`,
2264
2260
  container,
2265
2261
  `
2266
2262
  Server rendered element contains fewer child nodes than client vdom.`
2267
2263
  );
2268
- hasWarned = true;
2264
+ logMismatchError();
2269
2265
  }
2270
- logMismatchError();
2271
2266
  }
2272
2267
  patch(
2273
2268
  null,
@@ -5207,7 +5202,7 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
5207
5202
  const receivedType = toRawType(value);
5208
5203
  const expectedValue = styleValue(value, expectedType);
5209
5204
  const receivedValue = styleValue(value, receivedType);
5210
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
5205
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {
5211
5206
  message += ` with value ${expectedValue}`;
5212
5207
  }
5213
5208
  message += `, got ${receivedType} `;
@@ -5217,7 +5212,9 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
5217
5212
  return message;
5218
5213
  }
5219
5214
  function styleValue(value, type) {
5220
- if (type === "String") {
5215
+ if (isSymbol(value)) {
5216
+ return value.toString();
5217
+ } else if (type === "String") {
5221
5218
  return `"${value}"`;
5222
5219
  } else if (type === "Number") {
5223
5220
  return `${Number(value)}`;
@@ -5229,8 +5226,11 @@ function isExplicable(type) {
5229
5226
  const explicitTypes = ["string", "number", "boolean"];
5230
5227
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
5231
5228
  }
5232
- function isBoolean(...args) {
5233
- return args.some((elem) => elem.toLowerCase() === "boolean");
5229
+ function isCoercible(...args) {
5230
+ return args.every((elem) => {
5231
+ const value = elem.toLowerCase();
5232
+ return value !== "boolean" && value !== "symbol";
5233
+ });
5234
5234
  }
5235
5235
 
5236
5236
  const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
@@ -6586,9 +6586,13 @@ function baseCreateRenderer(options, createHydrationFns) {
6586
6586
  const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
6587
6587
  if (needTransition2) {
6588
6588
  if (moveType === 0) {
6589
- transition.beforeEnter(el);
6590
- hostInsert(el, container, anchor);
6591
- queuePostRenderEffect(() => transition.enter(el), parentSuspense);
6589
+ if (transition.persisted && !el[leaveCbKey]) {
6590
+ hostInsert(el, container, anchor);
6591
+ } else {
6592
+ transition.beforeEnter(el);
6593
+ hostInsert(el, container, anchor);
6594
+ queuePostRenderEffect(() => transition.enter(el), parentSuspense);
6595
+ }
6592
6596
  } else {
6593
6597
  const { leave, delayLeave, afterLeave } = transition;
6594
6598
  const remove2 = () => {
@@ -6599,16 +6603,21 @@ function baseCreateRenderer(options, createHydrationFns) {
6599
6603
  }
6600
6604
  };
6601
6605
  const performLeave = () => {
6606
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
6602
6607
  if (el._isLeaving) {
6603
6608
  el[leaveCbKey](
6604
6609
  true
6605
6610
  /* cancelled */
6606
6611
  );
6607
6612
  }
6608
- leave(el, () => {
6613
+ if (transition.persisted && !wasLeaving) {
6609
6614
  remove2();
6610
- afterLeave && afterLeave();
6611
- });
6615
+ } else {
6616
+ leave(el, () => {
6617
+ remove2();
6618
+ afterLeave && afterLeave();
6619
+ });
6620
+ }
6612
6621
  };
6613
6622
  if (delayLeave) {
6614
6623
  delayLeave(el, remove2, performLeave);
@@ -7288,13 +7297,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
7288
7297
  suspense.isHydrating = false;
7289
7298
  } else if (!resume) {
7290
7299
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
7300
+ let hasUpdatedAnchor = false;
7291
7301
  if (delayEnter) {
7292
7302
  activeBranch.transition.afterLeave = () => {
7293
7303
  if (pendingId === suspense.pendingId) {
7294
7304
  move(
7295
7305
  pendingBranch,
7296
7306
  container2,
7297
- anchor === initialAnchor ? next(activeBranch) : anchor,
7307
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
7298
7308
  0
7299
7309
  );
7300
7310
  queuePostFlushCb(effects);
@@ -7307,6 +7317,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
7307
7317
  if (activeBranch && !suspense.isFallbackMountPending) {
7308
7318
  if (parentNode(activeBranch.el) === container2) {
7309
7319
  anchor = next(activeBranch);
7320
+ hasUpdatedAnchor = true;
7310
7321
  }
7311
7322
  unmount(activeBranch, parentComponent2, suspense, true);
7312
7323
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -8627,7 +8638,7 @@ function isMemoSame(cached, memo) {
8627
8638
  return true;
8628
8639
  }
8629
8640
 
8630
- const version = "3.5.33";
8641
+ const version = "3.5.35";
8631
8642
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
8632
8643
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8633
8644
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/runtime-core",
3
- "version": "3.5.33",
3
+ "version": "3.5.35",
4
4
  "description": "@vue/runtime-core",
5
5
  "main": "index.js",
6
6
  "module": "dist/runtime-core.esm-bundler.js",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
48
48
  "dependencies": {
49
- "@vue/shared": "3.5.33",
50
- "@vue/reactivity": "3.5.33"
49
+ "@vue/shared": "3.5.35",
50
+ "@vue/reactivity": "3.5.35"
51
51
  }
52
52
  }