@vue/runtime-core 3.5.27 → 3.5.29
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 +94 -61
- package/dist/runtime-core.cjs.prod.js +92 -52
- package/dist/runtime-core.d.ts +1 -1
- package/dist/runtime-core.esm-bundler.js +95 -62
- 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.29
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -1203,7 +1203,22 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
|
|
|
1203
1203
|
function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
|
|
1204
1204
|
o: { nextSibling, parentNode, querySelector, insert, createText }
|
|
1205
1205
|
}, hydrateChildren) {
|
|
1206
|
-
function
|
|
1206
|
+
function hydrateAnchor(target2, targetNode) {
|
|
1207
|
+
let targetAnchor = targetNode;
|
|
1208
|
+
while (targetAnchor) {
|
|
1209
|
+
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
1210
|
+
if (targetAnchor.data === "teleport start anchor") {
|
|
1211
|
+
vnode.targetStart = targetAnchor;
|
|
1212
|
+
} else if (targetAnchor.data === "teleport anchor") {
|
|
1213
|
+
vnode.targetAnchor = targetAnchor;
|
|
1214
|
+
target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
1215
|
+
break;
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
1218
|
+
targetAnchor = nextSibling(targetAnchor);
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
function hydrateDisabledTeleport(node2, vnode2) {
|
|
1207
1222
|
vnode2.anchor = hydrateChildren(
|
|
1208
1223
|
nextSibling(node2),
|
|
1209
1224
|
vnode2,
|
|
@@ -1213,8 +1228,6 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
1213
1228
|
slotScopeIds,
|
|
1214
1229
|
optimized
|
|
1215
1230
|
);
|
|
1216
|
-
vnode2.targetStart = targetStart;
|
|
1217
|
-
vnode2.targetAnchor = targetAnchor;
|
|
1218
1231
|
}
|
|
1219
1232
|
const target = vnode.target = resolveTarget(
|
|
1220
1233
|
vnode.props,
|
|
@@ -1225,27 +1238,22 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
1225
1238
|
const targetNode = target._lpa || target.firstChild;
|
|
1226
1239
|
if (vnode.shapeFlag & 16) {
|
|
1227
1240
|
if (disabled) {
|
|
1228
|
-
hydrateDisabledTeleport(
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1241
|
+
hydrateDisabledTeleport(node, vnode);
|
|
1242
|
+
hydrateAnchor(target, targetNode);
|
|
1243
|
+
if (!vnode.targetAnchor) {
|
|
1244
|
+
prepareAnchor(
|
|
1245
|
+
target,
|
|
1246
|
+
vnode,
|
|
1247
|
+
createText,
|
|
1248
|
+
insert,
|
|
1249
|
+
// if target is the same as the main view, insert anchors before current node
|
|
1250
|
+
// to avoid hydrating mismatch
|
|
1251
|
+
parentNode(node) === target ? node : null
|
|
1252
|
+
);
|
|
1253
|
+
}
|
|
1234
1254
|
} else {
|
|
1235
1255
|
vnode.anchor = nextSibling(node);
|
|
1236
|
-
|
|
1237
|
-
while (targetAnchor) {
|
|
1238
|
-
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
1239
|
-
if (targetAnchor.data === "teleport start anchor") {
|
|
1240
|
-
vnode.targetStart = targetAnchor;
|
|
1241
|
-
} else if (targetAnchor.data === "teleport anchor") {
|
|
1242
|
-
vnode.targetAnchor = targetAnchor;
|
|
1243
|
-
target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
1244
|
-
break;
|
|
1245
|
-
}
|
|
1246
|
-
}
|
|
1247
|
-
targetAnchor = nextSibling(targetAnchor);
|
|
1248
|
-
}
|
|
1256
|
+
hydrateAnchor(target, targetNode);
|
|
1249
1257
|
if (!vnode.targetAnchor) {
|
|
1250
1258
|
prepareAnchor(target, vnode, createText, insert);
|
|
1251
1259
|
}
|
|
@@ -1263,7 +1271,9 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
1263
1271
|
updateCssVars(vnode, disabled);
|
|
1264
1272
|
} else if (disabled) {
|
|
1265
1273
|
if (vnode.shapeFlag & 16) {
|
|
1266
|
-
hydrateDisabledTeleport(node, vnode
|
|
1274
|
+
hydrateDisabledTeleport(node, vnode);
|
|
1275
|
+
vnode.targetStart = node;
|
|
1276
|
+
vnode.targetAnchor = nextSibling(node);
|
|
1267
1277
|
}
|
|
1268
1278
|
}
|
|
1269
1279
|
return vnode.anchor && nextSibling(vnode.anchor);
|
|
@@ -1287,13 +1297,13 @@ function updateCssVars(vnode, isDisabled) {
|
|
|
1287
1297
|
ctx.ut();
|
|
1288
1298
|
}
|
|
1289
1299
|
}
|
|
1290
|
-
function prepareAnchor(target, vnode, createText, insert) {
|
|
1300
|
+
function prepareAnchor(target, vnode, createText, insert, anchor = null) {
|
|
1291
1301
|
const targetStart = vnode.targetStart = createText("");
|
|
1292
1302
|
const targetAnchor = vnode.targetAnchor = createText("");
|
|
1293
1303
|
targetStart[TeleportEndKey] = targetAnchor;
|
|
1294
1304
|
if (target) {
|
|
1295
|
-
insert(targetStart, target);
|
|
1296
|
-
insert(targetAnchor, target);
|
|
1305
|
+
insert(targetStart, target, anchor);
|
|
1306
|
+
insert(targetAnchor, target, anchor);
|
|
1297
1307
|
}
|
|
1298
1308
|
return targetAnchor;
|
|
1299
1309
|
}
|
|
@@ -1515,6 +1525,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1515
1525
|
callHook(hook, [el]);
|
|
1516
1526
|
},
|
|
1517
1527
|
enter(el) {
|
|
1528
|
+
if (leavingVNodesCache[key] === vnode) return;
|
|
1518
1529
|
let hook = onEnter;
|
|
1519
1530
|
let afterHook = onAfterEnter;
|
|
1520
1531
|
let cancelHook = onEnterCancelled;
|
|
@@ -1528,7 +1539,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1528
1539
|
}
|
|
1529
1540
|
}
|
|
1530
1541
|
let called = false;
|
|
1531
|
-
|
|
1542
|
+
el[enterCbKey] = (cancelled) => {
|
|
1532
1543
|
if (called) return;
|
|
1533
1544
|
called = true;
|
|
1534
1545
|
if (cancelled) {
|
|
@@ -1541,6 +1552,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1541
1552
|
}
|
|
1542
1553
|
el[enterCbKey] = void 0;
|
|
1543
1554
|
};
|
|
1555
|
+
const done = el[enterCbKey].bind(null, false);
|
|
1544
1556
|
if (hook) {
|
|
1545
1557
|
callAsyncHook(hook, [el, done]);
|
|
1546
1558
|
} else {
|
|
@@ -1560,7 +1572,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1560
1572
|
}
|
|
1561
1573
|
callHook(onBeforeLeave, [el]);
|
|
1562
1574
|
let called = false;
|
|
1563
|
-
|
|
1575
|
+
el[leaveCbKey] = (cancelled) => {
|
|
1564
1576
|
if (called) return;
|
|
1565
1577
|
called = true;
|
|
1566
1578
|
remove();
|
|
@@ -1574,6 +1586,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1574
1586
|
delete leavingVNodesCache[key2];
|
|
1575
1587
|
}
|
|
1576
1588
|
};
|
|
1589
|
+
const done = el[leaveCbKey].bind(null, false);
|
|
1577
1590
|
leavingVNodesCache[key2] = vnode;
|
|
1578
1591
|
if (onLeave) {
|
|
1579
1592
|
callAsyncHook(onLeave, [el, done]);
|
|
@@ -1686,8 +1699,7 @@ function useTemplateRef(key) {
|
|
|
1686
1699
|
const r = reactivity.shallowRef(null);
|
|
1687
1700
|
if (i) {
|
|
1688
1701
|
const refs = i.refs === shared.EMPTY_OBJ ? i.refs = {} : i.refs;
|
|
1689
|
-
|
|
1690
|
-
if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
|
|
1702
|
+
if (isTemplateRefKey(refs, key)) {
|
|
1691
1703
|
warn$1(`useTemplateRef('${key}') already exists.`);
|
|
1692
1704
|
} else {
|
|
1693
1705
|
Object.defineProperty(refs, key, {
|
|
@@ -1707,6 +1719,10 @@ function useTemplateRef(key) {
|
|
|
1707
1719
|
}
|
|
1708
1720
|
return ret;
|
|
1709
1721
|
}
|
|
1722
|
+
function isTemplateRefKey(refs, key) {
|
|
1723
|
+
let desc;
|
|
1724
|
+
return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
|
|
1725
|
+
}
|
|
1710
1726
|
|
|
1711
1727
|
const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
|
|
1712
1728
|
function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
@@ -1752,10 +1768,19 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1752
1768
|
return false;
|
|
1753
1769
|
}
|
|
1754
1770
|
}
|
|
1771
|
+
if (isTemplateRefKey(refs, key)) {
|
|
1772
|
+
return false;
|
|
1773
|
+
}
|
|
1755
1774
|
return shared.hasOwn(rawSetupState, key);
|
|
1756
1775
|
};
|
|
1757
|
-
const canSetRef = (ref2) => {
|
|
1758
|
-
|
|
1776
|
+
const canSetRef = (ref2, key) => {
|
|
1777
|
+
if (knownTemplateRefs.has(ref2)) {
|
|
1778
|
+
return false;
|
|
1779
|
+
}
|
|
1780
|
+
if (key && isTemplateRefKey(refs, key)) {
|
|
1781
|
+
return false;
|
|
1782
|
+
}
|
|
1783
|
+
return true;
|
|
1759
1784
|
};
|
|
1760
1785
|
if (oldRef != null && oldRef !== ref) {
|
|
1761
1786
|
invalidatePendingSetRef(oldRawRef);
|
|
@@ -1765,10 +1790,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1765
1790
|
setupState[oldRef] = null;
|
|
1766
1791
|
}
|
|
1767
1792
|
} else if (reactivity.isRef(oldRef)) {
|
|
1768
|
-
|
|
1793
|
+
const oldRawRefAtom = oldRawRef;
|
|
1794
|
+
if (canSetRef(oldRef, oldRawRefAtom.k)) {
|
|
1769
1795
|
oldRef.value = null;
|
|
1770
1796
|
}
|
|
1771
|
-
const oldRawRefAtom = oldRawRef;
|
|
1772
1797
|
if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
|
|
1773
1798
|
}
|
|
1774
1799
|
}
|
|
@@ -1792,7 +1817,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1792
1817
|
}
|
|
1793
1818
|
} else {
|
|
1794
1819
|
const newVal = [refValue];
|
|
1795
|
-
if (canSetRef(ref)) {
|
|
1820
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
1796
1821
|
ref.value = newVal;
|
|
1797
1822
|
}
|
|
1798
1823
|
if (rawRef.k) refs[rawRef.k] = newVal;
|
|
@@ -1807,7 +1832,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1807
1832
|
setupState[ref] = value;
|
|
1808
1833
|
}
|
|
1809
1834
|
} else if (_isRef) {
|
|
1810
|
-
if (canSetRef(ref)) {
|
|
1835
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
1811
1836
|
ref.value = value;
|
|
1812
1837
|
}
|
|
1813
1838
|
if (rawRef.k) refs[rawRef.k] = value;
|
|
@@ -3597,13 +3622,24 @@ function withAsyncContext(getAwaitable) {
|
|
|
3597
3622
|
}
|
|
3598
3623
|
let awaitable = getAwaitable();
|
|
3599
3624
|
unsetCurrentInstance();
|
|
3625
|
+
const cleanup = () => {
|
|
3626
|
+
if (getCurrentInstance() !== ctx) ctx.scope.off();
|
|
3627
|
+
unsetCurrentInstance();
|
|
3628
|
+
};
|
|
3600
3629
|
if (shared.isPromise(awaitable)) {
|
|
3601
3630
|
awaitable = awaitable.catch((e) => {
|
|
3602
3631
|
setCurrentInstance(ctx);
|
|
3632
|
+
Promise.resolve().then(() => Promise.resolve().then(cleanup));
|
|
3603
3633
|
throw e;
|
|
3604
3634
|
});
|
|
3605
3635
|
}
|
|
3606
|
-
return [
|
|
3636
|
+
return [
|
|
3637
|
+
awaitable,
|
|
3638
|
+
() => {
|
|
3639
|
+
setCurrentInstance(ctx);
|
|
3640
|
+
Promise.resolve().then(cleanup);
|
|
3641
|
+
}
|
|
3642
|
+
];
|
|
3607
3643
|
}
|
|
3608
3644
|
|
|
3609
3645
|
function createDuplicateChecker() {
|
|
@@ -4668,7 +4704,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
|
|
|
4668
4704
|
const dynamicProps = nextVNode.dynamicProps;
|
|
4669
4705
|
for (let i = 0; i < dynamicProps.length; i++) {
|
|
4670
4706
|
const key = dynamicProps[i];
|
|
4671
|
-
if (nextProps
|
|
4707
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
|
|
4672
4708
|
return true;
|
|
4673
4709
|
}
|
|
4674
4710
|
}
|
|
@@ -4699,12 +4735,20 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
|
|
|
4699
4735
|
}
|
|
4700
4736
|
for (let i = 0; i < nextKeys.length; i++) {
|
|
4701
4737
|
const key = nextKeys[i];
|
|
4702
|
-
if (nextProps
|
|
4738
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
|
|
4703
4739
|
return true;
|
|
4704
4740
|
}
|
|
4705
4741
|
}
|
|
4706
4742
|
return false;
|
|
4707
4743
|
}
|
|
4744
|
+
function hasPropValueChanged(nextProps, prevProps, key) {
|
|
4745
|
+
const nextProp = nextProps[key];
|
|
4746
|
+
const prevProp = prevProps[key];
|
|
4747
|
+
if (key === "style" && shared.isObject(nextProp) && shared.isObject(prevProp)) {
|
|
4748
|
+
return !shared.looseEqual(nextProp, prevProp);
|
|
4749
|
+
}
|
|
4750
|
+
return nextProp !== prevProp;
|
|
4751
|
+
}
|
|
4708
4752
|
function updateHOCHostEl({ vnode, parent }, el) {
|
|
4709
4753
|
while (parent) {
|
|
4710
4754
|
const root = parent.subTree;
|
|
@@ -5408,15 +5452,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5408
5452
|
} else {
|
|
5409
5453
|
const el = n2.el = n1.el;
|
|
5410
5454
|
if (n2.children !== n1.children) {
|
|
5411
|
-
|
|
5412
|
-
const childNodes = container.childNodes;
|
|
5413
|
-
const newChild = hostCreateText(n2.children);
|
|
5414
|
-
const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
|
|
5415
|
-
hostInsert(newChild, container, oldChild);
|
|
5416
|
-
hostRemove(oldChild);
|
|
5417
|
-
} else {
|
|
5418
|
-
hostSetText(el, n2.children);
|
|
5419
|
-
}
|
|
5455
|
+
hostSetText(el, n2.children);
|
|
5420
5456
|
}
|
|
5421
5457
|
}
|
|
5422
5458
|
};
|
|
@@ -5492,7 +5528,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5492
5528
|
optimized
|
|
5493
5529
|
);
|
|
5494
5530
|
} else {
|
|
5495
|
-
const customElement =
|
|
5531
|
+
const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
|
|
5496
5532
|
try {
|
|
5497
5533
|
if (customElement) {
|
|
5498
5534
|
customElement._beginPatch();
|
|
@@ -5974,8 +6010,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5974
6010
|
hydrateSubTree();
|
|
5975
6011
|
}
|
|
5976
6012
|
} else {
|
|
5977
|
-
if (root.ce &&
|
|
5978
|
-
root.ce._def.shadowRoot !== false) {
|
|
6013
|
+
if (root.ce && root.ce._hasShadowRoot()) {
|
|
5979
6014
|
root.ce._injectChildStyle(type);
|
|
5980
6015
|
}
|
|
5981
6016
|
{
|
|
@@ -6030,9 +6065,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6030
6065
|
updateComponentPreRender(instance, next, optimized);
|
|
6031
6066
|
}
|
|
6032
6067
|
nonHydratedAsyncRoot.asyncDep.then(() => {
|
|
6033
|
-
|
|
6034
|
-
|
|
6035
|
-
}
|
|
6068
|
+
queuePostRenderEffect(() => {
|
|
6069
|
+
if (!instance.isUnmounted) update();
|
|
6070
|
+
}, parentSuspense);
|
|
6036
6071
|
});
|
|
6037
6072
|
return;
|
|
6038
6073
|
}
|
|
@@ -6729,12 +6764,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
6729
6764
|
traverseStaticChildren(c1, c2);
|
|
6730
6765
|
}
|
|
6731
6766
|
if (c2.type === Text) {
|
|
6732
|
-
if (c2.patchFlag
|
|
6733
|
-
c2
|
|
6734
|
-
} else {
|
|
6735
|
-
c2.__elIndex = i + // take fragment start anchor into account
|
|
6736
|
-
(n1.type === Fragment ? 1 : 0);
|
|
6767
|
+
if (c2.patchFlag === -1) {
|
|
6768
|
+
c2 = ch2[i] = cloneIfMounted(c2);
|
|
6737
6769
|
}
|
|
6770
|
+
c2.el = c1.el;
|
|
6738
6771
|
}
|
|
6739
6772
|
if (c2.type === Comment && !c2.el) {
|
|
6740
6773
|
c2.el = c1.el;
|
|
@@ -8460,7 +8493,7 @@ function isMemoSame(cached, memo) {
|
|
|
8460
8493
|
return true;
|
|
8461
8494
|
}
|
|
8462
8495
|
|
|
8463
|
-
const version = "3.5.
|
|
8496
|
+
const version = "3.5.29";
|
|
8464
8497
|
const warn = warn$1 ;
|
|
8465
8498
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
8466
8499
|
const devtools = devtools$1 ;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/runtime-core v3.5.
|
|
2
|
+
* @vue/runtime-core v3.5.29
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -750,7 +750,22 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
|
|
|
750
750
|
function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
|
|
751
751
|
o: { nextSibling, parentNode, querySelector, insert, createText }
|
|
752
752
|
}, hydrateChildren) {
|
|
753
|
-
function
|
|
753
|
+
function hydrateAnchor(target2, targetNode) {
|
|
754
|
+
let targetAnchor = targetNode;
|
|
755
|
+
while (targetAnchor) {
|
|
756
|
+
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
757
|
+
if (targetAnchor.data === "teleport start anchor") {
|
|
758
|
+
vnode.targetStart = targetAnchor;
|
|
759
|
+
} else if (targetAnchor.data === "teleport anchor") {
|
|
760
|
+
vnode.targetAnchor = targetAnchor;
|
|
761
|
+
target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
762
|
+
break;
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
targetAnchor = nextSibling(targetAnchor);
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
function hydrateDisabledTeleport(node2, vnode2) {
|
|
754
769
|
vnode2.anchor = hydrateChildren(
|
|
755
770
|
nextSibling(node2),
|
|
756
771
|
vnode2,
|
|
@@ -760,8 +775,6 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
760
775
|
slotScopeIds,
|
|
761
776
|
optimized
|
|
762
777
|
);
|
|
763
|
-
vnode2.targetStart = targetStart;
|
|
764
|
-
vnode2.targetAnchor = targetAnchor;
|
|
765
778
|
}
|
|
766
779
|
const target = vnode.target = resolveTarget(
|
|
767
780
|
vnode.props,
|
|
@@ -772,27 +785,22 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
772
785
|
const targetNode = target._lpa || target.firstChild;
|
|
773
786
|
if (vnode.shapeFlag & 16) {
|
|
774
787
|
if (disabled) {
|
|
775
|
-
hydrateDisabledTeleport(
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
788
|
+
hydrateDisabledTeleport(node, vnode);
|
|
789
|
+
hydrateAnchor(target, targetNode);
|
|
790
|
+
if (!vnode.targetAnchor) {
|
|
791
|
+
prepareAnchor(
|
|
792
|
+
target,
|
|
793
|
+
vnode,
|
|
794
|
+
createText,
|
|
795
|
+
insert,
|
|
796
|
+
// if target is the same as the main view, insert anchors before current node
|
|
797
|
+
// to avoid hydrating mismatch
|
|
798
|
+
parentNode(node) === target ? node : null
|
|
799
|
+
);
|
|
800
|
+
}
|
|
781
801
|
} else {
|
|
782
802
|
vnode.anchor = nextSibling(node);
|
|
783
|
-
|
|
784
|
-
while (targetAnchor) {
|
|
785
|
-
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
786
|
-
if (targetAnchor.data === "teleport start anchor") {
|
|
787
|
-
vnode.targetStart = targetAnchor;
|
|
788
|
-
} else if (targetAnchor.data === "teleport anchor") {
|
|
789
|
-
vnode.targetAnchor = targetAnchor;
|
|
790
|
-
target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
791
|
-
break;
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
|
-
targetAnchor = nextSibling(targetAnchor);
|
|
795
|
-
}
|
|
803
|
+
hydrateAnchor(target, targetNode);
|
|
796
804
|
if (!vnode.targetAnchor) {
|
|
797
805
|
prepareAnchor(target, vnode, createText, insert);
|
|
798
806
|
}
|
|
@@ -810,7 +818,9 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
810
818
|
updateCssVars(vnode, disabled);
|
|
811
819
|
} else if (disabled) {
|
|
812
820
|
if (vnode.shapeFlag & 16) {
|
|
813
|
-
hydrateDisabledTeleport(node, vnode
|
|
821
|
+
hydrateDisabledTeleport(node, vnode);
|
|
822
|
+
vnode.targetStart = node;
|
|
823
|
+
vnode.targetAnchor = nextSibling(node);
|
|
814
824
|
}
|
|
815
825
|
}
|
|
816
826
|
return vnode.anchor && nextSibling(vnode.anchor);
|
|
@@ -834,13 +844,13 @@ function updateCssVars(vnode, isDisabled) {
|
|
|
834
844
|
ctx.ut();
|
|
835
845
|
}
|
|
836
846
|
}
|
|
837
|
-
function prepareAnchor(target, vnode, createText, insert) {
|
|
847
|
+
function prepareAnchor(target, vnode, createText, insert, anchor = null) {
|
|
838
848
|
const targetStart = vnode.targetStart = createText("");
|
|
839
849
|
const targetAnchor = vnode.targetAnchor = createText("");
|
|
840
850
|
targetStart[TeleportEndKey] = targetAnchor;
|
|
841
851
|
if (target) {
|
|
842
|
-
insert(targetStart, target);
|
|
843
|
-
insert(targetAnchor, target);
|
|
852
|
+
insert(targetStart, target, anchor);
|
|
853
|
+
insert(targetAnchor, target, anchor);
|
|
844
854
|
}
|
|
845
855
|
return targetAnchor;
|
|
846
856
|
}
|
|
@@ -1052,6 +1062,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1052
1062
|
callHook(hook, [el]);
|
|
1053
1063
|
},
|
|
1054
1064
|
enter(el) {
|
|
1065
|
+
if (leavingVNodesCache[key] === vnode) return;
|
|
1055
1066
|
let hook = onEnter;
|
|
1056
1067
|
let afterHook = onAfterEnter;
|
|
1057
1068
|
let cancelHook = onEnterCancelled;
|
|
@@ -1065,7 +1076,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1065
1076
|
}
|
|
1066
1077
|
}
|
|
1067
1078
|
let called = false;
|
|
1068
|
-
|
|
1079
|
+
el[enterCbKey] = (cancelled) => {
|
|
1069
1080
|
if (called) return;
|
|
1070
1081
|
called = true;
|
|
1071
1082
|
if (cancelled) {
|
|
@@ -1078,6 +1089,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1078
1089
|
}
|
|
1079
1090
|
el[enterCbKey] = void 0;
|
|
1080
1091
|
};
|
|
1092
|
+
const done = el[enterCbKey].bind(null, false);
|
|
1081
1093
|
if (hook) {
|
|
1082
1094
|
callAsyncHook(hook, [el, done]);
|
|
1083
1095
|
} else {
|
|
@@ -1097,7 +1109,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1097
1109
|
}
|
|
1098
1110
|
callHook(onBeforeLeave, [el]);
|
|
1099
1111
|
let called = false;
|
|
1100
|
-
|
|
1112
|
+
el[leaveCbKey] = (cancelled) => {
|
|
1101
1113
|
if (called) return;
|
|
1102
1114
|
called = true;
|
|
1103
1115
|
remove();
|
|
@@ -1111,6 +1123,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1111
1123
|
delete leavingVNodesCache[key2];
|
|
1112
1124
|
}
|
|
1113
1125
|
};
|
|
1126
|
+
const done = el[leaveCbKey].bind(null, false);
|
|
1114
1127
|
leavingVNodesCache[key2] = vnode;
|
|
1115
1128
|
if (onLeave) {
|
|
1116
1129
|
callAsyncHook(onLeave, [el, done]);
|
|
@@ -1229,6 +1242,10 @@ function useTemplateRef(key) {
|
|
|
1229
1242
|
const ret = r;
|
|
1230
1243
|
return ret;
|
|
1231
1244
|
}
|
|
1245
|
+
function isTemplateRefKey(refs, key) {
|
|
1246
|
+
let desc;
|
|
1247
|
+
return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
|
|
1248
|
+
}
|
|
1232
1249
|
|
|
1233
1250
|
const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
|
|
1234
1251
|
function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
@@ -1258,8 +1275,17 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1258
1275
|
const setupState = owner.setupState;
|
|
1259
1276
|
const rawSetupState = reactivity.toRaw(setupState);
|
|
1260
1277
|
const canSetSetupRef = setupState === shared.EMPTY_OBJ ? shared.NO : (key) => {
|
|
1278
|
+
if (isTemplateRefKey(refs, key)) {
|
|
1279
|
+
return false;
|
|
1280
|
+
}
|
|
1261
1281
|
return shared.hasOwn(rawSetupState, key);
|
|
1262
1282
|
};
|
|
1283
|
+
const canSetRef = (ref2, key) => {
|
|
1284
|
+
if (key && isTemplateRefKey(refs, key)) {
|
|
1285
|
+
return false;
|
|
1286
|
+
}
|
|
1287
|
+
return true;
|
|
1288
|
+
};
|
|
1263
1289
|
if (oldRef != null && oldRef !== ref) {
|
|
1264
1290
|
invalidatePendingSetRef(oldRawRef);
|
|
1265
1291
|
if (shared.isString(oldRef)) {
|
|
@@ -1268,10 +1294,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1268
1294
|
setupState[oldRef] = null;
|
|
1269
1295
|
}
|
|
1270
1296
|
} else if (reactivity.isRef(oldRef)) {
|
|
1271
|
-
|
|
1297
|
+
const oldRawRefAtom = oldRawRef;
|
|
1298
|
+
if (canSetRef(oldRef, oldRawRefAtom.k)) {
|
|
1272
1299
|
oldRef.value = null;
|
|
1273
1300
|
}
|
|
1274
|
-
const oldRawRefAtom = oldRawRef;
|
|
1275
1301
|
if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
|
|
1276
1302
|
}
|
|
1277
1303
|
}
|
|
@@ -1283,7 +1309,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1283
1309
|
if (_isString || _isRef) {
|
|
1284
1310
|
const doSet = () => {
|
|
1285
1311
|
if (rawRef.f) {
|
|
1286
|
-
const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value ;
|
|
1312
|
+
const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef() || !rawRef.k ? ref.value : refs[rawRef.k];
|
|
1287
1313
|
if (isUnmount) {
|
|
1288
1314
|
shared.isArray(existing) && shared.remove(existing, refValue);
|
|
1289
1315
|
} else {
|
|
@@ -1295,7 +1321,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1295
1321
|
}
|
|
1296
1322
|
} else {
|
|
1297
1323
|
const newVal = [refValue];
|
|
1298
|
-
{
|
|
1324
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
1299
1325
|
ref.value = newVal;
|
|
1300
1326
|
}
|
|
1301
1327
|
if (rawRef.k) refs[rawRef.k] = newVal;
|
|
@@ -1310,7 +1336,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1310
1336
|
setupState[ref] = value;
|
|
1311
1337
|
}
|
|
1312
1338
|
} else if (_isRef) {
|
|
1313
|
-
{
|
|
1339
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
1314
1340
|
ref.value = value;
|
|
1315
1341
|
}
|
|
1316
1342
|
if (rawRef.k) refs[rawRef.k] = value;
|
|
@@ -2734,13 +2760,24 @@ function withAsyncContext(getAwaitable) {
|
|
|
2734
2760
|
const ctx = getCurrentInstance();
|
|
2735
2761
|
let awaitable = getAwaitable();
|
|
2736
2762
|
unsetCurrentInstance();
|
|
2763
|
+
const cleanup = () => {
|
|
2764
|
+
if (getCurrentInstance() !== ctx) ctx.scope.off();
|
|
2765
|
+
unsetCurrentInstance();
|
|
2766
|
+
};
|
|
2737
2767
|
if (shared.isPromise(awaitable)) {
|
|
2738
2768
|
awaitable = awaitable.catch((e) => {
|
|
2739
2769
|
setCurrentInstance(ctx);
|
|
2770
|
+
Promise.resolve().then(() => Promise.resolve().then(cleanup));
|
|
2740
2771
|
throw e;
|
|
2741
2772
|
});
|
|
2742
2773
|
}
|
|
2743
|
-
return [
|
|
2774
|
+
return [
|
|
2775
|
+
awaitable,
|
|
2776
|
+
() => {
|
|
2777
|
+
setCurrentInstance(ctx);
|
|
2778
|
+
Promise.resolve().then(cleanup);
|
|
2779
|
+
}
|
|
2780
|
+
];
|
|
2744
2781
|
}
|
|
2745
2782
|
|
|
2746
2783
|
let shouldCacheAccess = true;
|
|
@@ -3527,7 +3564,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
|
|
|
3527
3564
|
const dynamicProps = nextVNode.dynamicProps;
|
|
3528
3565
|
for (let i = 0; i < dynamicProps.length; i++) {
|
|
3529
3566
|
const key = dynamicProps[i];
|
|
3530
|
-
if (nextProps
|
|
3567
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
|
|
3531
3568
|
return true;
|
|
3532
3569
|
}
|
|
3533
3570
|
}
|
|
@@ -3558,12 +3595,20 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
|
|
|
3558
3595
|
}
|
|
3559
3596
|
for (let i = 0; i < nextKeys.length; i++) {
|
|
3560
3597
|
const key = nextKeys[i];
|
|
3561
|
-
if (nextProps
|
|
3598
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
|
|
3562
3599
|
return true;
|
|
3563
3600
|
}
|
|
3564
3601
|
}
|
|
3565
3602
|
return false;
|
|
3566
3603
|
}
|
|
3604
|
+
function hasPropValueChanged(nextProps, prevProps, key) {
|
|
3605
|
+
const nextProp = nextProps[key];
|
|
3606
|
+
const prevProp = prevProps[key];
|
|
3607
|
+
if (key === "style" && shared.isObject(nextProp) && shared.isObject(prevProp)) {
|
|
3608
|
+
return !shared.looseEqual(nextProp, prevProp);
|
|
3609
|
+
}
|
|
3610
|
+
return nextProp !== prevProp;
|
|
3611
|
+
}
|
|
3567
3612
|
function updateHOCHostEl({ vnode, parent }, el) {
|
|
3568
3613
|
while (parent) {
|
|
3569
3614
|
const root = parent.subTree;
|
|
@@ -4070,9 +4115,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
4070
4115
|
} else {
|
|
4071
4116
|
const el = n2.el = n1.el;
|
|
4072
4117
|
if (n2.children !== n1.children) {
|
|
4073
|
-
|
|
4074
|
-
hostSetText(el, n2.children);
|
|
4075
|
-
}
|
|
4118
|
+
hostSetText(el, n2.children);
|
|
4076
4119
|
}
|
|
4077
4120
|
}
|
|
4078
4121
|
};
|
|
@@ -4133,7 +4176,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
4133
4176
|
optimized
|
|
4134
4177
|
);
|
|
4135
4178
|
} else {
|
|
4136
|
-
const customElement =
|
|
4179
|
+
const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
|
|
4137
4180
|
try {
|
|
4138
4181
|
if (customElement) {
|
|
4139
4182
|
customElement._beginPatch();
|
|
@@ -4564,8 +4607,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
4564
4607
|
hydrateSubTree();
|
|
4565
4608
|
}
|
|
4566
4609
|
} else {
|
|
4567
|
-
if (root.ce &&
|
|
4568
|
-
root.ce._def.shadowRoot !== false) {
|
|
4610
|
+
if (root.ce && root.ce._hasShadowRoot()) {
|
|
4569
4611
|
root.ce._injectChildStyle(type);
|
|
4570
4612
|
}
|
|
4571
4613
|
const subTree = instance.subTree = renderComponentRoot(instance);
|
|
@@ -4605,9 +4647,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
4605
4647
|
updateComponentPreRender(instance, next, optimized);
|
|
4606
4648
|
}
|
|
4607
4649
|
nonHydratedAsyncRoot.asyncDep.then(() => {
|
|
4608
|
-
|
|
4609
|
-
|
|
4610
|
-
}
|
|
4650
|
+
queuePostRenderEffect(() => {
|
|
4651
|
+
if (!instance.isUnmounted) update();
|
|
4652
|
+
}, parentSuspense);
|
|
4611
4653
|
});
|
|
4612
4654
|
return;
|
|
4613
4655
|
}
|
|
@@ -5258,12 +5300,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
5258
5300
|
traverseStaticChildren(c1, c2);
|
|
5259
5301
|
}
|
|
5260
5302
|
if (c2.type === Text) {
|
|
5261
|
-
if (c2.patchFlag
|
|
5262
|
-
c2
|
|
5263
|
-
} else {
|
|
5264
|
-
c2.__elIndex = i + // take fragment start anchor into account
|
|
5265
|
-
(n1.type === Fragment ? 1 : 0);
|
|
5303
|
+
if (c2.patchFlag === -1) {
|
|
5304
|
+
c2 = ch2[i] = cloneIfMounted(c2);
|
|
5266
5305
|
}
|
|
5306
|
+
c2.el = c1.el;
|
|
5267
5307
|
}
|
|
5268
5308
|
if (c2.type === Comment && !c2.el) {
|
|
5269
5309
|
c2.el = c1.el;
|
|
@@ -6600,7 +6640,7 @@ function isMemoSame(cached, memo) {
|
|
|
6600
6640
|
return true;
|
|
6601
6641
|
}
|
|
6602
6642
|
|
|
6603
|
-
const version = "3.5.
|
|
6643
|
+
const version = "3.5.29";
|
|
6604
6644
|
const warn$1 = shared.NOOP;
|
|
6605
6645
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
6606
6646
|
const devtools = void 0;
|
package/dist/runtime-core.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed as computed$1, Ref, OnCleanup, WatchStopHandle, ShallowUnwrapRef, UnwrapNestedRefs, DebuggerEvent, ComputedGetter, WritableComputedOptions, WatchCallback, ReactiveEffect, DebuggerOptions, WatchSource, WatchHandle, ReactiveMarker, WatchEffect, ShallowRef, WatchErrorCodes, reactive } from '@vue/reactivity';
|
|
2
2
|
export { ComputedGetter, ComputedRef, ComputedSetter, CustomRefFactory, DebuggerEvent, DebuggerEventExtraInfo, DebuggerOptions, DeepReadonly, EffectScheduler, EffectScope, MaybeRef, MaybeRefOrGetter, Raw, Reactive, ReactiveEffect, ReactiveEffectOptions, ReactiveEffectRunner, ReactiveFlags, Ref, ShallowReactive, ShallowRef, ShallowUnwrapRef, ToRef, ToRefs, TrackOpTypes, TriggerOpTypes, UnwrapNestedRefs, UnwrapRef, WatchCallback, WatchEffect, WatchHandle, WatchSource, WatchStopHandle, WritableComputedOptions, WritableComputedRef, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';
|
|
3
|
-
import { IfAny, Prettify,
|
|
3
|
+
import { IfAny, Prettify, UnionToIntersection, LooseRequired, OverloadParameters, IsKeyValues } from '@vue/shared';
|
|
4
4
|
export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
|
|
5
5
|
|
|
6
6
|
export declare const computed: typeof computed$1;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/runtime-core v3.5.
|
|
2
|
+
* @vue/runtime-core v3.5.29
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
6
6
|
import { pauseTracking, resetTracking, isRef, toRaw, traverse, watch as watch$1, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, customRef, shallowReactive, trigger, ReactiveEffect, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';
|
|
7
7
|
export { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';
|
|
8
|
-
import { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, NO, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, normalizeCssVarValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, hyphenate, hasChanged, looseToNumber, isModelListener,
|
|
8
|
+
import { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, NO, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, normalizeCssVarValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, hyphenate, hasChanged, looseToNumber, isModelListener, looseEqual, EMPTY_ARR, toRawType, makeMap, toNumber } from '@vue/shared';
|
|
9
9
|
export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
|
|
10
10
|
|
|
11
11
|
const stack = [];
|
|
@@ -1206,7 +1206,22 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
|
|
|
1206
1206
|
function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
|
|
1207
1207
|
o: { nextSibling, parentNode, querySelector, insert, createText }
|
|
1208
1208
|
}, hydrateChildren) {
|
|
1209
|
-
function
|
|
1209
|
+
function hydrateAnchor(target2, targetNode) {
|
|
1210
|
+
let targetAnchor = targetNode;
|
|
1211
|
+
while (targetAnchor) {
|
|
1212
|
+
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
1213
|
+
if (targetAnchor.data === "teleport start anchor") {
|
|
1214
|
+
vnode.targetStart = targetAnchor;
|
|
1215
|
+
} else if (targetAnchor.data === "teleport anchor") {
|
|
1216
|
+
vnode.targetAnchor = targetAnchor;
|
|
1217
|
+
target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
1218
|
+
break;
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
targetAnchor = nextSibling(targetAnchor);
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
function hydrateDisabledTeleport(node2, vnode2) {
|
|
1210
1225
|
vnode2.anchor = hydrateChildren(
|
|
1211
1226
|
nextSibling(node2),
|
|
1212
1227
|
vnode2,
|
|
@@ -1216,8 +1231,6 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
1216
1231
|
slotScopeIds,
|
|
1217
1232
|
optimized
|
|
1218
1233
|
);
|
|
1219
|
-
vnode2.targetStart = targetStart;
|
|
1220
|
-
vnode2.targetAnchor = targetAnchor;
|
|
1221
1234
|
}
|
|
1222
1235
|
const target = vnode.target = resolveTarget(
|
|
1223
1236
|
vnode.props,
|
|
@@ -1228,27 +1241,22 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
1228
1241
|
const targetNode = target._lpa || target.firstChild;
|
|
1229
1242
|
if (vnode.shapeFlag & 16) {
|
|
1230
1243
|
if (disabled) {
|
|
1231
|
-
hydrateDisabledTeleport(
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1244
|
+
hydrateDisabledTeleport(node, vnode);
|
|
1245
|
+
hydrateAnchor(target, targetNode);
|
|
1246
|
+
if (!vnode.targetAnchor) {
|
|
1247
|
+
prepareAnchor(
|
|
1248
|
+
target,
|
|
1249
|
+
vnode,
|
|
1250
|
+
createText,
|
|
1251
|
+
insert,
|
|
1252
|
+
// if target is the same as the main view, insert anchors before current node
|
|
1253
|
+
// to avoid hydrating mismatch
|
|
1254
|
+
parentNode(node) === target ? node : null
|
|
1255
|
+
);
|
|
1256
|
+
}
|
|
1237
1257
|
} else {
|
|
1238
1258
|
vnode.anchor = nextSibling(node);
|
|
1239
|
-
|
|
1240
|
-
while (targetAnchor) {
|
|
1241
|
-
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
1242
|
-
if (targetAnchor.data === "teleport start anchor") {
|
|
1243
|
-
vnode.targetStart = targetAnchor;
|
|
1244
|
-
} else if (targetAnchor.data === "teleport anchor") {
|
|
1245
|
-
vnode.targetAnchor = targetAnchor;
|
|
1246
|
-
target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
1247
|
-
break;
|
|
1248
|
-
}
|
|
1249
|
-
}
|
|
1250
|
-
targetAnchor = nextSibling(targetAnchor);
|
|
1251
|
-
}
|
|
1259
|
+
hydrateAnchor(target, targetNode);
|
|
1252
1260
|
if (!vnode.targetAnchor) {
|
|
1253
1261
|
prepareAnchor(target, vnode, createText, insert);
|
|
1254
1262
|
}
|
|
@@ -1266,7 +1274,9 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
1266
1274
|
updateCssVars(vnode, disabled);
|
|
1267
1275
|
} else if (disabled) {
|
|
1268
1276
|
if (vnode.shapeFlag & 16) {
|
|
1269
|
-
hydrateDisabledTeleport(node, vnode
|
|
1277
|
+
hydrateDisabledTeleport(node, vnode);
|
|
1278
|
+
vnode.targetStart = node;
|
|
1279
|
+
vnode.targetAnchor = nextSibling(node);
|
|
1270
1280
|
}
|
|
1271
1281
|
}
|
|
1272
1282
|
return vnode.anchor && nextSibling(vnode.anchor);
|
|
@@ -1290,13 +1300,13 @@ function updateCssVars(vnode, isDisabled) {
|
|
|
1290
1300
|
ctx.ut();
|
|
1291
1301
|
}
|
|
1292
1302
|
}
|
|
1293
|
-
function prepareAnchor(target, vnode, createText, insert) {
|
|
1303
|
+
function prepareAnchor(target, vnode, createText, insert, anchor = null) {
|
|
1294
1304
|
const targetStart = vnode.targetStart = createText("");
|
|
1295
1305
|
const targetAnchor = vnode.targetAnchor = createText("");
|
|
1296
1306
|
targetStart[TeleportEndKey] = targetAnchor;
|
|
1297
1307
|
if (target) {
|
|
1298
|
-
insert(targetStart, target);
|
|
1299
|
-
insert(targetAnchor, target);
|
|
1308
|
+
insert(targetStart, target, anchor);
|
|
1309
|
+
insert(targetAnchor, target, anchor);
|
|
1300
1310
|
}
|
|
1301
1311
|
return targetAnchor;
|
|
1302
1312
|
}
|
|
@@ -1519,6 +1529,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1519
1529
|
callHook(hook, [el]);
|
|
1520
1530
|
},
|
|
1521
1531
|
enter(el) {
|
|
1532
|
+
if (leavingVNodesCache[key] === vnode) return;
|
|
1522
1533
|
let hook = onEnter;
|
|
1523
1534
|
let afterHook = onAfterEnter;
|
|
1524
1535
|
let cancelHook = onEnterCancelled;
|
|
@@ -1532,7 +1543,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1532
1543
|
}
|
|
1533
1544
|
}
|
|
1534
1545
|
let called = false;
|
|
1535
|
-
|
|
1546
|
+
el[enterCbKey] = (cancelled) => {
|
|
1536
1547
|
if (called) return;
|
|
1537
1548
|
called = true;
|
|
1538
1549
|
if (cancelled) {
|
|
@@ -1545,6 +1556,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1545
1556
|
}
|
|
1546
1557
|
el[enterCbKey] = void 0;
|
|
1547
1558
|
};
|
|
1559
|
+
const done = el[enterCbKey].bind(null, false);
|
|
1548
1560
|
if (hook) {
|
|
1549
1561
|
callAsyncHook(hook, [el, done]);
|
|
1550
1562
|
} else {
|
|
@@ -1564,7 +1576,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1564
1576
|
}
|
|
1565
1577
|
callHook(onBeforeLeave, [el]);
|
|
1566
1578
|
let called = false;
|
|
1567
|
-
|
|
1579
|
+
el[leaveCbKey] = (cancelled) => {
|
|
1568
1580
|
if (called) return;
|
|
1569
1581
|
called = true;
|
|
1570
1582
|
remove();
|
|
@@ -1578,6 +1590,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
1578
1590
|
delete leavingVNodesCache[key2];
|
|
1579
1591
|
}
|
|
1580
1592
|
};
|
|
1593
|
+
const done = el[leaveCbKey].bind(null, false);
|
|
1581
1594
|
leavingVNodesCache[key2] = vnode;
|
|
1582
1595
|
if (onLeave) {
|
|
1583
1596
|
callAsyncHook(onLeave, [el, done]);
|
|
@@ -1690,8 +1703,7 @@ function useTemplateRef(key) {
|
|
|
1690
1703
|
const r = shallowRef(null);
|
|
1691
1704
|
if (i) {
|
|
1692
1705
|
const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
|
|
1693
|
-
|
|
1694
|
-
if (!!(process.env.NODE_ENV !== "production") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
|
|
1706
|
+
if (!!(process.env.NODE_ENV !== "production") && isTemplateRefKey(refs, key)) {
|
|
1695
1707
|
warn$1(`useTemplateRef('${key}') already exists.`);
|
|
1696
1708
|
} else {
|
|
1697
1709
|
Object.defineProperty(refs, key, {
|
|
@@ -1711,6 +1723,10 @@ function useTemplateRef(key) {
|
|
|
1711
1723
|
}
|
|
1712
1724
|
return ret;
|
|
1713
1725
|
}
|
|
1726
|
+
function isTemplateRefKey(refs, key) {
|
|
1727
|
+
let desc;
|
|
1728
|
+
return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
|
|
1729
|
+
}
|
|
1714
1730
|
|
|
1715
1731
|
const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
|
|
1716
1732
|
function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
@@ -1756,10 +1772,19 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1756
1772
|
return false;
|
|
1757
1773
|
}
|
|
1758
1774
|
}
|
|
1775
|
+
if (isTemplateRefKey(refs, key)) {
|
|
1776
|
+
return false;
|
|
1777
|
+
}
|
|
1759
1778
|
return hasOwn(rawSetupState, key);
|
|
1760
1779
|
};
|
|
1761
|
-
const canSetRef = (ref2) => {
|
|
1762
|
-
|
|
1780
|
+
const canSetRef = (ref2, key) => {
|
|
1781
|
+
if (!!(process.env.NODE_ENV !== "production") && knownTemplateRefs.has(ref2)) {
|
|
1782
|
+
return false;
|
|
1783
|
+
}
|
|
1784
|
+
if (key && isTemplateRefKey(refs, key)) {
|
|
1785
|
+
return false;
|
|
1786
|
+
}
|
|
1787
|
+
return true;
|
|
1763
1788
|
};
|
|
1764
1789
|
if (oldRef != null && oldRef !== ref) {
|
|
1765
1790
|
invalidatePendingSetRef(oldRawRef);
|
|
@@ -1769,10 +1794,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1769
1794
|
setupState[oldRef] = null;
|
|
1770
1795
|
}
|
|
1771
1796
|
} else if (isRef(oldRef)) {
|
|
1772
|
-
|
|
1797
|
+
const oldRawRefAtom = oldRawRef;
|
|
1798
|
+
if (canSetRef(oldRef, oldRawRefAtom.k)) {
|
|
1773
1799
|
oldRef.value = null;
|
|
1774
1800
|
}
|
|
1775
|
-
const oldRawRefAtom = oldRawRef;
|
|
1776
1801
|
if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
|
|
1777
1802
|
}
|
|
1778
1803
|
}
|
|
@@ -1796,7 +1821,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1796
1821
|
}
|
|
1797
1822
|
} else {
|
|
1798
1823
|
const newVal = [refValue];
|
|
1799
|
-
if (canSetRef(ref)) {
|
|
1824
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
1800
1825
|
ref.value = newVal;
|
|
1801
1826
|
}
|
|
1802
1827
|
if (rawRef.k) refs[rawRef.k] = newVal;
|
|
@@ -1811,7 +1836,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
1811
1836
|
setupState[ref] = value;
|
|
1812
1837
|
}
|
|
1813
1838
|
} else if (_isRef) {
|
|
1814
|
-
if (canSetRef(ref)) {
|
|
1839
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
1815
1840
|
ref.value = value;
|
|
1816
1841
|
}
|
|
1817
1842
|
if (rawRef.k) refs[rawRef.k] = value;
|
|
@@ -3615,13 +3640,24 @@ function withAsyncContext(getAwaitable) {
|
|
|
3615
3640
|
}
|
|
3616
3641
|
let awaitable = getAwaitable();
|
|
3617
3642
|
unsetCurrentInstance();
|
|
3643
|
+
const cleanup = () => {
|
|
3644
|
+
if (getCurrentInstance() !== ctx) ctx.scope.off();
|
|
3645
|
+
unsetCurrentInstance();
|
|
3646
|
+
};
|
|
3618
3647
|
if (isPromise(awaitable)) {
|
|
3619
3648
|
awaitable = awaitable.catch((e) => {
|
|
3620
3649
|
setCurrentInstance(ctx);
|
|
3650
|
+
Promise.resolve().then(() => Promise.resolve().then(cleanup));
|
|
3621
3651
|
throw e;
|
|
3622
3652
|
});
|
|
3623
3653
|
}
|
|
3624
|
-
return [
|
|
3654
|
+
return [
|
|
3655
|
+
awaitable,
|
|
3656
|
+
() => {
|
|
3657
|
+
setCurrentInstance(ctx);
|
|
3658
|
+
Promise.resolve().then(cleanup);
|
|
3659
|
+
}
|
|
3660
|
+
];
|
|
3625
3661
|
}
|
|
3626
3662
|
|
|
3627
3663
|
function createDuplicateChecker() {
|
|
@@ -4690,7 +4726,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
|
|
|
4690
4726
|
const dynamicProps = nextVNode.dynamicProps;
|
|
4691
4727
|
for (let i = 0; i < dynamicProps.length; i++) {
|
|
4692
4728
|
const key = dynamicProps[i];
|
|
4693
|
-
if (nextProps
|
|
4729
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
|
|
4694
4730
|
return true;
|
|
4695
4731
|
}
|
|
4696
4732
|
}
|
|
@@ -4721,12 +4757,20 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
|
|
|
4721
4757
|
}
|
|
4722
4758
|
for (let i = 0; i < nextKeys.length; i++) {
|
|
4723
4759
|
const key = nextKeys[i];
|
|
4724
|
-
if (nextProps
|
|
4760
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
|
|
4725
4761
|
return true;
|
|
4726
4762
|
}
|
|
4727
4763
|
}
|
|
4728
4764
|
return false;
|
|
4729
4765
|
}
|
|
4766
|
+
function hasPropValueChanged(nextProps, prevProps, key) {
|
|
4767
|
+
const nextProp = nextProps[key];
|
|
4768
|
+
const prevProp = prevProps[key];
|
|
4769
|
+
if (key === "style" && isObject(nextProp) && isObject(prevProp)) {
|
|
4770
|
+
return !looseEqual(nextProp, prevProp);
|
|
4771
|
+
}
|
|
4772
|
+
return nextProp !== prevProp;
|
|
4773
|
+
}
|
|
4730
4774
|
function updateHOCHostEl({ vnode, parent }, el) {
|
|
4731
4775
|
while (parent) {
|
|
4732
4776
|
const root = parent.subTree;
|
|
@@ -5457,15 +5501,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5457
5501
|
} else {
|
|
5458
5502
|
const el = n2.el = n1.el;
|
|
5459
5503
|
if (n2.children !== n1.children) {
|
|
5460
|
-
|
|
5461
|
-
const childNodes = container.childNodes;
|
|
5462
|
-
const newChild = hostCreateText(n2.children);
|
|
5463
|
-
const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
|
|
5464
|
-
hostInsert(newChild, container, oldChild);
|
|
5465
|
-
hostRemove(oldChild);
|
|
5466
|
-
} else {
|
|
5467
|
-
hostSetText(el, n2.children);
|
|
5468
|
-
}
|
|
5504
|
+
hostSetText(el, n2.children);
|
|
5469
5505
|
}
|
|
5470
5506
|
}
|
|
5471
5507
|
};
|
|
@@ -5541,7 +5577,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5541
5577
|
optimized
|
|
5542
5578
|
);
|
|
5543
5579
|
} else {
|
|
5544
|
-
const customElement =
|
|
5580
|
+
const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
|
|
5545
5581
|
try {
|
|
5546
5582
|
if (customElement) {
|
|
5547
5583
|
customElement._beginPatch();
|
|
@@ -6034,8 +6070,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6034
6070
|
hydrateSubTree();
|
|
6035
6071
|
}
|
|
6036
6072
|
} else {
|
|
6037
|
-
if (root.ce &&
|
|
6038
|
-
root.ce._def.shadowRoot !== false) {
|
|
6073
|
+
if (root.ce && root.ce._hasShadowRoot()) {
|
|
6039
6074
|
root.ce._injectChildStyle(type);
|
|
6040
6075
|
}
|
|
6041
6076
|
if (!!(process.env.NODE_ENV !== "production")) {
|
|
@@ -6090,9 +6125,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6090
6125
|
updateComponentPreRender(instance, next, optimized);
|
|
6091
6126
|
}
|
|
6092
6127
|
nonHydratedAsyncRoot.asyncDep.then(() => {
|
|
6093
|
-
|
|
6094
|
-
|
|
6095
|
-
}
|
|
6128
|
+
queuePostRenderEffect(() => {
|
|
6129
|
+
if (!instance.isUnmounted) update();
|
|
6130
|
+
}, parentSuspense);
|
|
6096
6131
|
});
|
|
6097
6132
|
return;
|
|
6098
6133
|
}
|
|
@@ -6789,12 +6824,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
6789
6824
|
traverseStaticChildren(c1, c2);
|
|
6790
6825
|
}
|
|
6791
6826
|
if (c2.type === Text) {
|
|
6792
|
-
if (c2.patchFlag
|
|
6793
|
-
c2
|
|
6794
|
-
} else {
|
|
6795
|
-
c2.__elIndex = i + // take fragment start anchor into account
|
|
6796
|
-
(n1.type === Fragment ? 1 : 0);
|
|
6827
|
+
if (c2.patchFlag === -1) {
|
|
6828
|
+
c2 = ch2[i] = cloneIfMounted(c2);
|
|
6797
6829
|
}
|
|
6830
|
+
c2.el = c1.el;
|
|
6798
6831
|
}
|
|
6799
6832
|
if (c2.type === Comment && !c2.el) {
|
|
6800
6833
|
c2.el = c1.el;
|
|
@@ -8534,7 +8567,7 @@ function isMemoSame(cached, memo) {
|
|
|
8534
8567
|
return true;
|
|
8535
8568
|
}
|
|
8536
8569
|
|
|
8537
|
-
const version = "3.5.
|
|
8570
|
+
const version = "3.5.29";
|
|
8538
8571
|
const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
|
|
8539
8572
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
8540
8573
|
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.29",
|
|
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/
|
|
50
|
-
"@vue/
|
|
49
|
+
"@vue/reactivity": "3.5.29",
|
|
50
|
+
"@vue/shared": "3.5.29"
|
|
51
51
|
}
|
|
52
52
|
}
|