vue 3.5.31 → 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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.31
2
+ * vue v3.5.33
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.31
2
+ * vue v3.5.33
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -503,7 +503,18 @@ var Vue = (function (exports) {
503
503
  */
504
504
  off() {
505
505
  if (this._on > 0 && --this._on === 0) {
506
- activeEffectScope = this.prevScope;
506
+ if (activeEffectScope === this) {
507
+ activeEffectScope = this.prevScope;
508
+ } else {
509
+ let current = activeEffectScope;
510
+ while (current) {
511
+ if (current.prevScope === this) {
512
+ current.prevScope = this.prevScope;
513
+ break;
514
+ }
515
+ current = current.prevScope;
516
+ }
517
+ }
507
518
  this.prevScope = void 0;
508
519
  }
509
520
  }
@@ -3236,6 +3247,7 @@ var Vue = (function (exports) {
3236
3247
  };
3237
3248
  }
3238
3249
 
3250
+ const pendingMounts = /* @__PURE__ */ new WeakMap();
3239
3251
  const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
3240
3252
  const isTeleport = (type) => type.__isTeleport;
3241
3253
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
@@ -3274,94 +3286,90 @@ var Vue = (function (exports) {
3274
3286
  mc: mountChildren,
3275
3287
  pc: patchChildren,
3276
3288
  pbc: patchBlockChildren,
3277
- o: { insert, querySelector, createText, createComment }
3289
+ o: { insert, querySelector, createText, createComment, parentNode }
3278
3290
  } = internals;
3279
3291
  const disabled = isTeleportDisabled(n2.props);
3280
- let { shapeFlag, children, dynamicChildren } = n2;
3292
+ let { dynamicChildren } = n2;
3281
3293
  if (isHmrUpdating) {
3282
3294
  optimized = false;
3283
3295
  dynamicChildren = null;
3284
3296
  }
3297
+ const mount = (vnode, container2, anchor2) => {
3298
+ if (vnode.shapeFlag & 16) {
3299
+ mountChildren(
3300
+ vnode.children,
3301
+ container2,
3302
+ anchor2,
3303
+ parentComponent,
3304
+ parentSuspense,
3305
+ namespace,
3306
+ slotScopeIds,
3307
+ optimized
3308
+ );
3309
+ }
3310
+ };
3311
+ const mountToTarget = (vnode = n2) => {
3312
+ const disabled2 = isTeleportDisabled(vnode.props);
3313
+ const target = vnode.target = resolveTarget(vnode.props, querySelector);
3314
+ const targetAnchor = prepareAnchor(target, vnode, createText, insert);
3315
+ if (target) {
3316
+ if (namespace !== "svg" && isTargetSVG(target)) {
3317
+ namespace = "svg";
3318
+ } else if (namespace !== "mathml" && isTargetMathML(target)) {
3319
+ namespace = "mathml";
3320
+ }
3321
+ if (parentComponent && parentComponent.isCE) {
3322
+ (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);
3323
+ }
3324
+ if (!disabled2) {
3325
+ mount(vnode, target, targetAnchor);
3326
+ updateCssVars(vnode, false);
3327
+ }
3328
+ } else if (!disabled2) {
3329
+ warn$1("Invalid Teleport target on mount:", target, `(${typeof target})`);
3330
+ }
3331
+ };
3332
+ const queuePendingMount = (vnode) => {
3333
+ const mountJob = () => {
3334
+ if (pendingMounts.get(vnode) !== mountJob) return;
3335
+ pendingMounts.delete(vnode);
3336
+ if (isTeleportDisabled(vnode.props)) {
3337
+ const mountContainer = parentNode(vnode.el) || container;
3338
+ mount(vnode, mountContainer, vnode.anchor);
3339
+ updateCssVars(vnode, true);
3340
+ }
3341
+ mountToTarget(vnode);
3342
+ };
3343
+ pendingMounts.set(vnode, mountJob);
3344
+ queuePostRenderEffect(mountJob, parentSuspense);
3345
+ };
3285
3346
  if (n1 == null) {
3286
3347
  const placeholder = n2.el = createComment("teleport start") ;
3287
3348
  const mainAnchor = n2.anchor = createComment("teleport end") ;
3288
3349
  insert(placeholder, container, anchor);
3289
3350
  insert(mainAnchor, container, anchor);
3290
- const mount = (container2, anchor2) => {
3291
- if (shapeFlag & 16) {
3292
- mountChildren(
3293
- children,
3294
- container2,
3295
- anchor2,
3296
- parentComponent,
3297
- parentSuspense,
3298
- namespace,
3299
- slotScopeIds,
3300
- optimized
3301
- );
3302
- }
3303
- };
3304
- const mountToTarget = () => {
3305
- const target = n2.target = resolveTarget(n2.props, querySelector);
3306
- const targetAnchor = prepareAnchor(target, n2, createText, insert);
3307
- if (target) {
3308
- if (namespace !== "svg" && isTargetSVG(target)) {
3309
- namespace = "svg";
3310
- } else if (namespace !== "mathml" && isTargetMathML(target)) {
3311
- namespace = "mathml";
3312
- }
3313
- if (parentComponent && parentComponent.isCE) {
3314
- (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);
3315
- }
3316
- if (!disabled) {
3317
- mount(target, targetAnchor);
3318
- updateCssVars(n2, false);
3319
- }
3320
- } else if (!disabled) {
3321
- warn$1(
3322
- "Invalid Teleport target on mount:",
3323
- target,
3324
- `(${typeof target})`
3325
- );
3326
- }
3327
- };
3351
+ if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) {
3352
+ queuePendingMount(n2);
3353
+ return;
3354
+ }
3328
3355
  if (disabled) {
3329
- mount(container, mainAnchor);
3356
+ mount(n2, container, mainAnchor);
3330
3357
  updateCssVars(n2, true);
3331
3358
  }
3332
- if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) {
3333
- n2.el.__isMounted = false;
3334
- queuePostRenderEffect(() => {
3335
- if (n2.el.__isMounted !== false) return;
3336
- mountToTarget();
3337
- delete n2.el.__isMounted;
3338
- }, parentSuspense);
3339
- } else {
3340
- mountToTarget();
3341
- }
3359
+ mountToTarget();
3342
3360
  } else {
3343
3361
  n2.el = n1.el;
3344
- n2.targetStart = n1.targetStart;
3345
3362
  const mainAnchor = n2.anchor = n1.anchor;
3346
- const target = n2.target = n1.target;
3347
- const targetAnchor = n2.targetAnchor = n1.targetAnchor;
3348
- if (n1.el.__isMounted === false) {
3349
- queuePostRenderEffect(() => {
3350
- TeleportImpl.process(
3351
- n1,
3352
- n2,
3353
- container,
3354
- anchor,
3355
- parentComponent,
3356
- parentSuspense,
3357
- namespace,
3358
- slotScopeIds,
3359
- optimized,
3360
- internals
3361
- );
3362
- }, parentSuspense);
3363
+ const pendingMount = pendingMounts.get(n1);
3364
+ if (pendingMount) {
3365
+ pendingMount.flags |= 8;
3366
+ pendingMounts.delete(n1);
3367
+ queuePendingMount(n2);
3363
3368
  return;
3364
3369
  }
3370
+ n2.targetStart = n1.targetStart;
3371
+ const target = n2.target = n1.target;
3372
+ const targetAnchor = n2.targetAnchor = n1.targetAnchor;
3365
3373
  const wasDisabled = isTeleportDisabled(n1.props);
3366
3374
  const currentContainer = wasDisabled ? container : target;
3367
3375
  const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
@@ -3452,13 +3460,19 @@ var Vue = (function (exports) {
3452
3460
  target,
3453
3461
  props
3454
3462
  } = vnode;
3463
+ let shouldRemove = doRemove || !isTeleportDisabled(props);
3464
+ const pendingMount = pendingMounts.get(vnode);
3465
+ if (pendingMount) {
3466
+ pendingMount.flags |= 8;
3467
+ pendingMounts.delete(vnode);
3468
+ shouldRemove = false;
3469
+ }
3455
3470
  if (target) {
3456
3471
  hostRemove(targetStart);
3457
3472
  hostRemove(targetAnchor);
3458
3473
  }
3459
3474
  doRemove && hostRemove(anchor);
3460
3475
  if (shapeFlag & 16) {
3461
- const shouldRemove = doRemove || !isTeleportDisabled(props);
3462
3476
  for (let i = 0; i < children.length; i++) {
3463
3477
  const child = children[i];
3464
3478
  unmount(
@@ -3483,7 +3497,7 @@ var Vue = (function (exports) {
3483
3497
  if (isReorder) {
3484
3498
  insert(el, container, parentAnchor);
3485
3499
  }
3486
- if (!isReorder || isTeleportDisabled(props)) {
3500
+ if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {
3487
3501
  if (shapeFlag & 16) {
3488
3502
  for (let i = 0; i < children.length; i++) {
3489
3503
  move(
@@ -3657,10 +3671,14 @@ var Vue = (function (exports) {
3657
3671
  const state = useTransitionState();
3658
3672
  return () => {
3659
3673
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
3660
- if (!children || !children.length) {
3674
+ const child = children && children.length ? findNonCommentChild(children) : (
3675
+ // Keep explicit default-slot conditionals on the same transition path
3676
+ // as regular v-if branches, which render a comment placeholder.
3677
+ instance.subTree ? createCommentVNode() : void 0
3678
+ );
3679
+ if (!child) {
3661
3680
  return;
3662
3681
  }
3663
- const child = findNonCommentChild(children);
3664
3682
  const rawProps = toRaw(props);
3665
3683
  const { mode } = rawProps;
3666
3684
  if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
@@ -9626,6 +9644,7 @@ If you want to remount the same app, move your app creation logic into a factory
9626
9644
  if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {
9627
9645
  return;
9628
9646
  }
9647
+ unsetCurrentInstance();
9629
9648
  instance.asyncResolved = true;
9630
9649
  const { vnode: vnode2 } = instance;
9631
9650
  {
@@ -10816,7 +10835,7 @@ Component that was made reactive: `,
10816
10835
  return true;
10817
10836
  }
10818
10837
 
10819
- const version = "3.5.31";
10838
+ const version = "3.5.33";
10820
10839
  const warn = warn$1 ;
10821
10840
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10822
10841
  const devtools = devtools$1 ;
@@ -11344,7 +11363,19 @@ Component that was made reactive: `,
11344
11363
  if (key === "display") {
11345
11364
  hasControlledDisplay = true;
11346
11365
  }
11347
- setStyle(style, key, next[key]);
11366
+ const value = next[key];
11367
+ if (value != null) {
11368
+ if (!shouldPreserveTextareaResizeStyle(
11369
+ el,
11370
+ key,
11371
+ !isString(prev) && prev ? prev[key] : void 0,
11372
+ value
11373
+ )) {
11374
+ setStyle(style, key, value);
11375
+ }
11376
+ } else {
11377
+ setStyle(style, key, "");
11378
+ }
11348
11379
  }
11349
11380
  } else {
11350
11381
  if (isCssString) {
@@ -11417,6 +11448,9 @@ Component that was made reactive: `,
11417
11448
  }
11418
11449
  return rawName;
11419
11450
  }
11451
+ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
11452
+ return el.tagName === "TEXTAREA" && (key === "width" || key === "height") && isString(next) && prev === next;
11453
+ }
11420
11454
 
11421
11455
  const xlinkNS = "http://www.w3.org/1999/xlink";
11422
11456
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {