@vue/compat 3.3.7 → 3.3.9
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/vue.cjs.js +139 -95
- package/dist/vue.cjs.prod.js +109 -82
- package/dist/vue.esm-browser.js +128 -93
- package/dist/vue.esm-browser.prod.js +5 -5
- package/dist/vue.esm-bundler.js +129 -94
- package/dist/vue.global.js +128 -93
- package/dist/vue.global.prod.js +5 -5
- package/dist/vue.runtime.esm-browser.js +120 -88
- package/dist/vue.runtime.esm-browser.prod.js +5 -5
- package/dist/vue.runtime.esm-bundler.js +121 -89
- package/dist/vue.runtime.global.js +120 -88
- package/dist/vue.runtime.global.prod.js +5 -5
- package/package.json +3 -3
|
@@ -940,7 +940,7 @@ function createReadonlyMethod(type) {
|
|
|
940
940
|
toRaw(this)
|
|
941
941
|
);
|
|
942
942
|
}
|
|
943
|
-
return type === "delete" ? false : this;
|
|
943
|
+
return type === "delete" ? false : type === "clear" ? void 0 : this;
|
|
944
944
|
};
|
|
945
945
|
}
|
|
946
946
|
function createInstrumentations() {
|
|
@@ -2681,9 +2681,19 @@ function renderComponentRoot(instance) {
|
|
|
2681
2681
|
try {
|
|
2682
2682
|
if (vnode.shapeFlag & 4) {
|
|
2683
2683
|
const proxyToUse = withProxy || proxy;
|
|
2684
|
+
const thisProxy = !!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {
|
|
2685
|
+
get(target, key, receiver) {
|
|
2686
|
+
warn(
|
|
2687
|
+
`Property '${String(
|
|
2688
|
+
key
|
|
2689
|
+
)}' was accessed via 'this'. Avoid using 'this' in templates.`
|
|
2690
|
+
);
|
|
2691
|
+
return Reflect.get(target, key, receiver);
|
|
2692
|
+
}
|
|
2693
|
+
}) : proxyToUse;
|
|
2684
2694
|
result = normalizeVNode(
|
|
2685
2695
|
render.call(
|
|
2686
|
-
|
|
2696
|
+
thisProxy,
|
|
2687
2697
|
proxyToUse,
|
|
2688
2698
|
renderCache,
|
|
2689
2699
|
props,
|
|
@@ -2934,6 +2944,65 @@ function updateHOCHostEl({ vnode, parent }, el) {
|
|
|
2934
2944
|
}
|
|
2935
2945
|
}
|
|
2936
2946
|
|
|
2947
|
+
const COMPONENTS = "components";
|
|
2948
|
+
const DIRECTIVES = "directives";
|
|
2949
|
+
const FILTERS = "filters";
|
|
2950
|
+
function resolveComponent(name, maybeSelfReference) {
|
|
2951
|
+
return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
|
|
2952
|
+
}
|
|
2953
|
+
const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
|
|
2954
|
+
function resolveDynamicComponent(component) {
|
|
2955
|
+
if (isString(component)) {
|
|
2956
|
+
return resolveAsset(COMPONENTS, component, false) || component;
|
|
2957
|
+
} else {
|
|
2958
|
+
return component || NULL_DYNAMIC_COMPONENT;
|
|
2959
|
+
}
|
|
2960
|
+
}
|
|
2961
|
+
function resolveDirective(name) {
|
|
2962
|
+
return resolveAsset(DIRECTIVES, name);
|
|
2963
|
+
}
|
|
2964
|
+
function resolveFilter$1(name) {
|
|
2965
|
+
return resolveAsset(FILTERS, name);
|
|
2966
|
+
}
|
|
2967
|
+
function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
|
|
2968
|
+
const instance = currentRenderingInstance || currentInstance;
|
|
2969
|
+
if (instance) {
|
|
2970
|
+
const Component = instance.type;
|
|
2971
|
+
if (type === COMPONENTS) {
|
|
2972
|
+
const selfName = getComponentName(
|
|
2973
|
+
Component,
|
|
2974
|
+
false
|
|
2975
|
+
/* do not include inferred name to avoid breaking existing code */
|
|
2976
|
+
);
|
|
2977
|
+
if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
|
|
2978
|
+
return Component;
|
|
2979
|
+
}
|
|
2980
|
+
}
|
|
2981
|
+
const res = (
|
|
2982
|
+
// local registration
|
|
2983
|
+
// check instance[type] first which is resolved for options API
|
|
2984
|
+
resolve(instance[type] || Component[type], name) || // global registration
|
|
2985
|
+
resolve(instance.appContext[type], name)
|
|
2986
|
+
);
|
|
2987
|
+
if (!res && maybeSelfReference) {
|
|
2988
|
+
return Component;
|
|
2989
|
+
}
|
|
2990
|
+
if (!!(process.env.NODE_ENV !== "production") && warnMissing && !res) {
|
|
2991
|
+
const extra = type === COMPONENTS ? `
|
|
2992
|
+
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
|
|
2993
|
+
warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
|
|
2994
|
+
}
|
|
2995
|
+
return res;
|
|
2996
|
+
} else if (!!(process.env.NODE_ENV !== "production")) {
|
|
2997
|
+
warn(
|
|
2998
|
+
`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
|
|
2999
|
+
);
|
|
3000
|
+
}
|
|
3001
|
+
}
|
|
3002
|
+
function resolve(registry, name) {
|
|
3003
|
+
return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
|
|
3004
|
+
}
|
|
3005
|
+
|
|
2937
3006
|
const isSuspense = (type) => type.__isSuspense;
|
|
2938
3007
|
const SuspenseImpl = {
|
|
2939
3008
|
name: "Suspense",
|
|
@@ -3468,7 +3537,7 @@ function normalizeSuspenseSlot(s) {
|
|
|
3468
3537
|
}
|
|
3469
3538
|
if (isArray(s)) {
|
|
3470
3539
|
const singleChild = filterSingleRoot(s);
|
|
3471
|
-
if (!!(process.env.NODE_ENV !== "production") && !singleChild) {
|
|
3540
|
+
if (!!(process.env.NODE_ENV !== "production") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {
|
|
3472
3541
|
warn(`<Suspense> slots expect a single root node.`);
|
|
3473
3542
|
}
|
|
3474
3543
|
s = singleChild;
|
|
@@ -3654,6 +3723,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3654
3723
|
let onCleanup = (fn) => {
|
|
3655
3724
|
cleanup = effect.onStop = () => {
|
|
3656
3725
|
callWithErrorHandling(fn, instance, 4);
|
|
3726
|
+
cleanup = effect.onStop = void 0;
|
|
3657
3727
|
};
|
|
3658
3728
|
};
|
|
3659
3729
|
let ssrCleanup;
|
|
@@ -4153,7 +4223,11 @@ function emptyPlaceholder(vnode) {
|
|
|
4153
4223
|
}
|
|
4154
4224
|
}
|
|
4155
4225
|
function getKeepAliveChild(vnode) {
|
|
4156
|
-
return isKeepAlive(vnode) ?
|
|
4226
|
+
return isKeepAlive(vnode) ? (
|
|
4227
|
+
// #7121 ensure get the child component subtree in case
|
|
4228
|
+
// it's been replaced during HMR
|
|
4229
|
+
!!(process.env.NODE_ENV !== "production") && vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0
|
|
4230
|
+
) : vnode;
|
|
4157
4231
|
}
|
|
4158
4232
|
function setTransitionHooks(vnode, hooks) {
|
|
4159
4233
|
if (vnode.shapeFlag & 6 && vnode.component) {
|
|
@@ -4674,65 +4748,6 @@ function getCompatListeners(instance) {
|
|
|
4674
4748
|
return listeners;
|
|
4675
4749
|
}
|
|
4676
4750
|
|
|
4677
|
-
const COMPONENTS = "components";
|
|
4678
|
-
const DIRECTIVES = "directives";
|
|
4679
|
-
const FILTERS = "filters";
|
|
4680
|
-
function resolveComponent(name, maybeSelfReference) {
|
|
4681
|
-
return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
|
|
4682
|
-
}
|
|
4683
|
-
const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
|
|
4684
|
-
function resolveDynamicComponent(component) {
|
|
4685
|
-
if (isString(component)) {
|
|
4686
|
-
return resolveAsset(COMPONENTS, component, false) || component;
|
|
4687
|
-
} else {
|
|
4688
|
-
return component || NULL_DYNAMIC_COMPONENT;
|
|
4689
|
-
}
|
|
4690
|
-
}
|
|
4691
|
-
function resolveDirective(name) {
|
|
4692
|
-
return resolveAsset(DIRECTIVES, name);
|
|
4693
|
-
}
|
|
4694
|
-
function resolveFilter$1(name) {
|
|
4695
|
-
return resolveAsset(FILTERS, name);
|
|
4696
|
-
}
|
|
4697
|
-
function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
|
|
4698
|
-
const instance = currentRenderingInstance || currentInstance;
|
|
4699
|
-
if (instance) {
|
|
4700
|
-
const Component = instance.type;
|
|
4701
|
-
if (type === COMPONENTS) {
|
|
4702
|
-
const selfName = getComponentName(
|
|
4703
|
-
Component,
|
|
4704
|
-
false
|
|
4705
|
-
/* do not include inferred name to avoid breaking existing code */
|
|
4706
|
-
);
|
|
4707
|
-
if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
|
|
4708
|
-
return Component;
|
|
4709
|
-
}
|
|
4710
|
-
}
|
|
4711
|
-
const res = (
|
|
4712
|
-
// local registration
|
|
4713
|
-
// check instance[type] first which is resolved for options API
|
|
4714
|
-
resolve(instance[type] || Component[type], name) || // global registration
|
|
4715
|
-
resolve(instance.appContext[type], name)
|
|
4716
|
-
);
|
|
4717
|
-
if (!res && maybeSelfReference) {
|
|
4718
|
-
return Component;
|
|
4719
|
-
}
|
|
4720
|
-
if (!!(process.env.NODE_ENV !== "production") && warnMissing && !res) {
|
|
4721
|
-
const extra = type === COMPONENTS ? `
|
|
4722
|
-
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
|
|
4723
|
-
warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
|
|
4724
|
-
}
|
|
4725
|
-
return res;
|
|
4726
|
-
} else if (!!(process.env.NODE_ENV !== "production")) {
|
|
4727
|
-
warn(
|
|
4728
|
-
`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
|
|
4729
|
-
);
|
|
4730
|
-
}
|
|
4731
|
-
}
|
|
4732
|
-
function resolve(registry, name) {
|
|
4733
|
-
return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
|
|
4734
|
-
}
|
|
4735
|
-
|
|
4736
4751
|
function convertLegacyRenderFn(instance) {
|
|
4737
4752
|
const Component2 = instance.type;
|
|
4738
4753
|
const render = Component2.render;
|
|
@@ -6237,7 +6252,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
6237
6252
|
return vm;
|
|
6238
6253
|
}
|
|
6239
6254
|
}
|
|
6240
|
-
Vue.version = `2.6.14-compat:${"3.3.
|
|
6255
|
+
Vue.version = `2.6.14-compat:${"3.3.9"}`;
|
|
6241
6256
|
Vue.config = singletonApp.config;
|
|
6242
6257
|
Vue.use = (p, ...options) => {
|
|
6243
6258
|
if (p && isFunction(p.install)) {
|
|
@@ -7268,6 +7283,9 @@ function assertType(value, type) {
|
|
|
7268
7283
|
};
|
|
7269
7284
|
}
|
|
7270
7285
|
function getInvalidTypeMessage(name, value, expectedTypes) {
|
|
7286
|
+
if (expectedTypes.length === 0) {
|
|
7287
|
+
return `Prop type [] for prop "${name}" won't match anything. Did you mean to use type Array instead?`;
|
|
7288
|
+
}
|
|
7271
7289
|
let message = `Invalid prop: type check failed for prop "${name}". Expected ${expectedTypes.map(capitalize).join(" | ")}`;
|
|
7272
7290
|
const expectedType = expectedTypes[0];
|
|
7273
7291
|
const receivedType = toRawType(value);
|
|
@@ -7539,6 +7557,20 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7539
7557
|
const { type, ref, shapeFlag, patchFlag } = vnode;
|
|
7540
7558
|
let domType = node.nodeType;
|
|
7541
7559
|
vnode.el = node;
|
|
7560
|
+
if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
|
|
7561
|
+
if (!("__vnode" in node)) {
|
|
7562
|
+
Object.defineProperty(node, "__vnode", {
|
|
7563
|
+
value: vnode,
|
|
7564
|
+
enumerable: false
|
|
7565
|
+
});
|
|
7566
|
+
}
|
|
7567
|
+
if (!("__vueParentComponent" in node)) {
|
|
7568
|
+
Object.defineProperty(node, "__vueParentComponent", {
|
|
7569
|
+
value: parentComponent,
|
|
7570
|
+
enumerable: false
|
|
7571
|
+
});
|
|
7572
|
+
}
|
|
7573
|
+
}
|
|
7542
7574
|
if (patchFlag === -2) {
|
|
7543
7575
|
optimized = false;
|
|
7544
7576
|
vnode.dynamicChildren = null;
|
|
@@ -7569,15 +7601,15 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7569
7601
|
}
|
|
7570
7602
|
break;
|
|
7571
7603
|
case Comment:
|
|
7572
|
-
if (
|
|
7573
|
-
|
|
7574
|
-
|
|
7575
|
-
|
|
7576
|
-
|
|
7577
|
-
|
|
7578
|
-
|
|
7579
|
-
|
|
7580
|
-
|
|
7604
|
+
if (isTemplateNode(node)) {
|
|
7605
|
+
nextNode = nextSibling(node);
|
|
7606
|
+
replaceNode(
|
|
7607
|
+
vnode.el = node.content.firstChild,
|
|
7608
|
+
node,
|
|
7609
|
+
parentComponent
|
|
7610
|
+
);
|
|
7611
|
+
} else if (domType !== 8 /* COMMENT */ || isFragmentStart) {
|
|
7612
|
+
nextNode = onMismatch();
|
|
7581
7613
|
} else {
|
|
7582
7614
|
nextNode = nextSibling(node);
|
|
7583
7615
|
}
|
|
@@ -7700,15 +7732,16 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7700
7732
|
const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
|
|
7701
7733
|
optimized = optimized || !!vnode.dynamicChildren;
|
|
7702
7734
|
const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;
|
|
7703
|
-
const
|
|
7704
|
-
if (!!(process.env.NODE_ENV !== "production") ||
|
|
7735
|
+
const forcePatch = type === "input" || type === "option";
|
|
7736
|
+
if (!!(process.env.NODE_ENV !== "production") || forcePatch || patchFlag !== -1) {
|
|
7705
7737
|
if (dirs) {
|
|
7706
7738
|
invokeDirectiveHook(vnode, null, parentComponent, "created");
|
|
7707
7739
|
}
|
|
7708
7740
|
if (props) {
|
|
7709
|
-
if (
|
|
7741
|
+
if (forcePatch || !optimized || patchFlag & (16 | 32)) {
|
|
7710
7742
|
for (const key in props) {
|
|
7711
|
-
if (
|
|
7743
|
+
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
|
|
7744
|
+
key[0] === ".") {
|
|
7712
7745
|
patchProp(
|
|
7713
7746
|
el,
|
|
7714
7747
|
key,
|
|
@@ -7921,8 +7954,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7921
7954
|
let parent = parentComponent;
|
|
7922
7955
|
while (parent) {
|
|
7923
7956
|
if (parent.vnode.el === oldNode) {
|
|
7924
|
-
parent.vnode.el = newNode;
|
|
7925
|
-
parent.subTree.el = newNode;
|
|
7957
|
+
parent.vnode.el = parent.subTree.el = newNode;
|
|
7926
7958
|
}
|
|
7927
7959
|
parent = parent.parent;
|
|
7928
7960
|
}
|
|
@@ -9534,6 +9566,7 @@ const resolveTarget = (props, select) => {
|
|
|
9534
9566
|
}
|
|
9535
9567
|
};
|
|
9536
9568
|
const TeleportImpl = {
|
|
9569
|
+
name: "Teleport",
|
|
9537
9570
|
__isTeleport: true,
|
|
9538
9571
|
process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals) {
|
|
9539
9572
|
const {
|
|
@@ -10013,7 +10046,7 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
|
|
|
10013
10046
|
if (!!(process.env.NODE_ENV !== "production") && shapeFlag & 4 && isProxy(type)) {
|
|
10014
10047
|
type = toRaw(type);
|
|
10015
10048
|
warn(
|
|
10016
|
-
`Vue received a Component
|
|
10049
|
+
`Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with \`markRaw\` or using \`shallowRef\` instead of \`ref\`.`,
|
|
10017
10050
|
`
|
|
10018
10051
|
Component that was made reactive: `,
|
|
10019
10052
|
type
|
|
@@ -10877,7 +10910,7 @@ function isMemoSame(cached, memo) {
|
|
|
10877
10910
|
return true;
|
|
10878
10911
|
}
|
|
10879
10912
|
|
|
10880
|
-
const version = "3.3.
|
|
10913
|
+
const version = "3.3.9";
|
|
10881
10914
|
const _ssrUtils = {
|
|
10882
10915
|
createComponentInstance,
|
|
10883
10916
|
setupComponent,
|
|
@@ -12133,21 +12166,20 @@ const vModelText = {
|
|
|
12133
12166
|
el[assignKey] = getModelAssigner(vnode);
|
|
12134
12167
|
if (el.composing)
|
|
12135
12168
|
return;
|
|
12169
|
+
const elValue = number || el.type === "number" ? looseToNumber(el.value) : el.value;
|
|
12170
|
+
const newValue = value == null ? "" : value;
|
|
12171
|
+
if (elValue === newValue) {
|
|
12172
|
+
return;
|
|
12173
|
+
}
|
|
12136
12174
|
if (document.activeElement === el && el.type !== "range") {
|
|
12137
12175
|
if (lazy) {
|
|
12138
12176
|
return;
|
|
12139
12177
|
}
|
|
12140
|
-
if (trim && el.value.trim() ===
|
|
12178
|
+
if (trim && el.value.trim() === newValue) {
|
|
12141
12179
|
return;
|
|
12142
12180
|
}
|
|
12143
|
-
if ((number || el.type === "number") && looseToNumber(el.value) === value) {
|
|
12144
|
-
return;
|
|
12145
|
-
}
|
|
12146
|
-
}
|
|
12147
|
-
const newValue = value == null ? "" : value;
|
|
12148
|
-
if (el.value !== newValue) {
|
|
12149
|
-
el.value = newValue;
|
|
12150
12181
|
}
|
|
12182
|
+
el.value = newValue;
|
|
12151
12183
|
}
|
|
12152
12184
|
};
|
|
12153
12185
|
const vModelCheckbox = {
|
|
@@ -939,7 +939,7 @@ var Vue = (function () {
|
|
|
939
939
|
toRaw(this)
|
|
940
940
|
);
|
|
941
941
|
}
|
|
942
|
-
return type === "delete" ? false : this;
|
|
942
|
+
return type === "delete" ? false : type === "clear" ? void 0 : this;
|
|
943
943
|
};
|
|
944
944
|
}
|
|
945
945
|
function createInstrumentations() {
|
|
@@ -2667,9 +2667,19 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
|
|
|
2667
2667
|
try {
|
|
2668
2668
|
if (vnode.shapeFlag & 4) {
|
|
2669
2669
|
const proxyToUse = withProxy || proxy;
|
|
2670
|
+
const thisProxy = setupState.__isScriptSetup ? new Proxy(proxyToUse, {
|
|
2671
|
+
get(target, key, receiver) {
|
|
2672
|
+
warn(
|
|
2673
|
+
`Property '${String(
|
|
2674
|
+
key
|
|
2675
|
+
)}' was accessed via 'this'. Avoid using 'this' in templates.`
|
|
2676
|
+
);
|
|
2677
|
+
return Reflect.get(target, key, receiver);
|
|
2678
|
+
}
|
|
2679
|
+
}) : proxyToUse;
|
|
2670
2680
|
result = normalizeVNode(
|
|
2671
2681
|
render.call(
|
|
2672
|
-
|
|
2682
|
+
thisProxy,
|
|
2673
2683
|
proxyToUse,
|
|
2674
2684
|
renderCache,
|
|
2675
2685
|
props,
|
|
@@ -2920,6 +2930,65 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
|
|
|
2920
2930
|
}
|
|
2921
2931
|
}
|
|
2922
2932
|
|
|
2933
|
+
const COMPONENTS = "components";
|
|
2934
|
+
const DIRECTIVES = "directives";
|
|
2935
|
+
const FILTERS = "filters";
|
|
2936
|
+
function resolveComponent(name, maybeSelfReference) {
|
|
2937
|
+
return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
|
|
2938
|
+
}
|
|
2939
|
+
const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
|
|
2940
|
+
function resolveDynamicComponent(component) {
|
|
2941
|
+
if (isString(component)) {
|
|
2942
|
+
return resolveAsset(COMPONENTS, component, false) || component;
|
|
2943
|
+
} else {
|
|
2944
|
+
return component || NULL_DYNAMIC_COMPONENT;
|
|
2945
|
+
}
|
|
2946
|
+
}
|
|
2947
|
+
function resolveDirective(name) {
|
|
2948
|
+
return resolveAsset(DIRECTIVES, name);
|
|
2949
|
+
}
|
|
2950
|
+
function resolveFilter$1(name) {
|
|
2951
|
+
return resolveAsset(FILTERS, name);
|
|
2952
|
+
}
|
|
2953
|
+
function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
|
|
2954
|
+
const instance = currentRenderingInstance || currentInstance;
|
|
2955
|
+
if (instance) {
|
|
2956
|
+
const Component = instance.type;
|
|
2957
|
+
if (type === COMPONENTS) {
|
|
2958
|
+
const selfName = getComponentName(
|
|
2959
|
+
Component,
|
|
2960
|
+
false
|
|
2961
|
+
/* do not include inferred name to avoid breaking existing code */
|
|
2962
|
+
);
|
|
2963
|
+
if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
|
|
2964
|
+
return Component;
|
|
2965
|
+
}
|
|
2966
|
+
}
|
|
2967
|
+
const res = (
|
|
2968
|
+
// local registration
|
|
2969
|
+
// check instance[type] first which is resolved for options API
|
|
2970
|
+
resolve(instance[type] || Component[type], name) || // global registration
|
|
2971
|
+
resolve(instance.appContext[type], name)
|
|
2972
|
+
);
|
|
2973
|
+
if (!res && maybeSelfReference) {
|
|
2974
|
+
return Component;
|
|
2975
|
+
}
|
|
2976
|
+
if (warnMissing && !res) {
|
|
2977
|
+
const extra = type === COMPONENTS ? `
|
|
2978
|
+
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
|
|
2979
|
+
warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
|
|
2980
|
+
}
|
|
2981
|
+
return res;
|
|
2982
|
+
} else {
|
|
2983
|
+
warn(
|
|
2984
|
+
`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
|
|
2985
|
+
);
|
|
2986
|
+
}
|
|
2987
|
+
}
|
|
2988
|
+
function resolve(registry, name) {
|
|
2989
|
+
return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
|
|
2990
|
+
}
|
|
2991
|
+
|
|
2923
2992
|
const isSuspense = (type) => type.__isSuspense;
|
|
2924
2993
|
const SuspenseImpl = {
|
|
2925
2994
|
name: "Suspense",
|
|
@@ -3454,7 +3523,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
|
|
|
3454
3523
|
}
|
|
3455
3524
|
if (isArray(s)) {
|
|
3456
3525
|
const singleChild = filterSingleRoot(s);
|
|
3457
|
-
if (!singleChild) {
|
|
3526
|
+
if (!singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {
|
|
3458
3527
|
warn(`<Suspense> slots expect a single root node.`);
|
|
3459
3528
|
}
|
|
3460
3529
|
s = singleChild;
|
|
@@ -3640,6 +3709,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
|
|
|
3640
3709
|
let onCleanup = (fn) => {
|
|
3641
3710
|
cleanup = effect.onStop = () => {
|
|
3642
3711
|
callWithErrorHandling(fn, instance, 4);
|
|
3712
|
+
cleanup = effect.onStop = void 0;
|
|
3643
3713
|
};
|
|
3644
3714
|
};
|
|
3645
3715
|
let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
|
|
@@ -4116,7 +4186,11 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
|
|
|
4116
4186
|
}
|
|
4117
4187
|
}
|
|
4118
4188
|
function getKeepAliveChild(vnode) {
|
|
4119
|
-
return isKeepAlive(vnode) ?
|
|
4189
|
+
return isKeepAlive(vnode) ? (
|
|
4190
|
+
// #7121 ensure get the child component subtree in case
|
|
4191
|
+
// it's been replaced during HMR
|
|
4192
|
+
vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0
|
|
4193
|
+
) : vnode;
|
|
4120
4194
|
}
|
|
4121
4195
|
function setTransitionHooks(vnode, hooks) {
|
|
4122
4196
|
if (vnode.shapeFlag & 6 && vnode.component) {
|
|
@@ -4631,65 +4705,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
|
|
|
4631
4705
|
return listeners;
|
|
4632
4706
|
}
|
|
4633
4707
|
|
|
4634
|
-
const COMPONENTS = "components";
|
|
4635
|
-
const DIRECTIVES = "directives";
|
|
4636
|
-
const FILTERS = "filters";
|
|
4637
|
-
function resolveComponent(name, maybeSelfReference) {
|
|
4638
|
-
return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
|
|
4639
|
-
}
|
|
4640
|
-
const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
|
|
4641
|
-
function resolveDynamicComponent(component) {
|
|
4642
|
-
if (isString(component)) {
|
|
4643
|
-
return resolveAsset(COMPONENTS, component, false) || component;
|
|
4644
|
-
} else {
|
|
4645
|
-
return component || NULL_DYNAMIC_COMPONENT;
|
|
4646
|
-
}
|
|
4647
|
-
}
|
|
4648
|
-
function resolveDirective(name) {
|
|
4649
|
-
return resolveAsset(DIRECTIVES, name);
|
|
4650
|
-
}
|
|
4651
|
-
function resolveFilter$1(name) {
|
|
4652
|
-
return resolveAsset(FILTERS, name);
|
|
4653
|
-
}
|
|
4654
|
-
function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
|
|
4655
|
-
const instance = currentRenderingInstance || currentInstance;
|
|
4656
|
-
if (instance) {
|
|
4657
|
-
const Component = instance.type;
|
|
4658
|
-
if (type === COMPONENTS) {
|
|
4659
|
-
const selfName = getComponentName(
|
|
4660
|
-
Component,
|
|
4661
|
-
false
|
|
4662
|
-
/* do not include inferred name to avoid breaking existing code */
|
|
4663
|
-
);
|
|
4664
|
-
if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
|
|
4665
|
-
return Component;
|
|
4666
|
-
}
|
|
4667
|
-
}
|
|
4668
|
-
const res = (
|
|
4669
|
-
// local registration
|
|
4670
|
-
// check instance[type] first which is resolved for options API
|
|
4671
|
-
resolve(instance[type] || Component[type], name) || // global registration
|
|
4672
|
-
resolve(instance.appContext[type], name)
|
|
4673
|
-
);
|
|
4674
|
-
if (!res && maybeSelfReference) {
|
|
4675
|
-
return Component;
|
|
4676
|
-
}
|
|
4677
|
-
if (warnMissing && !res) {
|
|
4678
|
-
const extra = type === COMPONENTS ? `
|
|
4679
|
-
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
|
|
4680
|
-
warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
|
|
4681
|
-
}
|
|
4682
|
-
return res;
|
|
4683
|
-
} else {
|
|
4684
|
-
warn(
|
|
4685
|
-
`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
|
|
4686
|
-
);
|
|
4687
|
-
}
|
|
4688
|
-
}
|
|
4689
|
-
function resolve(registry, name) {
|
|
4690
|
-
return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
|
|
4691
|
-
}
|
|
4692
|
-
|
|
4693
4708
|
function convertLegacyRenderFn(instance) {
|
|
4694
4709
|
const Component2 = instance.type;
|
|
4695
4710
|
const render = Component2.render;
|
|
@@ -6192,7 +6207,7 @@ If this is a native custom element, make sure to exclude it from component resol
|
|
|
6192
6207
|
return vm;
|
|
6193
6208
|
}
|
|
6194
6209
|
}
|
|
6195
|
-
Vue.version = `2.6.14-compat:${"3.3.
|
|
6210
|
+
Vue.version = `2.6.14-compat:${"3.3.9"}`;
|
|
6196
6211
|
Vue.config = singletonApp.config;
|
|
6197
6212
|
Vue.use = (p, ...options) => {
|
|
6198
6213
|
if (p && isFunction(p.install)) {
|
|
@@ -7220,6 +7235,9 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
7220
7235
|
};
|
|
7221
7236
|
}
|
|
7222
7237
|
function getInvalidTypeMessage(name, value, expectedTypes) {
|
|
7238
|
+
if (expectedTypes.length === 0) {
|
|
7239
|
+
return `Prop type [] for prop "${name}" won't match anything. Did you mean to use type Array instead?`;
|
|
7240
|
+
}
|
|
7223
7241
|
let message = `Invalid prop: type check failed for prop "${name}". Expected ${expectedTypes.map(capitalize).join(" | ")}`;
|
|
7224
7242
|
const expectedType = expectedTypes[0];
|
|
7225
7243
|
const receivedType = toRawType(value);
|
|
@@ -7491,6 +7509,20 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
7491
7509
|
const { type, ref, shapeFlag, patchFlag } = vnode;
|
|
7492
7510
|
let domType = node.nodeType;
|
|
7493
7511
|
vnode.el = node;
|
|
7512
|
+
{
|
|
7513
|
+
if (!("__vnode" in node)) {
|
|
7514
|
+
Object.defineProperty(node, "__vnode", {
|
|
7515
|
+
value: vnode,
|
|
7516
|
+
enumerable: false
|
|
7517
|
+
});
|
|
7518
|
+
}
|
|
7519
|
+
if (!("__vueParentComponent" in node)) {
|
|
7520
|
+
Object.defineProperty(node, "__vueParentComponent", {
|
|
7521
|
+
value: parentComponent,
|
|
7522
|
+
enumerable: false
|
|
7523
|
+
});
|
|
7524
|
+
}
|
|
7525
|
+
}
|
|
7494
7526
|
if (patchFlag === -2) {
|
|
7495
7527
|
optimized = false;
|
|
7496
7528
|
vnode.dynamicChildren = null;
|
|
@@ -7521,15 +7553,15 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
7521
7553
|
}
|
|
7522
7554
|
break;
|
|
7523
7555
|
case Comment:
|
|
7524
|
-
if (
|
|
7525
|
-
|
|
7526
|
-
|
|
7527
|
-
|
|
7528
|
-
|
|
7529
|
-
|
|
7530
|
-
|
|
7531
|
-
|
|
7532
|
-
|
|
7556
|
+
if (isTemplateNode(node)) {
|
|
7557
|
+
nextNode = nextSibling(node);
|
|
7558
|
+
replaceNode(
|
|
7559
|
+
vnode.el = node.content.firstChild,
|
|
7560
|
+
node,
|
|
7561
|
+
parentComponent
|
|
7562
|
+
);
|
|
7563
|
+
} else if (domType !== 8 /* COMMENT */ || isFragmentStart) {
|
|
7564
|
+
nextNode = onMismatch();
|
|
7533
7565
|
} else {
|
|
7534
7566
|
nextNode = nextSibling(node);
|
|
7535
7567
|
}
|
|
@@ -7652,15 +7684,16 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
7652
7684
|
const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
|
|
7653
7685
|
optimized = optimized || !!vnode.dynamicChildren;
|
|
7654
7686
|
const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;
|
|
7655
|
-
const
|
|
7687
|
+
const forcePatch = type === "input" || type === "option";
|
|
7656
7688
|
{
|
|
7657
7689
|
if (dirs) {
|
|
7658
7690
|
invokeDirectiveHook(vnode, null, parentComponent, "created");
|
|
7659
7691
|
}
|
|
7660
7692
|
if (props) {
|
|
7661
|
-
if (
|
|
7693
|
+
if (forcePatch || !optimized || patchFlag & (16 | 32)) {
|
|
7662
7694
|
for (const key in props) {
|
|
7663
|
-
if (
|
|
7695
|
+
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
|
|
7696
|
+
key[0] === ".") {
|
|
7664
7697
|
patchProp(
|
|
7665
7698
|
el,
|
|
7666
7699
|
key,
|
|
@@ -7873,8 +7906,7 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
7873
7906
|
let parent = parentComponent;
|
|
7874
7907
|
while (parent) {
|
|
7875
7908
|
if (parent.vnode.el === oldNode) {
|
|
7876
|
-
parent.vnode.el = newNode;
|
|
7877
|
-
parent.subTree.el = newNode;
|
|
7909
|
+
parent.vnode.el = parent.subTree.el = newNode;
|
|
7878
7910
|
}
|
|
7879
7911
|
parent = parent.parent;
|
|
7880
7912
|
}
|
|
@@ -9452,6 +9484,7 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
9452
9484
|
}
|
|
9453
9485
|
};
|
|
9454
9486
|
const TeleportImpl = {
|
|
9487
|
+
name: "Teleport",
|
|
9455
9488
|
__isTeleport: true,
|
|
9456
9489
|
process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals) {
|
|
9457
9490
|
const {
|
|
@@ -9931,7 +9964,7 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
9931
9964
|
if (shapeFlag & 4 && isProxy(type)) {
|
|
9932
9965
|
type = toRaw(type);
|
|
9933
9966
|
warn(
|
|
9934
|
-
`Vue received a Component
|
|
9967
|
+
`Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with \`markRaw\` or using \`shallowRef\` instead of \`ref\`.`,
|
|
9935
9968
|
`
|
|
9936
9969
|
Component that was made reactive: `,
|
|
9937
9970
|
type
|
|
@@ -10761,7 +10794,7 @@ Component that was made reactive: `,
|
|
|
10761
10794
|
return true;
|
|
10762
10795
|
}
|
|
10763
10796
|
|
|
10764
|
-
const version = "3.3.
|
|
10797
|
+
const version = "3.3.9";
|
|
10765
10798
|
const ssrUtils = null;
|
|
10766
10799
|
const resolveFilter = resolveFilter$1 ;
|
|
10767
10800
|
const _compatUtils = {
|
|
@@ -11990,21 +12023,20 @@ Component that was made reactive: `,
|
|
|
11990
12023
|
el[assignKey] = getModelAssigner(vnode);
|
|
11991
12024
|
if (el.composing)
|
|
11992
12025
|
return;
|
|
12026
|
+
const elValue = number || el.type === "number" ? looseToNumber(el.value) : el.value;
|
|
12027
|
+
const newValue = value == null ? "" : value;
|
|
12028
|
+
if (elValue === newValue) {
|
|
12029
|
+
return;
|
|
12030
|
+
}
|
|
11993
12031
|
if (document.activeElement === el && el.type !== "range") {
|
|
11994
12032
|
if (lazy) {
|
|
11995
12033
|
return;
|
|
11996
12034
|
}
|
|
11997
|
-
if (trim && el.value.trim() ===
|
|
12035
|
+
if (trim && el.value.trim() === newValue) {
|
|
11998
12036
|
return;
|
|
11999
12037
|
}
|
|
12000
|
-
if ((number || el.type === "number") && looseToNumber(el.value) === value) {
|
|
12001
|
-
return;
|
|
12002
|
-
}
|
|
12003
|
-
}
|
|
12004
|
-
const newValue = value == null ? "" : value;
|
|
12005
|
-
if (el.value !== newValue) {
|
|
12006
|
-
el.value = newValue;
|
|
12007
12038
|
}
|
|
12039
|
+
el.value = newValue;
|
|
12008
12040
|
}
|
|
12009
12041
|
};
|
|
12010
12042
|
const vModelCheckbox = {
|