@vue/compat 3.5.32 → 3.5.33

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.33
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -553,7 +553,18 @@ class EffectScope {
553
553
  */
554
554
  off() {
555
555
  if (this._on > 0 && --this._on === 0) {
556
- activeEffectScope = this.prevScope;
556
+ if (activeEffectScope === this) {
557
+ activeEffectScope = this.prevScope;
558
+ } else {
559
+ let current = activeEffectScope;
560
+ while (current) {
561
+ if (current.prevScope === this) {
562
+ current.prevScope = this.prevScope;
563
+ break;
564
+ }
565
+ current = current.prevScope;
566
+ }
567
+ }
557
568
  this.prevScope = void 0;
558
569
  }
559
570
  }
@@ -3822,7 +3833,7 @@ const TeleportImpl = {
3822
3833
  mc: mountChildren,
3823
3834
  pc: patchChildren,
3824
3835
  pbc: patchBlockChildren,
3825
- o: { insert, querySelector, createText, createComment }
3836
+ o: { insert, querySelector, createText, createComment, parentNode }
3826
3837
  } = internals;
3827
3838
  const disabled = isTeleportDisabled(n2.props);
3828
3839
  let { dynamicChildren } = n2;
@@ -3870,7 +3881,8 @@ const TeleportImpl = {
3870
3881
  if (pendingMounts.get(vnode) !== mountJob) return;
3871
3882
  pendingMounts.delete(vnode);
3872
3883
  if (isTeleportDisabled(vnode.props)) {
3873
- mount(vnode, container, vnode.anchor);
3884
+ const mountContainer = parentNode(vnode.el) || container;
3885
+ mount(vnode, mountContainer, vnode.anchor);
3874
3886
  updateCssVars(vnode, true);
3875
3887
  }
3876
3888
  mountToTarget(vnode);
@@ -4032,7 +4044,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
4032
4044
  if (isReorder) {
4033
4045
  insert(el, container, parentAnchor);
4034
4046
  }
4035
- if (!isReorder || isTeleportDisabled(props)) {
4047
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
4036
4048
  if (shapeFlag & 16) {
4037
4049
  for (let i = 0; i < children.length; i++) {
4038
4050
  move(
@@ -4206,10 +4218,14 @@ const BaseTransitionImpl = {
4206
4218
  const state = useTransitionState();
4207
4219
  return () => {
4208
4220
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
4209
- if (!children || !children.length) {
4221
+ const child = children && children.length ? findNonCommentChild(children) : (
4222
+ // Keep explicit default-slot conditionals on the same transition path
4223
+ // as regular v-if branches, which render a comment placeholder.
4224
+ instance.subTree ? createCommentVNode() : void 0
4225
+ );
4226
+ if (!child) {
4210
4227
  return;
4211
4228
  }
4212
- const child = findNonCommentChild(children);
4213
4229
  const rawProps = toRaw(props);
4214
4230
  const { mode } = rawProps;
4215
4231
  if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
@@ -7571,7 +7587,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7571
7587
  return vm;
7572
7588
  }
7573
7589
  }
7574
- Vue.version = `2.6.14-compat:${"3.5.32"}`;
7590
+ Vue.version = `2.6.14-compat:${"3.5.33"}`;
7575
7591
  Vue.config = singletonApp.config;
7576
7592
  Vue.use = (plugin, ...options) => {
7577
7593
  if (plugin && isFunction(plugin.install)) {
@@ -12687,7 +12703,7 @@ function isMemoSame(cached, memo) {
12687
12703
  return true;
12688
12704
  }
12689
12705
 
12690
- const version = "3.5.32";
12706
+ const version = "3.5.33";
12691
12707
  const warn = warn$1 ;
12692
12708
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12693
12709
  const devtools = devtools$1 ;
@@ -13210,7 +13226,19 @@ function patchStyle(el, prev, next) {
13210
13226
  if (key === "display") {
13211
13227
  hasControlledDisplay = true;
13212
13228
  }
13213
- setStyle(style, key, next[key]);
13229
+ const value = next[key];
13230
+ if (value != null) {
13231
+ if (!shouldPreserveTextareaResizeStyle(
13232
+ el,
13233
+ key,
13234
+ !isString(prev) && prev ? prev[key] : void 0,
13235
+ value
13236
+ )) {
13237
+ setStyle(style, key, value);
13238
+ }
13239
+ } else {
13240
+ setStyle(style, key, "");
13241
+ }
13214
13242
  }
13215
13243
  } else {
13216
13244
  if (isCssString) {
@@ -13283,6 +13311,9 @@ function autoPrefix(style, rawName) {
13283
13311
  }
13284
13312
  return rawName;
13285
13313
  }
13314
+ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
13315
+ return el.tagName === "TEXTAREA" && (key === "width" || key === "height") && isString(next) && prev === next;
13316
+ }
13286
13317
 
13287
13318
  const xlinkNS = "http://www.w3.org/1999/xlink";
13288
13319
  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.33
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -450,7 +450,18 @@ class EffectScope {
450
450
  */
451
451
  off() {
452
452
  if (this._on > 0 && --this._on === 0) {
453
- activeEffectScope = this.prevScope;
453
+ if (activeEffectScope === this) {
454
+ activeEffectScope = this.prevScope;
455
+ } else {
456
+ let current = activeEffectScope;
457
+ while (current) {
458
+ if (current.prevScope === this) {
459
+ current.prevScope = this.prevScope;
460
+ break;
461
+ }
462
+ current = current.prevScope;
463
+ }
464
+ }
454
465
  this.prevScope = void 0;
455
466
  }
456
467
  }
@@ -2866,7 +2877,7 @@ const TeleportImpl = {
2866
2877
  mc: mountChildren,
2867
2878
  pc: patchChildren,
2868
2879
  pbc: patchBlockChildren,
2869
- o: { insert, querySelector, createText, createComment }
2880
+ o: { insert, querySelector, createText, createComment, parentNode }
2870
2881
  } = internals;
2871
2882
  const disabled = isTeleportDisabled(n2.props);
2872
2883
  let { dynamicChildren } = n2;
@@ -2908,7 +2919,8 @@ const TeleportImpl = {
2908
2919
  if (pendingMounts.get(vnode) !== mountJob) return;
2909
2920
  pendingMounts.delete(vnode);
2910
2921
  if (isTeleportDisabled(vnode.props)) {
2911
- mount(vnode, container, vnode.anchor);
2922
+ const mountContainer = parentNode(vnode.el) || container;
2923
+ mount(vnode, mountContainer, vnode.anchor);
2912
2924
  updateCssVars(vnode, true);
2913
2925
  }
2914
2926
  mountToTarget(vnode);
@@ -3064,7 +3076,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3064
3076
  if (isReorder) {
3065
3077
  insert(el, container, parentAnchor);
3066
3078
  }
3067
- if (!isReorder || isTeleportDisabled(props)) {
3079
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
3068
3080
  if (shapeFlag & 16) {
3069
3081
  for (let i = 0; i < children.length; i++) {
3070
3082
  move(
@@ -3238,10 +3250,14 @@ const BaseTransitionImpl = {
3238
3250
  const state = useTransitionState();
3239
3251
  return () => {
3240
3252
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
3241
- if (!children || !children.length) {
3253
+ const child = children && children.length ? findNonCommentChild(children) : (
3254
+ // Keep explicit default-slot conditionals on the same transition path
3255
+ // as regular v-if branches, which render a comment placeholder.
3256
+ instance.subTree ? createCommentVNode() : void 0
3257
+ );
3258
+ if (!child) {
3242
3259
  return;
3243
3260
  }
3244
- const child = findNonCommentChild(children);
3245
3261
  const rawProps = toRaw(props);
3246
3262
  const { mode } = rawProps;
3247
3263
  if (state.isLeaving) {
@@ -6082,7 +6098,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6082
6098
  return vm;
6083
6099
  }
6084
6100
  }
6085
- Vue.version = `2.6.14-compat:${"3.5.32"}`;
6101
+ Vue.version = `2.6.14-compat:${"3.5.33"}`;
6086
6102
  Vue.config = singletonApp.config;
6087
6103
  Vue.use = (plugin, ...options) => {
6088
6104
  if (plugin && isFunction(plugin.install)) {
@@ -10218,7 +10234,7 @@ function isMemoSame(cached, memo) {
10218
10234
  return true;
10219
10235
  }
10220
10236
 
10221
- const version = "3.5.32";
10237
+ const version = "3.5.33";
10222
10238
  const warn$1 = NOOP;
10223
10239
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10224
10240
  const devtools = void 0;
@@ -10737,7 +10753,19 @@ function patchStyle(el, prev, next) {
10737
10753
  if (key === "display") {
10738
10754
  hasControlledDisplay = true;
10739
10755
  }
10740
- setStyle(style, key, next[key]);
10756
+ const value = next[key];
10757
+ if (value != null) {
10758
+ if (!shouldPreserveTextareaResizeStyle(
10759
+ el,
10760
+ key,
10761
+ !isString(prev) && prev ? prev[key] : void 0,
10762
+ value
10763
+ )) {
10764
+ setStyle(style, key, value);
10765
+ }
10766
+ } else {
10767
+ setStyle(style, key, "");
10768
+ }
10741
10769
  }
10742
10770
  } else {
10743
10771
  if (isCssString) {
@@ -10802,6 +10830,9 @@ function autoPrefix(style, rawName) {
10802
10830
  }
10803
10831
  return rawName;
10804
10832
  }
10833
+ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
10834
+ return el.tagName === "TEXTAREA" && (key === "width" || key === "height") && isString(next) && prev === next;
10835
+ }
10805
10836
 
10806
10837
  const xlinkNS = "http://www.w3.org/1999/xlink";
10807
10838
  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.33
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -500,7 +500,18 @@ class EffectScope {
500
500
  */
501
501
  off() {
502
502
  if (this._on > 0 && --this._on === 0) {
503
- activeEffectScope = this.prevScope;
503
+ if (activeEffectScope === this) {
504
+ activeEffectScope = this.prevScope;
505
+ } else {
506
+ let current = activeEffectScope;
507
+ while (current) {
508
+ if (current.prevScope === this) {
509
+ current.prevScope = this.prevScope;
510
+ break;
511
+ }
512
+ current = current.prevScope;
513
+ }
514
+ }
504
515
  this.prevScope = void 0;
505
516
  }
506
517
  }
@@ -3769,7 +3780,7 @@ const TeleportImpl = {
3769
3780
  mc: mountChildren,
3770
3781
  pc: patchChildren,
3771
3782
  pbc: patchBlockChildren,
3772
- o: { insert, querySelector, createText, createComment }
3783
+ o: { insert, querySelector, createText, createComment, parentNode }
3773
3784
  } = internals;
3774
3785
  const disabled = isTeleportDisabled(n2.props);
3775
3786
  let { dynamicChildren } = n2;
@@ -3817,7 +3828,8 @@ const TeleportImpl = {
3817
3828
  if (pendingMounts.get(vnode) !== mountJob) return;
3818
3829
  pendingMounts.delete(vnode);
3819
3830
  if (isTeleportDisabled(vnode.props)) {
3820
- mount(vnode, container, vnode.anchor);
3831
+ const mountContainer = parentNode(vnode.el) || container;
3832
+ mount(vnode, mountContainer, vnode.anchor);
3821
3833
  updateCssVars(vnode, true);
3822
3834
  }
3823
3835
  mountToTarget(vnode);
@@ -3979,7 +3991,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3979
3991
  if (isReorder) {
3980
3992
  insert(el, container, parentAnchor);
3981
3993
  }
3982
- if (!isReorder || isTeleportDisabled(props)) {
3994
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
3983
3995
  if (shapeFlag & 16) {
3984
3996
  for (let i = 0; i < children.length; i++) {
3985
3997
  move(
@@ -4153,10 +4165,14 @@ const BaseTransitionImpl = {
4153
4165
  const state = useTransitionState();
4154
4166
  return () => {
4155
4167
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
4156
- if (!children || !children.length) {
4168
+ const child = children && children.length ? findNonCommentChild(children) : (
4169
+ // Keep explicit default-slot conditionals on the same transition path
4170
+ // as regular v-if branches, which render a comment placeholder.
4171
+ instance.subTree ? createCommentVNode() : void 0
4172
+ );
4173
+ if (!child) {
4157
4174
  return;
4158
4175
  }
4159
- const child = findNonCommentChild(children);
4160
4176
  const rawProps = toRaw(props);
4161
4177
  const { mode } = rawProps;
4162
4178
  if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
@@ -7521,7 +7537,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7521
7537
  return vm;
7522
7538
  }
7523
7539
  }
7524
- Vue.version = `2.6.14-compat:${"3.5.32"}`;
7540
+ Vue.version = `2.6.14-compat:${"3.5.33"}`;
7525
7541
  Vue.config = singletonApp.config;
7526
7542
  Vue.use = (plugin, ...options) => {
7527
7543
  if (plugin && isFunction(plugin.install)) {
@@ -12637,7 +12653,7 @@ function isMemoSame(cached, memo) {
12637
12653
  return true;
12638
12654
  }
12639
12655
 
12640
- const version = "3.5.32";
12656
+ const version = "3.5.33";
12641
12657
  const warn = warn$1 ;
12642
12658
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12643
12659
  const devtools = devtools$1 ;
@@ -13228,7 +13244,19 @@ function patchStyle(el, prev, next) {
13228
13244
  if (key === "display") {
13229
13245
  hasControlledDisplay = true;
13230
13246
  }
13231
- setStyle(style, key, next[key]);
13247
+ const value = next[key];
13248
+ if (value != null) {
13249
+ if (!shouldPreserveTextareaResizeStyle(
13250
+ el,
13251
+ key,
13252
+ !isString(prev) && prev ? prev[key] : void 0,
13253
+ value
13254
+ )) {
13255
+ setStyle(style, key, value);
13256
+ }
13257
+ } else {
13258
+ setStyle(style, key, "");
13259
+ }
13232
13260
  }
13233
13261
  } else {
13234
13262
  if (isCssString) {
@@ -13301,6 +13329,9 @@ function autoPrefix(style, rawName) {
13301
13329
  }
13302
13330
  return rawName;
13303
13331
  }
13332
+ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
13333
+ return el.tagName === "TEXTAREA" && (key === "width" || key === "height") && isString(next) && prev === next;
13334
+ }
13304
13335
 
13305
13336
  const xlinkNS = "http://www.w3.org/1999/xlink";
13306
13337
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {