@vue/runtime-core 3.5.32 → 3.5.34

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.32
2
+ * @vue/runtime-core v3.5.34
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -984,7 +984,7 @@ const TeleportImpl = {
984
984
  mc: mountChildren,
985
985
  pc: patchChildren,
986
986
  pbc: patchBlockChildren,
987
- o: { insert, querySelector, createText, createComment }
987
+ o: { insert, querySelector, createText, createComment, parentNode }
988
988
  } = internals;
989
989
  const disabled = isTeleportDisabled(n2.props);
990
990
  let { dynamicChildren } = n2;
@@ -1032,7 +1032,8 @@ const TeleportImpl = {
1032
1032
  if (pendingMounts.get(vnode) !== mountJob) return;
1033
1033
  pendingMounts.delete(vnode);
1034
1034
  if (isTeleportDisabled(vnode.props)) {
1035
- mount(vnode, container, vnode.anchor);
1035
+ const mountContainer = parentNode(vnode.el) || container;
1036
+ mount(vnode, mountContainer, vnode.anchor);
1036
1037
  updateCssVars(vnode, true);
1037
1038
  }
1038
1039
  mountToTarget(vnode);
@@ -1194,7 +1195,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
1194
1195
  if (isReorder) {
1195
1196
  insert(el, container, parentAnchor);
1196
1197
  }
1197
- if (!isReorder || isTeleportDisabled(props)) {
1198
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
1198
1199
  if (shapeFlag & 16) {
1199
1200
  for (let i = 0; i < children.length; i++) {
1200
1201
  move(
@@ -1368,10 +1369,14 @@ const BaseTransitionImpl = {
1368
1369
  const state = useTransitionState();
1369
1370
  return () => {
1370
1371
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
1371
- if (!children || !children.length) {
1372
+ const child = children && children.length ? findNonCommentChild(children) : (
1373
+ // Keep explicit default-slot conditionals on the same transition path
1374
+ // as regular v-if branches, which render a comment placeholder.
1375
+ instance.subTree ? createCommentVNode() : void 0
1376
+ );
1377
+ if (!child) {
1372
1378
  return;
1373
1379
  }
1374
- const child = findNonCommentChild(children);
1375
1380
  const rawProps = reactivity.toRaw(props);
1376
1381
  const { mode } = rawProps;
1377
1382
  if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
@@ -5180,7 +5185,7 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
5180
5185
  const receivedType = shared.toRawType(value);
5181
5186
  const expectedValue = styleValue(value, expectedType);
5182
5187
  const receivedValue = styleValue(value, receivedType);
5183
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
5188
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {
5184
5189
  message += ` with value ${expectedValue}`;
5185
5190
  }
5186
5191
  message += `, got ${receivedType} `;
@@ -5190,7 +5195,9 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
5190
5195
  return message;
5191
5196
  }
5192
5197
  function styleValue(value, type) {
5193
- if (type === "String") {
5198
+ if (shared.isSymbol(value)) {
5199
+ return value.toString();
5200
+ } else if (type === "String") {
5194
5201
  return `"${value}"`;
5195
5202
  } else if (type === "Number") {
5196
5203
  return `${Number(value)}`;
@@ -5202,8 +5209,11 @@ function isExplicable(type) {
5202
5209
  const explicitTypes = ["string", "number", "boolean"];
5203
5210
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
5204
5211
  }
5205
- function isBoolean(...args) {
5206
- return args.some((elem) => elem.toLowerCase() === "boolean");
5212
+ function isCoercible(...args) {
5213
+ return args.every((elem) => {
5214
+ const value = elem.toLowerCase();
5215
+ return value !== "boolean" && value !== "symbol";
5216
+ });
5207
5217
  }
5208
5218
 
5209
5219
  const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
@@ -7223,13 +7233,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
7223
7233
  suspense.isHydrating = false;
7224
7234
  } else if (!resume) {
7225
7235
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
7236
+ let hasUpdatedAnchor = false;
7226
7237
  if (delayEnter) {
7227
7238
  activeBranch.transition.afterLeave = () => {
7228
7239
  if (pendingId === suspense.pendingId) {
7229
7240
  move(
7230
7241
  pendingBranch,
7231
7242
  container2,
7232
- anchor === initialAnchor ? next(activeBranch) : anchor,
7243
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
7233
7244
  0
7234
7245
  );
7235
7246
  queuePostFlushCb(effects);
@@ -7242,6 +7253,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
7242
7253
  if (activeBranch && !suspense.isFallbackMountPending) {
7243
7254
  if (parentNode(activeBranch.el) === container2) {
7244
7255
  anchor = next(activeBranch);
7256
+ hasUpdatedAnchor = true;
7245
7257
  }
7246
7258
  unmount(activeBranch, parentComponent2, suspense, true);
7247
7259
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -8548,7 +8560,7 @@ function isMemoSame(cached, memo) {
8548
8560
  return true;
8549
8561
  }
8550
8562
 
8551
- const version = "3.5.32";
8563
+ const version = "3.5.34";
8552
8564
  const warn = warn$1 ;
8553
8565
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8554
8566
  const devtools = devtools$1 ;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.32
2
+ * @vue/runtime-core v3.5.34
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -540,7 +540,7 @@ const TeleportImpl = {
540
540
  mc: mountChildren,
541
541
  pc: patchChildren,
542
542
  pbc: patchBlockChildren,
543
- o: { insert, querySelector, createText, createComment }
543
+ o: { insert, querySelector, createText, createComment, parentNode }
544
544
  } = internals;
545
545
  const disabled = isTeleportDisabled(n2.props);
546
546
  let { dynamicChildren } = n2;
@@ -582,7 +582,8 @@ const TeleportImpl = {
582
582
  if (pendingMounts.get(vnode) !== mountJob) return;
583
583
  pendingMounts.delete(vnode);
584
584
  if (isTeleportDisabled(vnode.props)) {
585
- mount(vnode, container, vnode.anchor);
585
+ const mountContainer = parentNode(vnode.el) || container;
586
+ mount(vnode, mountContainer, vnode.anchor);
586
587
  updateCssVars(vnode, true);
587
588
  }
588
589
  mountToTarget(vnode);
@@ -738,7 +739,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
738
739
  if (isReorder) {
739
740
  insert(el, container, parentAnchor);
740
741
  }
741
- if (!isReorder || isTeleportDisabled(props)) {
742
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
742
743
  if (shapeFlag & 16) {
743
744
  for (let i = 0; i < children.length; i++) {
744
745
  move(
@@ -912,10 +913,14 @@ const BaseTransitionImpl = {
912
913
  const state = useTransitionState();
913
914
  return () => {
914
915
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
915
- if (!children || !children.length) {
916
+ const child = children && children.length ? findNonCommentChild(children) : (
917
+ // Keep explicit default-slot conditionals on the same transition path
918
+ // as regular v-if branches, which render a comment placeholder.
919
+ instance.subTree ? createCommentVNode() : void 0
920
+ );
921
+ if (!child) {
916
922
  return;
917
923
  }
918
- const child = findNonCommentChild(children);
919
924
  const rawProps = reactivity.toRaw(props);
920
925
  const { mode } = rawProps;
921
926
  if (state.isLeaving) {
@@ -5725,13 +5730,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
5725
5730
  suspense.isHydrating = false;
5726
5731
  } else if (!resume) {
5727
5732
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
5733
+ let hasUpdatedAnchor = false;
5728
5734
  if (delayEnter) {
5729
5735
  activeBranch.transition.afterLeave = () => {
5730
5736
  if (pendingId === suspense.pendingId) {
5731
5737
  move(
5732
5738
  pendingBranch,
5733
5739
  container2,
5734
- anchor === initialAnchor ? next(activeBranch) : anchor,
5740
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
5735
5741
  0
5736
5742
  );
5737
5743
  queuePostFlushCb(effects);
@@ -5744,6 +5750,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
5744
5750
  if (activeBranch && !suspense.isFallbackMountPending) {
5745
5751
  if (parentNode(activeBranch.el) === container2) {
5746
5752
  anchor = next(activeBranch);
5753
+ hasUpdatedAnchor = true;
5747
5754
  }
5748
5755
  unmount(activeBranch, parentComponent2, suspense, true);
5749
5756
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -6686,7 +6693,7 @@ function isMemoSame(cached, memo) {
6686
6693
  return true;
6687
6694
  }
6688
6695
 
6689
- const version = "3.5.32";
6696
+ const version = "3.5.34";
6690
6697
  const warn$1 = shared.NOOP;
6691
6698
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
6692
6699
  const devtools = void 0;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.32
2
+ * @vue/runtime-core v3.5.34
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -987,7 +987,7 @@ const TeleportImpl = {
987
987
  mc: mountChildren,
988
988
  pc: patchChildren,
989
989
  pbc: patchBlockChildren,
990
- o: { insert, querySelector, createText, createComment }
990
+ o: { insert, querySelector, createText, createComment, parentNode }
991
991
  } = internals;
992
992
  const disabled = isTeleportDisabled(n2.props);
993
993
  let { dynamicChildren } = n2;
@@ -1035,7 +1035,8 @@ const TeleportImpl = {
1035
1035
  if (pendingMounts.get(vnode) !== mountJob) return;
1036
1036
  pendingMounts.delete(vnode);
1037
1037
  if (isTeleportDisabled(vnode.props)) {
1038
- mount(vnode, container, vnode.anchor);
1038
+ const mountContainer = parentNode(vnode.el) || container;
1039
+ mount(vnode, mountContainer, vnode.anchor);
1039
1040
  updateCssVars(vnode, true);
1040
1041
  }
1041
1042
  mountToTarget(vnode);
@@ -1197,7 +1198,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
1197
1198
  if (isReorder) {
1198
1199
  insert(el, container, parentAnchor);
1199
1200
  }
1200
- if (!isReorder || isTeleportDisabled(props)) {
1201
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
1201
1202
  if (shapeFlag & 16) {
1202
1203
  for (let i = 0; i < children.length; i++) {
1203
1204
  move(
@@ -1371,10 +1372,14 @@ const BaseTransitionImpl = {
1371
1372
  const state = useTransitionState();
1372
1373
  return () => {
1373
1374
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
1374
- if (!children || !children.length) {
1375
+ const child = children && children.length ? findNonCommentChild(children) : (
1376
+ // Keep explicit default-slot conditionals on the same transition path
1377
+ // as regular v-if branches, which render a comment placeholder.
1378
+ instance.subTree ? createCommentVNode() : void 0
1379
+ );
1380
+ if (!child) {
1375
1381
  return;
1376
1382
  }
1377
- const child = findNonCommentChild(children);
1378
1383
  const rawProps = toRaw(props);
1379
1384
  const { mode } = rawProps;
1380
1385
  if (!!(process.env.NODE_ENV !== "production") && mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
@@ -5202,7 +5207,7 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
5202
5207
  const receivedType = toRawType(value);
5203
5208
  const expectedValue = styleValue(value, expectedType);
5204
5209
  const receivedValue = styleValue(value, receivedType);
5205
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
5210
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {
5206
5211
  message += ` with value ${expectedValue}`;
5207
5212
  }
5208
5213
  message += `, got ${receivedType} `;
@@ -5212,7 +5217,9 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
5212
5217
  return message;
5213
5218
  }
5214
5219
  function styleValue(value, type) {
5215
- if (type === "String") {
5220
+ if (isSymbol(value)) {
5221
+ return value.toString();
5222
+ } else if (type === "String") {
5216
5223
  return `"${value}"`;
5217
5224
  } else if (type === "Number") {
5218
5225
  return `${Number(value)}`;
@@ -5224,8 +5231,11 @@ function isExplicable(type) {
5224
5231
  const explicitTypes = ["string", "number", "boolean"];
5225
5232
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
5226
5233
  }
5227
- function isBoolean(...args) {
5228
- return args.some((elem) => elem.toLowerCase() === "boolean");
5234
+ function isCoercible(...args) {
5235
+ return args.every((elem) => {
5236
+ const value = elem.toLowerCase();
5237
+ return value !== "boolean" && value !== "symbol";
5238
+ });
5229
5239
  }
5230
5240
 
5231
5241
  const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
@@ -7283,13 +7293,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
7283
7293
  suspense.isHydrating = false;
7284
7294
  } else if (!resume) {
7285
7295
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
7296
+ let hasUpdatedAnchor = false;
7286
7297
  if (delayEnter) {
7287
7298
  activeBranch.transition.afterLeave = () => {
7288
7299
  if (pendingId === suspense.pendingId) {
7289
7300
  move(
7290
7301
  pendingBranch,
7291
7302
  container2,
7292
- anchor === initialAnchor ? next(activeBranch) : anchor,
7303
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
7293
7304
  0
7294
7305
  );
7295
7306
  queuePostFlushCb(effects);
@@ -7302,6 +7313,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
7302
7313
  if (activeBranch && !suspense.isFallbackMountPending) {
7303
7314
  if (parentNode(activeBranch.el) === container2) {
7304
7315
  anchor = next(activeBranch);
7316
+ hasUpdatedAnchor = true;
7305
7317
  }
7306
7318
  unmount(activeBranch, parentComponent2, suspense, true);
7307
7319
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -8622,7 +8634,7 @@ function isMemoSame(cached, memo) {
8622
8634
  return true;
8623
8635
  }
8624
8636
 
8625
- const version = "3.5.32";
8637
+ const version = "3.5.34";
8626
8638
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
8627
8639
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8628
8640
  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.32",
3
+ "version": "3.5.34",
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.32",
50
- "@vue/reactivity": "3.5.32"
49
+ "@vue/shared": "3.5.34",
50
+ "@vue/reactivity": "3.5.34"
51
51
  }
52
52
  }