@vue/compat 3.2.44 → 3.2.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -96,7 +96,7 @@ function normalizeProps(props) {
96
96
  // These tag configs are shared between compiler-dom and runtime-dom, so they
97
97
  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element
98
98
  const HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' +
99
- 'header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +
99
+ 'header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +
100
100
  'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' +
101
101
  'data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,' +
102
102
  'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' +
@@ -108,7 +108,7 @@ const HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,asi
108
108
  const SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' +
109
109
  'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' +
110
110
  'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' +
111
- 'feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +
111
+ 'feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +
112
112
  'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' +
113
113
  'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' +
114
114
  'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' +
@@ -260,12 +260,13 @@ const remove = (arr, el) => {
260
260
  arr.splice(i, 1);
261
261
  }
262
262
  };
263
- const hasOwnProperty = Object.prototype.hasOwnProperty;
264
- const hasOwn = (val, key) => hasOwnProperty.call(val, key);
263
+ const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
264
+ const hasOwn = (val, key) => hasOwnProperty$1.call(val, key);
265
265
  const isArray = Array.isArray;
266
266
  const isMap = (val) => toTypeString(val) === '[object Map]';
267
267
  const isSet = (val) => toTypeString(val) === '[object Set]';
268
268
  const isDate = (val) => toTypeString(val) === '[object Date]';
269
+ const isRegExp = (val) => toTypeString(val) === '[object RegExp]';
269
270
  const isFunction = (val) => typeof val === 'function';
270
271
  const isString = (val) => typeof val === 'string';
271
272
  const isSymbol = (val) => typeof val === 'symbol';
@@ -332,10 +333,22 @@ const def = (obj, key, value) => {
332
333
  value
333
334
  });
334
335
  };
335
- const toNumber = (val) => {
336
+ /**
337
+ * "123-foo" will be parsed to 123
338
+ * This is used for the .number modifier in v-model
339
+ */
340
+ const looseToNumber = (val) => {
336
341
  const n = parseFloat(val);
337
342
  return isNaN(n) ? val : n;
338
343
  };
344
+ /**
345
+ * Only conerces number-like strings
346
+ * "123-foo" will be returned as-is
347
+ */
348
+ const toNumber = (val) => {
349
+ const n = isString(val) ? Number(val) : NaN;
350
+ return isNaN(n) ? val : n;
351
+ };
339
352
  let _globalThis;
340
353
  const getGlobalThis = () => {
341
354
  return (_globalThis ||
@@ -351,7 +364,7 @@ const getGlobalThis = () => {
351
364
  : {}));
352
365
  };
353
366
 
354
- function warn(msg, ...args) {
367
+ function warn$1(msg, ...args) {
355
368
  console.warn(`[Vue warn] ${msg}`, ...args);
356
369
  }
357
370
 
@@ -362,7 +375,7 @@ class EffectScope {
362
375
  /**
363
376
  * @internal
364
377
  */
365
- this.active = true;
378
+ this._active = true;
366
379
  /**
367
380
  * @internal
368
381
  */
@@ -377,8 +390,11 @@ class EffectScope {
377
390
  (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
378
391
  }
379
392
  }
393
+ get active() {
394
+ return this._active;
395
+ }
380
396
  run(fn) {
381
- if (this.active) {
397
+ if (this._active) {
382
398
  const currentEffectScope = activeEffectScope;
383
399
  try {
384
400
  activeEffectScope = this;
@@ -389,7 +405,7 @@ class EffectScope {
389
405
  }
390
406
  }
391
407
  else if ((process.env.NODE_ENV !== 'production')) {
392
- warn(`cannot run an inactive effect scope.`);
408
+ warn$1(`cannot run an inactive effect scope.`);
393
409
  }
394
410
  }
395
411
  /**
@@ -407,7 +423,7 @@ class EffectScope {
407
423
  activeEffectScope = this.parent;
408
424
  }
409
425
  stop(fromParent) {
410
- if (this.active) {
426
+ if (this._active) {
411
427
  let i, l;
412
428
  for (i = 0, l = this.effects.length; i < l; i++) {
413
429
  this.effects[i].stop();
@@ -430,7 +446,7 @@ class EffectScope {
430
446
  }
431
447
  }
432
448
  this.parent = undefined;
433
- this.active = false;
449
+ this._active = false;
434
450
  }
435
451
  }
436
452
  }
@@ -450,7 +466,7 @@ function onScopeDispose(fn) {
450
466
  activeEffectScope.cleanups.push(fn);
451
467
  }
452
468
  else if ((process.env.NODE_ENV !== 'production')) {
453
- warn(`onScopeDispose() is called when there is no active effect scope` +
469
+ warn$1(`onScopeDispose() is called when there is no active effect scope` +
454
470
  ` to be associated with.`);
455
471
  }
456
472
  }
@@ -652,7 +668,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
652
668
  deps = [...depsMap.values()];
653
669
  }
654
670
  else if (key === 'length' && isArray(target)) {
655
- const newLength = toNumber(newValue);
671
+ const newLength = Number(newValue);
656
672
  depsMap.forEach((dep, key) => {
657
673
  if (key === 'length' || key >= newLength) {
658
674
  deps.push(dep);
@@ -748,6 +764,10 @@ function triggerEffect(effect, debuggerEventExtraInfo) {
748
764
  }
749
765
  }
750
766
  }
767
+ function getDepFromReactive(object, key) {
768
+ var _a;
769
+ return (_a = targetMap.get(object)) === null || _a === void 0 ? void 0 : _a.get(key);
770
+ }
751
771
 
752
772
  const isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
753
773
  const builtInSymbols = new Set(
@@ -759,7 +779,7 @@ Object.getOwnPropertyNames(Symbol)
759
779
  .filter(key => key !== 'arguments' && key !== 'caller')
760
780
  .map(key => Symbol[key])
761
781
  .filter(isSymbol));
762
- const get = /*#__PURE__*/ createGetter();
782
+ const get$1 = /*#__PURE__*/ createGetter();
763
783
  const shallowGet = /*#__PURE__*/ createGetter(false, true);
764
784
  const readonlyGet = /*#__PURE__*/ createGetter(true);
765
785
  const shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);
@@ -793,6 +813,11 @@ function createArrayInstrumentations() {
793
813
  });
794
814
  return instrumentations;
795
815
  }
816
+ function hasOwnProperty(key) {
817
+ const obj = toRaw(this);
818
+ track(obj, "has" /* TrackOpTypes.HAS */, key);
819
+ return obj.hasOwnProperty(key);
820
+ }
796
821
  function createGetter(isReadonly = false, shallow = false) {
797
822
  return function get(target, key, receiver) {
798
823
  if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
@@ -816,8 +841,13 @@ function createGetter(isReadonly = false, shallow = false) {
816
841
  return target;
817
842
  }
818
843
  const targetIsArray = isArray(target);
819
- if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {
820
- return Reflect.get(arrayInstrumentations, key, receiver);
844
+ if (!isReadonly) {
845
+ if (targetIsArray && hasOwn(arrayInstrumentations, key)) {
846
+ return Reflect.get(arrayInstrumentations, key, receiver);
847
+ }
848
+ if (key === 'hasOwnProperty') {
849
+ return hasOwnProperty;
850
+ }
821
851
  }
822
852
  const res = Reflect.get(target, key, receiver);
823
853
  if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
@@ -842,7 +872,7 @@ function createGetter(isReadonly = false, shallow = false) {
842
872
  return res;
843
873
  };
844
874
  }
845
- const set = /*#__PURE__*/ createSetter();
875
+ const set$1 = /*#__PURE__*/ createSetter();
846
876
  const shallowSet = /*#__PURE__*/ createSetter(true);
847
877
  function createSetter(shallow = false) {
848
878
  return function set(target, key, value, receiver) {
@@ -885,7 +915,7 @@ function deleteProperty(target, key) {
885
915
  }
886
916
  return result;
887
917
  }
888
- function has(target, key) {
918
+ function has$1(target, key) {
889
919
  const result = Reflect.has(target, key);
890
920
  if (!isSymbol(key) || !builtInSymbols.has(key)) {
891
921
  track(target, "has" /* TrackOpTypes.HAS */, key);
@@ -897,23 +927,23 @@ function ownKeys(target) {
897
927
  return Reflect.ownKeys(target);
898
928
  }
899
929
  const mutableHandlers = {
900
- get,
901
- set,
930
+ get: get$1,
931
+ set: set$1,
902
932
  deleteProperty,
903
- has,
933
+ has: has$1,
904
934
  ownKeys
905
935
  };
906
936
  const readonlyHandlers = {
907
937
  get: readonlyGet,
908
938
  set(target, key) {
909
939
  if ((process.env.NODE_ENV !== 'production')) {
910
- warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
940
+ warn$1(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
911
941
  }
912
942
  return true;
913
943
  },
914
944
  deleteProperty(target, key) {
915
945
  if ((process.env.NODE_ENV !== 'production')) {
916
- warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
946
+ warn$1(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
917
947
  }
918
948
  return true;
919
949
  }
@@ -931,7 +961,7 @@ const shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {
931
961
 
932
962
  const toShallow = (value) => value;
933
963
  const getProto = (v) => Reflect.getPrototypeOf(v);
934
- function get$1(target, key, isReadonly = false, isShallow = false) {
964
+ function get(target, key, isReadonly = false, isShallow = false) {
935
965
  // #1772: readonly(reactive(Map)) should return readonly + reactive version
936
966
  // of the value
937
967
  target = target["__v_raw" /* ReactiveFlags.RAW */];
@@ -957,7 +987,7 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
957
987
  target.get(key);
958
988
  }
959
989
  }
960
- function has$1(key, isReadonly = false) {
990
+ function has(key, isReadonly = false) {
961
991
  const target = this["__v_raw" /* ReactiveFlags.RAW */];
962
992
  const rawTarget = toRaw(target);
963
993
  const rawKey = toRaw(key);
@@ -987,7 +1017,7 @@ function add(value) {
987
1017
  }
988
1018
  return this;
989
1019
  }
990
- function set$1(key, value) {
1020
+ function set(key, value) {
991
1021
  value = toRaw(value);
992
1022
  const target = toRaw(this);
993
1023
  const { has, get } = getProto(target);
@@ -1101,41 +1131,41 @@ function createReadonlyMethod(type) {
1101
1131
  function createInstrumentations() {
1102
1132
  const mutableInstrumentations = {
1103
1133
  get(key) {
1104
- return get$1(this, key);
1134
+ return get(this, key);
1105
1135
  },
1106
1136
  get size() {
1107
1137
  return size(this);
1108
1138
  },
1109
- has: has$1,
1139
+ has,
1110
1140
  add,
1111
- set: set$1,
1141
+ set,
1112
1142
  delete: deleteEntry,
1113
1143
  clear,
1114
1144
  forEach: createForEach(false, false)
1115
1145
  };
1116
1146
  const shallowInstrumentations = {
1117
1147
  get(key) {
1118
- return get$1(this, key, false, true);
1148
+ return get(this, key, false, true);
1119
1149
  },
1120
1150
  get size() {
1121
1151
  return size(this);
1122
1152
  },
1123
- has: has$1,
1153
+ has,
1124
1154
  add,
1125
- set: set$1,
1155
+ set,
1126
1156
  delete: deleteEntry,
1127
1157
  clear,
1128
1158
  forEach: createForEach(false, true)
1129
1159
  };
1130
1160
  const readonlyInstrumentations = {
1131
1161
  get(key) {
1132
- return get$1(this, key, true);
1162
+ return get(this, key, true);
1133
1163
  },
1134
1164
  get size() {
1135
1165
  return size(this, true);
1136
1166
  },
1137
1167
  has(key) {
1138
- return has$1.call(this, key, true);
1168
+ return has.call(this, key, true);
1139
1169
  },
1140
1170
  add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
1141
1171
  set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
@@ -1145,13 +1175,13 @@ function createInstrumentations() {
1145
1175
  };
1146
1176
  const shallowReadonlyInstrumentations = {
1147
1177
  get(key) {
1148
- return get$1(this, key, true, true);
1178
+ return get(this, key, true, true);
1149
1179
  },
1150
1180
  get size() {
1151
1181
  return size(this, true);
1152
1182
  },
1153
1183
  has(key) {
1154
- return has$1.call(this, key, true);
1184
+ return has.call(this, key, true);
1155
1185
  },
1156
1186
  add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
1157
1187
  set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
@@ -1345,9 +1375,10 @@ function trackRefValue(ref) {
1345
1375
  }
1346
1376
  function triggerRefValue(ref, newVal) {
1347
1377
  ref = toRaw(ref);
1348
- if (ref.dep) {
1378
+ const dep = ref.dep;
1379
+ if (dep) {
1349
1380
  if ((process.env.NODE_ENV !== 'production')) {
1350
- triggerEffects(ref.dep, {
1381
+ triggerEffects(dep, {
1351
1382
  target: ref,
1352
1383
  type: "set" /* TriggerOpTypes.SET */,
1353
1384
  key: 'value',
@@ -1355,7 +1386,7 @@ function triggerRefValue(ref, newVal) {
1355
1386
  });
1356
1387
  }
1357
1388
  else {
1358
- triggerEffects(ref.dep);
1389
+ triggerEffects(dep);
1359
1390
  }
1360
1391
  }
1361
1392
  }
@@ -1462,6 +1493,9 @@ class ObjectRefImpl {
1462
1493
  set value(newVal) {
1463
1494
  this._object[this._key] = newVal;
1464
1495
  }
1496
+ get dep() {
1497
+ return getDepFromReactive(toRaw(this._object), this._key);
1498
+ }
1465
1499
  }
1466
1500
  function toRef(object, key, defaultValue) {
1467
1501
  const val = object[key];
@@ -1503,7 +1537,7 @@ class ComputedRefImpl {
1503
1537
  }
1504
1538
  }
1505
1539
  _a = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
1506
- function computed(getterOrOptions, debugOptions, isSSR = false) {
1540
+ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1507
1541
  let getter;
1508
1542
  let setter;
1509
1543
  const onlyGetter = isFunction(getterOrOptions);
@@ -1534,7 +1568,7 @@ function pushWarningContext(vnode) {
1534
1568
  function popWarningContext() {
1535
1569
  stack.pop();
1536
1570
  }
1537
- function warn$1(msg, ...args) {
1571
+ function warn(msg, ...args) {
1538
1572
  if (!(process.env.NODE_ENV !== 'production'))
1539
1573
  return;
1540
1574
  // avoid props formatting or warn handler tracking deps that might be mutated
@@ -1642,6 +1676,22 @@ function formatProp(key, value, raw) {
1642
1676
  return raw ? value : [`${key}=`, value];
1643
1677
  }
1644
1678
  }
1679
+ /**
1680
+ * @internal
1681
+ */
1682
+ function assertNumber(val, type) {
1683
+ if (!(process.env.NODE_ENV !== 'production'))
1684
+ return;
1685
+ if (val === undefined) {
1686
+ return;
1687
+ }
1688
+ else if (typeof val !== 'number') {
1689
+ warn(`${type} is not a valid number - ` + `got ${JSON.stringify(val)}.`);
1690
+ }
1691
+ else if (isNaN(val)) {
1692
+ warn(`${type} is NaN - ` + 'the duration expression might be incorrect.');
1693
+ }
1694
+ }
1645
1695
 
1646
1696
  const ErrorTypeStrings = {
1647
1697
  ["sp" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',
@@ -1735,7 +1785,7 @@ function logError(err, type, contextVNode, throwInDev = true) {
1735
1785
  if (contextVNode) {
1736
1786
  pushWarningContext(contextVNode);
1737
1787
  }
1738
- warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1788
+ warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
1739
1789
  if (contextVNode) {
1740
1790
  popWarningContext();
1741
1791
  }
@@ -1937,7 +1987,7 @@ function checkRecursiveUpdates(seen, fn) {
1937
1987
  if (count > RECURSION_LIMIT) {
1938
1988
  const instance = fn.ownerInstance;
1939
1989
  const componentName = instance && getComponentName(instance.type);
1940
- warn$1(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +
1990
+ warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +
1941
1991
  `This means you have a reactive effect that is mutating its own ` +
1942
1992
  `dependencies and thus recursively triggering itself. Possible sources ` +
1943
1993
  `include component template, render function, updated hook or ` +
@@ -2044,12 +2094,6 @@ function reload(id, newComp) {
2044
2094
  // components to be unmounted and re-mounted. Queue the update so that we
2045
2095
  // don't end up forcing the same parent to re-render multiple times.
2046
2096
  queueJob(instance.parent.update);
2047
- // instance is the inner component of an async custom element
2048
- // invoke to reset styles
2049
- if (instance.parent.type.__asyncLoader &&
2050
- instance.parent.ceReload) {
2051
- instance.parent.ceReload(newComp.styles);
2052
- }
2053
2097
  }
2054
2098
  else if (instance.appContext.reload) {
2055
2099
  // root instance mounted via createApp() has a reload method
@@ -2094,7 +2138,7 @@ function tryWrap(fn) {
2094
2138
  let devtools;
2095
2139
  let buffer = [];
2096
2140
  let devtoolsNotInstalled = false;
2097
- function emit(event, ...args) {
2141
+ function emit$2(event, ...args) {
2098
2142
  if (devtools) {
2099
2143
  devtools.emit(event, ...args);
2100
2144
  }
@@ -2141,7 +2185,7 @@ function setDevtoolsHook(hook, target) {
2141
2185
  }
2142
2186
  }
2143
2187
  function devtoolsInitApp(app, version) {
2144
- emit("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
2188
+ emit$2("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
2145
2189
  Fragment,
2146
2190
  Text,
2147
2191
  Comment,
@@ -2149,7 +2193,7 @@ function devtoolsInitApp(app, version) {
2149
2193
  });
2150
2194
  }
2151
2195
  function devtoolsUnmountApp(app) {
2152
- emit("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
2196
+ emit$2("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
2153
2197
  }
2154
2198
  const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* DevtoolsHooks.COMPONENT_ADDED */);
2155
2199
  const devtoolsComponentUpdated =
@@ -2165,18 +2209,18 @@ const devtoolsComponentRemoved = (component) => {
2165
2209
  };
2166
2210
  function createDevtoolsComponentHook(hook) {
2167
2211
  return (component) => {
2168
- emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
2212
+ emit$2(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
2169
2213
  };
2170
2214
  }
2171
2215
  const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* DevtoolsHooks.PERFORMANCE_START */);
2172
2216
  const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* DevtoolsHooks.PERFORMANCE_END */);
2173
2217
  function createDevtoolsPerformanceHook(hook) {
2174
2218
  return (component, type, time) => {
2175
- emit(hook, component.appContext.app, component.uid, component, type, time);
2219
+ emit$2(hook, component.appContext.app, component.uid, component, type, time);
2176
2220
  };
2177
2221
  }
2178
2222
  function devtoolsComponentEmit(component, event, params) {
2179
- emit("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
2223
+ emit$2("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
2180
2224
  }
2181
2225
 
2182
2226
  const deprecationData = {
@@ -2467,12 +2511,12 @@ function warnDeprecation(key, instance, ...args) {
2467
2511
  // same warning, but different component. skip the long message and just
2468
2512
  // log the key and count.
2469
2513
  if (dupKey in warnCount) {
2470
- warn$1(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2514
+ warn(`(deprecation ${key}) (${++warnCount[dupKey] + 1})`);
2471
2515
  return;
2472
2516
  }
2473
2517
  warnCount[dupKey] = 0;
2474
2518
  const { message, link } = deprecationData[key];
2475
- warn$1(`(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`);
2519
+ warn(`(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`);
2476
2520
  if (!isCompatEnabled(key, instance, true)) {
2477
2521
  console.error(`^ The above deprecation's compat behavior is disabled and will likely ` +
2478
2522
  `lead to runtime errors.`);
@@ -2481,7 +2525,7 @@ function warnDeprecation(key, instance, ...args) {
2481
2525
  const globalCompatConfig = {
2482
2526
  MODE: 2
2483
2527
  };
2484
- function configureCompat(config) {
2528
+ function configureCompat$1(config) {
2485
2529
  if ((process.env.NODE_ENV !== 'production')) {
2486
2530
  validateCompatConfig(config);
2487
2531
  }
@@ -2501,20 +2545,20 @@ function validateCompatConfig(config, instance) {
2501
2545
  !(key in warnedInvalidKeys)) {
2502
2546
  if (key.startsWith('COMPILER_')) {
2503
2547
  if (isRuntimeOnly()) {
2504
- warn$1(`Deprecation config "${key}" is compiler-specific and you are ` +
2548
+ warn(`Deprecation config "${key}" is compiler-specific and you are ` +
2505
2549
  `running a runtime-only build of Vue. This deprecation should be ` +
2506
2550
  `configured via compiler options in your build setup instead.\n` +
2507
2551
  `Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`);
2508
2552
  }
2509
2553
  }
2510
2554
  else {
2511
- warn$1(`Invalid deprecation config "${key}".`);
2555
+ warn(`Invalid deprecation config "${key}".`);
2512
2556
  }
2513
2557
  warnedInvalidKeys[key] = true;
2514
2558
  }
2515
2559
  }
2516
2560
  if (instance && config["OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */] != null) {
2517
- warn$1(`Deprecation config "${"OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */}" can only be configured globally.`);
2561
+ warn(`Deprecation config "${"OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */}" can only be configured globally.`);
2518
2562
  }
2519
2563
  }
2520
2564
  function getCompatConfigForKey(key, instance) {
@@ -2700,7 +2744,7 @@ function compatModelEmit(instance, event, args) {
2700
2744
  }
2701
2745
  }
2702
2746
 
2703
- function emit$2(instance, event, ...rawArgs) {
2747
+ function emit(instance, event, ...rawArgs) {
2704
2748
  if (instance.isUnmounted)
2705
2749
  return;
2706
2750
  const props = instance.vnode.props || EMPTY_OBJ;
@@ -2711,7 +2755,7 @@ function emit$2(instance, event, ...rawArgs) {
2711
2755
  !((event.startsWith('hook:') ||
2712
2756
  event.startsWith(compatModelEventPrefix)))) {
2713
2757
  if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
2714
- warn$1(`Component emitted event "${event}" but it is neither declared in ` +
2758
+ warn(`Component emitted event "${event}" but it is neither declared in ` +
2715
2759
  `the emits option nor as an "${toHandlerKey(event)}" prop.`);
2716
2760
  }
2717
2761
  }
@@ -2720,7 +2764,7 @@ function emit$2(instance, event, ...rawArgs) {
2720
2764
  if (isFunction(validator)) {
2721
2765
  const isValid = validator(...rawArgs);
2722
2766
  if (!isValid) {
2723
- warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
2767
+ warn(`Invalid event arguments: event validation failed for event "${event}".`);
2724
2768
  }
2725
2769
  }
2726
2770
  }
@@ -2737,7 +2781,7 @@ function emit$2(instance, event, ...rawArgs) {
2737
2781
  args = rawArgs.map(a => (isString(a) ? a.trim() : a));
2738
2782
  }
2739
2783
  if (number) {
2740
- args = rawArgs.map(toNumber);
2784
+ args = rawArgs.map(looseToNumber);
2741
2785
  }
2742
2786
  }
2743
2787
  if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {
@@ -2746,7 +2790,7 @@ function emit$2(instance, event, ...rawArgs) {
2746
2790
  if ((process.env.NODE_ENV !== 'production')) {
2747
2791
  const lowerCaseEvent = event.toLowerCase();
2748
2792
  if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
2749
- warn$1(`Event "${lowerCaseEvent}" is emitted in component ` +
2793
+ warn(`Event "${lowerCaseEvent}" is emitted in component ` +
2750
2794
  `${formatComponentName(instance, instance.type)} but the handler is registered for "${event}". ` +
2751
2795
  `Note that HTML attributes are case-insensitive and you cannot use ` +
2752
2796
  `v-on to listen to camelCase events when using in-DOM templates. ` +
@@ -3037,13 +3081,13 @@ function renderComponentRoot(instance) {
3037
3081
  }
3038
3082
  }
3039
3083
  if (extraAttrs.length) {
3040
- warn$1(`Extraneous non-props attributes (` +
3084
+ warn(`Extraneous non-props attributes (` +
3041
3085
  `${extraAttrs.join(', ')}) ` +
3042
3086
  `were passed to component but could not be automatically inherited ` +
3043
3087
  `because component renders fragment or text root nodes.`);
3044
3088
  }
3045
3089
  if (eventAttrs.length) {
3046
- warn$1(`Extraneous non-emits event listeners (` +
3090
+ warn(`Extraneous non-emits event listeners (` +
3047
3091
  `${eventAttrs.join(', ')}) ` +
3048
3092
  `were passed to component but could not be automatically inherited ` +
3049
3093
  `because component renders fragment or text root nodes. ` +
@@ -3070,7 +3114,7 @@ function renderComponentRoot(instance) {
3070
3114
  // inherit directives
3071
3115
  if (vnode.dirs) {
3072
3116
  if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {
3073
- warn$1(`Runtime directive used on component with non-element root node. ` +
3117
+ warn(`Runtime directive used on component with non-element root node. ` +
3074
3118
  `The directives will not function as intended.`);
3075
3119
  }
3076
3120
  // clone before mutating since the root may be a hoisted vnode
@@ -3080,7 +3124,7 @@ function renderComponentRoot(instance) {
3080
3124
  // inherit transition data
3081
3125
  if (vnode.transition) {
3082
3126
  if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {
3083
- warn$1(`Component inside <Transition> renders non-element root node ` +
3127
+ warn(`Component inside <Transition> renders non-element root node ` +
3084
3128
  `that cannot be animated.`);
3085
3129
  }
3086
3130
  root.transition = vnode.transition;
@@ -3415,7 +3459,10 @@ function createSuspenseBoundary(vnode, parent, parentComponent, container, hidde
3415
3459
  console[console.info ? 'info' : 'log'](`<Suspense> is an experimental feature and its API will likely change.`);
3416
3460
  }
3417
3461
  const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;
3418
- const timeout = toNumber(vnode.props && vnode.props.timeout);
3462
+ const timeout = vnode.props ? toNumber(vnode.props.timeout) : undefined;
3463
+ if ((process.env.NODE_ENV !== 'production')) {
3464
+ assertNumber(timeout, `Suspense timeout`);
3465
+ }
3419
3466
  const suspense = {
3420
3467
  vnode,
3421
3468
  parent,
@@ -3643,7 +3690,7 @@ function normalizeSuspenseSlot(s) {
3643
3690
  if (isArray(s)) {
3644
3691
  const singleChild = filterSingleRoot(s);
3645
3692
  if ((process.env.NODE_ENV !== 'production') && !singleChild) {
3646
- warn$1(`<Suspense> slots expect a single root node.`);
3693
+ warn(`<Suspense> slots expect a single root node.`);
3647
3694
  }
3648
3695
  s = singleChild;
3649
3696
  }
@@ -3681,7 +3728,7 @@ function setActiveBranch(suspense, branch) {
3681
3728
  function provide(key, value) {
3682
3729
  if (!currentInstance) {
3683
3730
  if ((process.env.NODE_ENV !== 'production')) {
3684
- warn$1(`provide() can only be used inside setup().`);
3731
+ warn(`provide() can only be used inside setup().`);
3685
3732
  }
3686
3733
  }
3687
3734
  else {
@@ -3720,11 +3767,11 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
3720
3767
  : defaultValue;
3721
3768
  }
3722
3769
  else if ((process.env.NODE_ENV !== 'production')) {
3723
- warn$1(`injection "${String(key)}" not found.`);
3770
+ warn(`injection "${String(key)}" not found.`);
3724
3771
  }
3725
3772
  }
3726
3773
  else if ((process.env.NODE_ENV !== 'production')) {
3727
- warn$1(`inject() can only be used inside setup() or functional components.`);
3774
+ warn(`inject() can only be used inside setup() or functional components.`);
3728
3775
  }
3729
3776
  }
3730
3777
 
@@ -3733,19 +3780,17 @@ function watchEffect(effect, options) {
3733
3780
  return doWatch(effect, null, options);
3734
3781
  }
3735
3782
  function watchPostEffect(effect, options) {
3736
- return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')
3737
- ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));
3783
+ return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' });
3738
3784
  }
3739
3785
  function watchSyncEffect(effect, options) {
3740
- return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')
3741
- ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));
3786
+ return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' });
3742
3787
  }
3743
3788
  // initial value for watchers to trigger on undefined initial values
3744
3789
  const INITIAL_WATCHER_VALUE = {};
3745
3790
  // implementation
3746
3791
  function watch(source, cb, options) {
3747
3792
  if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {
3748
- warn$1(`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
3793
+ warn(`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
3749
3794
  `Use \`watchEffect(fn, options?)\` instead. \`watch\` now only ` +
3750
3795
  `supports \`watch(source, cb, options?) signature.`);
3751
3796
  }
@@ -3754,19 +3799,20 @@ function watch(source, cb, options) {
3754
3799
  function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {
3755
3800
  if ((process.env.NODE_ENV !== 'production') && !cb) {
3756
3801
  if (immediate !== undefined) {
3757
- warn$1(`watch() "immediate" option is only respected when using the ` +
3802
+ warn(`watch() "immediate" option is only respected when using the ` +
3758
3803
  `watch(source, callback, options?) signature.`);
3759
3804
  }
3760
3805
  if (deep !== undefined) {
3761
- warn$1(`watch() "deep" option is only respected when using the ` +
3806
+ warn(`watch() "deep" option is only respected when using the ` +
3762
3807
  `watch(source, callback, options?) signature.`);
3763
3808
  }
3764
3809
  }
3765
3810
  const warnInvalidSource = (s) => {
3766
- warn$1(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +
3811
+ warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +
3767
3812
  `a reactive object, or an array of these types.`);
3768
3813
  };
3769
- const instance = currentInstance;
3814
+ const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;
3815
+ // const instance = currentInstance
3770
3816
  let getter;
3771
3817
  let forceTrigger = false;
3772
3818
  let isMultiSource = false;
@@ -3890,7 +3936,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3890
3936
  // pass undefined as the old value when it's changed for the first time
3891
3937
  oldValue === INITIAL_WATCHER_VALUE
3892
3938
  ? undefined
3893
- : (isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE)
3939
+ : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE
3894
3940
  ? []
3895
3941
  : oldValue,
3896
3942
  onCleanup
@@ -4072,7 +4118,7 @@ const BaseTransitionImpl = {
4072
4118
  if (c.type !== Comment) {
4073
4119
  if ((process.env.NODE_ENV !== 'production') && hasFound) {
4074
4120
  // warn more than one non-comment child
4075
- warn$1('<transition> can only be used on a single element or component. ' +
4121
+ warn('<transition> can only be used on a single element or component. ' +
4076
4122
  'Use <transition-group> for lists.');
4077
4123
  break;
4078
4124
  }
@@ -4093,7 +4139,7 @@ const BaseTransitionImpl = {
4093
4139
  mode !== 'in-out' &&
4094
4140
  mode !== 'out-in' &&
4095
4141
  mode !== 'default') {
4096
- warn$1(`invalid <transition> mode: ${mode}`);
4142
+ warn(`invalid <transition> mode: ${mode}`);
4097
4143
  }
4098
4144
  if (state.isLeaving) {
4099
4145
  return emptyPlaceholder(child);
@@ -4404,7 +4450,7 @@ function defineAsyncComponent(source) {
4404
4450
  return pendingRequest;
4405
4451
  }
4406
4452
  if ((process.env.NODE_ENV !== 'production') && !comp) {
4407
- warn$1(`Async component loader resolved to undefined. ` +
4453
+ warn(`Async component loader resolved to undefined. ` +
4408
4454
  `If you are using retry(), make sure to return its return value.`);
4409
4455
  }
4410
4456
  // interop module default
@@ -4497,10 +4543,15 @@ function defineAsyncComponent(source) {
4497
4543
  }
4498
4544
  });
4499
4545
  }
4500
- function createInnerComp(comp, { vnode: { ref, props, children, shapeFlag }, parent }) {
4546
+ function createInnerComp(comp, parent) {
4547
+ const { ref, props, children, ce } = parent.vnode;
4501
4548
  const vnode = createVNode(comp, props, children);
4502
4549
  // ensure inner component inherits the async wrapper's ref owner
4503
4550
  vnode.ref = ref;
4551
+ // pass the custom element callback on to the inner comp
4552
+ // and remove it from the async wrapper
4553
+ vnode.ce = ce;
4554
+ delete parent.vnode.ce;
4504
4555
  return vnode;
4505
4556
  }
4506
4557
 
@@ -4594,7 +4645,7 @@ const KeepAliveImpl = {
4594
4645
  }
4595
4646
  function pruneCacheEntry(key) {
4596
4647
  const cached = cache.get(key);
4597
- if (!current || cached.type !== current.type) {
4648
+ if (!current || !isSameVNodeType(cached, current)) {
4598
4649
  unmount(cached);
4599
4650
  }
4600
4651
  else if (current) {
@@ -4626,7 +4677,7 @@ const KeepAliveImpl = {
4626
4677
  cache.forEach(cached => {
4627
4678
  const { subTree, suspense } = instance;
4628
4679
  const vnode = getInnerChild(subTree);
4629
- if (cached.type === vnode.type) {
4680
+ if (cached.type === vnode.type && cached.key === vnode.key) {
4630
4681
  // current instance will be unmounted as part of keep-alive's unmount
4631
4682
  resetShapeFlag(vnode);
4632
4683
  // but invoke its deactivated hook here
@@ -4646,7 +4697,7 @@ const KeepAliveImpl = {
4646
4697
  const rawVNode = children[0];
4647
4698
  if (children.length > 1) {
4648
4699
  if ((process.env.NODE_ENV !== 'production')) {
4649
- warn$1(`KeepAlive should contain exactly one component child.`);
4700
+ warn(`KeepAlive should contain exactly one component child.`);
4650
4701
  }
4651
4702
  current = null;
4652
4703
  return children;
@@ -4666,8 +4717,7 @@ const KeepAliveImpl = {
4666
4717
  : comp);
4667
4718
  const { include, exclude, max } = props;
4668
4719
  if ((include && (!name || !matches(include, name))) ||
4669
- (exclude && name && matches(exclude, name)) ||
4670
- ((process.env.NODE_ENV !== 'production') && hmrDirtyComponents.has(comp))) {
4720
+ (exclude && name && matches(exclude, name))) {
4671
4721
  current = vnode;
4672
4722
  return rawVNode;
4673
4723
  }
@@ -4727,7 +4777,7 @@ function matches(pattern, name) {
4727
4777
  else if (isString(pattern)) {
4728
4778
  return pattern.split(',').includes(name);
4729
4779
  }
4730
- else if (pattern.test) {
4780
+ else if (isRegExp(pattern)) {
4731
4781
  return pattern.test(name);
4732
4782
  }
4733
4783
  /* istanbul ignore next */
@@ -4780,14 +4830,9 @@ function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
4780
4830
  }, target);
4781
4831
  }
4782
4832
  function resetShapeFlag(vnode) {
4783
- let shapeFlag = vnode.shapeFlag;
4784
- if (shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */) {
4785
- shapeFlag -= 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */;
4786
- }
4787
- if (shapeFlag & 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */) {
4788
- shapeFlag -= 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */;
4789
- }
4790
- vnode.shapeFlag = shapeFlag;
4833
+ // bitwise operations to remove keep alive flags
4834
+ vnode.shapeFlag &= ~256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */;
4835
+ vnode.shapeFlag &= ~512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */;
4791
4836
  }
4792
4837
  function getInnerChild(vnode) {
4793
4838
  return vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */ ? vnode.ssContent : vnode;
@@ -4826,7 +4871,7 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
4826
4871
  }
4827
4872
  else if ((process.env.NODE_ENV !== 'production')) {
4828
4873
  const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));
4829
- warn$1(`${apiName} is called when there is no active component instance to be ` +
4874
+ warn(`${apiName} is called when there is no active component instance to be ` +
4830
4875
  `associated with. ` +
4831
4876
  `Lifecycle injection APIs can only be used during execution of setup().` +
4832
4877
  (` If you are using async setup(), make sure to register lifecycle ` +
@@ -4930,7 +4975,7 @@ return withDirectives(h(comp), [
4930
4975
  */
4931
4976
  function validateDirectiveName(name) {
4932
4977
  if (isBuiltInDirective(name)) {
4933
- warn$1('Do not use built-in directive ids as custom directive id: ' + name);
4978
+ warn('Do not use built-in directive ids as custom directive id: ' + name);
4934
4979
  }
4935
4980
  }
4936
4981
  /**
@@ -4939,7 +4984,7 @@ function validateDirectiveName(name) {
4939
4984
  function withDirectives(vnode, directives) {
4940
4985
  const internalInstance = currentRenderingInstance;
4941
4986
  if (internalInstance === null) {
4942
- (process.env.NODE_ENV !== 'production') && warn$1(`withDirectives can only be used inside render functions.`);
4987
+ (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);
4943
4988
  return vnode;
4944
4989
  }
4945
4990
  const instance = getExposeProxy(internalInstance) ||
@@ -5028,7 +5073,7 @@ function resolveDirective(name) {
5028
5073
  * v2 compat only
5029
5074
  * @internal
5030
5075
  */
5031
- function resolveFilter(name) {
5076
+ function resolveFilter$1(name) {
5032
5077
  return resolveAsset(FILTERS, name);
5033
5078
  }
5034
5079
  // implementation
@@ -5061,12 +5106,12 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
5061
5106
  ? `\nIf this is a native custom element, make sure to exclude it from ` +
5062
5107
  `component resolution via compilerOptions.isCustomElement.`
5063
5108
  : ``;
5064
- warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
5109
+ warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
5065
5110
  }
5066
5111
  return res;
5067
5112
  }
5068
5113
  else if ((process.env.NODE_ENV !== 'production')) {
5069
- warn$1(`resolve${capitalize(type.slice(0, -1))} ` +
5114
+ warn(`resolve${capitalize(type.slice(0, -1))} ` +
5070
5115
  `can only be used in render() or setup().`);
5071
5116
  }
5072
5117
  }
@@ -5344,7 +5389,7 @@ function renderList(source, renderItem, cache, index) {
5344
5389
  }
5345
5390
  else if (typeof source === 'number') {
5346
5391
  if ((process.env.NODE_ENV !== 'production') && !Number.isInteger(source)) {
5347
- warn$1(`The v-for range expect an integer value but got ${source}.`);
5392
+ warn(`The v-for range expect an integer value but got ${source}.`);
5348
5393
  }
5349
5394
  ret = new Array(source);
5350
5395
  for (let i = 0; i < source; i++) {
@@ -5415,11 +5460,13 @@ fallback, noSlotted) {
5415
5460
  (currentRenderingInstance.parent &&
5416
5461
  isAsyncWrapper(currentRenderingInstance.parent) &&
5417
5462
  currentRenderingInstance.parent.isCE)) {
5418
- return createVNode('slot', name === 'default' ? null : { name }, fallback && fallback());
5463
+ if (name !== 'default')
5464
+ props.name = name;
5465
+ return createVNode('slot', props, fallback && fallback());
5419
5466
  }
5420
5467
  let slot = slots[name];
5421
5468
  if ((process.env.NODE_ENV !== 'production') && slot && slot.length > 1) {
5422
- warn$1(`SSR-optimized slot function detected in a non-SSR-optimized render ` +
5469
+ warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +
5423
5470
  `function. You need to mark this component with $dynamic-slots in the ` +
5424
5471
  `parent template.`);
5425
5472
  slot = () => [];
@@ -5472,7 +5519,7 @@ function ensureValidVNode(vnodes) {
5472
5519
  function toHandlers(obj, preserveCaseIfNecessary) {
5473
5520
  const ret = {};
5474
5521
  if ((process.env.NODE_ENV !== 'production') && !isObject(obj)) {
5475
- warn$1(`v-on with no argument expects an object value.`);
5522
+ warn(`v-on with no argument expects an object value.`);
5476
5523
  return ret;
5477
5524
  }
5478
5525
  for (const key in obj) {
@@ -5680,14 +5727,14 @@ function installCompatInstanceProperties(map) {
5680
5727
  $createElement: () => compatH,
5681
5728
  _c: () => compatH,
5682
5729
  _o: () => legacyMarkOnce,
5683
- _n: () => toNumber,
5730
+ _n: () => looseToNumber,
5684
5731
  _s: () => toDisplayString,
5685
5732
  _l: () => renderList,
5686
5733
  _t: i => legacyRenderSlot.bind(null, i),
5687
5734
  _q: () => looseEqual,
5688
5735
  _i: () => looseIndexOf,
5689
5736
  _m: i => legacyRenderStatic.bind(null, i),
5690
- _f: () => resolveFilter,
5737
+ _f: () => resolveFilter$1,
5691
5738
  _k: i => legacyCheckKeyCodes.bind(null, i),
5692
5739
  _b: () => legacyBindObjectProps,
5693
5740
  _v: () => createTextVNode,
@@ -5735,6 +5782,7 @@ const publicPropertiesMap =
5735
5782
  installCompatInstanceProperties(publicPropertiesMap);
5736
5783
  }
5737
5784
  const isReservedPrefix = (key) => key === '_' || key === '$';
5785
+ const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);
5738
5786
  const PublicInstanceProxyHandlers = {
5739
5787
  get({ _: instance }, key) {
5740
5788
  const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
@@ -5742,16 +5790,6 @@ const PublicInstanceProxyHandlers = {
5742
5790
  if ((process.env.NODE_ENV !== 'production') && key === '__isVue') {
5743
5791
  return true;
5744
5792
  }
5745
- // prioritize <script setup> bindings during dev.
5746
- // this allows even properties that start with _ or $ to be used - so that
5747
- // it aligns with the production behavior where the render fn is inlined and
5748
- // indeed has access to all declared variables.
5749
- if ((process.env.NODE_ENV !== 'production') &&
5750
- setupState !== EMPTY_OBJ &&
5751
- setupState.__isScriptSetup &&
5752
- hasOwn(setupState, key)) {
5753
- return setupState[key];
5754
- }
5755
5793
  // data / props / ctx
5756
5794
  // This getter gets called for every property access on the render context
5757
5795
  // during render and is a major hotspot. The most expensive part of this
@@ -5774,7 +5812,7 @@ const PublicInstanceProxyHandlers = {
5774
5812
  // default: just fallthrough
5775
5813
  }
5776
5814
  }
5777
- else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {
5815
+ else if (hasSetupBinding(setupState, key)) {
5778
5816
  accessCache[key] = 1 /* AccessTypes.SETUP */;
5779
5817
  return setupState[key];
5780
5818
  }
@@ -5843,34 +5881,39 @@ const PublicInstanceProxyHandlers = {
5843
5881
  // to infinite warning loop
5844
5882
  key.indexOf('__v') !== 0)) {
5845
5883
  if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {
5846
- warn$1(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved ` +
5884
+ warn(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved ` +
5847
5885
  `character ("$" or "_") and is not proxied on the render context.`);
5848
5886
  }
5849
5887
  else if (instance === currentRenderingInstance) {
5850
- warn$1(`Property ${JSON.stringify(key)} was accessed during render ` +
5888
+ warn(`Property ${JSON.stringify(key)} was accessed during render ` +
5851
5889
  `but is not defined on instance.`);
5852
5890
  }
5853
5891
  }
5854
5892
  },
5855
5893
  set({ _: instance }, key, value) {
5856
5894
  const { data, setupState, ctx } = instance;
5857
- if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {
5895
+ if (hasSetupBinding(setupState, key)) {
5858
5896
  setupState[key] = value;
5859
5897
  return true;
5860
5898
  }
5899
+ else if ((process.env.NODE_ENV !== 'production') &&
5900
+ setupState.__isScriptSetup &&
5901
+ hasOwn(setupState, key)) {
5902
+ warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5903
+ return false;
5904
+ }
5861
5905
  else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
5862
5906
  data[key] = value;
5863
5907
  return true;
5864
5908
  }
5865
5909
  else if (hasOwn(instance.props, key)) {
5866
- (process.env.NODE_ENV !== 'production') &&
5867
- warn$1(`Attempting to mutate prop "${key}". Props are readonly.`, instance);
5910
+ (process.env.NODE_ENV !== 'production') && warn(`Attempting to mutate prop "${key}". Props are readonly.`);
5868
5911
  return false;
5869
5912
  }
5870
5913
  if (key[0] === '$' && key.slice(1) in instance) {
5871
5914
  (process.env.NODE_ENV !== 'production') &&
5872
- warn$1(`Attempting to mutate public property "${key}". ` +
5873
- `Properties starting with $ are reserved and readonly.`, instance);
5915
+ warn(`Attempting to mutate public property "${key}". ` +
5916
+ `Properties starting with $ are reserved and readonly.`);
5874
5917
  return false;
5875
5918
  }
5876
5919
  else {
@@ -5891,7 +5934,7 @@ const PublicInstanceProxyHandlers = {
5891
5934
  let normalizedProps;
5892
5935
  return (!!accessCache[key] ||
5893
5936
  (data !== EMPTY_OBJ && hasOwn(data, key)) ||
5894
- (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) ||
5937
+ hasSetupBinding(setupState, key) ||
5895
5938
  ((normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key)) ||
5896
5939
  hasOwn(ctx, key) ||
5897
5940
  hasOwn(publicPropertiesMap, key) ||
@@ -5910,7 +5953,7 @@ const PublicInstanceProxyHandlers = {
5910
5953
  };
5911
5954
  if ((process.env.NODE_ENV !== 'production') && !false) {
5912
5955
  PublicInstanceProxyHandlers.ownKeys = (target) => {
5913
- warn$1(`Avoid app logic that relies on enumerating keys on a component instance. ` +
5956
+ warn(`Avoid app logic that relies on enumerating keys on a component instance. ` +
5914
5957
  `The keys will be empty in production mode to avoid performance overhead.`);
5915
5958
  return Reflect.ownKeys(target);
5916
5959
  };
@@ -5926,7 +5969,7 @@ const RuntimeCompiledPublicInstanceProxyHandlers = /*#__PURE__*/ extend({}, Publ
5926
5969
  has(_, key) {
5927
5970
  const has = key[0] !== '_' && !isGloballyWhitelisted(key);
5928
5971
  if ((process.env.NODE_ENV !== 'production') && !has && PublicInstanceProxyHandlers.has(_, key)) {
5929
- warn$1(`Property ${JSON.stringify(key)} should not start with _ which is a reserved prefix for Vue internals.`);
5972
+ warn(`Property ${JSON.stringify(key)} should not start with _ which is a reserved prefix for Vue internals.`);
5930
5973
  }
5931
5974
  return has;
5932
5975
  }
@@ -5976,7 +6019,7 @@ function exposeSetupStateOnRenderContext(instance) {
5976
6019
  Object.keys(toRaw(setupState)).forEach(key => {
5977
6020
  if (!setupState.__isScriptSetup) {
5978
6021
  if (isReservedPrefix(key[0])) {
5979
- warn$1(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" ` +
6022
+ warn(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" ` +
5980
6023
  `which are reserved prefixes for Vue internals.`);
5981
6024
  return;
5982
6025
  }
@@ -6009,7 +6052,7 @@ function createDuplicateChecker() {
6009
6052
  const cache = Object.create(null);
6010
6053
  return (type, key) => {
6011
6054
  if (cache[key]) {
6012
- warn$1(`${type} property "${key}" is already defined in ${cache[key]}.`);
6055
+ warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
6013
6056
  }
6014
6057
  else {
6015
6058
  cache[key] = type;
@@ -6026,7 +6069,7 @@ function applyOptions(instance) {
6026
6069
  // call beforeCreate first before accessing other options since
6027
6070
  // the hook may mutate resolved options (#2791)
6028
6071
  if (options.beforeCreate) {
6029
- callHook(options.beforeCreate, instance, "bc" /* LifecycleHooks.BEFORE_CREATE */);
6072
+ callHook$1(options.beforeCreate, instance, "bc" /* LifecycleHooks.BEFORE_CREATE */);
6030
6073
  }
6031
6074
  const {
6032
6075
  // state
@@ -6079,24 +6122,24 @@ function applyOptions(instance) {
6079
6122
  }
6080
6123
  }
6081
6124
  else if ((process.env.NODE_ENV !== 'production')) {
6082
- warn$1(`Method "${key}" has type "${typeof methodHandler}" in the component definition. ` +
6125
+ warn(`Method "${key}" has type "${typeof methodHandler}" in the component definition. ` +
6083
6126
  `Did you reference the function correctly?`);
6084
6127
  }
6085
6128
  }
6086
6129
  }
6087
6130
  if (dataOptions) {
6088
6131
  if ((process.env.NODE_ENV !== 'production') && !isFunction(dataOptions)) {
6089
- warn$1(`The data option must be a function. ` +
6132
+ warn(`The data option must be a function. ` +
6090
6133
  `Plain object usage is no longer supported.`);
6091
6134
  }
6092
6135
  const data = dataOptions.call(publicThis, publicThis);
6093
6136
  if ((process.env.NODE_ENV !== 'production') && isPromise(data)) {
6094
- warn$1(`data() returned a Promise - note data() cannot be async; If you ` +
6137
+ warn(`data() returned a Promise - note data() cannot be async; If you ` +
6095
6138
  `intend to perform data fetching before component renders, use ` +
6096
6139
  `async setup() + <Suspense>.`);
6097
6140
  }
6098
6141
  if (!isObject(data)) {
6099
- (process.env.NODE_ENV !== 'production') && warn$1(`data() should return an object.`);
6142
+ (process.env.NODE_ENV !== 'production') && warn(`data() should return an object.`);
6100
6143
  }
6101
6144
  else {
6102
6145
  instance.data = reactive(data);
@@ -6127,16 +6170,16 @@ function applyOptions(instance) {
6127
6170
  ? opt.get.bind(publicThis, publicThis)
6128
6171
  : NOOP;
6129
6172
  if ((process.env.NODE_ENV !== 'production') && get === NOOP) {
6130
- warn$1(`Computed property "${key}" has no getter.`);
6173
+ warn(`Computed property "${key}" has no getter.`);
6131
6174
  }
6132
6175
  const set = !isFunction(opt) && isFunction(opt.set)
6133
6176
  ? opt.set.bind(publicThis)
6134
6177
  : (process.env.NODE_ENV !== 'production')
6135
6178
  ? () => {
6136
- warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6179
+ warn(`Write operation failed: computed property "${key}" is readonly.`);
6137
6180
  }
6138
6181
  : NOOP;
6139
- const c = computed$1({
6182
+ const c = computed({
6140
6183
  get,
6141
6184
  set
6142
6185
  });
@@ -6165,7 +6208,7 @@ function applyOptions(instance) {
6165
6208
  });
6166
6209
  }
6167
6210
  if (created) {
6168
- callHook(created, instance, "c" /* LifecycleHooks.CREATED */);
6211
+ callHook$1(created, instance, "c" /* LifecycleHooks.CREATED */);
6169
6212
  }
6170
6213
  function registerLifecycleHook(register, hook) {
6171
6214
  if (isArray(hook)) {
@@ -6259,7 +6302,7 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP,
6259
6302
  }
6260
6303
  else {
6261
6304
  if ((process.env.NODE_ENV !== 'production')) {
6262
- warn$1(`injected property "${key}" is a ref and will be auto-unwrapped ` +
6305
+ warn(`injected property "${key}" is a ref and will be auto-unwrapped ` +
6263
6306
  `and no longer needs \`.value\` in the next minor release. ` +
6264
6307
  `To opt-in to the new behavior now, ` +
6265
6308
  `set \`app.config.unwrapInjectedRef = true\` (this config is ` +
@@ -6276,7 +6319,7 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP,
6276
6319
  }
6277
6320
  }
6278
6321
  }
6279
- function callHook(hook, instance, type) {
6322
+ function callHook$1(hook, instance, type) {
6280
6323
  callWithAsyncErrorHandling(isArray(hook)
6281
6324
  ? hook.map(h => h.bind(instance.proxy))
6282
6325
  : hook.bind(instance.proxy), instance, type);
@@ -6291,7 +6334,7 @@ function createWatcher(raw, ctx, publicThis, key) {
6291
6334
  watch(getter, handler);
6292
6335
  }
6293
6336
  else if ((process.env.NODE_ENV !== 'production')) {
6294
- warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6337
+ warn(`Invalid watch handler specified by key "${raw}"`, handler);
6295
6338
  }
6296
6339
  }
6297
6340
  else if (isFunction(raw)) {
@@ -6309,12 +6352,12 @@ function createWatcher(raw, ctx, publicThis, key) {
6309
6352
  watch(getter, handler, raw);
6310
6353
  }
6311
6354
  else if ((process.env.NODE_ENV !== 'production')) {
6312
- warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6355
+ warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6313
6356
  }
6314
6357
  }
6315
6358
  }
6316
6359
  else if ((process.env.NODE_ENV !== 'production')) {
6317
- warn$1(`Invalid watch option: "${key}"`, raw);
6360
+ warn(`Invalid watch option: "${key}"`, raw);
6318
6361
  }
6319
6362
  }
6320
6363
  /**
@@ -6367,7 +6410,7 @@ function mergeOptions(to, from, strats, asMixin = false) {
6367
6410
  for (const key in from) {
6368
6411
  if (asMixin && key === 'expose') {
6369
6412
  (process.env.NODE_ENV !== 'production') &&
6370
- warn$1(`"expose" option is ignored when declared in mixins or extends. ` +
6413
+ warn(`"expose" option is ignored when declared in mixins or extends. ` +
6371
6414
  `It should only be declared in the base component itself.`);
6372
6415
  }
6373
6416
  else {
@@ -6785,7 +6828,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
6785
6828
  if (isArray(raw)) {
6786
6829
  for (let i = 0; i < raw.length; i++) {
6787
6830
  if ((process.env.NODE_ENV !== 'production') && !isString(raw[i])) {
6788
- warn$1(`props must be strings when using array syntax.`, raw[i]);
6831
+ warn(`props must be strings when using array syntax.`, raw[i]);
6789
6832
  }
6790
6833
  const normalizedKey = camelize(raw[i]);
6791
6834
  if (validatePropName(normalizedKey)) {
@@ -6795,7 +6838,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
6795
6838
  }
6796
6839
  else if (raw) {
6797
6840
  if ((process.env.NODE_ENV !== 'production') && !isObject(raw)) {
6798
- warn$1(`invalid props options`, raw);
6841
+ warn(`invalid props options`, raw);
6799
6842
  }
6800
6843
  for (const key in raw) {
6801
6844
  const normalizedKey = camelize(key);
@@ -6828,15 +6871,15 @@ function validatePropName(key) {
6828
6871
  return true;
6829
6872
  }
6830
6873
  else if ((process.env.NODE_ENV !== 'production')) {
6831
- warn$1(`Invalid prop name: "${key}" is a reserved property.`);
6874
+ warn(`Invalid prop name: "${key}" is a reserved property.`);
6832
6875
  }
6833
6876
  return false;
6834
6877
  }
6835
6878
  // use function string name to check type constructors
6836
6879
  // so that it works across vms / iframes.
6837
6880
  function getType(ctor) {
6838
- const match = ctor && ctor.toString().match(/^\s*function (\w+)/);
6839
- return match ? match[1] : ctor === null ? 'null' : '';
6881
+ const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
6882
+ return match ? match[2] : ctor === null ? 'null' : '';
6840
6883
  }
6841
6884
  function isSameType(a, b) {
6842
6885
  return getType(a) === getType(b);
@@ -6870,7 +6913,7 @@ function validateProp(name, value, prop, isAbsent) {
6870
6913
  const { type, required, validator } = prop;
6871
6914
  // required!
6872
6915
  if (required && isAbsent) {
6873
- warn$1('Missing required prop: "' + name + '"');
6916
+ warn('Missing required prop: "' + name + '"');
6874
6917
  return;
6875
6918
  }
6876
6919
  // missing but optional
@@ -6889,13 +6932,13 @@ function validateProp(name, value, prop, isAbsent) {
6889
6932
  isValid = valid;
6890
6933
  }
6891
6934
  if (!isValid) {
6892
- warn$1(getInvalidTypeMessage(name, value, expectedTypes));
6935
+ warn(getInvalidTypeMessage(name, value, expectedTypes));
6893
6936
  return;
6894
6937
  }
6895
6938
  }
6896
6939
  // custom validator
6897
6940
  if (validator && !validator(value)) {
6898
- warn$1('Invalid prop: custom validator check failed for prop "' + name + '".');
6941
+ warn('Invalid prop: custom validator check failed for prop "' + name + '".');
6899
6942
  }
6900
6943
  }
6901
6944
  const isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol,BigInt');
@@ -6992,7 +7035,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
6992
7035
  }
6993
7036
  const normalized = withCtx((...args) => {
6994
7037
  if ((process.env.NODE_ENV !== 'production') && currentInstance) {
6995
- warn$1(`Slot "${key}" invoked outside of the render function: ` +
7038
+ warn(`Slot "${key}" invoked outside of the render function: ` +
6996
7039
  `this will not track dependencies used in the slot. ` +
6997
7040
  `Invoke the slot function inside the render function instead.`);
6998
7041
  }
@@ -7013,7 +7056,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
7013
7056
  else if (value != null) {
7014
7057
  if ((process.env.NODE_ENV !== 'production') &&
7015
7058
  !(isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
7016
- warn$1(`Non-function value encountered for slot "${key}". ` +
7059
+ warn(`Non-function value encountered for slot "${key}". ` +
7017
7060
  `Prefer function slots for better performance.`);
7018
7061
  }
7019
7062
  const normalized = normalizeSlotValue(value);
@@ -7025,7 +7068,7 @@ const normalizeVNodeSlots = (instance, children) => {
7025
7068
  if ((process.env.NODE_ENV !== 'production') &&
7026
7069
  !isKeepAlive(instance.vnode) &&
7027
7070
  !(isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
7028
- warn$1(`Non-function value encountered for default slot. ` +
7071
+ warn(`Non-function value encountered for default slot. ` +
7029
7072
  `Prefer function slots for better performance.`);
7030
7073
  }
7031
7074
  const normalized = normalizeSlotValue(children);
@@ -7149,7 +7192,7 @@ let isCopyingConfig = false;
7149
7192
  let singletonApp;
7150
7193
  let singletonCtor;
7151
7194
  // Legacy global Vue constructor
7152
- function createCompatVue(createApp, createSingletonApp) {
7195
+ function createCompatVue$1(createApp, createSingletonApp) {
7153
7196
  singletonApp = createSingletonApp({});
7154
7197
  const Vue = (singletonCtor = function Vue(options = {}) {
7155
7198
  return createCompatApp(options, Vue);
@@ -7174,7 +7217,7 @@ function createCompatVue(createApp, createSingletonApp) {
7174
7217
  return vm;
7175
7218
  }
7176
7219
  }
7177
- Vue.version = `2.6.14-compat:${"3.2.44"}`;
7220
+ Vue.version = `2.6.14-compat:${"3.2.46"}`;
7178
7221
  Vue.config = singletonApp.config;
7179
7222
  Vue.use = (p, ...options) => {
7180
7223
  if (p && isFunction(p.install)) {
@@ -7276,7 +7319,7 @@ function createCompatVue(createApp, createSingletonApp) {
7276
7319
  });
7277
7320
  // internal utils - these are technically internal but some plugins use it.
7278
7321
  const util = {
7279
- warn: (process.env.NODE_ENV !== 'production') ? warn$1 : NOOP,
7322
+ warn: (process.env.NODE_ENV !== 'production') ? warn : NOOP,
7280
7323
  extend,
7281
7324
  mergeOptions: (parent, child, vm) => mergeOptions(parent, child, vm ? undefined : internalOptionMergeStrats),
7282
7325
  defineReactive
@@ -7287,7 +7330,7 @@ function createCompatVue(createApp, createSingletonApp) {
7287
7330
  return util;
7288
7331
  }
7289
7332
  });
7290
- Vue.configureCompat = configureCompat;
7333
+ Vue.configureCompat = configureCompat$1;
7291
7334
  return Vue;
7292
7335
  }
7293
7336
  function installAppCompatProperties(app, context, render) {
@@ -7312,7 +7355,7 @@ function installFilterMethod(app, context) {
7312
7355
  return context.filters[name];
7313
7356
  }
7314
7357
  if ((process.env.NODE_ENV !== 'production') && context.filters[name]) {
7315
- warn$1(`Filter "${name}" has already been registered.`);
7358
+ warn(`Filter "${name}" has already been registered.`);
7316
7359
  }
7317
7360
  context.filters[name] = filter;
7318
7361
  return app;
@@ -7423,7 +7466,7 @@ function installCompatMount(app, context, render) {
7423
7466
  // both runtime-core AND runtime-dom.
7424
7467
  instance.ctx._compat_mount = (selectorOrEl) => {
7425
7468
  if (isMounted) {
7426
- (process.env.NODE_ENV !== 'production') && warn$1(`Root instance is already mounted.`);
7469
+ (process.env.NODE_ENV !== 'production') && warn(`Root instance is already mounted.`);
7427
7470
  return;
7428
7471
  }
7429
7472
  let container;
@@ -7432,7 +7475,7 @@ function installCompatMount(app, context, render) {
7432
7475
  const result = document.querySelector(selectorOrEl);
7433
7476
  if (!result) {
7434
7477
  (process.env.NODE_ENV !== 'production') &&
7435
- warn$1(`Failed to mount root instance: selector "${selectorOrEl}" returned null.`);
7478
+ warn(`Failed to mount root instance: selector "${selectorOrEl}" returned null.`);
7436
7479
  return;
7437
7480
  }
7438
7481
  container = result;
@@ -7602,21 +7645,21 @@ function createAppContext() {
7602
7645
  emitsCache: new WeakMap()
7603
7646
  };
7604
7647
  }
7605
- let uid = 0;
7648
+ let uid$1 = 0;
7606
7649
  function createAppAPI(render, hydrate) {
7607
7650
  return function createApp(rootComponent, rootProps = null) {
7608
7651
  if (!isFunction(rootComponent)) {
7609
7652
  rootComponent = Object.assign({}, rootComponent);
7610
7653
  }
7611
7654
  if (rootProps != null && !isObject(rootProps)) {
7612
- (process.env.NODE_ENV !== 'production') && warn$1(`root props passed to app.mount() must be an object.`);
7655
+ (process.env.NODE_ENV !== 'production') && warn(`root props passed to app.mount() must be an object.`);
7613
7656
  rootProps = null;
7614
7657
  }
7615
7658
  const context = createAppContext();
7616
7659
  const installedPlugins = new Set();
7617
7660
  let isMounted = false;
7618
7661
  const app = (context.app = {
7619
- _uid: uid++,
7662
+ _uid: uid$1++,
7620
7663
  _component: rootComponent,
7621
7664
  _props: rootProps,
7622
7665
  _container: null,
@@ -7628,12 +7671,12 @@ function createAppAPI(render, hydrate) {
7628
7671
  },
7629
7672
  set config(v) {
7630
7673
  if ((process.env.NODE_ENV !== 'production')) {
7631
- warn$1(`app.config cannot be replaced. Modify individual options instead.`);
7674
+ warn(`app.config cannot be replaced. Modify individual options instead.`);
7632
7675
  }
7633
7676
  },
7634
7677
  use(plugin, ...options) {
7635
7678
  if (installedPlugins.has(plugin)) {
7636
- (process.env.NODE_ENV !== 'production') && warn$1(`Plugin has already been applied to target app.`);
7679
+ (process.env.NODE_ENV !== 'production') && warn(`Plugin has already been applied to target app.`);
7637
7680
  }
7638
7681
  else if (plugin && isFunction(plugin.install)) {
7639
7682
  installedPlugins.add(plugin);
@@ -7644,7 +7687,7 @@ function createAppAPI(render, hydrate) {
7644
7687
  plugin(app, ...options);
7645
7688
  }
7646
7689
  else if ((process.env.NODE_ENV !== 'production')) {
7647
- warn$1(`A plugin must either be a function or an object with an "install" ` +
7690
+ warn(`A plugin must either be a function or an object with an "install" ` +
7648
7691
  `function.`);
7649
7692
  }
7650
7693
  return app;
@@ -7655,12 +7698,12 @@ function createAppAPI(render, hydrate) {
7655
7698
  context.mixins.push(mixin);
7656
7699
  }
7657
7700
  else if ((process.env.NODE_ENV !== 'production')) {
7658
- warn$1('Mixin has already been applied to target app' +
7701
+ warn('Mixin has already been applied to target app' +
7659
7702
  (mixin.name ? `: ${mixin.name}` : ''));
7660
7703
  }
7661
7704
  }
7662
7705
  else if ((process.env.NODE_ENV !== 'production')) {
7663
- warn$1('Mixins are only available in builds supporting Options API');
7706
+ warn('Mixins are only available in builds supporting Options API');
7664
7707
  }
7665
7708
  return app;
7666
7709
  },
@@ -7672,7 +7715,7 @@ function createAppAPI(render, hydrate) {
7672
7715
  return context.components[name];
7673
7716
  }
7674
7717
  if ((process.env.NODE_ENV !== 'production') && context.components[name]) {
7675
- warn$1(`Component "${name}" has already been registered in target app.`);
7718
+ warn(`Component "${name}" has already been registered in target app.`);
7676
7719
  }
7677
7720
  context.components[name] = component;
7678
7721
  return app;
@@ -7685,7 +7728,7 @@ function createAppAPI(render, hydrate) {
7685
7728
  return context.directives[name];
7686
7729
  }
7687
7730
  if ((process.env.NODE_ENV !== 'production') && context.directives[name]) {
7688
- warn$1(`Directive "${name}" has already been registered in target app.`);
7731
+ warn(`Directive "${name}" has already been registered in target app.`);
7689
7732
  }
7690
7733
  context.directives[name] = directive;
7691
7734
  return app;
@@ -7694,7 +7737,7 @@ function createAppAPI(render, hydrate) {
7694
7737
  if (!isMounted) {
7695
7738
  // #5571
7696
7739
  if ((process.env.NODE_ENV !== 'production') && rootContainer.__vue_app__) {
7697
- warn$1(`There is already an app instance mounted on the host container.\n` +
7740
+ warn(`There is already an app instance mounted on the host container.\n` +
7698
7741
  ` If you want to mount another app on the same host container,` +
7699
7742
  ` you need to unmount the previous app by calling \`app.unmount()\` first.`);
7700
7743
  }
@@ -7724,7 +7767,7 @@ function createAppAPI(render, hydrate) {
7724
7767
  return getExposeProxy(vnode.component) || vnode.component.proxy;
7725
7768
  }
7726
7769
  else if ((process.env.NODE_ENV !== 'production')) {
7727
- warn$1(`App has already been mounted.\n` +
7770
+ warn(`App has already been mounted.\n` +
7728
7771
  `If you want to remount the same app, move your app creation logic ` +
7729
7772
  `into a factory function and create fresh app instances for each ` +
7730
7773
  `mount - e.g. \`const createMyApp = () => createApp(App)\``);
@@ -7740,12 +7783,12 @@ function createAppAPI(render, hydrate) {
7740
7783
  delete app._container.__vue_app__;
7741
7784
  }
7742
7785
  else if ((process.env.NODE_ENV !== 'production')) {
7743
- warn$1(`Cannot unmount an app that is not mounted.`);
7786
+ warn(`Cannot unmount an app that is not mounted.`);
7744
7787
  }
7745
7788
  },
7746
7789
  provide(key, value) {
7747
7790
  if ((process.env.NODE_ENV !== 'production') && key in context.provides) {
7748
- warn$1(`App already provides property with key "${String(key)}". ` +
7791
+ warn(`App already provides property with key "${String(key)}". ` +
7749
7792
  `It will be overwritten with the new value.`);
7750
7793
  }
7751
7794
  context.provides[key] = value;
@@ -7778,7 +7821,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7778
7821
  const value = isUnmount ? null : refValue;
7779
7822
  const { i: owner, r: ref } = rawRef;
7780
7823
  if ((process.env.NODE_ENV !== 'production') && !owner) {
7781
- warn$1(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +
7824
+ warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +
7782
7825
  `A vnode with ref must be created inside the render function.`);
7783
7826
  return;
7784
7827
  }
@@ -7845,7 +7888,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7845
7888
  refs[rawRef.k] = value;
7846
7889
  }
7847
7890
  else if ((process.env.NODE_ENV !== 'production')) {
7848
- warn$1('Invalid template ref type:', ref, `(${typeof ref})`);
7891
+ warn('Invalid template ref type:', ref, `(${typeof ref})`);
7849
7892
  }
7850
7893
  };
7851
7894
  if (value) {
@@ -7857,7 +7900,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7857
7900
  }
7858
7901
  }
7859
7902
  else if ((process.env.NODE_ENV !== 'production')) {
7860
- warn$1('Invalid template ref type:', ref, `(${typeof ref})`);
7903
+ warn('Invalid template ref type:', ref, `(${typeof ref})`);
7861
7904
  }
7862
7905
  }
7863
7906
  }
@@ -7875,7 +7918,7 @@ function createHydrationFunctions(rendererInternals) {
7875
7918
  const hydrate = (vnode, container) => {
7876
7919
  if (!container.hasChildNodes()) {
7877
7920
  (process.env.NODE_ENV !== 'production') &&
7878
- warn$1(`Attempting to hydrate existing markup but container is empty. ` +
7921
+ warn(`Attempting to hydrate existing markup but container is empty. ` +
7879
7922
  `Performing full mount instead.`);
7880
7923
  patch(null, vnode, container);
7881
7924
  flushPostFlushCbs();
@@ -7919,7 +7962,7 @@ function createHydrationFunctions(rendererInternals) {
7919
7962
  if (node.data !== vnode.children) {
7920
7963
  hasMismatch = true;
7921
7964
  (process.env.NODE_ENV !== 'production') &&
7922
- warn$1(`Hydration text mismatch:` +
7965
+ warn(`Hydration text mismatch:` +
7923
7966
  `\n- Client: ${JSON.stringify(node.data)}` +
7924
7967
  `\n- Server: ${JSON.stringify(vnode.children)}`);
7925
7968
  node.data = vnode.children;
@@ -8034,7 +8077,7 @@ function createHydrationFunctions(rendererInternals) {
8034
8077
  nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
8035
8078
  }
8036
8079
  else if ((process.env.NODE_ENV !== 'production')) {
8037
- warn$1('Invalid HostVNode type:', type, `(${typeof type})`);
8080
+ warn('Invalid HostVNode type:', type, `(${typeof type})`);
8038
8081
  }
8039
8082
  }
8040
8083
  if (ref != null) {
@@ -8095,7 +8138,7 @@ function createHydrationFunctions(rendererInternals) {
8095
8138
  while (next) {
8096
8139
  hasMismatch = true;
8097
8140
  if ((process.env.NODE_ENV !== 'production') && !hasWarned) {
8098
- warn$1(`Hydration children mismatch in <${vnode.type}>: ` +
8141
+ warn(`Hydration children mismatch in <${vnode.type}>: ` +
8099
8142
  `server rendered element contains more child nodes than client vdom.`);
8100
8143
  hasWarned = true;
8101
8144
  }
@@ -8109,7 +8152,7 @@ function createHydrationFunctions(rendererInternals) {
8109
8152
  if (el.textContent !== vnode.children) {
8110
8153
  hasMismatch = true;
8111
8154
  (process.env.NODE_ENV !== 'production') &&
8112
- warn$1(`Hydration text content mismatch in <${vnode.type}>:\n` +
8155
+ warn(`Hydration text content mismatch in <${vnode.type}>:\n` +
8113
8156
  `- Client: ${el.textContent}\n` +
8114
8157
  `- Server: ${vnode.children}`);
8115
8158
  el.textContent = vnode.children;
@@ -8136,7 +8179,7 @@ function createHydrationFunctions(rendererInternals) {
8136
8179
  else {
8137
8180
  hasMismatch = true;
8138
8181
  if ((process.env.NODE_ENV !== 'production') && !hasWarned) {
8139
- warn$1(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +
8182
+ warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +
8140
8183
  `server rendered element contains fewer child nodes than client vdom.`);
8141
8184
  hasWarned = true;
8142
8185
  }
@@ -8170,7 +8213,7 @@ function createHydrationFunctions(rendererInternals) {
8170
8213
  const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
8171
8214
  hasMismatch = true;
8172
8215
  (process.env.NODE_ENV !== 'production') &&
8173
- warn$1(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* DOMNodeTypes.TEXT */
8216
+ warn(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* DOMNodeTypes.TEXT */
8174
8217
  ? `(text)`
8175
8218
  : isComment(node) && node.data === '['
8176
8219
  ? `(start of fragment)`
@@ -8369,7 +8412,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8369
8412
  type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
8370
8413
  }
8371
8414
  else if ((process.env.NODE_ENV !== 'production')) {
8372
- warn$1('Invalid VNode type:', type, `(${typeof type})`);
8415
+ warn('Invalid VNode type:', type, `(${typeof type})`);
8373
8416
  }
8374
8417
  }
8375
8418
  // set ref
@@ -8459,6 +8502,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8459
8502
  if (dirs) {
8460
8503
  invokeDirectiveHook(vnode, null, parentComponent, 'created');
8461
8504
  }
8505
+ // scopeId
8506
+ setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
8462
8507
  // props
8463
8508
  if (props) {
8464
8509
  for (const key in props) {
@@ -8482,8 +8527,6 @@ function baseCreateRenderer(options, createHydrationFns) {
8482
8527
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
8483
8528
  }
8484
8529
  }
8485
- // scopeId
8486
- setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
8487
8530
  if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {
8488
8531
  Object.defineProperty(el, '__vnode', {
8489
8532
  value: vnode,
@@ -9214,7 +9257,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9214
9257
  : normalizeVNode(c2[i]));
9215
9258
  if (nextChild.key != null) {
9216
9259
  if ((process.env.NODE_ENV !== 'production') && keyToNewIndexMap.has(nextChild.key)) {
9217
- warn$1(`Duplicate keys found during update:`, JSON.stringify(nextChild.key), `Make sure keys are unique.`);
9260
+ warn(`Duplicate keys found during update:`, JSON.stringify(nextChild.key), `Make sure keys are unique.`);
9218
9261
  }
9219
9262
  keyToNewIndexMap.set(nextChild.key, i);
9220
9263
  }
@@ -9604,6 +9647,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
9604
9647
  if (!shallow)
9605
9648
  traverseStaticChildren(c1, c2);
9606
9649
  }
9650
+ // #6852 also inherit for text nodes
9651
+ if (c2.type === Text) {
9652
+ c2.el = c1.el;
9653
+ }
9607
9654
  // also inherit for comment nodes, but not placeholders (e.g. v-if which
9608
9655
  // would have received .el during block patch)
9609
9656
  if ((process.env.NODE_ENV !== 'production') && c2.type === Comment && !c2.el) {
@@ -9663,7 +9710,7 @@ const resolveTarget = (props, select) => {
9663
9710
  if (isString(targetSelector)) {
9664
9711
  if (!select) {
9665
9712
  (process.env.NODE_ENV !== 'production') &&
9666
- warn$1(`Current renderer does not support string target for Teleports. ` +
9713
+ warn(`Current renderer does not support string target for Teleports. ` +
9667
9714
  `(missing querySelector renderer option)`);
9668
9715
  return null;
9669
9716
  }
@@ -9671,7 +9718,7 @@ const resolveTarget = (props, select) => {
9671
9718
  const target = select(targetSelector);
9672
9719
  if (!target) {
9673
9720
  (process.env.NODE_ENV !== 'production') &&
9674
- warn$1(`Failed to locate Teleport target with selector "${targetSelector}". ` +
9721
+ warn(`Failed to locate Teleport target with selector "${targetSelector}". ` +
9675
9722
  `Note the target element must exist before the component is mounted - ` +
9676
9723
  `i.e. the target cannot be rendered by the component itself, and ` +
9677
9724
  `ideally should be outside of the entire Vue component tree.`);
@@ -9681,7 +9728,7 @@ const resolveTarget = (props, select) => {
9681
9728
  }
9682
9729
  else {
9683
9730
  if ((process.env.NODE_ENV !== 'production') && !targetSelector && !isTeleportDisabled(props)) {
9684
- warn$1(`Invalid Teleport target: ${targetSelector}`);
9731
+ warn(`Invalid Teleport target: ${targetSelector}`);
9685
9732
  }
9686
9733
  return targetSelector;
9687
9734
  }
@@ -9716,7 +9763,7 @@ const TeleportImpl = {
9716
9763
  isSVG = isSVG || isTargetSVG(target);
9717
9764
  }
9718
9765
  else if ((process.env.NODE_ENV !== 'production') && !disabled) {
9719
- warn$1('Invalid Teleport target on mount:', target, `(${typeof target})`);
9766
+ warn('Invalid Teleport target on mount:', target, `(${typeof target})`);
9720
9767
  }
9721
9768
  const mount = (container, anchor) => {
9722
9769
  // Teleport *always* has Array children. This is enforced in both the
@@ -9768,7 +9815,7 @@ const TeleportImpl = {
9768
9815
  moveTeleport(n2, nextTarget, null, internals, 0 /* TeleportMoveTypes.TARGET_CHANGE */);
9769
9816
  }
9770
9817
  else if ((process.env.NODE_ENV !== 'production')) {
9771
- warn$1('Invalid Teleport target on update:', target, `(${typeof target})`);
9818
+ warn('Invalid Teleport target on update:', target, `(${typeof target})`);
9772
9819
  }
9773
9820
  }
9774
9821
  else if (wasDisabled) {
@@ -9778,6 +9825,7 @@ const TeleportImpl = {
9778
9825
  }
9779
9826
  }
9780
9827
  }
9828
+ updateCssVars(n2);
9781
9829
  },
9782
9830
  remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
9783
9831
  const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
@@ -9856,11 +9904,26 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
9856
9904
  hydrateChildren(targetNode, vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
9857
9905
  }
9858
9906
  }
9907
+ updateCssVars(vnode);
9859
9908
  }
9860
9909
  return vnode.anchor && nextSibling(vnode.anchor);
9861
9910
  }
9862
9911
  // Force-casted public typing for h and TSX props inference
9863
9912
  const Teleport = TeleportImpl;
9913
+ function updateCssVars(vnode) {
9914
+ // presence of .ut method indicates owner component uses css vars.
9915
+ // code path here can assume browser environment.
9916
+ const ctx = vnode.ctx;
9917
+ if (ctx && ctx.ut) {
9918
+ let node = vnode.children[0].el;
9919
+ while (node !== vnode.targetAnchor) {
9920
+ if (node.nodeType === 1)
9921
+ node.setAttribute('data-v-owner', ctx.uid);
9922
+ node = node.nextSibling;
9923
+ }
9924
+ ctx.ut();
9925
+ }
9926
+ }
9864
9927
 
9865
9928
  const normalizedAsyncComponentMap = new Map();
9866
9929
  function convertLegacyAsyncComponent(comp) {
@@ -10016,6 +10079,10 @@ function isSameVNodeType(n1, n2) {
10016
10079
  if ((process.env.NODE_ENV !== 'production') &&
10017
10080
  n2.shapeFlag & 6 /* ShapeFlags.COMPONENT */ &&
10018
10081
  hmrDirtyComponents.has(n2.type)) {
10082
+ // #7042, ensure the vnode being unmounted during HMR
10083
+ // bitwise operations to remove keep alive flags
10084
+ n1.shapeFlag &= ~256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */;
10085
+ n2.shapeFlag &= ~512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */;
10019
10086
  // HMR only: if the component has been hot-updated, force a reload.
10020
10087
  return false;
10021
10088
  }
@@ -10071,7 +10138,8 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
10071
10138
  patchFlag,
10072
10139
  dynamicProps,
10073
10140
  dynamicChildren: null,
10074
- appContext: null
10141
+ appContext: null,
10142
+ ctx: currentRenderingInstance
10075
10143
  };
10076
10144
  if (needFullChildrenNormalization) {
10077
10145
  normalizeChildren(vnode, children);
@@ -10089,7 +10157,7 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
10089
10157
  }
10090
10158
  // validate key
10091
10159
  if ((process.env.NODE_ENV !== 'production') && vnode.key !== vnode.key) {
10092
- warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10160
+ warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10093
10161
  }
10094
10162
  // track vnode for block tree
10095
10163
  if (isBlockTreeEnabled > 0 &&
@@ -10117,7 +10185,7 @@ const createVNode = ((process.env.NODE_ENV !== 'production') ? createVNodeWithAr
10117
10185
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
10118
10186
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
10119
10187
  if ((process.env.NODE_ENV !== 'production') && !type) {
10120
- warn$1(`Invalid vnode type when creating vnode: ${type}.`);
10188
+ warn(`Invalid vnode type when creating vnode: ${type}.`);
10121
10189
  }
10122
10190
  type = Comment;
10123
10191
  }
@@ -10179,7 +10247,7 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
10179
10247
  : 0;
10180
10248
  if ((process.env.NODE_ENV !== 'production') && shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */ && isProxy(type)) {
10181
10249
  type = toRaw(type);
10182
- warn$1(`Vue received a Component which was made a reactive object. This can ` +
10250
+ warn(`Vue received a Component which was made a reactive object. This can ` +
10183
10251
  `lead to unnecessary performance overhead, and should be avoided by ` +
10184
10252
  `marking the component with \`markRaw\` or using \`shallowRef\` ` +
10185
10253
  `instead of \`ref\`.`, `\nComponent that was made reactive: `, type);
@@ -10246,7 +10314,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10246
10314
  ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
10247
10315
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
10248
10316
  el: vnode.el,
10249
- anchor: vnode.anchor
10317
+ anchor: vnode.anchor,
10318
+ ctx: vnode.ctx,
10319
+ ce: vnode.ce
10250
10320
  };
10251
10321
  {
10252
10322
  defineLegacyVNodeProperties(cloned);
@@ -10416,13 +10486,13 @@ function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
10416
10486
  }
10417
10487
 
10418
10488
  const emptyAppContext = createAppContext();
10419
- let uid$1 = 0;
10489
+ let uid = 0;
10420
10490
  function createComponentInstance(vnode, parent, suspense) {
10421
10491
  const type = vnode.type;
10422
10492
  // inherit parent app context - or - if root, adopt from root vnode
10423
10493
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
10424
10494
  const instance = {
10425
- uid: uid$1++,
10495
+ uid: uid++,
10426
10496
  vnode,
10427
10497
  type,
10428
10498
  parent,
@@ -10495,7 +10565,7 @@ function createComponentInstance(vnode, parent, suspense) {
10495
10565
  instance.ctx = { _: instance };
10496
10566
  }
10497
10567
  instance.root = parent ? parent.root : instance;
10498
- instance.emit = emit$2.bind(null, instance);
10568
+ instance.emit = emit.bind(null, instance);
10499
10569
  // apply custom element special handling
10500
10570
  if (vnode.ce) {
10501
10571
  vnode.ce(instance);
@@ -10516,7 +10586,7 @@ const isBuiltInTag = /*#__PURE__*/ makeMap('slot,component');
10516
10586
  function validateComponentName(name, config) {
10517
10587
  const appIsNativeTag = config.isNativeTag || NO;
10518
10588
  if (isBuiltInTag(name) || appIsNativeTag(name)) {
10519
- warn$1('Do not use built-in or reserved HTML elements as component id: ' + name);
10589
+ warn('Do not use built-in or reserved HTML elements as component id: ' + name);
10520
10590
  }
10521
10591
  }
10522
10592
  function isStatefulComponent(instance) {
@@ -10555,7 +10625,7 @@ function setupStatefulComponent(instance, isSSR) {
10555
10625
  }
10556
10626
  }
10557
10627
  if (Component.compilerOptions && isRuntimeOnly()) {
10558
- warn$1(`"compilerOptions" is only supported when using a build of Vue that ` +
10628
+ warn(`"compilerOptions" is only supported when using a build of Vue that ` +
10559
10629
  `includes the runtime compiler. Since you are using a runtime-only ` +
10560
10630
  `build, the options should be passed via your build tool config instead.`);
10561
10631
  }
@@ -10596,7 +10666,7 @@ function setupStatefulComponent(instance, isSSR) {
10596
10666
  instance.asyncDep = setupResult;
10597
10667
  if ((process.env.NODE_ENV !== 'production') && !instance.suspense) {
10598
10668
  const name = (_a = Component.name) !== null && _a !== void 0 ? _a : 'Anonymous';
10599
- warn$1(`Component <${name}>: setup function returned a promise, but no ` +
10669
+ warn(`Component <${name}>: setup function returned a promise, but no ` +
10600
10670
  `<Suspense> boundary was found in the parent component tree. ` +
10601
10671
  `A component with async setup() must be nested in a <Suspense> ` +
10602
10672
  `in order to be rendered.`);
@@ -10625,7 +10695,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
10625
10695
  }
10626
10696
  else if (isObject(setupResult)) {
10627
10697
  if ((process.env.NODE_ENV !== 'production') && isVNode(setupResult)) {
10628
- warn$1(`setup() should not return VNodes directly - ` +
10698
+ warn(`setup() should not return VNodes directly - ` +
10629
10699
  `return a render function instead.`);
10630
10700
  }
10631
10701
  // setup returned bindings.
@@ -10639,7 +10709,7 @@ function handleSetupResult(instance, setupResult, isSSR) {
10639
10709
  }
10640
10710
  }
10641
10711
  else if ((process.env.NODE_ENV !== 'production') && setupResult !== undefined) {
10642
- warn$1(`setup() should return an object. Received: ${setupResult === null ? 'null' : typeof setupResult}`);
10712
+ warn(`setup() should return an object. Received: ${setupResult === null ? 'null' : typeof setupResult}`);
10643
10713
  }
10644
10714
  finishComponentSetup(instance, isSSR);
10645
10715
  }
@@ -10722,13 +10792,13 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10722
10792
  if ((process.env.NODE_ENV !== 'production') && !Component.render && instance.render === NOOP && !isSSR) {
10723
10793
  /* istanbul ignore if */
10724
10794
  if (!compile && Component.template) {
10725
- warn$1(`Component provided template option but ` +
10795
+ warn(`Component provided template option but ` +
10726
10796
  `runtime compilation is not supported in this build of Vue.` +
10727
10797
  (` Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".`
10728
10798
  ) /* should not happen */);
10729
10799
  }
10730
10800
  else {
10731
- warn$1(`Component is missing template or render function.`);
10801
+ warn(`Component is missing template or render function.`);
10732
10802
  }
10733
10803
  }
10734
10804
  }
@@ -10741,11 +10811,11 @@ function createAttrsProxy(instance) {
10741
10811
  return target[key];
10742
10812
  },
10743
10813
  set() {
10744
- warn$1(`setupContext.attrs is readonly.`);
10814
+ warn(`setupContext.attrs is readonly.`);
10745
10815
  return false;
10746
10816
  },
10747
10817
  deleteProperty() {
10748
- warn$1(`setupContext.attrs is readonly.`);
10818
+ warn(`setupContext.attrs is readonly.`);
10749
10819
  return false;
10750
10820
  }
10751
10821
  }
@@ -10758,8 +10828,24 @@ function createAttrsProxy(instance) {
10758
10828
  }
10759
10829
  function createSetupContext(instance) {
10760
10830
  const expose = exposed => {
10761
- if ((process.env.NODE_ENV !== 'production') && instance.exposed) {
10762
- warn$1(`expose() should be called only once per setup().`);
10831
+ if ((process.env.NODE_ENV !== 'production')) {
10832
+ if (instance.exposed) {
10833
+ warn(`expose() should be called only once per setup().`);
10834
+ }
10835
+ if (exposed != null) {
10836
+ let exposedType = typeof exposed;
10837
+ if (exposedType === 'object') {
10838
+ if (isArray(exposed)) {
10839
+ exposedType = 'array';
10840
+ }
10841
+ else if (isRef(exposed)) {
10842
+ exposedType = 'ref';
10843
+ }
10844
+ }
10845
+ if (exposedType !== 'object') {
10846
+ warn(`expose() should be passed a plain object, received ${exposedType}.`);
10847
+ }
10848
+ }
10763
10849
  }
10764
10850
  instance.exposed = exposed || {};
10765
10851
  };
@@ -10844,13 +10930,13 @@ function isClassComponent(value) {
10844
10930
  return isFunction(value) && '__vccOpts' in value;
10845
10931
  }
10846
10932
 
10847
- const computed$1 = ((getterOrOptions, debugOptions) => {
10933
+ const computed = ((getterOrOptions, debugOptions) => {
10848
10934
  // @ts-ignore
10849
- return computed(getterOrOptions, debugOptions, isInSSRComponentSetup);
10935
+ return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
10850
10936
  });
10851
10937
 
10852
10938
  // dev only
10853
- const warnRuntimeUsage = (method) => warn$1(`${method}() is a compiler-hint helper that is only usable inside ` +
10939
+ const warnRuntimeUsage = (method) => warn(`${method}() is a compiler-hint helper that is only usable inside ` +
10854
10940
  `<script setup> of a single file component. Its arguments should be ` +
10855
10941
  `compiled away and passing it at runtime has no effect.`);
10856
10942
  // implementation
@@ -10917,7 +11003,7 @@ function useAttrs() {
10917
11003
  function getContext() {
10918
11004
  const i = getCurrentInstance();
10919
11005
  if ((process.env.NODE_ENV !== 'production') && !i) {
10920
- warn$1(`useContext() called without active instance.`);
11006
+ warn(`useContext() called without active instance.`);
10921
11007
  }
10922
11008
  return i.setupContext || (i.setupContext = createSetupContext(i));
10923
11009
  }
@@ -10944,7 +11030,7 @@ function mergeDefaults(raw, defaults) {
10944
11030
  props[key] = { default: defaults[key] };
10945
11031
  }
10946
11032
  else if ((process.env.NODE_ENV !== 'production')) {
10947
- warn$1(`props default key "${key}" has no corresponding declaration.`);
11033
+ warn(`props default key "${key}" has no corresponding declaration.`);
10948
11034
  }
10949
11035
  }
10950
11036
  return props;
@@ -10987,7 +11073,7 @@ function createPropsRestProxy(props, excludedKeys) {
10987
11073
  function withAsyncContext(getAwaitable) {
10988
11074
  const ctx = getCurrentInstance();
10989
11075
  if ((process.env.NODE_ENV !== 'production') && !ctx) {
10990
- warn$1(`withAsyncContext called without active current instance. ` +
11076
+ warn(`withAsyncContext called without active current instance. ` +
10991
11077
  `This is likely a bug.`);
10992
11078
  }
10993
11079
  let awaitable = getAwaitable();
@@ -11035,7 +11121,7 @@ const useSSRContext = () => {
11035
11121
  const ctx = inject(ssrContextKey);
11036
11122
  if (!ctx) {
11037
11123
  (process.env.NODE_ENV !== 'production') &&
11038
- warn$1(`Server rendering context not provided. Make sure to only call ` +
11124
+ warn(`Server rendering context not provided. Make sure to only call ` +
11039
11125
  `useSSRContext() conditionally in the server build.`);
11040
11126
  }
11041
11127
  return ctx;
@@ -11259,7 +11345,7 @@ function isMemoSame(cached, memo) {
11259
11345
  }
11260
11346
 
11261
11347
  // Core API ------------------------------------------------------------------
11262
- const version = "3.2.44";
11348
+ const version = "3.2.46";
11263
11349
  const _ssrUtils = {
11264
11350
  createComponentInstance,
11265
11351
  setupComponent,
@@ -11276,10 +11362,10 @@ const ssrUtils = (_ssrUtils );
11276
11362
  /**
11277
11363
  * @internal only exposed in compat builds
11278
11364
  */
11279
- const resolveFilter$1 = resolveFilter ;
11365
+ const resolveFilter = resolveFilter$1 ;
11280
11366
  const _compatUtils = {
11281
11367
  warnDeprecation,
11282
- createCompatVue,
11368
+ createCompatVue: createCompatVue$1,
11283
11369
  isCompatEnabled,
11284
11370
  checkCompatEnabled,
11285
11371
  softAssertCompatEnabled
@@ -11391,9 +11477,6 @@ function patchStyle(el, prev, next) {
11391
11477
  const style = el.style;
11392
11478
  const isCssString = isString(next);
11393
11479
  if (next && !isCssString) {
11394
- for (const key in next) {
11395
- setStyle(style, key, next[key]);
11396
- }
11397
11480
  if (prev && !isString(prev)) {
11398
11481
  for (const key in prev) {
11399
11482
  if (next[key] == null) {
@@ -11401,6 +11484,9 @@ function patchStyle(el, prev, next) {
11401
11484
  }
11402
11485
  }
11403
11486
  }
11487
+ for (const key in next) {
11488
+ setStyle(style, key, next[key]);
11489
+ }
11404
11490
  }
11405
11491
  else {
11406
11492
  const currentDisplay = style.display;
@@ -11431,7 +11517,7 @@ function setStyle(style, name, val) {
11431
11517
  val = '';
11432
11518
  if ((process.env.NODE_ENV !== 'production')) {
11433
11519
  if (semicolonRE.test(val)) {
11434
- warn$1(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
11520
+ warn(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
11435
11521
  }
11436
11522
  }
11437
11523
  if (name.startsWith('--')) {
@@ -11594,7 +11680,7 @@ prevChildren, parentComponent, parentSuspense, unmountChildren) {
11594
11680
  catch (e) {
11595
11681
  // do not warn if value is auto-coerced from nullish values
11596
11682
  if ((process.env.NODE_ENV !== 'production') && !needRemove) {
11597
- warn$1(`Failed setting prop "${key}" on <${el.tagName.toLowerCase()}>: ` +
11683
+ warn(`Failed setting prop "${key}" on <${el.tagName.toLowerCase()}>: ` +
11598
11684
  `value ${value} is invalid.`, e);
11599
11685
  }
11600
11686
  }
@@ -11798,16 +11884,25 @@ class VueElement extends BaseClass {
11798
11884
  }
11799
11885
  else {
11800
11886
  if ((process.env.NODE_ENV !== 'production') && this.shadowRoot) {
11801
- warn$1(`Custom element has pre-rendered declarative shadow root but is not ` +
11887
+ warn(`Custom element has pre-rendered declarative shadow root but is not ` +
11802
11888
  `defined as hydratable. Use \`defineSSRCustomElement\`.`);
11803
11889
  }
11804
11890
  this.attachShadow({ mode: 'open' });
11891
+ if (!this._def.__asyncLoader) {
11892
+ // for sync component defs we can immediately resolve props
11893
+ this._resolveProps(this._def);
11894
+ }
11805
11895
  }
11806
11896
  }
11807
11897
  connectedCallback() {
11808
11898
  this._connected = true;
11809
11899
  if (!this._instance) {
11810
- this._resolveDef();
11900
+ if (this._resolved) {
11901
+ this._update();
11902
+ }
11903
+ else {
11904
+ this._resolveDef();
11905
+ }
11811
11906
  }
11812
11907
  }
11813
11908
  disconnectedCallback() {
@@ -11823,9 +11918,6 @@ class VueElement extends BaseClass {
11823
11918
  * resolve inner component definition (handle possible async component)
11824
11919
  */
11825
11920
  _resolveDef() {
11826
- if (this._resolved) {
11827
- return;
11828
- }
11829
11921
  this._resolved = true;
11830
11922
  // set initial attrs
11831
11923
  for (let i = 0; i < this.attributes.length; i++) {
@@ -11837,38 +11929,26 @@ class VueElement extends BaseClass {
11837
11929
  this._setAttr(m.attributeName);
11838
11930
  }
11839
11931
  }).observe(this, { attributes: true });
11840
- const resolve = (def) => {
11841
- const { props = {}, styles } = def;
11842
- const hasOptions = !isArray(props);
11843
- const rawKeys = props ? (hasOptions ? Object.keys(props) : props) : [];
11932
+ const resolve = (def, isAsync = false) => {
11933
+ const { props, styles } = def;
11844
11934
  // cast Number-type props set before resolve
11845
11935
  let numberProps;
11846
- if (hasOptions) {
11847
- for (const key in this._props) {
11936
+ if (props && !isArray(props)) {
11937
+ for (const key in props) {
11848
11938
  const opt = props[key];
11849
11939
  if (opt === Number || (opt && opt.type === Number)) {
11850
- this._props[key] = toNumber(this._props[key]);
11851
- (numberProps || (numberProps = Object.create(null)))[key] = true;
11940
+ if (key in this._props) {
11941
+ this._props[key] = toNumber(this._props[key]);
11942
+ }
11943
+ (numberProps || (numberProps = Object.create(null)))[camelize(key)] = true;
11852
11944
  }
11853
11945
  }
11854
11946
  }
11855
11947
  this._numberProps = numberProps;
11856
- // check if there are props set pre-upgrade or connect
11857
- for (const key of Object.keys(this)) {
11858
- if (key[0] !== '_') {
11859
- this._setProp(key, this[key], true, false);
11860
- }
11861
- }
11862
- // defining getter/setters on prototype
11863
- for (const key of rawKeys.map(camelize)) {
11864
- Object.defineProperty(this, key, {
11865
- get() {
11866
- return this._getProp(key);
11867
- },
11868
- set(val) {
11869
- this._setProp(key, val);
11870
- }
11871
- });
11948
+ if (isAsync) {
11949
+ // defining getter/setters on prototype
11950
+ // for sync defs, this already happened in the constructor
11951
+ this._resolveProps(def);
11872
11952
  }
11873
11953
  // apply CSS
11874
11954
  this._applyStyles(styles);
@@ -11877,12 +11957,33 @@ class VueElement extends BaseClass {
11877
11957
  };
11878
11958
  const asyncDef = this._def.__asyncLoader;
11879
11959
  if (asyncDef) {
11880
- asyncDef().then(resolve);
11960
+ asyncDef().then(def => resolve(def, true));
11881
11961
  }
11882
11962
  else {
11883
11963
  resolve(this._def);
11884
11964
  }
11885
11965
  }
11966
+ _resolveProps(def) {
11967
+ const { props } = def;
11968
+ const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});
11969
+ // check if there are props set pre-upgrade or connect
11970
+ for (const key of Object.keys(this)) {
11971
+ if (key[0] !== '_' && declaredPropKeys.includes(key)) {
11972
+ this._setProp(key, this[key], true, false);
11973
+ }
11974
+ }
11975
+ // defining getter/setters on prototype
11976
+ for (const key of declaredPropKeys.map(camelize)) {
11977
+ Object.defineProperty(this, key, {
11978
+ get() {
11979
+ return this._getProp(key);
11980
+ },
11981
+ set(val) {
11982
+ this._setProp(key, val);
11983
+ }
11984
+ });
11985
+ }
11986
+ }
11886
11987
  _setAttr(key) {
11887
11988
  let value = this.getAttribute(key);
11888
11989
  const camelKey = camelize(key);
@@ -11938,27 +12039,31 @@ class VueElement extends BaseClass {
11938
12039
  this._styles.length = 0;
11939
12040
  }
11940
12041
  this._applyStyles(newStyles);
11941
- // if this is an async component, ceReload is called from the inner
11942
- // component so no need to reload the async wrapper
11943
- if (!this._def.__asyncLoader) {
11944
- // reload
11945
- this._instance = null;
11946
- this._update();
11947
- }
12042
+ this._instance = null;
12043
+ this._update();
11948
12044
  };
11949
12045
  }
11950
- // intercept emit
11951
- instance.emit = (event, ...args) => {
12046
+ const dispatch = (event, args) => {
11952
12047
  this.dispatchEvent(new CustomEvent(event, {
11953
12048
  detail: args
11954
12049
  }));
11955
12050
  };
12051
+ // intercept emit
12052
+ instance.emit = (event, ...args) => {
12053
+ // dispatch both the raw and hyphenated versions of an event
12054
+ // to match Vue behavior
12055
+ dispatch(event, args);
12056
+ if (hyphenate(event) !== event) {
12057
+ dispatch(hyphenate(event), args);
12058
+ }
12059
+ };
11956
12060
  // locate nearest Vue custom element parent for provide/inject
11957
12061
  let parent = this;
11958
12062
  while ((parent =
11959
12063
  parent && (parent.parentNode || parent.host))) {
11960
12064
  if (parent instanceof VueElement) {
11961
12065
  instance.parent = parent._instance;
12066
+ instance.provides = parent._instance.provides;
11962
12067
  break;
11963
12068
  }
11964
12069
  }
@@ -11986,18 +12091,18 @@ function useCssModule(name = '$style') {
11986
12091
  {
11987
12092
  const instance = getCurrentInstance();
11988
12093
  if (!instance) {
11989
- (process.env.NODE_ENV !== 'production') && warn$1(`useCssModule must be called inside setup()`);
12094
+ (process.env.NODE_ENV !== 'production') && warn(`useCssModule must be called inside setup()`);
11990
12095
  return EMPTY_OBJ;
11991
12096
  }
11992
12097
  const modules = instance.type.__cssModules;
11993
12098
  if (!modules) {
11994
- (process.env.NODE_ENV !== 'production') && warn$1(`Current instance does not have CSS modules injected.`);
12099
+ (process.env.NODE_ENV !== 'production') && warn(`Current instance does not have CSS modules injected.`);
11995
12100
  return EMPTY_OBJ;
11996
12101
  }
11997
12102
  const mod = modules[name];
11998
12103
  if (!mod) {
11999
12104
  (process.env.NODE_ENV !== 'production') &&
12000
- warn$1(`Current instance does not have CSS module named "${name}".`);
12105
+ warn(`Current instance does not have CSS module named "${name}".`);
12001
12106
  return EMPTY_OBJ;
12002
12107
  }
12003
12108
  return mod;
@@ -12013,10 +12118,17 @@ function useCssVars(getter) {
12013
12118
  /* istanbul ignore next */
12014
12119
  if (!instance) {
12015
12120
  (process.env.NODE_ENV !== 'production') &&
12016
- warn$1(`useCssVars is called without current active component instance.`);
12121
+ warn(`useCssVars is called without current active component instance.`);
12017
12122
  return;
12018
12123
  }
12019
- const setVars = () => setVarsOnVNode(instance.subTree, getter(instance.proxy));
12124
+ const updateTeleports = (instance.ut = (vars = getter(instance.proxy)) => {
12125
+ Array.from(document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)).forEach(node => setVarsOnNode(node, vars));
12126
+ });
12127
+ const setVars = () => {
12128
+ const vars = getter(instance.proxy);
12129
+ setVarsOnVNode(instance.subTree, vars);
12130
+ updateTeleports(vars);
12131
+ };
12020
12132
  watchPostEffect(setVars);
12021
12133
  onMounted(() => {
12022
12134
  const ob = new MutationObserver(setVars);
@@ -12096,7 +12208,7 @@ const TransitionPropsValidators = (Transition.props =
12096
12208
  * #3227 Incoming hooks may be merged into arrays when wrapping Transition
12097
12209
  * with custom HOCs.
12098
12210
  */
12099
- const callHook$1 = (hook, args = []) => {
12211
+ const callHook = (hook, args = []) => {
12100
12212
  if (isArray(hook)) {
12101
12213
  hook.forEach(h => h(...args));
12102
12214
  }
@@ -12163,11 +12275,16 @@ function resolveTransitionProps(rawProps) {
12163
12275
  return (el, done) => {
12164
12276
  const hook = isAppear ? onAppear : onEnter;
12165
12277
  const resolve = () => finishEnter(el, isAppear, done);
12166
- callHook$1(hook, [el, resolve]);
12278
+ callHook(hook, [el, resolve]);
12167
12279
  nextFrame(() => {
12168
12280
  removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
12169
12281
  if (legacyClassEnabled) {
12170
- removeTransitionClass(el, isAppear ? legacyAppearFromClass : legacyEnterFromClass);
12282
+ const legacyClass = isAppear
12283
+ ? legacyAppearFromClass
12284
+ : legacyEnterFromClass;
12285
+ if (legacyClass) {
12286
+ removeTransitionClass(el, legacyClass);
12287
+ }
12171
12288
  }
12172
12289
  addTransitionClass(el, isAppear ? appearToClass : enterToClass);
12173
12290
  if (!hasExplicitCallback(hook)) {
@@ -12178,17 +12295,17 @@ function resolveTransitionProps(rawProps) {
12178
12295
  };
12179
12296
  return extend(baseProps, {
12180
12297
  onBeforeEnter(el) {
12181
- callHook$1(onBeforeEnter, [el]);
12298
+ callHook(onBeforeEnter, [el]);
12182
12299
  addTransitionClass(el, enterFromClass);
12183
- if (legacyClassEnabled) {
12300
+ if (legacyClassEnabled && legacyEnterFromClass) {
12184
12301
  addTransitionClass(el, legacyEnterFromClass);
12185
12302
  }
12186
12303
  addTransitionClass(el, enterActiveClass);
12187
12304
  },
12188
12305
  onBeforeAppear(el) {
12189
- callHook$1(onBeforeAppear, [el]);
12306
+ callHook(onBeforeAppear, [el]);
12190
12307
  addTransitionClass(el, appearFromClass);
12191
- if (legacyClassEnabled) {
12308
+ if (legacyClassEnabled && legacyAppearFromClass) {
12192
12309
  addTransitionClass(el, legacyAppearFromClass);
12193
12310
  }
12194
12311
  addTransitionClass(el, appearActiveClass);
@@ -12199,7 +12316,7 @@ function resolveTransitionProps(rawProps) {
12199
12316
  el._isLeaving = true;
12200
12317
  const resolve = () => finishLeave(el, done);
12201
12318
  addTransitionClass(el, leaveFromClass);
12202
- if (legacyClassEnabled) {
12319
+ if (legacyClassEnabled && legacyLeaveFromClass) {
12203
12320
  addTransitionClass(el, legacyLeaveFromClass);
12204
12321
  }
12205
12322
  // force reflow so *-leave-from classes immediately take effect (#2593)
@@ -12211,7 +12328,7 @@ function resolveTransitionProps(rawProps) {
12211
12328
  return;
12212
12329
  }
12213
12330
  removeTransitionClass(el, leaveFromClass);
12214
- if (legacyClassEnabled) {
12331
+ if (legacyClassEnabled && legacyLeaveFromClass) {
12215
12332
  removeTransitionClass(el, legacyLeaveFromClass);
12216
12333
  }
12217
12334
  addTransitionClass(el, leaveToClass);
@@ -12219,19 +12336,19 @@ function resolveTransitionProps(rawProps) {
12219
12336
  whenTransitionEnds(el, type, leaveDuration, resolve);
12220
12337
  }
12221
12338
  });
12222
- callHook$1(onLeave, [el, resolve]);
12339
+ callHook(onLeave, [el, resolve]);
12223
12340
  },
12224
12341
  onEnterCancelled(el) {
12225
12342
  finishEnter(el, false);
12226
- callHook$1(onEnterCancelled, [el]);
12343
+ callHook(onEnterCancelled, [el]);
12227
12344
  },
12228
12345
  onAppearCancelled(el) {
12229
12346
  finishEnter(el, true);
12230
- callHook$1(onAppearCancelled, [el]);
12347
+ callHook(onAppearCancelled, [el]);
12231
12348
  },
12232
12349
  onLeaveCancelled(el) {
12233
12350
  finishLeave(el);
12234
- callHook$1(onLeaveCancelled, [el]);
12351
+ callHook(onLeaveCancelled, [el]);
12235
12352
  }
12236
12353
  });
12237
12354
  }
@@ -12249,19 +12366,10 @@ function normalizeDuration(duration) {
12249
12366
  }
12250
12367
  function NumberOf(val) {
12251
12368
  const res = toNumber(val);
12252
- if ((process.env.NODE_ENV !== 'production'))
12253
- validateDuration(res);
12254
- return res;
12255
- }
12256
- function validateDuration(val) {
12257
- if (typeof val !== 'number') {
12258
- warn$1(`<transition> explicit duration is not a valid number - ` +
12259
- `got ${JSON.stringify(val)}.`);
12260
- }
12261
- else if (isNaN(val)) {
12262
- warn$1(`<transition> explicit duration is NaN - ` +
12263
- 'the duration expression might be incorrect.');
12369
+ if ((process.env.NODE_ENV !== 'production')) {
12370
+ assertNumber(res, '<transition> explicit duration');
12264
12371
  }
12372
+ return res;
12265
12373
  }
12266
12374
  function addTransitionClass(el, cls) {
12267
12375
  cls.split(/\s+/).forEach(c => c && el.classList.add(c));
@@ -12448,7 +12556,7 @@ const TransitionGroupImpl = {
12448
12556
  setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
12449
12557
  }
12450
12558
  else if ((process.env.NODE_ENV !== 'production')) {
12451
- warn$1(`<TransitionGroup> children must be keyed.`);
12559
+ warn(`<TransitionGroup> children must be keyed.`);
12452
12560
  }
12453
12561
  }
12454
12562
  if (prevChildren) {
@@ -12465,6 +12573,14 @@ const TransitionGroupImpl = {
12465
12573
  {
12466
12574
  TransitionGroupImpl.__isBuiltIn = true;
12467
12575
  }
12576
+ /**
12577
+ * TransitionGroup does not support "mode" so we need to remove it from the
12578
+ * props declarations, but direct delete operation is considered a side effect
12579
+ * and will make the entire transition feature non-tree-shakeable, so we do it
12580
+ * in a function and mark the function's invocation as pure.
12581
+ */
12582
+ const removeMode = (props) => delete props.mode;
12583
+ /*#__PURE__*/ removeMode(TransitionGroupImpl.props);
12468
12584
  const TransitionGroup = TransitionGroupImpl;
12469
12585
  function callPendingCbs(c) {
12470
12586
  const el = c.el;
@@ -12540,7 +12656,7 @@ const vModelText = {
12540
12656
  domValue = domValue.trim();
12541
12657
  }
12542
12658
  if (castToNumber) {
12543
- domValue = toNumber(domValue);
12659
+ domValue = looseToNumber(domValue);
12544
12660
  }
12545
12661
  el._assign(domValue);
12546
12662
  });
@@ -12575,7 +12691,8 @@ const vModelText = {
12575
12691
  if (trim && el.value.trim() === value) {
12576
12692
  return;
12577
12693
  }
12578
- if ((number || el.type === 'number') && toNumber(el.value) === value) {
12694
+ if ((number || el.type === 'number') &&
12695
+ looseToNumber(el.value) === value) {
12579
12696
  return;
12580
12697
  }
12581
12698
  }
@@ -12664,7 +12781,7 @@ const vModelSelect = {
12664
12781
  addEventListener(el, 'change', () => {
12665
12782
  const selectedVal = Array.prototype.filter
12666
12783
  .call(el.options, (o) => o.selected)
12667
- .map((o) => number ? toNumber(getValue(o)) : getValue(o));
12784
+ .map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
12668
12785
  el._assign(el.multiple
12669
12786
  ? isSetModel
12670
12787
  ? new Set(selectedVal)
@@ -12689,7 +12806,7 @@ function setSelected(el, value) {
12689
12806
  const isMultiple = el.multiple;
12690
12807
  if (isMultiple && !isArray(value) && !isSet(value)) {
12691
12808
  (process.env.NODE_ENV !== 'production') &&
12692
- warn$1(`<select multiple v-model> expects an Array or Set value for its binding, ` +
12809
+ warn(`<select multiple v-model> expects an Array or Set value for its binding, ` +
12693
12810
  `but got ${Object.prototype.toString.call(value).slice(8, -1)}.`);
12694
12811
  return;
12695
12812
  }
@@ -13030,7 +13147,7 @@ function injectCompilerOptionsCheck(app) {
13030
13147
  return isCustomElement;
13031
13148
  },
13032
13149
  set() {
13033
- warn$1(`The \`isCustomElement\` config option is deprecated. Use ` +
13150
+ warn(`The \`isCustomElement\` config option is deprecated. Use ` +
13034
13151
  `\`compilerOptions.isCustomElement\` instead.`);
13035
13152
  }
13036
13153
  });
@@ -13044,11 +13161,11 @@ function injectCompilerOptionsCheck(app) {
13044
13161
  `- 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`;
13045
13162
  Object.defineProperty(app.config, 'compilerOptions', {
13046
13163
  get() {
13047
- warn$1(msg);
13164
+ warn(msg);
13048
13165
  return compilerOptions;
13049
13166
  },
13050
13167
  set() {
13051
- warn$1(msg);
13168
+ warn(msg);
13052
13169
  }
13053
13170
  });
13054
13171
  }
@@ -13057,7 +13174,7 @@ function normalizeContainer(container) {
13057
13174
  if (isString(container)) {
13058
13175
  const res = document.querySelector(container);
13059
13176
  if ((process.env.NODE_ENV !== 'production') && !res) {
13060
- warn$1(`Failed to mount app: mount target selector "${container}" returned null.`);
13177
+ warn(`Failed to mount app: mount target selector "${container}" returned null.`);
13061
13178
  }
13062
13179
  return res;
13063
13180
  }
@@ -13065,7 +13182,7 @@ function normalizeContainer(container) {
13065
13182
  window.ShadowRoot &&
13066
13183
  container instanceof window.ShadowRoot &&
13067
13184
  container.mode === 'closed') {
13068
- warn$1(`mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`);
13185
+ warn(`mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`);
13069
13186
  }
13070
13187
  return container;
13071
13188
  }
@@ -13084,150 +13201,151 @@ const initDirectivesForSSR = () => {
13084
13201
 
13085
13202
  var runtimeDom = /*#__PURE__*/Object.freeze({
13086
13203
  __proto__: null,
13087
- render: render,
13088
- hydrate: hydrate,
13204
+ BaseTransition: BaseTransition,
13205
+ Comment: Comment,
13206
+ EffectScope: EffectScope,
13207
+ Fragment: Fragment,
13208
+ KeepAlive: KeepAlive,
13209
+ ReactiveEffect: ReactiveEffect,
13210
+ Static: Static,
13211
+ Suspense: Suspense,
13212
+ Teleport: Teleport,
13213
+ Text: Text,
13214
+ Transition: Transition,
13215
+ TransitionGroup: TransitionGroup,
13216
+ VueElement: VueElement,
13217
+ assertNumber: assertNumber,
13218
+ callWithAsyncErrorHandling: callWithAsyncErrorHandling,
13219
+ callWithErrorHandling: callWithErrorHandling,
13220
+ camelize: camelize,
13221
+ capitalize: capitalize,
13222
+ cloneVNode: cloneVNode,
13223
+ compatUtils: compatUtils,
13224
+ computed: computed,
13089
13225
  createApp: createApp,
13226
+ createBlock: createBlock,
13227
+ createCommentVNode: createCommentVNode,
13228
+ createElementBlock: createElementBlock,
13229
+ createElementVNode: createBaseVNode,
13230
+ createHydrationRenderer: createHydrationRenderer,
13231
+ createPropsRestProxy: createPropsRestProxy,
13232
+ createRenderer: createRenderer,
13090
13233
  createSSRApp: createSSRApp,
13091
- initDirectivesForSSR: initDirectivesForSSR,
13234
+ createSlots: createSlots,
13235
+ createStaticVNode: createStaticVNode,
13236
+ createTextVNode: createTextVNode,
13237
+ createVNode: createVNode,
13238
+ customRef: customRef,
13239
+ defineAsyncComponent: defineAsyncComponent,
13240
+ defineComponent: defineComponent,
13092
13241
  defineCustomElement: defineCustomElement,
13242
+ defineEmits: defineEmits,
13243
+ defineExpose: defineExpose,
13244
+ defineProps: defineProps,
13093
13245
  defineSSRCustomElement: defineSSRCustomElement,
13094
- VueElement: VueElement,
13095
- useCssModule: useCssModule,
13096
- useCssVars: useCssVars,
13097
- Transition: Transition,
13098
- TransitionGroup: TransitionGroup,
13099
- vModelText: vModelText,
13100
- vModelCheckbox: vModelCheckbox,
13101
- vModelRadio: vModelRadio,
13102
- vModelSelect: vModelSelect,
13103
- vModelDynamic: vModelDynamic,
13104
- withModifiers: withModifiers,
13105
- withKeys: withKeys,
13106
- vShow: vShow,
13107
- reactive: reactive,
13108
- ref: ref,
13109
- readonly: readonly,
13110
- unref: unref,
13111
- proxyRefs: proxyRefs,
13112
- isRef: isRef,
13113
- toRef: toRef,
13114
- toRefs: toRefs,
13246
+ get devtools () { return devtools; },
13247
+ effect: effect,
13248
+ effectScope: effectScope,
13249
+ getCurrentInstance: getCurrentInstance,
13250
+ getCurrentScope: getCurrentScope,
13251
+ getTransitionRawChildren: getTransitionRawChildren,
13252
+ guardReactiveProps: guardReactiveProps,
13253
+ h: h,
13254
+ handleError: handleError,
13255
+ hydrate: hydrate,
13256
+ initCustomFormatter: initCustomFormatter,
13257
+ initDirectivesForSSR: initDirectivesForSSR,
13258
+ inject: inject,
13259
+ isMemoSame: isMemoSame,
13115
13260
  isProxy: isProxy,
13116
13261
  isReactive: isReactive,
13117
13262
  isReadonly: isReadonly,
13263
+ isRef: isRef,
13264
+ isRuntimeOnly: isRuntimeOnly,
13118
13265
  isShallow: isShallow,
13119
- customRef: customRef,
13120
- triggerRef: triggerRef,
13121
- shallowRef: shallowRef,
13122
- shallowReactive: shallowReactive,
13123
- shallowReadonly: shallowReadonly,
13266
+ isVNode: isVNode,
13124
13267
  markRaw: markRaw,
13125
- toRaw: toRaw,
13126
- effect: effect,
13127
- stop: stop,
13128
- ReactiveEffect: ReactiveEffect,
13129
- effectScope: effectScope,
13130
- EffectScope: EffectScope,
13131
- getCurrentScope: getCurrentScope,
13132
- onScopeDispose: onScopeDispose,
13133
- computed: computed$1,
13134
- watch: watch,
13135
- watchEffect: watchEffect,
13136
- watchPostEffect: watchPostEffect,
13137
- watchSyncEffect: watchSyncEffect,
13268
+ mergeDefaults: mergeDefaults,
13269
+ mergeProps: mergeProps,
13270
+ nextTick: nextTick,
13271
+ normalizeClass: normalizeClass,
13272
+ normalizeProps: normalizeProps,
13273
+ normalizeStyle: normalizeStyle,
13274
+ onActivated: onActivated,
13138
13275
  onBeforeMount: onBeforeMount,
13139
- onMounted: onMounted,
13140
- onBeforeUpdate: onBeforeUpdate,
13141
- onUpdated: onUpdated,
13142
13276
  onBeforeUnmount: onBeforeUnmount,
13143
- onUnmounted: onUnmounted,
13144
- onActivated: onActivated,
13277
+ onBeforeUpdate: onBeforeUpdate,
13145
13278
  onDeactivated: onDeactivated,
13279
+ onErrorCaptured: onErrorCaptured,
13280
+ onMounted: onMounted,
13146
13281
  onRenderTracked: onRenderTracked,
13147
13282
  onRenderTriggered: onRenderTriggered,
13148
- onErrorCaptured: onErrorCaptured,
13283
+ onScopeDispose: onScopeDispose,
13149
13284
  onServerPrefetch: onServerPrefetch,
13285
+ onUnmounted: onUnmounted,
13286
+ onUpdated: onUpdated,
13287
+ openBlock: openBlock,
13288
+ popScopeId: popScopeId,
13150
13289
  provide: provide,
13151
- inject: inject,
13152
- nextTick: nextTick,
13153
- defineComponent: defineComponent,
13154
- defineAsyncComponent: defineAsyncComponent,
13155
- useAttrs: useAttrs,
13156
- useSlots: useSlots,
13157
- defineProps: defineProps,
13158
- defineEmits: defineEmits,
13159
- defineExpose: defineExpose,
13160
- withDefaults: withDefaults,
13161
- mergeDefaults: mergeDefaults,
13162
- createPropsRestProxy: createPropsRestProxy,
13163
- withAsyncContext: withAsyncContext,
13164
- getCurrentInstance: getCurrentInstance,
13165
- h: h,
13166
- createVNode: createVNode,
13167
- cloneVNode: cloneVNode,
13168
- mergeProps: mergeProps,
13169
- isVNode: isVNode,
13170
- Fragment: Fragment,
13171
- Text: Text,
13172
- Comment: Comment,
13173
- Static: Static,
13174
- Teleport: Teleport,
13175
- Suspense: Suspense,
13176
- KeepAlive: KeepAlive,
13177
- BaseTransition: BaseTransition,
13178
- withDirectives: withDirectives,
13179
- useSSRContext: useSSRContext,
13180
- ssrContextKey: ssrContextKey,
13181
- createRenderer: createRenderer,
13182
- createHydrationRenderer: createHydrationRenderer,
13290
+ proxyRefs: proxyRefs,
13291
+ pushScopeId: pushScopeId,
13183
13292
  queuePostFlushCb: queuePostFlushCb,
13184
- warn: warn$1,
13185
- handleError: handleError,
13186
- callWithErrorHandling: callWithErrorHandling,
13187
- callWithAsyncErrorHandling: callWithAsyncErrorHandling,
13293
+ reactive: reactive,
13294
+ readonly: readonly,
13295
+ ref: ref,
13296
+ registerRuntimeCompiler: registerRuntimeCompiler,
13297
+ render: render,
13298
+ renderList: renderList,
13299
+ renderSlot: renderSlot,
13188
13300
  resolveComponent: resolveComponent,
13189
13301
  resolveDirective: resolveDirective,
13190
13302
  resolveDynamicComponent: resolveDynamicComponent,
13191
- registerRuntimeCompiler: registerRuntimeCompiler,
13192
- isRuntimeOnly: isRuntimeOnly,
13193
- useTransitionState: useTransitionState,
13303
+ resolveFilter: resolveFilter,
13194
13304
  resolveTransitionHooks: resolveTransitionHooks,
13195
- setTransitionHooks: setTransitionHooks,
13196
- getTransitionRawChildren: getTransitionRawChildren,
13197
- initCustomFormatter: initCustomFormatter,
13198
- get devtools () { return devtools; },
13199
- setDevtoolsHook: setDevtoolsHook,
13200
- withCtx: withCtx,
13201
- pushScopeId: pushScopeId,
13202
- popScopeId: popScopeId,
13203
- withScopeId: withScopeId,
13204
- renderList: renderList,
13205
- toHandlers: toHandlers,
13206
- renderSlot: renderSlot,
13207
- createSlots: createSlots,
13208
- withMemo: withMemo,
13209
- isMemoSame: isMemoSame,
13210
- openBlock: openBlock,
13211
- createBlock: createBlock,
13212
13305
  setBlockTracking: setBlockTracking,
13213
- createTextVNode: createTextVNode,
13214
- createCommentVNode: createCommentVNode,
13215
- createStaticVNode: createStaticVNode,
13216
- createElementVNode: createBaseVNode,
13217
- createElementBlock: createElementBlock,
13218
- guardReactiveProps: guardReactiveProps,
13306
+ setDevtoolsHook: setDevtoolsHook,
13307
+ setTransitionHooks: setTransitionHooks,
13308
+ shallowReactive: shallowReactive,
13309
+ shallowReadonly: shallowReadonly,
13310
+ shallowRef: shallowRef,
13311
+ ssrContextKey: ssrContextKey,
13312
+ ssrUtils: ssrUtils,
13313
+ stop: stop,
13219
13314
  toDisplayString: toDisplayString,
13220
- camelize: camelize,
13221
- capitalize: capitalize,
13222
13315
  toHandlerKey: toHandlerKey,
13223
- normalizeProps: normalizeProps,
13224
- normalizeClass: normalizeClass,
13225
- normalizeStyle: normalizeStyle,
13316
+ toHandlers: toHandlers,
13317
+ toRaw: toRaw,
13318
+ toRef: toRef,
13319
+ toRefs: toRefs,
13226
13320
  transformVNodeArgs: transformVNodeArgs,
13321
+ triggerRef: triggerRef,
13322
+ unref: unref,
13323
+ useAttrs: useAttrs,
13324
+ useCssModule: useCssModule,
13325
+ useCssVars: useCssVars,
13326
+ useSSRContext: useSSRContext,
13327
+ useSlots: useSlots,
13328
+ useTransitionState: useTransitionState,
13329
+ vModelCheckbox: vModelCheckbox,
13330
+ vModelDynamic: vModelDynamic,
13331
+ vModelRadio: vModelRadio,
13332
+ vModelSelect: vModelSelect,
13333
+ vModelText: vModelText,
13334
+ vShow: vShow,
13227
13335
  version: version,
13228
- ssrUtils: ssrUtils,
13229
- resolveFilter: resolveFilter$1,
13230
- compatUtils: compatUtils
13336
+ warn: warn,
13337
+ watch: watch,
13338
+ watchEffect: watchEffect,
13339
+ watchPostEffect: watchPostEffect,
13340
+ watchSyncEffect: watchSyncEffect,
13341
+ withAsyncContext: withAsyncContext,
13342
+ withCtx: withCtx,
13343
+ withDefaults: withDefaults,
13344
+ withDirectives: withDirectives,
13345
+ withKeys: withKeys,
13346
+ withMemo: withMemo,
13347
+ withModifiers: withModifiers,
13348
+ withScopeId: withScopeId
13231
13349
  });
13232
13350
 
13233
13351
  function initDev() {
@@ -13257,23 +13375,23 @@ function wrappedCreateApp(...args) {
13257
13375
  }
13258
13376
  return app;
13259
13377
  }
13260
- function createCompatVue$1() {
13378
+ function createCompatVue() {
13261
13379
  const Vue = compatUtils.createCompatVue(createApp, wrappedCreateApp);
13262
13380
  extend(Vue, runtimeDom);
13263
13381
  return Vue;
13264
13382
  }
13265
13383
 
13266
13384
  // This entry exports the runtime only, and is built as
13267
- const Vue = createCompatVue$1();
13385
+ const Vue = createCompatVue();
13268
13386
  Vue.compile = (() => {
13269
13387
  if ((process.env.NODE_ENV !== 'production')) {
13270
- warn$1(`Runtime compilation is not supported in this build of Vue.` +
13388
+ warn(`Runtime compilation is not supported in this build of Vue.` +
13271
13389
  (` Configure your bundler to alias "vue" to "@vue/compat/dist/vue.esm-bundler.js".`
13272
13390
  ) /* should not happen */);
13273
13391
  }
13274
13392
  });
13393
+ var Vue$1 = Vue;
13275
13394
 
13276
- const { configureCompat: configureCompat$1 } = Vue;
13395
+ const { configureCompat } = Vue$1;
13277
13396
 
13278
- export default Vue;
13279
- 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 };
13397
+ 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 };