@vue/compat 3.5.43 → 3.5.45
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.cjs.js +581 -232
- package/dist/vue.cjs.prod.js +589 -216
- package/dist/vue.esm-browser.js +570 -222
- package/dist/vue.esm-browser.prod.js +10 -10
- package/dist/vue.esm-bundler.js +572 -224
- package/dist/vue.global.js +570 -222
- package/dist/vue.global.prod.js +10 -10
- package/dist/vue.runtime.esm-browser.js +558 -217
- package/dist/vue.runtime.esm-browser.prod.js +4 -4
- package/dist/vue.runtime.esm-bundler.js +560 -219
- package/dist/vue.runtime.global.js +558 -217
- package/dist/vue.runtime.global.prod.js +4 -4
- package/package.json +4 -4
package/dist/vue.cjs.prod.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.5.
|
|
2
|
+
* @vue/compat v3.5.45
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -68,24 +68,20 @@ const cacheStringFunction = (fn) => {
|
|
|
68
68
|
});
|
|
69
69
|
};
|
|
70
70
|
const camelizeRE = /-\w/g;
|
|
71
|
-
const camelize = cacheStringFunction(
|
|
72
|
-
(
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
);
|
|
71
|
+
const camelize = /* @__PURE__ */ cacheStringFunction((str) => {
|
|
72
|
+
return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase());
|
|
73
|
+
});
|
|
76
74
|
const hyphenateRE = /\B([A-Z])/g;
|
|
77
|
-
const hyphenate = cacheStringFunction(
|
|
75
|
+
const hyphenate = /* @__PURE__ */ cacheStringFunction(
|
|
78
76
|
(str) => str.replace(hyphenateRE, "-$1").toLowerCase()
|
|
79
77
|
);
|
|
80
|
-
const capitalize = cacheStringFunction((str) => {
|
|
78
|
+
const capitalize = /* @__PURE__ */ cacheStringFunction((str) => {
|
|
81
79
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
82
80
|
});
|
|
83
|
-
const toHandlerKey = cacheStringFunction(
|
|
84
|
-
(str)
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
);
|
|
81
|
+
const toHandlerKey = /* @__PURE__ */ cacheStringFunction((str) => {
|
|
82
|
+
const s = str ? `on${capitalize(str)}` : ``;
|
|
83
|
+
return s;
|
|
84
|
+
});
|
|
89
85
|
const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
|
|
90
86
|
const invokeArrayFns = (fns, ...arg) => {
|
|
91
87
|
for (let i = 0; i < fns.length; i++) {
|
|
@@ -210,7 +206,7 @@ const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
|
|
|
210
206
|
const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
|
|
211
207
|
const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
|
|
212
208
|
|
|
213
|
-
const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
|
|
209
|
+
const specialBooleanAttrs = `itemscope,allowfullscreen,disablepictureinpicture,disableremoteplayback,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`;
|
|
214
210
|
const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
|
|
215
211
|
const isBooleanAttr = /* @__PURE__ */ makeMap(
|
|
216
212
|
specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
|
|
@@ -558,7 +554,11 @@ function getCurrentScope() {
|
|
|
558
554
|
}
|
|
559
555
|
function onScopeDispose(fn, failSilently = false) {
|
|
560
556
|
if (activeEffectScope) {
|
|
561
|
-
activeEffectScope.
|
|
557
|
+
if (activeEffectScope.active) {
|
|
558
|
+
activeEffectScope.cleanups.push(fn);
|
|
559
|
+
} else {
|
|
560
|
+
fn();
|
|
561
|
+
}
|
|
562
562
|
}
|
|
563
563
|
}
|
|
564
564
|
|
|
@@ -1210,19 +1210,41 @@ const arrayInstrumentations = {
|
|
|
1210
1210
|
};
|
|
1211
1211
|
function iterator(self, method, wrapValue) {
|
|
1212
1212
|
const arr = shallowReadArray(self);
|
|
1213
|
-
const
|
|
1213
|
+
const methodFn = arr[method];
|
|
1214
|
+
const iter = methodFn.call(arr);
|
|
1214
1215
|
if (arr !== self && !isShallow(self)) {
|
|
1215
|
-
iter.
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
if (
|
|
1219
|
-
|
|
1216
|
+
if (iter[Symbol.toStringTag] === "Array Iterator") {
|
|
1217
|
+
const wrapped = Object.create(Object.getPrototypeOf(iter));
|
|
1218
|
+
wrapped.next = () => wrapResult(iter.next(), wrapValue);
|
|
1219
|
+
if (methodFn !== arrayProto[method]) {
|
|
1220
|
+
Object.defineProperties(wrapped, {
|
|
1221
|
+
return: {
|
|
1222
|
+
get() {
|
|
1223
|
+
const fn = iter.return;
|
|
1224
|
+
return typeof fn === "function" ? fn.bind(iter) : fn;
|
|
1225
|
+
}
|
|
1226
|
+
},
|
|
1227
|
+
throw: {
|
|
1228
|
+
get() {
|
|
1229
|
+
const fn = iter.throw;
|
|
1230
|
+
return typeof fn === "function" ? fn.bind(iter) : fn;
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1233
|
+
});
|
|
1220
1234
|
}
|
|
1221
|
-
return
|
|
1222
|
-
}
|
|
1235
|
+
return wrapped;
|
|
1236
|
+
}
|
|
1237
|
+
iter._next = iter.next;
|
|
1238
|
+
iter.next = () => wrapResult(iter._next(), wrapValue);
|
|
1223
1239
|
}
|
|
1224
1240
|
return iter;
|
|
1225
1241
|
}
|
|
1242
|
+
function wrapResult(result, wrapValue) {
|
|
1243
|
+
if (!result.done) {
|
|
1244
|
+
result.value = wrapValue(result.value);
|
|
1245
|
+
}
|
|
1246
|
+
return result;
|
|
1247
|
+
}
|
|
1226
1248
|
const arrayProto = Array.prototype;
|
|
1227
1249
|
function apply(self, method, fn, thisArg, wrappedRetFn, args) {
|
|
1228
1250
|
const arr = shallowReadArray(self);
|
|
@@ -1291,7 +1313,7 @@ function noTracking(self, method, args = []) {
|
|
|
1291
1313
|
}
|
|
1292
1314
|
|
|
1293
1315
|
const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
|
|
1294
|
-
const builtInSymbols = new Set(
|
|
1316
|
+
const builtInSymbols = /* @__PURE__ */ new Set(
|
|
1295
1317
|
/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
|
|
1296
1318
|
);
|
|
1297
1319
|
function hasOwnProperty(key) {
|
|
@@ -1613,6 +1635,8 @@ function createInstrumentationGetter(isReadonly2, shallow) {
|
|
|
1613
1635
|
return !isReadonly2;
|
|
1614
1636
|
} else if (key === "__v_isReadonly") {
|
|
1615
1637
|
return isReadonly2;
|
|
1638
|
+
} else if (key === "__v_isShallow") {
|
|
1639
|
+
return shallow;
|
|
1616
1640
|
} else if (key === "__v_raw") {
|
|
1617
1641
|
return target;
|
|
1618
1642
|
}
|
|
@@ -2100,9 +2124,11 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
|
|
|
2100
2124
|
if (once && cb) {
|
|
2101
2125
|
const _cb = cb;
|
|
2102
2126
|
cb = (...args) => {
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2127
|
+
try {
|
|
2128
|
+
return _cb(...args);
|
|
2129
|
+
} finally {
|
|
2130
|
+
watchHandle();
|
|
2131
|
+
}
|
|
2106
2132
|
};
|
|
2107
2133
|
}
|
|
2108
2134
|
let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
|
|
@@ -2113,12 +2139,13 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
|
|
|
2113
2139
|
if (cb) {
|
|
2114
2140
|
const newValue = effect.run();
|
|
2115
2141
|
if (immediateFirstRun || deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
|
|
2116
|
-
if (cleanup) {
|
|
2117
|
-
cleanup();
|
|
2118
|
-
}
|
|
2119
2142
|
const currentWatcher = activeWatcher;
|
|
2120
|
-
|
|
2143
|
+
pauseTracking();
|
|
2121
2144
|
try {
|
|
2145
|
+
if (cleanup) {
|
|
2146
|
+
cleanup();
|
|
2147
|
+
}
|
|
2148
|
+
activeWatcher = effect;
|
|
2122
2149
|
const args = [
|
|
2123
2150
|
newValue,
|
|
2124
2151
|
// pass undefined as the old value when it's changed for the first time
|
|
@@ -2132,6 +2159,7 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
|
|
|
2132
2159
|
);
|
|
2133
2160
|
} finally {
|
|
2134
2161
|
activeWatcher = currentWatcher;
|
|
2162
|
+
resetTracking();
|
|
2135
2163
|
}
|
|
2136
2164
|
}
|
|
2137
2165
|
} else {
|
|
@@ -2287,7 +2315,7 @@ function callWithAsyncErrorHandling(fn, instance, type, args) {
|
|
|
2287
2315
|
const res = callWithErrorHandling(fn, instance, type, args);
|
|
2288
2316
|
if (res && isPromise(res)) {
|
|
2289
2317
|
res.catch((err) => {
|
|
2290
|
-
handleError(err, instance, type);
|
|
2318
|
+
handleError(err, instance, type, void 0, true);
|
|
2291
2319
|
});
|
|
2292
2320
|
}
|
|
2293
2321
|
return res;
|
|
@@ -2300,7 +2328,7 @@ function callWithAsyncErrorHandling(fn, instance, type, args) {
|
|
|
2300
2328
|
return values;
|
|
2301
2329
|
}
|
|
2302
2330
|
}
|
|
2303
|
-
function handleError(err, instance, type, throwInDev = true) {
|
|
2331
|
+
function handleError(err, instance, type, throwInDev = true, isAsyncError = false) {
|
|
2304
2332
|
const contextVNode = instance ? instance.vnode : null;
|
|
2305
2333
|
const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;
|
|
2306
2334
|
if (instance) {
|
|
@@ -2309,7 +2337,9 @@ function handleError(err, instance, type, throwInDev = true) {
|
|
|
2309
2337
|
const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`;
|
|
2310
2338
|
while (cur) {
|
|
2311
2339
|
const errorCapturedHooks = cur.ec;
|
|
2312
|
-
if (errorCapturedHooks
|
|
2340
|
+
if (errorCapturedHooks && !cur.isUnmounted && // Async failures may outlive stopped scopes whose unmount effects
|
|
2341
|
+
// are deferred or discarded by Suspense.
|
|
2342
|
+
(!isAsyncError || cur.scope.active)) {
|
|
2313
2343
|
for (let i = 0; i < errorCapturedHooks.length; i++) {
|
|
2314
2344
|
if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {
|
|
2315
2345
|
return;
|
|
@@ -2399,15 +2429,15 @@ function queuePostFlushCb(cb) {
|
|
|
2399
2429
|
}
|
|
2400
2430
|
queueFlush();
|
|
2401
2431
|
}
|
|
2402
|
-
function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
|
|
2432
|
+
function flushPreFlushCbs(instance, minUid, seen, i = flushIndex + 1) {
|
|
2403
2433
|
for (; i < queue.length; i++) {
|
|
2404
2434
|
const cb = queue[i];
|
|
2405
2435
|
if (cb && cb.flags & 2) {
|
|
2406
|
-
if (instance && cb.id !== instance.uid) {
|
|
2436
|
+
if (instance && cb.id !== instance.uid || minUid !== void 0 && !(cb.id >= minUid)) {
|
|
2407
2437
|
continue;
|
|
2408
2438
|
}
|
|
2409
2439
|
queue.splice(i, 1);
|
|
2410
|
-
i
|
|
2440
|
+
i = instance ? i - 1 : flushIndex;
|
|
2411
2441
|
if (cb.flags & 4) {
|
|
2412
2442
|
cb.flags &= -2;
|
|
2413
2443
|
}
|
|
@@ -2418,12 +2448,23 @@ function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
|
|
|
2418
2448
|
}
|
|
2419
2449
|
}
|
|
2420
2450
|
}
|
|
2421
|
-
function flushPostFlushCbs(seen) {
|
|
2451
|
+
function flushPostFlushCbs(seen, skip, minUid = 0) {
|
|
2422
2452
|
if (pendingPostFlushCbs.length) {
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
)
|
|
2426
|
-
|
|
2453
|
+
let cbs = pendingPostFlushCbs;
|
|
2454
|
+
let kept = 0;
|
|
2455
|
+
if (skip) {
|
|
2456
|
+
cbs = [];
|
|
2457
|
+
for (let i = 0; i < pendingPostFlushCbs.length; i++) {
|
|
2458
|
+
const cb = pendingPostFlushCbs[i];
|
|
2459
|
+
if (cb.i !== void 0 ? !cb.i || cb.i.uid < minUid : skip.has(cb)) {
|
|
2460
|
+
pendingPostFlushCbs[kept++] = cb;
|
|
2461
|
+
} else {
|
|
2462
|
+
cbs.push(cb);
|
|
2463
|
+
}
|
|
2464
|
+
}
|
|
2465
|
+
}
|
|
2466
|
+
const deduped = [...new Set(cbs)].sort((a, b) => getId(a) - getId(b));
|
|
2467
|
+
pendingPostFlushCbs.length = kept;
|
|
2427
2468
|
if (activePostFlushCbs) {
|
|
2428
2469
|
for (let i = 0; i < deduped.length; i++) {
|
|
2429
2470
|
activePostFlushCbs.push(deduped[i]);
|
|
@@ -2443,6 +2484,22 @@ function flushPostFlushCbs(seen) {
|
|
|
2443
2484
|
postFlushIndex = 0;
|
|
2444
2485
|
}
|
|
2445
2486
|
}
|
|
2487
|
+
let isFlushing = false;
|
|
2488
|
+
function flushOnAppMount(fn, minUid) {
|
|
2489
|
+
if (isFlushing) {
|
|
2490
|
+
fn();
|
|
2491
|
+
return;
|
|
2492
|
+
}
|
|
2493
|
+
const queued = minUid === void 0 ? void 0 : new Set(pendingPostFlushCbs);
|
|
2494
|
+
fn();
|
|
2495
|
+
isFlushing = true;
|
|
2496
|
+
try {
|
|
2497
|
+
flushPreFlushCbs(void 0, minUid);
|
|
2498
|
+
flushPostFlushCbs(void 0, queued, minUid);
|
|
2499
|
+
} finally {
|
|
2500
|
+
isFlushing = false;
|
|
2501
|
+
}
|
|
2502
|
+
}
|
|
2446
2503
|
const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
|
|
2447
2504
|
function flushJobs(seen) {
|
|
2448
2505
|
try {
|
|
@@ -2758,12 +2815,31 @@ function withDirectives(vnode, directives) {
|
|
|
2758
2815
|
return vnode;
|
|
2759
2816
|
}
|
|
2760
2817
|
function invokeDirectiveHook(vnode, prevVNode, instance, name) {
|
|
2761
|
-
|
|
2818
|
+
let hookVNode = vnode;
|
|
2819
|
+
if (name === "beforeMount") {
|
|
2820
|
+
vnode._mount = vnode;
|
|
2821
|
+
} else if (name === "beforeUpdate") {
|
|
2822
|
+
const mount = prevVNode && prevVNode._mount;
|
|
2823
|
+
if (mount) {
|
|
2824
|
+
mount._latest = vnode;
|
|
2825
|
+
vnode._mount = mount;
|
|
2826
|
+
}
|
|
2827
|
+
} else if (name === "mounted") {
|
|
2828
|
+
const latest = vnode._latest;
|
|
2829
|
+
vnode._mount = vnode._latest = void 0;
|
|
2830
|
+
if (latest) {
|
|
2831
|
+
hookVNode = latest;
|
|
2832
|
+
latest._mount = void 0;
|
|
2833
|
+
}
|
|
2834
|
+
}
|
|
2835
|
+
const bindings = hookVNode.dirs;
|
|
2762
2836
|
const oldBindings = prevVNode && prevVNode.dirs;
|
|
2763
2837
|
for (let i = 0; i < bindings.length; i++) {
|
|
2764
|
-
|
|
2838
|
+
let binding = bindings[i];
|
|
2765
2839
|
if (oldBindings) {
|
|
2766
2840
|
binding.oldValue = oldBindings[i].value;
|
|
2841
|
+
} else if (name === "mounted" && binding.oldValue !== void 0) {
|
|
2842
|
+
binding = extend$1({}, binding, { oldValue: void 0 });
|
|
2767
2843
|
}
|
|
2768
2844
|
let hook = binding.dir[name];
|
|
2769
2845
|
if (!hook) {
|
|
@@ -2774,7 +2850,7 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
|
|
|
2774
2850
|
callWithAsyncErrorHandling(hook, instance, 8, [
|
|
2775
2851
|
vnode.el,
|
|
2776
2852
|
binding,
|
|
2777
|
-
|
|
2853
|
+
hookVNode,
|
|
2778
2854
|
prevVNode
|
|
2779
2855
|
]);
|
|
2780
2856
|
resetTracking();
|
|
@@ -2858,6 +2934,7 @@ function doWatch(source, cb, options = EMPTY_OBJ) {
|
|
|
2858
2934
|
let isPre = false;
|
|
2859
2935
|
if (flush === "post") {
|
|
2860
2936
|
baseWatchOptions.scheduler = (job) => {
|
|
2937
|
+
job.i = instance;
|
|
2861
2938
|
queuePostRenderEffect(job, instance && instance.suspense);
|
|
2862
2939
|
};
|
|
2863
2940
|
} else if (flush !== "sync") {
|
|
@@ -3136,7 +3213,11 @@ const TeleportImpl = {
|
|
|
3136
3213
|
};
|
|
3137
3214
|
function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {
|
|
3138
3215
|
if (moveType === 0) {
|
|
3216
|
+
if (vnode.targetStart) {
|
|
3217
|
+
insert(vnode.targetStart, container, parentAnchor);
|
|
3218
|
+
}
|
|
3139
3219
|
insert(vnode.targetAnchor, container, parentAnchor);
|
|
3220
|
+
parentAnchor = vnode.targetAnchor;
|
|
3140
3221
|
}
|
|
3141
3222
|
const { el, anchor, shapeFlag, children, props } = vnode;
|
|
3142
3223
|
const isReorder = moveType === 2;
|
|
@@ -3305,10 +3386,6 @@ const BaseTransitionPropsValidators = {
|
|
|
3305
3386
|
onAfterAppear: TransitionHookValidator,
|
|
3306
3387
|
onAppearCancelled: TransitionHookValidator
|
|
3307
3388
|
};
|
|
3308
|
-
const recursiveGetSubtree = (instance) => {
|
|
3309
|
-
const subTree = instance.subTree;
|
|
3310
|
-
return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
|
|
3311
|
-
};
|
|
3312
3389
|
const BaseTransitionImpl = {
|
|
3313
3390
|
name: `BaseTransition`,
|
|
3314
3391
|
props: BaseTransitionPropsValidators,
|
|
@@ -3334,19 +3411,17 @@ const BaseTransitionImpl = {
|
|
|
3334
3411
|
if (!innerChild) {
|
|
3335
3412
|
return emptyPlaceholder(child);
|
|
3336
3413
|
}
|
|
3337
|
-
|
|
3414
|
+
const enterHooks = resolveTransitionHooks(
|
|
3338
3415
|
innerChild,
|
|
3339
3416
|
rawProps,
|
|
3340
3417
|
state,
|
|
3341
|
-
instance
|
|
3342
|
-
// #11061, ensure enterHooks is fresh after clone
|
|
3343
|
-
(hooks) => enterHooks = hooks
|
|
3418
|
+
instance
|
|
3344
3419
|
);
|
|
3345
3420
|
if (innerChild.type !== Comment) {
|
|
3346
3421
|
setTransitionHooks(innerChild, enterHooks);
|
|
3347
3422
|
}
|
|
3348
3423
|
let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
|
|
3349
|
-
if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) &&
|
|
3424
|
+
if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && getTransitionRoot(instance.subTree)) {
|
|
3350
3425
|
let leavingHooks = resolveTransitionHooks(
|
|
3351
3426
|
oldInnerChild,
|
|
3352
3427
|
rawProps,
|
|
@@ -3359,7 +3434,17 @@ const BaseTransitionImpl = {
|
|
|
3359
3434
|
leavingHooks.afterLeave = () => {
|
|
3360
3435
|
state.isLeaving = false;
|
|
3361
3436
|
if (!(instance.job.flags & 8)) {
|
|
3362
|
-
instance.
|
|
3437
|
+
if (instance.effect.flags & 2) {
|
|
3438
|
+
const job = () => {
|
|
3439
|
+
if (!(instance.job.flags & 8)) {
|
|
3440
|
+
instance.update();
|
|
3441
|
+
}
|
|
3442
|
+
};
|
|
3443
|
+
job.i = instance;
|
|
3444
|
+
queueJob(job);
|
|
3445
|
+
} else {
|
|
3446
|
+
instance.update();
|
|
3447
|
+
}
|
|
3363
3448
|
}
|
|
3364
3449
|
delete leavingHooks.afterLeave;
|
|
3365
3450
|
oldInnerChild = void 0;
|
|
@@ -3419,7 +3504,7 @@ function getLeavingNodesForType(state, vnode) {
|
|
|
3419
3504
|
}
|
|
3420
3505
|
return leavingVNodesCache;
|
|
3421
3506
|
}
|
|
3422
|
-
function resolveTransitionHooks(vnode, props, state, instance
|
|
3507
|
+
function resolveTransitionHooks(vnode, props, state, instance) {
|
|
3423
3508
|
const {
|
|
3424
3509
|
appear,
|
|
3425
3510
|
mode,
|
|
@@ -3475,8 +3560,15 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
3475
3560
|
);
|
|
3476
3561
|
}
|
|
3477
3562
|
const leavingVNode = leavingVNodesCache[key];
|
|
3478
|
-
if (leavingVNode && isSameVNodeType(vnode, leavingVNode)
|
|
3479
|
-
leavingVNode.el[leaveCbKey]
|
|
3563
|
+
if (leavingVNode && isSameVNodeType(vnode, leavingVNode)) {
|
|
3564
|
+
let leavingCb = leavingVNode.el[leaveCbKey];
|
|
3565
|
+
if (!leavingCb) {
|
|
3566
|
+
const leavingRoot = getTransitionRoot(leavingVNode);
|
|
3567
|
+
leavingCb = leavingRoot && leavingRoot.el[leaveCbKey];
|
|
3568
|
+
}
|
|
3569
|
+
if (leavingCb) {
|
|
3570
|
+
leavingCb();
|
|
3571
|
+
}
|
|
3480
3572
|
}
|
|
3481
3573
|
callHook(hook, [el]);
|
|
3482
3574
|
},
|
|
@@ -3551,15 +3643,21 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
3551
3643
|
}
|
|
3552
3644
|
},
|
|
3553
3645
|
clone(vnode2) {
|
|
3554
|
-
const
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3646
|
+
const cloned = resolveTransitionHooks(vnode2, props, state, instance);
|
|
3647
|
+
cloned.afterLeave = () => {
|
|
3648
|
+
if (hooks.afterLeave) hooks.afterLeave();
|
|
3649
|
+
};
|
|
3650
|
+
cloned.delayLeave = (el, earlyRemove, delayedLeave) => {
|
|
3651
|
+
if (hooks.delayLeave) {
|
|
3652
|
+
hooks.delayLeave(el, earlyRemove, delayedLeave);
|
|
3653
|
+
} else {
|
|
3654
|
+
delayedLeave();
|
|
3655
|
+
}
|
|
3656
|
+
};
|
|
3657
|
+
cloned.delayedLeave = () => {
|
|
3658
|
+
if (hooks.delayedLeave) hooks.delayedLeave();
|
|
3659
|
+
};
|
|
3660
|
+
return cloned;
|
|
3563
3661
|
}
|
|
3564
3662
|
};
|
|
3565
3663
|
return hooks;
|
|
@@ -3600,10 +3698,24 @@ function setTransitionHooks(vnode, hooks) {
|
|
|
3600
3698
|
hooks
|
|
3601
3699
|
);
|
|
3602
3700
|
} else if (vnode.shapeFlag & 128) {
|
|
3603
|
-
|
|
3604
|
-
|
|
3701
|
+
const suspense = vnode.suspense;
|
|
3702
|
+
if (suspense) {
|
|
3703
|
+
const branch = suspense.isHydrating ? suspense.pendingBranch : suspense.activeBranch;
|
|
3704
|
+
if (branch) {
|
|
3705
|
+
setTransitionHooks(branch, hooks.clone(branch));
|
|
3706
|
+
}
|
|
3707
|
+
} else {
|
|
3708
|
+
vnode.ssContent.transition = hooks.clone(vnode.ssContent);
|
|
3709
|
+
vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
|
|
3710
|
+
}
|
|
3605
3711
|
} else {
|
|
3606
3712
|
vnode.transition = hooks;
|
|
3713
|
+
if (vnode.type === Fragment && isArray(vnode.children)) {
|
|
3714
|
+
const child = filterSingleRoot(vnode.children, false);
|
|
3715
|
+
if (child) {
|
|
3716
|
+
setTransitionHooks(child, hooks);
|
|
3717
|
+
}
|
|
3718
|
+
}
|
|
3607
3719
|
}
|
|
3608
3720
|
}
|
|
3609
3721
|
function getTransitionRawChildren(children, keepComment = false, parentKey) {
|
|
@@ -3628,6 +3740,18 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
|
|
|
3628
3740
|
}
|
|
3629
3741
|
return ret;
|
|
3630
3742
|
}
|
|
3743
|
+
function getTransitionRoot(vnode) {
|
|
3744
|
+
if (vnode.component) {
|
|
3745
|
+
return getTransitionRoot(vnode.component.subTree);
|
|
3746
|
+
}
|
|
3747
|
+
if (vnode.type === Fragment) {
|
|
3748
|
+
const child = isArray(vnode.children) && filterSingleRoot(vnode.children, false);
|
|
3749
|
+
return child ? getTransitionRoot(child) : void 0;
|
|
3750
|
+
}
|
|
3751
|
+
if (vnode.type !== Comment) {
|
|
3752
|
+
return vnode;
|
|
3753
|
+
}
|
|
3754
|
+
}
|
|
3631
3755
|
|
|
3632
3756
|
// @__NO_SIDE_EFFECTS__
|
|
3633
3757
|
function defineComponent(options, extraOptions) {
|
|
@@ -4208,7 +4332,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4208
4332
|
getContainerType(container),
|
|
4209
4333
|
slotScopeIds
|
|
4210
4334
|
);
|
|
4211
|
-
if (parentComponent) {
|
|
4335
|
+
if (parentComponent && parentComponent.vnode.el === node) {
|
|
4212
4336
|
parentComponent.vnode.el = vnode.el;
|
|
4213
4337
|
updateHOCHostEl(parentComponent, vnode.el);
|
|
4214
4338
|
}
|
|
@@ -4322,14 +4446,22 @@ const hydrateOnVisible = (opts) => (hydrate, forEach) => {
|
|
|
4322
4446
|
break;
|
|
4323
4447
|
}
|
|
4324
4448
|
}, opts);
|
|
4325
|
-
|
|
4326
|
-
if (!(el instanceof Element)) return;
|
|
4449
|
+
const observe = (el) => {
|
|
4327
4450
|
if (elementIsVisibleInViewport(el)) {
|
|
4328
4451
|
hydrate();
|
|
4329
4452
|
ob.disconnect();
|
|
4330
4453
|
return false;
|
|
4331
4454
|
}
|
|
4455
|
+
if (getComputedStyle(el).display === "contents") {
|
|
4456
|
+
for (let i = 0; i < el.children.length; i++) {
|
|
4457
|
+
if (observe(el.children[i]) === false) return false;
|
|
4458
|
+
}
|
|
4459
|
+
}
|
|
4332
4460
|
ob.observe(el);
|
|
4461
|
+
};
|
|
4462
|
+
forEach((el) => {
|
|
4463
|
+
if (!(el instanceof Element)) return;
|
|
4464
|
+
return observe(el);
|
|
4333
4465
|
});
|
|
4334
4466
|
return () => ob.disconnect();
|
|
4335
4467
|
};
|
|
@@ -4486,7 +4618,8 @@ function defineAsyncComponent(source) {
|
|
|
4486
4618
|
err,
|
|
4487
4619
|
instance,
|
|
4488
4620
|
13,
|
|
4489
|
-
!errorComponent
|
|
4621
|
+
!errorComponent,
|
|
4622
|
+
true
|
|
4490
4623
|
);
|
|
4491
4624
|
};
|
|
4492
4625
|
if (suspensible && instance.suspense || isInSSRComponentSetup) {
|
|
@@ -4504,7 +4637,7 @@ function defineAsyncComponent(source) {
|
|
|
4504
4637
|
const delayed = ref(!!delay);
|
|
4505
4638
|
let timeoutTimer;
|
|
4506
4639
|
let delayTimer;
|
|
4507
|
-
|
|
4640
|
+
onScopeDispose(() => {
|
|
4508
4641
|
if (timeoutTimer != null) clearTimeout(timeoutTimer);
|
|
4509
4642
|
if (delayTimer != null) clearTimeout(delayTimer);
|
|
4510
4643
|
});
|
|
@@ -4626,6 +4759,12 @@ const KeepAliveImpl = {
|
|
|
4626
4759
|
}, parentSuspense);
|
|
4627
4760
|
};
|
|
4628
4761
|
sharedContext.deactivate = (vnode) => {
|
|
4762
|
+
const cached = cache.get(
|
|
4763
|
+
vnode.key == null ? vnode.type : vnode.key
|
|
4764
|
+
);
|
|
4765
|
+
if (!cached || cached.component !== vnode.component) {
|
|
4766
|
+
return false;
|
|
4767
|
+
}
|
|
4629
4768
|
const instance2 = vnode.component;
|
|
4630
4769
|
invalidateMount(instance2.m);
|
|
4631
4770
|
invalidateMount(instance2.a);
|
|
@@ -4640,6 +4779,7 @@ const KeepAliveImpl = {
|
|
|
4640
4779
|
}
|
|
4641
4780
|
instance2.isDeactivated = true;
|
|
4642
4781
|
}, parentSuspense);
|
|
4782
|
+
return true;
|
|
4643
4783
|
};
|
|
4644
4784
|
function unmount(vnode) {
|
|
4645
4785
|
resetShapeFlag(vnode);
|
|
@@ -4661,6 +4801,7 @@ const KeepAliveImpl = {
|
|
|
4661
4801
|
unmount(cached);
|
|
4662
4802
|
} else if (current) {
|
|
4663
4803
|
resetShapeFlag(current);
|
|
4804
|
+
if (cached) resetShapeFlag(cached);
|
|
4664
4805
|
}
|
|
4665
4806
|
cache.delete(key);
|
|
4666
4807
|
keys.delete(key);
|
|
@@ -4678,12 +4819,17 @@ const KeepAliveImpl = {
|
|
|
4678
4819
|
const cacheSubtree = () => {
|
|
4679
4820
|
if (pendingCacheKey != null) {
|
|
4680
4821
|
if (isSuspense(instance.subTree.type)) {
|
|
4681
|
-
|
|
4822
|
+
const cacheInnerChild = () => {
|
|
4682
4823
|
const vnode = getInnerChild(instance.subTree);
|
|
4683
4824
|
if (vnode.component) {
|
|
4684
4825
|
cache.set(pendingCacheKey, vnode);
|
|
4685
4826
|
}
|
|
4686
|
-
}
|
|
4827
|
+
};
|
|
4828
|
+
if (instance.subTree.suspense.pendingBranch) {
|
|
4829
|
+
queuePostRenderEffect(cacheInnerChild, instance.subTree.suspense);
|
|
4830
|
+
} else {
|
|
4831
|
+
cacheInnerChild();
|
|
4832
|
+
}
|
|
4687
4833
|
} else {
|
|
4688
4834
|
cache.set(pendingCacheKey, getInnerChild(instance.subTree));
|
|
4689
4835
|
}
|
|
@@ -4815,9 +4961,12 @@ function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
|
|
|
4815
4961
|
true
|
|
4816
4962
|
/* prepend */
|
|
4817
4963
|
);
|
|
4818
|
-
|
|
4819
|
-
|
|
4820
|
-
|
|
4964
|
+
const removal = injectHook(
|
|
4965
|
+
"um",
|
|
4966
|
+
() => remove(keepAliveRoot[type], injected),
|
|
4967
|
+
target
|
|
4968
|
+
);
|
|
4969
|
+
removal.flags = 16;
|
|
4821
4970
|
}
|
|
4822
4971
|
function resetShapeFlag(vnode) {
|
|
4823
4972
|
vnode.shapeFlag &= -257;
|
|
@@ -5225,7 +5374,9 @@ function renderList(source, renderItem, cache, index) {
|
|
|
5225
5374
|
);
|
|
5226
5375
|
}
|
|
5227
5376
|
} else if (typeof source === "number") {
|
|
5228
|
-
{
|
|
5377
|
+
if (!Number.isInteger(source) || source < 0) {
|
|
5378
|
+
ret = [];
|
|
5379
|
+
} else {
|
|
5229
5380
|
ret = new Array(source);
|
|
5230
5381
|
for (let i = 0; i < source; i++) {
|
|
5231
5382
|
ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
|
|
@@ -5526,6 +5677,7 @@ function installCompatInstanceProperties(map) {
|
|
|
5526
5677
|
$vnode: (i) => i.vnode,
|
|
5527
5678
|
// some private properties that are likely accessed...
|
|
5528
5679
|
_self: (i) => i.proxy,
|
|
5680
|
+
_setupProxy: (i) => i.setupState,
|
|
5529
5681
|
_uid: (i) => i.uid,
|
|
5530
5682
|
_data: (i) => i.data,
|
|
5531
5683
|
_isMounted: (i) => i.isMounted,
|
|
@@ -6241,7 +6393,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
6241
6393
|
return vm;
|
|
6242
6394
|
}
|
|
6243
6395
|
}
|
|
6244
|
-
Vue.version = `2.6.14-compat:${"3.5.
|
|
6396
|
+
Vue.version = `2.6.14-compat:${"3.5.45"}`;
|
|
6245
6397
|
Vue.config = singletonApp.config;
|
|
6246
6398
|
Vue.use = (plugin, ...options) => {
|
|
6247
6399
|
if (plugin && isFunction(plugin.install)) {
|
|
@@ -7136,7 +7288,7 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
|
|
|
7136
7288
|
}
|
|
7137
7289
|
for (let i = 0; i < nextKeys.length; i++) {
|
|
7138
7290
|
const key = nextKeys[i];
|
|
7139
|
-
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
|
|
7291
|
+
if (!hasOwn(prevProps, key) || hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
|
|
7140
7292
|
return true;
|
|
7141
7293
|
}
|
|
7142
7294
|
}
|
|
@@ -7866,6 +8018,8 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7866
8018
|
const needCallTransitionHooks = needTransition(parentSuspense, transition);
|
|
7867
8019
|
if (needCallTransitionHooks) {
|
|
7868
8020
|
transition.beforeEnter(el);
|
|
8021
|
+
} else if (transition && !transition.persisted) {
|
|
8022
|
+
el[deferredEnterKey] = true;
|
|
7869
8023
|
}
|
|
7870
8024
|
hostInsert(el, container, anchor);
|
|
7871
8025
|
if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
|
|
@@ -8011,15 +8165,16 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8011
8165
|
for (let i = 0; i < newChildren.length; i++) {
|
|
8012
8166
|
const oldVNode = oldChildren[i];
|
|
8013
8167
|
const newVNode = newChildren[i];
|
|
8168
|
+
const oldEl = oldVNode.el || resolveAsyncComponentPlaceholder(oldVNode);
|
|
8014
8169
|
const container = (
|
|
8015
8170
|
// oldVNode may be an errored async setup() component inside Suspense
|
|
8016
8171
|
// which will not have a mounted element
|
|
8017
|
-
|
|
8172
|
+
oldEl && // - In the case of a Fragment, we need to provide the actual parent
|
|
8018
8173
|
// of the Fragment itself so it can move its children.
|
|
8019
8174
|
(oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
|
|
8020
8175
|
// which also requires the correct parent container
|
|
8021
8176
|
!isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
|
|
8022
|
-
oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(
|
|
8177
|
+
oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldEl) : (
|
|
8023
8178
|
// In other cases, the parent container is not actually used so we
|
|
8024
8179
|
// just pass the block element here to avoid a DOM parentNode call.
|
|
8025
8180
|
fallbackContainer
|
|
@@ -8173,7 +8328,12 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8173
8328
|
setupComponent(instance, false, optimized);
|
|
8174
8329
|
}
|
|
8175
8330
|
if (instance.asyncDep) {
|
|
8176
|
-
parentSuspense && parentSuspense.registerDep(
|
|
8331
|
+
parentSuspense && parentSuspense.registerDep(
|
|
8332
|
+
instance,
|
|
8333
|
+
setupRenderEffect,
|
|
8334
|
+
optimized,
|
|
8335
|
+
namespace
|
|
8336
|
+
);
|
|
8177
8337
|
if (!initialVNode.el) {
|
|
8178
8338
|
const placeholder = instance.subTree = createVNode(Comment);
|
|
8179
8339
|
processCommentNode(null, placeholder, container, anchor);
|
|
@@ -8196,6 +8356,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8196
8356
|
if (shouldUpdateComponent(n1, n2, optimized)) {
|
|
8197
8357
|
if (instance.asyncDep && !instance.asyncResolved) {
|
|
8198
8358
|
n2.el = n1.el;
|
|
8359
|
+
n2.placeholder = n1.placeholder;
|
|
8199
8360
|
updateComponentPreRender(instance, n2, optimized);
|
|
8200
8361
|
return;
|
|
8201
8362
|
} else {
|
|
@@ -8204,6 +8365,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8204
8365
|
}
|
|
8205
8366
|
} else {
|
|
8206
8367
|
n2.el = n1.el;
|
|
8368
|
+
n2.placeholder = n1.placeholder;
|
|
8207
8369
|
instance.vnode = n2;
|
|
8208
8370
|
}
|
|
8209
8371
|
};
|
|
@@ -8294,16 +8456,23 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8294
8456
|
} else {
|
|
8295
8457
|
let { next, bu, u, parent, vnode } = instance;
|
|
8296
8458
|
{
|
|
8297
|
-
const
|
|
8298
|
-
if (
|
|
8459
|
+
const unresolvedAsyncRoot = locateUnresolvedAsyncRoot(instance);
|
|
8460
|
+
if (unresolvedAsyncRoot) {
|
|
8299
8461
|
if (next) {
|
|
8300
8462
|
next.el = vnode.el;
|
|
8301
8463
|
updateComponentPreRender(instance, next, optimized);
|
|
8302
8464
|
}
|
|
8303
|
-
|
|
8304
|
-
|
|
8305
|
-
if (
|
|
8306
|
-
|
|
8465
|
+
unresolvedAsyncRoot.asyncDep.then(() => {
|
|
8466
|
+
const retry = () => {
|
|
8467
|
+
if (instance.job.flags & 8) return;
|
|
8468
|
+
if (parentSuspense && parentSuspense.pendingBranch) {
|
|
8469
|
+
queuePostRenderEffect(retry, parentSuspense);
|
|
8470
|
+
} else {
|
|
8471
|
+
update();
|
|
8472
|
+
}
|
|
8473
|
+
};
|
|
8474
|
+
retry.flags = 16 | 32;
|
|
8475
|
+
queuePostRenderEffect(retry, parentSuspense);
|
|
8307
8476
|
});
|
|
8308
8477
|
return;
|
|
8309
8478
|
}
|
|
@@ -8333,8 +8502,11 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8333
8502
|
patch(
|
|
8334
8503
|
prevTree,
|
|
8335
8504
|
nextTree,
|
|
8336
|
-
// parent may have changed if it's in a teleport
|
|
8337
|
-
|
|
8505
|
+
// parent may have changed if it's in a teleport. a root that is a
|
|
8506
|
+
// pending async component only has its placeholder comment
|
|
8507
|
+
hostParentNode(
|
|
8508
|
+
prevTree.el || resolveAsyncComponentPlaceholder(prevTree)
|
|
8509
|
+
),
|
|
8338
8510
|
// anchor may have changed if it's in a fragment
|
|
8339
8511
|
getNextHostNode(prevTree),
|
|
8340
8512
|
instance,
|
|
@@ -8760,8 +8932,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8760
8932
|
if (cacheIndex != null && (!vnode.ctx || vnode.ctx === parentComponent)) {
|
|
8761
8933
|
parentComponent.renderCache[cacheIndex] = void 0;
|
|
8762
8934
|
}
|
|
8763
|
-
if (shapeFlag & 256) {
|
|
8764
|
-
parentComponent.ctx.deactivate(vnode);
|
|
8935
|
+
if (shapeFlag & 256 && parentComponent.ctx.deactivate(vnode)) {
|
|
8765
8936
|
return;
|
|
8766
8937
|
}
|
|
8767
8938
|
const shouldInvokeDirs = shapeFlag & 1 && dirs;
|
|
@@ -8822,10 +8993,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8822
8993
|
};
|
|
8823
8994
|
const remove = (vnode) => {
|
|
8824
8995
|
const { type, el, anchor, transition } = vnode;
|
|
8825
|
-
|
|
8826
|
-
|
|
8827
|
-
|
|
8828
|
-
}
|
|
8996
|
+
const isFragment = type === Fragment;
|
|
8997
|
+
if (isFragment && !transition) {
|
|
8998
|
+
removeFragment(el, anchor);
|
|
8829
8999
|
return;
|
|
8830
9000
|
}
|
|
8831
9001
|
if (type === Static) {
|
|
@@ -8835,17 +9005,25 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8835
9005
|
}
|
|
8836
9006
|
return;
|
|
8837
9007
|
}
|
|
9008
|
+
const leavingNode = isFragment ? getTransitionRoot(vnode) : vnode;
|
|
8838
9009
|
const performRemove = () => {
|
|
8839
|
-
|
|
9010
|
+
if (isFragment) {
|
|
9011
|
+
if (hostParentNode(el)) {
|
|
9012
|
+
removeFragment(el, anchor);
|
|
9013
|
+
}
|
|
9014
|
+
} else {
|
|
9015
|
+
hostRemove(el);
|
|
9016
|
+
}
|
|
8840
9017
|
if (transition && !transition.persisted && transition.afterLeave) {
|
|
8841
9018
|
transition.afterLeave();
|
|
8842
9019
|
}
|
|
8843
9020
|
};
|
|
8844
|
-
if (
|
|
9021
|
+
if (leavingNode && leavingNode.shapeFlag & 1 && transition && !transition.persisted) {
|
|
8845
9022
|
const { leave, delayLeave } = transition;
|
|
8846
|
-
const
|
|
9023
|
+
const leavingEl = leavingNode.el;
|
|
9024
|
+
const performLeave = () => leave(leavingEl, performRemove);
|
|
8847
9025
|
if (delayLeave) {
|
|
8848
|
-
delayLeave(
|
|
9026
|
+
delayLeave(leavingEl, performRemove, performLeave);
|
|
8849
9027
|
} else {
|
|
8850
9028
|
performLeave();
|
|
8851
9029
|
}
|
|
@@ -8876,7 +9054,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8876
9054
|
if (job) {
|
|
8877
9055
|
job.flags |= 8;
|
|
8878
9056
|
unmount(subTree, instance, parentSuspense, doRemove);
|
|
8879
|
-
} else if (
|
|
9057
|
+
} else if (subTree) {
|
|
8880
9058
|
subTree.transition = instance.vnode.transition;
|
|
8881
9059
|
unmount(subTree, instance, parentSuspense, doRemove);
|
|
8882
9060
|
}
|
|
@@ -8889,9 +9067,11 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8889
9067
|
parentSuspense
|
|
8890
9068
|
);
|
|
8891
9069
|
}
|
|
8892
|
-
|
|
9070
|
+
const markUnmounted = () => {
|
|
8893
9071
|
instance.isUnmounted = true;
|
|
8894
|
-
}
|
|
9072
|
+
};
|
|
9073
|
+
markUnmounted.flags = 16;
|
|
9074
|
+
queuePostRenderEffect(markUnmounted, parentSuspense);
|
|
8895
9075
|
};
|
|
8896
9076
|
const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {
|
|
8897
9077
|
for (let i = start; i < children.length; i++) {
|
|
@@ -8909,32 +9089,26 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8909
9089
|
const teleportEnd = el && el[TeleportEndKey];
|
|
8910
9090
|
return teleportEnd ? hostNextSibling(teleportEnd) : el;
|
|
8911
9091
|
};
|
|
8912
|
-
let isFlushing = false;
|
|
8913
9092
|
const render = (vnode, container, namespace) => {
|
|
8914
|
-
|
|
8915
|
-
|
|
8916
|
-
if (
|
|
8917
|
-
|
|
8918
|
-
|
|
9093
|
+
const minUid = vnode && container._vnode ? void 0 : vnode && vnode.component ? vnode.component.uid : getNextUid();
|
|
9094
|
+
flushOnAppMount(() => {
|
|
9095
|
+
if (vnode == null) {
|
|
9096
|
+
if (container._vnode) {
|
|
9097
|
+
unmount(container._vnode, null, null, true);
|
|
9098
|
+
}
|
|
9099
|
+
} else {
|
|
9100
|
+
patch(
|
|
9101
|
+
container._vnode || null,
|
|
9102
|
+
vnode,
|
|
9103
|
+
container,
|
|
9104
|
+
null,
|
|
9105
|
+
null,
|
|
9106
|
+
null,
|
|
9107
|
+
namespace
|
|
9108
|
+
);
|
|
8919
9109
|
}
|
|
8920
|
-
|
|
8921
|
-
|
|
8922
|
-
container._vnode || null,
|
|
8923
|
-
vnode,
|
|
8924
|
-
container,
|
|
8925
|
-
null,
|
|
8926
|
-
null,
|
|
8927
|
-
null,
|
|
8928
|
-
namespace
|
|
8929
|
-
);
|
|
8930
|
-
}
|
|
8931
|
-
container._vnode = vnode;
|
|
8932
|
-
if (!isFlushing) {
|
|
8933
|
-
isFlushing = true;
|
|
8934
|
-
flushPreFlushCbs(instance);
|
|
8935
|
-
flushPostFlushCbs();
|
|
8936
|
-
isFlushing = false;
|
|
8937
|
-
}
|
|
9110
|
+
container._vnode = vnode;
|
|
9111
|
+
}, minUid);
|
|
8938
9112
|
};
|
|
8939
9113
|
const internals = {
|
|
8940
9114
|
p: patch,
|
|
@@ -9043,13 +9217,13 @@ function getSequence(arr) {
|
|
|
9043
9217
|
}
|
|
9044
9218
|
return result;
|
|
9045
9219
|
}
|
|
9046
|
-
function
|
|
9220
|
+
function locateUnresolvedAsyncRoot(instance) {
|
|
9047
9221
|
const subComponent = instance.subTree.component;
|
|
9048
9222
|
if (subComponent) {
|
|
9049
9223
|
if (subComponent.asyncDep && !subComponent.asyncResolved) {
|
|
9050
9224
|
return subComponent;
|
|
9051
9225
|
} else {
|
|
9052
|
-
return
|
|
9226
|
+
return locateUnresolvedAsyncRoot(subComponent);
|
|
9053
9227
|
}
|
|
9054
9228
|
}
|
|
9055
9229
|
}
|
|
@@ -9067,11 +9241,16 @@ function resolveAsyncComponentPlaceholder(anchorVnode) {
|
|
|
9067
9241
|
if (instance) {
|
|
9068
9242
|
return resolveAsyncComponentPlaceholder(instance.subTree);
|
|
9069
9243
|
}
|
|
9244
|
+
const suspense = anchorVnode.suspense;
|
|
9245
|
+
if (suspense && suspense.activeBranch) {
|
|
9246
|
+
return resolveAsyncComponentPlaceholder(suspense.activeBranch);
|
|
9247
|
+
}
|
|
9070
9248
|
return null;
|
|
9071
9249
|
}
|
|
9072
9250
|
|
|
9073
9251
|
const isSuspense = (type) => type.__isSuspense;
|
|
9074
9252
|
let suspenseId = 0;
|
|
9253
|
+
const deferredEnterKey = /* @__PURE__ */ Symbol("_deferredEnter");
|
|
9075
9254
|
const SuspenseImpl = {
|
|
9076
9255
|
name: "Suspense",
|
|
9077
9256
|
// In order to make Suspense tree-shakable, we need to avoid importing it
|
|
@@ -9093,11 +9272,22 @@ const SuspenseImpl = {
|
|
|
9093
9272
|
rendererInternals
|
|
9094
9273
|
);
|
|
9095
9274
|
} else {
|
|
9096
|
-
|
|
9097
|
-
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9275
|
+
const suspense = n1.suspense;
|
|
9276
|
+
if (parentSuspense && parentSuspense.deps > 0 && !parentSuspense.isHydrating) {
|
|
9277
|
+
const owner = suspense.parentComponent;
|
|
9278
|
+
const retained = !!owner && owner.suspense === parentSuspense && owner.suspenseId !== parentSuspense.pendingId;
|
|
9279
|
+
if (retained ? (
|
|
9280
|
+
// deps can outlive the pending branch: skip only while it exists
|
|
9281
|
+
parentSuspense.pendingBranch && !isSameVNodeType(
|
|
9282
|
+
n2.ssContent,
|
|
9283
|
+
suspense.pendingBranch || suspense.activeBranch
|
|
9284
|
+
)
|
|
9285
|
+
) : !suspense.isInFallback) {
|
|
9286
|
+
n2.suspense = suspense;
|
|
9287
|
+
suspense.vnode = n2;
|
|
9288
|
+
n2.el = n1.el;
|
|
9289
|
+
return;
|
|
9290
|
+
}
|
|
9101
9291
|
}
|
|
9102
9292
|
patchSuspense(
|
|
9103
9293
|
n1,
|
|
@@ -9122,6 +9312,38 @@ function triggerEvent(vnode, name) {
|
|
|
9122
9312
|
eventListener();
|
|
9123
9313
|
}
|
|
9124
9314
|
}
|
|
9315
|
+
function enterDeferred(branch) {
|
|
9316
|
+
const enters = [];
|
|
9317
|
+
collectDeferredEnters(branch, enters, true);
|
|
9318
|
+
if (enters.length) {
|
|
9319
|
+
queuePostFlushCb(enters);
|
|
9320
|
+
}
|
|
9321
|
+
}
|
|
9322
|
+
function collectDeferredEnters(vnode, enters, isRoot) {
|
|
9323
|
+
const { el, transition, children, shapeFlag } = vnode;
|
|
9324
|
+
if (shapeFlag & 6) {
|
|
9325
|
+
collectDeferredEnters(vnode.component.subTree, enters, isRoot);
|
|
9326
|
+
return;
|
|
9327
|
+
}
|
|
9328
|
+
if (shapeFlag & (128 | 64)) {
|
|
9329
|
+
return;
|
|
9330
|
+
}
|
|
9331
|
+
if (shapeFlag & 1) {
|
|
9332
|
+
if (!isRoot && el && el[deferredEnterKey]) {
|
|
9333
|
+
el[deferredEnterKey] = void 0;
|
|
9334
|
+
if (transition && !transition.persisted) {
|
|
9335
|
+
transition.beforeEnter(el);
|
|
9336
|
+
enters.push(() => transition.enter(el));
|
|
9337
|
+
}
|
|
9338
|
+
}
|
|
9339
|
+
isRoot = false;
|
|
9340
|
+
}
|
|
9341
|
+
if (shapeFlag & 16) {
|
|
9342
|
+
for (let i = 0; i < children.length; i++) {
|
|
9343
|
+
collectDeferredEnters(children[i], enters, isRoot);
|
|
9344
|
+
}
|
|
9345
|
+
}
|
|
9346
|
+
}
|
|
9125
9347
|
function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
|
|
9126
9348
|
const {
|
|
9127
9349
|
p: patch,
|
|
@@ -9221,7 +9443,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
9221
9443
|
unmount(pendingBranch, parentComponent, suspense);
|
|
9222
9444
|
}
|
|
9223
9445
|
suspense.deps = 0;
|
|
9224
|
-
suspense
|
|
9446
|
+
discardEffects(suspense);
|
|
9225
9447
|
suspense.hiddenContainer = createElement("div");
|
|
9226
9448
|
if (isInFallback) {
|
|
9227
9449
|
patch(
|
|
@@ -9299,11 +9521,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
9299
9521
|
} else {
|
|
9300
9522
|
triggerEvent(n2, "onPending");
|
|
9301
9523
|
suspense.pendingBranch = newBranch;
|
|
9302
|
-
|
|
9303
|
-
suspense.pendingId = newBranch.component.suspenseId;
|
|
9304
|
-
} else {
|
|
9305
|
-
suspense.pendingId = suspenseId++;
|
|
9306
|
-
}
|
|
9524
|
+
suspense.pendingId = suspenseId++;
|
|
9307
9525
|
patch(
|
|
9308
9526
|
null,
|
|
9309
9527
|
newBranch,
|
|
@@ -9318,12 +9536,11 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
9318
9536
|
if (suspense.deps <= 0) {
|
|
9319
9537
|
suspense.resolve();
|
|
9320
9538
|
} else {
|
|
9321
|
-
const { timeout
|
|
9539
|
+
const { timeout } = suspense;
|
|
9322
9540
|
if (timeout > 0) {
|
|
9323
|
-
setTimeout(() => {
|
|
9324
|
-
|
|
9325
|
-
|
|
9326
|
-
}
|
|
9541
|
+
suspense.timeoutTimer = setTimeout(() => {
|
|
9542
|
+
suspense.timeoutTimer = void 0;
|
|
9543
|
+
suspense.fallback(suspense.vnode.ssFallback);
|
|
9327
9544
|
}, timeout);
|
|
9328
9545
|
} else if (timeout === 0) {
|
|
9329
9546
|
suspense.fallback(newFallback);
|
|
@@ -9360,6 +9577,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9360
9577
|
deps: 0,
|
|
9361
9578
|
pendingId: suspenseId++,
|
|
9362
9579
|
timeout: typeof timeout === "number" ? timeout : -1,
|
|
9580
|
+
timeoutTimer: void 0,
|
|
9363
9581
|
activeBranch: null,
|
|
9364
9582
|
isFallbackMountPending: false,
|
|
9365
9583
|
pendingBranch: null,
|
|
@@ -9386,7 +9604,8 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9386
9604
|
let hasUpdatedAnchor = false;
|
|
9387
9605
|
if (delayEnter) {
|
|
9388
9606
|
activeBranch.transition.afterLeave = () => {
|
|
9389
|
-
if (pendingId === suspense.pendingId) {
|
|
9607
|
+
if (pendingId === suspense.pendingId && !suspense.isUnmounted) {
|
|
9608
|
+
enterDeferred(pendingBranch);
|
|
9390
9609
|
move(
|
|
9391
9610
|
pendingBranch,
|
|
9392
9611
|
container2,
|
|
@@ -9401,7 +9620,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9401
9620
|
};
|
|
9402
9621
|
}
|
|
9403
9622
|
if (activeBranch && !suspense.isFallbackMountPending) {
|
|
9404
|
-
if (parentNode(
|
|
9623
|
+
if (parentNode(
|
|
9624
|
+
activeBranch.el || resolveAsyncComponentPlaceholder(activeBranch)
|
|
9625
|
+
) === container2) {
|
|
9405
9626
|
anchor = next(activeBranch);
|
|
9406
9627
|
hasUpdatedAnchor = true;
|
|
9407
9628
|
}
|
|
@@ -9411,13 +9632,26 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9411
9632
|
}
|
|
9412
9633
|
}
|
|
9413
9634
|
if (!delayEnter) {
|
|
9635
|
+
enterDeferred(pendingBranch);
|
|
9414
9636
|
move(pendingBranch, container2, anchor, 0);
|
|
9415
9637
|
}
|
|
9416
9638
|
}
|
|
9639
|
+
clearTimeout(suspense.timeoutTimer);
|
|
9640
|
+
suspense.timeoutTimer = void 0;
|
|
9417
9641
|
suspense.isFallbackMountPending = false;
|
|
9418
9642
|
setActiveBranch(suspense, pendingBranch);
|
|
9419
9643
|
suspense.pendingBranch = null;
|
|
9420
9644
|
suspense.isInFallback = false;
|
|
9645
|
+
let kept = 0;
|
|
9646
|
+
for (let i = 0; i < effects.length; i++) {
|
|
9647
|
+
const effect = effects[i];
|
|
9648
|
+
if (effect.flags & 32) {
|
|
9649
|
+
queuePostFlushCb(effect);
|
|
9650
|
+
} else {
|
|
9651
|
+
effects[kept++] = effect;
|
|
9652
|
+
}
|
|
9653
|
+
}
|
|
9654
|
+
effects.length = kept;
|
|
9421
9655
|
let parent = suspense.parent;
|
|
9422
9656
|
let hasUnresolvedAncestor = false;
|
|
9423
9657
|
while (parent) {
|
|
@@ -9446,7 +9680,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9446
9680
|
triggerEvent(vnode2, "onResolve");
|
|
9447
9681
|
},
|
|
9448
9682
|
fallback(fallbackVNode) {
|
|
9449
|
-
if (!suspense.pendingBranch) {
|
|
9683
|
+
if (suspense.isUnmounted || !suspense.pendingBranch) {
|
|
9450
9684
|
return;
|
|
9451
9685
|
}
|
|
9452
9686
|
const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;
|
|
@@ -9454,7 +9688,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9454
9688
|
const anchor2 = next(activeBranch);
|
|
9455
9689
|
const mountFallback = () => {
|
|
9456
9690
|
suspense.isFallbackMountPending = false;
|
|
9457
|
-
if (!suspense.isInFallback) {
|
|
9691
|
+
if (suspense.isUnmounted || !suspense.isInFallback) {
|
|
9458
9692
|
return;
|
|
9459
9693
|
}
|
|
9460
9694
|
const latestFallback = suspense.vnode.ssFallback;
|
|
@@ -9497,25 +9731,16 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9497
9731
|
next() {
|
|
9498
9732
|
return suspense.activeBranch && next(suspense.activeBranch);
|
|
9499
9733
|
},
|
|
9500
|
-
|
|
9734
|
+
// `namespace` intentionally shadows the boundary's own: the dep must be
|
|
9735
|
+
// mounted with the namespace of the position it was rendered at, which can
|
|
9736
|
+
// differ from the boundary's (e.g. a component nested inside an <svg>).
|
|
9737
|
+
registerDep(instance, setupRenderEffect, optimized2, namespace2) {
|
|
9501
9738
|
const isInPendingSuspense = !!suspense.pendingBranch;
|
|
9502
9739
|
if (isInPendingSuspense) {
|
|
9503
9740
|
suspense.deps++;
|
|
9504
9741
|
}
|
|
9505
9742
|
const hydratedEl = instance.vnode.el;
|
|
9506
|
-
|
|
9507
|
-
handleError(err, instance, 0);
|
|
9508
|
-
}).then((asyncSetupResult) => {
|
|
9509
|
-
if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {
|
|
9510
|
-
return;
|
|
9511
|
-
}
|
|
9512
|
-
unsetCurrentInstance();
|
|
9513
|
-
if (hydratedEl && !instance.scope.active) {
|
|
9514
|
-
if (isInPendingSuspense && --suspense.deps === 0) {
|
|
9515
|
-
suspense.resolve();
|
|
9516
|
-
}
|
|
9517
|
-
return;
|
|
9518
|
-
}
|
|
9743
|
+
const render = (asyncSetupResult) => {
|
|
9519
9744
|
instance.asyncResolved = true;
|
|
9520
9745
|
const { vnode: vnode2 } = instance;
|
|
9521
9746
|
handleSetupResult(instance, asyncSetupResult, false);
|
|
@@ -9534,7 +9759,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9534
9759
|
// consider the comment placeholder case.
|
|
9535
9760
|
hydratedEl ? null : next(instance.subTree),
|
|
9536
9761
|
suspense,
|
|
9537
|
-
|
|
9762
|
+
namespace2,
|
|
9538
9763
|
optimized2
|
|
9539
9764
|
);
|
|
9540
9765
|
if (placeholder) {
|
|
@@ -9542,13 +9767,57 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9542
9767
|
remove(placeholder);
|
|
9543
9768
|
}
|
|
9544
9769
|
updateHOCHostEl(instance, vnode2.el);
|
|
9545
|
-
|
|
9770
|
+
};
|
|
9771
|
+
instance.asyncDep.catch((err) => {
|
|
9772
|
+
handleError(err, instance, 0, false, true);
|
|
9773
|
+
return () => null;
|
|
9774
|
+
}).then((asyncSetupResult) => {
|
|
9775
|
+
if (instance.isUnmounted || suspense.isUnmounted) {
|
|
9776
|
+
return;
|
|
9777
|
+
}
|
|
9778
|
+
const isPendingDep = isInPendingSuspense && suspense.pendingId === instance.suspenseId;
|
|
9779
|
+
unsetCurrentInstance();
|
|
9780
|
+
if (!instance.scope.active) {
|
|
9781
|
+
if (isPendingDep && --suspense.deps === 0) {
|
|
9782
|
+
suspense.resolve();
|
|
9783
|
+
}
|
|
9784
|
+
return;
|
|
9785
|
+
}
|
|
9786
|
+
if (!isPendingDep && suspense.pendingBranch) {
|
|
9787
|
+
const job = () => {
|
|
9788
|
+
if (instance.isUnmounted || suspense.isUnmounted || !instance.scope.active) {
|
|
9789
|
+
return;
|
|
9790
|
+
}
|
|
9791
|
+
if (suspense.pendingBranch) {
|
|
9792
|
+
queueEffectWithSuspense(job, suspense);
|
|
9793
|
+
} else {
|
|
9794
|
+
render(asyncSetupResult);
|
|
9795
|
+
}
|
|
9796
|
+
};
|
|
9797
|
+
job.flags = 16 | 32;
|
|
9798
|
+
queueEffectWithSuspense(job, suspense);
|
|
9799
|
+
return;
|
|
9800
|
+
}
|
|
9801
|
+
render(asyncSetupResult);
|
|
9802
|
+
if (isPendingDep && --suspense.deps === 0) {
|
|
9546
9803
|
suspense.resolve();
|
|
9547
9804
|
}
|
|
9548
9805
|
});
|
|
9549
9806
|
},
|
|
9550
9807
|
unmount(parentSuspense2, doRemove) {
|
|
9551
9808
|
suspense.isUnmounted = true;
|
|
9809
|
+
clearTimeout(suspense.timeoutTimer);
|
|
9810
|
+
suspense.timeoutTimer = void 0;
|
|
9811
|
+
if (parentSuspenseId !== void 0) {
|
|
9812
|
+
const parent = suspense.parent;
|
|
9813
|
+
const pendingId = parentSuspenseId;
|
|
9814
|
+
parentSuspenseId = void 0;
|
|
9815
|
+
queuePostFlushCb(() => {
|
|
9816
|
+
if (parent.pendingId === pendingId && !parent.isUnmounted && --parent.deps === 0) {
|
|
9817
|
+
parent.resolve();
|
|
9818
|
+
}
|
|
9819
|
+
});
|
|
9820
|
+
}
|
|
9552
9821
|
if (suspense.activeBranch) {
|
|
9553
9822
|
unmount(
|
|
9554
9823
|
suspense.activeBranch,
|
|
@@ -9558,12 +9827,8 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
9558
9827
|
);
|
|
9559
9828
|
}
|
|
9560
9829
|
if (suspense.pendingBranch) {
|
|
9561
|
-
unmount(
|
|
9562
|
-
|
|
9563
|
-
parentComponent,
|
|
9564
|
-
parentSuspense2,
|
|
9565
|
-
doRemove
|
|
9566
|
-
);
|
|
9830
|
+
unmount(suspense.pendingBranch, parentComponent, suspense, doRemove);
|
|
9831
|
+
discardEffects(suspense);
|
|
9567
9832
|
}
|
|
9568
9833
|
}
|
|
9569
9834
|
};
|
|
@@ -9630,6 +9895,16 @@ function normalizeSuspenseSlot(s) {
|
|
|
9630
9895
|
}
|
|
9631
9896
|
return s;
|
|
9632
9897
|
}
|
|
9898
|
+
function discardEffects(suspense) {
|
|
9899
|
+
const { effects } = suspense;
|
|
9900
|
+
for (let i = 0; i < effects.length; i++) {
|
|
9901
|
+
const effect = effects[i];
|
|
9902
|
+
if (effect.flags & 16) {
|
|
9903
|
+
queuePostFlushCb(effect);
|
|
9904
|
+
}
|
|
9905
|
+
}
|
|
9906
|
+
effects.length = 0;
|
|
9907
|
+
}
|
|
9633
9908
|
function queueEffectWithSuspense(fn, suspense) {
|
|
9634
9909
|
if (suspense && suspense.pendingBranch) {
|
|
9635
9910
|
if (isArray(fn)) {
|
|
@@ -9902,7 +10177,8 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
|
|
|
9902
10177
|
}
|
|
9903
10178
|
function guardReactiveProps(props) {
|
|
9904
10179
|
if (!props) return null;
|
|
9905
|
-
|
|
10180
|
+
if (isProxy(props)) return extend$1({}, props);
|
|
10181
|
+
return isInternalObject(props) ? extend$1({}, props[rawAttrsKey] || props) : props;
|
|
9906
10182
|
}
|
|
9907
10183
|
function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
|
|
9908
10184
|
const { props, ref, patchFlag, children, transition } = vnode;
|
|
@@ -10077,8 +10353,11 @@ function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
|
|
|
10077
10353
|
]);
|
|
10078
10354
|
}
|
|
10079
10355
|
|
|
10080
|
-
const emptyAppContext = createAppContext();
|
|
10356
|
+
const emptyAppContext = /* @__PURE__ */ createAppContext();
|
|
10081
10357
|
let uid = 0;
|
|
10358
|
+
function getNextUid() {
|
|
10359
|
+
return uid;
|
|
10360
|
+
}
|
|
10082
10361
|
function createComponentInstance(vnode, parent, suspense) {
|
|
10083
10362
|
const type = vnode.type;
|
|
10084
10363
|
const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
|
|
@@ -10254,7 +10533,8 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
10254
10533
|
setInSSRSetupState(false);
|
|
10255
10534
|
}
|
|
10256
10535
|
}).catch((e) => {
|
|
10257
|
-
handleError(e, instance, 0);
|
|
10536
|
+
handleError(e, instance, 0, void 0, true);
|
|
10537
|
+
instance.ssrRender = (_, push) => push("<!---->");
|
|
10258
10538
|
});
|
|
10259
10539
|
} else {
|
|
10260
10540
|
instance.asyncDep = setupResult;
|
|
@@ -10335,10 +10615,11 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
|
|
|
10335
10615
|
}
|
|
10336
10616
|
}
|
|
10337
10617
|
}
|
|
10618
|
+
const rawAttrsKey = /* @__PURE__ */ Symbol();
|
|
10338
10619
|
const attrsProxyHandlers = {
|
|
10339
10620
|
get(target, key) {
|
|
10340
10621
|
track(target, "get", "");
|
|
10341
|
-
return target[key];
|
|
10622
|
+
return key === rawAttrsKey ? target : target[key];
|
|
10342
10623
|
}
|
|
10343
10624
|
};
|
|
10344
10625
|
function createSetupContext(instance) {
|
|
@@ -10442,7 +10723,7 @@ function isMemoSame(cached, memo) {
|
|
|
10442
10723
|
return true;
|
|
10443
10724
|
}
|
|
10444
10725
|
|
|
10445
|
-
const version = "3.5.
|
|
10726
|
+
const version = "3.5.45";
|
|
10446
10727
|
const warn$1 = NOOP;
|
|
10447
10728
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
10448
10729
|
const devtools = void 0;
|
|
@@ -10990,7 +11271,9 @@ function patchStyle(el, prev, next) {
|
|
|
10990
11271
|
}
|
|
10991
11272
|
}
|
|
10992
11273
|
if (vShowOriginalDisplay in el) {
|
|
10993
|
-
|
|
11274
|
+
if (!isCssString || prev !== next) {
|
|
11275
|
+
el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
|
|
11276
|
+
}
|
|
10994
11277
|
if (el[vShowHidden]) {
|
|
10995
11278
|
style.display = "none";
|
|
10996
11279
|
}
|
|
@@ -11478,7 +11761,9 @@ class VueElement extends BaseClass {
|
|
|
11478
11761
|
if (this.shadowRoot) {
|
|
11479
11762
|
this._applyStyles(styles);
|
|
11480
11763
|
}
|
|
11481
|
-
this.
|
|
11764
|
+
if (this._connected) {
|
|
11765
|
+
this._mount(def);
|
|
11766
|
+
}
|
|
11482
11767
|
};
|
|
11483
11768
|
const asyncDef = this._def.__asyncLoader;
|
|
11484
11769
|
if (asyncDef) {
|
|
@@ -11788,6 +12073,7 @@ const positionMap = /* @__PURE__ */ new WeakMap();
|
|
|
11788
12073
|
const newPositionMap = /* @__PURE__ */ new WeakMap();
|
|
11789
12074
|
const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
|
|
11790
12075
|
const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
|
|
12076
|
+
const pendingGroups = /* @__PURE__ */ new WeakMap();
|
|
11791
12077
|
const decorate = (t) => {
|
|
11792
12078
|
delete t.props.mode;
|
|
11793
12079
|
{
|
|
@@ -11806,21 +12092,30 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
|
|
|
11806
12092
|
const state = useTransitionState();
|
|
11807
12093
|
let prevChildren;
|
|
11808
12094
|
let children;
|
|
11809
|
-
|
|
11810
|
-
|
|
11811
|
-
|
|
12095
|
+
let origins;
|
|
12096
|
+
let moves;
|
|
12097
|
+
const willMove = () => {
|
|
12098
|
+
if (moves === void 0) {
|
|
12099
|
+
moves = prevChildren.length > 0 && hasCSSTransform(
|
|
12100
|
+
prevChildren[0].el,
|
|
12101
|
+
instance.vnode.el,
|
|
12102
|
+
resolveMoveClass(props)
|
|
12103
|
+
);
|
|
11812
12104
|
}
|
|
11813
|
-
|
|
11814
|
-
|
|
11815
|
-
|
|
11816
|
-
|
|
11817
|
-
|
|
11818
|
-
)) {
|
|
12105
|
+
return moves;
|
|
12106
|
+
};
|
|
12107
|
+
onUpdated(() => {
|
|
12108
|
+
pendingGroups.delete(instance);
|
|
12109
|
+
if (!willMove()) {
|
|
11819
12110
|
prevChildren = [];
|
|
12111
|
+
origins = void 0;
|
|
11820
12112
|
return;
|
|
11821
12113
|
}
|
|
12114
|
+
const moveClass = resolveMoveClass(props);
|
|
11822
12115
|
prevChildren.forEach(callPendingCbs);
|
|
11823
|
-
|
|
12116
|
+
const shift = origins && getOriginShift(origins, instance.vnode.el);
|
|
12117
|
+
origins = void 0;
|
|
12118
|
+
prevChildren.forEach((c) => recordPosition(c, shift));
|
|
11824
12119
|
const movedChildren = prevChildren.filter(applyTranslation);
|
|
11825
12120
|
forceReflow(instance.vnode.el);
|
|
11826
12121
|
movedChildren.forEach((c) => {
|
|
@@ -11853,6 +12148,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
|
|
|
11853
12148
|
tag = "span";
|
|
11854
12149
|
}
|
|
11855
12150
|
prevChildren = [];
|
|
12151
|
+
moves = void 0;
|
|
11856
12152
|
if (children) {
|
|
11857
12153
|
for (let i = 0; i < children.length; i++) {
|
|
11858
12154
|
const child = children[i];
|
|
@@ -11882,6 +12178,10 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
|
|
|
11882
12178
|
);
|
|
11883
12179
|
}
|
|
11884
12180
|
}
|
|
12181
|
+
if (prevChildren.length) {
|
|
12182
|
+
origins = getOrigins(instance);
|
|
12183
|
+
pendingGroups.set(instance, willMove);
|
|
12184
|
+
}
|
|
11885
12185
|
return createVNode(tag, null, children);
|
|
11886
12186
|
};
|
|
11887
12187
|
}
|
|
@@ -11896,8 +12196,11 @@ function callPendingCbs(c) {
|
|
|
11896
12196
|
el[enterCbKey]();
|
|
11897
12197
|
}
|
|
11898
12198
|
}
|
|
11899
|
-
function
|
|
11900
|
-
|
|
12199
|
+
function resolveMoveClass(props) {
|
|
12200
|
+
return props.moveClass || `${props.name || "v"}-move`;
|
|
12201
|
+
}
|
|
12202
|
+
function recordPosition(c, shift) {
|
|
12203
|
+
newPositionMap.set(c, getPosition(c.el, shift));
|
|
11901
12204
|
}
|
|
11902
12205
|
function applyTranslation(c) {
|
|
11903
12206
|
const oldPos = positionMap.get(c);
|
|
@@ -11921,13 +12224,41 @@ function applyTranslation(c) {
|
|
|
11921
12224
|
return c;
|
|
11922
12225
|
}
|
|
11923
12226
|
}
|
|
11924
|
-
function getPosition(el) {
|
|
12227
|
+
function getPosition(el, shift) {
|
|
11925
12228
|
const rect = el.getBoundingClientRect();
|
|
11926
12229
|
return {
|
|
11927
|
-
left: rect.left,
|
|
11928
|
-
top: rect.top
|
|
12230
|
+
left: rect.left - (shift ? shift.left : 0),
|
|
12231
|
+
top: rect.top - (shift ? shift.top : 0)
|
|
11929
12232
|
};
|
|
11930
12233
|
}
|
|
12234
|
+
function getOrigins(instance) {
|
|
12235
|
+
let origins;
|
|
12236
|
+
for (let group = instance.parent; group; group = group.parent) {
|
|
12237
|
+
const willMove = pendingGroups.get(group);
|
|
12238
|
+
if (willMove) {
|
|
12239
|
+
const item = findItem(group.vnode.el, instance.vnode.el);
|
|
12240
|
+
if (item) {
|
|
12241
|
+
(origins || (origins = [])).push(
|
|
12242
|
+
extend$1(getPosition(item), { item, willMove })
|
|
12243
|
+
);
|
|
12244
|
+
}
|
|
12245
|
+
}
|
|
12246
|
+
}
|
|
12247
|
+
return origins;
|
|
12248
|
+
}
|
|
12249
|
+
function findItem(root, node) {
|
|
12250
|
+
const container = root.nodeType === 1 ? root : root.parentNode;
|
|
12251
|
+
while (node && node.parentNode !== container) {
|
|
12252
|
+
node = node.parentNode;
|
|
12253
|
+
}
|
|
12254
|
+
if (node && node.nodeType === 1) {
|
|
12255
|
+
return node;
|
|
12256
|
+
}
|
|
12257
|
+
}
|
|
12258
|
+
function getOriginShift(origins, root) {
|
|
12259
|
+
const origin = origins.find((o) => o.willMove() && o.item.contains(root));
|
|
12260
|
+
return origin && getPosition(origin.item, origin);
|
|
12261
|
+
}
|
|
11931
12262
|
function hasCSSTransform(el, root, moveClass) {
|
|
11932
12263
|
const clone = el.cloneNode();
|
|
11933
12264
|
const _vtc = el[vtcKey];
|
|
@@ -12122,18 +12453,18 @@ const vModelSelect = {
|
|
|
12122
12453
|
},
|
|
12123
12454
|
// set value in mounted & updated because <select> relies on its children
|
|
12124
12455
|
// <option>s.
|
|
12125
|
-
mounted(el, { value }) {
|
|
12126
|
-
setSelected(el, value);
|
|
12456
|
+
mounted(el, { value, modifiers: { number } }) {
|
|
12457
|
+
setSelected(el, value, number);
|
|
12127
12458
|
},
|
|
12128
12459
|
beforeUpdate(el, { value }, vnode) {
|
|
12129
12460
|
el._modelValue = value;
|
|
12130
12461
|
el[assignKey] = getModelAssigner(vnode);
|
|
12131
12462
|
},
|
|
12132
|
-
updated(el, { value }) {
|
|
12463
|
+
updated(el, { value, modifiers: { number } }) {
|
|
12133
12464
|
const pending = el._pendingValue;
|
|
12134
12465
|
el._pendingValue = void 0;
|
|
12135
12466
|
if (!pending || pending[0] !== el.multiple || !isSameSelectValue(value, pending[1], pending[0])) {
|
|
12136
|
-
setSelected(el, value);
|
|
12467
|
+
setSelected(el, value, number);
|
|
12137
12468
|
}
|
|
12138
12469
|
}
|
|
12139
12470
|
};
|
|
@@ -12149,7 +12480,7 @@ function isSameSelectValue(value, assignedValue, multiple) {
|
|
|
12149
12480
|
}
|
|
12150
12481
|
return false;
|
|
12151
12482
|
}
|
|
12152
|
-
function setSelected(el, value) {
|
|
12483
|
+
function setSelected(el, value, number = false) {
|
|
12153
12484
|
const isMultiple = el.multiple;
|
|
12154
12485
|
const isArrayValue = isArray(value);
|
|
12155
12486
|
if (isMultiple && !isArrayValue && !isSet(value)) {
|
|
@@ -12167,7 +12498,7 @@ function setSelected(el, value) {
|
|
|
12167
12498
|
option.selected = looseIndexOf(value, optionValue) > -1;
|
|
12168
12499
|
}
|
|
12169
12500
|
} else {
|
|
12170
|
-
option.selected = value.has(optionValue);
|
|
12501
|
+
option.selected = value.has(optionValue) || number && typeof optionValue === "string" && value.has(looseToNumber(optionValue));
|
|
12171
12502
|
}
|
|
12172
12503
|
} else if (looseEqual(getValue(option), value)) {
|
|
12173
12504
|
if (el.selectedIndex !== i) el.selectedIndex = i;
|
|
@@ -13833,7 +14164,8 @@ const errorMessages = {
|
|
|
13833
14164
|
[42]: `v-model value must be a valid JavaScript member expression.`,
|
|
13834
14165
|
[43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
|
|
13835
14166
|
[44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
|
|
13836
|
-
Use a v-bind binding combined with a v-on listener that emits update:x event instead
|
|
14167
|
+
Use a v-bind binding combined with a v-on listener that emits update:x event instead.
|
|
14168
|
+
For props declared with defineModel(), assign the returned ref to a variable and use v-model on that variable.`,
|
|
13837
14169
|
[45]: `v-model cannot be used on a const binding because it is not writable.`,
|
|
13838
14170
|
[46]: `Error parsing JavaScript expression: `,
|
|
13839
14171
|
[47]: `<KeepAlive> expects exactly one child component.`,
|
|
@@ -15161,7 +15493,11 @@ function getLoc(start, end) {
|
|
|
15161
15493
|
};
|
|
15162
15494
|
}
|
|
15163
15495
|
function cloneLoc(loc) {
|
|
15164
|
-
return
|
|
15496
|
+
return {
|
|
15497
|
+
start: extend$1({}, loc.start),
|
|
15498
|
+
end: extend$1({}, loc.end),
|
|
15499
|
+
source: loc.source
|
|
15500
|
+
};
|
|
15165
15501
|
}
|
|
15166
15502
|
function setLocEnd(loc, end) {
|
|
15167
15503
|
loc.end = tokenizer.getPos(end);
|
|
@@ -17178,7 +17514,7 @@ const transformFor = createStructuralDirectiveTransform(
|
|
|
17178
17514
|
createCompoundExpression([`const _memo = (`, memo.exp, `)`]),
|
|
17179
17515
|
createCompoundExpression([
|
|
17180
17516
|
`if (_cached && _cached.el`,
|
|
17181
|
-
...keyExp ? [` && _cached.key === `, keyExp] : [],
|
|
17517
|
+
...keyExp ? [` && _cached.key === (`, keyExp, `)`] : [],
|
|
17182
17518
|
` && ${context.helperString(
|
|
17183
17519
|
IS_MEMO_SAME
|
|
17184
17520
|
)}(_cached, _memo)) return _cached`
|
|
@@ -19213,6 +19549,41 @@ const transformShow = (dir, node, context) => {
|
|
|
19213
19549
|
};
|
|
19214
19550
|
};
|
|
19215
19551
|
|
|
19552
|
+
const transformTransition = (node, context) => {
|
|
19553
|
+
if (node.type === 1 && node.tagType === 1) {
|
|
19554
|
+
const component = context.isBuiltInComponent(node.tag);
|
|
19555
|
+
if (component === TRANSITION) {
|
|
19556
|
+
return () => {
|
|
19557
|
+
if (!node.children.length) {
|
|
19558
|
+
return;
|
|
19559
|
+
}
|
|
19560
|
+
hasMultipleChildren(node);
|
|
19561
|
+
const child = node.children[0];
|
|
19562
|
+
if (child.type === 1) {
|
|
19563
|
+
for (const p of child.props) {
|
|
19564
|
+
if (p.type === 7 && p.name === "show") {
|
|
19565
|
+
node.props.push({
|
|
19566
|
+
type: 6,
|
|
19567
|
+
name: "persisted",
|
|
19568
|
+
nameLoc: node.loc,
|
|
19569
|
+
value: void 0,
|
|
19570
|
+
loc: node.loc
|
|
19571
|
+
});
|
|
19572
|
+
}
|
|
19573
|
+
}
|
|
19574
|
+
}
|
|
19575
|
+
};
|
|
19576
|
+
}
|
|
19577
|
+
}
|
|
19578
|
+
};
|
|
19579
|
+
function hasMultipleChildren(node) {
|
|
19580
|
+
const children = node.children = node.children.filter(
|
|
19581
|
+
(c) => !isCommentOrWhitespace(c)
|
|
19582
|
+
);
|
|
19583
|
+
const child = children[0];
|
|
19584
|
+
return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren);
|
|
19585
|
+
}
|
|
19586
|
+
|
|
19216
19587
|
const expReplaceRE = /__VUE_EXP_START__(.*?)__VUE_EXP_END__/g;
|
|
19217
19588
|
const stringifyStatic = (children, context, parent) => {
|
|
19218
19589
|
if (context.scopes.vSlot > 0) {
|
|
@@ -19265,7 +19636,7 @@ const stringifyStatic = (children, context, parent) => {
|
|
|
19265
19636
|
const child = children[i];
|
|
19266
19637
|
const isCached = isParentCached || getCachedNode(child);
|
|
19267
19638
|
if (isCached) {
|
|
19268
|
-
const result = analyzeNode(child);
|
|
19639
|
+
const result = analyzeNode(child, context);
|
|
19269
19640
|
if (result) {
|
|
19270
19641
|
nc += result[0];
|
|
19271
19642
|
ec += result[1];
|
|
@@ -19292,7 +19663,7 @@ const isStringifiableAttr = (name, ns) => {
|
|
|
19292
19663
|
const isNonStringifiable = /* @__PURE__ */ makeMap(
|
|
19293
19664
|
`caption,thead,tr,th,tbody,td,tfoot,colgroup,col`
|
|
19294
19665
|
);
|
|
19295
|
-
function analyzeNode(node) {
|
|
19666
|
+
function analyzeNode(node, context) {
|
|
19296
19667
|
if (node.type === 1 && isNonStringifiable(node.tag)) {
|
|
19297
19668
|
return false;
|
|
19298
19669
|
}
|
|
@@ -19323,6 +19694,9 @@ function analyzeNode(node) {
|
|
|
19323
19694
|
if (p.exp && (p.exp.type === 8 || p.exp.constType < 3)) {
|
|
19324
19695
|
return bail();
|
|
19325
19696
|
}
|
|
19697
|
+
if (p.arg && p.arg.isStatic && (isBooleanAttr(p.arg.content) || p.arg.content === "hidden") && context.isCustomElement(node2.tag)) {
|
|
19698
|
+
return bail();
|
|
19699
|
+
}
|
|
19326
19700
|
if (isOptionTag && isStaticArgOf(p.arg, "value") && p.exp && !p.exp.isStatic) {
|
|
19327
19701
|
return bail();
|
|
19328
19702
|
}
|
|
@@ -19370,8 +19744,9 @@ function stringifyNode(node, context) {
|
|
|
19370
19744
|
}
|
|
19371
19745
|
}
|
|
19372
19746
|
function stringifyElement(node, context) {
|
|
19747
|
+
var _a;
|
|
19373
19748
|
let res = `<${node.tag}`;
|
|
19374
|
-
let innerHTML =
|
|
19749
|
+
let innerHTML = void 0;
|
|
19375
19750
|
for (let i = 0; i < node.props.length; i++) {
|
|
19376
19751
|
const p = node.props[i];
|
|
19377
19752
|
if (p.type === 6) {
|
|
@@ -19386,13 +19761,10 @@ function stringifyElement(node, context) {
|
|
|
19386
19761
|
res += ` ${p.arg.content}="__VUE_EXP_START__${exp.content}__VUE_EXP_END__"`;
|
|
19387
19762
|
continue;
|
|
19388
19763
|
}
|
|
19389
|
-
if ((isBooleanAttr(p.arg.content) || p.arg.content === "hidden") && exp.content === "false") {
|
|
19390
|
-
continue;
|
|
19391
|
-
}
|
|
19392
19764
|
let evaluated = evaluateConstant(exp);
|
|
19393
19765
|
if (evaluated != null) {
|
|
19394
|
-
const arg = p.arg
|
|
19395
|
-
if (arg
|
|
19766
|
+
const arg = p.arg.content;
|
|
19767
|
+
if ((isBooleanAttr(arg) || arg === "hidden") && !includeBooleanAttr(evaluated)) {
|
|
19396
19768
|
continue;
|
|
19397
19769
|
}
|
|
19398
19770
|
if (arg === "class") {
|
|
@@ -19405,7 +19777,7 @@ function stringifyElement(node, context) {
|
|
|
19405
19777
|
)}"`;
|
|
19406
19778
|
}
|
|
19407
19779
|
} else if (p.name === "html") {
|
|
19408
|
-
innerHTML = evaluateConstant(p.exp);
|
|
19780
|
+
innerHTML = (_a = evaluateConstant(p.exp)) != null ? _a : "";
|
|
19409
19781
|
} else if (p.name === "text") {
|
|
19410
19782
|
innerHTML = escapeHtml(
|
|
19411
19783
|
toDisplayString(evaluateConstant(p.exp))
|
|
@@ -19417,7 +19789,7 @@ function stringifyElement(node, context) {
|
|
|
19417
19789
|
res += ` ${context.scopeId}`;
|
|
19418
19790
|
}
|
|
19419
19791
|
res += `>`;
|
|
19420
|
-
if (innerHTML) {
|
|
19792
|
+
if (innerHTML !== void 0) {
|
|
19421
19793
|
res += innerHTML;
|
|
19422
19794
|
} else {
|
|
19423
19795
|
for (let i = 0; i < node.children.length; i++) {
|
|
@@ -19458,6 +19830,7 @@ const ignoreSideEffectTags = (node, context) => {
|
|
|
19458
19830
|
|
|
19459
19831
|
const DOMNodeTransforms = [
|
|
19460
19832
|
transformStyle,
|
|
19833
|
+
transformTransition,
|
|
19461
19834
|
...[]
|
|
19462
19835
|
];
|
|
19463
19836
|
const DOMDirectiveTransforms = {
|