@vue/runtime-core 3.6.0-alpha.7 → 3.6.0-beta.1

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/runtime-core v3.6.0-alpha.7
2
+ * @vue/runtime-core v3.6.0-beta.1
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -412,10 +412,10 @@ function flushPostFlushCbs(seen) {
412
412
  }
413
413
  }
414
414
  let isFlushing = false;
415
- function flushOnAppMount() {
415
+ function flushOnAppMount(instance) {
416
416
  if (!isFlushing) {
417
417
  isFlushing = true;
418
- flushPreFlushCbs();
418
+ flushPreFlushCbs(instance);
419
419
  flushPostFlushCbs();
420
420
  isFlushing = false;
421
421
  }
@@ -830,7 +830,203 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
830
830
  }
831
831
  }
832
832
 
833
- const TeleportEndKey = Symbol("_vte");
833
+ function provide(key, value) {
834
+ {
835
+ if (!currentInstance || currentInstance.isMounted && !isHmrUpdating) {
836
+ warn$1(`provide() can only be used inside setup().`);
837
+ }
838
+ }
839
+ if (currentInstance) {
840
+ let provides = currentInstance.provides;
841
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
842
+ if (parentProvides === provides) {
843
+ provides = currentInstance.provides = Object.create(parentProvides);
844
+ }
845
+ provides[key] = value;
846
+ }
847
+ }
848
+ function inject(key, defaultValue, treatDefaultAsFactory = false) {
849
+ const instance = getCurrentGenericInstance();
850
+ if (instance || currentApp) {
851
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
852
+ if (provides && key in provides) {
853
+ return provides[key];
854
+ } else if (arguments.length > 1) {
855
+ return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
856
+ } else {
857
+ warn$1(`injection "${String(key)}" not found.`);
858
+ }
859
+ } else {
860
+ warn$1(`inject() can only be used inside setup() or functional components.`);
861
+ }
862
+ }
863
+ function hasInjectionContext() {
864
+ return !!(getCurrentGenericInstance() || currentApp);
865
+ }
866
+
867
+ const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
868
+ const useSSRContext = () => {
869
+ {
870
+ const ctx = inject(ssrContextKey);
871
+ if (!ctx) {
872
+ warn$1(
873
+ `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
874
+ );
875
+ }
876
+ return ctx;
877
+ }
878
+ };
879
+
880
+ function watchEffect(effect, options) {
881
+ return doWatch(effect, null, options);
882
+ }
883
+ function watchPostEffect(effect, options) {
884
+ return doWatch(
885
+ effect,
886
+ null,
887
+ shared.extend({}, options, { flush: "post" })
888
+ );
889
+ }
890
+ function watchSyncEffect(effect, options) {
891
+ return doWatch(
892
+ effect,
893
+ null,
894
+ shared.extend({}, options, { flush: "sync" })
895
+ );
896
+ }
897
+ function watch(source, cb, options) {
898
+ if (!shared.isFunction(cb)) {
899
+ warn$1(
900
+ `\`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.`
901
+ );
902
+ }
903
+ return doWatch(source, cb, options);
904
+ }
905
+ class RenderWatcherEffect extends reactivity.WatcherEffect {
906
+ constructor(instance, source, cb, options, flush) {
907
+ super(source, cb, options);
908
+ this.flush = flush;
909
+ const job = () => {
910
+ if (this.dirty) {
911
+ this.run();
912
+ }
913
+ };
914
+ if (cb) {
915
+ this.flags |= 128;
916
+ job.flags |= 2;
917
+ }
918
+ if (instance) {
919
+ job.i = instance;
920
+ }
921
+ this.job = job;
922
+ }
923
+ notify() {
924
+ const flags = this.flags;
925
+ if (!(flags & 256)) {
926
+ const flush = this.flush;
927
+ const job = this.job;
928
+ if (flush === "post") {
929
+ queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
930
+ } else if (flush === "pre") {
931
+ queueJob(job, job.i ? job.i.uid : void 0, true);
932
+ } else {
933
+ job();
934
+ }
935
+ }
936
+ }
937
+ }
938
+ function doWatch(source, cb, options = shared.EMPTY_OBJ) {
939
+ const { immediate, deep, flush = "pre", once } = options;
940
+ if (!cb) {
941
+ if (immediate !== void 0) {
942
+ warn$1(
943
+ `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
944
+ );
945
+ }
946
+ if (deep !== void 0) {
947
+ warn$1(
948
+ `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
949
+ );
950
+ }
951
+ if (once !== void 0) {
952
+ warn$1(
953
+ `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
954
+ );
955
+ }
956
+ }
957
+ const baseWatchOptions = shared.extend({}, options);
958
+ baseWatchOptions.onWarn = warn$1;
959
+ const runsImmediately = cb && immediate || !cb && flush !== "post";
960
+ let ssrCleanup;
961
+ if (isInSSRComponentSetup) {
962
+ if (flush === "sync") {
963
+ const ctx = useSSRContext();
964
+ ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
965
+ } else if (!runsImmediately) {
966
+ const watchStopHandle = () => {
967
+ };
968
+ watchStopHandle.stop = shared.NOOP;
969
+ watchStopHandle.resume = shared.NOOP;
970
+ watchStopHandle.pause = shared.NOOP;
971
+ return watchStopHandle;
972
+ }
973
+ }
974
+ const instance = currentInstance;
975
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
976
+ const effect = new RenderWatcherEffect(
977
+ instance,
978
+ source,
979
+ cb,
980
+ baseWatchOptions,
981
+ flush
982
+ );
983
+ if (cb) {
984
+ effect.run(true);
985
+ } else if (flush === "post") {
986
+ queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
987
+ } else {
988
+ effect.run(true);
989
+ }
990
+ const stop = effect.stop.bind(effect);
991
+ stop.pause = effect.pause.bind(effect);
992
+ stop.resume = effect.resume.bind(effect);
993
+ stop.stop = stop;
994
+ if (isInSSRComponentSetup) {
995
+ if (ssrCleanup) {
996
+ ssrCleanup.push(stop);
997
+ } else if (runsImmediately) {
998
+ stop();
999
+ }
1000
+ }
1001
+ return stop;
1002
+ }
1003
+ function instanceWatch(source, value, options) {
1004
+ const publicThis = this.proxy;
1005
+ const getter = shared.isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
1006
+ let cb;
1007
+ if (shared.isFunction(value)) {
1008
+ cb = value;
1009
+ } else {
1010
+ cb = value.handler;
1011
+ options = value;
1012
+ }
1013
+ const prev = setCurrentInstance(this);
1014
+ const res = doWatch(getter, cb.bind(publicThis), options);
1015
+ setCurrentInstance(...prev);
1016
+ return res;
1017
+ }
1018
+ function createPathGetter(ctx, path) {
1019
+ const segments = path.split(".");
1020
+ return () => {
1021
+ let cur = ctx;
1022
+ for (let i = 0; i < segments.length && cur; i++) {
1023
+ cur = cur[segments[i]];
1024
+ }
1025
+ return cur;
1026
+ };
1027
+ }
1028
+
1029
+ const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
834
1030
  const isTeleport = (type) => type.__isTeleport;
835
1031
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
836
1032
  const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
@@ -1202,8 +1398,8 @@ function prepareAnchor(target, vnode, createText, insert) {
1202
1398
  return targetAnchor;
1203
1399
  }
1204
1400
 
1205
- const leaveCbKey = Symbol("_leaveCb");
1206
- const enterCbKey = Symbol("_enterCb");
1401
+ const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
1402
+ const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
1207
1403
  function useTransitionState() {
1208
1404
  const state = {
1209
1405
  isMounted: false,
@@ -2816,7 +3012,9 @@ const KeepAliveImpl = {
2816
3012
  }
2817
3013
  function pruneCache(filter) {
2818
3014
  cache.forEach((vnode, key) => {
2819
- const name = getComponentName(vnode.type);
3015
+ const name = getComponentName(
3016
+ isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type
3017
+ );
2820
3018
  if (name && !filter(name)) {
2821
3019
  pruneCacheEntry(key);
2822
3020
  }
@@ -3115,7 +3313,7 @@ const DIRECTIVES = "directives";
3115
3313
  function resolveComponent(name, maybeSelfReference) {
3116
3314
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
3117
3315
  }
3118
- const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
3316
+ const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
3119
3317
  function resolveDynamicComponent(component) {
3120
3318
  if (shared.isString(component)) {
3121
3319
  return resolveAsset(COMPONENTS, component, false) || component;
@@ -3306,14 +3504,14 @@ function ensureVaporSlotFallback(vnodes, fallback) {
3306
3504
  }
3307
3505
  }
3308
3506
 
3309
- function toHandlers(obj, preserveCaseIfNecessary) {
3507
+ function toHandlers(obj, preserveCaseIfNecessary, needWrap) {
3310
3508
  const ret = {};
3311
3509
  if (!shared.isObject(obj)) {
3312
3510
  warn$1(`v-on with no argument expects an object value.`);
3313
3511
  return ret;
3314
3512
  }
3315
3513
  for (const key in obj) {
3316
- ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : shared.toHandlerKey(key)] = obj[key];
3514
+ ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : shared.toHandlerKey(key)] = needWrap ? () => obj[key] : obj[key];
3317
3515
  }
3318
3516
  return ret;
3319
3517
  }
@@ -4285,202 +4483,6 @@ If you want to remount the same app, move your app creation logic into a factory
4285
4483
  }
4286
4484
  let currentApp = null;
4287
4485
 
4288
- function provide(key, value) {
4289
- {
4290
- if (!currentInstance || currentInstance.isMounted) {
4291
- warn$1(`provide() can only be used inside setup().`);
4292
- }
4293
- }
4294
- if (currentInstance) {
4295
- let provides = currentInstance.provides;
4296
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
4297
- if (parentProvides === provides) {
4298
- provides = currentInstance.provides = Object.create(parentProvides);
4299
- }
4300
- provides[key] = value;
4301
- }
4302
- }
4303
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
4304
- const instance = getCurrentGenericInstance();
4305
- if (instance || currentApp) {
4306
- let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
4307
- if (provides && key in provides) {
4308
- return provides[key];
4309
- } else if (arguments.length > 1) {
4310
- return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
4311
- } else {
4312
- warn$1(`injection "${String(key)}" not found.`);
4313
- }
4314
- } else {
4315
- warn$1(`inject() can only be used inside setup() or functional components.`);
4316
- }
4317
- }
4318
- function hasInjectionContext() {
4319
- return !!(getCurrentGenericInstance() || currentApp);
4320
- }
4321
-
4322
- const ssrContextKey = Symbol.for("v-scx");
4323
- const useSSRContext = () => {
4324
- {
4325
- const ctx = inject(ssrContextKey);
4326
- if (!ctx) {
4327
- warn$1(
4328
- `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
4329
- );
4330
- }
4331
- return ctx;
4332
- }
4333
- };
4334
-
4335
- function watchEffect(effect, options) {
4336
- return doWatch(effect, null, options);
4337
- }
4338
- function watchPostEffect(effect, options) {
4339
- return doWatch(
4340
- effect,
4341
- null,
4342
- shared.extend({}, options, { flush: "post" })
4343
- );
4344
- }
4345
- function watchSyncEffect(effect, options) {
4346
- return doWatch(
4347
- effect,
4348
- null,
4349
- shared.extend({}, options, { flush: "sync" })
4350
- );
4351
- }
4352
- function watch(source, cb, options) {
4353
- if (!shared.isFunction(cb)) {
4354
- warn$1(
4355
- `\`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.`
4356
- );
4357
- }
4358
- return doWatch(source, cb, options);
4359
- }
4360
- class RenderWatcherEffect extends reactivity.WatcherEffect {
4361
- constructor(instance, source, cb, options, flush) {
4362
- super(source, cb, options);
4363
- this.flush = flush;
4364
- const job = () => {
4365
- if (this.dirty) {
4366
- this.run();
4367
- }
4368
- };
4369
- if (cb) {
4370
- this.flags |= 128;
4371
- job.flags |= 2;
4372
- }
4373
- if (instance) {
4374
- job.i = instance;
4375
- }
4376
- this.job = job;
4377
- }
4378
- notify() {
4379
- const flags = this.flags;
4380
- if (!(flags & 256)) {
4381
- const flush = this.flush;
4382
- const job = this.job;
4383
- if (flush === "post") {
4384
- queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
4385
- } else if (flush === "pre") {
4386
- queueJob(job, job.i ? job.i.uid : void 0, true);
4387
- } else {
4388
- job();
4389
- }
4390
- }
4391
- }
4392
- }
4393
- function doWatch(source, cb, options = shared.EMPTY_OBJ) {
4394
- const { immediate, deep, flush = "pre", once } = options;
4395
- if (!cb) {
4396
- if (immediate !== void 0) {
4397
- warn$1(
4398
- `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
4399
- );
4400
- }
4401
- if (deep !== void 0) {
4402
- warn$1(
4403
- `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
4404
- );
4405
- }
4406
- if (once !== void 0) {
4407
- warn$1(
4408
- `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
4409
- );
4410
- }
4411
- }
4412
- const baseWatchOptions = shared.extend({}, options);
4413
- baseWatchOptions.onWarn = warn$1;
4414
- const runsImmediately = cb && immediate || !cb && flush !== "post";
4415
- let ssrCleanup;
4416
- if (isInSSRComponentSetup) {
4417
- if (flush === "sync") {
4418
- const ctx = useSSRContext();
4419
- ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
4420
- } else if (!runsImmediately) {
4421
- const watchStopHandle = () => {
4422
- };
4423
- watchStopHandle.stop = shared.NOOP;
4424
- watchStopHandle.resume = shared.NOOP;
4425
- watchStopHandle.pause = shared.NOOP;
4426
- return watchStopHandle;
4427
- }
4428
- }
4429
- const instance = currentInstance;
4430
- baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
4431
- const effect = new RenderWatcherEffect(
4432
- instance,
4433
- source,
4434
- cb,
4435
- baseWatchOptions,
4436
- flush
4437
- );
4438
- if (cb) {
4439
- effect.run(true);
4440
- } else if (flush === "post") {
4441
- queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
4442
- } else {
4443
- effect.run(true);
4444
- }
4445
- const stop = effect.stop.bind(effect);
4446
- stop.pause = effect.pause.bind(effect);
4447
- stop.resume = effect.resume.bind(effect);
4448
- stop.stop = stop;
4449
- if (isInSSRComponentSetup) {
4450
- if (ssrCleanup) {
4451
- ssrCleanup.push(stop);
4452
- } else if (runsImmediately) {
4453
- stop();
4454
- }
4455
- }
4456
- return stop;
4457
- }
4458
- function instanceWatch(source, value, options) {
4459
- const publicThis = this.proxy;
4460
- const getter = shared.isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
4461
- let cb;
4462
- if (shared.isFunction(value)) {
4463
- cb = value;
4464
- } else {
4465
- cb = value.handler;
4466
- options = value;
4467
- }
4468
- const prev = setCurrentInstance(this);
4469
- const res = doWatch(getter, cb.bind(publicThis), options);
4470
- setCurrentInstance(...prev);
4471
- return res;
4472
- }
4473
- function createPathGetter(ctx, path) {
4474
- const segments = path.split(".");
4475
- return () => {
4476
- let cur = ctx;
4477
- for (let i = 0; i < segments.length && cur; i++) {
4478
- cur = cur[segments[i]];
4479
- }
4480
- return cur;
4481
- };
4482
- }
4483
-
4484
4486
  function useModel(props, name, options = shared.EMPTY_OBJ) {
4485
4487
  const i = getCurrentGenericInstance();
4486
4488
  if (!i) {
@@ -5565,6 +5567,14 @@ function isSupported() {
5565
5567
  return supported;
5566
5568
  }
5567
5569
 
5570
+ const MoveType = {
5571
+ "ENTER": 0,
5572
+ "0": "ENTER",
5573
+ "LEAVE": 1,
5574
+ "1": "LEAVE",
5575
+ "REORDER": 2,
5576
+ "2": "REORDER"
5577
+ };
5568
5578
  const queuePostRenderEffect = queueEffectWithSuspense ;
5569
5579
  function createRenderer(options) {
5570
5580
  return baseCreateRenderer(options);
@@ -5713,7 +5723,15 @@ function baseCreateRenderer(options, createHydrationFns) {
5713
5723
  } else {
5714
5724
  const el = n2.el = n1.el;
5715
5725
  if (n2.children !== n1.children) {
5716
- hostSetText(el, n2.children);
5726
+ if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
5727
+ const childNodes = container.childNodes;
5728
+ const newChild = hostCreateText(n2.children);
5729
+ const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
5730
+ hostInsert(newChild, container, oldChild);
5731
+ hostRemove(oldChild);
5732
+ } else {
5733
+ hostSetText(el, n2.children);
5734
+ }
5717
5735
  }
5718
5736
  }
5719
5737
  };
@@ -6099,7 +6117,7 @@ function baseCreateRenderer(options, createHydrationFns) {
6099
6117
  } else {
6100
6118
  if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
6101
6119
  // of renderSlot() with no valid children
6102
- n1.dynamicChildren) {
6120
+ n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
6103
6121
  patchBlockChildren(
6104
6122
  n1.dynamicChildren,
6105
6123
  dynamicChildren,
@@ -6787,8 +6805,8 @@ function baseCreateRenderer(options, createHydrationFns) {
6787
6805
  const nextChild = c2[nextIndex];
6788
6806
  const anchorVNode = c2[nextIndex + 1];
6789
6807
  const anchor = nextIndex + 1 < l2 ? (
6790
- // #13559, fallback to el placeholder for unresolved async component
6791
- anchorVNode.el || anchorVNode.placeholder
6808
+ // #13559, #14173 fallback to el placeholder for unresolved async component
6809
+ anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)
6792
6810
  ) : parentAnchor;
6793
6811
  if (newIndexToOldIndexMap[i] === 0) {
6794
6812
  patch(
@@ -7093,9 +7111,11 @@ function baseCreateRenderer(options, createHydrationFns) {
7093
7111
  return teleportEnd ? hostNextSibling(teleportEnd) : el;
7094
7112
  };
7095
7113
  const render = (vnode, container, namespace) => {
7114
+ let instance;
7096
7115
  if (vnode == null) {
7097
7116
  if (container._vnode) {
7098
7117
  unmount(container._vnode, null, null, true);
7118
+ instance = container._vnode.component;
7099
7119
  }
7100
7120
  } else {
7101
7121
  patch(
@@ -7109,7 +7129,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7109
7129
  );
7110
7130
  }
7111
7131
  container._vnode = vnode;
7112
- flushOnAppMount();
7132
+ flushOnAppMount(instance);
7113
7133
  };
7114
7134
  const internals = {
7115
7135
  p: patch,
@@ -7199,9 +7219,13 @@ function traverseStaticChildren(n1, n2, shallow = false) {
7199
7219
  if (!shallow && c2.patchFlag !== -2)
7200
7220
  traverseStaticChildren(c1, c2);
7201
7221
  }
7202
- if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
7203
- c2.patchFlag !== -1) {
7204
- c2.el = c1.el;
7222
+ if (c2.type === Text) {
7223
+ if (c2.patchFlag !== -1) {
7224
+ c2.el = c1.el;
7225
+ } else {
7226
+ c2.__elIndex = i + // take fragment start anchor into account
7227
+ (n1.type === Fragment ? 1 : 0);
7228
+ }
7205
7229
  }
7206
7230
  if (c2.type === Comment && !c2.el) {
7207
7231
  c2.el = c1.el;
@@ -7237,16 +7261,24 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
7237
7261
  insert();
7238
7262
  }
7239
7263
  }
7240
- function performTransitionLeave(el, transition, remove, isElement = true) {
7264
+ function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
7241
7265
  const performRemove = () => {
7242
7266
  remove();
7243
7267
  if (transition && !transition.persisted && transition.afterLeave) {
7244
7268
  transition.afterLeave();
7245
7269
  }
7246
7270
  };
7247
- if (isElement && transition && !transition.persisted) {
7271
+ if (force || isElement && transition && !transition.persisted) {
7248
7272
  const { leave, delayLeave } = transition;
7249
- const performLeave = () => leave(el, performRemove);
7273
+ const performLeave = () => {
7274
+ if (el._isLeaving && force) {
7275
+ el[leaveCbKey](
7276
+ true
7277
+ /* cancelled */
7278
+ );
7279
+ }
7280
+ leave(el, performRemove);
7281
+ };
7250
7282
  if (delayLeave) {
7251
7283
  delayLeave(el, performRemove, performLeave);
7252
7284
  } else {
@@ -7302,6 +7334,16 @@ function getInheritedScopeIds(vnode, parentComponent) {
7302
7334
  }
7303
7335
  return inheritedScopeIds;
7304
7336
  }
7337
+ function resolveAsyncComponentPlaceholder(anchorVnode) {
7338
+ if (anchorVnode.placeholder) {
7339
+ return anchorVnode.placeholder;
7340
+ }
7341
+ const instance = anchorVnode.component;
7342
+ if (instance) {
7343
+ return resolveAsyncComponentPlaceholder(instance.subTree);
7344
+ }
7345
+ return null;
7346
+ }
7305
7347
 
7306
7348
  const isSuspense = (type) => type.__isSuspense;
7307
7349
  let suspenseId = 0;
@@ -7884,11 +7926,11 @@ function isVNodeSuspensible(vnode) {
7884
7926
  return suspensible != null && suspensible !== false;
7885
7927
  }
7886
7928
 
7887
- const Fragment = Symbol.for("v-fgt");
7888
- const Text = Symbol.for("v-txt");
7889
- const Comment = Symbol.for("v-cmt");
7890
- const Static = Symbol.for("v-stc");
7891
- const VaporSlot = Symbol.for("v-vps");
7929
+ const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
7930
+ const Text = /* @__PURE__ */ Symbol.for("v-txt");
7931
+ const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
7932
+ const Static = /* @__PURE__ */ Symbol.for("v-stc");
7933
+ const VaporSlot = /* @__PURE__ */ Symbol.for("v-vps");
7892
7934
  const blockStack = [];
7893
7935
  let currentBlock = null;
7894
7936
  function openBlock(disableTracking = false) {
@@ -8944,7 +8986,7 @@ function isMemoSame(cached, memo) {
8944
8986
  return true;
8945
8987
  }
8946
8988
 
8947
- const version = "3.6.0-alpha.7";
8989
+ const version = "3.6.0-beta.1";
8948
8990
  const warn = warn$1 ;
8949
8991
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8950
8992
  const devtools = devtools$1 ;
@@ -9012,6 +9054,7 @@ exports.ErrorCodes = ErrorCodes;
9012
9054
  exports.ErrorTypeStrings = ErrorTypeStrings;
9013
9055
  exports.Fragment = Fragment;
9014
9056
  exports.KeepAlive = KeepAlive;
9057
+ exports.MoveType = MoveType;
9015
9058
  exports.Static = Static;
9016
9059
  exports.Suspense = Suspense;
9017
9060
  exports.Teleport = Teleport;