@vue/compat 3.2.45 → 3.2.46

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.
@@ -96,7 +96,7 @@ function normalizeProps(props) {
96
96
  // These tag configs are shared between compiler-dom and runtime-dom, so they
97
97
  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element
98
98
  const HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' +
99
- 'header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +
99
+ 'header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +
100
100
  'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' +
101
101
  'data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,' +
102
102
  'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' +
@@ -108,7 +108,7 @@ const HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,asi
108
108
  const SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' +
109
109
  'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' +
110
110
  'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' +
111
- 'feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +
111
+ 'feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +
112
112
  'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' +
113
113
  'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' +
114
114
  'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' +
@@ -259,12 +259,13 @@ const remove = (arr, el) => {
259
259
  arr.splice(i, 1);
260
260
  }
261
261
  };
262
- const hasOwnProperty = Object.prototype.hasOwnProperty;
263
- const hasOwn = (val, key) => hasOwnProperty.call(val, key);
262
+ const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
263
+ const hasOwn = (val, key) => hasOwnProperty$1.call(val, key);
264
264
  const isArray = Array.isArray;
265
265
  const isMap = (val) => toTypeString(val) === '[object Map]';
266
266
  const isSet = (val) => toTypeString(val) === '[object Set]';
267
267
  const isDate = (val) => toTypeString(val) === '[object Date]';
268
+ const isRegExp = (val) => toTypeString(val) === '[object RegExp]';
268
269
  const isFunction = (val) => typeof val === 'function';
269
270
  const isString = (val) => typeof val === 'string';
270
271
  const isSymbol = (val) => typeof val === 'symbol';
@@ -331,10 +332,22 @@ const def = (obj, key, value) => {
331
332
  value
332
333
  });
333
334
  };
334
- const toNumber = (val) => {
335
+ /**
336
+ * "123-foo" will be parsed to 123
337
+ * This is used for the .number modifier in v-model
338
+ */
339
+ const looseToNumber = (val) => {
335
340
  const n = parseFloat(val);
336
341
  return isNaN(n) ? val : n;
337
342
  };
343
+ /**
344
+ * Only conerces number-like strings
345
+ * "123-foo" will be returned as-is
346
+ */
347
+ const toNumber = (val) => {
348
+ const n = isString(val) ? Number(val) : NaN;
349
+ return isNaN(n) ? val : n;
350
+ };
338
351
  let _globalThis;
339
352
  const getGlobalThis = () => {
340
353
  return (_globalThis ||
@@ -350,7 +363,7 @@ const getGlobalThis = () => {
350
363
  : {}));
351
364
  };
352
365
 
353
- function warn(msg, ...args) {
366
+ function warn$1(msg, ...args) {
354
367
  console.warn(`[Vue warn] ${msg}`, ...args);
355
368
  }
356
369
 
@@ -361,7 +374,7 @@ class EffectScope {
361
374
  /**
362
375
  * @internal
363
376
  */
364
- this.active = true;
377
+ this._active = true;
365
378
  /**
366
379
  * @internal
367
380
  */
@@ -376,8 +389,11 @@ class EffectScope {
376
389
  (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
377
390
  }
378
391
  }
392
+ get active() {
393
+ return this._active;
394
+ }
379
395
  run(fn) {
380
- if (this.active) {
396
+ if (this._active) {
381
397
  const currentEffectScope = activeEffectScope;
382
398
  try {
383
399
  activeEffectScope = this;
@@ -388,7 +404,7 @@ class EffectScope {
388
404
  }
389
405
  }
390
406
  else {
391
- warn(`cannot run an inactive effect scope.`);
407
+ warn$1(`cannot run an inactive effect scope.`);
392
408
  }
393
409
  }
394
410
  /**
@@ -406,7 +422,7 @@ class EffectScope {
406
422
  activeEffectScope = this.parent;
407
423
  }
408
424
  stop(fromParent) {
409
- if (this.active) {
425
+ if (this._active) {
410
426
  let i, l;
411
427
  for (i = 0, l = this.effects.length; i < l; i++) {
412
428
  this.effects[i].stop();
@@ -429,7 +445,7 @@ class EffectScope {
429
445
  }
430
446
  }
431
447
  this.parent = undefined;
432
- this.active = false;
448
+ this._active = false;
433
449
  }
434
450
  }
435
451
  }
@@ -449,7 +465,7 @@ function onScopeDispose(fn) {
449
465
  activeEffectScope.cleanups.push(fn);
450
466
  }
451
467
  else {
452
- warn(`onScopeDispose() is called when there is no active effect scope` +
468
+ warn$1(`onScopeDispose() is called when there is no active effect scope` +
453
469
  ` to be associated with.`);
454
470
  }
455
471
  }
@@ -650,7 +666,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
650
666
  deps = [...depsMap.values()];
651
667
  }
652
668
  else if (key === 'length' && isArray(target)) {
653
- const newLength = toNumber(newValue);
669
+ const newLength = Number(newValue);
654
670
  depsMap.forEach((dep, key) => {
655
671
  if (key === 'length' || key >= newLength) {
656
672
  deps.push(dep);
@@ -739,6 +755,10 @@ function triggerEffect(effect, debuggerEventExtraInfo) {
739
755
  }
740
756
  }
741
757
  }
758
+ function getDepFromReactive(object, key) {
759
+ var _a;
760
+ return (_a = targetMap.get(object)) === null || _a === void 0 ? void 0 : _a.get(key);
761
+ }
742
762
 
743
763
  const isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
744
764
  const builtInSymbols = new Set(
@@ -750,7 +770,7 @@ Object.getOwnPropertyNames(Symbol)
750
770
  .filter(key => key !== 'arguments' && key !== 'caller')
751
771
  .map(key => Symbol[key])
752
772
  .filter(isSymbol));
753
- const get = /*#__PURE__*/ createGetter();
773
+ const get$1 = /*#__PURE__*/ createGetter();
754
774
  const shallowGet = /*#__PURE__*/ createGetter(false, true);
755
775
  const readonlyGet = /*#__PURE__*/ createGetter(true);
756
776
  const shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);
@@ -784,6 +804,11 @@ function createArrayInstrumentations() {
784
804
  });
785
805
  return instrumentations;
786
806
  }
807
+ function hasOwnProperty(key) {
808
+ const obj = toRaw(this);
809
+ track(obj, "has" /* TrackOpTypes.HAS */, key);
810
+ return obj.hasOwnProperty(key);
811
+ }
787
812
  function createGetter(isReadonly = false, shallow = false) {
788
813
  return function get(target, key, receiver) {
789
814
  if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
@@ -807,8 +832,13 @@ function createGetter(isReadonly = false, shallow = false) {
807
832
  return target;
808
833
  }
809
834
  const targetIsArray = isArray(target);
810
- if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {
811
- return Reflect.get(arrayInstrumentations, key, receiver);
835
+ if (!isReadonly) {
836
+ if (targetIsArray && hasOwn(arrayInstrumentations, key)) {
837
+ return Reflect.get(arrayInstrumentations, key, receiver);
838
+ }
839
+ if (key === 'hasOwnProperty') {
840
+ return hasOwnProperty;
841
+ }
812
842
  }
813
843
  const res = Reflect.get(target, key, receiver);
814
844
  if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
@@ -833,7 +863,7 @@ function createGetter(isReadonly = false, shallow = false) {
833
863
  return res;
834
864
  };
835
865
  }
836
- const set = /*#__PURE__*/ createSetter();
866
+ const set$1 = /*#__PURE__*/ createSetter();
837
867
  const shallowSet = /*#__PURE__*/ createSetter(true);
838
868
  function createSetter(shallow = false) {
839
869
  return function set(target, key, value, receiver) {
@@ -876,7 +906,7 @@ function deleteProperty(target, key) {
876
906
  }
877
907
  return result;
878
908
  }
879
- function has(target, key) {
909
+ function has$1(target, key) {
880
910
  const result = Reflect.has(target, key);
881
911
  if (!isSymbol(key) || !builtInSymbols.has(key)) {
882
912
  track(target, "has" /* TrackOpTypes.HAS */, key);
@@ -888,23 +918,23 @@ function ownKeys(target) {
888
918
  return Reflect.ownKeys(target);
889
919
  }
890
920
  const mutableHandlers = {
891
- get,
892
- set,
921
+ get: get$1,
922
+ set: set$1,
893
923
  deleteProperty,
894
- has,
924
+ has: has$1,
895
925
  ownKeys
896
926
  };
897
927
  const readonlyHandlers = {
898
928
  get: readonlyGet,
899
929
  set(target, key) {
900
930
  {
901
- warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
931
+ warn$1(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
902
932
  }
903
933
  return true;
904
934
  },
905
935
  deleteProperty(target, key) {
906
936
  {
907
- warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
937
+ warn$1(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
908
938
  }
909
939
  return true;
910
940
  }
@@ -922,7 +952,7 @@ const shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {
922
952
 
923
953
  const toShallow = (value) => value;
924
954
  const getProto = (v) => Reflect.getPrototypeOf(v);
925
- function get$1(target, key, isReadonly = false, isShallow = false) {
955
+ function get(target, key, isReadonly = false, isShallow = false) {
926
956
  // #1772: readonly(reactive(Map)) should return readonly + reactive version
927
957
  // of the value
928
958
  target = target["__v_raw" /* ReactiveFlags.RAW */];
@@ -948,7 +978,7 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
948
978
  target.get(key);
949
979
  }
950
980
  }
951
- function has$1(key, isReadonly = false) {
981
+ function has(key, isReadonly = false) {
952
982
  const target = this["__v_raw" /* ReactiveFlags.RAW */];
953
983
  const rawTarget = toRaw(target);
954
984
  const rawKey = toRaw(key);
@@ -978,7 +1008,7 @@ function add(value) {
978
1008
  }
979
1009
  return this;
980
1010
  }
981
- function set$1(key, value) {
1011
+ function set(key, value) {
982
1012
  value = toRaw(value);
983
1013
  const target = toRaw(this);
984
1014
  const { has, get } = getProto(target);
@@ -1091,41 +1121,41 @@ function createReadonlyMethod(type) {
1091
1121
  function createInstrumentations() {
1092
1122
  const mutableInstrumentations = {
1093
1123
  get(key) {
1094
- return get$1(this, key);
1124
+ return get(this, key);
1095
1125
  },
1096
1126
  get size() {
1097
1127
  return size(this);
1098
1128
  },
1099
- has: has$1,
1129
+ has,
1100
1130
  add,
1101
- set: set$1,
1131
+ set,
1102
1132
  delete: deleteEntry,
1103
1133
  clear,
1104
1134
  forEach: createForEach(false, false)
1105
1135
  };
1106
1136
  const shallowInstrumentations = {
1107
1137
  get(key) {
1108
- return get$1(this, key, false, true);
1138
+ return get(this, key, false, true);
1109
1139
  },
1110
1140
  get size() {
1111
1141
  return size(this);
1112
1142
  },
1113
- has: has$1,
1143
+ has,
1114
1144
  add,
1115
- set: set$1,
1145
+ set,
1116
1146
  delete: deleteEntry,
1117
1147
  clear,
1118
1148
  forEach: createForEach(false, true)
1119
1149
  };
1120
1150
  const readonlyInstrumentations = {
1121
1151
  get(key) {
1122
- return get$1(this, key, true);
1152
+ return get(this, key, true);
1123
1153
  },
1124
1154
  get size() {
1125
1155
  return size(this, true);
1126
1156
  },
1127
1157
  has(key) {
1128
- return has$1.call(this, key, true);
1158
+ return has.call(this, key, true);
1129
1159
  },
1130
1160
  add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
1131
1161
  set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
@@ -1135,13 +1165,13 @@ function createInstrumentations() {
1135
1165
  };
1136
1166
  const shallowReadonlyInstrumentations = {
1137
1167
  get(key) {
1138
- return get$1(this, key, true, true);
1168
+ return get(this, key, true, true);
1139
1169
  },
1140
1170
  get size() {
1141
1171
  return size(this, true);
1142
1172
  },
1143
1173
  has(key) {
1144
- return has$1.call(this, key, true);
1174
+ return has.call(this, key, true);
1145
1175
  },
1146
1176
  add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
1147
1177
  set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
@@ -1332,9 +1362,10 @@ function trackRefValue(ref) {
1332
1362
  }
1333
1363
  function triggerRefValue(ref, newVal) {
1334
1364
  ref = toRaw(ref);
1335
- if (ref.dep) {
1365
+ const dep = ref.dep;
1366
+ if (dep) {
1336
1367
  {
1337
- triggerEffects(ref.dep, {
1368
+ triggerEffects(dep, {
1338
1369
  target: ref,
1339
1370
  type: "set" /* TriggerOpTypes.SET */,
1340
1371
  key: 'value',
@@ -1446,6 +1477,9 @@ class ObjectRefImpl {
1446
1477
  set value(newVal) {
1447
1478
  this._object[this._key] = newVal;
1448
1479
  }
1480
+ get dep() {
1481
+ return getDepFromReactive(toRaw(this._object), this._key);
1482
+ }
1449
1483
  }
1450
1484
  function toRef(object, key, defaultValue) {
1451
1485
  const val = object[key];
@@ -1487,7 +1521,7 @@ class ComputedRefImpl {
1487
1521
  }
1488
1522
  }
1489
1523
  _a = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
1490
- function computed(getterOrOptions, debugOptions, isSSR = false) {
1524
+ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1491
1525
  let getter;
1492
1526
  let setter;
1493
1527
  const onlyGetter = isFunction(getterOrOptions);
@@ -1517,7 +1551,7 @@ function pushWarningContext(vnode) {
1517
1551
  function popWarningContext() {
1518
1552
  stack.pop();
1519
1553
  }
1520
- function warn$1(msg, ...args) {
1554
+ function warn(msg, ...args) {
1521
1555
  // avoid props formatting or warn handler tracking deps that might be mutated
1522
1556
  // during patch, leading to infinite recursion.
1523
1557
  pauseTracking();
@@ -1623,6 +1657,20 @@ function formatProp(key, value, raw) {
1623
1657
  return raw ? value : [`${key}=`, value];
1624
1658
  }
1625
1659
  }
1660
+ /**
1661
+ * @internal
1662
+ */
1663
+ function assertNumber(val, type) {
1664
+ if (val === undefined) {
1665
+ return;
1666
+ }
1667
+ else if (typeof val !== 'number') {
1668
+ warn(`${type} is not a valid number - ` + `got ${JSON.stringify(val)}.`);
1669
+ }
1670
+ else if (isNaN(val)) {
1671
+ warn(`${type} is NaN - ` + 'the duration expression might be incorrect.');
1672
+ }
1673
+ }
1626
1674
 
1627
1675
  const ErrorTypeStrings = {
1628
1676
  ["sp" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',
@@ -1716,7 +1764,7 @@ function logError(err, type, contextVNode, throwInDev = true) {
1716
1764
  if (contextVNode) {
1717
1765
  pushWarningContext(contextVNode);
1718
1766
  }
1719
- warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1767
+ warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1720
1768
  if (contextVNode) {
1721
1769
  popWarningContext();
1722
1770
  }
@@ -1912,7 +1960,7 @@ function checkRecursiveUpdates(seen, fn) {
1912
1960
  if (count > RECURSION_LIMIT) {
1913
1961
  const instance = fn.ownerInstance;
1914
1962
  const componentName = instance && getComponentName(instance.type);
1915
- warn$1(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +
1963
+ warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +
1916
1964
  `This means you have a reactive effect that is mutating its own ` +
1917
1965
  `dependencies and thus recursively triggering itself. Possible sources ` +
1918
1966
  `include component template, render function, updated hook or ` +
@@ -2063,7 +2111,7 @@ function tryWrap(fn) {
2063
2111
  let devtools;
2064
2112
  let buffer = [];
2065
2113
  let devtoolsNotInstalled = false;
2066
- function emit(event, ...args) {
2114
+ function emit$2(event, ...args) {
2067
2115
  if (devtools) {
2068
2116
  devtools.emit(event, ...args);
2069
2117
  }
@@ -2110,7 +2158,7 @@ function setDevtoolsHook(hook, target) {
2110
2158
  }
2111
2159
  }
2112
2160
  function devtoolsInitApp(app, version) {
2113
- emit("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
2161
+ emit$2("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
2114
2162
  Fragment,
2115
2163
  Text,
2116
2164
  Comment,
@@ -2118,7 +2166,7 @@ function devtoolsInitApp(app, version) {
2118
2166
  });
2119
2167
  }
2120
2168
  function devtoolsUnmountApp(app) {
2121
- emit("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
2169
+ emit$2("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
2122
2170
  }
2123
2171
  const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* DevtoolsHooks.COMPONENT_ADDED */);
2124
2172
  const devtoolsComponentUpdated =
@@ -2134,18 +2182,18 @@ const devtoolsComponentRemoved = (component) => {
2134
2182
  };
2135
2183
  function createDevtoolsComponentHook(hook) {
2136
2184
  return (component) => {
2137
- emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
2185
+ emit$2(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
2138
2186
  };
2139
2187
  }
2140
2188
  const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* DevtoolsHooks.PERFORMANCE_START */);
2141
2189
  const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* DevtoolsHooks.PERFORMANCE_END */);
2142
2190
  function createDevtoolsPerformanceHook(hook) {
2143
2191
  return (component, type, time) => {
2144
- emit(hook, component.appContext.app, component.uid, component, type, time);
2192
+ emit$2(hook, component.appContext.app, component.uid, component, type, time);
2145
2193
  };
2146
2194
  }
2147
2195
  function devtoolsComponentEmit(component, event, params) {
2148
- emit("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
2196
+ emit$2("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
2149
2197
  }
2150
2198
 
2151
2199
  const deprecationData = {
@@ -2433,12 +2481,12 @@ function warnDeprecation(key, instance, ...args) {
2433
2481
  // same warning, but different component. skip the long message and just
2434
2482
  // log the key and count.
2435
2483
  if (dupKey in warnCount) {
2436
- warn$1(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2484
+ warn(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2437
2485
  return;
2438
2486
  }
2439
2487
  warnCount[dupKey] = 0;
2440
2488
  const { message, link } = deprecationData[key];
2441
- warn$1(`(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`);
2489
+ warn(`(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`);
2442
2490
  if (!isCompatEnabled(key, instance, true)) {
2443
2491
  console.error(`^ The above deprecation's compat behavior is disabled and will likely ` +
2444
2492
  `lead to runtime errors.`);
@@ -2447,7 +2495,7 @@ function warnDeprecation(key, instance, ...args) {
2447
2495
  const globalCompatConfig = {
2448
2496
  MODE: 2
2449
2497
  };
2450
- function configureCompat(config) {
2498
+ function configureCompat$1(config) {
2451
2499
  {
2452
2500
  validateCompatConfig(config);
2453
2501
  }
@@ -2467,20 +2515,20 @@ function validateCompatConfig(config, instance) {
2467
2515
  !(key in warnedInvalidKeys)) {
2468
2516
  if (key.startsWith('COMPILER_')) {
2469
2517
  if (isRuntimeOnly()) {
2470
- warn$1(`Deprecation config "${key}" is compiler-specific and you are ` +
2518
+ warn(`Deprecation config "${key}" is compiler-specific and you are ` +
2471
2519
  `running a runtime-only build of Vue. This deprecation should be ` +
2472
2520
  `configured via compiler options in your build setup instead.\n` +
2473
2521
  `Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`);
2474
2522
  }
2475
2523
  }
2476
2524
  else {
2477
- warn$1(`Invalid deprecation config "${key}".`);
2525
+ warn(`Invalid deprecation config "${key}".`);
2478
2526
  }
2479
2527
  warnedInvalidKeys[key] = true;
2480
2528
  }
2481
2529
  }
2482
2530
  if (instance && config["OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */] != null) {
2483
- warn$1(`Deprecation config "${"OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */}" can only be configured globally.`);
2531
+ warn(`Deprecation config "${"OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */}" can only be configured globally.`);
2484
2532
  }
2485
2533
  }
2486
2534
  function getCompatConfigForKey(key, instance) {
@@ -2666,7 +2714,7 @@ function compatModelEmit(instance, event, args) {
2666
2714
  }
2667
2715
  }
2668
2716
 
2669
- function emit$2(instance, event, ...rawArgs) {
2717
+ function emit(instance, event, ...rawArgs) {
2670
2718
  if (instance.isUnmounted)
2671
2719
  return;
2672
2720
  const props = instance.vnode.props || EMPTY_OBJ;
@@ -2677,7 +2725,7 @@ function emit$2(instance, event, ...rawArgs) {
2677
2725
  !((event.startsWith('hook:') ||
2678
2726
  event.startsWith(compatModelEventPrefix)))) {
2679
2727
  if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
2680
- warn$1(`Component emitted event "${event}" but it is neither declared in ` +
2728
+ warn(`Component emitted event "${event}" but it is neither declared in ` +
2681
2729
  `the emits option nor as an "${toHandlerKey(event)}" prop.`);
2682
2730
  }
2683
2731
  }
@@ -2686,7 +2734,7 @@ function emit$2(instance, event, ...rawArgs) {
2686
2734
  if (isFunction(validator)) {
2687
2735
  const isValid = validator(...rawArgs);
2688
2736
  if (!isValid) {
2689
- warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
2737
+ warn(`Invalid event arguments: event validation failed for event "${event}".`);
2690
2738
  }
2691
2739
  }
2692
2740
  }
@@ -2703,7 +2751,7 @@ function emit$2(instance, event, ...rawArgs) {
2703
2751
  args = rawArgs.map(a => (isString(a) ? a.trim() : a));
2704
2752
  }
2705
2753
  if (number) {
2706
- args = rawArgs.map(toNumber);
2754
+ args = rawArgs.map(looseToNumber);
2707
2755
  }
2708
2756
  }
2709
2757
  {
@@ -2712,7 +2760,7 @@ function emit$2(instance, event, ...rawArgs) {
2712
2760
  {
2713
2761
  const lowerCaseEvent = event.toLowerCase();
2714
2762
  if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
2715
- warn$1(`Event "${lowerCaseEvent}" is emitted in component ` +
2763
+ warn(`Event "${lowerCaseEvent}" is emitted in component ` +
2716
2764
  `${formatComponentName(instance, instance.type)} but the handler is registered for "${event}". ` +
2717
2765
  `Note that HTML attributes are case-insensitive and you cannot use ` +
2718
2766
  `v-on to listen to camelCase events when using in-DOM templates. ` +
@@ -3002,13 +3050,13 @@ function renderComponentRoot(instance) {
3002
3050
  }
3003
3051
  }
3004
3052
  if (extraAttrs.length) {
3005
- warn$1(`Extraneous non-props attributes (` +
3053
+ warn(`Extraneous non-props attributes (` +
3006
3054
  `${extraAttrs.join(', ')}) ` +
3007
3055
  `were passed to component but could not be automatically inherited ` +
3008
3056
  `because component renders fragment or text root nodes.`);
3009
3057
  }
3010
3058
  if (eventAttrs.length) {
3011
- warn$1(`Extraneous non-emits event listeners (` +
3059
+ warn(`Extraneous non-emits event listeners (` +
3012
3060
  `${eventAttrs.join(', ')}) ` +
3013
3061
  `were passed to component but could not be automatically inherited ` +
3014
3062
  `because component renders fragment or text root nodes. ` +
@@ -3035,7 +3083,7 @@ function renderComponentRoot(instance) {
3035
3083
  // inherit directives
3036
3084
  if (vnode.dirs) {
3037
3085
  if (!isElementRoot(root)) {
3038
- warn$1(`Runtime directive used on component with non-element root node. ` +
3086
+ warn(`Runtime directive used on component with non-element root node. ` +
3039
3087
  `The directives will not function as intended.`);
3040
3088
  }
3041
3089
  // clone before mutating since the root may be a hoisted vnode
@@ -3045,7 +3093,7 @@ function renderComponentRoot(instance) {
3045
3093
  // inherit transition data
3046
3094
  if (vnode.transition) {
3047
3095
  if (!isElementRoot(root)) {
3048
- warn$1(`Component inside <Transition> renders non-element root node ` +
3096
+ warn(`Component inside <Transition> renders non-element root node ` +
3049
3097
  `that cannot be animated.`);
3050
3098
  }
3051
3099
  root.transition = vnode.transition;
@@ -3380,7 +3428,10 @@ function createSuspenseBoundary(vnode, parent, parentComponent, container, hidde
3380
3428
  console[console.info ? 'info' : 'log'](`<Suspense> is an experimental feature and its API will likely change.`);
3381
3429
  }
3382
3430
  const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;
3383
- const timeout = toNumber(vnode.props && vnode.props.timeout);
3431
+ const timeout = vnode.props ? toNumber(vnode.props.timeout) : undefined;
3432
+ {
3433
+ assertNumber(timeout, `Suspense timeout`);
3434
+ }
3384
3435
  const suspense = {
3385
3436
  vnode,
3386
3437
  parent,
@@ -3608,7 +3659,7 @@ function normalizeSuspenseSlot(s) {
3608
3659
  if (isArray(s)) {
3609
3660
  const singleChild = filterSingleRoot(s);
3610
3661
  if (!singleChild) {
3611
- warn$1(`<Suspense> slots expect a single root node.`);
3662
+ warn(`<Suspense> slots expect a single root node.`);
3612
3663
  }
3613
3664
  s = singleChild;
3614
3665
  }
@@ -3646,7 +3697,7 @@ function setActiveBranch(suspense, branch) {
3646
3697
  function provide(key, value) {
3647
3698
  if (!currentInstance) {
3648
3699
  {
3649
- warn$1(`provide() can only be used inside setup().`);
3700
+ warn(`provide() can only be used inside setup().`);
3650
3701
  }
3651
3702
  }
3652
3703
  else {
@@ -3685,11 +3736,11 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
3685
3736
  : defaultValue;
3686
3737
  }
3687
3738
  else {
3688
- warn$1(`injection "${String(key)}" not found.`);
3739
+ warn(`injection "${String(key)}" not found.`);
3689
3740
  }
3690
3741
  }
3691
3742
  else {
3692
- warn$1(`inject() can only be used inside setup() or functional components.`);
3743
+ warn(`inject() can only be used inside setup() or functional components.`);
3693
3744
  }
3694
3745
  }
3695
3746
 
@@ -3698,17 +3749,17 @@ function watchEffect(effect, options) {
3698
3749
  return doWatch(effect, null, options);
3699
3750
  }
3700
3751
  function watchPostEffect(effect, options) {
3701
- return doWatch(effect, null, (Object.assign(Object.assign({}, options), { flush: 'post' }) ));
3752
+ return doWatch(effect, null, Object.assign(Object.assign({}, options), { flush: 'post' }) );
3702
3753
  }
3703
3754
  function watchSyncEffect(effect, options) {
3704
- return doWatch(effect, null, (Object.assign(Object.assign({}, options), { flush: 'sync' }) ));
3755
+ return doWatch(effect, null, Object.assign(Object.assign({}, options), { flush: 'sync' }) );
3705
3756
  }
3706
3757
  // initial value for watchers to trigger on undefined initial values
3707
3758
  const INITIAL_WATCHER_VALUE = {};
3708
3759
  // implementation
3709
3760
  function watch(source, cb, options) {
3710
3761
  if (!isFunction(cb)) {
3711
- warn$1(`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
3762
+ warn(`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
3712
3763
  `Use \`watchEffect(fn, options?)\` instead. \`watch\` now only ` +
3713
3764
  `supports \`watch(source, cb, options?) signature.`);
3714
3765
  }
@@ -3717,19 +3768,20 @@ function watch(source, cb, options) {
3717
3768
  function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {
3718
3769
  if (!cb) {
3719
3770
  if (immediate !== undefined) {
3720
- warn$1(`watch() "immediate" option is only respected when using the ` +
3771
+ warn(`watch() "immediate" option is only respected when using the ` +
3721
3772
  `watch(source, callback, options?) signature.`);
3722
3773
  }
3723
3774
  if (deep !== undefined) {
3724
- warn$1(`watch() "deep" option is only respected when using the ` +
3775
+ warn(`watch() "deep" option is only respected when using the ` +
3725
3776
  `watch(source, callback, options?) signature.`);
3726
3777
  }
3727
3778
  }
3728
3779
  const warnInvalidSource = (s) => {
3729
- warn$1(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +
3780
+ warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +
3730
3781
  `a reactive object, or an array of these types.`);
3731
3782
  };
3732
- const instance = currentInstance;
3783
+ const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;
3784
+ // const instance = currentInstance
3733
3785
  let getter;
3734
3786
  let forceTrigger = false;
3735
3787
  let isMultiSource = false;
@@ -3829,7 +3881,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3829
3881
  // pass undefined as the old value when it's changed for the first time
3830
3882
  oldValue === INITIAL_WATCHER_VALUE
3831
3883
  ? undefined
3832
- : (isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE)
3884
+ : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE
3833
3885
  ? []
3834
3886
  : oldValue,
3835
3887
  onCleanup
@@ -4009,7 +4061,7 @@ const BaseTransitionImpl = {
4009
4061
  if (c.type !== Comment) {
4010
4062
  if (hasFound) {
4011
4063
  // warn more than one non-comment child
4012
- warn$1('<transition> can only be used on a single element or component. ' +
4064
+ warn('<transition> can only be used on a single element or component. ' +
4013
4065
  'Use <transition-group> for lists.');
4014
4066
  break;
4015
4067
  }
@@ -4027,7 +4079,7 @@ const BaseTransitionImpl = {
4027
4079
  mode !== 'in-out' &&
4028
4080
  mode !== 'out-in' &&
4029
4081
  mode !== 'default') {
4030
- warn$1(`invalid <transition> mode: ${mode}`);
4082
+ warn(`invalid <transition> mode: ${mode}`);
4031
4083
  }
4032
4084
  if (state.isLeaving) {
4033
4085
  return emptyPlaceholder(child);
@@ -4338,7 +4390,7 @@ function defineAsyncComponent(source) {
4338
4390
  return pendingRequest;
4339
4391
  }
4340
4392
  if (!comp) {
4341
- warn$1(`Async component loader resolved to undefined. ` +
4393
+ warn(`Async component loader resolved to undefined. ` +
4342
4394
  `If you are using retry(), make sure to return its return value.`);
4343
4395
  }
4344
4396
  // interop module default
@@ -4525,7 +4577,7 @@ const KeepAliveImpl = {
4525
4577
  }
4526
4578
  function pruneCacheEntry(key) {
4527
4579
  const cached = cache.get(key);
4528
- if (!current || cached.type !== current.type) {
4580
+ if (!current || !isSameVNodeType(cached, current)) {
4529
4581
  unmount(cached);
4530
4582
  }
4531
4583
  else if (current) {
@@ -4557,7 +4609,7 @@ const KeepAliveImpl = {
4557
4609
  cache.forEach(cached => {
4558
4610
  const { subTree, suspense } = instance;
4559
4611
  const vnode = getInnerChild(subTree);
4560
- if (cached.type === vnode.type) {
4612
+ if (cached.type === vnode.type && cached.key === vnode.key) {
4561
4613
  // current instance will be unmounted as part of keep-alive's unmount
4562
4614
  resetShapeFlag(vnode);
4563
4615
  // but invoke its deactivated hook here
@@ -4577,7 +4629,7 @@ const KeepAliveImpl = {
4577
4629
  const rawVNode = children[0];
4578
4630
  if (children.length > 1) {
4579
4631
  {
4580
- warn$1(`KeepAlive should contain exactly one component child.`);
4632
+ warn(`KeepAlive should contain exactly one component child.`);
4581
4633
  }
4582
4634
  current = null;
4583
4635
  return children;
@@ -4657,7 +4709,7 @@ function matches(pattern, name) {
4657
4709
  else if (isString(pattern)) {
4658
4710
  return pattern.split(',').includes(name);
4659
4711
  }
4660
- else if (pattern.test) {
4712
+ else if (isRegExp(pattern)) {
4661
4713
  return pattern.test(name);
4662
4714
  }
4663
4715
  /* istanbul ignore next */
@@ -4751,7 +4803,7 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
4751
4803
  }
4752
4804
  else {
4753
4805
  const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));
4754
- warn$1(`${apiName} is called when there is no active component instance to be ` +
4806
+ warn(`${apiName} is called when there is no active component instance to be ` +
4755
4807
  `associated with. ` +
4756
4808
  `Lifecycle injection APIs can only be used during execution of setup().` +
4757
4809
  (` If you are using async setup(), make sure to register lifecycle ` +
@@ -4855,7 +4907,7 @@ return withDirectives(h(comp), [
4855
4907
  */
4856
4908
  function validateDirectiveName(name) {
4857
4909
  if (isBuiltInDirective(name)) {
4858
- warn$1('Do not use built-in directive ids as custom directive id: ' + name);
4910
+ warn('Do not use built-in directive ids as custom directive id: ' + name);
4859
4911
  }
4860
4912
  }
4861
4913
  /**
@@ -4864,7 +4916,7 @@ function validateDirectiveName(name) {
4864
4916
  function withDirectives(vnode, directives) {
4865
4917
  const internalInstance = currentRenderingInstance;
4866
4918
  if (internalInstance === null) {
4867
- warn$1(`withDirectives can only be used inside render functions.`);
4919
+ warn(`withDirectives can only be used inside render functions.`);
4868
4920
  return vnode;
4869
4921
  }
4870
4922
  const instance = getExposeProxy(internalInstance) ||
@@ -4953,7 +5005,7 @@ function resolveDirective(name) {
4953
5005
  * v2 compat only
4954
5006
  * @internal
4955
5007
  */
4956
- function resolveFilter(name) {
5008
+ function resolveFilter$1(name) {
4957
5009
  return resolveAsset(FILTERS, name);
4958
5010
  }
4959
5011
  // implementation
@@ -4986,12 +5038,12 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
4986
5038
  ? `\nIf this is a native custom element, make sure to exclude it from ` +
4987
5039
  `component resolution via compilerOptions.isCustomElement.`
4988
5040
  : ``;
4989
- warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
5041
+ warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
4990
5042
  }
4991
5043
  return res;
4992
5044
  }
4993
5045
  else {
4994
- warn$1(`resolve${capitalize(type.slice(0, -1))} ` +
5046
+ warn(`resolve${capitalize(type.slice(0, -1))} ` +
4995
5047
  `can only be used in render() or setup().`);
4996
5048
  }
4997
5049
  }
@@ -5269,7 +5321,7 @@ function renderList(source, renderItem, cache, index) {
5269
5321
  }
5270
5322
  else if (typeof source === 'number') {
5271
5323
  if (!Number.isInteger(source)) {
5272
- warn$1(`The v-for range expect an integer value but got ${source}.`);
5324
+ warn(`The v-for range expect an integer value but got ${source}.`);
5273
5325
  }
5274
5326
  ret = new Array(source);
5275
5327
  for (let i = 0; i < source; i++) {
@@ -5346,7 +5398,7 @@ fallback, noSlotted) {
5346
5398
  }
5347
5399
  let slot = slots[name];
5348
5400
  if (slot && slot.length > 1) {
5349
- warn$1(`SSR-optimized slot function detected in a non-SSR-optimized render ` +
5401
+ warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +
5350
5402
  `function. You need to mark this component with $dynamic-slots in the ` +
5351
5403
  `parent template.`);
5352
5404
  slot = () => [];
@@ -5399,7 +5451,7 @@ function ensureValidVNode(vnodes) {
5399
5451
  function toHandlers(obj, preserveCaseIfNecessary) {
5400
5452
  const ret = {};
5401
5453
  if (!isObject(obj)) {
5402
- warn$1(`v-on with no argument expects an object value.`);
5454
+ warn(`v-on with no argument expects an object value.`);
5403
5455
  return ret;
5404
5456
  }
5405
5457
  for (const key in obj) {
@@ -5607,14 +5659,14 @@ function installCompatInstanceProperties(map) {
5607
5659
  $createElement: () => compatH,
5608
5660
  _c: () => compatH,
5609
5661
  _o: () => legacyMarkOnce,
5610
- _n: () => toNumber,
5662
+ _n: () => looseToNumber,
5611
5663
  _s: () => toDisplayString,
5612
5664
  _l: () => renderList,
5613
5665
  _t: i => legacyRenderSlot.bind(null, i),
5614
5666
  _q: () => looseEqual,
5615
5667
  _i: () => looseIndexOf,
5616
5668
  _m: i => legacyRenderStatic.bind(null, i),
5617
- _f: () => resolveFilter,
5669
+ _f: () => resolveFilter$1,
5618
5670
  _k: i => legacyCheckKeyCodes.bind(null, i),
5619
5671
  _b: () => legacyBindObjectProps,
5620
5672
  _v: () => createTextVNode,
@@ -5760,11 +5812,11 @@ const PublicInstanceProxyHandlers = {
5760
5812
  // to infinite warning loop
5761
5813
  key.indexOf('__v') !== 0)) {
5762
5814
  if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {
5763
- warn$1(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved ` +
5815
+ warn(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved ` +
5764
5816
  `character ("$" or "_") and is not proxied on the render context.`);
5765
5817
  }
5766
5818
  else if (instance === currentRenderingInstance) {
5767
- warn$1(`Property ${JSON.stringify(key)} was accessed during render ` +
5819
+ warn(`Property ${JSON.stringify(key)} was accessed during render ` +
5768
5820
  `but is not defined on instance.`);
5769
5821
  }
5770
5822
  }
@@ -5777,7 +5829,7 @@ const PublicInstanceProxyHandlers = {
5777
5829
  }
5778
5830
  else if (setupState.__isScriptSetup &&
5779
5831
  hasOwn(setupState, key)) {
5780
- warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5832
+ warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5781
5833
  return false;
5782
5834
  }
5783
5835
  else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
@@ -5785,11 +5837,11 @@ const PublicInstanceProxyHandlers = {
5785
5837
  return true;
5786
5838
  }
5787
5839
  else if (hasOwn(instance.props, key)) {
5788
- warn$1(`Attempting to mutate prop "${key}". Props are readonly.`);
5840
+ warn(`Attempting to mutate prop "${key}". Props are readonly.`);
5789
5841
  return false;
5790
5842
  }
5791
5843
  if (key[0] === '$' && key.slice(1) in instance) {
5792
- warn$1(`Attempting to mutate public property "${key}". ` +
5844
+ warn(`Attempting to mutate public property "${key}". ` +
5793
5845
  `Properties starting with $ are reserved and readonly.`);
5794
5846
  return false;
5795
5847
  }
@@ -5830,7 +5882,7 @@ const PublicInstanceProxyHandlers = {
5830
5882
  };
5831
5883
  {
5832
5884
  PublicInstanceProxyHandlers.ownKeys = (target) => {
5833
- warn$1(`Avoid app logic that relies on enumerating keys on a component instance. ` +
5885
+ warn(`Avoid app logic that relies on enumerating keys on a component instance. ` +
5834
5886
  `The keys will be empty in production mode to avoid performance overhead.`);
5835
5887
  return Reflect.ownKeys(target);
5836
5888
  };
@@ -5846,7 +5898,7 @@ const RuntimeCompiledPublicInstanceProxyHandlers = /*#__PURE__*/ extend({}, Publ
5846
5898
  has(_, key) {
5847
5899
  const has = key[0] !== '_' && !isGloballyWhitelisted(key);
5848
5900
  if (!has && PublicInstanceProxyHandlers.has(_, key)) {
5849
- warn$1(`Property ${JSON.stringify(key)} should not start with _ which is a reserved prefix for Vue internals.`);
5901
+ warn(`Property ${JSON.stringify(key)} should not start with _ which is a reserved prefix for Vue internals.`);
5850
5902
  }
5851
5903
  return has;
5852
5904
  }
@@ -5896,7 +5948,7 @@ function exposeSetupStateOnRenderContext(instance) {
5896
5948
  Object.keys(toRaw(setupState)).forEach(key => {
5897
5949
  if (!setupState.__isScriptSetup) {
5898
5950
  if (isReservedPrefix(key[0])) {
5899
- warn$1(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" ` +
5951
+ warn(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" ` +
5900
5952
  `which are reserved prefixes for Vue internals.`);
5901
5953
  return;
5902
5954
  }
@@ -5929,7 +5981,7 @@ function createDuplicateChecker() {
5929
5981
  const cache = Object.create(null);
5930
5982
  return (type, key) => {
5931
5983
  if (cache[key]) {
5932
- warn$1(`${type} property "${key}" is already defined in ${cache[key]}.`);
5984
+ warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
5933
5985
  }
5934
5986
  else {
5935
5987
  cache[key] = type;
@@ -5946,7 +5998,7 @@ function applyOptions(instance) {
5946
5998
  // call beforeCreate first before accessing other options since
5947
5999
  // the hook may mutate resolved options (#2791)
5948
6000
  if (options.beforeCreate) {
5949
- callHook(options.beforeCreate, instance, "bc" /* LifecycleHooks.BEFORE_CREATE */);
6001
+ callHook$1(options.beforeCreate, instance, "bc" /* LifecycleHooks.BEFORE_CREATE */);
5950
6002
  }
5951
6003
  const {
5952
6004
  // state
@@ -5996,24 +6048,24 @@ function applyOptions(instance) {
5996
6048
  }
5997
6049
  }
5998
6050
  else {
5999
- warn$1(`Method "${key}" has type "${typeof methodHandler}" in the component definition. ` +
6051
+ warn(`Method "${key}" has type "${typeof methodHandler}" in the component definition. ` +
6000
6052
  `Did you reference the function correctly?`);
6001
6053
  }
6002
6054
  }
6003
6055
  }
6004
6056
  if (dataOptions) {
6005
6057
  if (!isFunction(dataOptions)) {
6006
- warn$1(`The data option must be a function. ` +
6058
+ warn(`The data option must be a function. ` +
6007
6059
  `Plain object usage is no longer supported.`);
6008
6060
  }
6009
6061
  const data = dataOptions.call(publicThis, publicThis);
6010
6062
  if (isPromise(data)) {
6011
- warn$1(`data() returned a Promise - note data() cannot be async; If you ` +
6063
+ warn(`data() returned a Promise - note data() cannot be async; If you ` +
6012
6064
  `intend to perform data fetching before component renders, use ` +
6013
6065
  `async setup() + <Suspense>.`);
6014
6066
  }
6015
6067
  if (!isObject(data)) {
6016
- warn$1(`data() should return an object.`);
6068
+ warn(`data() should return an object.`);
6017
6069
  }
6018
6070
  else {
6019
6071
  instance.data = reactive(data);
@@ -6044,15 +6096,15 @@ function applyOptions(instance) {
6044
6096
  ? opt.get.bind(publicThis, publicThis)
6045
6097
  : NOOP;
6046
6098
  if (get === NOOP) {
6047
- warn$1(`Computed property "${key}" has no getter.`);
6099
+ warn(`Computed property "${key}" has no getter.`);
6048
6100
  }
6049
6101
  const set = !isFunction(opt) && isFunction(opt.set)
6050
6102
  ? opt.set.bind(publicThis)
6051
6103
  : () => {
6052
- warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6104
+ warn(`Write operation failed: computed property "${key}" is readonly.`);
6053
6105
  }
6054
6106
  ;
6055
- const c = computed$1({
6107
+ const c = computed({
6056
6108
  get,
6057
6109
  set
6058
6110
  });
@@ -6081,7 +6133,7 @@ function applyOptions(instance) {
6081
6133
  });
6082
6134
  }
6083
6135
  if (created) {
6084
- callHook(created, instance, "c" /* LifecycleHooks.CREATED */);
6136
+ callHook$1(created, instance, "c" /* LifecycleHooks.CREATED */);
6085
6137
  }
6086
6138
  function registerLifecycleHook(register, hook) {
6087
6139
  if (isArray(hook)) {
@@ -6175,7 +6227,7 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP,
6175
6227
  }
6176
6228
  else {
6177
6229
  {
6178
- warn$1(`injected property "${key}" is a ref and will be auto-unwrapped ` +
6230
+ warn(`injected property "${key}" is a ref and will be auto-unwrapped ` +
6179
6231
  `and no longer needs \`.value\` in the next minor release. ` +
6180
6232
  `To opt-in to the new behavior now, ` +
6181
6233
  `set \`app.config.unwrapInjectedRef = true\` (this config is ` +
@@ -6192,7 +6244,7 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP,
6192
6244
  }
6193
6245
  }
6194
6246
  }
6195
- function callHook(hook, instance, type) {
6247
+ function callHook$1(hook, instance, type) {
6196
6248
  callWithAsyncErrorHandling(isArray(hook)
6197
6249
  ? hook.map(h => h.bind(instance.proxy))
6198
6250
  : hook.bind(instance.proxy), instance, type);
@@ -6207,7 +6259,7 @@ function createWatcher(raw, ctx, publicThis, key) {
6207
6259
  watch(getter, handler);
6208
6260
  }
6209
6261
  else {
6210
- warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6262
+ warn(`Invalid watch handler specified by key "${raw}"`, handler);
6211
6263
  }
6212
6264
  }
6213
6265
  else if (isFunction(raw)) {
@@ -6225,12 +6277,12 @@ function createWatcher(raw, ctx, publicThis, key) {
6225
6277
  watch(getter, handler, raw);
6226
6278
  }
6227
6279
  else {
6228
- warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6280
+ warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6229
6281
  }
6230
6282
  }
6231
6283
  }
6232
6284
  else {
6233
- warn$1(`Invalid watch option: "${key}"`, raw);
6285
+ warn(`Invalid watch option: "${key}"`, raw);
6234
6286
  }
6235
6287
  }
6236
6288
  /**
@@ -6282,7 +6334,7 @@ function mergeOptions(to, from, strats, asMixin = false) {
6282
6334
  }
6283
6335
  for (const key in from) {
6284
6336
  if (asMixin && key === 'expose') {
6285
- warn$1(`"expose" option is ignored when declared in mixins or extends. ` +
6337
+ warn(`"expose" option is ignored when declared in mixins or extends. ` +
6286
6338
  `It should only be declared in the base component itself.`);
6287
6339
  }
6288
6340
  else {
@@ -6699,7 +6751,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
6699
6751
  if (isArray(raw)) {
6700
6752
  for (let i = 0; i < raw.length; i++) {
6701
6753
  if (!isString(raw[i])) {
6702
- warn$1(`props must be strings when using array syntax.`, raw[i]);
6754
+ warn(`props must be strings when using array syntax.`, raw[i]);
6703
6755
  }
6704
6756
  const normalizedKey = camelize(raw[i]);
6705
6757
  if (validatePropName(normalizedKey)) {
@@ -6709,7 +6761,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
6709
6761
  }
6710
6762
  else if (raw) {
6711
6763
  if (!isObject(raw)) {
6712
- warn$1(`invalid props options`, raw);
6764
+ warn(`invalid props options`, raw);
6713
6765
  }
6714
6766
  for (const key in raw) {
6715
6767
  const normalizedKey = camelize(key);
@@ -6742,15 +6794,15 @@ function validatePropName(key) {
6742
6794
  return true;
6743
6795
  }
6744
6796
  else {
6745
- warn$1(`Invalid prop name: "${key}" is a reserved property.`);
6797
+ warn(`Invalid prop name: "${key}" is a reserved property.`);
6746
6798
  }
6747
6799
  return false;
6748
6800
  }
6749
6801
  // use function string name to check type constructors
6750
6802
  // so that it works across vms / iframes.
6751
6803
  function getType(ctor) {
6752
- const match = ctor && ctor.toString().match(/^\s*function (\w+)/);
6753
- return match ? match[1] : ctor === null ? 'null' : '';
6804
+ const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
6805
+ return match ? match[2] : ctor === null ? 'null' : '';
6754
6806
  }
6755
6807
  function isSameType(a, b) {
6756
6808
  return getType(a) === getType(b);
@@ -6784,7 +6836,7 @@ function validateProp(name, value, prop, isAbsent) {
6784
6836
  const { type, required, validator } = prop;
6785
6837
  // required!
6786
6838
  if (required && isAbsent) {
6787
- warn$1('Missing required prop: "' + name + '"');
6839
+ warn('Missing required prop: "' + name + '"');
6788
6840
  return;
6789
6841
  }
6790
6842
  // missing but optional
@@ -6803,13 +6855,13 @@ function validateProp(name, value, prop, isAbsent) {
6803
6855
  isValid = valid;
6804
6856
  }
6805
6857
  if (!isValid) {
6806
- warn$1(getInvalidTypeMessage(name, value, expectedTypes));
6858
+ warn(getInvalidTypeMessage(name, value, expectedTypes));
6807
6859
  return;
6808
6860
  }
6809
6861
  }
6810
6862
  // custom validator
6811
6863
  if (validator && !validator(value)) {
6812
- warn$1('Invalid prop: custom validator check failed for prop "' + name + '".');
6864
+ warn('Invalid prop: custom validator check failed for prop "' + name + '".');
6813
6865
  }
6814
6866
  }
6815
6867
  const isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol,BigInt');
@@ -6906,7 +6958,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
6906
6958
  }
6907
6959
  const normalized = withCtx((...args) => {
6908
6960
  if (true && currentInstance) {
6909
- warn$1(`Slot "${key}" invoked outside of the render function: ` +
6961
+ warn(`Slot "${key}" invoked outside of the render function: ` +
6910
6962
  `this will not track dependencies used in the slot. ` +
6911
6963
  `Invoke the slot function inside the render function instead.`);
6912
6964
  }
@@ -6926,7 +6978,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
6926
6978
  }
6927
6979
  else if (value != null) {
6928
6980
  if (!(isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
6929
- warn$1(`Non-function value encountered for slot "${key}". ` +
6981
+ warn(`Non-function value encountered for slot "${key}". ` +
6930
6982
  `Prefer function slots for better performance.`);
6931
6983
  }
6932
6984
  const normalized = normalizeSlotValue(value);
@@ -6937,7 +6989,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
6937
6989
  const normalizeVNodeSlots = (instance, children) => {
6938
6990
  if (!isKeepAlive(instance.vnode) &&
6939
6991
  !(isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
6940
- warn$1(`Non-function value encountered for default slot. ` +
6992
+ warn(`Non-function value encountered for default slot. ` +
6941
6993
  `Prefer function slots for better performance.`);
6942
6994
  }
6943
6995
  const normalized = normalizeSlotValue(children);
@@ -7061,7 +7113,7 @@ let isCopyingConfig = false;
7061
7113
  let singletonApp;
7062
7114
  let singletonCtor;
7063
7115
  // Legacy global Vue constructor
7064
- function createCompatVue(createApp, createSingletonApp) {
7116
+ function createCompatVue$1(createApp, createSingletonApp) {
7065
7117
  singletonApp = createSingletonApp({});
7066
7118
  const Vue = (singletonCtor = function Vue(options = {}) {
7067
7119
  return createCompatApp(options, Vue);
@@ -7086,7 +7138,7 @@ function createCompatVue(createApp, createSingletonApp) {
7086
7138
  return vm;
7087
7139
  }
7088
7140
  }
7089
- Vue.version = `2.6.14-compat:${"3.2.45"}`;
7141
+ Vue.version = `2.6.14-compat:${"3.2.46"}`;
7090
7142
  Vue.config = singletonApp.config;
7091
7143
  Vue.use = (p, ...options) => {
7092
7144
  if (p && isFunction(p.install)) {
@@ -7188,7 +7240,7 @@ function createCompatVue(createApp, createSingletonApp) {
7188
7240
  });
7189
7241
  // internal utils - these are technically internal but some plugins use it.
7190
7242
  const util = {
7191
- warn: warn$1 ,
7243
+ warn: warn ,
7192
7244
  extend,
7193
7245
  mergeOptions: (parent, child, vm) => mergeOptions(parent, child, vm ? undefined : internalOptionMergeStrats),
7194
7246
  defineReactive
@@ -7199,7 +7251,7 @@ function createCompatVue(createApp, createSingletonApp) {
7199
7251
  return util;
7200
7252
  }
7201
7253
  });
7202
- Vue.configureCompat = configureCompat;
7254
+ Vue.configureCompat = configureCompat$1;
7203
7255
  return Vue;
7204
7256
  }
7205
7257
  function installAppCompatProperties(app, context, render) {
@@ -7223,7 +7275,7 @@ function installFilterMethod(app, context) {
7223
7275
  return context.filters[name];
7224
7276
  }
7225
7277
  if (context.filters[name]) {
7226
- warn$1(`Filter "${name}" has already been registered.`);
7278
+ warn(`Filter "${name}" has already been registered.`);
7227
7279
  }
7228
7280
  context.filters[name] = filter;
7229
7281
  return app;
@@ -7334,7 +7386,7 @@ function installCompatMount(app, context, render) {
7334
7386
  // both runtime-core AND runtime-dom.
7335
7387
  instance.ctx._compat_mount = (selectorOrEl) => {
7336
7388
  if (isMounted) {
7337
- warn$1(`Root instance is already mounted.`);
7389
+ warn(`Root instance is already mounted.`);
7338
7390
  return;
7339
7391
  }
7340
7392
  let container;
@@ -7342,7 +7394,7 @@ function installCompatMount(app, context, render) {
7342
7394
  // eslint-disable-next-line
7343
7395
  const result = document.querySelector(selectorOrEl);
7344
7396
  if (!result) {
7345
- warn$1(`Failed to mount root instance: selector "${selectorOrEl}" returned null.`);
7397
+ warn(`Failed to mount root instance: selector "${selectorOrEl}" returned null.`);
7346
7398
  return;
7347
7399
  }
7348
7400
  container = result;
@@ -7512,21 +7564,21 @@ function createAppContext() {
7512
7564
  emitsCache: new WeakMap()
7513
7565
  };
7514
7566
  }
7515
- let uid = 0;
7567
+ let uid$1 = 0;
7516
7568
  function createAppAPI(render, hydrate) {
7517
7569
  return function createApp(rootComponent, rootProps = null) {
7518
7570
  if (!isFunction(rootComponent)) {
7519
7571
  rootComponent = Object.assign({}, rootComponent);
7520
7572
  }
7521
7573
  if (rootProps != null && !isObject(rootProps)) {
7522
- warn$1(`root props passed to app.mount() must be an object.`);
7574
+ warn(`root props passed to app.mount() must be an object.`);
7523
7575
  rootProps = null;
7524
7576
  }
7525
7577
  const context = createAppContext();
7526
7578
  const installedPlugins = new Set();
7527
7579
  let isMounted = false;
7528
7580
  const app = (context.app = {
7529
- _uid: uid++,
7581
+ _uid: uid$1++,
7530
7582
  _component: rootComponent,
7531
7583
  _props: rootProps,
7532
7584
  _container: null,
@@ -7538,12 +7590,12 @@ function createAppAPI(render, hydrate) {
7538
7590
  },
7539
7591
  set config(v) {
7540
7592
  {
7541
- warn$1(`app.config cannot be replaced. Modify individual options instead.`);
7593
+ warn(`app.config cannot be replaced. Modify individual options instead.`);
7542
7594
  }
7543
7595
  },
7544
7596
  use(plugin, ...options) {
7545
7597
  if (installedPlugins.has(plugin)) {
7546
- warn$1(`Plugin has already been applied to target app.`);
7598
+ warn(`Plugin has already been applied to target app.`);
7547
7599
  }
7548
7600
  else if (plugin && isFunction(plugin.install)) {
7549
7601
  installedPlugins.add(plugin);
@@ -7554,7 +7606,7 @@ function createAppAPI(render, hydrate) {
7554
7606
  plugin(app, ...options);
7555
7607
  }
7556
7608
  else {
7557
- warn$1(`A plugin must either be a function or an object with an "install" ` +
7609
+ warn(`A plugin must either be a function or an object with an "install" ` +
7558
7610
  `function.`);
7559
7611
  }
7560
7612
  return app;
@@ -7565,7 +7617,7 @@ function createAppAPI(render, hydrate) {
7565
7617
  context.mixins.push(mixin);
7566
7618
  }
7567
7619
  else {
7568
- warn$1('Mixin has already been applied to target app' +
7620
+ warn('Mixin has already been applied to target app' +
7569
7621
  (mixin.name ? `: ${mixin.name}` : ''));
7570
7622
  }
7571
7623
  }
@@ -7579,7 +7631,7 @@ function createAppAPI(render, hydrate) {
7579
7631
  return context.components[name];
7580
7632
  }
7581
7633
  if (context.components[name]) {
7582
- warn$1(`Component "${name}" has already been registered in target app.`);
7634
+ warn(`Component "${name}" has already been registered in target app.`);
7583
7635
  }
7584
7636
  context.components[name] = component;
7585
7637
  return app;
@@ -7592,7 +7644,7 @@ function createAppAPI(render, hydrate) {
7592
7644
  return context.directives[name];
7593
7645
  }
7594
7646
  if (context.directives[name]) {
7595
- warn$1(`Directive "${name}" has already been registered in target app.`);
7647
+ warn(`Directive "${name}" has already been registered in target app.`);
7596
7648
  }
7597
7649
  context.directives[name] = directive;
7598
7650
  return app;
@@ -7601,7 +7653,7 @@ function createAppAPI(render, hydrate) {
7601
7653
  if (!isMounted) {
7602
7654
  // #5571
7603
7655
  if (rootContainer.__vue_app__) {
7604
- warn$1(`There is already an app instance mounted on the host container.\n` +
7656
+ warn(`There is already an app instance mounted on the host container.\n` +
7605
7657
  ` If you want to mount another app on the same host container,` +
7606
7658
  ` you need to unmount the previous app by calling \`app.unmount()\` first.`);
7607
7659
  }
@@ -7631,7 +7683,7 @@ function createAppAPI(render, hydrate) {
7631
7683
  return getExposeProxy(vnode.component) || vnode.component.proxy;
7632
7684
  }
7633
7685
  else {
7634
- warn$1(`App has already been mounted.\n` +
7686
+ warn(`App has already been mounted.\n` +
7635
7687
  `If you want to remount the same app, move your app creation logic ` +
7636
7688
  `into a factory function and create fresh app instances for each ` +
7637
7689
  `mount - e.g. \`const createMyApp = () => createApp(App)\``);
@@ -7647,12 +7699,12 @@ function createAppAPI(render, hydrate) {
7647
7699
  delete app._container.__vue_app__;
7648
7700
  }
7649
7701
  else {
7650
- warn$1(`Cannot unmount an app that is not mounted.`);
7702
+ warn(`Cannot unmount an app that is not mounted.`);
7651
7703
  }
7652
7704
  },
7653
7705
  provide(key, value) {
7654
7706
  if (key in context.provides) {
7655
- warn$1(`App already provides property with key "${String(key)}". ` +
7707
+ warn(`App already provides property with key "${String(key)}". ` +
7656
7708
  `It will be overwritten with the new value.`);
7657
7709
  }
7658
7710
  context.provides[key] = value;
@@ -7685,7 +7737,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7685
7737
  const value = isUnmount ? null : refValue;
7686
7738
  const { i: owner, r: ref } = rawRef;
7687
7739
  if (!owner) {
7688
- warn$1(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +
7740
+ warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +
7689
7741
  `A vnode with ref must be created inside the render function.`);
7690
7742
  return;
7691
7743
  }
@@ -7752,7 +7804,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7752
7804
  refs[rawRef.k] = value;
7753
7805
  }
7754
7806
  else {
7755
- warn$1('Invalid template ref type:', ref, `(${typeof ref})`);
7807
+ warn('Invalid template ref type:', ref, `(${typeof ref})`);
7756
7808
  }
7757
7809
  };
7758
7810
  if (value) {
@@ -7764,7 +7816,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7764
7816
  }
7765
7817
  }
7766
7818
  else {
7767
- warn$1('Invalid template ref type:', ref, `(${typeof ref})`);
7819
+ warn('Invalid template ref type:', ref, `(${typeof ref})`);
7768
7820
  }
7769
7821
  }
7770
7822
  }
@@ -7781,7 +7833,7 @@ function createHydrationFunctions(rendererInternals) {
7781
7833
  const { mt: mountComponent, p: patch, o: { patchProp, createText, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;
7782
7834
  const hydrate = (vnode, container) => {
7783
7835
  if (!container.hasChildNodes()) {
7784
- warn$1(`Attempting to hydrate existing markup but container is empty. ` +
7836
+ warn(`Attempting to hydrate existing markup but container is empty. ` +
7785
7837
  `Performing full mount instead.`);
7786
7838
  patch(null, vnode, container);
7787
7839
  flushPostFlushCbs();
@@ -7824,7 +7876,7 @@ function createHydrationFunctions(rendererInternals) {
7824
7876
  else {
7825
7877
  if (node.data !== vnode.children) {
7826
7878
  hasMismatch = true;
7827
- warn$1(`Hydration text mismatch:` +
7879
+ warn(`Hydration text mismatch:` +
7828
7880
  `\n- Client: ${JSON.stringify(node.data)}` +
7829
7881
  `\n- Server: ${JSON.stringify(vnode.children)}`);
7830
7882
  node.data = vnode.children;
@@ -7939,7 +7991,7 @@ function createHydrationFunctions(rendererInternals) {
7939
7991
  nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
7940
7992
  }
7941
7993
  else {
7942
- warn$1('Invalid HostVNode type:', type, `(${typeof type})`);
7994
+ warn('Invalid HostVNode type:', type, `(${typeof type})`);
7943
7995
  }
7944
7996
  }
7945
7997
  if (ref != null) {
@@ -8000,7 +8052,7 @@ function createHydrationFunctions(rendererInternals) {
8000
8052
  while (next) {
8001
8053
  hasMismatch = true;
8002
8054
  if (!hasWarned) {
8003
- warn$1(`Hydration children mismatch in <${vnode.type}>: ` +
8055
+ warn(`Hydration children mismatch in <${vnode.type}>: ` +
8004
8056
  `server rendered element contains more child nodes than client vdom.`);
8005
8057
  hasWarned = true;
8006
8058
  }
@@ -8013,7 +8065,7 @@ function createHydrationFunctions(rendererInternals) {
8013
8065
  else if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
8014
8066
  if (el.textContent !== vnode.children) {
8015
8067
  hasMismatch = true;
8016
- warn$1(`Hydration text content mismatch in <${vnode.type}>:\n` +
8068
+ warn(`Hydration text content mismatch in <${vnode.type}>:\n` +
8017
8069
  `- Client: ${el.textContent}\n` +
8018
8070
  `- Server: ${vnode.children}`);
8019
8071
  el.textContent = vnode.children;
@@ -8040,7 +8092,7 @@ function createHydrationFunctions(rendererInternals) {
8040
8092
  else {
8041
8093
  hasMismatch = true;
8042
8094
  if (!hasWarned) {
8043
- warn$1(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +
8095
+ warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +
8044
8096
  `server rendered element contains fewer child nodes than client vdom.`);
8045
8097
  hasWarned = true;
8046
8098
  }
@@ -8073,7 +8125,7 @@ function createHydrationFunctions(rendererInternals) {
8073
8125
  };
8074
8126
  const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
8075
8127
  hasMismatch = true;
8076
- warn$1(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* DOMNodeTypes.TEXT */
8128
+ warn(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* DOMNodeTypes.TEXT */
8077
8129
  ? `(text)`
8078
8130
  : isComment(node) && node.data === '['
8079
8131
  ? `(start of fragment)`
@@ -8241,7 +8293,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8241
8293
  type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
8242
8294
  }
8243
8295
  else {
8244
- warn$1('Invalid VNode type:', type, `(${typeof type})`);
8296
+ warn('Invalid VNode type:', type, `(${typeof type})`);
8245
8297
  }
8246
8298
  }
8247
8299
  // set ref
@@ -8331,6 +8383,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8331
8383
  if (dirs) {
8332
8384
  invokeDirectiveHook(vnode, null, parentComponent, 'created');
8333
8385
  }
8386
+ // scopeId
8387
+ setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
8334
8388
  // props
8335
8389
  if (props) {
8336
8390
  for (const key in props) {
@@ -8354,8 +8408,6 @@ function baseCreateRenderer(options, createHydrationFns) {
8354
8408
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
8355
8409
  }
8356
8410
  }
8357
- // scopeId
8358
- setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
8359
8411
  {
8360
8412
  Object.defineProperty(el, '__vnode', {
8361
8413
  value: vnode,
@@ -9084,7 +9136,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9084
9136
  : normalizeVNode(c2[i]));
9085
9137
  if (nextChild.key != null) {
9086
9138
  if (keyToNewIndexMap.has(nextChild.key)) {
9087
- warn$1(`Duplicate keys found during update:`, JSON.stringify(nextChild.key), `Make sure keys are unique.`);
9139
+ warn(`Duplicate keys found during update:`, JSON.stringify(nextChild.key), `Make sure keys are unique.`);
9088
9140
  }
9089
9141
  keyToNewIndexMap.set(nextChild.key, i);
9090
9142
  }
@@ -9535,14 +9587,14 @@ const resolveTarget = (props, select) => {
9535
9587
  const targetSelector = props && props.to;
9536
9588
  if (isString(targetSelector)) {
9537
9589
  if (!select) {
9538
- warn$1(`Current renderer does not support string target for Teleports. ` +
9590
+ warn(`Current renderer does not support string target for Teleports. ` +
9539
9591
  `(missing querySelector renderer option)`);
9540
9592
  return null;
9541
9593
  }
9542
9594
  else {
9543
9595
  const target = select(targetSelector);
9544
9596
  if (!target) {
9545
- warn$1(`Failed to locate Teleport target with selector "${targetSelector}". ` +
9597
+ warn(`Failed to locate Teleport target with selector "${targetSelector}". ` +
9546
9598
  `Note the target element must exist before the component is mounted - ` +
9547
9599
  `i.e. the target cannot be rendered by the component itself, and ` +
9548
9600
  `ideally should be outside of the entire Vue component tree.`);
@@ -9552,7 +9604,7 @@ const resolveTarget = (props, select) => {
9552
9604
  }
9553
9605
  else {
9554
9606
  if (!targetSelector && !isTeleportDisabled(props)) {
9555
- warn$1(`Invalid Teleport target: ${targetSelector}`);
9607
+ warn(`Invalid Teleport target: ${targetSelector}`);
9556
9608
  }
9557
9609
  return targetSelector;
9558
9610
  }
@@ -9585,7 +9637,7 @@ const TeleportImpl = {
9585
9637
  isSVG = isSVG || isTargetSVG(target);
9586
9638
  }
9587
9639
  else if (!disabled) {
9588
- warn$1('Invalid Teleport target on mount:', target, `(${typeof target})`);
9640
+ warn('Invalid Teleport target on mount:', target, `(${typeof target})`);
9589
9641
  }
9590
9642
  const mount = (container, anchor) => {
9591
9643
  // Teleport *always* has Array children. This is enforced in both the
@@ -9637,7 +9689,7 @@ const TeleportImpl = {
9637
9689
  moveTeleport(n2, nextTarget, null, internals, 0 /* TeleportMoveTypes.TARGET_CHANGE */);
9638
9690
  }
9639
9691
  else {
9640
- warn$1('Invalid Teleport target on update:', target, `(${typeof target})`);
9692
+ warn('Invalid Teleport target on update:', target, `(${typeof target})`);
9641
9693
  }
9642
9694
  }
9643
9695
  else if (wasDisabled) {
@@ -9978,7 +10030,7 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
9978
10030
  }
9979
10031
  // validate key
9980
10032
  if (vnode.key !== vnode.key) {
9981
- warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10033
+ warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
9982
10034
  }
9983
10035
  // track vnode for block tree
9984
10036
  if (isBlockTreeEnabled > 0 &&
@@ -10006,7 +10058,7 @@ const createVNode = (createVNodeWithArgsTransform );
10006
10058
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
10007
10059
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
10008
10060
  if (!type) {
10009
- warn$1(`Invalid vnode type when creating vnode: ${type}.`);
10061
+ warn(`Invalid vnode type when creating vnode: ${type}.`);
10010
10062
  }
10011
10063
  type = Comment;
10012
10064
  }
@@ -10068,7 +10120,7 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
10068
10120
  : 0;
10069
10121
  if (shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */ && isProxy(type)) {
10070
10122
  type = toRaw(type);
10071
- warn$1(`Vue received a Component which was made a reactive object. This can ` +
10123
+ warn(`Vue received a Component which was made a reactive object. This can ` +
10072
10124
  `lead to unnecessary performance overhead, and should be avoided by ` +
10073
10125
  `marking the component with \`markRaw\` or using \`shallowRef\` ` +
10074
10126
  `instead of \`ref\`.`, `\nComponent that was made reactive: `, type);
@@ -10136,7 +10188,8 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10136
10188
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
10137
10189
  el: vnode.el,
10138
10190
  anchor: vnode.anchor,
10139
- ctx: vnode.ctx
10191
+ ctx: vnode.ctx,
10192
+ ce: vnode.ce
10140
10193
  };
10141
10194
  {
10142
10195
  defineLegacyVNodeProperties(cloned);
@@ -10306,13 +10359,13 @@ function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
10306
10359
  }
10307
10360
 
10308
10361
  const emptyAppContext = createAppContext();
10309
- let uid$1 = 0;
10362
+ let uid = 0;
10310
10363
  function createComponentInstance(vnode, parent, suspense) {
10311
10364
  const type = vnode.type;
10312
10365
  // inherit parent app context - or - if root, adopt from root vnode
10313
10366
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
10314
10367
  const instance = {
10315
- uid: uid$1++,
10368
+ uid: uid++,
10316
10369
  vnode,
10317
10370
  type,
10318
10371
  parent,
@@ -10382,7 +10435,7 @@ function createComponentInstance(vnode, parent, suspense) {
10382
10435
  instance.ctx = createDevRenderContext(instance);
10383
10436
  }
10384
10437
  instance.root = parent ? parent.root : instance;
10385
- instance.emit = emit$2.bind(null, instance);
10438
+ instance.emit = emit.bind(null, instance);
10386
10439
  // apply custom element special handling
10387
10440
  if (vnode.ce) {
10388
10441
  vnode.ce(instance);
@@ -10403,7 +10456,7 @@ const isBuiltInTag = /*#__PURE__*/ makeMap('slot,component');
10403
10456
  function validateComponentName(name, config) {
10404
10457
  const appIsNativeTag = config.isNativeTag || NO;
10405
10458
  if (isBuiltInTag(name) || appIsNativeTag(name)) {
10406
- warn$1('Do not use built-in or reserved HTML elements as component id: ' + name);
10459
+ warn('Do not use built-in or reserved HTML elements as component id: ' + name);
10407
10460
  }
10408
10461
  }
10409
10462
  function isStatefulComponent(instance) {
@@ -10442,7 +10495,7 @@ function setupStatefulComponent(instance, isSSR) {
10442
10495
  }
10443
10496
  }
10444
10497
  if (Component.compilerOptions && isRuntimeOnly()) {
10445
- warn$1(`"compilerOptions" is only supported when using a build of Vue that ` +
10498
+ warn(`"compilerOptions" is only supported when using a build of Vue that ` +
10446
10499
  `includes the runtime compiler. Since you are using a runtime-only ` +
10447
10500
  `build, the options should be passed via your build tool config instead.`);
10448
10501
  }
@@ -10483,7 +10536,7 @@ function setupStatefulComponent(instance, isSSR) {
10483
10536
  instance.asyncDep = setupResult;
10484
10537
  if (!instance.suspense) {
10485
10538
  const name = (_a = Component.name) !== null && _a !== void 0 ? _a : 'Anonymous';
10486
- warn$1(`Component <${name}>: setup function returned a promise, but no ` +
10539
+ warn(`Component <${name}>: setup function returned a promise, but no ` +
10487
10540
  `<Suspense> boundary was found in the parent component tree. ` +
10488
10541
  `A component with async setup() must be nested in a <Suspense> ` +
10489
10542
  `in order to be rendered.`);
@@ -10507,7 +10560,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
10507
10560
  }
10508
10561
  else if (isObject(setupResult)) {
10509
10562
  if (isVNode(setupResult)) {
10510
- warn$1(`setup() should not return VNodes directly - ` +
10563
+ warn(`setup() should not return VNodes directly - ` +
10511
10564
  `return a render function instead.`);
10512
10565
  }
10513
10566
  // setup returned bindings.
@@ -10521,7 +10574,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
10521
10574
  }
10522
10575
  }
10523
10576
  else if (setupResult !== undefined) {
10524
- warn$1(`setup() should return an object. Received: ${setupResult === null ? 'null' : typeof setupResult}`);
10577
+ warn(`setup() should return an object. Received: ${setupResult === null ? 'null' : typeof setupResult}`);
10525
10578
  }
10526
10579
  finishComponentSetup(instance, isSSR);
10527
10580
  }
@@ -10604,13 +10657,13 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10604
10657
  if (!Component.render && instance.render === NOOP && !isSSR) {
10605
10658
  /* istanbul ignore if */
10606
10659
  if (!compile && Component.template) {
10607
- warn$1(`Component provided template option but ` +
10660
+ warn(`Component provided template option but ` +
10608
10661
  `runtime compilation is not supported in this build of Vue.` +
10609
10662
  (` Use "vue.esm-browser.js" instead.`
10610
10663
  ) /* should not happen */);
10611
10664
  }
10612
10665
  else {
10613
- warn$1(`Component is missing template or render function.`);
10666
+ warn(`Component is missing template or render function.`);
10614
10667
  }
10615
10668
  }
10616
10669
  }
@@ -10622,11 +10675,11 @@ function createAttrsProxy(instance) {
10622
10675
  return target[key];
10623
10676
  },
10624
10677
  set() {
10625
- warn$1(`setupContext.attrs is readonly.`);
10678
+ warn(`setupContext.attrs is readonly.`);
10626
10679
  return false;
10627
10680
  },
10628
10681
  deleteProperty() {
10629
- warn$1(`setupContext.attrs is readonly.`);
10682
+ warn(`setupContext.attrs is readonly.`);
10630
10683
  return false;
10631
10684
  }
10632
10685
  }
@@ -10634,8 +10687,24 @@ function createAttrsProxy(instance) {
10634
10687
  }
10635
10688
  function createSetupContext(instance) {
10636
10689
  const expose = exposed => {
10637
- if (instance.exposed) {
10638
- warn$1(`expose() should be called only once per setup().`);
10690
+ {
10691
+ if (instance.exposed) {
10692
+ warn(`expose() should be called only once per setup().`);
10693
+ }
10694
+ if (exposed != null) {
10695
+ let exposedType = typeof exposed;
10696
+ if (exposedType === 'object') {
10697
+ if (isArray(exposed)) {
10698
+ exposedType = 'array';
10699
+ }
10700
+ else if (isRef(exposed)) {
10701
+ exposedType = 'ref';
10702
+ }
10703
+ }
10704
+ if (exposedType !== 'object') {
10705
+ warn(`expose() should be passed a plain object, received ${exposedType}.`);
10706
+ }
10707
+ }
10639
10708
  }
10640
10709
  instance.exposed = exposed || {};
10641
10710
  };
@@ -10710,13 +10779,13 @@ function isClassComponent(value) {
10710
10779
  return isFunction(value) && '__vccOpts' in value;
10711
10780
  }
10712
10781
 
10713
- const computed$1 = ((getterOrOptions, debugOptions) => {
10782
+ const computed = ((getterOrOptions, debugOptions) => {
10714
10783
  // @ts-ignore
10715
- return computed(getterOrOptions, debugOptions, isInSSRComponentSetup);
10784
+ return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
10716
10785
  });
10717
10786
 
10718
10787
  // dev only
10719
- const warnRuntimeUsage = (method) => warn$1(`${method}() is a compiler-hint helper that is only usable inside ` +
10788
+ const warnRuntimeUsage = (method) => warn(`${method}() is a compiler-hint helper that is only usable inside ` +
10720
10789
  `<script setup> of a single file component. Its arguments should be ` +
10721
10790
  `compiled away and passing it at runtime has no effect.`);
10722
10791
  // implementation
@@ -10783,7 +10852,7 @@ function useAttrs() {
10783
10852
  function getContext() {
10784
10853
  const i = getCurrentInstance();
10785
10854
  if (!i) {
10786
- warn$1(`useContext() called without active instance.`);
10855
+ warn(`useContext() called without active instance.`);
10787
10856
  }
10788
10857
  return i.setupContext || (i.setupContext = createSetupContext(i));
10789
10858
  }
@@ -10810,7 +10879,7 @@ function mergeDefaults(raw, defaults) {
10810
10879
  props[key] = { default: defaults[key] };
10811
10880
  }
10812
10881
  else {
10813
- warn$1(`props default key "${key}" has no corresponding declaration.`);
10882
+ warn(`props default key "${key}" has no corresponding declaration.`);
10814
10883
  }
10815
10884
  }
10816
10885
  return props;
@@ -10853,7 +10922,7 @@ function createPropsRestProxy(props, excludedKeys) {
10853
10922
  function withAsyncContext(getAwaitable) {
10854
10923
  const ctx = getCurrentInstance();
10855
10924
  if (!ctx) {
10856
- warn$1(`withAsyncContext called without active current instance. ` +
10925
+ warn(`withAsyncContext called without active current instance. ` +
10857
10926
  `This is likely a bug.`);
10858
10927
  }
10859
10928
  let awaitable = getAwaitable();
@@ -10900,7 +10969,7 @@ const useSSRContext = () => {
10900
10969
  {
10901
10970
  const ctx = inject(ssrContextKey);
10902
10971
  if (!ctx) {
10903
- warn$1(`Server rendering context not provided. Make sure to only call ` +
10972
+ warn(`Server rendering context not provided. Make sure to only call ` +
10904
10973
  `useSSRContext() conditionally in the server build.`);
10905
10974
  }
10906
10975
  return ctx;
@@ -11124,7 +11193,7 @@ function isMemoSame(cached, memo) {
11124
11193
  }
11125
11194
 
11126
11195
  // Core API ------------------------------------------------------------------
11127
- const version = "3.2.45";
11196
+ const version = "3.2.46";
11128
11197
  /**
11129
11198
  * SSR utils for \@vue/server-renderer. Only exposed in ssr-possible builds.
11130
11199
  * @internal
@@ -11133,10 +11202,10 @@ const ssrUtils = (null);
11133
11202
  /**
11134
11203
  * @internal only exposed in compat builds
11135
11204
  */
11136
- const resolveFilter$1 = resolveFilter ;
11205
+ const resolveFilter = resolveFilter$1 ;
11137
11206
  const _compatUtils = {
11138
11207
  warnDeprecation,
11139
- createCompatVue,
11208
+ createCompatVue: createCompatVue$1,
11140
11209
  isCompatEnabled,
11141
11210
  checkCompatEnabled,
11142
11211
  softAssertCompatEnabled
@@ -11248,9 +11317,6 @@ function patchStyle(el, prev, next) {
11248
11317
  const style = el.style;
11249
11318
  const isCssString = isString(next);
11250
11319
  if (next && !isCssString) {
11251
- for (const key in next) {
11252
- setStyle(style, key, next[key]);
11253
- }
11254
11320
  if (prev && !isString(prev)) {
11255
11321
  for (const key in prev) {
11256
11322
  if (next[key] == null) {
@@ -11258,6 +11324,9 @@ function patchStyle(el, prev, next) {
11258
11324
  }
11259
11325
  }
11260
11326
  }
11327
+ for (const key in next) {
11328
+ setStyle(style, key, next[key]);
11329
+ }
11261
11330
  }
11262
11331
  else {
11263
11332
  const currentDisplay = style.display;
@@ -11288,7 +11357,7 @@ function setStyle(style, name, val) {
11288
11357
  val = '';
11289
11358
  {
11290
11359
  if (semicolonRE.test(val)) {
11291
- warn$1(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
11360
+ warn(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
11292
11361
  }
11293
11362
  }
11294
11363
  if (name.startsWith('--')) {
@@ -11450,7 +11519,7 @@ prevChildren, parentComponent, parentSuspense, unmountChildren) {
11450
11519
  catch (e) {
11451
11520
  // do not warn if value is auto-coerced from nullish values
11452
11521
  if (!needRemove) {
11453
- warn$1(`Failed setting prop "${key}" on <${el.tagName.toLowerCase()}>: ` +
11522
+ warn(`Failed setting prop "${key}" on <${el.tagName.toLowerCase()}>: ` +
11454
11523
  `value ${value} is invalid.`, e);
11455
11524
  }
11456
11525
  }
@@ -11654,7 +11723,7 @@ class VueElement extends BaseClass {
11654
11723
  }
11655
11724
  else {
11656
11725
  if (this.shadowRoot) {
11657
- warn$1(`Custom element has pre-rendered declarative shadow root but is not ` +
11726
+ warn(`Custom element has pre-rendered declarative shadow root but is not ` +
11658
11727
  `defined as hydratable. Use \`defineSSRCustomElement\`.`);
11659
11728
  }
11660
11729
  this.attachShadow({ mode: 'open' });
@@ -11861,17 +11930,17 @@ function useCssModule(name = '$style') {
11861
11930
  {
11862
11931
  const instance = getCurrentInstance();
11863
11932
  if (!instance) {
11864
- warn$1(`useCssModule must be called inside setup()`);
11933
+ warn(`useCssModule must be called inside setup()`);
11865
11934
  return EMPTY_OBJ;
11866
11935
  }
11867
11936
  const modules = instance.type.__cssModules;
11868
11937
  if (!modules) {
11869
- warn$1(`Current instance does not have CSS modules injected.`);
11938
+ warn(`Current instance does not have CSS modules injected.`);
11870
11939
  return EMPTY_OBJ;
11871
11940
  }
11872
11941
  const mod = modules[name];
11873
11942
  if (!mod) {
11874
- warn$1(`Current instance does not have CSS module named "${name}".`);
11943
+ warn(`Current instance does not have CSS module named "${name}".`);
11875
11944
  return EMPTY_OBJ;
11876
11945
  }
11877
11946
  return mod;
@@ -11886,7 +11955,7 @@ function useCssVars(getter) {
11886
11955
  const instance = getCurrentInstance();
11887
11956
  /* istanbul ignore next */
11888
11957
  if (!instance) {
11889
- warn$1(`useCssVars is called without current active component instance.`);
11958
+ warn(`useCssVars is called without current active component instance.`);
11890
11959
  return;
11891
11960
  }
11892
11961
  const updateTeleports = (instance.ut = (vars = getter(instance.proxy)) => {
@@ -11976,7 +12045,7 @@ const TransitionPropsValidators = (Transition.props =
11976
12045
  * #3227 Incoming hooks may be merged into arrays when wrapping Transition
11977
12046
  * with custom HOCs.
11978
12047
  */
11979
- const callHook$1 = (hook, args = []) => {
12048
+ const callHook = (hook, args = []) => {
11980
12049
  if (isArray(hook)) {
11981
12050
  hook.forEach(h => h(...args));
11982
12051
  }
@@ -12043,11 +12112,16 @@ function resolveTransitionProps(rawProps) {
12043
12112
  return (el, done) => {
12044
12113
  const hook = isAppear ? onAppear : onEnter;
12045
12114
  const resolve = () => finishEnter(el, isAppear, done);
12046
- callHook$1(hook, [el, resolve]);
12115
+ callHook(hook, [el, resolve]);
12047
12116
  nextFrame(() => {
12048
12117
  removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
12049
12118
  if (legacyClassEnabled) {
12050
- removeTransitionClass(el, isAppear ? legacyAppearFromClass : legacyEnterFromClass);
12119
+ const legacyClass = isAppear
12120
+ ? legacyAppearFromClass
12121
+ : legacyEnterFromClass;
12122
+ if (legacyClass) {
12123
+ removeTransitionClass(el, legacyClass);
12124
+ }
12051
12125
  }
12052
12126
  addTransitionClass(el, isAppear ? appearToClass : enterToClass);
12053
12127
  if (!hasExplicitCallback(hook)) {
@@ -12058,17 +12132,17 @@ function resolveTransitionProps(rawProps) {
12058
12132
  };
12059
12133
  return extend(baseProps, {
12060
12134
  onBeforeEnter(el) {
12061
- callHook$1(onBeforeEnter, [el]);
12135
+ callHook(onBeforeEnter, [el]);
12062
12136
  addTransitionClass(el, enterFromClass);
12063
- if (legacyClassEnabled) {
12137
+ if (legacyClassEnabled && legacyEnterFromClass) {
12064
12138
  addTransitionClass(el, legacyEnterFromClass);
12065
12139
  }
12066
12140
  addTransitionClass(el, enterActiveClass);
12067
12141
  },
12068
12142
  onBeforeAppear(el) {
12069
- callHook$1(onBeforeAppear, [el]);
12143
+ callHook(onBeforeAppear, [el]);
12070
12144
  addTransitionClass(el, appearFromClass);
12071
- if (legacyClassEnabled) {
12145
+ if (legacyClassEnabled && legacyAppearFromClass) {
12072
12146
  addTransitionClass(el, legacyAppearFromClass);
12073
12147
  }
12074
12148
  addTransitionClass(el, appearActiveClass);
@@ -12079,7 +12153,7 @@ function resolveTransitionProps(rawProps) {
12079
12153
  el._isLeaving = true;
12080
12154
  const resolve = () => finishLeave(el, done);
12081
12155
  addTransitionClass(el, leaveFromClass);
12082
- if (legacyClassEnabled) {
12156
+ if (legacyClassEnabled && legacyLeaveFromClass) {
12083
12157
  addTransitionClass(el, legacyLeaveFromClass);
12084
12158
  }
12085
12159
  // force reflow so *-leave-from classes immediately take effect (#2593)
@@ -12091,7 +12165,7 @@ function resolveTransitionProps(rawProps) {
12091
12165
  return;
12092
12166
  }
12093
12167
  removeTransitionClass(el, leaveFromClass);
12094
- if (legacyClassEnabled) {
12168
+ if (legacyClassEnabled && legacyLeaveFromClass) {
12095
12169
  removeTransitionClass(el, legacyLeaveFromClass);
12096
12170
  }
12097
12171
  addTransitionClass(el, leaveToClass);
@@ -12099,19 +12173,19 @@ function resolveTransitionProps(rawProps) {
12099
12173
  whenTransitionEnds(el, type, leaveDuration, resolve);
12100
12174
  }
12101
12175
  });
12102
- callHook$1(onLeave, [el, resolve]);
12176
+ callHook(onLeave, [el, resolve]);
12103
12177
  },
12104
12178
  onEnterCancelled(el) {
12105
12179
  finishEnter(el, false);
12106
- callHook$1(onEnterCancelled, [el]);
12180
+ callHook(onEnterCancelled, [el]);
12107
12181
  },
12108
12182
  onAppearCancelled(el) {
12109
12183
  finishEnter(el, true);
12110
- callHook$1(onAppearCancelled, [el]);
12184
+ callHook(onAppearCancelled, [el]);
12111
12185
  },
12112
12186
  onLeaveCancelled(el) {
12113
12187
  finishLeave(el);
12114
- callHook$1(onLeaveCancelled, [el]);
12188
+ callHook(onLeaveCancelled, [el]);
12115
12189
  }
12116
12190
  });
12117
12191
  }
@@ -12129,18 +12203,10 @@ function normalizeDuration(duration) {
12129
12203
  }
12130
12204
  function NumberOf(val) {
12131
12205
  const res = toNumber(val);
12132
- validateDuration(res);
12133
- return res;
12134
- }
12135
- function validateDuration(val) {
12136
- if (typeof val !== 'number') {
12137
- warn$1(`<transition> explicit duration is not a valid number - ` +
12138
- `got ${JSON.stringify(val)}.`);
12139
- }
12140
- else if (isNaN(val)) {
12141
- warn$1(`<transition> explicit duration is NaN - ` +
12142
- 'the duration expression might be incorrect.');
12206
+ {
12207
+ assertNumber(res, '<transition> explicit duration');
12143
12208
  }
12209
+ return res;
12144
12210
  }
12145
12211
  function addTransitionClass(el, cls) {
12146
12212
  cls.split(/\s+/).forEach(c => c && el.classList.add(c));
@@ -12327,7 +12393,7 @@ const TransitionGroupImpl = {
12327
12393
  setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
12328
12394
  }
12329
12395
  else {
12330
- warn$1(`<TransitionGroup> children must be keyed.`);
12396
+ warn(`<TransitionGroup> children must be keyed.`);
12331
12397
  }
12332
12398
  }
12333
12399
  if (prevChildren) {
@@ -12344,6 +12410,14 @@ const TransitionGroupImpl = {
12344
12410
  {
12345
12411
  TransitionGroupImpl.__isBuiltIn = true;
12346
12412
  }
12413
+ /**
12414
+ * TransitionGroup does not support "mode" so we need to remove it from the
12415
+ * props declarations, but direct delete operation is considered a side effect
12416
+ * and will make the entire transition feature non-tree-shakeable, so we do it
12417
+ * in a function and mark the function's invocation as pure.
12418
+ */
12419
+ const removeMode = (props) => delete props.mode;
12420
+ /*#__PURE__*/ removeMode(TransitionGroupImpl.props);
12347
12421
  const TransitionGroup = TransitionGroupImpl;
12348
12422
  function callPendingCbs(c) {
12349
12423
  const el = c.el;
@@ -12419,7 +12493,7 @@ const vModelText = {
12419
12493
  domValue = domValue.trim();
12420
12494
  }
12421
12495
  if (castToNumber) {
12422
- domValue = toNumber(domValue);
12496
+ domValue = looseToNumber(domValue);
12423
12497
  }
12424
12498
  el._assign(domValue);
12425
12499
  });
@@ -12454,7 +12528,8 @@ const vModelText = {
12454
12528
  if (trim && el.value.trim() === value) {
12455
12529
  return;
12456
12530
  }
12457
- if ((number || el.type === 'number') && toNumber(el.value) === value) {
12531
+ if ((number || el.type === 'number') &&
12532
+ looseToNumber(el.value) === value) {
12458
12533
  return;
12459
12534
  }
12460
12535
  }
@@ -12543,7 +12618,7 @@ const vModelSelect = {
12543
12618
  addEventListener(el, 'change', () => {
12544
12619
  const selectedVal = Array.prototype.filter
12545
12620
  .call(el.options, (o) => o.selected)
12546
- .map((o) => number ? toNumber(getValue(o)) : getValue(o));
12621
+ .map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
12547
12622
  el._assign(el.multiple
12548
12623
  ? isSetModel
12549
12624
  ? new Set(selectedVal)
@@ -12567,7 +12642,7 @@ const vModelSelect = {
12567
12642
  function setSelected(el, value) {
12568
12643
  const isMultiple = el.multiple;
12569
12644
  if (isMultiple && !isArray(value) && !isSet(value)) {
12570
- warn$1(`<select multiple v-model> expects an Array or Set value for its binding, ` +
12645
+ warn(`<select multiple v-model> expects an Array or Set value for its binding, ` +
12571
12646
  `but got ${Object.prototype.toString.call(value).slice(8, -1)}.`);
12572
12647
  return;
12573
12648
  }
@@ -12863,7 +12938,7 @@ function injectCompilerOptionsCheck(app) {
12863
12938
  return isCustomElement;
12864
12939
  },
12865
12940
  set() {
12866
- warn$1(`The \`isCustomElement\` config option is deprecated. Use ` +
12941
+ warn(`The \`isCustomElement\` config option is deprecated. Use ` +
12867
12942
  `\`compilerOptions.isCustomElement\` instead.`);
12868
12943
  }
12869
12944
  });
@@ -12877,11 +12952,11 @@ function injectCompilerOptionsCheck(app) {
12877
12952
  `- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-dom`;
12878
12953
  Object.defineProperty(app.config, 'compilerOptions', {
12879
12954
  get() {
12880
- warn$1(msg);
12955
+ warn(msg);
12881
12956
  return compilerOptions;
12882
12957
  },
12883
12958
  set() {
12884
- warn$1(msg);
12959
+ warn(msg);
12885
12960
  }
12886
12961
  });
12887
12962
  }
@@ -12890,14 +12965,14 @@ function normalizeContainer(container) {
12890
12965
  if (isString(container)) {
12891
12966
  const res = document.querySelector(container);
12892
12967
  if (!res) {
12893
- warn$1(`Failed to mount app: mount target selector "${container}" returned null.`);
12968
+ warn(`Failed to mount app: mount target selector "${container}" returned null.`);
12894
12969
  }
12895
12970
  return res;
12896
12971
  }
12897
12972
  if (window.ShadowRoot &&
12898
12973
  container instanceof window.ShadowRoot &&
12899
12974
  container.mode === 'closed') {
12900
- warn$1(`mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`);
12975
+ warn(`mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`);
12901
12976
  }
12902
12977
  return container;
12903
12978
  }
@@ -12908,150 +12983,151 @@ const initDirectivesForSSR = NOOP;
12908
12983
 
12909
12984
  var runtimeDom = /*#__PURE__*/Object.freeze({
12910
12985
  __proto__: null,
12911
- render: render,
12912
- hydrate: hydrate,
12986
+ BaseTransition: BaseTransition,
12987
+ Comment: Comment,
12988
+ EffectScope: EffectScope,
12989
+ Fragment: Fragment,
12990
+ KeepAlive: KeepAlive,
12991
+ ReactiveEffect: ReactiveEffect,
12992
+ Static: Static,
12993
+ Suspense: Suspense,
12994
+ Teleport: Teleport,
12995
+ Text: Text,
12996
+ Transition: Transition,
12997
+ TransitionGroup: TransitionGroup,
12998
+ VueElement: VueElement,
12999
+ assertNumber: assertNumber,
13000
+ callWithAsyncErrorHandling: callWithAsyncErrorHandling,
13001
+ callWithErrorHandling: callWithErrorHandling,
13002
+ camelize: camelize,
13003
+ capitalize: capitalize,
13004
+ cloneVNode: cloneVNode,
13005
+ compatUtils: compatUtils,
13006
+ computed: computed,
12913
13007
  createApp: createApp,
13008
+ createBlock: createBlock,
13009
+ createCommentVNode: createCommentVNode,
13010
+ createElementBlock: createElementBlock,
13011
+ createElementVNode: createBaseVNode,
13012
+ createHydrationRenderer: createHydrationRenderer,
13013
+ createPropsRestProxy: createPropsRestProxy,
13014
+ createRenderer: createRenderer,
12914
13015
  createSSRApp: createSSRApp,
12915
- initDirectivesForSSR: initDirectivesForSSR,
13016
+ createSlots: createSlots,
13017
+ createStaticVNode: createStaticVNode,
13018
+ createTextVNode: createTextVNode,
13019
+ createVNode: createVNode,
13020
+ customRef: customRef,
13021
+ defineAsyncComponent: defineAsyncComponent,
13022
+ defineComponent: defineComponent,
12916
13023
  defineCustomElement: defineCustomElement,
13024
+ defineEmits: defineEmits,
13025
+ defineExpose: defineExpose,
13026
+ defineProps: defineProps,
12917
13027
  defineSSRCustomElement: defineSSRCustomElement,
12918
- VueElement: VueElement,
12919
- useCssModule: useCssModule,
12920
- useCssVars: useCssVars,
12921
- Transition: Transition,
12922
- TransitionGroup: TransitionGroup,
12923
- vModelText: vModelText,
12924
- vModelCheckbox: vModelCheckbox,
12925
- vModelRadio: vModelRadio,
12926
- vModelSelect: vModelSelect,
12927
- vModelDynamic: vModelDynamic,
12928
- withModifiers: withModifiers,
12929
- withKeys: withKeys,
12930
- vShow: vShow,
12931
- reactive: reactive,
12932
- ref: ref,
12933
- readonly: readonly,
12934
- unref: unref,
12935
- proxyRefs: proxyRefs,
12936
- isRef: isRef,
12937
- toRef: toRef,
12938
- toRefs: toRefs,
13028
+ get devtools () { return devtools; },
13029
+ effect: effect,
13030
+ effectScope: effectScope,
13031
+ getCurrentInstance: getCurrentInstance,
13032
+ getCurrentScope: getCurrentScope,
13033
+ getTransitionRawChildren: getTransitionRawChildren,
13034
+ guardReactiveProps: guardReactiveProps,
13035
+ h: h,
13036
+ handleError: handleError,
13037
+ hydrate: hydrate,
13038
+ initCustomFormatter: initCustomFormatter,
13039
+ initDirectivesForSSR: initDirectivesForSSR,
13040
+ inject: inject,
13041
+ isMemoSame: isMemoSame,
12939
13042
  isProxy: isProxy,
12940
13043
  isReactive: isReactive,
12941
13044
  isReadonly: isReadonly,
13045
+ isRef: isRef,
13046
+ isRuntimeOnly: isRuntimeOnly,
12942
13047
  isShallow: isShallow,
12943
- customRef: customRef,
12944
- triggerRef: triggerRef,
12945
- shallowRef: shallowRef,
12946
- shallowReactive: shallowReactive,
12947
- shallowReadonly: shallowReadonly,
13048
+ isVNode: isVNode,
12948
13049
  markRaw: markRaw,
12949
- toRaw: toRaw,
12950
- effect: effect,
12951
- stop: stop,
12952
- ReactiveEffect: ReactiveEffect,
12953
- effectScope: effectScope,
12954
- EffectScope: EffectScope,
12955
- getCurrentScope: getCurrentScope,
12956
- onScopeDispose: onScopeDispose,
12957
- computed: computed$1,
12958
- watch: watch,
12959
- watchEffect: watchEffect,
12960
- watchPostEffect: watchPostEffect,
12961
- watchSyncEffect: watchSyncEffect,
13050
+ mergeDefaults: mergeDefaults,
13051
+ mergeProps: mergeProps,
13052
+ nextTick: nextTick,
13053
+ normalizeClass: normalizeClass,
13054
+ normalizeProps: normalizeProps,
13055
+ normalizeStyle: normalizeStyle,
13056
+ onActivated: onActivated,
12962
13057
  onBeforeMount: onBeforeMount,
12963
- onMounted: onMounted,
12964
- onBeforeUpdate: onBeforeUpdate,
12965
- onUpdated: onUpdated,
12966
13058
  onBeforeUnmount: onBeforeUnmount,
12967
- onUnmounted: onUnmounted,
12968
- onActivated: onActivated,
13059
+ onBeforeUpdate: onBeforeUpdate,
12969
13060
  onDeactivated: onDeactivated,
13061
+ onErrorCaptured: onErrorCaptured,
13062
+ onMounted: onMounted,
12970
13063
  onRenderTracked: onRenderTracked,
12971
13064
  onRenderTriggered: onRenderTriggered,
12972
- onErrorCaptured: onErrorCaptured,
13065
+ onScopeDispose: onScopeDispose,
12973
13066
  onServerPrefetch: onServerPrefetch,
13067
+ onUnmounted: onUnmounted,
13068
+ onUpdated: onUpdated,
13069
+ openBlock: openBlock,
13070
+ popScopeId: popScopeId,
12974
13071
  provide: provide,
12975
- inject: inject,
12976
- nextTick: nextTick,
12977
- defineComponent: defineComponent,
12978
- defineAsyncComponent: defineAsyncComponent,
12979
- useAttrs: useAttrs,
12980
- useSlots: useSlots,
12981
- defineProps: defineProps,
12982
- defineEmits: defineEmits,
12983
- defineExpose: defineExpose,
12984
- withDefaults: withDefaults,
12985
- mergeDefaults: mergeDefaults,
12986
- createPropsRestProxy: createPropsRestProxy,
12987
- withAsyncContext: withAsyncContext,
12988
- getCurrentInstance: getCurrentInstance,
12989
- h: h,
12990
- createVNode: createVNode,
12991
- cloneVNode: cloneVNode,
12992
- mergeProps: mergeProps,
12993
- isVNode: isVNode,
12994
- Fragment: Fragment,
12995
- Text: Text,
12996
- Comment: Comment,
12997
- Static: Static,
12998
- Teleport: Teleport,
12999
- Suspense: Suspense,
13000
- KeepAlive: KeepAlive,
13001
- BaseTransition: BaseTransition,
13002
- withDirectives: withDirectives,
13003
- useSSRContext: useSSRContext,
13004
- ssrContextKey: ssrContextKey,
13005
- createRenderer: createRenderer,
13006
- createHydrationRenderer: createHydrationRenderer,
13072
+ proxyRefs: proxyRefs,
13073
+ pushScopeId: pushScopeId,
13007
13074
  queuePostFlushCb: queuePostFlushCb,
13008
- warn: warn$1,
13009
- handleError: handleError,
13010
- callWithErrorHandling: callWithErrorHandling,
13011
- callWithAsyncErrorHandling: callWithAsyncErrorHandling,
13075
+ reactive: reactive,
13076
+ readonly: readonly,
13077
+ ref: ref,
13078
+ registerRuntimeCompiler: registerRuntimeCompiler,
13079
+ render: render,
13080
+ renderList: renderList,
13081
+ renderSlot: renderSlot,
13012
13082
  resolveComponent: resolveComponent,
13013
13083
  resolveDirective: resolveDirective,
13014
13084
  resolveDynamicComponent: resolveDynamicComponent,
13015
- registerRuntimeCompiler: registerRuntimeCompiler,
13016
- isRuntimeOnly: isRuntimeOnly,
13017
- useTransitionState: useTransitionState,
13085
+ resolveFilter: resolveFilter,
13018
13086
  resolveTransitionHooks: resolveTransitionHooks,
13019
- setTransitionHooks: setTransitionHooks,
13020
- getTransitionRawChildren: getTransitionRawChildren,
13021
- initCustomFormatter: initCustomFormatter,
13022
- get devtools () { return devtools; },
13023
- setDevtoolsHook: setDevtoolsHook,
13024
- withCtx: withCtx,
13025
- pushScopeId: pushScopeId,
13026
- popScopeId: popScopeId,
13027
- withScopeId: withScopeId,
13028
- renderList: renderList,
13029
- toHandlers: toHandlers,
13030
- renderSlot: renderSlot,
13031
- createSlots: createSlots,
13032
- withMemo: withMemo,
13033
- isMemoSame: isMemoSame,
13034
- openBlock: openBlock,
13035
- createBlock: createBlock,
13036
13087
  setBlockTracking: setBlockTracking,
13037
- createTextVNode: createTextVNode,
13038
- createCommentVNode: createCommentVNode,
13039
- createStaticVNode: createStaticVNode,
13040
- createElementVNode: createBaseVNode,
13041
- createElementBlock: createElementBlock,
13042
- guardReactiveProps: guardReactiveProps,
13088
+ setDevtoolsHook: setDevtoolsHook,
13089
+ setTransitionHooks: setTransitionHooks,
13090
+ shallowReactive: shallowReactive,
13091
+ shallowReadonly: shallowReadonly,
13092
+ shallowRef: shallowRef,
13093
+ ssrContextKey: ssrContextKey,
13094
+ ssrUtils: ssrUtils,
13095
+ stop: stop,
13043
13096
  toDisplayString: toDisplayString,
13044
- camelize: camelize,
13045
- capitalize: capitalize,
13046
13097
  toHandlerKey: toHandlerKey,
13047
- normalizeProps: normalizeProps,
13048
- normalizeClass: normalizeClass,
13049
- normalizeStyle: normalizeStyle,
13098
+ toHandlers: toHandlers,
13099
+ toRaw: toRaw,
13100
+ toRef: toRef,
13101
+ toRefs: toRefs,
13050
13102
  transformVNodeArgs: transformVNodeArgs,
13103
+ triggerRef: triggerRef,
13104
+ unref: unref,
13105
+ useAttrs: useAttrs,
13106
+ useCssModule: useCssModule,
13107
+ useCssVars: useCssVars,
13108
+ useSSRContext: useSSRContext,
13109
+ useSlots: useSlots,
13110
+ useTransitionState: useTransitionState,
13111
+ vModelCheckbox: vModelCheckbox,
13112
+ vModelDynamic: vModelDynamic,
13113
+ vModelRadio: vModelRadio,
13114
+ vModelSelect: vModelSelect,
13115
+ vModelText: vModelText,
13116
+ vShow: vShow,
13051
13117
  version: version,
13052
- ssrUtils: ssrUtils,
13053
- resolveFilter: resolveFilter$1,
13054
- compatUtils: compatUtils
13118
+ warn: warn,
13119
+ watch: watch,
13120
+ watchEffect: watchEffect,
13121
+ watchPostEffect: watchPostEffect,
13122
+ watchSyncEffect: watchSyncEffect,
13123
+ withAsyncContext: withAsyncContext,
13124
+ withCtx: withCtx,
13125
+ withDefaults: withDefaults,
13126
+ withDirectives: withDirectives,
13127
+ withKeys: withKeys,
13128
+ withMemo: withMemo,
13129
+ withModifiers: withModifiers,
13130
+ withScopeId: withScopeId
13055
13131
  });
13056
13132
 
13057
13133
  function initDev() {
@@ -13085,23 +13161,23 @@ function wrappedCreateApp(...args) {
13085
13161
  }
13086
13162
  return app;
13087
13163
  }
13088
- function createCompatVue$1() {
13164
+ function createCompatVue() {
13089
13165
  const Vue = compatUtils.createCompatVue(createApp, wrappedCreateApp);
13090
13166
  extend(Vue, runtimeDom);
13091
13167
  return Vue;
13092
13168
  }
13093
13169
 
13094
13170
  // This entry exports the runtime only, and is built as
13095
- const Vue = createCompatVue$1();
13171
+ const Vue = createCompatVue();
13096
13172
  Vue.compile = (() => {
13097
13173
  {
13098
- warn$1(`Runtime compilation is not supported in this build of Vue.` +
13174
+ warn(`Runtime compilation is not supported in this build of Vue.` +
13099
13175
  (` Use "vue.esm-browser.js" instead.`
13100
13176
  ) /* should not happen */);
13101
13177
  }
13102
13178
  });
13179
+ var Vue$1 = Vue;
13103
13180
 
13104
- const { configureCompat: configureCompat$1 } = Vue;
13181
+ const { configureCompat } = Vue$1;
13105
13182
 
13106
- export default Vue;
13107
- export { BaseTransition, Comment, EffectScope, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, Transition, TransitionGroup, VueElement, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed$1 as computed, configureCompat$1 as configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineProps, defineSSRCustomElement, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter$1 as resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn$1 as warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };
13183
+ export { BaseTransition, Comment, EffectScope, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, Transition, TransitionGroup, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, Vue$1 as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineProps, defineSSRCustomElement, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };