@vue/compat 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.
package/dist/vue.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.32
2
+ * @vue/compat v3.5.34
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -480,12 +480,18 @@ class EffectScope {
480
480
  */
481
481
  this.cleanups = [];
482
482
  this._isPaused = false;
483
+ this._warnOnRun = true;
483
484
  this.__v_skip = true;
484
- this.parent = activeEffectScope;
485
485
  if (!detached && activeEffectScope) {
486
- this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
487
- this
488
- ) - 1;
486
+ if (activeEffectScope.active) {
487
+ this.parent = activeEffectScope;
488
+ this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
489
+ this
490
+ ) - 1;
491
+ } else {
492
+ this._active = false;
493
+ this._warnOnRun = false;
494
+ }
489
495
  }
490
496
  }
491
497
  get active() {
@@ -533,7 +539,7 @@ class EffectScope {
533
539
  } finally {
534
540
  activeEffectScope = currentEffectScope;
535
541
  }
536
- } else {
542
+ } else if (this._warnOnRun) {
537
543
  warn$2(`cannot run an inactive effect scope.`);
538
544
  }
539
545
  }
@@ -553,7 +559,18 @@ class EffectScope {
553
559
  */
554
560
  off() {
555
561
  if (this._on > 0 && --this._on === 0) {
556
- activeEffectScope = this.prevScope;
562
+ if (activeEffectScope === this) {
563
+ activeEffectScope = this.prevScope;
564
+ } else {
565
+ let current = activeEffectScope;
566
+ while (current) {
567
+ if (current.prevScope === this) {
568
+ current.prevScope = this.prevScope;
569
+ break;
570
+ }
571
+ current = current.prevScope;
572
+ }
573
+ }
557
574
  this.prevScope = void 0;
558
575
  }
559
576
  }
@@ -628,8 +645,12 @@ class ReactiveEffect {
628
645
  */
629
646
  this.cleanup = void 0;
630
647
  this.scheduler = void 0;
631
- if (activeEffectScope && activeEffectScope.active) {
632
- activeEffectScope.effects.push(this);
648
+ if (activeEffectScope) {
649
+ if (activeEffectScope.active) {
650
+ activeEffectScope.effects.push(this);
651
+ } else {
652
+ this.flags &= -2;
653
+ }
633
654
  }
634
655
  }
635
656
  pause() {
@@ -3822,7 +3843,7 @@ const TeleportImpl = {
3822
3843
  mc: mountChildren,
3823
3844
  pc: patchChildren,
3824
3845
  pbc: patchBlockChildren,
3825
- o: { insert, querySelector, createText, createComment }
3846
+ o: { insert, querySelector, createText, createComment, parentNode }
3826
3847
  } = internals;
3827
3848
  const disabled = isTeleportDisabled(n2.props);
3828
3849
  let { dynamicChildren } = n2;
@@ -3870,7 +3891,8 @@ const TeleportImpl = {
3870
3891
  if (pendingMounts.get(vnode) !== mountJob) return;
3871
3892
  pendingMounts.delete(vnode);
3872
3893
  if (isTeleportDisabled(vnode.props)) {
3873
- mount(vnode, container, vnode.anchor);
3894
+ const mountContainer = parentNode(vnode.el) || container;
3895
+ mount(vnode, mountContainer, vnode.anchor);
3874
3896
  updateCssVars(vnode, true);
3875
3897
  }
3876
3898
  mountToTarget(vnode);
@@ -4032,7 +4054,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
4032
4054
  if (isReorder) {
4033
4055
  insert(el, container, parentAnchor);
4034
4056
  }
4035
- if (!isReorder || isTeleportDisabled(props)) {
4057
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
4036
4058
  if (shapeFlag & 16) {
4037
4059
  for (let i = 0; i < children.length; i++) {
4038
4060
  move(
@@ -4206,10 +4228,14 @@ const BaseTransitionImpl = {
4206
4228
  const state = useTransitionState();
4207
4229
  return () => {
4208
4230
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
4209
- if (!children || !children.length) {
4231
+ const child = children && children.length ? findNonCommentChild(children) : (
4232
+ // Keep explicit default-slot conditionals on the same transition path
4233
+ // as regular v-if branches, which render a comment placeholder.
4234
+ instance.subTree ? createCommentVNode() : void 0
4235
+ );
4236
+ if (!child) {
4210
4237
  return;
4211
4238
  }
4212
- const child = findNonCommentChild(children);
4213
4239
  const rawProps = toRaw(props);
4214
4240
  const { mode } = rawProps;
4215
4241
  if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
@@ -7571,7 +7597,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7571
7597
  return vm;
7572
7598
  }
7573
7599
  }
7574
- Vue.version = `2.6.14-compat:${"3.5.32"}`;
7600
+ Vue.version = `2.6.14-compat:${"3.5.34"}`;
7575
7601
  Vue.config = singletonApp.config;
7576
7602
  Vue.use = (plugin, ...options) => {
7577
7603
  if (plugin && isFunction(plugin.install)) {
@@ -9206,7 +9232,7 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
9206
9232
  const receivedType = toRawType(value);
9207
9233
  const expectedValue = styleValue(value, expectedType);
9208
9234
  const receivedValue = styleValue(value, receivedType);
9209
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
9235
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {
9210
9236
  message += ` with value ${expectedValue}`;
9211
9237
  }
9212
9238
  message += `, got ${receivedType} `;
@@ -9216,7 +9242,9 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
9216
9242
  return message;
9217
9243
  }
9218
9244
  function styleValue(value, type) {
9219
- if (type === "String") {
9245
+ if (isSymbol(value)) {
9246
+ return value.toString();
9247
+ } else if (type === "String") {
9220
9248
  return `"${value}"`;
9221
9249
  } else if (type === "Number") {
9222
9250
  return `${Number(value)}`;
@@ -9228,8 +9256,11 @@ function isExplicable(type) {
9228
9256
  const explicitTypes = ["string", "number", "boolean"];
9229
9257
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
9230
9258
  }
9231
- function isBoolean(...args) {
9232
- return args.some((elem) => elem.toLowerCase() === "boolean");
9259
+ function isCoercible(...args) {
9260
+ return args.every((elem) => {
9261
+ const value = elem.toLowerCase();
9262
+ return value !== "boolean" && value !== "symbol";
9263
+ });
9233
9264
  }
9234
9265
 
9235
9266
  const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
@@ -11283,13 +11314,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11283
11314
  suspense.isHydrating = false;
11284
11315
  } else if (!resume) {
11285
11316
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
11317
+ let hasUpdatedAnchor = false;
11286
11318
  if (delayEnter) {
11287
11319
  activeBranch.transition.afterLeave = () => {
11288
11320
  if (pendingId === suspense.pendingId) {
11289
11321
  move(
11290
11322
  pendingBranch,
11291
11323
  container2,
11292
- anchor === initialAnchor ? next(activeBranch) : anchor,
11324
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
11293
11325
  0
11294
11326
  );
11295
11327
  queuePostFlushCb(effects);
@@ -11302,6 +11334,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11302
11334
  if (activeBranch && !suspense.isFallbackMountPending) {
11303
11335
  if (parentNode(activeBranch.el) === container2) {
11304
11336
  anchor = next(activeBranch);
11337
+ hasUpdatedAnchor = true;
11305
11338
  }
11306
11339
  unmount(activeBranch, parentComponent2, suspense, true);
11307
11340
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -12687,7 +12720,7 @@ function isMemoSame(cached, memo) {
12687
12720
  return true;
12688
12721
  }
12689
12722
 
12690
- const version = "3.5.32";
12723
+ const version = "3.5.34";
12691
12724
  const warn = warn$1 ;
12692
12725
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12693
12726
  const devtools = devtools$1 ;
@@ -13210,7 +13243,19 @@ function patchStyle(el, prev, next) {
13210
13243
  if (key === "display") {
13211
13244
  hasControlledDisplay = true;
13212
13245
  }
13213
- setStyle(style, key, next[key]);
13246
+ const value = next[key];
13247
+ if (value != null) {
13248
+ if (!shouldPreserveTextareaResizeStyle(
13249
+ el,
13250
+ key,
13251
+ !isString(prev) && prev ? prev[key] : void 0,
13252
+ value
13253
+ )) {
13254
+ setStyle(style, key, value);
13255
+ }
13256
+ } else {
13257
+ setStyle(style, key, "");
13258
+ }
13214
13259
  }
13215
13260
  } else {
13216
13261
  if (isCssString) {
@@ -13283,6 +13328,9 @@ function autoPrefix(style, rawName) {
13283
13328
  }
13284
13329
  return rawName;
13285
13330
  }
13331
+ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
13332
+ return el.tagName === "TEXTAREA" && (key === "width" || key === "height") && isString(next) && prev === next;
13333
+ }
13286
13334
 
13287
13335
  const xlinkNS = "http://www.w3.org/1999/xlink";
13288
13336
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.32
2
+ * @vue/compat v3.5.34
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -379,12 +379,18 @@ class EffectScope {
379
379
  */
380
380
  this.cleanups = [];
381
381
  this._isPaused = false;
382
+ this._warnOnRun = true;
382
383
  this.__v_skip = true;
383
- this.parent = activeEffectScope;
384
384
  if (!detached && activeEffectScope) {
385
- this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
386
- this
387
- ) - 1;
385
+ if (activeEffectScope.active) {
386
+ this.parent = activeEffectScope;
387
+ this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
388
+ this
389
+ ) - 1;
390
+ } else {
391
+ this._active = false;
392
+ this._warnOnRun = false;
393
+ }
388
394
  }
389
395
  }
390
396
  get active() {
@@ -450,7 +456,18 @@ class EffectScope {
450
456
  */
451
457
  off() {
452
458
  if (this._on > 0 && --this._on === 0) {
453
- activeEffectScope = this.prevScope;
459
+ if (activeEffectScope === this) {
460
+ activeEffectScope = this.prevScope;
461
+ } else {
462
+ let current = activeEffectScope;
463
+ while (current) {
464
+ if (current.prevScope === this) {
465
+ current.prevScope = this.prevScope;
466
+ break;
467
+ }
468
+ current = current.prevScope;
469
+ }
470
+ }
454
471
  this.prevScope = void 0;
455
472
  }
456
473
  }
@@ -521,8 +538,12 @@ class ReactiveEffect {
521
538
  */
522
539
  this.cleanup = void 0;
523
540
  this.scheduler = void 0;
524
- if (activeEffectScope && activeEffectScope.active) {
525
- activeEffectScope.effects.push(this);
541
+ if (activeEffectScope) {
542
+ if (activeEffectScope.active) {
543
+ activeEffectScope.effects.push(this);
544
+ } else {
545
+ this.flags &= -2;
546
+ }
526
547
  }
527
548
  }
528
549
  pause() {
@@ -2866,7 +2887,7 @@ const TeleportImpl = {
2866
2887
  mc: mountChildren,
2867
2888
  pc: patchChildren,
2868
2889
  pbc: patchBlockChildren,
2869
- o: { insert, querySelector, createText, createComment }
2890
+ o: { insert, querySelector, createText, createComment, parentNode }
2870
2891
  } = internals;
2871
2892
  const disabled = isTeleportDisabled(n2.props);
2872
2893
  let { dynamicChildren } = n2;
@@ -2908,7 +2929,8 @@ const TeleportImpl = {
2908
2929
  if (pendingMounts.get(vnode) !== mountJob) return;
2909
2930
  pendingMounts.delete(vnode);
2910
2931
  if (isTeleportDisabled(vnode.props)) {
2911
- mount(vnode, container, vnode.anchor);
2932
+ const mountContainer = parentNode(vnode.el) || container;
2933
+ mount(vnode, mountContainer, vnode.anchor);
2912
2934
  updateCssVars(vnode, true);
2913
2935
  }
2914
2936
  mountToTarget(vnode);
@@ -3064,7 +3086,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3064
3086
  if (isReorder) {
3065
3087
  insert(el, container, parentAnchor);
3066
3088
  }
3067
- if (!isReorder || isTeleportDisabled(props)) {
3089
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
3068
3090
  if (shapeFlag & 16) {
3069
3091
  for (let i = 0; i < children.length; i++) {
3070
3092
  move(
@@ -3238,10 +3260,14 @@ const BaseTransitionImpl = {
3238
3260
  const state = useTransitionState();
3239
3261
  return () => {
3240
3262
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
3241
- if (!children || !children.length) {
3263
+ const child = children && children.length ? findNonCommentChild(children) : (
3264
+ // Keep explicit default-slot conditionals on the same transition path
3265
+ // as regular v-if branches, which render a comment placeholder.
3266
+ instance.subTree ? createCommentVNode() : void 0
3267
+ );
3268
+ if (!child) {
3242
3269
  return;
3243
3270
  }
3244
- const child = findNonCommentChild(children);
3245
3271
  const rawProps = toRaw(props);
3246
3272
  const { mode } = rawProps;
3247
3273
  if (state.isLeaving) {
@@ -6082,7 +6108,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6082
6108
  return vm;
6083
6109
  }
6084
6110
  }
6085
- Vue.version = `2.6.14-compat:${"3.5.32"}`;
6111
+ Vue.version = `2.6.14-compat:${"3.5.34"}`;
6086
6112
  Vue.config = singletonApp.config;
6087
6113
  Vue.use = (plugin, ...options) => {
6088
6114
  if (plugin && isFunction(plugin.install)) {
@@ -9181,13 +9207,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
9181
9207
  suspense.isHydrating = false;
9182
9208
  } else if (!resume) {
9183
9209
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
9210
+ let hasUpdatedAnchor = false;
9184
9211
  if (delayEnter) {
9185
9212
  activeBranch.transition.afterLeave = () => {
9186
9213
  if (pendingId === suspense.pendingId) {
9187
9214
  move(
9188
9215
  pendingBranch,
9189
9216
  container2,
9190
- anchor === initialAnchor ? next(activeBranch) : anchor,
9217
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
9191
9218
  0
9192
9219
  );
9193
9220
  queuePostFlushCb(effects);
@@ -9200,6 +9227,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
9200
9227
  if (activeBranch && !suspense.isFallbackMountPending) {
9201
9228
  if (parentNode(activeBranch.el) === container2) {
9202
9229
  anchor = next(activeBranch);
9230
+ hasUpdatedAnchor = true;
9203
9231
  }
9204
9232
  unmount(activeBranch, parentComponent2, suspense, true);
9205
9233
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -10218,7 +10246,7 @@ function isMemoSame(cached, memo) {
10218
10246
  return true;
10219
10247
  }
10220
10248
 
10221
- const version = "3.5.32";
10249
+ const version = "3.5.34";
10222
10250
  const warn$1 = NOOP;
10223
10251
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10224
10252
  const devtools = void 0;
@@ -10737,7 +10765,19 @@ function patchStyle(el, prev, next) {
10737
10765
  if (key === "display") {
10738
10766
  hasControlledDisplay = true;
10739
10767
  }
10740
- setStyle(style, key, next[key]);
10768
+ const value = next[key];
10769
+ if (value != null) {
10770
+ if (!shouldPreserveTextareaResizeStyle(
10771
+ el,
10772
+ key,
10773
+ !isString(prev) && prev ? prev[key] : void 0,
10774
+ value
10775
+ )) {
10776
+ setStyle(style, key, value);
10777
+ }
10778
+ } else {
10779
+ setStyle(style, key, "");
10780
+ }
10741
10781
  }
10742
10782
  } else {
10743
10783
  if (isCssString) {
@@ -10802,6 +10842,9 @@ function autoPrefix(style, rawName) {
10802
10842
  }
10803
10843
  return rawName;
10804
10844
  }
10845
+ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
10846
+ return el.tagName === "TEXTAREA" && (key === "width" || key === "height") && isString(next) && prev === next;
10847
+ }
10805
10848
 
10806
10849
  const xlinkNS = "http://www.w3.org/1999/xlink";
10807
10850
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.32
2
+ * @vue/compat v3.5.34
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -427,12 +427,18 @@ class EffectScope {
427
427
  */
428
428
  this.cleanups = [];
429
429
  this._isPaused = false;
430
+ this._warnOnRun = true;
430
431
  this.__v_skip = true;
431
- this.parent = activeEffectScope;
432
432
  if (!detached && activeEffectScope) {
433
- this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
434
- this
435
- ) - 1;
433
+ if (activeEffectScope.active) {
434
+ this.parent = activeEffectScope;
435
+ this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
436
+ this
437
+ ) - 1;
438
+ } else {
439
+ this._active = false;
440
+ this._warnOnRun = false;
441
+ }
436
442
  }
437
443
  }
438
444
  get active() {
@@ -480,7 +486,7 @@ class EffectScope {
480
486
  } finally {
481
487
  activeEffectScope = currentEffectScope;
482
488
  }
483
- } else {
489
+ } else if (this._warnOnRun) {
484
490
  warn$2(`cannot run an inactive effect scope.`);
485
491
  }
486
492
  }
@@ -500,7 +506,18 @@ class EffectScope {
500
506
  */
501
507
  off() {
502
508
  if (this._on > 0 && --this._on === 0) {
503
- activeEffectScope = this.prevScope;
509
+ if (activeEffectScope === this) {
510
+ activeEffectScope = this.prevScope;
511
+ } else {
512
+ let current = activeEffectScope;
513
+ while (current) {
514
+ if (current.prevScope === this) {
515
+ current.prevScope = this.prevScope;
516
+ break;
517
+ }
518
+ current = current.prevScope;
519
+ }
520
+ }
504
521
  this.prevScope = void 0;
505
522
  }
506
523
  }
@@ -575,8 +592,12 @@ class ReactiveEffect {
575
592
  */
576
593
  this.cleanup = void 0;
577
594
  this.scheduler = void 0;
578
- if (activeEffectScope && activeEffectScope.active) {
579
- activeEffectScope.effects.push(this);
595
+ if (activeEffectScope) {
596
+ if (activeEffectScope.active) {
597
+ activeEffectScope.effects.push(this);
598
+ } else {
599
+ this.flags &= -2;
600
+ }
580
601
  }
581
602
  }
582
603
  pause() {
@@ -3769,7 +3790,7 @@ const TeleportImpl = {
3769
3790
  mc: mountChildren,
3770
3791
  pc: patchChildren,
3771
3792
  pbc: patchBlockChildren,
3772
- o: { insert, querySelector, createText, createComment }
3793
+ o: { insert, querySelector, createText, createComment, parentNode }
3773
3794
  } = internals;
3774
3795
  const disabled = isTeleportDisabled(n2.props);
3775
3796
  let { dynamicChildren } = n2;
@@ -3817,7 +3838,8 @@ const TeleportImpl = {
3817
3838
  if (pendingMounts.get(vnode) !== mountJob) return;
3818
3839
  pendingMounts.delete(vnode);
3819
3840
  if (isTeleportDisabled(vnode.props)) {
3820
- mount(vnode, container, vnode.anchor);
3841
+ const mountContainer = parentNode(vnode.el) || container;
3842
+ mount(vnode, mountContainer, vnode.anchor);
3821
3843
  updateCssVars(vnode, true);
3822
3844
  }
3823
3845
  mountToTarget(vnode);
@@ -3979,7 +4001,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3979
4001
  if (isReorder) {
3980
4002
  insert(el, container, parentAnchor);
3981
4003
  }
3982
- if (!isReorder || isTeleportDisabled(props)) {
4004
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
3983
4005
  if (shapeFlag & 16) {
3984
4006
  for (let i = 0; i < children.length; i++) {
3985
4007
  move(
@@ -4153,10 +4175,14 @@ const BaseTransitionImpl = {
4153
4175
  const state = useTransitionState();
4154
4176
  return () => {
4155
4177
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
4156
- if (!children || !children.length) {
4178
+ const child = children && children.length ? findNonCommentChild(children) : (
4179
+ // Keep explicit default-slot conditionals on the same transition path
4180
+ // as regular v-if branches, which render a comment placeholder.
4181
+ instance.subTree ? createCommentVNode() : void 0
4182
+ );
4183
+ if (!child) {
4157
4184
  return;
4158
4185
  }
4159
- const child = findNonCommentChild(children);
4160
4186
  const rawProps = toRaw(props);
4161
4187
  const { mode } = rawProps;
4162
4188
  if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
@@ -7521,7 +7547,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7521
7547
  return vm;
7522
7548
  }
7523
7549
  }
7524
- Vue.version = `2.6.14-compat:${"3.5.32"}`;
7550
+ Vue.version = `2.6.14-compat:${"3.5.34"}`;
7525
7551
  Vue.config = singletonApp.config;
7526
7552
  Vue.use = (plugin, ...options) => {
7527
7553
  if (plugin && isFunction(plugin.install)) {
@@ -9156,7 +9182,7 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
9156
9182
  const receivedType = toRawType(value);
9157
9183
  const expectedValue = styleValue(value, expectedType);
9158
9184
  const receivedValue = styleValue(value, receivedType);
9159
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
9185
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {
9160
9186
  message += ` with value ${expectedValue}`;
9161
9187
  }
9162
9188
  message += `, got ${receivedType} `;
@@ -9166,7 +9192,9 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
9166
9192
  return message;
9167
9193
  }
9168
9194
  function styleValue(value, type) {
9169
- if (type === "String") {
9195
+ if (isSymbol(value)) {
9196
+ return value.toString();
9197
+ } else if (type === "String") {
9170
9198
  return `"${value}"`;
9171
9199
  } else if (type === "Number") {
9172
9200
  return `${Number(value)}`;
@@ -9178,8 +9206,11 @@ function isExplicable(type) {
9178
9206
  const explicitTypes = ["string", "number", "boolean"];
9179
9207
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
9180
9208
  }
9181
- function isBoolean(...args) {
9182
- return args.some((elem) => elem.toLowerCase() === "boolean");
9209
+ function isCoercible(...args) {
9210
+ return args.every((elem) => {
9211
+ const value = elem.toLowerCase();
9212
+ return value !== "boolean" && value !== "symbol";
9213
+ });
9183
9214
  }
9184
9215
 
9185
9216
  const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
@@ -11233,13 +11264,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11233
11264
  suspense.isHydrating = false;
11234
11265
  } else if (!resume) {
11235
11266
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
11267
+ let hasUpdatedAnchor = false;
11236
11268
  if (delayEnter) {
11237
11269
  activeBranch.transition.afterLeave = () => {
11238
11270
  if (pendingId === suspense.pendingId) {
11239
11271
  move(
11240
11272
  pendingBranch,
11241
11273
  container2,
11242
- anchor === initialAnchor ? next(activeBranch) : anchor,
11274
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
11243
11275
  0
11244
11276
  );
11245
11277
  queuePostFlushCb(effects);
@@ -11252,6 +11284,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11252
11284
  if (activeBranch && !suspense.isFallbackMountPending) {
11253
11285
  if (parentNode(activeBranch.el) === container2) {
11254
11286
  anchor = next(activeBranch);
11287
+ hasUpdatedAnchor = true;
11255
11288
  }
11256
11289
  unmount(activeBranch, parentComponent2, suspense, true);
11257
11290
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -12637,7 +12670,7 @@ function isMemoSame(cached, memo) {
12637
12670
  return true;
12638
12671
  }
12639
12672
 
12640
- const version = "3.5.32";
12673
+ const version = "3.5.34";
12641
12674
  const warn = warn$1 ;
12642
12675
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12643
12676
  const devtools = devtools$1 ;
@@ -13228,7 +13261,19 @@ function patchStyle(el, prev, next) {
13228
13261
  if (key === "display") {
13229
13262
  hasControlledDisplay = true;
13230
13263
  }
13231
- setStyle(style, key, next[key]);
13264
+ const value = next[key];
13265
+ if (value != null) {
13266
+ if (!shouldPreserveTextareaResizeStyle(
13267
+ el,
13268
+ key,
13269
+ !isString(prev) && prev ? prev[key] : void 0,
13270
+ value
13271
+ )) {
13272
+ setStyle(style, key, value);
13273
+ }
13274
+ } else {
13275
+ setStyle(style, key, "");
13276
+ }
13232
13277
  }
13233
13278
  } else {
13234
13279
  if (isCssString) {
@@ -13301,6 +13346,9 @@ function autoPrefix(style, rawName) {
13301
13346
  }
13302
13347
  return rawName;
13303
13348
  }
13349
+ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
13350
+ return el.tagName === "TEXTAREA" && (key === "width" || key === "height") && isString(next) && prev === next;
13351
+ }
13304
13352
 
13305
13353
  const xlinkNS = "http://www.w3.org/1999/xlink";
13306
13354
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {