@vue/compat 3.5.25 → 3.5.26

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.25
2
+ * @vue/compat v3.5.26
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -932,13 +932,13 @@ var Vue = (function () {
932
932
  }
933
933
  }
934
934
  const targetMap = /* @__PURE__ */ new WeakMap();
935
- const ITERATE_KEY = Symbol(
935
+ const ITERATE_KEY = /* @__PURE__ */ Symbol(
936
936
  "Object iterate"
937
937
  );
938
- const MAP_KEY_ITERATE_KEY = Symbol(
938
+ const MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(
939
939
  "Map keys iterate"
940
940
  );
941
- const ARRAY_ITERATE_KEY = Symbol(
941
+ const ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(
942
942
  "Array iterate"
943
943
  );
944
944
  function track(target, type, key) {
@@ -3306,65 +3306,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3306
3306
  return instance.proxy;
3307
3307
  }
3308
3308
 
3309
- const compatModelEventPrefix = `onModelCompat:`;
3310
- const warnedTypes = /* @__PURE__ */ new WeakSet();
3311
- function convertLegacyVModelProps(vnode) {
3312
- const { type, shapeFlag, props, dynamicProps } = vnode;
3313
- const comp = type;
3314
- if (shapeFlag & 6 && props && "modelValue" in props) {
3315
- if (!isCompatEnabled(
3316
- "COMPONENT_V_MODEL",
3317
- // this is a special case where we want to use the vnode component's
3318
- // compat config instead of the current rendering instance (which is the
3319
- // parent of the component that exposes v-model)
3320
- { type }
3321
- )) {
3322
- return;
3323
- }
3324
- if (!warnedTypes.has(comp)) {
3325
- pushWarningContext(vnode);
3326
- warnDeprecation("COMPONENT_V_MODEL", { type }, comp);
3327
- popWarningContext();
3328
- warnedTypes.add(comp);
3329
- }
3330
- const model = comp.model || {};
3331
- applyModelFromMixins(model, comp.mixins);
3332
- const { prop = "value", event = "input" } = model;
3333
- if (prop !== "modelValue") {
3334
- props[prop] = props.modelValue;
3335
- delete props.modelValue;
3336
- }
3337
- if (dynamicProps) {
3338
- dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
3339
- }
3340
- props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
3341
- delete props["onUpdate:modelValue"];
3342
- }
3343
- }
3344
- function applyModelFromMixins(model, mixins) {
3345
- if (mixins) {
3346
- mixins.forEach((m) => {
3347
- if (m.model) extend(model, m.model);
3348
- if (m.mixins) applyModelFromMixins(model, m.mixins);
3349
- });
3350
- }
3351
- }
3352
- function compatModelEmit(instance, event, args) {
3353
- if (!isCompatEnabled("COMPONENT_V_MODEL", instance)) {
3354
- return;
3355
- }
3356
- const props = instance.vnode.props;
3357
- const modelHandler = props && props[compatModelEventPrefix + event];
3358
- if (modelHandler) {
3359
- callWithErrorHandling(
3360
- modelHandler,
3361
- instance,
3362
- 6,
3363
- args
3364
- );
3365
- }
3366
- }
3367
-
3368
3309
  let currentRenderingInstance = null;
3369
3310
  let currentScopeId = null;
3370
3311
  function setCurrentRenderingInstance(instance) {
@@ -3515,7 +3456,152 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3515
3456
  }
3516
3457
  }
3517
3458
 
3518
- const TeleportEndKey = Symbol("_vte");
3459
+ function provide(key, value) {
3460
+ {
3461
+ if (!currentInstance || currentInstance.isMounted) {
3462
+ warn$1(`provide() can only be used inside setup().`);
3463
+ }
3464
+ }
3465
+ if (currentInstance) {
3466
+ let provides = currentInstance.provides;
3467
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
3468
+ if (parentProvides === provides) {
3469
+ provides = currentInstance.provides = Object.create(parentProvides);
3470
+ }
3471
+ provides[key] = value;
3472
+ }
3473
+ }
3474
+ function inject(key, defaultValue, treatDefaultAsFactory = false) {
3475
+ const instance = getCurrentInstance();
3476
+ if (instance || currentApp) {
3477
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
3478
+ if (provides && key in provides) {
3479
+ return provides[key];
3480
+ } else if (arguments.length > 1) {
3481
+ return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
3482
+ } else {
3483
+ warn$1(`injection "${String(key)}" not found.`);
3484
+ }
3485
+ } else {
3486
+ warn$1(`inject() can only be used inside setup() or functional components.`);
3487
+ }
3488
+ }
3489
+ function hasInjectionContext() {
3490
+ return !!(getCurrentInstance() || currentApp);
3491
+ }
3492
+
3493
+ const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
3494
+ const useSSRContext = () => {
3495
+ {
3496
+ warn$1(`useSSRContext() is not supported in the global build.`);
3497
+ }
3498
+ };
3499
+
3500
+ function watchEffect(effect, options) {
3501
+ return doWatch(effect, null, options);
3502
+ }
3503
+ function watchPostEffect(effect, options) {
3504
+ return doWatch(
3505
+ effect,
3506
+ null,
3507
+ extend({}, options, { flush: "post" })
3508
+ );
3509
+ }
3510
+ function watchSyncEffect(effect, options) {
3511
+ return doWatch(
3512
+ effect,
3513
+ null,
3514
+ extend({}, options, { flush: "sync" })
3515
+ );
3516
+ }
3517
+ function watch(source, cb, options) {
3518
+ if (!isFunction(cb)) {
3519
+ warn$1(
3520
+ `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
3521
+ );
3522
+ }
3523
+ return doWatch(source, cb, options);
3524
+ }
3525
+ function doWatch(source, cb, options = EMPTY_OBJ) {
3526
+ const { immediate, deep, flush, once } = options;
3527
+ if (!cb) {
3528
+ if (immediate !== void 0) {
3529
+ warn$1(
3530
+ `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
3531
+ );
3532
+ }
3533
+ if (deep !== void 0) {
3534
+ warn$1(
3535
+ `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
3536
+ );
3537
+ }
3538
+ if (once !== void 0) {
3539
+ warn$1(
3540
+ `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
3541
+ );
3542
+ }
3543
+ }
3544
+ const baseWatchOptions = extend({}, options);
3545
+ baseWatchOptions.onWarn = warn$1;
3546
+ const instance = currentInstance;
3547
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
3548
+ let isPre = false;
3549
+ if (flush === "post") {
3550
+ baseWatchOptions.scheduler = (job) => {
3551
+ queuePostRenderEffect(job, instance && instance.suspense);
3552
+ };
3553
+ } else if (flush !== "sync") {
3554
+ isPre = true;
3555
+ baseWatchOptions.scheduler = (job, isFirstRun) => {
3556
+ if (isFirstRun) {
3557
+ job();
3558
+ } else {
3559
+ queueJob(job);
3560
+ }
3561
+ };
3562
+ }
3563
+ baseWatchOptions.augmentJob = (job) => {
3564
+ if (cb) {
3565
+ job.flags |= 4;
3566
+ }
3567
+ if (isPre) {
3568
+ job.flags |= 2;
3569
+ if (instance) {
3570
+ job.id = instance.uid;
3571
+ job.i = instance;
3572
+ }
3573
+ }
3574
+ };
3575
+ const watchHandle = watch$1(source, cb, baseWatchOptions);
3576
+ return watchHandle;
3577
+ }
3578
+ function instanceWatch(source, value, options) {
3579
+ const publicThis = this.proxy;
3580
+ const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
3581
+ let cb;
3582
+ if (isFunction(value)) {
3583
+ cb = value;
3584
+ } else {
3585
+ cb = value.handler;
3586
+ options = value;
3587
+ }
3588
+ const reset = setCurrentInstance(this);
3589
+ const res = doWatch(getter, cb.bind(publicThis), options);
3590
+ reset();
3591
+ return res;
3592
+ }
3593
+ function createPathGetter(ctx, path) {
3594
+ const segments = path.split(".");
3595
+ return () => {
3596
+ let cur = ctx;
3597
+ for (let i = 0; i < segments.length && cur; i++) {
3598
+ cur = cur[segments[i]];
3599
+ }
3600
+ return cur;
3601
+ };
3602
+ }
3603
+
3604
+ const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
3519
3605
  const isTeleport = (type) => type.__isTeleport;
3520
3606
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
3521
3607
  const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
@@ -3875,8 +3961,8 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3875
3961
  return targetAnchor;
3876
3962
  }
3877
3963
 
3878
- const leaveCbKey = Symbol("_leaveCb");
3879
- const enterCbKey$1 = Symbol("_enterCb");
3964
+ const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
3965
+ const enterCbKey$1 = /* @__PURE__ */ Symbol("_enterCb");
3880
3966
  function useTransitionState() {
3881
3967
  const state = {
3882
3968
  isMounted: false,
@@ -5410,7 +5496,9 @@ Server rendered element contains fewer child nodes than client vdom.`
5410
5496
  }
5411
5497
  function pruneCache(filter) {
5412
5498
  cache.forEach((vnode, key) => {
5413
- const name = getComponentName(vnode.type);
5499
+ const name = getComponentName(
5500
+ isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type
5501
+ );
5414
5502
  if (name && !filter(name)) {
5415
5503
  pruneCacheEntry(key);
5416
5504
  }
@@ -5677,7 +5765,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5677
5765
  function resolveComponent(name, maybeSelfReference) {
5678
5766
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
5679
5767
  }
5680
- const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
5768
+ const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
5681
5769
  function resolveDynamicComponent(component) {
5682
5770
  if (isString(component)) {
5683
5771
  return resolveAsset(COMPONENTS, component, false) || component;
@@ -7239,7 +7327,7 @@ If this is a native custom element, make sure to exclude it from component resol
7239
7327
  return vm;
7240
7328
  }
7241
7329
  }
7242
- Vue.version = `2.6.14-compat:${"3.5.25"}`;
7330
+ Vue.version = `2.6.14-compat:${"3.5.26"}`;
7243
7331
  Vue.config = singletonApp.config;
7244
7332
  Vue.use = (plugin, ...options) => {
7245
7333
  if (plugin && isFunction(plugin.install)) {
@@ -7816,149 +7904,70 @@ If you want to remount the same app, move your app creation logic into a factory
7816
7904
  }
7817
7905
  let currentApp = null;
7818
7906
 
7819
- function provide(key, value) {
7820
- {
7821
- if (!currentInstance || currentInstance.isMounted) {
7822
- warn$1(`provide() can only be used inside setup().`);
7823
- }
7824
- }
7825
- if (currentInstance) {
7826
- let provides = currentInstance.provides;
7827
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
7828
- if (parentProvides === provides) {
7829
- provides = currentInstance.provides = Object.create(parentProvides);
7830
- }
7831
- provides[key] = value;
7832
- }
7833
- }
7834
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
7835
- const instance = getCurrentInstance();
7836
- if (instance || currentApp) {
7837
- let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
7838
- if (provides && key in provides) {
7839
- return provides[key];
7840
- } else if (arguments.length > 1) {
7841
- return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
7842
- } else {
7843
- warn$1(`injection "${String(key)}" not found.`);
7907
+ const compatModelEventPrefix = `onModelCompat:`;
7908
+ const warnedTypes = /* @__PURE__ */ new WeakSet();
7909
+ function convertLegacyVModelProps(vnode) {
7910
+ const { type, shapeFlag, props, dynamicProps } = vnode;
7911
+ const comp = type;
7912
+ if (shapeFlag & 6 && props && "modelValue" in props) {
7913
+ if (!isCompatEnabled(
7914
+ "COMPONENT_V_MODEL",
7915
+ // this is a special case where we want to use the vnode component's
7916
+ // compat config instead of the current rendering instance (which is the
7917
+ // parent of the component that exposes v-model)
7918
+ { type }
7919
+ )) {
7920
+ return;
7844
7921
  }
7845
- } else {
7846
- warn$1(`inject() can only be used inside setup() or functional components.`);
7847
- }
7848
- }
7849
- function hasInjectionContext() {
7850
- return !!(getCurrentInstance() || currentApp);
7851
- }
7852
-
7853
- const ssrContextKey = Symbol.for("v-scx");
7854
- const useSSRContext = () => {
7855
- {
7856
- warn$1(`useSSRContext() is not supported in the global build.`);
7857
- }
7858
- };
7859
-
7860
- function watchEffect(effect, options) {
7861
- return doWatch(effect, null, options);
7862
- }
7863
- function watchPostEffect(effect, options) {
7864
- return doWatch(
7865
- effect,
7866
- null,
7867
- extend({}, options, { flush: "post" })
7868
- );
7869
- }
7870
- function watchSyncEffect(effect, options) {
7871
- return doWatch(
7872
- effect,
7873
- null,
7874
- extend({}, options, { flush: "sync" })
7875
- );
7876
- }
7877
- function watch(source, cb, options) {
7878
- if (!isFunction(cb)) {
7879
- warn$1(
7880
- `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
7881
- );
7882
- }
7883
- return doWatch(source, cb, options);
7884
- }
7885
- function doWatch(source, cb, options = EMPTY_OBJ) {
7886
- const { immediate, deep, flush, once } = options;
7887
- if (!cb) {
7888
- if (immediate !== void 0) {
7889
- warn$1(
7890
- `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
7922
+ if (!warnedTypes.has(comp)) {
7923
+ pushWarningContext(vnode);
7924
+ warnDeprecation(
7925
+ "COMPONENT_V_MODEL",
7926
+ {
7927
+ type,
7928
+ appContext: vnode.ctx && vnode.ctx.appContext || createAppContext()
7929
+ },
7930
+ comp
7891
7931
  );
7932
+ popWarningContext();
7933
+ warnedTypes.add(comp);
7892
7934
  }
7893
- if (deep !== void 0) {
7894
- warn$1(
7895
- `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
7896
- );
7935
+ const model = comp.model || {};
7936
+ applyModelFromMixins(model, comp.mixins);
7937
+ const { prop = "value", event = "input" } = model;
7938
+ if (prop !== "modelValue") {
7939
+ props[prop] = props.modelValue;
7940
+ delete props.modelValue;
7897
7941
  }
7898
- if (once !== void 0) {
7899
- warn$1(
7900
- `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
7901
- );
7942
+ if (dynamicProps) {
7943
+ dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
7902
7944
  }
7945
+ props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
7946
+ delete props["onUpdate:modelValue"];
7903
7947
  }
7904
- const baseWatchOptions = extend({}, options);
7905
- baseWatchOptions.onWarn = warn$1;
7906
- const instance = currentInstance;
7907
- baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
7908
- let isPre = false;
7909
- if (flush === "post") {
7910
- baseWatchOptions.scheduler = (job) => {
7911
- queuePostRenderEffect(job, instance && instance.suspense);
7912
- };
7913
- } else if (flush !== "sync") {
7914
- isPre = true;
7915
- baseWatchOptions.scheduler = (job, isFirstRun) => {
7916
- if (isFirstRun) {
7917
- job();
7918
- } else {
7919
- queueJob(job);
7920
- }
7921
- };
7922
- }
7923
- baseWatchOptions.augmentJob = (job) => {
7924
- if (cb) {
7925
- job.flags |= 4;
7926
- }
7927
- if (isPre) {
7928
- job.flags |= 2;
7929
- if (instance) {
7930
- job.id = instance.uid;
7931
- job.i = instance;
7932
- }
7933
- }
7934
- };
7935
- const watchHandle = watch$1(source, cb, baseWatchOptions);
7936
- return watchHandle;
7937
7948
  }
7938
- function instanceWatch(source, value, options) {
7939
- const publicThis = this.proxy;
7940
- const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
7941
- let cb;
7942
- if (isFunction(value)) {
7943
- cb = value;
7944
- } else {
7945
- cb = value.handler;
7946
- options = value;
7949
+ function applyModelFromMixins(model, mixins) {
7950
+ if (mixins) {
7951
+ mixins.forEach((m) => {
7952
+ if (m.model) extend(model, m.model);
7953
+ if (m.mixins) applyModelFromMixins(model, m.mixins);
7954
+ });
7947
7955
  }
7948
- const reset = setCurrentInstance(this);
7949
- const res = doWatch(getter, cb.bind(publicThis), options);
7950
- reset();
7951
- return res;
7952
7956
  }
7953
- function createPathGetter(ctx, path) {
7954
- const segments = path.split(".");
7955
- return () => {
7956
- let cur = ctx;
7957
- for (let i = 0; i < segments.length && cur; i++) {
7958
- cur = cur[segments[i]];
7959
- }
7960
- return cur;
7961
- };
7957
+ function compatModelEmit(instance, event, args) {
7958
+ if (!isCompatEnabled("COMPONENT_V_MODEL", instance)) {
7959
+ return;
7960
+ }
7961
+ const props = instance.vnode.props;
7962
+ const modelHandler = props && props[compatModelEventPrefix + event];
7963
+ if (modelHandler) {
7964
+ callWithErrorHandling(
7965
+ modelHandler,
7966
+ instance,
7967
+ 6,
7968
+ args
7969
+ );
7970
+ }
7962
7971
  }
7963
7972
 
7964
7973
  function useModel(props, name, options = EMPTY_OBJ) {
@@ -9244,7 +9253,15 @@ If you want to remount the same app, move your app creation logic into a factory
9244
9253
  } else {
9245
9254
  const el = n2.el = n1.el;
9246
9255
  if (n2.children !== n1.children) {
9247
- hostSetText(el, n2.children);
9256
+ if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
9257
+ const childNodes = container.childNodes;
9258
+ const newChild = hostCreateText(n2.children);
9259
+ const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
9260
+ hostInsert(newChild, container, oldChild);
9261
+ hostRemove(oldChild);
9262
+ } else {
9263
+ hostSetText(el, n2.children);
9264
+ }
9248
9265
  }
9249
9266
  }
9250
9267
  };
@@ -9630,7 +9647,7 @@ If you want to remount the same app, move your app creation logic into a factory
9630
9647
  } else {
9631
9648
  if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
9632
9649
  // of renderSlot() with no valid children
9633
- n1.dynamicChildren) {
9650
+ n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
9634
9651
  patchBlockChildren(
9635
9652
  n1.dynamicChildren,
9636
9653
  dynamicChildren,
@@ -10244,8 +10261,8 @@ If you want to remount the same app, move your app creation logic into a factory
10244
10261
  const nextChild = c2[nextIndex];
10245
10262
  const anchorVNode = c2[nextIndex + 1];
10246
10263
  const anchor = nextIndex + 1 < l2 ? (
10247
- // #13559, fallback to el placeholder for unresolved async component
10248
- anchorVNode.el || anchorVNode.placeholder
10264
+ // #13559, #14173 fallback to el placeholder for unresolved async component
10265
+ anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)
10249
10266
  ) : parentAnchor;
10250
10267
  if (newIndexToOldIndexMap[i] === 0) {
10251
10268
  patch(
@@ -10510,9 +10527,11 @@ If you want to remount the same app, move your app creation logic into a factory
10510
10527
  };
10511
10528
  let isFlushing = false;
10512
10529
  const render = (vnode, container, namespace) => {
10530
+ let instance;
10513
10531
  if (vnode == null) {
10514
10532
  if (container._vnode) {
10515
10533
  unmount(container._vnode, null, null, true);
10534
+ instance = container._vnode.component;
10516
10535
  }
10517
10536
  } else {
10518
10537
  patch(
@@ -10528,7 +10547,7 @@ If you want to remount the same app, move your app creation logic into a factory
10528
10547
  container._vnode = vnode;
10529
10548
  if (!isFlushing) {
10530
10549
  isFlushing = true;
10531
- flushPreFlushCbs();
10550
+ flushPreFlushCbs(instance);
10532
10551
  flushPostFlushCbs();
10533
10552
  isFlushing = false;
10534
10553
  }
@@ -10588,9 +10607,13 @@ If you want to remount the same app, move your app creation logic into a factory
10588
10607
  if (!shallow && c2.patchFlag !== -2)
10589
10608
  traverseStaticChildren(c1, c2);
10590
10609
  }
10591
- if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
10592
- c2.patchFlag !== -1) {
10593
- c2.el = c1.el;
10610
+ if (c2.type === Text) {
10611
+ if (c2.patchFlag !== -1) {
10612
+ c2.el = c1.el;
10613
+ } else {
10614
+ c2.__elIndex = i + // take fragment start anchor into account
10615
+ (n1.type === Fragment ? 1 : 0);
10616
+ }
10594
10617
  }
10595
10618
  if (c2.type === Comment && !c2.el) {
10596
10619
  c2.el = c1.el;
@@ -10657,6 +10680,16 @@ If you want to remount the same app, move your app creation logic into a factory
10657
10680
  hooks[i].flags |= 8;
10658
10681
  }
10659
10682
  }
10683
+ function resolveAsyncComponentPlaceholder(anchorVnode) {
10684
+ if (anchorVnode.placeholder) {
10685
+ return anchorVnode.placeholder;
10686
+ }
10687
+ const instance = anchorVnode.component;
10688
+ if (instance) {
10689
+ return resolveAsyncComponentPlaceholder(instance.subTree);
10690
+ }
10691
+ return null;
10692
+ }
10660
10693
 
10661
10694
  const isSuspense = (type) => type.__isSuspense;
10662
10695
  let suspenseId = 0;
@@ -11316,10 +11349,10 @@ If you want to remount the same app, move your app creation logic into a factory
11316
11349
  return comp;
11317
11350
  }
11318
11351
 
11319
- const Fragment = Symbol.for("v-fgt");
11320
- const Text = Symbol.for("v-txt");
11321
- const Comment = Symbol.for("v-cmt");
11322
- const Static = Symbol.for("v-stc");
11352
+ const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
11353
+ const Text = /* @__PURE__ */ Symbol.for("v-txt");
11354
+ const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
11355
+ const Static = /* @__PURE__ */ Symbol.for("v-stc");
11323
11356
  const blockStack = [];
11324
11357
  let currentBlock = null;
11325
11358
  function openBlock(disableTracking = false) {
@@ -12371,7 +12404,7 @@ Component that was made reactive: `,
12371
12404
  return true;
12372
12405
  }
12373
12406
 
12374
- const version = "3.5.25";
12407
+ const version = "3.5.26";
12375
12408
  const warn = warn$1 ;
12376
12409
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12377
12410
  const devtools = devtools$1 ;
@@ -12471,7 +12504,7 @@ Component that was made reactive: `,
12471
12504
 
12472
12505
  const TRANSITION = "transition";
12473
12506
  const ANIMATION = "animation";
12474
- const vtcKey = Symbol("_vtc");
12507
+ const vtcKey = /* @__PURE__ */ Symbol("_vtc");
12475
12508
  const DOMTransitionPropsValidators = {
12476
12509
  name: String,
12477
12510
  type: String,
@@ -12801,8 +12834,8 @@ Component that was made reactive: `,
12801
12834
  }
12802
12835
  }
12803
12836
 
12804
- const vShowOriginalDisplay = Symbol("_vod");
12805
- const vShowHidden = Symbol("_vsh");
12837
+ const vShowOriginalDisplay = /* @__PURE__ */ Symbol("_vod");
12838
+ const vShowHidden = /* @__PURE__ */ Symbol("_vsh");
12806
12839
  const vShow = {
12807
12840
  // used for prop mismatch check during hydration
12808
12841
  name: "show",
@@ -12844,7 +12877,7 @@ Component that was made reactive: `,
12844
12877
  el[vShowHidden] = !value;
12845
12878
  }
12846
12879
 
12847
- const CSS_VAR_TEXT = Symbol("CSS_VAR_TEXT" );
12880
+ const CSS_VAR_TEXT = /* @__PURE__ */ Symbol("CSS_VAR_TEXT" );
12848
12881
  function useCssVars(getter) {
12849
12882
  const instance = getCurrentInstance();
12850
12883
  if (!instance) {
@@ -13042,7 +13075,7 @@ Component that was made reactive: `,
13042
13075
  const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck") ;
13043
13076
  function compatCoerceAttr(el, key, value, instance = null) {
13044
13077
  if (isEnumeratedAttr(key)) {
13045
- const v2CoercedValue = value === null ? "false" : typeof value !== "boolean" && value !== void 0 ? "true" : null;
13078
+ const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
13046
13079
  if (v2CoercedValue && compatUtils.softAssertCompatEnabled(
13047
13080
  "ATTR_ENUMERATED_COERCION",
13048
13081
  instance,
@@ -13138,7 +13171,7 @@ Component that was made reactive: `,
13138
13171
  function removeEventListener(el, event, handler, options) {
13139
13172
  el.removeEventListener(event, handler, options);
13140
13173
  }
13141
- const veiKey = Symbol("_vei");
13174
+ const veiKey = /* @__PURE__ */ Symbol("_vei");
13142
13175
  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
13143
13176
  const invokers = el[veiKey] || (el[veiKey] = {});
13144
13177
  const existingInvoker = invokers[rawName];
@@ -13764,8 +13797,8 @@ Expected function or array of functions, received type ${typeof value}.`
13764
13797
 
13765
13798
  const positionMap = /* @__PURE__ */ new WeakMap();
13766
13799
  const newPositionMap = /* @__PURE__ */ new WeakMap();
13767
- const moveCbKey = Symbol("_moveCb");
13768
- const enterCbKey = Symbol("_enterCb");
13800
+ const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
13801
+ const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
13769
13802
  const decorate = (t) => {
13770
13803
  delete t.props.mode;
13771
13804
  {
@@ -13927,7 +13960,7 @@ Expected function or array of functions, received type ${typeof value}.`
13927
13960
  target.dispatchEvent(new Event("input"));
13928
13961
  }
13929
13962
  }
13930
- const assignKey = Symbol("_assign");
13963
+ const assignKey = /* @__PURE__ */ Symbol("_assign");
13931
13964
  function castValue(value, trim, number) {
13932
13965
  if (trim) value = value.trim();
13933
13966
  if (number) value = looseToNumber(value);