@vue/compat 3.3.3 → 3.3.5

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.
@@ -7,8 +7,8 @@ function makeMap(str, expectsLowerCase) {
7
7
  return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];
8
8
  }
9
9
 
10
- const EMPTY_OBJ = process.env.NODE_ENV !== "production" ? Object.freeze({}) : {};
11
- const EMPTY_ARR = process.env.NODE_ENV !== "production" ? Object.freeze([]) : [];
10
+ const EMPTY_OBJ = !!(process.env.NODE_ENV !== "production") ? Object.freeze({}) : {};
11
+ const EMPTY_ARR = !!(process.env.NODE_ENV !== "production") ? Object.freeze([]) : [];
12
12
  const NOOP = () => {
13
13
  };
14
14
  const NO = () => false;
@@ -34,7 +34,7 @@ const isString = (val) => typeof val === "string";
34
34
  const isSymbol = (val) => typeof val === "symbol";
35
35
  const isObject = (val) => val !== null && typeof val === "object";
36
36
  const isPromise = (val) => {
37
- return isObject(val) && isFunction(val.then) && isFunction(val.catch);
37
+ return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);
38
38
  };
39
39
  const objectToString = Object.prototype.toString;
40
40
  const toTypeString = (value) => objectToString.call(value);
@@ -65,12 +65,13 @@ const hyphenateRE = /\B([A-Z])/g;
65
65
  const hyphenate = cacheStringFunction(
66
66
  (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
67
67
  );
68
- const capitalize = cacheStringFunction(
69
- (str) => str.charAt(0).toUpperCase() + str.slice(1)
70
- );
71
- const toHandlerKey = cacheStringFunction(
72
- (str) => str ? `on${capitalize(str)}` : ``
73
- );
68
+ const capitalize = cacheStringFunction((str) => {
69
+ return str.charAt(0).toUpperCase() + str.slice(1);
70
+ });
71
+ const toHandlerKey = cacheStringFunction((str) => {
72
+ const s = str ? `on${capitalize(str)}` : ``;
73
+ return s;
74
+ });
74
75
  const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
75
76
  const invokeArrayFns = (fns, arg) => {
76
77
  for (let i = 0; i < fns.length; i++) {
@@ -97,8 +98,8 @@ const getGlobalThis = () => {
97
98
  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
98
99
  };
99
100
 
100
- const GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console";
101
- const isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);
101
+ const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console";
102
+ const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);
102
103
 
103
104
  function normalizeStyle(value) {
104
105
  if (isArray(value)) {
@@ -113,9 +114,7 @@ function normalizeStyle(value) {
113
114
  }
114
115
  }
115
116
  return res;
116
- } else if (isString(value)) {
117
- return value;
118
- } else if (isObject(value)) {
117
+ } else if (isString(value) || isObject(value)) {
119
118
  return value;
120
119
  }
121
120
  }
@@ -290,7 +289,7 @@ class EffectScope {
290
289
  } finally {
291
290
  activeEffectScope = currentEffectScope;
292
291
  }
293
- } else if (process.env.NODE_ENV !== "production") {
292
+ } else if (!!(process.env.NODE_ENV !== "production")) {
294
293
  warn$1(`cannot run an inactive effect scope.`);
295
294
  }
296
295
  }
@@ -348,7 +347,7 @@ function getCurrentScope() {
348
347
  function onScopeDispose(fn) {
349
348
  if (activeEffectScope) {
350
349
  activeEffectScope.cleanups.push(fn);
351
- } else if (process.env.NODE_ENV !== "production") {
350
+ } else if (!!(process.env.NODE_ENV !== "production")) {
352
351
  warn$1(
353
352
  `onScopeDispose() is called when there is no active effect scope to be associated with.`
354
353
  );
@@ -393,8 +392,8 @@ let effectTrackDepth = 0;
393
392
  let trackOpBit = 1;
394
393
  const maxMarkerBits = 30;
395
394
  let activeEffect;
396
- const ITERATE_KEY = Symbol(process.env.NODE_ENV !== "production" ? "iterate" : "");
397
- const MAP_KEY_ITERATE_KEY = Symbol(process.env.NODE_ENV !== "production" ? "Map key iterate" : "");
395
+ const ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== "production") ? "iterate" : "");
396
+ const MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== "production") ? "Map key iterate" : "");
398
397
  class ReactiveEffect {
399
398
  constructor(fn, scheduler = null, scope) {
400
399
  this.fn = fn;
@@ -462,7 +461,7 @@ function cleanupEffect(effect2) {
462
461
  }
463
462
  }
464
463
  function effect(fn, options) {
465
- if (fn.effect) {
464
+ if (fn.effect instanceof ReactiveEffect) {
466
465
  fn = fn.effect.fn;
467
466
  }
468
467
  const _effect = new ReactiveEffect(fn);
@@ -501,7 +500,7 @@ function track(target, type, key) {
501
500
  if (!dep) {
502
501
  depsMap.set(key, dep = createDep());
503
502
  }
504
- const eventInfo = process.env.NODE_ENV !== "production" ? { effect: activeEffect, target, type, key } : void 0;
503
+ const eventInfo = !!(process.env.NODE_ENV !== "production") ? { effect: activeEffect, target, type, key } : void 0;
505
504
  trackEffects(dep, eventInfo);
506
505
  }
507
506
  }
@@ -518,7 +517,7 @@ function trackEffects(dep, debuggerEventExtraInfo) {
518
517
  if (shouldTrack2) {
519
518
  dep.add(activeEffect);
520
519
  activeEffect.deps.push(dep);
521
- if (process.env.NODE_ENV !== "production" && activeEffect.onTrack) {
520
+ if (!!(process.env.NODE_ENV !== "production") && activeEffect.onTrack) {
522
521
  activeEffect.onTrack(
523
522
  extend(
524
523
  {
@@ -575,10 +574,10 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
575
574
  break;
576
575
  }
577
576
  }
578
- const eventInfo = process.env.NODE_ENV !== "production" ? { target, type, key, newValue, oldValue, oldTarget } : void 0;
577
+ const eventInfo = !!(process.env.NODE_ENV !== "production") ? { target, type, key, newValue, oldValue, oldTarget } : void 0;
579
578
  if (deps.length === 1) {
580
579
  if (deps[0]) {
581
- if (process.env.NODE_ENV !== "production") {
580
+ if (!!(process.env.NODE_ENV !== "production")) {
582
581
  triggerEffects(deps[0], eventInfo);
583
582
  } else {
584
583
  triggerEffects(deps[0]);
@@ -591,7 +590,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
591
590
  effects.push(...dep);
592
591
  }
593
592
  }
594
- if (process.env.NODE_ENV !== "production") {
593
+ if (!!(process.env.NODE_ENV !== "production")) {
595
594
  triggerEffects(createDep(effects), eventInfo);
596
595
  } else {
597
596
  triggerEffects(createDep(effects));
@@ -613,7 +612,7 @@ function triggerEffects(dep, debuggerEventExtraInfo) {
613
612
  }
614
613
  function triggerEffect(effect2, debuggerEventExtraInfo) {
615
614
  if (effect2 !== activeEffect || effect2.allowRecurse) {
616
- if (process.env.NODE_ENV !== "production" && effect2.onTrigger) {
615
+ if (!!(process.env.NODE_ENV !== "production") && effect2.onTrigger) {
617
616
  effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));
618
617
  }
619
618
  if (effect2.scheduler) {
@@ -632,10 +631,6 @@ const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`
632
631
  const builtInSymbols = new Set(
633
632
  /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
634
633
  );
635
- const get$1 = /* @__PURE__ */ createGetter();
636
- const shallowGet = /* @__PURE__ */ createGetter(false, true);
637
- const readonlyGet = /* @__PURE__ */ createGetter(true);
638
- const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);
639
634
  const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
640
635
  function createArrayInstrumentations() {
641
636
  const instrumentations = {};
@@ -668,8 +663,13 @@ function hasOwnProperty(key) {
668
663
  track(obj, "has", key);
669
664
  return obj.hasOwnProperty(key);
670
665
  }
671
- function createGetter(isReadonly2 = false, shallow = false) {
672
- return function get2(target, key, receiver) {
666
+ class BaseReactiveHandler {
667
+ constructor(_isReadonly = false, _shallow = false) {
668
+ this._isReadonly = _isReadonly;
669
+ this._shallow = _shallow;
670
+ }
671
+ get(target, key, receiver) {
672
+ const isReadonly2 = this._isReadonly, shallow = this._shallow;
673
673
  if (key === "__v_isReactive") {
674
674
  return !isReadonly2;
675
675
  } else if (key === "__v_isReadonly") {
@@ -705,17 +705,18 @@ function createGetter(isReadonly2 = false, shallow = false) {
705
705
  return isReadonly2 ? readonly(res) : reactive(res);
706
706
  }
707
707
  return res;
708
- };
708
+ }
709
709
  }
710
- const set$1 = /* @__PURE__ */ createSetter();
711
- const shallowSet = /* @__PURE__ */ createSetter(true);
712
- function createSetter(shallow = false) {
713
- return function set2(target, key, value, receiver) {
710
+ class MutableReactiveHandler extends BaseReactiveHandler {
711
+ constructor(shallow = false) {
712
+ super(false, shallow);
713
+ }
714
+ set(target, key, value, receiver) {
714
715
  let oldValue = target[key];
715
716
  if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
716
717
  return false;
717
718
  }
718
- if (!shallow) {
719
+ if (!this._shallow) {
719
720
  if (!isShallow(value) && !isReadonly(value)) {
720
721
  oldValue = toRaw(oldValue);
721
722
  value = toRaw(value);
@@ -735,48 +736,47 @@ function createSetter(shallow = false) {
735
736
  }
736
737
  }
737
738
  return result;
738
- };
739
- }
740
- function deleteProperty(target, key) {
741
- const hadKey = hasOwn(target, key);
742
- const oldValue = target[key];
743
- const result = Reflect.deleteProperty(target, key);
744
- if (result && hadKey) {
745
- trigger(target, "delete", key, void 0, oldValue);
746
739
  }
747
- return result;
748
- }
749
- function has$1(target, key) {
750
- const result = Reflect.has(target, key);
751
- if (!isSymbol(key) || !builtInSymbols.has(key)) {
752
- track(target, "has", key);
740
+ deleteProperty(target, key) {
741
+ const hadKey = hasOwn(target, key);
742
+ const oldValue = target[key];
743
+ const result = Reflect.deleteProperty(target, key);
744
+ if (result && hadKey) {
745
+ trigger(target, "delete", key, void 0, oldValue);
746
+ }
747
+ return result;
748
+ }
749
+ has(target, key) {
750
+ const result = Reflect.has(target, key);
751
+ if (!isSymbol(key) || !builtInSymbols.has(key)) {
752
+ track(target, "has", key);
753
+ }
754
+ return result;
755
+ }
756
+ ownKeys(target) {
757
+ track(
758
+ target,
759
+ "iterate",
760
+ isArray(target) ? "length" : ITERATE_KEY
761
+ );
762
+ return Reflect.ownKeys(target);
753
763
  }
754
- return result;
755
- }
756
- function ownKeys(target) {
757
- track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY);
758
- return Reflect.ownKeys(target);
759
764
  }
760
- const mutableHandlers = {
761
- get: get$1,
762
- set: set$1,
763
- deleteProperty,
764
- has: has$1,
765
- ownKeys
766
- };
767
- const readonlyHandlers = {
768
- get: readonlyGet,
765
+ class ReadonlyReactiveHandler extends BaseReactiveHandler {
766
+ constructor(shallow = false) {
767
+ super(true, shallow);
768
+ }
769
769
  set(target, key) {
770
- if (process.env.NODE_ENV !== "production") {
770
+ if (!!(process.env.NODE_ENV !== "production")) {
771
771
  warn$1(
772
772
  `Set operation on key "${String(key)}" failed: target is readonly.`,
773
773
  target
774
774
  );
775
775
  }
776
776
  return true;
777
- },
777
+ }
778
778
  deleteProperty(target, key) {
779
- if (process.env.NODE_ENV !== "production") {
779
+ if (!!(process.env.NODE_ENV !== "production")) {
780
780
  warn$1(
781
781
  `Delete operation on key "${String(key)}" failed: target is readonly.`,
782
782
  target
@@ -784,22 +784,13 @@ const readonlyHandlers = {
784
784
  }
785
785
  return true;
786
786
  }
787
- };
788
- const shallowReactiveHandlers = /* @__PURE__ */ extend(
789
- {},
790
- mutableHandlers,
791
- {
792
- get: shallowGet,
793
- set: shallowSet
794
- }
795
- );
796
- const shallowReadonlyHandlers = /* @__PURE__ */ extend(
797
- {},
798
- readonlyHandlers,
799
- {
800
- get: shallowReadonlyGet
801
- }
787
+ }
788
+ const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
789
+ const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
790
+ const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(
791
+ true
802
792
  );
793
+ const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
803
794
 
804
795
  const toShallow = (value) => value;
805
796
  const getProto = (v) => Reflect.getPrototypeOf(v);
@@ -808,7 +799,7 @@ function get(target, key, isReadonly = false, isShallow = false) {
808
799
  const rawTarget = toRaw(target);
809
800
  const rawKey = toRaw(key);
810
801
  if (!isReadonly) {
811
- if (key !== rawKey) {
802
+ if (hasChanged(key, rawKey)) {
812
803
  track(rawTarget, "get", key);
813
804
  }
814
805
  track(rawTarget, "get", rawKey);
@@ -828,7 +819,7 @@ function has(key, isReadonly = false) {
828
819
  const rawTarget = toRaw(target);
829
820
  const rawKey = toRaw(key);
830
821
  if (!isReadonly) {
831
- if (key !== rawKey) {
822
+ if (hasChanged(key, rawKey)) {
832
823
  track(rawTarget, "has", key);
833
824
  }
834
825
  track(rawTarget, "has", rawKey);
@@ -859,7 +850,7 @@ function set(key, value) {
859
850
  if (!hadKey) {
860
851
  key = toRaw(key);
861
852
  hadKey = has2.call(target, key);
862
- } else if (process.env.NODE_ENV !== "production") {
853
+ } else if (!!(process.env.NODE_ENV !== "production")) {
863
854
  checkIdentityKeys(target, has2, key);
864
855
  }
865
856
  const oldValue = get2.call(target, key);
@@ -878,7 +869,7 @@ function deleteEntry(key) {
878
869
  if (!hadKey) {
879
870
  key = toRaw(key);
880
871
  hadKey = has2.call(target, key);
881
- } else if (process.env.NODE_ENV !== "production") {
872
+ } else if (!!(process.env.NODE_ENV !== "production")) {
882
873
  checkIdentityKeys(target, has2, key);
883
874
  }
884
875
  const oldValue = get2 ? get2.call(target, key) : void 0;
@@ -891,7 +882,7 @@ function deleteEntry(key) {
891
882
  function clear() {
892
883
  const target = toRaw(this);
893
884
  const hadItems = target.size !== 0;
894
- const oldTarget = process.env.NODE_ENV !== "production" ? isMap(target) ? new Map(target) : new Set(target) : void 0;
885
+ const oldTarget = !!(process.env.NODE_ENV !== "production") ? isMap(target) ? new Map(target) : new Set(target) : void 0;
895
886
  const result = target.clear();
896
887
  if (hadItems) {
897
888
  trigger(target, "clear", void 0, void 0, oldTarget);
@@ -942,7 +933,7 @@ function createIterableMethod(method, isReadonly, isShallow) {
942
933
  }
943
934
  function createReadonlyMethod(type) {
944
935
  return function(...args) {
945
- if (process.env.NODE_ENV !== "production") {
936
+ if (!!(process.env.NODE_ENV !== "production")) {
946
937
  const key = args[0] ? `on key "${args[0]}" ` : ``;
947
938
  console.warn(
948
939
  `${capitalize(type)} operation ${key}failed: target is readonly.`,
@@ -1150,7 +1141,7 @@ function shallowReadonly(target) {
1150
1141
  }
1151
1142
  function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
1152
1143
  if (!isObject(target)) {
1153
- if (process.env.NODE_ENV !== "production") {
1144
+ if (!!(process.env.NODE_ENV !== "production")) {
1154
1145
  console.warn(`value cannot be made reactive: ${String(target)}`);
1155
1146
  }
1156
1147
  return target;
@@ -1202,7 +1193,7 @@ const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1202
1193
  function trackRefValue(ref2) {
1203
1194
  if (shouldTrack && activeEffect) {
1204
1195
  ref2 = toRaw(ref2);
1205
- if (process.env.NODE_ENV !== "production") {
1196
+ if (!!(process.env.NODE_ENV !== "production")) {
1206
1197
  trackEffects(ref2.dep || (ref2.dep = createDep()), {
1207
1198
  target: ref2,
1208
1199
  type: "get",
@@ -1217,7 +1208,7 @@ function triggerRefValue(ref2, newVal) {
1217
1208
  ref2 = toRaw(ref2);
1218
1209
  const dep = ref2.dep;
1219
1210
  if (dep) {
1220
- if (process.env.NODE_ENV !== "production") {
1211
+ if (!!(process.env.NODE_ENV !== "production")) {
1221
1212
  triggerEffects(dep, {
1222
1213
  target: ref2,
1223
1214
  type: "set",
@@ -1267,7 +1258,7 @@ class RefImpl {
1267
1258
  }
1268
1259
  }
1269
1260
  function triggerRef(ref2) {
1270
- triggerRefValue(ref2, process.env.NODE_ENV !== "production" ? ref2.value : void 0);
1261
+ triggerRefValue(ref2, !!(process.env.NODE_ENV !== "production") ? ref2.value : void 0);
1271
1262
  }
1272
1263
  function unref(ref2) {
1273
1264
  return isRef(ref2) ? ref2.value : ref2;
@@ -1312,7 +1303,7 @@ function customRef(factory) {
1312
1303
  return new CustomRefImpl(factory);
1313
1304
  }
1314
1305
  function toRefs(object) {
1315
- if (process.env.NODE_ENV !== "production" && !isProxy(object)) {
1306
+ if (!!(process.env.NODE_ENV !== "production") && !isProxy(object)) {
1316
1307
  console.warn(`toRefs() expects a reactive object but received a plain one.`);
1317
1308
  }
1318
1309
  const ret = isArray(object) ? new Array(object.length) : {};
@@ -1362,11 +1353,7 @@ function toRef(source, key, defaultValue) {
1362
1353
  }
1363
1354
  function propertyToRef(source, key, defaultValue) {
1364
1355
  const val = source[key];
1365
- return isRef(val) ? val : new ObjectRefImpl(
1366
- source,
1367
- key,
1368
- defaultValue
1369
- );
1356
+ return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
1370
1357
  }
1371
1358
 
1372
1359
  class ComputedRefImpl {
@@ -1405,7 +1392,7 @@ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1405
1392
  const onlyGetter = isFunction(getterOrOptions);
1406
1393
  if (onlyGetter) {
1407
1394
  getter = getterOrOptions;
1408
- setter = process.env.NODE_ENV !== "production" ? () => {
1395
+ setter = !!(process.env.NODE_ENV !== "production") ? () => {
1409
1396
  console.warn("Write operation failed: computed value is readonly");
1410
1397
  } : NOOP;
1411
1398
  } else {
@@ -1413,7 +1400,7 @@ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1413
1400
  setter = getterOrOptions.set;
1414
1401
  }
1415
1402
  const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
1416
- if (process.env.NODE_ENV !== "production" && debugOptions && !isSSR) {
1403
+ if (!!(process.env.NODE_ENV !== "production") && debugOptions && !isSSR) {
1417
1404
  cRef.effect.onTrack = debugOptions.onTrack;
1418
1405
  cRef.effect.onTrigger = debugOptions.onTrigger;
1419
1406
  }
@@ -1428,7 +1415,7 @@ function popWarningContext() {
1428
1415
  stack.pop();
1429
1416
  }
1430
1417
  function warn(msg, ...args) {
1431
- if (!(process.env.NODE_ENV !== "production"))
1418
+ if (!!!(process.env.NODE_ENV !== "production"))
1432
1419
  return;
1433
1420
  pauseTracking();
1434
1421
  const instance = stack.length ? stack[stack.length - 1].component : null;
@@ -1527,7 +1514,7 @@ function formatProp(key, value, raw) {
1527
1514
  }
1528
1515
  }
1529
1516
  function assertNumber(val, type) {
1530
- if (!(process.env.NODE_ENV !== "production"))
1517
+ if (!!!(process.env.NODE_ENV !== "production"))
1531
1518
  return;
1532
1519
  if (val === void 0) {
1533
1520
  return;
@@ -1599,7 +1586,7 @@ function handleError(err, instance, type, throwInDev = true) {
1599
1586
  if (instance) {
1600
1587
  let cur = instance.parent;
1601
1588
  const exposedInstance = instance.proxy;
1602
- const errorInfo = process.env.NODE_ENV !== "production" ? ErrorTypeStrings[type] : type;
1589
+ const errorInfo = !!(process.env.NODE_ENV !== "production") ? ErrorTypeStrings[type] : type;
1603
1590
  while (cur) {
1604
1591
  const errorCapturedHooks = cur.ec;
1605
1592
  if (errorCapturedHooks) {
@@ -1625,7 +1612,7 @@ function handleError(err, instance, type, throwInDev = true) {
1625
1612
  logError(err, type, contextVNode, throwInDev);
1626
1613
  }
1627
1614
  function logError(err, type, contextVNode, throwInDev = true) {
1628
- if (process.env.NODE_ENV !== "production") {
1615
+ if (!!(process.env.NODE_ENV !== "production")) {
1629
1616
  const info = ErrorTypeStrings[type];
1630
1617
  if (contextVNode) {
1631
1618
  pushWarningContext(contextVNode);
@@ -1707,13 +1694,13 @@ function queuePostFlushCb(cb) {
1707
1694
  queueFlush();
1708
1695
  }
1709
1696
  function flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {
1710
- if (process.env.NODE_ENV !== "production") {
1697
+ if (!!(process.env.NODE_ENV !== "production")) {
1711
1698
  seen = seen || /* @__PURE__ */ new Map();
1712
1699
  }
1713
1700
  for (; i < queue.length; i++) {
1714
1701
  const cb = queue[i];
1715
1702
  if (cb && cb.pre) {
1716
- if (process.env.NODE_ENV !== "production" && checkRecursiveUpdates(seen, cb)) {
1703
+ if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates(seen, cb)) {
1717
1704
  continue;
1718
1705
  }
1719
1706
  queue.splice(i, 1);
@@ -1731,12 +1718,12 @@ function flushPostFlushCbs(seen) {
1731
1718
  return;
1732
1719
  }
1733
1720
  activePostFlushCbs = deduped;
1734
- if (process.env.NODE_ENV !== "production") {
1721
+ if (!!(process.env.NODE_ENV !== "production")) {
1735
1722
  seen = seen || /* @__PURE__ */ new Map();
1736
1723
  }
1737
1724
  activePostFlushCbs.sort((a, b) => getId(a) - getId(b));
1738
1725
  for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
1739
- if (process.env.NODE_ENV !== "production" && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {
1726
+ if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {
1740
1727
  continue;
1741
1728
  }
1742
1729
  activePostFlushCbs[postFlushIndex]();
@@ -1759,16 +1746,16 @@ const comparator = (a, b) => {
1759
1746
  function flushJobs(seen) {
1760
1747
  isFlushPending = false;
1761
1748
  isFlushing = true;
1762
- if (process.env.NODE_ENV !== "production") {
1749
+ if (!!(process.env.NODE_ENV !== "production")) {
1763
1750
  seen = seen || /* @__PURE__ */ new Map();
1764
1751
  }
1765
1752
  queue.sort(comparator);
1766
- const check = process.env.NODE_ENV !== "production" ? (job) => checkRecursiveUpdates(seen, job) : NOOP;
1753
+ const check = !!(process.env.NODE_ENV !== "production") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;
1767
1754
  try {
1768
1755
  for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
1769
1756
  const job = queue[flushIndex];
1770
1757
  if (job && job.active !== false) {
1771
- if (process.env.NODE_ENV !== "production" && check(job)) {
1758
+ if (!!(process.env.NODE_ENV !== "production") && check(job)) {
1772
1759
  continue;
1773
1760
  }
1774
1761
  callWithErrorHandling(job, null, 14);
@@ -1805,7 +1792,7 @@ function checkRecursiveUpdates(seen, fn) {
1805
1792
 
1806
1793
  let isHmrUpdating = false;
1807
1794
  const hmrDirtyComponents = /* @__PURE__ */ new Set();
1808
- if (process.env.NODE_ENV !== "production") {
1795
+ if (!!(process.env.NODE_ENV !== "production")) {
1809
1796
  getGlobalThis().__VUE_HMR_RUNTIME__ = {
1810
1797
  createRecord: tryWrap(createRecord),
1811
1798
  rerender: tryWrap(rerender),
@@ -2218,7 +2205,7 @@ const deprecationData = {
2218
2205
  const instanceWarned = /* @__PURE__ */ Object.create(null);
2219
2206
  const warnCount = /* @__PURE__ */ Object.create(null);
2220
2207
  function warnDeprecation(key, instance, ...args) {
2221
- if (!(process.env.NODE_ENV !== "production")) {
2208
+ if (!!!(process.env.NODE_ENV !== "production")) {
2222
2209
  return;
2223
2210
  }
2224
2211
  instance = instance || getCurrentInstance();
@@ -2256,7 +2243,7 @@ const globalCompatConfig = {
2256
2243
  MODE: 2
2257
2244
  };
2258
2245
  function configureCompat$1(config) {
2259
- if (process.env.NODE_ENV !== "production") {
2246
+ if (!!(process.env.NODE_ENV !== "production")) {
2260
2247
  validateCompatConfig(config);
2261
2248
  }
2262
2249
  extend(globalCompatConfig, config);
@@ -2312,19 +2299,19 @@ function isCompatEnabled(key, instance, enableForBuiltIn = false) {
2312
2299
  function assertCompatEnabled(key, instance, ...args) {
2313
2300
  if (!isCompatEnabled(key, instance)) {
2314
2301
  throw new Error(`${key} compat has been disabled.`);
2315
- } else if (process.env.NODE_ENV !== "production") {
2302
+ } else if (!!(process.env.NODE_ENV !== "production")) {
2316
2303
  warnDeprecation(key, instance, ...args);
2317
2304
  }
2318
2305
  }
2319
2306
  function softAssertCompatEnabled(key, instance, ...args) {
2320
- if (process.env.NODE_ENV !== "production") {
2307
+ if (!!(process.env.NODE_ENV !== "production")) {
2321
2308
  warnDeprecation(key, instance, ...args);
2322
2309
  }
2323
2310
  return isCompatEnabled(key, instance);
2324
2311
  }
2325
2312
  function checkCompatEnabled(key, instance, ...args) {
2326
2313
  const enabled = isCompatEnabled(key, instance);
2327
- if (process.env.NODE_ENV !== "production" && enabled) {
2314
+ if (!!(process.env.NODE_ENV !== "production") && enabled) {
2328
2315
  warnDeprecation(key, instance, ...args);
2329
2316
  }
2330
2317
  return enabled;
@@ -2416,7 +2403,7 @@ function convertLegacyVModelProps(vnode) {
2416
2403
  )) {
2417
2404
  return;
2418
2405
  }
2419
- if (process.env.NODE_ENV !== "production" && !warnedTypes.has(comp)) {
2406
+ if (!!(process.env.NODE_ENV !== "production") && !warnedTypes.has(comp)) {
2420
2407
  pushWarningContext(vnode);
2421
2408
  warnDeprecation("COMPONENT_V_MODEL", { type }, comp);
2422
2409
  popWarningContext();
@@ -2466,7 +2453,7 @@ function emit(instance, event, ...rawArgs) {
2466
2453
  if (instance.isUnmounted)
2467
2454
  return;
2468
2455
  const props = instance.vnode.props || EMPTY_OBJ;
2469
- if (process.env.NODE_ENV !== "production") {
2456
+ if (!!(process.env.NODE_ENV !== "production")) {
2470
2457
  const {
2471
2458
  emitsOptions,
2472
2459
  propsOptions: [propsOptions]
@@ -2504,10 +2491,10 @@ function emit(instance, event, ...rawArgs) {
2504
2491
  args = rawArgs.map(looseToNumber);
2505
2492
  }
2506
2493
  }
2507
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
2494
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
2508
2495
  devtoolsComponentEmit(instance, event, args);
2509
2496
  }
2510
- if (process.env.NODE_ENV !== "production") {
2497
+ if (!!(process.env.NODE_ENV !== "production")) {
2511
2498
  const lowerCaseEvent = event.toLowerCase();
2512
2499
  if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
2513
2500
  warn(
@@ -2644,7 +2631,7 @@ function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
2644
2631
  setBlockTracking(1);
2645
2632
  }
2646
2633
  }
2647
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
2634
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
2648
2635
  devtoolsComponentUpdated(ctx);
2649
2636
  }
2650
2637
  return res;
@@ -2683,7 +2670,7 @@ function renderComponentRoot(instance) {
2683
2670
  let result;
2684
2671
  let fallthroughAttrs;
2685
2672
  const prev = setCurrentRenderingInstance(instance);
2686
- if (process.env.NODE_ENV !== "production") {
2673
+ if (!!(process.env.NODE_ENV !== "production")) {
2687
2674
  accessedAttrs = false;
2688
2675
  }
2689
2676
  try {
@@ -2703,13 +2690,13 @@ function renderComponentRoot(instance) {
2703
2690
  fallthroughAttrs = attrs;
2704
2691
  } else {
2705
2692
  const render2 = Component;
2706
- if (process.env.NODE_ENV !== "production" && attrs === props) {
2693
+ if (!!(process.env.NODE_ENV !== "production") && attrs === props) {
2707
2694
  markAttrsAccessed();
2708
2695
  }
2709
2696
  result = normalizeVNode(
2710
2697
  render2.length > 1 ? render2(
2711
2698
  props,
2712
- process.env.NODE_ENV !== "production" ? {
2699
+ !!(process.env.NODE_ENV !== "production") ? {
2713
2700
  get attrs() {
2714
2701
  markAttrsAccessed();
2715
2702
  return attrs;
@@ -2732,7 +2719,7 @@ function renderComponentRoot(instance) {
2732
2719
  }
2733
2720
  let root = result;
2734
2721
  let setRoot = void 0;
2735
- if (process.env.NODE_ENV !== "production" && result.patchFlag > 0 && result.patchFlag & 2048) {
2722
+ if (!!(process.env.NODE_ENV !== "production") && result.patchFlag > 0 && result.patchFlag & 2048) {
2736
2723
  [root, setRoot] = getChildRoot(result);
2737
2724
  }
2738
2725
  if (fallthroughAttrs && inheritAttrs !== false) {
@@ -2747,7 +2734,7 @@ function renderComponentRoot(instance) {
2747
2734
  );
2748
2735
  }
2749
2736
  root = cloneVNode(root, fallthroughAttrs);
2750
- } else if (process.env.NODE_ENV !== "production" && !accessedAttrs && root.type !== Comment) {
2737
+ } else if (!!(process.env.NODE_ENV !== "production") && !accessedAttrs && root.type !== Comment) {
2751
2738
  const allAttrs = Object.keys(attrs);
2752
2739
  const eventAttrs = [];
2753
2740
  const extraAttrs = [];
@@ -2777,7 +2764,7 @@ function renderComponentRoot(instance) {
2777
2764
  if (isCompatEnabled("INSTANCE_ATTRS_CLASS_STYLE", instance) && vnode.shapeFlag & 4 && root.shapeFlag & (1 | 6)) {
2778
2765
  const { class: cls, style } = vnode.props || {};
2779
2766
  if (cls || style) {
2780
- if (process.env.NODE_ENV !== "production" && inheritAttrs === false) {
2767
+ if (!!(process.env.NODE_ENV !== "production") && inheritAttrs === false) {
2781
2768
  warnDeprecation(
2782
2769
  "INSTANCE_ATTRS_CLASS_STYLE",
2783
2770
  instance,
@@ -2791,7 +2778,7 @@ function renderComponentRoot(instance) {
2791
2778
  }
2792
2779
  }
2793
2780
  if (vnode.dirs) {
2794
- if (process.env.NODE_ENV !== "production" && !isElementRoot(root)) {
2781
+ if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) {
2795
2782
  warn(
2796
2783
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
2797
2784
  );
@@ -2800,14 +2787,14 @@ function renderComponentRoot(instance) {
2800
2787
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
2801
2788
  }
2802
2789
  if (vnode.transition) {
2803
- if (process.env.NODE_ENV !== "production" && !isElementRoot(root)) {
2790
+ if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) {
2804
2791
  warn(
2805
2792
  `Component inside <Transition> renders non-element root node that cannot be animated.`
2806
2793
  );
2807
2794
  }
2808
2795
  root.transition = vnode.transition;
2809
2796
  }
2810
- if (process.env.NODE_ENV !== "production" && setRoot) {
2797
+ if (!!(process.env.NODE_ENV !== "production") && setRoot) {
2811
2798
  setRoot(root);
2812
2799
  } else {
2813
2800
  result = root;
@@ -2879,7 +2866,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
2879
2866
  const { props: prevProps, children: prevChildren, component } = prevVNode;
2880
2867
  const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;
2881
2868
  const emits = component.emitsOptions;
2882
- if (process.env.NODE_ENV !== "production" && (prevChildren || nextChildren) && isHmrUpdating) {
2869
+ if (!!(process.env.NODE_ENV !== "production") && (prevChildren || nextChildren) && isHmrUpdating) {
2883
2870
  return true;
2884
2871
  }
2885
2872
  if (nextVNode.dirs || nextVNode.transition) {
@@ -3191,7 +3178,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3191
3178
  }
3192
3179
  let hasWarned = false;
3193
3180
  function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
3194
- if (process.env.NODE_ENV !== "production" && true && !hasWarned) {
3181
+ if (!!(process.env.NODE_ENV !== "production") && true && !hasWarned) {
3195
3182
  hasWarned = true;
3196
3183
  console[console.info ? "info" : "log"](
3197
3184
  `<Suspense> is an experimental feature and its API will likely change.`
@@ -3213,7 +3200,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3213
3200
  }
3214
3201
  }
3215
3202
  const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;
3216
- if (process.env.NODE_ENV !== "production") {
3203
+ if (!!(process.env.NODE_ENV !== "production")) {
3217
3204
  assertNumber(timeout, `Suspense timeout`);
3218
3205
  }
3219
3206
  const suspense = {
@@ -3234,7 +3221,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3234
3221
  isUnmounted: false,
3235
3222
  effects: [],
3236
3223
  resolve(resume = false, sync = false) {
3237
- if (process.env.NODE_ENV !== "production") {
3224
+ if (!!(process.env.NODE_ENV !== "production")) {
3238
3225
  if (!resume && !suspense.pendingBranch) {
3239
3226
  throw new Error(
3240
3227
  `suspense.resolve() is called without a pending branch.`
@@ -3365,7 +3352,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3365
3352
  }
3366
3353
  instance.asyncResolved = true;
3367
3354
  const { vnode: vnode2 } = instance;
3368
- if (process.env.NODE_ENV !== "production") {
3355
+ if (!!(process.env.NODE_ENV !== "production")) {
3369
3356
  pushWarningContext(vnode2);
3370
3357
  }
3371
3358
  handleSetupResult(instance, asyncSetupResult, false);
@@ -3391,7 +3378,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3391
3378
  remove(placeholder);
3392
3379
  }
3393
3380
  updateHOCHostEl(instance, vnode2.el);
3394
- if (process.env.NODE_ENV !== "production") {
3381
+ if (!!(process.env.NODE_ENV !== "production")) {
3395
3382
  popWarningContext();
3396
3383
  }
3397
3384
  if (isInPendingSuspense && --suspense.deps === 0) {
@@ -3474,7 +3461,7 @@ function normalizeSuspenseSlot(s) {
3474
3461
  }
3475
3462
  if (isArray(s)) {
3476
3463
  const singleChild = filterSingleRoot(s);
3477
- if (process.env.NODE_ENV !== "production" && !singleChild) {
3464
+ if (!!(process.env.NODE_ENV !== "production") && !singleChild) {
3478
3465
  warn(`<Suspense> slots expect a single root node.`);
3479
3466
  }
3480
3467
  s = singleChild;
@@ -3555,19 +3542,19 @@ function watchPostEffect(effect, options) {
3555
3542
  return doWatch(
3556
3543
  effect,
3557
3544
  null,
3558
- process.env.NODE_ENV !== "production" ? extend({}, options, { flush: "post" }) : { flush: "post" }
3545
+ !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "post" }) : { flush: "post" }
3559
3546
  );
3560
3547
  }
3561
3548
  function watchSyncEffect(effect, options) {
3562
3549
  return doWatch(
3563
3550
  effect,
3564
3551
  null,
3565
- process.env.NODE_ENV !== "production" ? extend({}, options, { flush: "sync" }) : { flush: "sync" }
3552
+ !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "sync" }) : { flush: "sync" }
3566
3553
  );
3567
3554
  }
3568
3555
  const INITIAL_WATCHER_VALUE = {};
3569
3556
  function watch(source, cb, options) {
3570
- if (process.env.NODE_ENV !== "production" && !isFunction(cb)) {
3557
+ if (!!(process.env.NODE_ENV !== "production") && !isFunction(cb)) {
3571
3558
  warn(
3572
3559
  `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
3573
3560
  );
@@ -3576,7 +3563,7 @@ function watch(source, cb, options) {
3576
3563
  }
3577
3564
  function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {
3578
3565
  var _a;
3579
- if (process.env.NODE_ENV !== "production" && !cb) {
3566
+ if (!!(process.env.NODE_ENV !== "production") && !cb) {
3580
3567
  if (immediate !== void 0) {
3581
3568
  warn(
3582
3569
  `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
@@ -3616,7 +3603,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3616
3603
  } else if (isFunction(s)) {
3617
3604
  return callWithErrorHandling(s, instance, 2);
3618
3605
  } else {
3619
- process.env.NODE_ENV !== "production" && warnInvalidSource(s);
3606
+ !!(process.env.NODE_ENV !== "production") && warnInvalidSource(s);
3620
3607
  }
3621
3608
  });
3622
3609
  } else if (isFunction(source)) {
@@ -3639,7 +3626,8 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3639
3626
  };
3640
3627
  }
3641
3628
  } else {
3642
- getter = NOOP(process.env.NODE_ENV !== "production") && warnInvalidSource(source);
3629
+ getter = NOOP;
3630
+ !!(process.env.NODE_ENV !== "production") && warnInvalidSource(source);
3643
3631
  }
3644
3632
  if (cb && !deep) {
3645
3633
  const baseGetter = getter;
@@ -3687,9 +3675,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3687
3675
  }
3688
3676
  if (cb) {
3689
3677
  const newValue = effect.run();
3690
- if (deep || forceTrigger || (isMultiSource ? newValue.some(
3691
- (v, i) => hasChanged(v, oldValue[i])
3692
- ) : hasChanged(newValue, oldValue)) || isArray(newValue) && isCompatEnabled("WATCH_ARRAY", instance)) {
3678
+ if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || isArray(newValue) && isCompatEnabled("WATCH_ARRAY", instance)) {
3693
3679
  if (cleanup) {
3694
3680
  cleanup();
3695
3681
  }
@@ -3718,7 +3704,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3718
3704
  scheduler = () => queueJob(job);
3719
3705
  }
3720
3706
  const effect = new ReactiveEffect(getter, scheduler);
3721
- if (process.env.NODE_ENV !== "production") {
3707
+ if (!!(process.env.NODE_ENV !== "production")) {
3722
3708
  effect.onTrack = onTrack;
3723
3709
  effect.onTrigger = onTrigger;
3724
3710
  }
@@ -3811,7 +3797,7 @@ function validateDirectiveName(name) {
3811
3797
  function withDirectives(vnode, directives) {
3812
3798
  const internalInstance = currentRenderingInstance;
3813
3799
  if (internalInstance === null) {
3814
- process.env.NODE_ENV !== "production" && warn(`withDirectives can only be used inside render functions.`);
3800
+ !!(process.env.NODE_ENV !== "production") && warn(`withDirectives can only be used inside render functions.`);
3815
3801
  return vnode;
3816
3802
  }
3817
3803
  const instance = getExposeProxy(internalInstance) || internalInstance.proxy;
@@ -3865,6 +3851,8 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
3865
3851
  }
3866
3852
  }
3867
3853
 
3854
+ const leaveCbKey = Symbol("_leaveCb");
3855
+ const enterCbKey$1 = Symbol("_enterCb");
3868
3856
  function useTransitionState() {
3869
3857
  const state = {
3870
3858
  isMounted: false,
@@ -3918,7 +3906,7 @@ const BaseTransitionImpl = {
3918
3906
  let hasFound = false;
3919
3907
  for (const c of children) {
3920
3908
  if (c.type !== Comment) {
3921
- if (process.env.NODE_ENV !== "production" && hasFound) {
3909
+ if (!!(process.env.NODE_ENV !== "production") && hasFound) {
3922
3910
  warn(
3923
3911
  "<transition> can only be used on a single element or component. Use <transition-group> for lists."
3924
3912
  );
@@ -3926,14 +3914,14 @@ const BaseTransitionImpl = {
3926
3914
  }
3927
3915
  child = c;
3928
3916
  hasFound = true;
3929
- if (!(process.env.NODE_ENV !== "production"))
3917
+ if (!!!(process.env.NODE_ENV !== "production"))
3930
3918
  break;
3931
3919
  }
3932
3920
  }
3933
3921
  }
3934
3922
  const rawProps = toRaw(props);
3935
3923
  const { mode } = rawProps;
3936
- if (process.env.NODE_ENV !== "production" && mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
3924
+ if (!!(process.env.NODE_ENV !== "production") && mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
3937
3925
  warn(`invalid <transition> mode: ${mode}`);
3938
3926
  }
3939
3927
  if (state.isLeaving) {
@@ -3987,9 +3975,9 @@ const BaseTransitionImpl = {
3987
3975
  oldInnerChild
3988
3976
  );
3989
3977
  leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
3990
- el._leaveCb = () => {
3978
+ el[leaveCbKey] = () => {
3991
3979
  earlyRemove();
3992
- el._leaveCb = void 0;
3980
+ el[leaveCbKey] = void 0;
3993
3981
  delete enterHooks.delayedLeave;
3994
3982
  };
3995
3983
  enterHooks.delayedLeave = delayedLeave;
@@ -4063,15 +4051,15 @@ function resolveTransitionHooks(vnode, props, state, instance) {
4063
4051
  return;
4064
4052
  }
4065
4053
  }
4066
- if (el._leaveCb) {
4067
- el._leaveCb(
4054
+ if (el[leaveCbKey]) {
4055
+ el[leaveCbKey](
4068
4056
  true
4069
4057
  /* cancelled */
4070
4058
  );
4071
4059
  }
4072
4060
  const leavingVNode = leavingVNodesCache[key];
4073
- if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) {
4074
- leavingVNode.el._leaveCb();
4061
+ if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {
4062
+ leavingVNode.el[leaveCbKey]();
4075
4063
  }
4076
4064
  callHook(hook, [el]);
4077
4065
  },
@@ -4089,7 +4077,7 @@ function resolveTransitionHooks(vnode, props, state, instance) {
4089
4077
  }
4090
4078
  }
4091
4079
  let called = false;
4092
- const done = el._enterCb = (cancelled) => {
4080
+ const done = el[enterCbKey$1] = (cancelled) => {
4093
4081
  if (called)
4094
4082
  return;
4095
4083
  called = true;
@@ -4101,7 +4089,7 @@ function resolveTransitionHooks(vnode, props, state, instance) {
4101
4089
  if (hooks.delayedLeave) {
4102
4090
  hooks.delayedLeave();
4103
4091
  }
4104
- el._enterCb = void 0;
4092
+ el[enterCbKey$1] = void 0;
4105
4093
  };
4106
4094
  if (hook) {
4107
4095
  callAsyncHook(hook, [el, done]);
@@ -4111,8 +4099,8 @@ function resolveTransitionHooks(vnode, props, state, instance) {
4111
4099
  },
4112
4100
  leave(el, remove) {
4113
4101
  const key2 = String(vnode.key);
4114
- if (el._enterCb) {
4115
- el._enterCb(
4102
+ if (el[enterCbKey$1]) {
4103
+ el[enterCbKey$1](
4116
4104
  true
4117
4105
  /* cancelled */
4118
4106
  );
@@ -4122,7 +4110,7 @@ function resolveTransitionHooks(vnode, props, state, instance) {
4122
4110
  }
4123
4111
  callHook(onBeforeLeave, [el]);
4124
4112
  let called = false;
4125
- const done = el._leaveCb = (cancelled) => {
4113
+ const done = el[leaveCbKey] = (cancelled) => {
4126
4114
  if (called)
4127
4115
  return;
4128
4116
  called = true;
@@ -4132,7 +4120,7 @@ function resolveTransitionHooks(vnode, props, state, instance) {
4132
4120
  } else {
4133
4121
  callHook(onAfterLeave, [el]);
4134
4122
  }
4135
- el._leaveCb = void 0;
4123
+ el[leaveCbKey] = void 0;
4136
4124
  if (leavingVNodesCache[key2] === vnode) {
4137
4125
  delete leavingVNodesCache[key2];
4138
4126
  }
@@ -4194,6 +4182,8 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
4194
4182
  return ret;
4195
4183
  }
4196
4184
 
4185
+ /*! #__NO_SIDE_EFFECTS__ */
4186
+ // @__NO_SIDE_EFFECTS__
4197
4187
  function defineComponent(options, extraOptions) {
4198
4188
  return isFunction(options) ? (
4199
4189
  // #8326: extend call and options.name access are considered side-effects
@@ -4203,6 +4193,8 @@ function defineComponent(options, extraOptions) {
4203
4193
  }
4204
4194
 
4205
4195
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
4196
+ /*! #__NO_SIDE_EFFECTS__ */
4197
+ // @__NO_SIDE_EFFECTS__
4206
4198
  function defineAsyncComponent(source) {
4207
4199
  if (isFunction(source)) {
4208
4200
  source = { loader: source };
@@ -4242,7 +4234,7 @@ function defineAsyncComponent(source) {
4242
4234
  if (thisRequest !== pendingRequest && pendingRequest) {
4243
4235
  return pendingRequest;
4244
4236
  }
4245
- if (process.env.NODE_ENV !== "production" && !comp) {
4237
+ if (!!(process.env.NODE_ENV !== "production") && !comp) {
4246
4238
  warn(
4247
4239
  `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`
4248
4240
  );
@@ -4250,7 +4242,7 @@ function defineAsyncComponent(source) {
4250
4242
  if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) {
4251
4243
  comp = comp.default;
4252
4244
  }
4253
- if (process.env.NODE_ENV !== "production" && comp && !isObject(comp) && !isFunction(comp)) {
4245
+ if (!!(process.env.NODE_ENV !== "production") && comp && !isObject(comp) && !isFunction(comp)) {
4254
4246
  throw new Error(`Invalid async component load result: ${comp}`);
4255
4247
  }
4256
4248
  resolvedComp = comp;
@@ -4363,7 +4355,7 @@ const KeepAliveImpl = {
4363
4355
  const cache = /* @__PURE__ */ new Map();
4364
4356
  const keys = /* @__PURE__ */ new Set();
4365
4357
  let current = null;
4366
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
4358
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
4367
4359
  instance.__v_cache = cache;
4368
4360
  }
4369
4361
  const parentSuspense = instance.suspense;
@@ -4400,7 +4392,7 @@ const KeepAliveImpl = {
4400
4392
  invokeVNodeHook(vnodeHook, instance2.parent, vnode);
4401
4393
  }
4402
4394
  }, parentSuspense);
4403
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
4395
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
4404
4396
  devtoolsComponentAdded(instance2);
4405
4397
  }
4406
4398
  };
@@ -4417,7 +4409,7 @@ const KeepAliveImpl = {
4417
4409
  }
4418
4410
  instance2.isDeactivated = true;
4419
4411
  }, parentSuspense);
4420
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
4412
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
4421
4413
  devtoolsComponentAdded(instance2);
4422
4414
  }
4423
4415
  };
@@ -4481,7 +4473,7 @@ const KeepAliveImpl = {
4481
4473
  const children = slots.default();
4482
4474
  const rawVNode = children[0];
4483
4475
  if (children.length > 1) {
4484
- if (process.env.NODE_ENV !== "production") {
4476
+ if (!!(process.env.NODE_ENV !== "production")) {
4485
4477
  warn(`KeepAlive should contain exactly one component child.`);
4486
4478
  }
4487
4479
  current = null;
@@ -4612,7 +4604,7 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
4612
4604
  hooks.push(wrappedHook);
4613
4605
  }
4614
4606
  return wrappedHook;
4615
- } else if (process.env.NODE_ENV !== "production") {
4607
+ } else if (!!(process.env.NODE_ENV !== "production")) {
4616
4608
  const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ""));
4617
4609
  warn(
4618
4610
  `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )
@@ -4718,13 +4710,13 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
4718
4710
  if (!res && maybeSelfReference) {
4719
4711
  return Component;
4720
4712
  }
4721
- if (process.env.NODE_ENV !== "production" && warnMissing && !res) {
4713
+ if (!!(process.env.NODE_ENV !== "production") && warnMissing && !res) {
4722
4714
  const extra = type === COMPONENTS ? `
4723
4715
  If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
4724
4716
  warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
4725
4717
  }
4726
4718
  return res;
4727
- } else if (process.env.NODE_ENV !== "production") {
4719
+ } else if (!!(process.env.NODE_ENV !== "production")) {
4728
4720
  warn(
4729
4721
  `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
4730
4722
  );
@@ -4994,7 +4986,7 @@ function renderList(source, renderItem, cache, index) {
4994
4986
  ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);
4995
4987
  }
4996
4988
  } else if (typeof source === "number") {
4997
- if (process.env.NODE_ENV !== "production" && !Number.isInteger(source)) {
4989
+ if (!!(process.env.NODE_ENV !== "production") && !Number.isInteger(source)) {
4998
4990
  warn(`The v-for range expect an integer value but got ${source}.`);
4999
4991
  }
5000
4992
  ret = new Array(source);
@@ -5050,7 +5042,7 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
5050
5042
  return createVNode("slot", props, fallback && fallback());
5051
5043
  }
5052
5044
  let slot = slots[name];
5053
- if (process.env.NODE_ENV !== "production" && slot && slot.length > 1) {
5045
+ if (!!(process.env.NODE_ENV !== "production") && slot && slot.length > 1) {
5054
5046
  warn(
5055
5047
  `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`
5056
5048
  );
@@ -5093,7 +5085,7 @@ function ensureValidVNode(vnodes) {
5093
5085
 
5094
5086
  function toHandlers(obj, preserveCaseIfNecessary) {
5095
5087
  const ret = {};
5096
- if (process.env.NODE_ENV !== "production" && !isObject(obj)) {
5088
+ if (!!(process.env.NODE_ENV !== "production") && !isObject(obj)) {
5097
5089
  warn(`v-on with no argument expects an object value.`);
5098
5090
  return ret;
5099
5091
  }
@@ -5221,6 +5213,7 @@ function legacyPrependModifier(value, symbol) {
5221
5213
  function installCompatInstanceProperties(map) {
5222
5214
  const set = (target, key, val) => {
5223
5215
  target[key] = val;
5216
+ return target[key];
5224
5217
  };
5225
5218
  const del = (target, key) => {
5226
5219
  delete target[key];
@@ -5251,7 +5244,7 @@ function installCompatInstanceProperties(map) {
5251
5244
  if (isCompatEnabled("RENDER_FUNCTION", i) && i.render && i.render._compatWrapped) {
5252
5245
  return new Proxy(i.slots, legacySlotProxyHandlers);
5253
5246
  }
5254
- return process.env.NODE_ENV !== "production" ? shallowReadonly(i.slots) : i.slots;
5247
+ return !!(process.env.NODE_ENV !== "production") ? shallowReadonly(i.slots) : i.slots;
5255
5248
  },
5256
5249
  $scopedSlots: (i) => {
5257
5250
  assertCompatEnabled("INSTANCE_SCOPED_SLOTS", i);
@@ -5326,10 +5319,10 @@ const publicPropertiesMap = (
5326
5319
  $: (i) => i,
5327
5320
  $el: (i) => i.vnode.el,
5328
5321
  $data: (i) => i.data,
5329
- $props: (i) => process.env.NODE_ENV !== "production" ? shallowReadonly(i.props) : i.props,
5330
- $attrs: (i) => process.env.NODE_ENV !== "production" ? shallowReadonly(i.attrs) : i.attrs,
5331
- $slots: (i) => process.env.NODE_ENV !== "production" ? shallowReadonly(i.slots) : i.slots,
5332
- $refs: (i) => process.env.NODE_ENV !== "production" ? shallowReadonly(i.refs) : i.refs,
5322
+ $props: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly(i.props) : i.props,
5323
+ $attrs: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly(i.attrs) : i.attrs,
5324
+ $slots: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly(i.slots) : i.slots,
5325
+ $refs: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly(i.refs) : i.refs,
5333
5326
  $parent: (i) => getPublicInstance(i.parent),
5334
5327
  $root: (i) => getPublicInstance(i.root),
5335
5328
  $emit: (i) => i.emit,
@@ -5347,7 +5340,7 @@ const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScript
5347
5340
  const PublicInstanceProxyHandlers = {
5348
5341
  get({ _: instance }, key) {
5349
5342
  const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
5350
- if (process.env.NODE_ENV !== "production" && key === "__isVue") {
5343
+ if (!!(process.env.NODE_ENV !== "production") && key === "__isVue") {
5351
5344
  return true;
5352
5345
  }
5353
5346
  let normalizedProps;
@@ -5388,8 +5381,9 @@ const PublicInstanceProxyHandlers = {
5388
5381
  let cssModule, globalProperties;
5389
5382
  if (publicGetter) {
5390
5383
  if (key === "$attrs") {
5391
- track(instance, "get", key)(process.env.NODE_ENV !== "production") && markAttrsAccessed();
5392
- } else if (process.env.NODE_ENV !== "production" && key === "$slots") {
5384
+ track(instance, "get", key);
5385
+ !!(process.env.NODE_ENV !== "production") && markAttrsAccessed();
5386
+ } else if (!!(process.env.NODE_ENV !== "production") && key === "$slots") {
5393
5387
  track(instance, "get", key);
5394
5388
  }
5395
5389
  return publicGetter(instance);
@@ -5414,7 +5408,7 @@ const PublicInstanceProxyHandlers = {
5414
5408
  return isFunction(val) ? Object.assign(val.bind(instance.proxy), val) : val;
5415
5409
  }
5416
5410
  }
5417
- } else if (process.env.NODE_ENV !== "production" && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading
5411
+ } else if (!!(process.env.NODE_ENV !== "production") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading
5418
5412
  // to infinite warning loop
5419
5413
  key.indexOf("__v") !== 0)) {
5420
5414
  if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {
@@ -5435,23 +5429,23 @@ const PublicInstanceProxyHandlers = {
5435
5429
  if (hasSetupBinding(setupState, key)) {
5436
5430
  setupState[key] = value;
5437
5431
  return true;
5438
- } else if (process.env.NODE_ENV !== "production" && setupState.__isScriptSetup && hasOwn(setupState, key)) {
5432
+ } else if (!!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup && hasOwn(setupState, key)) {
5439
5433
  warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
5440
5434
  return false;
5441
5435
  } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
5442
5436
  data[key] = value;
5443
5437
  return true;
5444
5438
  } else if (hasOwn(instance.props, key)) {
5445
- process.env.NODE_ENV !== "production" && warn(`Attempting to mutate prop "${key}". Props are readonly.`);
5439
+ !!(process.env.NODE_ENV !== "production") && warn(`Attempting to mutate prop "${key}". Props are readonly.`);
5446
5440
  return false;
5447
5441
  }
5448
5442
  if (key[0] === "$" && key.slice(1) in instance) {
5449
- process.env.NODE_ENV !== "production" && warn(
5443
+ !!(process.env.NODE_ENV !== "production") && warn(
5450
5444
  `Attempting to mutate public property "${key}". Properties starting with $ are reserved and readonly.`
5451
5445
  );
5452
5446
  return false;
5453
5447
  } else {
5454
- if (process.env.NODE_ENV !== "production" && key in instance.appContext.config.globalProperties) {
5448
+ if (!!(process.env.NODE_ENV !== "production") && key in instance.appContext.config.globalProperties) {
5455
5449
  Object.defineProperty(ctx, key, {
5456
5450
  enumerable: true,
5457
5451
  configurable: true,
@@ -5478,7 +5472,7 @@ const PublicInstanceProxyHandlers = {
5478
5472
  return Reflect.defineProperty(target, key, descriptor);
5479
5473
  }
5480
5474
  };
5481
- if (process.env.NODE_ENV !== "production" && true) {
5475
+ if (!!(process.env.NODE_ENV !== "production") && true) {
5482
5476
  PublicInstanceProxyHandlers.ownKeys = (target) => {
5483
5477
  warn(
5484
5478
  `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`
@@ -5497,8 +5491,8 @@ const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend(
5497
5491
  return PublicInstanceProxyHandlers.get(target, key, target);
5498
5492
  },
5499
5493
  has(_, key) {
5500
- const has = key[0] !== "_" && !isGloballyWhitelisted(key);
5501
- if (process.env.NODE_ENV !== "production" && !has && PublicInstanceProxyHandlers.has(_, key)) {
5494
+ const has = key[0] !== "_" && !isGloballyAllowed(key);
5495
+ if (!!(process.env.NODE_ENV !== "production") && !has && PublicInstanceProxyHandlers.has(_, key)) {
5502
5496
  warn(
5503
5497
  `Property ${JSON.stringify(
5504
5498
  key
@@ -5571,7 +5565,7 @@ function deepMergeData(to, from) {
5571
5565
  const toVal = to[key];
5572
5566
  const fromVal = from[key];
5573
5567
  if (key in to && isPlainObject(toVal) && isPlainObject(fromVal)) {
5574
- process.env.NODE_ENV !== "production" && warnDeprecation("OPTIONS_DATA_MERGE", null, key);
5568
+ !!(process.env.NODE_ENV !== "production") && warnDeprecation("OPTIONS_DATA_MERGE", null, key);
5575
5569
  deepMergeData(toVal, fromVal);
5576
5570
  } else {
5577
5571
  to[key] = fromVal;
@@ -5584,40 +5578,40 @@ const warnRuntimeUsage = (method) => warn(
5584
5578
  `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`
5585
5579
  );
5586
5580
  function defineProps() {
5587
- if (process.env.NODE_ENV !== "production") {
5581
+ if (!!(process.env.NODE_ENV !== "production")) {
5588
5582
  warnRuntimeUsage(`defineProps`);
5589
5583
  }
5590
5584
  return null;
5591
5585
  }
5592
5586
  function defineEmits() {
5593
- if (process.env.NODE_ENV !== "production") {
5587
+ if (!!(process.env.NODE_ENV !== "production")) {
5594
5588
  warnRuntimeUsage(`defineEmits`);
5595
5589
  }
5596
5590
  return null;
5597
5591
  }
5598
5592
  function defineExpose(exposed) {
5599
- if (process.env.NODE_ENV !== "production") {
5593
+ if (!!(process.env.NODE_ENV !== "production")) {
5600
5594
  warnRuntimeUsage(`defineExpose`);
5601
5595
  }
5602
5596
  }
5603
5597
  function defineOptions(options) {
5604
- if (process.env.NODE_ENV !== "production") {
5598
+ if (!!(process.env.NODE_ENV !== "production")) {
5605
5599
  warnRuntimeUsage(`defineOptions`);
5606
5600
  }
5607
5601
  }
5608
5602
  function defineSlots() {
5609
- if (process.env.NODE_ENV !== "production") {
5603
+ if (!!(process.env.NODE_ENV !== "production")) {
5610
5604
  warnRuntimeUsage(`defineSlots`);
5611
5605
  }
5612
5606
  return null;
5613
5607
  }
5614
5608
  function defineModel() {
5615
- if (process.env.NODE_ENV !== "production") {
5609
+ if (!!(process.env.NODE_ENV !== "production")) {
5616
5610
  warnRuntimeUsage("defineModel");
5617
5611
  }
5618
5612
  }
5619
5613
  function withDefaults(props, defaults) {
5620
- if (process.env.NODE_ENV !== "production") {
5614
+ if (!!(process.env.NODE_ENV !== "production")) {
5621
5615
  warnRuntimeUsage(`withDefaults`);
5622
5616
  }
5623
5617
  return null;
@@ -5630,11 +5624,11 @@ function useAttrs() {
5630
5624
  }
5631
5625
  function useModel(props, name, options) {
5632
5626
  const i = getCurrentInstance();
5633
- if (process.env.NODE_ENV !== "production" && !i) {
5627
+ if (!!(process.env.NODE_ENV !== "production") && !i) {
5634
5628
  warn(`useModel() called without active instance.`);
5635
5629
  return ref();
5636
5630
  }
5637
- if (process.env.NODE_ENV !== "production" && !i.propsOptions[0][name]) {
5631
+ if (!!(process.env.NODE_ENV !== "production") && !i.propsOptions[0][name]) {
5638
5632
  warn(`useModel() called with prop "${name}" which is not declared.`);
5639
5633
  return ref();
5640
5634
  }
@@ -5664,7 +5658,7 @@ function useModel(props, name, options) {
5664
5658
  }
5665
5659
  function getContext() {
5666
5660
  const i = getCurrentInstance();
5667
- if (process.env.NODE_ENV !== "production" && !i) {
5661
+ if (!!(process.env.NODE_ENV !== "production") && !i) {
5668
5662
  warn(`useContext() called without active instance.`);
5669
5663
  }
5670
5664
  return i.setupContext || (i.setupContext = createSetupContext(i));
@@ -5689,7 +5683,7 @@ function mergeDefaults(raw, defaults) {
5689
5683
  }
5690
5684
  } else if (opt === null) {
5691
5685
  opt = props[key] = { default: defaults[key] };
5692
- } else if (process.env.NODE_ENV !== "production") {
5686
+ } else if (!!(process.env.NODE_ENV !== "production")) {
5693
5687
  warn(`props default key "${key}" has no corresponding declaration.`);
5694
5688
  }
5695
5689
  if (opt && defaults[`__skip_${key}`]) {
@@ -5719,7 +5713,7 @@ function createPropsRestProxy(props, excludedKeys) {
5719
5713
  }
5720
5714
  function withAsyncContext(getAwaitable) {
5721
5715
  const ctx = getCurrentInstance();
5722
- if (process.env.NODE_ENV !== "production" && !ctx) {
5716
+ if (!!(process.env.NODE_ENV !== "production") && !ctx) {
5723
5717
  warn(
5724
5718
  `withAsyncContext called without active current instance. This is likely a bug.`
5725
5719
  );
@@ -5787,8 +5781,8 @@ function applyOptions(instance) {
5787
5781
  directives,
5788
5782
  filters
5789
5783
  } = options;
5790
- const checkDuplicateProperties = process.env.NODE_ENV !== "production" ? createDuplicateChecker() : null;
5791
- if (process.env.NODE_ENV !== "production") {
5784
+ const checkDuplicateProperties = !!(process.env.NODE_ENV !== "production") ? createDuplicateChecker() : null;
5785
+ if (!!(process.env.NODE_ENV !== "production")) {
5792
5786
  const [propsOptions] = instance.propsOptions;
5793
5787
  if (propsOptions) {
5794
5788
  for (const key in propsOptions) {
@@ -5803,7 +5797,7 @@ function applyOptions(instance) {
5803
5797
  for (const key in methods) {
5804
5798
  const methodHandler = methods[key];
5805
5799
  if (isFunction(methodHandler)) {
5806
- if (process.env.NODE_ENV !== "production") {
5800
+ if (!!(process.env.NODE_ENV !== "production")) {
5807
5801
  Object.defineProperty(ctx, key, {
5808
5802
  value: methodHandler.bind(publicThis),
5809
5803
  configurable: true,
@@ -5813,10 +5807,10 @@ function applyOptions(instance) {
5813
5807
  } else {
5814
5808
  ctx[key] = methodHandler.bind(publicThis);
5815
5809
  }
5816
- if (process.env.NODE_ENV !== "production") {
5810
+ if (!!(process.env.NODE_ENV !== "production")) {
5817
5811
  checkDuplicateProperties("Methods" /* METHODS */, key);
5818
5812
  }
5819
- } else if (process.env.NODE_ENV !== "production") {
5813
+ } else if (!!(process.env.NODE_ENV !== "production")) {
5820
5814
  warn(
5821
5815
  `Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
5822
5816
  );
@@ -5824,22 +5818,22 @@ function applyOptions(instance) {
5824
5818
  }
5825
5819
  }
5826
5820
  if (dataOptions) {
5827
- if (process.env.NODE_ENV !== "production" && !isFunction(dataOptions)) {
5821
+ if (!!(process.env.NODE_ENV !== "production") && !isFunction(dataOptions)) {
5828
5822
  warn(
5829
5823
  `The data option must be a function. Plain object usage is no longer supported.`
5830
5824
  );
5831
5825
  }
5832
5826
  const data = dataOptions.call(publicThis, publicThis);
5833
- if (process.env.NODE_ENV !== "production" && isPromise(data)) {
5827
+ if (!!(process.env.NODE_ENV !== "production") && isPromise(data)) {
5834
5828
  warn(
5835
5829
  `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`
5836
5830
  );
5837
5831
  }
5838
5832
  if (!isObject(data)) {
5839
- process.env.NODE_ENV !== "production" && warn(`data() should return an object.`);
5833
+ !!(process.env.NODE_ENV !== "production") && warn(`data() should return an object.`);
5840
5834
  } else {
5841
5835
  instance.data = reactive(data);
5842
- if (process.env.NODE_ENV !== "production") {
5836
+ if (!!(process.env.NODE_ENV !== "production")) {
5843
5837
  for (const key in data) {
5844
5838
  checkDuplicateProperties("Data" /* DATA */, key);
5845
5839
  if (!isReservedPrefix(key[0])) {
@@ -5859,10 +5853,10 @@ function applyOptions(instance) {
5859
5853
  for (const key in computedOptions) {
5860
5854
  const opt = computedOptions[key];
5861
5855
  const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
5862
- if (process.env.NODE_ENV !== "production" && get === NOOP) {
5856
+ if (!!(process.env.NODE_ENV !== "production") && get === NOOP) {
5863
5857
  warn(`Computed property "${key}" has no getter.`);
5864
5858
  }
5865
- const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : process.env.NODE_ENV !== "production" ? () => {
5859
+ const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== "production") ? () => {
5866
5860
  warn(
5867
5861
  `Write operation failed: computed property "${key}" is readonly.`
5868
5862
  );
@@ -5877,7 +5871,7 @@ function applyOptions(instance) {
5877
5871
  get: () => c.value,
5878
5872
  set: (v) => c.value = v
5879
5873
  });
5880
- if (process.env.NODE_ENV !== "production") {
5874
+ if (!!(process.env.NODE_ENV !== "production")) {
5881
5875
  checkDuplicateProperties("Computed" /* COMPUTED */, key);
5882
5876
  }
5883
5877
  }
@@ -5981,7 +5975,7 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
5981
5975
  } else {
5982
5976
  ctx[key] = injected;
5983
5977
  }
5984
- if (process.env.NODE_ENV !== "production") {
5978
+ if (!!(process.env.NODE_ENV !== "production")) {
5985
5979
  checkDuplicateProperties("Inject" /* INJECT */, key);
5986
5980
  }
5987
5981
  }
@@ -5999,7 +5993,7 @@ function createWatcher(raw, ctx, publicThis, key) {
5999
5993
  const handler = ctx[raw];
6000
5994
  if (isFunction(handler)) {
6001
5995
  watch(getter, handler);
6002
- } else if (process.env.NODE_ENV !== "production") {
5996
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6003
5997
  warn(`Invalid watch handler specified by key "${raw}"`, handler);
6004
5998
  }
6005
5999
  } else if (isFunction(raw)) {
@@ -6011,11 +6005,11 @@ function createWatcher(raw, ctx, publicThis, key) {
6011
6005
  const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
6012
6006
  if (isFunction(handler)) {
6013
6007
  watch(getter, handler, raw);
6014
- } else if (process.env.NODE_ENV !== "production") {
6008
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6015
6009
  warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6016
6010
  }
6017
6011
  }
6018
- } else if (process.env.NODE_ENV !== "production") {
6012
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6019
6013
  warn(`Invalid watch option: "${key}"`, raw);
6020
6014
  }
6021
6015
  }
@@ -6068,7 +6062,7 @@ function mergeOptions(to, from, strats, asMixin = false) {
6068
6062
  }
6069
6063
  for (const key in from) {
6070
6064
  if (asMixin && key === "expose") {
6071
- process.env.NODE_ENV !== "production" && warn(
6065
+ !!(process.env.NODE_ENV !== "production") && warn(
6072
6066
  `"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`
6073
6067
  );
6074
6068
  } else {
@@ -6236,7 +6230,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6236
6230
  return vm;
6237
6231
  }
6238
6232
  }
6239
- Vue.version = `2.6.14-compat:${"3.3.3"}`;
6233
+ Vue.version = `2.6.14-compat:${"3.3.5"}`;
6240
6234
  Vue.config = singletonApp.config;
6241
6235
  Vue.use = (p, ...options) => {
6242
6236
  if (p && isFunction(p.install)) {
@@ -6337,7 +6331,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6337
6331
  }
6338
6332
  };
6339
6333
  const util = {
6340
- warn: process.env.NODE_ENV !== "production" ? warn : NOOP,
6334
+ warn: !!(process.env.NODE_ENV !== "production") ? warn : NOOP,
6341
6335
  extend,
6342
6336
  mergeOptions: (parent, child, vm) => mergeOptions(
6343
6337
  parent,
@@ -6364,7 +6358,7 @@ function installAppCompatProperties(app, context, render) {
6364
6358
  installCompatMount(app, context, render);
6365
6359
  installLegacyAPIs(app);
6366
6360
  applySingletonAppMutations(app);
6367
- if (process.env.NODE_ENV !== "production")
6361
+ if (!!(process.env.NODE_ENV !== "production"))
6368
6362
  installLegacyConfigWarnings(app.config);
6369
6363
  }
6370
6364
  function installFilterMethod(app, context) {
@@ -6374,7 +6368,7 @@ function installFilterMethod(app, context) {
6374
6368
  if (!filter) {
6375
6369
  return context.filters[name];
6376
6370
  }
6377
- if (process.env.NODE_ENV !== "production" && context.filters[name]) {
6371
+ if (!!(process.env.NODE_ENV !== "production") && context.filters[name]) {
6378
6372
  warn(`Filter "${name}" has already been registered.`);
6379
6373
  }
6380
6374
  context.filters[name] = filter;
@@ -6386,7 +6380,7 @@ function installLegacyAPIs(app) {
6386
6380
  // so that app.use() can work with legacy plugins that extend prototypes
6387
6381
  prototype: {
6388
6382
  get() {
6389
- process.env.NODE_ENV !== "production" && warnDeprecation("GLOBAL_PROTOTYPE", null);
6383
+ !!(process.env.NODE_ENV !== "production") && warnDeprecation("GLOBAL_PROTOTYPE", null);
6390
6384
  return app.config.globalProperties;
6391
6385
  }
6392
6386
  },
@@ -6444,7 +6438,7 @@ function applySingletonPrototype(app, Ctor) {
6444
6438
  }
6445
6439
  }
6446
6440
  }
6447
- if (process.env.NODE_ENV !== "production" && hasPrototypeAugmentations) {
6441
+ if (!!(process.env.NODE_ENV !== "production") && hasPrototypeAugmentations) {
6448
6442
  warnDeprecation("GLOBAL_PROTOTYPE", null);
6449
6443
  }
6450
6444
  }
@@ -6466,14 +6460,14 @@ function installCompatMount(app, context, render) {
6466
6460
  vnode.isCompatRoot = true;
6467
6461
  instance.ctx._compat_mount = (selectorOrEl) => {
6468
6462
  if (isMounted) {
6469
- process.env.NODE_ENV !== "production" && warn(`Root instance is already mounted.`);
6463
+ !!(process.env.NODE_ENV !== "production") && warn(`Root instance is already mounted.`);
6470
6464
  return;
6471
6465
  }
6472
6466
  let container;
6473
6467
  if (typeof selectorOrEl === "string") {
6474
6468
  const result = document.querySelector(selectorOrEl);
6475
6469
  if (!result) {
6476
- process.env.NODE_ENV !== "production" && warn(
6470
+ !!(process.env.NODE_ENV !== "production") && warn(
6477
6471
  `Failed to mount root instance: selector "${selectorOrEl}" returned null.`
6478
6472
  );
6479
6473
  return;
@@ -6483,7 +6477,7 @@ function installCompatMount(app, context, render) {
6483
6477
  container = selectorOrEl || document.createElement("div");
6484
6478
  }
6485
6479
  const isSVG = container instanceof SVGElement;
6486
- if (process.env.NODE_ENV !== "production") {
6480
+ if (!!(process.env.NODE_ENV !== "production")) {
6487
6481
  context.reload = () => {
6488
6482
  const cloned = cloneVNode(vnode);
6489
6483
  cloned.component = null;
@@ -6491,7 +6485,7 @@ function installCompatMount(app, context, render) {
6491
6485
  };
6492
6486
  }
6493
6487
  if (hasNoRender && instance.render === emptyRender) {
6494
- if (process.env.NODE_ENV !== "production") {
6488
+ if (!!(process.env.NODE_ENV !== "production")) {
6495
6489
  for (let i = 0; i < container.attributes.length; i++) {
6496
6490
  const attr = container.attributes[i];
6497
6491
  if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
@@ -6518,7 +6512,7 @@ function installCompatMount(app, context, render) {
6518
6512
  isMounted = true;
6519
6513
  app._container = container;
6520
6514
  container.__vue_app__ = app;
6521
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
6515
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
6522
6516
  devtoolsInitApp(app, version);
6523
6517
  }
6524
6518
  return instance.proxy;
@@ -6526,7 +6520,7 @@ function installCompatMount(app, context, render) {
6526
6520
  instance.ctx._compat_destroy = () => {
6527
6521
  if (isMounted) {
6528
6522
  render(null, app._container);
6529
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
6523
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
6530
6524
  devtoolsUnmountApp(app);
6531
6525
  }
6532
6526
  delete app._container.__vue_app__;
@@ -6634,18 +6628,18 @@ function createAppAPI(render, hydrate) {
6634
6628
  rootComponent = extend({}, rootComponent);
6635
6629
  }
6636
6630
  if (rootProps != null && !isObject(rootProps)) {
6637
- process.env.NODE_ENV !== "production" && warn(`root props passed to app.mount() must be an object.`);
6631
+ !!(process.env.NODE_ENV !== "production") && warn(`root props passed to app.mount() must be an object.`);
6638
6632
  rootProps = null;
6639
6633
  }
6640
6634
  const context = createAppContext();
6641
- if (process.env.NODE_ENV !== "production") {
6635
+ if (!!(process.env.NODE_ENV !== "production")) {
6642
6636
  Object.defineProperty(context.config, "unwrapInjectedRef", {
6643
6637
  get() {
6644
6638
  return true;
6645
6639
  },
6646
6640
  set() {
6647
6641
  warn(
6648
- `app.config.unwrapInjectedRef has been deprecated. 3.3 now alawys unwraps injected refs in Options API.`
6642
+ `app.config.unwrapInjectedRef has been deprecated. 3.3 now always unwraps injected refs in Options API.`
6649
6643
  );
6650
6644
  }
6651
6645
  });
@@ -6664,7 +6658,7 @@ function createAppAPI(render, hydrate) {
6664
6658
  return context.config;
6665
6659
  },
6666
6660
  set config(v) {
6667
- if (process.env.NODE_ENV !== "production") {
6661
+ if (!!(process.env.NODE_ENV !== "production")) {
6668
6662
  warn(
6669
6663
  `app.config cannot be replaced. Modify individual options instead.`
6670
6664
  );
@@ -6672,14 +6666,14 @@ function createAppAPI(render, hydrate) {
6672
6666
  },
6673
6667
  use(plugin, ...options) {
6674
6668
  if (installedPlugins.has(plugin)) {
6675
- process.env.NODE_ENV !== "production" && warn(`Plugin has already been applied to target app.`);
6669
+ !!(process.env.NODE_ENV !== "production") && warn(`Plugin has already been applied to target app.`);
6676
6670
  } else if (plugin && isFunction(plugin.install)) {
6677
6671
  installedPlugins.add(plugin);
6678
6672
  plugin.install(app, ...options);
6679
6673
  } else if (isFunction(plugin)) {
6680
6674
  installedPlugins.add(plugin);
6681
6675
  plugin(app, ...options);
6682
- } else if (process.env.NODE_ENV !== "production") {
6676
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6683
6677
  warn(
6684
6678
  `A plugin must either be a function or an object with an "install" function.`
6685
6679
  );
@@ -6690,37 +6684,37 @@ function createAppAPI(render, hydrate) {
6690
6684
  if (__VUE_OPTIONS_API__) {
6691
6685
  if (!context.mixins.includes(mixin)) {
6692
6686
  context.mixins.push(mixin);
6693
- } else if (process.env.NODE_ENV !== "production") {
6687
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6694
6688
  warn(
6695
6689
  "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
6696
6690
  );
6697
6691
  }
6698
- } else if (process.env.NODE_ENV !== "production") {
6692
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6699
6693
  warn("Mixins are only available in builds supporting Options API");
6700
6694
  }
6701
6695
  return app;
6702
6696
  },
6703
6697
  component(name, component) {
6704
- if (process.env.NODE_ENV !== "production") {
6698
+ if (!!(process.env.NODE_ENV !== "production")) {
6705
6699
  validateComponentName(name, context.config);
6706
6700
  }
6707
6701
  if (!component) {
6708
6702
  return context.components[name];
6709
6703
  }
6710
- if (process.env.NODE_ENV !== "production" && context.components[name]) {
6704
+ if (!!(process.env.NODE_ENV !== "production") && context.components[name]) {
6711
6705
  warn(`Component "${name}" has already been registered in target app.`);
6712
6706
  }
6713
6707
  context.components[name] = component;
6714
6708
  return app;
6715
6709
  },
6716
6710
  directive(name, directive) {
6717
- if (process.env.NODE_ENV !== "production") {
6711
+ if (!!(process.env.NODE_ENV !== "production")) {
6718
6712
  validateDirectiveName(name);
6719
6713
  }
6720
6714
  if (!directive) {
6721
6715
  return context.directives[name];
6722
6716
  }
6723
- if (process.env.NODE_ENV !== "production" && context.directives[name]) {
6717
+ if (!!(process.env.NODE_ENV !== "production") && context.directives[name]) {
6724
6718
  warn(`Directive "${name}" has already been registered in target app.`);
6725
6719
  }
6726
6720
  context.directives[name] = directive;
@@ -6728,18 +6722,15 @@ function createAppAPI(render, hydrate) {
6728
6722
  },
6729
6723
  mount(rootContainer, isHydrate, isSVG) {
6730
6724
  if (!isMounted) {
6731
- if (process.env.NODE_ENV !== "production" && rootContainer.__vue_app__) {
6725
+ if (!!(process.env.NODE_ENV !== "production") && rootContainer.__vue_app__) {
6732
6726
  warn(
6733
6727
  `There is already an app instance mounted on the host container.
6734
6728
  If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
6735
6729
  );
6736
6730
  }
6737
- const vnode = createVNode(
6738
- rootComponent,
6739
- rootProps
6740
- );
6731
+ const vnode = createVNode(rootComponent, rootProps);
6741
6732
  vnode.appContext = context;
6742
- if (process.env.NODE_ENV !== "production") {
6733
+ if (!!(process.env.NODE_ENV !== "production")) {
6743
6734
  context.reload = () => {
6744
6735
  render(cloneVNode(vnode), rootContainer, isSVG);
6745
6736
  };
@@ -6752,12 +6743,12 @@ function createAppAPI(render, hydrate) {
6752
6743
  isMounted = true;
6753
6744
  app._container = rootContainer;
6754
6745
  rootContainer.__vue_app__ = app;
6755
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
6746
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
6756
6747
  app._instance = vnode.component;
6757
6748
  devtoolsInitApp(app, version);
6758
6749
  }
6759
6750
  return getExposeProxy(vnode.component) || vnode.component.proxy;
6760
- } else if (process.env.NODE_ENV !== "production") {
6751
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6761
6752
  warn(
6762
6753
  `App has already been mounted.
6763
6754
  If you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \`const createMyApp = () => createApp(App)\``
@@ -6767,17 +6758,17 @@ If you want to remount the same app, move your app creation logic into a factory
6767
6758
  unmount() {
6768
6759
  if (isMounted) {
6769
6760
  render(null, app._container);
6770
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
6761
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
6771
6762
  app._instance = null;
6772
6763
  devtoolsUnmountApp(app);
6773
6764
  }
6774
6765
  delete app._container.__vue_app__;
6775
- } else if (process.env.NODE_ENV !== "production") {
6766
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6776
6767
  warn(`Cannot unmount an app that is not mounted.`);
6777
6768
  }
6778
6769
  },
6779
6770
  provide(key, value) {
6780
- if (process.env.NODE_ENV !== "production" && key in context.provides) {
6771
+ if (!!(process.env.NODE_ENV !== "production") && key in context.provides) {
6781
6772
  warn(
6782
6773
  `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
6783
6774
  );
@@ -6804,7 +6795,7 @@ let currentApp = null;
6804
6795
 
6805
6796
  function provide(key, value) {
6806
6797
  if (!currentInstance) {
6807
- if (process.env.NODE_ENV !== "production") {
6798
+ if (!!(process.env.NODE_ENV !== "production")) {
6808
6799
  warn(`provide() can only be used inside setup().`);
6809
6800
  }
6810
6801
  } else {
@@ -6824,10 +6815,10 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
6824
6815
  return provides[key];
6825
6816
  } else if (arguments.length > 1) {
6826
6817
  return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
6827
- } else if (process.env.NODE_ENV !== "production") {
6818
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6828
6819
  warn(`injection "${String(key)}" not found.`);
6829
6820
  }
6830
- } else if (process.env.NODE_ENV !== "production") {
6821
+ } else if (!!(process.env.NODE_ENV !== "production")) {
6831
6822
  warn(`inject() can only be used inside setup() or functional components.`);
6832
6823
  }
6833
6824
  }
@@ -6840,7 +6831,7 @@ function createPropsDefaultThis(instance, rawProps, propKey) {
6840
6831
  {},
6841
6832
  {
6842
6833
  get(_, key) {
6843
- process.env.NODE_ENV !== "production" && warnDeprecation("PROPS_DEFAULT_THIS", null, propKey);
6834
+ !!(process.env.NODE_ENV !== "production") && warnDeprecation("PROPS_DEFAULT_THIS", null, propKey);
6844
6835
  if (key === "$options") {
6845
6836
  return resolveMergedOptions(instance);
6846
6837
  }
@@ -6889,7 +6880,7 @@ function initProps(instance, rawProps, isStateful, isSSR = false) {
6889
6880
  props[key] = void 0;
6890
6881
  }
6891
6882
  }
6892
- if (process.env.NODE_ENV !== "production") {
6883
+ if (!!(process.env.NODE_ENV !== "production")) {
6893
6884
  validateProps(rawProps || {}, props, instance);
6894
6885
  }
6895
6886
  if (isStateful) {
@@ -6923,7 +6914,7 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
6923
6914
  // always force full diff in dev
6924
6915
  // - #1942 if hmr is enabled with sfc component
6925
6916
  // - vite#872 non-sfc component used by sfc component
6926
- !(process.env.NODE_ENV !== "production" && isInHmrContext(instance)) && (optimized || patchFlag > 0) && !(patchFlag & 16)
6917
+ !(!!(process.env.NODE_ENV !== "production") && isInHmrContext(instance)) && (optimized || patchFlag > 0) && !(patchFlag & 16)
6927
6918
  ) {
6928
6919
  if (patchFlag & 8) {
6929
6920
  const propsToUpdate = instance.vnode.dynamicProps;
@@ -7007,7 +6998,7 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
7007
6998
  if (hasAttrsChanged) {
7008
6999
  trigger(instance, "set", "$attrs");
7009
7000
  }
7010
- if (process.env.NODE_ENV !== "production") {
7001
+ if (!!(process.env.NODE_ENV !== "production")) {
7011
7002
  validateProps(rawProps || {}, props, instance);
7012
7003
  }
7013
7004
  }
@@ -7143,7 +7134,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7143
7134
  }
7144
7135
  if (isArray(raw)) {
7145
7136
  for (let i = 0; i < raw.length; i++) {
7146
- if (process.env.NODE_ENV !== "production" && !isString(raw[i])) {
7137
+ if (!!(process.env.NODE_ENV !== "production") && !isString(raw[i])) {
7147
7138
  warn(`props must be strings when using array syntax.`, raw[i]);
7148
7139
  }
7149
7140
  const normalizedKey = camelize(raw[i]);
@@ -7152,7 +7143,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7152
7143
  }
7153
7144
  }
7154
7145
  } else if (raw) {
7155
- if (process.env.NODE_ENV !== "production" && !isObject(raw)) {
7146
+ if (!!(process.env.NODE_ENV !== "production") && !isObject(raw)) {
7156
7147
  warn(`invalid props options`, raw);
7157
7148
  }
7158
7149
  for (const key in raw) {
@@ -7181,7 +7172,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7181
7172
  function validatePropName(key) {
7182
7173
  if (key[0] !== "$") {
7183
7174
  return true;
7184
- } else if (process.env.NODE_ENV !== "production") {
7175
+ } else if (!!(process.env.NODE_ENV !== "production")) {
7185
7176
  warn(`Invalid prop name: "${key}" is a reserved property.`);
7186
7177
  }
7187
7178
  return false;
@@ -7308,7 +7299,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
7308
7299
  return rawSlot;
7309
7300
  }
7310
7301
  const normalized = withCtx((...args) => {
7311
- if (process.env.NODE_ENV !== "production" && currentInstance) {
7302
+ if (!!(process.env.NODE_ENV !== "production") && currentInstance) {
7312
7303
  warn(
7313
7304
  `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
7314
7305
  );
@@ -7327,7 +7318,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
7327
7318
  if (isFunction(value)) {
7328
7319
  slots[key] = normalizeSlot(key, value, ctx);
7329
7320
  } else if (value != null) {
7330
- if (process.env.NODE_ENV !== "production" && !isCompatEnabled("RENDER_FUNCTION", instance)) {
7321
+ if (!!(process.env.NODE_ENV !== "production") && !isCompatEnabled("RENDER_FUNCTION", instance)) {
7331
7322
  warn(
7332
7323
  `Non-function value encountered for slot "${key}". Prefer function slots for better performance.`
7333
7324
  );
@@ -7338,7 +7329,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
7338
7329
  }
7339
7330
  };
7340
7331
  const normalizeVNodeSlots = (instance, children) => {
7341
- if (process.env.NODE_ENV !== "production" && !isKeepAlive(instance.vnode) && !isCompatEnabled("RENDER_FUNCTION", instance)) {
7332
+ if (!!(process.env.NODE_ENV !== "production") && !isKeepAlive(instance.vnode) && !isCompatEnabled("RENDER_FUNCTION", instance)) {
7342
7333
  warn(
7343
7334
  `Non-function value encountered for default slot. Prefer function slots for better performance.`
7344
7335
  );
@@ -7374,7 +7365,7 @@ const updateSlots = (instance, children, optimized) => {
7374
7365
  if (vnode.shapeFlag & 32) {
7375
7366
  const type = children._;
7376
7367
  if (type) {
7377
- if (process.env.NODE_ENV !== "production" && isHmrUpdating) {
7368
+ if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) {
7378
7369
  extend(slots, children);
7379
7370
  trigger(instance, "set", "$slots");
7380
7371
  } else if (optimized && type === 1) {
@@ -7422,7 +7413,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7422
7413
  const refValue = vnode.shapeFlag & 4 ? getExposeProxy(vnode.component) || vnode.component.proxy : vnode.el;
7423
7414
  const value = isUnmount ? null : refValue;
7424
7415
  const { i: owner, r: ref } = rawRef;
7425
- if (process.env.NODE_ENV !== "production" && !owner) {
7416
+ if (!!(process.env.NODE_ENV !== "production") && !owner) {
7426
7417
  warn(
7427
7418
  `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`
7428
7419
  );
@@ -7477,7 +7468,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7477
7468
  ref.value = value;
7478
7469
  if (rawRef.k)
7479
7470
  refs[rawRef.k] = value;
7480
- } else if (process.env.NODE_ENV !== "production") {
7471
+ } else if (!!(process.env.NODE_ENV !== "production")) {
7481
7472
  warn("Invalid template ref type:", ref, `(${typeof ref})`);
7482
7473
  }
7483
7474
  };
@@ -7487,7 +7478,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7487
7478
  } else {
7488
7479
  doSet();
7489
7480
  }
7490
- } else if (process.env.NODE_ENV !== "production") {
7481
+ } else if (!!(process.env.NODE_ENV !== "production")) {
7491
7482
  warn("Invalid template ref type:", ref, `(${typeof ref})`);
7492
7483
  }
7493
7484
  }
@@ -7512,7 +7503,7 @@ function createHydrationFunctions(rendererInternals) {
7512
7503
  } = rendererInternals;
7513
7504
  const hydrate = (vnode, container) => {
7514
7505
  if (!container.hasChildNodes()) {
7515
- process.env.NODE_ENV !== "production" && warn(
7506
+ !!(process.env.NODE_ENV !== "production") && warn(
7516
7507
  `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`
7517
7508
  );
7518
7509
  patch(null, vnode, container);
@@ -7557,10 +7548,13 @@ function createHydrationFunctions(rendererInternals) {
7557
7548
  }
7558
7549
  } else {
7559
7550
  if (node.data !== vnode.children) {
7560
- hasMismatch = true(process.env.NODE_ENV !== "production") && warn(
7551
+ hasMismatch = true;
7552
+ !!(process.env.NODE_ENV !== "production") && warn(
7561
7553
  `Hydration text mismatch:
7562
- - Client: ${JSON.stringify(node.data)}
7563
- - Server: ${JSON.stringify(vnode.children)}`
7554
+ - Server rendered: ${JSON.stringify(
7555
+ node.data
7556
+ )}
7557
+ - Client rendered: ${JSON.stringify(vnode.children)}`
7564
7558
  );
7565
7559
  node.data = vnode.children;
7566
7560
  }
@@ -7677,7 +7671,7 @@ function createHydrationFunctions(rendererInternals) {
7677
7671
  rendererInternals,
7678
7672
  hydrateNode
7679
7673
  );
7680
- } else if (process.env.NODE_ENV !== "production") {
7674
+ } else if (!!(process.env.NODE_ENV !== "production")) {
7681
7675
  warn("Invalid HostVNode type:", type, `(${typeof type})`);
7682
7676
  }
7683
7677
  }
@@ -7690,7 +7684,7 @@ function createHydrationFunctions(rendererInternals) {
7690
7684
  optimized = optimized || !!vnode.dynamicChildren;
7691
7685
  const { type, props, patchFlag, shapeFlag, dirs } = vnode;
7692
7686
  const forcePatchValue = type === "input" && dirs || type === "option";
7693
- if (process.env.NODE_ENV !== "production" || forcePatchValue || patchFlag !== -1) {
7687
+ if (!!(process.env.NODE_ENV !== "production") || forcePatchValue || patchFlag !== -1) {
7694
7688
  if (dirs) {
7695
7689
  invokeDirectiveHook(vnode, null, parentComponent, "created");
7696
7690
  }
@@ -7748,7 +7742,7 @@ function createHydrationFunctions(rendererInternals) {
7748
7742
  let hasWarned = false;
7749
7743
  while (next) {
7750
7744
  hasMismatch = true;
7751
- if (process.env.NODE_ENV !== "production" && !hasWarned) {
7745
+ if (!!(process.env.NODE_ENV !== "production") && !hasWarned) {
7752
7746
  warn(
7753
7747
  `Hydration children mismatch in <${vnode.type}>: server rendered element contains more child nodes than client vdom.`
7754
7748
  );
@@ -7760,10 +7754,11 @@ function createHydrationFunctions(rendererInternals) {
7760
7754
  }
7761
7755
  } else if (shapeFlag & 8) {
7762
7756
  if (el.textContent !== vnode.children) {
7763
- hasMismatch = true(process.env.NODE_ENV !== "production") && warn(
7757
+ hasMismatch = true;
7758
+ !!(process.env.NODE_ENV !== "production") && warn(
7764
7759
  `Hydration text content mismatch in <${vnode.type}>:
7765
- - Client: ${el.textContent}
7766
- - Server: ${vnode.children}`
7760
+ - Server rendered: ${el.textContent}
7761
+ - Client rendered: ${vnode.children}`
7767
7762
  );
7768
7763
  el.textContent = vnode.children;
7769
7764
  }
@@ -7791,7 +7786,7 @@ function createHydrationFunctions(rendererInternals) {
7791
7786
  continue;
7792
7787
  } else {
7793
7788
  hasMismatch = true;
7794
- if (process.env.NODE_ENV !== "production" && !hasWarned) {
7789
+ if (!!(process.env.NODE_ENV !== "production") && !hasWarned) {
7795
7790
  warn(
7796
7791
  `Hydration children mismatch in <${container.tagName.toLowerCase()}>: server rendered element contains fewer child nodes than client vdom.`
7797
7792
  );
@@ -7835,7 +7830,8 @@ function createHydrationFunctions(rendererInternals) {
7835
7830
  }
7836
7831
  };
7837
7832
  const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
7838
- hasMismatch = true(process.env.NODE_ENV !== "production") && warn(
7833
+ hasMismatch = true;
7834
+ !!(process.env.NODE_ENV !== "production") && warn(
7839
7835
  `Hydration node mismatch:
7840
7836
  - Client vnode:`,
7841
7837
  vnode.type,
@@ -7898,7 +7894,7 @@ function startMeasure(instance, type) {
7898
7894
  if (instance.appContext.config.performance && isSupported()) {
7899
7895
  perf.mark(`vue-${type}-${instance.uid}`);
7900
7896
  }
7901
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
7897
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
7902
7898
  devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());
7903
7899
  }
7904
7900
  }
@@ -7915,7 +7911,7 @@ function endMeasure(instance, type) {
7915
7911
  perf.clearMarks(startTag);
7916
7912
  perf.clearMarks(endTag);
7917
7913
  }
7918
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
7914
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
7919
7915
  devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());
7920
7916
  }
7921
7917
  }
@@ -7935,14 +7931,14 @@ function isSupported() {
7935
7931
  function initFeatureFlags() {
7936
7932
  const needWarn = [];
7937
7933
  if (typeof __VUE_OPTIONS_API__ !== "boolean") {
7938
- process.env.NODE_ENV !== "production" && needWarn.push(`__VUE_OPTIONS_API__`);
7934
+ !!(process.env.NODE_ENV !== "production") && needWarn.push(`__VUE_OPTIONS_API__`);
7939
7935
  getGlobalThis().__VUE_OPTIONS_API__ = true;
7940
7936
  }
7941
7937
  if (typeof __VUE_PROD_DEVTOOLS__ !== "boolean") {
7942
- process.env.NODE_ENV !== "production" && needWarn.push(`__VUE_PROD_DEVTOOLS__`);
7938
+ !!(process.env.NODE_ENV !== "production") && needWarn.push(`__VUE_PROD_DEVTOOLS__`);
7943
7939
  getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;
7944
7940
  }
7945
- if (process.env.NODE_ENV !== "production" && needWarn.length) {
7941
+ if (!!(process.env.NODE_ENV !== "production") && needWarn.length) {
7946
7942
  const multi = needWarn.length > 1;
7947
7943
  console.warn(
7948
7944
  `Feature flag${multi ? `s` : ``} ${needWarn.join(", ")} ${multi ? `are` : `is`} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.
@@ -7965,7 +7961,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7965
7961
  }
7966
7962
  const target = getGlobalThis();
7967
7963
  target.__VUE__ = true;
7968
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
7964
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
7969
7965
  setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
7970
7966
  }
7971
7967
  const {
@@ -7982,7 +7978,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7982
7978
  setScopeId: hostSetScopeId = NOOP,
7983
7979
  insertStaticContent: hostInsertStaticContent
7984
7980
  } = options;
7985
- const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = process.env.NODE_ENV !== "production" && isHmrUpdating ? false : !!n2.dynamicChildren) => {
7981
+ const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = !!(process.env.NODE_ENV !== "production") && isHmrUpdating ? false : !!n2.dynamicChildren) => {
7986
7982
  if (n1 === n2) {
7987
7983
  return;
7988
7984
  }
@@ -8006,7 +8002,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8006
8002
  case Static:
8007
8003
  if (n1 == null) {
8008
8004
  mountStaticNode(n2, container, anchor, isSVG);
8009
- } else if (process.env.NODE_ENV !== "production") {
8005
+ } else if (!!(process.env.NODE_ENV !== "production")) {
8010
8006
  patchStaticNode(n1, n2, container, isSVG);
8011
8007
  }
8012
8008
  break;
@@ -8074,7 +8070,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8074
8070
  optimized,
8075
8071
  internals
8076
8072
  );
8077
- } else if (process.env.NODE_ENV !== "production") {
8073
+ } else if (!!(process.env.NODE_ENV !== "production")) {
8078
8074
  warn("Invalid VNode type:", type, `(${typeof type})`);
8079
8075
  }
8080
8076
  }
@@ -8226,7 +8222,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8226
8222
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
8227
8223
  }
8228
8224
  }
8229
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
8225
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
8230
8226
  Object.defineProperty(el, "__vnode", {
8231
8227
  value: vnode,
8232
8228
  enumerable: false
@@ -8263,7 +8259,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8263
8259
  }
8264
8260
  if (parentComponent) {
8265
8261
  let subTree = parentComponent.subTree;
8266
- if (process.env.NODE_ENV !== "production" && subTree.patchFlag > 0 && subTree.patchFlag & 2048) {
8262
+ if (!!(process.env.NODE_ENV !== "production") && subTree.patchFlag > 0 && subTree.patchFlag & 2048) {
8267
8263
  subTree = filterSingleRoot(subTree.children) || subTree;
8268
8264
  }
8269
8265
  if (vnode === subTree) {
@@ -8309,7 +8305,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8309
8305
  invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
8310
8306
  }
8311
8307
  parentComponent && toggleRecurse(parentComponent, true);
8312
- if (process.env.NODE_ENV !== "production" && isHmrUpdating) {
8308
+ if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) {
8313
8309
  patchFlag = 0;
8314
8310
  optimized = false;
8315
8311
  dynamicChildren = null;
@@ -8325,7 +8321,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8325
8321
  areChildrenSVG,
8326
8322
  slotScopeIds
8327
8323
  );
8328
- if (process.env.NODE_ENV !== "production") {
8324
+ if (!!(process.env.NODE_ENV !== "production")) {
8329
8325
  traverseStaticChildren(n1, n2);
8330
8326
  }
8331
8327
  } else if (!optimized) {
@@ -8484,7 +8480,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8484
8480
  const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText("");
8485
8481
  const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText("");
8486
8482
  let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
8487
- if (process.env.NODE_ENV !== "production" && // #5523 dev root fragment may inherit directives
8483
+ if (!!(process.env.NODE_ENV !== "production") && // #5523 dev root fragment may inherit directives
8488
8484
  (isHmrUpdating || patchFlag & 2048)) {
8489
8485
  patchFlag = 0;
8490
8486
  optimized = false;
@@ -8519,7 +8515,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8519
8515
  isSVG,
8520
8516
  slotScopeIds
8521
8517
  );
8522
- if (process.env.NODE_ENV !== "production") {
8518
+ if (!!(process.env.NODE_ENV !== "production")) {
8523
8519
  traverseStaticChildren(n1, n2);
8524
8520
  } else if (
8525
8521
  // #2080 if the stable fragment has a key, it's a <template v-for> that may
@@ -8583,10 +8579,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8583
8579
  parentComponent,
8584
8580
  parentSuspense
8585
8581
  ));
8586
- if (process.env.NODE_ENV !== "production" && instance.type.__hmrId) {
8582
+ if (!!(process.env.NODE_ENV !== "production") && instance.type.__hmrId) {
8587
8583
  registerHMR(instance);
8588
8584
  }
8589
- if (process.env.NODE_ENV !== "production") {
8585
+ if (!!(process.env.NODE_ENV !== "production")) {
8590
8586
  pushWarningContext(initialVNode);
8591
8587
  startMeasure(instance, `mount`);
8592
8588
  }
@@ -8594,11 +8590,11 @@ function baseCreateRenderer(options, createHydrationFns) {
8594
8590
  instance.ctx.renderer = internals;
8595
8591
  }
8596
8592
  if (!compatMountInstance) {
8597
- if (process.env.NODE_ENV !== "production") {
8593
+ if (!!(process.env.NODE_ENV !== "production")) {
8598
8594
  startMeasure(instance, `init`);
8599
8595
  }
8600
8596
  setupComponent(instance);
8601
- if (process.env.NODE_ENV !== "production") {
8597
+ if (!!(process.env.NODE_ENV !== "production")) {
8602
8598
  endMeasure(instance, `init`);
8603
8599
  }
8604
8600
  }
@@ -8619,7 +8615,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8619
8615
  isSVG,
8620
8616
  optimized
8621
8617
  );
8622
- if (process.env.NODE_ENV !== "production") {
8618
+ if (!!(process.env.NODE_ENV !== "production")) {
8623
8619
  popWarningContext();
8624
8620
  endMeasure(instance, `mount`);
8625
8621
  }
@@ -8628,11 +8624,11 @@ function baseCreateRenderer(options, createHydrationFns) {
8628
8624
  const instance = n2.component = n1.component;
8629
8625
  if (shouldUpdateComponent(n1, n2, optimized)) {
8630
8626
  if (instance.asyncDep && !instance.asyncResolved) {
8631
- if (process.env.NODE_ENV !== "production") {
8627
+ if (!!(process.env.NODE_ENV !== "production")) {
8632
8628
  pushWarningContext(n2);
8633
8629
  }
8634
8630
  updateComponentPreRender(instance, n2, optimized);
8635
- if (process.env.NODE_ENV !== "production") {
8631
+ if (!!(process.env.NODE_ENV !== "production")) {
8636
8632
  popWarningContext();
8637
8633
  }
8638
8634
  return;
@@ -8666,14 +8662,14 @@ function baseCreateRenderer(options, createHydrationFns) {
8666
8662
  toggleRecurse(instance, true);
8667
8663
  if (el && hydrateNode) {
8668
8664
  const hydrateSubTree = () => {
8669
- if (process.env.NODE_ENV !== "production") {
8665
+ if (!!(process.env.NODE_ENV !== "production")) {
8670
8666
  startMeasure(instance, `render`);
8671
8667
  }
8672
8668
  instance.subTree = renderComponentRoot(instance);
8673
- if (process.env.NODE_ENV !== "production") {
8669
+ if (!!(process.env.NODE_ENV !== "production")) {
8674
8670
  endMeasure(instance, `render`);
8675
8671
  }
8676
- if (process.env.NODE_ENV !== "production") {
8672
+ if (!!(process.env.NODE_ENV !== "production")) {
8677
8673
  startMeasure(instance, `hydrate`);
8678
8674
  }
8679
8675
  hydrateNode(
@@ -8683,7 +8679,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8683
8679
  parentSuspense,
8684
8680
  null
8685
8681
  );
8686
- if (process.env.NODE_ENV !== "production") {
8682
+ if (!!(process.env.NODE_ENV !== "production")) {
8687
8683
  endMeasure(instance, `hydrate`);
8688
8684
  }
8689
8685
  };
@@ -8699,14 +8695,14 @@ function baseCreateRenderer(options, createHydrationFns) {
8699
8695
  hydrateSubTree();
8700
8696
  }
8701
8697
  } else {
8702
- if (process.env.NODE_ENV !== "production") {
8698
+ if (!!(process.env.NODE_ENV !== "production")) {
8703
8699
  startMeasure(instance, `render`);
8704
8700
  }
8705
8701
  const subTree = instance.subTree = renderComponentRoot(instance);
8706
- if (process.env.NODE_ENV !== "production") {
8702
+ if (!!(process.env.NODE_ENV !== "production")) {
8707
8703
  endMeasure(instance, `render`);
8708
8704
  }
8709
- if (process.env.NODE_ENV !== "production") {
8705
+ if (!!(process.env.NODE_ENV !== "production")) {
8710
8706
  startMeasure(instance, `patch`);
8711
8707
  }
8712
8708
  patch(
@@ -8718,7 +8714,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8718
8714
  parentSuspense,
8719
8715
  isSVG
8720
8716
  );
8721
- if (process.env.NODE_ENV !== "production") {
8717
+ if (!!(process.env.NODE_ENV !== "production")) {
8722
8718
  endMeasure(instance, `patch`);
8723
8719
  }
8724
8720
  initialVNode.el = subTree.el;
@@ -8749,7 +8745,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8749
8745
  }
8750
8746
  }
8751
8747
  instance.isMounted = true;
8752
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
8748
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
8753
8749
  devtoolsComponentAdded(instance);
8754
8750
  }
8755
8751
  initialVNode = container = anchor = null;
@@ -8757,7 +8753,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8757
8753
  let { next, bu, u, parent, vnode } = instance;
8758
8754
  let originNext = next;
8759
8755
  let vnodeHook;
8760
- if (process.env.NODE_ENV !== "production") {
8756
+ if (!!(process.env.NODE_ENV !== "production")) {
8761
8757
  pushWarningContext(next || instance.vnode);
8762
8758
  }
8763
8759
  toggleRecurse(instance, false);
@@ -8777,16 +8773,16 @@ function baseCreateRenderer(options, createHydrationFns) {
8777
8773
  instance.emit("hook:beforeUpdate");
8778
8774
  }
8779
8775
  toggleRecurse(instance, true);
8780
- if (process.env.NODE_ENV !== "production") {
8776
+ if (!!(process.env.NODE_ENV !== "production")) {
8781
8777
  startMeasure(instance, `render`);
8782
8778
  }
8783
8779
  const nextTree = renderComponentRoot(instance);
8784
- if (process.env.NODE_ENV !== "production") {
8780
+ if (!!(process.env.NODE_ENV !== "production")) {
8785
8781
  endMeasure(instance, `render`);
8786
8782
  }
8787
8783
  const prevTree = instance.subTree;
8788
8784
  instance.subTree = nextTree;
8789
- if (process.env.NODE_ENV !== "production") {
8785
+ if (!!(process.env.NODE_ENV !== "production")) {
8790
8786
  startMeasure(instance, `patch`);
8791
8787
  }
8792
8788
  patch(
@@ -8800,7 +8796,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8800
8796
  parentSuspense,
8801
8797
  isSVG
8802
8798
  );
8803
- if (process.env.NODE_ENV !== "production") {
8799
+ if (!!(process.env.NODE_ENV !== "production")) {
8804
8800
  endMeasure(instance, `patch`);
8805
8801
  }
8806
8802
  next.el = nextTree.el;
@@ -8822,10 +8818,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8822
8818
  parentSuspense
8823
8819
  );
8824
8820
  }
8825
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
8821
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
8826
8822
  devtoolsComponentUpdated(instance);
8827
8823
  }
8828
- if (process.env.NODE_ENV !== "production") {
8824
+ if (!!(process.env.NODE_ENV !== "production")) {
8829
8825
  popWarningContext();
8830
8826
  }
8831
8827
  }
@@ -8839,7 +8835,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8839
8835
  const update = instance.update = () => effect.run();
8840
8836
  update.id = instance.uid;
8841
8837
  toggleRecurse(instance, true);
8842
- if (process.env.NODE_ENV !== "production") {
8838
+ if (!!(process.env.NODE_ENV !== "production")) {
8843
8839
  effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;
8844
8840
  effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;
8845
8841
  update.ownerInstance = instance;
@@ -9055,7 +9051,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9055
9051
  for (i = s2; i <= e2; i++) {
9056
9052
  const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
9057
9053
  if (nextChild.key != null) {
9058
- if (process.env.NODE_ENV !== "production" && keyToNewIndexMap.has(nextChild.key)) {
9054
+ if (!!(process.env.NODE_ENV !== "production") && keyToNewIndexMap.has(nextChild.key)) {
9059
9055
  warn(
9060
9056
  `Duplicate keys found during update:`,
9061
9057
  JSON.stringify(nextChild.key),
@@ -9261,7 +9257,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9261
9257
  const remove = (vnode) => {
9262
9258
  const { type, el, anchor, transition } = vnode;
9263
9259
  if (type === Fragment) {
9264
- if (process.env.NODE_ENV !== "production" && vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) {
9260
+ if (!!(process.env.NODE_ENV !== "production") && vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) {
9265
9261
  vnode.children.forEach((child) => {
9266
9262
  if (child.type === Comment) {
9267
9263
  hostRemove(child.el);
@@ -9306,7 +9302,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9306
9302
  hostRemove(end);
9307
9303
  };
9308
9304
  const unmountComponent = (instance, parentSuspense, doRemove) => {
9309
- if (process.env.NODE_ENV !== "production" && instance.type.__hmrId) {
9305
+ if (!!(process.env.NODE_ENV !== "production") && instance.type.__hmrId) {
9310
9306
  unregisterHMR(instance);
9311
9307
  }
9312
9308
  const { bum, scope, update, subTree, um } = instance;
@@ -9339,7 +9335,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9339
9335
  parentSuspense.resolve();
9340
9336
  }
9341
9337
  }
9342
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
9338
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
9343
9339
  devtoolsComponentRemoved(instance);
9344
9340
  }
9345
9341
  };
@@ -9415,7 +9411,7 @@ function traverseStaticChildren(n1, n2, shallow = false) {
9415
9411
  if (c2.type === Text) {
9416
9412
  c2.el = c1.el;
9417
9413
  }
9418
- if (process.env.NODE_ENV !== "production" && c2.type === Comment && !c2.el) {
9414
+ if (!!(process.env.NODE_ENV !== "production") && c2.type === Comment && !c2.el) {
9419
9415
  c2.el = c1.el;
9420
9416
  }
9421
9417
  }
@@ -9469,21 +9465,21 @@ const resolveTarget = (props, select) => {
9469
9465
  const targetSelector = props && props.to;
9470
9466
  if (isString(targetSelector)) {
9471
9467
  if (!select) {
9472
- process.env.NODE_ENV !== "production" && warn(
9468
+ !!(process.env.NODE_ENV !== "production") && warn(
9473
9469
  `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`
9474
9470
  );
9475
9471
  return null;
9476
9472
  } else {
9477
9473
  const target = select(targetSelector);
9478
9474
  if (!target) {
9479
- process.env.NODE_ENV !== "production" && warn(
9475
+ !!(process.env.NODE_ENV !== "production") && warn(
9480
9476
  `Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`
9481
9477
  );
9482
9478
  }
9483
9479
  return target;
9484
9480
  }
9485
9481
  } else {
9486
- if (process.env.NODE_ENV !== "production" && !targetSelector && !isTeleportDisabled(props)) {
9482
+ if (!!(process.env.NODE_ENV !== "production") && !targetSelector && !isTeleportDisabled(props)) {
9487
9483
  warn(`Invalid Teleport target: ${targetSelector}`);
9488
9484
  }
9489
9485
  return targetSelector;
@@ -9500,13 +9496,13 @@ const TeleportImpl = {
9500
9496
  } = internals;
9501
9497
  const disabled = isTeleportDisabled(n2.props);
9502
9498
  let { shapeFlag, children, dynamicChildren } = n2;
9503
- if (process.env.NODE_ENV !== "production" && isHmrUpdating) {
9499
+ if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) {
9504
9500
  optimized = false;
9505
9501
  dynamicChildren = null;
9506
9502
  }
9507
9503
  if (n1 == null) {
9508
- const placeholder = n2.el = process.env.NODE_ENV !== "production" ? createComment("teleport start") : createText("");
9509
- const mainAnchor = n2.anchor = process.env.NODE_ENV !== "production" ? createComment("teleport end") : createText("");
9504
+ const placeholder = n2.el = !!(process.env.NODE_ENV !== "production") ? createComment("teleport start") : createText("");
9505
+ const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== "production") ? createComment("teleport end") : createText("");
9510
9506
  insert(placeholder, container, anchor);
9511
9507
  insert(mainAnchor, container, anchor);
9512
9508
  const target = n2.target = resolveTarget(n2.props, querySelector);
@@ -9514,7 +9510,7 @@ const TeleportImpl = {
9514
9510
  if (target) {
9515
9511
  insert(targetAnchor, target);
9516
9512
  isSVG = isSVG || isTargetSVG(target);
9517
- } else if (process.env.NODE_ENV !== "production" && !disabled) {
9513
+ } else if (!!(process.env.NODE_ENV !== "production") && !disabled) {
9518
9514
  warn("Invalid Teleport target on mount:", target, `(${typeof target})`);
9519
9515
  }
9520
9516
  const mount = (container2, anchor2) => {
@@ -9578,6 +9574,10 @@ const TeleportImpl = {
9578
9574
  internals,
9579
9575
  1
9580
9576
  );
9577
+ } else {
9578
+ if (n2.props && n1.props && n2.props.to !== n1.props.to) {
9579
+ n2.props.to = n1.props.to;
9580
+ }
9581
9581
  }
9582
9582
  } else {
9583
9583
  if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
@@ -9593,7 +9593,7 @@ const TeleportImpl = {
9593
9593
  internals,
9594
9594
  0
9595
9595
  );
9596
- } else if (process.env.NODE_ENV !== "production") {
9596
+ } else if (!!(process.env.NODE_ENV !== "production")) {
9597
9597
  warn(
9598
9598
  "Invalid Teleport target on update:",
9599
9599
  target,
@@ -9830,7 +9830,7 @@ function isVNode(value) {
9830
9830
  return value ? value.__v_isVNode === true : false;
9831
9831
  }
9832
9832
  function isSameVNodeType(n1, n2) {
9833
- if (process.env.NODE_ENV !== "production" && n2.shapeFlag & 6 && hmrDirtyComponents.has(n2.type)) {
9833
+ if (!!(process.env.NODE_ENV !== "production") && n2.shapeFlag & 6 && hmrDirtyComponents.has(n2.type)) {
9834
9834
  n1.shapeFlag &= ~256;
9835
9835
  n2.shapeFlag &= ~512;
9836
9836
  return false;
@@ -9895,7 +9895,7 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
9895
9895
  } else if (children) {
9896
9896
  vnode.shapeFlag |= isString(children) ? 8 : 16;
9897
9897
  }
9898
- if (process.env.NODE_ENV !== "production" && vnode.key !== vnode.key) {
9898
+ if (!!(process.env.NODE_ENV !== "production") && vnode.key !== vnode.key) {
9899
9899
  warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
9900
9900
  }
9901
9901
  if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
@@ -9915,10 +9915,10 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
9915
9915
  }
9916
9916
  return vnode;
9917
9917
  }
9918
- const createVNode = process.env.NODE_ENV !== "production" ? createVNodeWithArgsTransform : _createVNode;
9918
+ const createVNode = !!(process.env.NODE_ENV !== "production") ? createVNodeWithArgsTransform : _createVNode;
9919
9919
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
9920
9920
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
9921
- if (process.env.NODE_ENV !== "production" && !type) {
9921
+ if (!!(process.env.NODE_ENV !== "production") && !type) {
9922
9922
  warn(`Invalid vnode type when creating vnode: ${type}.`);
9923
9923
  }
9924
9924
  type = Comment;
@@ -9963,7 +9963,7 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
9963
9963
  }
9964
9964
  }
9965
9965
  const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;
9966
- if (process.env.NODE_ENV !== "production" && shapeFlag & 4 && isProxy(type)) {
9966
+ if (!!(process.env.NODE_ENV !== "production") && shapeFlag & 4 && isProxy(type)) {
9967
9967
  type = toRaw(type);
9968
9968
  warn(
9969
9969
  `Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with \`markRaw\` or using \`shallowRef\` instead of \`ref\`.`,
@@ -10005,7 +10005,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10005
10005
  ) : ref,
10006
10006
  scopeId: vnode.scopeId,
10007
10007
  slotScopeIds: vnode.slotScopeIds,
10008
- children: process.env.NODE_ENV !== "production" && patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,
10008
+ children: !!(process.env.NODE_ENV !== "production") && patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,
10009
10009
  target: vnode.target,
10010
10010
  targetAnchor: vnode.targetAnchor,
10011
10011
  staticCount: vnode.staticCount,
@@ -10232,7 +10232,7 @@ function createComponentInstance(vnode, parent, suspense) {
10232
10232
  ec: null,
10233
10233
  sp: null
10234
10234
  };
10235
- if (process.env.NODE_ENV !== "production") {
10235
+ if (!!(process.env.NODE_ENV !== "production")) {
10236
10236
  instance.ctx = createDevRenderContext(instance);
10237
10237
  } else {
10238
10238
  instance.ctx = { _: instance };
@@ -10296,7 +10296,7 @@ function setupComponent(instance, isSSR = false) {
10296
10296
  function setupStatefulComponent(instance, isSSR) {
10297
10297
  var _a;
10298
10298
  const Component = instance.type;
10299
- if (process.env.NODE_ENV !== "production") {
10299
+ if (!!(process.env.NODE_ENV !== "production")) {
10300
10300
  if (Component.name) {
10301
10301
  validateComponentName(Component.name, instance.appContext.config);
10302
10302
  }
@@ -10320,7 +10320,7 @@ function setupStatefulComponent(instance, isSSR) {
10320
10320
  }
10321
10321
  instance.accessCache = /* @__PURE__ */ Object.create(null);
10322
10322
  instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers));
10323
- if (process.env.NODE_ENV !== "production") {
10323
+ if (!!(process.env.NODE_ENV !== "production")) {
10324
10324
  exposePropsOnRenderContext(instance);
10325
10325
  }
10326
10326
  const { setup } = Component;
@@ -10332,7 +10332,7 @@ function setupStatefulComponent(instance, isSSR) {
10332
10332
  setup,
10333
10333
  instance,
10334
10334
  0,
10335
- [process.env.NODE_ENV !== "production" ? shallowReadonly(instance.props) : instance.props, setupContext]
10335
+ [!!(process.env.NODE_ENV !== "production") ? shallowReadonly(instance.props) : instance.props, setupContext]
10336
10336
  );
10337
10337
  resetTracking();
10338
10338
  unsetCurrentInstance();
@@ -10346,7 +10346,7 @@ function setupStatefulComponent(instance, isSSR) {
10346
10346
  });
10347
10347
  } else {
10348
10348
  instance.asyncDep = setupResult;
10349
- if (process.env.NODE_ENV !== "production" && !instance.suspense) {
10349
+ if (!!(process.env.NODE_ENV !== "production") && !instance.suspense) {
10350
10350
  const name = (_a = Component.name) != null ? _a : "Anonymous";
10351
10351
  warn(
10352
10352
  `Component <${name}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`
@@ -10368,19 +10368,19 @@ function handleSetupResult(instance, setupResult, isSSR) {
10368
10368
  instance.render = setupResult;
10369
10369
  }
10370
10370
  } else if (isObject(setupResult)) {
10371
- if (process.env.NODE_ENV !== "production" && isVNode(setupResult)) {
10371
+ if (!!(process.env.NODE_ENV !== "production") && isVNode(setupResult)) {
10372
10372
  warn(
10373
10373
  `setup() should not return VNodes directly - return a render function instead.`
10374
10374
  );
10375
10375
  }
10376
- if (process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) {
10376
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
10377
10377
  instance.devtoolsRawSetupState = setupResult;
10378
10378
  }
10379
10379
  instance.setupState = proxyRefs(setupResult);
10380
- if (process.env.NODE_ENV !== "production") {
10380
+ if (!!(process.env.NODE_ENV !== "production")) {
10381
10381
  exposeSetupStateOnRenderContext(instance);
10382
10382
  }
10383
- } else if (process.env.NODE_ENV !== "production" && setupResult !== void 0) {
10383
+ } else if (!!(process.env.NODE_ENV !== "production") && setupResult !== void 0) {
10384
10384
  warn(
10385
10385
  `setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`
10386
10386
  );
@@ -10402,7 +10402,7 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10402
10402
  const Component = instance.type;
10403
10403
  {
10404
10404
  convertLegacyRenderFn(instance);
10405
- if (process.env.NODE_ENV !== "production" && Component.compatConfig) {
10405
+ if (!!(process.env.NODE_ENV !== "production") && Component.compatConfig) {
10406
10406
  validateCompatConfig(Component.compatConfig);
10407
10407
  }
10408
10408
  }
@@ -10410,7 +10410,7 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10410
10410
  if (!isSSR && compile && !Component.render) {
10411
10411
  const template = instance.vnode.props && instance.vnode.props["inline-template"] || Component.template || resolveMergedOptions(instance).template;
10412
10412
  if (template) {
10413
- if (process.env.NODE_ENV !== "production") {
10413
+ if (!!(process.env.NODE_ENV !== "production")) {
10414
10414
  startMeasure(instance, `compile`);
10415
10415
  }
10416
10416
  const { isCustomElement, compilerOptions } = instance.appContext.config;
@@ -10432,7 +10432,7 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10432
10432
  }
10433
10433
  }
10434
10434
  Component.render = compile(template, finalCompilerOptions);
10435
- if (process.env.NODE_ENV !== "production") {
10435
+ if (!!(process.env.NODE_ENV !== "production")) {
10436
10436
  endMeasure(instance, `compile`);
10437
10437
  }
10438
10438
  }
@@ -10445,11 +10445,14 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10445
10445
  if (__VUE_OPTIONS_API__ && !skipOptions) {
10446
10446
  setCurrentInstance(instance);
10447
10447
  pauseTracking();
10448
- applyOptions(instance);
10449
- resetTracking();
10450
- unsetCurrentInstance();
10448
+ try {
10449
+ applyOptions(instance);
10450
+ } finally {
10451
+ resetTracking();
10452
+ unsetCurrentInstance();
10453
+ }
10451
10454
  }
10452
- if (process.env.NODE_ENV !== "production" && !Component.render && instance.render === NOOP && !isSSR) {
10455
+ if (!!(process.env.NODE_ENV !== "production") && !Component.render && instance.render === NOOP && !isSSR) {
10453
10456
  if (!compile && Component.template) {
10454
10457
  warn(
10455
10458
  `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".` )
@@ -10463,7 +10466,7 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
10463
10466
  function getAttrsProxy(instance) {
10464
10467
  return instance.attrsProxy || (instance.attrsProxy = new Proxy(
10465
10468
  instance.attrs,
10466
- process.env.NODE_ENV !== "production" ? {
10469
+ !!(process.env.NODE_ENV !== "production") ? {
10467
10470
  get(target, key) {
10468
10471
  markAttrsAccessed();
10469
10472
  track(instance, "get", "$attrs");
@@ -10495,7 +10498,7 @@ function getSlotsProxy(instance) {
10495
10498
  }
10496
10499
  function createSetupContext(instance) {
10497
10500
  const expose = (exposed) => {
10498
- if (process.env.NODE_ENV !== "production") {
10501
+ if (!!(process.env.NODE_ENV !== "production")) {
10499
10502
  if (instance.exposed) {
10500
10503
  warn(`expose() should be called only once per setup().`);
10501
10504
  }
@@ -10517,7 +10520,7 @@ function createSetupContext(instance) {
10517
10520
  }
10518
10521
  instance.exposed = exposed || {};
10519
10522
  };
10520
- if (process.env.NODE_ENV !== "production") {
10523
+ if (!!(process.env.NODE_ENV !== "production")) {
10521
10524
  return Object.freeze({
10522
10525
  get attrs() {
10523
10526
  return getAttrsProxy(instance);
@@ -10618,7 +10621,7 @@ const useSSRContext = () => {
10618
10621
  {
10619
10622
  const ctx = inject(ssrContextKey);
10620
10623
  if (!ctx) {
10621
- process.env.NODE_ENV !== "production" && warn(
10624
+ !!(process.env.NODE_ENV !== "production") && warn(
10622
10625
  `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
10623
10626
  );
10624
10627
  }
@@ -10627,7 +10630,7 @@ const useSSRContext = () => {
10627
10630
  };
10628
10631
 
10629
10632
  function initCustomFormatter() {
10630
- if (!(process.env.NODE_ENV !== "production") || typeof window === "undefined") {
10633
+ if (!!!(process.env.NODE_ENV !== "production") || typeof window === "undefined") {
10631
10634
  return;
10632
10635
  }
10633
10636
  const vueStyle = { style: "color:#3ba776" };
@@ -10827,7 +10830,7 @@ function isMemoSame(cached, memo) {
10827
10830
  return true;
10828
10831
  }
10829
10832
 
10830
- const version = "3.3.3";
10833
+ const version = "3.3.5";
10831
10834
  const _ssrUtils = {
10832
10835
  createComponentInstance,
10833
10836
  setupComponent,
@@ -10914,934 +10917,996 @@ const nodeOps = {
10914
10917
  }
10915
10918
  };
10916
10919
 
10917
- function patchClass(el, value, isSVG) {
10918
- const transitionClasses = el._vtc;
10919
- if (transitionClasses) {
10920
- value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
10921
- }
10922
- if (value == null) {
10923
- el.removeAttribute("class");
10924
- } else if (isSVG) {
10925
- el.setAttribute("class", value);
10926
- } else {
10927
- el.className = value;
10928
- }
10920
+ const TRANSITION = "transition";
10921
+ const ANIMATION = "animation";
10922
+ const vtcKey = Symbol("_vtc");
10923
+ const Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);
10924
+ Transition.displayName = "Transition";
10925
+ {
10926
+ Transition.__isBuiltIn = true;
10929
10927
  }
10930
-
10931
- function patchStyle(el, prev, next) {
10932
- const style = el.style;
10933
- const isCssString = isString(next);
10934
- if (next && !isCssString) {
10935
- if (prev && !isString(prev)) {
10936
- for (const key in prev) {
10937
- if (next[key] == null) {
10938
- setStyle(style, key, "");
10939
- }
10940
- }
10941
- }
10942
- for (const key in next) {
10943
- setStyle(style, key, next[key]);
10944
- }
10945
- } else {
10946
- const currentDisplay = style.display;
10947
- if (isCssString) {
10948
- if (prev !== next) {
10949
- style.cssText = next;
10950
- }
10951
- } else if (prev) {
10952
- el.removeAttribute("style");
10953
- }
10954
- if ("_vod" in el) {
10955
- style.display = currentDisplay;
10956
- }
10928
+ const DOMTransitionPropsValidators = {
10929
+ name: String,
10930
+ type: String,
10931
+ css: {
10932
+ type: Boolean,
10933
+ default: true
10934
+ },
10935
+ duration: [String, Number, Object],
10936
+ enterFromClass: String,
10937
+ enterActiveClass: String,
10938
+ enterToClass: String,
10939
+ appearFromClass: String,
10940
+ appearActiveClass: String,
10941
+ appearToClass: String,
10942
+ leaveFromClass: String,
10943
+ leaveActiveClass: String,
10944
+ leaveToClass: String
10945
+ };
10946
+ const TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(
10947
+ {},
10948
+ BaseTransitionPropsValidators,
10949
+ DOMTransitionPropsValidators
10950
+ );
10951
+ const callHook = (hook, args = []) => {
10952
+ if (isArray(hook)) {
10953
+ hook.forEach((h2) => h2(...args));
10954
+ } else if (hook) {
10955
+ hook(...args);
10957
10956
  }
10958
- }
10959
- const semicolonRE = /[^\\];\s*$/;
10960
- const importantRE = /\s*!important$/;
10961
- function setStyle(style, name, val) {
10962
- if (isArray(val)) {
10963
- val.forEach((v) => setStyle(style, name, v));
10964
- } else {
10965
- if (val == null)
10966
- val = "";
10967
- if (process.env.NODE_ENV !== "production") {
10968
- if (semicolonRE.test(val)) {
10969
- warn(
10970
- `Unexpected semicolon at the end of '${name}' style value: '${val}'`
10971
- );
10972
- }
10973
- }
10974
- if (name.startsWith("--")) {
10975
- style.setProperty(name, val);
10976
- } else {
10977
- const prefixed = autoPrefix(style, name);
10978
- if (importantRE.test(val)) {
10979
- style.setProperty(
10980
- hyphenate(prefixed),
10981
- val.replace(importantRE, ""),
10982
- "important"
10983
- );
10984
- } else {
10985
- style[prefixed] = val;
10986
- }
10957
+ };
10958
+ const hasExplicitCallback = (hook) => {
10959
+ return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
10960
+ };
10961
+ function resolveTransitionProps(rawProps) {
10962
+ const baseProps = {};
10963
+ for (const key in rawProps) {
10964
+ if (!(key in DOMTransitionPropsValidators)) {
10965
+ baseProps[key] = rawProps[key];
10987
10966
  }
10988
10967
  }
10989
- }
10990
- const prefixes = ["Webkit", "Moz", "ms"];
10991
- const prefixCache = {};
10992
- function autoPrefix(style, rawName) {
10993
- const cached = prefixCache[rawName];
10994
- if (cached) {
10995
- return cached;
10996
- }
10997
- let name = camelize(rawName);
10998
- if (name !== "filter" && name in style) {
10999
- return prefixCache[rawName] = name;
11000
- }
11001
- name = capitalize(name);
11002
- for (let i = 0; i < prefixes.length; i++) {
11003
- const prefixed = prefixes[i] + name;
11004
- if (prefixed in style) {
11005
- return prefixCache[rawName] = prefixed;
11006
- }
10968
+ if (rawProps.css === false) {
10969
+ return baseProps;
11007
10970
  }
11008
- return rawName;
11009
- }
11010
-
11011
- const xlinkNS = "http://www.w3.org/1999/xlink";
11012
- function patchAttr(el, key, value, isSVG, instance) {
11013
- if (isSVG && key.startsWith("xlink:")) {
11014
- if (value == null) {
11015
- el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
11016
- } else {
11017
- el.setAttributeNS(xlinkNS, key, value);
11018
- }
11019
- } else {
11020
- if (compatCoerceAttr(el, key, value, instance)) {
11021
- return;
10971
+ const {
10972
+ name = "v",
10973
+ type,
10974
+ duration,
10975
+ enterFromClass = `${name}-enter-from`,
10976
+ enterActiveClass = `${name}-enter-active`,
10977
+ enterToClass = `${name}-enter-to`,
10978
+ appearFromClass = enterFromClass,
10979
+ appearActiveClass = enterActiveClass,
10980
+ appearToClass = enterToClass,
10981
+ leaveFromClass = `${name}-leave-from`,
10982
+ leaveActiveClass = `${name}-leave-active`,
10983
+ leaveToClass = `${name}-leave-to`
10984
+ } = rawProps;
10985
+ const legacyClassEnabled = compatUtils.isCompatEnabled("TRANSITION_CLASSES", null);
10986
+ let legacyEnterFromClass;
10987
+ let legacyAppearFromClass;
10988
+ let legacyLeaveFromClass;
10989
+ if (legacyClassEnabled) {
10990
+ const toLegacyClass = (cls) => cls.replace(/-from$/, "");
10991
+ if (!rawProps.enterFromClass) {
10992
+ legacyEnterFromClass = toLegacyClass(enterFromClass);
11022
10993
  }
11023
- const isBoolean = isSpecialBooleanAttr(key);
11024
- if (value == null || isBoolean && !includeBooleanAttr(value)) {
11025
- el.removeAttribute(key);
11026
- } else {
11027
- el.setAttribute(key, isBoolean ? "" : value);
10994
+ if (!rawProps.appearFromClass) {
10995
+ legacyAppearFromClass = toLegacyClass(appearFromClass);
11028
10996
  }
11029
- }
11030
- }
11031
- const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck") ;
11032
- function compatCoerceAttr(el, key, value, instance = null) {
11033
- if (isEnumeratedAttr(key)) {
11034
- const v2CoercedValue = value === null ? "false" : typeof value !== "boolean" && value !== void 0 ? "true" : null;
11035
- if (v2CoercedValue && compatUtils.softAssertCompatEnabled(
11036
- "ATTR_ENUMERATED_COERCION",
11037
- instance,
11038
- key,
11039
- value,
11040
- v2CoercedValue
11041
- )) {
11042
- el.setAttribute(key, v2CoercedValue);
11043
- return true;
10997
+ if (!rawProps.leaveFromClass) {
10998
+ legacyLeaveFromClass = toLegacyClass(leaveFromClass);
11044
10999
  }
11045
- } else if (value === false && !isSpecialBooleanAttr(key) && compatUtils.softAssertCompatEnabled(
11046
- "ATTR_FALSE_VALUE",
11047
- instance,
11048
- key
11049
- )) {
11050
- el.removeAttribute(key);
11051
- return true;
11052
11000
  }
11053
- return false;
11054
- }
11055
-
11056
- function patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) {
11057
- if (key === "innerHTML" || key === "textContent") {
11058
- if (prevChildren) {
11059
- unmountChildren(prevChildren, parentComponent, parentSuspense);
11060
- }
11061
- el[key] = value == null ? "" : value;
11062
- return;
11063
- }
11064
- const tag = el.tagName;
11065
- if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
11066
- !tag.includes("-")) {
11067
- el._value = value;
11068
- const oldValue = tag === "OPTION" ? el.getAttribute("value") : el.value;
11069
- const newValue = value == null ? "" : value;
11070
- if (oldValue !== newValue) {
11071
- el.value = newValue;
11072
- }
11073
- if (value == null) {
11074
- el.removeAttribute(key);
11075
- }
11076
- return;
11077
- }
11078
- let needRemove = false;
11079
- if (value === "" || value == null) {
11080
- const type = typeof el[key];
11081
- if (type === "boolean") {
11082
- value = includeBooleanAttr(value);
11083
- } else if (value == null && type === "string") {
11084
- value = "";
11085
- needRemove = true;
11086
- } else if (type === "number") {
11087
- value = 0;
11088
- needRemove = true;
11089
- }
11090
- } else {
11091
- if (value === false && compatUtils.isCompatEnabled(
11092
- "ATTR_FALSE_VALUE",
11093
- parentComponent
11094
- )) {
11095
- const type = typeof el[key];
11096
- if (type === "string" || type === "number") {
11097
- process.env.NODE_ENV !== "production" && compatUtils.warnDeprecation(
11098
- "ATTR_FALSE_VALUE",
11099
- parentComponent,
11100
- key
11101
- );
11102
- value = type === "number" ? 0 : "";
11103
- needRemove = true;
11001
+ const durations = normalizeDuration(duration);
11002
+ const enterDuration = durations && durations[0];
11003
+ const leaveDuration = durations && durations[1];
11004
+ const {
11005
+ onBeforeEnter,
11006
+ onEnter,
11007
+ onEnterCancelled,
11008
+ onLeave,
11009
+ onLeaveCancelled,
11010
+ onBeforeAppear = onBeforeEnter,
11011
+ onAppear = onEnter,
11012
+ onAppearCancelled = onEnterCancelled
11013
+ } = baseProps;
11014
+ const finishEnter = (el, isAppear, done) => {
11015
+ removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
11016
+ removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
11017
+ done && done();
11018
+ };
11019
+ const finishLeave = (el, done) => {
11020
+ el._isLeaving = false;
11021
+ removeTransitionClass(el, leaveFromClass);
11022
+ removeTransitionClass(el, leaveToClass);
11023
+ removeTransitionClass(el, leaveActiveClass);
11024
+ done && done();
11025
+ };
11026
+ const makeEnterHook = (isAppear) => {
11027
+ return (el, done) => {
11028
+ const hook = isAppear ? onAppear : onEnter;
11029
+ const resolve = () => finishEnter(el, isAppear, done);
11030
+ callHook(hook, [el, resolve]);
11031
+ nextFrame(() => {
11032
+ removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
11033
+ if (legacyClassEnabled) {
11034
+ const legacyClass = isAppear ? legacyAppearFromClass : legacyEnterFromClass;
11035
+ if (legacyClass) {
11036
+ removeTransitionClass(el, legacyClass);
11037
+ }
11038
+ }
11039
+ addTransitionClass(el, isAppear ? appearToClass : enterToClass);
11040
+ if (!hasExplicitCallback(hook)) {
11041
+ whenTransitionEnds(el, type, enterDuration, resolve);
11042
+ }
11043
+ });
11044
+ };
11045
+ };
11046
+ return extend(baseProps, {
11047
+ onBeforeEnter(el) {
11048
+ callHook(onBeforeEnter, [el]);
11049
+ addTransitionClass(el, enterFromClass);
11050
+ if (legacyClassEnabled && legacyEnterFromClass) {
11051
+ addTransitionClass(el, legacyEnterFromClass);
11104
11052
  }
11053
+ addTransitionClass(el, enterActiveClass);
11054
+ },
11055
+ onBeforeAppear(el) {
11056
+ callHook(onBeforeAppear, [el]);
11057
+ addTransitionClass(el, appearFromClass);
11058
+ if (legacyClassEnabled && legacyAppearFromClass) {
11059
+ addTransitionClass(el, legacyAppearFromClass);
11060
+ }
11061
+ addTransitionClass(el, appearActiveClass);
11062
+ },
11063
+ onEnter: makeEnterHook(false),
11064
+ onAppear: makeEnterHook(true),
11065
+ onLeave(el, done) {
11066
+ el._isLeaving = true;
11067
+ const resolve = () => finishLeave(el, done);
11068
+ addTransitionClass(el, leaveFromClass);
11069
+ if (legacyClassEnabled && legacyLeaveFromClass) {
11070
+ addTransitionClass(el, legacyLeaveFromClass);
11071
+ }
11072
+ forceReflow();
11073
+ addTransitionClass(el, leaveActiveClass);
11074
+ nextFrame(() => {
11075
+ if (!el._isLeaving) {
11076
+ return;
11077
+ }
11078
+ removeTransitionClass(el, leaveFromClass);
11079
+ if (legacyClassEnabled && legacyLeaveFromClass) {
11080
+ removeTransitionClass(el, legacyLeaveFromClass);
11081
+ }
11082
+ addTransitionClass(el, leaveToClass);
11083
+ if (!hasExplicitCallback(onLeave)) {
11084
+ whenTransitionEnds(el, type, leaveDuration, resolve);
11085
+ }
11086
+ });
11087
+ callHook(onLeave, [el, resolve]);
11088
+ },
11089
+ onEnterCancelled(el) {
11090
+ finishEnter(el, false);
11091
+ callHook(onEnterCancelled, [el]);
11092
+ },
11093
+ onAppearCancelled(el) {
11094
+ finishEnter(el, true);
11095
+ callHook(onAppearCancelled, [el]);
11096
+ },
11097
+ onLeaveCancelled(el) {
11098
+ finishLeave(el);
11099
+ callHook(onLeaveCancelled, [el]);
11105
11100
  }
11101
+ });
11102
+ }
11103
+ function normalizeDuration(duration) {
11104
+ if (duration == null) {
11105
+ return null;
11106
+ } else if (isObject(duration)) {
11107
+ return [NumberOf(duration.enter), NumberOf(duration.leave)];
11108
+ } else {
11109
+ const n = NumberOf(duration);
11110
+ return [n, n];
11106
11111
  }
11107
- try {
11108
- el[key] = value;
11109
- } catch (e) {
11110
- if (process.env.NODE_ENV !== "production" && !needRemove) {
11111
- warn(
11112
- `Failed setting prop "${key}" on <${tag.toLowerCase()}>: value ${value} is invalid.`,
11113
- e
11114
- );
11115
- }
11116
- }
11117
- needRemove && el.removeAttribute(key);
11118
11112
  }
11119
-
11120
- function addEventListener(el, event, handler, options) {
11121
- el.addEventListener(event, handler, options);
11113
+ function NumberOf(val) {
11114
+ const res = toNumber(val);
11115
+ if (!!(process.env.NODE_ENV !== "production")) {
11116
+ assertNumber(res, "<transition> explicit duration");
11117
+ }
11118
+ return res;
11122
11119
  }
11123
- function removeEventListener(el, event, handler, options) {
11124
- el.removeEventListener(event, handler, options);
11120
+ function addTransitionClass(el, cls) {
11121
+ cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
11122
+ (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);
11125
11123
  }
11126
- function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
11127
- const invokers = el._vei || (el._vei = {});
11128
- const existingInvoker = invokers[rawName];
11129
- if (nextValue && existingInvoker) {
11130
- existingInvoker.value = nextValue;
11131
- } else {
11132
- const [name, options] = parseName(rawName);
11133
- if (nextValue) {
11134
- const invoker = invokers[rawName] = createInvoker(nextValue, instance);
11135
- addEventListener(el, name, invoker, options);
11136
- } else if (existingInvoker) {
11137
- removeEventListener(el, name, existingInvoker, options);
11138
- invokers[rawName] = void 0;
11124
+ function removeTransitionClass(el, cls) {
11125
+ cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
11126
+ const _vtc = el[vtcKey];
11127
+ if (_vtc) {
11128
+ _vtc.delete(cls);
11129
+ if (!_vtc.size) {
11130
+ el[vtcKey] = void 0;
11139
11131
  }
11140
11132
  }
11141
11133
  }
11142
- const optionsModifierRE = /(?:Once|Passive|Capture)$/;
11143
- function parseName(name) {
11144
- let options;
11145
- if (optionsModifierRE.test(name)) {
11146
- options = {};
11147
- let m;
11148
- while (m = name.match(optionsModifierRE)) {
11149
- name = name.slice(0, name.length - m[0].length);
11150
- options[m[0].toLowerCase()] = true;
11134
+ function nextFrame(cb) {
11135
+ requestAnimationFrame(() => {
11136
+ requestAnimationFrame(cb);
11137
+ });
11138
+ }
11139
+ let endId = 0;
11140
+ function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
11141
+ const id = el._endId = ++endId;
11142
+ const resolveIfNotStale = () => {
11143
+ if (id === el._endId) {
11144
+ resolve();
11151
11145
  }
11146
+ };
11147
+ if (explicitTimeout) {
11148
+ return setTimeout(resolveIfNotStale, explicitTimeout);
11152
11149
  }
11153
- const event = name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2));
11154
- return [event, options];
11155
- }
11156
- let cachedNow = 0;
11157
- const p = /* @__PURE__ */ Promise.resolve();
11158
- const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
11159
- function createInvoker(initialValue, instance) {
11160
- const invoker = (e) => {
11161
- if (!e._vts) {
11162
- e._vts = Date.now();
11163
- } else if (e._vts <= invoker.attached) {
11164
- return;
11150
+ const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
11151
+ if (!type) {
11152
+ return resolve();
11153
+ }
11154
+ const endEvent = type + "end";
11155
+ let ended = 0;
11156
+ const end = () => {
11157
+ el.removeEventListener(endEvent, onEnd);
11158
+ resolveIfNotStale();
11159
+ };
11160
+ const onEnd = (e) => {
11161
+ if (e.target === el && ++ended >= propCount) {
11162
+ end();
11165
11163
  }
11166
- callWithAsyncErrorHandling(
11167
- patchStopImmediatePropagation(e, invoker.value),
11168
- instance,
11169
- 5,
11170
- [e]
11171
- );
11172
11164
  };
11173
- invoker.value = initialValue;
11174
- invoker.attached = getNow();
11175
- return invoker;
11165
+ setTimeout(() => {
11166
+ if (ended < propCount) {
11167
+ end();
11168
+ }
11169
+ }, timeout + 1);
11170
+ el.addEventListener(endEvent, onEnd);
11176
11171
  }
11177
- function patchStopImmediatePropagation(e, value) {
11178
- if (isArray(value)) {
11179
- const originalStop = e.stopImmediatePropagation;
11180
- e.stopImmediatePropagation = () => {
11181
- originalStop.call(e);
11182
- e._stopped = true;
11183
- };
11184
- return value.map((fn) => (e2) => !e2._stopped && fn && fn(e2));
11172
+ function getTransitionInfo(el, expectedType) {
11173
+ const styles = window.getComputedStyle(el);
11174
+ const getStyleProperties = (key) => (styles[key] || "").split(", ");
11175
+ const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
11176
+ const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
11177
+ const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
11178
+ const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
11179
+ const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
11180
+ const animationTimeout = getTimeout(animationDelays, animationDurations);
11181
+ let type = null;
11182
+ let timeout = 0;
11183
+ let propCount = 0;
11184
+ if (expectedType === TRANSITION) {
11185
+ if (transitionTimeout > 0) {
11186
+ type = TRANSITION;
11187
+ timeout = transitionTimeout;
11188
+ propCount = transitionDurations.length;
11189
+ }
11190
+ } else if (expectedType === ANIMATION) {
11191
+ if (animationTimeout > 0) {
11192
+ type = ANIMATION;
11193
+ timeout = animationTimeout;
11194
+ propCount = animationDurations.length;
11195
+ }
11185
11196
  } else {
11186
- return value;
11197
+ timeout = Math.max(transitionTimeout, animationTimeout);
11198
+ type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
11199
+ propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
11200
+ }
11201
+ const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
11202
+ getStyleProperties(`${TRANSITION}Property`).toString()
11203
+ );
11204
+ return {
11205
+ type,
11206
+ timeout,
11207
+ propCount,
11208
+ hasTransform
11209
+ };
11210
+ }
11211
+ function getTimeout(delays, durations) {
11212
+ while (delays.length < durations.length) {
11213
+ delays = delays.concat(delays);
11187
11214
  }
11215
+ return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
11216
+ }
11217
+ function toMs(s) {
11218
+ if (s === "auto")
11219
+ return 0;
11220
+ return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
11221
+ }
11222
+ function forceReflow() {
11223
+ return document.body.offsetHeight;
11188
11224
  }
11189
11225
 
11190
- const nativeOnRE = /^on[a-z]/;
11191
- const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
11192
- if (key === "class") {
11193
- patchClass(el, nextValue, isSVG);
11194
- } else if (key === "style") {
11195
- patchStyle(el, prevValue, nextValue);
11196
- } else if (isOn(key)) {
11197
- if (!isModelListener(key)) {
11198
- patchEvent(el, key, prevValue, nextValue, parentComponent);
11199
- }
11200
- } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {
11201
- patchDOMProp(
11202
- el,
11203
- key,
11204
- nextValue,
11205
- prevChildren,
11206
- parentComponent,
11207
- parentSuspense,
11208
- unmountChildren
11209
- );
11226
+ function patchClass(el, value, isSVG) {
11227
+ const transitionClasses = el[vtcKey];
11228
+ if (transitionClasses) {
11229
+ value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
11230
+ }
11231
+ if (value == null) {
11232
+ el.removeAttribute("class");
11233
+ } else if (isSVG) {
11234
+ el.setAttribute("class", value);
11210
11235
  } else {
11211
- if (key === "true-value") {
11212
- el._trueValue = nextValue;
11213
- } else if (key === "false-value") {
11214
- el._falseValue = nextValue;
11215
- }
11216
- patchAttr(el, key, nextValue, isSVG, parentComponent);
11236
+ el.className = value;
11217
11237
  }
11218
- };
11219
- function shouldSetAsProp(el, key, value, isSVG) {
11220
- if (isSVG) {
11221
- if (key === "innerHTML" || key === "textContent") {
11222
- return true;
11238
+ }
11239
+
11240
+ const vShowOldKey = Symbol("_vod");
11241
+ const vShow = {
11242
+ beforeMount(el, { value }, { transition }) {
11243
+ el[vShowOldKey] = el.style.display === "none" ? "" : el.style.display;
11244
+ if (transition && value) {
11245
+ transition.beforeEnter(el);
11246
+ } else {
11247
+ setDisplay(el, value);
11223
11248
  }
11224
- if (key in el && nativeOnRE.test(key) && isFunction(value)) {
11225
- return true;
11249
+ },
11250
+ mounted(el, { value }, { transition }) {
11251
+ if (transition && value) {
11252
+ transition.enter(el);
11226
11253
  }
11227
- return false;
11228
- }
11229
- if (key === "spellcheck" || key === "draggable" || key === "translate") {
11230
- return false;
11231
- }
11232
- if (key === "form") {
11233
- return false;
11234
- }
11235
- if (key === "list" && el.tagName === "INPUT") {
11236
- return false;
11237
- }
11238
- if (key === "type" && el.tagName === "TEXTAREA") {
11239
- return false;
11240
- }
11241
- if (nativeOnRE.test(key) && isString(value)) {
11242
- return false;
11254
+ },
11255
+ updated(el, { value, oldValue }, { transition }) {
11256
+ if (!value === !oldValue)
11257
+ return;
11258
+ if (transition) {
11259
+ if (value) {
11260
+ transition.beforeEnter(el);
11261
+ setDisplay(el, true);
11262
+ transition.enter(el);
11263
+ } else {
11264
+ transition.leave(el, () => {
11265
+ setDisplay(el, false);
11266
+ });
11267
+ }
11268
+ } else {
11269
+ setDisplay(el, value);
11270
+ }
11271
+ },
11272
+ beforeUnmount(el, { value }) {
11273
+ setDisplay(el, value);
11243
11274
  }
11244
- return key in el;
11275
+ };
11276
+ function setDisplay(el, value) {
11277
+ el.style.display = value ? el[vShowOldKey] : "none";
11278
+ }
11279
+ function initVShowForSSR() {
11280
+ vShow.getSSRProps = ({ value }) => {
11281
+ if (!value) {
11282
+ return { style: { display: "none" } };
11283
+ }
11284
+ };
11245
11285
  }
11246
11286
 
11247
- function defineCustomElement(options, hydrate2) {
11248
- const Comp = defineComponent(options);
11249
- class VueCustomElement extends VueElement {
11250
- constructor(initialProps) {
11251
- super(Comp, initialProps, hydrate2);
11287
+ function patchStyle(el, prev, next) {
11288
+ const style = el.style;
11289
+ const isCssString = isString(next);
11290
+ if (next && !isCssString) {
11291
+ if (prev && !isString(prev)) {
11292
+ for (const key in prev) {
11293
+ if (next[key] == null) {
11294
+ setStyle(style, key, "");
11295
+ }
11296
+ }
11297
+ }
11298
+ for (const key in next) {
11299
+ setStyle(style, key, next[key]);
11300
+ }
11301
+ } else {
11302
+ const currentDisplay = style.display;
11303
+ if (isCssString) {
11304
+ if (prev !== next) {
11305
+ style.cssText = next;
11306
+ }
11307
+ } else if (prev) {
11308
+ el.removeAttribute("style");
11309
+ }
11310
+ if (vShowOldKey in el) {
11311
+ style.display = currentDisplay;
11252
11312
  }
11253
11313
  }
11254
- VueCustomElement.def = Comp;
11255
- return VueCustomElement;
11256
11314
  }
11257
- const defineSSRCustomElement = (options) => {
11258
- return defineCustomElement(options, hydrate);
11259
- };
11260
- const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
11261
- };
11262
- class VueElement extends BaseClass {
11263
- constructor(_def, _props = {}, hydrate2) {
11264
- super();
11265
- this._def = _def;
11266
- this._props = _props;
11267
- /**
11268
- * @internal
11269
- */
11270
- this._instance = null;
11271
- this._connected = false;
11272
- this._resolved = false;
11273
- this._numberProps = null;
11274
- if (this.shadowRoot && hydrate2) {
11275
- hydrate2(this._createVNode(), this.shadowRoot);
11276
- } else {
11277
- if (process.env.NODE_ENV !== "production" && this.shadowRoot) {
11315
+ const semicolonRE = /[^\\];\s*$/;
11316
+ const importantRE = /\s*!important$/;
11317
+ function setStyle(style, name, val) {
11318
+ if (isArray(val)) {
11319
+ val.forEach((v) => setStyle(style, name, v));
11320
+ } else {
11321
+ if (val == null)
11322
+ val = "";
11323
+ if (!!(process.env.NODE_ENV !== "production")) {
11324
+ if (semicolonRE.test(val)) {
11278
11325
  warn(
11279
- `Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use \`defineSSRCustomElement\`.`
11326
+ `Unexpected semicolon at the end of '${name}' style value: '${val}'`
11280
11327
  );
11281
11328
  }
11282
- this.attachShadow({ mode: "open" });
11283
- if (!this._def.__asyncLoader) {
11284
- this._resolveProps(this._def);
11285
- }
11286
11329
  }
11287
- }
11288
- connectedCallback() {
11289
- this._connected = true;
11290
- if (!this._instance) {
11291
- if (this._resolved) {
11292
- this._update();
11330
+ if (name.startsWith("--")) {
11331
+ style.setProperty(name, val);
11332
+ } else {
11333
+ const prefixed = autoPrefix(style, name);
11334
+ if (importantRE.test(val)) {
11335
+ style.setProperty(
11336
+ hyphenate(prefixed),
11337
+ val.replace(importantRE, ""),
11338
+ "important"
11339
+ );
11293
11340
  } else {
11294
- this._resolveDef();
11341
+ style[prefixed] = val;
11295
11342
  }
11296
11343
  }
11297
11344
  }
11298
- disconnectedCallback() {
11299
- this._connected = false;
11300
- nextTick(() => {
11301
- if (!this._connected) {
11302
- render(null, this.shadowRoot);
11303
- this._instance = null;
11304
- }
11305
- });
11345
+ }
11346
+ const prefixes = ["Webkit", "Moz", "ms"];
11347
+ const prefixCache = {};
11348
+ function autoPrefix(style, rawName) {
11349
+ const cached = prefixCache[rawName];
11350
+ if (cached) {
11351
+ return cached;
11306
11352
  }
11307
- /**
11308
- * resolve inner component definition (handle possible async component)
11309
- */
11310
- _resolveDef() {
11311
- this._resolved = true;
11312
- for (let i = 0; i < this.attributes.length; i++) {
11313
- this._setAttr(this.attributes[i].name);
11353
+ let name = camelize(rawName);
11354
+ if (name !== "filter" && name in style) {
11355
+ return prefixCache[rawName] = name;
11356
+ }
11357
+ name = capitalize(name);
11358
+ for (let i = 0; i < prefixes.length; i++) {
11359
+ const prefixed = prefixes[i] + name;
11360
+ if (prefixed in style) {
11361
+ return prefixCache[rawName] = prefixed;
11314
11362
  }
11315
- new MutationObserver((mutations) => {
11316
- for (const m of mutations) {
11317
- this._setAttr(m.attributeName);
11318
- }
11319
- }).observe(this, { attributes: true });
11320
- const resolve = (def, isAsync = false) => {
11321
- const { props, styles } = def;
11322
- let numberProps;
11323
- if (props && !isArray(props)) {
11324
- for (const key in props) {
11325
- const opt = props[key];
11326
- if (opt === Number || opt && opt.type === Number) {
11327
- if (key in this._props) {
11328
- this._props[key] = toNumber(this._props[key]);
11329
- }
11330
- (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[camelize(key)] = true;
11331
- }
11332
- }
11333
- }
11334
- this._numberProps = numberProps;
11335
- if (isAsync) {
11336
- this._resolveProps(def);
11337
- }
11338
- this._applyStyles(styles);
11339
- this._update();
11340
- };
11341
- const asyncDef = this._def.__asyncLoader;
11342
- if (asyncDef) {
11343
- asyncDef().then((def) => resolve(def, true));
11363
+ }
11364
+ return rawName;
11365
+ }
11366
+
11367
+ const xlinkNS = "http://www.w3.org/1999/xlink";
11368
+ function patchAttr(el, key, value, isSVG, instance) {
11369
+ if (isSVG && key.startsWith("xlink:")) {
11370
+ if (value == null) {
11371
+ el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
11344
11372
  } else {
11345
- resolve(this._def);
11373
+ el.setAttributeNS(xlinkNS, key, value);
11346
11374
  }
11347
- }
11348
- _resolveProps(def) {
11349
- const { props } = def;
11350
- const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});
11351
- for (const key of Object.keys(this)) {
11352
- if (key[0] !== "_" && declaredPropKeys.includes(key)) {
11353
- this._setProp(key, this[key], true, false);
11354
- }
11375
+ } else {
11376
+ if (compatCoerceAttr(el, key, value, instance)) {
11377
+ return;
11355
11378
  }
11356
- for (const key of declaredPropKeys.map(camelize)) {
11357
- Object.defineProperty(this, key, {
11358
- get() {
11359
- return this._getProp(key);
11360
- },
11361
- set(val) {
11362
- this._setProp(key, val);
11363
- }
11364
- });
11379
+ const isBoolean = isSpecialBooleanAttr(key);
11380
+ if (value == null || isBoolean && !includeBooleanAttr(value)) {
11381
+ el.removeAttribute(key);
11382
+ } else {
11383
+ el.setAttribute(key, isBoolean ? "" : value);
11365
11384
  }
11366
11385
  }
11367
- _setAttr(key) {
11368
- let value = this.getAttribute(key);
11369
- const camelKey = camelize(key);
11370
- if (this._numberProps && this._numberProps[camelKey]) {
11371
- value = toNumber(value);
11386
+ }
11387
+ const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck") ;
11388
+ function compatCoerceAttr(el, key, value, instance = null) {
11389
+ if (isEnumeratedAttr(key)) {
11390
+ const v2CoercedValue = value === null ? "false" : typeof value !== "boolean" && value !== void 0 ? "true" : null;
11391
+ if (v2CoercedValue && compatUtils.softAssertCompatEnabled(
11392
+ "ATTR_ENUMERATED_COERCION",
11393
+ instance,
11394
+ key,
11395
+ value,
11396
+ v2CoercedValue
11397
+ )) {
11398
+ el.setAttribute(key, v2CoercedValue);
11399
+ return true;
11372
11400
  }
11373
- this._setProp(camelKey, value, false);
11374
- }
11375
- /**
11376
- * @internal
11377
- */
11378
- _getProp(key) {
11379
- return this._props[key];
11401
+ } else if (value === false && !isSpecialBooleanAttr(key) && compatUtils.softAssertCompatEnabled(
11402
+ "ATTR_FALSE_VALUE",
11403
+ instance,
11404
+ key
11405
+ )) {
11406
+ el.removeAttribute(key);
11407
+ return true;
11380
11408
  }
11381
- /**
11382
- * @internal
11383
- */
11384
- _setProp(key, val, shouldReflect = true, shouldUpdate = true) {
11385
- if (val !== this._props[key]) {
11386
- this._props[key] = val;
11387
- if (shouldUpdate && this._instance) {
11388
- this._update();
11389
- }
11390
- if (shouldReflect) {
11391
- if (val === true) {
11392
- this.setAttribute(hyphenate(key), "");
11393
- } else if (typeof val === "string" || typeof val === "number") {
11394
- this.setAttribute(hyphenate(key), val + "");
11395
- } else if (!val) {
11396
- this.removeAttribute(hyphenate(key));
11397
- }
11398
- }
11409
+ return false;
11410
+ }
11411
+
11412
+ function patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) {
11413
+ if (key === "innerHTML" || key === "textContent") {
11414
+ if (prevChildren) {
11415
+ unmountChildren(prevChildren, parentComponent, parentSuspense);
11399
11416
  }
11417
+ el[key] = value == null ? "" : value;
11418
+ return;
11400
11419
  }
11401
- _update() {
11402
- render(this._createVNode(), this.shadowRoot);
11403
- }
11404
- _createVNode() {
11405
- const vnode = createVNode(this._def, extend({}, this._props));
11406
- if (!this._instance) {
11407
- vnode.ce = (instance) => {
11408
- this._instance = instance;
11409
- instance.isCE = true;
11410
- if (process.env.NODE_ENV !== "production") {
11411
- instance.ceReload = (newStyles) => {
11412
- if (this._styles) {
11413
- this._styles.forEach((s) => this.shadowRoot.removeChild(s));
11414
- this._styles.length = 0;
11415
- }
11416
- this._applyStyles(newStyles);
11417
- this._instance = null;
11418
- this._update();
11419
- };
11420
- }
11421
- const dispatch = (event, args) => {
11422
- this.dispatchEvent(
11423
- new CustomEvent(event, {
11424
- detail: args
11425
- })
11426
- );
11427
- };
11428
- instance.emit = (event, ...args) => {
11429
- dispatch(event, args);
11430
- if (hyphenate(event) !== event) {
11431
- dispatch(hyphenate(event), args);
11432
- }
11433
- };
11434
- let parent = this;
11435
- while (parent = parent && (parent.parentNode || parent.host)) {
11436
- if (parent instanceof VueElement) {
11437
- instance.parent = parent._instance;
11438
- instance.provides = parent._instance.provides;
11439
- break;
11440
- }
11441
- }
11442
- };
11420
+ const tag = el.tagName;
11421
+ if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
11422
+ !tag.includes("-")) {
11423
+ el._value = value;
11424
+ const oldValue = tag === "OPTION" ? el.getAttribute("value") : el.value;
11425
+ const newValue = value == null ? "" : value;
11426
+ if (oldValue !== newValue) {
11427
+ el.value = newValue;
11443
11428
  }
11444
- return vnode;
11445
- }
11446
- _applyStyles(styles) {
11447
- if (styles) {
11448
- styles.forEach((css) => {
11449
- const s = document.createElement("style");
11450
- s.textContent = css;
11451
- this.shadowRoot.appendChild(s);
11452
- if (process.env.NODE_ENV !== "production") {
11453
- (this._styles || (this._styles = [])).push(s);
11454
- }
11455
- });
11429
+ if (value == null) {
11430
+ el.removeAttribute(key);
11456
11431
  }
11432
+ return;
11457
11433
  }
11458
- }
11459
-
11460
- function useCssModule(name = "$style") {
11461
- {
11462
- const instance = getCurrentInstance();
11463
- if (!instance) {
11464
- process.env.NODE_ENV !== "production" && warn(`useCssModule must be called inside setup()`);
11465
- return EMPTY_OBJ;
11434
+ let needRemove = false;
11435
+ if (value === "" || value == null) {
11436
+ const type = typeof el[key];
11437
+ if (type === "boolean") {
11438
+ value = includeBooleanAttr(value);
11439
+ } else if (value == null && type === "string") {
11440
+ value = "";
11441
+ needRemove = true;
11442
+ } else if (type === "number") {
11443
+ value = 0;
11444
+ needRemove = true;
11466
11445
  }
11467
- const modules = instance.type.__cssModules;
11468
- if (!modules) {
11469
- process.env.NODE_ENV !== "production" && warn(`Current instance does not have CSS modules injected.`);
11470
- return EMPTY_OBJ;
11446
+ } else {
11447
+ if (value === false && compatUtils.isCompatEnabled(
11448
+ "ATTR_FALSE_VALUE",
11449
+ parentComponent
11450
+ )) {
11451
+ const type = typeof el[key];
11452
+ if (type === "string" || type === "number") {
11453
+ !!(process.env.NODE_ENV !== "production") && compatUtils.warnDeprecation(
11454
+ "ATTR_FALSE_VALUE",
11455
+ parentComponent,
11456
+ key
11457
+ );
11458
+ value = type === "number" ? 0 : "";
11459
+ needRemove = true;
11460
+ }
11471
11461
  }
11472
- const mod = modules[name];
11473
- if (!mod) {
11474
- process.env.NODE_ENV !== "production" && warn(`Current instance does not have CSS module named "${name}".`);
11475
- return EMPTY_OBJ;
11462
+ }
11463
+ try {
11464
+ el[key] = value;
11465
+ } catch (e) {
11466
+ if (!!(process.env.NODE_ENV !== "production") && !needRemove) {
11467
+ warn(
11468
+ `Failed setting prop "${key}" on <${tag.toLowerCase()}>: value ${value} is invalid.`,
11469
+ e
11470
+ );
11476
11471
  }
11477
- return mod;
11478
11472
  }
11473
+ needRemove && el.removeAttribute(key);
11479
11474
  }
11480
11475
 
11481
- function useCssVars(getter) {
11482
- const instance = getCurrentInstance();
11483
- if (!instance) {
11484
- process.env.NODE_ENV !== "production" && warn(`useCssVars is called without current active component instance.`);
11485
- return;
11486
- }
11487
- const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {
11488
- Array.from(
11489
- document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)
11490
- ).forEach((node) => setVarsOnNode(node, vars));
11491
- };
11492
- const setVars = () => {
11493
- const vars = getter(instance.proxy);
11494
- setVarsOnVNode(instance.subTree, vars);
11495
- updateTeleports(vars);
11496
- };
11497
- watchPostEffect(setVars);
11498
- onMounted(() => {
11499
- const ob = new MutationObserver(setVars);
11500
- ob.observe(instance.subTree.el.parentNode, { childList: true });
11501
- onUnmounted(() => ob.disconnect());
11502
- });
11476
+ function addEventListener(el, event, handler, options) {
11477
+ el.addEventListener(event, handler, options);
11503
11478
  }
11504
- function setVarsOnVNode(vnode, vars) {
11505
- if (vnode.shapeFlag & 128) {
11506
- const suspense = vnode.suspense;
11507
- vnode = suspense.activeBranch;
11508
- if (suspense.pendingBranch && !suspense.isHydrating) {
11509
- suspense.effects.push(() => {
11510
- setVarsOnVNode(suspense.activeBranch, vars);
11511
- });
11479
+ function removeEventListener(el, event, handler, options) {
11480
+ el.removeEventListener(event, handler, options);
11481
+ }
11482
+ const veiKey = Symbol("_vei");
11483
+ function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
11484
+ const invokers = el[veiKey] || (el[veiKey] = {});
11485
+ const existingInvoker = invokers[rawName];
11486
+ if (nextValue && existingInvoker) {
11487
+ existingInvoker.value = nextValue;
11488
+ } else {
11489
+ const [name, options] = parseName(rawName);
11490
+ if (nextValue) {
11491
+ const invoker = invokers[rawName] = createInvoker(nextValue, instance);
11492
+ addEventListener(el, name, invoker, options);
11493
+ } else if (existingInvoker) {
11494
+ removeEventListener(el, name, existingInvoker, options);
11495
+ invokers[rawName] = void 0;
11512
11496
  }
11513
11497
  }
11514
- while (vnode.component) {
11515
- vnode = vnode.component.subTree;
11516
- }
11517
- if (vnode.shapeFlag & 1 && vnode.el) {
11518
- setVarsOnNode(vnode.el, vars);
11519
- } else if (vnode.type === Fragment) {
11520
- vnode.children.forEach((c) => setVarsOnVNode(c, vars));
11521
- } else if (vnode.type === Static) {
11522
- let { el, anchor } = vnode;
11523
- while (el) {
11524
- setVarsOnNode(el, vars);
11525
- if (el === anchor)
11526
- break;
11527
- el = el.nextSibling;
11498
+ }
11499
+ const optionsModifierRE = /(?:Once|Passive|Capture)$/;
11500
+ function parseName(name) {
11501
+ let options;
11502
+ if (optionsModifierRE.test(name)) {
11503
+ options = {};
11504
+ let m;
11505
+ while (m = name.match(optionsModifierRE)) {
11506
+ name = name.slice(0, name.length - m[0].length);
11507
+ options[m[0].toLowerCase()] = true;
11528
11508
  }
11529
11509
  }
11510
+ const event = name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2));
11511
+ return [event, options];
11530
11512
  }
11531
- function setVarsOnNode(el, vars) {
11532
- if (el.nodeType === 1) {
11533
- const style = el.style;
11534
- for (const key in vars) {
11535
- style.setProperty(`--${key}`, vars[key]);
11513
+ let cachedNow = 0;
11514
+ const p = /* @__PURE__ */ Promise.resolve();
11515
+ const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
11516
+ function createInvoker(initialValue, instance) {
11517
+ const invoker = (e) => {
11518
+ if (!e._vts) {
11519
+ e._vts = Date.now();
11520
+ } else if (e._vts <= invoker.attached) {
11521
+ return;
11536
11522
  }
11523
+ callWithAsyncErrorHandling(
11524
+ patchStopImmediatePropagation(e, invoker.value),
11525
+ instance,
11526
+ 5,
11527
+ [e]
11528
+ );
11529
+ };
11530
+ invoker.value = initialValue;
11531
+ invoker.attached = getNow();
11532
+ return invoker;
11533
+ }
11534
+ function patchStopImmediatePropagation(e, value) {
11535
+ if (isArray(value)) {
11536
+ const originalStop = e.stopImmediatePropagation;
11537
+ e.stopImmediatePropagation = () => {
11538
+ originalStop.call(e);
11539
+ e._stopped = true;
11540
+ };
11541
+ return value.map((fn) => (e2) => !e2._stopped && fn && fn(e2));
11542
+ } else {
11543
+ return value;
11537
11544
  }
11538
11545
  }
11539
11546
 
11540
- const TRANSITION = "transition";
11541
- const ANIMATION = "animation";
11542
- const Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);
11543
- Transition.displayName = "Transition";
11544
- {
11545
- Transition.__isBuiltIn = true;
11546
- }
11547
- const DOMTransitionPropsValidators = {
11548
- name: String,
11549
- type: String,
11550
- css: {
11551
- type: Boolean,
11552
- default: true
11553
- },
11554
- duration: [String, Number, Object],
11555
- enterFromClass: String,
11556
- enterActiveClass: String,
11557
- enterToClass: String,
11558
- appearFromClass: String,
11559
- appearActiveClass: String,
11560
- appearToClass: String,
11561
- leaveFromClass: String,
11562
- leaveActiveClass: String,
11563
- leaveToClass: String
11564
- };
11565
- const TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(
11566
- {},
11567
- BaseTransitionPropsValidators,
11568
- DOMTransitionPropsValidators
11569
- );
11570
- const callHook = (hook, args = []) => {
11571
- if (isArray(hook)) {
11572
- hook.forEach((h2) => h2(...args));
11573
- } else if (hook) {
11574
- hook(...args);
11547
+ const nativeOnRE = /^on[a-z]/;
11548
+ const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
11549
+ if (key === "class") {
11550
+ patchClass(el, nextValue, isSVG);
11551
+ } else if (key === "style") {
11552
+ patchStyle(el, prevValue, nextValue);
11553
+ } else if (isOn(key)) {
11554
+ if (!isModelListener(key)) {
11555
+ patchEvent(el, key, prevValue, nextValue, parentComponent);
11556
+ }
11557
+ } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {
11558
+ patchDOMProp(
11559
+ el,
11560
+ key,
11561
+ nextValue,
11562
+ prevChildren,
11563
+ parentComponent,
11564
+ parentSuspense,
11565
+ unmountChildren
11566
+ );
11567
+ } else {
11568
+ if (key === "true-value") {
11569
+ el._trueValue = nextValue;
11570
+ } else if (key === "false-value") {
11571
+ el._falseValue = nextValue;
11572
+ }
11573
+ patchAttr(el, key, nextValue, isSVG, parentComponent);
11575
11574
  }
11576
11575
  };
11577
- const hasExplicitCallback = (hook) => {
11578
- return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
11579
- };
11580
- function resolveTransitionProps(rawProps) {
11581
- const baseProps = {};
11582
- for (const key in rawProps) {
11583
- if (!(key in DOMTransitionPropsValidators)) {
11584
- baseProps[key] = rawProps[key];
11576
+ function shouldSetAsProp(el, key, value, isSVG) {
11577
+ if (isSVG) {
11578
+ if (key === "innerHTML" || key === "textContent") {
11579
+ return true;
11585
11580
  }
11581
+ if (key in el && nativeOnRE.test(key) && isFunction(value)) {
11582
+ return true;
11583
+ }
11584
+ return false;
11586
11585
  }
11587
- if (rawProps.css === false) {
11588
- return baseProps;
11586
+ if (key === "spellcheck" || key === "draggable" || key === "translate") {
11587
+ return false;
11589
11588
  }
11590
- const {
11591
- name = "v",
11592
- type,
11593
- duration,
11594
- enterFromClass = `${name}-enter-from`,
11595
- enterActiveClass = `${name}-enter-active`,
11596
- enterToClass = `${name}-enter-to`,
11597
- appearFromClass = enterFromClass,
11598
- appearActiveClass = enterActiveClass,
11599
- appearToClass = enterToClass,
11600
- leaveFromClass = `${name}-leave-from`,
11601
- leaveActiveClass = `${name}-leave-active`,
11602
- leaveToClass = `${name}-leave-to`
11603
- } = rawProps;
11604
- const legacyClassEnabled = compatUtils.isCompatEnabled("TRANSITION_CLASSES", null);
11605
- let legacyEnterFromClass;
11606
- let legacyAppearFromClass;
11607
- let legacyLeaveFromClass;
11608
- if (legacyClassEnabled) {
11609
- const toLegacyClass = (cls) => cls.replace(/-from$/, "");
11610
- if (!rawProps.enterFromClass) {
11611
- legacyEnterFromClass = toLegacyClass(enterFromClass);
11589
+ if (key === "form") {
11590
+ return false;
11591
+ }
11592
+ if (key === "list" && el.tagName === "INPUT") {
11593
+ return false;
11594
+ }
11595
+ if (key === "type" && el.tagName === "TEXTAREA") {
11596
+ return false;
11597
+ }
11598
+ if (nativeOnRE.test(key) && isString(value)) {
11599
+ return false;
11600
+ }
11601
+ return key in el;
11602
+ }
11603
+
11604
+ /*! #__NO_SIDE_EFFECTS__ */
11605
+ // @__NO_SIDE_EFFECTS__
11606
+ function defineCustomElement(options, hydrate2) {
11607
+ const Comp = defineComponent(options);
11608
+ class VueCustomElement extends VueElement {
11609
+ constructor(initialProps) {
11610
+ super(Comp, initialProps, hydrate2);
11612
11611
  }
11613
- if (!rawProps.appearFromClass) {
11614
- legacyAppearFromClass = toLegacyClass(appearFromClass);
11612
+ }
11613
+ VueCustomElement.def = Comp;
11614
+ return VueCustomElement;
11615
+ }
11616
+ /*! #__NO_SIDE_EFFECTS__ */
11617
+ const defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options) => {
11618
+ return /* @__PURE__ */ defineCustomElement(options, hydrate);
11619
+ };
11620
+ const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
11621
+ };
11622
+ class VueElement extends BaseClass {
11623
+ constructor(_def, _props = {}, hydrate2) {
11624
+ super();
11625
+ this._def = _def;
11626
+ this._props = _props;
11627
+ /**
11628
+ * @internal
11629
+ */
11630
+ this._instance = null;
11631
+ this._connected = false;
11632
+ this._resolved = false;
11633
+ this._numberProps = null;
11634
+ this._ob = null;
11635
+ if (this.shadowRoot && hydrate2) {
11636
+ hydrate2(this._createVNode(), this.shadowRoot);
11637
+ } else {
11638
+ if (!!(process.env.NODE_ENV !== "production") && this.shadowRoot) {
11639
+ warn(
11640
+ `Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use \`defineSSRCustomElement\`.`
11641
+ );
11642
+ }
11643
+ this.attachShadow({ mode: "open" });
11644
+ if (!this._def.__asyncLoader) {
11645
+ this._resolveProps(this._def);
11646
+ }
11615
11647
  }
11616
- if (!rawProps.leaveFromClass) {
11617
- legacyLeaveFromClass = toLegacyClass(leaveFromClass);
11648
+ }
11649
+ connectedCallback() {
11650
+ this._connected = true;
11651
+ if (!this._instance) {
11652
+ if (this._resolved) {
11653
+ this._update();
11654
+ } else {
11655
+ this._resolveDef();
11656
+ }
11618
11657
  }
11619
11658
  }
11620
- const durations = normalizeDuration(duration);
11621
- const enterDuration = durations && durations[0];
11622
- const leaveDuration = durations && durations[1];
11623
- const {
11624
- onBeforeEnter,
11625
- onEnter,
11626
- onEnterCancelled,
11627
- onLeave,
11628
- onLeaveCancelled,
11629
- onBeforeAppear = onBeforeEnter,
11630
- onAppear = onEnter,
11631
- onAppearCancelled = onEnterCancelled
11632
- } = baseProps;
11633
- const finishEnter = (el, isAppear, done) => {
11634
- removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
11635
- removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
11636
- done && done();
11637
- };
11638
- const finishLeave = (el, done) => {
11639
- el._isLeaving = false;
11640
- removeTransitionClass(el, leaveFromClass);
11641
- removeTransitionClass(el, leaveToClass);
11642
- removeTransitionClass(el, leaveActiveClass);
11643
- done && done();
11644
- };
11645
- const makeEnterHook = (isAppear) => {
11646
- return (el, done) => {
11647
- const hook = isAppear ? onAppear : onEnter;
11648
- const resolve = () => finishEnter(el, isAppear, done);
11649
- callHook(hook, [el, resolve]);
11650
- nextFrame(() => {
11651
- removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
11652
- if (legacyClassEnabled) {
11653
- const legacyClass = isAppear ? legacyAppearFromClass : legacyEnterFromClass;
11654
- if (legacyClass) {
11655
- removeTransitionClass(el, legacyClass);
11659
+ disconnectedCallback() {
11660
+ this._connected = false;
11661
+ if (this._ob) {
11662
+ this._ob.disconnect();
11663
+ this._ob = null;
11664
+ }
11665
+ nextTick(() => {
11666
+ if (!this._connected) {
11667
+ render(null, this.shadowRoot);
11668
+ this._instance = null;
11669
+ }
11670
+ });
11671
+ }
11672
+ /**
11673
+ * resolve inner component definition (handle possible async component)
11674
+ */
11675
+ _resolveDef() {
11676
+ this._resolved = true;
11677
+ for (let i = 0; i < this.attributes.length; i++) {
11678
+ this._setAttr(this.attributes[i].name);
11679
+ }
11680
+ this._ob = new MutationObserver((mutations) => {
11681
+ for (const m of mutations) {
11682
+ this._setAttr(m.attributeName);
11683
+ }
11684
+ });
11685
+ this._ob.observe(this, { attributes: true });
11686
+ const resolve = (def, isAsync = false) => {
11687
+ const { props, styles } = def;
11688
+ let numberProps;
11689
+ if (props && !isArray(props)) {
11690
+ for (const key in props) {
11691
+ const opt = props[key];
11692
+ if (opt === Number || opt && opt.type === Number) {
11693
+ if (key in this._props) {
11694
+ this._props[key] = toNumber(this._props[key]);
11695
+ }
11696
+ (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[camelize(key)] = true;
11656
11697
  }
11657
11698
  }
11658
- addTransitionClass(el, isAppear ? appearToClass : enterToClass);
11659
- if (!hasExplicitCallback(hook)) {
11660
- whenTransitionEnds(el, type, enterDuration, resolve);
11661
- }
11662
- });
11699
+ }
11700
+ this._numberProps = numberProps;
11701
+ if (isAsync) {
11702
+ this._resolveProps(def);
11703
+ }
11704
+ this._applyStyles(styles);
11705
+ this._update();
11663
11706
  };
11664
- };
11665
- return extend(baseProps, {
11666
- onBeforeEnter(el) {
11667
- callHook(onBeforeEnter, [el]);
11668
- addTransitionClass(el, enterFromClass);
11669
- if (legacyClassEnabled && legacyEnterFromClass) {
11670
- addTransitionClass(el, legacyEnterFromClass);
11707
+ const asyncDef = this._def.__asyncLoader;
11708
+ if (asyncDef) {
11709
+ asyncDef().then((def) => resolve(def, true));
11710
+ } else {
11711
+ resolve(this._def);
11712
+ }
11713
+ }
11714
+ _resolveProps(def) {
11715
+ const { props } = def;
11716
+ const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});
11717
+ for (const key of Object.keys(this)) {
11718
+ if (key[0] !== "_" && declaredPropKeys.includes(key)) {
11719
+ this._setProp(key, this[key], true, false);
11671
11720
  }
11672
- addTransitionClass(el, enterActiveClass);
11673
- },
11674
- onBeforeAppear(el) {
11675
- callHook(onBeforeAppear, [el]);
11676
- addTransitionClass(el, appearFromClass);
11677
- if (legacyClassEnabled && legacyAppearFromClass) {
11678
- addTransitionClass(el, legacyAppearFromClass);
11721
+ }
11722
+ for (const key of declaredPropKeys.map(camelize)) {
11723
+ Object.defineProperty(this, key, {
11724
+ get() {
11725
+ return this._getProp(key);
11726
+ },
11727
+ set(val) {
11728
+ this._setProp(key, val);
11729
+ }
11730
+ });
11731
+ }
11732
+ }
11733
+ _setAttr(key) {
11734
+ let value = this.getAttribute(key);
11735
+ const camelKey = camelize(key);
11736
+ if (this._numberProps && this._numberProps[camelKey]) {
11737
+ value = toNumber(value);
11738
+ }
11739
+ this._setProp(camelKey, value, false);
11740
+ }
11741
+ /**
11742
+ * @internal
11743
+ */
11744
+ _getProp(key) {
11745
+ return this._props[key];
11746
+ }
11747
+ /**
11748
+ * @internal
11749
+ */
11750
+ _setProp(key, val, shouldReflect = true, shouldUpdate = true) {
11751
+ if (val !== this._props[key]) {
11752
+ this._props[key] = val;
11753
+ if (shouldUpdate && this._instance) {
11754
+ this._update();
11679
11755
  }
11680
- addTransitionClass(el, appearActiveClass);
11681
- },
11682
- onEnter: makeEnterHook(false),
11683
- onAppear: makeEnterHook(true),
11684
- onLeave(el, done) {
11685
- el._isLeaving = true;
11686
- const resolve = () => finishLeave(el, done);
11687
- addTransitionClass(el, leaveFromClass);
11688
- if (legacyClassEnabled && legacyLeaveFromClass) {
11689
- addTransitionClass(el, legacyLeaveFromClass);
11756
+ if (shouldReflect) {
11757
+ if (val === true) {
11758
+ this.setAttribute(hyphenate(key), "");
11759
+ } else if (typeof val === "string" || typeof val === "number") {
11760
+ this.setAttribute(hyphenate(key), val + "");
11761
+ } else if (!val) {
11762
+ this.removeAttribute(hyphenate(key));
11763
+ }
11690
11764
  }
11691
- forceReflow();
11692
- addTransitionClass(el, leaveActiveClass);
11693
- nextFrame(() => {
11694
- if (!el._isLeaving) {
11695
- return;
11765
+ }
11766
+ }
11767
+ _update() {
11768
+ render(this._createVNode(), this.shadowRoot);
11769
+ }
11770
+ _createVNode() {
11771
+ const vnode = createVNode(this._def, extend({}, this._props));
11772
+ if (!this._instance) {
11773
+ vnode.ce = (instance) => {
11774
+ this._instance = instance;
11775
+ instance.isCE = true;
11776
+ if (!!(process.env.NODE_ENV !== "production")) {
11777
+ instance.ceReload = (newStyles) => {
11778
+ if (this._styles) {
11779
+ this._styles.forEach((s) => this.shadowRoot.removeChild(s));
11780
+ this._styles.length = 0;
11781
+ }
11782
+ this._applyStyles(newStyles);
11783
+ this._instance = null;
11784
+ this._update();
11785
+ };
11696
11786
  }
11697
- removeTransitionClass(el, leaveFromClass);
11698
- if (legacyClassEnabled && legacyLeaveFromClass) {
11699
- removeTransitionClass(el, legacyLeaveFromClass);
11787
+ const dispatch = (event, args) => {
11788
+ this.dispatchEvent(
11789
+ new CustomEvent(event, {
11790
+ detail: args
11791
+ })
11792
+ );
11793
+ };
11794
+ instance.emit = (event, ...args) => {
11795
+ dispatch(event, args);
11796
+ if (hyphenate(event) !== event) {
11797
+ dispatch(hyphenate(event), args);
11798
+ }
11799
+ };
11800
+ let parent = this;
11801
+ while (parent = parent && (parent.parentNode || parent.host)) {
11802
+ if (parent instanceof VueElement) {
11803
+ instance.parent = parent._instance;
11804
+ instance.provides = parent._instance.provides;
11805
+ break;
11806
+ }
11700
11807
  }
11701
- addTransitionClass(el, leaveToClass);
11702
- if (!hasExplicitCallback(onLeave)) {
11703
- whenTransitionEnds(el, type, leaveDuration, resolve);
11808
+ };
11809
+ }
11810
+ return vnode;
11811
+ }
11812
+ _applyStyles(styles) {
11813
+ if (styles) {
11814
+ styles.forEach((css) => {
11815
+ const s = document.createElement("style");
11816
+ s.textContent = css;
11817
+ this.shadowRoot.appendChild(s);
11818
+ if (!!(process.env.NODE_ENV !== "production")) {
11819
+ (this._styles || (this._styles = [])).push(s);
11704
11820
  }
11705
11821
  });
11706
- callHook(onLeave, [el, resolve]);
11707
- },
11708
- onEnterCancelled(el) {
11709
- finishEnter(el, false);
11710
- callHook(onEnterCancelled, [el]);
11711
- },
11712
- onAppearCancelled(el) {
11713
- finishEnter(el, true);
11714
- callHook(onAppearCancelled, [el]);
11715
- },
11716
- onLeaveCancelled(el) {
11717
- finishLeave(el);
11718
- callHook(onLeaveCancelled, [el]);
11719
11822
  }
11720
- });
11721
- }
11722
- function normalizeDuration(duration) {
11723
- if (duration == null) {
11724
- return null;
11725
- } else if (isObject(duration)) {
11726
- return [NumberOf(duration.enter), NumberOf(duration.leave)];
11727
- } else {
11728
- const n = NumberOf(duration);
11729
- return [n, n];
11730
- }
11731
- }
11732
- function NumberOf(val) {
11733
- const res = toNumber(val);
11734
- if (process.env.NODE_ENV !== "production") {
11735
- assertNumber(res, "<transition> explicit duration");
11736
11823
  }
11737
- return res;
11738
- }
11739
- function addTransitionClass(el, cls) {
11740
- cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
11741
- (el._vtc || (el._vtc = /* @__PURE__ */ new Set())).add(cls);
11742
11824
  }
11743
- function removeTransitionClass(el, cls) {
11744
- cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
11745
- const { _vtc } = el;
11746
- if (_vtc) {
11747
- _vtc.delete(cls);
11748
- if (!_vtc.size) {
11749
- el._vtc = void 0;
11825
+
11826
+ function useCssModule(name = "$style") {
11827
+ {
11828
+ const instance = getCurrentInstance();
11829
+ if (!instance) {
11830
+ !!(process.env.NODE_ENV !== "production") && warn(`useCssModule must be called inside setup()`);
11831
+ return EMPTY_OBJ;
11750
11832
  }
11751
- }
11752
- }
11753
- function nextFrame(cb) {
11754
- requestAnimationFrame(() => {
11755
- requestAnimationFrame(cb);
11756
- });
11757
- }
11758
- let endId = 0;
11759
- function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
11760
- const id = el._endId = ++endId;
11761
- const resolveIfNotStale = () => {
11762
- if (id === el._endId) {
11763
- resolve();
11833
+ const modules = instance.type.__cssModules;
11834
+ if (!modules) {
11835
+ !!(process.env.NODE_ENV !== "production") && warn(`Current instance does not have CSS modules injected.`);
11836
+ return EMPTY_OBJ;
11764
11837
  }
11765
- };
11766
- if (explicitTimeout) {
11767
- return setTimeout(resolveIfNotStale, explicitTimeout);
11838
+ const mod = modules[name];
11839
+ if (!mod) {
11840
+ !!(process.env.NODE_ENV !== "production") && warn(`Current instance does not have CSS module named "${name}".`);
11841
+ return EMPTY_OBJ;
11842
+ }
11843
+ return mod;
11768
11844
  }
11769
- const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
11770
- if (!type) {
11771
- return resolve();
11845
+ }
11846
+
11847
+ function useCssVars(getter) {
11848
+ const instance = getCurrentInstance();
11849
+ if (!instance) {
11850
+ !!(process.env.NODE_ENV !== "production") && warn(`useCssVars is called without current active component instance.`);
11851
+ return;
11772
11852
  }
11773
- const endEvent = type + "end";
11774
- let ended = 0;
11775
- const end = () => {
11776
- el.removeEventListener(endEvent, onEnd);
11777
- resolveIfNotStale();
11853
+ const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {
11854
+ Array.from(
11855
+ document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)
11856
+ ).forEach((node) => setVarsOnNode(node, vars));
11778
11857
  };
11779
- const onEnd = (e) => {
11780
- if (e.target === el && ++ended >= propCount) {
11781
- end();
11782
- }
11858
+ const setVars = () => {
11859
+ const vars = getter(instance.proxy);
11860
+ setVarsOnVNode(instance.subTree, vars);
11861
+ updateTeleports(vars);
11783
11862
  };
11784
- setTimeout(() => {
11785
- if (ended < propCount) {
11786
- end();
11787
- }
11788
- }, timeout + 1);
11789
- el.addEventListener(endEvent, onEnd);
11863
+ watchPostEffect(setVars);
11864
+ onMounted(() => {
11865
+ const ob = new MutationObserver(setVars);
11866
+ ob.observe(instance.subTree.el.parentNode, { childList: true });
11867
+ onUnmounted(() => ob.disconnect());
11868
+ });
11790
11869
  }
11791
- function getTransitionInfo(el, expectedType) {
11792
- const styles = window.getComputedStyle(el);
11793
- const getStyleProperties = (key) => (styles[key] || "").split(", ");
11794
- const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
11795
- const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
11796
- const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
11797
- const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
11798
- const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
11799
- const animationTimeout = getTimeout(animationDelays, animationDurations);
11800
- let type = null;
11801
- let timeout = 0;
11802
- let propCount = 0;
11803
- if (expectedType === TRANSITION) {
11804
- if (transitionTimeout > 0) {
11805
- type = TRANSITION;
11806
- timeout = transitionTimeout;
11807
- propCount = transitionDurations.length;
11870
+ function setVarsOnVNode(vnode, vars) {
11871
+ if (vnode.shapeFlag & 128) {
11872
+ const suspense = vnode.suspense;
11873
+ vnode = suspense.activeBranch;
11874
+ if (suspense.pendingBranch && !suspense.isHydrating) {
11875
+ suspense.effects.push(() => {
11876
+ setVarsOnVNode(suspense.activeBranch, vars);
11877
+ });
11808
11878
  }
11809
- } else if (expectedType === ANIMATION) {
11810
- if (animationTimeout > 0) {
11811
- type = ANIMATION;
11812
- timeout = animationTimeout;
11813
- propCount = animationDurations.length;
11879
+ }
11880
+ while (vnode.component) {
11881
+ vnode = vnode.component.subTree;
11882
+ }
11883
+ if (vnode.shapeFlag & 1 && vnode.el) {
11884
+ setVarsOnNode(vnode.el, vars);
11885
+ } else if (vnode.type === Fragment) {
11886
+ vnode.children.forEach((c) => setVarsOnVNode(c, vars));
11887
+ } else if (vnode.type === Static) {
11888
+ let { el, anchor } = vnode;
11889
+ while (el) {
11890
+ setVarsOnNode(el, vars);
11891
+ if (el === anchor)
11892
+ break;
11893
+ el = el.nextSibling;
11814
11894
  }
11815
- } else {
11816
- timeout = Math.max(transitionTimeout, animationTimeout);
11817
- type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
11818
- propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
11819
11895
  }
11820
- const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
11821
- getStyleProperties(`${TRANSITION}Property`).toString()
11822
- );
11823
- return {
11824
- type,
11825
- timeout,
11826
- propCount,
11827
- hasTransform
11828
- };
11829
11896
  }
11830
- function getTimeout(delays, durations) {
11831
- while (delays.length < durations.length) {
11832
- delays = delays.concat(delays);
11897
+ function setVarsOnNode(el, vars) {
11898
+ if (el.nodeType === 1) {
11899
+ const style = el.style;
11900
+ for (const key in vars) {
11901
+ style.setProperty(`--${key}`, vars[key]);
11902
+ }
11833
11903
  }
11834
- return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
11835
- }
11836
- function toMs(s) {
11837
- return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
11838
- }
11839
- function forceReflow() {
11840
- return document.body.offsetHeight;
11841
11904
  }
11842
11905
 
11843
11906
  const positionMap = /* @__PURE__ */ new WeakMap();
11844
11907
  const newPositionMap = /* @__PURE__ */ new WeakMap();
11908
+ const moveCbKey = Symbol("_moveCb");
11909
+ const enterCbKey = Symbol("_enterCb");
11845
11910
  const TransitionGroupImpl = {
11846
11911
  name: "TransitionGroup",
11847
11912
  props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
@@ -11874,13 +11939,13 @@ const TransitionGroupImpl = {
11874
11939
  const style = el.style;
11875
11940
  addTransitionClass(el, moveClass);
11876
11941
  style.transform = style.webkitTransform = style.transitionDuration = "";
11877
- const cb = el._moveCb = (e) => {
11942
+ const cb = el[moveCbKey] = (e) => {
11878
11943
  if (e && e.target !== el) {
11879
11944
  return;
11880
11945
  }
11881
11946
  if (!e || /transform$/.test(e.propertyName)) {
11882
11947
  el.removeEventListener("transitionend", cb);
11883
- el._moveCb = null;
11948
+ el[moveCbKey] = null;
11884
11949
  removeTransitionClass(el, moveClass);
11885
11950
  }
11886
11951
  };
@@ -11906,7 +11971,7 @@ const TransitionGroupImpl = {
11906
11971
  child,
11907
11972
  resolveTransitionHooks(child, cssTransitionProps, state, instance)
11908
11973
  );
11909
- } else if (process.env.NODE_ENV !== "production") {
11974
+ } else if (!!(process.env.NODE_ENV !== "production")) {
11910
11975
  warn(`<TransitionGroup> children must be keyed.`);
11911
11976
  }
11912
11977
  }
@@ -11932,11 +11997,11 @@ const removeMode = (props) => delete props.mode;
11932
11997
  const TransitionGroup = TransitionGroupImpl;
11933
11998
  function callPendingCbs(c) {
11934
11999
  const el = c.el;
11935
- if (el._moveCb) {
11936
- el._moveCb();
12000
+ if (el[moveCbKey]) {
12001
+ el[moveCbKey]();
11937
12002
  }
11938
- if (el._enterCb) {
11939
- el._enterCb();
12003
+ if (el[enterCbKey]) {
12004
+ el[enterCbKey]();
11940
12005
  }
11941
12006
  }
11942
12007
  function recordPosition(c) {
@@ -11956,8 +12021,9 @@ function applyTranslation(c) {
11956
12021
  }
11957
12022
  function hasCSSTransform(el, root, moveClass) {
11958
12023
  const clone = el.cloneNode();
11959
- if (el._vtc) {
11960
- el._vtc.forEach((cls) => {
12024
+ const _vtc = el[vtcKey];
12025
+ if (_vtc) {
12026
+ _vtc.forEach((cls) => {
11961
12027
  cls.split(/\s+/).forEach((c) => c && clone.classList.remove(c));
11962
12028
  });
11963
12029
  }
@@ -11984,9 +12050,10 @@ function onCompositionEnd(e) {
11984
12050
  target.dispatchEvent(new Event("input"));
11985
12051
  }
11986
12052
  }
12053
+ const assignKey = Symbol("_assign");
11987
12054
  const vModelText = {
11988
12055
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
11989
- el._assign = getModelAssigner(vnode);
12056
+ el[assignKey] = getModelAssigner(vnode);
11990
12057
  const castToNumber = number || vnode.props && vnode.props.type === "number";
11991
12058
  addEventListener(el, lazy ? "change" : "input", (e) => {
11992
12059
  if (e.target.composing)
@@ -11998,7 +12065,7 @@ const vModelText = {
11998
12065
  if (castToNumber) {
11999
12066
  domValue = looseToNumber(domValue);
12000
12067
  }
12001
- el._assign(domValue);
12068
+ el[assignKey](domValue);
12002
12069
  });
12003
12070
  if (trim) {
12004
12071
  addEventListener(el, "change", () => {
@@ -12016,7 +12083,7 @@ const vModelText = {
12016
12083
  el.value = value == null ? "" : value;
12017
12084
  },
12018
12085
  beforeUpdate(el, { value, modifiers: { lazy, trim, number } }, vnode) {
12019
- el._assign = getModelAssigner(vnode);
12086
+ el[assignKey] = getModelAssigner(vnode);
12020
12087
  if (el.composing)
12021
12088
  return;
12022
12089
  if (document.activeElement === el && el.type !== "range") {
@@ -12040,12 +12107,12 @@ const vModelCheckbox = {
12040
12107
  // #4096 array checkboxes need to be deep traversed
12041
12108
  deep: true,
12042
12109
  created(el, _, vnode) {
12043
- el._assign = getModelAssigner(vnode);
12110
+ el[assignKey] = getModelAssigner(vnode);
12044
12111
  addEventListener(el, "change", () => {
12045
12112
  const modelValue = el._modelValue;
12046
12113
  const elementValue = getValue(el);
12047
12114
  const checked = el.checked;
12048
- const assign = el._assign;
12115
+ const assign = el[assignKey];
12049
12116
  if (isArray(modelValue)) {
12050
12117
  const index = looseIndexOf(modelValue, elementValue);
12051
12118
  const found = index !== -1;
@@ -12072,7 +12139,7 @@ const vModelCheckbox = {
12072
12139
  // set initial checked on mount to wait for true-value/false-value
12073
12140
  mounted: setChecked,
12074
12141
  beforeUpdate(el, binding, vnode) {
12075
- el._assign = getModelAssigner(vnode);
12142
+ el[assignKey] = getModelAssigner(vnode);
12076
12143
  setChecked(el, binding, vnode);
12077
12144
  }
12078
12145
  };
@@ -12089,13 +12156,13 @@ function setChecked(el, { value, oldValue }, vnode) {
12089
12156
  const vModelRadio = {
12090
12157
  created(el, { value }, vnode) {
12091
12158
  el.checked = looseEqual(value, vnode.props.value);
12092
- el._assign = getModelAssigner(vnode);
12159
+ el[assignKey] = getModelAssigner(vnode);
12093
12160
  addEventListener(el, "change", () => {
12094
- el._assign(getValue(el));
12161
+ el[assignKey](getValue(el));
12095
12162
  });
12096
12163
  },
12097
12164
  beforeUpdate(el, { value, oldValue }, vnode) {
12098
- el._assign = getModelAssigner(vnode);
12165
+ el[assignKey] = getModelAssigner(vnode);
12099
12166
  if (value !== oldValue) {
12100
12167
  el.checked = looseEqual(value, vnode.props.value);
12101
12168
  }
@@ -12110,11 +12177,11 @@ const vModelSelect = {
12110
12177
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
12111
12178
  (o) => number ? looseToNumber(getValue(o)) : getValue(o)
12112
12179
  );
12113
- el._assign(
12180
+ el[assignKey](
12114
12181
  el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
12115
12182
  );
12116
12183
  });
12117
- el._assign = getModelAssigner(vnode);
12184
+ el[assignKey] = getModelAssigner(vnode);
12118
12185
  },
12119
12186
  // set value in mounted & updated because <select> relies on its children
12120
12187
  // <option>s.
@@ -12122,7 +12189,7 @@ const vModelSelect = {
12122
12189
  setSelected(el, value);
12123
12190
  },
12124
12191
  beforeUpdate(el, _binding, vnode) {
12125
- el._assign = getModelAssigner(vnode);
12192
+ el[assignKey] = getModelAssigner(vnode);
12126
12193
  },
12127
12194
  updated(el, { value }) {
12128
12195
  setSelected(el, value);
@@ -12131,7 +12198,7 @@ const vModelSelect = {
12131
12198
  function setSelected(el, value) {
12132
12199
  const isMultiple = el.multiple;
12133
12200
  if (isMultiple && !isArray(value) && !isSet(value)) {
12134
- process.env.NODE_ENV !== "production" && warn(
12201
+ !!(process.env.NODE_ENV !== "production") && warn(
12135
12202
  `<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`
12136
12203
  );
12137
12204
  return;
@@ -12281,7 +12348,7 @@ const withKeys = (fn, modifiers) => {
12281
12348
  globalKeyCodes = instance.appContext.config.keyCodes;
12282
12349
  }
12283
12350
  }
12284
- if (process.env.NODE_ENV !== "production" && modifiers.some((m) => /^\d+$/.test(m))) {
12351
+ if (!!(process.env.NODE_ENV !== "production") && modifiers.some((m) => /^\d+$/.test(m))) {
12285
12352
  compatUtils.warnDeprecation(
12286
12353
  "V_ON_KEYCODE_MODIFIER",
12287
12354
  instance
@@ -12319,52 +12386,6 @@ const withKeys = (fn, modifiers) => {
12319
12386
  };
12320
12387
  };
12321
12388
 
12322
- const vShow = {
12323
- beforeMount(el, { value }, { transition }) {
12324
- el._vod = el.style.display === "none" ? "" : el.style.display;
12325
- if (transition && value) {
12326
- transition.beforeEnter(el);
12327
- } else {
12328
- setDisplay(el, value);
12329
- }
12330
- },
12331
- mounted(el, { value }, { transition }) {
12332
- if (transition && value) {
12333
- transition.enter(el);
12334
- }
12335
- },
12336
- updated(el, { value, oldValue }, { transition }) {
12337
- if (!value === !oldValue)
12338
- return;
12339
- if (transition) {
12340
- if (value) {
12341
- transition.beforeEnter(el);
12342
- setDisplay(el, true);
12343
- transition.enter(el);
12344
- } else {
12345
- transition.leave(el, () => {
12346
- setDisplay(el, false);
12347
- });
12348
- }
12349
- } else {
12350
- setDisplay(el, value);
12351
- }
12352
- },
12353
- beforeUnmount(el, { value }) {
12354
- setDisplay(el, value);
12355
- }
12356
- };
12357
- function setDisplay(el, value) {
12358
- el.style.display = value ? el._vod : "none";
12359
- }
12360
- function initVShowForSSR() {
12361
- vShow.getSSRProps = ({ value }) => {
12362
- if (!value) {
12363
- return { style: { display: "none" } };
12364
- }
12365
- };
12366
- }
12367
-
12368
12389
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
12369
12390
  let renderer;
12370
12391
  let enabledHydration = false;
@@ -12384,7 +12405,7 @@ const hydrate = (...args) => {
12384
12405
  };
12385
12406
  const createApp = (...args) => {
12386
12407
  const app = ensureRenderer().createApp(...args);
12387
- if (process.env.NODE_ENV !== "production") {
12408
+ if (!!(process.env.NODE_ENV !== "production")) {
12388
12409
  injectNativeTagCheck(app);
12389
12410
  injectCompilerOptionsCheck(app);
12390
12411
  }
@@ -12396,7 +12417,7 @@ const createApp = (...args) => {
12396
12417
  const component = app._component;
12397
12418
  if (!isFunction(component) && !component.render && !component.template) {
12398
12419
  component.template = container.innerHTML;
12399
- if (process.env.NODE_ENV !== "production") {
12420
+ if (!!(process.env.NODE_ENV !== "production")) {
12400
12421
  for (let i = 0; i < container.attributes.length; i++) {
12401
12422
  const attr = container.attributes[i];
12402
12423
  if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
@@ -12421,7 +12442,7 @@ const createApp = (...args) => {
12421
12442
  };
12422
12443
  const createSSRApp = (...args) => {
12423
12444
  const app = ensureHydrationRenderer().createApp(...args);
12424
- if (process.env.NODE_ENV !== "production") {
12445
+ if (!!(process.env.NODE_ENV !== "production")) {
12425
12446
  injectNativeTagCheck(app);
12426
12447
  injectCompilerOptionsCheck(app);
12427
12448
  }
@@ -12472,14 +12493,14 @@ function injectCompilerOptionsCheck(app) {
12472
12493
  function normalizeContainer(container) {
12473
12494
  if (isString(container)) {
12474
12495
  const res = document.querySelector(container);
12475
- if (process.env.NODE_ENV !== "production" && !res) {
12496
+ if (!!(process.env.NODE_ENV !== "production") && !res) {
12476
12497
  warn(
12477
12498
  `Failed to mount app: mount target selector "${container}" returned null.`
12478
12499
  );
12479
12500
  }
12480
12501
  return res;
12481
12502
  }
12482
- if (process.env.NODE_ENV !== "production" && window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === "closed") {
12503
+ if (!!(process.env.NODE_ENV !== "production") && window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === "closed") {
12483
12504
  warn(
12484
12505
  `mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`
12485
12506
  );
@@ -12658,7 +12679,7 @@ function initDev() {
12658
12679
  }
12659
12680
  }
12660
12681
 
12661
- if (process.env.NODE_ENV !== "production") {
12682
+ if (!!(process.env.NODE_ENV !== "production")) {
12662
12683
  initDev();
12663
12684
  }
12664
12685
  function wrappedCreateApp(...args) {
@@ -12680,7 +12701,7 @@ function createCompatVue() {
12680
12701
 
12681
12702
  const Vue = createCompatVue();
12682
12703
  Vue.compile = () => {
12683
- if (process.env.NODE_ENV !== "production") {
12704
+ if (!!(process.env.NODE_ENV !== "production")) {
12684
12705
  warn(
12685
12706
  `Runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias "vue" to "@vue/compat/dist/vue.esm-bundler.js".` )
12686
12707
  /* should not happen */