@vue/compat 3.4.0-rc.1 → 3.4.0-rc.3

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.
@@ -280,7 +280,7 @@ const stringifySymbol = (v, i = "") => {
280
280
  return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
281
281
  };
282
282
 
283
- function warn$1(msg, ...args) {
283
+ function warn$2(msg, ...args) {
284
284
  console.warn(`[Vue warn] ${msg}`, ...args);
285
285
  }
286
286
 
@@ -320,7 +320,7 @@ class EffectScope {
320
320
  activeEffectScope = currentEffectScope;
321
321
  }
322
322
  } else if (!!(process.env.NODE_ENV !== "production")) {
323
- warn$1(`cannot run an inactive effect scope.`);
323
+ warn$2(`cannot run an inactive effect scope.`);
324
324
  }
325
325
  }
326
326
  /**
@@ -378,7 +378,7 @@ function onScopeDispose(fn) {
378
378
  if (activeEffectScope) {
379
379
  activeEffectScope.cleanups.push(fn);
380
380
  } else if (!!(process.env.NODE_ENV !== "production")) {
381
- warn$1(
381
+ warn$2(
382
382
  `onScopeDispose() is called when there is no active effect scope to be associated with.`
383
383
  );
384
384
  }
@@ -826,7 +826,7 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler {
826
826
  }
827
827
  set(target, key) {
828
828
  if (!!(process.env.NODE_ENV !== "production")) {
829
- warn$1(
829
+ warn$2(
830
830
  `Set operation on key "${String(key)}" failed: target is readonly.`,
831
831
  target
832
832
  );
@@ -835,7 +835,7 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler {
835
835
  }
836
836
  deleteProperty(target, key) {
837
837
  if (!!(process.env.NODE_ENV !== "production")) {
838
- warn$1(
838
+ warn$2(
839
839
  `Delete operation on key "${String(key)}" failed: target is readonly.`,
840
840
  target
841
841
  );
@@ -1493,9 +1493,7 @@ function pushWarningContext(vnode) {
1493
1493
  function popWarningContext() {
1494
1494
  stack.pop();
1495
1495
  }
1496
- function warn(msg, ...args) {
1497
- if (!!!(process.env.NODE_ENV !== "production"))
1498
- return;
1496
+ function warn$1(msg, ...args) {
1499
1497
  pauseTracking();
1500
1498
  const instance = stack.length ? stack[stack.length - 1].component : null;
1501
1499
  const appWarnHandler = instance && instance.appContext.config.warnHandler;
@@ -1598,9 +1596,9 @@ function assertNumber(val, type) {
1598
1596
  if (val === void 0) {
1599
1597
  return;
1600
1598
  } else if (typeof val !== "number") {
1601
- warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);
1599
+ warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);
1602
1600
  } else if (isNaN(val)) {
1603
- warn(`${type} is NaN - the duration expression might be incorrect.`);
1601
+ warn$1(`${type} is NaN - the duration expression might be incorrect.`);
1604
1602
  }
1605
1603
  }
1606
1604
 
@@ -1665,7 +1663,7 @@ const ErrorTypeStrings$1 = {
1665
1663
  [11]: "app warnHandler",
1666
1664
  [12]: "ref function",
1667
1665
  [13]: "async component loader",
1668
- [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core"
1666
+ [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
1669
1667
  };
1670
1668
  function callWithErrorHandling(fn, instance, type, args) {
1671
1669
  let res;
@@ -1728,7 +1726,7 @@ function logError(err, type, contextVNode, throwInDev = true) {
1728
1726
  if (contextVNode) {
1729
1727
  pushWarningContext(contextVNode);
1730
1728
  }
1731
- warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1729
+ warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1732
1730
  if (contextVNode) {
1733
1731
  popWarningContext();
1734
1732
  }
@@ -2028,22 +2026,22 @@ function tryWrap(fn) {
2028
2026
  };
2029
2027
  }
2030
2028
 
2031
- let devtools;
2029
+ let devtools$1;
2032
2030
  let buffer = [];
2033
2031
  let devtoolsNotInstalled = false;
2034
2032
  function emit$2(event, ...args) {
2035
- if (devtools) {
2036
- devtools.emit(event, ...args);
2033
+ if (devtools$1) {
2034
+ devtools$1.emit(event, ...args);
2037
2035
  } else if (!devtoolsNotInstalled) {
2038
2036
  buffer.push({ event, args });
2039
2037
  }
2040
2038
  }
2041
- function setDevtoolsHook(hook, target) {
2039
+ function setDevtoolsHook$1(hook, target) {
2042
2040
  var _a, _b;
2043
- devtools = hook;
2044
- if (devtools) {
2045
- devtools.enabled = true;
2046
- buffer.forEach(({ event, args }) => devtools.emit(event, ...args));
2041
+ devtools$1 = hook;
2042
+ if (devtools$1) {
2043
+ devtools$1.enabled = true;
2044
+ buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));
2047
2045
  buffer = [];
2048
2046
  } else if (
2049
2047
  // handle late devtools injection - only do this if we are in an actual
@@ -2055,10 +2053,10 @@ function setDevtoolsHook(hook, target) {
2055
2053
  ) {
2056
2054
  const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
2057
2055
  replay.push((newHook) => {
2058
- setDevtoolsHook(newHook, target);
2056
+ setDevtoolsHook$1(newHook, target);
2059
2057
  });
2060
2058
  setTimeout(() => {
2061
- if (!devtools) {
2059
+ if (!devtools$1) {
2062
2060
  target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
2063
2061
  devtoolsNotInstalled = true;
2064
2062
  buffer = [];
@@ -2088,8 +2086,8 @@ const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(
2088
2086
  "component:removed" /* COMPONENT_REMOVED */
2089
2087
  );
2090
2088
  const devtoolsComponentRemoved = (component) => {
2091
- if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered
2092
- !devtools.cleanupBuffer(component)) {
2089
+ if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && // remove the component if it wasn't buffered
2090
+ !devtools$1.cleanupBuffer(component)) {
2093
2091
  _devtoolsComponentRemoved(component);
2094
2092
  }
2095
2093
  };
@@ -2391,12 +2389,12 @@ function warnDeprecation(key, instance, ...args) {
2391
2389
  }
2392
2390
  instanceWarned[componentDupKey] = true;
2393
2391
  if (dupKey in warnCount) {
2394
- warn(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2392
+ warn$1(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2395
2393
  return;
2396
2394
  }
2397
2395
  warnCount[dupKey] = 0;
2398
2396
  const { message, link } = deprecationData[key];
2399
- warn(
2397
+ warn$1(
2400
2398
  `(deprecation ${key}) ${typeof message === "function" ? message(...args) : message}${link ? `
2401
2399
  Details: ${link}` : ``}`
2402
2400
  );
@@ -2426,19 +2424,19 @@ function validateCompatConfig(config, instance) {
2426
2424
  if (key !== "MODE" && !(key in deprecationData) && !(key in warnedInvalidKeys)) {
2427
2425
  if (key.startsWith("COMPILER_")) {
2428
2426
  if (isRuntimeOnly()) {
2429
- warn(
2427
+ warn$1(
2430
2428
  `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.
2431
2429
  Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
2432
2430
  );
2433
2431
  }
2434
2432
  } else {
2435
- warn(`Invalid deprecation config "${key}".`);
2433
+ warn$1(`Invalid deprecation config "${key}".`);
2436
2434
  }
2437
2435
  warnedInvalidKeys[key] = true;
2438
2436
  }
2439
2437
  }
2440
2438
  if (instance && config["OPTIONS_DATA_MERGE"] != null) {
2441
- warn(
2439
+ warn$1(
2442
2440
  `Deprecation config "${"OPTIONS_DATA_MERGE"}" can only be configured globally.`
2443
2441
  );
2444
2442
  }
@@ -2628,7 +2626,7 @@ function emit(instance, event, ...rawArgs) {
2628
2626
  if (emitsOptions) {
2629
2627
  if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
2630
2628
  if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
2631
- warn(
2629
+ warn$1(
2632
2630
  `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`
2633
2631
  );
2634
2632
  }
@@ -2637,7 +2635,7 @@ function emit(instance, event, ...rawArgs) {
2637
2635
  if (isFunction(validator)) {
2638
2636
  const isValid = validator(...rawArgs);
2639
2637
  if (!isValid) {
2640
- warn(
2638
+ warn$1(
2641
2639
  `Invalid event arguments: event validation failed for event "${event}".`
2642
2640
  );
2643
2641
  }
@@ -2664,11 +2662,13 @@ function emit(instance, event, ...rawArgs) {
2664
2662
  if (!!(process.env.NODE_ENV !== "production")) {
2665
2663
  const lowerCaseEvent = event.toLowerCase();
2666
2664
  if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
2667
- warn(
2665
+ warn$1(
2668
2666
  `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(
2669
2667
  instance,
2670
2668
  instance.type
2671
- )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(event)}" instead of "${event}".`
2669
+ )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(
2670
+ event
2671
+ )}" instead of "${event}".`
2672
2672
  );
2673
2673
  }
2674
2674
  }
@@ -2845,7 +2845,7 @@ function renderComponentRoot(instance) {
2845
2845
  const proxyToUse = withProxy || proxy;
2846
2846
  const thisProxy = !!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {
2847
2847
  get(target, key, receiver) {
2848
- warn(
2848
+ warn$1(
2849
2849
  `Property '${String(
2850
2850
  key
2851
2851
  )}' was accessed via 'this'. Avoid using 'this' in templates.`
@@ -2926,12 +2926,12 @@ function renderComponentRoot(instance) {
2926
2926
  }
2927
2927
  }
2928
2928
  if (extraAttrs.length) {
2929
- warn(
2929
+ warn$1(
2930
2930
  `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
2931
2931
  );
2932
2932
  }
2933
2933
  if (eventAttrs.length) {
2934
- warn(
2934
+ warn$1(
2935
2935
  `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.`
2936
2936
  );
2937
2937
  }
@@ -2956,7 +2956,7 @@ function renderComponentRoot(instance) {
2956
2956
  }
2957
2957
  if (vnode.dirs) {
2958
2958
  if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) {
2959
- warn(
2959
+ warn$1(
2960
2960
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
2961
2961
  );
2962
2962
  }
@@ -2965,7 +2965,7 @@ function renderComponentRoot(instance) {
2965
2965
  }
2966
2966
  if (vnode.transition) {
2967
2967
  if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) {
2968
- warn(
2968
+ warn$1(
2969
2969
  `Component inside <Transition> renders non-element root node that cannot be animated.`
2970
2970
  );
2971
2971
  }
@@ -3144,7 +3144,6 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
3144
3144
  const selfName = getComponentName(
3145
3145
  Component,
3146
3146
  false
3147
- /* do not include inferred name to avoid breaking existing code */
3148
3147
  );
3149
3148
  if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
3150
3149
  return Component;
@@ -3162,11 +3161,11 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
3162
3161
  if (!!(process.env.NODE_ENV !== "production") && warnMissing && !res) {
3163
3162
  const extra = type === COMPONENTS ? `
3164
3163
  If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
3165
- warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
3164
+ warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
3166
3165
  }
3167
3166
  return res;
3168
3167
  } else if (!!(process.env.NODE_ENV !== "production")) {
3169
- warn(
3168
+ warn$1(
3170
3169
  `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
3171
3170
  );
3172
3171
  }
@@ -3674,6 +3673,7 @@ function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace
3674
3673
  parentSuspense,
3675
3674
  parentComponent,
3676
3675
  node.parentNode,
3676
+ // eslint-disable-next-line no-restricted-globals
3677
3677
  document.createElement("div"),
3678
3678
  null,
3679
3679
  namespace,
@@ -3681,7 +3681,6 @@ function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace
3681
3681
  optimized,
3682
3682
  rendererInternals,
3683
3683
  true
3684
- /* hydrating */
3685
3684
  );
3686
3685
  const result = hydrateNode(
3687
3686
  node,
@@ -3722,7 +3721,7 @@ function normalizeSuspenseSlot(s) {
3722
3721
  if (isArray(s)) {
3723
3722
  const singleChild = filterSingleRoot(s);
3724
3723
  if (!!(process.env.NODE_ENV !== "production") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {
3725
- warn(`<Suspense> slots expect a single root node.`);
3724
+ warn$1(`<Suspense> slots expect a single root node.`);
3726
3725
  }
3727
3726
  s = singleChild;
3728
3727
  }
@@ -3815,13 +3814,20 @@ function watchSyncEffect(effect, options) {
3815
3814
  const INITIAL_WATCHER_VALUE = {};
3816
3815
  function watch(source, cb, options) {
3817
3816
  if (!!(process.env.NODE_ENV !== "production") && !isFunction(cb)) {
3818
- warn(
3817
+ warn$1(
3819
3818
  `\`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.`
3820
3819
  );
3821
3820
  }
3822
3821
  return doWatch(source, cb, options);
3823
3822
  }
3824
- function doWatch(source, cb, { immediate, deep, flush, once, onTrack, onTrigger } = EMPTY_OBJ) {
3823
+ function doWatch(source, cb, {
3824
+ immediate,
3825
+ deep,
3826
+ flush,
3827
+ once,
3828
+ onTrack,
3829
+ onTrigger
3830
+ } = EMPTY_OBJ) {
3825
3831
  var _a;
3826
3832
  if (cb && once) {
3827
3833
  const _cb = cb;
@@ -3832,23 +3838,23 @@ function doWatch(source, cb, { immediate, deep, flush, once, onTrack, onTrigger
3832
3838
  }
3833
3839
  if (!!(process.env.NODE_ENV !== "production") && !cb) {
3834
3840
  if (immediate !== void 0) {
3835
- warn(
3841
+ warn$1(
3836
3842
  `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
3837
3843
  );
3838
3844
  }
3839
3845
  if (deep !== void 0) {
3840
- warn(
3846
+ warn$1(
3841
3847
  `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
3842
3848
  );
3843
3849
  }
3844
3850
  if (once !== void 0) {
3845
- warn(
3851
+ warn$1(
3846
3852
  `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
3847
3853
  );
3848
3854
  }
3849
3855
  }
3850
3856
  const warnInvalidSource = (s) => {
3851
- warn(
3857
+ warn$1(
3852
3858
  `Invalid watch source: `,
3853
3859
  s,
3854
3860
  `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
@@ -4064,13 +4070,13 @@ function traverse(value, seen) {
4064
4070
 
4065
4071
  function validateDirectiveName(name) {
4066
4072
  if (isBuiltInDirective(name)) {
4067
- warn("Do not use built-in directive ids as custom directive id: " + name);
4073
+ warn$1("Do not use built-in directive ids as custom directive id: " + name);
4068
4074
  }
4069
4075
  }
4070
4076
  function withDirectives(vnode, directives) {
4071
4077
  const internalInstance = currentRenderingInstance;
4072
4078
  if (internalInstance === null) {
4073
- !!(process.env.NODE_ENV !== "production") && warn(`withDirectives can only be used inside render functions.`);
4079
+ !!(process.env.NODE_ENV !== "production") && warn$1(`withDirectives can only be used inside render functions.`);
4074
4080
  return vnode;
4075
4081
  }
4076
4082
  const instance = getExposeProxy(internalInstance) || internalInstance.proxy;
@@ -4180,7 +4186,7 @@ const BaseTransitionImpl = {
4180
4186
  for (const c of children) {
4181
4187
  if (c.type !== Comment) {
4182
4188
  if (!!(process.env.NODE_ENV !== "production") && hasFound) {
4183
- warn(
4189
+ warn$1(
4184
4190
  "<transition> can only be used on a single element or component. Use <transition-group> for lists."
4185
4191
  );
4186
4192
  break;
@@ -4195,7 +4201,7 @@ const BaseTransitionImpl = {
4195
4201
  const rawProps = toRaw(props);
4196
4202
  const { mode } = rawProps;
4197
4203
  if (!!(process.env.NODE_ENV !== "production") && mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
4198
- warn(`invalid <transition> mode: ${mode}`);
4204
+ warn$1(`invalid <transition> mode: ${mode}`);
4199
4205
  }
4200
4206
  if (state.isLeaving) {
4201
4207
  return emptyPlaceholder(child);
@@ -4513,7 +4519,7 @@ function defineAsyncComponent(source) {
4513
4519
  return pendingRequest;
4514
4520
  }
4515
4521
  if (!!(process.env.NODE_ENV !== "production") && !comp) {
4516
- warn(
4522
+ warn$1(
4517
4523
  `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`
4518
4524
  );
4519
4525
  }
@@ -4545,7 +4551,6 @@ function defineAsyncComponent(source) {
4545
4551
  instance,
4546
4552
  13,
4547
4553
  !errorComponent
4548
- /* do not throw in dev if user provided error component */
4549
4554
  );
4550
4555
  };
4551
4556
  if (suspensible && instance.suspense || isInSSRComponentSetup) {
@@ -4753,7 +4758,7 @@ const KeepAliveImpl = {
4753
4758
  const rawVNode = children[0];
4754
4759
  if (children.length > 1) {
4755
4760
  if (!!(process.env.NODE_ENV !== "production")) {
4756
- warn(`KeepAlive should contain exactly one component child.`);
4761
+ warn$1(`KeepAlive should contain exactly one component child.`);
4757
4762
  }
4758
4763
  current = null;
4759
4764
  return children;
@@ -4885,7 +4890,7 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
4885
4890
  return wrappedHook;
4886
4891
  } else if (!!(process.env.NODE_ENV !== "production")) {
4887
4892
  const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, ""));
4888
- warn(
4893
+ warn$1(
4889
4894
  `${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.` )
4890
4895
  );
4891
4896
  }
@@ -4947,8 +4952,8 @@ function getCompatListeners(instance) {
4947
4952
  }
4948
4953
 
4949
4954
  function convertLegacyRenderFn(instance) {
4950
- const Component2 = instance.type;
4951
- const render = Component2.render;
4955
+ const Component = instance.type;
4956
+ const render = Component.render;
4952
4957
  if (!render || render._rc || render._compatChecked || render._compatWrapped) {
4953
4958
  return;
4954
4959
  }
@@ -4957,7 +4962,7 @@ function convertLegacyRenderFn(instance) {
4957
4962
  return;
4958
4963
  }
4959
4964
  if (checkCompatEnabled("RENDER_FUNCTION", instance)) {
4960
- const wrapped = Component2.render = function compatRender() {
4965
+ const wrapped = Component.render = function compatRender() {
4961
4966
  return render.call(this, compatH);
4962
4967
  };
4963
4968
  wrapped._compatWrapped = true;
@@ -5116,12 +5121,10 @@ function defineLegacyVNodeProperties(vnode) {
5116
5121
  "RENDER_FUNCTION",
5117
5122
  currentRenderingInstance,
5118
5123
  true
5119
- /* enable for built-ins */
5120
5124
  ) && isCompatEnabled(
5121
5125
  "PRIVATE_APIS",
5122
5126
  currentRenderingInstance,
5123
5127
  true
5124
- /* enable for built-ins */
5125
5128
  )) {
5126
5129
  const context = currentRenderingInstance;
5127
5130
  const getInstance = () => vnode.component && vnode.component.proxy;
@@ -5207,7 +5210,7 @@ function renderList(source, renderItem, cache, index) {
5207
5210
  }
5208
5211
  } else if (typeof source === "number") {
5209
5212
  if (!!(process.env.NODE_ENV !== "production") && !Number.isInteger(source)) {
5210
- warn(`The v-for range expect an integer value but got ${source}.`);
5213
+ warn$1(`The v-for range expect an integer value but got ${source}.`);
5211
5214
  }
5212
5215
  ret = new Array(source);
5213
5216
  for (let i = 0; i < source; i++) {
@@ -5263,7 +5266,7 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
5263
5266
  }
5264
5267
  let slot = slots[name];
5265
5268
  if (!!(process.env.NODE_ENV !== "production") && slot && slot.length > 1) {
5266
- warn(
5269
+ warn$1(
5267
5270
  `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.`
5268
5271
  );
5269
5272
  slot = () => [];
@@ -5306,7 +5309,7 @@ function ensureValidVNode(vnodes) {
5306
5309
  function toHandlers(obj, preserveCaseIfNecessary) {
5307
5310
  const ret = {};
5308
5311
  if (!!(process.env.NODE_ENV !== "production") && !isObject(obj)) {
5309
- warn(`v-on with no argument expects an object value.`);
5312
+ warn$1(`v-on with no argument expects an object value.`);
5310
5313
  return ret;
5311
5314
  }
5312
5315
  for (const key in obj) {
@@ -5451,7 +5454,6 @@ function installCompatInstanceProperties(map) {
5451
5454
  assertCompatEnabled(
5452
5455
  "GLOBAL_MOUNT",
5453
5456
  null
5454
- /* this warning is global */
5455
5457
  );
5456
5458
  return i.ctx._compat_mount || NOOP;
5457
5459
  },
@@ -5635,13 +5637,13 @@ const PublicInstanceProxyHandlers = {
5635
5637
  // to infinite warning loop
5636
5638
  key.indexOf("__v") !== 0)) {
5637
5639
  if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {
5638
- warn(
5640
+ warn$1(
5639
5641
  `Property ${JSON.stringify(
5640
5642
  key
5641
5643
  )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`
5642
5644
  );
5643
5645
  } else if (instance === currentRenderingInstance) {
5644
- warn(
5646
+ warn$1(
5645
5647
  `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`
5646
5648
  );
5647
5649
  }
@@ -5653,17 +5655,17 @@ const PublicInstanceProxyHandlers = {
5653
5655
  setupState[key] = value;
5654
5656
  return true;
5655
5657
  } else if (!!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup && hasOwn(setupState, key)) {
5656
- warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5658
+ warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5657
5659
  return false;
5658
5660
  } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
5659
5661
  data[key] = value;
5660
5662
  return true;
5661
5663
  } else if (hasOwn(instance.props, key)) {
5662
- !!(process.env.NODE_ENV !== "production") && warn(`Attempting to mutate prop "${key}". Props are readonly.`);
5664
+ !!(process.env.NODE_ENV !== "production") && warn$1(`Attempting to mutate prop "${key}". Props are readonly.`);
5663
5665
  return false;
5664
5666
  }
5665
5667
  if (key[0] === "$" && key.slice(1) in instance) {
5666
- !!(process.env.NODE_ENV !== "production") && warn(
5668
+ !!(process.env.NODE_ENV !== "production") && warn$1(
5667
5669
  `Attempting to mutate public property "${key}". Properties starting with $ are reserved and readonly.`
5668
5670
  );
5669
5671
  return false;
@@ -5697,7 +5699,7 @@ const PublicInstanceProxyHandlers = {
5697
5699
  };
5698
5700
  if (!!(process.env.NODE_ENV !== "production") && true) {
5699
5701
  PublicInstanceProxyHandlers.ownKeys = (target) => {
5700
- warn(
5702
+ warn$1(
5701
5703
  `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`
5702
5704
  );
5703
5705
  return Reflect.ownKeys(target);
@@ -5716,7 +5718,7 @@ const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend(
5716
5718
  has(_, key) {
5717
5719
  const has = key[0] !== "_" && !isGloballyAllowed(key);
5718
5720
  if (!!(process.env.NODE_ENV !== "production") && !has && PublicInstanceProxyHandlers.has(_, key)) {
5719
- warn(
5721
+ warn$1(
5720
5722
  `Property ${JSON.stringify(
5721
5723
  key
5722
5724
  )} should not start with _ which is a reserved prefix for Vue internals.`
@@ -5766,7 +5768,7 @@ function exposeSetupStateOnRenderContext(instance) {
5766
5768
  Object.keys(toRaw(setupState)).forEach((key) => {
5767
5769
  if (!setupState.__isScriptSetup) {
5768
5770
  if (isReservedPrefix(key[0])) {
5769
- warn(
5771
+ warn$1(
5770
5772
  `setup() return property ${JSON.stringify(
5771
5773
  key
5772
5774
  )} should not start with "$" or "_" which are reserved prefixes for Vue internals.`
@@ -5797,7 +5799,7 @@ function deepMergeData(to, from) {
5797
5799
  return to;
5798
5800
  }
5799
5801
 
5800
- const warnRuntimeUsage = (method) => warn(
5802
+ const warnRuntimeUsage = (method) => warn$1(
5801
5803
  `${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.`
5802
5804
  );
5803
5805
  function defineProps() {
@@ -5845,17 +5847,17 @@ function useSlots() {
5845
5847
  function useAttrs() {
5846
5848
  return getContext().attrs;
5847
5849
  }
5848
- function useModel(props, name) {
5850
+ function useModel(props, name, options = EMPTY_OBJ) {
5849
5851
  const i = getCurrentInstance();
5850
5852
  if (!!(process.env.NODE_ENV !== "production") && !i) {
5851
- warn(`useModel() called without active instance.`);
5853
+ warn$1(`useModel() called without active instance.`);
5852
5854
  return ref();
5853
5855
  }
5854
5856
  if (!!(process.env.NODE_ENV !== "production") && !i.propsOptions[0][name]) {
5855
- warn(`useModel() called with prop "${name}" which is not declared.`);
5857
+ warn$1(`useModel() called with prop "${name}" which is not declared.`);
5856
5858
  return ref();
5857
5859
  }
5858
- return customRef((track, trigger) => {
5860
+ const res = customRef((track, trigger) => {
5859
5861
  let localValue;
5860
5862
  watchSyncEffect(() => {
5861
5863
  const propValue = props[name];
@@ -5867,7 +5869,7 @@ function useModel(props, name) {
5867
5869
  return {
5868
5870
  get() {
5869
5871
  track();
5870
- return localValue;
5872
+ return options.get ? options.get(localValue) : localValue;
5871
5873
  },
5872
5874
  set(value) {
5873
5875
  const rawProps = i.vnode.props;
@@ -5875,15 +5877,29 @@ function useModel(props, name) {
5875
5877
  localValue = value;
5876
5878
  trigger();
5877
5879
  }
5878
- i.emit(`update:${name}`, value);
5880
+ i.emit(`update:${name}`, options.set ? options.set(value) : value);
5879
5881
  }
5880
5882
  };
5881
5883
  });
5884
+ const modifierKey = name === "modelValue" ? "modelModifiers" : `${name}Modifiers`;
5885
+ res[Symbol.iterator] = () => {
5886
+ let i2 = 0;
5887
+ return {
5888
+ next() {
5889
+ if (i2 < 2) {
5890
+ return { value: i2++ ? props[modifierKey] : res, done: false };
5891
+ } else {
5892
+ return { done: true };
5893
+ }
5894
+ }
5895
+ };
5896
+ };
5897
+ return res;
5882
5898
  }
5883
5899
  function getContext() {
5884
5900
  const i = getCurrentInstance();
5885
5901
  if (!!(process.env.NODE_ENV !== "production") && !i) {
5886
- warn(`useContext() called without active instance.`);
5902
+ warn$1(`useContext() called without active instance.`);
5887
5903
  }
5888
5904
  return i.setupContext || (i.setupContext = createSetupContext(i));
5889
5905
  }
@@ -5908,7 +5924,7 @@ function mergeDefaults(raw, defaults) {
5908
5924
  } else if (opt === null) {
5909
5925
  opt = props[key] = { default: defaults[key] };
5910
5926
  } else if (!!(process.env.NODE_ENV !== "production")) {
5911
- warn(`props default key "${key}" has no corresponding declaration.`);
5927
+ warn$1(`props default key "${key}" has no corresponding declaration.`);
5912
5928
  }
5913
5929
  if (opt && defaults[`__skip_${key}`]) {
5914
5930
  opt.skipFactory = true;
@@ -5938,7 +5954,7 @@ function createPropsRestProxy(props, excludedKeys) {
5938
5954
  function withAsyncContext(getAwaitable) {
5939
5955
  const ctx = getCurrentInstance();
5940
5956
  if (!!(process.env.NODE_ENV !== "production") && !ctx) {
5941
- warn(
5957
+ warn$1(
5942
5958
  `withAsyncContext called without active current instance. This is likely a bug.`
5943
5959
  );
5944
5960
  }
@@ -5957,7 +5973,7 @@ function createDuplicateChecker() {
5957
5973
  const cache = /* @__PURE__ */ Object.create(null);
5958
5974
  return (type, key) => {
5959
5975
  if (cache[key]) {
5960
- warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
5976
+ warn$1(`${type} property "${key}" is already defined in ${cache[key]}.`);
5961
5977
  } else {
5962
5978
  cache[key] = type;
5963
5979
  }
@@ -6035,7 +6051,7 @@ function applyOptions(instance) {
6035
6051
  checkDuplicateProperties("Methods" /* METHODS */, key);
6036
6052
  }
6037
6053
  } else if (!!(process.env.NODE_ENV !== "production")) {
6038
- warn(
6054
+ warn$1(
6039
6055
  `Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
6040
6056
  );
6041
6057
  }
@@ -6043,18 +6059,18 @@ function applyOptions(instance) {
6043
6059
  }
6044
6060
  if (dataOptions) {
6045
6061
  if (!!(process.env.NODE_ENV !== "production") && !isFunction(dataOptions)) {
6046
- warn(
6062
+ warn$1(
6047
6063
  `The data option must be a function. Plain object usage is no longer supported.`
6048
6064
  );
6049
6065
  }
6050
6066
  const data = dataOptions.call(publicThis, publicThis);
6051
6067
  if (!!(process.env.NODE_ENV !== "production") && isPromise(data)) {
6052
- warn(
6068
+ warn$1(
6053
6069
  `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`
6054
6070
  );
6055
6071
  }
6056
6072
  if (!isObject(data)) {
6057
- !!(process.env.NODE_ENV !== "production") && warn(`data() should return an object.`);
6073
+ !!(process.env.NODE_ENV !== "production") && warn$1(`data() should return an object.`);
6058
6074
  } else {
6059
6075
  instance.data = reactive(data);
6060
6076
  if (!!(process.env.NODE_ENV !== "production")) {
@@ -6078,10 +6094,10 @@ function applyOptions(instance) {
6078
6094
  const opt = computedOptions[key];
6079
6095
  const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
6080
6096
  if (!!(process.env.NODE_ENV !== "production") && get === NOOP) {
6081
- warn(`Computed property "${key}" has no getter.`);
6097
+ warn$1(`Computed property "${key}" has no getter.`);
6082
6098
  }
6083
6099
  const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== "production") ? () => {
6084
- warn(
6100
+ warn$1(
6085
6101
  `Write operation failed: computed property "${key}" is readonly.`
6086
6102
  );
6087
6103
  } : NOOP;
@@ -6181,7 +6197,6 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
6181
6197
  opt.from || key,
6182
6198
  opt.default,
6183
6199
  true
6184
- /* treat default function as factory */
6185
6200
  );
6186
6201
  } else {
6187
6202
  injected = inject(opt.from || key);
@@ -6218,7 +6233,7 @@ function createWatcher(raw, ctx, publicThis, key) {
6218
6233
  if (isFunction(handler)) {
6219
6234
  watch(getter, handler);
6220
6235
  } else if (!!(process.env.NODE_ENV !== "production")) {
6221
- warn(`Invalid watch handler specified by key "${raw}"`, handler);
6236
+ warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6222
6237
  }
6223
6238
  } else if (isFunction(raw)) {
6224
6239
  watch(getter, raw.bind(publicThis));
@@ -6230,11 +6245,11 @@ function createWatcher(raw, ctx, publicThis, key) {
6230
6245
  if (isFunction(handler)) {
6231
6246
  watch(getter, handler, raw);
6232
6247
  } else if (!!(process.env.NODE_ENV !== "production")) {
6233
- warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6248
+ warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6234
6249
  }
6235
6250
  }
6236
6251
  } else if (!!(process.env.NODE_ENV !== "production")) {
6237
- warn(`Invalid watch option: "${key}"`, raw);
6252
+ warn$1(`Invalid watch option: "${key}"`, raw);
6238
6253
  }
6239
6254
  }
6240
6255
  function resolveMergedOptions(instance) {
@@ -6286,7 +6301,7 @@ function mergeOptions(to, from, strats, asMixin = false) {
6286
6301
  }
6287
6302
  for (const key in from) {
6288
6303
  if (asMixin && key === "expose") {
6289
- !!(process.env.NODE_ENV !== "production") && warn(
6304
+ !!(process.env.NODE_ENV !== "production") && warn$1(
6290
6305
  `"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`
6291
6306
  );
6292
6307
  } else {
@@ -6454,7 +6469,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6454
6469
  return vm;
6455
6470
  }
6456
6471
  }
6457
- Vue.version = `2.6.14-compat:${"3.4.0-rc.1"}`;
6472
+ Vue.version = `2.6.14-compat:${"3.4.0-rc.3"}`;
6458
6473
  Vue.config = singletonApp.config;
6459
6474
  Vue.use = (p, ...options) => {
6460
6475
  if (p && isFunction(p.install)) {
@@ -6555,7 +6570,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6555
6570
  }
6556
6571
  };
6557
6572
  const util = {
6558
- warn: !!(process.env.NODE_ENV !== "production") ? warn : NOOP,
6573
+ warn: !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP,
6559
6574
  extend,
6560
6575
  mergeOptions: (parent, child, vm) => mergeOptions(
6561
6576
  parent,
@@ -6593,7 +6608,7 @@ function installFilterMethod(app, context) {
6593
6608
  return context.filters[name];
6594
6609
  }
6595
6610
  if (!!(process.env.NODE_ENV !== "production") && context.filters[name]) {
6596
- warn(`Filter "${name}" has already been registered.`);
6611
+ warn$1(`Filter "${name}" has already been registered.`);
6597
6612
  }
6598
6613
  context.filters[name] = filter;
6599
6614
  return app;
@@ -6684,14 +6699,14 @@ function installCompatMount(app, context, render) {
6684
6699
  vnode.isCompatRoot = true;
6685
6700
  instance.ctx._compat_mount = (selectorOrEl) => {
6686
6701
  if (isMounted) {
6687
- !!(process.env.NODE_ENV !== "production") && warn(`Root instance is already mounted.`);
6702
+ !!(process.env.NODE_ENV !== "production") && warn$1(`Root instance is already mounted.`);
6688
6703
  return;
6689
6704
  }
6690
6705
  let container;
6691
6706
  if (typeof selectorOrEl === "string") {
6692
6707
  const result = document.querySelector(selectorOrEl);
6693
6708
  if (!result) {
6694
- !!(process.env.NODE_ENV !== "production") && warn(
6709
+ !!(process.env.NODE_ENV !== "production") && warn$1(
6695
6710
  `Failed to mount root instance: selector "${selectorOrEl}" returned null.`
6696
6711
  );
6697
6712
  return;
@@ -6856,7 +6871,7 @@ function createAppAPI(render, hydrate) {
6856
6871
  rootComponent = extend({}, rootComponent);
6857
6872
  }
6858
6873
  if (rootProps != null && !isObject(rootProps)) {
6859
- !!(process.env.NODE_ENV !== "production") && warn(`root props passed to app.mount() must be an object.`);
6874
+ !!(process.env.NODE_ENV !== "production") && warn$1(`root props passed to app.mount() must be an object.`);
6860
6875
  rootProps = null;
6861
6876
  }
6862
6877
  const context = createAppContext();
@@ -6875,14 +6890,14 @@ function createAppAPI(render, hydrate) {
6875
6890
  },
6876
6891
  set config(v) {
6877
6892
  if (!!(process.env.NODE_ENV !== "production")) {
6878
- warn(
6893
+ warn$1(
6879
6894
  `app.config cannot be replaced. Modify individual options instead.`
6880
6895
  );
6881
6896
  }
6882
6897
  },
6883
6898
  use(plugin, ...options) {
6884
6899
  if (installedPlugins.has(plugin)) {
6885
- !!(process.env.NODE_ENV !== "production") && warn(`Plugin has already been applied to target app.`);
6900
+ !!(process.env.NODE_ENV !== "production") && warn$1(`Plugin has already been applied to target app.`);
6886
6901
  } else if (plugin && isFunction(plugin.install)) {
6887
6902
  installedPlugins.add(plugin);
6888
6903
  plugin.install(app, ...options);
@@ -6890,7 +6905,7 @@ function createAppAPI(render, hydrate) {
6890
6905
  installedPlugins.add(plugin);
6891
6906
  plugin(app, ...options);
6892
6907
  } else if (!!(process.env.NODE_ENV !== "production")) {
6893
- warn(
6908
+ warn$1(
6894
6909
  `A plugin must either be a function or an object with an "install" function.`
6895
6910
  );
6896
6911
  }
@@ -6901,12 +6916,12 @@ function createAppAPI(render, hydrate) {
6901
6916
  if (!context.mixins.includes(mixin)) {
6902
6917
  context.mixins.push(mixin);
6903
6918
  } else if (!!(process.env.NODE_ENV !== "production")) {
6904
- warn(
6919
+ warn$1(
6905
6920
  "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
6906
6921
  );
6907
6922
  }
6908
6923
  } else if (!!(process.env.NODE_ENV !== "production")) {
6909
- warn("Mixins are only available in builds supporting Options API");
6924
+ warn$1("Mixins are only available in builds supporting Options API");
6910
6925
  }
6911
6926
  return app;
6912
6927
  },
@@ -6918,7 +6933,7 @@ function createAppAPI(render, hydrate) {
6918
6933
  return context.components[name];
6919
6934
  }
6920
6935
  if (!!(process.env.NODE_ENV !== "production") && context.components[name]) {
6921
- warn(`Component "${name}" has already been registered in target app.`);
6936
+ warn$1(`Component "${name}" has already been registered in target app.`);
6922
6937
  }
6923
6938
  context.components[name] = component;
6924
6939
  return app;
@@ -6931,7 +6946,7 @@ function createAppAPI(render, hydrate) {
6931
6946
  return context.directives[name];
6932
6947
  }
6933
6948
  if (!!(process.env.NODE_ENV !== "production") && context.directives[name]) {
6934
- warn(`Directive "${name}" has already been registered in target app.`);
6949
+ warn$1(`Directive "${name}" has already been registered in target app.`);
6935
6950
  }
6936
6951
  context.directives[name] = directive;
6937
6952
  return app;
@@ -6939,7 +6954,7 @@ function createAppAPI(render, hydrate) {
6939
6954
  mount(rootContainer, isHydrate, namespace) {
6940
6955
  if (!isMounted) {
6941
6956
  if (!!(process.env.NODE_ENV !== "production") && rootContainer.__vue_app__) {
6942
- warn(
6957
+ warn$1(
6943
6958
  `There is already an app instance mounted on the host container.
6944
6959
  If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
6945
6960
  );
@@ -6974,7 +6989,7 @@ function createAppAPI(render, hydrate) {
6974
6989
  }
6975
6990
  return getExposeProxy(vnode.component) || vnode.component.proxy;
6976
6991
  } else if (!!(process.env.NODE_ENV !== "production")) {
6977
- warn(
6992
+ warn$1(
6978
6993
  `App has already been mounted.
6979
6994
  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)\``
6980
6995
  );
@@ -6989,12 +7004,12 @@ If you want to remount the same app, move your app creation logic into a factory
6989
7004
  }
6990
7005
  delete app._container.__vue_app__;
6991
7006
  } else if (!!(process.env.NODE_ENV !== "production")) {
6992
- warn(`Cannot unmount an app that is not mounted.`);
7007
+ warn$1(`Cannot unmount an app that is not mounted.`);
6993
7008
  }
6994
7009
  },
6995
7010
  provide(key, value) {
6996
7011
  if (!!(process.env.NODE_ENV !== "production") && key in context.provides) {
6997
- warn(
7012
+ warn$1(
6998
7013
  `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
6999
7014
  );
7000
7015
  }
@@ -7021,7 +7036,7 @@ let currentApp = null;
7021
7036
  function provide(key, value) {
7022
7037
  if (!currentInstance) {
7023
7038
  if (!!(process.env.NODE_ENV !== "production")) {
7024
- warn(`provide() can only be used inside setup().`);
7039
+ warn$1(`provide() can only be used inside setup().`);
7025
7040
  }
7026
7041
  } else {
7027
7042
  let provides = currentInstance.provides;
@@ -7041,10 +7056,10 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
7041
7056
  } else if (arguments.length > 1) {
7042
7057
  return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
7043
7058
  } else if (!!(process.env.NODE_ENV !== "production")) {
7044
- warn(`injection "${String(key)}" not found.`);
7059
+ warn$1(`injection "${String(key)}" not found.`);
7045
7060
  }
7046
7061
  } else if (!!(process.env.NODE_ENV !== "production")) {
7047
- warn(`inject() can only be used inside setup() or functional components.`);
7062
+ warn$1(`inject() can only be used inside setup() or functional components.`);
7048
7063
  }
7049
7064
  }
7050
7065
  function hasInjectionContext() {
@@ -7164,7 +7179,6 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
7164
7179
  value,
7165
7180
  instance,
7166
7181
  false
7167
- /* isAbsent */
7168
7182
  );
7169
7183
  }
7170
7184
  } else {
@@ -7203,7 +7217,6 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
7203
7217
  void 0,
7204
7218
  instance,
7205
7219
  true
7206
- /* isAbsent */
7207
7220
  );
7208
7221
  }
7209
7222
  } else {
@@ -7360,7 +7373,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7360
7373
  if (isArray(raw)) {
7361
7374
  for (let i = 0; i < raw.length; i++) {
7362
7375
  if (!!(process.env.NODE_ENV !== "production") && !isString(raw[i])) {
7363
- warn(`props must be strings when using array syntax.`, raw[i]);
7376
+ warn$1(`props must be strings when using array syntax.`, raw[i]);
7364
7377
  }
7365
7378
  const normalizedKey = camelize(raw[i]);
7366
7379
  if (validatePropName(normalizedKey)) {
@@ -7369,7 +7382,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7369
7382
  }
7370
7383
  } else if (raw) {
7371
7384
  if (!!(process.env.NODE_ENV !== "production") && !isObject(raw)) {
7372
- warn(`invalid props options`, raw);
7385
+ warn$1(`invalid props options`, raw);
7373
7386
  }
7374
7387
  for (const key in raw) {
7375
7388
  const normalizedKey = camelize(key);
@@ -7398,7 +7411,7 @@ function validatePropName(key) {
7398
7411
  if (key[0] !== "$") {
7399
7412
  return true;
7400
7413
  } else if (!!(process.env.NODE_ENV !== "production")) {
7401
- warn(`Invalid prop name: "${key}" is a reserved property.`);
7414
+ warn$1(`Invalid prop name: "${key}" is a reserved property.`);
7402
7415
  }
7403
7416
  return false;
7404
7417
  }
@@ -7436,7 +7449,7 @@ function validateProps(rawProps, props, instance) {
7436
7449
  function validateProp(name, value, prop, props, isAbsent) {
7437
7450
  const { type, required, validator, skipCheck } = prop;
7438
7451
  if (required && isAbsent) {
7439
- warn('Missing required prop: "' + name + '"');
7452
+ warn$1('Missing required prop: "' + name + '"');
7440
7453
  return;
7441
7454
  }
7442
7455
  if (value == null && !required) {
@@ -7452,12 +7465,12 @@ function validateProp(name, value, prop, props, isAbsent) {
7452
7465
  isValid = valid;
7453
7466
  }
7454
7467
  if (!isValid) {
7455
- warn(getInvalidTypeMessage(name, value, expectedTypes));
7468
+ warn$1(getInvalidTypeMessage(name, value, expectedTypes));
7456
7469
  return;
7457
7470
  }
7458
7471
  }
7459
7472
  if (validator && !validator(value, props)) {
7460
- warn('Invalid prop: custom validator check failed for prop "' + name + '".');
7473
+ warn$1('Invalid prop: custom validator check failed for prop "' + name + '".');
7461
7474
  }
7462
7475
  }
7463
7476
  const isSimpleType = /* @__PURE__ */ makeMap(
@@ -7529,7 +7542,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
7529
7542
  }
7530
7543
  const normalized = withCtx((...args) => {
7531
7544
  if (!!(process.env.NODE_ENV !== "production") && currentInstance) {
7532
- warn(
7545
+ warn$1(
7533
7546
  `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.`
7534
7547
  );
7535
7548
  }
@@ -7548,7 +7561,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
7548
7561
  slots[key] = normalizeSlot(key, value, ctx);
7549
7562
  } else if (value != null) {
7550
7563
  if (!!(process.env.NODE_ENV !== "production") && !isCompatEnabled("RENDER_FUNCTION", instance)) {
7551
- warn(
7564
+ warn$1(
7552
7565
  `Non-function value encountered for slot "${key}". Prefer function slots for better performance.`
7553
7566
  );
7554
7567
  }
@@ -7559,7 +7572,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
7559
7572
  };
7560
7573
  const normalizeVNodeSlots = (instance, children) => {
7561
7574
  if (!!(process.env.NODE_ENV !== "production") && !isKeepAlive(instance.vnode) && !isCompatEnabled("RENDER_FUNCTION", instance)) {
7562
- warn(
7575
+ warn$1(
7563
7576
  `Non-function value encountered for default slot. Prefer function slots for better performance.`
7564
7577
  );
7565
7578
  }
@@ -7643,7 +7656,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7643
7656
  const value = isUnmount ? null : refValue;
7644
7657
  const { i: owner, r: ref } = rawRef;
7645
7658
  if (!!(process.env.NODE_ENV !== "production") && !owner) {
7646
- warn(
7659
+ warn$1(
7647
7660
  `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`
7648
7661
  );
7649
7662
  return;
@@ -7698,7 +7711,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7698
7711
  if (rawRef.k)
7699
7712
  refs[rawRef.k] = value;
7700
7713
  } else if (!!(process.env.NODE_ENV !== "production")) {
7701
- warn("Invalid template ref type:", ref, `(${typeof ref})`);
7714
+ warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
7702
7715
  }
7703
7716
  };
7704
7717
  if (value) {
@@ -7708,7 +7721,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7708
7721
  doSet();
7709
7722
  }
7710
7723
  } else if (!!(process.env.NODE_ENV !== "production")) {
7711
- warn("Invalid template ref type:", ref, `(${typeof ref})`);
7724
+ warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
7712
7725
  }
7713
7726
  }
7714
7727
  }
@@ -7740,7 +7753,7 @@ function createHydrationFunctions(rendererInternals) {
7740
7753
  } = rendererInternals;
7741
7754
  const hydrate = (vnode, container) => {
7742
7755
  if (!container.hasChildNodes()) {
7743
- (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn(
7756
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
7744
7757
  `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`
7745
7758
  );
7746
7759
  patch(null, vnode, container);
@@ -7800,7 +7813,7 @@ function createHydrationFunctions(rendererInternals) {
7800
7813
  } else {
7801
7814
  if (node.data !== vnode.children) {
7802
7815
  hasMismatch = true;
7803
- (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn(
7816
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
7804
7817
  `Hydration text mismatch in`,
7805
7818
  node.parentNode,
7806
7819
  `
@@ -7935,7 +7948,7 @@ function createHydrationFunctions(rendererInternals) {
7935
7948
  hydrateNode
7936
7949
  );
7937
7950
  } else if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {
7938
- warn("Invalid HostVNode type:", type, `(${typeof type})`);
7951
+ warn$1("Invalid HostVNode type:", type, `(${typeof type})`);
7939
7952
  }
7940
7953
  }
7941
7954
  if (ref != null) {
@@ -7976,7 +7989,7 @@ function createHydrationFunctions(rendererInternals) {
7976
7989
  while (next) {
7977
7990
  hasMismatch = true;
7978
7991
  if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
7979
- warn(
7992
+ warn$1(
7980
7993
  `Hydration children mismatch on`,
7981
7994
  el,
7982
7995
  `
@@ -7991,7 +8004,7 @@ Server rendered element contains more child nodes than client vdom.`
7991
8004
  } else if (shapeFlag & 8) {
7992
8005
  if (el.textContent !== vnode.children) {
7993
8006
  hasMismatch = true;
7994
- (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn(
8007
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
7995
8008
  `Hydration text content mismatch on`,
7996
8009
  el,
7997
8010
  `
@@ -8070,7 +8083,7 @@ Server rendered element contains more child nodes than client vdom.`
8070
8083
  } else {
8071
8084
  hasMismatch = true;
8072
8085
  if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
8073
- warn(
8086
+ warn$1(
8074
8087
  `Hydration children mismatch on`,
8075
8088
  container,
8076
8089
  `
@@ -8117,7 +8130,7 @@ Server rendered element contains fewer child nodes than client vdom.`
8117
8130
  };
8118
8131
  const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
8119
8132
  hasMismatch = true;
8120
- (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn(
8133
+ (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
8121
8134
  `Hydration node mismatch:
8122
8135
  - rendered on server:`,
8123
8136
  node,
@@ -8216,7 +8229,7 @@ function propHasMismatch(el, key, clientValue) {
8216
8229
  }
8217
8230
  if (mismatchType) {
8218
8231
  const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`;
8219
- warn(
8232
+ warn$1(
8220
8233
  `Hydration ${mismatchType} mismatch on`,
8221
8234
  el,
8222
8235
  `
@@ -8322,7 +8335,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8322
8335
  const target = getGlobalThis();
8323
8336
  target.__VUE__ = true;
8324
8337
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
8325
- setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
8338
+ setDevtoolsHook$1(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
8326
8339
  }
8327
8340
  const {
8328
8341
  insert: hostInsert,
@@ -8431,7 +8444,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8431
8444
  internals
8432
8445
  );
8433
8446
  } else if (!!(process.env.NODE_ENV !== "production")) {
8434
- warn("Invalid VNode type:", type, `(${typeof type})`);
8447
+ warn$1("Invalid VNode type:", type, `(${typeof type})`);
8435
8448
  }
8436
8449
  }
8437
8450
  if (ref != null && parentComponent) {
@@ -9436,7 +9449,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9436
9449
  const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
9437
9450
  if (nextChild.key != null) {
9438
9451
  if (!!(process.env.NODE_ENV !== "production") && keyToNewIndexMap.has(nextChild.key)) {
9439
- warn(
9452
+ warn$1(
9440
9453
  `Duplicate keys found during update:`,
9441
9454
  JSON.stringify(nextChild.key),
9442
9455
  `Make sure keys are unique.`
@@ -9874,14 +9887,14 @@ const resolveTarget = (props, select) => {
9874
9887
  const targetSelector = props && props.to;
9875
9888
  if (isString(targetSelector)) {
9876
9889
  if (!select) {
9877
- !!(process.env.NODE_ENV !== "production") && warn(
9890
+ !!(process.env.NODE_ENV !== "production") && warn$1(
9878
9891
  `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`
9879
9892
  );
9880
9893
  return null;
9881
9894
  } else {
9882
9895
  const target = select(targetSelector);
9883
9896
  if (!target) {
9884
- !!(process.env.NODE_ENV !== "production") && warn(
9897
+ !!(process.env.NODE_ENV !== "production") && warn$1(
9885
9898
  `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.`
9886
9899
  );
9887
9900
  }
@@ -9889,7 +9902,7 @@ const resolveTarget = (props, select) => {
9889
9902
  }
9890
9903
  } else {
9891
9904
  if (!!(process.env.NODE_ENV !== "production") && !targetSelector && !isTeleportDisabled(props)) {
9892
- warn(`Invalid Teleport target: ${targetSelector}`);
9905
+ warn$1(`Invalid Teleport target: ${targetSelector}`);
9893
9906
  }
9894
9907
  return targetSelector;
9895
9908
  }
@@ -9925,7 +9938,7 @@ const TeleportImpl = {
9925
9938
  namespace = "mathml";
9926
9939
  }
9927
9940
  } else if (!!(process.env.NODE_ENV !== "production") && !disabled) {
9928
- warn("Invalid Teleport target on mount:", target, `(${typeof target})`);
9941
+ warn$1("Invalid Teleport target on mount:", target, `(${typeof target})`);
9929
9942
  }
9930
9943
  const mount = (container2, anchor2) => {
9931
9944
  if (shapeFlag & 16) {
@@ -10012,7 +10025,7 @@ const TeleportImpl = {
10012
10025
  0
10013
10026
  );
10014
10027
  } else if (!!(process.env.NODE_ENV !== "production")) {
10015
- warn(
10028
+ warn$1(
10016
10029
  "Invalid Teleport target on update:",
10017
10030
  target,
10018
10031
  `(${typeof target})`
@@ -10226,7 +10239,6 @@ function createElementBlock(type, props, children, patchFlag, dynamicProps, shap
10226
10239
  dynamicProps,
10227
10240
  shapeFlag,
10228
10241
  true
10229
- /* isBlock */
10230
10242
  )
10231
10243
  );
10232
10244
  }
@@ -10239,7 +10251,6 @@ function createBlock(type, props, children, patchFlag, dynamicProps) {
10239
10251
  patchFlag,
10240
10252
  dynamicProps,
10241
10253
  true
10242
- /* isBlock: prevent a block from tracking itself */
10243
10254
  )
10244
10255
  );
10245
10256
  }
@@ -10313,7 +10324,7 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
10313
10324
  vnode.shapeFlag |= isString(children) ? 8 : 16;
10314
10325
  }
10315
10326
  if (!!(process.env.NODE_ENV !== "production") && vnode.key !== vnode.key) {
10316
- warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10327
+ warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10317
10328
  }
10318
10329
  if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
10319
10330
  !isBlockNode && // has current parent block
@@ -10336,7 +10347,7 @@ const createVNode = !!(process.env.NODE_ENV !== "production") ? createVNodeWithA
10336
10347
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
10337
10348
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
10338
10349
  if (!!(process.env.NODE_ENV !== "production") && !type) {
10339
- warn(`Invalid vnode type when creating vnode: ${type}.`);
10350
+ warn$1(`Invalid vnode type when creating vnode: ${type}.`);
10340
10351
  }
10341
10352
  type = Comment;
10342
10353
  }
@@ -10382,7 +10393,7 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
10382
10393
  const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;
10383
10394
  if (!!(process.env.NODE_ENV !== "production") && shapeFlag & 4 && isProxy(type)) {
10384
10395
  type = toRaw(type);
10385
- warn(
10396
+ warn$1(
10386
10397
  `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\`.`,
10387
10398
  `
10388
10399
  Component that was made reactive: `,
@@ -10700,7 +10711,7 @@ const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
10700
10711
  function validateComponentName(name, config) {
10701
10712
  const appIsNativeTag = config.isNativeTag || NO;
10702
10713
  if (isBuiltInTag(name) || appIsNativeTag(name)) {
10703
- warn(
10714
+ warn$1(
10704
10715
  "Do not use built-in or reserved HTML elements as component id: " + name
10705
10716
  );
10706
10717
  }
@@ -10739,7 +10750,7 @@ function setupStatefulComponent(instance, isSSR) {
10739
10750
  }
10740
10751
  }
10741
10752
  if (Component.compilerOptions && isRuntimeOnly()) {
10742
- warn(
10753
+ warn$1(
10743
10754
  `"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.`
10744
10755
  );
10745
10756
  }
@@ -10758,7 +10769,10 @@ function setupStatefulComponent(instance, isSSR) {
10758
10769
  setup,
10759
10770
  instance,
10760
10771
  0,
10761
- [!!(process.env.NODE_ENV !== "production") ? shallowReadonly(instance.props) : instance.props, setupContext]
10772
+ [
10773
+ !!(process.env.NODE_ENV !== "production") ? shallowReadonly(instance.props) : instance.props,
10774
+ setupContext
10775
+ ]
10762
10776
  );
10763
10777
  resetTracking();
10764
10778
  unsetCurrentInstance();
@@ -10774,7 +10788,7 @@ function setupStatefulComponent(instance, isSSR) {
10774
10788
  instance.asyncDep = setupResult;
10775
10789
  if (!!(process.env.NODE_ENV !== "production") && !instance.suspense) {
10776
10790
  const name = (_a = Component.name) != null ? _a : "Anonymous";
10777
- warn(
10791
+ warn$1(
10778
10792
  `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.`
10779
10793
  );
10780
10794
  }
@@ -10795,7 +10809,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
10795
10809
  }
10796
10810
  } else if (isObject(setupResult)) {
10797
10811
  if (!!(process.env.NODE_ENV !== "production") && isVNode(setupResult)) {
10798
- warn(
10812
+ warn$1(
10799
10813
  `setup() should not return VNodes directly - return a render function instead.`
10800
10814
  );
10801
10815
  }
@@ -10807,7 +10821,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
10807
10821
  exposeSetupStateOnRenderContext(instance);
10808
10822
  }
10809
10823
  } else if (!!(process.env.NODE_ENV !== "production") && setupResult !== void 0) {
10810
- warn(
10824
+ warn$1(
10811
10825
  `setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`
10812
10826
  );
10813
10827
  }
@@ -10880,12 +10894,11 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10880
10894
  }
10881
10895
  if (!!(process.env.NODE_ENV !== "production") && !Component.render && instance.render === NOOP && !isSSR) {
10882
10896
  if (!compile && Component.template) {
10883
- warn(
10897
+ warn$1(
10884
10898
  `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".` )
10885
- /* should not happen */
10886
10899
  );
10887
10900
  } else {
10888
- warn(`Component is missing template or render function.`);
10901
+ warn$1(`Component is missing template or render function.`);
10889
10902
  }
10890
10903
  }
10891
10904
  }
@@ -10899,11 +10912,11 @@ function getAttrsProxy(instance) {
10899
10912
  return target[key];
10900
10913
  },
10901
10914
  set() {
10902
- warn(`setupContext.attrs is readonly.`);
10915
+ warn$1(`setupContext.attrs is readonly.`);
10903
10916
  return false;
10904
10917
  },
10905
10918
  deleteProperty() {
10906
- warn(`setupContext.attrs is readonly.`);
10919
+ warn$1(`setupContext.attrs is readonly.`);
10907
10920
  return false;
10908
10921
  }
10909
10922
  } : {
@@ -10926,7 +10939,7 @@ function createSetupContext(instance) {
10926
10939
  const expose = (exposed) => {
10927
10940
  if (!!(process.env.NODE_ENV !== "production")) {
10928
10941
  if (instance.exposed) {
10929
- warn(`expose() should be called only once per setup().`);
10942
+ warn$1(`expose() should be called only once per setup().`);
10930
10943
  }
10931
10944
  if (exposed != null) {
10932
10945
  let exposedType = typeof exposed;
@@ -10938,7 +10951,7 @@ function createSetupContext(instance) {
10938
10951
  }
10939
10952
  }
10940
10953
  if (exposedType !== "object") {
10941
- warn(
10954
+ warn$1(
10942
10955
  `expose() should be passed a plain object, received ${exposedType}.`
10943
10956
  );
10944
10957
  }
@@ -11047,7 +11060,7 @@ const useSSRContext = () => {
11047
11060
  {
11048
11061
  const ctx = inject(ssrContextKey);
11049
11062
  if (!ctx) {
11050
- !!(process.env.NODE_ENV !== "production") && warn(
11063
+ !!(process.env.NODE_ENV !== "production") && warn$1(
11051
11064
  `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
11052
11065
  );
11053
11066
  }
@@ -11256,8 +11269,11 @@ function isMemoSame(cached, memo) {
11256
11269
  return true;
11257
11270
  }
11258
11271
 
11259
- const version = "3.4.0-rc.1";
11272
+ const version = "3.4.0-rc.3";
11273
+ const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11260
11274
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11275
+ const devtools = !!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__ ? devtools$1 : void 0;
11276
+ const setDevtoolsHook = !!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__ ? setDevtoolsHook$1 : NOOP;
11261
11277
  const _ssrUtils = {
11262
11278
  createComponentInstance,
11263
11279
  setupComponent,
@@ -13025,7 +13041,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
13025
13041
  defineProps: defineProps,
13026
13042
  defineSSRCustomElement: defineSSRCustomElement,
13027
13043
  defineSlots: defineSlots,
13028
- get devtools () { return devtools; },
13044
+ devtools: devtools,
13029
13045
  effect: effect,
13030
13046
  effectScope: effectScope,
13031
13047
  getCurrentInstance: getCurrentInstance,
@@ -13165,7 +13181,6 @@ Vue.compile = () => {
13165
13181
  if (!!(process.env.NODE_ENV !== "production")) {
13166
13182
  warn(
13167
13183
  `Runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias "vue" to "@vue/compat/dist/vue.esm-bundler.js".` )
13168
- /* should not happen */
13169
13184
  );
13170
13185
  }
13171
13186
  };