@vue/runtime-core 3.4.24 → 3.4.26
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 +32 -32
- package/dist/runtime-core.cjs.prod.js +32 -32
- package/dist/runtime-core.d.ts +3 -2
- package/dist/runtime-core.esm-bundler.js +32 -32
- package/package.json +3 -3
package/dist/runtime-core.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/runtime-core v3.4.
|
|
2
|
+
* @vue/runtime-core v3.4.26
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -904,7 +904,7 @@ function renderComponentRoot(instance) {
|
|
|
904
904
|
true ? {
|
|
905
905
|
get attrs() {
|
|
906
906
|
markAttrsAccessed();
|
|
907
|
-
return attrs;
|
|
907
|
+
return reactivity.shallowReadonly(attrs);
|
|
908
908
|
},
|
|
909
909
|
slots,
|
|
910
910
|
emit
|
|
@@ -937,7 +937,7 @@ function renderComponentRoot(instance) {
|
|
|
937
937
|
propsOptions
|
|
938
938
|
);
|
|
939
939
|
}
|
|
940
|
-
root = cloneVNode(root, fallthroughAttrs);
|
|
940
|
+
root = cloneVNode(root, fallthroughAttrs, false, true);
|
|
941
941
|
} else if (!accessedAttrs && root.type !== Comment) {
|
|
942
942
|
const allAttrs = Object.keys(attrs);
|
|
943
943
|
const eventAttrs = [];
|
|
@@ -971,7 +971,7 @@ function renderComponentRoot(instance) {
|
|
|
971
971
|
`Runtime directive used on component with non-element root node. The directives will not function as intended.`
|
|
972
972
|
);
|
|
973
973
|
}
|
|
974
|
-
root = cloneVNode(root);
|
|
974
|
+
root = cloneVNode(root, null, false, true);
|
|
975
975
|
root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
|
|
976
976
|
}
|
|
977
977
|
if (vnode.transition) {
|
|
@@ -1462,7 +1462,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
1462
1462
|
let parentSuspenseId;
|
|
1463
1463
|
const isSuspensible = isVNodeSuspensible(vnode);
|
|
1464
1464
|
if (isSuspensible) {
|
|
1465
|
-
if (parentSuspense
|
|
1465
|
+
if (parentSuspense && parentSuspense.pendingBranch) {
|
|
1466
1466
|
parentSuspenseId = parentSuspense.pendingId;
|
|
1467
1467
|
parentSuspense.deps++;
|
|
1468
1468
|
}
|
|
@@ -1774,8 +1774,8 @@ function setActiveBranch(suspense, branch) {
|
|
|
1774
1774
|
}
|
|
1775
1775
|
}
|
|
1776
1776
|
function isVNodeSuspensible(vnode) {
|
|
1777
|
-
|
|
1778
|
-
return
|
|
1777
|
+
const suspensible = vnode.props && vnode.props.suspensible;
|
|
1778
|
+
return suspensible != null && suspensible !== false;
|
|
1779
1779
|
}
|
|
1780
1780
|
|
|
1781
1781
|
const ssrContextKey = Symbol.for("v-scx");
|
|
@@ -2029,34 +2029,29 @@ function createPathGetter(ctx, path) {
|
|
|
2029
2029
|
return cur;
|
|
2030
2030
|
};
|
|
2031
2031
|
}
|
|
2032
|
-
function traverse(value, depth
|
|
2033
|
-
if (!shared.isObject(value) || value["__v_skip"]) {
|
|
2032
|
+
function traverse(value, depth = Infinity, seen) {
|
|
2033
|
+
if (depth <= 0 || !shared.isObject(value) || value["__v_skip"]) {
|
|
2034
2034
|
return value;
|
|
2035
2035
|
}
|
|
2036
|
-
if (depth && depth > 0) {
|
|
2037
|
-
if (currentDepth >= depth) {
|
|
2038
|
-
return value;
|
|
2039
|
-
}
|
|
2040
|
-
currentDepth++;
|
|
2041
|
-
}
|
|
2042
2036
|
seen = seen || /* @__PURE__ */ new Set();
|
|
2043
2037
|
if (seen.has(value)) {
|
|
2044
2038
|
return value;
|
|
2045
2039
|
}
|
|
2046
2040
|
seen.add(value);
|
|
2041
|
+
depth--;
|
|
2047
2042
|
if (reactivity.isRef(value)) {
|
|
2048
|
-
traverse(value.value, depth,
|
|
2043
|
+
traverse(value.value, depth, seen);
|
|
2049
2044
|
} else if (shared.isArray(value)) {
|
|
2050
2045
|
for (let i = 0; i < value.length; i++) {
|
|
2051
|
-
traverse(value[i], depth,
|
|
2046
|
+
traverse(value[i], depth, seen);
|
|
2052
2047
|
}
|
|
2053
2048
|
} else if (shared.isSet(value) || shared.isMap(value)) {
|
|
2054
2049
|
value.forEach((v) => {
|
|
2055
|
-
traverse(v, depth,
|
|
2050
|
+
traverse(v, depth, seen);
|
|
2056
2051
|
});
|
|
2057
2052
|
} else if (shared.isPlainObject(value)) {
|
|
2058
2053
|
for (const key in value) {
|
|
2059
|
-
traverse(value[key], depth,
|
|
2054
|
+
traverse(value[key], depth, seen);
|
|
2060
2055
|
}
|
|
2061
2056
|
}
|
|
2062
2057
|
return value;
|
|
@@ -2214,7 +2209,7 @@ const BaseTransitionImpl = {
|
|
|
2214
2209
|
instance
|
|
2215
2210
|
);
|
|
2216
2211
|
setTransitionHooks(oldInnerChild, leavingHooks);
|
|
2217
|
-
if (mode === "out-in") {
|
|
2212
|
+
if (mode === "out-in" && innerChild.type !== Comment) {
|
|
2218
2213
|
state.isLeaving = true;
|
|
2219
2214
|
leavingHooks.afterLeave = () => {
|
|
2220
2215
|
state.isLeaving = false;
|
|
@@ -2406,11 +2401,13 @@ function getKeepAliveChild(vnode) {
|
|
|
2406
2401
|
return vnode.component.subTree;
|
|
2407
2402
|
}
|
|
2408
2403
|
const { shapeFlag, children } = vnode;
|
|
2409
|
-
if (
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2404
|
+
if (children) {
|
|
2405
|
+
if (shapeFlag & 16) {
|
|
2406
|
+
return children[0];
|
|
2407
|
+
}
|
|
2408
|
+
if (shapeFlag & 32 && shared.isFunction(children.default)) {
|
|
2409
|
+
return children.default();
|
|
2410
|
+
}
|
|
2414
2411
|
}
|
|
2415
2412
|
}
|
|
2416
2413
|
function setTransitionHooks(vnode, hooks) {
|
|
@@ -2733,7 +2730,7 @@ const KeepAliveImpl = {
|
|
|
2733
2730
|
return () => {
|
|
2734
2731
|
pendingCacheKey = null;
|
|
2735
2732
|
if (!slots.default) {
|
|
2736
|
-
return
|
|
2733
|
+
return null;
|
|
2737
2734
|
}
|
|
2738
2735
|
const children = slots.default();
|
|
2739
2736
|
const rawVNode = children[0];
|
|
@@ -4016,7 +4013,7 @@ function hasInjectionContext() {
|
|
|
4016
4013
|
return !!(currentInstance || currentRenderingInstance || currentApp);
|
|
4017
4014
|
}
|
|
4018
4015
|
|
|
4019
|
-
const internalObjectProto =
|
|
4016
|
+
const internalObjectProto = {};
|
|
4020
4017
|
const createInternalObject = () => Object.create(internalObjectProto);
|
|
4021
4018
|
const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
|
|
4022
4019
|
|
|
@@ -4474,7 +4471,7 @@ const initSlots = (instance, children) => {
|
|
|
4474
4471
|
const type = children._;
|
|
4475
4472
|
if (type) {
|
|
4476
4473
|
shared.extend(slots, children);
|
|
4477
|
-
shared.def(slots, "_", type);
|
|
4474
|
+
shared.def(slots, "_", type, true);
|
|
4478
4475
|
} else {
|
|
4479
4476
|
normalizeObjectSlots(children, slots);
|
|
4480
4477
|
}
|
|
@@ -7221,8 +7218,8 @@ function guardReactiveProps(props) {
|
|
|
7221
7218
|
return null;
|
|
7222
7219
|
return reactivity.isProxy(props) || isInternalObject(props) ? shared.extend({}, props) : props;
|
|
7223
7220
|
}
|
|
7224
|
-
function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
7225
|
-
const { props, ref, patchFlag, children } = vnode;
|
|
7221
|
+
function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
|
|
7222
|
+
const { props, ref, patchFlag, children, transition } = vnode;
|
|
7226
7223
|
const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
|
|
7227
7224
|
const cloned = {
|
|
7228
7225
|
__v_isVNode: true,
|
|
@@ -7252,7 +7249,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
|
7252
7249
|
dynamicChildren: vnode.dynamicChildren,
|
|
7253
7250
|
appContext: vnode.appContext,
|
|
7254
7251
|
dirs: vnode.dirs,
|
|
7255
|
-
transition
|
|
7252
|
+
transition,
|
|
7256
7253
|
// These should technically only be non-null on mounted VNodes. However,
|
|
7257
7254
|
// they *should* be copied for kept-alive vnodes. So we just always copy
|
|
7258
7255
|
// them since them being non-null during a mount doesn't affect the logic as
|
|
@@ -7266,6 +7263,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
|
7266
7263
|
ctx: vnode.ctx,
|
|
7267
7264
|
ce: vnode.ce
|
|
7268
7265
|
};
|
|
7266
|
+
if (transition && cloneTransition) {
|
|
7267
|
+
cloned.transition = transition.clone(cloned);
|
|
7268
|
+
}
|
|
7269
7269
|
return cloned;
|
|
7270
7270
|
}
|
|
7271
7271
|
function deepCloneVNode(vnode) {
|
|
@@ -8090,7 +8090,7 @@ function isMemoSame(cached, memo) {
|
|
|
8090
8090
|
return true;
|
|
8091
8091
|
}
|
|
8092
8092
|
|
|
8093
|
-
const version = "3.4.
|
|
8093
|
+
const version = "3.4.26";
|
|
8094
8094
|
const warn = warn$1 ;
|
|
8095
8095
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
8096
8096
|
const devtools = devtools$1 ;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/runtime-core v3.4.
|
|
2
|
+
* @vue/runtime-core v3.4.26
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -470,7 +470,7 @@ function renderComponentRoot(instance) {
|
|
|
470
470
|
false ? {
|
|
471
471
|
get attrs() {
|
|
472
472
|
markAttrsAccessed();
|
|
473
|
-
return attrs;
|
|
473
|
+
return shallowReadonly(attrs);
|
|
474
474
|
},
|
|
475
475
|
slots,
|
|
476
476
|
emit
|
|
@@ -499,12 +499,12 @@ function renderComponentRoot(instance) {
|
|
|
499
499
|
propsOptions
|
|
500
500
|
);
|
|
501
501
|
}
|
|
502
|
-
root = cloneVNode(root, fallthroughAttrs);
|
|
502
|
+
root = cloneVNode(root, fallthroughAttrs, false, true);
|
|
503
503
|
}
|
|
504
504
|
}
|
|
505
505
|
}
|
|
506
506
|
if (vnode.dirs) {
|
|
507
|
-
root = cloneVNode(root);
|
|
507
|
+
root = cloneVNode(root, null, false, true);
|
|
508
508
|
root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
|
|
509
509
|
}
|
|
510
510
|
if (vnode.transition) {
|
|
@@ -940,7 +940,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
940
940
|
let parentSuspenseId;
|
|
941
941
|
const isSuspensible = isVNodeSuspensible(vnode);
|
|
942
942
|
if (isSuspensible) {
|
|
943
|
-
if (parentSuspense
|
|
943
|
+
if (parentSuspense && parentSuspense.pendingBranch) {
|
|
944
944
|
parentSuspenseId = parentSuspense.pendingId;
|
|
945
945
|
parentSuspense.deps++;
|
|
946
946
|
}
|
|
@@ -1228,8 +1228,8 @@ function setActiveBranch(suspense, branch) {
|
|
|
1228
1228
|
}
|
|
1229
1229
|
}
|
|
1230
1230
|
function isVNodeSuspensible(vnode) {
|
|
1231
|
-
|
|
1232
|
-
return
|
|
1231
|
+
const suspensible = vnode.props && vnode.props.suspensible;
|
|
1232
|
+
return suspensible != null && suspensible !== false;
|
|
1233
1233
|
}
|
|
1234
1234
|
|
|
1235
1235
|
const ssrContextKey = Symbol.for("v-scx");
|
|
@@ -1437,34 +1437,29 @@ function createPathGetter(ctx, path) {
|
|
|
1437
1437
|
return cur;
|
|
1438
1438
|
};
|
|
1439
1439
|
}
|
|
1440
|
-
function traverse(value, depth
|
|
1441
|
-
if (!shared.isObject(value) || value["__v_skip"]) {
|
|
1440
|
+
function traverse(value, depth = Infinity, seen) {
|
|
1441
|
+
if (depth <= 0 || !shared.isObject(value) || value["__v_skip"]) {
|
|
1442
1442
|
return value;
|
|
1443
1443
|
}
|
|
1444
|
-
if (depth && depth > 0) {
|
|
1445
|
-
if (currentDepth >= depth) {
|
|
1446
|
-
return value;
|
|
1447
|
-
}
|
|
1448
|
-
currentDepth++;
|
|
1449
|
-
}
|
|
1450
1444
|
seen = seen || /* @__PURE__ */ new Set();
|
|
1451
1445
|
if (seen.has(value)) {
|
|
1452
1446
|
return value;
|
|
1453
1447
|
}
|
|
1454
1448
|
seen.add(value);
|
|
1449
|
+
depth--;
|
|
1455
1450
|
if (reactivity.isRef(value)) {
|
|
1456
|
-
traverse(value.value, depth,
|
|
1451
|
+
traverse(value.value, depth, seen);
|
|
1457
1452
|
} else if (shared.isArray(value)) {
|
|
1458
1453
|
for (let i = 0; i < value.length; i++) {
|
|
1459
|
-
traverse(value[i], depth,
|
|
1454
|
+
traverse(value[i], depth, seen);
|
|
1460
1455
|
}
|
|
1461
1456
|
} else if (shared.isSet(value) || shared.isMap(value)) {
|
|
1462
1457
|
value.forEach((v) => {
|
|
1463
|
-
traverse(v, depth,
|
|
1458
|
+
traverse(v, depth, seen);
|
|
1464
1459
|
});
|
|
1465
1460
|
} else if (shared.isPlainObject(value)) {
|
|
1466
1461
|
for (const key in value) {
|
|
1467
|
-
traverse(value[key], depth,
|
|
1462
|
+
traverse(value[key], depth, seen);
|
|
1468
1463
|
}
|
|
1469
1464
|
}
|
|
1470
1465
|
return value;
|
|
@@ -1606,7 +1601,7 @@ const BaseTransitionImpl = {
|
|
|
1606
1601
|
instance
|
|
1607
1602
|
);
|
|
1608
1603
|
setTransitionHooks(oldInnerChild, leavingHooks);
|
|
1609
|
-
if (mode === "out-in") {
|
|
1604
|
+
if (mode === "out-in" && innerChild.type !== Comment) {
|
|
1610
1605
|
state.isLeaving = true;
|
|
1611
1606
|
leavingHooks.afterLeave = () => {
|
|
1612
1607
|
state.isLeaving = false;
|
|
@@ -1795,11 +1790,13 @@ function getKeepAliveChild(vnode) {
|
|
|
1795
1790
|
return vnode;
|
|
1796
1791
|
}
|
|
1797
1792
|
const { shapeFlag, children } = vnode;
|
|
1798
|
-
if (
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1793
|
+
if (children) {
|
|
1794
|
+
if (shapeFlag & 16) {
|
|
1795
|
+
return children[0];
|
|
1796
|
+
}
|
|
1797
|
+
if (shapeFlag & 32 && shared.isFunction(children.default)) {
|
|
1798
|
+
return children.default();
|
|
1799
|
+
}
|
|
1803
1800
|
}
|
|
1804
1801
|
}
|
|
1805
1802
|
function setTransitionHooks(vnode, hooks) {
|
|
@@ -2105,7 +2102,7 @@ const KeepAliveImpl = {
|
|
|
2105
2102
|
return () => {
|
|
2106
2103
|
pendingCacheKey = null;
|
|
2107
2104
|
if (!slots.default) {
|
|
2108
|
-
return
|
|
2105
|
+
return null;
|
|
2109
2106
|
}
|
|
2110
2107
|
const children = slots.default();
|
|
2111
2108
|
const rawVNode = children[0];
|
|
@@ -3079,7 +3076,7 @@ function hasInjectionContext() {
|
|
|
3079
3076
|
return !!(currentInstance || currentRenderingInstance || currentApp);
|
|
3080
3077
|
}
|
|
3081
3078
|
|
|
3082
|
-
const internalObjectProto =
|
|
3079
|
+
const internalObjectProto = {};
|
|
3083
3080
|
const createInternalObject = () => Object.create(internalObjectProto);
|
|
3084
3081
|
const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
|
|
3085
3082
|
|
|
@@ -3399,7 +3396,7 @@ const initSlots = (instance, children) => {
|
|
|
3399
3396
|
const type = children._;
|
|
3400
3397
|
if (type) {
|
|
3401
3398
|
shared.extend(slots, children);
|
|
3402
|
-
shared.def(slots, "_", type);
|
|
3399
|
+
shared.def(slots, "_", type, true);
|
|
3403
3400
|
} else {
|
|
3404
3401
|
normalizeObjectSlots(children, slots);
|
|
3405
3402
|
}
|
|
@@ -5738,8 +5735,8 @@ function guardReactiveProps(props) {
|
|
|
5738
5735
|
return null;
|
|
5739
5736
|
return reactivity.isProxy(props) || isInternalObject(props) ? shared.extend({}, props) : props;
|
|
5740
5737
|
}
|
|
5741
|
-
function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
5742
|
-
const { props, ref, patchFlag, children } = vnode;
|
|
5738
|
+
function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
|
|
5739
|
+
const { props, ref, patchFlag, children, transition } = vnode;
|
|
5743
5740
|
const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
|
|
5744
5741
|
const cloned = {
|
|
5745
5742
|
__v_isVNode: true,
|
|
@@ -5769,7 +5766,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
|
5769
5766
|
dynamicChildren: vnode.dynamicChildren,
|
|
5770
5767
|
appContext: vnode.appContext,
|
|
5771
5768
|
dirs: vnode.dirs,
|
|
5772
|
-
transition
|
|
5769
|
+
transition,
|
|
5773
5770
|
// These should technically only be non-null on mounted VNodes. However,
|
|
5774
5771
|
// they *should* be copied for kept-alive vnodes. So we just always copy
|
|
5775
5772
|
// them since them being non-null during a mount doesn't affect the logic as
|
|
@@ -5783,6 +5780,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
|
5783
5780
|
ctx: vnode.ctx,
|
|
5784
5781
|
ce: vnode.ce
|
|
5785
5782
|
};
|
|
5783
|
+
if (transition && cloneTransition) {
|
|
5784
|
+
cloned.transition = transition.clone(cloned);
|
|
5785
|
+
}
|
|
5786
5786
|
return cloned;
|
|
5787
5787
|
}
|
|
5788
5788
|
function createTextVNode(text = " ", flag = 0) {
|
|
@@ -6278,7 +6278,7 @@ function isMemoSame(cached, memo) {
|
|
|
6278
6278
|
return true;
|
|
6279
6279
|
}
|
|
6280
6280
|
|
|
6281
|
-
const version = "3.4.
|
|
6281
|
+
const version = "3.4.26";
|
|
6282
6282
|
const warn$1 = shared.NOOP;
|
|
6283
6283
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
6284
6284
|
const devtools = void 0;
|
package/dist/runtime-core.d.ts
CHANGED
|
@@ -1000,7 +1000,7 @@ export declare function createBaseVNode(type: VNodeTypes | ClassComponent | type
|
|
|
1000
1000
|
export declare const createVNode: typeof _createVNode;
|
|
1001
1001
|
declare function _createVNode(type: VNodeTypes | ClassComponent | typeof NULL_DYNAMIC_COMPONENT, props?: (Data & VNodeProps) | null, children?: unknown, patchFlag?: number, dynamicProps?: string[] | null, isBlockNode?: boolean): VNode;
|
|
1002
1002
|
export declare function guardReactiveProps(props: (Data & VNodeProps) | null): (Data & VNodeProps) | null;
|
|
1003
|
-
export declare function cloneVNode<T, U>(vnode: VNode<T, U>, extraProps?: (Data & VNodeProps) | null, mergeRef?: boolean): VNode<T, U>;
|
|
1003
|
+
export declare function cloneVNode<T, U>(vnode: VNode<T, U>, extraProps?: (Data & VNodeProps) | null, mergeRef?: boolean, cloneTransition?: boolean): VNode<T, U>;
|
|
1004
1004
|
/**
|
|
1005
1005
|
* @private
|
|
1006
1006
|
*/
|
|
@@ -1603,7 +1603,8 @@ export type CompatVue = Pick<App, 'version' | 'component' | 'directive'> & {
|
|
|
1603
1603
|
version: string;
|
|
1604
1604
|
config: AppConfig & LegacyConfig;
|
|
1605
1605
|
nextTick: typeof nextTick;
|
|
1606
|
-
use(plugin: Plugin
|
|
1606
|
+
use<Options extends unknown[]>(plugin: Plugin<Options>, ...options: Options): CompatVue;
|
|
1607
|
+
use<Options>(plugin: Plugin<Options>, options: Options): CompatVue;
|
|
1607
1608
|
mixin(mixin: ComponentOptions): CompatVue;
|
|
1608
1609
|
component(name: string): Component | undefined;
|
|
1609
1610
|
component(name: string, component: Component): CompatVue;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/runtime-core v3.4.
|
|
2
|
+
* @vue/runtime-core v3.4.26
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -906,7 +906,7 @@ function renderComponentRoot(instance) {
|
|
|
906
906
|
!!(process.env.NODE_ENV !== "production") ? {
|
|
907
907
|
get attrs() {
|
|
908
908
|
markAttrsAccessed();
|
|
909
|
-
return attrs;
|
|
909
|
+
return shallowReadonly(attrs);
|
|
910
910
|
},
|
|
911
911
|
slots,
|
|
912
912
|
emit
|
|
@@ -939,7 +939,7 @@ function renderComponentRoot(instance) {
|
|
|
939
939
|
propsOptions
|
|
940
940
|
);
|
|
941
941
|
}
|
|
942
|
-
root = cloneVNode(root, fallthroughAttrs);
|
|
942
|
+
root = cloneVNode(root, fallthroughAttrs, false, true);
|
|
943
943
|
} else if (!!(process.env.NODE_ENV !== "production") && !accessedAttrs && root.type !== Comment) {
|
|
944
944
|
const allAttrs = Object.keys(attrs);
|
|
945
945
|
const eventAttrs = [];
|
|
@@ -973,7 +973,7 @@ function renderComponentRoot(instance) {
|
|
|
973
973
|
`Runtime directive used on component with non-element root node. The directives will not function as intended.`
|
|
974
974
|
);
|
|
975
975
|
}
|
|
976
|
-
root = cloneVNode(root);
|
|
976
|
+
root = cloneVNode(root, null, false, true);
|
|
977
977
|
root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
|
|
978
978
|
}
|
|
979
979
|
if (vnode.transition) {
|
|
@@ -1464,7 +1464,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
1464
1464
|
let parentSuspenseId;
|
|
1465
1465
|
const isSuspensible = isVNodeSuspensible(vnode);
|
|
1466
1466
|
if (isSuspensible) {
|
|
1467
|
-
if (parentSuspense
|
|
1467
|
+
if (parentSuspense && parentSuspense.pendingBranch) {
|
|
1468
1468
|
parentSuspenseId = parentSuspense.pendingId;
|
|
1469
1469
|
parentSuspense.deps++;
|
|
1470
1470
|
}
|
|
@@ -1776,8 +1776,8 @@ function setActiveBranch(suspense, branch) {
|
|
|
1776
1776
|
}
|
|
1777
1777
|
}
|
|
1778
1778
|
function isVNodeSuspensible(vnode) {
|
|
1779
|
-
|
|
1780
|
-
return
|
|
1779
|
+
const suspensible = vnode.props && vnode.props.suspensible;
|
|
1780
|
+
return suspensible != null && suspensible !== false;
|
|
1781
1781
|
}
|
|
1782
1782
|
|
|
1783
1783
|
const ssrContextKey = Symbol.for("v-scx");
|
|
@@ -2031,34 +2031,29 @@ function createPathGetter(ctx, path) {
|
|
|
2031
2031
|
return cur;
|
|
2032
2032
|
};
|
|
2033
2033
|
}
|
|
2034
|
-
function traverse(value, depth
|
|
2035
|
-
if (!isObject(value) || value["__v_skip"]) {
|
|
2034
|
+
function traverse(value, depth = Infinity, seen) {
|
|
2035
|
+
if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
|
|
2036
2036
|
return value;
|
|
2037
2037
|
}
|
|
2038
|
-
if (depth && depth > 0) {
|
|
2039
|
-
if (currentDepth >= depth) {
|
|
2040
|
-
return value;
|
|
2041
|
-
}
|
|
2042
|
-
currentDepth++;
|
|
2043
|
-
}
|
|
2044
2038
|
seen = seen || /* @__PURE__ */ new Set();
|
|
2045
2039
|
if (seen.has(value)) {
|
|
2046
2040
|
return value;
|
|
2047
2041
|
}
|
|
2048
2042
|
seen.add(value);
|
|
2043
|
+
depth--;
|
|
2049
2044
|
if (isRef(value)) {
|
|
2050
|
-
traverse(value.value, depth,
|
|
2045
|
+
traverse(value.value, depth, seen);
|
|
2051
2046
|
} else if (isArray(value)) {
|
|
2052
2047
|
for (let i = 0; i < value.length; i++) {
|
|
2053
|
-
traverse(value[i], depth,
|
|
2048
|
+
traverse(value[i], depth, seen);
|
|
2054
2049
|
}
|
|
2055
2050
|
} else if (isSet(value) || isMap(value)) {
|
|
2056
2051
|
value.forEach((v) => {
|
|
2057
|
-
traverse(v, depth,
|
|
2052
|
+
traverse(v, depth, seen);
|
|
2058
2053
|
});
|
|
2059
2054
|
} else if (isPlainObject(value)) {
|
|
2060
2055
|
for (const key in value) {
|
|
2061
|
-
traverse(value[key], depth,
|
|
2056
|
+
traverse(value[key], depth, seen);
|
|
2062
2057
|
}
|
|
2063
2058
|
}
|
|
2064
2059
|
return value;
|
|
@@ -2218,7 +2213,7 @@ const BaseTransitionImpl = {
|
|
|
2218
2213
|
instance
|
|
2219
2214
|
);
|
|
2220
2215
|
setTransitionHooks(oldInnerChild, leavingHooks);
|
|
2221
|
-
if (mode === "out-in") {
|
|
2216
|
+
if (mode === "out-in" && innerChild.type !== Comment) {
|
|
2222
2217
|
state.isLeaving = true;
|
|
2223
2218
|
leavingHooks.afterLeave = () => {
|
|
2224
2219
|
state.isLeaving = false;
|
|
@@ -2410,11 +2405,13 @@ function getKeepAliveChild(vnode) {
|
|
|
2410
2405
|
return vnode.component.subTree;
|
|
2411
2406
|
}
|
|
2412
2407
|
const { shapeFlag, children } = vnode;
|
|
2413
|
-
if (
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2408
|
+
if (children) {
|
|
2409
|
+
if (shapeFlag & 16) {
|
|
2410
|
+
return children[0];
|
|
2411
|
+
}
|
|
2412
|
+
if (shapeFlag & 32 && isFunction(children.default)) {
|
|
2413
|
+
return children.default();
|
|
2414
|
+
}
|
|
2418
2415
|
}
|
|
2419
2416
|
}
|
|
2420
2417
|
function setTransitionHooks(vnode, hooks) {
|
|
@@ -2737,7 +2734,7 @@ const KeepAliveImpl = {
|
|
|
2737
2734
|
return () => {
|
|
2738
2735
|
pendingCacheKey = null;
|
|
2739
2736
|
if (!slots.default) {
|
|
2740
|
-
return
|
|
2737
|
+
return null;
|
|
2741
2738
|
}
|
|
2742
2739
|
const children = slots.default();
|
|
2743
2740
|
const rawVNode = children[0];
|
|
@@ -4024,7 +4021,7 @@ function hasInjectionContext() {
|
|
|
4024
4021
|
return !!(currentInstance || currentRenderingInstance || currentApp);
|
|
4025
4022
|
}
|
|
4026
4023
|
|
|
4027
|
-
const internalObjectProto =
|
|
4024
|
+
const internalObjectProto = {};
|
|
4028
4025
|
const createInternalObject = () => Object.create(internalObjectProto);
|
|
4029
4026
|
const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
|
|
4030
4027
|
|
|
@@ -4482,7 +4479,7 @@ const initSlots = (instance, children) => {
|
|
|
4482
4479
|
const type = children._;
|
|
4483
4480
|
if (type) {
|
|
4484
4481
|
extend(slots, children);
|
|
4485
|
-
def(slots, "_", type);
|
|
4482
|
+
def(slots, "_", type, true);
|
|
4486
4483
|
} else {
|
|
4487
4484
|
normalizeObjectSlots(children, slots);
|
|
4488
4485
|
}
|
|
@@ -7277,8 +7274,8 @@ function guardReactiveProps(props) {
|
|
|
7277
7274
|
return null;
|
|
7278
7275
|
return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
|
|
7279
7276
|
}
|
|
7280
|
-
function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
7281
|
-
const { props, ref, patchFlag, children } = vnode;
|
|
7277
|
+
function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
|
|
7278
|
+
const { props, ref, patchFlag, children, transition } = vnode;
|
|
7282
7279
|
const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
|
|
7283
7280
|
const cloned = {
|
|
7284
7281
|
__v_isVNode: true,
|
|
@@ -7308,7 +7305,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
|
7308
7305
|
dynamicChildren: vnode.dynamicChildren,
|
|
7309
7306
|
appContext: vnode.appContext,
|
|
7310
7307
|
dirs: vnode.dirs,
|
|
7311
|
-
transition
|
|
7308
|
+
transition,
|
|
7312
7309
|
// These should technically only be non-null on mounted VNodes. However,
|
|
7313
7310
|
// they *should* be copied for kept-alive vnodes. So we just always copy
|
|
7314
7311
|
// them since them being non-null during a mount doesn't affect the logic as
|
|
@@ -7322,6 +7319,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
|
7322
7319
|
ctx: vnode.ctx,
|
|
7323
7320
|
ce: vnode.ce
|
|
7324
7321
|
};
|
|
7322
|
+
if (transition && cloneTransition) {
|
|
7323
|
+
cloned.transition = transition.clone(cloned);
|
|
7324
|
+
}
|
|
7325
7325
|
return cloned;
|
|
7326
7326
|
}
|
|
7327
7327
|
function deepCloneVNode(vnode) {
|
|
@@ -8160,7 +8160,7 @@ function isMemoSame(cached, memo) {
|
|
|
8160
8160
|
return true;
|
|
8161
8161
|
}
|
|
8162
8162
|
|
|
8163
|
-
const version = "3.4.
|
|
8163
|
+
const version = "3.4.26";
|
|
8164
8164
|
const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
|
|
8165
8165
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
8166
8166
|
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.4.
|
|
3
|
+
"version": "3.4.26",
|
|
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.4.
|
|
50
|
-
"@vue/reactivity": "3.4.
|
|
49
|
+
"@vue/shared": "3.4.26",
|
|
50
|
+
"@vue/reactivity": "3.4.26"
|
|
51
51
|
}
|
|
52
52
|
}
|