@vue/compat 3.4.0-rc.1 → 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.
@@ -345,7 +345,7 @@ const stringifySymbol = (v, i = "") => {
345
345
  return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
346
346
  };
347
347
 
348
- function warn$1(msg, ...args) {
348
+ function warn$2(msg, ...args) {
349
349
  console.warn(`[Vue warn] ${msg}`, ...args);
350
350
  }
351
351
 
@@ -385,7 +385,7 @@ class EffectScope {
385
385
  activeEffectScope = currentEffectScope;
386
386
  }
387
387
  } else {
388
- warn$1(`cannot run an inactive effect scope.`);
388
+ warn$2(`cannot run an inactive effect scope.`);
389
389
  }
390
390
  }
391
391
  /**
@@ -443,7 +443,7 @@ function onScopeDispose(fn) {
443
443
  if (activeEffectScope) {
444
444
  activeEffectScope.cleanups.push(fn);
445
445
  } else {
446
- warn$1(
446
+ warn$2(
447
447
  `onScopeDispose() is called when there is no active effect scope to be associated with.`
448
448
  );
449
449
  }
@@ -891,7 +891,7 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler {
891
891
  }
892
892
  set(target, key) {
893
893
  {
894
- warn$1(
894
+ warn$2(
895
895
  `Set operation on key "${String(key)}" failed: target is readonly.`,
896
896
  target
897
897
  );
@@ -900,7 +900,7 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler {
900
900
  }
901
901
  deleteProperty(target, key) {
902
902
  {
903
- warn$1(
903
+ warn$2(
904
904
  `Delete operation on key "${String(key)}" failed: target is readonly.`,
905
905
  target
906
906
  );
@@ -1558,7 +1558,7 @@ function pushWarningContext(vnode) {
1558
1558
  function popWarningContext() {
1559
1559
  stack$1.pop();
1560
1560
  }
1561
- function warn(msg, ...args) {
1561
+ function warn$1(msg, ...args) {
1562
1562
  pauseTracking();
1563
1563
  const instance = stack$1.length ? stack$1[stack$1.length - 1].component : null;
1564
1564
  const appWarnHandler = instance && instance.appContext.config.warnHandler;
@@ -1659,9 +1659,9 @@ function assertNumber(val, type) {
1659
1659
  if (val === void 0) {
1660
1660
  return;
1661
1661
  } else if (typeof val !== "number") {
1662
- warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);
1662
+ warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);
1663
1663
  } else if (isNaN(val)) {
1664
- warn(`${type} is NaN - the duration expression might be incorrect.`);
1664
+ warn$1(`${type} is NaN - the duration expression might be incorrect.`);
1665
1665
  }
1666
1666
  }
1667
1667
 
@@ -1789,7 +1789,7 @@ function logError(err, type, contextVNode, throwInDev = true) {
1789
1789
  if (contextVNode) {
1790
1790
  pushWarningContext(contextVNode);
1791
1791
  }
1792
- warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1792
+ warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1793
1793
  if (contextVNode) {
1794
1794
  popWarningContext();
1795
1795
  }
@@ -2087,22 +2087,22 @@ function tryWrap(fn) {
2087
2087
  };
2088
2088
  }
2089
2089
 
2090
- let devtools;
2090
+ let devtools$1;
2091
2091
  let buffer = [];
2092
2092
  let devtoolsNotInstalled = false;
2093
2093
  function emit$2(event, ...args) {
2094
- if (devtools) {
2095
- devtools.emit(event, ...args);
2094
+ if (devtools$1) {
2095
+ devtools$1.emit(event, ...args);
2096
2096
  } else if (!devtoolsNotInstalled) {
2097
2097
  buffer.push({ event, args });
2098
2098
  }
2099
2099
  }
2100
- function setDevtoolsHook(hook, target) {
2100
+ function setDevtoolsHook$1(hook, target) {
2101
2101
  var _a, _b;
2102
- devtools = hook;
2103
- if (devtools) {
2104
- devtools.enabled = true;
2105
- buffer.forEach(({ event, args }) => devtools.emit(event, ...args));
2102
+ devtools$1 = hook;
2103
+ if (devtools$1) {
2104
+ devtools$1.enabled = true;
2105
+ buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));
2106
2106
  buffer = [];
2107
2107
  } else if (
2108
2108
  // handle late devtools injection - only do this if we are in an actual
@@ -2114,10 +2114,10 @@ function setDevtoolsHook(hook, target) {
2114
2114
  ) {
2115
2115
  const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
2116
2116
  replay.push((newHook) => {
2117
- setDevtoolsHook(newHook, target);
2117
+ setDevtoolsHook$1(newHook, target);
2118
2118
  });
2119
2119
  setTimeout(() => {
2120
- if (!devtools) {
2120
+ if (!devtools$1) {
2121
2121
  target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
2122
2122
  devtoolsNotInstalled = true;
2123
2123
  buffer = [];
@@ -2147,8 +2147,8 @@ const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(
2147
2147
  "component:removed" /* COMPONENT_REMOVED */
2148
2148
  );
2149
2149
  const devtoolsComponentRemoved = (component) => {
2150
- if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered
2151
- !devtools.cleanupBuffer(component)) {
2150
+ if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && // remove the component if it wasn't buffered
2151
+ !devtools$1.cleanupBuffer(component)) {
2152
2152
  _devtoolsComponentRemoved(component);
2153
2153
  }
2154
2154
  };
@@ -2447,12 +2447,12 @@ function warnDeprecation$1(key, instance, ...args) {
2447
2447
  }
2448
2448
  instanceWarned[componentDupKey] = true;
2449
2449
  if (dupKey in warnCount) {
2450
- warn(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2450
+ warn$1(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2451
2451
  return;
2452
2452
  }
2453
2453
  warnCount[dupKey] = 0;
2454
2454
  const { message, link } = deprecationData$1[key];
2455
- warn(
2455
+ warn$1(
2456
2456
  `(deprecation ${key}) ${typeof message === "function" ? message(...args) : message}${link ? `
2457
2457
  Details: ${link}` : ``}`
2458
2458
  );
@@ -2482,19 +2482,19 @@ function validateCompatConfig(config, instance) {
2482
2482
  if (key !== "MODE" && !(key in deprecationData$1) && !(key in warnedInvalidKeys)) {
2483
2483
  if (key.startsWith("COMPILER_")) {
2484
2484
  if (isRuntimeOnly()) {
2485
- warn(
2485
+ warn$1(
2486
2486
  `Deprecation config "${key}" is compiler-specific and you are running a runtime-only build of Vue. This deprecation should be configured via compiler options in your build setup instead.
2487
2487
  Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
2488
2488
  );
2489
2489
  }
2490
2490
  } else {
2491
- warn(`Invalid deprecation config "${key}".`);
2491
+ warn$1(`Invalid deprecation config "${key}".`);
2492
2492
  }
2493
2493
  warnedInvalidKeys[key] = true;
2494
2494
  }
2495
2495
  }
2496
2496
  if (instance && config["OPTIONS_DATA_MERGE"] != null) {
2497
- warn(
2497
+ warn$1(
2498
2498
  `Deprecation config "${"OPTIONS_DATA_MERGE"}" can only be configured globally.`
2499
2499
  );
2500
2500
  }
@@ -2684,7 +2684,7 @@ function emit(instance, event, ...rawArgs) {
2684
2684
  if (emitsOptions) {
2685
2685
  if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
2686
2686
  if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
2687
- warn(
2687
+ warn$1(
2688
2688
  `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`
2689
2689
  );
2690
2690
  }
@@ -2693,7 +2693,7 @@ function emit(instance, event, ...rawArgs) {
2693
2693
  if (isFunction(validator)) {
2694
2694
  const isValid = validator(...rawArgs);
2695
2695
  if (!isValid) {
2696
- warn(
2696
+ warn$1(
2697
2697
  `Invalid event arguments: event validation failed for event "${event}".`
2698
2698
  );
2699
2699
  }
@@ -2720,7 +2720,7 @@ function emit(instance, event, ...rawArgs) {
2720
2720
  {
2721
2721
  const lowerCaseEvent = event.toLowerCase();
2722
2722
  if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
2723
- warn(
2723
+ warn$1(
2724
2724
  `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(
2725
2725
  instance,
2726
2726
  instance.type
@@ -2901,7 +2901,7 @@ function renderComponentRoot(instance) {
2901
2901
  const proxyToUse = withProxy || proxy;
2902
2902
  const thisProxy = setupState.__isScriptSetup ? new Proxy(proxyToUse, {
2903
2903
  get(target, key, receiver) {
2904
- warn(
2904
+ warn$1(
2905
2905
  `Property '${String(
2906
2906
  key
2907
2907
  )}' was accessed via 'this'. Avoid using 'this' in templates.`
@@ -2982,12 +2982,12 @@ function renderComponentRoot(instance) {
2982
2982
  }
2983
2983
  }
2984
2984
  if (extraAttrs.length) {
2985
- warn(
2985
+ warn$1(
2986
2986
  `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
2987
2987
  );
2988
2988
  }
2989
2989
  if (eventAttrs.length) {
2990
- warn(
2990
+ warn$1(
2991
2991
  `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.`
2992
2992
  );
2993
2993
  }
@@ -3012,7 +3012,7 @@ function renderComponentRoot(instance) {
3012
3012
  }
3013
3013
  if (vnode.dirs) {
3014
3014
  if (!isElementRoot(root)) {
3015
- warn(
3015
+ warn$1(
3016
3016
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
3017
3017
  );
3018
3018
  }
@@ -3021,7 +3021,7 @@ function renderComponentRoot(instance) {
3021
3021
  }
3022
3022
  if (vnode.transition) {
3023
3023
  if (!isElementRoot(root)) {
3024
- warn(
3024
+ warn$1(
3025
3025
  `Component inside <Transition> renders non-element root node that cannot be animated.`
3026
3026
  );
3027
3027
  }
@@ -3218,11 +3218,11 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
3218
3218
  if (warnMissing && !res) {
3219
3219
  const extra = type === COMPONENTS ? `
3220
3220
  If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
3221
- warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
3221
+ warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
3222
3222
  }
3223
3223
  return res;
3224
3224
  } else {
3225
- warn(
3225
+ warn$1(
3226
3226
  `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
3227
3227
  );
3228
3228
  }
@@ -3778,7 +3778,7 @@ function normalizeSuspenseSlot(s) {
3778
3778
  if (isArray(s)) {
3779
3779
  const singleChild = filterSingleRoot(s);
3780
3780
  if (!singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {
3781
- warn(`<Suspense> slots expect a single root node.`);
3781
+ warn$1(`<Suspense> slots expect a single root node.`);
3782
3782
  }
3783
3783
  s = singleChild;
3784
3784
  }
@@ -3871,7 +3871,7 @@ function watchSyncEffect(effect, options) {
3871
3871
  const INITIAL_WATCHER_VALUE = {};
3872
3872
  function watch(source, cb, options) {
3873
3873
  if (!isFunction(cb)) {
3874
- warn(
3874
+ warn$1(
3875
3875
  `\`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.`
3876
3876
  );
3877
3877
  }
@@ -3888,23 +3888,23 @@ function doWatch(source, cb, { immediate, deep, flush, once, onTrack, onTrigger
3888
3888
  }
3889
3889
  if (!cb) {
3890
3890
  if (immediate !== void 0) {
3891
- warn(
3891
+ warn$1(
3892
3892
  `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
3893
3893
  );
3894
3894
  }
3895
3895
  if (deep !== void 0) {
3896
- warn(
3896
+ warn$1(
3897
3897
  `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
3898
3898
  );
3899
3899
  }
3900
3900
  if (once !== void 0) {
3901
- warn(
3901
+ warn$1(
3902
3902
  `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
3903
3903
  );
3904
3904
  }
3905
3905
  }
3906
3906
  const warnInvalidSource = (s) => {
3907
- warn(
3907
+ warn$1(
3908
3908
  `Invalid watch source: `,
3909
3909
  s,
3910
3910
  `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
@@ -4099,13 +4099,13 @@ function traverse(value, seen) {
4099
4099
 
4100
4100
  function validateDirectiveName(name) {
4101
4101
  if (isBuiltInDirective(name)) {
4102
- warn("Do not use built-in directive ids as custom directive id: " + name);
4102
+ warn$1("Do not use built-in directive ids as custom directive id: " + name);
4103
4103
  }
4104
4104
  }
4105
4105
  function withDirectives(vnode, directives) {
4106
4106
  const internalInstance = currentRenderingInstance;
4107
4107
  if (internalInstance === null) {
4108
- warn(`withDirectives can only be used inside render functions.`);
4108
+ warn$1(`withDirectives can only be used inside render functions.`);
4109
4109
  return vnode;
4110
4110
  }
4111
4111
  const instance = getExposeProxy(internalInstance) || internalInstance.proxy;
@@ -4215,7 +4215,7 @@ const BaseTransitionImpl = {
4215
4215
  for (const c of children) {
4216
4216
  if (c.type !== Comment) {
4217
4217
  if (hasFound) {
4218
- warn(
4218
+ warn$1(
4219
4219
  "<transition> can only be used on a single element or component. Use <transition-group> for lists."
4220
4220
  );
4221
4221
  break;
@@ -4228,7 +4228,7 @@ const BaseTransitionImpl = {
4228
4228
  const rawProps = toRaw(props);
4229
4229
  const { mode } = rawProps;
4230
4230
  if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
4231
- warn(`invalid <transition> mode: ${mode}`);
4231
+ warn$1(`invalid <transition> mode: ${mode}`);
4232
4232
  }
4233
4233
  if (state.isLeaving) {
4234
4234
  return emptyPlaceholder(child);
@@ -4546,7 +4546,7 @@ function defineAsyncComponent(source) {
4546
4546
  return pendingRequest;
4547
4547
  }
4548
4548
  if (!comp) {
4549
- warn(
4549
+ warn$1(
4550
4550
  `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`
4551
4551
  );
4552
4552
  }
@@ -4780,7 +4780,7 @@ const KeepAliveImpl = {
4780
4780
  const rawVNode = children[0];
4781
4781
  if (children.length > 1) {
4782
4782
  {
4783
- warn(`KeepAlive should contain exactly one component child.`);
4783
+ warn$1(`KeepAlive should contain exactly one component child.`);
4784
4784
  }
4785
4785
  current = null;
4786
4786
  return children;
@@ -4912,7 +4912,7 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
4912
4912
  return wrappedHook;
4913
4913
  } else {
4914
4914
  const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, ""));
4915
- warn(
4915
+ warn$1(
4916
4916
  `${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.` )
4917
4917
  );
4918
4918
  }
@@ -5234,7 +5234,7 @@ function renderList(source, renderItem, cache, index) {
5234
5234
  }
5235
5235
  } else if (typeof source === "number") {
5236
5236
  if (!Number.isInteger(source)) {
5237
- warn(`The v-for range expect an integer value but got ${source}.`);
5237
+ warn$1(`The v-for range expect an integer value but got ${source}.`);
5238
5238
  }
5239
5239
  ret = new Array(source);
5240
5240
  for (let i = 0; i < source; i++) {
@@ -5290,7 +5290,7 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
5290
5290
  }
5291
5291
  let slot = slots[name];
5292
5292
  if (slot && slot.length > 1) {
5293
- warn(
5293
+ warn$1(
5294
5294
  `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.`
5295
5295
  );
5296
5296
  slot = () => [];
@@ -5333,7 +5333,7 @@ function ensureValidVNode(vnodes) {
5333
5333
  function toHandlers(obj, preserveCaseIfNecessary) {
5334
5334
  const ret = {};
5335
5335
  if (!isObject(obj)) {
5336
- warn(`v-on with no argument expects an object value.`);
5336
+ warn$1(`v-on with no argument expects an object value.`);
5337
5337
  return ret;
5338
5338
  }
5339
5339
  for (const key in obj) {
@@ -5662,13 +5662,13 @@ const PublicInstanceProxyHandlers = {
5662
5662
  // to infinite warning loop
5663
5663
  key.indexOf("__v") !== 0)) {
5664
5664
  if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {
5665
- warn(
5665
+ warn$1(
5666
5666
  `Property ${JSON.stringify(
5667
5667
  key
5668
5668
  )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`
5669
5669
  );
5670
5670
  } else if (instance === currentRenderingInstance) {
5671
- warn(
5671
+ warn$1(
5672
5672
  `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`
5673
5673
  );
5674
5674
  }
@@ -5680,17 +5680,17 @@ const PublicInstanceProxyHandlers = {
5680
5680
  setupState[key] = value;
5681
5681
  return true;
5682
5682
  } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) {
5683
- warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5683
+ warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5684
5684
  return false;
5685
5685
  } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
5686
5686
  data[key] = value;
5687
5687
  return true;
5688
5688
  } else if (hasOwn(instance.props, key)) {
5689
- warn(`Attempting to mutate prop "${key}". Props are readonly.`);
5689
+ warn$1(`Attempting to mutate prop "${key}". Props are readonly.`);
5690
5690
  return false;
5691
5691
  }
5692
5692
  if (key[0] === "$" && key.slice(1) in instance) {
5693
- warn(
5693
+ warn$1(
5694
5694
  `Attempting to mutate public property "${key}". Properties starting with $ are reserved and readonly.`
5695
5695
  );
5696
5696
  return false;
@@ -5724,7 +5724,7 @@ const PublicInstanceProxyHandlers = {
5724
5724
  };
5725
5725
  {
5726
5726
  PublicInstanceProxyHandlers.ownKeys = (target) => {
5727
- warn(
5727
+ warn$1(
5728
5728
  `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`
5729
5729
  );
5730
5730
  return Reflect.ownKeys(target);
@@ -5743,7 +5743,7 @@ const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend(
5743
5743
  has(_, key) {
5744
5744
  const has = key[0] !== "_" && !isGloballyAllowed(key);
5745
5745
  if (!has && PublicInstanceProxyHandlers.has(_, key)) {
5746
- warn(
5746
+ warn$1(
5747
5747
  `Property ${JSON.stringify(
5748
5748
  key
5749
5749
  )} should not start with _ which is a reserved prefix for Vue internals.`
@@ -5793,7 +5793,7 @@ function exposeSetupStateOnRenderContext(instance) {
5793
5793
  Object.keys(toRaw(setupState)).forEach((key) => {
5794
5794
  if (!setupState.__isScriptSetup) {
5795
5795
  if (isReservedPrefix(key[0])) {
5796
- warn(
5796
+ warn$1(
5797
5797
  `setup() return property ${JSON.stringify(
5798
5798
  key
5799
5799
  )} should not start with "$" or "_" which are reserved prefixes for Vue internals.`
@@ -5824,7 +5824,7 @@ function deepMergeData(to, from) {
5824
5824
  return to;
5825
5825
  }
5826
5826
 
5827
- const warnRuntimeUsage = (method) => warn(
5827
+ const warnRuntimeUsage = (method) => warn$1(
5828
5828
  `${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.`
5829
5829
  );
5830
5830
  function defineProps() {
@@ -5875,11 +5875,11 @@ function useAttrs() {
5875
5875
  function useModel(props, name) {
5876
5876
  const i = getCurrentInstance();
5877
5877
  if (!i) {
5878
- warn(`useModel() called without active instance.`);
5878
+ warn$1(`useModel() called without active instance.`);
5879
5879
  return ref();
5880
5880
  }
5881
5881
  if (!i.propsOptions[0][name]) {
5882
- warn(`useModel() called with prop "${name}" which is not declared.`);
5882
+ warn$1(`useModel() called with prop "${name}" which is not declared.`);
5883
5883
  return ref();
5884
5884
  }
5885
5885
  return customRef((track, trigger) => {
@@ -5910,7 +5910,7 @@ function useModel(props, name) {
5910
5910
  function getContext() {
5911
5911
  const i = getCurrentInstance();
5912
5912
  if (!i) {
5913
- warn(`useContext() called without active instance.`);
5913
+ warn$1(`useContext() called without active instance.`);
5914
5914
  }
5915
5915
  return i.setupContext || (i.setupContext = createSetupContext(i));
5916
5916
  }
@@ -5935,7 +5935,7 @@ function mergeDefaults(raw, defaults) {
5935
5935
  } else if (opt === null) {
5936
5936
  opt = props[key] = { default: defaults[key] };
5937
5937
  } else {
5938
- warn(`props default key "${key}" has no corresponding declaration.`);
5938
+ warn$1(`props default key "${key}" has no corresponding declaration.`);
5939
5939
  }
5940
5940
  if (opt && defaults[`__skip_${key}`]) {
5941
5941
  opt.skipFactory = true;
@@ -5965,7 +5965,7 @@ function createPropsRestProxy(props, excludedKeys) {
5965
5965
  function withAsyncContext(getAwaitable) {
5966
5966
  const ctx = getCurrentInstance();
5967
5967
  if (!ctx) {
5968
- warn(
5968
+ warn$1(
5969
5969
  `withAsyncContext called without active current instance. This is likely a bug.`
5970
5970
  );
5971
5971
  }
@@ -5984,7 +5984,7 @@ function createDuplicateChecker() {
5984
5984
  const cache = /* @__PURE__ */ Object.create(null);
5985
5985
  return (type, key) => {
5986
5986
  if (cache[key]) {
5987
- warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
5987
+ warn$1(`${type} property "${key}" is already defined in ${cache[key]}.`);
5988
5988
  } else {
5989
5989
  cache[key] = type;
5990
5990
  }
@@ -6060,7 +6060,7 @@ function applyOptions(instance) {
6060
6060
  checkDuplicateProperties("Methods" /* METHODS */, key);
6061
6061
  }
6062
6062
  } else {
6063
- warn(
6063
+ warn$1(
6064
6064
  `Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
6065
6065
  );
6066
6066
  }
@@ -6068,18 +6068,18 @@ function applyOptions(instance) {
6068
6068
  }
6069
6069
  if (dataOptions) {
6070
6070
  if (!isFunction(dataOptions)) {
6071
- warn(
6071
+ warn$1(
6072
6072
  `The data option must be a function. Plain object usage is no longer supported.`
6073
6073
  );
6074
6074
  }
6075
6075
  const data = dataOptions.call(publicThis, publicThis);
6076
6076
  if (isPromise(data)) {
6077
- warn(
6077
+ warn$1(
6078
6078
  `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`
6079
6079
  );
6080
6080
  }
6081
6081
  if (!isObject(data)) {
6082
- warn(`data() should return an object.`);
6082
+ warn$1(`data() should return an object.`);
6083
6083
  } else {
6084
6084
  instance.data = reactive(data);
6085
6085
  {
@@ -6103,10 +6103,10 @@ function applyOptions(instance) {
6103
6103
  const opt = computedOptions[key];
6104
6104
  const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
6105
6105
  if (get === NOOP) {
6106
- warn(`Computed property "${key}" has no getter.`);
6106
+ warn$1(`Computed property "${key}" has no getter.`);
6107
6107
  }
6108
6108
  const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
6109
- warn(
6109
+ warn$1(
6110
6110
  `Write operation failed: computed property "${key}" is readonly.`
6111
6111
  );
6112
6112
  } ;
@@ -6243,7 +6243,7 @@ function createWatcher(raw, ctx, publicThis, key) {
6243
6243
  if (isFunction(handler)) {
6244
6244
  watch(getter, handler);
6245
6245
  } else {
6246
- warn(`Invalid watch handler specified by key "${raw}"`, handler);
6246
+ warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6247
6247
  }
6248
6248
  } else if (isFunction(raw)) {
6249
6249
  watch(getter, raw.bind(publicThis));
@@ -6255,11 +6255,11 @@ function createWatcher(raw, ctx, publicThis, key) {
6255
6255
  if (isFunction(handler)) {
6256
6256
  watch(getter, handler, raw);
6257
6257
  } else {
6258
- warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6258
+ warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6259
6259
  }
6260
6260
  }
6261
6261
  } else {
6262
- warn(`Invalid watch option: "${key}"`, raw);
6262
+ warn$1(`Invalid watch option: "${key}"`, raw);
6263
6263
  }
6264
6264
  }
6265
6265
  function resolveMergedOptions(instance) {
@@ -6311,7 +6311,7 @@ function mergeOptions(to, from, strats, asMixin = false) {
6311
6311
  }
6312
6312
  for (const key in from) {
6313
6313
  if (asMixin && key === "expose") {
6314
- warn(
6314
+ warn$1(
6315
6315
  `"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`
6316
6316
  );
6317
6317
  } else {
@@ -6479,7 +6479,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6479
6479
  return vm;
6480
6480
  }
6481
6481
  }
6482
- Vue.version = `2.6.14-compat:${"3.4.0-rc.1"}`;
6482
+ Vue.version = `2.6.14-compat:${"3.4.0-rc.2"}`;
6483
6483
  Vue.config = singletonApp.config;
6484
6484
  Vue.use = (p, ...options) => {
6485
6485
  if (p && isFunction(p.install)) {
@@ -6580,7 +6580,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6580
6580
  }
6581
6581
  };
6582
6582
  const util = {
6583
- warn: warn ,
6583
+ warn: warn$1 ,
6584
6584
  extend,
6585
6585
  mergeOptions: (parent, child, vm) => mergeOptions(
6586
6586
  parent,
@@ -6617,7 +6617,7 @@ function installFilterMethod(app, context) {
6617
6617
  return context.filters[name];
6618
6618
  }
6619
6619
  if (context.filters[name]) {
6620
- warn(`Filter "${name}" has already been registered.`);
6620
+ warn$1(`Filter "${name}" has already been registered.`);
6621
6621
  }
6622
6622
  context.filters[name] = filter;
6623
6623
  return app;
@@ -6708,14 +6708,14 @@ function installCompatMount(app, context, render) {
6708
6708
  vnode.isCompatRoot = true;
6709
6709
  instance.ctx._compat_mount = (selectorOrEl) => {
6710
6710
  if (isMounted) {
6711
- warn(`Root instance is already mounted.`);
6711
+ warn$1(`Root instance is already mounted.`);
6712
6712
  return;
6713
6713
  }
6714
6714
  let container;
6715
6715
  if (typeof selectorOrEl === "string") {
6716
6716
  const result = document.querySelector(selectorOrEl);
6717
6717
  if (!result) {
6718
- warn(
6718
+ warn$1(
6719
6719
  `Failed to mount root instance: selector "${selectorOrEl}" returned null.`
6720
6720
  );
6721
6721
  return;
@@ -6880,7 +6880,7 @@ function createAppAPI(render, hydrate) {
6880
6880
  rootComponent = extend({}, rootComponent);
6881
6881
  }
6882
6882
  if (rootProps != null && !isObject(rootProps)) {
6883
- warn(`root props passed to app.mount() must be an object.`);
6883
+ warn$1(`root props passed to app.mount() must be an object.`);
6884
6884
  rootProps = null;
6885
6885
  }
6886
6886
  const context = createAppContext();
@@ -6899,14 +6899,14 @@ function createAppAPI(render, hydrate) {
6899
6899
  },
6900
6900
  set config(v) {
6901
6901
  {
6902
- warn(
6902
+ warn$1(
6903
6903
  `app.config cannot be replaced. Modify individual options instead.`
6904
6904
  );
6905
6905
  }
6906
6906
  },
6907
6907
  use(plugin, ...options) {
6908
6908
  if (installedPlugins.has(plugin)) {
6909
- warn(`Plugin has already been applied to target app.`);
6909
+ warn$1(`Plugin has already been applied to target app.`);
6910
6910
  } else if (plugin && isFunction(plugin.install)) {
6911
6911
  installedPlugins.add(plugin);
6912
6912
  plugin.install(app, ...options);
@@ -6914,7 +6914,7 @@ function createAppAPI(render, hydrate) {
6914
6914
  installedPlugins.add(plugin);
6915
6915
  plugin(app, ...options);
6916
6916
  } else {
6917
- warn(
6917
+ warn$1(
6918
6918
  `A plugin must either be a function or an object with an "install" function.`
6919
6919
  );
6920
6920
  }
@@ -6925,7 +6925,7 @@ function createAppAPI(render, hydrate) {
6925
6925
  if (!context.mixins.includes(mixin)) {
6926
6926
  context.mixins.push(mixin);
6927
6927
  } else {
6928
- warn(
6928
+ warn$1(
6929
6929
  "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
6930
6930
  );
6931
6931
  }
@@ -6940,7 +6940,7 @@ function createAppAPI(render, hydrate) {
6940
6940
  return context.components[name];
6941
6941
  }
6942
6942
  if (context.components[name]) {
6943
- warn(`Component "${name}" has already been registered in target app.`);
6943
+ warn$1(`Component "${name}" has already been registered in target app.`);
6944
6944
  }
6945
6945
  context.components[name] = component;
6946
6946
  return app;
@@ -6953,7 +6953,7 @@ function createAppAPI(render, hydrate) {
6953
6953
  return context.directives[name];
6954
6954
  }
6955
6955
  if (context.directives[name]) {
6956
- warn(`Directive "${name}" has already been registered in target app.`);
6956
+ warn$1(`Directive "${name}" has already been registered in target app.`);
6957
6957
  }
6958
6958
  context.directives[name] = directive;
6959
6959
  return app;
@@ -6961,7 +6961,7 @@ function createAppAPI(render, hydrate) {
6961
6961
  mount(rootContainer, isHydrate, namespace) {
6962
6962
  if (!isMounted) {
6963
6963
  if (rootContainer.__vue_app__) {
6964
- warn(
6964
+ warn$1(
6965
6965
  `There is already an app instance mounted on the host container.
6966
6966
  If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
6967
6967
  );
@@ -6996,7 +6996,7 @@ function createAppAPI(render, hydrate) {
6996
6996
  }
6997
6997
  return getExposeProxy(vnode.component) || vnode.component.proxy;
6998
6998
  } else {
6999
- warn(
6999
+ warn$1(
7000
7000
  `App has already been mounted.
7001
7001
  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)\``
7002
7002
  );
@@ -7011,12 +7011,12 @@ If you want to remount the same app, move your app creation logic into a factory
7011
7011
  }
7012
7012
  delete app._container.__vue_app__;
7013
7013
  } else {
7014
- warn(`Cannot unmount an app that is not mounted.`);
7014
+ warn$1(`Cannot unmount an app that is not mounted.`);
7015
7015
  }
7016
7016
  },
7017
7017
  provide(key, value) {
7018
7018
  if (key in context.provides) {
7019
- warn(
7019
+ warn$1(
7020
7020
  `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
7021
7021
  );
7022
7022
  }
@@ -7043,7 +7043,7 @@ let currentApp = null;
7043
7043
  function provide(key, value) {
7044
7044
  if (!currentInstance) {
7045
7045
  {
7046
- warn(`provide() can only be used inside setup().`);
7046
+ warn$1(`provide() can only be used inside setup().`);
7047
7047
  }
7048
7048
  } else {
7049
7049
  let provides = currentInstance.provides;
@@ -7063,10 +7063,10 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
7063
7063
  } else if (arguments.length > 1) {
7064
7064
  return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
7065
7065
  } else {
7066
- warn(`injection "${String(key)}" not found.`);
7066
+ warn$1(`injection "${String(key)}" not found.`);
7067
7067
  }
7068
7068
  } else {
7069
- warn(`inject() can only be used inside setup() or functional components.`);
7069
+ warn$1(`inject() can only be used inside setup() or functional components.`);
7070
7070
  }
7071
7071
  }
7072
7072
  function hasInjectionContext() {
@@ -7382,7 +7382,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7382
7382
  if (isArray(raw)) {
7383
7383
  for (let i = 0; i < raw.length; i++) {
7384
7384
  if (!isString(raw[i])) {
7385
- warn(`props must be strings when using array syntax.`, raw[i]);
7385
+ warn$1(`props must be strings when using array syntax.`, raw[i]);
7386
7386
  }
7387
7387
  const normalizedKey = camelize(raw[i]);
7388
7388
  if (validatePropName(normalizedKey)) {
@@ -7391,7 +7391,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7391
7391
  }
7392
7392
  } else if (raw) {
7393
7393
  if (!isObject(raw)) {
7394
- warn(`invalid props options`, raw);
7394
+ warn$1(`invalid props options`, raw);
7395
7395
  }
7396
7396
  for (const key in raw) {
7397
7397
  const normalizedKey = camelize(key);
@@ -7420,7 +7420,7 @@ function validatePropName(key) {
7420
7420
  if (key[0] !== "$") {
7421
7421
  return true;
7422
7422
  } else {
7423
- warn(`Invalid prop name: "${key}" is a reserved property.`);
7423
+ warn$1(`Invalid prop name: "${key}" is a reserved property.`);
7424
7424
  }
7425
7425
  return false;
7426
7426
  }
@@ -7458,7 +7458,7 @@ function validateProps(rawProps, props, instance) {
7458
7458
  function validateProp(name, value, prop, props, isAbsent) {
7459
7459
  const { type, required, validator, skipCheck } = prop;
7460
7460
  if (required && isAbsent) {
7461
- warn('Missing required prop: "' + name + '"');
7461
+ warn$1('Missing required prop: "' + name + '"');
7462
7462
  return;
7463
7463
  }
7464
7464
  if (value == null && !required) {
@@ -7474,12 +7474,12 @@ function validateProp(name, value, prop, props, isAbsent) {
7474
7474
  isValid = valid;
7475
7475
  }
7476
7476
  if (!isValid) {
7477
- warn(getInvalidTypeMessage(name, value, expectedTypes));
7477
+ warn$1(getInvalidTypeMessage(name, value, expectedTypes));
7478
7478
  return;
7479
7479
  }
7480
7480
  }
7481
7481
  if (validator && !validator(value, props)) {
7482
- warn('Invalid prop: custom validator check failed for prop "' + name + '".');
7482
+ warn$1('Invalid prop: custom validator check failed for prop "' + name + '".');
7483
7483
  }
7484
7484
  }
7485
7485
  const isSimpleType = /* @__PURE__ */ makeMap(
@@ -7551,7 +7551,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
7551
7551
  }
7552
7552
  const normalized = withCtx((...args) => {
7553
7553
  if (currentInstance) {
7554
- warn(
7554
+ warn$1(
7555
7555
  `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.`
7556
7556
  );
7557
7557
  }
@@ -7570,7 +7570,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
7570
7570
  slots[key] = normalizeSlot(key, value, ctx);
7571
7571
  } else if (value != null) {
7572
7572
  if (!isCompatEnabled$1("RENDER_FUNCTION", instance)) {
7573
- warn(
7573
+ warn$1(
7574
7574
  `Non-function value encountered for slot "${key}". Prefer function slots for better performance.`
7575
7575
  );
7576
7576
  }
@@ -7581,7 +7581,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
7581
7581
  };
7582
7582
  const normalizeVNodeSlots = (instance, children) => {
7583
7583
  if (!isKeepAlive(instance.vnode) && !isCompatEnabled$1("RENDER_FUNCTION", instance)) {
7584
- warn(
7584
+ warn$1(
7585
7585
  `Non-function value encountered for default slot. Prefer function slots for better performance.`
7586
7586
  );
7587
7587
  }
@@ -7665,7 +7665,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7665
7665
  const value = isUnmount ? null : refValue;
7666
7666
  const { i: owner, r: ref } = rawRef;
7667
7667
  if (!owner) {
7668
- warn(
7668
+ warn$1(
7669
7669
  `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`
7670
7670
  );
7671
7671
  return;
@@ -7720,7 +7720,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7720
7720
  if (rawRef.k)
7721
7721
  refs[rawRef.k] = value;
7722
7722
  } else {
7723
- warn("Invalid template ref type:", ref, `(${typeof ref})`);
7723
+ warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
7724
7724
  }
7725
7725
  };
7726
7726
  if (value) {
@@ -7730,7 +7730,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7730
7730
  doSet();
7731
7731
  }
7732
7732
  } else {
7733
- warn("Invalid template ref type:", ref, `(${typeof ref})`);
7733
+ warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
7734
7734
  }
7735
7735
  }
7736
7736
  }
@@ -7762,7 +7762,7 @@ function createHydrationFunctions(rendererInternals) {
7762
7762
  } = rendererInternals;
7763
7763
  const hydrate = (vnode, container) => {
7764
7764
  if (!container.hasChildNodes()) {
7765
- warn(
7765
+ warn$1(
7766
7766
  `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`
7767
7767
  );
7768
7768
  patch(null, vnode, container);
@@ -7822,7 +7822,7 @@ function createHydrationFunctions(rendererInternals) {
7822
7822
  } else {
7823
7823
  if (node.data !== vnode.children) {
7824
7824
  hasMismatch = true;
7825
- warn(
7825
+ warn$1(
7826
7826
  `Hydration text mismatch in`,
7827
7827
  node.parentNode,
7828
7828
  `
@@ -7957,7 +7957,7 @@ function createHydrationFunctions(rendererInternals) {
7957
7957
  hydrateNode
7958
7958
  );
7959
7959
  } else {
7960
- warn("Invalid HostVNode type:", type, `(${typeof type})`);
7960
+ warn$1("Invalid HostVNode type:", type, `(${typeof type})`);
7961
7961
  }
7962
7962
  }
7963
7963
  if (ref != null) {
@@ -7998,7 +7998,7 @@ function createHydrationFunctions(rendererInternals) {
7998
7998
  while (next) {
7999
7999
  hasMismatch = true;
8000
8000
  if (!hasWarned) {
8001
- warn(
8001
+ warn$1(
8002
8002
  `Hydration children mismatch on`,
8003
8003
  el,
8004
8004
  `
@@ -8013,7 +8013,7 @@ Server rendered element contains more child nodes than client vdom.`
8013
8013
  } else if (shapeFlag & 8) {
8014
8014
  if (el.textContent !== vnode.children) {
8015
8015
  hasMismatch = true;
8016
- warn(
8016
+ warn$1(
8017
8017
  `Hydration text content mismatch on`,
8018
8018
  el,
8019
8019
  `
@@ -8082,7 +8082,7 @@ Server rendered element contains more child nodes than client vdom.`
8082
8082
  } else {
8083
8083
  hasMismatch = true;
8084
8084
  if (!hasWarned) {
8085
- warn(
8085
+ warn$1(
8086
8086
  `Hydration children mismatch on`,
8087
8087
  container,
8088
8088
  `
@@ -8129,7 +8129,7 @@ Server rendered element contains fewer child nodes than client vdom.`
8129
8129
  };
8130
8130
  const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
8131
8131
  hasMismatch = true;
8132
- warn(
8132
+ warn$1(
8133
8133
  `Hydration node mismatch:
8134
8134
  - rendered on server:`,
8135
8135
  node,
@@ -8228,7 +8228,7 @@ function propHasMismatch(el, key, clientValue) {
8228
8228
  }
8229
8229
  if (mismatchType) {
8230
8230
  const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`;
8231
- warn(
8231
+ warn$1(
8232
8232
  `Hydration ${mismatchType} mismatch on`,
8233
8233
  el,
8234
8234
  `
@@ -8307,7 +8307,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8307
8307
  const target = getGlobalThis();
8308
8308
  target.__VUE__ = true;
8309
8309
  {
8310
- setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
8310
+ setDevtoolsHook$1(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
8311
8311
  }
8312
8312
  const {
8313
8313
  insert: hostInsert,
@@ -8416,7 +8416,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8416
8416
  internals
8417
8417
  );
8418
8418
  } else {
8419
- warn("Invalid VNode type:", type, `(${typeof type})`);
8419
+ warn$1("Invalid VNode type:", type, `(${typeof type})`);
8420
8420
  }
8421
8421
  }
8422
8422
  if (ref != null && parentComponent) {
@@ -9410,7 +9410,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9410
9410
  const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
9411
9411
  if (nextChild.key != null) {
9412
9412
  if (keyToNewIndexMap.has(nextChild.key)) {
9413
- warn(
9413
+ warn$1(
9414
9414
  `Duplicate keys found during update:`,
9415
9415
  JSON.stringify(nextChild.key),
9416
9416
  `Make sure keys are unique.`
@@ -9848,14 +9848,14 @@ const resolveTarget = (props, select) => {
9848
9848
  const targetSelector = props && props.to;
9849
9849
  if (isString(targetSelector)) {
9850
9850
  if (!select) {
9851
- warn(
9851
+ warn$1(
9852
9852
  `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`
9853
9853
  );
9854
9854
  return null;
9855
9855
  } else {
9856
9856
  const target = select(targetSelector);
9857
9857
  if (!target) {
9858
- warn(
9858
+ warn$1(
9859
9859
  `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.`
9860
9860
  );
9861
9861
  }
@@ -9863,7 +9863,7 @@ const resolveTarget = (props, select) => {
9863
9863
  }
9864
9864
  } else {
9865
9865
  if (!targetSelector && !isTeleportDisabled(props)) {
9866
- warn(`Invalid Teleport target: ${targetSelector}`);
9866
+ warn$1(`Invalid Teleport target: ${targetSelector}`);
9867
9867
  }
9868
9868
  return targetSelector;
9869
9869
  }
@@ -9899,7 +9899,7 @@ const TeleportImpl = {
9899
9899
  namespace = "mathml";
9900
9900
  }
9901
9901
  } else if (!disabled) {
9902
- warn("Invalid Teleport target on mount:", target, `(${typeof target})`);
9902
+ warn$1("Invalid Teleport target on mount:", target, `(${typeof target})`);
9903
9903
  }
9904
9904
  const mount = (container2, anchor2) => {
9905
9905
  if (shapeFlag & 16) {
@@ -9986,7 +9986,7 @@ const TeleportImpl = {
9986
9986
  0
9987
9987
  );
9988
9988
  } else {
9989
- warn(
9989
+ warn$1(
9990
9990
  "Invalid Teleport target on update:",
9991
9991
  target,
9992
9992
  `(${typeof target})`
@@ -10287,7 +10287,7 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
10287
10287
  vnode.shapeFlag |= isString(children) ? 8 : 16;
10288
10288
  }
10289
10289
  if (vnode.key !== vnode.key) {
10290
- warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10290
+ warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10291
10291
  }
10292
10292
  if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
10293
10293
  !isBlockNode && // has current parent block
@@ -10310,7 +10310,7 @@ const createVNode = createVNodeWithArgsTransform ;
10310
10310
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
10311
10311
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
10312
10312
  if (!type) {
10313
- warn(`Invalid vnode type when creating vnode: ${type}.`);
10313
+ warn$1(`Invalid vnode type when creating vnode: ${type}.`);
10314
10314
  }
10315
10315
  type = Comment;
10316
10316
  }
@@ -10356,7 +10356,7 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
10356
10356
  const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;
10357
10357
  if (shapeFlag & 4 && isProxy(type)) {
10358
10358
  type = toRaw(type);
10359
- warn(
10359
+ warn$1(
10360
10360
  `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\`.`,
10361
10361
  `
10362
10362
  Component that was made reactive: `,
@@ -10657,7 +10657,7 @@ const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
10657
10657
  function validateComponentName(name, config) {
10658
10658
  const appIsNativeTag = config.isNativeTag || NO;
10659
10659
  if (isBuiltInTag(name) || appIsNativeTag(name)) {
10660
- warn(
10660
+ warn$1(
10661
10661
  "Do not use built-in or reserved HTML elements as component id: " + name
10662
10662
  );
10663
10663
  }
@@ -10696,7 +10696,7 @@ function setupStatefulComponent(instance, isSSR) {
10696
10696
  }
10697
10697
  }
10698
10698
  if (Component.compilerOptions && isRuntimeOnly()) {
10699
- warn(
10699
+ warn$1(
10700
10700
  `"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.`
10701
10701
  );
10702
10702
  }
@@ -10731,7 +10731,7 @@ function setupStatefulComponent(instance, isSSR) {
10731
10731
  instance.asyncDep = setupResult;
10732
10732
  if (!instance.suspense) {
10733
10733
  const name = (_a = Component.name) != null ? _a : "Anonymous";
10734
- warn(
10734
+ warn$1(
10735
10735
  `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.`
10736
10736
  );
10737
10737
  }
@@ -10750,7 +10750,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
10750
10750
  }
10751
10751
  } else if (isObject(setupResult)) {
10752
10752
  if (isVNode(setupResult)) {
10753
- warn(
10753
+ warn$1(
10754
10754
  `setup() should not return VNodes directly - return a render function instead.`
10755
10755
  );
10756
10756
  }
@@ -10762,7 +10762,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
10762
10762
  exposeSetupStateOnRenderContext(instance);
10763
10763
  }
10764
10764
  } else if (setupResult !== void 0) {
10765
- warn(
10765
+ warn$1(
10766
10766
  `setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`
10767
10767
  );
10768
10768
  }
@@ -10835,12 +10835,12 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10835
10835
  }
10836
10836
  if (!Component.render && instance.render === NOOP && !isSSR) {
10837
10837
  if (!compile$1 && Component.template) {
10838
- warn(
10838
+ warn$1(
10839
10839
  `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Use "vue.esm-browser.js" instead.` )
10840
10840
  /* should not happen */
10841
10841
  );
10842
10842
  } else {
10843
- warn(`Component is missing template or render function.`);
10843
+ warn$1(`Component is missing template or render function.`);
10844
10844
  }
10845
10845
  }
10846
10846
  }
@@ -10854,11 +10854,11 @@ function getAttrsProxy(instance) {
10854
10854
  return target[key];
10855
10855
  },
10856
10856
  set() {
10857
- warn(`setupContext.attrs is readonly.`);
10857
+ warn$1(`setupContext.attrs is readonly.`);
10858
10858
  return false;
10859
10859
  },
10860
10860
  deleteProperty() {
10861
- warn(`setupContext.attrs is readonly.`);
10861
+ warn$1(`setupContext.attrs is readonly.`);
10862
10862
  return false;
10863
10863
  }
10864
10864
  }
@@ -10876,7 +10876,7 @@ function createSetupContext(instance) {
10876
10876
  const expose = (exposed) => {
10877
10877
  {
10878
10878
  if (instance.exposed) {
10879
- warn(`expose() should be called only once per setup().`);
10879
+ warn$1(`expose() should be called only once per setup().`);
10880
10880
  }
10881
10881
  if (exposed != null) {
10882
10882
  let exposedType = typeof exposed;
@@ -10888,7 +10888,7 @@ function createSetupContext(instance) {
10888
10888
  }
10889
10889
  }
10890
10890
  if (exposedType !== "object") {
10891
- warn(
10891
+ warn$1(
10892
10892
  `expose() should be passed a plain object, received ${exposedType}.`
10893
10893
  );
10894
10894
  }
@@ -10988,7 +10988,7 @@ const useSSRContext = () => {
10988
10988
  {
10989
10989
  const ctx = inject(ssrContextKey);
10990
10990
  if (!ctx) {
10991
- warn(
10991
+ warn$1(
10992
10992
  `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
10993
10993
  );
10994
10994
  }
@@ -11197,8 +11197,11 @@ function isMemoSame(cached, memo) {
11197
11197
  return true;
11198
11198
  }
11199
11199
 
11200
- const version = "3.4.0-rc.1";
11200
+ const version = "3.4.0-rc.2";
11201
+ const warn = warn$1 ;
11201
11202
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11203
+ const devtools = devtools$1 ;
11204
+ const setDevtoolsHook = setDevtoolsHook$1 ;
11202
11205
  const ssrUtils = null;
11203
11206
  const resolveFilter = resolveFilter$1 ;
11204
11207
  const _compatUtils = {
@@ -12910,7 +12913,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
12910
12913
  defineProps: defineProps,
12911
12914
  defineSSRCustomElement: defineSSRCustomElement,
12912
12915
  defineSlots: defineSlots,
12913
- get devtools () { return devtools; },
12916
+ devtools: devtools,
12914
12917
  effect: effect,
12915
12918
  effectScope: effectScope,
12916
12919
  getCurrentInstance: getCurrentInstance,