@vue/compat 3.6.0-rc.13 → 3.6.0-rc.15
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/README.md +2 -2
- package/dist/vue-compat.d.ts +16 -5
- package/dist/vue.cjs.js +562 -235
- package/dist/vue.cjs.prod.js +463 -188
- package/dist/vue.esm-browser.js +530 -229
- package/dist/vue.esm-browser.prod.js +7 -7
- package/dist/vue.esm-bundler.js +561 -235
- package/dist/vue.global.js +530 -229
- package/dist/vue.global.prod.js +7 -7
- package/dist/vue.runtime.esm-browser.js +530 -229
- package/dist/vue.runtime.esm-browser.prod.js +7 -7
- package/dist/vue.runtime.esm-bundler.js +561 -235
- package/dist/vue.runtime.global.js +530 -229
- package/dist/vue.runtime.global.prod.js +7 -7
- package/package.json +3 -3
package/dist/vue.esm-bundler.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.6.0-rc.
|
|
2
|
+
* @vue/compat v3.6.0-rc.15
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -70,10 +70,18 @@ const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" &
|
|
|
70
70
|
const isReservedProp = /*@__PURE__*/ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
|
|
71
71
|
const isBuiltInTag = /*#__PURE__*/ makeMap("slot,component");
|
|
72
72
|
const isBuiltInDirective = /*@__PURE__*/ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
|
|
73
|
+
const STRING_CACHE_MAX_SIZE = 1e4;
|
|
73
74
|
const cacheStringFunction = (fn) => {
|
|
74
|
-
|
|
75
|
+
let cache = Object.create(null);
|
|
76
|
+
let size = 0;
|
|
75
77
|
return ((str) => {
|
|
76
|
-
|
|
78
|
+
const hit = cache[str];
|
|
79
|
+
if (hit !== void 0) return hit;
|
|
80
|
+
if (++size > STRING_CACHE_MAX_SIZE) {
|
|
81
|
+
cache = Object.create(null);
|
|
82
|
+
size = 1;
|
|
83
|
+
}
|
|
84
|
+
return cache[str] = fn(str);
|
|
77
85
|
});
|
|
78
86
|
};
|
|
79
87
|
const camelizeRE = /-(\w)/g;
|
|
@@ -81,22 +89,22 @@ const camelizeReplacer = (_, c) => c ? c.toUpperCase() : "";
|
|
|
81
89
|
/**
|
|
82
90
|
* @private
|
|
83
91
|
*/
|
|
84
|
-
const camelize = cacheStringFunction((str) => str.replace(camelizeRE, camelizeReplacer));
|
|
92
|
+
const camelize = /*@__PURE__*/ cacheStringFunction((str) => str.replace(camelizeRE, camelizeReplacer));
|
|
85
93
|
const hyphenateRE = /\B([A-Z])/g;
|
|
86
94
|
/**
|
|
87
95
|
* @private
|
|
88
96
|
*/
|
|
89
|
-
const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
|
|
97
|
+
const hyphenate = /*@__PURE__*/ cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
|
|
90
98
|
/**
|
|
91
99
|
* @private
|
|
92
100
|
*/
|
|
93
|
-
const capitalize = cacheStringFunction((str) => {
|
|
101
|
+
const capitalize = /*@__PURE__*/ cacheStringFunction((str) => {
|
|
94
102
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
95
103
|
});
|
|
96
104
|
/**
|
|
97
105
|
* @private
|
|
98
106
|
*/
|
|
99
|
-
const toHandlerKey = cacheStringFunction((str) => {
|
|
107
|
+
const toHandlerKey = /*@__PURE__*/ cacheStringFunction((str) => {
|
|
100
108
|
return str ? `on${capitalize(str)}` : ``;
|
|
101
109
|
});
|
|
102
110
|
/**
|
|
@@ -300,26 +308,11 @@ const isMathMLTag = /*@__PURE__*/ makeMap(MATH_TAGS);
|
|
|
300
308
|
* Do NOT use in runtime code paths unless behind `!!(process.env.NODE_ENV !== 'production')` flag.
|
|
301
309
|
*/
|
|
302
310
|
const isVoidTag = /*@__PURE__*/ makeMap(VOID_TAGS);
|
|
303
|
-
|
|
304
|
-
//#region packages/shared/src/domAttrConfig.ts
|
|
305
|
-
/**
|
|
306
|
-
* On the client we only need to offer special cases for boolean attributes that
|
|
307
|
-
* have different names from their corresponding dom properties:
|
|
308
|
-
* - itemscope -> N/A
|
|
309
|
-
* - allowfullscreen -> allowFullscreen
|
|
310
|
-
* - formnovalidate -> formNoValidate
|
|
311
|
-
* - ismap -> isMap
|
|
312
|
-
* - nomodule -> noModule
|
|
313
|
-
* - novalidate -> noValidate
|
|
314
|
-
* - playsinline -> playsInline
|
|
315
|
-
* - readonly -> readOnly
|
|
316
|
-
*/
|
|
317
|
-
const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`;
|
|
318
|
-
const isSpecialBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs);
|
|
311
|
+
const isSpecialBooleanAttr = /*@__PURE__*/ makeMap("itemscope,allowfullscreen,disablepictureinpicture,disableremoteplayback,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly");
|
|
319
312
|
/**
|
|
320
313
|
* The full list is needed during SSR to produce the correct initial markup.
|
|
321
314
|
*/
|
|
322
|
-
const isBooleanAttr = /*@__PURE__*/ makeMap(
|
|
315
|
+
const isBooleanAttr = /*@__PURE__*/ makeMap("itemscope,allowfullscreen,disablepictureinpicture,disableremoteplayback,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
|
|
323
316
|
/**
|
|
324
317
|
* Boolean attributes should be included if the value is truthy or ''.
|
|
325
318
|
* e.g. `<select multiple>` compiles to `{ multiple: '' }`
|
|
@@ -518,42 +511,30 @@ function normalizeCssVarValue(value) {
|
|
|
518
511
|
return String(value);
|
|
519
512
|
}
|
|
520
513
|
//#endregion
|
|
521
|
-
//#region packages/
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
function
|
|
528
|
-
if (
|
|
529
|
-
|
|
530
|
-
const
|
|
531
|
-
|
|
514
|
+
//#region packages/shared/src/vaporFlags.ts
|
|
515
|
+
/**
|
|
516
|
+
* The data of the comment a vapor server render opens the branch of a `v-if`
|
|
517
|
+
* chain with, `<!--[1-->`: the digits are the branch's position in the chain,
|
|
518
|
+
* and `<!--]-->` closes it like a fragment.
|
|
519
|
+
*/
|
|
520
|
+
function isVaporBranchStart(data) {
|
|
521
|
+
if (data.length < 2 || data.charCodeAt(0) !== 91) return false;
|
|
522
|
+
for (let i = 1; i < data.length; i++) {
|
|
523
|
+
const c = data.charCodeAt(i);
|
|
524
|
+
if (c < 48 || c > 57) return false;
|
|
532
525
|
}
|
|
526
|
+
return true;
|
|
533
527
|
}
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
set(val) {
|
|
541
|
-
if (val && !this._onTrigger) setupFlagsHandler(this);
|
|
542
|
-
this._onTrigger = val;
|
|
543
|
-
}
|
|
544
|
-
});
|
|
528
|
+
/**
|
|
529
|
+
* The data of a comment opening a range only a vapor server render emits:
|
|
530
|
+
* `<!--{-->` around the render of a component, or a v-if branch's.
|
|
531
|
+
*/
|
|
532
|
+
function isVaporRangeStart(data) {
|
|
533
|
+
return data === "{" || isVaporBranchStart(data);
|
|
545
534
|
}
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
get() {
|
|
550
|
-
return target._flags;
|
|
551
|
-
},
|
|
552
|
-
set(value) {
|
|
553
|
-
if (!(target._flags & 48) && !!(value & 48)) onTrigger(this);
|
|
554
|
-
target._flags = value;
|
|
555
|
-
}
|
|
556
|
-
});
|
|
535
|
+
/** The data of the comment closing the range `open` opens. */
|
|
536
|
+
function rangeCloseOf(open) {
|
|
537
|
+
return open === "(" ? ")" : open === "{" ? "}" : "]";
|
|
557
538
|
}
|
|
558
539
|
//#endregion
|
|
559
540
|
//#region packages/reactivity/src/warning.ts
|
|
@@ -565,13 +546,7 @@ function warn$2(msg, ...args) {
|
|
|
565
546
|
const notifyBuffer = [];
|
|
566
547
|
let batchDepth = 0;
|
|
567
548
|
let activeSub = void 0;
|
|
568
|
-
|
|
569
|
-
function incRunDepth() {
|
|
570
|
-
++runDepth;
|
|
571
|
-
}
|
|
572
|
-
function decRunDepth() {
|
|
573
|
-
--runDepth;
|
|
574
|
-
}
|
|
549
|
+
const CHECKING = 512;
|
|
575
550
|
let globalVersion = 0;
|
|
576
551
|
let notifyIndex = 0;
|
|
577
552
|
let notifyBufferLength = 0;
|
|
@@ -620,6 +595,7 @@ function unlink(link, sub = link.sub) {
|
|
|
620
595
|
const nextDep = link.nextDep;
|
|
621
596
|
const nextSub = link.nextSub;
|
|
622
597
|
const prevSub = link.prevSub;
|
|
598
|
+
link.prevDep = link.nextDep = link.prevSub = link.nextSub = void 0;
|
|
623
599
|
if (nextDep !== void 0) nextDep.prevDep = prevDep;
|
|
624
600
|
else sub.depsTail = prevDep;
|
|
625
601
|
if (prevDep !== void 0) prevDep.nextDep = nextDep;
|
|
@@ -627,7 +603,7 @@ function unlink(link, sub = link.sub) {
|
|
|
627
603
|
if (nextSub !== void 0) nextSub.prevSub = prevSub;
|
|
628
604
|
else dep.subsTail = prevSub;
|
|
629
605
|
if (prevSub !== void 0) prevSub.nextSub = nextSub;
|
|
630
|
-
else if ((dep.subs = nextSub) === void 0) {
|
|
606
|
+
else if ((dep.subs = nextSub) === void 0 && dep.flags & 1) {
|
|
631
607
|
let toRemove = dep.deps;
|
|
632
608
|
if (toRemove !== void 0) {
|
|
633
609
|
do
|
|
@@ -645,14 +621,12 @@ function propagate(link) {
|
|
|
645
621
|
const sub = link.sub;
|
|
646
622
|
let flags = sub.flags;
|
|
647
623
|
if (flags & 3) {
|
|
648
|
-
if (!(flags &
|
|
649
|
-
|
|
650
|
-
if (runDepth) sub.flags |= 8;
|
|
651
|
-
} else if (!(flags & 12)) flags = 0;
|
|
624
|
+
if (!(flags & 44)) sub.flags = flags | 32;
|
|
625
|
+
else if (!(flags & 12)) flags = 0;
|
|
652
626
|
else if (!(flags & 4)) sub.flags = flags & -9 | 32;
|
|
653
627
|
else if (!(flags & 48) && isValidLink(link, sub)) {
|
|
654
628
|
sub.flags = flags | 40;
|
|
655
|
-
flags
|
|
629
|
+
flags = sub === activeSub || activeSub === void 0 ? 0 : flags & 1;
|
|
656
630
|
} else flags = 0;
|
|
657
631
|
if (flags & 2) notifyBuffer[notifyBufferLength++] = sub;
|
|
658
632
|
if (flags & 1) {
|
|
@@ -688,7 +662,7 @@ function propagate(link) {
|
|
|
688
662
|
function startTracking(sub) {
|
|
689
663
|
++globalVersion;
|
|
690
664
|
sub.depsTail = void 0;
|
|
691
|
-
sub.flags = sub.flags & -
|
|
665
|
+
sub.flags = sub.flags & -569 | 4;
|
|
692
666
|
return setActiveSub(sub);
|
|
693
667
|
}
|
|
694
668
|
function endTracking(sub, prevSub) {
|
|
@@ -696,8 +670,11 @@ function endTracking(sub, prevSub) {
|
|
|
696
670
|
activeSub = prevSub;
|
|
697
671
|
const depsTail = sub.depsTail;
|
|
698
672
|
let toRemove = depsTail !== void 0 ? depsTail.nextDep : sub.deps;
|
|
699
|
-
while (toRemove !== void 0)
|
|
700
|
-
|
|
673
|
+
while (toRemove !== void 0) {
|
|
674
|
+
unlink(toRemove, sub);
|
|
675
|
+
toRemove = depsTail !== void 0 ? depsTail.nextDep : sub.deps;
|
|
676
|
+
}
|
|
677
|
+
if ((sub.flags &= -5) & 8) markRecursed(sub);
|
|
701
678
|
}
|
|
702
679
|
function flush() {
|
|
703
680
|
let hasError = false;
|
|
@@ -719,45 +696,67 @@ function flush() {
|
|
|
719
696
|
if (hasError) throw error;
|
|
720
697
|
}
|
|
721
698
|
function checkDirty(link, sub) {
|
|
699
|
+
try {
|
|
700
|
+
return walkDirty(link, sub);
|
|
701
|
+
} catch (err) {
|
|
702
|
+
markStale(sub);
|
|
703
|
+
throw err;
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
function walkDirty(link, sub) {
|
|
707
|
+
const root = sub;
|
|
722
708
|
let stack;
|
|
723
709
|
let checkDepth = 0;
|
|
710
|
+
let staleDepth = 0;
|
|
711
|
+
let staleFloor = 0;
|
|
724
712
|
top: do {
|
|
725
713
|
const dep = link.dep;
|
|
726
714
|
const depFlags = dep.flags;
|
|
727
715
|
let dirty = false;
|
|
728
716
|
if (sub.flags & 16) dirty = true;
|
|
729
717
|
else if ((depFlags & 17) === 17) {
|
|
730
|
-
const subs = dep.subs;
|
|
731
718
|
if (dep.update()) {
|
|
732
|
-
|
|
719
|
+
const subs = dep.subs;
|
|
720
|
+
if (subs !== void 0 && (subs !== link || subs.nextSub !== void 0)) shallowPropagate(subs);
|
|
733
721
|
dirty = true;
|
|
734
722
|
}
|
|
735
723
|
} else if ((depFlags & 33) === 33) {
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
724
|
+
const depth = dep === root ? 0 : depFlags & CHECKING ? checkingDepth(dep, stack, checkDepth) : -1;
|
|
725
|
+
if (depth < 0) {
|
|
726
|
+
if (link.nextSub !== void 0 || link.prevSub !== void 0) dep.flags = depFlags | CHECKING;
|
|
727
|
+
stack = {
|
|
728
|
+
value: link,
|
|
729
|
+
prev: stack
|
|
730
|
+
};
|
|
731
|
+
link = dep.deps;
|
|
732
|
+
sub = dep;
|
|
733
|
+
++checkDepth;
|
|
734
|
+
continue;
|
|
735
|
+
}
|
|
736
|
+
if (depth < checkDepth) {
|
|
737
|
+
staleFloor = staleDepth && staleFloor < depth ? staleFloor : depth;
|
|
738
|
+
staleDepth = checkDepth;
|
|
739
|
+
}
|
|
744
740
|
}
|
|
745
741
|
if (!dirty && link.nextDep !== void 0) {
|
|
746
742
|
link = link.nextDep;
|
|
747
743
|
continue;
|
|
748
744
|
}
|
|
749
745
|
while (checkDepth) {
|
|
746
|
+
const stale = checkDepth === staleDepth;
|
|
747
|
+
if (stale && --staleDepth === staleFloor) staleDepth = 0;
|
|
750
748
|
--checkDepth;
|
|
751
749
|
link = stack.value;
|
|
752
750
|
stack = stack.prev;
|
|
753
751
|
if (dirty) {
|
|
754
|
-
const subs = sub.subs;
|
|
755
752
|
if (sub.update()) {
|
|
756
|
-
|
|
753
|
+
const subs = sub.subs;
|
|
754
|
+
if (subs !== void 0 && (subs !== link || subs.nextSub !== void 0)) shallowPropagate(subs);
|
|
757
755
|
sub = link.sub;
|
|
758
756
|
continue;
|
|
759
757
|
}
|
|
760
|
-
} else sub.flags
|
|
758
|
+
} else if (stale) sub.flags = sub.flags & -545 | 16;
|
|
759
|
+
else sub.flags &= -545;
|
|
761
760
|
sub = link.sub;
|
|
762
761
|
if (link.nextDep !== void 0) {
|
|
763
762
|
link = link.nextDep;
|
|
@@ -765,9 +764,21 @@ function checkDirty(link, sub) {
|
|
|
765
764
|
}
|
|
766
765
|
dirty = false;
|
|
767
766
|
}
|
|
768
|
-
return dirty && !!sub.flags;
|
|
767
|
+
return (dirty || !!(sub.flags & 16)) && !!sub.flags;
|
|
769
768
|
} while (true);
|
|
770
769
|
}
|
|
770
|
+
function checkingDepth(dep, stack, depth) {
|
|
771
|
+
for (; stack !== void 0; stack = stack.prev, --depth) if (stack.value.dep === dep) return depth;
|
|
772
|
+
return -1;
|
|
773
|
+
}
|
|
774
|
+
function markStale(sub) {
|
|
775
|
+
const nodes = [sub];
|
|
776
|
+
do {
|
|
777
|
+
sub = nodes.pop();
|
|
778
|
+
sub.flags = sub.flags & -33 | 16;
|
|
779
|
+
for (let link = sub.deps; link !== void 0; link = link.nextDep) if (link.dep.flags & 32) nodes.push(link.dep);
|
|
780
|
+
} while (nodes.length);
|
|
781
|
+
}
|
|
771
782
|
function shallowPropagate(link) {
|
|
772
783
|
do {
|
|
773
784
|
const sub = link.sub;
|
|
@@ -785,6 +796,76 @@ function isValidLink(checkLink, sub) {
|
|
|
785
796
|
}
|
|
786
797
|
return false;
|
|
787
798
|
}
|
|
799
|
+
function markRecursed(sub) {
|
|
800
|
+
const nodes = [sub];
|
|
801
|
+
do {
|
|
802
|
+
sub = nodes.pop();
|
|
803
|
+
for (let link = sub.deps; link !== void 0; link = link.nextDep) {
|
|
804
|
+
const dep = link.dep;
|
|
805
|
+
if ((dep.flags & 40) === 32) {
|
|
806
|
+
dep.flags |= 8;
|
|
807
|
+
nodes.push(dep);
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
} while (nodes.length);
|
|
811
|
+
}
|
|
812
|
+
//#endregion
|
|
813
|
+
//#region packages/reactivity/src/debug.ts
|
|
814
|
+
const triggered = [];
|
|
815
|
+
function onTrack(sub, debugInfo) {
|
|
816
|
+
if (!!!(process.env.NODE_ENV !== "production")) throw new Error(`Internal error: onTrack should be called only in development.`);
|
|
817
|
+
if (sub.onTrack) sub.onTrack(extend({ effect: sub }, debugInfo));
|
|
818
|
+
}
|
|
819
|
+
function onTrigger(sub, debugInfo) {
|
|
820
|
+
if (!!!(process.env.NODE_ENV !== "production")) throw new Error(`Internal error: onTrigger should be called only in development.`);
|
|
821
|
+
if (sub.onTrigger) sub.onTrigger(extend({ effect: sub }, debugInfo));
|
|
822
|
+
}
|
|
823
|
+
function startTrigger() {
|
|
824
|
+
if (!!!(process.env.NODE_ENV !== "production")) throw new Error(`Internal error: startTrigger should be called only in development.`);
|
|
825
|
+
triggered.push([]);
|
|
826
|
+
}
|
|
827
|
+
function endTrigger(debugInfo) {
|
|
828
|
+
if (!!!(process.env.NODE_ENV !== "production")) throw new Error(`Internal error: endTrigger should be called only in development.`);
|
|
829
|
+
const subs = triggered.pop();
|
|
830
|
+
if (subs.length) {
|
|
831
|
+
startBatch();
|
|
832
|
+
try {
|
|
833
|
+
for (let i = 0; i < subs.length; i++) {
|
|
834
|
+
const sub = subs[i];
|
|
835
|
+
if (sub.flags & 3) onTrigger(sub, debugInfo);
|
|
836
|
+
}
|
|
837
|
+
} finally {
|
|
838
|
+
endBatch();
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
function setupOnTrigger(target) {
|
|
843
|
+
if (!!!(process.env.NODE_ENV !== "production")) throw new Error(`Internal error: setupOnTrigger should be called only in development.`);
|
|
844
|
+
Object.defineProperty(target.prototype, "onTrigger", {
|
|
845
|
+
get() {
|
|
846
|
+
return this._onTrigger;
|
|
847
|
+
},
|
|
848
|
+
set(val) {
|
|
849
|
+
if (val && !this._onTrigger) setupFlagsHandler(this);
|
|
850
|
+
this._onTrigger = val;
|
|
851
|
+
}
|
|
852
|
+
});
|
|
853
|
+
}
|
|
854
|
+
function setupFlagsHandler(target) {
|
|
855
|
+
target._flags = target.flags;
|
|
856
|
+
Object.defineProperty(target, "flags", {
|
|
857
|
+
get() {
|
|
858
|
+
return target._flags;
|
|
859
|
+
},
|
|
860
|
+
set(value) {
|
|
861
|
+
if (!(target._flags & 48) && !!(value & 48)) {
|
|
862
|
+
if (triggered.length) triggered[triggered.length - 1].push(this);
|
|
863
|
+
else onTrigger(this);
|
|
864
|
+
}
|
|
865
|
+
target._flags = value;
|
|
866
|
+
}
|
|
867
|
+
});
|
|
868
|
+
}
|
|
788
869
|
//#endregion
|
|
789
870
|
//#region packages/reactivity/src/dep.ts
|
|
790
871
|
var Dep = class {
|
|
@@ -844,20 +925,12 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
844
925
|
if (!depsMap) return;
|
|
845
926
|
const run = (dep) => {
|
|
846
927
|
if (dep !== void 0 && dep.subs !== void 0) {
|
|
847
|
-
if (!!(process.env.NODE_ENV !== "production")) triggerEventInfos.push({
|
|
848
|
-
target,
|
|
849
|
-
type,
|
|
850
|
-
key,
|
|
851
|
-
newValue,
|
|
852
|
-
oldValue,
|
|
853
|
-
oldTarget
|
|
854
|
-
});
|
|
855
928
|
propagate(dep.subs);
|
|
856
929
|
shallowPropagate(dep.subs);
|
|
857
|
-
if (!!(process.env.NODE_ENV !== "production")) triggerEventInfos.pop();
|
|
858
930
|
}
|
|
859
931
|
};
|
|
860
932
|
startBatch();
|
|
933
|
+
if (!!(process.env.NODE_ENV !== "production")) startTrigger();
|
|
861
934
|
if (type === "clear") depsMap.forEach(run);
|
|
862
935
|
else {
|
|
863
936
|
const targetIsArray = isArray(target);
|
|
@@ -887,6 +960,14 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
887
960
|
}
|
|
888
961
|
}
|
|
889
962
|
}
|
|
963
|
+
if (!!(process.env.NODE_ENV !== "production")) endTrigger({
|
|
964
|
+
target,
|
|
965
|
+
type,
|
|
966
|
+
key,
|
|
967
|
+
newValue,
|
|
968
|
+
oldValue,
|
|
969
|
+
oldTarget
|
|
970
|
+
});
|
|
890
971
|
endBatch();
|
|
891
972
|
}
|
|
892
973
|
function getDepFromReactive(object, key) {
|
|
@@ -1101,7 +1182,7 @@ function noTracking(self, method, args = []) {
|
|
|
1101
1182
|
//#endregion
|
|
1102
1183
|
//#region packages/reactivity/src/baseHandlers.ts
|
|
1103
1184
|
const isNonTrackableKeys = /*@__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
|
|
1104
|
-
const builtInSymbols = new Set(/*@__PURE__*/ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
|
|
1185
|
+
const builtInSymbols = /*@__PURE__*/ new Set(/*@__PURE__*/ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
|
|
1105
1186
|
function hasOwnProperty(key) {
|
|
1106
1187
|
if (!isSymbol(key)) key = String(key);
|
|
1107
1188
|
const obj = /* @__PURE__ */ toRaw(this);
|
|
@@ -1685,16 +1766,16 @@ var RefImpl = class {
|
|
|
1685
1766
|
this._value = !useDirectValue && this._wrap ? this._wrap(newValue) : newValue;
|
|
1686
1767
|
const subs = this.subs;
|
|
1687
1768
|
if (subs !== void 0) {
|
|
1688
|
-
if (!!(process.env.NODE_ENV !== "production"))
|
|
1769
|
+
if (!!(process.env.NODE_ENV !== "production")) startTrigger();
|
|
1770
|
+
propagate(subs);
|
|
1771
|
+
if (!!(process.env.NODE_ENV !== "production")) endTrigger({
|
|
1689
1772
|
target: this,
|
|
1690
1773
|
type: "set",
|
|
1691
1774
|
key: "value",
|
|
1692
1775
|
newValue,
|
|
1693
1776
|
oldValue
|
|
1694
1777
|
});
|
|
1695
|
-
propagate(subs);
|
|
1696
1778
|
if (!batchDepth) flush();
|
|
1697
|
-
if (!!(process.env.NODE_ENV !== "production")) triggerEventInfos.pop();
|
|
1698
1779
|
}
|
|
1699
1780
|
}
|
|
1700
1781
|
}
|
|
@@ -1731,8 +1812,10 @@ var RefImpl = class {
|
|
|
1731
1812
|
function triggerRef(ref) {
|
|
1732
1813
|
const dep = ref.dep;
|
|
1733
1814
|
if (dep !== void 0 && dep.subs !== void 0) {
|
|
1815
|
+
if (!!(process.env.NODE_ENV !== "production")) startTrigger();
|
|
1734
1816
|
propagate(dep.subs);
|
|
1735
1817
|
shallowPropagate(dep.subs);
|
|
1818
|
+
if (!!(process.env.NODE_ENV !== "production")) endTrigger();
|
|
1736
1819
|
if (!batchDepth) flush();
|
|
1737
1820
|
}
|
|
1738
1821
|
}
|
|
@@ -1923,6 +2006,10 @@ var ReactiveEffect = class {
|
|
|
1923
2006
|
get active() {
|
|
1924
2007
|
return !(this.flags & 1024);
|
|
1925
2008
|
}
|
|
2009
|
+
/** @internal */
|
|
2010
|
+
get running() {
|
|
2011
|
+
return !!(this.flags & 4);
|
|
2012
|
+
}
|
|
1926
2013
|
pause() {
|
|
1927
2014
|
this.flags |= 256;
|
|
1928
2015
|
}
|
|
@@ -1936,11 +2023,9 @@ var ReactiveEffect = class {
|
|
|
1936
2023
|
if (!this.active) return this.fn();
|
|
1937
2024
|
cleanup(this);
|
|
1938
2025
|
const prevSub = startTracking(this);
|
|
1939
|
-
incRunDepth();
|
|
1940
2026
|
try {
|
|
1941
2027
|
return this.fn();
|
|
1942
2028
|
} finally {
|
|
1943
|
-
decRunDepth();
|
|
1944
2029
|
endTracking(this, prevSub);
|
|
1945
2030
|
const flags = this.flags;
|
|
1946
2031
|
if ((flags & 136) === 136) {
|
|
@@ -1963,9 +2048,9 @@ var ReactiveEffect = class {
|
|
|
1963
2048
|
if (flags & 16) return true;
|
|
1964
2049
|
if (flags & 32) {
|
|
1965
2050
|
if (checkDirty(this.deps, this)) {
|
|
1966
|
-
this.
|
|
2051
|
+
if (this.active) this.flags |= 16;
|
|
1967
2052
|
return true;
|
|
1968
|
-
} else this.flags
|
|
2053
|
+
} else this.flags &= -33;
|
|
1969
2054
|
}
|
|
1970
2055
|
return false;
|
|
1971
2056
|
}
|
|
@@ -1977,20 +2062,19 @@ function effect(fn, options) {
|
|
|
1977
2062
|
if (options) {
|
|
1978
2063
|
const { onStop, scheduler } = options;
|
|
1979
2064
|
if (onStop) {
|
|
1980
|
-
options.onStop = void 0;
|
|
1981
2065
|
const stop = e.stop.bind(e);
|
|
1982
2066
|
e.stop = () => {
|
|
1983
2067
|
stop();
|
|
1984
2068
|
onStop();
|
|
1985
2069
|
};
|
|
1986
2070
|
}
|
|
1987
|
-
if (scheduler) {
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
2071
|
+
if (scheduler) e.notify = () => {
|
|
2072
|
+
if (!(e.flags & 1280)) scheduler();
|
|
2073
|
+
};
|
|
2074
|
+
if (!!(process.env.NODE_ENV !== "production")) {
|
|
2075
|
+
e.onTrack = options.onTrack;
|
|
2076
|
+
e.onTrigger = options.onTrigger;
|
|
1992
2077
|
}
|
|
1993
|
-
extend(e, options);
|
|
1994
2078
|
}
|
|
1995
2079
|
try {
|
|
1996
2080
|
e.run();
|
|
@@ -2050,8 +2134,10 @@ var EffectScope = class {
|
|
|
2050
2134
|
const flags = this.flags;
|
|
2051
2135
|
if (flags & 256) {
|
|
2052
2136
|
this.flags = flags & -257;
|
|
2053
|
-
|
|
2054
|
-
|
|
2137
|
+
const deps = [];
|
|
2138
|
+
for (let link = this.deps; link !== void 0; link = link.nextDep) deps.push(link.dep);
|
|
2139
|
+
for (let i = 0; i < deps.length; i++) {
|
|
2140
|
+
const dep = deps[i];
|
|
2055
2141
|
if ("resume" in dep) dep.resume();
|
|
2056
2142
|
}
|
|
2057
2143
|
}
|
|
@@ -2080,8 +2166,10 @@ var EffectScope = class {
|
|
|
2080
2166
|
while (dep !== void 0) {
|
|
2081
2167
|
const node = dep.dep;
|
|
2082
2168
|
if ("stop" in node) {
|
|
2083
|
-
|
|
2169
|
+
const prev = dep.prevDep;
|
|
2084
2170
|
node.stop();
|
|
2171
|
+
const next = prev !== void 0 ? prev.nextDep : this.deps;
|
|
2172
|
+
dep = next === dep ? dep.nextDep : next;
|
|
2085
2173
|
} else dep = unlink(dep, this);
|
|
2086
2174
|
}
|
|
2087
2175
|
cleanup(this);
|
|
@@ -2122,11 +2210,14 @@ function setCurrentScope(scope) {
|
|
|
2122
2210
|
* @see {@link https://vuejs.org/api/reactivity-advanced.html#onscopedispose}
|
|
2123
2211
|
*/
|
|
2124
2212
|
function onScopeDispose(fn, failSilently = false) {
|
|
2125
|
-
if (activeEffectScope !== void 0)
|
|
2126
|
-
|
|
2213
|
+
if (activeEffectScope !== void 0) {
|
|
2214
|
+
if (activeEffectScope.active) activeEffectScope.cleanups[activeEffectScope.cleanupsLength++] = fn;
|
|
2215
|
+
else fn();
|
|
2216
|
+
} else if (!!(process.env.NODE_ENV !== "production") && !failSilently) warn$2("onScopeDispose() is called when there is no active effect scope to be associated with.");
|
|
2127
2217
|
}
|
|
2128
2218
|
//#endregion
|
|
2129
2219
|
//#region packages/reactivity/src/computed.ts
|
|
2220
|
+
const FAILED = 64;
|
|
2130
2221
|
/**
|
|
2131
2222
|
* @private exported by @vue/reactivity for Vue core use, but not exported from
|
|
2132
2223
|
* the main vue package
|
|
@@ -2175,12 +2266,24 @@ var ComputedRefImpl = class {
|
|
|
2175
2266
|
}
|
|
2176
2267
|
get value() {
|
|
2177
2268
|
const flags = this.flags;
|
|
2178
|
-
|
|
2179
|
-
if (this.
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2269
|
+
try {
|
|
2270
|
+
if (flags & 16 || flags & 32 && checkDirty(this.deps, this)) {
|
|
2271
|
+
if (this.update()) {
|
|
2272
|
+
const subs = this.subs;
|
|
2273
|
+
if (subs !== void 0) shallowPropagate(subs);
|
|
2274
|
+
}
|
|
2275
|
+
} else if (flags & 32) this.flags = flags & -33;
|
|
2276
|
+
} catch (err) {
|
|
2277
|
+
if (activeSub !== void 0) {
|
|
2278
|
+
if (!!(process.env.NODE_ENV !== "production")) onTrack(activeSub, {
|
|
2279
|
+
target: this,
|
|
2280
|
+
type: "get",
|
|
2281
|
+
key: "value"
|
|
2282
|
+
});
|
|
2283
|
+
link(this, activeSub);
|
|
2284
|
+
} else if (activeEffectScope !== void 0) link(this, activeEffectScope);
|
|
2285
|
+
throw err;
|
|
2286
|
+
}
|
|
2184
2287
|
if (activeSub !== void 0) {
|
|
2185
2288
|
if (!!(process.env.NODE_ENV !== "production")) onTrack(activeSub, {
|
|
2186
2289
|
target: this,
|
|
@@ -2188,7 +2291,18 @@ var ComputedRefImpl = class {
|
|
|
2188
2291
|
key: "value"
|
|
2189
2292
|
});
|
|
2190
2293
|
link(this, activeSub);
|
|
2191
|
-
} else if (activeEffectScope !== void 0)
|
|
2294
|
+
} else if (activeEffectScope !== void 0) {
|
|
2295
|
+
if (activeEffectScope.active) link(this, activeEffectScope);
|
|
2296
|
+
else if (this.subs === void 0) {
|
|
2297
|
+
let dep = this.deps;
|
|
2298
|
+
if (dep !== void 0) {
|
|
2299
|
+
do
|
|
2300
|
+
dep = unlink(dep, this);
|
|
2301
|
+
while (dep !== void 0);
|
|
2302
|
+
this.flags |= 16;
|
|
2303
|
+
}
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2192
2306
|
return this._value;
|
|
2193
2307
|
}
|
|
2194
2308
|
set value(newValue) {
|
|
@@ -2200,11 +2314,15 @@ var ComputedRefImpl = class {
|
|
|
2200
2314
|
try {
|
|
2201
2315
|
const oldValue = this._value;
|
|
2202
2316
|
const newValue = this.fn(oldValue);
|
|
2203
|
-
if (hasChanged(oldValue, newValue)) {
|
|
2317
|
+
if (hasChanged(oldValue, newValue) || this.flags & FAILED) {
|
|
2204
2318
|
this._value = newValue;
|
|
2319
|
+
this.flags &= -65;
|
|
2205
2320
|
return true;
|
|
2206
2321
|
}
|
|
2207
2322
|
return false;
|
|
2323
|
+
} catch (err) {
|
|
2324
|
+
this.flags |= FAILED;
|
|
2325
|
+
throw err;
|
|
2208
2326
|
} finally {
|
|
2209
2327
|
endTracking(this, prevSub);
|
|
2210
2328
|
}
|
|
@@ -2225,6 +2343,7 @@ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
|
|
|
2225
2343
|
cRef.onTrack = debugOptions.onTrack;
|
|
2226
2344
|
cRef.onTrigger = debugOptions.onTrigger;
|
|
2227
2345
|
}
|
|
2346
|
+
if (isSSR && activeEffectScope !== void 0) link(cRef, activeEffectScope);
|
|
2228
2347
|
return cRef;
|
|
2229
2348
|
}
|
|
2230
2349
|
//#endregion
|
|
@@ -2598,7 +2717,7 @@ function callWithAsyncErrorHandling(fn, instance, type, args) {
|
|
|
2598
2717
|
if (isFunction(fn)) {
|
|
2599
2718
|
const res = callWithErrorHandling(fn, instance, type, args);
|
|
2600
2719
|
if (res && isPromise(res)) res.catch((err) => {
|
|
2601
|
-
handleError(err, instance, type);
|
|
2720
|
+
handleError(err, instance, type, void 0, true);
|
|
2602
2721
|
});
|
|
2603
2722
|
return res;
|
|
2604
2723
|
}
|
|
@@ -2608,7 +2727,7 @@ function callWithAsyncErrorHandling(fn, instance, type, args) {
|
|
|
2608
2727
|
return values;
|
|
2609
2728
|
} else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`);
|
|
2610
2729
|
}
|
|
2611
|
-
function handleError(err, instance, type, throwInDev = true) {
|
|
2730
|
+
function handleError(err, instance, type, throwInDev = true, isAsyncError = false) {
|
|
2612
2731
|
const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;
|
|
2613
2732
|
if (instance) {
|
|
2614
2733
|
let cur = instance.parent;
|
|
@@ -2616,7 +2735,7 @@ function handleError(err, instance, type, throwInDev = true) {
|
|
|
2616
2735
|
const errorInfo = !!(process.env.NODE_ENV !== "production") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;
|
|
2617
2736
|
while (cur) {
|
|
2618
2737
|
const errorCapturedHooks = cur.ec;
|
|
2619
|
-
if (errorCapturedHooks) {
|
|
2738
|
+
if (errorCapturedHooks && !cur.isUnmounted && (!isAsyncError || cur.scope.active)) {
|
|
2620
2739
|
for (let i = 0; i < errorCapturedHooks.length; i++) if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) return;
|
|
2621
2740
|
}
|
|
2622
2741
|
cur = cur.parent;
|
|
@@ -2655,7 +2774,9 @@ const SchedulerJobFlags = {
|
|
|
2655
2774
|
"DISPOSED": 4,
|
|
2656
2775
|
"4": "DISPOSED",
|
|
2657
2776
|
"REQUEUE_ON_SUSPENSE_DISCARD": 8,
|
|
2658
|
-
"8": "REQUEUE_ON_SUSPENSE_DISCARD"
|
|
2777
|
+
"8": "REQUEUE_ON_SUSPENSE_DISCARD",
|
|
2778
|
+
"FLUSH_ON_SUSPENSE_RESOLVE": 16,
|
|
2779
|
+
"16": "FLUSH_ON_SUSPENSE_RESOLVE"
|
|
2659
2780
|
};
|
|
2660
2781
|
const jobs = [];
|
|
2661
2782
|
let postJobs = [];
|
|
@@ -2932,7 +3053,11 @@ function reload(id, newComp) {
|
|
|
2932
3053
|
updateComponentDef(record.initialDef, newComp);
|
|
2933
3054
|
const instances = [...record.instances];
|
|
2934
3055
|
if (isVapor && newComp.__vapor && !instances.some((instance) => instance.parent && !instance.parent.vapor) && !instances.some((i) => i.ceReload)) {
|
|
2935
|
-
for (const instance of instances)
|
|
3056
|
+
for (const instance of instances) {
|
|
3057
|
+
if (instance.root && instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(instance.type);
|
|
3058
|
+
const oldComp = normalizeClassComponent(instance.type);
|
|
3059
|
+
if (oldComp !== record.initialDef) updateComponentDef(oldComp, newComp);
|
|
3060
|
+
}
|
|
2936
3061
|
const dirtyInstances = new Set(instances);
|
|
2937
3062
|
const rerenderedParents = /* @__PURE__ */ new Set();
|
|
2938
3063
|
runWithHmrUpdating(() => {
|
|
@@ -2973,7 +3098,25 @@ function reload(id, newComp) {
|
|
|
2973
3098
|
if (instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(oldComp);
|
|
2974
3099
|
}
|
|
2975
3100
|
parents.forEach((parent) => {
|
|
2976
|
-
|
|
3101
|
+
const children = instances.filter((instance) => instance.parent === parent);
|
|
3102
|
+
const update = () => {
|
|
3103
|
+
if (!parent.scope.active) return;
|
|
3104
|
+
const activeChildren = children.filter((instance) => instance.scope.active);
|
|
3105
|
+
if (!activeChildren.length) return;
|
|
3106
|
+
const pending = activeChildren.find((instance) => instance.asyncDep && !instance.asyncResolved) || locateUnresolvedAsyncRoot(parent);
|
|
3107
|
+
if (pending) {
|
|
3108
|
+
pending.asyncDep.catch(NOOP).then(() => {
|
|
3109
|
+
if (parent.scope.active && (pending.asyncResolved || !pending.scope.active)) queueJob(update);
|
|
3110
|
+
});
|
|
3111
|
+
return;
|
|
3112
|
+
}
|
|
3113
|
+
for (const instance of activeChildren) {
|
|
3114
|
+
const oldComp = normalizeClassComponent(instance.type);
|
|
3115
|
+
let dirtyInstances = hmrDirtyComponents.get(oldComp);
|
|
3116
|
+
if (!dirtyInstances) hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());
|
|
3117
|
+
dirtyInstances.add(instance);
|
|
3118
|
+
hmrDirtyComponentsMode.set(oldComp, !!isVapor);
|
|
3119
|
+
}
|
|
2977
3120
|
runWithHmrUpdating(() => {
|
|
2978
3121
|
if (parent.vapor) parent.hmrRerender();
|
|
2979
3122
|
else {
|
|
@@ -2984,7 +3127,12 @@ function reload(id, newComp) {
|
|
|
2984
3127
|
}
|
|
2985
3128
|
}
|
|
2986
3129
|
});
|
|
2987
|
-
|
|
3130
|
+
queuePostFlushCb(() => {
|
|
3131
|
+
hmrDirtyComponents.clear();
|
|
3132
|
+
hmrDirtyComponentsMode.clear();
|
|
3133
|
+
});
|
|
3134
|
+
};
|
|
3135
|
+
queueJob(update);
|
|
2988
3136
|
});
|
|
2989
3137
|
}
|
|
2990
3138
|
queuePostFlushCb(() => {
|
|
@@ -3534,11 +3682,28 @@ function withDirectives(vnode, directives) {
|
|
|
3534
3682
|
return vnode;
|
|
3535
3683
|
}
|
|
3536
3684
|
function invokeDirectiveHook(vnode, prevVNode, instance, name) {
|
|
3537
|
-
|
|
3685
|
+
let hookVNode = vnode;
|
|
3686
|
+
if (name === "beforeMount") vnode._mount = vnode;
|
|
3687
|
+
else if (name === "beforeUpdate") {
|
|
3688
|
+
const mount = prevVNode && prevVNode._mount;
|
|
3689
|
+
if (mount) {
|
|
3690
|
+
mount._latest = vnode;
|
|
3691
|
+
vnode._mount = mount;
|
|
3692
|
+
}
|
|
3693
|
+
} else if (name === "mounted") {
|
|
3694
|
+
const latest = vnode._latest;
|
|
3695
|
+
vnode._mount = vnode._latest = void 0;
|
|
3696
|
+
if (latest) {
|
|
3697
|
+
hookVNode = latest;
|
|
3698
|
+
latest._mount = void 0;
|
|
3699
|
+
}
|
|
3700
|
+
}
|
|
3701
|
+
const bindings = hookVNode.dirs;
|
|
3538
3702
|
const oldBindings = prevVNode && prevVNode.dirs;
|
|
3539
3703
|
for (let i = 0; i < bindings.length; i++) {
|
|
3540
|
-
|
|
3704
|
+
let binding = bindings[i];
|
|
3541
3705
|
if (oldBindings) binding.oldValue = oldBindings[i].value;
|
|
3706
|
+
else if (name === "mounted" && binding.oldValue !== void 0) binding = extend({}, binding, { oldValue: void 0 });
|
|
3542
3707
|
let hook = binding.dir[name];
|
|
3543
3708
|
if (!hook) hook = mapCompatDirectiveHook(name, binding.dir, instance);
|
|
3544
3709
|
if (hook) {
|
|
@@ -3546,7 +3711,7 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
|
|
|
3546
3711
|
callWithAsyncErrorHandling(hook, instance, 8, [
|
|
3547
3712
|
vnode.el,
|
|
3548
3713
|
binding,
|
|
3549
|
-
|
|
3714
|
+
hookVNode,
|
|
3550
3715
|
prevVNode
|
|
3551
3716
|
]);
|
|
3552
3717
|
setActiveSub(prevSub);
|
|
@@ -3991,7 +4156,15 @@ const BaseTransitionImpl = {
|
|
|
3991
4156
|
const { mode } = rawProps;
|
|
3992
4157
|
checkTransitionMode(mode);
|
|
3993
4158
|
return prepareTransitionSwitch(instance.subTree, child, rawProps, state, instance, mode === "out-in" ? resumeAfterLeave || (resumeAfterLeave = () => {
|
|
3994
|
-
if (!(instance.effect.flags & 1024))
|
|
4159
|
+
if (!(instance.effect.flags & 1024)) {
|
|
4160
|
+
if (instance.effect.running) {
|
|
4161
|
+
const job = () => {
|
|
4162
|
+
if (!(instance.effect.flags & 1024)) instance.update();
|
|
4163
|
+
};
|
|
4164
|
+
job.i = instance;
|
|
4165
|
+
queueJob(job);
|
|
4166
|
+
} else instance.update();
|
|
4167
|
+
}
|
|
3995
4168
|
}) : NOOP);
|
|
3996
4169
|
};
|
|
3997
4170
|
}
|
|
@@ -4023,7 +4196,7 @@ function getLeavingNodesForType(state, vnode) {
|
|
|
4023
4196
|
}
|
|
4024
4197
|
return leavingVNodesCache;
|
|
4025
4198
|
}
|
|
4026
|
-
function resolveTransitionHooks(vnode, props, state, instance
|
|
4199
|
+
function resolveTransitionHooks(vnode, props, state, instance) {
|
|
4027
4200
|
const key = String(vnode.key);
|
|
4028
4201
|
const leavingVNodesCache = getLeavingNodesForType(state, vnode);
|
|
4029
4202
|
const hooks = baseResolveTransitionHooks({
|
|
@@ -4046,9 +4219,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4046
4219
|
}
|
|
4047
4220
|
},
|
|
4048
4221
|
cloneHooks: (vnode) => {
|
|
4049
|
-
|
|
4050
|
-
if (postClone) postClone(hooks);
|
|
4051
|
-
return hooks;
|
|
4222
|
+
return resolveTransitionHooks(vnode, props, state, instance);
|
|
4052
4223
|
}
|
|
4053
4224
|
}, props, state, instance);
|
|
4054
4225
|
if (isVaporInteropEnabled && vnode.type === VaporSlot) extend(hooks, {
|
|
@@ -4086,7 +4257,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
|
|
|
4086
4257
|
callHook(hook, [el]);
|
|
4087
4258
|
},
|
|
4088
4259
|
enter(el) {
|
|
4089
|
-
if (!isHmrUpdating && isLeaving()) return;
|
|
4260
|
+
if (!isHmrUpdating && isLeaving(el)) return;
|
|
4090
4261
|
let hook = onEnter;
|
|
4091
4262
|
let afterHook = onAfterEnter;
|
|
4092
4263
|
let cancelHook = onEnterCancelled;
|
|
@@ -4130,7 +4301,19 @@ function baseResolveTransitionHooks(context, props, state, instance) {
|
|
|
4130
4301
|
else done();
|
|
4131
4302
|
},
|
|
4132
4303
|
clone(node) {
|
|
4133
|
-
|
|
4304
|
+
if (!cloneHooks) return hooks;
|
|
4305
|
+
const cloned = cloneHooks(node);
|
|
4306
|
+
cloned.afterLeave = () => {
|
|
4307
|
+
if (hooks.afterLeave) hooks.afterLeave();
|
|
4308
|
+
};
|
|
4309
|
+
cloned.delayLeave = (el, earlyRemove, delayedLeave) => {
|
|
4310
|
+
if (hooks.delayLeave) hooks.delayLeave(el, earlyRemove, delayedLeave);
|
|
4311
|
+
else delayedLeave();
|
|
4312
|
+
};
|
|
4313
|
+
cloned.delayedLeave = () => {
|
|
4314
|
+
if (hooks.delayedLeave) hooks.delayedLeave();
|
|
4315
|
+
};
|
|
4316
|
+
return cloned;
|
|
4134
4317
|
}
|
|
4135
4318
|
};
|
|
4136
4319
|
return hooks;
|
|
@@ -4165,10 +4348,7 @@ function prepareTransitionSwitch(previous, next, props, state, instance, resumeA
|
|
|
4165
4348
|
if (state.isLeaving) return emptyPlaceholder(next);
|
|
4166
4349
|
const nextInner = getInnerChild$1(next);
|
|
4167
4350
|
if (!nextInner) return emptyPlaceholder(next);
|
|
4168
|
-
|
|
4169
|
-
if (delayedLeaveSource) forwardDelayedLeave(hooks, delayedLeaveSource);
|
|
4170
|
-
enterHooks = hooks;
|
|
4171
|
-
});
|
|
4351
|
+
const enterHooks = resolveTransitionHooks(nextInner, props, state, instance);
|
|
4172
4352
|
if (delayedLeaveSource) forwardDelayedLeave(enterHooks, delayedLeaveSource);
|
|
4173
4353
|
if (nextInner.type !== Comment) setTransitionHooks(nextInner, enterHooks);
|
|
4174
4354
|
const mode = props.mode;
|
|
@@ -4252,9 +4432,14 @@ function setTransitionHooks(vnode, hooks) {
|
|
|
4252
4432
|
return setTransitionHooks(isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree, hooks);
|
|
4253
4433
|
}
|
|
4254
4434
|
} else if (vnode.shapeFlag & 128) {
|
|
4255
|
-
const
|
|
4256
|
-
|
|
4257
|
-
|
|
4435
|
+
const suspense = vnode.suspense;
|
|
4436
|
+
if (suspense) {
|
|
4437
|
+
const branch = suspense.isHydrating ? suspense.pendingBranch : suspense.activeBranch;
|
|
4438
|
+
if (branch) return setTransitionHooks(branch, hooks.clone(branch));
|
|
4439
|
+
} else {
|
|
4440
|
+
vnode.ssContent.transition = hooks.clone(vnode.ssContent);
|
|
4441
|
+
vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
|
|
4442
|
+
}
|
|
4258
4443
|
} else {
|
|
4259
4444
|
vnode.transition = hooks;
|
|
4260
4445
|
if (vnode.type === Fragment && isArray(vnode.children)) {
|
|
@@ -4481,6 +4666,8 @@ const getContainerType = (container) => {
|
|
|
4481
4666
|
if (isMathMLContainer(container)) return "mathml";
|
|
4482
4667
|
};
|
|
4483
4668
|
const isComment = (node) => node.nodeType === 8;
|
|
4669
|
+
/** The data of a comment opening a range a hydration steps over as one. */
|
|
4670
|
+
const isRangeStart = (data) => data === "[" || data === "(" || isVaporRangeStart(data);
|
|
4484
4671
|
function createHydrationFunctions(rendererInternals) {
|
|
4485
4672
|
const { mt: mountComponent, p: patch, o: { patchProp, createText, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;
|
|
4486
4673
|
const hydrate = (vnode, container) => {
|
|
@@ -4500,7 +4687,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4500
4687
|
};
|
|
4501
4688
|
const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {
|
|
4502
4689
|
optimized = optimized || !!vnode.dynamicChildren;
|
|
4503
|
-
const isFragmentStart = isComment(node) && (node.data === "[" || node.data === "(");
|
|
4690
|
+
const isFragmentStart = isComment(node) && (node.data === "[" || node.data === "(" || isVaporInteropEnabled && isVaporRangeStart(node.data));
|
|
4504
4691
|
const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);
|
|
4505
4692
|
const { type, ref, shapeFlag, patchFlag } = vnode;
|
|
4506
4693
|
let domType = node.nodeType;
|
|
@@ -4695,16 +4882,17 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4695
4882
|
const container = parentNode(node);
|
|
4696
4883
|
const first = nextSibling(node);
|
|
4697
4884
|
const next = isVaporInteropEnabled && vnode.vo && node.data === "(" ? getVaporInterface(parentComponent, vnode).hydrateSlotOutlet(vnode, node, parentComponent, parentSuspense, slotScopeIds) : hydrateChildren(first, vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
4698
|
-
|
|
4885
|
+
const close = isVaporInteropEnabled ? rangeCloseOf(node.data) : node.data === "(" ? ")" : "]";
|
|
4886
|
+
if (next && isComment(next) && next.data === close) return nextSibling(vnode.anchor = next);
|
|
4699
4887
|
else {
|
|
4700
4888
|
logMismatchError();
|
|
4701
|
-
insert(vnode.anchor = createComment(
|
|
4889
|
+
insert(vnode.anchor = createComment(close), container, next);
|
|
4702
4890
|
return next;
|
|
4703
4891
|
}
|
|
4704
4892
|
};
|
|
4705
4893
|
const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
|
|
4706
4894
|
if (!isNodeMismatchAllowed(node, vnode)) {
|
|
4707
|
-
(process.env.NODE_ENV !== "production" || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(`Hydration node mismatch:\n- rendered on server:`, node, node.nodeType === 3 ? `(text)` : isComment(node) && (node.data
|
|
4895
|
+
(process.env.NODE_ENV !== "production" || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(`Hydration node mismatch:\n- rendered on server:`, node, node.nodeType === 3 ? `(text)` : isComment(node) && isRangeStart(node.data) ? `(start of fragment)` : ``, `\n- expected on client:`, vnode.type);
|
|
4708
4896
|
logMismatchError();
|
|
4709
4897
|
}
|
|
4710
4898
|
vnode.el = null;
|
|
@@ -4720,18 +4908,18 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4720
4908
|
const container = parentNode(node);
|
|
4721
4909
|
remove(node);
|
|
4722
4910
|
patch(null, vnode, container, next, parentComponent, parentSuspense, getContainerType(container), slotScopeIds);
|
|
4723
|
-
if (parentComponent && parentComponent.vnode) {
|
|
4911
|
+
if (parentComponent && parentComponent.vnode && parentComponent.vnode.el === node) {
|
|
4724
4912
|
parentComponent.vnode.el = vnode.el;
|
|
4725
4913
|
updateHOCHostEl(parentComponent, vnode.el);
|
|
4726
4914
|
}
|
|
4727
4915
|
return next;
|
|
4728
4916
|
};
|
|
4729
|
-
const locateClosingAnchor = (node, open = node && isComment(node) && node.data === "("
|
|
4917
|
+
const locateClosingAnchor = (node, open = node && isComment(node) && (node.data === "(" || isVaporInteropEnabled && node.data === "{") ? node.data : "[", close = isVaporInteropEnabled ? rangeCloseOf(open) : open === "(" ? ")" : "]") => {
|
|
4730
4918
|
let match = 0;
|
|
4731
4919
|
while (node) {
|
|
4732
4920
|
node = nextSibling(node);
|
|
4733
4921
|
if (node && isComment(node)) {
|
|
4734
|
-
if (node.data === open) match++;
|
|
4922
|
+
if (node.data === open || isVaporInteropEnabled && open === "[" && isVaporBranchStart(node.data)) match++;
|
|
4735
4923
|
if (node.data === close) {
|
|
4736
4924
|
if (match === 0) return nextSibling(node);
|
|
4737
4925
|
else match--;
|
|
@@ -4999,9 +5187,9 @@ const hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {
|
|
|
4999
5187
|
return teardown;
|
|
5000
5188
|
};
|
|
5001
5189
|
function forEachElement(node, cb) {
|
|
5002
|
-
if (isComment(node) && (node.data
|
|
5190
|
+
if (isComment(node) && isRangeStart(node.data)) {
|
|
5003
5191
|
const open = node.data;
|
|
5004
|
-
const close = open
|
|
5192
|
+
const close = rangeCloseOf(open);
|
|
5005
5193
|
let depth = 1;
|
|
5006
5194
|
let next = node.nextSibling;
|
|
5007
5195
|
while (next) {
|
|
@@ -5010,7 +5198,7 @@ function forEachElement(node, cb) {
|
|
|
5010
5198
|
} else if (isComment(next)) {
|
|
5011
5199
|
if (next.data === close) {
|
|
5012
5200
|
if (--depth === 0) break;
|
|
5013
|
-
} else if (next.data === open) depth++;
|
|
5201
|
+
} else if (close === "]" ? next.data === "[" || isVaporBranchStart(next.data) : next.data === open) depth++;
|
|
5014
5202
|
}
|
|
5015
5203
|
next = next.nextSibling;
|
|
5016
5204
|
}
|
|
@@ -5038,7 +5226,7 @@ function defineAsyncComponent(source) {
|
|
|
5038
5226
|
if (resolvedComp) return () => createInnerComp(resolvedComp, instance);
|
|
5039
5227
|
const onError = (err) => {
|
|
5040
5228
|
setPendingRequest(null);
|
|
5041
|
-
handleError(err, instance, 13, !errorComponent);
|
|
5229
|
+
handleError(err, instance, 13, !errorComponent, true);
|
|
5042
5230
|
};
|
|
5043
5231
|
if (suspensible && instance.suspense || isInSSRComponentSetup) return load().then((comp) => {
|
|
5044
5232
|
return () => createInnerComp(comp, instance);
|
|
@@ -5119,10 +5307,12 @@ const useAsyncComponentState = (delay = 200, timeout, onError, instance = curren
|
|
|
5119
5307
|
const delayed = /* @__PURE__ */ ref(!!delay);
|
|
5120
5308
|
let timeoutTimer;
|
|
5121
5309
|
let delayTimer;
|
|
5122
|
-
if (instance)
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
|
|
5310
|
+
if (instance) instance.scope.run(() => {
|
|
5311
|
+
onScopeDispose(() => {
|
|
5312
|
+
if (timeoutTimer != null) clearTimeout(timeoutTimer);
|
|
5313
|
+
if (delayTimer != null) clearTimeout(delayTimer);
|
|
5314
|
+
});
|
|
5315
|
+
});
|
|
5126
5316
|
if (delay) delayTimer = setTimeout(() => {
|
|
5127
5317
|
if (instance && instance.isUnmounted) return;
|
|
5128
5318
|
delayed.value = false;
|
|
@@ -5157,7 +5347,12 @@ function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydra
|
|
|
5157
5347
|
}
|
|
5158
5348
|
return;
|
|
5159
5349
|
}
|
|
5160
|
-
if (!el.parentNode
|
|
5350
|
+
if (!el.parentNode) return;
|
|
5351
|
+
if (wasConnected && !el.isConnected) {
|
|
5352
|
+
let current = instance;
|
|
5353
|
+
while (current && !current.isDeactivated) current = current.parent;
|
|
5354
|
+
if (!current) return;
|
|
5355
|
+
}
|
|
5161
5356
|
hydrate();
|
|
5162
5357
|
};
|
|
5163
5358
|
const doHydrate = hydrateStrategy ? () => {
|
|
@@ -5215,7 +5410,11 @@ const KeepAliveImpl = {
|
|
|
5215
5410
|
activate(vnode, container, anchor, renderer, keepAliveInstance, parentSuspense, namespace, optimized);
|
|
5216
5411
|
};
|
|
5217
5412
|
sharedContext.deactivate = (vnode) => {
|
|
5218
|
-
|
|
5413
|
+
const cached = sharedContext.getCachedComponent(vnode);
|
|
5414
|
+
if (!cached || cached.component !== vnode.component) return false;
|
|
5415
|
+
if (isVaporInteropEnabled && isVaporComponent(vnode.type)) getVaporInterface(keepAliveInstance, vnode).deactivate(vnode, storageContainer, parentSuspense);
|
|
5416
|
+
else deactivate(vnode, storageContainer, renderer, keepAliveInstance, parentSuspense);
|
|
5417
|
+
return true;
|
|
5219
5418
|
};
|
|
5220
5419
|
function unmount(vnode) {
|
|
5221
5420
|
resetShapeFlag(vnode);
|
|
@@ -5247,11 +5446,15 @@ const KeepAliveImpl = {
|
|
|
5247
5446
|
let pendingCacheKey = null;
|
|
5248
5447
|
const cacheSubtree = () => {
|
|
5249
5448
|
if (pendingCacheKey != null) {
|
|
5250
|
-
if (isSuspense(keepAliveInstance.subTree.type))
|
|
5251
|
-
const
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
|
|
5449
|
+
if (isSuspense(keepAliveInstance.subTree.type)) {
|
|
5450
|
+
const cacheInnerChild = () => {
|
|
5451
|
+
const vnode = getInnerChild(keepAliveInstance.subTree);
|
|
5452
|
+
if (vnode.component) cache.set(pendingCacheKey, vnode);
|
|
5453
|
+
};
|
|
5454
|
+
const suspense = keepAliveInstance.subTree.suspense;
|
|
5455
|
+
if (suspense.pendingBranch) queuePostRenderEffect(cacheInnerChild, void 0, suspense);
|
|
5456
|
+
else cacheInnerChild();
|
|
5457
|
+
} else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
|
|
5255
5458
|
}
|
|
5256
5459
|
};
|
|
5257
5460
|
onMounted(cacheSubtree);
|
|
@@ -5361,9 +5564,8 @@ function registerKeepAliveHook(hook, type, target = getCurrentGenericInstance())
|
|
|
5361
5564
|
}
|
|
5362
5565
|
function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
|
|
5363
5566
|
const injected = injectHook(type, hook, keepAliveRoot, true);
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
}, target);
|
|
5567
|
+
const removal = injectHook("um", () => remove(keepAliveRoot[type], injected), target);
|
|
5568
|
+
removal.flags = 8;
|
|
5367
5569
|
}
|
|
5368
5570
|
function resetShapeFlag(vnode) {
|
|
5369
5571
|
vnode.shapeFlag &= -257;
|
|
@@ -5802,6 +6004,11 @@ function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
|
5802
6004
|
ret.props = extend({}, ret.props, { key: branchKey });
|
|
5803
6005
|
ret.key = branchKey;
|
|
5804
6006
|
}
|
|
6007
|
+
if (isBlockTreeEnabled <= 0) {
|
|
6008
|
+
if (!ret.vs.props) ret.vs.props = ret.props;
|
|
6009
|
+
ret.props = ret.key != null ? { key: ret.key } : null;
|
|
6010
|
+
ret.vs.attrs = EMPTY_OBJ;
|
|
6011
|
+
}
|
|
5805
6012
|
if (!noSlotted && ret.scopeId) ret.slotScopeIds = [ret.scopeId + "-s"];
|
|
5806
6013
|
return ret;
|
|
5807
6014
|
}
|
|
@@ -6783,7 +6990,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
6783
6990
|
if (options.el) return vm.$mount(options.el);
|
|
6784
6991
|
else return vm;
|
|
6785
6992
|
}
|
|
6786
|
-
Vue.version = `2.6.14-compat:3.6.0-rc.
|
|
6993
|
+
Vue.version = `2.6.14-compat:3.6.0-rc.15`;
|
|
6787
6994
|
Vue.config = singletonApp.config;
|
|
6788
6995
|
Vue.use = (plugin, ...options) => {
|
|
6789
6996
|
if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
|
|
@@ -8285,8 +8492,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8285
8492
|
def(el, "__vueParentComponent", parentComponent, true);
|
|
8286
8493
|
}
|
|
8287
8494
|
if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
|
|
8288
|
-
if (transition)
|
|
8289
|
-
|
|
8495
|
+
if (transition) {
|
|
8496
|
+
if (!needTransition(parentSuspense, transition) && !transition.persisted) el[deferredEnterKey] = true;
|
|
8497
|
+
performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense);
|
|
8498
|
+
} else hostInsert(el, container, anchor);
|
|
8290
8499
|
if ((vnodeHook = props && props.onVnodeMounted) || dirs) {
|
|
8291
8500
|
const isHmr = !!(process.env.NODE_ENV !== "production") && isHmrUpdating;
|
|
8292
8501
|
queuePostRenderEffect(() => {
|
|
@@ -8558,16 +8767,20 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8558
8767
|
} else {
|
|
8559
8768
|
let { next, bu, u, parent, vnode } = instance;
|
|
8560
8769
|
{
|
|
8561
|
-
const
|
|
8562
|
-
if (
|
|
8770
|
+
const unresolvedAsyncRoot = locateUnresolvedAsyncRoot(instance);
|
|
8771
|
+
if (unresolvedAsyncRoot) {
|
|
8563
8772
|
if (next) {
|
|
8564
8773
|
next.el = vnode.el;
|
|
8565
8774
|
updateComponentPreRender(instance, next, optimized);
|
|
8566
8775
|
}
|
|
8567
|
-
|
|
8568
|
-
|
|
8569
|
-
if (
|
|
8570
|
-
|
|
8776
|
+
unresolvedAsyncRoot.asyncDep.then(() => {
|
|
8777
|
+
const retry = () => {
|
|
8778
|
+
if (instance.effect.flags & 1024) return;
|
|
8779
|
+
if (parentSuspense && parentSuspense.pendingBranch) queuePostRenderEffect(retry, void 0, parentSuspense);
|
|
8780
|
+
else instance.update();
|
|
8781
|
+
};
|
|
8782
|
+
retry.flags = 24;
|
|
8783
|
+
queuePostRenderEffect(retry, void 0, parentSuspense);
|
|
8571
8784
|
});
|
|
8572
8785
|
return;
|
|
8573
8786
|
}
|
|
@@ -8591,7 +8804,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8591
8804
|
const prevTree = instance.subTree;
|
|
8592
8805
|
instance.subTree = nextTree;
|
|
8593
8806
|
if (!!(process.env.NODE_ENV !== "production")) startMeasure(instance, `patch`);
|
|
8594
|
-
patch(prevTree, nextTree, hostParentNode(prevTree.el), getNextHostNode(prevTree), instance, parentSuspense, namespace);
|
|
8807
|
+
patch(prevTree, nextTree, hostParentNode(prevTree.el || resolveAsyncComponentPlaceholder(prevTree)), getNextHostNode(prevTree), instance, parentSuspense, namespace);
|
|
8595
8808
|
if (!!(process.env.NODE_ENV !== "production")) endMeasure(instance, `patch`);
|
|
8596
8809
|
next.el = nextTree.el;
|
|
8597
8810
|
if (originNext === null) updateHOCHostEl(instance, nextTree.el);
|
|
@@ -8795,9 +9008,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8795
9008
|
}
|
|
8796
9009
|
if (cacheIndex != null && (!vnode.ctx || vnode.ctx === parentComponent)) parentComponent.renderCache[cacheIndex] = void 0;
|
|
8797
9010
|
if (shapeFlag & 256) {
|
|
8798
|
-
if (
|
|
8799
|
-
else parentComponent.ctx.deactivate(vnode);
|
|
8800
|
-
return;
|
|
9011
|
+
if (parentComponent.ctx.deactivate(vnode)) return;
|
|
8801
9012
|
}
|
|
8802
9013
|
if (isVaporInteropEnabled && shapeFlag & 6 && isVaporComponent(type)) {
|
|
8803
9014
|
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
|
|
@@ -8878,13 +9089,15 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8878
9089
|
if (effect) {
|
|
8879
9090
|
effect.stop();
|
|
8880
9091
|
unmount(subTree, instance, parentSuspense, doRemove);
|
|
8881
|
-
} else if (
|
|
9092
|
+
} else if (subTree) {
|
|
8882
9093
|
subTree.transition = instance.vnode.transition;
|
|
8883
9094
|
unmount(subTree, instance, parentSuspense, doRemove);
|
|
8884
9095
|
}
|
|
8885
9096
|
if (um) queuePostRenderEffect(um, void 0, parentSuspense);
|
|
8886
9097
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:destroyed"), void 0, parentSuspense);
|
|
8887
|
-
|
|
9098
|
+
const markUnmounted = () => instance.isUnmounted = true;
|
|
9099
|
+
markUnmounted.flags = 8;
|
|
9100
|
+
queuePostRenderEffect(markUnmounted, void 0, parentSuspense);
|
|
8888
9101
|
if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) devtoolsComponentRemoved(instance);
|
|
8889
9102
|
};
|
|
8890
9103
|
const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {
|
|
@@ -8998,11 +9211,11 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
8998
9211
|
if (!!(process.env.NODE_ENV !== "production")) c2.el && (c2.el.__vnode = c2);
|
|
8999
9212
|
}
|
|
9000
9213
|
}
|
|
9001
|
-
function
|
|
9214
|
+
function locateUnresolvedAsyncRoot(instance) {
|
|
9002
9215
|
const subComponent = instance.subTree && instance.subTree.component;
|
|
9003
9216
|
if (subComponent) {
|
|
9004
9217
|
if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
|
|
9005
|
-
else return
|
|
9218
|
+
else return locateUnresolvedAsyncRoot(subComponent);
|
|
9006
9219
|
}
|
|
9007
9220
|
}
|
|
9008
9221
|
function invalidateMount(hooks) {
|
|
@@ -9072,7 +9285,9 @@ function getInheritedScopeIds(vnode, parentComponent, includeVaporRootIds = true
|
|
|
9072
9285
|
function resolveAsyncComponentPlaceholder(anchorVnode) {
|
|
9073
9286
|
if (anchorVnode.placeholder) return anchorVnode.placeholder;
|
|
9074
9287
|
const instance = anchorVnode.component;
|
|
9075
|
-
if (instance) return resolveAsyncComponentPlaceholder(instance.subTree);
|
|
9288
|
+
if (instance && instance.subTree) return resolveAsyncComponentPlaceholder(instance.subTree);
|
|
9289
|
+
const suspense = anchorVnode.suspense;
|
|
9290
|
+
if (suspense && suspense.activeBranch) return resolveAsyncComponentPlaceholder(suspense.activeBranch);
|
|
9076
9291
|
return null;
|
|
9077
9292
|
}
|
|
9078
9293
|
//#endregion
|
|
@@ -9084,17 +9299,22 @@ function withSuspenseEnabled(value) {
|
|
|
9084
9299
|
return value;
|
|
9085
9300
|
}
|
|
9086
9301
|
let suspenseId = 0;
|
|
9302
|
+
const deferredEnterKey = Symbol("_deferredEnter");
|
|
9087
9303
|
const Suspense = /*@__PURE__*/ withSuspenseEnabled({
|
|
9088
9304
|
name: "Suspense",
|
|
9089
9305
|
__isSuspense: true,
|
|
9090
9306
|
process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
|
|
9091
9307
|
if (n1 == null) mountSuspense(n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals);
|
|
9092
9308
|
else {
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
-
n2.
|
|
9097
|
-
|
|
9309
|
+
const suspense = n1.suspense;
|
|
9310
|
+
if (parentSuspense && parentSuspense.deps > 0 && !parentSuspense.isHydrating) {
|
|
9311
|
+
const owner = suspense.parentComponent;
|
|
9312
|
+
if (!!owner && owner.suspense === parentSuspense && owner.suspenseId !== parentSuspense.pendingId ? parentSuspense.pendingBranch && !isSameVNodeType(n2.ssContent, suspense.pendingBranch || suspense.activeBranch) : !suspense.isInFallback) {
|
|
9313
|
+
n2.suspense = suspense;
|
|
9314
|
+
suspense.vnode = n2;
|
|
9315
|
+
n2.el = n1.el;
|
|
9316
|
+
return;
|
|
9317
|
+
}
|
|
9098
9318
|
}
|
|
9099
9319
|
patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, rendererInternals);
|
|
9100
9320
|
}
|
|
@@ -9106,6 +9326,36 @@ function triggerEvent(vnode, name) {
|
|
|
9106
9326
|
const eventListener = vnode.props && vnode.props[name];
|
|
9107
9327
|
if (isFunction(eventListener)) eventListener();
|
|
9108
9328
|
}
|
|
9329
|
+
function enterDeferred(suspense, branch) {
|
|
9330
|
+
const enters = [];
|
|
9331
|
+
collectDeferredEnters(branch, enters, true);
|
|
9332
|
+
if (isVaporInteropEnabled) {
|
|
9333
|
+
const { parentComponent } = suspense;
|
|
9334
|
+
const vapor = parentComponent && parentComponent.appContext.vapor;
|
|
9335
|
+
if (vapor) vapor.enterDeferred(suspense, enters);
|
|
9336
|
+
}
|
|
9337
|
+
if (enters.length) queuePostFlushCb(enters);
|
|
9338
|
+
}
|
|
9339
|
+
function collectDeferredEnters(vnode, enters, isRoot) {
|
|
9340
|
+
const { el, transition, children, shapeFlag } = vnode;
|
|
9341
|
+
if (shapeFlag & 6) {
|
|
9342
|
+
const subTree = vnode.component.subTree;
|
|
9343
|
+
if (subTree) collectDeferredEnters(subTree, enters, isRoot);
|
|
9344
|
+
return;
|
|
9345
|
+
}
|
|
9346
|
+
if (shapeFlag & 192) return;
|
|
9347
|
+
if (shapeFlag & 1) {
|
|
9348
|
+
if (!isRoot && el && el[deferredEnterKey]) {
|
|
9349
|
+
el[deferredEnterKey] = void 0;
|
|
9350
|
+
if (transition && !transition.persisted) {
|
|
9351
|
+
transition.beforeEnter(el);
|
|
9352
|
+
enters.push(() => transition.enter(el));
|
|
9353
|
+
}
|
|
9354
|
+
}
|
|
9355
|
+
isRoot = false;
|
|
9356
|
+
}
|
|
9357
|
+
if (shapeFlag & 16) for (let i = 0; i < children.length; i++) collectDeferredEnters(children[i], enters, isRoot);
|
|
9358
|
+
}
|
|
9109
9359
|
function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
|
|
9110
9360
|
const { p: patch, o: { createElement } } = rendererInternals;
|
|
9111
9361
|
const hiddenContainer = createElement("div");
|
|
@@ -9145,11 +9395,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
9145
9395
|
suspense.activeBranch = pendingBranch;
|
|
9146
9396
|
} else unmount(pendingBranch, parentComponent, suspense);
|
|
9147
9397
|
suspense.deps = 0;
|
|
9148
|
-
|
|
9149
|
-
const effect = suspense.effects[i];
|
|
9150
|
-
if (effect.flags & 8) queuePostFlushCb(effect);
|
|
9151
|
-
}
|
|
9152
|
-
suspense.effects.length = 0;
|
|
9398
|
+
discardEffects(suspense);
|
|
9153
9399
|
suspense.hiddenContainer = createElement("div");
|
|
9154
9400
|
if (isInFallback) {
|
|
9155
9401
|
patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
|
|
@@ -9172,14 +9418,14 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
9172
9418
|
} else {
|
|
9173
9419
|
triggerEvent(n2, "onPending");
|
|
9174
9420
|
suspense.pendingBranch = newBranch;
|
|
9175
|
-
|
|
9176
|
-
else suspense.pendingId = suspenseId++;
|
|
9421
|
+
suspense.pendingId = suspenseId++;
|
|
9177
9422
|
patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
|
|
9178
9423
|
if (suspense.deps <= 0) suspense.resolve();
|
|
9179
9424
|
else {
|
|
9180
|
-
const { timeout
|
|
9181
|
-
if (timeout > 0) setTimeout(() => {
|
|
9182
|
-
|
|
9425
|
+
const { timeout } = suspense;
|
|
9426
|
+
if (timeout > 0) suspense.timeoutTimer = setTimeout(() => {
|
|
9427
|
+
suspense.timeoutTimer = void 0;
|
|
9428
|
+
suspense.fallback(suspense.vnode.ssFallback);
|
|
9183
9429
|
}, timeout);
|
|
9184
9430
|
else if (timeout === 0) suspense.fallback(newFallback);
|
|
9185
9431
|
}
|
|
@@ -9215,6 +9461,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9215
9461
|
deps: 0,
|
|
9216
9462
|
pendingId: suspenseId++,
|
|
9217
9463
|
timeout: typeof timeout === "number" ? timeout : -1,
|
|
9464
|
+
timeoutTimer: void 0,
|
|
9218
9465
|
activeBranch: null,
|
|
9219
9466
|
isFallbackMountPending: false,
|
|
9220
9467
|
pendingBranch: null,
|
|
@@ -9234,26 +9481,39 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9234
9481
|
delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
|
|
9235
9482
|
let hasUpdatedAnchor = false;
|
|
9236
9483
|
if (delayEnter) activeBranch.transition.afterLeave = () => {
|
|
9237
|
-
if (pendingId === suspense.pendingId) {
|
|
9484
|
+
if (pendingId === suspense.pendingId && !suspense.isUnmounted) {
|
|
9485
|
+
enterDeferred(suspense, pendingBranch);
|
|
9238
9486
|
move(pendingBranch, container, anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor, 0, parentComponent);
|
|
9239
9487
|
queuePostFlushCb(effects);
|
|
9240
9488
|
if (isInFallback && vnode.ssFallback) vnode.ssFallback.el = null;
|
|
9241
9489
|
}
|
|
9242
9490
|
};
|
|
9243
9491
|
if (activeBranch && !suspense.isFallbackMountPending) {
|
|
9244
|
-
if (parentNode(activeBranch.el) === container) {
|
|
9492
|
+
if (parentNode(activeBranch.el || resolveAsyncComponentPlaceholder(activeBranch)) === container) {
|
|
9245
9493
|
anchor = next(activeBranch);
|
|
9246
9494
|
hasUpdatedAnchor = true;
|
|
9247
9495
|
}
|
|
9248
9496
|
unmount(activeBranch, parentComponent, suspense, true);
|
|
9249
9497
|
if (!delayEnter && isInFallback && vnode.ssFallback) queuePostRenderEffect(() => vnode.ssFallback.el = null, void 0, suspense);
|
|
9250
9498
|
}
|
|
9251
|
-
if (!delayEnter)
|
|
9499
|
+
if (!delayEnter) {
|
|
9500
|
+
enterDeferred(suspense, pendingBranch);
|
|
9501
|
+
move(pendingBranch, container, anchor, 0, parentComponent);
|
|
9502
|
+
}
|
|
9252
9503
|
}
|
|
9504
|
+
clearTimeout(suspense.timeoutTimer);
|
|
9505
|
+
suspense.timeoutTimer = void 0;
|
|
9253
9506
|
suspense.isFallbackMountPending = false;
|
|
9254
9507
|
setActiveBranch(suspense, pendingBranch);
|
|
9255
9508
|
suspense.pendingBranch = null;
|
|
9256
9509
|
suspense.isInFallback = false;
|
|
9510
|
+
let kept = 0;
|
|
9511
|
+
for (let i = 0; i < effects.length; i++) {
|
|
9512
|
+
const effect = effects[i];
|
|
9513
|
+
if (effect.flags & 16) queuePostFlushCb(effect);
|
|
9514
|
+
else effects[kept++] = effect;
|
|
9515
|
+
}
|
|
9516
|
+
effects.length = kept;
|
|
9257
9517
|
let parent = suspense.parent;
|
|
9258
9518
|
let hasUnresolvedAncestor = false;
|
|
9259
9519
|
while (parent) {
|
|
@@ -9276,13 +9536,13 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9276
9536
|
triggerEvent(vnode, "onResolve");
|
|
9277
9537
|
},
|
|
9278
9538
|
fallback(fallbackVNode) {
|
|
9279
|
-
if (!suspense.pendingBranch) return;
|
|
9539
|
+
if (suspense.isUnmounted || !suspense.pendingBranch) return;
|
|
9280
9540
|
const { vnode, activeBranch, parentComponent, container, namespace } = suspense;
|
|
9281
9541
|
triggerEvent(vnode, "onFallback");
|
|
9282
9542
|
const anchor = next(activeBranch);
|
|
9283
9543
|
const mountFallback = () => {
|
|
9284
9544
|
suspense.isFallbackMountPending = false;
|
|
9285
|
-
if (!suspense.isInFallback) return;
|
|
9545
|
+
if (suspense.isUnmounted || !suspense.isInFallback) return;
|
|
9286
9546
|
const latestFallback = suspense.vnode.ssFallback;
|
|
9287
9547
|
patch(null, latestFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
9288
9548
|
setActiveBranch(suspense, latestFallback);
|
|
@@ -9306,24 +9566,52 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9306
9566
|
registerDep(instance, onResolve) {
|
|
9307
9567
|
const isInPendingSuspense = !!suspense.pendingBranch;
|
|
9308
9568
|
if (isInPendingSuspense) suspense.deps++;
|
|
9569
|
+
const render = (setupResult) => {
|
|
9570
|
+
instance.asyncResolved = true;
|
|
9571
|
+
onResolve(setupResult);
|
|
9572
|
+
};
|
|
9309
9573
|
instance.asyncDep.catch((err) => {
|
|
9310
|
-
handleError(err, instance, 0);
|
|
9574
|
+
handleError(err, instance, 0, false, true);
|
|
9575
|
+
return () => null;
|
|
9311
9576
|
}).then((asyncSetupResult) => {
|
|
9312
|
-
if (instance.isUnmounted || suspense.isUnmounted
|
|
9577
|
+
if (instance.isUnmounted || suspense.isUnmounted) return;
|
|
9578
|
+
const isPendingDep = isInPendingSuspense && suspense.pendingId === instance.suspenseId;
|
|
9313
9579
|
setCurrentInstance(null, void 0);
|
|
9314
9580
|
if (!instance.scope.active) {
|
|
9315
|
-
if (
|
|
9581
|
+
if (isPendingDep && --suspense.deps === 0) suspense.resolve();
|
|
9316
9582
|
return;
|
|
9317
9583
|
}
|
|
9318
|
-
|
|
9319
|
-
|
|
9320
|
-
|
|
9584
|
+
if (!isPendingDep && suspense.pendingBranch) {
|
|
9585
|
+
const job = () => {
|
|
9586
|
+
if (instance.isUnmounted || suspense.isUnmounted || !instance.scope.active) return;
|
|
9587
|
+
if (suspense.pendingBranch) queueEffectWithSuspense(job, void 0, suspense);
|
|
9588
|
+
else render(asyncSetupResult);
|
|
9589
|
+
};
|
|
9590
|
+
job.flags = 24;
|
|
9591
|
+
queueEffectWithSuspense(job, void 0, suspense);
|
|
9592
|
+
return;
|
|
9593
|
+
}
|
|
9594
|
+
render(asyncSetupResult);
|
|
9595
|
+
if (isPendingDep && --suspense.deps === 0) suspense.resolve();
|
|
9321
9596
|
});
|
|
9322
9597
|
},
|
|
9323
9598
|
unmount(parentSuspense, doRemove) {
|
|
9324
9599
|
suspense.isUnmounted = true;
|
|
9600
|
+
clearTimeout(suspense.timeoutTimer);
|
|
9601
|
+
suspense.timeoutTimer = void 0;
|
|
9602
|
+
if (parentSuspenseId !== void 0) {
|
|
9603
|
+
const parent = suspense.parent;
|
|
9604
|
+
const pendingId = parentSuspenseId;
|
|
9605
|
+
parentSuspenseId = void 0;
|
|
9606
|
+
queuePostFlushCb(() => {
|
|
9607
|
+
if (parent.pendingId === pendingId && !parent.isUnmounted && --parent.deps === 0) parent.resolve();
|
|
9608
|
+
});
|
|
9609
|
+
}
|
|
9325
9610
|
if (suspense.activeBranch) unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);
|
|
9326
|
-
if (suspense.pendingBranch)
|
|
9611
|
+
if (suspense.pendingBranch) {
|
|
9612
|
+
unmount(suspense.pendingBranch, parentComponent, suspense, doRemove);
|
|
9613
|
+
discardEffects(suspense);
|
|
9614
|
+
}
|
|
9327
9615
|
}
|
|
9328
9616
|
};
|
|
9329
9617
|
return suspense;
|
|
@@ -9364,6 +9652,14 @@ function normalizeSuspenseSlot(s) {
|
|
|
9364
9652
|
if (block && !s.dynamicChildren) s.dynamicChildren = block.filter((c) => c !== s);
|
|
9365
9653
|
return s;
|
|
9366
9654
|
}
|
|
9655
|
+
function discardEffects(suspense) {
|
|
9656
|
+
const { effects } = suspense;
|
|
9657
|
+
for (let i = 0; i < effects.length; i++) {
|
|
9658
|
+
const effect = effects[i];
|
|
9659
|
+
if (effect.flags & 8) queuePostFlushCb(effect);
|
|
9660
|
+
}
|
|
9661
|
+
effects.length = 0;
|
|
9662
|
+
}
|
|
9367
9663
|
function queueEffectWithSuspense(fn, id, suspense) {
|
|
9368
9664
|
if (suspense && suspense.pendingBranch) {
|
|
9369
9665
|
if (isArray(fn)) suspense.effects.push(...fn);
|
|
@@ -9631,7 +9927,8 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
|
|
|
9631
9927
|
}
|
|
9632
9928
|
function guardReactiveProps(props) {
|
|
9633
9929
|
if (!props) return null;
|
|
9634
|
-
|
|
9930
|
+
if (/* @__PURE__ */ isProxy(props)) return extend({}, props);
|
|
9931
|
+
return isInternalObject(props) ? extend({}, props[rawAttrsKey] || props) : props;
|
|
9635
9932
|
}
|
|
9636
9933
|
function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
|
|
9637
9934
|
const { props, ref, patchFlag, children, transition } = vnode;
|
|
@@ -9745,6 +10042,17 @@ function normalizeVNode(child) {
|
|
|
9745
10042
|
function cloneIfMounted(child) {
|
|
9746
10043
|
return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);
|
|
9747
10044
|
}
|
|
10045
|
+
let deferElementSlots = false;
|
|
10046
|
+
/**
|
|
10047
|
+
* While enabled, compiled default slots passed as children of plain elements
|
|
10048
|
+
* are kept on the vnode so the server renderer can render them in push mode.
|
|
10049
|
+
* @internal
|
|
10050
|
+
*/
|
|
10051
|
+
function setDeferElementSlots(value) {
|
|
10052
|
+
const prev = deferElementSlots;
|
|
10053
|
+
deferElementSlots = value;
|
|
10054
|
+
return prev;
|
|
10055
|
+
}
|
|
9748
10056
|
function normalizeChildren(vnode, children) {
|
|
9749
10057
|
let type = 0;
|
|
9750
10058
|
const { shapeFlag } = vnode;
|
|
@@ -9753,6 +10061,11 @@ function normalizeChildren(vnode, children) {
|
|
|
9753
10061
|
else if (typeof children === "object") {
|
|
9754
10062
|
if (shapeFlag & 65) {
|
|
9755
10063
|
const slot = children.default;
|
|
10064
|
+
if (deferElementSlots && slot && slot._c && shapeFlag & 1) {
|
|
10065
|
+
vnode.children = children;
|
|
10066
|
+
vnode.shapeFlag |= 32;
|
|
10067
|
+
return;
|
|
10068
|
+
}
|
|
9756
10069
|
if (slot) {
|
|
9757
10070
|
slot._c && (slot._d = false);
|
|
9758
10071
|
normalizeChildren(vnode, slot());
|
|
@@ -10036,7 +10349,8 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
10036
10349
|
setInSSRSetupState(false);
|
|
10037
10350
|
}
|
|
10038
10351
|
}).catch((e) => {
|
|
10039
|
-
handleError(e, instance, 0);
|
|
10352
|
+
handleError(e, instance, 0, void 0, true);
|
|
10353
|
+
instance.ssrRender = (_, push) => push("<!---->");
|
|
10040
10354
|
});
|
|
10041
10355
|
else {
|
|
10042
10356
|
instance.asyncDep = setupResult;
|
|
@@ -10111,11 +10425,16 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
|
|
|
10111
10425
|
else warn$1(`Component is missing template or render function: `, Component);
|
|
10112
10426
|
}
|
|
10113
10427
|
}
|
|
10428
|
+
/**
|
|
10429
|
+
* Read through the setup context `attrs` proxy to get the raw attrs object.
|
|
10430
|
+
* @internal
|
|
10431
|
+
*/
|
|
10432
|
+
const rawAttrsKey = Symbol();
|
|
10114
10433
|
const attrsProxyHandlers = !!(process.env.NODE_ENV !== "production") ? {
|
|
10115
10434
|
get(target, key) {
|
|
10116
10435
|
markAttrsAccessed();
|
|
10117
10436
|
track(target, "get", "");
|
|
10118
|
-
return target[key];
|
|
10437
|
+
return key === rawAttrsKey ? target : target[key];
|
|
10119
10438
|
},
|
|
10120
10439
|
set() {
|
|
10121
10440
|
warn$1(`setupContext.attrs is readonly.`);
|
|
@@ -10127,7 +10446,7 @@ const attrsProxyHandlers = !!(process.env.NODE_ENV !== "production") ? {
|
|
|
10127
10446
|
}
|
|
10128
10447
|
} : { get(target, key) {
|
|
10129
10448
|
track(target, "get", "");
|
|
10130
|
-
return target[key];
|
|
10449
|
+
return key === rawAttrsKey ? target : target[key];
|
|
10131
10450
|
} };
|
|
10132
10451
|
/**
|
|
10133
10452
|
* Dev-only
|
|
@@ -10423,7 +10742,7 @@ function isMemoSame(cached, memo) {
|
|
|
10423
10742
|
}
|
|
10424
10743
|
//#endregion
|
|
10425
10744
|
//#region packages/runtime-core/src/index.ts
|
|
10426
|
-
const version = "3.6.0-rc.
|
|
10745
|
+
const version = "3.6.0-rc.15";
|
|
10427
10746
|
const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
|
|
10428
10747
|
/**
|
|
10429
10748
|
* Runtime error messages. Only exposed in dev or esm builds.
|
|
@@ -10449,7 +10768,8 @@ const ssrUtils = {
|
|
|
10449
10768
|
popWarningContext,
|
|
10450
10769
|
VaporSlot,
|
|
10451
10770
|
rawVaporSlotKey,
|
|
10452
|
-
invokeSlotFallback
|
|
10771
|
+
invokeSlotFallback,
|
|
10772
|
+
setDeferElementSlots
|
|
10453
10773
|
};
|
|
10454
10774
|
/**
|
|
10455
10775
|
* @internal only exposed in compat builds
|
|
@@ -11315,7 +11635,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
11315
11635
|
}
|
|
11316
11636
|
this._styleAnchors.delete(this._def);
|
|
11317
11637
|
this._applyStyles(newStyles);
|
|
11318
|
-
|
|
11638
|
+
this._instance = null;
|
|
11319
11639
|
this._update();
|
|
11320
11640
|
};
|
|
11321
11641
|
const dispatch = (event, args) => {
|
|
@@ -11936,15 +12256,15 @@ const vModelSelect = {
|
|
|
11936
12256
|
vModelSelectInit(el, value, number);
|
|
11937
12257
|
el[assignKey] = getModelAssigner(vnode);
|
|
11938
12258
|
},
|
|
11939
|
-
mounted(el, { value }) {
|
|
11940
|
-
vModelSetSelected(el, value);
|
|
12259
|
+
mounted(el, { value, modifiers: { number } }) {
|
|
12260
|
+
vModelSetSelected(el, value, number);
|
|
11941
12261
|
},
|
|
11942
12262
|
beforeUpdate(el, { value }, vnode) {
|
|
11943
12263
|
el._modelValue = value;
|
|
11944
12264
|
el[assignKey] = getModelAssigner(vnode);
|
|
11945
12265
|
},
|
|
11946
|
-
updated(el, { value }) {
|
|
11947
|
-
vModelSetSelected(el, value);
|
|
12266
|
+
updated(el, { value, modifiers: { number } }) {
|
|
12267
|
+
vModelSetSelected(el, value, number);
|
|
11948
12268
|
}
|
|
11949
12269
|
};
|
|
11950
12270
|
/**
|
|
@@ -11979,14 +12299,14 @@ function isSameSelectValue(value, assignedValue, multiple) {
|
|
|
11979
12299
|
/**
|
|
11980
12300
|
* @internal
|
|
11981
12301
|
*/
|
|
11982
|
-
const vModelSetSelected = (el, value) => {
|
|
12302
|
+
const vModelSetSelected = (el, value, number = false) => {
|
|
11983
12303
|
el._modelValue = value;
|
|
11984
12304
|
const pending = el._pendingValue;
|
|
11985
12305
|
el._pendingValue = void 0;
|
|
11986
12306
|
if (pending && pending[0] === el.multiple && isSameSelectValue(value, pending[1], pending[0])) return;
|
|
11987
|
-
setSelected(el, value);
|
|
12307
|
+
setSelected(el, value, number);
|
|
11988
12308
|
};
|
|
11989
|
-
function setSelected(el, value) {
|
|
12309
|
+
function setSelected(el, value, number) {
|
|
11990
12310
|
const isMultiple = el.multiple;
|
|
11991
12311
|
const isArrayValue = isArray(value);
|
|
11992
12312
|
if (isMultiple && !isArrayValue && !isSet(value)) {
|
|
@@ -12001,7 +12321,7 @@ function setSelected(el, value) {
|
|
|
12001
12321
|
const optionType = typeof optionValue;
|
|
12002
12322
|
if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
|
|
12003
12323
|
else option.selected = looseIndexOf(value, optionValue) > -1;
|
|
12004
|
-
} else option.selected = value.has(optionValue);
|
|
12324
|
+
} else option.selected = value.has(optionValue) || number && typeof optionValue === "string" && value.has(looseToNumber(optionValue));
|
|
12005
12325
|
} else if (looseEqual(getValue(option), value)) {
|
|
12006
12326
|
if (el.selectedIndex !== i) el.selectedIndex = i;
|
|
12007
12327
|
return;
|
|
@@ -12185,6 +12505,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
12185
12505
|
capitalize: () => capitalize,
|
|
12186
12506
|
checkTransitionMode: () => checkTransitionMode,
|
|
12187
12507
|
cloneVNode: () => cloneVNode,
|
|
12508
|
+
collectDeferredEnters: () => collectDeferredEnters,
|
|
12188
12509
|
compatUtils: () => compatUtils,
|
|
12189
12510
|
computed: () => computed,
|
|
12190
12511
|
createApp: () => createApp,
|
|
@@ -12220,6 +12541,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
12220
12541
|
defineSlots: () => defineSlots,
|
|
12221
12542
|
devtools: () => devtools,
|
|
12222
12543
|
devtoolsComponentAdded: () => devtoolsComponentAdded,
|
|
12544
|
+
devtoolsComponentRemoved: () => devtoolsComponentRemoved,
|
|
12223
12545
|
effect: () => effect,
|
|
12224
12546
|
effectScope: () => effectScope,
|
|
12225
12547
|
endMeasure: () => endMeasure,
|
|
@@ -14353,7 +14675,11 @@ function getLoc(start, end) {
|
|
|
14353
14675
|
};
|
|
14354
14676
|
}
|
|
14355
14677
|
function cloneLoc(loc) {
|
|
14356
|
-
return
|
|
14678
|
+
return {
|
|
14679
|
+
start: extend({}, loc.start),
|
|
14680
|
+
end: extend({}, loc.end),
|
|
14681
|
+
source: loc.source
|
|
14682
|
+
};
|
|
14357
14683
|
}
|
|
14358
14684
|
function setLocEnd(loc, end) {
|
|
14359
14685
|
loc.end = tokenizer.getPos(end);
|
|
@@ -16997,4 +17323,4 @@ Vue.compile = compileToFunction;
|
|
|
16997
17323
|
var esm_index_default = Vue;
|
|
16998
17324
|
const configureCompat = Vue.configureCompat;
|
|
16999
17325
|
//#endregion
|
|
17000
|
-
export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VaporSlot, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defaultPropGetter, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, enterCbKey, expose, filterModelListeners, filterSingleRoot, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getContainerType, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getNextUid, getOrigins as getTransitionGroupOrigins, getPosition as getTransitionGroupPosition, getOriginShift as getTransitionGroupShift, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, invokeSlotFallback, invokeVNodeHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isKeepAliveEnabled, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isSuspenseEnabled, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isTransitionEnabled, isUnchangedResourceProp, isVNode, isValidHtmlOrSvgAttribute, isVaporInteropEnabled, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, parseEventName, patchClass, patchProp, patchStyle, pendingGroups as pendingTransitionGroups, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, rawVaporSlotKey, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveCssVars, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionChild, resolveTransitionHooks, resolveTransitionProps, restoreCurrentInstance, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVaporInteropEnabled, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeepAliveEnabled, withKeys, withMemo, withModifiers, withScopeId, withSuspenseEnabled, withTransitionEnabled, xlinkNS };
|
|
17326
|
+
export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VaporSlot, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, collectDeferredEnters, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defaultPropGetter, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, devtoolsComponentRemoved, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, enterCbKey, expose, filterModelListeners, filterSingleRoot, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getContainerType, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getNextUid, getOrigins as getTransitionGroupOrigins, getPosition as getTransitionGroupPosition, getOriginShift as getTransitionGroupShift, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, invokeSlotFallback, invokeVNodeHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isKeepAliveEnabled, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isSuspenseEnabled, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isTransitionEnabled, isUnchangedResourceProp, isVNode, isValidHtmlOrSvgAttribute, isVaporInteropEnabled, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, parseEventName, patchClass, patchProp, patchStyle, pendingGroups as pendingTransitionGroups, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, rawVaporSlotKey, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveCssVars, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionChild, resolveTransitionHooks, resolveTransitionProps, restoreCurrentInstance, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVaporInteropEnabled, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeepAliveEnabled, withKeys, withMemo, withModifiers, withScopeId, withSuspenseEnabled, withTransitionEnabled, xlinkNS };
|