@vue/compat 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/compat v3.5.33
2
+ * @vue/compat v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -354,12 +354,18 @@ class EffectScope {
354
354
  */
355
355
  this.cleanups = [];
356
356
  this._isPaused = false;
357
+ this._warnOnRun = true;
357
358
  this.__v_skip = true;
358
- this.parent = activeEffectScope;
359
359
  if (!detached && activeEffectScope) {
360
- this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
361
- this
362
- ) - 1;
360
+ if (activeEffectScope.active) {
361
+ this.parent = activeEffectScope;
362
+ this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
363
+ this
364
+ ) - 1;
365
+ } else {
366
+ this._active = false;
367
+ this._warnOnRun = false;
368
+ }
363
369
  }
364
370
  }
365
371
  get active() {
@@ -407,7 +413,7 @@ class EffectScope {
407
413
  } finally {
408
414
  activeEffectScope = currentEffectScope;
409
415
  }
410
- } else if (!!(process.env.NODE_ENV !== "production")) {
416
+ } else if (!!(process.env.NODE_ENV !== "production") && this._warnOnRun) {
411
417
  warn$2(`cannot run an inactive effect scope.`);
412
418
  }
413
419
  }
@@ -513,8 +519,12 @@ class ReactiveEffect {
513
519
  */
514
520
  this.cleanup = void 0;
515
521
  this.scheduler = void 0;
516
- if (activeEffectScope && activeEffectScope.active) {
517
- activeEffectScope.effects.push(this);
522
+ if (activeEffectScope) {
523
+ if (activeEffectScope.active) {
524
+ activeEffectScope.effects.push(this);
525
+ } else {
526
+ this.flags &= -2;
527
+ }
518
528
  }
519
529
  }
520
530
  pause() {
@@ -1666,9 +1676,6 @@ function targetTypeMap(rawType) {
1666
1676
  return 0 /* INVALID */;
1667
1677
  }
1668
1678
  }
1669
- function getTargetType(value) {
1670
- return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
1671
- }
1672
1679
  // @__NO_SIDE_EFFECTS__
1673
1680
  function reactive(target) {
1674
1681
  if (/* @__PURE__ */ isReadonly(target)) {
@@ -1726,14 +1733,17 @@ function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandl
1726
1733
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1727
1734
  return target;
1728
1735
  }
1729
- const targetType = getTargetType(target);
1730
- if (targetType === 0 /* INVALID */) {
1736
+ if (target["__v_skip"] || !Object.isExtensible(target)) {
1731
1737
  return target;
1732
1738
  }
1733
1739
  const existingProxy = proxyMap.get(target);
1734
1740
  if (existingProxy) {
1735
1741
  return existingProxy;
1736
1742
  }
1743
+ const targetType = targetTypeMap(toRawType(target));
1744
+ if (targetType === 0 /* INVALID */) {
1745
+ return target;
1746
+ }
1737
1747
  const proxy = new Proxy(
1738
1748
  target,
1739
1749
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -3899,19 +3909,18 @@ const TeleportImpl = {
3899
3909
  target,
3900
3910
  props
3901
3911
  } = vnode;
3902
- let shouldRemove = doRemove || !isTeleportDisabled(props);
3912
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
3903
3913
  const pendingMount = pendingMounts.get(vnode);
3904
3914
  if (pendingMount) {
3905
3915
  pendingMount.flags |= 8;
3906
3916
  pendingMounts.delete(vnode);
3907
- shouldRemove = false;
3908
3917
  }
3909
3918
  if (target) {
3910
3919
  hostRemove(targetStart);
3911
3920
  hostRemove(targetAnchor);
3912
3921
  }
3913
3922
  doRemove && hostRemove(anchor);
3914
- if (shapeFlag & 16) {
3923
+ if (!pendingMount && shapeFlag & 16) {
3915
3924
  for (let i = 0; i < children.length; i++) {
3916
3925
  const child = children[i];
3917
3926
  unmount(
@@ -4883,20 +4892,16 @@ function createHydrationFunctions(rendererInternals) {
4883
4892
  slotScopeIds,
4884
4893
  optimized
4885
4894
  );
4886
- let hasWarned = false;
4887
- while (next) {
4888
- if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {
4889
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
4890
- warn$1(
4891
- `Hydration children mismatch on`,
4892
- el,
4893
- `
4895
+ if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {
4896
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
4897
+ `Hydration children mismatch on`,
4898
+ el,
4899
+ `
4894
4900
  Server rendered element contains more child nodes than client vdom.`
4895
- );
4896
- hasWarned = true;
4897
- }
4898
- logMismatchError();
4899
- }
4901
+ );
4902
+ logMismatchError();
4903
+ }
4904
+ while (next) {
4900
4905
  const cur = next;
4901
4906
  next = next.nextSibling;
4902
4907
  remove(cur);
@@ -4970,7 +4975,7 @@ Server rendered element contains more child nodes than client vdom.`
4970
4975
  optimized = optimized || !!parentVNode.dynamicChildren;
4971
4976
  const children = parentVNode.children;
4972
4977
  const l = children.length;
4973
- let hasWarned = false;
4978
+ let hasCheckedMismatch = false;
4974
4979
  for (let i = 0; i < l; i++) {
4975
4980
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
4976
4981
  const isText = vnode.type === Text;
@@ -4998,17 +5003,17 @@ Server rendered element contains more child nodes than client vdom.`
4998
5003
  } else if (isText && !vnode.children) {
4999
5004
  insert(vnode.el = createText(""), container);
5000
5005
  } else {
5001
- if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
5002
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
5003
- warn$1(
5006
+ if (!hasCheckedMismatch) {
5007
+ hasCheckedMismatch = true;
5008
+ if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
5009
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
5004
5010
  `Hydration children mismatch on`,
5005
5011
  container,
5006
5012
  `
5007
5013
  Server rendered element contains fewer child nodes than client vdom.`
5008
5014
  );
5009
- hasWarned = true;
5015
+ logMismatchError();
5010
5016
  }
5011
- logMismatchError();
5012
5017
  }
5013
5018
  patch(
5014
5019
  null,
@@ -7496,7 +7501,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7496
7501
  return vm;
7497
7502
  }
7498
7503
  }
7499
- Vue.version = `2.6.14-compat:${"3.5.33"}`;
7504
+ Vue.version = `2.6.14-compat:${"3.5.35"}`;
7500
7505
  Vue.config = singletonApp.config;
7501
7506
  Vue.use = (plugin, ...options) => {
7502
7507
  if (plugin && isFunction(plugin.install)) {
@@ -9133,7 +9138,7 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
9133
9138
  const receivedType = toRawType(value);
9134
9139
  const expectedValue = styleValue(value, expectedType);
9135
9140
  const receivedValue = styleValue(value, receivedType);
9136
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
9141
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {
9137
9142
  message += ` with value ${expectedValue}`;
9138
9143
  }
9139
9144
  message += `, got ${receivedType} `;
@@ -9143,7 +9148,9 @@ function getInvalidTypeMessage(name, value, expectedTypes) {
9143
9148
  return message;
9144
9149
  }
9145
9150
  function styleValue(value, type) {
9146
- if (type === "String") {
9151
+ if (isSymbol(value)) {
9152
+ return value.toString();
9153
+ } else if (type === "String") {
9147
9154
  return `"${value}"`;
9148
9155
  } else if (type === "Number") {
9149
9156
  return `${Number(value)}`;
@@ -9155,8 +9162,11 @@ function isExplicable(type) {
9155
9162
  const explicitTypes = ["string", "number", "boolean"];
9156
9163
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
9157
9164
  }
9158
- function isBoolean(...args) {
9159
- return args.some((elem) => elem.toLowerCase() === "boolean");
9165
+ function isCoercible(...args) {
9166
+ return args.every((elem) => {
9167
+ const value = elem.toLowerCase();
9168
+ return value !== "boolean" && value !== "symbol";
9169
+ });
9160
9170
  }
9161
9171
 
9162
9172
  const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
@@ -10537,9 +10547,13 @@ function baseCreateRenderer(options, createHydrationFns) {
10537
10547
  const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
10538
10548
  if (needTransition2) {
10539
10549
  if (moveType === 0) {
10540
- transition.beforeEnter(el);
10541
- hostInsert(el, container, anchor);
10542
- queuePostRenderEffect(() => transition.enter(el), parentSuspense);
10550
+ if (transition.persisted && !el[leaveCbKey]) {
10551
+ hostInsert(el, container, anchor);
10552
+ } else {
10553
+ transition.beforeEnter(el);
10554
+ hostInsert(el, container, anchor);
10555
+ queuePostRenderEffect(() => transition.enter(el), parentSuspense);
10556
+ }
10543
10557
  } else {
10544
10558
  const { leave, delayLeave, afterLeave } = transition;
10545
10559
  const remove2 = () => {
@@ -10550,16 +10564,21 @@ function baseCreateRenderer(options, createHydrationFns) {
10550
10564
  }
10551
10565
  };
10552
10566
  const performLeave = () => {
10567
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
10553
10568
  if (el._isLeaving) {
10554
10569
  el[leaveCbKey](
10555
10570
  true
10556
10571
  /* cancelled */
10557
10572
  );
10558
10573
  }
10559
- leave(el, () => {
10574
+ if (transition.persisted && !wasLeaving) {
10560
10575
  remove2();
10561
- afterLeave && afterLeave();
10562
- });
10576
+ } else {
10577
+ leave(el, () => {
10578
+ remove2();
10579
+ afterLeave && afterLeave();
10580
+ });
10581
+ }
10563
10582
  };
10564
10583
  if (delayLeave) {
10565
10584
  delayLeave(el, remove2, performLeave);
@@ -11248,13 +11267,14 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11248
11267
  suspense.isHydrating = false;
11249
11268
  } else if (!resume) {
11250
11269
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
11270
+ let hasUpdatedAnchor = false;
11251
11271
  if (delayEnter) {
11252
11272
  activeBranch.transition.afterLeave = () => {
11253
11273
  if (pendingId === suspense.pendingId) {
11254
11274
  move(
11255
11275
  pendingBranch,
11256
11276
  container2,
11257
- anchor === initialAnchor ? next(activeBranch) : anchor,
11277
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
11258
11278
  0
11259
11279
  );
11260
11280
  queuePostFlushCb(effects);
@@ -11267,6 +11287,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11267
11287
  if (activeBranch && !suspense.isFallbackMountPending) {
11268
11288
  if (parentNode(activeBranch.el) === container2) {
11269
11289
  anchor = next(activeBranch);
11290
+ hasUpdatedAnchor = true;
11270
11291
  }
11271
11292
  unmount(activeBranch, parentComponent2, suspense, true);
11272
11293
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -12666,7 +12687,7 @@ function isMemoSame(cached, memo) {
12666
12687
  return true;
12667
12688
  }
12668
12689
 
12669
- const version = "3.5.33";
12690
+ const version = "3.5.35";
12670
12691
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12671
12692
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12672
12693
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -13511,12 +13532,37 @@ function createInvoker(initialValue, instance) {
13511
13532
  } else if (e._vts <= invoker.attached) {
13512
13533
  return;
13513
13534
  }
13514
- callWithAsyncErrorHandling(
13515
- patchStopImmediatePropagation(e, invoker.value),
13516
- instance,
13517
- 5,
13518
- [e]
13519
- );
13535
+ const value = invoker.value;
13536
+ if (isArray(value)) {
13537
+ const originalStop = e.stopImmediatePropagation;
13538
+ e.stopImmediatePropagation = () => {
13539
+ originalStop.call(e);
13540
+ e._stopped = true;
13541
+ };
13542
+ const handlers = value.slice();
13543
+ const args = [e];
13544
+ for (let i = 0; i < handlers.length; i++) {
13545
+ if (e._stopped) {
13546
+ break;
13547
+ }
13548
+ const handler = handlers[i];
13549
+ if (handler) {
13550
+ callWithAsyncErrorHandling(
13551
+ handler,
13552
+ instance,
13553
+ 5,
13554
+ args
13555
+ );
13556
+ }
13557
+ }
13558
+ } else {
13559
+ callWithAsyncErrorHandling(
13560
+ value,
13561
+ instance,
13562
+ 5,
13563
+ [e]
13564
+ );
13565
+ }
13520
13566
  };
13521
13567
  invoker.value = initialValue;
13522
13568
  invoker.attached = getNow();
@@ -13532,20 +13578,6 @@ Expected function or array of functions, received type ${typeof value}.`
13532
13578
  );
13533
13579
  return NOOP;
13534
13580
  }
13535
- function patchStopImmediatePropagation(e, value) {
13536
- if (isArray(value)) {
13537
- const originalStop = e.stopImmediatePropagation;
13538
- e.stopImmediatePropagation = () => {
13539
- originalStop.call(e);
13540
- e._stopped = true;
13541
- };
13542
- return value.map(
13543
- (fn) => (e2) => !e2._stopped && fn && fn(e2)
13544
- );
13545
- } else {
13546
- return value;
13547
- }
13548
- }
13549
13581
 
13550
13582
  const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
13551
13583
  key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.33
2
+ * @vue/compat v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -357,12 +357,18 @@ var Vue = (function () {
357
357
  */
358
358
  this.cleanups = [];
359
359
  this._isPaused = false;
360
+ this._warnOnRun = true;
360
361
  this.__v_skip = true;
361
- this.parent = activeEffectScope;
362
362
  if (!detached && activeEffectScope) {
363
- this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
364
- this
365
- ) - 1;
363
+ if (activeEffectScope.active) {
364
+ this.parent = activeEffectScope;
365
+ this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
366
+ this
367
+ ) - 1;
368
+ } else {
369
+ this._active = false;
370
+ this._warnOnRun = false;
371
+ }
366
372
  }
367
373
  }
368
374
  get active() {
@@ -410,7 +416,7 @@ var Vue = (function () {
410
416
  } finally {
411
417
  activeEffectScope = currentEffectScope;
412
418
  }
413
- } else {
419
+ } else if (this._warnOnRun) {
414
420
  warn$2(`cannot run an inactive effect scope.`);
415
421
  }
416
422
  }
@@ -516,8 +522,12 @@ var Vue = (function () {
516
522
  */
517
523
  this.cleanup = void 0;
518
524
  this.scheduler = void 0;
519
- if (activeEffectScope && activeEffectScope.active) {
520
- activeEffectScope.effects.push(this);
525
+ if (activeEffectScope) {
526
+ if (activeEffectScope.active) {
527
+ activeEffectScope.effects.push(this);
528
+ } else {
529
+ this.flags &= -2;
530
+ }
521
531
  }
522
532
  }
523
533
  pause() {
@@ -1665,9 +1675,6 @@ var Vue = (function () {
1665
1675
  return 0 /* INVALID */;
1666
1676
  }
1667
1677
  }
1668
- function getTargetType(value) {
1669
- return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
1670
- }
1671
1678
  // @__NO_SIDE_EFFECTS__
1672
1679
  function reactive(target) {
1673
1680
  if (/* @__PURE__ */ isReadonly(target)) {
@@ -1725,14 +1732,17 @@ var Vue = (function () {
1725
1732
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
1726
1733
  return target;
1727
1734
  }
1728
- const targetType = getTargetType(target);
1729
- if (targetType === 0 /* INVALID */) {
1735
+ if (target["__v_skip"] || !Object.isExtensible(target)) {
1730
1736
  return target;
1731
1737
  }
1732
1738
  const existingProxy = proxyMap.get(target);
1733
1739
  if (existingProxy) {
1734
1740
  return existingProxy;
1735
1741
  }
1742
+ const targetType = targetTypeMap(toRawType(target));
1743
+ if (targetType === 0 /* INVALID */) {
1744
+ return target;
1745
+ }
1736
1746
  const proxy = new Proxy(
1737
1747
  target,
1738
1748
  targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
@@ -3856,19 +3866,18 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3856
3866
  target,
3857
3867
  props
3858
3868
  } = vnode;
3859
- let shouldRemove = doRemove || !isTeleportDisabled(props);
3869
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
3860
3870
  const pendingMount = pendingMounts.get(vnode);
3861
3871
  if (pendingMount) {
3862
3872
  pendingMount.flags |= 8;
3863
3873
  pendingMounts.delete(vnode);
3864
- shouldRemove = false;
3865
3874
  }
3866
3875
  if (target) {
3867
3876
  hostRemove(targetStart);
3868
3877
  hostRemove(targetAnchor);
3869
3878
  }
3870
3879
  doRemove && hostRemove(anchor);
3871
- if (shapeFlag & 16) {
3880
+ if (!pendingMount && shapeFlag & 16) {
3872
3881
  for (let i = 0; i < children.length; i++) {
3873
3882
  const child = children[i];
3874
3883
  unmount(
@@ -4839,20 +4848,16 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4839
4848
  slotScopeIds,
4840
4849
  optimized
4841
4850
  );
4842
- let hasWarned = false;
4843
- while (next) {
4844
- if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {
4845
- if (!hasWarned) {
4846
- warn$1(
4847
- `Hydration children mismatch on`,
4848
- el,
4849
- `
4851
+ if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {
4852
+ warn$1(
4853
+ `Hydration children mismatch on`,
4854
+ el,
4855
+ `
4850
4856
  Server rendered element contains more child nodes than client vdom.`
4851
- );
4852
- hasWarned = true;
4853
- }
4854
- logMismatchError();
4855
- }
4857
+ );
4858
+ logMismatchError();
4859
+ }
4860
+ while (next) {
4856
4861
  const cur = next;
4857
4862
  next = next.nextSibling;
4858
4863
  remove(cur);
@@ -4915,7 +4920,7 @@ Server rendered element contains more child nodes than client vdom.`
4915
4920
  optimized = optimized || !!parentVNode.dynamicChildren;
4916
4921
  const children = parentVNode.children;
4917
4922
  const l = children.length;
4918
- let hasWarned = false;
4923
+ let hasCheckedMismatch = false;
4919
4924
  for (let i = 0; i < l; i++) {
4920
4925
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
4921
4926
  const isText = vnode.type === Text;
@@ -4943,17 +4948,17 @@ Server rendered element contains more child nodes than client vdom.`
4943
4948
  } else if (isText && !vnode.children) {
4944
4949
  insert(vnode.el = createText(""), container);
4945
4950
  } else {
4946
- if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
4947
- if (!hasWarned) {
4951
+ if (!hasCheckedMismatch) {
4952
+ hasCheckedMismatch = true;
4953
+ if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
4948
4954
  warn$1(
4949
4955
  `Hydration children mismatch on`,
4950
4956
  container,
4951
4957
  `
4952
4958
  Server rendered element contains fewer child nodes than client vdom.`
4953
4959
  );
4954
- hasWarned = true;
4960
+ logMismatchError();
4955
4961
  }
4956
- logMismatchError();
4957
4962
  }
4958
4963
  patch(
4959
4964
  null,
@@ -7430,7 +7435,7 @@ If this is a native custom element, make sure to exclude it from component resol
7430
7435
  return vm;
7431
7436
  }
7432
7437
  }
7433
- Vue.version = `2.6.14-compat:${"3.5.33"}`;
7438
+ Vue.version = `2.6.14-compat:${"3.5.35"}`;
7434
7439
  Vue.config = singletonApp.config;
7435
7440
  Vue.use = (plugin, ...options) => {
7436
7441
  if (plugin && isFunction(plugin.install)) {
@@ -9065,7 +9070,7 @@ If you want to remount the same app, move your app creation logic into a factory
9065
9070
  const receivedType = toRawType(value);
9066
9071
  const expectedValue = styleValue(value, expectedType);
9067
9072
  const receivedValue = styleValue(value, receivedType);
9068
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
9073
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && isCoercible(expectedType, receivedType)) {
9069
9074
  message += ` with value ${expectedValue}`;
9070
9075
  }
9071
9076
  message += `, got ${receivedType} `;
@@ -9075,7 +9080,9 @@ If you want to remount the same app, move your app creation logic into a factory
9075
9080
  return message;
9076
9081
  }
9077
9082
  function styleValue(value, type) {
9078
- if (type === "String") {
9083
+ if (isSymbol(value)) {
9084
+ return value.toString();
9085
+ } else if (type === "String") {
9079
9086
  return `"${value}"`;
9080
9087
  } else if (type === "Number") {
9081
9088
  return `${Number(value)}`;
@@ -9087,8 +9094,11 @@ If you want to remount the same app, move your app creation logic into a factory
9087
9094
  const explicitTypes = ["string", "number", "boolean"];
9088
9095
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
9089
9096
  }
9090
- function isBoolean(...args) {
9091
- return args.some((elem) => elem.toLowerCase() === "boolean");
9097
+ function isCoercible(...args) {
9098
+ return args.every((elem) => {
9099
+ const value = elem.toLowerCase();
9100
+ return value !== "boolean" && value !== "symbol";
9101
+ });
9092
9102
  }
9093
9103
 
9094
9104
  const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
@@ -10431,9 +10441,13 @@ If you want to remount the same app, move your app creation logic into a factory
10431
10441
  const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
10432
10442
  if (needTransition2) {
10433
10443
  if (moveType === 0) {
10434
- transition.beforeEnter(el);
10435
- hostInsert(el, container, anchor);
10436
- queuePostRenderEffect(() => transition.enter(el), parentSuspense);
10444
+ if (transition.persisted && !el[leaveCbKey]) {
10445
+ hostInsert(el, container, anchor);
10446
+ } else {
10447
+ transition.beforeEnter(el);
10448
+ hostInsert(el, container, anchor);
10449
+ queuePostRenderEffect(() => transition.enter(el), parentSuspense);
10450
+ }
10437
10451
  } else {
10438
10452
  const { leave, delayLeave, afterLeave } = transition;
10439
10453
  const remove2 = () => {
@@ -10444,16 +10458,21 @@ If you want to remount the same app, move your app creation logic into a factory
10444
10458
  }
10445
10459
  };
10446
10460
  const performLeave = () => {
10461
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
10447
10462
  if (el._isLeaving) {
10448
10463
  el[leaveCbKey](
10449
10464
  true
10450
10465
  /* cancelled */
10451
10466
  );
10452
10467
  }
10453
- leave(el, () => {
10468
+ if (transition.persisted && !wasLeaving) {
10454
10469
  remove2();
10455
- afterLeave && afterLeave();
10456
- });
10470
+ } else {
10471
+ leave(el, () => {
10472
+ remove2();
10473
+ afterLeave && afterLeave();
10474
+ });
10475
+ }
10457
10476
  };
10458
10477
  if (delayLeave) {
10459
10478
  delayLeave(el, remove2, performLeave);
@@ -11142,13 +11161,14 @@ If you want to remount the same app, move your app creation logic into a factory
11142
11161
  suspense.isHydrating = false;
11143
11162
  } else if (!resume) {
11144
11163
  delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
11164
+ let hasUpdatedAnchor = false;
11145
11165
  if (delayEnter) {
11146
11166
  activeBranch.transition.afterLeave = () => {
11147
11167
  if (pendingId === suspense.pendingId) {
11148
11168
  move(
11149
11169
  pendingBranch,
11150
11170
  container2,
11151
- anchor === initialAnchor ? next(activeBranch) : anchor,
11171
+ anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor,
11152
11172
  0
11153
11173
  );
11154
11174
  queuePostFlushCb(effects);
@@ -11161,6 +11181,7 @@ If you want to remount the same app, move your app creation logic into a factory
11161
11181
  if (activeBranch && !suspense.isFallbackMountPending) {
11162
11182
  if (parentNode(activeBranch.el) === container2) {
11163
11183
  anchor = next(activeBranch);
11184
+ hasUpdatedAnchor = true;
11164
11185
  }
11165
11186
  unmount(activeBranch, parentComponent2, suspense, true);
11166
11187
  if (!delayEnter && isInFallback && vnode2.ssFallback) {
@@ -12532,7 +12553,7 @@ Component that was made reactive: `,
12532
12553
  return true;
12533
12554
  }
12534
12555
 
12535
- const version = "3.5.33";
12556
+ const version = "3.5.35";
12536
12557
  const warn = warn$1 ;
12537
12558
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12538
12559
  const devtools = devtools$1 ;
@@ -13358,12 +13379,37 @@ Component that was made reactive: `,
13358
13379
  } else if (e._vts <= invoker.attached) {
13359
13380
  return;
13360
13381
  }
13361
- callWithAsyncErrorHandling(
13362
- patchStopImmediatePropagation(e, invoker.value),
13363
- instance,
13364
- 5,
13365
- [e]
13366
- );
13382
+ const value = invoker.value;
13383
+ if (isArray(value)) {
13384
+ const originalStop = e.stopImmediatePropagation;
13385
+ e.stopImmediatePropagation = () => {
13386
+ originalStop.call(e);
13387
+ e._stopped = true;
13388
+ };
13389
+ const handlers = value.slice();
13390
+ const args = [e];
13391
+ for (let i = 0; i < handlers.length; i++) {
13392
+ if (e._stopped) {
13393
+ break;
13394
+ }
13395
+ const handler = handlers[i];
13396
+ if (handler) {
13397
+ callWithAsyncErrorHandling(
13398
+ handler,
13399
+ instance,
13400
+ 5,
13401
+ args
13402
+ );
13403
+ }
13404
+ }
13405
+ } else {
13406
+ callWithAsyncErrorHandling(
13407
+ value,
13408
+ instance,
13409
+ 5,
13410
+ [e]
13411
+ );
13412
+ }
13367
13413
  };
13368
13414
  invoker.value = initialValue;
13369
13415
  invoker.attached = getNow();
@@ -13379,20 +13425,6 @@ Expected function or array of functions, received type ${typeof value}.`
13379
13425
  );
13380
13426
  return NOOP;
13381
13427
  }
13382
- function patchStopImmediatePropagation(e, value) {
13383
- if (isArray(value)) {
13384
- const originalStop = e.stopImmediatePropagation;
13385
- e.stopImmediatePropagation = () => {
13386
- originalStop.call(e);
13387
- e._stopped = true;
13388
- };
13389
- return value.map(
13390
- (fn) => (e2) => !e2._stopped && fn && fn(e2)
13391
- );
13392
- } else {
13393
- return value;
13394
- }
13395
- }
13396
13428
 
13397
13429
  const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
13398
13430
  key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;