@vue/runtime-core 3.6.0-alpha.6 → 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.
- package/dist/runtime-core.cjs.js +290 -231
- package/dist/runtime-core.cjs.prod.js +239 -193
- package/dist/runtime-core.d.ts +4 -4
- package/dist/runtime-core.esm-bundler.js +283 -233
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/runtime-core v3.6.0-
|
|
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
|
**/
|
|
@@ -379,10 +379,10 @@ function flushPostFlushCbs(seen) {
|
|
|
379
379
|
}
|
|
380
380
|
}
|
|
381
381
|
let isFlushing = false;
|
|
382
|
-
function flushOnAppMount() {
|
|
382
|
+
function flushOnAppMount(instance) {
|
|
383
383
|
if (!isFlushing) {
|
|
384
384
|
isFlushing = true;
|
|
385
|
-
flushPreFlushCbs();
|
|
385
|
+
flushPreFlushCbs(instance);
|
|
386
386
|
flushPostFlushCbs();
|
|
387
387
|
isFlushing = false;
|
|
388
388
|
}
|
|
@@ -521,7 +521,166 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
|
|
|
521
521
|
}
|
|
522
522
|
}
|
|
523
523
|
|
|
524
|
-
|
|
524
|
+
function provide(key, value) {
|
|
525
|
+
if (currentInstance) {
|
|
526
|
+
let provides = currentInstance.provides;
|
|
527
|
+
const parentProvides = currentInstance.parent && currentInstance.parent.provides;
|
|
528
|
+
if (parentProvides === provides) {
|
|
529
|
+
provides = currentInstance.provides = Object.create(parentProvides);
|
|
530
|
+
}
|
|
531
|
+
provides[key] = value;
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
function inject(key, defaultValue, treatDefaultAsFactory = false) {
|
|
535
|
+
const instance = getCurrentGenericInstance();
|
|
536
|
+
if (instance || currentApp) {
|
|
537
|
+
let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
|
|
538
|
+
if (provides && key in provides) {
|
|
539
|
+
return provides[key];
|
|
540
|
+
} else if (arguments.length > 1) {
|
|
541
|
+
return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
|
|
542
|
+
} else ;
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
function hasInjectionContext() {
|
|
546
|
+
return !!(getCurrentGenericInstance() || currentApp);
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
|
|
550
|
+
const useSSRContext = () => {
|
|
551
|
+
{
|
|
552
|
+
const ctx = inject(ssrContextKey);
|
|
553
|
+
return ctx;
|
|
554
|
+
}
|
|
555
|
+
};
|
|
556
|
+
|
|
557
|
+
function watchEffect(effect, options) {
|
|
558
|
+
return doWatch(effect, null, options);
|
|
559
|
+
}
|
|
560
|
+
function watchPostEffect(effect, options) {
|
|
561
|
+
return doWatch(
|
|
562
|
+
effect,
|
|
563
|
+
null,
|
|
564
|
+
{ flush: "post" }
|
|
565
|
+
);
|
|
566
|
+
}
|
|
567
|
+
function watchSyncEffect(effect, options) {
|
|
568
|
+
return doWatch(
|
|
569
|
+
effect,
|
|
570
|
+
null,
|
|
571
|
+
{ flush: "sync" }
|
|
572
|
+
);
|
|
573
|
+
}
|
|
574
|
+
function watch(source, cb, options) {
|
|
575
|
+
return doWatch(source, cb, options);
|
|
576
|
+
}
|
|
577
|
+
class RenderWatcherEffect extends reactivity.WatcherEffect {
|
|
578
|
+
constructor(instance, source, cb, options, flush) {
|
|
579
|
+
super(source, cb, options);
|
|
580
|
+
this.flush = flush;
|
|
581
|
+
const job = () => {
|
|
582
|
+
if (this.dirty) {
|
|
583
|
+
this.run();
|
|
584
|
+
}
|
|
585
|
+
};
|
|
586
|
+
if (cb) {
|
|
587
|
+
this.flags |= 128;
|
|
588
|
+
job.flags |= 2;
|
|
589
|
+
}
|
|
590
|
+
if (instance) {
|
|
591
|
+
job.i = instance;
|
|
592
|
+
}
|
|
593
|
+
this.job = job;
|
|
594
|
+
}
|
|
595
|
+
notify() {
|
|
596
|
+
const flags = this.flags;
|
|
597
|
+
if (!(flags & 256)) {
|
|
598
|
+
const flush = this.flush;
|
|
599
|
+
const job = this.job;
|
|
600
|
+
if (flush === "post") {
|
|
601
|
+
queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
|
|
602
|
+
} else if (flush === "pre") {
|
|
603
|
+
queueJob(job, job.i ? job.i.uid : void 0, true);
|
|
604
|
+
} else {
|
|
605
|
+
job();
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
function doWatch(source, cb, options = shared.EMPTY_OBJ) {
|
|
611
|
+
const { immediate, deep, flush = "pre", once } = options;
|
|
612
|
+
const baseWatchOptions = shared.extend({}, options);
|
|
613
|
+
const runsImmediately = cb && immediate || !cb && flush !== "post";
|
|
614
|
+
let ssrCleanup;
|
|
615
|
+
if (isInSSRComponentSetup) {
|
|
616
|
+
if (flush === "sync") {
|
|
617
|
+
const ctx = useSSRContext();
|
|
618
|
+
ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
|
|
619
|
+
} else if (!runsImmediately) {
|
|
620
|
+
const watchStopHandle = () => {
|
|
621
|
+
};
|
|
622
|
+
watchStopHandle.stop = shared.NOOP;
|
|
623
|
+
watchStopHandle.resume = shared.NOOP;
|
|
624
|
+
watchStopHandle.pause = shared.NOOP;
|
|
625
|
+
return watchStopHandle;
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
const instance = currentInstance;
|
|
629
|
+
baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
|
|
630
|
+
const effect = new RenderWatcherEffect(
|
|
631
|
+
instance,
|
|
632
|
+
source,
|
|
633
|
+
cb,
|
|
634
|
+
baseWatchOptions,
|
|
635
|
+
flush
|
|
636
|
+
);
|
|
637
|
+
if (cb) {
|
|
638
|
+
effect.run(true);
|
|
639
|
+
} else if (flush === "post") {
|
|
640
|
+
queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
|
|
641
|
+
} else {
|
|
642
|
+
effect.run(true);
|
|
643
|
+
}
|
|
644
|
+
const stop = effect.stop.bind(effect);
|
|
645
|
+
stop.pause = effect.pause.bind(effect);
|
|
646
|
+
stop.resume = effect.resume.bind(effect);
|
|
647
|
+
stop.stop = stop;
|
|
648
|
+
if (isInSSRComponentSetup) {
|
|
649
|
+
if (ssrCleanup) {
|
|
650
|
+
ssrCleanup.push(stop);
|
|
651
|
+
} else if (runsImmediately) {
|
|
652
|
+
stop();
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
return stop;
|
|
656
|
+
}
|
|
657
|
+
function instanceWatch(source, value, options) {
|
|
658
|
+
const publicThis = this.proxy;
|
|
659
|
+
const getter = shared.isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
|
|
660
|
+
let cb;
|
|
661
|
+
if (shared.isFunction(value)) {
|
|
662
|
+
cb = value;
|
|
663
|
+
} else {
|
|
664
|
+
cb = value.handler;
|
|
665
|
+
options = value;
|
|
666
|
+
}
|
|
667
|
+
const prev = setCurrentInstance(this);
|
|
668
|
+
const res = doWatch(getter, cb.bind(publicThis), options);
|
|
669
|
+
setCurrentInstance(...prev);
|
|
670
|
+
return res;
|
|
671
|
+
}
|
|
672
|
+
function createPathGetter(ctx, path) {
|
|
673
|
+
const segments = path.split(".");
|
|
674
|
+
return () => {
|
|
675
|
+
let cur = ctx;
|
|
676
|
+
for (let i = 0; i < segments.length && cur; i++) {
|
|
677
|
+
cur = cur[segments[i]];
|
|
678
|
+
}
|
|
679
|
+
return cur;
|
|
680
|
+
};
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
|
|
525
684
|
const isTeleport = (type) => type.__isTeleport;
|
|
526
685
|
const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
|
|
527
686
|
const isTeleportDeferred = (props) => props && (props.defer || props.defer === "");
|
|
@@ -866,8 +1025,8 @@ function prepareAnchor(target, vnode, createText, insert) {
|
|
|
866
1025
|
return targetAnchor;
|
|
867
1026
|
}
|
|
868
1027
|
|
|
869
|
-
const leaveCbKey = Symbol("_leaveCb");
|
|
870
|
-
const enterCbKey = Symbol("_enterCb");
|
|
1028
|
+
const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
|
|
1029
|
+
const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
|
|
871
1030
|
function useTransitionState() {
|
|
872
1031
|
const state = {
|
|
873
1032
|
isMounted: false,
|
|
@@ -905,7 +1064,7 @@ const BaseTransitionPropsValidators = {
|
|
|
905
1064
|
onAppearCancelled: TransitionHookValidator
|
|
906
1065
|
};
|
|
907
1066
|
const recursiveGetSubtree = (instance) => {
|
|
908
|
-
const subTree = instance.type
|
|
1067
|
+
const subTree = isVaporComponent(instance.type) ? instance.block : instance.subTree;
|
|
909
1068
|
return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
|
|
910
1069
|
};
|
|
911
1070
|
const BaseTransitionImpl = {
|
|
@@ -1204,7 +1363,7 @@ function getInnerChild$1(vnode) {
|
|
|
1204
1363
|
}
|
|
1205
1364
|
function setTransitionHooks(vnode, hooks) {
|
|
1206
1365
|
if (vnode.shapeFlag & 6 && vnode.component) {
|
|
1207
|
-
if (vnode.type
|
|
1366
|
+
if (isVaporComponent(vnode.type)) {
|
|
1208
1367
|
getVaporInterface(vnode.component, vnode).setTransitionHooks(
|
|
1209
1368
|
vnode.component,
|
|
1210
1369
|
hooks
|
|
@@ -2225,7 +2384,9 @@ const KeepAliveImpl = {
|
|
|
2225
2384
|
}
|
|
2226
2385
|
function pruneCache(filter) {
|
|
2227
2386
|
cache.forEach((vnode, key) => {
|
|
2228
|
-
const name = getComponentName(
|
|
2387
|
+
const name = getComponentName(
|
|
2388
|
+
isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type
|
|
2389
|
+
);
|
|
2229
2390
|
if (name && !filter(name)) {
|
|
2230
2391
|
pruneCacheEntry(key);
|
|
2231
2392
|
}
|
|
@@ -2510,7 +2671,7 @@ const DIRECTIVES = "directives";
|
|
|
2510
2671
|
function resolveComponent(name, maybeSelfReference) {
|
|
2511
2672
|
return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
|
|
2512
2673
|
}
|
|
2513
|
-
const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
|
|
2674
|
+
const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
|
|
2514
2675
|
function resolveDynamicComponent(component) {
|
|
2515
2676
|
if (shared.isString(component)) {
|
|
2516
2677
|
return resolveAsset(COMPONENTS, component, false) || component;
|
|
@@ -2683,10 +2844,10 @@ function ensureVaporSlotFallback(vnodes, fallback) {
|
|
|
2683
2844
|
}
|
|
2684
2845
|
}
|
|
2685
2846
|
|
|
2686
|
-
function toHandlers(obj, preserveCaseIfNecessary) {
|
|
2847
|
+
function toHandlers(obj, preserveCaseIfNecessary, needWrap) {
|
|
2687
2848
|
const ret = {};
|
|
2688
2849
|
for (const key in obj) {
|
|
2689
|
-
ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : shared.toHandlerKey(key)] = obj[key];
|
|
2850
|
+
ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : shared.toHandlerKey(key)] = needWrap ? () => obj[key] : obj[key];
|
|
2690
2851
|
}
|
|
2691
2852
|
return ret;
|
|
2692
2853
|
}
|
|
@@ -3376,165 +3537,6 @@ function createAppAPI(mount, unmount, getPublicInstance, render) {
|
|
|
3376
3537
|
}
|
|
3377
3538
|
let currentApp = null;
|
|
3378
3539
|
|
|
3379
|
-
function provide(key, value) {
|
|
3380
|
-
if (currentInstance) {
|
|
3381
|
-
let provides = currentInstance.provides;
|
|
3382
|
-
const parentProvides = currentInstance.parent && currentInstance.parent.provides;
|
|
3383
|
-
if (parentProvides === provides) {
|
|
3384
|
-
provides = currentInstance.provides = Object.create(parentProvides);
|
|
3385
|
-
}
|
|
3386
|
-
provides[key] = value;
|
|
3387
|
-
}
|
|
3388
|
-
}
|
|
3389
|
-
function inject(key, defaultValue, treatDefaultAsFactory = false) {
|
|
3390
|
-
const instance = getCurrentGenericInstance();
|
|
3391
|
-
if (instance || currentApp) {
|
|
3392
|
-
let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.appContext && instance.appContext.provides : instance.parent.provides : void 0;
|
|
3393
|
-
if (provides && key in provides) {
|
|
3394
|
-
return provides[key];
|
|
3395
|
-
} else if (arguments.length > 1) {
|
|
3396
|
-
return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
|
|
3397
|
-
} else ;
|
|
3398
|
-
}
|
|
3399
|
-
}
|
|
3400
|
-
function hasInjectionContext() {
|
|
3401
|
-
return !!(getCurrentGenericInstance() || currentApp);
|
|
3402
|
-
}
|
|
3403
|
-
|
|
3404
|
-
const ssrContextKey = Symbol.for("v-scx");
|
|
3405
|
-
const useSSRContext = () => {
|
|
3406
|
-
{
|
|
3407
|
-
const ctx = inject(ssrContextKey);
|
|
3408
|
-
return ctx;
|
|
3409
|
-
}
|
|
3410
|
-
};
|
|
3411
|
-
|
|
3412
|
-
function watchEffect(effect, options) {
|
|
3413
|
-
return doWatch(effect, null, options);
|
|
3414
|
-
}
|
|
3415
|
-
function watchPostEffect(effect, options) {
|
|
3416
|
-
return doWatch(
|
|
3417
|
-
effect,
|
|
3418
|
-
null,
|
|
3419
|
-
{ flush: "post" }
|
|
3420
|
-
);
|
|
3421
|
-
}
|
|
3422
|
-
function watchSyncEffect(effect, options) {
|
|
3423
|
-
return doWatch(
|
|
3424
|
-
effect,
|
|
3425
|
-
null,
|
|
3426
|
-
{ flush: "sync" }
|
|
3427
|
-
);
|
|
3428
|
-
}
|
|
3429
|
-
function watch(source, cb, options) {
|
|
3430
|
-
return doWatch(source, cb, options);
|
|
3431
|
-
}
|
|
3432
|
-
class RenderWatcherEffect extends reactivity.WatcherEffect {
|
|
3433
|
-
constructor(instance, source, cb, options, flush) {
|
|
3434
|
-
super(source, cb, options);
|
|
3435
|
-
this.flush = flush;
|
|
3436
|
-
const job = () => {
|
|
3437
|
-
if (this.dirty) {
|
|
3438
|
-
this.run();
|
|
3439
|
-
}
|
|
3440
|
-
};
|
|
3441
|
-
if (cb) {
|
|
3442
|
-
this.flags |= 128;
|
|
3443
|
-
job.flags |= 2;
|
|
3444
|
-
}
|
|
3445
|
-
if (instance) {
|
|
3446
|
-
job.i = instance;
|
|
3447
|
-
}
|
|
3448
|
-
this.job = job;
|
|
3449
|
-
}
|
|
3450
|
-
notify() {
|
|
3451
|
-
const flags = this.flags;
|
|
3452
|
-
if (!(flags & 256)) {
|
|
3453
|
-
const flush = this.flush;
|
|
3454
|
-
const job = this.job;
|
|
3455
|
-
if (flush === "post") {
|
|
3456
|
-
queuePostRenderEffect(job, void 0, job.i ? job.i.suspense : null);
|
|
3457
|
-
} else if (flush === "pre") {
|
|
3458
|
-
queueJob(job, job.i ? job.i.uid : void 0, true);
|
|
3459
|
-
} else {
|
|
3460
|
-
job();
|
|
3461
|
-
}
|
|
3462
|
-
}
|
|
3463
|
-
}
|
|
3464
|
-
}
|
|
3465
|
-
function doWatch(source, cb, options = shared.EMPTY_OBJ) {
|
|
3466
|
-
const { immediate, deep, flush = "pre", once } = options;
|
|
3467
|
-
const baseWatchOptions = shared.extend({}, options);
|
|
3468
|
-
const runsImmediately = cb && immediate || !cb && flush !== "post";
|
|
3469
|
-
let ssrCleanup;
|
|
3470
|
-
if (isInSSRComponentSetup) {
|
|
3471
|
-
if (flush === "sync") {
|
|
3472
|
-
const ctx = useSSRContext();
|
|
3473
|
-
ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
|
|
3474
|
-
} else if (!runsImmediately) {
|
|
3475
|
-
const watchStopHandle = () => {
|
|
3476
|
-
};
|
|
3477
|
-
watchStopHandle.stop = shared.NOOP;
|
|
3478
|
-
watchStopHandle.resume = shared.NOOP;
|
|
3479
|
-
watchStopHandle.pause = shared.NOOP;
|
|
3480
|
-
return watchStopHandle;
|
|
3481
|
-
}
|
|
3482
|
-
}
|
|
3483
|
-
const instance = currentInstance;
|
|
3484
|
-
baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
|
|
3485
|
-
const effect = new RenderWatcherEffect(
|
|
3486
|
-
instance,
|
|
3487
|
-
source,
|
|
3488
|
-
cb,
|
|
3489
|
-
baseWatchOptions,
|
|
3490
|
-
flush
|
|
3491
|
-
);
|
|
3492
|
-
if (cb) {
|
|
3493
|
-
effect.run(true);
|
|
3494
|
-
} else if (flush === "post") {
|
|
3495
|
-
queuePostRenderEffect(effect.job, void 0, instance && instance.suspense);
|
|
3496
|
-
} else {
|
|
3497
|
-
effect.run(true);
|
|
3498
|
-
}
|
|
3499
|
-
const stop = effect.stop.bind(effect);
|
|
3500
|
-
stop.pause = effect.pause.bind(effect);
|
|
3501
|
-
stop.resume = effect.resume.bind(effect);
|
|
3502
|
-
stop.stop = stop;
|
|
3503
|
-
if (isInSSRComponentSetup) {
|
|
3504
|
-
if (ssrCleanup) {
|
|
3505
|
-
ssrCleanup.push(stop);
|
|
3506
|
-
} else if (runsImmediately) {
|
|
3507
|
-
stop();
|
|
3508
|
-
}
|
|
3509
|
-
}
|
|
3510
|
-
return stop;
|
|
3511
|
-
}
|
|
3512
|
-
function instanceWatch(source, value, options) {
|
|
3513
|
-
const publicThis = this.proxy;
|
|
3514
|
-
const getter = shared.isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
|
|
3515
|
-
let cb;
|
|
3516
|
-
if (shared.isFunction(value)) {
|
|
3517
|
-
cb = value;
|
|
3518
|
-
} else {
|
|
3519
|
-
cb = value.handler;
|
|
3520
|
-
options = value;
|
|
3521
|
-
}
|
|
3522
|
-
const prev = setCurrentInstance(this);
|
|
3523
|
-
const res = doWatch(getter, cb.bind(publicThis), options);
|
|
3524
|
-
setCurrentInstance(...prev);
|
|
3525
|
-
return res;
|
|
3526
|
-
}
|
|
3527
|
-
function createPathGetter(ctx, path) {
|
|
3528
|
-
const segments = path.split(".");
|
|
3529
|
-
return () => {
|
|
3530
|
-
let cur = ctx;
|
|
3531
|
-
for (let i = 0; i < segments.length && cur; i++) {
|
|
3532
|
-
cur = cur[segments[i]];
|
|
3533
|
-
}
|
|
3534
|
-
return cur;
|
|
3535
|
-
};
|
|
3536
|
-
}
|
|
3537
|
-
|
|
3538
3540
|
function useModel(props, name, options = shared.EMPTY_OBJ) {
|
|
3539
3541
|
const i = getCurrentGenericInstance();
|
|
3540
3542
|
const camelizedName = shared.camelize(name);
|
|
@@ -4298,6 +4300,14 @@ const updateSlots = (instance, children, optimized) => {
|
|
|
4298
4300
|
}
|
|
4299
4301
|
};
|
|
4300
4302
|
|
|
4303
|
+
const MoveType = {
|
|
4304
|
+
"ENTER": 0,
|
|
4305
|
+
"0": "ENTER",
|
|
4306
|
+
"LEAVE": 1,
|
|
4307
|
+
"1": "LEAVE",
|
|
4308
|
+
"REORDER": 2,
|
|
4309
|
+
"2": "REORDER"
|
|
4310
|
+
};
|
|
4301
4311
|
const queuePostRenderEffect = queueEffectWithSuspense ;
|
|
4302
4312
|
function createRenderer(options) {
|
|
4303
4313
|
return baseCreateRenderer(options);
|
|
@@ -4362,7 +4372,13 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
4362
4372
|
);
|
|
4363
4373
|
break;
|
|
4364
4374
|
case VaporSlot:
|
|
4365
|
-
getVaporInterface(parentComponent, n2).slot(
|
|
4375
|
+
getVaporInterface(parentComponent, n2).slot(
|
|
4376
|
+
n1,
|
|
4377
|
+
n2,
|
|
4378
|
+
container,
|
|
4379
|
+
anchor,
|
|
4380
|
+
parentComponent
|
|
4381
|
+
);
|
|
4366
4382
|
break;
|
|
4367
4383
|
default:
|
|
4368
4384
|
if (shapeFlag & 1) {
|
|
@@ -4433,7 +4449,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
4433
4449
|
} else {
|
|
4434
4450
|
const el = n2.el = n1.el;
|
|
4435
4451
|
if (n2.children !== n1.children) {
|
|
4436
|
-
|
|
4452
|
+
{
|
|
4453
|
+
hostSetText(el, n2.children);
|
|
4454
|
+
}
|
|
4437
4455
|
}
|
|
4438
4456
|
}
|
|
4439
4457
|
};
|
|
@@ -4781,7 +4799,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
4781
4799
|
} else {
|
|
4782
4800
|
if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
|
|
4783
4801
|
// of renderSlot() with no valid children
|
|
4784
|
-
n1.dynamicChildren) {
|
|
4802
|
+
n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
|
|
4785
4803
|
patchBlockChildren(
|
|
4786
4804
|
n1.dynamicChildren,
|
|
4787
4805
|
dynamicChildren,
|
|
@@ -5391,8 +5409,8 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5391
5409
|
const nextChild = c2[nextIndex];
|
|
5392
5410
|
const anchorVNode = c2[nextIndex + 1];
|
|
5393
5411
|
const anchor = nextIndex + 1 < l2 ? (
|
|
5394
|
-
// #13559, fallback to el placeholder for unresolved async component
|
|
5395
|
-
anchorVNode.el || anchorVNode
|
|
5412
|
+
// #13559, #14173 fallback to el placeholder for unresolved async component
|
|
5413
|
+
anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode)
|
|
5396
5414
|
) : parentAnchor;
|
|
5397
5415
|
if (newIndexToOldIndexMap[i] === 0) {
|
|
5398
5416
|
patch(
|
|
@@ -5425,7 +5443,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5425
5443
|
const move = (vnode, container, anchor, moveType, parentComponent, parentSuspense = null) => {
|
|
5426
5444
|
const { el, type, transition, children, shapeFlag } = vnode;
|
|
5427
5445
|
if (shapeFlag & 6) {
|
|
5428
|
-
if (type
|
|
5446
|
+
if (isVaporComponent(type)) {
|
|
5429
5447
|
getVaporInterface(parentComponent, vnode).move(vnode, container, anchor);
|
|
5430
5448
|
} else {
|
|
5431
5449
|
move(
|
|
@@ -5535,7 +5553,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5535
5553
|
parentComponent.renderCache[cacheIndex] = void 0;
|
|
5536
5554
|
}
|
|
5537
5555
|
if (shapeFlag & 256) {
|
|
5538
|
-
if (vnode.type
|
|
5556
|
+
if (isVaporComponent(vnode.type)) {
|
|
5539
5557
|
getVaporInterface(parentComponent, vnode).deactivate(
|
|
5540
5558
|
vnode,
|
|
5541
5559
|
parentComponent.ctx.getStorageContainer()
|
|
@@ -5552,7 +5570,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5552
5570
|
invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
5553
5571
|
}
|
|
5554
5572
|
if (shapeFlag & 6) {
|
|
5555
|
-
if (type
|
|
5573
|
+
if (isVaporComponent(type)) {
|
|
5556
5574
|
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove);
|
|
5557
5575
|
return;
|
|
5558
5576
|
} else {
|
|
@@ -5670,7 +5688,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5670
5688
|
};
|
|
5671
5689
|
const getNextHostNode = (vnode) => {
|
|
5672
5690
|
if (vnode.shapeFlag & 6) {
|
|
5673
|
-
if (vnode.type
|
|
5691
|
+
if (isVaporComponent(vnode.type)) {
|
|
5674
5692
|
return hostNextSibling(vnode.anchor);
|
|
5675
5693
|
}
|
|
5676
5694
|
return getNextHostNode(vnode.component.subTree);
|
|
@@ -5683,9 +5701,11 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5683
5701
|
return teleportEnd ? hostNextSibling(teleportEnd) : el;
|
|
5684
5702
|
};
|
|
5685
5703
|
const render = (vnode, container, namespace) => {
|
|
5704
|
+
let instance;
|
|
5686
5705
|
if (vnode == null) {
|
|
5687
5706
|
if (container._vnode) {
|
|
5688
5707
|
unmount(container._vnode, null, null, true);
|
|
5708
|
+
instance = container._vnode.component;
|
|
5689
5709
|
}
|
|
5690
5710
|
} else {
|
|
5691
5711
|
patch(
|
|
@@ -5699,7 +5719,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5699
5719
|
);
|
|
5700
5720
|
}
|
|
5701
5721
|
container._vnode = vnode;
|
|
5702
|
-
flushOnAppMount();
|
|
5722
|
+
flushOnAppMount(instance);
|
|
5703
5723
|
};
|
|
5704
5724
|
const internals = {
|
|
5705
5725
|
p: patch,
|
|
@@ -5782,9 +5802,13 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
5782
5802
|
if (!shallow && c2.patchFlag !== -2)
|
|
5783
5803
|
traverseStaticChildren(c1, c2);
|
|
5784
5804
|
}
|
|
5785
|
-
if (c2.type === Text
|
|
5786
|
-
|
|
5787
|
-
|
|
5805
|
+
if (c2.type === Text) {
|
|
5806
|
+
if (c2.patchFlag !== -1) {
|
|
5807
|
+
c2.el = c1.el;
|
|
5808
|
+
} else {
|
|
5809
|
+
c2.__elIndex = i + // take fragment start anchor into account
|
|
5810
|
+
(n1.type === Fragment ? 1 : 0);
|
|
5811
|
+
}
|
|
5788
5812
|
}
|
|
5789
5813
|
if (c2.type === Comment && !c2.el) {
|
|
5790
5814
|
c2.el = c1.el;
|
|
@@ -5817,16 +5841,24 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
|
|
|
5817
5841
|
insert();
|
|
5818
5842
|
}
|
|
5819
5843
|
}
|
|
5820
|
-
function performTransitionLeave(el, transition, remove, isElement = true) {
|
|
5844
|
+
function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
|
|
5821
5845
|
const performRemove = () => {
|
|
5822
5846
|
remove();
|
|
5823
5847
|
if (transition && !transition.persisted && transition.afterLeave) {
|
|
5824
5848
|
transition.afterLeave();
|
|
5825
5849
|
}
|
|
5826
5850
|
};
|
|
5827
|
-
if (isElement && transition && !transition.persisted) {
|
|
5851
|
+
if (force || isElement && transition && !transition.persisted) {
|
|
5828
5852
|
const { leave, delayLeave } = transition;
|
|
5829
|
-
const performLeave = () =>
|
|
5853
|
+
const performLeave = () => {
|
|
5854
|
+
if (el._isLeaving && force) {
|
|
5855
|
+
el[leaveCbKey](
|
|
5856
|
+
true
|
|
5857
|
+
/* cancelled */
|
|
5858
|
+
);
|
|
5859
|
+
}
|
|
5860
|
+
leave(el, performRemove);
|
|
5861
|
+
};
|
|
5830
5862
|
if (delayLeave) {
|
|
5831
5863
|
delayLeave(el, performRemove, performLeave);
|
|
5832
5864
|
} else {
|
|
@@ -5841,6 +5873,9 @@ function getVaporInterface(instance, vnode) {
|
|
|
5841
5873
|
const res = ctx && ctx.vapor;
|
|
5842
5874
|
return res;
|
|
5843
5875
|
}
|
|
5876
|
+
function isVaporComponent(type) {
|
|
5877
|
+
return type.__vapor;
|
|
5878
|
+
}
|
|
5844
5879
|
function getInheritedScopeIds(vnode, parentComponent) {
|
|
5845
5880
|
const inheritedScopeIds = [];
|
|
5846
5881
|
let currentParent = parentComponent;
|
|
@@ -5864,6 +5899,16 @@ function getInheritedScopeIds(vnode, parentComponent) {
|
|
|
5864
5899
|
}
|
|
5865
5900
|
return inheritedScopeIds;
|
|
5866
5901
|
}
|
|
5902
|
+
function resolveAsyncComponentPlaceholder(anchorVnode) {
|
|
5903
|
+
if (anchorVnode.placeholder) {
|
|
5904
|
+
return anchorVnode.placeholder;
|
|
5905
|
+
}
|
|
5906
|
+
const instance = anchorVnode.component;
|
|
5907
|
+
if (instance) {
|
|
5908
|
+
return resolveAsyncComponentPlaceholder(instance.subTree);
|
|
5909
|
+
}
|
|
5910
|
+
return null;
|
|
5911
|
+
}
|
|
5867
5912
|
|
|
5868
5913
|
const isSuspense = (type) => type.__isSuspense;
|
|
5869
5914
|
let suspenseId = 0;
|
|
@@ -6421,11 +6466,11 @@ function isVNodeSuspensible(vnode) {
|
|
|
6421
6466
|
return suspensible != null && suspensible !== false;
|
|
6422
6467
|
}
|
|
6423
6468
|
|
|
6424
|
-
const Fragment = Symbol.for("v-fgt");
|
|
6425
|
-
const Text = Symbol.for("v-txt");
|
|
6426
|
-
const Comment = Symbol.for("v-cmt");
|
|
6427
|
-
const Static = Symbol.for("v-stc");
|
|
6428
|
-
const VaporSlot = Symbol.for("v-vps");
|
|
6469
|
+
const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
|
|
6470
|
+
const Text = /* @__PURE__ */ Symbol.for("v-txt");
|
|
6471
|
+
const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
|
|
6472
|
+
const Static = /* @__PURE__ */ Symbol.for("v-stc");
|
|
6473
|
+
const VaporSlot = /* @__PURE__ */ Symbol.for("v-vps");
|
|
6429
6474
|
const blockStack = [];
|
|
6430
6475
|
let currentBlock = null;
|
|
6431
6476
|
function openBlock(disableTracking = false) {
|
|
@@ -7149,7 +7194,7 @@ function isMemoSame(cached, memo) {
|
|
|
7149
7194
|
return true;
|
|
7150
7195
|
}
|
|
7151
7196
|
|
|
7152
|
-
const version = "3.6.0-
|
|
7197
|
+
const version = "3.6.0-beta.1";
|
|
7153
7198
|
const warn$1 = shared.NOOP;
|
|
7154
7199
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
7155
7200
|
const devtools = void 0;
|
|
@@ -7217,6 +7262,7 @@ exports.ErrorCodes = ErrorCodes;
|
|
|
7217
7262
|
exports.ErrorTypeStrings = ErrorTypeStrings;
|
|
7218
7263
|
exports.Fragment = Fragment;
|
|
7219
7264
|
exports.KeepAlive = KeepAlive;
|
|
7265
|
+
exports.MoveType = MoveType;
|
|
7220
7266
|
exports.Static = Static;
|
|
7221
7267
|
exports.Suspense = Suspense;
|
|
7222
7268
|
exports.Teleport = Teleport;
|
package/dist/runtime-core.d.ts
CHANGED
|
@@ -209,7 +209,7 @@ export declare function defineProps<TypeProps>(): DefineProps<LooseRequired<Type
|
|
|
209
209
|
export type DefineProps<T, BKeys extends keyof T> = Readonly<T> & {
|
|
210
210
|
readonly [K in BKeys]-?: boolean;
|
|
211
211
|
};
|
|
212
|
-
type BooleanKey<T, K extends keyof T = keyof T> = K extends any ?
|
|
212
|
+
type BooleanKey<T, K extends keyof T = keyof T> = K extends any ? T[K] extends boolean | undefined ? T[K] extends never | undefined ? never : K : never : never;
|
|
213
213
|
/**
|
|
214
214
|
* Vue `<script setup>` compiler macro for declaring a component's emitted
|
|
215
215
|
* events. The expected argument is the same as the component `emits` option.
|
|
@@ -383,7 +383,7 @@ export type EmitsToProps<T extends EmitsOptions | ComponentTypeEmits> = T extend
|
|
|
383
383
|
} : T extends ObjectEmitsOptions ? {
|
|
384
384
|
[K in string & keyof T as `on${Capitalize<K>}`]?: (...args: T[K] extends (...args: infer P) => any ? P : T[K] extends null ? any[] : never) => any;
|
|
385
385
|
} : {};
|
|
386
|
-
type TypeEmitsToOptions<T extends ComponentTypeEmits> = {
|
|
386
|
+
export type TypeEmitsToOptions<T extends ComponentTypeEmits> = {
|
|
387
387
|
[K in keyof T & string]: T[K] extends [...args: infer Args] ? (...args: Args) => any : () => any;
|
|
388
388
|
} & (T extends (...args: any[]) => any ? ParametersToFns<OverloadParameters<T>> : {});
|
|
389
389
|
type ParametersToFns<T extends any[]> = {
|
|
@@ -720,7 +720,7 @@ type UnmountFn = (vnode: VNode, parentComponent: ComponentInternalInstance | nul
|
|
|
720
720
|
type RemoveFn = (vnode: VNode) => void;
|
|
721
721
|
type MountComponentFn = (initialVNode: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, optimized: boolean) => void;
|
|
722
722
|
type UnmountComponentFn = (instance: ComponentInternalInstance, parentSuspense: SuspenseBoundary | null, doRemove?: boolean) => void;
|
|
723
|
-
declare enum MoveType {
|
|
723
|
+
export declare enum MoveType {
|
|
724
724
|
ENTER = 0,
|
|
725
725
|
LEAVE = 1,
|
|
726
726
|
REORDER = 2
|
|
@@ -1782,7 +1782,7 @@ export declare function renderList<T>(source: T, renderItem: <K extends keyof T>
|
|
|
1782
1782
|
* For prefixing keys in v-on="obj" with "on"
|
|
1783
1783
|
* @private
|
|
1784
1784
|
*/
|
|
1785
|
-
export declare function toHandlers(obj: Record<string, any>, preserveCaseIfNecessary?: boolean): Record<string, any>;
|
|
1785
|
+
export declare function toHandlers(obj: Record<string, any>, preserveCaseIfNecessary?: boolean, needWrap?: boolean): Record<string, any>;
|
|
1786
1786
|
|
|
1787
1787
|
/**
|
|
1788
1788
|
* Compiler runtime helper for rendering `<slot/>`
|