@vue/runtime-core 3.4.0-beta.4 → 3.4.0-rc.2
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 +146 -128
- package/dist/runtime-core.cjs.prod.js +5 -36
- package/dist/runtime-core.d.ts +7 -3
- package/dist/runtime-core.esm-bundler.js +146 -131
- package/package.json +3 -3
package/dist/runtime-core.cjs.js
CHANGED
|
@@ -12,7 +12,7 @@ function pushWarningContext(vnode) {
|
|
|
12
12
|
function popWarningContext() {
|
|
13
13
|
stack.pop();
|
|
14
14
|
}
|
|
15
|
-
function warn(msg, ...args) {
|
|
15
|
+
function warn$1(msg, ...args) {
|
|
16
16
|
reactivity.pauseTracking();
|
|
17
17
|
const instance = stack.length ? stack[stack.length - 1].component : null;
|
|
18
18
|
const appWarnHandler = instance && instance.appContext.config.warnHandler;
|
|
@@ -113,9 +113,9 @@ function assertNumber(val, type) {
|
|
|
113
113
|
if (val === void 0) {
|
|
114
114
|
return;
|
|
115
115
|
} else if (typeof val !== "number") {
|
|
116
|
-
warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);
|
|
116
|
+
warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);
|
|
117
117
|
} else if (isNaN(val)) {
|
|
118
|
-
warn(`${type} is NaN - the duration expression might be incorrect.`);
|
|
118
|
+
warn$1(`${type} is NaN - the duration expression might be incorrect.`);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
|
|
@@ -243,7 +243,7 @@ function logError(err, type, contextVNode, throwInDev = true) {
|
|
|
243
243
|
if (contextVNode) {
|
|
244
244
|
pushWarningContext(contextVNode);
|
|
245
245
|
}
|
|
246
|
-
warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
|
|
246
|
+
warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
|
|
247
247
|
if (contextVNode) {
|
|
248
248
|
popWarningContext();
|
|
249
249
|
}
|
|
@@ -541,22 +541,22 @@ function tryWrap(fn) {
|
|
|
541
541
|
};
|
|
542
542
|
}
|
|
543
543
|
|
|
544
|
-
|
|
544
|
+
let devtools$1;
|
|
545
545
|
let buffer = [];
|
|
546
546
|
let devtoolsNotInstalled = false;
|
|
547
547
|
function emit$1(event, ...args) {
|
|
548
|
-
if (
|
|
549
|
-
|
|
548
|
+
if (devtools$1) {
|
|
549
|
+
devtools$1.emit(event, ...args);
|
|
550
550
|
} else if (!devtoolsNotInstalled) {
|
|
551
551
|
buffer.push({ event, args });
|
|
552
552
|
}
|
|
553
553
|
}
|
|
554
|
-
function setDevtoolsHook(hook, target) {
|
|
554
|
+
function setDevtoolsHook$1(hook, target) {
|
|
555
555
|
var _a, _b;
|
|
556
|
-
|
|
557
|
-
if (
|
|
558
|
-
|
|
559
|
-
buffer.forEach(({ event, args }) =>
|
|
556
|
+
devtools$1 = hook;
|
|
557
|
+
if (devtools$1) {
|
|
558
|
+
devtools$1.enabled = true;
|
|
559
|
+
buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));
|
|
560
560
|
buffer = [];
|
|
561
561
|
} else if (
|
|
562
562
|
// handle late devtools injection - only do this if we are in an actual
|
|
@@ -568,10 +568,10 @@ function setDevtoolsHook(hook, target) {
|
|
|
568
568
|
) {
|
|
569
569
|
const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
|
|
570
570
|
replay.push((newHook) => {
|
|
571
|
-
setDevtoolsHook(newHook, target);
|
|
571
|
+
setDevtoolsHook$1(newHook, target);
|
|
572
572
|
});
|
|
573
573
|
setTimeout(() => {
|
|
574
|
-
if (!
|
|
574
|
+
if (!devtools$1) {
|
|
575
575
|
target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
|
|
576
576
|
devtoolsNotInstalled = true;
|
|
577
577
|
buffer = [];
|
|
@@ -601,8 +601,8 @@ const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(
|
|
|
601
601
|
"component:removed" /* COMPONENT_REMOVED */
|
|
602
602
|
);
|
|
603
603
|
const devtoolsComponentRemoved = (component) => {
|
|
604
|
-
if (
|
|
605
|
-
!
|
|
604
|
+
if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && // remove the component if it wasn't buffered
|
|
605
|
+
!devtools$1.cleanupBuffer(component)) {
|
|
606
606
|
_devtoolsComponentRemoved(component);
|
|
607
607
|
}
|
|
608
608
|
};
|
|
@@ -650,7 +650,7 @@ function emit(instance, event, ...rawArgs) {
|
|
|
650
650
|
if (emitsOptions) {
|
|
651
651
|
if (!(event in emitsOptions) && true) {
|
|
652
652
|
if (!propsOptions || !(shared.toHandlerKey(event) in propsOptions)) {
|
|
653
|
-
warn(
|
|
653
|
+
warn$1(
|
|
654
654
|
`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${shared.toHandlerKey(event)}" prop.`
|
|
655
655
|
);
|
|
656
656
|
}
|
|
@@ -659,7 +659,7 @@ function emit(instance, event, ...rawArgs) {
|
|
|
659
659
|
if (shared.isFunction(validator)) {
|
|
660
660
|
const isValid = validator(...rawArgs);
|
|
661
661
|
if (!isValid) {
|
|
662
|
-
warn(
|
|
662
|
+
warn$1(
|
|
663
663
|
`Invalid event arguments: event validation failed for event "${event}".`
|
|
664
664
|
);
|
|
665
665
|
}
|
|
@@ -686,7 +686,7 @@ function emit(instance, event, ...rawArgs) {
|
|
|
686
686
|
{
|
|
687
687
|
const lowerCaseEvent = event.toLowerCase();
|
|
688
688
|
if (lowerCaseEvent !== event && props[shared.toHandlerKey(lowerCaseEvent)]) {
|
|
689
|
-
warn(
|
|
689
|
+
warn$1(
|
|
690
690
|
`Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(
|
|
691
691
|
instance,
|
|
692
692
|
instance.type
|
|
@@ -854,7 +854,7 @@ function renderComponentRoot(instance) {
|
|
|
854
854
|
const proxyToUse = withProxy || proxy;
|
|
855
855
|
const thisProxy = setupState.__isScriptSetup ? new Proxy(proxyToUse, {
|
|
856
856
|
get(target, key, receiver) {
|
|
857
|
-
warn(
|
|
857
|
+
warn$1(
|
|
858
858
|
`Property '${String(
|
|
859
859
|
key
|
|
860
860
|
)}' was accessed via 'this'. Avoid using 'this' in templates.`
|
|
@@ -935,12 +935,12 @@ function renderComponentRoot(instance) {
|
|
|
935
935
|
}
|
|
936
936
|
}
|
|
937
937
|
if (extraAttrs.length) {
|
|
938
|
-
warn(
|
|
938
|
+
warn$1(
|
|
939
939
|
`Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
|
|
940
940
|
);
|
|
941
941
|
}
|
|
942
942
|
if (eventAttrs.length) {
|
|
943
|
-
warn(
|
|
943
|
+
warn$1(
|
|
944
944
|
`Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`
|
|
945
945
|
);
|
|
946
946
|
}
|
|
@@ -949,7 +949,7 @@ function renderComponentRoot(instance) {
|
|
|
949
949
|
}
|
|
950
950
|
if (vnode.dirs) {
|
|
951
951
|
if (!isElementRoot(root)) {
|
|
952
|
-
warn(
|
|
952
|
+
warn$1(
|
|
953
953
|
`Runtime directive used on component with non-element root node. The directives will not function as intended.`
|
|
954
954
|
);
|
|
955
955
|
}
|
|
@@ -958,7 +958,7 @@ function renderComponentRoot(instance) {
|
|
|
958
958
|
}
|
|
959
959
|
if (vnode.transition) {
|
|
960
960
|
if (!isElementRoot(root)) {
|
|
961
|
-
warn(
|
|
961
|
+
warn$1(
|
|
962
962
|
`Component inside <Transition> renders non-element root node that cannot be animated.`
|
|
963
963
|
);
|
|
964
964
|
}
|
|
@@ -1151,11 +1151,11 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
|
|
|
1151
1151
|
if (warnMissing && !res) {
|
|
1152
1152
|
const extra = type === COMPONENTS ? `
|
|
1153
1153
|
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
|
|
1154
|
-
warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
|
|
1154
|
+
warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
|
|
1155
1155
|
}
|
|
1156
1156
|
return res;
|
|
1157
1157
|
} else {
|
|
1158
|
-
warn(
|
|
1158
|
+
warn$1(
|
|
1159
1159
|
`resolve${shared.capitalize(type.slice(0, -1))} can only be used in render() or setup().`
|
|
1160
1160
|
);
|
|
1161
1161
|
}
|
|
@@ -1711,7 +1711,7 @@ function normalizeSuspenseSlot(s) {
|
|
|
1711
1711
|
if (shared.isArray(s)) {
|
|
1712
1712
|
const singleChild = filterSingleRoot(s);
|
|
1713
1713
|
if (!singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {
|
|
1714
|
-
warn(`<Suspense> slots expect a single root node.`);
|
|
1714
|
+
warn$1(`<Suspense> slots expect a single root node.`);
|
|
1715
1715
|
}
|
|
1716
1716
|
s = singleChild;
|
|
1717
1717
|
}
|
|
@@ -1766,7 +1766,7 @@ function watchSyncEffect(effect, options) {
|
|
|
1766
1766
|
const INITIAL_WATCHER_VALUE = {};
|
|
1767
1767
|
function watch(source, cb, options) {
|
|
1768
1768
|
if (!shared.isFunction(cb)) {
|
|
1769
|
-
warn(
|
|
1769
|
+
warn$1(
|
|
1770
1770
|
`\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
|
|
1771
1771
|
);
|
|
1772
1772
|
}
|
|
@@ -1783,23 +1783,23 @@ function doWatch(source, cb, { immediate, deep, flush, once, onTrack, onTrigger
|
|
|
1783
1783
|
}
|
|
1784
1784
|
if (!cb) {
|
|
1785
1785
|
if (immediate !== void 0) {
|
|
1786
|
-
warn(
|
|
1786
|
+
warn$1(
|
|
1787
1787
|
`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
|
|
1788
1788
|
);
|
|
1789
1789
|
}
|
|
1790
1790
|
if (deep !== void 0) {
|
|
1791
|
-
warn(
|
|
1791
|
+
warn$1(
|
|
1792
1792
|
`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
|
|
1793
1793
|
);
|
|
1794
1794
|
}
|
|
1795
1795
|
if (once !== void 0) {
|
|
1796
|
-
warn(
|
|
1796
|
+
warn$1(
|
|
1797
1797
|
`watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
|
|
1798
1798
|
);
|
|
1799
1799
|
}
|
|
1800
1800
|
}
|
|
1801
1801
|
const warnInvalidSource = (s) => {
|
|
1802
|
-
warn(
|
|
1802
|
+
warn$1(
|
|
1803
1803
|
`Invalid watch source: `,
|
|
1804
1804
|
s,
|
|
1805
1805
|
`A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
|
|
@@ -2005,13 +2005,13 @@ function traverse(value, seen) {
|
|
|
2005
2005
|
|
|
2006
2006
|
function validateDirectiveName(name) {
|
|
2007
2007
|
if (shared.isBuiltInDirective(name)) {
|
|
2008
|
-
warn("Do not use built-in directive ids as custom directive id: " + name);
|
|
2008
|
+
warn$1("Do not use built-in directive ids as custom directive id: " + name);
|
|
2009
2009
|
}
|
|
2010
2010
|
}
|
|
2011
2011
|
function withDirectives(vnode, directives) {
|
|
2012
2012
|
const internalInstance = currentRenderingInstance;
|
|
2013
2013
|
if (internalInstance === null) {
|
|
2014
|
-
warn(`withDirectives can only be used inside render functions.`);
|
|
2014
|
+
warn$1(`withDirectives can only be used inside render functions.`);
|
|
2015
2015
|
return vnode;
|
|
2016
2016
|
}
|
|
2017
2017
|
const instance = getExposeProxy(internalInstance) || internalInstance.proxy;
|
|
@@ -2118,7 +2118,7 @@ const BaseTransitionImpl = {
|
|
|
2118
2118
|
for (const c of children) {
|
|
2119
2119
|
if (c.type !== Comment) {
|
|
2120
2120
|
if (hasFound) {
|
|
2121
|
-
warn(
|
|
2121
|
+
warn$1(
|
|
2122
2122
|
"<transition> can only be used on a single element or component. Use <transition-group> for lists."
|
|
2123
2123
|
);
|
|
2124
2124
|
break;
|
|
@@ -2131,7 +2131,7 @@ const BaseTransitionImpl = {
|
|
|
2131
2131
|
const rawProps = reactivity.toRaw(props);
|
|
2132
2132
|
const { mode } = rawProps;
|
|
2133
2133
|
if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
|
|
2134
|
-
warn(`invalid <transition> mode: ${mode}`);
|
|
2134
|
+
warn$1(`invalid <transition> mode: ${mode}`);
|
|
2135
2135
|
}
|
|
2136
2136
|
if (state.isLeaving) {
|
|
2137
2137
|
return emptyPlaceholder(child);
|
|
@@ -2446,7 +2446,7 @@ function defineAsyncComponent(source) {
|
|
|
2446
2446
|
return pendingRequest;
|
|
2447
2447
|
}
|
|
2448
2448
|
if (!comp) {
|
|
2449
|
-
warn(
|
|
2449
|
+
warn$1(
|
|
2450
2450
|
`Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`
|
|
2451
2451
|
);
|
|
2452
2452
|
}
|
|
@@ -2686,7 +2686,7 @@ const KeepAliveImpl = {
|
|
|
2686
2686
|
const rawVNode = children[0];
|
|
2687
2687
|
if (children.length > 1) {
|
|
2688
2688
|
{
|
|
2689
|
-
warn(`KeepAlive should contain exactly one component child.`);
|
|
2689
|
+
warn$1(`KeepAlive should contain exactly one component child.`);
|
|
2690
2690
|
}
|
|
2691
2691
|
current = null;
|
|
2692
2692
|
return children;
|
|
@@ -2815,7 +2815,7 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
|
|
|
2815
2815
|
return wrappedHook;
|
|
2816
2816
|
} else {
|
|
2817
2817
|
const apiName = shared.toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, ""));
|
|
2818
|
-
warn(
|
|
2818
|
+
warn$1(
|
|
2819
2819
|
`${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )
|
|
2820
2820
|
);
|
|
2821
2821
|
}
|
|
@@ -2851,7 +2851,7 @@ function renderList(source, renderItem, cache, index) {
|
|
|
2851
2851
|
}
|
|
2852
2852
|
} else if (typeof source === "number") {
|
|
2853
2853
|
if (!Number.isInteger(source)) {
|
|
2854
|
-
warn(`The v-for range expect an integer value but got ${source}.`);
|
|
2854
|
+
warn$1(`The v-for range expect an integer value but got ${source}.`);
|
|
2855
2855
|
}
|
|
2856
2856
|
ret = new Array(source);
|
|
2857
2857
|
for (let i = 0; i < source; i++) {
|
|
@@ -2907,7 +2907,7 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
|
|
|
2907
2907
|
}
|
|
2908
2908
|
let slot = slots[name];
|
|
2909
2909
|
if (slot && slot.length > 1) {
|
|
2910
|
-
warn(
|
|
2910
|
+
warn$1(
|
|
2911
2911
|
`SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`
|
|
2912
2912
|
);
|
|
2913
2913
|
slot = () => [];
|
|
@@ -2950,7 +2950,7 @@ function ensureValidVNode(vnodes) {
|
|
|
2950
2950
|
function toHandlers(obj, preserveCaseIfNecessary) {
|
|
2951
2951
|
const ret = {};
|
|
2952
2952
|
if (!shared.isObject(obj)) {
|
|
2953
|
-
warn(`v-on with no argument expects an object value.`);
|
|
2953
|
+
warn$1(`v-on with no argument expects an object value.`);
|
|
2954
2954
|
return ret;
|
|
2955
2955
|
}
|
|
2956
2956
|
for (const key in obj) {
|
|
@@ -3060,13 +3060,13 @@ const PublicInstanceProxyHandlers = {
|
|
|
3060
3060
|
// to infinite warning loop
|
|
3061
3061
|
key.indexOf("__v") !== 0)) {
|
|
3062
3062
|
if (data !== shared.EMPTY_OBJ && isReservedPrefix(key[0]) && shared.hasOwn(data, key)) {
|
|
3063
|
-
warn(
|
|
3063
|
+
warn$1(
|
|
3064
3064
|
`Property ${JSON.stringify(
|
|
3065
3065
|
key
|
|
3066
3066
|
)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`
|
|
3067
3067
|
);
|
|
3068
3068
|
} else if (instance === currentRenderingInstance) {
|
|
3069
|
-
warn(
|
|
3069
|
+
warn$1(
|
|
3070
3070
|
`Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`
|
|
3071
3071
|
);
|
|
3072
3072
|
}
|
|
@@ -3078,17 +3078,17 @@ const PublicInstanceProxyHandlers = {
|
|
|
3078
3078
|
setupState[key] = value;
|
|
3079
3079
|
return true;
|
|
3080
3080
|
} else if (setupState.__isScriptSetup && shared.hasOwn(setupState, key)) {
|
|
3081
|
-
warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
|
|
3081
|
+
warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
|
|
3082
3082
|
return false;
|
|
3083
3083
|
} else if (data !== shared.EMPTY_OBJ && shared.hasOwn(data, key)) {
|
|
3084
3084
|
data[key] = value;
|
|
3085
3085
|
return true;
|
|
3086
3086
|
} else if (shared.hasOwn(instance.props, key)) {
|
|
3087
|
-
warn(`Attempting to mutate prop "${key}". Props are readonly.`);
|
|
3087
|
+
warn$1(`Attempting to mutate prop "${key}". Props are readonly.`);
|
|
3088
3088
|
return false;
|
|
3089
3089
|
}
|
|
3090
3090
|
if (key[0] === "$" && key.slice(1) in instance) {
|
|
3091
|
-
warn(
|
|
3091
|
+
warn$1(
|
|
3092
3092
|
`Attempting to mutate public property "${key}". Properties starting with $ are reserved and readonly.`
|
|
3093
3093
|
);
|
|
3094
3094
|
return false;
|
|
@@ -3122,7 +3122,7 @@ const PublicInstanceProxyHandlers = {
|
|
|
3122
3122
|
};
|
|
3123
3123
|
{
|
|
3124
3124
|
PublicInstanceProxyHandlers.ownKeys = (target) => {
|
|
3125
|
-
warn(
|
|
3125
|
+
warn$1(
|
|
3126
3126
|
`Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`
|
|
3127
3127
|
);
|
|
3128
3128
|
return Reflect.ownKeys(target);
|
|
@@ -3141,7 +3141,7 @@ const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ shared.extend
|
|
|
3141
3141
|
has(_, key) {
|
|
3142
3142
|
const has = key[0] !== "_" && !shared.isGloballyAllowed(key);
|
|
3143
3143
|
if (!has && PublicInstanceProxyHandlers.has(_, key)) {
|
|
3144
|
-
warn(
|
|
3144
|
+
warn$1(
|
|
3145
3145
|
`Property ${JSON.stringify(
|
|
3146
3146
|
key
|
|
3147
3147
|
)} should not start with _ which is a reserved prefix for Vue internals.`
|
|
@@ -3191,7 +3191,7 @@ function exposeSetupStateOnRenderContext(instance) {
|
|
|
3191
3191
|
Object.keys(reactivity.toRaw(setupState)).forEach((key) => {
|
|
3192
3192
|
if (!setupState.__isScriptSetup) {
|
|
3193
3193
|
if (isReservedPrefix(key[0])) {
|
|
3194
|
-
warn(
|
|
3194
|
+
warn$1(
|
|
3195
3195
|
`setup() return property ${JSON.stringify(
|
|
3196
3196
|
key
|
|
3197
3197
|
)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`
|
|
@@ -3208,7 +3208,7 @@ function exposeSetupStateOnRenderContext(instance) {
|
|
|
3208
3208
|
});
|
|
3209
3209
|
}
|
|
3210
3210
|
|
|
3211
|
-
const warnRuntimeUsage = (method) => warn(
|
|
3211
|
+
const warnRuntimeUsage = (method) => warn$1(
|
|
3212
3212
|
`${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`
|
|
3213
3213
|
);
|
|
3214
3214
|
function defineProps() {
|
|
@@ -3259,11 +3259,11 @@ function useAttrs() {
|
|
|
3259
3259
|
function useModel(props, name) {
|
|
3260
3260
|
const i = getCurrentInstance();
|
|
3261
3261
|
if (!i) {
|
|
3262
|
-
warn(`useModel() called without active instance.`);
|
|
3262
|
+
warn$1(`useModel() called without active instance.`);
|
|
3263
3263
|
return reactivity.ref();
|
|
3264
3264
|
}
|
|
3265
3265
|
if (!i.propsOptions[0][name]) {
|
|
3266
|
-
warn(`useModel() called with prop "${name}" which is not declared.`);
|
|
3266
|
+
warn$1(`useModel() called with prop "${name}" which is not declared.`);
|
|
3267
3267
|
return reactivity.ref();
|
|
3268
3268
|
}
|
|
3269
3269
|
return reactivity.customRef((track, trigger) => {
|
|
@@ -3294,7 +3294,7 @@ function useModel(props, name) {
|
|
|
3294
3294
|
function getContext() {
|
|
3295
3295
|
const i = getCurrentInstance();
|
|
3296
3296
|
if (!i) {
|
|
3297
|
-
warn(`useContext() called without active instance.`);
|
|
3297
|
+
warn$1(`useContext() called without active instance.`);
|
|
3298
3298
|
}
|
|
3299
3299
|
return i.setupContext || (i.setupContext = createSetupContext(i));
|
|
3300
3300
|
}
|
|
@@ -3319,7 +3319,7 @@ function mergeDefaults(raw, defaults) {
|
|
|
3319
3319
|
} else if (opt === null) {
|
|
3320
3320
|
opt = props[key] = { default: defaults[key] };
|
|
3321
3321
|
} else {
|
|
3322
|
-
warn(`props default key "${key}" has no corresponding declaration.`);
|
|
3322
|
+
warn$1(`props default key "${key}" has no corresponding declaration.`);
|
|
3323
3323
|
}
|
|
3324
3324
|
if (opt && defaults[`__skip_${key}`]) {
|
|
3325
3325
|
opt.skipFactory = true;
|
|
@@ -3349,7 +3349,7 @@ function createPropsRestProxy(props, excludedKeys) {
|
|
|
3349
3349
|
function withAsyncContext(getAwaitable) {
|
|
3350
3350
|
const ctx = getCurrentInstance();
|
|
3351
3351
|
if (!ctx) {
|
|
3352
|
-
warn(
|
|
3352
|
+
warn$1(
|
|
3353
3353
|
`withAsyncContext called without active current instance. This is likely a bug.`
|
|
3354
3354
|
);
|
|
3355
3355
|
}
|
|
@@ -3368,7 +3368,7 @@ function createDuplicateChecker() {
|
|
|
3368
3368
|
const cache = /* @__PURE__ */ Object.create(null);
|
|
3369
3369
|
return (type, key) => {
|
|
3370
3370
|
if (cache[key]) {
|
|
3371
|
-
warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
|
|
3371
|
+
warn$1(`${type} property "${key}" is already defined in ${cache[key]}.`);
|
|
3372
3372
|
} else {
|
|
3373
3373
|
cache[key] = type;
|
|
3374
3374
|
}
|
|
@@ -3444,7 +3444,7 @@ function applyOptions(instance) {
|
|
|
3444
3444
|
checkDuplicateProperties("Methods" /* METHODS */, key);
|
|
3445
3445
|
}
|
|
3446
3446
|
} else {
|
|
3447
|
-
warn(
|
|
3447
|
+
warn$1(
|
|
3448
3448
|
`Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
|
|
3449
3449
|
);
|
|
3450
3450
|
}
|
|
@@ -3452,18 +3452,18 @@ function applyOptions(instance) {
|
|
|
3452
3452
|
}
|
|
3453
3453
|
if (dataOptions) {
|
|
3454
3454
|
if (!shared.isFunction(dataOptions)) {
|
|
3455
|
-
warn(
|
|
3455
|
+
warn$1(
|
|
3456
3456
|
`The data option must be a function. Plain object usage is no longer supported.`
|
|
3457
3457
|
);
|
|
3458
3458
|
}
|
|
3459
3459
|
const data = dataOptions.call(publicThis, publicThis);
|
|
3460
3460
|
if (shared.isPromise(data)) {
|
|
3461
|
-
warn(
|
|
3461
|
+
warn$1(
|
|
3462
3462
|
`data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`
|
|
3463
3463
|
);
|
|
3464
3464
|
}
|
|
3465
3465
|
if (!shared.isObject(data)) {
|
|
3466
|
-
warn(`data() should return an object.`);
|
|
3466
|
+
warn$1(`data() should return an object.`);
|
|
3467
3467
|
} else {
|
|
3468
3468
|
instance.data = reactivity.reactive(data);
|
|
3469
3469
|
{
|
|
@@ -3487,10 +3487,10 @@ function applyOptions(instance) {
|
|
|
3487
3487
|
const opt = computedOptions[key];
|
|
3488
3488
|
const get = shared.isFunction(opt) ? opt.bind(publicThis, publicThis) : shared.isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : shared.NOOP;
|
|
3489
3489
|
if (get === shared.NOOP) {
|
|
3490
|
-
warn(`Computed property "${key}" has no getter.`);
|
|
3490
|
+
warn$1(`Computed property "${key}" has no getter.`);
|
|
3491
3491
|
}
|
|
3492
3492
|
const set = !shared.isFunction(opt) && shared.isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
|
|
3493
|
-
warn(
|
|
3493
|
+
warn$1(
|
|
3494
3494
|
`Write operation failed: computed property "${key}" is readonly.`
|
|
3495
3495
|
);
|
|
3496
3496
|
} ;
|
|
@@ -3616,7 +3616,7 @@ function createWatcher(raw, ctx, publicThis, key) {
|
|
|
3616
3616
|
if (shared.isFunction(handler)) {
|
|
3617
3617
|
watch(getter, handler);
|
|
3618
3618
|
} else {
|
|
3619
|
-
warn(`Invalid watch handler specified by key "${raw}"`, handler);
|
|
3619
|
+
warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
|
|
3620
3620
|
}
|
|
3621
3621
|
} else if (shared.isFunction(raw)) {
|
|
3622
3622
|
watch(getter, raw.bind(publicThis));
|
|
@@ -3628,11 +3628,11 @@ function createWatcher(raw, ctx, publicThis, key) {
|
|
|
3628
3628
|
if (shared.isFunction(handler)) {
|
|
3629
3629
|
watch(getter, handler, raw);
|
|
3630
3630
|
} else {
|
|
3631
|
-
warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
|
|
3631
|
+
warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
|
|
3632
3632
|
}
|
|
3633
3633
|
}
|
|
3634
3634
|
} else {
|
|
3635
|
-
warn(`Invalid watch option: "${key}"`, raw);
|
|
3635
|
+
warn$1(`Invalid watch option: "${key}"`, raw);
|
|
3636
3636
|
}
|
|
3637
3637
|
}
|
|
3638
3638
|
function resolveMergedOptions(instance) {
|
|
@@ -3677,7 +3677,7 @@ function mergeOptions(to, from, strats, asMixin = false) {
|
|
|
3677
3677
|
}
|
|
3678
3678
|
for (const key in from) {
|
|
3679
3679
|
if (asMixin && key === "expose") {
|
|
3680
|
-
warn(
|
|
3680
|
+
warn$1(
|
|
3681
3681
|
`"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`
|
|
3682
3682
|
);
|
|
3683
3683
|
} else {
|
|
@@ -3805,7 +3805,7 @@ function createAppAPI(render, hydrate) {
|
|
|
3805
3805
|
rootComponent = shared.extend({}, rootComponent);
|
|
3806
3806
|
}
|
|
3807
3807
|
if (rootProps != null && !shared.isObject(rootProps)) {
|
|
3808
|
-
warn(`root props passed to app.mount() must be an object.`);
|
|
3808
|
+
warn$1(`root props passed to app.mount() must be an object.`);
|
|
3809
3809
|
rootProps = null;
|
|
3810
3810
|
}
|
|
3811
3811
|
const context = createAppContext();
|
|
@@ -3824,14 +3824,14 @@ function createAppAPI(render, hydrate) {
|
|
|
3824
3824
|
},
|
|
3825
3825
|
set config(v) {
|
|
3826
3826
|
{
|
|
3827
|
-
warn(
|
|
3827
|
+
warn$1(
|
|
3828
3828
|
`app.config cannot be replaced. Modify individual options instead.`
|
|
3829
3829
|
);
|
|
3830
3830
|
}
|
|
3831
3831
|
},
|
|
3832
3832
|
use(plugin, ...options) {
|
|
3833
3833
|
if (installedPlugins.has(plugin)) {
|
|
3834
|
-
warn(`Plugin has already been applied to target app.`);
|
|
3834
|
+
warn$1(`Plugin has already been applied to target app.`);
|
|
3835
3835
|
} else if (plugin && shared.isFunction(plugin.install)) {
|
|
3836
3836
|
installedPlugins.add(plugin);
|
|
3837
3837
|
plugin.install(app, ...options);
|
|
@@ -3839,7 +3839,7 @@ function createAppAPI(render, hydrate) {
|
|
|
3839
3839
|
installedPlugins.add(plugin);
|
|
3840
3840
|
plugin(app, ...options);
|
|
3841
3841
|
} else {
|
|
3842
|
-
warn(
|
|
3842
|
+
warn$1(
|
|
3843
3843
|
`A plugin must either be a function or an object with an "install" function.`
|
|
3844
3844
|
);
|
|
3845
3845
|
}
|
|
@@ -3850,7 +3850,7 @@ function createAppAPI(render, hydrate) {
|
|
|
3850
3850
|
if (!context.mixins.includes(mixin)) {
|
|
3851
3851
|
context.mixins.push(mixin);
|
|
3852
3852
|
} else {
|
|
3853
|
-
warn(
|
|
3853
|
+
warn$1(
|
|
3854
3854
|
"Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
|
|
3855
3855
|
);
|
|
3856
3856
|
}
|
|
@@ -3865,7 +3865,7 @@ function createAppAPI(render, hydrate) {
|
|
|
3865
3865
|
return context.components[name];
|
|
3866
3866
|
}
|
|
3867
3867
|
if (context.components[name]) {
|
|
3868
|
-
warn(`Component "${name}" has already been registered in target app.`);
|
|
3868
|
+
warn$1(`Component "${name}" has already been registered in target app.`);
|
|
3869
3869
|
}
|
|
3870
3870
|
context.components[name] = component;
|
|
3871
3871
|
return app;
|
|
@@ -3878,7 +3878,7 @@ function createAppAPI(render, hydrate) {
|
|
|
3878
3878
|
return context.directives[name];
|
|
3879
3879
|
}
|
|
3880
3880
|
if (context.directives[name]) {
|
|
3881
|
-
warn(`Directive "${name}" has already been registered in target app.`);
|
|
3881
|
+
warn$1(`Directive "${name}" has already been registered in target app.`);
|
|
3882
3882
|
}
|
|
3883
3883
|
context.directives[name] = directive;
|
|
3884
3884
|
return app;
|
|
@@ -3886,7 +3886,7 @@ function createAppAPI(render, hydrate) {
|
|
|
3886
3886
|
mount(rootContainer, isHydrate, namespace) {
|
|
3887
3887
|
if (!isMounted) {
|
|
3888
3888
|
if (rootContainer.__vue_app__) {
|
|
3889
|
-
warn(
|
|
3889
|
+
warn$1(
|
|
3890
3890
|
`There is already an app instance mounted on the host container.
|
|
3891
3891
|
If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
|
|
3892
3892
|
);
|
|
@@ -3921,7 +3921,7 @@ function createAppAPI(render, hydrate) {
|
|
|
3921
3921
|
}
|
|
3922
3922
|
return getExposeProxy(vnode.component) || vnode.component.proxy;
|
|
3923
3923
|
} else {
|
|
3924
|
-
warn(
|
|
3924
|
+
warn$1(
|
|
3925
3925
|
`App has already been mounted.
|
|
3926
3926
|
If you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \`const createMyApp = () => createApp(App)\``
|
|
3927
3927
|
);
|
|
@@ -3936,12 +3936,12 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
3936
3936
|
}
|
|
3937
3937
|
delete app._container.__vue_app__;
|
|
3938
3938
|
} else {
|
|
3939
|
-
warn(`Cannot unmount an app that is not mounted.`);
|
|
3939
|
+
warn$1(`Cannot unmount an app that is not mounted.`);
|
|
3940
3940
|
}
|
|
3941
3941
|
},
|
|
3942
3942
|
provide(key, value) {
|
|
3943
3943
|
if (key in context.provides) {
|
|
3944
|
-
warn(
|
|
3944
|
+
warn$1(
|
|
3945
3945
|
`App already provides property with key "${String(key)}". It will be overwritten with the new value.`
|
|
3946
3946
|
);
|
|
3947
3947
|
}
|
|
@@ -3965,7 +3965,7 @@ let currentApp = null;
|
|
|
3965
3965
|
function provide(key, value) {
|
|
3966
3966
|
if (!currentInstance) {
|
|
3967
3967
|
{
|
|
3968
|
-
warn(`provide() can only be used inside setup().`);
|
|
3968
|
+
warn$1(`provide() can only be used inside setup().`);
|
|
3969
3969
|
}
|
|
3970
3970
|
} else {
|
|
3971
3971
|
let provides = currentInstance.provides;
|
|
@@ -3985,10 +3985,10 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
|
|
|
3985
3985
|
} else if (arguments.length > 1) {
|
|
3986
3986
|
return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
|
|
3987
3987
|
} else {
|
|
3988
|
-
warn(`injection "${String(key)}" not found.`);
|
|
3988
|
+
warn$1(`injection "${String(key)}" not found.`);
|
|
3989
3989
|
}
|
|
3990
3990
|
} else {
|
|
3991
|
-
warn(`inject() can only be used inside setup() or functional components.`);
|
|
3991
|
+
warn$1(`inject() can only be used inside setup() or functional components.`);
|
|
3992
3992
|
}
|
|
3993
3993
|
}
|
|
3994
3994
|
function hasInjectionContext() {
|
|
@@ -4232,7 +4232,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
|
|
|
4232
4232
|
if (shared.isArray(raw)) {
|
|
4233
4233
|
for (let i = 0; i < raw.length; i++) {
|
|
4234
4234
|
if (!shared.isString(raw[i])) {
|
|
4235
|
-
warn(`props must be strings when using array syntax.`, raw[i]);
|
|
4235
|
+
warn$1(`props must be strings when using array syntax.`, raw[i]);
|
|
4236
4236
|
}
|
|
4237
4237
|
const normalizedKey = shared.camelize(raw[i]);
|
|
4238
4238
|
if (validatePropName(normalizedKey)) {
|
|
@@ -4241,7 +4241,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
|
|
|
4241
4241
|
}
|
|
4242
4242
|
} else if (raw) {
|
|
4243
4243
|
if (!shared.isObject(raw)) {
|
|
4244
|
-
warn(`invalid props options`, raw);
|
|
4244
|
+
warn$1(`invalid props options`, raw);
|
|
4245
4245
|
}
|
|
4246
4246
|
for (const key in raw) {
|
|
4247
4247
|
const normalizedKey = shared.camelize(key);
|
|
@@ -4270,7 +4270,7 @@ function validatePropName(key) {
|
|
|
4270
4270
|
if (key[0] !== "$") {
|
|
4271
4271
|
return true;
|
|
4272
4272
|
} else {
|
|
4273
|
-
warn(`Invalid prop name: "${key}" is a reserved property.`);
|
|
4273
|
+
warn$1(`Invalid prop name: "${key}" is a reserved property.`);
|
|
4274
4274
|
}
|
|
4275
4275
|
return false;
|
|
4276
4276
|
}
|
|
@@ -4308,7 +4308,7 @@ function validateProps(rawProps, props, instance) {
|
|
|
4308
4308
|
function validateProp(name, value, prop, props, isAbsent) {
|
|
4309
4309
|
const { type, required, validator, skipCheck } = prop;
|
|
4310
4310
|
if (required && isAbsent) {
|
|
4311
|
-
warn('Missing required prop: "' + name + '"');
|
|
4311
|
+
warn$1('Missing required prop: "' + name + '"');
|
|
4312
4312
|
return;
|
|
4313
4313
|
}
|
|
4314
4314
|
if (value == null && !required) {
|
|
@@ -4324,12 +4324,12 @@ function validateProp(name, value, prop, props, isAbsent) {
|
|
|
4324
4324
|
isValid = valid;
|
|
4325
4325
|
}
|
|
4326
4326
|
if (!isValid) {
|
|
4327
|
-
warn(getInvalidTypeMessage(name, value, expectedTypes));
|
|
4327
|
+
warn$1(getInvalidTypeMessage(name, value, expectedTypes));
|
|
4328
4328
|
return;
|
|
4329
4329
|
}
|
|
4330
4330
|
}
|
|
4331
4331
|
if (validator && !validator(value, props)) {
|
|
4332
|
-
warn('Invalid prop: custom validator check failed for prop "' + name + '".');
|
|
4332
|
+
warn$1('Invalid prop: custom validator check failed for prop "' + name + '".');
|
|
4333
4333
|
}
|
|
4334
4334
|
}
|
|
4335
4335
|
const isSimpleType = /* @__PURE__ */ shared.makeMap(
|
|
@@ -4401,7 +4401,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
|
|
|
4401
4401
|
}
|
|
4402
4402
|
const normalized = withCtx((...args) => {
|
|
4403
4403
|
if (currentInstance) {
|
|
4404
|
-
warn(
|
|
4404
|
+
warn$1(
|
|
4405
4405
|
`Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
|
|
4406
4406
|
);
|
|
4407
4407
|
}
|
|
@@ -4420,7 +4420,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
|
|
|
4420
4420
|
slots[key] = normalizeSlot(key, value, ctx);
|
|
4421
4421
|
} else if (value != null) {
|
|
4422
4422
|
{
|
|
4423
|
-
warn(
|
|
4423
|
+
warn$1(
|
|
4424
4424
|
`Non-function value encountered for slot "${key}". Prefer function slots for better performance.`
|
|
4425
4425
|
);
|
|
4426
4426
|
}
|
|
@@ -4431,7 +4431,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
|
|
|
4431
4431
|
};
|
|
4432
4432
|
const normalizeVNodeSlots = (instance, children) => {
|
|
4433
4433
|
if (!isKeepAlive(instance.vnode) && true) {
|
|
4434
|
-
warn(
|
|
4434
|
+
warn$1(
|
|
4435
4435
|
`Non-function value encountered for default slot. Prefer function slots for better performance.`
|
|
4436
4436
|
);
|
|
4437
4437
|
}
|
|
@@ -4513,7 +4513,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4513
4513
|
const value = isUnmount ? null : refValue;
|
|
4514
4514
|
const { i: owner, r: ref } = rawRef;
|
|
4515
4515
|
if (!owner) {
|
|
4516
|
-
warn(
|
|
4516
|
+
warn$1(
|
|
4517
4517
|
`Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`
|
|
4518
4518
|
);
|
|
4519
4519
|
return;
|
|
@@ -4568,7 +4568,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4568
4568
|
if (rawRef.k)
|
|
4569
4569
|
refs[rawRef.k] = value;
|
|
4570
4570
|
} else {
|
|
4571
|
-
warn("Invalid template ref type:", ref, `(${typeof ref})`);
|
|
4571
|
+
warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
|
|
4572
4572
|
}
|
|
4573
4573
|
};
|
|
4574
4574
|
if (value) {
|
|
@@ -4578,7 +4578,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4578
4578
|
doSet();
|
|
4579
4579
|
}
|
|
4580
4580
|
} else {
|
|
4581
|
-
warn("Invalid template ref type:", ref, `(${typeof ref})`);
|
|
4581
|
+
warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
|
|
4582
4582
|
}
|
|
4583
4583
|
}
|
|
4584
4584
|
}
|
|
@@ -4610,7 +4610,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4610
4610
|
} = rendererInternals;
|
|
4611
4611
|
const hydrate = (vnode, container) => {
|
|
4612
4612
|
if (!container.hasChildNodes()) {
|
|
4613
|
-
warn(
|
|
4613
|
+
warn$1(
|
|
4614
4614
|
`Attempting to hydrate existing markup but container is empty. Performing full mount instead.`
|
|
4615
4615
|
);
|
|
4616
4616
|
patch(null, vnode, container);
|
|
@@ -4670,7 +4670,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4670
4670
|
} else {
|
|
4671
4671
|
if (node.data !== vnode.children) {
|
|
4672
4672
|
hasMismatch = true;
|
|
4673
|
-
warn(
|
|
4673
|
+
warn$1(
|
|
4674
4674
|
`Hydration text mismatch in`,
|
|
4675
4675
|
node.parentNode,
|
|
4676
4676
|
`
|
|
@@ -4805,7 +4805,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4805
4805
|
hydrateNode
|
|
4806
4806
|
);
|
|
4807
4807
|
} else {
|
|
4808
|
-
warn("Invalid HostVNode type:", type, `(${typeof type})`);
|
|
4808
|
+
warn$1("Invalid HostVNode type:", type, `(${typeof type})`);
|
|
4809
4809
|
}
|
|
4810
4810
|
}
|
|
4811
4811
|
if (ref != null) {
|
|
@@ -4846,7 +4846,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4846
4846
|
while (next) {
|
|
4847
4847
|
hasMismatch = true;
|
|
4848
4848
|
if (!hasWarned) {
|
|
4849
|
-
warn(
|
|
4849
|
+
warn$1(
|
|
4850
4850
|
`Hydration children mismatch on`,
|
|
4851
4851
|
el,
|
|
4852
4852
|
`
|
|
@@ -4861,7 +4861,7 @@ Server rendered element contains more child nodes than client vdom.`
|
|
|
4861
4861
|
} else if (shapeFlag & 8) {
|
|
4862
4862
|
if (el.textContent !== vnode.children) {
|
|
4863
4863
|
hasMismatch = true;
|
|
4864
|
-
warn(
|
|
4864
|
+
warn$1(
|
|
4865
4865
|
`Hydration text content mismatch on`,
|
|
4866
4866
|
el,
|
|
4867
4867
|
`
|
|
@@ -4930,7 +4930,7 @@ Server rendered element contains more child nodes than client vdom.`
|
|
|
4930
4930
|
} else {
|
|
4931
4931
|
hasMismatch = true;
|
|
4932
4932
|
if (!hasWarned) {
|
|
4933
|
-
warn(
|
|
4933
|
+
warn$1(
|
|
4934
4934
|
`Hydration children mismatch on`,
|
|
4935
4935
|
container,
|
|
4936
4936
|
`
|
|
@@ -4977,7 +4977,7 @@ Server rendered element contains fewer child nodes than client vdom.`
|
|
|
4977
4977
|
};
|
|
4978
4978
|
const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
|
|
4979
4979
|
hasMismatch = true;
|
|
4980
|
-
warn(
|
|
4980
|
+
warn$1(
|
|
4981
4981
|
`Hydration node mismatch:
|
|
4982
4982
|
- rendered on server:`,
|
|
4983
4983
|
node,
|
|
@@ -5055,9 +5055,9 @@ function propHasMismatch(el, key, clientValue) {
|
|
|
5055
5055
|
let actual;
|
|
5056
5056
|
let expected;
|
|
5057
5057
|
if (key === "class") {
|
|
5058
|
-
actual = el.getAttribute("class");
|
|
5059
|
-
expected = shared.normalizeClass(clientValue);
|
|
5060
|
-
if (actual
|
|
5058
|
+
actual = toClassSet(el.getAttribute("class") || "");
|
|
5059
|
+
expected = toClassSet(shared.normalizeClass(clientValue));
|
|
5060
|
+
if (!isSetEqual(actual, expected)) {
|
|
5061
5061
|
mismatchType = mismatchKey = `class`;
|
|
5062
5062
|
}
|
|
5063
5063
|
} else if (key === "style") {
|
|
@@ -5076,7 +5076,7 @@ function propHasMismatch(el, key, clientValue) {
|
|
|
5076
5076
|
}
|
|
5077
5077
|
if (mismatchType) {
|
|
5078
5078
|
const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`;
|
|
5079
|
-
warn(
|
|
5079
|
+
warn$1(
|
|
5080
5080
|
`Hydration ${mismatchType} mismatch on`,
|
|
5081
5081
|
el,
|
|
5082
5082
|
`
|
|
@@ -5089,6 +5089,20 @@ function propHasMismatch(el, key, clientValue) {
|
|
|
5089
5089
|
}
|
|
5090
5090
|
return false;
|
|
5091
5091
|
}
|
|
5092
|
+
function toClassSet(str) {
|
|
5093
|
+
return new Set(str.trim().split(/\s+/));
|
|
5094
|
+
}
|
|
5095
|
+
function isSetEqual(a, b) {
|
|
5096
|
+
if (a.size !== b.size) {
|
|
5097
|
+
return false;
|
|
5098
|
+
}
|
|
5099
|
+
for (const s of a) {
|
|
5100
|
+
if (!b.has(s)) {
|
|
5101
|
+
return false;
|
|
5102
|
+
}
|
|
5103
|
+
}
|
|
5104
|
+
return true;
|
|
5105
|
+
}
|
|
5092
5106
|
|
|
5093
5107
|
let supported;
|
|
5094
5108
|
let perf;
|
|
@@ -5141,7 +5155,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5141
5155
|
const target = shared.getGlobalThis();
|
|
5142
5156
|
target.__VUE__ = true;
|
|
5143
5157
|
{
|
|
5144
|
-
setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
|
|
5158
|
+
setDevtoolsHook$1(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
|
|
5145
5159
|
}
|
|
5146
5160
|
const {
|
|
5147
5161
|
insert: hostInsert,
|
|
@@ -5250,7 +5264,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
5250
5264
|
internals
|
|
5251
5265
|
);
|
|
5252
5266
|
} else {
|
|
5253
|
-
warn("Invalid VNode type:", type, `(${typeof type})`);
|
|
5267
|
+
warn$1("Invalid VNode type:", type, `(${typeof type})`);
|
|
5254
5268
|
}
|
|
5255
5269
|
}
|
|
5256
5270
|
if (ref != null && parentComponent) {
|
|
@@ -6219,7 +6233,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6219
6233
|
const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
|
|
6220
6234
|
if (nextChild.key != null) {
|
|
6221
6235
|
if (keyToNewIndexMap.has(nextChild.key)) {
|
|
6222
|
-
warn(
|
|
6236
|
+
warn$1(
|
|
6223
6237
|
`Duplicate keys found during update:`,
|
|
6224
6238
|
JSON.stringify(nextChild.key),
|
|
6225
6239
|
`Make sure keys are unique.`
|
|
@@ -6648,14 +6662,14 @@ const resolveTarget = (props, select) => {
|
|
|
6648
6662
|
const targetSelector = props && props.to;
|
|
6649
6663
|
if (shared.isString(targetSelector)) {
|
|
6650
6664
|
if (!select) {
|
|
6651
|
-
warn(
|
|
6665
|
+
warn$1(
|
|
6652
6666
|
`Current renderer does not support string target for Teleports. (missing querySelector renderer option)`
|
|
6653
6667
|
);
|
|
6654
6668
|
return null;
|
|
6655
6669
|
} else {
|
|
6656
6670
|
const target = select(targetSelector);
|
|
6657
6671
|
if (!target) {
|
|
6658
|
-
warn(
|
|
6672
|
+
warn$1(
|
|
6659
6673
|
`Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`
|
|
6660
6674
|
);
|
|
6661
6675
|
}
|
|
@@ -6663,7 +6677,7 @@ const resolveTarget = (props, select) => {
|
|
|
6663
6677
|
}
|
|
6664
6678
|
} else {
|
|
6665
6679
|
if (!targetSelector && !isTeleportDisabled(props)) {
|
|
6666
|
-
warn(`Invalid Teleport target: ${targetSelector}`);
|
|
6680
|
+
warn$1(`Invalid Teleport target: ${targetSelector}`);
|
|
6667
6681
|
}
|
|
6668
6682
|
return targetSelector;
|
|
6669
6683
|
}
|
|
@@ -6699,7 +6713,7 @@ const TeleportImpl = {
|
|
|
6699
6713
|
namespace = "mathml";
|
|
6700
6714
|
}
|
|
6701
6715
|
} else if (!disabled) {
|
|
6702
|
-
warn("Invalid Teleport target on mount:", target, `(${typeof target})`);
|
|
6716
|
+
warn$1("Invalid Teleport target on mount:", target, `(${typeof target})`);
|
|
6703
6717
|
}
|
|
6704
6718
|
const mount = (container2, anchor2) => {
|
|
6705
6719
|
if (shapeFlag & 16) {
|
|
@@ -6786,7 +6800,7 @@ const TeleportImpl = {
|
|
|
6786
6800
|
0
|
|
6787
6801
|
);
|
|
6788
6802
|
} else {
|
|
6789
|
-
warn(
|
|
6803
|
+
warn$1(
|
|
6790
6804
|
"Invalid Teleport target on update:",
|
|
6791
6805
|
target,
|
|
6792
6806
|
`(${typeof target})`
|
|
@@ -7036,7 +7050,7 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
7036
7050
|
vnode.shapeFlag |= shared.isString(children) ? 8 : 16;
|
|
7037
7051
|
}
|
|
7038
7052
|
if (vnode.key !== vnode.key) {
|
|
7039
|
-
warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
|
|
7053
|
+
warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
|
|
7040
7054
|
}
|
|
7041
7055
|
if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
|
|
7042
7056
|
!isBlockNode && // has current parent block
|
|
@@ -7055,7 +7069,7 @@ const createVNode = createVNodeWithArgsTransform ;
|
|
|
7055
7069
|
function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
|
|
7056
7070
|
if (!type || type === NULL_DYNAMIC_COMPONENT) {
|
|
7057
7071
|
if (!type) {
|
|
7058
|
-
warn(`Invalid vnode type when creating vnode: ${type}.`);
|
|
7072
|
+
warn$1(`Invalid vnode type when creating vnode: ${type}.`);
|
|
7059
7073
|
}
|
|
7060
7074
|
type = Comment;
|
|
7061
7075
|
}
|
|
@@ -7098,7 +7112,7 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
|
|
|
7098
7112
|
const shapeFlag = shared.isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : shared.isObject(type) ? 4 : shared.isFunction(type) ? 2 : 0;
|
|
7099
7113
|
if (shapeFlag & 4 && reactivity.isProxy(type)) {
|
|
7100
7114
|
type = reactivity.toRaw(type);
|
|
7101
|
-
warn(
|
|
7115
|
+
warn$1(
|
|
7102
7116
|
`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\`.`,
|
|
7103
7117
|
`
|
|
7104
7118
|
Component that was made reactive: `,
|
|
@@ -7411,7 +7425,7 @@ const isBuiltInTag = /* @__PURE__ */ shared.makeMap("slot,component");
|
|
|
7411
7425
|
function validateComponentName(name, config) {
|
|
7412
7426
|
const appIsNativeTag = config.isNativeTag || shared.NO;
|
|
7413
7427
|
if (isBuiltInTag(name) || appIsNativeTag(name)) {
|
|
7414
|
-
warn(
|
|
7428
|
+
warn$1(
|
|
7415
7429
|
"Do not use built-in or reserved HTML elements as component id: " + name
|
|
7416
7430
|
);
|
|
7417
7431
|
}
|
|
@@ -7450,7 +7464,7 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
7450
7464
|
}
|
|
7451
7465
|
}
|
|
7452
7466
|
if (Component.compilerOptions && isRuntimeOnly()) {
|
|
7453
|
-
warn(
|
|
7467
|
+
warn$1(
|
|
7454
7468
|
`"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`
|
|
7455
7469
|
);
|
|
7456
7470
|
}
|
|
@@ -7485,7 +7499,7 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
7485
7499
|
instance.asyncDep = setupResult;
|
|
7486
7500
|
if (!instance.suspense) {
|
|
7487
7501
|
const name = (_a = Component.name) != null ? _a : "Anonymous";
|
|
7488
|
-
warn(
|
|
7502
|
+
warn$1(
|
|
7489
7503
|
`Component <${name}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`
|
|
7490
7504
|
);
|
|
7491
7505
|
}
|
|
@@ -7506,7 +7520,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
|
|
|
7506
7520
|
}
|
|
7507
7521
|
} else if (shared.isObject(setupResult)) {
|
|
7508
7522
|
if (isVNode(setupResult)) {
|
|
7509
|
-
warn(
|
|
7523
|
+
warn$1(
|
|
7510
7524
|
`setup() should not return VNodes directly - return a render function instead.`
|
|
7511
7525
|
);
|
|
7512
7526
|
}
|
|
@@ -7518,7 +7532,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
|
|
|
7518
7532
|
exposeSetupStateOnRenderContext(instance);
|
|
7519
7533
|
}
|
|
7520
7534
|
} else if (setupResult !== void 0) {
|
|
7521
|
-
warn(
|
|
7535
|
+
warn$1(
|
|
7522
7536
|
`setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`
|
|
7523
7537
|
);
|
|
7524
7538
|
}
|
|
@@ -7579,12 +7593,12 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
|
|
|
7579
7593
|
}
|
|
7580
7594
|
if (!Component.render && instance.render === shared.NOOP && !isSSR) {
|
|
7581
7595
|
if (!compile && Component.template) {
|
|
7582
|
-
warn(
|
|
7596
|
+
warn$1(
|
|
7583
7597
|
`Component provided template option but runtime compilation is not supported in this build of Vue.` + (``)
|
|
7584
7598
|
/* should not happen */
|
|
7585
7599
|
);
|
|
7586
7600
|
} else {
|
|
7587
|
-
warn(`Component is missing template or render function.`);
|
|
7601
|
+
warn$1(`Component is missing template or render function.`);
|
|
7588
7602
|
}
|
|
7589
7603
|
}
|
|
7590
7604
|
}
|
|
@@ -7598,11 +7612,11 @@ function getAttrsProxy(instance) {
|
|
|
7598
7612
|
return target[key];
|
|
7599
7613
|
},
|
|
7600
7614
|
set() {
|
|
7601
|
-
warn(`setupContext.attrs is readonly.`);
|
|
7615
|
+
warn$1(`setupContext.attrs is readonly.`);
|
|
7602
7616
|
return false;
|
|
7603
7617
|
},
|
|
7604
7618
|
deleteProperty() {
|
|
7605
|
-
warn(`setupContext.attrs is readonly.`);
|
|
7619
|
+
warn$1(`setupContext.attrs is readonly.`);
|
|
7606
7620
|
return false;
|
|
7607
7621
|
}
|
|
7608
7622
|
}
|
|
@@ -7620,7 +7634,7 @@ function createSetupContext(instance) {
|
|
|
7620
7634
|
const expose = (exposed) => {
|
|
7621
7635
|
{
|
|
7622
7636
|
if (instance.exposed) {
|
|
7623
|
-
warn(`expose() should be called only once per setup().`);
|
|
7637
|
+
warn$1(`expose() should be called only once per setup().`);
|
|
7624
7638
|
}
|
|
7625
7639
|
if (exposed != null) {
|
|
7626
7640
|
let exposedType = typeof exposed;
|
|
@@ -7632,7 +7646,7 @@ function createSetupContext(instance) {
|
|
|
7632
7646
|
}
|
|
7633
7647
|
}
|
|
7634
7648
|
if (exposedType !== "object") {
|
|
7635
|
-
warn(
|
|
7649
|
+
warn$1(
|
|
7636
7650
|
`expose() should be passed a plain object, received ${exposedType}.`
|
|
7637
7651
|
);
|
|
7638
7652
|
}
|
|
@@ -7732,7 +7746,7 @@ const useSSRContext = () => {
|
|
|
7732
7746
|
{
|
|
7733
7747
|
const ctx = inject(ssrContextKey);
|
|
7734
7748
|
if (!ctx) {
|
|
7735
|
-
warn(
|
|
7749
|
+
warn$1(
|
|
7736
7750
|
`Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
|
|
7737
7751
|
);
|
|
7738
7752
|
}
|
|
@@ -7945,8 +7959,11 @@ function isMemoSame(cached, memo) {
|
|
|
7945
7959
|
return true;
|
|
7946
7960
|
}
|
|
7947
7961
|
|
|
7948
|
-
const version = "3.4.0-
|
|
7962
|
+
const version = "3.4.0-rc.2";
|
|
7963
|
+
const warn = warn$1 ;
|
|
7949
7964
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
7965
|
+
const devtools = devtools$1 ;
|
|
7966
|
+
const setDevtoolsHook = setDevtoolsHook$1 ;
|
|
7950
7967
|
const _ssrUtils = {
|
|
7951
7968
|
createComponentInstance,
|
|
7952
7969
|
setupComponent,
|
|
@@ -8033,6 +8050,7 @@ exports.defineModel = defineModel;
|
|
|
8033
8050
|
exports.defineOptions = defineOptions;
|
|
8034
8051
|
exports.defineProps = defineProps;
|
|
8035
8052
|
exports.defineSlots = defineSlots;
|
|
8053
|
+
exports.devtools = devtools;
|
|
8036
8054
|
exports.getCurrentInstance = getCurrentInstance;
|
|
8037
8055
|
exports.getTransitionRawChildren = getTransitionRawChildren;
|
|
8038
8056
|
exports.guardReactiveProps = guardReactiveProps;
|