@vue/runtime-core 3.5.39 → 3.5.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/runtime-core.cjs.js +98 -37
- package/dist/runtime-core.cjs.prod.js +71 -35
- package/dist/runtime-core.d.ts +9 -9
- package/dist/runtime-core.esm-bundler.js +98 -37
- package/package.json +3 -3
package/dist/runtime-core.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/runtime-core v3.5.
|
|
2
|
+
* @vue/runtime-core v3.5.41
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -328,7 +328,9 @@ function queuePostFlushCb(cb) {
|
|
|
328
328
|
cb.flags |= 1;
|
|
329
329
|
}
|
|
330
330
|
} else {
|
|
331
|
-
|
|
331
|
+
for (let i = 0; i < cb.length; i++) {
|
|
332
|
+
pendingPostFlushCbs.push(cb[i]);
|
|
333
|
+
}
|
|
332
334
|
}
|
|
333
335
|
queueFlush();
|
|
334
336
|
}
|
|
@@ -364,7 +366,9 @@ function flushPostFlushCbs(seen) {
|
|
|
364
366
|
);
|
|
365
367
|
pendingPostFlushCbs.length = 0;
|
|
366
368
|
if (activePostFlushCbs) {
|
|
367
|
-
|
|
369
|
+
for (let i = 0; i < deduped.length; i++) {
|
|
370
|
+
activePostFlushCbs.push(deduped[i]);
|
|
371
|
+
}
|
|
368
372
|
return;
|
|
369
373
|
}
|
|
370
374
|
activePostFlushCbs = deduped;
|
|
@@ -694,10 +698,12 @@ function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
|
|
|
694
698
|
setBlockTracking(-1);
|
|
695
699
|
}
|
|
696
700
|
const prevInstance = setCurrentRenderingInstance(ctx);
|
|
701
|
+
const prevStackSize = blockStack.length;
|
|
697
702
|
let res;
|
|
698
703
|
try {
|
|
699
704
|
res = fn(...args);
|
|
700
705
|
} finally {
|
|
706
|
+
for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
|
|
701
707
|
setCurrentRenderingInstance(prevInstance);
|
|
702
708
|
if (renderFnWithContext._d) {
|
|
703
709
|
setBlockTracking(1);
|
|
@@ -1651,7 +1657,11 @@ function getInnerChild$1(vnode) {
|
|
|
1651
1657
|
function setTransitionHooks(vnode, hooks) {
|
|
1652
1658
|
if (vnode.shapeFlag & 6 && vnode.component) {
|
|
1653
1659
|
vnode.transition = hooks;
|
|
1654
|
-
|
|
1660
|
+
const subTree = vnode.component.subTree;
|
|
1661
|
+
setTransitionHooks(
|
|
1662
|
+
isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree,
|
|
1663
|
+
hooks
|
|
1664
|
+
);
|
|
1655
1665
|
} else if (vnode.shapeFlag & 128) {
|
|
1656
1666
|
vnode.ssContent.transition = hooks.clone(vnode.ssContent);
|
|
1657
1667
|
vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
|
|
@@ -1811,12 +1821,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1811
1821
|
}
|
|
1812
1822
|
}
|
|
1813
1823
|
if (shared.isFunction(ref)) {
|
|
1814
|
-
|
|
1815
|
-
try {
|
|
1816
|
-
callWithErrorHandling(ref, owner, 12, [value, refs]);
|
|
1817
|
-
} finally {
|
|
1818
|
-
reactivity.resetTracking();
|
|
1819
|
-
}
|
|
1824
|
+
callWithErrorHandling(ref, owner, 12, [value, refs]);
|
|
1820
1825
|
} else {
|
|
1821
1826
|
const _isString = shared.isString(ref);
|
|
1822
1827
|
const _isRef = reactivity.isRef(ref);
|
|
@@ -2187,6 +2192,7 @@ Server rendered element contains more child nodes than client vdom.`
|
|
|
2187
2192
|
if (props) {
|
|
2188
2193
|
{
|
|
2189
2194
|
const isCustomElement = el.tagName.includes("-");
|
|
2195
|
+
const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
|
|
2190
2196
|
for (const key in props) {
|
|
2191
2197
|
if (// #11189 skip if this node has directives that have created hooks
|
|
2192
2198
|
// as it could have mutated the DOM in any possible way
|
|
@@ -2195,7 +2201,10 @@ Server rendered element contains more child nodes than client vdom.`
|
|
|
2195
2201
|
}
|
|
2196
2202
|
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || shared.isOn(key) && !shared.isReservedProp(key) || // force hydrate v-bind with .prop modifiers
|
|
2197
2203
|
key[0] === "." || isCustomElement && !shared.isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
|
|
2198
|
-
|
|
2204
|
+
if (isUnchangedResourceProp(el, key, props[key])) {
|
|
2205
|
+
continue;
|
|
2206
|
+
}
|
|
2207
|
+
patchProp(el, key, null, props[key], namespace, parentComponent);
|
|
2199
2208
|
}
|
|
2200
2209
|
}
|
|
2201
2210
|
}
|
|
@@ -2377,6 +2386,13 @@ Server rendered element contains fewer child nodes than client vdom.`
|
|
|
2377
2386
|
};
|
|
2378
2387
|
return [hydrate, hydrateNode];
|
|
2379
2388
|
}
|
|
2389
|
+
const resourceProps = /* @__PURE__ */ new Set(["src", "srcset", "href", "poster"]);
|
|
2390
|
+
function isUnchangedResourceProp(el, key, clientValue) {
|
|
2391
|
+
if (!resourceProps.has(key)) {
|
|
2392
|
+
return false;
|
|
2393
|
+
}
|
|
2394
|
+
return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);
|
|
2395
|
+
}
|
|
2380
2396
|
function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
2381
2397
|
let mismatchType;
|
|
2382
2398
|
let mismatchKey;
|
|
@@ -2414,7 +2430,10 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
|
2414
2430
|
mismatchKey = "style";
|
|
2415
2431
|
}
|
|
2416
2432
|
} else if (el instanceof SVGElement && shared.isKnownSvgAttr(key) || el instanceof HTMLElement && (shared.isBooleanAttr(key) || shared.isKnownHtmlAttr(key))) {
|
|
2417
|
-
if (
|
|
2433
|
+
if (key === "hidden") {
|
|
2434
|
+
actual = normalizeHiddenValue(el.getAttribute(key));
|
|
2435
|
+
expected = normalizeHiddenValue(clientValue);
|
|
2436
|
+
} else if (shared.isBooleanAttr(key)) {
|
|
2418
2437
|
actual = el.hasAttribute(key);
|
|
2419
2438
|
expected = shared.includeBooleanAttr(clientValue);
|
|
2420
2439
|
} else if (clientValue == null) {
|
|
@@ -2450,6 +2469,15 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
|
2450
2469
|
}
|
|
2451
2470
|
return false;
|
|
2452
2471
|
}
|
|
2472
|
+
function normalizeHiddenValue(value) {
|
|
2473
|
+
if (!shared.isRenderableAttrValue(value)) {
|
|
2474
|
+
return false;
|
|
2475
|
+
}
|
|
2476
|
+
if (shared.isString(value)) {
|
|
2477
|
+
return value.toLowerCase() === "until-found" ? "until-found" : "";
|
|
2478
|
+
}
|
|
2479
|
+
return shared.includeBooleanAttr(value) ? "" : false;
|
|
2480
|
+
}
|
|
2453
2481
|
function toClassSet(str) {
|
|
2454
2482
|
return new Set(str.trim().split(/\s+/));
|
|
2455
2483
|
}
|
|
@@ -2698,6 +2726,7 @@ function defineAsyncComponent(source) {
|
|
|
2698
2726
|
name: "AsyncComponentWrapper",
|
|
2699
2727
|
__asyncLoader: load,
|
|
2700
2728
|
__asyncHydrate(el, instance, hydrate) {
|
|
2729
|
+
const wasConnected = el.isConnected;
|
|
2701
2730
|
let patched = false;
|
|
2702
2731
|
(instance.bu || (instance.bu = [])).push(() => patched = true);
|
|
2703
2732
|
const performHydrate = () => {
|
|
@@ -2709,6 +2738,7 @@ function defineAsyncComponent(source) {
|
|
|
2709
2738
|
}
|
|
2710
2739
|
return;
|
|
2711
2740
|
}
|
|
2741
|
+
if (!el.parentNode || wasConnected && !el.isConnected) return;
|
|
2712
2742
|
hydrate();
|
|
2713
2743
|
};
|
|
2714
2744
|
const doHydrate = hydrateStrategy ? () => {
|
|
@@ -3264,14 +3294,16 @@ function createSlots(slots, dynamicSlots) {
|
|
|
3264
3294
|
return slots;
|
|
3265
3295
|
}
|
|
3266
3296
|
|
|
3267
|
-
function renderSlot(slots, name, props
|
|
3297
|
+
function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
3298
|
+
if (props == null) props = {};
|
|
3268
3299
|
if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
|
|
3269
|
-
const
|
|
3270
|
-
|
|
3300
|
+
const slotProps = branchKey != null && props.key == null ? shared.extend({}, props, { key: branchKey }) : props;
|
|
3301
|
+
const hasProps = Object.keys(slotProps).length > 0;
|
|
3302
|
+
if (name !== "default") slotProps.name = name;
|
|
3271
3303
|
return openBlock(), createBlock(
|
|
3272
3304
|
Fragment,
|
|
3273
3305
|
null,
|
|
3274
|
-
[createVNode("slot",
|
|
3306
|
+
[createVNode("slot", slotProps, fallback && fallback())],
|
|
3275
3307
|
hasProps ? -2 : 64
|
|
3276
3308
|
);
|
|
3277
3309
|
}
|
|
@@ -3285,26 +3317,34 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
|
|
|
3285
3317
|
if (slot && slot._c) {
|
|
3286
3318
|
slot._d = false;
|
|
3287
3319
|
}
|
|
3320
|
+
const prevStackSize = blockStack.length;
|
|
3288
3321
|
openBlock();
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3322
|
+
let rendered;
|
|
3323
|
+
try {
|
|
3324
|
+
const validSlotContent = slot && ensureValidVNode(slot(props));
|
|
3325
|
+
const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch
|
|
3326
|
+
// key attached in the `createSlots` helper, respect that
|
|
3327
|
+
validSlotContent && validSlotContent.key;
|
|
3328
|
+
rendered = createBlock(
|
|
3329
|
+
Fragment,
|
|
3330
|
+
{
|
|
3331
|
+
key: (slotKey && !shared.isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
|
|
3332
|
+
(!validSlotContent && fallback ? "_fb" : "")
|
|
3333
|
+
},
|
|
3334
|
+
validSlotContent || (fallback ? fallback() : []),
|
|
3335
|
+
validSlotContent && slots._ === 1 ? 64 : -2
|
|
3336
|
+
);
|
|
3337
|
+
} catch (err) {
|
|
3338
|
+
for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
|
|
3339
|
+
throw err;
|
|
3340
|
+
} finally {
|
|
3341
|
+
if (slot && slot._c) {
|
|
3342
|
+
slot._d = true;
|
|
3343
|
+
}
|
|
3344
|
+
}
|
|
3302
3345
|
if (!noSlotted && rendered.scopeId) {
|
|
3303
3346
|
rendered.slotScopeIds = [rendered.scopeId + "-s"];
|
|
3304
3347
|
}
|
|
3305
|
-
if (slot && slot._c) {
|
|
3306
|
-
slot._d = true;
|
|
3307
|
-
}
|
|
3308
3348
|
return rendered;
|
|
3309
3349
|
}
|
|
3310
3350
|
function ensureValidVNode(vnodes) {
|
|
@@ -4679,12 +4719,13 @@ function renderComponentRoot(instance) {
|
|
|
4679
4719
|
root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
|
|
4680
4720
|
}
|
|
4681
4721
|
if (vnode.transition) {
|
|
4682
|
-
|
|
4722
|
+
const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;
|
|
4723
|
+
if (!isElementRoot(child)) {
|
|
4683
4724
|
warn$1(
|
|
4684
4725
|
`Component inside <Transition> renders non-element root node that cannot be animated.`
|
|
4685
4726
|
);
|
|
4686
4727
|
}
|
|
4687
|
-
setTransitionHooks(
|
|
4728
|
+
setTransitionHooks(child, vnode.transition);
|
|
4688
4729
|
}
|
|
4689
4730
|
if (setRoot) {
|
|
4690
4731
|
setRoot(root);
|
|
@@ -7332,7 +7373,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
7332
7373
|
let hasUnresolvedAncestor = false;
|
|
7333
7374
|
while (parent) {
|
|
7334
7375
|
if (parent.pendingBranch) {
|
|
7335
|
-
|
|
7376
|
+
for (let i = 0; i < effects.length; i++) {
|
|
7377
|
+
parent.effects.push(effects[i]);
|
|
7378
|
+
}
|
|
7336
7379
|
hasUnresolvedAncestor = true;
|
|
7337
7380
|
break;
|
|
7338
7381
|
}
|
|
@@ -7697,6 +7740,14 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
7697
7740
|
if (vnode.key !== vnode.key) {
|
|
7698
7741
|
warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
|
|
7699
7742
|
}
|
|
7743
|
+
if (props && vnode.shapeFlag & 1) {
|
|
7744
|
+
const overwritingProp = props.innerHTML != null ? "innerHTML" : props.textContent != null ? "textContent" : null;
|
|
7745
|
+
if (overwritingProp && hasContentChildren(vnode.children)) {
|
|
7746
|
+
warn$1(
|
|
7747
|
+
`The \`${overwritingProp}\` prop on <${vnode.type}> will override its children. Remove either the \`${overwritingProp}\` prop or the children.`
|
|
7748
|
+
);
|
|
7749
|
+
}
|
|
7750
|
+
}
|
|
7700
7751
|
if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
|
|
7701
7752
|
!isBlockNode && // has current parent block
|
|
7702
7753
|
currentBlock && // presence of a patch flag indicates this node needs patching on updates.
|
|
@@ -7710,6 +7761,11 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
7710
7761
|
}
|
|
7711
7762
|
return vnode;
|
|
7712
7763
|
}
|
|
7764
|
+
function hasContentChildren(children) {
|
|
7765
|
+
if (shared.isString(children)) return children !== "";
|
|
7766
|
+
if (shared.isArray(children)) return children.length > 0;
|
|
7767
|
+
return false;
|
|
7768
|
+
}
|
|
7713
7769
|
const createVNode = createVNodeWithArgsTransform ;
|
|
7714
7770
|
function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
|
|
7715
7771
|
if (!type || type === NULL_DYNAMIC_COMPONENT) {
|
|
@@ -8158,7 +8214,12 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
8158
8214
|
setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
|
|
8159
8215
|
if (isSSR) {
|
|
8160
8216
|
return setupResult.then((resolvedResult) => {
|
|
8161
|
-
|
|
8217
|
+
setInSSRSetupState(true);
|
|
8218
|
+
try {
|
|
8219
|
+
handleSetupResult(instance, resolvedResult, isSSR);
|
|
8220
|
+
} finally {
|
|
8221
|
+
setInSSRSetupState(false);
|
|
8222
|
+
}
|
|
8162
8223
|
}).catch((e) => {
|
|
8163
8224
|
handleError(e, instance, 0);
|
|
8164
8225
|
});
|
|
@@ -8624,7 +8685,7 @@ function isMemoSame(cached, memo) {
|
|
|
8624
8685
|
return true;
|
|
8625
8686
|
}
|
|
8626
8687
|
|
|
8627
|
-
const version = "3.5.
|
|
8688
|
+
const version = "3.5.41";
|
|
8628
8689
|
const warn = warn$1 ;
|
|
8629
8690
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
8630
8691
|
const devtools = devtools$1 ;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/runtime-core v3.5.
|
|
2
|
+
* @vue/runtime-core v3.5.41
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -199,7 +199,9 @@ function queuePostFlushCb(cb) {
|
|
|
199
199
|
cb.flags |= 1;
|
|
200
200
|
}
|
|
201
201
|
} else {
|
|
202
|
-
|
|
202
|
+
for (let i = 0; i < cb.length; i++) {
|
|
203
|
+
pendingPostFlushCbs.push(cb[i]);
|
|
204
|
+
}
|
|
203
205
|
}
|
|
204
206
|
queueFlush();
|
|
205
207
|
}
|
|
@@ -229,7 +231,9 @@ function flushPostFlushCbs(seen) {
|
|
|
229
231
|
);
|
|
230
232
|
pendingPostFlushCbs.length = 0;
|
|
231
233
|
if (activePostFlushCbs) {
|
|
232
|
-
|
|
234
|
+
for (let i = 0; i < deduped.length; i++) {
|
|
235
|
+
activePostFlushCbs.push(deduped[i]);
|
|
236
|
+
}
|
|
233
237
|
return;
|
|
234
238
|
}
|
|
235
239
|
activePostFlushCbs = deduped;
|
|
@@ -307,10 +311,12 @@ function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
|
|
|
307
311
|
setBlockTracking(-1);
|
|
308
312
|
}
|
|
309
313
|
const prevInstance = setCurrentRenderingInstance(ctx);
|
|
314
|
+
const prevStackSize = blockStack.length;
|
|
310
315
|
let res;
|
|
311
316
|
try {
|
|
312
317
|
res = fn(...args);
|
|
313
318
|
} finally {
|
|
319
|
+
for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
|
|
314
320
|
setCurrentRenderingInstance(prevInstance);
|
|
315
321
|
if (renderFnWithContext._d) {
|
|
316
322
|
setBlockTracking(1);
|
|
@@ -1185,7 +1191,11 @@ function getInnerChild$1(vnode) {
|
|
|
1185
1191
|
function setTransitionHooks(vnode, hooks) {
|
|
1186
1192
|
if (vnode.shapeFlag & 6 && vnode.component) {
|
|
1187
1193
|
vnode.transition = hooks;
|
|
1188
|
-
|
|
1194
|
+
const subTree = vnode.component.subTree;
|
|
1195
|
+
setTransitionHooks(
|
|
1196
|
+
isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree,
|
|
1197
|
+
hooks
|
|
1198
|
+
);
|
|
1189
1199
|
} else if (vnode.shapeFlag & 128) {
|
|
1190
1200
|
vnode.ssContent.transition = hooks.clone(vnode.ssContent);
|
|
1191
1201
|
vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
|
|
@@ -1312,12 +1322,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1312
1322
|
}
|
|
1313
1323
|
}
|
|
1314
1324
|
if (shared.isFunction(ref)) {
|
|
1315
|
-
|
|
1316
|
-
try {
|
|
1317
|
-
callWithErrorHandling(ref, owner, 12, [value, refs]);
|
|
1318
|
-
} finally {
|
|
1319
|
-
reactivity.resetTracking();
|
|
1320
|
-
}
|
|
1325
|
+
callWithErrorHandling(ref, owner, 12, [value, refs]);
|
|
1321
1326
|
} else {
|
|
1322
1327
|
const _isString = shared.isString(ref);
|
|
1323
1328
|
const _isRef = reactivity.isRef(ref);
|
|
@@ -1654,10 +1659,14 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
1654
1659
|
if (props) {
|
|
1655
1660
|
if (forcePatch || hasDynamicProps || !optimized || patchFlag & (16 | 32)) {
|
|
1656
1661
|
const isCustomElement = el.tagName.includes("-");
|
|
1662
|
+
const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
|
|
1657
1663
|
for (const key in props) {
|
|
1658
1664
|
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || shared.isOn(key) && !shared.isReservedProp(key) || // force hydrate v-bind with .prop modifiers
|
|
1659
1665
|
key[0] === "." || isCustomElement && !shared.isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
|
|
1660
|
-
|
|
1666
|
+
if (isUnchangedResourceProp(el, key, props[key])) {
|
|
1667
|
+
continue;
|
|
1668
|
+
}
|
|
1669
|
+
patchProp(el, key, null, props[key], namespace, parentComponent);
|
|
1661
1670
|
}
|
|
1662
1671
|
}
|
|
1663
1672
|
} else if (props.onClick) {
|
|
@@ -1835,6 +1844,13 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
1835
1844
|
};
|
|
1836
1845
|
return [hydrate, hydrateNode];
|
|
1837
1846
|
}
|
|
1847
|
+
const resourceProps = /* @__PURE__ */ new Set(["src", "srcset", "href", "poster"]);
|
|
1848
|
+
function isUnchangedResourceProp(el, key, clientValue) {
|
|
1849
|
+
if (!resourceProps.has(key)) {
|
|
1850
|
+
return false;
|
|
1851
|
+
}
|
|
1852
|
+
return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);
|
|
1853
|
+
}
|
|
1838
1854
|
const allowMismatchAttr = "data-allow-mismatch";
|
|
1839
1855
|
const MismatchTypeString = {
|
|
1840
1856
|
[0 /* TEXT */]: "text",
|
|
@@ -2025,12 +2041,14 @@ function defineAsyncComponent(source) {
|
|
|
2025
2041
|
name: "AsyncComponentWrapper",
|
|
2026
2042
|
__asyncLoader: load,
|
|
2027
2043
|
__asyncHydrate(el, instance, hydrate) {
|
|
2044
|
+
const wasConnected = el.isConnected;
|
|
2028
2045
|
let patched = false;
|
|
2029
2046
|
(instance.bu || (instance.bu = [])).push(() => patched = true);
|
|
2030
2047
|
const performHydrate = () => {
|
|
2031
2048
|
if (patched) {
|
|
2032
2049
|
return;
|
|
2033
2050
|
}
|
|
2051
|
+
if (!el.parentNode || wasConnected && !el.isConnected) return;
|
|
2034
2052
|
hydrate();
|
|
2035
2053
|
};
|
|
2036
2054
|
const doHydrate = hydrateStrategy ? () => {
|
|
@@ -2555,14 +2573,16 @@ function createSlots(slots, dynamicSlots) {
|
|
|
2555
2573
|
return slots;
|
|
2556
2574
|
}
|
|
2557
2575
|
|
|
2558
|
-
function renderSlot(slots, name, props
|
|
2576
|
+
function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
2577
|
+
if (props == null) props = {};
|
|
2559
2578
|
if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
|
|
2560
|
-
const
|
|
2561
|
-
|
|
2579
|
+
const slotProps = branchKey != null && props.key == null ? shared.extend({}, props, { key: branchKey }) : props;
|
|
2580
|
+
const hasProps = Object.keys(slotProps).length > 0;
|
|
2581
|
+
if (name !== "default") slotProps.name = name;
|
|
2562
2582
|
return openBlock(), createBlock(
|
|
2563
2583
|
Fragment,
|
|
2564
2584
|
null,
|
|
2565
|
-
[createVNode("slot",
|
|
2585
|
+
[createVNode("slot", slotProps, fallback && fallback())],
|
|
2566
2586
|
hasProps ? -2 : 64
|
|
2567
2587
|
);
|
|
2568
2588
|
}
|
|
@@ -2570,26 +2590,34 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
|
|
|
2570
2590
|
if (slot && slot._c) {
|
|
2571
2591
|
slot._d = false;
|
|
2572
2592
|
}
|
|
2593
|
+
const prevStackSize = blockStack.length;
|
|
2573
2594
|
openBlock();
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2595
|
+
let rendered;
|
|
2596
|
+
try {
|
|
2597
|
+
const validSlotContent = slot && ensureValidVNode(slot(props));
|
|
2598
|
+
const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch
|
|
2599
|
+
// key attached in the `createSlots` helper, respect that
|
|
2600
|
+
validSlotContent && validSlotContent.key;
|
|
2601
|
+
rendered = createBlock(
|
|
2602
|
+
Fragment,
|
|
2603
|
+
{
|
|
2604
|
+
key: (slotKey && !shared.isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
|
|
2605
|
+
(!validSlotContent && fallback ? "_fb" : "")
|
|
2606
|
+
},
|
|
2607
|
+
validSlotContent || (fallback ? fallback() : []),
|
|
2608
|
+
validSlotContent && slots._ === 1 ? 64 : -2
|
|
2609
|
+
);
|
|
2610
|
+
} catch (err) {
|
|
2611
|
+
for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
|
|
2612
|
+
throw err;
|
|
2613
|
+
} finally {
|
|
2614
|
+
if (slot && slot._c) {
|
|
2615
|
+
slot._d = true;
|
|
2616
|
+
}
|
|
2617
|
+
}
|
|
2587
2618
|
if (!noSlotted && rendered.scopeId) {
|
|
2588
2619
|
rendered.slotScopeIds = [rendered.scopeId + "-s"];
|
|
2589
2620
|
}
|
|
2590
|
-
if (slot && slot._c) {
|
|
2591
|
-
slot._d = true;
|
|
2592
|
-
}
|
|
2593
2621
|
return rendered;
|
|
2594
2622
|
}
|
|
2595
2623
|
function ensureValidVNode(vnodes) {
|
|
@@ -3582,7 +3610,8 @@ function renderComponentRoot(instance) {
|
|
|
3582
3610
|
root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
|
|
3583
3611
|
}
|
|
3584
3612
|
if (vnode.transition) {
|
|
3585
|
-
|
|
3613
|
+
const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;
|
|
3614
|
+
setTransitionHooks(child, vnode.transition);
|
|
3586
3615
|
}
|
|
3587
3616
|
{
|
|
3588
3617
|
result = root;
|
|
@@ -5842,7 +5871,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
5842
5871
|
let hasUnresolvedAncestor = false;
|
|
5843
5872
|
while (parent) {
|
|
5844
5873
|
if (parent.pendingBranch) {
|
|
5845
|
-
|
|
5874
|
+
for (let i = 0; i < effects.length; i++) {
|
|
5875
|
+
parent.effects.push(effects[i]);
|
|
5876
|
+
}
|
|
5846
5877
|
hasUnresolvedAncestor = true;
|
|
5847
5878
|
break;
|
|
5848
5879
|
}
|
|
@@ -6589,7 +6620,12 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
6589
6620
|
setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
|
|
6590
6621
|
if (isSSR) {
|
|
6591
6622
|
return setupResult.then((resolvedResult) => {
|
|
6592
|
-
|
|
6623
|
+
setInSSRSetupState(true);
|
|
6624
|
+
try {
|
|
6625
|
+
handleSetupResult(instance, resolvedResult, isSSR);
|
|
6626
|
+
} finally {
|
|
6627
|
+
setInSSRSetupState(false);
|
|
6628
|
+
}
|
|
6593
6629
|
}).catch((e) => {
|
|
6594
6630
|
handleError(e, instance, 0);
|
|
6595
6631
|
});
|
|
@@ -6770,7 +6806,7 @@ function isMemoSame(cached, memo) {
|
|
|
6770
6806
|
return true;
|
|
6771
6807
|
}
|
|
6772
6808
|
|
|
6773
|
-
const version = "3.5.
|
|
6809
|
+
const version = "3.5.41";
|
|
6774
6810
|
const warn$1 = shared.NOOP;
|
|
6775
6811
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
6776
6812
|
const devtools = void 0;
|
package/dist/runtime-core.d.ts
CHANGED
|
@@ -331,17 +331,17 @@ type DefineModelDefault<T> = InferDefault<Data, T>;
|
|
|
331
331
|
* const count = defineModel<number>('count', { default: 0 })
|
|
332
332
|
* ```
|
|
333
333
|
*/
|
|
334
|
-
export declare function defineModel<T, M extends PropertyKey = string, G = T, S = T>(options: ({
|
|
334
|
+
export declare function defineModel<T, M extends PropertyKey = string, G = T, S = T>(options: DefineModelRuntimeOptions<T, G, S> & ({
|
|
335
335
|
default: DefineModelDefault<T>;
|
|
336
336
|
} | {
|
|
337
337
|
required: true;
|
|
338
|
-
})
|
|
338
|
+
})): ModelRef<T, M, G, S>;
|
|
339
339
|
export declare function defineModel<T, M extends PropertyKey = string, G = T, S = T>(options?: DefineModelRuntimeOptions<T, G, S>): ModelRef<T | undefined, M, G | undefined, S | undefined>;
|
|
340
|
-
export declare function defineModel<T, M extends PropertyKey = string, G = T, S = T>(name: string, options: ({
|
|
340
|
+
export declare function defineModel<T, M extends PropertyKey = string, G = T, S = T>(name: string, options: DefineModelRuntimeOptions<T, G, S> & ({
|
|
341
341
|
default: DefineModelDefault<T>;
|
|
342
342
|
} | {
|
|
343
343
|
required: true;
|
|
344
|
-
})
|
|
344
|
+
})): ModelRef<T, M, G, S>;
|
|
345
345
|
export declare function defineModel<T, M extends PropertyKey = string, G = T, S = T>(name: string, options?: DefineModelRuntimeOptions<T, G, S>): ModelRef<T | undefined, M, G | undefined, S | undefined>;
|
|
346
346
|
type NotUndefined<T> = T extends undefined ? never : T;
|
|
347
347
|
type MappedOmit<T, K extends keyof any> = {
|
|
@@ -498,12 +498,12 @@ export type CreateComponentPublicInstance<P = {}, B = {}, D = {}, C extends Comp
|
|
|
498
498
|
* inference everywhere internally, but it has to be a new type to avoid
|
|
499
499
|
* breaking types that relies on previous arguments order (#10842)
|
|
500
500
|
*/
|
|
501
|
-
export type CreateComponentPublicInstanceWithMixins<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, TypeRefs extends Data = {}, TypeEl
|
|
501
|
+
export type CreateComponentPublicInstanceWithMixins<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, TypeRefs extends Data = {}, TypeEl = any, Provide extends ComponentProvideOptions = ComponentProvideOptions, PublicMixin = IntersectionMixin<Mixin> & IntersectionMixin<Extends>, PublicP = UnwrapMixinsType<PublicMixin, 'P'> & EnsureNonVoid<P>, PublicB = UnwrapMixinsType<PublicMixin, 'B'> & EnsureNonVoid<B>, PublicD = UnwrapMixinsType<PublicMixin, 'D'> & EnsureNonVoid<D>, PublicC extends ComputedOptions = UnwrapMixinsType<PublicMixin, 'C'> & EnsureNonVoid<C>, PublicM extends MethodOptions = UnwrapMixinsType<PublicMixin, 'M'> & EnsureNonVoid<M>, PublicDefaults = UnwrapMixinsType<PublicMixin, 'Defaults'> & EnsureNonVoid<Defaults>> = ComponentPublicInstance<PublicP, PublicB, PublicD, PublicC, PublicM, E, PublicProps, PublicDefaults, MakeDefaultsOptional, ComponentOptionsBase<P, B, D, C, M, Mixin, Extends, E, string, Defaults, {}, string, S, LC, Directives, Exposed, Provide>, I, S, Exposed, TypeRefs, TypeEl>;
|
|
502
502
|
type ExposedKeys<T, Exposed extends string & keyof T> = '' extends Exposed ? T : Pick<T, Exposed>;
|
|
503
503
|
export type ComponentPublicInstance<P = {}, // props type extracted from props option
|
|
504
504
|
B = {}, // raw bindings returned from setup()
|
|
505
505
|
D = {}, // return from data()
|
|
506
|
-
C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOptions = {}, PublicProps = {}, Defaults = {}, MakeDefaultsOptional extends boolean = false, Options = ComponentOptionsBase<any, any, any, any, any, any, any, any, any>, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, Exposed extends string = '', TypeRefs extends Data = {}, TypeEl
|
|
506
|
+
C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOptions = {}, PublicProps = {}, Defaults = {}, MakeDefaultsOptional extends boolean = false, Options = ComponentOptionsBase<any, any, any, any, any, any, any, any, any>, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, Exposed extends string = '', TypeRefs extends Data = {}, TypeEl = any> = {
|
|
507
507
|
$: ComponentInternalInstance;
|
|
508
508
|
$data: D;
|
|
509
509
|
$props: MakeDefaultsOptional extends true ? Partial<Defaults> & Omit<Prettify<P> & PublicProps, keyof Defaults> : Prettify<P> & PublicProps;
|
|
@@ -1004,7 +1004,7 @@ export declare function hasInjectionContext(): boolean;
|
|
|
1004
1004
|
|
|
1005
1005
|
export type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps;
|
|
1006
1006
|
type ResolveProps<PropsOrPropOptions, E extends EmitsOptions> = Readonly<PropsOrPropOptions extends ComponentPropsOptions ? ExtractPropTypes<PropsOrPropOptions> : PropsOrPropOptions> & ({} extends E ? {} : EmitsToProps<E>);
|
|
1007
|
-
export type DefineComponent<PropsOrPropOptions = {}, RawBindings = {}, D = {}, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, PP = PublicProps, Props = ResolveProps<PropsOrPropOptions, E>, Defaults = ExtractDefaultPropTypes<PropsOrPropOptions>, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, Provide extends ComponentProvideOptions = ComponentProvideOptions, MakeDefaultsOptional extends boolean = true, TypeRefs extends Record<string, unknown> = {}, TypeEl
|
|
1007
|
+
export type DefineComponent<PropsOrPropOptions = {}, RawBindings = {}, D = {}, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, PP = PublicProps, Props = ResolveProps<PropsOrPropOptions, E>, Defaults = ExtractDefaultPropTypes<PropsOrPropOptions>, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, Provide extends ComponentProvideOptions = ComponentProvideOptions, MakeDefaultsOptional extends boolean = true, TypeRefs extends Record<string, unknown> = {}, TypeEl = any> = ComponentPublicInstanceConstructor<CreateComponentPublicInstanceWithMixins<Props, RawBindings, D, C, M, Mixin, Extends, E, PP, Defaults, MakeDefaultsOptional, {}, S, LC & GlobalComponents, Directives & GlobalDirectives, Exposed, TypeRefs, TypeEl>> & ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, {}, string, S, LC & GlobalComponents, Directives & GlobalDirectives, Exposed, Provide> & PP;
|
|
1008
1008
|
export type DefineSetupFnComponent<P extends Record<string, any>, E extends EmitsOptions = {}, S extends SlotsType = SlotsType, Props = P & EmitsToProps<E>, PP = PublicProps> = new (props: Props & PP) => CreateComponentPublicInstanceWithMixins<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, E, PP, {}, false, {}, S>;
|
|
1009
1009
|
type ToResolvedProps<Props, Emits extends EmitsOptions> = Readonly<Props> & Readonly<EmitsToProps<Emits>>;
|
|
1010
1010
|
export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext<E, S>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
|
|
@@ -1019,7 +1019,7 @@ export declare function defineComponent<Props extends Record<string, any>, E ext
|
|
|
1019
1019
|
}): DefineSetupFnComponent<Props, E, S>;
|
|
1020
1020
|
export declare function defineComponent<TypeProps, RuntimePropsOptions extends ComponentObjectPropsOptions = ComponentObjectPropsOptions, RuntimePropsKeys extends string = string, TypeEmits extends ComponentTypeEmits = {}, RuntimeEmitsOptions extends EmitsOptions = {}, RuntimeEmitsKeys extends string = string, Data = {}, SetupBindings = {}, Computed extends ComputedOptions = {}, Methods extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, InjectOptions extends ComponentInjectOptions = {}, InjectKeys extends string = string, Slots extends SlotsType = {}, LocalComponents extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, Provide extends ComponentProvideOptions = ComponentProvideOptions, ResolvedEmits extends EmitsOptions = {} extends RuntimeEmitsOptions ? TypeEmitsToOptions<TypeEmits> : RuntimeEmitsOptions, InferredProps = IsKeyValues<TypeProps> extends true ? TypeProps : string extends RuntimePropsKeys ? ComponentObjectPropsOptions extends RuntimePropsOptions ? {} : ExtractPropTypes<RuntimePropsOptions> : {
|
|
1021
1021
|
[key in RuntimePropsKeys]?: any;
|
|
1022
|
-
}, TypeRefs extends Record<string, unknown> = {}, TypeEl
|
|
1022
|
+
}, TypeRefs extends Record<string, unknown> = {}, TypeEl = any>(options: {
|
|
1023
1023
|
props?: (RuntimePropsOptions & ThisType<void>) | RuntimePropsKeys[];
|
|
1024
1024
|
/**
|
|
1025
1025
|
* @private for language-tools use only
|
|
@@ -1717,7 +1717,7 @@ export declare function toHandlers(obj: Record<string, any>, preserveCaseIfNeces
|
|
|
1717
1717
|
* Compiler runtime helper for rendering `<slot/>`
|
|
1718
1718
|
* @private
|
|
1719
1719
|
*/
|
|
1720
|
-
export declare function renderSlot(slots: Slots, name: string, props?: Data, fallback?: () => VNodeArrayChildren, noSlotted?: boolean): VNode;
|
|
1720
|
+
export declare function renderSlot(slots: Slots, name: string, props?: Data | null, fallback?: () => VNodeArrayChildren, noSlotted?: boolean, branchKey?: PropertyKey): VNode;
|
|
1721
1721
|
|
|
1722
1722
|
type SSRSlot = (...args: any[]) => VNode[] | undefined;
|
|
1723
1723
|
interface CompiledSlotDescriptor {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/runtime-core v3.5.
|
|
2
|
+
* @vue/runtime-core v3.5.41
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -331,7 +331,9 @@ function queuePostFlushCb(cb) {
|
|
|
331
331
|
cb.flags |= 1;
|
|
332
332
|
}
|
|
333
333
|
} else {
|
|
334
|
-
|
|
334
|
+
for (let i = 0; i < cb.length; i++) {
|
|
335
|
+
pendingPostFlushCbs.push(cb[i]);
|
|
336
|
+
}
|
|
335
337
|
}
|
|
336
338
|
queueFlush();
|
|
337
339
|
}
|
|
@@ -367,7 +369,9 @@ function flushPostFlushCbs(seen) {
|
|
|
367
369
|
);
|
|
368
370
|
pendingPostFlushCbs.length = 0;
|
|
369
371
|
if (activePostFlushCbs) {
|
|
370
|
-
|
|
372
|
+
for (let i = 0; i < deduped.length; i++) {
|
|
373
|
+
activePostFlushCbs.push(deduped[i]);
|
|
374
|
+
}
|
|
371
375
|
return;
|
|
372
376
|
}
|
|
373
377
|
activePostFlushCbs = deduped;
|
|
@@ -697,10 +701,12 @@ function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
|
|
|
697
701
|
setBlockTracking(-1);
|
|
698
702
|
}
|
|
699
703
|
const prevInstance = setCurrentRenderingInstance(ctx);
|
|
704
|
+
const prevStackSize = blockStack.length;
|
|
700
705
|
let res;
|
|
701
706
|
try {
|
|
702
707
|
res = fn(...args);
|
|
703
708
|
} finally {
|
|
709
|
+
for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
|
|
704
710
|
setCurrentRenderingInstance(prevInstance);
|
|
705
711
|
if (renderFnWithContext._d) {
|
|
706
712
|
setBlockTracking(1);
|
|
@@ -1655,7 +1661,11 @@ function getInnerChild$1(vnode) {
|
|
|
1655
1661
|
function setTransitionHooks(vnode, hooks) {
|
|
1656
1662
|
if (vnode.shapeFlag & 6 && vnode.component) {
|
|
1657
1663
|
vnode.transition = hooks;
|
|
1658
|
-
|
|
1664
|
+
const subTree = vnode.component.subTree;
|
|
1665
|
+
setTransitionHooks(
|
|
1666
|
+
isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree,
|
|
1667
|
+
hooks
|
|
1668
|
+
);
|
|
1659
1669
|
} else if (vnode.shapeFlag & 128) {
|
|
1660
1670
|
vnode.ssContent.transition = hooks.clone(vnode.ssContent);
|
|
1661
1671
|
vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
|
|
@@ -1815,12 +1825,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1815
1825
|
}
|
|
1816
1826
|
}
|
|
1817
1827
|
if (isFunction(ref)) {
|
|
1818
|
-
|
|
1819
|
-
try {
|
|
1820
|
-
callWithErrorHandling(ref, owner, 12, [value, refs]);
|
|
1821
|
-
} finally {
|
|
1822
|
-
resetTracking();
|
|
1823
|
-
}
|
|
1828
|
+
callWithErrorHandling(ref, owner, 12, [value, refs]);
|
|
1824
1829
|
} else {
|
|
1825
1830
|
const _isString = isString(ref);
|
|
1826
1831
|
const _isRef = isRef(ref);
|
|
@@ -2192,6 +2197,7 @@ Server rendered element contains more child nodes than client vdom.`
|
|
|
2192
2197
|
if (props) {
|
|
2193
2198
|
if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || hasDynamicProps || !optimized || patchFlag & (16 | 32)) {
|
|
2194
2199
|
const isCustomElement = el.tagName.includes("-");
|
|
2200
|
+
const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
|
|
2195
2201
|
for (const key in props) {
|
|
2196
2202
|
if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks
|
|
2197
2203
|
// as it could have mutated the DOM in any possible way
|
|
@@ -2200,7 +2206,10 @@ Server rendered element contains more child nodes than client vdom.`
|
|
|
2200
2206
|
}
|
|
2201
2207
|
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
|
|
2202
2208
|
key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
|
|
2203
|
-
|
|
2209
|
+
if (isUnchangedResourceProp(el, key, props[key])) {
|
|
2210
|
+
continue;
|
|
2211
|
+
}
|
|
2212
|
+
patchProp(el, key, null, props[key], namespace, parentComponent);
|
|
2204
2213
|
}
|
|
2205
2214
|
}
|
|
2206
2215
|
} else if (props.onClick) {
|
|
@@ -2393,6 +2402,13 @@ Server rendered element contains fewer child nodes than client vdom.`
|
|
|
2393
2402
|
};
|
|
2394
2403
|
return [hydrate, hydrateNode];
|
|
2395
2404
|
}
|
|
2405
|
+
const resourceProps = /* @__PURE__ */ new Set(["src", "srcset", "href", "poster"]);
|
|
2406
|
+
function isUnchangedResourceProp(el, key, clientValue) {
|
|
2407
|
+
if (!resourceProps.has(key)) {
|
|
2408
|
+
return false;
|
|
2409
|
+
}
|
|
2410
|
+
return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);
|
|
2411
|
+
}
|
|
2396
2412
|
function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
2397
2413
|
let mismatchType;
|
|
2398
2414
|
let mismatchKey;
|
|
@@ -2430,7 +2446,10 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
|
2430
2446
|
mismatchKey = "style";
|
|
2431
2447
|
}
|
|
2432
2448
|
} else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {
|
|
2433
|
-
if (
|
|
2449
|
+
if (key === "hidden") {
|
|
2450
|
+
actual = normalizeHiddenValue(el.getAttribute(key));
|
|
2451
|
+
expected = normalizeHiddenValue(clientValue);
|
|
2452
|
+
} else if (isBooleanAttr(key)) {
|
|
2434
2453
|
actual = el.hasAttribute(key);
|
|
2435
2454
|
expected = includeBooleanAttr(clientValue);
|
|
2436
2455
|
} else if (clientValue == null) {
|
|
@@ -2466,6 +2485,15 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
|
2466
2485
|
}
|
|
2467
2486
|
return false;
|
|
2468
2487
|
}
|
|
2488
|
+
function normalizeHiddenValue(value) {
|
|
2489
|
+
if (!isRenderableAttrValue(value)) {
|
|
2490
|
+
return false;
|
|
2491
|
+
}
|
|
2492
|
+
if (isString(value)) {
|
|
2493
|
+
return value.toLowerCase() === "until-found" ? "until-found" : "";
|
|
2494
|
+
}
|
|
2495
|
+
return includeBooleanAttr(value) ? "" : false;
|
|
2496
|
+
}
|
|
2469
2497
|
function toClassSet(str) {
|
|
2470
2498
|
return new Set(str.trim().split(/\s+/));
|
|
2471
2499
|
}
|
|
@@ -2714,6 +2742,7 @@ function defineAsyncComponent(source) {
|
|
|
2714
2742
|
name: "AsyncComponentWrapper",
|
|
2715
2743
|
__asyncLoader: load,
|
|
2716
2744
|
__asyncHydrate(el, instance, hydrate) {
|
|
2745
|
+
const wasConnected = el.isConnected;
|
|
2717
2746
|
let patched = false;
|
|
2718
2747
|
(instance.bu || (instance.bu = [])).push(() => patched = true);
|
|
2719
2748
|
const performHydrate = () => {
|
|
@@ -2725,6 +2754,7 @@ function defineAsyncComponent(source) {
|
|
|
2725
2754
|
}
|
|
2726
2755
|
return;
|
|
2727
2756
|
}
|
|
2757
|
+
if (!el.parentNode || wasConnected && !el.isConnected) return;
|
|
2728
2758
|
hydrate();
|
|
2729
2759
|
};
|
|
2730
2760
|
const doHydrate = hydrateStrategy ? () => {
|
|
@@ -3283,14 +3313,16 @@ function createSlots(slots, dynamicSlots) {
|
|
|
3283
3313
|
return slots;
|
|
3284
3314
|
}
|
|
3285
3315
|
|
|
3286
|
-
function renderSlot(slots, name, props
|
|
3316
|
+
function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
3317
|
+
if (props == null) props = {};
|
|
3287
3318
|
if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
|
|
3288
|
-
const
|
|
3289
|
-
|
|
3319
|
+
const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
|
|
3320
|
+
const hasProps = Object.keys(slotProps).length > 0;
|
|
3321
|
+
if (name !== "default") slotProps.name = name;
|
|
3290
3322
|
return openBlock(), createBlock(
|
|
3291
3323
|
Fragment,
|
|
3292
3324
|
null,
|
|
3293
|
-
[createVNode("slot",
|
|
3325
|
+
[createVNode("slot", slotProps, fallback && fallback())],
|
|
3294
3326
|
hasProps ? -2 : 64
|
|
3295
3327
|
);
|
|
3296
3328
|
}
|
|
@@ -3304,26 +3336,34 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
|
|
|
3304
3336
|
if (slot && slot._c) {
|
|
3305
3337
|
slot._d = false;
|
|
3306
3338
|
}
|
|
3339
|
+
const prevStackSize = blockStack.length;
|
|
3307
3340
|
openBlock();
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3341
|
+
let rendered;
|
|
3342
|
+
try {
|
|
3343
|
+
const validSlotContent = slot && ensureValidVNode(slot(props));
|
|
3344
|
+
const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch
|
|
3345
|
+
// key attached in the `createSlots` helper, respect that
|
|
3346
|
+
validSlotContent && validSlotContent.key;
|
|
3347
|
+
rendered = createBlock(
|
|
3348
|
+
Fragment,
|
|
3349
|
+
{
|
|
3350
|
+
key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
|
|
3351
|
+
(!validSlotContent && fallback ? "_fb" : "")
|
|
3352
|
+
},
|
|
3353
|
+
validSlotContent || (fallback ? fallback() : []),
|
|
3354
|
+
validSlotContent && slots._ === 1 ? 64 : -2
|
|
3355
|
+
);
|
|
3356
|
+
} catch (err) {
|
|
3357
|
+
for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
|
|
3358
|
+
throw err;
|
|
3359
|
+
} finally {
|
|
3360
|
+
if (slot && slot._c) {
|
|
3361
|
+
slot._d = true;
|
|
3362
|
+
}
|
|
3363
|
+
}
|
|
3321
3364
|
if (!noSlotted && rendered.scopeId) {
|
|
3322
3365
|
rendered.slotScopeIds = [rendered.scopeId + "-s"];
|
|
3323
3366
|
}
|
|
3324
|
-
if (slot && slot._c) {
|
|
3325
|
-
slot._d = true;
|
|
3326
|
-
}
|
|
3327
3367
|
return rendered;
|
|
3328
3368
|
}
|
|
3329
3369
|
function ensureValidVNode(vnodes) {
|
|
@@ -4702,12 +4742,13 @@ function renderComponentRoot(instance) {
|
|
|
4702
4742
|
root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
|
|
4703
4743
|
}
|
|
4704
4744
|
if (vnode.transition) {
|
|
4705
|
-
|
|
4745
|
+
const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;
|
|
4746
|
+
if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(child)) {
|
|
4706
4747
|
warn$1(
|
|
4707
4748
|
`Component inside <Transition> renders non-element root node that cannot be animated.`
|
|
4708
4749
|
);
|
|
4709
4750
|
}
|
|
4710
|
-
setTransitionHooks(
|
|
4751
|
+
setTransitionHooks(child, vnode.transition);
|
|
4711
4752
|
}
|
|
4712
4753
|
if (!!(process.env.NODE_ENV !== "production") && setRoot) {
|
|
4713
4754
|
setRoot(root);
|
|
@@ -7393,7 +7434,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
7393
7434
|
let hasUnresolvedAncestor = false;
|
|
7394
7435
|
while (parent) {
|
|
7395
7436
|
if (parent.pendingBranch) {
|
|
7396
|
-
|
|
7437
|
+
for (let i = 0; i < effects.length; i++) {
|
|
7438
|
+
parent.effects.push(effects[i]);
|
|
7439
|
+
}
|
|
7397
7440
|
hasUnresolvedAncestor = true;
|
|
7398
7441
|
break;
|
|
7399
7442
|
}
|
|
@@ -7758,6 +7801,14 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
7758
7801
|
if (!!(process.env.NODE_ENV !== "production") && vnode.key !== vnode.key) {
|
|
7759
7802
|
warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
|
|
7760
7803
|
}
|
|
7804
|
+
if (!!(process.env.NODE_ENV !== "production") && props && vnode.shapeFlag & 1) {
|
|
7805
|
+
const overwritingProp = props.innerHTML != null ? "innerHTML" : props.textContent != null ? "textContent" : null;
|
|
7806
|
+
if (overwritingProp && hasContentChildren(vnode.children)) {
|
|
7807
|
+
warn$1(
|
|
7808
|
+
`The \`${overwritingProp}\` prop on <${vnode.type}> will override its children. Remove either the \`${overwritingProp}\` prop or the children.`
|
|
7809
|
+
);
|
|
7810
|
+
}
|
|
7811
|
+
}
|
|
7761
7812
|
if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
|
|
7762
7813
|
!isBlockNode && // has current parent block
|
|
7763
7814
|
currentBlock && // presence of a patch flag indicates this node needs patching on updates.
|
|
@@ -7771,6 +7822,11 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
7771
7822
|
}
|
|
7772
7823
|
return vnode;
|
|
7773
7824
|
}
|
|
7825
|
+
function hasContentChildren(children) {
|
|
7826
|
+
if (isString(children)) return children !== "";
|
|
7827
|
+
if (isArray(children)) return children.length > 0;
|
|
7828
|
+
return false;
|
|
7829
|
+
}
|
|
7774
7830
|
const createVNode = !!(process.env.NODE_ENV !== "production") ? createVNodeWithArgsTransform : _createVNode;
|
|
7775
7831
|
function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
|
|
7776
7832
|
if (!type || type === NULL_DYNAMIC_COMPONENT) {
|
|
@@ -8221,7 +8277,12 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
8221
8277
|
setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
|
|
8222
8278
|
if (isSSR) {
|
|
8223
8279
|
return setupResult.then((resolvedResult) => {
|
|
8224
|
-
|
|
8280
|
+
setInSSRSetupState(true);
|
|
8281
|
+
try {
|
|
8282
|
+
handleSetupResult(instance, resolvedResult, isSSR);
|
|
8283
|
+
} finally {
|
|
8284
|
+
setInSSRSetupState(false);
|
|
8285
|
+
}
|
|
8225
8286
|
}).catch((e) => {
|
|
8226
8287
|
handleError(e, instance, 0);
|
|
8227
8288
|
});
|
|
@@ -8699,7 +8760,7 @@ function isMemoSame(cached, memo) {
|
|
|
8699
8760
|
return true;
|
|
8700
8761
|
}
|
|
8701
8762
|
|
|
8702
|
-
const version = "3.5.
|
|
8763
|
+
const version = "3.5.41";
|
|
8703
8764
|
const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
|
|
8704
8765
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
8705
8766
|
const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vue/runtime-core",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.41",
|
|
4
4
|
"description": "@vue/runtime-core",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "dist/runtime-core.esm-bundler.js",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@vue/shared": "3.5.
|
|
50
|
-
"@vue/reactivity": "3.5.
|
|
49
|
+
"@vue/shared": "3.5.41",
|
|
50
|
+
"@vue/reactivity": "3.5.41"
|
|
51
51
|
}
|
|
52
52
|
}
|