@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
  **/
@@ -929,13 +929,13 @@ function addSub(link) {
929
929
  }
930
930
  }
931
931
  const targetMap = /* @__PURE__ */ new WeakMap();
932
- const ITERATE_KEY = Symbol(
932
+ const ITERATE_KEY = /* @__PURE__ */ Symbol(
933
933
  !!(process.env.NODE_ENV !== "production") ? "Object iterate" : ""
934
934
  );
935
- const MAP_KEY_ITERATE_KEY = Symbol(
935
+ const MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(
936
936
  !!(process.env.NODE_ENV !== "production") ? "Map keys iterate" : ""
937
937
  );
938
- const ARRAY_ITERATE_KEY = Symbol(
938
+ const ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(
939
939
  !!(process.env.NODE_ENV !== "production") ? "Array iterate" : ""
940
940
  );
941
941
  function track(target, type, key) {
@@ -3321,65 +3321,6 @@ function emit$1(instance, event, args) {
3321
3321
  return instance.proxy;
3322
3322
  }
3323
3323
 
3324
- const compatModelEventPrefix = `onModelCompat:`;
3325
- const warnedTypes = /* @__PURE__ */ new WeakSet();
3326
- function convertLegacyVModelProps(vnode) {
3327
- const { type, shapeFlag, props, dynamicProps } = vnode;
3328
- const comp = type;
3329
- if (shapeFlag & 6 && props && "modelValue" in props) {
3330
- if (!isCompatEnabled(
3331
- "COMPONENT_V_MODEL",
3332
- // this is a special case where we want to use the vnode component's
3333
- // compat config instead of the current rendering instance (which is the
3334
- // parent of the component that exposes v-model)
3335
- { type }
3336
- )) {
3337
- return;
3338
- }
3339
- if (!!(process.env.NODE_ENV !== "production") && !warnedTypes.has(comp)) {
3340
- pushWarningContext(vnode);
3341
- warnDeprecation("COMPONENT_V_MODEL", { type }, comp);
3342
- popWarningContext();
3343
- warnedTypes.add(comp);
3344
- }
3345
- const model = comp.model || {};
3346
- applyModelFromMixins(model, comp.mixins);
3347
- const { prop = "value", event = "input" } = model;
3348
- if (prop !== "modelValue") {
3349
- props[prop] = props.modelValue;
3350
- delete props.modelValue;
3351
- }
3352
- if (dynamicProps) {
3353
- dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
3354
- }
3355
- props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
3356
- delete props["onUpdate:modelValue"];
3357
- }
3358
- }
3359
- function applyModelFromMixins(model, mixins) {
3360
- if (mixins) {
3361
- mixins.forEach((m) => {
3362
- if (m.model) extend(model, m.model);
3363
- if (m.mixins) applyModelFromMixins(model, m.mixins);
3364
- });
3365
- }
3366
- }
3367
- function compatModelEmit(instance, event, args) {
3368
- if (!isCompatEnabled("COMPONENT_V_MODEL", instance)) {
3369
- return;
3370
- }
3371
- const props = instance.vnode.props;
3372
- const modelHandler = props && props[compatModelEventPrefix + event];
3373
- if (modelHandler) {
3374
- callWithErrorHandling(
3375
- modelHandler,
3376
- instance,
3377
- 6,
3378
- args
3379
- );
3380
- }
3381
- }
3382
-
3383
3324
  let currentRenderingInstance = null;
3384
3325
  let currentScopeId = null;
3385
3326
  function setCurrentRenderingInstance(instance) {
@@ -3530,7 +3471,180 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
3530
3471
  }
3531
3472
  }
3532
3473
 
3533
- const TeleportEndKey = Symbol("_vte");
3474
+ function provide(key, value) {
3475
+ if (!!(process.env.NODE_ENV !== "production")) {
3476
+ if (!currentInstance || currentInstance.isMounted) {
3477
+ warn$1(`provide() can only be used inside setup().`);
3478
+ }
3479
+ }
3480
+ if (currentInstance) {
3481
+ let provides = currentInstance.provides;
3482
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
3483
+ if (parentProvides === provides) {
3484
+ provides = currentInstance.provides = Object.create(parentProvides);
3485
+ }
3486
+ provides[key] = value;
3487
+ }
3488
+ }
3489
+ function inject(key, defaultValue, treatDefaultAsFactory = false) {
3490
+ const instance = getCurrentInstance();
3491
+ if (instance || currentApp) {
3492
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
3493
+ if (provides && key in provides) {
3494
+ return provides[key];
3495
+ } else if (arguments.length > 1) {
3496
+ return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
3497
+ } else if (!!(process.env.NODE_ENV !== "production")) {
3498
+ warn$1(`injection "${String(key)}" not found.`);
3499
+ }
3500
+ } else if (!!(process.env.NODE_ENV !== "production")) {
3501
+ warn$1(`inject() can only be used inside setup() or functional components.`);
3502
+ }
3503
+ }
3504
+ function hasInjectionContext() {
3505
+ return !!(getCurrentInstance() || currentApp);
3506
+ }
3507
+
3508
+ const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
3509
+ const useSSRContext = () => {
3510
+ {
3511
+ const ctx = inject(ssrContextKey);
3512
+ if (!ctx) {
3513
+ !!(process.env.NODE_ENV !== "production") && warn$1(
3514
+ `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
3515
+ );
3516
+ }
3517
+ return ctx;
3518
+ }
3519
+ };
3520
+
3521
+ function watchEffect(effect, options) {
3522
+ return doWatch(effect, null, options);
3523
+ }
3524
+ function watchPostEffect(effect, options) {
3525
+ return doWatch(
3526
+ effect,
3527
+ null,
3528
+ !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "post" }) : { flush: "post" }
3529
+ );
3530
+ }
3531
+ function watchSyncEffect(effect, options) {
3532
+ return doWatch(
3533
+ effect,
3534
+ null,
3535
+ !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "sync" }) : { flush: "sync" }
3536
+ );
3537
+ }
3538
+ function watch(source, cb, options) {
3539
+ if (!!(process.env.NODE_ENV !== "production") && !isFunction(cb)) {
3540
+ warn$1(
3541
+ `\`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.`
3542
+ );
3543
+ }
3544
+ return doWatch(source, cb, options);
3545
+ }
3546
+ function doWatch(source, cb, options = EMPTY_OBJ) {
3547
+ const { immediate, deep, flush, once } = options;
3548
+ if (!!(process.env.NODE_ENV !== "production") && !cb) {
3549
+ if (immediate !== void 0) {
3550
+ warn$1(
3551
+ `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
3552
+ );
3553
+ }
3554
+ if (deep !== void 0) {
3555
+ warn$1(
3556
+ `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
3557
+ );
3558
+ }
3559
+ if (once !== void 0) {
3560
+ warn$1(
3561
+ `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
3562
+ );
3563
+ }
3564
+ }
3565
+ const baseWatchOptions = extend({}, options);
3566
+ if (!!(process.env.NODE_ENV !== "production")) baseWatchOptions.onWarn = warn$1;
3567
+ const runsImmediately = cb && immediate || !cb && flush !== "post";
3568
+ let ssrCleanup;
3569
+ if (isInSSRComponentSetup) {
3570
+ if (flush === "sync") {
3571
+ const ctx = useSSRContext();
3572
+ ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
3573
+ } else if (!runsImmediately) {
3574
+ const watchStopHandle = () => {
3575
+ };
3576
+ watchStopHandle.stop = NOOP;
3577
+ watchStopHandle.resume = NOOP;
3578
+ watchStopHandle.pause = NOOP;
3579
+ return watchStopHandle;
3580
+ }
3581
+ }
3582
+ const instance = currentInstance;
3583
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
3584
+ let isPre = false;
3585
+ if (flush === "post") {
3586
+ baseWatchOptions.scheduler = (job) => {
3587
+ queuePostRenderEffect(job, instance && instance.suspense);
3588
+ };
3589
+ } else if (flush !== "sync") {
3590
+ isPre = true;
3591
+ baseWatchOptions.scheduler = (job, isFirstRun) => {
3592
+ if (isFirstRun) {
3593
+ job();
3594
+ } else {
3595
+ queueJob(job);
3596
+ }
3597
+ };
3598
+ }
3599
+ baseWatchOptions.augmentJob = (job) => {
3600
+ if (cb) {
3601
+ job.flags |= 4;
3602
+ }
3603
+ if (isPre) {
3604
+ job.flags |= 2;
3605
+ if (instance) {
3606
+ job.id = instance.uid;
3607
+ job.i = instance;
3608
+ }
3609
+ }
3610
+ };
3611
+ const watchHandle = watch$1(source, cb, baseWatchOptions);
3612
+ if (isInSSRComponentSetup) {
3613
+ if (ssrCleanup) {
3614
+ ssrCleanup.push(watchHandle);
3615
+ } else if (runsImmediately) {
3616
+ watchHandle();
3617
+ }
3618
+ }
3619
+ return watchHandle;
3620
+ }
3621
+ function instanceWatch(source, value, options) {
3622
+ const publicThis = this.proxy;
3623
+ const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
3624
+ let cb;
3625
+ if (isFunction(value)) {
3626
+ cb = value;
3627
+ } else {
3628
+ cb = value.handler;
3629
+ options = value;
3630
+ }
3631
+ const reset = setCurrentInstance(this);
3632
+ const res = doWatch(getter, cb.bind(publicThis), options);
3633
+ reset();
3634
+ return res;
3635
+ }
3636
+ function createPathGetter(ctx, path) {
3637
+ const segments = path.split(".");
3638
+ return () => {
3639
+ let cur = ctx;
3640
+ for (let i = 0; i < segments.length && cur; i++) {
3641
+ cur = cur[segments[i]];
3642
+ }
3643
+ return cur;
3644
+ };
3645
+ }
3646
+
3647
+ const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
3534
3648
  const isTeleport = (type) => type.__isTeleport;
3535
3649
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
3536
3650
  const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
@@ -3890,8 +4004,8 @@ function prepareAnchor(target, vnode, createText, insert) {
3890
4004
  return targetAnchor;
3891
4005
  }
3892
4006
 
3893
- const leaveCbKey = Symbol("_leaveCb");
3894
- const enterCbKey$1 = Symbol("_enterCb");
4007
+ const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
4008
+ const enterCbKey$1 = /* @__PURE__ */ Symbol("_enterCb");
3895
4009
  function useTransitionState() {
3896
4010
  const state = {
3897
4011
  isMounted: false,
@@ -5443,7 +5557,9 @@ const KeepAliveImpl = {
5443
5557
  }
5444
5558
  function pruneCache(filter) {
5445
5559
  cache.forEach((vnode, key) => {
5446
- const name = getComponentName(vnode.type);
5560
+ const name = getComponentName(
5561
+ isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type
5562
+ );
5447
5563
  if (name && !filter(name)) {
5448
5564
  pruneCacheEntry(key);
5449
5565
  }
@@ -5710,7 +5826,7 @@ const FILTERS = "filters";
5710
5826
  function resolveComponent(name, maybeSelfReference) {
5711
5827
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
5712
5828
  }
5713
- const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
5829
+ const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
5714
5830
  function resolveDynamicComponent(component) {
5715
5831
  if (isString(component)) {
5716
5832
  return resolveAsset(COMPONENTS, component, false) || component;
@@ -7277,7 +7393,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7277
7393
  return vm;
7278
7394
  }
7279
7395
  }
7280
- Vue.version = `2.6.14-compat:${"3.5.25"}`;
7396
+ Vue.version = `2.6.14-compat:${"3.5.26"}`;
7281
7397
  Vue.config = singletonApp.config;
7282
7398
  Vue.use = (plugin, ...options) => {
7283
7399
  if (plugin && isFunction(plugin.install)) {
@@ -7856,177 +7972,70 @@ If you want to remount the same app, move your app creation logic into a factory
7856
7972
  }
7857
7973
  let currentApp = null;
7858
7974
 
7859
- function provide(key, value) {
7860
- if (!!(process.env.NODE_ENV !== "production")) {
7861
- if (!currentInstance || currentInstance.isMounted) {
7862
- warn$1(`provide() can only be used inside setup().`);
7975
+ const compatModelEventPrefix = `onModelCompat:`;
7976
+ const warnedTypes = /* @__PURE__ */ new WeakSet();
7977
+ function convertLegacyVModelProps(vnode) {
7978
+ const { type, shapeFlag, props, dynamicProps } = vnode;
7979
+ const comp = type;
7980
+ if (shapeFlag & 6 && props && "modelValue" in props) {
7981
+ if (!isCompatEnabled(
7982
+ "COMPONENT_V_MODEL",
7983
+ // this is a special case where we want to use the vnode component's
7984
+ // compat config instead of the current rendering instance (which is the
7985
+ // parent of the component that exposes v-model)
7986
+ { type }
7987
+ )) {
7988
+ return;
7863
7989
  }
7864
- }
7865
- if (currentInstance) {
7866
- let provides = currentInstance.provides;
7867
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
7868
- if (parentProvides === provides) {
7869
- provides = currentInstance.provides = Object.create(parentProvides);
7990
+ if (!!(process.env.NODE_ENV !== "production") && !warnedTypes.has(comp)) {
7991
+ pushWarningContext(vnode);
7992
+ warnDeprecation(
7993
+ "COMPONENT_V_MODEL",
7994
+ {
7995
+ type,
7996
+ appContext: vnode.ctx && vnode.ctx.appContext || createAppContext()
7997
+ },
7998
+ comp
7999
+ );
8000
+ popWarningContext();
8001
+ warnedTypes.add(comp);
7870
8002
  }
7871
- provides[key] = value;
7872
- }
7873
- }
7874
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
7875
- const instance = getCurrentInstance();
7876
- if (instance || currentApp) {
7877
- let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
7878
- if (provides && key in provides) {
7879
- return provides[key];
7880
- } else if (arguments.length > 1) {
7881
- return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
7882
- } else if (!!(process.env.NODE_ENV !== "production")) {
7883
- warn$1(`injection "${String(key)}" not found.`);
8003
+ const model = comp.model || {};
8004
+ applyModelFromMixins(model, comp.mixins);
8005
+ const { prop = "value", event = "input" } = model;
8006
+ if (prop !== "modelValue") {
8007
+ props[prop] = props.modelValue;
8008
+ delete props.modelValue;
7884
8009
  }
7885
- } else if (!!(process.env.NODE_ENV !== "production")) {
7886
- warn$1(`inject() can only be used inside setup() or functional components.`);
7887
- }
7888
- }
7889
- function hasInjectionContext() {
7890
- return !!(getCurrentInstance() || currentApp);
7891
- }
7892
-
7893
- const ssrContextKey = Symbol.for("v-scx");
7894
- const useSSRContext = () => {
7895
- {
7896
- const ctx = inject(ssrContextKey);
7897
- if (!ctx) {
7898
- !!(process.env.NODE_ENV !== "production") && warn$1(
7899
- `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
7900
- );
8010
+ if (dynamicProps) {
8011
+ dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
7901
8012
  }
7902
- return ctx;
8013
+ props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
8014
+ delete props["onUpdate:modelValue"];
7903
8015
  }
7904
- };
7905
-
7906
- function watchEffect(effect, options) {
7907
- return doWatch(effect, null, options);
7908
- }
7909
- function watchPostEffect(effect, options) {
7910
- return doWatch(
7911
- effect,
7912
- null,
7913
- !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "post" }) : { flush: "post" }
7914
- );
7915
- }
7916
- function watchSyncEffect(effect, options) {
7917
- return doWatch(
7918
- effect,
7919
- null,
7920
- !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "sync" }) : { flush: "sync" }
7921
- );
7922
8016
  }
7923
- function watch(source, cb, options) {
7924
- if (!!(process.env.NODE_ENV !== "production") && !isFunction(cb)) {
7925
- warn$1(
7926
- `\`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.`
7927
- );
8017
+ function applyModelFromMixins(model, mixins) {
8018
+ if (mixins) {
8019
+ mixins.forEach((m) => {
8020
+ if (m.model) extend(model, m.model);
8021
+ if (m.mixins) applyModelFromMixins(model, m.mixins);
8022
+ });
7928
8023
  }
7929
- return doWatch(source, cb, options);
7930
8024
  }
7931
- function doWatch(source, cb, options = EMPTY_OBJ) {
7932
- const { immediate, deep, flush, once } = options;
7933
- if (!!(process.env.NODE_ENV !== "production") && !cb) {
7934
- if (immediate !== void 0) {
7935
- warn$1(
7936
- `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
7937
- );
7938
- }
7939
- if (deep !== void 0) {
7940
- warn$1(
7941
- `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
7942
- );
7943
- }
7944
- if (once !== void 0) {
7945
- warn$1(
7946
- `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
7947
- );
7948
- }
7949
- }
7950
- const baseWatchOptions = extend({}, options);
7951
- if (!!(process.env.NODE_ENV !== "production")) baseWatchOptions.onWarn = warn$1;
7952
- const runsImmediately = cb && immediate || !cb && flush !== "post";
7953
- let ssrCleanup;
7954
- if (isInSSRComponentSetup) {
7955
- if (flush === "sync") {
7956
- const ctx = useSSRContext();
7957
- ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
7958
- } else if (!runsImmediately) {
7959
- const watchStopHandle = () => {
7960
- };
7961
- watchStopHandle.stop = NOOP;
7962
- watchStopHandle.resume = NOOP;
7963
- watchStopHandle.pause = NOOP;
7964
- return watchStopHandle;
7965
- }
7966
- }
7967
- const instance = currentInstance;
7968
- baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
7969
- let isPre = false;
7970
- if (flush === "post") {
7971
- baseWatchOptions.scheduler = (job) => {
7972
- queuePostRenderEffect(job, instance && instance.suspense);
7973
- };
7974
- } else if (flush !== "sync") {
7975
- isPre = true;
7976
- baseWatchOptions.scheduler = (job, isFirstRun) => {
7977
- if (isFirstRun) {
7978
- job();
7979
- } else {
7980
- queueJob(job);
7981
- }
7982
- };
7983
- }
7984
- baseWatchOptions.augmentJob = (job) => {
7985
- if (cb) {
7986
- job.flags |= 4;
7987
- }
7988
- if (isPre) {
7989
- job.flags |= 2;
7990
- if (instance) {
7991
- job.id = instance.uid;
7992
- job.i = instance;
7993
- }
7994
- }
7995
- };
7996
- const watchHandle = watch$1(source, cb, baseWatchOptions);
7997
- if (isInSSRComponentSetup) {
7998
- if (ssrCleanup) {
7999
- ssrCleanup.push(watchHandle);
8000
- } else if (runsImmediately) {
8001
- watchHandle();
8002
- }
8025
+ function compatModelEmit(instance, event, args) {
8026
+ if (!isCompatEnabled("COMPONENT_V_MODEL", instance)) {
8027
+ return;
8003
8028
  }
8004
- return watchHandle;
8005
- }
8006
- function instanceWatch(source, value, options) {
8007
- const publicThis = this.proxy;
8008
- const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
8009
- let cb;
8010
- if (isFunction(value)) {
8011
- cb = value;
8012
- } else {
8013
- cb = value.handler;
8014
- options = value;
8029
+ const props = instance.vnode.props;
8030
+ const modelHandler = props && props[compatModelEventPrefix + event];
8031
+ if (modelHandler) {
8032
+ callWithErrorHandling(
8033
+ modelHandler,
8034
+ instance,
8035
+ 6,
8036
+ args
8037
+ );
8015
8038
  }
8016
- const reset = setCurrentInstance(this);
8017
- const res = doWatch(getter, cb.bind(publicThis), options);
8018
- reset();
8019
- return res;
8020
- }
8021
- function createPathGetter(ctx, path) {
8022
- const segments = path.split(".");
8023
- return () => {
8024
- let cur = ctx;
8025
- for (let i = 0; i < segments.length && cur; i++) {
8026
- cur = cur[segments[i]];
8027
- }
8028
- return cur;
8029
- };
8030
8039
  }
8031
8040
 
8032
8041
  function useModel(props, name, options = EMPTY_OBJ) {
@@ -9339,7 +9348,15 @@ function baseCreateRenderer(options, createHydrationFns) {
9339
9348
  } else {
9340
9349
  const el = n2.el = n1.el;
9341
9350
  if (n2.children !== n1.children) {
9342
- hostSetText(el, n2.children);
9351
+ if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
9352
+ const childNodes = container.childNodes;
9353
+ const newChild = hostCreateText(n2.children);
9354
+ const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
9355
+ hostInsert(newChild, container, oldChild);
9356
+ hostRemove(oldChild);
9357
+ } else {
9358
+ hostSetText(el, n2.children);
9359
+ }
9343
9360
  }
9344
9361
  }
9345
9362
  };
@@ -9723,7 +9740,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9723
9740
  } else {
9724
9741
  if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
9725
9742
  // of renderSlot() with no valid children
9726
- n1.dynamicChildren) {
9743
+ n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
9727
9744
  patchBlockChildren(
9728
9745
  n1.dynamicChildren,
9729
9746
  dynamicChildren,
@@ -10350,8 +10367,8 @@ function baseCreateRenderer(options, createHydrationFns) {
10350
10367
  const nextChild = c2[nextIndex];
10351
10368
  const anchorVNode = c2[nextIndex + 1];
10352
10369
  const anchor = nextIndex + 1 < l2 ? (
10353
- // #13559, fallback to el placeholder for unresolved async component
10354
- anchorVNode.el || anchorVNode.placeholder
10370
+ // #13559, #14173 fallback to el placeholder for unresolved async component
10371
+ anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)
10355
10372
  ) : parentAnchor;
10356
10373
  if (newIndexToOldIndexMap[i] === 0) {
10357
10374
  patch(
@@ -10616,9 +10633,11 @@ function baseCreateRenderer(options, createHydrationFns) {
10616
10633
  };
10617
10634
  let isFlushing = false;
10618
10635
  const render = (vnode, container, namespace) => {
10636
+ let instance;
10619
10637
  if (vnode == null) {
10620
10638
  if (container._vnode) {
10621
10639
  unmount(container._vnode, null, null, true);
10640
+ instance = container._vnode.component;
10622
10641
  }
10623
10642
  } else {
10624
10643
  patch(
@@ -10634,7 +10653,7 @@ function baseCreateRenderer(options, createHydrationFns) {
10634
10653
  container._vnode = vnode;
10635
10654
  if (!isFlushing) {
10636
10655
  isFlushing = true;
10637
- flushPreFlushCbs();
10656
+ flushPreFlushCbs(instance);
10638
10657
  flushPostFlushCbs();
10639
10658
  isFlushing = false;
10640
10659
  }
@@ -10694,9 +10713,13 @@ function traverseStaticChildren(n1, n2, shallow = false) {
10694
10713
  if (!shallow && c2.patchFlag !== -2)
10695
10714
  traverseStaticChildren(c1, c2);
10696
10715
  }
10697
- if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
10698
- c2.patchFlag !== -1) {
10699
- c2.el = c1.el;
10716
+ if (c2.type === Text) {
10717
+ if (c2.patchFlag !== -1) {
10718
+ c2.el = c1.el;
10719
+ } else {
10720
+ c2.__elIndex = i + // take fragment start anchor into account
10721
+ (n1.type === Fragment ? 1 : 0);
10722
+ }
10700
10723
  }
10701
10724
  if (c2.type === Comment && !c2.el) {
10702
10725
  c2.el = c1.el;
@@ -10763,6 +10786,16 @@ function invalidateMount(hooks) {
10763
10786
  hooks[i].flags |= 8;
10764
10787
  }
10765
10788
  }
10789
+ function resolveAsyncComponentPlaceholder(anchorVnode) {
10790
+ if (anchorVnode.placeholder) {
10791
+ return anchorVnode.placeholder;
10792
+ }
10793
+ const instance = anchorVnode.component;
10794
+ if (instance) {
10795
+ return resolveAsyncComponentPlaceholder(instance.subTree);
10796
+ }
10797
+ return null;
10798
+ }
10766
10799
 
10767
10800
  const isSuspense = (type) => type.__isSuspense;
10768
10801
  let suspenseId = 0;
@@ -11422,10 +11455,10 @@ function convertLegacyComponent(comp, instance) {
11422
11455
  return comp;
11423
11456
  }
11424
11457
 
11425
- const Fragment = Symbol.for("v-fgt");
11426
- const Text = Symbol.for("v-txt");
11427
- const Comment = Symbol.for("v-cmt");
11428
- const Static = Symbol.for("v-stc");
11458
+ const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
11459
+ const Text = /* @__PURE__ */ Symbol.for("v-txt");
11460
+ const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
11461
+ const Static = /* @__PURE__ */ Symbol.for("v-stc");
11429
11462
  const blockStack = [];
11430
11463
  let currentBlock = null;
11431
11464
  function openBlock(disableTracking = false) {
@@ -12505,7 +12538,7 @@ function isMemoSame(cached, memo) {
12505
12538
  return true;
12506
12539
  }
12507
12540
 
12508
- const version = "3.5.25";
12541
+ const version = "3.5.26";
12509
12542
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12510
12543
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12511
12544
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -12617,7 +12650,7 @@ const nodeOps = {
12617
12650
 
12618
12651
  const TRANSITION = "transition";
12619
12652
  const ANIMATION = "animation";
12620
- const vtcKey = Symbol("_vtc");
12653
+ const vtcKey = /* @__PURE__ */ Symbol("_vtc");
12621
12654
  const DOMTransitionPropsValidators = {
12622
12655
  name: String,
12623
12656
  type: String,
@@ -12947,8 +12980,8 @@ function patchClass(el, value, isSVG) {
12947
12980
  }
12948
12981
  }
12949
12982
 
12950
- const vShowOriginalDisplay = Symbol("_vod");
12951
- const vShowHidden = Symbol("_vsh");
12983
+ const vShowOriginalDisplay = /* @__PURE__ */ Symbol("_vod");
12984
+ const vShowHidden = /* @__PURE__ */ Symbol("_vsh");
12952
12985
  const vShow = {
12953
12986
  // used for prop mismatch check during hydration
12954
12987
  name: "show",
@@ -12997,7 +13030,7 @@ function initVShowForSSR() {
12997
13030
  };
12998
13031
  }
12999
13032
 
13000
- const CSS_VAR_TEXT = Symbol(!!(process.env.NODE_ENV !== "production") ? "CSS_VAR_TEXT" : "");
13033
+ const CSS_VAR_TEXT = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? "CSS_VAR_TEXT" : "");
13001
13034
  function useCssVars(getter) {
13002
13035
  const instance = getCurrentInstance();
13003
13036
  if (!instance) {
@@ -13195,7 +13228,7 @@ function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBoolean
13195
13228
  const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck") ;
13196
13229
  function compatCoerceAttr(el, key, value, instance = null) {
13197
13230
  if (isEnumeratedAttr(key)) {
13198
- const v2CoercedValue = value === null ? "false" : typeof value !== "boolean" && value !== void 0 ? "true" : null;
13231
+ const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
13199
13232
  if (v2CoercedValue && compatUtils.softAssertCompatEnabled(
13200
13233
  "ATTR_ENUMERATED_COERCION",
13201
13234
  instance,
@@ -13291,7 +13324,7 @@ function addEventListener(el, event, handler, options) {
13291
13324
  function removeEventListener(el, event, handler, options) {
13292
13325
  el.removeEventListener(event, handler, options);
13293
13326
  }
13294
- const veiKey = Symbol("_vei");
13327
+ const veiKey = /* @__PURE__ */ Symbol("_vei");
13295
13328
  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
13296
13329
  const invokers = el[veiKey] || (el[veiKey] = {});
13297
13330
  const existingInvoker = invokers[rawName];
@@ -13929,8 +13962,8 @@ function useCssModule(name = "$style") {
13929
13962
 
13930
13963
  const positionMap = /* @__PURE__ */ new WeakMap();
13931
13964
  const newPositionMap = /* @__PURE__ */ new WeakMap();
13932
- const moveCbKey = Symbol("_moveCb");
13933
- const enterCbKey = Symbol("_enterCb");
13965
+ const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
13966
+ const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
13934
13967
  const decorate = (t) => {
13935
13968
  delete t.props.mode;
13936
13969
  {
@@ -14092,7 +14125,7 @@ function onCompositionEnd(e) {
14092
14125
  target.dispatchEvent(new Event("input"));
14093
14126
  }
14094
14127
  }
14095
- const assignKey = Symbol("_assign");
14128
+ const assignKey = /* @__PURE__ */ Symbol("_assign");
14096
14129
  function castValue(value, trim, number) {
14097
14130
  if (trim) value = value.trim();
14098
14131
  if (number) value = looseToNumber(value);