@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.
@@ -169,7 +169,7 @@ function normalizeProps(props) {
169
169
  // These tag configs are shared between compiler-dom and runtime-dom, so they
170
170
  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element
171
171
  const HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' +
172
- 'header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +
172
+ 'header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +
173
173
  'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' +
174
174
  'data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,' +
175
175
  'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' +
@@ -181,7 +181,7 @@ const HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,asi
181
181
  const SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' +
182
182
  'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' +
183
183
  'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' +
184
- 'feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +
184
+ 'feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +
185
185
  'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' +
186
186
  'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' +
187
187
  'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' +
@@ -338,12 +338,13 @@ const remove = (arr, el) => {
338
338
  arr.splice(i, 1);
339
339
  }
340
340
  };
341
- const hasOwnProperty = Object.prototype.hasOwnProperty;
342
- const hasOwn = (val, key) => hasOwnProperty.call(val, key);
341
+ const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
342
+ const hasOwn = (val, key) => hasOwnProperty$1.call(val, key);
343
343
  const isArray = Array.isArray;
344
344
  const isMap = (val) => toTypeString(val) === '[object Map]';
345
345
  const isSet = (val) => toTypeString(val) === '[object Set]';
346
346
  const isDate = (val) => toTypeString(val) === '[object Date]';
347
+ const isRegExp = (val) => toTypeString(val) === '[object RegExp]';
347
348
  const isFunction = (val) => typeof val === 'function';
348
349
  const isString = (val) => typeof val === 'string';
349
350
  const isSymbol = (val) => typeof val === 'symbol';
@@ -410,10 +411,22 @@ const def = (obj, key, value) => {
410
411
  value
411
412
  });
412
413
  };
413
- const toNumber = (val) => {
414
+ /**
415
+ * "123-foo" will be parsed to 123
416
+ * This is used for the .number modifier in v-model
417
+ */
418
+ const looseToNumber = (val) => {
414
419
  const n = parseFloat(val);
415
420
  return isNaN(n) ? val : n;
416
421
  };
422
+ /**
423
+ * Only conerces number-like strings
424
+ * "123-foo" will be returned as-is
425
+ */
426
+ const toNumber = (val) => {
427
+ const n = isString(val) ? Number(val) : NaN;
428
+ return isNaN(n) ? val : n;
429
+ };
417
430
  let _globalThis;
418
431
  const getGlobalThis = () => {
419
432
  return (_globalThis ||
@@ -429,7 +442,7 @@ const getGlobalThis = () => {
429
442
  : {}));
430
443
  };
431
444
 
432
- function warn(msg, ...args) {
445
+ function warn$1(msg, ...args) {
433
446
  console.warn(`[Vue warn] ${msg}`, ...args);
434
447
  }
435
448
 
@@ -440,7 +453,7 @@ class EffectScope {
440
453
  /**
441
454
  * @internal
442
455
  */
443
- this.active = true;
456
+ this._active = true;
444
457
  /**
445
458
  * @internal
446
459
  */
@@ -455,8 +468,11 @@ class EffectScope {
455
468
  (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
456
469
  }
457
470
  }
471
+ get active() {
472
+ return this._active;
473
+ }
458
474
  run(fn) {
459
- if (this.active) {
475
+ if (this._active) {
460
476
  const currentEffectScope = activeEffectScope;
461
477
  try {
462
478
  activeEffectScope = this;
@@ -467,7 +483,7 @@ class EffectScope {
467
483
  }
468
484
  }
469
485
  else {
470
- warn(`cannot run an inactive effect scope.`);
486
+ warn$1(`cannot run an inactive effect scope.`);
471
487
  }
472
488
  }
473
489
  /**
@@ -485,7 +501,7 @@ class EffectScope {
485
501
  activeEffectScope = this.parent;
486
502
  }
487
503
  stop(fromParent) {
488
- if (this.active) {
504
+ if (this._active) {
489
505
  let i, l;
490
506
  for (i = 0, l = this.effects.length; i < l; i++) {
491
507
  this.effects[i].stop();
@@ -508,7 +524,7 @@ class EffectScope {
508
524
  }
509
525
  }
510
526
  this.parent = undefined;
511
- this.active = false;
527
+ this._active = false;
512
528
  }
513
529
  }
514
530
  }
@@ -528,7 +544,7 @@ function onScopeDispose(fn) {
528
544
  activeEffectScope.cleanups.push(fn);
529
545
  }
530
546
  else {
531
- warn(`onScopeDispose() is called when there is no active effect scope` +
547
+ warn$1(`onScopeDispose() is called when there is no active effect scope` +
532
548
  ` to be associated with.`);
533
549
  }
534
550
  }
@@ -729,7 +745,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
729
745
  deps = [...depsMap.values()];
730
746
  }
731
747
  else if (key === 'length' && isArray(target)) {
732
- const newLength = toNumber(newValue);
748
+ const newLength = Number(newValue);
733
749
  depsMap.forEach((dep, key) => {
734
750
  if (key === 'length' || key >= newLength) {
735
751
  deps.push(dep);
@@ -818,6 +834,10 @@ function triggerEffect(effect, debuggerEventExtraInfo) {
818
834
  }
819
835
  }
820
836
  }
837
+ function getDepFromReactive(object, key) {
838
+ var _a;
839
+ return (_a = targetMap.get(object)) === null || _a === void 0 ? void 0 : _a.get(key);
840
+ }
821
841
 
822
842
  const isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
823
843
  const builtInSymbols = new Set(
@@ -829,7 +849,7 @@ Object.getOwnPropertyNames(Symbol)
829
849
  .filter(key => key !== 'arguments' && key !== 'caller')
830
850
  .map(key => Symbol[key])
831
851
  .filter(isSymbol));
832
- const get = /*#__PURE__*/ createGetter();
852
+ const get$1 = /*#__PURE__*/ createGetter();
833
853
  const shallowGet = /*#__PURE__*/ createGetter(false, true);
834
854
  const readonlyGet = /*#__PURE__*/ createGetter(true);
835
855
  const shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);
@@ -863,6 +883,11 @@ function createArrayInstrumentations() {
863
883
  });
864
884
  return instrumentations;
865
885
  }
886
+ function hasOwnProperty(key) {
887
+ const obj = toRaw(this);
888
+ track(obj, "has" /* TrackOpTypes.HAS */, key);
889
+ return obj.hasOwnProperty(key);
890
+ }
866
891
  function createGetter(isReadonly = false, shallow = false) {
867
892
  return function get(target, key, receiver) {
868
893
  if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
@@ -886,8 +911,13 @@ function createGetter(isReadonly = false, shallow = false) {
886
911
  return target;
887
912
  }
888
913
  const targetIsArray = isArray(target);
889
- if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {
890
- return Reflect.get(arrayInstrumentations, key, receiver);
914
+ if (!isReadonly) {
915
+ if (targetIsArray && hasOwn(arrayInstrumentations, key)) {
916
+ return Reflect.get(arrayInstrumentations, key, receiver);
917
+ }
918
+ if (key === 'hasOwnProperty') {
919
+ return hasOwnProperty;
920
+ }
891
921
  }
892
922
  const res = Reflect.get(target, key, receiver);
893
923
  if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
@@ -912,7 +942,7 @@ function createGetter(isReadonly = false, shallow = false) {
912
942
  return res;
913
943
  };
914
944
  }
915
- const set = /*#__PURE__*/ createSetter();
945
+ const set$1 = /*#__PURE__*/ createSetter();
916
946
  const shallowSet = /*#__PURE__*/ createSetter(true);
917
947
  function createSetter(shallow = false) {
918
948
  return function set(target, key, value, receiver) {
@@ -955,7 +985,7 @@ function deleteProperty(target, key) {
955
985
  }
956
986
  return result;
957
987
  }
958
- function has(target, key) {
988
+ function has$1(target, key) {
959
989
  const result = Reflect.has(target, key);
960
990
  if (!isSymbol(key) || !builtInSymbols.has(key)) {
961
991
  track(target, "has" /* TrackOpTypes.HAS */, key);
@@ -967,23 +997,23 @@ function ownKeys(target) {
967
997
  return Reflect.ownKeys(target);
968
998
  }
969
999
  const mutableHandlers = {
970
- get,
971
- set,
1000
+ get: get$1,
1001
+ set: set$1,
972
1002
  deleteProperty,
973
- has,
1003
+ has: has$1,
974
1004
  ownKeys
975
1005
  };
976
1006
  const readonlyHandlers = {
977
1007
  get: readonlyGet,
978
1008
  set(target, key) {
979
1009
  {
980
- warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
1010
+ warn$1(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
981
1011
  }
982
1012
  return true;
983
1013
  },
984
1014
  deleteProperty(target, key) {
985
1015
  {
986
- warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
1016
+ warn$1(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
987
1017
  }
988
1018
  return true;
989
1019
  }
@@ -1001,7 +1031,7 @@ const shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {
1001
1031
 
1002
1032
  const toShallow = (value) => value;
1003
1033
  const getProto = (v) => Reflect.getPrototypeOf(v);
1004
- function get$1(target, key, isReadonly = false, isShallow = false) {
1034
+ function get(target, key, isReadonly = false, isShallow = false) {
1005
1035
  // #1772: readonly(reactive(Map)) should return readonly + reactive version
1006
1036
  // of the value
1007
1037
  target = target["__v_raw" /* ReactiveFlags.RAW */];
@@ -1027,7 +1057,7 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
1027
1057
  target.get(key);
1028
1058
  }
1029
1059
  }
1030
- function has$1(key, isReadonly = false) {
1060
+ function has(key, isReadonly = false) {
1031
1061
  const target = this["__v_raw" /* ReactiveFlags.RAW */];
1032
1062
  const rawTarget = toRaw(target);
1033
1063
  const rawKey = toRaw(key);
@@ -1057,7 +1087,7 @@ function add(value) {
1057
1087
  }
1058
1088
  return this;
1059
1089
  }
1060
- function set$1(key, value) {
1090
+ function set(key, value) {
1061
1091
  value = toRaw(value);
1062
1092
  const target = toRaw(this);
1063
1093
  const { has, get } = getProto(target);
@@ -1170,41 +1200,41 @@ function createReadonlyMethod(type) {
1170
1200
  function createInstrumentations() {
1171
1201
  const mutableInstrumentations = {
1172
1202
  get(key) {
1173
- return get$1(this, key);
1203
+ return get(this, key);
1174
1204
  },
1175
1205
  get size() {
1176
1206
  return size(this);
1177
1207
  },
1178
- has: has$1,
1208
+ has,
1179
1209
  add,
1180
- set: set$1,
1210
+ set,
1181
1211
  delete: deleteEntry,
1182
1212
  clear,
1183
1213
  forEach: createForEach(false, false)
1184
1214
  };
1185
1215
  const shallowInstrumentations = {
1186
1216
  get(key) {
1187
- return get$1(this, key, false, true);
1217
+ return get(this, key, false, true);
1188
1218
  },
1189
1219
  get size() {
1190
1220
  return size(this);
1191
1221
  },
1192
- has: has$1,
1222
+ has,
1193
1223
  add,
1194
- set: set$1,
1224
+ set,
1195
1225
  delete: deleteEntry,
1196
1226
  clear,
1197
1227
  forEach: createForEach(false, true)
1198
1228
  };
1199
1229
  const readonlyInstrumentations = {
1200
1230
  get(key) {
1201
- return get$1(this, key, true);
1231
+ return get(this, key, true);
1202
1232
  },
1203
1233
  get size() {
1204
1234
  return size(this, true);
1205
1235
  },
1206
1236
  has(key) {
1207
- return has$1.call(this, key, true);
1237
+ return has.call(this, key, true);
1208
1238
  },
1209
1239
  add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
1210
1240
  set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
@@ -1214,13 +1244,13 @@ function createInstrumentations() {
1214
1244
  };
1215
1245
  const shallowReadonlyInstrumentations = {
1216
1246
  get(key) {
1217
- return get$1(this, key, true, true);
1247
+ return get(this, key, true, true);
1218
1248
  },
1219
1249
  get size() {
1220
1250
  return size(this, true);
1221
1251
  },
1222
1252
  has(key) {
1223
- return has$1.call(this, key, true);
1253
+ return has.call(this, key, true);
1224
1254
  },
1225
1255
  add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
1226
1256
  set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
@@ -1411,9 +1441,10 @@ function trackRefValue(ref) {
1411
1441
  }
1412
1442
  function triggerRefValue(ref, newVal) {
1413
1443
  ref = toRaw(ref);
1414
- if (ref.dep) {
1444
+ const dep = ref.dep;
1445
+ if (dep) {
1415
1446
  {
1416
- triggerEffects(ref.dep, {
1447
+ triggerEffects(dep, {
1417
1448
  target: ref,
1418
1449
  type: "set" /* TriggerOpTypes.SET */,
1419
1450
  key: 'value',
@@ -1525,6 +1556,9 @@ class ObjectRefImpl {
1525
1556
  set value(newVal) {
1526
1557
  this._object[this._key] = newVal;
1527
1558
  }
1559
+ get dep() {
1560
+ return getDepFromReactive(toRaw(this._object), this._key);
1561
+ }
1528
1562
  }
1529
1563
  function toRef(object, key, defaultValue) {
1530
1564
  const val = object[key];
@@ -1566,7 +1600,7 @@ class ComputedRefImpl {
1566
1600
  }
1567
1601
  }
1568
1602
  _a = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
1569
- function computed(getterOrOptions, debugOptions, isSSR = false) {
1603
+ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1570
1604
  let getter;
1571
1605
  let setter;
1572
1606
  const onlyGetter = isFunction(getterOrOptions);
@@ -1596,7 +1630,7 @@ function pushWarningContext(vnode) {
1596
1630
  function popWarningContext() {
1597
1631
  stack.pop();
1598
1632
  }
1599
- function warn$1(msg, ...args) {
1633
+ function warn(msg, ...args) {
1600
1634
  // avoid props formatting or warn handler tracking deps that might be mutated
1601
1635
  // during patch, leading to infinite recursion.
1602
1636
  pauseTracking();
@@ -1702,6 +1736,20 @@ function formatProp(key, value, raw) {
1702
1736
  return raw ? value : [`${key}=`, value];
1703
1737
  }
1704
1738
  }
1739
+ /**
1740
+ * @internal
1741
+ */
1742
+ function assertNumber(val, type) {
1743
+ if (val === undefined) {
1744
+ return;
1745
+ }
1746
+ else if (typeof val !== 'number') {
1747
+ warn(`${type} is not a valid number - ` + `got ${JSON.stringify(val)}.`);
1748
+ }
1749
+ else if (isNaN(val)) {
1750
+ warn(`${type} is NaN - ` + 'the duration expression might be incorrect.');
1751
+ }
1752
+ }
1705
1753
 
1706
1754
  const ErrorTypeStrings = {
1707
1755
  ["sp" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',
@@ -1795,7 +1843,7 @@ function logError(err, type, contextVNode, throwInDev = true) {
1795
1843
  if (contextVNode) {
1796
1844
  pushWarningContext(contextVNode);
1797
1845
  }
1798
- warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1846
+ warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1799
1847
  if (contextVNode) {
1800
1848
  popWarningContext();
1801
1849
  }
@@ -1991,7 +2039,7 @@ function checkRecursiveUpdates(seen, fn) {
1991
2039
  if (count > RECURSION_LIMIT) {
1992
2040
  const instance = fn.ownerInstance;
1993
2041
  const componentName = instance && getComponentName(instance.type);
1994
- warn$1(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +
2042
+ warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +
1995
2043
  `This means you have a reactive effect that is mutating its own ` +
1996
2044
  `dependencies and thus recursively triggering itself. Possible sources ` +
1997
2045
  `include component template, render function, updated hook or ` +
@@ -2142,7 +2190,7 @@ function tryWrap(fn) {
2142
2190
  let devtools;
2143
2191
  let buffer = [];
2144
2192
  let devtoolsNotInstalled = false;
2145
- function emit(event, ...args) {
2193
+ function emit$2(event, ...args) {
2146
2194
  if (devtools) {
2147
2195
  devtools.emit(event, ...args);
2148
2196
  }
@@ -2189,7 +2237,7 @@ function setDevtoolsHook(hook, target) {
2189
2237
  }
2190
2238
  }
2191
2239
  function devtoolsInitApp(app, version) {
2192
- emit("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
2240
+ emit$2("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
2193
2241
  Fragment,
2194
2242
  Text,
2195
2243
  Comment,
@@ -2197,7 +2245,7 @@ function devtoolsInitApp(app, version) {
2197
2245
  });
2198
2246
  }
2199
2247
  function devtoolsUnmountApp(app) {
2200
- emit("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
2248
+ emit$2("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
2201
2249
  }
2202
2250
  const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* DevtoolsHooks.COMPONENT_ADDED */);
2203
2251
  const devtoolsComponentUpdated =
@@ -2213,21 +2261,21 @@ const devtoolsComponentRemoved = (component) => {
2213
2261
  };
2214
2262
  function createDevtoolsComponentHook(hook) {
2215
2263
  return (component) => {
2216
- emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
2264
+ emit$2(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
2217
2265
  };
2218
2266
  }
2219
2267
  const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* DevtoolsHooks.PERFORMANCE_START */);
2220
2268
  const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* DevtoolsHooks.PERFORMANCE_END */);
2221
2269
  function createDevtoolsPerformanceHook(hook) {
2222
2270
  return (component, type, time) => {
2223
- emit(hook, component.appContext.app, component.uid, component, type, time);
2271
+ emit$2(hook, component.appContext.app, component.uid, component, type, time);
2224
2272
  };
2225
2273
  }
2226
2274
  function devtoolsComponentEmit(component, event, params) {
2227
- emit("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
2275
+ emit$2("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
2228
2276
  }
2229
2277
 
2230
- const deprecationData = {
2278
+ const deprecationData$1 = {
2231
2279
  ["GLOBAL_MOUNT" /* DeprecationTypes.GLOBAL_MOUNT */]: {
2232
2280
  message: `The global app bootstrapping API has changed: vm.$mount() and the "el" ` +
2233
2281
  `option have been removed. Use createApp(RootComponent).mount() instead.`,
@@ -2491,7 +2539,7 @@ const deprecationData = {
2491
2539
  };
2492
2540
  const instanceWarned = Object.create(null);
2493
2541
  const warnCount = Object.create(null);
2494
- function warnDeprecation(key, instance, ...args) {
2542
+ function warnDeprecation$1(key, instance, ...args) {
2495
2543
  instance = instance || getCurrentInstance();
2496
2544
  // check user config
2497
2545
  const config = getCompatConfigForKey(key, instance);
@@ -2512,13 +2560,13 @@ function warnDeprecation(key, instance, ...args) {
2512
2560
  // same warning, but different component. skip the long message and just
2513
2561
  // log the key and count.
2514
2562
  if (dupKey in warnCount) {
2515
- warn$1(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2563
+ warn(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2516
2564
  return;
2517
2565
  }
2518
2566
  warnCount[dupKey] = 0;
2519
- const { message, link } = deprecationData[key];
2520
- warn$1(`(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`);
2521
- if (!isCompatEnabled(key, instance, true)) {
2567
+ const { message, link } = deprecationData$1[key];
2568
+ warn(`(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`);
2569
+ if (!isCompatEnabled$1(key, instance, true)) {
2522
2570
  console.error(`^ The above deprecation's compat behavior is disabled and will likely ` +
2523
2571
  `lead to runtime errors.`);
2524
2572
  }
@@ -2526,7 +2574,7 @@ function warnDeprecation(key, instance, ...args) {
2526
2574
  const globalCompatConfig = {
2527
2575
  MODE: 2
2528
2576
  };
2529
- function configureCompat(config) {
2577
+ function configureCompat$1(config) {
2530
2578
  {
2531
2579
  validateCompatConfig(config);
2532
2580
  }
@@ -2542,24 +2590,24 @@ function validateCompatConfig(config, instance) {
2542
2590
  seenConfigObjects.add(config);
2543
2591
  for (const key of Object.keys(config)) {
2544
2592
  if (key !== 'MODE' &&
2545
- !(key in deprecationData) &&
2593
+ !(key in deprecationData$1) &&
2546
2594
  !(key in warnedInvalidKeys)) {
2547
2595
  if (key.startsWith('COMPILER_')) {
2548
2596
  if (isRuntimeOnly()) {
2549
- warn$1(`Deprecation config "${key}" is compiler-specific and you are ` +
2597
+ warn(`Deprecation config "${key}" is compiler-specific and you are ` +
2550
2598
  `running a runtime-only build of Vue. This deprecation should be ` +
2551
2599
  `configured via compiler options in your build setup instead.\n` +
2552
2600
  `Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`);
2553
2601
  }
2554
2602
  }
2555
2603
  else {
2556
- warn$1(`Invalid deprecation config "${key}".`);
2604
+ warn(`Invalid deprecation config "${key}".`);
2557
2605
  }
2558
2606
  warnedInvalidKeys[key] = true;
2559
2607
  }
2560
2608
  }
2561
2609
  if (instance && config["OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */] != null) {
2562
- warn$1(`Deprecation config "${"OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */}" can only be configured globally.`);
2610
+ warn(`Deprecation config "${"OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */}" can only be configured globally.`);
2563
2611
  }
2564
2612
  }
2565
2613
  function getCompatConfigForKey(key, instance) {
@@ -2569,7 +2617,7 @@ function getCompatConfigForKey(key, instance) {
2569
2617
  }
2570
2618
  return globalCompatConfig[key];
2571
2619
  }
2572
- function isCompatEnabled(key, instance, enableForBuiltIn = false) {
2620
+ function isCompatEnabled$1(key, instance, enableForBuiltIn = false) {
2573
2621
  // skip compat for built-in components
2574
2622
  if (!enableForBuiltIn && instance && instance.type.__isBuiltIn) {
2575
2623
  return false;
@@ -2590,11 +2638,11 @@ function isCompatEnabled(key, instance, enableForBuiltIn = false) {
2590
2638
  * Use this for features that are completely removed in non-compat build.
2591
2639
  */
2592
2640
  function assertCompatEnabled(key, instance, ...args) {
2593
- if (!isCompatEnabled(key, instance)) {
2641
+ if (!isCompatEnabled$1(key, instance)) {
2594
2642
  throw new Error(`${key} compat has been disabled.`);
2595
2643
  }
2596
2644
  else {
2597
- warnDeprecation(key, instance, ...args);
2645
+ warnDeprecation$1(key, instance, ...args);
2598
2646
  }
2599
2647
  }
2600
2648
  /**
@@ -2603,19 +2651,19 @@ function assertCompatEnabled(key, instance, ...args) {
2603
2651
  */
2604
2652
  function softAssertCompatEnabled(key, instance, ...args) {
2605
2653
  {
2606
- warnDeprecation(key, instance, ...args);
2654
+ warnDeprecation$1(key, instance, ...args);
2607
2655
  }
2608
- return isCompatEnabled(key, instance);
2656
+ return isCompatEnabled$1(key, instance);
2609
2657
  }
2610
2658
  /**
2611
2659
  * Use this for features with the same syntax but with mutually exclusive
2612
2660
  * behavior in 2 vs 3. Only warn if compat is enabled.
2613
2661
  * e.g. render function
2614
2662
  */
2615
- function checkCompatEnabled(key, instance, ...args) {
2616
- const enabled = isCompatEnabled(key, instance);
2663
+ function checkCompatEnabled$1(key, instance, ...args) {
2664
+ const enabled = isCompatEnabled$1(key, instance);
2617
2665
  if (enabled) {
2618
- warnDeprecation(key, instance, ...args);
2666
+ warnDeprecation$1(key, instance, ...args);
2619
2667
  }
2620
2668
  return enabled;
2621
2669
  }
@@ -2693,7 +2741,7 @@ function convertLegacyVModelProps(vnode) {
2693
2741
  const { type, shapeFlag, props, dynamicProps } = vnode;
2694
2742
  const comp = type;
2695
2743
  if (shapeFlag & 6 /* ShapeFlags.COMPONENT */ && props && 'modelValue' in props) {
2696
- if (!isCompatEnabled("COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */,
2744
+ if (!isCompatEnabled$1("COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */,
2697
2745
  // this is a special case where we want to use the vnode component's
2698
2746
  // compat config instead of the current rendering instance (which is the
2699
2747
  // parent of the component that exposes v-model)
@@ -2702,7 +2750,7 @@ function convertLegacyVModelProps(vnode) {
2702
2750
  }
2703
2751
  if (!warnedTypes.has(comp)) {
2704
2752
  pushWarningContext(vnode);
2705
- warnDeprecation("COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */, { type }, comp);
2753
+ warnDeprecation$1("COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */, { type }, comp);
2706
2754
  popWarningContext();
2707
2755
  warnedTypes.add(comp);
2708
2756
  }
@@ -2735,7 +2783,7 @@ function applyModelFromMixins(model, mixins) {
2735
2783
  }
2736
2784
  }
2737
2785
  function compatModelEmit(instance, event, args) {
2738
- if (!isCompatEnabled("COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */, instance)) {
2786
+ if (!isCompatEnabled$1("COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */, instance)) {
2739
2787
  return;
2740
2788
  }
2741
2789
  const props = instance.vnode.props;
@@ -2745,7 +2793,7 @@ function compatModelEmit(instance, event, args) {
2745
2793
  }
2746
2794
  }
2747
2795
 
2748
- function emit$2(instance, event, ...rawArgs) {
2796
+ function emit(instance, event, ...rawArgs) {
2749
2797
  if (instance.isUnmounted)
2750
2798
  return;
2751
2799
  const props = instance.vnode.props || EMPTY_OBJ;
@@ -2756,7 +2804,7 @@ function emit$2(instance, event, ...rawArgs) {
2756
2804
  !((event.startsWith('hook:') ||
2757
2805
  event.startsWith(compatModelEventPrefix)))) {
2758
2806
  if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
2759
- warn$1(`Component emitted event "${event}" but it is neither declared in ` +
2807
+ warn(`Component emitted event "${event}" but it is neither declared in ` +
2760
2808
  `the emits option nor as an "${toHandlerKey(event)}" prop.`);
2761
2809
  }
2762
2810
  }
@@ -2765,7 +2813,7 @@ function emit$2(instance, event, ...rawArgs) {
2765
2813
  if (isFunction(validator)) {
2766
2814
  const isValid = validator(...rawArgs);
2767
2815
  if (!isValid) {
2768
- warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
2816
+ warn(`Invalid event arguments: event validation failed for event "${event}".`);
2769
2817
  }
2770
2818
  }
2771
2819
  }
@@ -2782,7 +2830,7 @@ function emit$2(instance, event, ...rawArgs) {
2782
2830
  args = rawArgs.map(a => (isString(a) ? a.trim() : a));
2783
2831
  }
2784
2832
  if (number) {
2785
- args = rawArgs.map(toNumber);
2833
+ args = rawArgs.map(looseToNumber);
2786
2834
  }
2787
2835
  }
2788
2836
  {
@@ -2791,7 +2839,7 @@ function emit$2(instance, event, ...rawArgs) {
2791
2839
  {
2792
2840
  const lowerCaseEvent = event.toLowerCase();
2793
2841
  if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
2794
- warn$1(`Event "${lowerCaseEvent}" is emitted in component ` +
2842
+ warn(`Event "${lowerCaseEvent}" is emitted in component ` +
2795
2843
  `${formatComponentName(instance, instance.type)} but the handler is registered for "${event}". ` +
2796
2844
  `Note that HTML attributes are case-insensitive and you cannot use ` +
2797
2845
  `v-on to listen to camelCase events when using in-DOM templates. ` +
@@ -3081,13 +3129,13 @@ function renderComponentRoot(instance) {
3081
3129
  }
3082
3130
  }
3083
3131
  if (extraAttrs.length) {
3084
- warn$1(`Extraneous non-props attributes (` +
3132
+ warn(`Extraneous non-props attributes (` +
3085
3133
  `${extraAttrs.join(', ')}) ` +
3086
3134
  `were passed to component but could not be automatically inherited ` +
3087
3135
  `because component renders fragment or text root nodes.`);
3088
3136
  }
3089
3137
  if (eventAttrs.length) {
3090
- warn$1(`Extraneous non-emits event listeners (` +
3138
+ warn(`Extraneous non-emits event listeners (` +
3091
3139
  `${eventAttrs.join(', ')}) ` +
3092
3140
  `were passed to component but could not be automatically inherited ` +
3093
3141
  `because component renders fragment or text root nodes. ` +
@@ -3097,13 +3145,13 @@ function renderComponentRoot(instance) {
3097
3145
  }
3098
3146
  }
3099
3147
  }
3100
- if (isCompatEnabled("INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */, instance) &&
3148
+ if (isCompatEnabled$1("INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */, instance) &&
3101
3149
  vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */ &&
3102
3150
  root.shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {
3103
3151
  const { class: cls, style } = vnode.props || {};
3104
3152
  if (cls || style) {
3105
3153
  if (inheritAttrs === false) {
3106
- warnDeprecation("INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */, instance, getComponentName(instance.type));
3154
+ warnDeprecation$1("INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */, instance, getComponentName(instance.type));
3107
3155
  }
3108
3156
  root = cloneVNode(root, {
3109
3157
  class: cls,
@@ -3114,7 +3162,7 @@ function renderComponentRoot(instance) {
3114
3162
  // inherit directives
3115
3163
  if (vnode.dirs) {
3116
3164
  if (!isElementRoot(root)) {
3117
- warn$1(`Runtime directive used on component with non-element root node. ` +
3165
+ warn(`Runtime directive used on component with non-element root node. ` +
3118
3166
  `The directives will not function as intended.`);
3119
3167
  }
3120
3168
  // clone before mutating since the root may be a hoisted vnode
@@ -3124,7 +3172,7 @@ function renderComponentRoot(instance) {
3124
3172
  // inherit transition data
3125
3173
  if (vnode.transition) {
3126
3174
  if (!isElementRoot(root)) {
3127
- warn$1(`Component inside <Transition> renders non-element root node ` +
3175
+ warn(`Component inside <Transition> renders non-element root node ` +
3128
3176
  `that cannot be animated.`);
3129
3177
  }
3130
3178
  root.transition = vnode.transition;
@@ -3459,7 +3507,10 @@ function createSuspenseBoundary(vnode, parent, parentComponent, container, hidde
3459
3507
  console[console.info ? 'info' : 'log'](`<Suspense> is an experimental feature and its API will likely change.`);
3460
3508
  }
3461
3509
  const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;
3462
- const timeout = toNumber(vnode.props && vnode.props.timeout);
3510
+ const timeout = vnode.props ? toNumber(vnode.props.timeout) : undefined;
3511
+ {
3512
+ assertNumber(timeout, `Suspense timeout`);
3513
+ }
3463
3514
  const suspense = {
3464
3515
  vnode,
3465
3516
  parent,
@@ -3687,7 +3738,7 @@ function normalizeSuspenseSlot(s) {
3687
3738
  if (isArray(s)) {
3688
3739
  const singleChild = filterSingleRoot(s);
3689
3740
  if (!singleChild) {
3690
- warn$1(`<Suspense> slots expect a single root node.`);
3741
+ warn(`<Suspense> slots expect a single root node.`);
3691
3742
  }
3692
3743
  s = singleChild;
3693
3744
  }
@@ -3725,7 +3776,7 @@ function setActiveBranch(suspense, branch) {
3725
3776
  function provide(key, value) {
3726
3777
  if (!currentInstance) {
3727
3778
  {
3728
- warn$1(`provide() can only be used inside setup().`);
3779
+ warn(`provide() can only be used inside setup().`);
3729
3780
  }
3730
3781
  }
3731
3782
  else {
@@ -3764,11 +3815,11 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
3764
3815
  : defaultValue;
3765
3816
  }
3766
3817
  else {
3767
- warn$1(`injection "${String(key)}" not found.`);
3818
+ warn(`injection "${String(key)}" not found.`);
3768
3819
  }
3769
3820
  }
3770
3821
  else {
3771
- warn$1(`inject() can only be used inside setup() or functional components.`);
3822
+ warn(`inject() can only be used inside setup() or functional components.`);
3772
3823
  }
3773
3824
  }
3774
3825
 
@@ -3777,17 +3828,17 @@ function watchEffect(effect, options) {
3777
3828
  return doWatch(effect, null, options);
3778
3829
  }
3779
3830
  function watchPostEffect(effect, options) {
3780
- return doWatch(effect, null, (Object.assign(Object.assign({}, options), { flush: 'post' }) ));
3831
+ return doWatch(effect, null, Object.assign(Object.assign({}, options), { flush: 'post' }) );
3781
3832
  }
3782
3833
  function watchSyncEffect(effect, options) {
3783
- return doWatch(effect, null, (Object.assign(Object.assign({}, options), { flush: 'sync' }) ));
3834
+ return doWatch(effect, null, Object.assign(Object.assign({}, options), { flush: 'sync' }) );
3784
3835
  }
3785
3836
  // initial value for watchers to trigger on undefined initial values
3786
3837
  const INITIAL_WATCHER_VALUE = {};
3787
3838
  // implementation
3788
3839
  function watch(source, cb, options) {
3789
3840
  if (!isFunction(cb)) {
3790
- warn$1(`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
3841
+ warn(`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
3791
3842
  `Use \`watchEffect(fn, options?)\` instead. \`watch\` now only ` +
3792
3843
  `supports \`watch(source, cb, options?) signature.`);
3793
3844
  }
@@ -3796,19 +3847,20 @@ function watch(source, cb, options) {
3796
3847
  function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {
3797
3848
  if (!cb) {
3798
3849
  if (immediate !== undefined) {
3799
- warn$1(`watch() "immediate" option is only respected when using the ` +
3850
+ warn(`watch() "immediate" option is only respected when using the ` +
3800
3851
  `watch(source, callback, options?) signature.`);
3801
3852
  }
3802
3853
  if (deep !== undefined) {
3803
- warn$1(`watch() "deep" option is only respected when using the ` +
3854
+ warn(`watch() "deep" option is only respected when using the ` +
3804
3855
  `watch(source, callback, options?) signature.`);
3805
3856
  }
3806
3857
  }
3807
3858
  const warnInvalidSource = (s) => {
3808
- warn$1(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +
3859
+ warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +
3809
3860
  `a reactive object, or an array of these types.`);
3810
3861
  };
3811
- const instance = currentInstance;
3862
+ const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;
3863
+ // const instance = currentInstance
3812
3864
  let getter;
3813
3865
  let forceTrigger = false;
3814
3866
  let isMultiSource = false;
@@ -3866,7 +3918,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3866
3918
  getter = () => {
3867
3919
  const val = baseGetter();
3868
3920
  if (isArray(val) &&
3869
- checkCompatEnabled("WATCH_ARRAY" /* DeprecationTypes.WATCH_ARRAY */, instance)) {
3921
+ checkCompatEnabled$1("WATCH_ARRAY" /* DeprecationTypes.WATCH_ARRAY */, instance)) {
3870
3922
  traverse(val);
3871
3923
  }
3872
3924
  return val;
@@ -3898,7 +3950,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3898
3950
  ? newValue.some((v, i) => hasChanged(v, oldValue[i]))
3899
3951
  : hasChanged(newValue, oldValue)) ||
3900
3952
  (isArray(newValue) &&
3901
- isCompatEnabled("WATCH_ARRAY" /* DeprecationTypes.WATCH_ARRAY */, instance))) {
3953
+ isCompatEnabled$1("WATCH_ARRAY" /* DeprecationTypes.WATCH_ARRAY */, instance))) {
3902
3954
  // cleanup before running cb again
3903
3955
  if (cleanup) {
3904
3956
  cleanup();
@@ -3908,7 +3960,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3908
3960
  // pass undefined as the old value when it's changed for the first time
3909
3961
  oldValue === INITIAL_WATCHER_VALUE
3910
3962
  ? undefined
3911
- : (isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE)
3963
+ : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE
3912
3964
  ? []
3913
3965
  : oldValue,
3914
3966
  onCleanup
@@ -4088,7 +4140,7 @@ const BaseTransitionImpl = {
4088
4140
  if (c.type !== Comment) {
4089
4141
  if (hasFound) {
4090
4142
  // warn more than one non-comment child
4091
- warn$1('<transition> can only be used on a single element or component. ' +
4143
+ warn('<transition> can only be used on a single element or component. ' +
4092
4144
  'Use <transition-group> for lists.');
4093
4145
  break;
4094
4146
  }
@@ -4106,7 +4158,7 @@ const BaseTransitionImpl = {
4106
4158
  mode !== 'in-out' &&
4107
4159
  mode !== 'out-in' &&
4108
4160
  mode !== 'default') {
4109
- warn$1(`invalid <transition> mode: ${mode}`);
4161
+ warn(`invalid <transition> mode: ${mode}`);
4110
4162
  }
4111
4163
  if (state.isLeaving) {
4112
4164
  return emptyPlaceholder(child);
@@ -4417,7 +4469,7 @@ function defineAsyncComponent(source) {
4417
4469
  return pendingRequest;
4418
4470
  }
4419
4471
  if (!comp) {
4420
- warn$1(`Async component loader resolved to undefined. ` +
4472
+ warn(`Async component loader resolved to undefined. ` +
4421
4473
  `If you are using retry(), make sure to return its return value.`);
4422
4474
  }
4423
4475
  // interop module default
@@ -4604,7 +4656,7 @@ const KeepAliveImpl = {
4604
4656
  }
4605
4657
  function pruneCacheEntry(key) {
4606
4658
  const cached = cache.get(key);
4607
- if (!current || cached.type !== current.type) {
4659
+ if (!current || !isSameVNodeType(cached, current)) {
4608
4660
  unmount(cached);
4609
4661
  }
4610
4662
  else if (current) {
@@ -4636,7 +4688,7 @@ const KeepAliveImpl = {
4636
4688
  cache.forEach(cached => {
4637
4689
  const { subTree, suspense } = instance;
4638
4690
  const vnode = getInnerChild(subTree);
4639
- if (cached.type === vnode.type) {
4691
+ if (cached.type === vnode.type && cached.key === vnode.key) {
4640
4692
  // current instance will be unmounted as part of keep-alive's unmount
4641
4693
  resetShapeFlag(vnode);
4642
4694
  // but invoke its deactivated hook here
@@ -4656,7 +4708,7 @@ const KeepAliveImpl = {
4656
4708
  const rawVNode = children[0];
4657
4709
  if (children.length > 1) {
4658
4710
  {
4659
- warn$1(`KeepAlive should contain exactly one component child.`);
4711
+ warn(`KeepAlive should contain exactly one component child.`);
4660
4712
  }
4661
4713
  current = null;
4662
4714
  return children;
@@ -4736,7 +4788,7 @@ function matches(pattern, name) {
4736
4788
  else if (isString(pattern)) {
4737
4789
  return pattern.split(',').includes(name);
4738
4790
  }
4739
- else if (pattern.test) {
4791
+ else if (isRegExp(pattern)) {
4740
4792
  return pattern.test(name);
4741
4793
  }
4742
4794
  /* istanbul ignore next */
@@ -4830,7 +4882,7 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
4830
4882
  }
4831
4883
  else {
4832
4884
  const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));
4833
- warn$1(`${apiName} is called when there is no active component instance to be ` +
4885
+ warn(`${apiName} is called when there is no active component instance to be ` +
4834
4886
  `associated with. ` +
4835
4887
  `Lifecycle injection APIs can only be used during execution of setup().` +
4836
4888
  (` If you are using async setup(), make sure to register lifecycle ` +
@@ -4860,18 +4912,18 @@ function getCompatChildren(instance) {
4860
4912
  const root = instance.subTree;
4861
4913
  const children = [];
4862
4914
  if (root) {
4863
- walk(root, children);
4915
+ walk$1(root, children);
4864
4916
  }
4865
4917
  return children;
4866
4918
  }
4867
- function walk(vnode, children) {
4919
+ function walk$1(vnode, children) {
4868
4920
  if (vnode.component) {
4869
4921
  children.push(vnode.component.proxy);
4870
4922
  }
4871
4923
  else if (vnode.shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
4872
4924
  const vnodes = vnode.children;
4873
4925
  for (let i = 0; i < vnodes.length; i++) {
4874
- walk(vnodes[i], children);
4926
+ walk$1(vnodes[i], children);
4875
4927
  }
4876
4928
  }
4877
4929
  }
@@ -4934,7 +4986,7 @@ return withDirectives(h(comp), [
4934
4986
  */
4935
4987
  function validateDirectiveName(name) {
4936
4988
  if (isBuiltInDirective(name)) {
4937
- warn$1('Do not use built-in directive ids as custom directive id: ' + name);
4989
+ warn('Do not use built-in directive ids as custom directive id: ' + name);
4938
4990
  }
4939
4991
  }
4940
4992
  /**
@@ -4943,7 +4995,7 @@ function validateDirectiveName(name) {
4943
4995
  function withDirectives(vnode, directives) {
4944
4996
  const internalInstance = currentRenderingInstance;
4945
4997
  if (internalInstance === null) {
4946
- warn$1(`withDirectives can only be used inside render functions.`);
4998
+ warn(`withDirectives can only be used inside render functions.`);
4947
4999
  return vnode;
4948
5000
  }
4949
5001
  const instance = getExposeProxy(internalInstance) ||
@@ -5032,7 +5084,7 @@ function resolveDirective(name) {
5032
5084
  * v2 compat only
5033
5085
  * @internal
5034
5086
  */
5035
- function resolveFilter(name) {
5087
+ function resolveFilter$1(name) {
5036
5088
  return resolveAsset(FILTERS, name);
5037
5089
  }
5038
5090
  // implementation
@@ -5065,12 +5117,12 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
5065
5117
  ? `\nIf this is a native custom element, make sure to exclude it from ` +
5066
5118
  `component resolution via compilerOptions.isCustomElement.`
5067
5119
  : ``;
5068
- warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
5120
+ warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
5069
5121
  }
5070
5122
  return res;
5071
5123
  }
5072
5124
  else {
5073
- warn$1(`resolve${capitalize(type.slice(0, -1))} ` +
5125
+ warn(`resolve${capitalize(type.slice(0, -1))} ` +
5074
5126
  `can only be used in render() or setup().`);
5075
5127
  }
5076
5128
  }
@@ -5096,7 +5148,7 @@ function convertLegacyRenderFn(instance) {
5096
5148
  return;
5097
5149
  }
5098
5150
  // v2 render function, try to provide compat
5099
- if (checkCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance)) {
5151
+ if (checkCompatEnabled$1("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance)) {
5100
5152
  const wrapped = (Component.render = function compatRender() {
5101
5153
  // @ts-ignore
5102
5154
  return render.call(this, compatH);
@@ -5257,8 +5309,8 @@ function convertLegacySlots(vnode) {
5257
5309
  }
5258
5310
  function defineLegacyVNodeProperties(vnode) {
5259
5311
  /* istanbul ignore if */
5260
- if (isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, currentRenderingInstance, true /* enable for built-ins */) &&
5261
- isCompatEnabled("PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */, currentRenderingInstance, true /* enable for built-ins */)) {
5312
+ if (isCompatEnabled$1("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, currentRenderingInstance, true /* enable for built-ins */) &&
5313
+ isCompatEnabled$1("PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */, currentRenderingInstance, true /* enable for built-ins */)) {
5262
5314
  const context = currentRenderingInstance;
5263
5315
  const getInstance = () => vnode.component && vnode.component.proxy;
5264
5316
  let componentOptions;
@@ -5348,7 +5400,7 @@ function renderList(source, renderItem, cache, index) {
5348
5400
  }
5349
5401
  else if (typeof source === 'number') {
5350
5402
  if (!Number.isInteger(source)) {
5351
- warn$1(`The v-for range expect an integer value but got ${source}.`);
5403
+ warn(`The v-for range expect an integer value but got ${source}.`);
5352
5404
  }
5353
5405
  ret = new Array(source);
5354
5406
  for (let i = 0; i < source; i++) {
@@ -5425,7 +5477,7 @@ fallback, noSlotted) {
5425
5477
  }
5426
5478
  let slot = slots[name];
5427
5479
  if (slot && slot.length > 1) {
5428
- warn$1(`SSR-optimized slot function detected in a non-SSR-optimized render ` +
5480
+ warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +
5429
5481
  `function. You need to mark this component with $dynamic-slots in the ` +
5430
5482
  `parent template.`);
5431
5483
  slot = () => [];
@@ -5478,7 +5530,7 @@ function ensureValidVNode(vnodes) {
5478
5530
  function toHandlers(obj, preserveCaseIfNecessary) {
5479
5531
  const ret = {};
5480
5532
  if (!isObject(obj)) {
5481
- warn$1(`v-on with no argument expects an object value.`);
5533
+ warn(`v-on with no argument expects an object value.`);
5482
5534
  return ret;
5483
5535
  }
5484
5536
  for (const key in obj) {
@@ -5639,7 +5691,7 @@ function installCompatInstanceProperties(map) {
5639
5691
  },
5640
5692
  // overrides existing accessor
5641
5693
  $slots: i => {
5642
- if (isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, i) &&
5694
+ if (isCompatEnabled$1("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, i) &&
5643
5695
  i.render &&
5644
5696
  i.render._compatWrapped) {
5645
5697
  return new Proxy(i.slots, legacySlotProxyHandlers);
@@ -5664,7 +5716,7 @@ function installCompatInstanceProperties(map) {
5664
5716
  $listeners: getCompatListeners
5665
5717
  });
5666
5718
  /* istanbul ignore if */
5667
- if (isCompatEnabled("PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */, null)) {
5719
+ if (isCompatEnabled$1("PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */, null)) {
5668
5720
  extend(map, {
5669
5721
  // needed by many libs / render fns
5670
5722
  $vnode: i => i.vnode,
@@ -5686,14 +5738,14 @@ function installCompatInstanceProperties(map) {
5686
5738
  $createElement: () => compatH,
5687
5739
  _c: () => compatH,
5688
5740
  _o: () => legacyMarkOnce,
5689
- _n: () => toNumber,
5741
+ _n: () => looseToNumber,
5690
5742
  _s: () => toDisplayString,
5691
5743
  _l: () => renderList,
5692
5744
  _t: i => legacyRenderSlot.bind(null, i),
5693
5745
  _q: () => looseEqual,
5694
5746
  _i: () => looseIndexOf,
5695
5747
  _m: i => legacyRenderStatic.bind(null, i),
5696
- _f: () => resolveFilter,
5748
+ _f: () => resolveFilter$1,
5697
5749
  _k: i => legacyCheckKeyCodes.bind(null, i),
5698
5750
  _b: () => legacyBindObjectProps,
5699
5751
  _v: () => createTextVNode,
@@ -5839,11 +5891,11 @@ const PublicInstanceProxyHandlers = {
5839
5891
  // to infinite warning loop
5840
5892
  key.indexOf('__v') !== 0)) {
5841
5893
  if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {
5842
- warn$1(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved ` +
5894
+ warn(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved ` +
5843
5895
  `character ("$" or "_") and is not proxied on the render context.`);
5844
5896
  }
5845
5897
  else if (instance === currentRenderingInstance) {
5846
- warn$1(`Property ${JSON.stringify(key)} was accessed during render ` +
5898
+ warn(`Property ${JSON.stringify(key)} was accessed during render ` +
5847
5899
  `but is not defined on instance.`);
5848
5900
  }
5849
5901
  }
@@ -5856,7 +5908,7 @@ const PublicInstanceProxyHandlers = {
5856
5908
  }
5857
5909
  else if (setupState.__isScriptSetup &&
5858
5910
  hasOwn(setupState, key)) {
5859
- warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5911
+ warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5860
5912
  return false;
5861
5913
  }
5862
5914
  else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
@@ -5864,11 +5916,11 @@ const PublicInstanceProxyHandlers = {
5864
5916
  return true;
5865
5917
  }
5866
5918
  else if (hasOwn(instance.props, key)) {
5867
- warn$1(`Attempting to mutate prop "${key}". Props are readonly.`);
5919
+ warn(`Attempting to mutate prop "${key}". Props are readonly.`);
5868
5920
  return false;
5869
5921
  }
5870
5922
  if (key[0] === '$' && key.slice(1) in instance) {
5871
- warn$1(`Attempting to mutate public property "${key}". ` +
5923
+ warn(`Attempting to mutate public property "${key}". ` +
5872
5924
  `Properties starting with $ are reserved and readonly.`);
5873
5925
  return false;
5874
5926
  }
@@ -5909,7 +5961,7 @@ const PublicInstanceProxyHandlers = {
5909
5961
  };
5910
5962
  {
5911
5963
  PublicInstanceProxyHandlers.ownKeys = (target) => {
5912
- warn$1(`Avoid app logic that relies on enumerating keys on a component instance. ` +
5964
+ warn(`Avoid app logic that relies on enumerating keys on a component instance. ` +
5913
5965
  `The keys will be empty in production mode to avoid performance overhead.`);
5914
5966
  return Reflect.ownKeys(target);
5915
5967
  };
@@ -5925,7 +5977,7 @@ const RuntimeCompiledPublicInstanceProxyHandlers = /*#__PURE__*/ extend({}, Publ
5925
5977
  has(_, key) {
5926
5978
  const has = key[0] !== '_' && !isGloballyWhitelisted(key);
5927
5979
  if (!has && PublicInstanceProxyHandlers.has(_, key)) {
5928
- warn$1(`Property ${JSON.stringify(key)} should not start with _ which is a reserved prefix for Vue internals.`);
5980
+ warn(`Property ${JSON.stringify(key)} should not start with _ which is a reserved prefix for Vue internals.`);
5929
5981
  }
5930
5982
  return has;
5931
5983
  }
@@ -5975,7 +6027,7 @@ function exposeSetupStateOnRenderContext(instance) {
5975
6027
  Object.keys(toRaw(setupState)).forEach(key => {
5976
6028
  if (!setupState.__isScriptSetup) {
5977
6029
  if (isReservedPrefix(key[0])) {
5978
- warn$1(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" ` +
6030
+ warn(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" ` +
5979
6031
  `which are reserved prefixes for Vue internals.`);
5980
6032
  return;
5981
6033
  }
@@ -5994,7 +6046,7 @@ function deepMergeData(to, from) {
5994
6046
  const toVal = to[key];
5995
6047
  const fromVal = from[key];
5996
6048
  if (key in to && isPlainObject(toVal) && isPlainObject(fromVal)) {
5997
- warnDeprecation("OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */, null, key);
6049
+ warnDeprecation$1("OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */, null, key);
5998
6050
  deepMergeData(toVal, fromVal);
5999
6051
  }
6000
6052
  else {
@@ -6008,7 +6060,7 @@ function createDuplicateChecker() {
6008
6060
  const cache = Object.create(null);
6009
6061
  return (type, key) => {
6010
6062
  if (cache[key]) {
6011
- warn$1(`${type} property "${key}" is already defined in ${cache[key]}.`);
6063
+ warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
6012
6064
  }
6013
6065
  else {
6014
6066
  cache[key] = type;
@@ -6025,7 +6077,7 @@ function applyOptions(instance) {
6025
6077
  // call beforeCreate first before accessing other options since
6026
6078
  // the hook may mutate resolved options (#2791)
6027
6079
  if (options.beforeCreate) {
6028
- callHook(options.beforeCreate, instance, "bc" /* LifecycleHooks.BEFORE_CREATE */);
6080
+ callHook$1(options.beforeCreate, instance, "bc" /* LifecycleHooks.BEFORE_CREATE */);
6029
6081
  }
6030
6082
  const {
6031
6083
  // state
@@ -6075,24 +6127,24 @@ function applyOptions(instance) {
6075
6127
  }
6076
6128
  }
6077
6129
  else {
6078
- warn$1(`Method "${key}" has type "${typeof methodHandler}" in the component definition. ` +
6130
+ warn(`Method "${key}" has type "${typeof methodHandler}" in the component definition. ` +
6079
6131
  `Did you reference the function correctly?`);
6080
6132
  }
6081
6133
  }
6082
6134
  }
6083
6135
  if (dataOptions) {
6084
6136
  if (!isFunction(dataOptions)) {
6085
- warn$1(`The data option must be a function. ` +
6137
+ warn(`The data option must be a function. ` +
6086
6138
  `Plain object usage is no longer supported.`);
6087
6139
  }
6088
6140
  const data = dataOptions.call(publicThis, publicThis);
6089
6141
  if (isPromise(data)) {
6090
- warn$1(`data() returned a Promise - note data() cannot be async; If you ` +
6142
+ warn(`data() returned a Promise - note data() cannot be async; If you ` +
6091
6143
  `intend to perform data fetching before component renders, use ` +
6092
6144
  `async setup() + <Suspense>.`);
6093
6145
  }
6094
6146
  if (!isObject(data)) {
6095
- warn$1(`data() should return an object.`);
6147
+ warn(`data() should return an object.`);
6096
6148
  }
6097
6149
  else {
6098
6150
  instance.data = reactive(data);
@@ -6123,15 +6175,15 @@ function applyOptions(instance) {
6123
6175
  ? opt.get.bind(publicThis, publicThis)
6124
6176
  : NOOP;
6125
6177
  if (get === NOOP) {
6126
- warn$1(`Computed property "${key}" has no getter.`);
6178
+ warn(`Computed property "${key}" has no getter.`);
6127
6179
  }
6128
6180
  const set = !isFunction(opt) && isFunction(opt.set)
6129
6181
  ? opt.set.bind(publicThis)
6130
6182
  : () => {
6131
- warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6183
+ warn(`Write operation failed: computed property "${key}" is readonly.`);
6132
6184
  }
6133
6185
  ;
6134
- const c = computed$1({
6186
+ const c = computed({
6135
6187
  get,
6136
6188
  set
6137
6189
  });
@@ -6160,7 +6212,7 @@ function applyOptions(instance) {
6160
6212
  });
6161
6213
  }
6162
6214
  if (created) {
6163
- callHook(created, instance, "c" /* LifecycleHooks.CREATED */);
6215
+ callHook$1(created, instance, "c" /* LifecycleHooks.CREATED */);
6164
6216
  }
6165
6217
  function registerLifecycleHook(register, hook) {
6166
6218
  if (isArray(hook)) {
@@ -6220,7 +6272,7 @@ function applyOptions(instance) {
6220
6272
  if (directives)
6221
6273
  instance.directives = directives;
6222
6274
  if (filters &&
6223
- isCompatEnabled("FILTERS" /* DeprecationTypes.FILTERS */, instance)) {
6275
+ isCompatEnabled$1("FILTERS" /* DeprecationTypes.FILTERS */, instance)) {
6224
6276
  instance.filters = filters;
6225
6277
  }
6226
6278
  }
@@ -6254,7 +6306,7 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP,
6254
6306
  }
6255
6307
  else {
6256
6308
  {
6257
- warn$1(`injected property "${key}" is a ref and will be auto-unwrapped ` +
6309
+ warn(`injected property "${key}" is a ref and will be auto-unwrapped ` +
6258
6310
  `and no longer needs \`.value\` in the next minor release. ` +
6259
6311
  `To opt-in to the new behavior now, ` +
6260
6312
  `set \`app.config.unwrapInjectedRef = true\` (this config is ` +
@@ -6271,7 +6323,7 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP,
6271
6323
  }
6272
6324
  }
6273
6325
  }
6274
- function callHook(hook, instance, type) {
6326
+ function callHook$1(hook, instance, type) {
6275
6327
  callWithAsyncErrorHandling(isArray(hook)
6276
6328
  ? hook.map(h => h.bind(instance.proxy))
6277
6329
  : hook.bind(instance.proxy), instance, type);
@@ -6286,7 +6338,7 @@ function createWatcher(raw, ctx, publicThis, key) {
6286
6338
  watch(getter, handler);
6287
6339
  }
6288
6340
  else {
6289
- warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6341
+ warn(`Invalid watch handler specified by key "${raw}"`, handler);
6290
6342
  }
6291
6343
  }
6292
6344
  else if (isFunction(raw)) {
@@ -6304,12 +6356,12 @@ function createWatcher(raw, ctx, publicThis, key) {
6304
6356
  watch(getter, handler, raw);
6305
6357
  }
6306
6358
  else {
6307
- warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6359
+ warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6308
6360
  }
6309
6361
  }
6310
6362
  }
6311
6363
  else {
6312
- warn$1(`Invalid watch option: "${key}"`, raw);
6364
+ warn(`Invalid watch option: "${key}"`, raw);
6313
6365
  }
6314
6366
  }
6315
6367
  /**
@@ -6327,7 +6379,7 @@ function resolveMergedOptions(instance) {
6327
6379
  resolved = cached;
6328
6380
  }
6329
6381
  else if (!globalMixins.length && !mixins && !extendsOptions) {
6330
- if (isCompatEnabled("PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */, instance)) {
6382
+ if (isCompatEnabled$1("PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */, instance)) {
6331
6383
  resolved = extend({}, base);
6332
6384
  resolved.parent = instance.parent && instance.parent.proxy;
6333
6385
  resolved.propsData = instance.vnode.props;
@@ -6361,7 +6413,7 @@ function mergeOptions(to, from, strats, asMixin = false) {
6361
6413
  }
6362
6414
  for (const key in from) {
6363
6415
  if (asMixin && key === 'expose') {
6364
- warn$1(`"expose" option is ignored when declared in mixins or extends. ` +
6416
+ warn(`"expose" option is ignored when declared in mixins or extends. ` +
6365
6417
  `It should only be declared in the base component itself.`);
6366
6418
  }
6367
6419
  else {
@@ -6379,20 +6431,20 @@ const internalOptionMergeStrats = {
6379
6431
  methods: mergeObjectOptions,
6380
6432
  computed: mergeObjectOptions,
6381
6433
  // lifecycle
6382
- beforeCreate: mergeAsArray,
6383
- created: mergeAsArray,
6384
- beforeMount: mergeAsArray,
6385
- mounted: mergeAsArray,
6386
- beforeUpdate: mergeAsArray,
6387
- updated: mergeAsArray,
6388
- beforeDestroy: mergeAsArray,
6389
- beforeUnmount: mergeAsArray,
6390
- destroyed: mergeAsArray,
6391
- unmounted: mergeAsArray,
6392
- activated: mergeAsArray,
6393
- deactivated: mergeAsArray,
6394
- errorCaptured: mergeAsArray,
6395
- serverPrefetch: mergeAsArray,
6434
+ beforeCreate: mergeAsArray$1,
6435
+ created: mergeAsArray$1,
6436
+ beforeMount: mergeAsArray$1,
6437
+ mounted: mergeAsArray$1,
6438
+ beforeUpdate: mergeAsArray$1,
6439
+ updated: mergeAsArray$1,
6440
+ beforeDestroy: mergeAsArray$1,
6441
+ beforeUnmount: mergeAsArray$1,
6442
+ destroyed: mergeAsArray$1,
6443
+ unmounted: mergeAsArray$1,
6444
+ activated: mergeAsArray$1,
6445
+ deactivated: mergeAsArray$1,
6446
+ errorCaptured: mergeAsArray$1,
6447
+ serverPrefetch: mergeAsArray$1,
6396
6448
  // assets
6397
6449
  components: mergeObjectOptions,
6398
6450
  directives: mergeObjectOptions,
@@ -6413,7 +6465,7 @@ function mergeDataFn(to, from) {
6413
6465
  return from;
6414
6466
  }
6415
6467
  return function mergedDataFn() {
6416
- return (isCompatEnabled("OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */, null)
6468
+ return (isCompatEnabled$1("OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */, null)
6417
6469
  ? deepMergeData
6418
6470
  : extend)(isFunction(to) ? to.call(this, this) : to, isFunction(from) ? from.call(this, this) : from);
6419
6471
  };
@@ -6431,7 +6483,7 @@ function normalizeInject(raw) {
6431
6483
  }
6432
6484
  return raw;
6433
6485
  }
6434
- function mergeAsArray(to, from) {
6486
+ function mergeAsArray$1(to, from) {
6435
6487
  return to ? [...new Set([].concat(to, from))] : from;
6436
6488
  }
6437
6489
  function mergeObjectOptions(to, from) {
@@ -6444,7 +6496,7 @@ function mergeWatchOptions(to, from) {
6444
6496
  return to;
6445
6497
  const merged = extend(Object.create(null), to);
6446
6498
  for (const key in from) {
6447
- merged[key] = mergeAsArray(to[key], from[key]);
6499
+ merged[key] = mergeAsArray$1(to[key], from[key]);
6448
6500
  }
6449
6501
  return merged;
6450
6502
  }
@@ -6452,7 +6504,7 @@ function mergeWatchOptions(to, from) {
6452
6504
  function createPropsDefaultThis(instance, rawProps, propKey) {
6453
6505
  return new Proxy({}, {
6454
6506
  get(_, key) {
6455
- warnDeprecation("PROPS_DEFAULT_THIS" /* DeprecationTypes.PROPS_DEFAULT_THIS */, null, propKey);
6507
+ warnDeprecation$1("PROPS_DEFAULT_THIS" /* DeprecationTypes.PROPS_DEFAULT_THIS */, null, propKey);
6456
6508
  // $options
6457
6509
  if (key === '$options') {
6458
6510
  return resolveMergedOptions(instance);
@@ -6482,11 +6534,11 @@ function shouldSkipAttr(key, instance) {
6482
6534
  return true;
6483
6535
  }
6484
6536
  if ((key === 'class' || key === 'style') &&
6485
- isCompatEnabled("INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */, instance)) {
6537
+ isCompatEnabled$1("INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */, instance)) {
6486
6538
  return true;
6487
6539
  }
6488
6540
  if (isOn(key) &&
6489
- isCompatEnabled("INSTANCE_LISTENERS" /* DeprecationTypes.INSTANCE_LISTENERS */, instance)) {
6541
+ isCompatEnabled$1("INSTANCE_LISTENERS" /* DeprecationTypes.INSTANCE_LISTENERS */, instance)) {
6490
6542
  return true;
6491
6543
  }
6492
6544
  // vue-router
@@ -6714,7 +6766,7 @@ function resolvePropValue(options, props, key, value, instance, isAbsent) {
6714
6766
  }
6715
6767
  else {
6716
6768
  setCurrentInstance(instance);
6717
- value = propsDefaults[key] = defaultValue.call(isCompatEnabled("PROPS_DEFAULT_THIS" /* DeprecationTypes.PROPS_DEFAULT_THIS */, instance)
6769
+ value = propsDefaults[key] = defaultValue.call(isCompatEnabled$1("PROPS_DEFAULT_THIS" /* DeprecationTypes.PROPS_DEFAULT_THIS */, instance)
6718
6770
  ? createPropsDefaultThis(instance, props, key)
6719
6771
  : null, props);
6720
6772
  unsetCurrentInstance();
@@ -6778,7 +6830,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
6778
6830
  if (isArray(raw)) {
6779
6831
  for (let i = 0; i < raw.length; i++) {
6780
6832
  if (!isString(raw[i])) {
6781
- warn$1(`props must be strings when using array syntax.`, raw[i]);
6833
+ warn(`props must be strings when using array syntax.`, raw[i]);
6782
6834
  }
6783
6835
  const normalizedKey = camelize(raw[i]);
6784
6836
  if (validatePropName(normalizedKey)) {
@@ -6788,7 +6840,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
6788
6840
  }
6789
6841
  else if (raw) {
6790
6842
  if (!isObject(raw)) {
6791
- warn$1(`invalid props options`, raw);
6843
+ warn(`invalid props options`, raw);
6792
6844
  }
6793
6845
  for (const key in raw) {
6794
6846
  const normalizedKey = camelize(key);
@@ -6821,15 +6873,15 @@ function validatePropName(key) {
6821
6873
  return true;
6822
6874
  }
6823
6875
  else {
6824
- warn$1(`Invalid prop name: "${key}" is a reserved property.`);
6876
+ warn(`Invalid prop name: "${key}" is a reserved property.`);
6825
6877
  }
6826
6878
  return false;
6827
6879
  }
6828
6880
  // use function string name to check type constructors
6829
6881
  // so that it works across vms / iframes.
6830
6882
  function getType(ctor) {
6831
- const match = ctor && ctor.toString().match(/^\s*function (\w+)/);
6832
- return match ? match[1] : ctor === null ? 'null' : '';
6883
+ const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
6884
+ return match ? match[2] : ctor === null ? 'null' : '';
6833
6885
  }
6834
6886
  function isSameType(a, b) {
6835
6887
  return getType(a) === getType(b);
@@ -6863,7 +6915,7 @@ function validateProp(name, value, prop, isAbsent) {
6863
6915
  const { type, required, validator } = prop;
6864
6916
  // required!
6865
6917
  if (required && isAbsent) {
6866
- warn$1('Missing required prop: "' + name + '"');
6918
+ warn('Missing required prop: "' + name + '"');
6867
6919
  return;
6868
6920
  }
6869
6921
  // missing but optional
@@ -6882,13 +6934,13 @@ function validateProp(name, value, prop, isAbsent) {
6882
6934
  isValid = valid;
6883
6935
  }
6884
6936
  if (!isValid) {
6885
- warn$1(getInvalidTypeMessage(name, value, expectedTypes));
6937
+ warn(getInvalidTypeMessage(name, value, expectedTypes));
6886
6938
  return;
6887
6939
  }
6888
6940
  }
6889
6941
  // custom validator
6890
6942
  if (validator && !validator(value)) {
6891
- warn$1('Invalid prop: custom validator check failed for prop "' + name + '".');
6943
+ warn('Invalid prop: custom validator check failed for prop "' + name + '".');
6892
6944
  }
6893
6945
  }
6894
6946
  const isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol,BigInt');
@@ -6985,7 +7037,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
6985
7037
  }
6986
7038
  const normalized = withCtx((...args) => {
6987
7039
  if (true && currentInstance) {
6988
- warn$1(`Slot "${key}" invoked outside of the render function: ` +
7040
+ warn(`Slot "${key}" invoked outside of the render function: ` +
6989
7041
  `this will not track dependencies used in the slot. ` +
6990
7042
  `Invoke the slot function inside the render function instead.`);
6991
7043
  }
@@ -7004,8 +7056,8 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
7004
7056
  slots[key] = normalizeSlot(key, value, ctx);
7005
7057
  }
7006
7058
  else if (value != null) {
7007
- if (!(isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
7008
- warn$1(`Non-function value encountered for slot "${key}". ` +
7059
+ if (!(isCompatEnabled$1("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
7060
+ warn(`Non-function value encountered for slot "${key}". ` +
7009
7061
  `Prefer function slots for better performance.`);
7010
7062
  }
7011
7063
  const normalized = normalizeSlotValue(value);
@@ -7015,8 +7067,8 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
7015
7067
  };
7016
7068
  const normalizeVNodeSlots = (instance, children) => {
7017
7069
  if (!isKeepAlive(instance.vnode) &&
7018
- !(isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
7019
- warn$1(`Non-function value encountered for default slot. ` +
7070
+ !(isCompatEnabled$1("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
7071
+ warn(`Non-function value encountered for default slot. ` +
7020
7072
  `Prefer function slots for better performance.`);
7021
7073
  }
7022
7074
  const normalized = normalizeSlotValue(children);
@@ -7114,7 +7166,7 @@ function installLegacyConfigWarnings(config) {
7114
7166
  },
7115
7167
  set(newVal) {
7116
7168
  if (!isCopyingConfig) {
7117
- warnDeprecation(legacyConfigOptions[key], null);
7169
+ warnDeprecation$1(legacyConfigOptions[key], null);
7118
7170
  }
7119
7171
  val = newVal;
7120
7172
  }
@@ -7140,7 +7192,7 @@ let isCopyingConfig = false;
7140
7192
  let singletonApp;
7141
7193
  let singletonCtor;
7142
7194
  // Legacy global Vue constructor
7143
- function createCompatVue(createApp, createSingletonApp) {
7195
+ function createCompatVue$1(createApp, createSingletonApp) {
7144
7196
  singletonApp = createSingletonApp({});
7145
7197
  const Vue = (singletonCtor = function Vue(options = {}) {
7146
7198
  return createCompatApp(options, Vue);
@@ -7165,7 +7217,7 @@ function createCompatVue(createApp, createSingletonApp) {
7165
7217
  return vm;
7166
7218
  }
7167
7219
  }
7168
- Vue.version = `2.6.14-compat:${"3.2.45"}`;
7220
+ Vue.version = `2.6.14-compat:${"3.2.46"}`;
7169
7221
  Vue.config = singletonApp.config;
7170
7222
  Vue.use = (p, ...options) => {
7171
7223
  if (p && isFunction(p.install)) {
@@ -7267,7 +7319,7 @@ function createCompatVue(createApp, createSingletonApp) {
7267
7319
  });
7268
7320
  // internal utils - these are technically internal but some plugins use it.
7269
7321
  const util = {
7270
- warn: warn$1 ,
7322
+ warn: warn ,
7271
7323
  extend,
7272
7324
  mergeOptions: (parent, child, vm) => mergeOptions(parent, child, vm ? undefined : internalOptionMergeStrats),
7273
7325
  defineReactive
@@ -7278,7 +7330,7 @@ function createCompatVue(createApp, createSingletonApp) {
7278
7330
  return util;
7279
7331
  }
7280
7332
  });
7281
- Vue.configureCompat = configureCompat;
7333
+ Vue.configureCompat = configureCompat$1;
7282
7334
  return Vue;
7283
7335
  }
7284
7336
  function installAppCompatProperties(app, context, render) {
@@ -7302,7 +7354,7 @@ function installFilterMethod(app, context) {
7302
7354
  return context.filters[name];
7303
7355
  }
7304
7356
  if (context.filters[name]) {
7305
- warn$1(`Filter "${name}" has already been registered.`);
7357
+ warn(`Filter "${name}" has already been registered.`);
7306
7358
  }
7307
7359
  context.filters[name] = filter;
7308
7360
  return app;
@@ -7314,7 +7366,7 @@ function installLegacyAPIs(app) {
7314
7366
  // so that app.use() can work with legacy plugins that extend prototypes
7315
7367
  prototype: {
7316
7368
  get() {
7317
- warnDeprecation("GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */, null);
7369
+ warnDeprecation$1("GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */, null);
7318
7370
  return app.config.globalProperties;
7319
7371
  }
7320
7372
  },
@@ -7351,7 +7403,7 @@ function applySingletonAppMutations(app) {
7351
7403
  app.config[key] = isObject(val) ? Object.create(val) : val;
7352
7404
  // compat for runtime ignoredElements -> isCustomElement
7353
7405
  if (key === 'ignoredElements' &&
7354
- isCompatEnabled("CONFIG_IGNORED_ELEMENTS" /* DeprecationTypes.CONFIG_IGNORED_ELEMENTS */, null) &&
7406
+ isCompatEnabled$1("CONFIG_IGNORED_ELEMENTS" /* DeprecationTypes.CONFIG_IGNORED_ELEMENTS */, null) &&
7355
7407
  !isRuntimeOnly() &&
7356
7408
  isArray(val)) {
7357
7409
  app.config.compilerOptions.isCustomElement = tag => {
@@ -7364,7 +7416,7 @@ function applySingletonAppMutations(app) {
7364
7416
  }
7365
7417
  function applySingletonPrototype(app, Ctor) {
7366
7418
  // copy prototype augmentations as config.globalProperties
7367
- const enabled = isCompatEnabled("GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */, null);
7419
+ const enabled = isCompatEnabled$1("GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */, null);
7368
7420
  if (enabled) {
7369
7421
  app.config.globalProperties = Object.create(Ctor.prototype);
7370
7422
  }
@@ -7379,7 +7431,7 @@ function applySingletonPrototype(app, Ctor) {
7379
7431
  }
7380
7432
  }
7381
7433
  if (hasPrototypeAugmentations) {
7382
- warnDeprecation("GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */, null);
7434
+ warnDeprecation$1("GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */, null);
7383
7435
  }
7384
7436
  }
7385
7437
  function installCompatMount(app, context, render) {
@@ -7413,7 +7465,7 @@ function installCompatMount(app, context, render) {
7413
7465
  // both runtime-core AND runtime-dom.
7414
7466
  instance.ctx._compat_mount = (selectorOrEl) => {
7415
7467
  if (isMounted) {
7416
- warn$1(`Root instance is already mounted.`);
7468
+ warn(`Root instance is already mounted.`);
7417
7469
  return;
7418
7470
  }
7419
7471
  let container;
@@ -7421,7 +7473,7 @@ function installCompatMount(app, context, render) {
7421
7473
  // eslint-disable-next-line
7422
7474
  const result = document.querySelector(selectorOrEl);
7423
7475
  if (!result) {
7424
- warn$1(`Failed to mount root instance: selector "${selectorOrEl}" returned null.`);
7476
+ warn(`Failed to mount root instance: selector "${selectorOrEl}" returned null.`);
7425
7477
  return;
7426
7478
  }
7427
7479
  container = result;
@@ -7449,7 +7501,7 @@ function installCompatMount(app, context, render) {
7449
7501
  for (let i = 0; i < container.attributes.length; i++) {
7450
7502
  const attr = container.attributes[i];
7451
7503
  if (attr.name !== 'v-cloak' && /^(v-|:|@)/.test(attr.name)) {
7452
- warnDeprecation("GLOBAL_MOUNT_CONTAINER" /* DeprecationTypes.GLOBAL_MOUNT_CONTAINER */, null);
7504
+ warnDeprecation$1("GLOBAL_MOUNT_CONTAINER" /* DeprecationTypes.GLOBAL_MOUNT_CONTAINER */, null);
7453
7505
  break;
7454
7506
  }
7455
7507
  }
@@ -7488,7 +7540,7 @@ function installCompatMount(app, context, render) {
7488
7540
  if (bum) {
7489
7541
  invokeArrayFns(bum);
7490
7542
  }
7491
- if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
7543
+ if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
7492
7544
  instance.emit('hook:beforeDestroy');
7493
7545
  }
7494
7546
  // stop effects
@@ -7499,7 +7551,7 @@ function installCompatMount(app, context, render) {
7499
7551
  if (um) {
7500
7552
  invokeArrayFns(um);
7501
7553
  }
7502
- if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
7554
+ if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
7503
7555
  instance.emit('hook:destroyed');
7504
7556
  }
7505
7557
  }
@@ -7591,21 +7643,21 @@ function createAppContext() {
7591
7643
  emitsCache: new WeakMap()
7592
7644
  };
7593
7645
  }
7594
- let uid = 0;
7646
+ let uid$1 = 0;
7595
7647
  function createAppAPI(render, hydrate) {
7596
7648
  return function createApp(rootComponent, rootProps = null) {
7597
7649
  if (!isFunction(rootComponent)) {
7598
7650
  rootComponent = Object.assign({}, rootComponent);
7599
7651
  }
7600
7652
  if (rootProps != null && !isObject(rootProps)) {
7601
- warn$1(`root props passed to app.mount() must be an object.`);
7653
+ warn(`root props passed to app.mount() must be an object.`);
7602
7654
  rootProps = null;
7603
7655
  }
7604
7656
  const context = createAppContext();
7605
7657
  const installedPlugins = new Set();
7606
7658
  let isMounted = false;
7607
7659
  const app = (context.app = {
7608
- _uid: uid++,
7660
+ _uid: uid$1++,
7609
7661
  _component: rootComponent,
7610
7662
  _props: rootProps,
7611
7663
  _container: null,
@@ -7617,12 +7669,12 @@ function createAppAPI(render, hydrate) {
7617
7669
  },
7618
7670
  set config(v) {
7619
7671
  {
7620
- warn$1(`app.config cannot be replaced. Modify individual options instead.`);
7672
+ warn(`app.config cannot be replaced. Modify individual options instead.`);
7621
7673
  }
7622
7674
  },
7623
7675
  use(plugin, ...options) {
7624
7676
  if (installedPlugins.has(plugin)) {
7625
- warn$1(`Plugin has already been applied to target app.`);
7677
+ warn(`Plugin has already been applied to target app.`);
7626
7678
  }
7627
7679
  else if (plugin && isFunction(plugin.install)) {
7628
7680
  installedPlugins.add(plugin);
@@ -7633,7 +7685,7 @@ function createAppAPI(render, hydrate) {
7633
7685
  plugin(app, ...options);
7634
7686
  }
7635
7687
  else {
7636
- warn$1(`A plugin must either be a function or an object with an "install" ` +
7688
+ warn(`A plugin must either be a function or an object with an "install" ` +
7637
7689
  `function.`);
7638
7690
  }
7639
7691
  return app;
@@ -7644,7 +7696,7 @@ function createAppAPI(render, hydrate) {
7644
7696
  context.mixins.push(mixin);
7645
7697
  }
7646
7698
  else {
7647
- warn$1('Mixin has already been applied to target app' +
7699
+ warn('Mixin has already been applied to target app' +
7648
7700
  (mixin.name ? `: ${mixin.name}` : ''));
7649
7701
  }
7650
7702
  }
@@ -7658,7 +7710,7 @@ function createAppAPI(render, hydrate) {
7658
7710
  return context.components[name];
7659
7711
  }
7660
7712
  if (context.components[name]) {
7661
- warn$1(`Component "${name}" has already been registered in target app.`);
7713
+ warn(`Component "${name}" has already been registered in target app.`);
7662
7714
  }
7663
7715
  context.components[name] = component;
7664
7716
  return app;
@@ -7671,7 +7723,7 @@ function createAppAPI(render, hydrate) {
7671
7723
  return context.directives[name];
7672
7724
  }
7673
7725
  if (context.directives[name]) {
7674
- warn$1(`Directive "${name}" has already been registered in target app.`);
7726
+ warn(`Directive "${name}" has already been registered in target app.`);
7675
7727
  }
7676
7728
  context.directives[name] = directive;
7677
7729
  return app;
@@ -7680,7 +7732,7 @@ function createAppAPI(render, hydrate) {
7680
7732
  if (!isMounted) {
7681
7733
  // #5571
7682
7734
  if (rootContainer.__vue_app__) {
7683
- warn$1(`There is already an app instance mounted on the host container.\n` +
7735
+ warn(`There is already an app instance mounted on the host container.\n` +
7684
7736
  ` If you want to mount another app on the same host container,` +
7685
7737
  ` you need to unmount the previous app by calling \`app.unmount()\` first.`);
7686
7738
  }
@@ -7710,7 +7762,7 @@ function createAppAPI(render, hydrate) {
7710
7762
  return getExposeProxy(vnode.component) || vnode.component.proxy;
7711
7763
  }
7712
7764
  else {
7713
- warn$1(`App has already been mounted.\n` +
7765
+ warn(`App has already been mounted.\n` +
7714
7766
  `If you want to remount the same app, move your app creation logic ` +
7715
7767
  `into a factory function and create fresh app instances for each ` +
7716
7768
  `mount - e.g. \`const createMyApp = () => createApp(App)\``);
@@ -7726,12 +7778,12 @@ function createAppAPI(render, hydrate) {
7726
7778
  delete app._container.__vue_app__;
7727
7779
  }
7728
7780
  else {
7729
- warn$1(`Cannot unmount an app that is not mounted.`);
7781
+ warn(`Cannot unmount an app that is not mounted.`);
7730
7782
  }
7731
7783
  },
7732
7784
  provide(key, value) {
7733
7785
  if (key in context.provides) {
7734
- warn$1(`App already provides property with key "${String(key)}". ` +
7786
+ warn(`App already provides property with key "${String(key)}". ` +
7735
7787
  `It will be overwritten with the new value.`);
7736
7788
  }
7737
7789
  context.provides[key] = value;
@@ -7764,7 +7816,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7764
7816
  const value = isUnmount ? null : refValue;
7765
7817
  const { i: owner, r: ref } = rawRef;
7766
7818
  if (!owner) {
7767
- warn$1(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +
7819
+ warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +
7768
7820
  `A vnode with ref must be created inside the render function.`);
7769
7821
  return;
7770
7822
  }
@@ -7831,7 +7883,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7831
7883
  refs[rawRef.k] = value;
7832
7884
  }
7833
7885
  else {
7834
- warn$1('Invalid template ref type:', ref, `(${typeof ref})`);
7886
+ warn('Invalid template ref type:', ref, `(${typeof ref})`);
7835
7887
  }
7836
7888
  };
7837
7889
  if (value) {
@@ -7843,7 +7895,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7843
7895
  }
7844
7896
  }
7845
7897
  else {
7846
- warn$1('Invalid template ref type:', ref, `(${typeof ref})`);
7898
+ warn('Invalid template ref type:', ref, `(${typeof ref})`);
7847
7899
  }
7848
7900
  }
7849
7901
  }
@@ -7860,7 +7912,7 @@ function createHydrationFunctions(rendererInternals) {
7860
7912
  const { mt: mountComponent, p: patch, o: { patchProp, createText, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;
7861
7913
  const hydrate = (vnode, container) => {
7862
7914
  if (!container.hasChildNodes()) {
7863
- warn$1(`Attempting to hydrate existing markup but container is empty. ` +
7915
+ warn(`Attempting to hydrate existing markup but container is empty. ` +
7864
7916
  `Performing full mount instead.`);
7865
7917
  patch(null, vnode, container);
7866
7918
  flushPostFlushCbs();
@@ -7903,7 +7955,7 @@ function createHydrationFunctions(rendererInternals) {
7903
7955
  else {
7904
7956
  if (node.data !== vnode.children) {
7905
7957
  hasMismatch = true;
7906
- warn$1(`Hydration text mismatch:` +
7958
+ warn(`Hydration text mismatch:` +
7907
7959
  `\n- Client: ${JSON.stringify(node.data)}` +
7908
7960
  `\n- Server: ${JSON.stringify(vnode.children)}`);
7909
7961
  node.data = vnode.children;
@@ -8018,7 +8070,7 @@ function createHydrationFunctions(rendererInternals) {
8018
8070
  nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
8019
8071
  }
8020
8072
  else {
8021
- warn$1('Invalid HostVNode type:', type, `(${typeof type})`);
8073
+ warn('Invalid HostVNode type:', type, `(${typeof type})`);
8022
8074
  }
8023
8075
  }
8024
8076
  if (ref != null) {
@@ -8079,7 +8131,7 @@ function createHydrationFunctions(rendererInternals) {
8079
8131
  while (next) {
8080
8132
  hasMismatch = true;
8081
8133
  if (!hasWarned) {
8082
- warn$1(`Hydration children mismatch in <${vnode.type}>: ` +
8134
+ warn(`Hydration children mismatch in <${vnode.type}>: ` +
8083
8135
  `server rendered element contains more child nodes than client vdom.`);
8084
8136
  hasWarned = true;
8085
8137
  }
@@ -8092,7 +8144,7 @@ function createHydrationFunctions(rendererInternals) {
8092
8144
  else if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
8093
8145
  if (el.textContent !== vnode.children) {
8094
8146
  hasMismatch = true;
8095
- warn$1(`Hydration text content mismatch in <${vnode.type}>:\n` +
8147
+ warn(`Hydration text content mismatch in <${vnode.type}>:\n` +
8096
8148
  `- Client: ${el.textContent}\n` +
8097
8149
  `- Server: ${vnode.children}`);
8098
8150
  el.textContent = vnode.children;
@@ -8119,7 +8171,7 @@ function createHydrationFunctions(rendererInternals) {
8119
8171
  else {
8120
8172
  hasMismatch = true;
8121
8173
  if (!hasWarned) {
8122
- warn$1(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +
8174
+ warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +
8123
8175
  `server rendered element contains fewer child nodes than client vdom.`);
8124
8176
  hasWarned = true;
8125
8177
  }
@@ -8152,7 +8204,7 @@ function createHydrationFunctions(rendererInternals) {
8152
8204
  };
8153
8205
  const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
8154
8206
  hasMismatch = true;
8155
- warn$1(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* DOMNodeTypes.TEXT */
8207
+ warn(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* DOMNodeTypes.TEXT */
8156
8208
  ? `(text)`
8157
8209
  : isComment(node) && node.data === '['
8158
8210
  ? `(start of fragment)`
@@ -8320,7 +8372,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8320
8372
  type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
8321
8373
  }
8322
8374
  else {
8323
- warn$1('Invalid VNode type:', type, `(${typeof type})`);
8375
+ warn('Invalid VNode type:', type, `(${typeof type})`);
8324
8376
  }
8325
8377
  }
8326
8378
  // set ref
@@ -8410,6 +8462,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8410
8462
  if (dirs) {
8411
8463
  invokeDirectiveHook(vnode, null, parentComponent, 'created');
8412
8464
  }
8465
+ // scopeId
8466
+ setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
8413
8467
  // props
8414
8468
  if (props) {
8415
8469
  for (const key in props) {
@@ -8433,8 +8487,6 @@ function baseCreateRenderer(options, createHydrationFns) {
8433
8487
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
8434
8488
  }
8435
8489
  }
8436
- // scopeId
8437
- setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
8438
8490
  {
8439
8491
  Object.defineProperty(el, '__vnode', {
8440
8492
  value: vnode,
@@ -8808,7 +8860,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8808
8860
  (vnodeHook = props && props.onVnodeBeforeMount)) {
8809
8861
  invokeVNodeHook(vnodeHook, parent, initialVNode);
8810
8862
  }
8811
- if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
8863
+ if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
8812
8864
  instance.emit('hook:beforeMount');
8813
8865
  }
8814
8866
  toggleRecurse(instance, true);
@@ -8869,7 +8921,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8869
8921
  const scopedInitialVNode = initialVNode;
8870
8922
  queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), parentSuspense);
8871
8923
  }
8872
- if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
8924
+ if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
8873
8925
  queuePostRenderEffect(() => instance.emit('hook:mounted'), parentSuspense);
8874
8926
  }
8875
8927
  // activated hook for keep-alive roots.
@@ -8880,7 +8932,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8880
8932
  isAsyncWrapper(parent.vnode) &&
8881
8933
  parent.vnode.shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */)) {
8882
8934
  instance.a && queuePostRenderEffect(instance.a, parentSuspense);
8883
- if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
8935
+ if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
8884
8936
  queuePostRenderEffect(() => instance.emit('hook:activated'), parentSuspense);
8885
8937
  }
8886
8938
  }
@@ -8918,7 +8970,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8918
8970
  if ((vnodeHook = next.props && next.props.onVnodeBeforeUpdate)) {
8919
8971
  invokeVNodeHook(vnodeHook, parent, next, vnode);
8920
8972
  }
8921
- if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
8973
+ if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
8922
8974
  instance.emit('hook:beforeUpdate');
8923
8975
  }
8924
8976
  toggleRecurse(instance, true);
@@ -8958,7 +9010,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8958
9010
  if ((vnodeHook = next.props && next.props.onVnodeUpdated)) {
8959
9011
  queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), parentSuspense);
8960
9012
  }
8961
- if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
9013
+ if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
8962
9014
  queuePostRenderEffect(() => instance.emit('hook:updated'), parentSuspense);
8963
9015
  }
8964
9016
  {
@@ -9163,7 +9215,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9163
9215
  : normalizeVNode(c2[i]));
9164
9216
  if (nextChild.key != null) {
9165
9217
  if (keyToNewIndexMap.has(nextChild.key)) {
9166
- warn$1(`Duplicate keys found during update:`, JSON.stringify(nextChild.key), `Make sure keys are unique.`);
9218
+ warn(`Duplicate keys found during update:`, JSON.stringify(nextChild.key), `Make sure keys are unique.`);
9167
9219
  }
9168
9220
  keyToNewIndexMap.set(nextChild.key, i);
9169
9221
  }
@@ -9431,7 +9483,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9431
9483
  if (bum) {
9432
9484
  invokeArrayFns(bum);
9433
9485
  }
9434
- if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
9486
+ if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
9435
9487
  instance.emit('hook:beforeDestroy');
9436
9488
  }
9437
9489
  // stop effects in component scope
@@ -9447,7 +9499,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9447
9499
  if (um) {
9448
9500
  queuePostRenderEffect(um, parentSuspense);
9449
9501
  }
9450
- if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
9502
+ if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
9451
9503
  queuePostRenderEffect(() => instance.emit('hook:destroyed'), parentSuspense);
9452
9504
  }
9453
9505
  queuePostRenderEffect(() => {
@@ -9614,14 +9666,14 @@ const resolveTarget = (props, select) => {
9614
9666
  const targetSelector = props && props.to;
9615
9667
  if (isString(targetSelector)) {
9616
9668
  if (!select) {
9617
- warn$1(`Current renderer does not support string target for Teleports. ` +
9669
+ warn(`Current renderer does not support string target for Teleports. ` +
9618
9670
  `(missing querySelector renderer option)`);
9619
9671
  return null;
9620
9672
  }
9621
9673
  else {
9622
9674
  const target = select(targetSelector);
9623
9675
  if (!target) {
9624
- warn$1(`Failed to locate Teleport target with selector "${targetSelector}". ` +
9676
+ warn(`Failed to locate Teleport target with selector "${targetSelector}". ` +
9625
9677
  `Note the target element must exist before the component is mounted - ` +
9626
9678
  `i.e. the target cannot be rendered by the component itself, and ` +
9627
9679
  `ideally should be outside of the entire Vue component tree.`);
@@ -9631,7 +9683,7 @@ const resolveTarget = (props, select) => {
9631
9683
  }
9632
9684
  else {
9633
9685
  if (!targetSelector && !isTeleportDisabled(props)) {
9634
- warn$1(`Invalid Teleport target: ${targetSelector}`);
9686
+ warn(`Invalid Teleport target: ${targetSelector}`);
9635
9687
  }
9636
9688
  return targetSelector;
9637
9689
  }
@@ -9664,7 +9716,7 @@ const TeleportImpl = {
9664
9716
  isSVG = isSVG || isTargetSVG(target);
9665
9717
  }
9666
9718
  else if (!disabled) {
9667
- warn$1('Invalid Teleport target on mount:', target, `(${typeof target})`);
9719
+ warn('Invalid Teleport target on mount:', target, `(${typeof target})`);
9668
9720
  }
9669
9721
  const mount = (container, anchor) => {
9670
9722
  // Teleport *always* has Array children. This is enforced in both the
@@ -9716,7 +9768,7 @@ const TeleportImpl = {
9716
9768
  moveTeleport(n2, nextTarget, null, internals, 0 /* TeleportMoveTypes.TARGET_CHANGE */);
9717
9769
  }
9718
9770
  else {
9719
- warn$1('Invalid Teleport target on update:', target, `(${typeof target})`);
9771
+ warn('Invalid Teleport target on update:', target, `(${typeof target})`);
9720
9772
  }
9721
9773
  }
9722
9774
  else if (wasDisabled) {
@@ -9872,7 +9924,7 @@ function convertLegacyComponent(comp, instance) {
9872
9924
  }
9873
9925
  // 2.x async component
9874
9926
  if (isFunction(comp) &&
9875
- checkCompatEnabled("COMPONENT_ASYNC" /* DeprecationTypes.COMPONENT_ASYNC */, instance, comp)) {
9927
+ checkCompatEnabled$1("COMPONENT_ASYNC" /* DeprecationTypes.COMPONENT_ASYNC */, instance, comp)) {
9876
9928
  // since after disabling this, plain functions are still valid usage, do not
9877
9929
  // use softAssert here.
9878
9930
  return convertLegacyAsyncComponent(comp);
@@ -10057,7 +10109,7 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
10057
10109
  }
10058
10110
  // validate key
10059
10111
  if (vnode.key !== vnode.key) {
10060
- warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10112
+ warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10061
10113
  }
10062
10114
  // track vnode for block tree
10063
10115
  if (isBlockTreeEnabled > 0 &&
@@ -10085,7 +10137,7 @@ const createVNode = (createVNodeWithArgsTransform );
10085
10137
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
10086
10138
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
10087
10139
  if (!type) {
10088
- warn$1(`Invalid vnode type when creating vnode: ${type}.`);
10140
+ warn(`Invalid vnode type when creating vnode: ${type}.`);
10089
10141
  }
10090
10142
  type = Comment;
10091
10143
  }
@@ -10147,7 +10199,7 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
10147
10199
  : 0;
10148
10200
  if (shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */ && isProxy(type)) {
10149
10201
  type = toRaw(type);
10150
- warn$1(`Vue received a Component which was made a reactive object. This can ` +
10202
+ warn(`Vue received a Component which was made a reactive object. This can ` +
10151
10203
  `lead to unnecessary performance overhead, and should be avoided by ` +
10152
10204
  `marking the component with \`markRaw\` or using \`shallowRef\` ` +
10153
10205
  `instead of \`ref\`.`, `\nComponent that was made reactive: `, type);
@@ -10215,7 +10267,8 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10215
10267
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
10216
10268
  el: vnode.el,
10217
10269
  anchor: vnode.anchor,
10218
- ctx: vnode.ctx
10270
+ ctx: vnode.ctx,
10271
+ ce: vnode.ce
10219
10272
  };
10220
10273
  {
10221
10274
  defineLegacyVNodeProperties(cloned);
@@ -10385,13 +10438,13 @@ function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
10385
10438
  }
10386
10439
 
10387
10440
  const emptyAppContext = createAppContext();
10388
- let uid$1 = 0;
10441
+ let uid = 0;
10389
10442
  function createComponentInstance(vnode, parent, suspense) {
10390
10443
  const type = vnode.type;
10391
10444
  // inherit parent app context - or - if root, adopt from root vnode
10392
10445
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
10393
10446
  const instance = {
10394
- uid: uid$1++,
10447
+ uid: uid++,
10395
10448
  vnode,
10396
10449
  type,
10397
10450
  parent,
@@ -10461,7 +10514,7 @@ function createComponentInstance(vnode, parent, suspense) {
10461
10514
  instance.ctx = createDevRenderContext(instance);
10462
10515
  }
10463
10516
  instance.root = parent ? parent.root : instance;
10464
- instance.emit = emit$2.bind(null, instance);
10517
+ instance.emit = emit.bind(null, instance);
10465
10518
  // apply custom element special handling
10466
10519
  if (vnode.ce) {
10467
10520
  vnode.ce(instance);
@@ -10482,7 +10535,7 @@ const isBuiltInTag = /*#__PURE__*/ makeMap('slot,component');
10482
10535
  function validateComponentName(name, config) {
10483
10536
  const appIsNativeTag = config.isNativeTag || NO;
10484
10537
  if (isBuiltInTag(name) || appIsNativeTag(name)) {
10485
- warn$1('Do not use built-in or reserved HTML elements as component id: ' + name);
10538
+ warn('Do not use built-in or reserved HTML elements as component id: ' + name);
10486
10539
  }
10487
10540
  }
10488
10541
  function isStatefulComponent(instance) {
@@ -10521,7 +10574,7 @@ function setupStatefulComponent(instance, isSSR) {
10521
10574
  }
10522
10575
  }
10523
10576
  if (Component.compilerOptions && isRuntimeOnly()) {
10524
- warn$1(`"compilerOptions" is only supported when using a build of Vue that ` +
10577
+ warn(`"compilerOptions" is only supported when using a build of Vue that ` +
10525
10578
  `includes the runtime compiler. Since you are using a runtime-only ` +
10526
10579
  `build, the options should be passed via your build tool config instead.`);
10527
10580
  }
@@ -10562,7 +10615,7 @@ function setupStatefulComponent(instance, isSSR) {
10562
10615
  instance.asyncDep = setupResult;
10563
10616
  if (!instance.suspense) {
10564
10617
  const name = (_a = Component.name) !== null && _a !== void 0 ? _a : 'Anonymous';
10565
- warn$1(`Component <${name}>: setup function returned a promise, but no ` +
10618
+ warn(`Component <${name}>: setup function returned a promise, but no ` +
10566
10619
  `<Suspense> boundary was found in the parent component tree. ` +
10567
10620
  `A component with async setup() must be nested in a <Suspense> ` +
10568
10621
  `in order to be rendered.`);
@@ -10586,7 +10639,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
10586
10639
  }
10587
10640
  else if (isObject(setupResult)) {
10588
10641
  if (isVNode(setupResult)) {
10589
- warn$1(`setup() should not return VNodes directly - ` +
10642
+ warn(`setup() should not return VNodes directly - ` +
10590
10643
  `return a render function instead.`);
10591
10644
  }
10592
10645
  // setup returned bindings.
@@ -10600,18 +10653,18 @@ function handleSetupResult(instance, setupResult, isSSR) {
10600
10653
  }
10601
10654
  }
10602
10655
  else if (setupResult !== undefined) {
10603
- warn$1(`setup() should return an object. Received: ${setupResult === null ? 'null' : typeof setupResult}`);
10656
+ warn(`setup() should return an object. Received: ${setupResult === null ? 'null' : typeof setupResult}`);
10604
10657
  }
10605
10658
  finishComponentSetup(instance, isSSR);
10606
10659
  }
10607
- let compile;
10660
+ let compile$1;
10608
10661
  let installWithProxy;
10609
10662
  /**
10610
10663
  * For runtime-dom to register the compiler.
10611
10664
  * Note the exported method uses any to avoid d.ts relying on the compiler types.
10612
10665
  */
10613
10666
  function registerRuntimeCompiler(_compile) {
10614
- compile = _compile;
10667
+ compile$1 = _compile;
10615
10668
  installWithProxy = i => {
10616
10669
  if (i.render._rc) {
10617
10670
  i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers);
@@ -10619,7 +10672,7 @@ function registerRuntimeCompiler(_compile) {
10619
10672
  };
10620
10673
  }
10621
10674
  // dev only
10622
- const isRuntimeOnly = () => !compile;
10675
+ const isRuntimeOnly = () => !compile$1;
10623
10676
  function finishComponentSetup(instance, isSSR, skipOptions) {
10624
10677
  const Component = instance.type;
10625
10678
  {
@@ -10633,7 +10686,7 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10633
10686
  if (!instance.render) {
10634
10687
  // only do on-the-fly compile if not in SSR - SSR on-the-fly compilation
10635
10688
  // is done by server-renderer
10636
- if (!isSSR && compile && !Component.render) {
10689
+ if (!isSSR && compile$1 && !Component.render) {
10637
10690
  const template = (instance.vnode.props &&
10638
10691
  instance.vnode.props['inline-template']) ||
10639
10692
  Component.template ||
@@ -10656,7 +10709,7 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10656
10709
  extend(finalCompilerOptions.compatConfig, Component.compatConfig);
10657
10710
  }
10658
10711
  }
10659
- Component.render = compile(template, finalCompilerOptions);
10712
+ Component.render = compile$1(template, finalCompilerOptions);
10660
10713
  {
10661
10714
  endMeasure(instance, `compile`);
10662
10715
  }
@@ -10682,14 +10735,14 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10682
10735
  // the runtime compilation of template in SSR is done by server-render
10683
10736
  if (!Component.render && instance.render === NOOP && !isSSR) {
10684
10737
  /* istanbul ignore if */
10685
- if (!compile && Component.template) {
10686
- warn$1(`Component provided template option but ` +
10738
+ if (!compile$1 && Component.template) {
10739
+ warn(`Component provided template option but ` +
10687
10740
  `runtime compilation is not supported in this build of Vue.` +
10688
10741
  (` Use "vue.esm-browser.js" instead.`
10689
10742
  ) /* should not happen */);
10690
10743
  }
10691
10744
  else {
10692
- warn$1(`Component is missing template or render function.`);
10745
+ warn(`Component is missing template or render function.`);
10693
10746
  }
10694
10747
  }
10695
10748
  }
@@ -10701,11 +10754,11 @@ function createAttrsProxy(instance) {
10701
10754
  return target[key];
10702
10755
  },
10703
10756
  set() {
10704
- warn$1(`setupContext.attrs is readonly.`);
10757
+ warn(`setupContext.attrs is readonly.`);
10705
10758
  return false;
10706
10759
  },
10707
10760
  deleteProperty() {
10708
- warn$1(`setupContext.attrs is readonly.`);
10761
+ warn(`setupContext.attrs is readonly.`);
10709
10762
  return false;
10710
10763
  }
10711
10764
  }
@@ -10713,8 +10766,24 @@ function createAttrsProxy(instance) {
10713
10766
  }
10714
10767
  function createSetupContext(instance) {
10715
10768
  const expose = exposed => {
10716
- if (instance.exposed) {
10717
- warn$1(`expose() should be called only once per setup().`);
10769
+ {
10770
+ if (instance.exposed) {
10771
+ warn(`expose() should be called only once per setup().`);
10772
+ }
10773
+ if (exposed != null) {
10774
+ let exposedType = typeof exposed;
10775
+ if (exposedType === 'object') {
10776
+ if (isArray(exposed)) {
10777
+ exposedType = 'array';
10778
+ }
10779
+ else if (isRef(exposed)) {
10780
+ exposedType = 'ref';
10781
+ }
10782
+ }
10783
+ if (exposedType !== 'object') {
10784
+ warn(`expose() should be passed a plain object, received ${exposedType}.`);
10785
+ }
10786
+ }
10718
10787
  }
10719
10788
  instance.exposed = exposed || {};
10720
10789
  };
@@ -10789,13 +10858,13 @@ function isClassComponent(value) {
10789
10858
  return isFunction(value) && '__vccOpts' in value;
10790
10859
  }
10791
10860
 
10792
- const computed$1 = ((getterOrOptions, debugOptions) => {
10861
+ const computed = ((getterOrOptions, debugOptions) => {
10793
10862
  // @ts-ignore
10794
- return computed(getterOrOptions, debugOptions, isInSSRComponentSetup);
10863
+ return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
10795
10864
  });
10796
10865
 
10797
10866
  // dev only
10798
- const warnRuntimeUsage = (method) => warn$1(`${method}() is a compiler-hint helper that is only usable inside ` +
10867
+ const warnRuntimeUsage = (method) => warn(`${method}() is a compiler-hint helper that is only usable inside ` +
10799
10868
  `<script setup> of a single file component. Its arguments should be ` +
10800
10869
  `compiled away and passing it at runtime has no effect.`);
10801
10870
  // implementation
@@ -10862,7 +10931,7 @@ function useAttrs() {
10862
10931
  function getContext() {
10863
10932
  const i = getCurrentInstance();
10864
10933
  if (!i) {
10865
- warn$1(`useContext() called without active instance.`);
10934
+ warn(`useContext() called without active instance.`);
10866
10935
  }
10867
10936
  return i.setupContext || (i.setupContext = createSetupContext(i));
10868
10937
  }
@@ -10889,7 +10958,7 @@ function mergeDefaults(raw, defaults) {
10889
10958
  props[key] = { default: defaults[key] };
10890
10959
  }
10891
10960
  else {
10892
- warn$1(`props default key "${key}" has no corresponding declaration.`);
10961
+ warn(`props default key "${key}" has no corresponding declaration.`);
10893
10962
  }
10894
10963
  }
10895
10964
  return props;
@@ -10932,7 +11001,7 @@ function createPropsRestProxy(props, excludedKeys) {
10932
11001
  function withAsyncContext(getAwaitable) {
10933
11002
  const ctx = getCurrentInstance();
10934
11003
  if (!ctx) {
10935
- warn$1(`withAsyncContext called without active current instance. ` +
11004
+ warn(`withAsyncContext called without active current instance. ` +
10936
11005
  `This is likely a bug.`);
10937
11006
  }
10938
11007
  let awaitable = getAwaitable();
@@ -10979,7 +11048,7 @@ const useSSRContext = () => {
10979
11048
  {
10980
11049
  const ctx = inject(ssrContextKey);
10981
11050
  if (!ctx) {
10982
- warn$1(`Server rendering context not provided. Make sure to only call ` +
11051
+ warn(`Server rendering context not provided. Make sure to only call ` +
10983
11052
  `useSSRContext() conditionally in the server build.`);
10984
11053
  }
10985
11054
  return ctx;
@@ -11203,7 +11272,7 @@ function isMemoSame(cached, memo) {
11203
11272
  }
11204
11273
 
11205
11274
  // Core API ------------------------------------------------------------------
11206
- const version = "3.2.45";
11275
+ const version = "3.2.46";
11207
11276
  /**
11208
11277
  * SSR utils for \@vue/server-renderer. Only exposed in ssr-possible builds.
11209
11278
  * @internal
@@ -11212,12 +11281,12 @@ const ssrUtils = (null);
11212
11281
  /**
11213
11282
  * @internal only exposed in compat builds
11214
11283
  */
11215
- const resolveFilter$1 = resolveFilter ;
11284
+ const resolveFilter = resolveFilter$1 ;
11216
11285
  const _compatUtils = {
11217
- warnDeprecation,
11218
- createCompatVue,
11219
- isCompatEnabled,
11220
- checkCompatEnabled,
11286
+ warnDeprecation: warnDeprecation$1,
11287
+ createCompatVue: createCompatVue$1,
11288
+ isCompatEnabled: isCompatEnabled$1,
11289
+ checkCompatEnabled: checkCompatEnabled$1,
11221
11290
  softAssertCompatEnabled
11222
11291
  };
11223
11292
  /**
@@ -11327,9 +11396,6 @@ function patchStyle(el, prev, next) {
11327
11396
  const style = el.style;
11328
11397
  const isCssString = isString(next);
11329
11398
  if (next && !isCssString) {
11330
- for (const key in next) {
11331
- setStyle(style, key, next[key]);
11332
- }
11333
11399
  if (prev && !isString(prev)) {
11334
11400
  for (const key in prev) {
11335
11401
  if (next[key] == null) {
@@ -11337,6 +11403,9 @@ function patchStyle(el, prev, next) {
11337
11403
  }
11338
11404
  }
11339
11405
  }
11406
+ for (const key in next) {
11407
+ setStyle(style, key, next[key]);
11408
+ }
11340
11409
  }
11341
11410
  else {
11342
11411
  const currentDisplay = style.display;
@@ -11367,7 +11436,7 @@ function setStyle(style, name, val) {
11367
11436
  val = '';
11368
11437
  {
11369
11438
  if (semicolonRE.test(val)) {
11370
- warn$1(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
11439
+ warn(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
11371
11440
  }
11372
11441
  }
11373
11442
  if (name.startsWith('--')) {
@@ -11529,7 +11598,7 @@ prevChildren, parentComponent, parentSuspense, unmountChildren) {
11529
11598
  catch (e) {
11530
11599
  // do not warn if value is auto-coerced from nullish values
11531
11600
  if (!needRemove) {
11532
- warn$1(`Failed setting prop "${key}" on <${el.tagName.toLowerCase()}>: ` +
11601
+ warn(`Failed setting prop "${key}" on <${el.tagName.toLowerCase()}>: ` +
11533
11602
  `value ${value} is invalid.`, e);
11534
11603
  }
11535
11604
  }
@@ -11733,7 +11802,7 @@ class VueElement extends BaseClass {
11733
11802
  }
11734
11803
  else {
11735
11804
  if (this.shadowRoot) {
11736
- warn$1(`Custom element has pre-rendered declarative shadow root but is not ` +
11805
+ warn(`Custom element has pre-rendered declarative shadow root but is not ` +
11737
11806
  `defined as hydratable. Use \`defineSSRCustomElement\`.`);
11738
11807
  }
11739
11808
  this.attachShadow({ mode: 'open' });
@@ -11940,17 +12009,17 @@ function useCssModule(name = '$style') {
11940
12009
  {
11941
12010
  const instance = getCurrentInstance();
11942
12011
  if (!instance) {
11943
- warn$1(`useCssModule must be called inside setup()`);
12012
+ warn(`useCssModule must be called inside setup()`);
11944
12013
  return EMPTY_OBJ;
11945
12014
  }
11946
12015
  const modules = instance.type.__cssModules;
11947
12016
  if (!modules) {
11948
- warn$1(`Current instance does not have CSS modules injected.`);
12017
+ warn(`Current instance does not have CSS modules injected.`);
11949
12018
  return EMPTY_OBJ;
11950
12019
  }
11951
12020
  const mod = modules[name];
11952
12021
  if (!mod) {
11953
- warn$1(`Current instance does not have CSS module named "${name}".`);
12022
+ warn(`Current instance does not have CSS module named "${name}".`);
11954
12023
  return EMPTY_OBJ;
11955
12024
  }
11956
12025
  return mod;
@@ -11965,7 +12034,7 @@ function useCssVars(getter) {
11965
12034
  const instance = getCurrentInstance();
11966
12035
  /* istanbul ignore next */
11967
12036
  if (!instance) {
11968
- warn$1(`useCssVars is called without current active component instance.`);
12037
+ warn(`useCssVars is called without current active component instance.`);
11969
12038
  return;
11970
12039
  }
11971
12040
  const updateTeleports = (instance.ut = (vars = getter(instance.proxy)) => {
@@ -12022,7 +12091,7 @@ function setVarsOnNode(el, vars) {
12022
12091
  }
12023
12092
  }
12024
12093
 
12025
- const TRANSITION = 'transition';
12094
+ const TRANSITION$1 = 'transition';
12026
12095
  const ANIMATION = 'animation';
12027
12096
  // DOM Transition is a higher-order-component based on the platform-agnostic
12028
12097
  // base Transition component, with DOM-specific logic.
@@ -12055,7 +12124,7 @@ const TransitionPropsValidators = (Transition.props =
12055
12124
  * #3227 Incoming hooks may be merged into arrays when wrapping Transition
12056
12125
  * with custom HOCs.
12057
12126
  */
12058
- const callHook$1 = (hook, args = []) => {
12127
+ const callHook = (hook, args = []) => {
12059
12128
  if (isArray(hook)) {
12060
12129
  hook.forEach(h => h(...args));
12061
12130
  }
@@ -12122,11 +12191,16 @@ function resolveTransitionProps(rawProps) {
12122
12191
  return (el, done) => {
12123
12192
  const hook = isAppear ? onAppear : onEnter;
12124
12193
  const resolve = () => finishEnter(el, isAppear, done);
12125
- callHook$1(hook, [el, resolve]);
12194
+ callHook(hook, [el, resolve]);
12126
12195
  nextFrame(() => {
12127
12196
  removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
12128
12197
  if (legacyClassEnabled) {
12129
- removeTransitionClass(el, isAppear ? legacyAppearFromClass : legacyEnterFromClass);
12198
+ const legacyClass = isAppear
12199
+ ? legacyAppearFromClass
12200
+ : legacyEnterFromClass;
12201
+ if (legacyClass) {
12202
+ removeTransitionClass(el, legacyClass);
12203
+ }
12130
12204
  }
12131
12205
  addTransitionClass(el, isAppear ? appearToClass : enterToClass);
12132
12206
  if (!hasExplicitCallback(hook)) {
@@ -12137,17 +12211,17 @@ function resolveTransitionProps(rawProps) {
12137
12211
  };
12138
12212
  return extend(baseProps, {
12139
12213
  onBeforeEnter(el) {
12140
- callHook$1(onBeforeEnter, [el]);
12214
+ callHook(onBeforeEnter, [el]);
12141
12215
  addTransitionClass(el, enterFromClass);
12142
- if (legacyClassEnabled) {
12216
+ if (legacyClassEnabled && legacyEnterFromClass) {
12143
12217
  addTransitionClass(el, legacyEnterFromClass);
12144
12218
  }
12145
12219
  addTransitionClass(el, enterActiveClass);
12146
12220
  },
12147
12221
  onBeforeAppear(el) {
12148
- callHook$1(onBeforeAppear, [el]);
12222
+ callHook(onBeforeAppear, [el]);
12149
12223
  addTransitionClass(el, appearFromClass);
12150
- if (legacyClassEnabled) {
12224
+ if (legacyClassEnabled && legacyAppearFromClass) {
12151
12225
  addTransitionClass(el, legacyAppearFromClass);
12152
12226
  }
12153
12227
  addTransitionClass(el, appearActiveClass);
@@ -12158,7 +12232,7 @@ function resolveTransitionProps(rawProps) {
12158
12232
  el._isLeaving = true;
12159
12233
  const resolve = () => finishLeave(el, done);
12160
12234
  addTransitionClass(el, leaveFromClass);
12161
- if (legacyClassEnabled) {
12235
+ if (legacyClassEnabled && legacyLeaveFromClass) {
12162
12236
  addTransitionClass(el, legacyLeaveFromClass);
12163
12237
  }
12164
12238
  // force reflow so *-leave-from classes immediately take effect (#2593)
@@ -12170,7 +12244,7 @@ function resolveTransitionProps(rawProps) {
12170
12244
  return;
12171
12245
  }
12172
12246
  removeTransitionClass(el, leaveFromClass);
12173
- if (legacyClassEnabled) {
12247
+ if (legacyClassEnabled && legacyLeaveFromClass) {
12174
12248
  removeTransitionClass(el, legacyLeaveFromClass);
12175
12249
  }
12176
12250
  addTransitionClass(el, leaveToClass);
@@ -12178,19 +12252,19 @@ function resolveTransitionProps(rawProps) {
12178
12252
  whenTransitionEnds(el, type, leaveDuration, resolve);
12179
12253
  }
12180
12254
  });
12181
- callHook$1(onLeave, [el, resolve]);
12255
+ callHook(onLeave, [el, resolve]);
12182
12256
  },
12183
12257
  onEnterCancelled(el) {
12184
12258
  finishEnter(el, false);
12185
- callHook$1(onEnterCancelled, [el]);
12259
+ callHook(onEnterCancelled, [el]);
12186
12260
  },
12187
12261
  onAppearCancelled(el) {
12188
12262
  finishEnter(el, true);
12189
- callHook$1(onAppearCancelled, [el]);
12263
+ callHook(onAppearCancelled, [el]);
12190
12264
  },
12191
12265
  onLeaveCancelled(el) {
12192
12266
  finishLeave(el);
12193
- callHook$1(onLeaveCancelled, [el]);
12267
+ callHook(onLeaveCancelled, [el]);
12194
12268
  }
12195
12269
  });
12196
12270
  }
@@ -12208,18 +12282,10 @@ function normalizeDuration(duration) {
12208
12282
  }
12209
12283
  function NumberOf(val) {
12210
12284
  const res = toNumber(val);
12211
- validateDuration(res);
12212
- return res;
12213
- }
12214
- function validateDuration(val) {
12215
- if (typeof val !== 'number') {
12216
- warn$1(`<transition> explicit duration is not a valid number - ` +
12217
- `got ${JSON.stringify(val)}.`);
12218
- }
12219
- else if (isNaN(val)) {
12220
- warn$1(`<transition> explicit duration is NaN - ` +
12221
- 'the duration expression might be incorrect.');
12285
+ {
12286
+ assertNumber(res, '<transition> explicit duration');
12222
12287
  }
12288
+ return res;
12223
12289
  }
12224
12290
  function addTransitionClass(el, cls) {
12225
12291
  cls.split(/\s+/).forEach(c => c && el.classList.add(c));
@@ -12278,8 +12344,8 @@ function getTransitionInfo(el, expectedType) {
12278
12344
  const styles = window.getComputedStyle(el);
12279
12345
  // JSDOM may return undefined for transition properties
12280
12346
  const getStyleProperties = (key) => (styles[key] || '').split(', ');
12281
- const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
12282
- const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
12347
+ const transitionDelays = getStyleProperties(`${TRANSITION$1}Delay`);
12348
+ const transitionDurations = getStyleProperties(`${TRANSITION$1}Duration`);
12283
12349
  const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
12284
12350
  const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
12285
12351
  const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
@@ -12288,9 +12354,9 @@ function getTransitionInfo(el, expectedType) {
12288
12354
  let timeout = 0;
12289
12355
  let propCount = 0;
12290
12356
  /* istanbul ignore if */
12291
- if (expectedType === TRANSITION) {
12357
+ if (expectedType === TRANSITION$1) {
12292
12358
  if (transitionTimeout > 0) {
12293
- type = TRANSITION;
12359
+ type = TRANSITION$1;
12294
12360
  timeout = transitionTimeout;
12295
12361
  propCount = transitionDurations.length;
12296
12362
  }
@@ -12307,17 +12373,17 @@ function getTransitionInfo(el, expectedType) {
12307
12373
  type =
12308
12374
  timeout > 0
12309
12375
  ? transitionTimeout > animationTimeout
12310
- ? TRANSITION
12376
+ ? TRANSITION$1
12311
12377
  : ANIMATION
12312
12378
  : null;
12313
12379
  propCount = type
12314
- ? type === TRANSITION
12380
+ ? type === TRANSITION$1
12315
12381
  ? transitionDurations.length
12316
12382
  : animationDurations.length
12317
12383
  : 0;
12318
12384
  }
12319
- const hasTransform = type === TRANSITION &&
12320
- /\b(transform|all)(,|$)/.test(getStyleProperties(`${TRANSITION}Property`).toString());
12385
+ const hasTransform = type === TRANSITION$1 &&
12386
+ /\b(transform|all)(,|$)/.test(getStyleProperties(`${TRANSITION$1}Property`).toString());
12321
12387
  return {
12322
12388
  type,
12323
12389
  timeout,
@@ -12406,7 +12472,7 @@ const TransitionGroupImpl = {
12406
12472
  setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
12407
12473
  }
12408
12474
  else {
12409
- warn$1(`<TransitionGroup> children must be keyed.`);
12475
+ warn(`<TransitionGroup> children must be keyed.`);
12410
12476
  }
12411
12477
  }
12412
12478
  if (prevChildren) {
@@ -12423,6 +12489,14 @@ const TransitionGroupImpl = {
12423
12489
  {
12424
12490
  TransitionGroupImpl.__isBuiltIn = true;
12425
12491
  }
12492
+ /**
12493
+ * TransitionGroup does not support "mode" so we need to remove it from the
12494
+ * props declarations, but direct delete operation is considered a side effect
12495
+ * and will make the entire transition feature non-tree-shakeable, so we do it
12496
+ * in a function and mark the function's invocation as pure.
12497
+ */
12498
+ const removeMode = (props) => delete props.mode;
12499
+ /*#__PURE__*/ removeMode(TransitionGroupImpl.props);
12426
12500
  const TransitionGroup = TransitionGroupImpl;
12427
12501
  function callPendingCbs(c) {
12428
12502
  const el = c.el;
@@ -12498,7 +12572,7 @@ const vModelText = {
12498
12572
  domValue = domValue.trim();
12499
12573
  }
12500
12574
  if (castToNumber) {
12501
- domValue = toNumber(domValue);
12575
+ domValue = looseToNumber(domValue);
12502
12576
  }
12503
12577
  el._assign(domValue);
12504
12578
  });
@@ -12533,7 +12607,8 @@ const vModelText = {
12533
12607
  if (trim && el.value.trim() === value) {
12534
12608
  return;
12535
12609
  }
12536
- if ((number || el.type === 'number') && toNumber(el.value) === value) {
12610
+ if ((number || el.type === 'number') &&
12611
+ looseToNumber(el.value) === value) {
12537
12612
  return;
12538
12613
  }
12539
12614
  }
@@ -12622,7 +12697,7 @@ const vModelSelect = {
12622
12697
  addEventListener(el, 'change', () => {
12623
12698
  const selectedVal = Array.prototype.filter
12624
12699
  .call(el.options, (o) => o.selected)
12625
- .map((o) => number ? toNumber(getValue(o)) : getValue(o));
12700
+ .map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
12626
12701
  el._assign(el.multiple
12627
12702
  ? isSetModel
12628
12703
  ? new Set(selectedVal)
@@ -12646,7 +12721,7 @@ const vModelSelect = {
12646
12721
  function setSelected(el, value) {
12647
12722
  const isMultiple = el.multiple;
12648
12723
  if (isMultiple && !isArray(value) && !isSet(value)) {
12649
- warn$1(`<select multiple v-model> expects an Array or Set value for its binding, ` +
12724
+ warn(`<select multiple v-model> expects an Array or Set value for its binding, ` +
12650
12725
  `but got ${Object.prototype.toString.call(value).slice(8, -1)}.`);
12651
12726
  return;
12652
12727
  }
@@ -12942,7 +13017,7 @@ function injectCompilerOptionsCheck(app) {
12942
13017
  return isCustomElement;
12943
13018
  },
12944
13019
  set() {
12945
- warn$1(`The \`isCustomElement\` config option is deprecated. Use ` +
13020
+ warn(`The \`isCustomElement\` config option is deprecated. Use ` +
12946
13021
  `\`compilerOptions.isCustomElement\` instead.`);
12947
13022
  }
12948
13023
  });
@@ -12956,11 +13031,11 @@ function injectCompilerOptionsCheck(app) {
12956
13031
  `- 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`;
12957
13032
  Object.defineProperty(app.config, 'compilerOptions', {
12958
13033
  get() {
12959
- warn$1(msg);
13034
+ warn(msg);
12960
13035
  return compilerOptions;
12961
13036
  },
12962
13037
  set() {
12963
- warn$1(msg);
13038
+ warn(msg);
12964
13039
  }
12965
13040
  });
12966
13041
  }
@@ -12969,14 +13044,14 @@ function normalizeContainer(container) {
12969
13044
  if (isString(container)) {
12970
13045
  const res = document.querySelector(container);
12971
13046
  if (!res) {
12972
- warn$1(`Failed to mount app: mount target selector "${container}" returned null.`);
13047
+ warn(`Failed to mount app: mount target selector "${container}" returned null.`);
12973
13048
  }
12974
13049
  return res;
12975
13050
  }
12976
13051
  if (window.ShadowRoot &&
12977
13052
  container instanceof window.ShadowRoot &&
12978
13053
  container.mode === 'closed') {
12979
- warn$1(`mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`);
13054
+ warn(`mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`);
12980
13055
  }
12981
13056
  return container;
12982
13057
  }
@@ -12987,150 +13062,151 @@ const initDirectivesForSSR = NOOP;
12987
13062
 
12988
13063
  var runtimeDom = /*#__PURE__*/Object.freeze({
12989
13064
  __proto__: null,
12990
- render: render,
12991
- hydrate: hydrate,
13065
+ BaseTransition: BaseTransition,
13066
+ Comment: Comment,
13067
+ EffectScope: EffectScope,
13068
+ Fragment: Fragment,
13069
+ KeepAlive: KeepAlive,
13070
+ ReactiveEffect: ReactiveEffect,
13071
+ Static: Static,
13072
+ Suspense: Suspense,
13073
+ Teleport: Teleport,
13074
+ Text: Text,
13075
+ Transition: Transition,
13076
+ TransitionGroup: TransitionGroup,
13077
+ VueElement: VueElement,
13078
+ assertNumber: assertNumber,
13079
+ callWithAsyncErrorHandling: callWithAsyncErrorHandling,
13080
+ callWithErrorHandling: callWithErrorHandling,
13081
+ camelize: camelize,
13082
+ capitalize: capitalize,
13083
+ cloneVNode: cloneVNode,
13084
+ compatUtils: compatUtils,
13085
+ computed: computed,
12992
13086
  createApp: createApp,
13087
+ createBlock: createBlock,
13088
+ createCommentVNode: createCommentVNode,
13089
+ createElementBlock: createElementBlock,
13090
+ createElementVNode: createBaseVNode,
13091
+ createHydrationRenderer: createHydrationRenderer,
13092
+ createPropsRestProxy: createPropsRestProxy,
13093
+ createRenderer: createRenderer,
12993
13094
  createSSRApp: createSSRApp,
12994
- initDirectivesForSSR: initDirectivesForSSR,
13095
+ createSlots: createSlots,
13096
+ createStaticVNode: createStaticVNode,
13097
+ createTextVNode: createTextVNode,
13098
+ createVNode: createVNode,
13099
+ customRef: customRef,
13100
+ defineAsyncComponent: defineAsyncComponent,
13101
+ defineComponent: defineComponent,
12995
13102
  defineCustomElement: defineCustomElement,
13103
+ defineEmits: defineEmits,
13104
+ defineExpose: defineExpose,
13105
+ defineProps: defineProps,
12996
13106
  defineSSRCustomElement: defineSSRCustomElement,
12997
- VueElement: VueElement,
12998
- useCssModule: useCssModule,
12999
- useCssVars: useCssVars,
13000
- Transition: Transition,
13001
- TransitionGroup: TransitionGroup,
13002
- vModelText: vModelText,
13003
- vModelCheckbox: vModelCheckbox,
13004
- vModelRadio: vModelRadio,
13005
- vModelSelect: vModelSelect,
13006
- vModelDynamic: vModelDynamic,
13007
- withModifiers: withModifiers,
13008
- withKeys: withKeys,
13009
- vShow: vShow,
13010
- reactive: reactive,
13011
- ref: ref,
13012
- readonly: readonly,
13013
- unref: unref,
13014
- proxyRefs: proxyRefs,
13015
- isRef: isRef,
13016
- toRef: toRef,
13017
- toRefs: toRefs,
13107
+ get devtools () { return devtools; },
13108
+ effect: effect,
13109
+ effectScope: effectScope,
13110
+ getCurrentInstance: getCurrentInstance,
13111
+ getCurrentScope: getCurrentScope,
13112
+ getTransitionRawChildren: getTransitionRawChildren,
13113
+ guardReactiveProps: guardReactiveProps,
13114
+ h: h,
13115
+ handleError: handleError,
13116
+ hydrate: hydrate,
13117
+ initCustomFormatter: initCustomFormatter,
13118
+ initDirectivesForSSR: initDirectivesForSSR,
13119
+ inject: inject,
13120
+ isMemoSame: isMemoSame,
13018
13121
  isProxy: isProxy,
13019
13122
  isReactive: isReactive,
13020
13123
  isReadonly: isReadonly,
13124
+ isRef: isRef,
13125
+ isRuntimeOnly: isRuntimeOnly,
13021
13126
  isShallow: isShallow,
13022
- customRef: customRef,
13023
- triggerRef: triggerRef,
13024
- shallowRef: shallowRef,
13025
- shallowReactive: shallowReactive,
13026
- shallowReadonly: shallowReadonly,
13127
+ isVNode: isVNode,
13027
13128
  markRaw: markRaw,
13028
- toRaw: toRaw,
13029
- effect: effect,
13030
- stop: stop,
13031
- ReactiveEffect: ReactiveEffect,
13032
- effectScope: effectScope,
13033
- EffectScope: EffectScope,
13034
- getCurrentScope: getCurrentScope,
13035
- onScopeDispose: onScopeDispose,
13036
- computed: computed$1,
13037
- watch: watch,
13038
- watchEffect: watchEffect,
13039
- watchPostEffect: watchPostEffect,
13040
- watchSyncEffect: watchSyncEffect,
13129
+ mergeDefaults: mergeDefaults,
13130
+ mergeProps: mergeProps,
13131
+ nextTick: nextTick,
13132
+ normalizeClass: normalizeClass,
13133
+ normalizeProps: normalizeProps,
13134
+ normalizeStyle: normalizeStyle,
13135
+ onActivated: onActivated,
13041
13136
  onBeforeMount: onBeforeMount,
13042
- onMounted: onMounted,
13043
- onBeforeUpdate: onBeforeUpdate,
13044
- onUpdated: onUpdated,
13045
13137
  onBeforeUnmount: onBeforeUnmount,
13046
- onUnmounted: onUnmounted,
13047
- onActivated: onActivated,
13138
+ onBeforeUpdate: onBeforeUpdate,
13048
13139
  onDeactivated: onDeactivated,
13140
+ onErrorCaptured: onErrorCaptured,
13141
+ onMounted: onMounted,
13049
13142
  onRenderTracked: onRenderTracked,
13050
13143
  onRenderTriggered: onRenderTriggered,
13051
- onErrorCaptured: onErrorCaptured,
13144
+ onScopeDispose: onScopeDispose,
13052
13145
  onServerPrefetch: onServerPrefetch,
13146
+ onUnmounted: onUnmounted,
13147
+ onUpdated: onUpdated,
13148
+ openBlock: openBlock,
13149
+ popScopeId: popScopeId,
13053
13150
  provide: provide,
13054
- inject: inject,
13055
- nextTick: nextTick,
13056
- defineComponent: defineComponent,
13057
- defineAsyncComponent: defineAsyncComponent,
13058
- useAttrs: useAttrs,
13059
- useSlots: useSlots,
13060
- defineProps: defineProps,
13061
- defineEmits: defineEmits,
13062
- defineExpose: defineExpose,
13063
- withDefaults: withDefaults,
13064
- mergeDefaults: mergeDefaults,
13065
- createPropsRestProxy: createPropsRestProxy,
13066
- withAsyncContext: withAsyncContext,
13067
- getCurrentInstance: getCurrentInstance,
13068
- h: h,
13069
- createVNode: createVNode,
13070
- cloneVNode: cloneVNode,
13071
- mergeProps: mergeProps,
13072
- isVNode: isVNode,
13073
- Fragment: Fragment,
13074
- Text: Text,
13075
- Comment: Comment,
13076
- Static: Static,
13077
- Teleport: Teleport,
13078
- Suspense: Suspense,
13079
- KeepAlive: KeepAlive,
13080
- BaseTransition: BaseTransition,
13081
- withDirectives: withDirectives,
13082
- useSSRContext: useSSRContext,
13083
- ssrContextKey: ssrContextKey,
13084
- createRenderer: createRenderer,
13085
- createHydrationRenderer: createHydrationRenderer,
13151
+ proxyRefs: proxyRefs,
13152
+ pushScopeId: pushScopeId,
13086
13153
  queuePostFlushCb: queuePostFlushCb,
13087
- warn: warn$1,
13088
- handleError: handleError,
13089
- callWithErrorHandling: callWithErrorHandling,
13090
- callWithAsyncErrorHandling: callWithAsyncErrorHandling,
13154
+ reactive: reactive,
13155
+ readonly: readonly,
13156
+ ref: ref,
13157
+ registerRuntimeCompiler: registerRuntimeCompiler,
13158
+ render: render,
13159
+ renderList: renderList,
13160
+ renderSlot: renderSlot,
13091
13161
  resolveComponent: resolveComponent,
13092
13162
  resolveDirective: resolveDirective,
13093
13163
  resolveDynamicComponent: resolveDynamicComponent,
13094
- registerRuntimeCompiler: registerRuntimeCompiler,
13095
- isRuntimeOnly: isRuntimeOnly,
13096
- useTransitionState: useTransitionState,
13164
+ resolveFilter: resolveFilter,
13097
13165
  resolveTransitionHooks: resolveTransitionHooks,
13098
- setTransitionHooks: setTransitionHooks,
13099
- getTransitionRawChildren: getTransitionRawChildren,
13100
- initCustomFormatter: initCustomFormatter,
13101
- get devtools () { return devtools; },
13102
- setDevtoolsHook: setDevtoolsHook,
13103
- withCtx: withCtx,
13104
- pushScopeId: pushScopeId,
13105
- popScopeId: popScopeId,
13106
- withScopeId: withScopeId,
13107
- renderList: renderList,
13108
- toHandlers: toHandlers,
13109
- renderSlot: renderSlot,
13110
- createSlots: createSlots,
13111
- withMemo: withMemo,
13112
- isMemoSame: isMemoSame,
13113
- openBlock: openBlock,
13114
- createBlock: createBlock,
13115
13166
  setBlockTracking: setBlockTracking,
13116
- createTextVNode: createTextVNode,
13117
- createCommentVNode: createCommentVNode,
13118
- createStaticVNode: createStaticVNode,
13119
- createElementVNode: createBaseVNode,
13120
- createElementBlock: createElementBlock,
13121
- guardReactiveProps: guardReactiveProps,
13167
+ setDevtoolsHook: setDevtoolsHook,
13168
+ setTransitionHooks: setTransitionHooks,
13169
+ shallowReactive: shallowReactive,
13170
+ shallowReadonly: shallowReadonly,
13171
+ shallowRef: shallowRef,
13172
+ ssrContextKey: ssrContextKey,
13173
+ ssrUtils: ssrUtils,
13174
+ stop: stop,
13122
13175
  toDisplayString: toDisplayString,
13123
- camelize: camelize,
13124
- capitalize: capitalize,
13125
13176
  toHandlerKey: toHandlerKey,
13126
- normalizeProps: normalizeProps,
13127
- normalizeClass: normalizeClass,
13128
- normalizeStyle: normalizeStyle,
13177
+ toHandlers: toHandlers,
13178
+ toRaw: toRaw,
13179
+ toRef: toRef,
13180
+ toRefs: toRefs,
13129
13181
  transformVNodeArgs: transformVNodeArgs,
13182
+ triggerRef: triggerRef,
13183
+ unref: unref,
13184
+ useAttrs: useAttrs,
13185
+ useCssModule: useCssModule,
13186
+ useCssVars: useCssVars,
13187
+ useSSRContext: useSSRContext,
13188
+ useSlots: useSlots,
13189
+ useTransitionState: useTransitionState,
13190
+ vModelCheckbox: vModelCheckbox,
13191
+ vModelDynamic: vModelDynamic,
13192
+ vModelRadio: vModelRadio,
13193
+ vModelSelect: vModelSelect,
13194
+ vModelText: vModelText,
13195
+ vShow: vShow,
13130
13196
  version: version,
13131
- ssrUtils: ssrUtils,
13132
- resolveFilter: resolveFilter$1,
13133
- compatUtils: compatUtils
13197
+ warn: warn,
13198
+ watch: watch,
13199
+ watchEffect: watchEffect,
13200
+ watchPostEffect: watchPostEffect,
13201
+ watchSyncEffect: watchSyncEffect,
13202
+ withAsyncContext: withAsyncContext,
13203
+ withCtx: withCtx,
13204
+ withDefaults: withDefaults,
13205
+ withDirectives: withDirectives,
13206
+ withKeys: withKeys,
13207
+ withMemo: withMemo,
13208
+ withModifiers: withModifiers,
13209
+ withScopeId: withScopeId
13134
13210
  });
13135
13211
 
13136
13212
  function initDev() {
@@ -13164,7 +13240,7 @@ function wrappedCreateApp(...args) {
13164
13240
  }
13165
13241
  return app;
13166
13242
  }
13167
- function createCompatVue$1() {
13243
+ function createCompatVue() {
13168
13244
  const Vue = compatUtils.createCompatVue(createApp, wrappedCreateApp);
13169
13245
  extend(Vue, runtimeDom);
13170
13246
  return Vue;
@@ -13226,7 +13302,7 @@ const errorMessages = {
13226
13302
  [34 /* ErrorCodes.X_V_BIND_NO_EXPRESSION */]: `v-bind is missing expression.`,
13227
13303
  [35 /* ErrorCodes.X_V_ON_NO_EXPRESSION */]: `v-on is missing expression.`,
13228
13304
  [36 /* ErrorCodes.X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET */]: `Unexpected custom directive on <slot> outlet.`,
13229
- [37 /* ErrorCodes.X_V_SLOT_MIXED_SLOT_USAGE */]: `Mixed v-slot usage on both the component and nested <template>.` +
13305
+ [37 /* ErrorCodes.X_V_SLOT_MIXED_SLOT_USAGE */]: `Mixed v-slot usage on both the component and nested <template>. ` +
13230
13306
  `When there are multiple named slots, all slots should use <template> ` +
13231
13307
  `syntax to avoid scope ambiguity.`,
13232
13308
  [38 /* ErrorCodes.X_V_SLOT_DUPLICATE_SLOT_NAMES */]: `Duplicate slot names found. `,
@@ -13349,7 +13425,7 @@ function createRoot(children, loc = locStub) {
13349
13425
  return {
13350
13426
  type: 0 /* NodeTypes.ROOT */,
13351
13427
  children,
13352
- helpers: [],
13428
+ helpers: new Set(),
13353
13429
  components: [],
13354
13430
  directives: [],
13355
13431
  hoists: [],
@@ -13647,7 +13723,7 @@ function hasDynamicKeyVBind(node) {
13647
13723
  !p.arg.isStatic) // v-bind:[foo]
13648
13724
  );
13649
13725
  }
13650
- function isText(node) {
13726
+ function isText$1(node) {
13651
13727
  return node.type === 5 /* NodeTypes.INTERPOLATION */ || node.type === 2 /* NodeTypes.TEXT */;
13652
13728
  }
13653
13729
  function isVSlot(p) {
@@ -13795,7 +13871,7 @@ function makeBlock(node, { helper, removeHelper, inSSR }) {
13795
13871
  }
13796
13872
  }
13797
13873
 
13798
- const deprecationData$1 = {
13874
+ const deprecationData = {
13799
13875
  ["COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */]: {
13800
13876
  message: `Platform-native elements with "is" prop will no longer be ` +
13801
13877
  `treated as components in Vue 3 unless the "is" value is explicitly ` +
@@ -13859,26 +13935,26 @@ function getCompatValue(key, context) {
13859
13935
  return value;
13860
13936
  }
13861
13937
  }
13862
- function isCompatEnabled$1(key, context) {
13938
+ function isCompatEnabled(key, context) {
13863
13939
  const mode = getCompatValue('MODE', context);
13864
13940
  const value = getCompatValue(key, context);
13865
13941
  // in v3 mode, only enable if explicitly set to true
13866
13942
  // otherwise enable for any non-false value
13867
13943
  return mode === 3 ? value === true : value !== false;
13868
13944
  }
13869
- function checkCompatEnabled$1(key, context, loc, ...args) {
13870
- const enabled = isCompatEnabled$1(key, context);
13945
+ function checkCompatEnabled(key, context, loc, ...args) {
13946
+ const enabled = isCompatEnabled(key, context);
13871
13947
  if (enabled) {
13872
- warnDeprecation$1(key, context, loc, ...args);
13948
+ warnDeprecation(key, context, loc, ...args);
13873
13949
  }
13874
13950
  return enabled;
13875
13951
  }
13876
- function warnDeprecation$1(key, context, loc, ...args) {
13952
+ function warnDeprecation(key, context, loc, ...args) {
13877
13953
  const val = getCompatValue(key, context);
13878
13954
  if (val === 'suppress-warning') {
13879
13955
  return;
13880
13956
  }
13881
- const { message, link } = deprecationData$1[key];
13957
+ const { message, link } = deprecationData[key];
13882
13958
  const msg = `(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`;
13883
13959
  const err = new SyntaxError(msg);
13884
13960
  err.code = key;
@@ -14000,12 +14076,12 @@ function parseChildren(context, mode, ancestors) {
14000
14076
  else if (/[a-z]/i.test(s[1])) {
14001
14077
  node = parseElement(context, ancestors);
14002
14078
  // 2.x <template> with no directive compat
14003
- if (isCompatEnabled$1("COMPILER_NATIVE_TEMPLATE" /* CompilerDeprecationTypes.COMPILER_NATIVE_TEMPLATE */, context) &&
14079
+ if (isCompatEnabled("COMPILER_NATIVE_TEMPLATE" /* CompilerDeprecationTypes.COMPILER_NATIVE_TEMPLATE */, context) &&
14004
14080
  node &&
14005
14081
  node.tag === 'template' &&
14006
14082
  !node.props.some(p => p.type === 7 /* NodeTypes.DIRECTIVE */ &&
14007
14083
  isSpecialTemplateDirective(p.name))) {
14008
- warnDeprecation$1("COMPILER_NATIVE_TEMPLATE" /* CompilerDeprecationTypes.COMPILER_NATIVE_TEMPLATE */, context, node.loc);
14084
+ warnDeprecation("COMPILER_NATIVE_TEMPLATE" /* CompilerDeprecationTypes.COMPILER_NATIVE_TEMPLATE */, context, node.loc);
14009
14085
  node = node.children;
14010
14086
  }
14011
14087
  }
@@ -14205,7 +14281,7 @@ function parseElement(context, ancestors) {
14205
14281
  {
14206
14282
  const inlineTemplateProp = element.props.find(p => p.type === 6 /* NodeTypes.ATTRIBUTE */ && p.name === 'inline-template');
14207
14283
  if (inlineTemplateProp &&
14208
- checkCompatEnabled$1("COMPILER_INLINE_TEMPLATE" /* CompilerDeprecationTypes.COMPILER_INLINE_TEMPLATE */, context, inlineTemplateProp.loc)) {
14284
+ checkCompatEnabled("COMPILER_INLINE_TEMPLATE" /* CompilerDeprecationTypes.COMPILER_INLINE_TEMPLATE */, context, inlineTemplateProp.loc)) {
14209
14285
  const loc = getSelection(context, element.loc.end);
14210
14286
  inlineTemplateProp.value = {
14211
14287
  type: 2 /* NodeTypes.TEXT */,
@@ -14282,7 +14358,7 @@ function parseTag(context, type, parent) {
14282
14358
  return;
14283
14359
  }
14284
14360
  // 2.x deprecation checks
14285
- if (isCompatEnabled$1("COMPILER_V_IF_V_FOR_PRECEDENCE" /* CompilerDeprecationTypes.COMPILER_V_IF_V_FOR_PRECEDENCE */, context)) {
14361
+ if (isCompatEnabled("COMPILER_V_IF_V_FOR_PRECEDENCE" /* CompilerDeprecationTypes.COMPILER_V_IF_V_FOR_PRECEDENCE */, context)) {
14286
14362
  let hasIf = false;
14287
14363
  let hasFor = false;
14288
14364
  for (let i = 0; i < props.length; i++) {
@@ -14296,7 +14372,7 @@ function parseTag(context, type, parent) {
14296
14372
  }
14297
14373
  }
14298
14374
  if (hasIf && hasFor) {
14299
- warnDeprecation$1("COMPILER_V_IF_V_FOR_PRECEDENCE" /* CompilerDeprecationTypes.COMPILER_V_IF_V_FOR_PRECEDENCE */, context, getSelection(context, start));
14375
+ warnDeprecation("COMPILER_V_IF_V_FOR_PRECEDENCE" /* CompilerDeprecationTypes.COMPILER_V_IF_V_FOR_PRECEDENCE */, context, getSelection(context, start));
14300
14376
  break;
14301
14377
  }
14302
14378
  }
@@ -14348,7 +14424,7 @@ function isComponent(tag, props, context) {
14348
14424
  if (p.value.content.startsWith('vue:')) {
14349
14425
  return true;
14350
14426
  }
14351
- else if (checkCompatEnabled$1("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context, p.loc)) {
14427
+ else if (checkCompatEnabled("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context, p.loc)) {
14352
14428
  return true;
14353
14429
  }
14354
14430
  }
@@ -14364,7 +14440,7 @@ function isComponent(tag, props, context) {
14364
14440
  p.name === 'bind' &&
14365
14441
  isStaticArgOf(p.arg, 'is') &&
14366
14442
  true &&
14367
- checkCompatEnabled$1("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context, p.loc)) {
14443
+ checkCompatEnabled("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context, p.loc)) {
14368
14444
  return true;
14369
14445
  }
14370
14446
  }
@@ -14490,12 +14566,12 @@ function parseAttribute(context, nameSet) {
14490
14566
  // 2.x compat v-bind:foo.sync -> v-model:foo
14491
14567
  if (dirName === 'bind' && arg) {
14492
14568
  if (modifiers.includes('sync') &&
14493
- checkCompatEnabled$1("COMPILER_V_BIND_SYNC" /* CompilerDeprecationTypes.COMPILER_V_BIND_SYNC */, context, loc, arg.loc.source)) {
14569
+ checkCompatEnabled("COMPILER_V_BIND_SYNC" /* CompilerDeprecationTypes.COMPILER_V_BIND_SYNC */, context, loc, arg.loc.source)) {
14494
14570
  dirName = 'model';
14495
14571
  modifiers.splice(modifiers.indexOf('sync'), 1);
14496
14572
  }
14497
14573
  if (modifiers.includes('prop')) {
14498
- checkCompatEnabled$1("COMPILER_V_BIND_PROP" /* CompilerDeprecationTypes.COMPILER_V_BIND_PROP */, context, loc);
14574
+ checkCompatEnabled("COMPILER_V_BIND_PROP" /* CompilerDeprecationTypes.COMPILER_V_BIND_PROP */, context, loc);
14499
14575
  }
14500
14576
  }
14501
14577
  return {
@@ -14710,7 +14786,7 @@ function startsWithEndTagOpen(source, tag) {
14710
14786
  }
14711
14787
 
14712
14788
  function hoistStatic(root, context) {
14713
- walk$1(root, context,
14789
+ walk(root, context,
14714
14790
  // Root node is unfortunately non-hoistable due to potential parent
14715
14791
  // fallthrough attributes.
14716
14792
  isSingleElementRoot(root, root.children[0]));
@@ -14721,7 +14797,7 @@ function isSingleElementRoot(root, child) {
14721
14797
  child.type === 1 /* NodeTypes.ELEMENT */ &&
14722
14798
  !isSlotOutlet(child));
14723
14799
  }
14724
- function walk$1(node, context, doNotHoistNode = false) {
14800
+ function walk(node, context, doNotHoistNode = false) {
14725
14801
  const { children } = node;
14726
14802
  const originalCount = children.length;
14727
14803
  let hoistedCount = 0;
@@ -14770,19 +14846,19 @@ function walk$1(node, context, doNotHoistNode = false) {
14770
14846
  if (isComponent) {
14771
14847
  context.scopes.vSlot++;
14772
14848
  }
14773
- walk$1(child, context);
14849
+ walk(child, context);
14774
14850
  if (isComponent) {
14775
14851
  context.scopes.vSlot--;
14776
14852
  }
14777
14853
  }
14778
14854
  else if (child.type === 11 /* NodeTypes.FOR */) {
14779
14855
  // Do not hoist v-for single child because it has to be a block
14780
- walk$1(child, context, child.children.length === 1);
14856
+ walk(child, context, child.children.length === 1);
14781
14857
  }
14782
14858
  else if (child.type === 9 /* NodeTypes.IF */) {
14783
14859
  for (let i = 0; i < child.branches.length; i++) {
14784
14860
  // Do not hoist v-if single child because it has to be a block
14785
- walk$1(child.branches[i], context, child.branches[i].children.length === 1);
14861
+ walk(child.branches[i], context, child.branches[i].children.length === 1);
14786
14862
  }
14787
14863
  }
14788
14864
  }
@@ -15130,7 +15206,7 @@ function transform(root, options) {
15130
15206
  createRootCodegen(root, context);
15131
15207
  }
15132
15208
  // finalize meta information
15133
- root.helpers = [...context.helpers.keys()];
15209
+ root.helpers = new Set([...context.helpers.keys()]);
15134
15210
  root.components = [...context.components];
15135
15211
  root.directives = [...context.directives];
15136
15212
  root.imports = context.imports;
@@ -15336,12 +15412,16 @@ function generate(ast, options = {}) {
15336
15412
  if (options.onContextCreated)
15337
15413
  options.onContextCreated(context);
15338
15414
  const { mode, push, prefixIdentifiers, indent, deindent, newline, scopeId, ssr } = context;
15339
- const hasHelpers = ast.helpers.length > 0;
15415
+ const helpers = Array.from(ast.helpers);
15416
+ const hasHelpers = helpers.length > 0;
15340
15417
  const useWithBlock = !prefixIdentifiers && mode !== 'module';
15418
+ const isSetupInlined = !true ;
15341
15419
  // preambles
15342
15420
  // in setup() inline mode, the preamble is generated in a sub context
15343
15421
  // and returned separately.
15344
- const preambleContext = context;
15422
+ const preambleContext = isSetupInlined
15423
+ ? createCodegenContext(ast, options)
15424
+ : context;
15345
15425
  {
15346
15426
  genFunctionPreamble(ast, preambleContext);
15347
15427
  }
@@ -15359,7 +15439,7 @@ function generate(ast, options = {}) {
15359
15439
  // function mode const declarations should be inside with block
15360
15440
  // also they should be renamed to avoid collision with user properties
15361
15441
  if (hasHelpers) {
15362
- push(`const { ${ast.helpers.map(aliasHelper).join(', ')} } = _Vue`);
15442
+ push(`const { ${helpers.map(aliasHelper).join(', ')} } = _Vue`);
15363
15443
  push(`\n`);
15364
15444
  newline();
15365
15445
  }
@@ -15411,7 +15491,7 @@ function generate(ast, options = {}) {
15411
15491
  return {
15412
15492
  ast,
15413
15493
  code: context.code,
15414
- preamble: ``,
15494
+ preamble: isSetupInlined ? preambleContext.code : ``,
15415
15495
  // SourceMapGenerator does have toJSON() method but it's not in the types
15416
15496
  map: context.map ? context.map.toJSON() : undefined
15417
15497
  };
@@ -15423,7 +15503,8 @@ function genFunctionPreamble(ast, context) {
15423
15503
  // In prefix mode, we place the const declaration at top so it's done
15424
15504
  // only once; But if we not prefixing, we place the declaration inside the
15425
15505
  // with block so it doesn't incur the `in` check cost for every helper access.
15426
- if (ast.helpers.length > 0) {
15506
+ const helpers = Array.from(ast.helpers);
15507
+ if (helpers.length > 0) {
15427
15508
  {
15428
15509
  // "with" mode.
15429
15510
  // save Vue in a separate variable to avoid collision
@@ -15439,7 +15520,7 @@ function genFunctionPreamble(ast, context) {
15439
15520
  CREATE_TEXT,
15440
15521
  CREATE_STATIC
15441
15522
  ]
15442
- .filter(helper => ast.helpers.includes(helper))
15523
+ .filter(helper => helpers.includes(helper))
15443
15524
  .map(aliasHelper)
15444
15525
  .join(', ');
15445
15526
  push(`const { ${staticHelpers} } = _Vue\n`);
@@ -15486,7 +15567,7 @@ function genHoists(hoists, context) {
15486
15567
  }
15487
15568
  context.pure = false;
15488
15569
  }
15489
- function isText$1(n) {
15570
+ function isText(n) {
15490
15571
  return (isString(n) ||
15491
15572
  n.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ ||
15492
15573
  n.type === 2 /* NodeTypes.TEXT */ ||
@@ -15495,7 +15576,7 @@ function isText$1(n) {
15495
15576
  }
15496
15577
  function genNodeListAsArray(nodes, context) {
15497
15578
  const multilines = nodes.length > 3 ||
15498
- (nodes.some(n => isArray(n) || !isText$1(n)));
15579
+ (nodes.some(n => isArray(n) || !isText(n)));
15499
15580
  context.push(`[`);
15500
15581
  multilines && context.indent();
15501
15582
  genNodeList(nodes, context, multilines);
@@ -15835,11 +15916,11 @@ function genCacheExpression(node, context) {
15835
15916
  }
15836
15917
 
15837
15918
  // these keywords should not appear inside expressions, but operators like
15838
- // typeof, instanceof and in are allowed
15919
+ // 'typeof', 'instanceof', and 'in' are allowed
15839
15920
  const prohibitedKeywordRE = new RegExp('\\b' +
15840
- ('do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +
15841
- 'super,throw,while,yield,delete,export,import,return,switch,default,' +
15842
- 'extends,finally,continue,debugger,function,arguments,typeof,void')
15921
+ ('arguments,await,break,case,catch,class,const,continue,debugger,default,' +
15922
+ 'delete,do,else,export,extends,finally,for,function,if,import,let,new,' +
15923
+ 'return,super,switch,throw,try,var,void,while,with,yield')
15843
15924
  .split(',')
15844
15925
  .join('\\b|\\b') +
15845
15926
  '\\b');
@@ -16737,7 +16818,7 @@ function resolveComponentType(node, context, ssr = false) {
16737
16818
  const isProp = findProp(node, 'is');
16738
16819
  if (isProp) {
16739
16820
  if (isExplicitDynamic ||
16740
- (isCompatEnabled$1("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context))) {
16821
+ (isCompatEnabled("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context))) {
16741
16822
  const exp = isProp.type === 6 /* NodeTypes.ATTRIBUTE */
16742
16823
  ? isProp.value && createSimpleExpression(isProp.value.content, true)
16743
16824
  : isProp.exp;
@@ -16865,7 +16946,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
16865
16946
  if (name === 'is' &&
16866
16947
  (isComponentTag(tag) ||
16867
16948
  (value && value.content.startsWith('vue:')) ||
16868
- (isCompatEnabled$1("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context)))) {
16949
+ (isCompatEnabled("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context)))) {
16869
16950
  continue;
16870
16951
  }
16871
16952
  properties.push(createObjectProperty(createSimpleExpression(name, true, getInnerRange(loc, 0, name.length)), createSimpleExpression(value ? value.content : '', isStatic, value ? value.loc : loc)));
@@ -16891,7 +16972,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
16891
16972
  (isVBind &&
16892
16973
  isStaticArgOf(arg, 'is') &&
16893
16974
  (isComponentTag(tag) ||
16894
- (isCompatEnabled$1("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context))))) {
16975
+ (isCompatEnabled("COMPILER_IS_ON_ELEMENT" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context))))) {
16895
16976
  continue;
16896
16977
  }
16897
16978
  // skip v-on in SSR compilation
@@ -16937,10 +17018,10 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
16937
17018
  }
16938
17019
  });
16939
17020
  if (hasOverridableKeys) {
16940
- checkCompatEnabled$1("COMPILER_V_BIND_OBJECT_ORDER" /* CompilerDeprecationTypes.COMPILER_V_BIND_OBJECT_ORDER */, context, loc);
17021
+ checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER" /* CompilerDeprecationTypes.COMPILER_V_BIND_OBJECT_ORDER */, context, loc);
16941
17022
  }
16942
17023
  }
16943
- if (isCompatEnabled$1("COMPILER_V_BIND_OBJECT_ORDER" /* CompilerDeprecationTypes.COMPILER_V_BIND_OBJECT_ORDER */, context)) {
17024
+ if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER" /* CompilerDeprecationTypes.COMPILER_V_BIND_OBJECT_ORDER */, context)) {
16944
17025
  mergeArgs.unshift(exp);
16945
17026
  continue;
16946
17027
  }
@@ -17120,7 +17201,7 @@ function dedupeProperties(properties) {
17120
17201
  const existing = knownProps.get(name);
17121
17202
  if (existing) {
17122
17203
  if (name === 'style' || name === 'class' || isOn(name)) {
17123
- mergeAsArray$1(existing, prop);
17204
+ mergeAsArray(existing, prop);
17124
17205
  }
17125
17206
  // unexpected duplicate, should have emitted error during parse
17126
17207
  }
@@ -17131,7 +17212,7 @@ function dedupeProperties(properties) {
17131
17212
  }
17132
17213
  return deduped;
17133
17214
  }
17134
- function mergeAsArray$1(existing, incoming) {
17215
+ function mergeAsArray(existing, incoming) {
17135
17216
  if (existing.value.type === 17 /* NodeTypes.JS_ARRAY_EXPRESSION */) {
17136
17217
  existing.value.elements.push(incoming.value);
17137
17218
  }
@@ -17259,7 +17340,7 @@ function processSlotOutlet(node, context) {
17259
17340
  }
17260
17341
 
17261
17342
  const fnExpRE = /^\s*([\w$_]+|(async\s*)?\([^)]*?\))\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
17262
- const transformOn = (dir, node, context, augmentor) => {
17343
+ const transformOn$1 = (dir, node, context, augmentor) => {
17263
17344
  const { loc, modifiers, arg } = dir;
17264
17345
  if (!dir.exp && !modifiers.length) {
17265
17346
  context.onError(createCompilerError(35 /* ErrorCodes.X_V_ON_NO_EXPRESSION */, loc));
@@ -17419,11 +17500,11 @@ const transformText = (node, context) => {
17419
17500
  let hasText = false;
17420
17501
  for (let i = 0; i < children.length; i++) {
17421
17502
  const child = children[i];
17422
- if (isText(child)) {
17503
+ if (isText$1(child)) {
17423
17504
  hasText = true;
17424
17505
  for (let j = i + 1; j < children.length; j++) {
17425
17506
  const next = children[j];
17426
- if (isText(next)) {
17507
+ if (isText$1(next)) {
17427
17508
  if (!currentContainer) {
17428
17509
  currentContainer = children[i] = createCompoundExpression([child], child.loc);
17429
17510
  }
@@ -17465,7 +17546,7 @@ const transformText = (node, context) => {
17465
17546
  // runtime normalization.
17466
17547
  for (let i = 0; i < children.length; i++) {
17467
17548
  const child = children[i];
17468
- if (isText(child) || child.type === 8 /* NodeTypes.COMPOUND_EXPRESSION */) {
17549
+ if (isText$1(child) || child.type === 8 /* NodeTypes.COMPOUND_EXPRESSION */) {
17469
17550
  const callArgs = [];
17470
17551
  // createTextVNode defaults to single whitespace, so if it is a
17471
17552
  // single space the code could be an empty call to save bytes.
@@ -17490,13 +17571,13 @@ const transformText = (node, context) => {
17490
17571
  }
17491
17572
  };
17492
17573
 
17493
- const seen = new WeakSet();
17574
+ const seen$1 = new WeakSet();
17494
17575
  const transformOnce = (node, context) => {
17495
17576
  if (node.type === 1 /* NodeTypes.ELEMENT */ && findDir(node, 'once', true)) {
17496
- if (seen.has(node) || context.inVOnce) {
17577
+ if (seen$1.has(node) || context.inVOnce) {
17497
17578
  return;
17498
17579
  }
17499
- seen.add(node);
17580
+ seen$1.add(node);
17500
17581
  context.inVOnce = true;
17501
17582
  context.helper(SET_BLOCK_TRACKING);
17502
17583
  return () => {
@@ -17509,7 +17590,7 @@ const transformOnce = (node, context) => {
17509
17590
  }
17510
17591
  };
17511
17592
 
17512
- const transformModel = (dir, node, context) => {
17593
+ const transformModel$1 = (dir, node, context) => {
17513
17594
  const { exp, arg } = dir;
17514
17595
  if (!exp) {
17515
17596
  context.onError(createCompilerError(41 /* ErrorCodes.X_V_MODEL_NO_EXPRESSION */, dir.loc));
@@ -17535,7 +17616,7 @@ const transformModel = (dir, node, context) => {
17535
17616
  const propName = arg ? arg : createSimpleExpression('modelValue', true);
17536
17617
  const eventName = arg
17537
17618
  ? isStaticExp(arg)
17538
- ? `onUpdate:${arg.content}`
17619
+ ? `onUpdate:${camelize(arg.content)}`
17539
17620
  : createCompoundExpression(['"onUpdate:" + ', arg])
17540
17621
  : `onUpdate:modelValue`;
17541
17622
  let assignmentExp;
@@ -17573,7 +17654,7 @@ function createTransformProps(props = []) {
17573
17654
 
17574
17655
  const validDivisionCharRE = /[\w).+\-_$\]]/;
17575
17656
  const transformFilter = (node, context) => {
17576
- if (!isCompatEnabled$1("COMPILER_FILTER" /* CompilerDeprecationTypes.COMPILER_FILTERS */, context)) {
17657
+ if (!isCompatEnabled("COMPILER_FILTER" /* CompilerDeprecationTypes.COMPILER_FILTERS */, context)) {
17577
17658
  return;
17578
17659
  }
17579
17660
  if (node.type === 5 /* NodeTypes.INTERPOLATION */) {
@@ -17714,7 +17795,7 @@ function parseFilter(node, context) {
17714
17795
  lastFilterIndex = i + 1;
17715
17796
  }
17716
17797
  if (filters.length) {
17717
- warnDeprecation$1("COMPILER_FILTER" /* CompilerDeprecationTypes.COMPILER_FILTERS */, context, node.loc);
17798
+ warnDeprecation("COMPILER_FILTER" /* CompilerDeprecationTypes.COMPILER_FILTERS */, context, node.loc);
17718
17799
  for (i = 0; i < filters.length; i++) {
17719
17800
  expression = wrapFilter(expression, filters[i], context);
17720
17801
  }
@@ -17736,14 +17817,14 @@ function wrapFilter(exp, filter, context) {
17736
17817
  }
17737
17818
  }
17738
17819
 
17739
- const seen$1 = new WeakSet();
17820
+ const seen = new WeakSet();
17740
17821
  const transformMemo = (node, context) => {
17741
17822
  if (node.type === 1 /* NodeTypes.ELEMENT */) {
17742
17823
  const dir = findDir(node, 'memo');
17743
- if (!dir || seen$1.has(node)) {
17824
+ if (!dir || seen.has(node)) {
17744
17825
  return;
17745
17826
  }
17746
- seen$1.add(node);
17827
+ seen.add(node);
17747
17828
  return () => {
17748
17829
  const codegenNode = node.codegenNode ||
17749
17830
  context.currentNode.codegenNode;
@@ -17779,9 +17860,9 @@ function getBaseTransformPreset(prefixIdentifiers) {
17779
17860
  transformText
17780
17861
  ],
17781
17862
  {
17782
- on: transformOn,
17863
+ on: transformOn$1,
17783
17864
  bind: transformBind,
17784
- model: transformModel
17865
+ model: transformModel$1
17785
17866
  }
17786
17867
  ];
17787
17868
  }
@@ -17832,7 +17913,7 @@ const V_MODEL_DYNAMIC = Symbol(`vModelDynamic` );
17832
17913
  const V_ON_WITH_MODIFIERS = Symbol(`vOnModifiersGuard` );
17833
17914
  const V_ON_WITH_KEYS = Symbol(`vOnKeysGuard` );
17834
17915
  const V_SHOW = Symbol(`vShow` );
17835
- const TRANSITION$1 = Symbol(`Transition` );
17916
+ const TRANSITION = Symbol(`Transition` );
17836
17917
  const TRANSITION_GROUP = Symbol(`TransitionGroup` );
17837
17918
  registerRuntimeHelpers({
17838
17919
  [V_MODEL_RADIO]: `vModelRadio`,
@@ -17843,7 +17924,7 @@ registerRuntimeHelpers({
17843
17924
  [V_ON_WITH_MODIFIERS]: `withModifiers`,
17844
17925
  [V_ON_WITH_KEYS]: `withKeys`,
17845
17926
  [V_SHOW]: `vShow`,
17846
- [TRANSITION$1]: `Transition`,
17927
+ [TRANSITION]: `Transition`,
17847
17928
  [TRANSITION_GROUP]: `TransitionGroup`
17848
17929
  });
17849
17930
 
@@ -17871,7 +17952,7 @@ const parserOptions = {
17871
17952
  decodeEntities: decodeHtmlBrowser ,
17872
17953
  isBuiltInComponent: (tag) => {
17873
17954
  if (isBuiltInType(tag, `Transition`)) {
17874
- return TRANSITION$1;
17955
+ return TRANSITION;
17875
17956
  }
17876
17957
  else if (isBuiltInType(tag, `TransitionGroup`)) {
17877
17958
  return TRANSITION_GROUP;
@@ -18011,8 +18092,8 @@ const transformVText = (dir, node, context) => {
18011
18092
  };
18012
18093
  };
18013
18094
 
18014
- const transformModel$1 = (dir, node, context) => {
18015
- const baseResult = transformModel(dir, node, context);
18095
+ const transformModel = (dir, node, context) => {
18096
+ const baseResult = transformModel$1(dir, node, context);
18016
18097
  // base transform has errors OR component v-model (only need props)
18017
18098
  if (!baseResult.props.length || node.tagType === 1 /* ElementTypes.COMPONENT */) {
18018
18099
  return baseResult;
@@ -18112,7 +18193,7 @@ const resolveModifiers = (key, modifiers, context, loc) => {
18112
18193
  for (let i = 0; i < modifiers.length; i++) {
18113
18194
  const modifier = modifiers[i];
18114
18195
  if (modifier === 'native' &&
18115
- checkCompatEnabled$1("COMPILER_V_ON_NATIVE" /* CompilerDeprecationTypes.COMPILER_V_ON_NATIVE */, context, loc)) {
18196
+ checkCompatEnabled("COMPILER_V_ON_NATIVE" /* CompilerDeprecationTypes.COMPILER_V_ON_NATIVE */, context, loc)) {
18116
18197
  eventOptionModifiers.push(modifier);
18117
18198
  }
18118
18199
  else if (isEventOptionModifier(modifier)) {
@@ -18166,8 +18247,8 @@ const transformClick = (key, event) => {
18166
18247
  ])
18167
18248
  : key;
18168
18249
  };
18169
- const transformOn$1 = (dir, node, context) => {
18170
- return transformOn(dir, node, context, baseResult => {
18250
+ const transformOn = (dir, node, context) => {
18251
+ return transformOn$1(dir, node, context, baseResult => {
18171
18252
  const { modifiers } = dir;
18172
18253
  if (!modifiers.length)
18173
18254
  return baseResult;
@@ -18221,7 +18302,7 @@ const transformTransition = (node, context) => {
18221
18302
  if (node.type === 1 /* NodeTypes.ELEMENT */ &&
18222
18303
  node.tagType === 1 /* ElementTypes.COMPONENT */) {
18223
18304
  const component = context.isBuiltInComponent(node.tag);
18224
- if (component === TRANSITION$1) {
18305
+ if (component === TRANSITION) {
18225
18306
  return () => {
18226
18307
  if (!node.children.length) {
18227
18308
  return;
@@ -18280,11 +18361,11 @@ const DOMDirectiveTransforms = {
18280
18361
  cloak: noopDirectiveTransform,
18281
18362
  html: transformVHtml,
18282
18363
  text: transformVText,
18283
- model: transformModel$1,
18284
- on: transformOn$1,
18364
+ model: transformModel,
18365
+ on: transformOn,
18285
18366
  show: transformShow
18286
18367
  };
18287
- function compile$1(template, options = {}) {
18368
+ function compile(template, options = {}) {
18288
18369
  return baseCompile(template, extend({}, parserOptions, options, {
18289
18370
  nodeTransforms: [
18290
18371
  // ignore <script> and <tag>
@@ -18307,7 +18388,7 @@ function compileToFunction(template, options) {
18307
18388
  template = template.innerHTML;
18308
18389
  }
18309
18390
  else {
18310
- warn$1(`invalid template option: `, template);
18391
+ warn(`invalid template option: `, template);
18311
18392
  return NOOP;
18312
18393
  }
18313
18394
  }
@@ -18319,7 +18400,7 @@ function compileToFunction(template, options) {
18319
18400
  if (template[0] === '#') {
18320
18401
  const el = document.querySelector(template);
18321
18402
  if (!el) {
18322
- warn$1(`Template element not found or is empty: ${template}`);
18403
+ warn(`Template element not found or is empty: ${template}`);
18323
18404
  }
18324
18405
  // __UNSAFE__
18325
18406
  // Reason: potential execution of JS expressions in in-DOM template.
@@ -18328,9 +18409,9 @@ function compileToFunction(template, options) {
18328
18409
  template = el ? el.innerHTML : ``;
18329
18410
  }
18330
18411
  if ((!options || !options.whitespace)) {
18331
- warnDeprecation("CONFIG_WHITESPACE" /* DeprecationTypes.CONFIG_WHITESPACE */, null);
18412
+ warnDeprecation$1("CONFIG_WHITESPACE" /* DeprecationTypes.CONFIG_WHITESPACE */, null);
18332
18413
  }
18333
- const { code } = compile$1(template, extend({
18414
+ const { code } = compile(template, extend({
18334
18415
  hoistStatic: true,
18335
18416
  whitespace: 'preserve',
18336
18417
  onError: onError ,
@@ -18342,7 +18423,7 @@ function compileToFunction(template, options) {
18342
18423
  : `Template compilation error: ${err.message}`;
18343
18424
  const codeFrame = err.loc &&
18344
18425
  generateCodeFrame(template, err.loc.start.offset, err.loc.end.offset);
18345
- warn$1(codeFrame ? `${message}\n${codeFrame}` : message);
18426
+ warn(codeFrame ? `${message}\n${codeFrame}` : message);
18346
18427
  }
18347
18428
  // The wildcard import results in a huge object with every export
18348
18429
  // with keys that cannot be mangled, and can be quite heavy size-wise.
@@ -18353,10 +18434,10 @@ function compileToFunction(template, options) {
18353
18434
  return (compileCache[key] = render);
18354
18435
  }
18355
18436
  registerRuntimeCompiler(compileToFunction);
18356
- const Vue = createCompatVue$1();
18437
+ const Vue = createCompatVue();
18357
18438
  Vue.compile = compileToFunction;
18439
+ var Vue$1 = Vue;
18358
18440
 
18359
- const { configureCompat: configureCompat$1 } = Vue;
18441
+ const { configureCompat } = Vue$1;
18360
18442
 
18361
- export default Vue;
18362
- 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 };
18443
+ 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 };