@vitejs/devtools 0.0.0-alpha.8 → 0.1.0

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.
Files changed (35) hide show
  1. package/dist/DockIcon-Jbdv1CYn.js +1720 -0
  2. package/dist/DockStandalone-Dd6Dcd5B.js +81 -0
  3. package/dist/LogItem-CfTxUV6A.js +204 -0
  4. package/dist/ToastOverlay-BVErqkif.js +1048 -0
  5. package/dist/ViewBuiltinLogs-DQLxnQ1c.js +427 -0
  6. package/dist/ViewBuiltinTerminals-B83FB-cT.js +10407 -0
  7. package/dist/cli-commands-DRp01A04.js +178 -0
  8. package/dist/cli-commands.d.ts +18 -0
  9. package/dist/cli-commands.js +3 -0
  10. package/dist/cli.js +5 -94
  11. package/dist/client/inject.js +170 -18
  12. package/dist/client/standalone/assets/DockStandalone-B8W-HO8N.js +1 -0
  13. package/dist/client/standalone/assets/LogItem-B-ayIBi6.js +1 -0
  14. package/dist/client/standalone/assets/ViewBuiltinLogs-B8M7lPbt.js +1 -0
  15. package/dist/client/standalone/assets/ViewBuiltinTerminals-Dkd5qdlN.js +36 -0
  16. package/dist/client/standalone/assets/dist-ZC9UAo6H.js +1 -0
  17. package/dist/client/standalone/assets/index-6F2y1lxr.css +1 -0
  18. package/dist/client/standalone/assets/index-odNIfapG.js +4 -0
  19. package/dist/client/standalone/index.html +5 -3
  20. package/dist/client/webcomponents.d.ts +21656 -30
  21. package/dist/client/webcomponents.js +305 -423
  22. package/dist/config.d.ts +25 -0
  23. package/dist/config.js +14 -0
  24. package/dist/dirs.js +7 -3
  25. package/dist/{dist-BuuUhVT5.js → dist-3NIYLDlS.js} +2261 -936
  26. package/dist/index.d.ts +256 -14
  27. package/dist/index.js +2 -4
  28. package/dist/plugins-6tW2SoNv.js +2115 -0
  29. package/dist/popup-EDv_a9nQ.js +358 -0
  30. package/dist/utils--qjmgani.js +6 -0
  31. package/package.json +51 -21
  32. package/dist/client/standalone/assets/index-DULlvzQC.css +0 -1
  33. package/dist/client/standalone/assets/index-Dpd5aqgb.js +0 -7
  34. package/dist/dirs-DcSK9l9L.js +0 -9
  35. package/dist/plugins-Cj9DSRH1.js +0 -1348
@@ -1,14 +1,14 @@
1
- //#region ../../node_modules/.pnpm/@vue+shared@3.5.22/node_modules/@vue/shared/dist/shared.esm-bundler.js
1
+ //#region ../../node_modules/.pnpm/@vue+shared@3.5.30/node_modules/@vue/shared/dist/shared.esm-bundler.js
2
2
  /**
3
- * @vue/shared v3.5.22
3
+ * @vue/shared v3.5.30
4
4
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
5
5
  * @license MIT
6
6
  **/
7
7
  /* @__NO_SIDE_EFFECTS__ */
8
8
  function makeMap(str) {
9
- const map$1 = /* @__PURE__ */ Object.create(null);
10
- for (const key of str.split(",")) map$1[key] = 1;
11
- return (val) => val in map$1;
9
+ const map = /* @__PURE__ */ Object.create(null);
10
+ for (const key of str.split(",")) map[key] = 1;
11
+ return (val) => val in map;
12
12
  }
13
13
  const EMPTY_OBJ = !!(process.env.NODE_ENV !== "production") ? Object.freeze({}) : {};
14
14
  const EMPTY_ARR = !!(process.env.NODE_ENV !== "production") ? Object.freeze([]) : [];
@@ -22,10 +22,11 @@ const remove = (arr, el) => {
22
22
  if (i > -1) arr.splice(i, 1);
23
23
  };
24
24
  const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
25
- const hasOwn$1 = (val, key) => hasOwnProperty$1.call(val, key);
25
+ const hasOwn = (val, key) => hasOwnProperty$1.call(val, key);
26
26
  const isArray = Array.isArray;
27
27
  const isMap = (val) => toTypeString(val) === "[object Map]";
28
28
  const isSet = (val) => toTypeString(val) === "[object Set]";
29
+ const isDate = (val) => toTypeString(val) === "[object Date]";
29
30
  const isFunction = (val) => typeof val === "function";
30
31
  const isString = (val) => typeof val === "string";
31
32
  const isSymbol = (val) => typeof val === "symbol";
@@ -128,10 +129,40 @@ const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
128
129
  const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
129
130
  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
130
131
  const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
131
- const isBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`);
132
+ specialBooleanAttrs + "";
132
133
  function includeBooleanAttr(value) {
133
134
  return !!value || value === "";
134
135
  }
136
+ function looseCompareArrays(a, b) {
137
+ if (a.length !== b.length) return false;
138
+ let equal = true;
139
+ for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i]);
140
+ return equal;
141
+ }
142
+ function looseEqual(a, b) {
143
+ if (a === b) return true;
144
+ let aValidType = isDate(a);
145
+ let bValidType = isDate(b);
146
+ if (aValidType || bValidType) return aValidType && bValidType ? a.getTime() === b.getTime() : false;
147
+ aValidType = isSymbol(a);
148
+ bValidType = isSymbol(b);
149
+ if (aValidType || bValidType) return a === b;
150
+ aValidType = isArray(a);
151
+ bValidType = isArray(b);
152
+ if (aValidType || bValidType) return aValidType && bValidType ? looseCompareArrays(a, b) : false;
153
+ aValidType = isObject$1(a);
154
+ bValidType = isObject$1(b);
155
+ if (aValidType || bValidType) {
156
+ if (!aValidType || !bValidType) return false;
157
+ if (Object.keys(a).length !== Object.keys(b).length) return false;
158
+ for (const key in a) {
159
+ const aHasKey = a.hasOwnProperty(key);
160
+ const bHasKey = b.hasOwnProperty(key);
161
+ if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) return false;
162
+ }
163
+ }
164
+ return String(a) === String(b);
165
+ }
135
166
  const isRef$1 = (val) => {
136
167
  return !!(val && val["__v_isRef"] === true);
137
168
  };
@@ -153,9 +184,13 @@ const stringifySymbol = (v, i = "") => {
153
184
  var _a;
154
185
  return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
155
186
  };
156
-
157
187
  //#endregion
158
- //#region ../../node_modules/.pnpm/@vue+reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
188
+ //#region ../../node_modules/.pnpm/@vue+reactivity@3.5.30/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
189
+ /**
190
+ * @vue/reactivity v3.5.30
191
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
192
+ * @license MIT
193
+ **/
159
194
  function warn$2(msg, ...args) {
160
195
  console.warn(`[Vue warn] ${msg}`, ...args);
161
196
  }
@@ -180,6 +215,7 @@ var EffectScope = class {
180
215
  */
181
216
  this.cleanups = [];
182
217
  this._isPaused = false;
218
+ this.__v_skip = true;
183
219
  this.parent = activeEffectScope;
184
220
  if (!detached && activeEffectScope) this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
185
221
  }
@@ -434,24 +470,24 @@ function isDirty(sub) {
434
470
  if (sub._dirty) return true;
435
471
  return false;
436
472
  }
437
- function refreshComputed(computed$2) {
438
- if (computed$2.flags & 4 && !(computed$2.flags & 16)) return;
439
- computed$2.flags &= -17;
440
- if (computed$2.globalVersion === globalVersion) return;
441
- computed$2.globalVersion = globalVersion;
442
- if (!computed$2.isSSR && computed$2.flags & 128 && (!computed$2.deps && !computed$2._dirty || !isDirty(computed$2))) return;
443
- computed$2.flags |= 2;
444
- const dep = computed$2.dep;
473
+ function refreshComputed(computed) {
474
+ if (computed.flags & 4 && !(computed.flags & 16)) return;
475
+ computed.flags &= -17;
476
+ if (computed.globalVersion === globalVersion) return;
477
+ computed.globalVersion = globalVersion;
478
+ if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) return;
479
+ computed.flags |= 2;
480
+ const dep = computed.dep;
445
481
  const prevSub = activeSub;
446
482
  const prevShouldTrack = shouldTrack;
447
- activeSub = computed$2;
483
+ activeSub = computed;
448
484
  shouldTrack = true;
449
485
  try {
450
- prepareDeps(computed$2);
451
- const value = computed$2.fn(computed$2._value);
452
- if (dep.version === 0 || hasChanged(value, computed$2._value)) {
453
- computed$2.flags |= 128;
454
- computed$2._value = value;
486
+ prepareDeps(computed);
487
+ const value = computed.fn(computed._value);
488
+ if (dep.version === 0 || hasChanged(value, computed._value)) {
489
+ computed.flags |= 128;
490
+ computed._value = value;
455
491
  dep.version++;
456
492
  }
457
493
  } catch (err) {
@@ -460,8 +496,8 @@ function refreshComputed(computed$2) {
460
496
  } finally {
461
497
  activeSub = prevSub;
462
498
  shouldTrack = prevShouldTrack;
463
- cleanupDeps(computed$2);
464
- computed$2.flags &= -3;
499
+ cleanupDeps(computed);
500
+ computed.flags &= -3;
465
501
  }
466
502
  }
467
503
  function removeSub(link, soft = false) {
@@ -528,8 +564,8 @@ var Link = class {
528
564
  }
529
565
  };
530
566
  var Dep = class {
531
- constructor(computed$2) {
532
- this.computed = computed$2;
567
+ constructor(computed) {
568
+ this.computed = computed;
533
569
  this.version = 0;
534
570
  /**
535
571
  * Link between this dep and the current active effect
@@ -602,10 +638,10 @@ var Dep = class {
602
638
  function addSub(link) {
603
639
  link.dep.sc++;
604
640
  if (link.sub.flags & 4) {
605
- const computed$2 = link.dep.computed;
606
- if (computed$2 && !link.dep.subs) {
607
- computed$2.flags |= 20;
608
- for (let l = computed$2.deps; l; l = l.nextDep) addSub(l);
641
+ const computed = link.dep.computed;
642
+ if (computed && !link.dep.subs) {
643
+ computed.flags |= 20;
644
+ for (let l = computed.deps; l; l = l.nextDep) addSub(l);
609
645
  }
610
646
  const currentTail = link.dep.subs;
611
647
  if (currentTail !== link) {
@@ -617,9 +653,9 @@ function addSub(link) {
617
653
  }
618
654
  }
619
655
  const targetMap = /* @__PURE__ */ new WeakMap();
620
- const ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== "production") ? "Object iterate" : "");
621
- const MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== "production") ? "Map keys iterate" : "");
622
- const ARRAY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== "production") ? "Array iterate" : "");
656
+ const ITERATE_KEY = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? "Object iterate" : "");
657
+ const MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? "Map keys iterate" : "");
658
+ const ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? "Array iterate" : "");
623
659
  function track(target, type, key) {
624
660
  if (shouldTrack && activeSub) {
625
661
  let depsMap = targetMap.get(target);
@@ -694,26 +730,30 @@ function getDepFromReactive(object, key) {
694
730
  return depMap && depMap.get(key);
695
731
  }
696
732
  function reactiveReadArray(array) {
697
- const raw = toRaw(array);
733
+ const raw = /* @__PURE__ */ toRaw(array);
698
734
  if (raw === array) return raw;
699
735
  track(raw, "iterate", ARRAY_ITERATE_KEY);
700
- return isShallow(array) ? raw : raw.map(toReactive);
736
+ return /* @__PURE__ */ isShallow(array) ? raw : raw.map(toReactive);
701
737
  }
702
738
  function shallowReadArray(arr) {
703
- track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY);
739
+ track(arr = /* @__PURE__ */ toRaw(arr), "iterate", ARRAY_ITERATE_KEY);
704
740
  return arr;
705
741
  }
742
+ function toWrapped(target, item) {
743
+ if (/* @__PURE__ */ isReadonly(target)) return /* @__PURE__ */ isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item);
744
+ return toReactive(item);
745
+ }
706
746
  const arrayInstrumentations = {
707
747
  __proto__: null,
708
748
  [Symbol.iterator]() {
709
- return iterator(this, Symbol.iterator, toReactive);
749
+ return iterator(this, Symbol.iterator, (item) => toWrapped(this, item));
710
750
  },
711
751
  concat(...args) {
712
752
  return reactiveReadArray(this).concat(...args.map((x) => isArray(x) ? reactiveReadArray(x) : x));
713
753
  },
714
754
  entries() {
715
755
  return iterator(this, "entries", (value) => {
716
- value[1] = toReactive(value[1]);
756
+ value[1] = toWrapped(this, value[1]);
717
757
  return value;
718
758
  });
719
759
  },
@@ -721,16 +761,16 @@ const arrayInstrumentations = {
721
761
  return apply(this, "every", fn, thisArg, void 0, arguments);
722
762
  },
723
763
  filter(fn, thisArg) {
724
- return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments);
764
+ return apply(this, "filter", fn, thisArg, (v) => v.map((item) => toWrapped(this, item)), arguments);
725
765
  },
726
766
  find(fn, thisArg) {
727
- return apply(this, "find", fn, thisArg, toReactive, arguments);
767
+ return apply(this, "find", fn, thisArg, (item) => toWrapped(this, item), arguments);
728
768
  },
729
769
  findIndex(fn, thisArg) {
730
770
  return apply(this, "findIndex", fn, thisArg, void 0, arguments);
731
771
  },
732
772
  findLast(fn, thisArg) {
733
- return apply(this, "findLast", fn, thisArg, toReactive, arguments);
773
+ return apply(this, "findLast", fn, thisArg, (item) => toWrapped(this, item), arguments);
734
774
  },
735
775
  findLastIndex(fn, thisArg) {
736
776
  return apply(this, "findLastIndex", fn, thisArg, void 0, arguments);
@@ -787,13 +827,13 @@ const arrayInstrumentations = {
787
827
  return noTracking(this, "unshift", args);
788
828
  },
789
829
  values() {
790
- return iterator(this, "values", toReactive);
830
+ return iterator(this, "values", (item) => toWrapped(this, item));
791
831
  }
792
832
  };
793
- function iterator(self$1, method, wrapValue) {
794
- const arr = shallowReadArray(self$1);
833
+ function iterator(self, method, wrapValue) {
834
+ const arr = shallowReadArray(self);
795
835
  const iter = arr[method]();
796
- if (arr !== self$1 && !isShallow(self$1)) {
836
+ if (arr !== self && !/* @__PURE__ */ isShallow(self)) {
797
837
  iter._next = iter.next;
798
838
  iter.next = () => {
799
839
  const result = iter._next();
@@ -804,53 +844,62 @@ function iterator(self$1, method, wrapValue) {
804
844
  return iter;
805
845
  }
806
846
  const arrayProto = Array.prototype;
807
- function apply(self$1, method, fn, thisArg, wrappedRetFn, args) {
808
- const arr = shallowReadArray(self$1);
809
- const needsWrap = arr !== self$1 && !isShallow(self$1);
847
+ function apply(self, method, fn, thisArg, wrappedRetFn, args) {
848
+ const arr = shallowReadArray(self);
849
+ const needsWrap = arr !== self && !/* @__PURE__ */ isShallow(self);
810
850
  const methodFn = arr[method];
811
851
  if (methodFn !== arrayProto[method]) {
812
- const result2 = methodFn.apply(self$1, args);
852
+ const result2 = methodFn.apply(self, args);
813
853
  return needsWrap ? toReactive(result2) : result2;
814
854
  }
815
855
  let wrappedFn = fn;
816
- if (arr !== self$1) {
856
+ if (arr !== self) {
817
857
  if (needsWrap) wrappedFn = function(item, index) {
818
- return fn.call(this, toReactive(item), index, self$1);
858
+ return fn.call(this, toWrapped(self, item), index, self);
819
859
  };
820
860
  else if (fn.length > 2) wrappedFn = function(item, index) {
821
- return fn.call(this, item, index, self$1);
861
+ return fn.call(this, item, index, self);
822
862
  };
823
863
  }
824
864
  const result = methodFn.call(arr, wrappedFn, thisArg);
825
865
  return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;
826
866
  }
827
- function reduce(self$1, method, fn, args) {
828
- const arr = shallowReadArray(self$1);
867
+ function reduce(self, method, fn, args) {
868
+ const arr = shallowReadArray(self);
869
+ const needsWrap = arr !== self && !/* @__PURE__ */ isShallow(self);
829
870
  let wrappedFn = fn;
830
- if (arr !== self$1) {
831
- if (!isShallow(self$1)) wrappedFn = function(acc, item, index) {
832
- return fn.call(this, acc, toReactive(item), index, self$1);
833
- };
834
- else if (fn.length > 3) wrappedFn = function(acc, item, index) {
835
- return fn.call(this, acc, item, index, self$1);
871
+ let wrapInitialAccumulator = false;
872
+ if (arr !== self) {
873
+ if (needsWrap) {
874
+ wrapInitialAccumulator = args.length === 0;
875
+ wrappedFn = function(acc, item, index) {
876
+ if (wrapInitialAccumulator) {
877
+ wrapInitialAccumulator = false;
878
+ acc = toWrapped(self, acc);
879
+ }
880
+ return fn.call(this, acc, toWrapped(self, item), index, self);
881
+ };
882
+ } else if (fn.length > 3) wrappedFn = function(acc, item, index) {
883
+ return fn.call(this, acc, item, index, self);
836
884
  };
837
885
  }
838
- return arr[method](wrappedFn, ...args);
886
+ const result = arr[method](wrappedFn, ...args);
887
+ return wrapInitialAccumulator ? toWrapped(self, result) : result;
839
888
  }
840
- function searchProxy(self$1, method, args) {
841
- const arr = toRaw(self$1);
889
+ function searchProxy(self, method, args) {
890
+ const arr = /* @__PURE__ */ toRaw(self);
842
891
  track(arr, "iterate", ARRAY_ITERATE_KEY);
843
892
  const res = arr[method](...args);
844
- if ((res === -1 || res === false) && isProxy(args[0])) {
845
- args[0] = toRaw(args[0]);
893
+ if ((res === -1 || res === false) && /* @__PURE__ */ isProxy(args[0])) {
894
+ args[0] = /* @__PURE__ */ toRaw(args[0]);
846
895
  return arr[method](...args);
847
896
  }
848
897
  return res;
849
898
  }
850
- function noTracking(self$1, method, args = []) {
899
+ function noTracking(self, method, args = []) {
851
900
  pauseTracking();
852
901
  startBatch();
853
- const res = toRaw(self$1)[method].apply(self$1, args);
902
+ const res = (/* @__PURE__ */ toRaw(self))[method].apply(self, args);
854
903
  endBatch();
855
904
  resetTracking();
856
905
  return res;
@@ -859,7 +908,7 @@ const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`
859
908
  const builtInSymbols = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
860
909
  function hasOwnProperty(key) {
861
910
  if (!isSymbol(key)) key = String(key);
862
- const obj = toRaw(this);
911
+ const obj = /* @__PURE__ */ toRaw(this);
863
912
  track(obj, "has", key);
864
913
  return obj.hasOwnProperty(key);
865
914
  }
@@ -884,15 +933,15 @@ var BaseReactiveHandler = class {
884
933
  if (targetIsArray && (fn = arrayInstrumentations[key])) return fn;
885
934
  if (key === "hasOwnProperty") return hasOwnProperty;
886
935
  }
887
- const res = Reflect.get(target, key, isRef(target) ? target : receiver);
936
+ const res = Reflect.get(target, key, /* @__PURE__ */ isRef(target) ? target : receiver);
888
937
  if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) return res;
889
938
  if (!isReadonly2) track(target, "get", key);
890
939
  if (isShallow2) return res;
891
- if (isRef(res)) {
940
+ if (/* @__PURE__ */ isRef(res)) {
892
941
  const value = targetIsArray && isIntegerKey(key) ? res : res.value;
893
- return isReadonly2 && isObject$1(value) ? readonly(value) : value;
942
+ return isReadonly2 && isObject$1(value) ? /* @__PURE__ */ readonly(value) : value;
894
943
  }
895
- if (isObject$1(res)) return isReadonly2 ? readonly(res) : reactive(res);
944
+ if (isObject$1(res)) return isReadonly2 ? /* @__PURE__ */ readonly(res) : /* @__PURE__ */ reactive(res);
896
945
  return res;
897
946
  }
898
947
  };
@@ -902,13 +951,14 @@ var MutableReactiveHandler = class extends BaseReactiveHandler {
902
951
  }
903
952
  set(target, key, value, receiver) {
904
953
  let oldValue = target[key];
954
+ const isArrayWithIntegerKey = isArray(target) && isIntegerKey(key);
905
955
  if (!this._isShallow) {
906
- const isOldValueReadonly = isReadonly(oldValue);
907
- if (!isShallow(value) && !isReadonly(value)) {
908
- oldValue = toRaw(oldValue);
909
- value = toRaw(value);
956
+ const isOldValueReadonly = /* @__PURE__ */ isReadonly(oldValue);
957
+ if (!/* @__PURE__ */ isShallow(value) && !/* @__PURE__ */ isReadonly(value)) {
958
+ oldValue = /* @__PURE__ */ toRaw(oldValue);
959
+ value = /* @__PURE__ */ toRaw(value);
910
960
  }
911
- if (!isArray(target) && isRef(oldValue) && !isRef(value)) if (isOldValueReadonly) {
961
+ if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) if (isOldValueReadonly) {
912
962
  if (!!(process.env.NODE_ENV !== "production")) warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]);
913
963
  return true;
914
964
  } else {
@@ -916,16 +966,16 @@ var MutableReactiveHandler = class extends BaseReactiveHandler {
916
966
  return true;
917
967
  }
918
968
  }
919
- const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$1(target, key);
920
- const result = Reflect.set(target, key, value, isRef(target) ? target : receiver);
921
- if (target === toRaw(receiver)) {
969
+ const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);
970
+ const result = Reflect.set(target, key, value, /* @__PURE__ */ isRef(target) ? target : receiver);
971
+ if (target === /* @__PURE__ */ toRaw(receiver)) {
922
972
  if (!hadKey) trigger(target, "add", key, value);
923
973
  else if (hasChanged(value, oldValue)) trigger(target, "set", key, value, oldValue);
924
974
  }
925
975
  return result;
926
976
  }
927
977
  deleteProperty(target, key) {
928
- const hadKey = hasOwn$1(target, key);
978
+ const hadKey = hasOwn(target, key);
929
979
  const oldValue = target[key];
930
980
  const result = Reflect.deleteProperty(target, key);
931
981
  if (result && hadKey) trigger(target, "delete", key, void 0, oldValue);
@@ -963,65 +1013,60 @@ const getProto = (v) => Reflect.getPrototypeOf(v);
963
1013
  function createIterableMethod(method, isReadonly2, isShallow2) {
964
1014
  return function(...args) {
965
1015
  const target = this["__v_raw"];
966
- const rawTarget = toRaw(target);
1016
+ const rawTarget = /* @__PURE__ */ toRaw(target);
967
1017
  const targetIsMap = isMap(rawTarget);
968
1018
  const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
969
1019
  const isKeyOnly = method === "keys" && targetIsMap;
970
1020
  const innerIterator = target[method](...args);
971
1021
  const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
972
1022
  !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
973
- return {
974
- next() {
975
- const { value, done } = innerIterator.next();
976
- return done ? {
977
- value,
978
- done
979
- } : {
980
- value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
981
- done
982
- };
983
- },
984
- [Symbol.iterator]() {
985
- return this;
986
- }
987
- };
1023
+ return extend(Object.create(innerIterator), { next() {
1024
+ const { value, done } = innerIterator.next();
1025
+ return done ? {
1026
+ value,
1027
+ done
1028
+ } : {
1029
+ value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
1030
+ done
1031
+ };
1032
+ } });
988
1033
  };
989
1034
  }
990
1035
  function createReadonlyMethod(type) {
991
1036
  return function(...args) {
992
1037
  if (!!(process.env.NODE_ENV !== "production")) {
993
1038
  const key = args[0] ? `on key "${args[0]}" ` : ``;
994
- warn$2(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));
1039
+ warn$2(`${capitalize(type)} operation ${key}failed: target is readonly.`, /* @__PURE__ */ toRaw(this));
995
1040
  }
996
1041
  return type === "delete" ? false : type === "clear" ? void 0 : this;
997
1042
  };
998
1043
  }
999
- function createInstrumentations(readonly$1, shallow) {
1044
+ function createInstrumentations(readonly, shallow) {
1000
1045
  const instrumentations = {
1001
1046
  get(key) {
1002
1047
  const target = this["__v_raw"];
1003
- const rawTarget = toRaw(target);
1004
- const rawKey = toRaw(key);
1005
- if (!readonly$1) {
1048
+ const rawTarget = /* @__PURE__ */ toRaw(target);
1049
+ const rawKey = /* @__PURE__ */ toRaw(key);
1050
+ if (!readonly) {
1006
1051
  if (hasChanged(key, rawKey)) track(rawTarget, "get", key);
1007
1052
  track(rawTarget, "get", rawKey);
1008
1053
  }
1009
1054
  const { has } = getProto(rawTarget);
1010
- const wrap = shallow ? toShallow : readonly$1 ? toReadonly : toReactive;
1055
+ const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;
1011
1056
  if (has.call(rawTarget, key)) return wrap(target.get(key));
1012
1057
  else if (has.call(rawTarget, rawKey)) return wrap(target.get(rawKey));
1013
1058
  else if (target !== rawTarget) target.get(key);
1014
1059
  },
1015
1060
  get size() {
1016
1061
  const target = this["__v_raw"];
1017
- !readonly$1 && track(toRaw(target), "iterate", ITERATE_KEY);
1062
+ !readonly && track(/* @__PURE__ */ toRaw(target), "iterate", ITERATE_KEY);
1018
1063
  return target.size;
1019
1064
  },
1020
1065
  has(key) {
1021
1066
  const target = this["__v_raw"];
1022
- const rawTarget = toRaw(target);
1023
- const rawKey = toRaw(key);
1024
- if (!readonly$1) {
1067
+ const rawTarget = /* @__PURE__ */ toRaw(target);
1068
+ const rawKey = /* @__PURE__ */ toRaw(key);
1069
+ if (!readonly) {
1025
1070
  if (hasChanged(key, rawKey)) track(rawTarget, "has", key);
1026
1071
  track(rawTarget, "has", rawKey);
1027
1072
  }
@@ -1030,36 +1075,38 @@ function createInstrumentations(readonly$1, shallow) {
1030
1075
  forEach(callback, thisArg) {
1031
1076
  const observed = this;
1032
1077
  const target = observed["__v_raw"];
1033
- const rawTarget = toRaw(target);
1034
- const wrap = shallow ? toShallow : readonly$1 ? toReadonly : toReactive;
1035
- !readonly$1 && track(rawTarget, "iterate", ITERATE_KEY);
1078
+ const rawTarget = /* @__PURE__ */ toRaw(target);
1079
+ const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;
1080
+ !readonly && track(rawTarget, "iterate", ITERATE_KEY);
1036
1081
  return target.forEach((value, key) => {
1037
1082
  return callback.call(thisArg, wrap(value), wrap(key), observed);
1038
1083
  });
1039
1084
  }
1040
1085
  };
1041
- extend(instrumentations, readonly$1 ? {
1086
+ extend(instrumentations, readonly ? {
1042
1087
  add: createReadonlyMethod("add"),
1043
1088
  set: createReadonlyMethod("set"),
1044
1089
  delete: createReadonlyMethod("delete"),
1045
1090
  clear: createReadonlyMethod("clear")
1046
1091
  } : {
1047
1092
  add(value) {
1048
- if (!shallow && !isShallow(value) && !isReadonly(value)) value = toRaw(value);
1049
- const target = toRaw(this);
1050
- if (!getProto(target).has.call(target, value)) {
1051
- target.add(value);
1052
- trigger(target, "add", value, value);
1093
+ const target = /* @__PURE__ */ toRaw(this);
1094
+ const proto = getProto(target);
1095
+ const rawValue = /* @__PURE__ */ toRaw(value);
1096
+ const valueToAdd = !shallow && !/* @__PURE__ */ isShallow(value) && !/* @__PURE__ */ isReadonly(value) ? rawValue : value;
1097
+ if (!(proto.has.call(target, valueToAdd) || hasChanged(value, valueToAdd) && proto.has.call(target, value) || hasChanged(rawValue, valueToAdd) && proto.has.call(target, rawValue))) {
1098
+ target.add(valueToAdd);
1099
+ trigger(target, "add", valueToAdd, valueToAdd);
1053
1100
  }
1054
1101
  return this;
1055
1102
  },
1056
1103
  set(key, value) {
1057
- if (!shallow && !isShallow(value) && !isReadonly(value)) value = toRaw(value);
1058
- const target = toRaw(this);
1104
+ if (!shallow && !/* @__PURE__ */ isShallow(value) && !/* @__PURE__ */ isReadonly(value)) value = /* @__PURE__ */ toRaw(value);
1105
+ const target = /* @__PURE__ */ toRaw(this);
1059
1106
  const { has, get } = getProto(target);
1060
1107
  let hadKey = has.call(target, key);
1061
1108
  if (!hadKey) {
1062
- key = toRaw(key);
1109
+ key = /* @__PURE__ */ toRaw(key);
1063
1110
  hadKey = has.call(target, key);
1064
1111
  } else if (!!(process.env.NODE_ENV !== "production")) checkIdentityKeys(target, has, key);
1065
1112
  const oldValue = get.call(target, key);
@@ -1069,11 +1116,11 @@ function createInstrumentations(readonly$1, shallow) {
1069
1116
  return this;
1070
1117
  },
1071
1118
  delete(key) {
1072
- const target = toRaw(this);
1119
+ const target = /* @__PURE__ */ toRaw(this);
1073
1120
  const { has, get } = getProto(target);
1074
1121
  let hadKey = has.call(target, key);
1075
1122
  if (!hadKey) {
1076
- key = toRaw(key);
1123
+ key = /* @__PURE__ */ toRaw(key);
1077
1124
  hadKey = has.call(target, key);
1078
1125
  } else if (!!(process.env.NODE_ENV !== "production")) checkIdentityKeys(target, has, key);
1079
1126
  const oldValue = get ? get.call(target, key) : void 0;
@@ -1082,7 +1129,7 @@ function createInstrumentations(readonly$1, shallow) {
1082
1129
  return result;
1083
1130
  },
1084
1131
  clear() {
1085
- const target = toRaw(this);
1132
+ const target = /* @__PURE__ */ toRaw(this);
1086
1133
  const hadItems = target.size !== 0;
1087
1134
  const oldTarget = !!(process.env.NODE_ENV !== "production") ? isMap(target) ? new Map(target) : new Set(target) : void 0;
1088
1135
  const result = target.clear();
@@ -1096,7 +1143,7 @@ function createInstrumentations(readonly$1, shallow) {
1096
1143
  "entries",
1097
1144
  Symbol.iterator
1098
1145
  ].forEach((method) => {
1099
- instrumentations[method] = createIterableMethod(method, readonly$1, shallow);
1146
+ instrumentations[method] = createIterableMethod(method, readonly, shallow);
1100
1147
  });
1101
1148
  return instrumentations;
1102
1149
  }
@@ -1106,7 +1153,7 @@ function createInstrumentationGetter(isReadonly2, shallow) {
1106
1153
  if (key === "__v_isReactive") return !isReadonly2;
1107
1154
  else if (key === "__v_isReadonly") return isReadonly2;
1108
1155
  else if (key === "__v_raw") return target;
1109
- return Reflect.get(hasOwn$1(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
1156
+ return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
1110
1157
  };
1111
1158
  }
1112
1159
  const mutableCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, false) };
@@ -1114,7 +1161,7 @@ const shallowCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGe
1114
1161
  const readonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, false) };
1115
1162
  const shallowReadonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, true) };
1116
1163
  function checkIdentityKeys(target, has, key) {
1117
- const rawKey = toRaw(key);
1164
+ const rawKey = /* @__PURE__ */ toRaw(key);
1118
1165
  if (rawKey !== key && has.call(target, rawKey)) {
1119
1166
  const type = toRawType(target);
1120
1167
  warn$2(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`);
@@ -1138,16 +1185,20 @@ function targetTypeMap(rawType) {
1138
1185
  function getTargetType(value) {
1139
1186
  return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value));
1140
1187
  }
1188
+ /* @__NO_SIDE_EFFECTS__ */
1141
1189
  function reactive(target) {
1142
- if (isReadonly(target)) return target;
1190
+ if (/* @__PURE__ */ isReadonly(target)) return target;
1143
1191
  return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
1144
1192
  }
1193
+ /* @__NO_SIDE_EFFECTS__ */
1145
1194
  function shallowReactive(target) {
1146
1195
  return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
1147
1196
  }
1197
+ /* @__NO_SIDE_EFFECTS__ */
1148
1198
  function readonly(target) {
1149
1199
  return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
1150
1200
  }
1201
+ /* @__NO_SIDE_EFFECTS__ */
1151
1202
  function shallowReadonly(target) {
1152
1203
  return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
1153
1204
  }
@@ -1165,40 +1216,48 @@ function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandl
1165
1216
  proxyMap.set(target, proxy);
1166
1217
  return proxy;
1167
1218
  }
1219
+ /* @__NO_SIDE_EFFECTS__ */
1168
1220
  function isReactive(value) {
1169
- if (isReadonly(value)) return isReactive(value["__v_raw"]);
1221
+ if (/* @__PURE__ */ isReadonly(value)) return /* @__PURE__ */ isReactive(value["__v_raw"]);
1170
1222
  return !!(value && value["__v_isReactive"]);
1171
1223
  }
1224
+ /* @__NO_SIDE_EFFECTS__ */
1172
1225
  function isReadonly(value) {
1173
1226
  return !!(value && value["__v_isReadonly"]);
1174
1227
  }
1228
+ /* @__NO_SIDE_EFFECTS__ */
1175
1229
  function isShallow(value) {
1176
1230
  return !!(value && value["__v_isShallow"]);
1177
1231
  }
1232
+ /* @__NO_SIDE_EFFECTS__ */
1178
1233
  function isProxy(value) {
1179
1234
  return value ? !!value["__v_raw"] : false;
1180
1235
  }
1236
+ /* @__NO_SIDE_EFFECTS__ */
1181
1237
  function toRaw(observed) {
1182
1238
  const raw = observed && observed["__v_raw"];
1183
- return raw ? toRaw(raw) : observed;
1239
+ return raw ? /* @__PURE__ */ toRaw(raw) : observed;
1184
1240
  }
1185
1241
  function markRaw(value) {
1186
- if (!hasOwn$1(value, "__v_skip") && Object.isExtensible(value)) def(value, "__v_skip", true);
1242
+ if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) def(value, "__v_skip", true);
1187
1243
  return value;
1188
1244
  }
1189
- const toReactive = (value) => isObject$1(value) ? reactive(value) : value;
1190
- const toReadonly = (value) => isObject$1(value) ? readonly(value) : value;
1245
+ const toReactive = (value) => isObject$1(value) ? /* @__PURE__ */ reactive(value) : value;
1246
+ const toReadonly = (value) => isObject$1(value) ? /* @__PURE__ */ readonly(value) : value;
1247
+ /* @__NO_SIDE_EFFECTS__ */
1191
1248
  function isRef(r) {
1192
1249
  return r ? r["__v_isRef"] === true : false;
1193
1250
  }
1251
+ /* @__NO_SIDE_EFFECTS__ */
1194
1252
  function ref(value) {
1195
- return createRef$1(value, false);
1253
+ return createRef(value, false);
1196
1254
  }
1255
+ /* @__NO_SIDE_EFFECTS__ */
1197
1256
  function shallowRef(value) {
1198
- return createRef$1(value, true);
1257
+ return createRef(value, true);
1199
1258
  }
1200
- function createRef$1(rawValue, shallow) {
1201
- if (isRef(rawValue)) return rawValue;
1259
+ function createRef(rawValue, shallow) {
1260
+ if (/* @__PURE__ */ isRef(rawValue)) return rawValue;
1202
1261
  return new RefImpl(rawValue, shallow);
1203
1262
  }
1204
1263
  var RefImpl = class {
@@ -1206,7 +1265,7 @@ var RefImpl = class {
1206
1265
  this.dep = new Dep();
1207
1266
  this["__v_isRef"] = true;
1208
1267
  this["__v_isShallow"] = false;
1209
- this._rawValue = isShallow2 ? value : toRaw(value);
1268
+ this._rawValue = isShallow2 ? value : /* @__PURE__ */ toRaw(value);
1210
1269
  this._value = isShallow2 ? value : toReactive(value);
1211
1270
  this["__v_isShallow"] = isShallow2;
1212
1271
  }
@@ -1221,8 +1280,8 @@ var RefImpl = class {
1221
1280
  }
1222
1281
  set value(newValue) {
1223
1282
  const oldValue = this._rawValue;
1224
- const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue);
1225
- newValue = useDirectValue ? newValue : toRaw(newValue);
1283
+ const useDirectValue = this["__v_isShallow"] || /* @__PURE__ */ isShallow(newValue) || /* @__PURE__ */ isReadonly(newValue);
1284
+ newValue = useDirectValue ? newValue : /* @__PURE__ */ toRaw(newValue);
1226
1285
  if (hasChanged(newValue, oldValue)) {
1227
1286
  this._rawValue = newValue;
1228
1287
  this._value = useDirectValue ? newValue : toReactive(newValue);
@@ -1238,7 +1297,7 @@ var RefImpl = class {
1238
1297
  }
1239
1298
  };
1240
1299
  function unref(ref2) {
1241
- return isRef(ref2) ? ref2.value : ref2;
1300
+ return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2;
1242
1301
  }
1243
1302
  function toValue(source) {
1244
1303
  return isFunction(source) ? source() : unref(source);
@@ -1247,14 +1306,14 @@ const shallowUnwrapHandlers = {
1247
1306
  get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)),
1248
1307
  set: (target, key, value, receiver) => {
1249
1308
  const oldValue = target[key];
1250
- if (isRef(oldValue) && !isRef(value)) {
1309
+ if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
1251
1310
  oldValue.value = value;
1252
1311
  return true;
1253
1312
  } else return Reflect.set(target, key, value, receiver);
1254
1313
  }
1255
1314
  };
1256
1315
  function proxyRefs(objectWithRefs) {
1257
- return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
1316
+ return /* @__PURE__ */ isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
1258
1317
  }
1259
1318
  var CustomRefImpl = class {
1260
1319
  constructor(factory) {
@@ -1275,8 +1334,9 @@ var CustomRefImpl = class {
1275
1334
  function customRef(factory) {
1276
1335
  return new CustomRefImpl(factory);
1277
1336
  }
1278
- function toRefs$1(object) {
1279
- if (!!(process.env.NODE_ENV !== "production") && !isProxy(object)) warn$2(`toRefs() expects a reactive object but received a plain one.`);
1337
+ /* @__NO_SIDE_EFFECTS__ */
1338
+ function toRefs(object) {
1339
+ if (!!(process.env.NODE_ENV !== "production") && !/* @__PURE__ */ isProxy(object)) warn$2(`toRefs() expects a reactive object but received a plain one.`);
1280
1340
  const ret = isArray(object) ? new Array(object.length) : {};
1281
1341
  for (const key in object) ret[key] = propertyToRef(object, key);
1282
1342
  return ret;
@@ -1288,16 +1348,31 @@ var ObjectRefImpl = class {
1288
1348
  this._defaultValue = _defaultValue;
1289
1349
  this["__v_isRef"] = true;
1290
1350
  this._value = void 0;
1351
+ this._raw = /* @__PURE__ */ toRaw(_object);
1352
+ let shallow = true;
1353
+ let obj = _object;
1354
+ if (!isArray(_object) || !isIntegerKey(String(_key))) do
1355
+ shallow = !/* @__PURE__ */ isProxy(obj) || /* @__PURE__ */ isShallow(obj);
1356
+ while (shallow && (obj = obj["__v_raw"]));
1357
+ this._shallow = shallow;
1291
1358
  }
1292
1359
  get value() {
1293
- const val = this._object[this._key];
1360
+ let val = this._object[this._key];
1361
+ if (this._shallow) val = unref(val);
1294
1362
  return this._value = val === void 0 ? this._defaultValue : val;
1295
1363
  }
1296
1364
  set value(newVal) {
1365
+ if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) {
1366
+ const nestedRef = this._object[this._key];
1367
+ if (/* @__PURE__ */ isRef(nestedRef)) {
1368
+ nestedRef.value = newVal;
1369
+ return;
1370
+ }
1371
+ }
1297
1372
  this._object[this._key] = newVal;
1298
1373
  }
1299
1374
  get dep() {
1300
- return getDepFromReactive(toRaw(this._object), this._key);
1375
+ return getDepFromReactive(this._raw, this._key);
1301
1376
  }
1302
1377
  };
1303
1378
  var GetterRefImpl = class {
@@ -1311,15 +1386,15 @@ var GetterRefImpl = class {
1311
1386
  return this._value = this._getter();
1312
1387
  }
1313
1388
  };
1389
+ /* @__NO_SIDE_EFFECTS__ */
1314
1390
  function toRef$1(source, key, defaultValue) {
1315
- if (isRef(source)) return source;
1391
+ if (/* @__PURE__ */ isRef(source)) return source;
1316
1392
  else if (isFunction(source)) return new GetterRefImpl(source);
1317
1393
  else if (isObject$1(source) && arguments.length > 1) return propertyToRef(source, key, defaultValue);
1318
- else return ref(source);
1394
+ else return /* @__PURE__ */ ref(source);
1319
1395
  }
1320
1396
  function propertyToRef(source, key, defaultValue) {
1321
- const val = source[key];
1322
- return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
1397
+ return new ObjectRefImpl(source, key, defaultValue);
1323
1398
  }
1324
1399
  var ComputedRefImpl = class {
1325
1400
  constructor(fn, setter, isSSR) {
@@ -1386,6 +1461,7 @@ var ComputedRefImpl = class {
1386
1461
  else if (!!(process.env.NODE_ENV !== "production")) warn$2("Write operation failed: computed value is readonly");
1387
1462
  }
1388
1463
  };
1464
+ /* @__NO_SIDE_EFFECTS__ */
1389
1465
  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1390
1466
  let getter;
1391
1467
  let setter;
@@ -1418,27 +1494,27 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
1418
1494
  };
1419
1495
  const reactiveGetter = (source2) => {
1420
1496
  if (deep) return source2;
1421
- if (isShallow(source2) || deep === false || deep === 0) return traverse(source2, 1);
1497
+ if (/* @__PURE__ */ isShallow(source2) || deep === false || deep === 0) return traverse(source2, 1);
1422
1498
  return traverse(source2);
1423
1499
  };
1424
- let effect$1;
1500
+ let effect;
1425
1501
  let getter;
1426
1502
  let cleanup;
1427
1503
  let boundCleanup;
1428
1504
  let forceTrigger = false;
1429
1505
  let isMultiSource = false;
1430
- if (isRef(source)) {
1506
+ if (/* @__PURE__ */ isRef(source)) {
1431
1507
  getter = () => source.value;
1432
- forceTrigger = isShallow(source);
1433
- } else if (isReactive(source)) {
1508
+ forceTrigger = /* @__PURE__ */ isShallow(source);
1509
+ } else if (/* @__PURE__ */ isReactive(source)) {
1434
1510
  getter = () => reactiveGetter(source);
1435
1511
  forceTrigger = true;
1436
1512
  } else if (isArray(source)) {
1437
1513
  isMultiSource = true;
1438
- forceTrigger = source.some((s) => isReactive(s) || isShallow(s));
1514
+ forceTrigger = source.some((s) => /* @__PURE__ */ isReactive(s) || /* @__PURE__ */ isShallow(s));
1439
1515
  getter = () => source.map((s) => {
1440
- if (isRef(s)) return s.value;
1441
- else if (isReactive(s)) return reactiveGetter(s);
1516
+ if (/* @__PURE__ */ isRef(s)) return s.value;
1517
+ else if (/* @__PURE__ */ isReactive(s)) return reactiveGetter(s);
1442
1518
  else if (isFunction(s)) return call ? call(s, 2) : s();
1443
1519
  else process.env.NODE_ENV !== "production" && warnInvalidSource(s);
1444
1520
  });
@@ -1453,7 +1529,7 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
1453
1529
  }
1454
1530
  }
1455
1531
  const currentEffect = activeWatcher;
1456
- activeWatcher = effect$1;
1532
+ activeWatcher = effect;
1457
1533
  try {
1458
1534
  return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);
1459
1535
  } finally {
@@ -1471,8 +1547,8 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
1471
1547
  }
1472
1548
  const scope = getCurrentScope();
1473
1549
  const watchHandle = () => {
1474
- effect$1.stop();
1475
- if (scope && scope.active) remove(scope.effects, effect$1);
1550
+ effect.stop();
1551
+ if (scope && scope.active) remove(scope.effects, effect);
1476
1552
  };
1477
1553
  if (once && cb) {
1478
1554
  const _cb = cb;
@@ -1483,13 +1559,13 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
1483
1559
  }
1484
1560
  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
1485
1561
  const job = (immediateFirstRun) => {
1486
- if (!(effect$1.flags & 1) || !effect$1.dirty && !immediateFirstRun) return;
1562
+ if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) return;
1487
1563
  if (cb) {
1488
- const newValue = effect$1.run();
1564
+ const newValue = effect.run();
1489
1565
  if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
1490
1566
  if (cleanup) cleanup();
1491
1567
  const currentWatcher = activeWatcher;
1492
- activeWatcher = effect$1;
1568
+ activeWatcher = effect;
1493
1569
  try {
1494
1570
  const args = [
1495
1571
  newValue,
@@ -1502,30 +1578,30 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
1502
1578
  activeWatcher = currentWatcher;
1503
1579
  }
1504
1580
  }
1505
- } else effect$1.run();
1581
+ } else effect.run();
1506
1582
  };
1507
1583
  if (augmentJob) augmentJob(job);
1508
- effect$1 = new ReactiveEffect(getter);
1509
- effect$1.scheduler = scheduler ? () => scheduler(job, false) : job;
1510
- boundCleanup = (fn) => onWatcherCleanup(fn, false, effect$1);
1511
- cleanup = effect$1.onStop = () => {
1512
- const cleanups = cleanupMap.get(effect$1);
1584
+ effect = new ReactiveEffect(getter);
1585
+ effect.scheduler = scheduler ? () => scheduler(job, false) : job;
1586
+ boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);
1587
+ cleanup = effect.onStop = () => {
1588
+ const cleanups = cleanupMap.get(effect);
1513
1589
  if (cleanups) {
1514
1590
  if (call) call(cleanups, 4);
1515
1591
  else for (const cleanup2 of cleanups) cleanup2();
1516
- cleanupMap.delete(effect$1);
1592
+ cleanupMap.delete(effect);
1517
1593
  }
1518
1594
  };
1519
1595
  if (!!(process.env.NODE_ENV !== "production")) {
1520
- effect$1.onTrack = options.onTrack;
1521
- effect$1.onTrigger = options.onTrigger;
1596
+ effect.onTrack = options.onTrack;
1597
+ effect.onTrigger = options.onTrigger;
1522
1598
  }
1523
1599
  if (cb) if (immediate) job(true);
1524
- else oldValue = effect$1.run();
1600
+ else oldValue = effect.run();
1525
1601
  else if (scheduler) scheduler(job.bind(null, true), true);
1526
- else effect$1.run();
1527
- watchHandle.pause = effect$1.pause.bind(effect$1);
1528
- watchHandle.resume = effect$1.resume.bind(effect$1);
1602
+ else effect.run();
1603
+ watchHandle.pause = effect.pause.bind(effect);
1604
+ watchHandle.resume = effect.resume.bind(effect);
1529
1605
  watchHandle.stop = watchHandle;
1530
1606
  return watchHandle;
1531
1607
  }
@@ -1535,7 +1611,7 @@ function traverse(value, depth = Infinity, seen) {
1535
1611
  if ((seen.get(value) || 0) >= depth) return value;
1536
1612
  seen.set(value, depth);
1537
1613
  depth--;
1538
- if (isRef(value)) traverse(value.value, depth, seen);
1614
+ if (/* @__PURE__ */ isRef(value)) traverse(value.value, depth, seen);
1539
1615
  else if (isArray(value)) for (let i = 0; i < value.length; i++) traverse(value[i], depth, seen);
1540
1616
  else if (isSet(value) || isMap(value)) value.forEach((v) => {
1541
1617
  traverse(v, depth, seen);
@@ -1546,9 +1622,13 @@ function traverse(value, depth = Infinity, seen) {
1546
1622
  }
1547
1623
  return value;
1548
1624
  }
1549
-
1550
1625
  //#endregion
1551
- //#region ../../node_modules/.pnpm/@vue+runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
1626
+ //#region ../../node_modules/.pnpm/@vue+runtime-core@3.5.30/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
1627
+ /**
1628
+ * @vue/runtime-core v3.5.30
1629
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
1630
+ * @license MIT
1631
+ **/
1552
1632
  const stack = [];
1553
1633
  function pushWarningContext(vnode) {
1554
1634
  stack.push(vnode);
@@ -1631,8 +1711,8 @@ function formatProp(key, value, raw) {
1631
1711
  value = JSON.stringify(value);
1632
1712
  return raw ? value : [`${key}=${value}`];
1633
1713
  } else if (typeof value === "number" || typeof value === "boolean" || value == null) return raw ? value : [`${key}=${value}`];
1634
- else if (isRef(value)) {
1635
- value = formatProp(key, toRaw(value.value), true);
1714
+ else if (/* @__PURE__ */ isRef(value)) {
1715
+ value = formatProp(key, /* @__PURE__ */ toRaw(value.value), true);
1636
1716
  return raw ? value : [
1637
1717
  `${key}=Ref<`,
1638
1718
  value,
@@ -1640,10 +1720,16 @@ function formatProp(key, value, raw) {
1640
1720
  ];
1641
1721
  } else if (isFunction(value)) return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
1642
1722
  else {
1643
- value = toRaw(value);
1723
+ value = /* @__PURE__ */ toRaw(value);
1644
1724
  return raw ? value : [`${key}=`, value];
1645
1725
  }
1646
1726
  }
1727
+ function assertNumber(val, type) {
1728
+ if (!!!(process.env.NODE_ENV !== "production")) return;
1729
+ if (val === void 0) return;
1730
+ else if (typeof val !== "number") warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);
1731
+ else if (isNaN(val)) warn$1(`${type} is NaN - the duration expression might be incorrect.`);
1732
+ }
1647
1733
  const ErrorTypeStrings$1 = {
1648
1734
  ["sp"]: "serverPrefetch hook",
1649
1735
  ["bc"]: "beforeCreate hook",
@@ -1745,8 +1831,8 @@ const resolvedPromise = /* @__PURE__ */ Promise.resolve();
1745
1831
  let currentFlushPromise = null;
1746
1832
  const RECURSION_LIMIT = 100;
1747
1833
  function nextTick(fn) {
1748
- const p$1 = currentFlushPromise || resolvedPromise;
1749
- return fn ? p$1.then(this ? fn.bind(this) : fn) : p$1;
1834
+ const p = currentFlushPromise || resolvedPromise;
1835
+ return fn ? p.then(this ? fn.bind(this) : fn) : p;
1750
1836
  }
1751
1837
  function findInsertionIndex(id) {
1752
1838
  let start = flushIndex + 1;
@@ -1988,8 +2074,8 @@ function setDevtoolsHook$1(hook, target) {
1988
2074
  buffer = [];
1989
2075
  }
1990
2076
  }
1991
- function devtoolsInitApp(app, version$1) {
1992
- emit$1("app:init", app, version$1, {
2077
+ function devtoolsInitApp(app, version) {
2078
+ emit$1("app:init", app, version, {
1993
2079
  Fragment,
1994
2080
  Text,
1995
2081
  Comment,
@@ -2099,10 +2185,242 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
2099
2185
  }
2100
2186
  }
2101
2187
  }
2102
- const TeleportEndKey = Symbol("_vte");
2188
+ function provide(key, value) {
2189
+ if (!!(process.env.NODE_ENV !== "production")) {
2190
+ if (!currentInstance || currentInstance.isMounted) warn$1(`provide() can only be used inside setup().`);
2191
+ }
2192
+ if (currentInstance) {
2193
+ let provides = currentInstance.provides;
2194
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
2195
+ if (parentProvides === provides) provides = currentInstance.provides = Object.create(parentProvides);
2196
+ provides[key] = value;
2197
+ }
2198
+ }
2199
+ function inject(key, defaultValue, treatDefaultAsFactory = false) {
2200
+ const instance = getCurrentInstance();
2201
+ if (instance || currentApp) {
2202
+ let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
2203
+ if (provides && key in provides) return provides[key];
2204
+ else if (arguments.length > 1) return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
2205
+ else if (!!(process.env.NODE_ENV !== "production")) warn$1(`injection "${String(key)}" not found.`);
2206
+ } else if (!!(process.env.NODE_ENV !== "production")) warn$1(`inject() can only be used inside setup() or functional components.`);
2207
+ }
2208
+ function hasInjectionContext() {
2209
+ return !!(getCurrentInstance() || currentApp);
2210
+ }
2211
+ const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx");
2212
+ const useSSRContext = () => {
2213
+ {
2214
+ const ctx = inject(ssrContextKey);
2215
+ if (!ctx) process.env.NODE_ENV !== "production" && warn$1(`Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`);
2216
+ return ctx;
2217
+ }
2218
+ };
2219
+ function watchEffect(effect, options) {
2220
+ return doWatch(effect, null, options);
2221
+ }
2222
+ function watch(source, cb, options) {
2223
+ if (!!(process.env.NODE_ENV !== "production") && !isFunction(cb)) warn$1(`\`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.`);
2224
+ return doWatch(source, cb, options);
2225
+ }
2226
+ function doWatch(source, cb, options = EMPTY_OBJ) {
2227
+ const { immediate, deep, flush, once } = options;
2228
+ if (!!(process.env.NODE_ENV !== "production") && !cb) {
2229
+ if (immediate !== void 0) warn$1(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`);
2230
+ if (deep !== void 0) warn$1(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`);
2231
+ if (once !== void 0) warn$1(`watch() "once" option is only respected when using the watch(source, callback, options?) signature.`);
2232
+ }
2233
+ const baseWatchOptions = extend({}, options);
2234
+ if (!!(process.env.NODE_ENV !== "production")) baseWatchOptions.onWarn = warn$1;
2235
+ const runsImmediately = cb && immediate || !cb && flush !== "post";
2236
+ let ssrCleanup;
2237
+ if (isInSSRComponentSetup) {
2238
+ if (flush === "sync") {
2239
+ const ctx = useSSRContext();
2240
+ ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
2241
+ } else if (!runsImmediately) {
2242
+ const watchStopHandle = () => {};
2243
+ watchStopHandle.stop = NOOP;
2244
+ watchStopHandle.resume = NOOP;
2245
+ watchStopHandle.pause = NOOP;
2246
+ return watchStopHandle;
2247
+ }
2248
+ }
2249
+ const instance = currentInstance;
2250
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
2251
+ let isPre = false;
2252
+ if (flush === "post") baseWatchOptions.scheduler = (job) => {
2253
+ queuePostRenderEffect(job, instance && instance.suspense);
2254
+ };
2255
+ else if (flush !== "sync") {
2256
+ isPre = true;
2257
+ baseWatchOptions.scheduler = (job, isFirstRun) => {
2258
+ if (isFirstRun) job();
2259
+ else queueJob(job);
2260
+ };
2261
+ }
2262
+ baseWatchOptions.augmentJob = (job) => {
2263
+ if (cb) job.flags |= 4;
2264
+ if (isPre) {
2265
+ job.flags |= 2;
2266
+ if (instance) {
2267
+ job.id = instance.uid;
2268
+ job.i = instance;
2269
+ }
2270
+ }
2271
+ };
2272
+ const watchHandle = watch$1(source, cb, baseWatchOptions);
2273
+ if (isInSSRComponentSetup) {
2274
+ if (ssrCleanup) ssrCleanup.push(watchHandle);
2275
+ else if (runsImmediately) watchHandle();
2276
+ }
2277
+ return watchHandle;
2278
+ }
2279
+ function instanceWatch(source, value, options) {
2280
+ const publicThis = this.proxy;
2281
+ const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
2282
+ let cb;
2283
+ if (isFunction(value)) cb = value;
2284
+ else {
2285
+ cb = value.handler;
2286
+ options = value;
2287
+ }
2288
+ const reset = setCurrentInstance(this);
2289
+ const res = doWatch(getter, cb.bind(publicThis), options);
2290
+ reset();
2291
+ return res;
2292
+ }
2293
+ function createPathGetter(ctx, path) {
2294
+ const segments = path.split(".");
2295
+ return () => {
2296
+ let cur = ctx;
2297
+ for (let i = 0; i < segments.length && cur; i++) cur = cur[segments[i]];
2298
+ return cur;
2299
+ };
2300
+ }
2301
+ const TeleportEndKey = /* @__PURE__ */ Symbol("_vte");
2103
2302
  const isTeleport = (type) => type.__isTeleport;
2104
- const leaveCbKey = Symbol("_leaveCb");
2105
- const enterCbKey$1 = Symbol("_enterCb");
2303
+ const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb");
2304
+ const enterCbKey$1 = /* @__PURE__ */ Symbol("_enterCb");
2305
+ function useTransitionState() {
2306
+ const state = {
2307
+ isMounted: false,
2308
+ isLeaving: false,
2309
+ isUnmounting: false,
2310
+ leavingVNodes: /* @__PURE__ */ new Map()
2311
+ };
2312
+ onMounted(() => {
2313
+ state.isMounted = true;
2314
+ });
2315
+ onBeforeUnmount(() => {
2316
+ state.isUnmounting = true;
2317
+ });
2318
+ return state;
2319
+ }
2320
+ const TransitionHookValidator = [Function, Array];
2321
+ const BaseTransitionPropsValidators = {
2322
+ mode: String,
2323
+ appear: Boolean,
2324
+ persisted: Boolean,
2325
+ onBeforeEnter: TransitionHookValidator,
2326
+ onEnter: TransitionHookValidator,
2327
+ onAfterEnter: TransitionHookValidator,
2328
+ onEnterCancelled: TransitionHookValidator,
2329
+ onBeforeLeave: TransitionHookValidator,
2330
+ onLeave: TransitionHookValidator,
2331
+ onAfterLeave: TransitionHookValidator,
2332
+ onLeaveCancelled: TransitionHookValidator,
2333
+ onBeforeAppear: TransitionHookValidator,
2334
+ onAppear: TransitionHookValidator,
2335
+ onAfterAppear: TransitionHookValidator,
2336
+ onAppearCancelled: TransitionHookValidator
2337
+ };
2338
+ function getLeavingNodesForType(state, vnode) {
2339
+ const { leavingVNodes } = state;
2340
+ let leavingVNodesCache = leavingVNodes.get(vnode.type);
2341
+ if (!leavingVNodesCache) {
2342
+ leavingVNodesCache = /* @__PURE__ */ Object.create(null);
2343
+ leavingVNodes.set(vnode.type, leavingVNodesCache);
2344
+ }
2345
+ return leavingVNodesCache;
2346
+ }
2347
+ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
2348
+ const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;
2349
+ const key = String(vnode.key);
2350
+ const leavingVNodesCache = getLeavingNodesForType(state, vnode);
2351
+ const callHook = (hook, args) => {
2352
+ hook && callWithAsyncErrorHandling(hook, instance, 9, args);
2353
+ };
2354
+ const callAsyncHook = (hook, args) => {
2355
+ const done = args[1];
2356
+ callHook(hook, args);
2357
+ if (isArray(hook)) {
2358
+ if (hook.every((hook2) => hook2.length <= 1)) done();
2359
+ } else if (hook.length <= 1) done();
2360
+ };
2361
+ const hooks = {
2362
+ mode,
2363
+ persisted,
2364
+ beforeEnter(el) {
2365
+ let hook = onBeforeEnter;
2366
+ if (!state.isMounted) if (appear) hook = onBeforeAppear || onBeforeEnter;
2367
+ else return;
2368
+ if (el[leaveCbKey]) el[leaveCbKey](true);
2369
+ const leavingVNode = leavingVNodesCache[key];
2370
+ if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) leavingVNode.el[leaveCbKey]();
2371
+ callHook(hook, [el]);
2372
+ },
2373
+ enter(el) {
2374
+ if (leavingVNodesCache[key] === vnode) return;
2375
+ let hook = onEnter;
2376
+ let afterHook = onAfterEnter;
2377
+ let cancelHook = onEnterCancelled;
2378
+ if (!state.isMounted) if (appear) {
2379
+ hook = onAppear || onEnter;
2380
+ afterHook = onAfterAppear || onAfterEnter;
2381
+ cancelHook = onAppearCancelled || onEnterCancelled;
2382
+ } else return;
2383
+ let called = false;
2384
+ el[enterCbKey$1] = (cancelled) => {
2385
+ if (called) return;
2386
+ called = true;
2387
+ if (cancelled) callHook(cancelHook, [el]);
2388
+ else callHook(afterHook, [el]);
2389
+ if (hooks.delayedLeave) hooks.delayedLeave();
2390
+ el[enterCbKey$1] = void 0;
2391
+ };
2392
+ const done = el[enterCbKey$1].bind(null, false);
2393
+ if (hook) callAsyncHook(hook, [el, done]);
2394
+ else done();
2395
+ },
2396
+ leave(el, remove) {
2397
+ const key2 = String(vnode.key);
2398
+ if (el[enterCbKey$1]) el[enterCbKey$1](true);
2399
+ if (state.isUnmounting) return remove();
2400
+ callHook(onBeforeLeave, [el]);
2401
+ let called = false;
2402
+ el[leaveCbKey] = (cancelled) => {
2403
+ if (called) return;
2404
+ called = true;
2405
+ remove();
2406
+ if (cancelled) callHook(onLeaveCancelled, [el]);
2407
+ else callHook(onAfterLeave, [el]);
2408
+ el[leaveCbKey] = void 0;
2409
+ if (leavingVNodesCache[key2] === vnode) delete leavingVNodesCache[key2];
2410
+ };
2411
+ const done = el[leaveCbKey].bind(null, false);
2412
+ leavingVNodesCache[key2] = vnode;
2413
+ if (onLeave) callAsyncHook(onLeave, [el, done]);
2414
+ else done();
2415
+ },
2416
+ clone(vnode2) {
2417
+ const hooks2 = resolveTransitionHooks(vnode2, props, state, instance, postClone);
2418
+ if (postClone) postClone(hooks2);
2419
+ return hooks2;
2420
+ }
2421
+ };
2422
+ return hooks;
2423
+ }
2106
2424
  function setTransitionHooks(vnode, hooks) {
2107
2425
  if (vnode.shapeFlag & 6 && vnode.component) {
2108
2426
  vnode.transition = hooks;
@@ -2112,9 +2430,23 @@ function setTransitionHooks(vnode, hooks) {
2112
2430
  vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
2113
2431
  } else vnode.transition = hooks;
2114
2432
  }
2433
+ function getTransitionRawChildren(children, keepComment = false, parentKey) {
2434
+ let ret = [];
2435
+ let keyedFragmentCount = 0;
2436
+ for (let i = 0; i < children.length; i++) {
2437
+ let child = children[i];
2438
+ const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);
2439
+ if (child.type === Fragment) {
2440
+ if (child.patchFlag & 128) keyedFragmentCount++;
2441
+ ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key));
2442
+ } else if (keepComment || child.type !== Comment) ret.push(key != null ? cloneVNode(child, { key }) : child);
2443
+ }
2444
+ if (keyedFragmentCount > 1) for (let i = 0; i < ret.length; i++) ret[i].patchFlag = -2;
2445
+ return ret;
2446
+ }
2115
2447
  /* @__NO_SIDE_EFFECTS__ */
2116
2448
  function defineComponent(options, extraOptions) {
2117
- return isFunction(options) ? /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))() : options;
2449
+ return isFunction(options) ? extend({ name: options.name }, extraOptions, { setup: options }) : options;
2118
2450
  }
2119
2451
  function markAsyncBoundary(instance) {
2120
2452
  instance.ids = [
@@ -2126,21 +2458,24 @@ function markAsyncBoundary(instance) {
2126
2458
  const knownTemplateRefs = /* @__PURE__ */ new WeakSet();
2127
2459
  function useTemplateRef(key) {
2128
2460
  const i = getCurrentInstance();
2129
- const r = shallowRef(null);
2461
+ const r = /* @__PURE__ */ shallowRef(null);
2130
2462
  if (i) {
2131
2463
  const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
2132
- let desc;
2133
- if (!!(process.env.NODE_ENV !== "production") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) warn$1(`useTemplateRef('${key}') already exists.`);
2464
+ if (!!(process.env.NODE_ENV !== "production") && isTemplateRefKey(refs, key)) warn$1(`useTemplateRef('${key}') already exists.`);
2134
2465
  else Object.defineProperty(refs, key, {
2135
2466
  enumerable: true,
2136
2467
  get: () => r.value,
2137
2468
  set: (val) => r.value = val
2138
2469
  });
2139
2470
  } else if (!!(process.env.NODE_ENV !== "production")) warn$1(`useTemplateRef() is called when there is no active component instance to be associated with.`);
2140
- const ret = !!(process.env.NODE_ENV !== "production") ? readonly(r) : r;
2471
+ const ret = !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ readonly(r) : r;
2141
2472
  if (!!(process.env.NODE_ENV !== "production")) knownTemplateRefs.add(ret);
2142
2473
  return ret;
2143
2474
  }
2475
+ function isTemplateRefKey(refs, key) {
2476
+ let desc;
2477
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
2478
+ }
2144
2479
  const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
2145
2480
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
2146
2481
  if (isArray(rawRef)) {
@@ -2153,7 +2488,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
2153
2488
  }
2154
2489
  const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
2155
2490
  const value = isUnmount ? null : refValue;
2156
- const { i: owner, r: ref$1 } = rawRef;
2491
+ const { i: owner, r: ref } = rawRef;
2157
2492
  if (!!(process.env.NODE_ENV !== "production") && !owner) {
2158
2493
  warn$1(`Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`);
2159
2494
  return;
@@ -2161,53 +2496,56 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
2161
2496
  const oldRef = oldRawRef && oldRawRef.r;
2162
2497
  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
2163
2498
  const setupState = owner.setupState;
2164
- const rawSetupState = toRaw(setupState);
2499
+ const rawSetupState = /* @__PURE__ */ toRaw(setupState);
2165
2500
  const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => {
2166
2501
  if (!!(process.env.NODE_ENV !== "production")) {
2167
- if (hasOwn$1(rawSetupState, key) && !isRef(rawSetupState[key])) warn$1(`Template ref "${key}" used on a non-ref value. It will not work in the production build.`);
2502
+ if (hasOwn(rawSetupState, key) && !/* @__PURE__ */ isRef(rawSetupState[key])) warn$1(`Template ref "${key}" used on a non-ref value. It will not work in the production build.`);
2168
2503
  if (knownTemplateRefs.has(rawSetupState[key])) return false;
2169
2504
  }
2170
- return hasOwn$1(rawSetupState, key);
2505
+ if (isTemplateRefKey(refs, key)) return false;
2506
+ return hasOwn(rawSetupState, key);
2171
2507
  };
2172
- const canSetRef = (ref2) => {
2173
- return !!!(process.env.NODE_ENV !== "production") || !knownTemplateRefs.has(ref2);
2508
+ const canSetRef = (ref2, key) => {
2509
+ if (!!(process.env.NODE_ENV !== "production") && knownTemplateRefs.has(ref2)) return false;
2510
+ if (key && isTemplateRefKey(refs, key)) return false;
2511
+ return true;
2174
2512
  };
2175
- if (oldRef != null && oldRef !== ref$1) {
2513
+ if (oldRef != null && oldRef !== ref) {
2176
2514
  invalidatePendingSetRef(oldRawRef);
2177
2515
  if (isString(oldRef)) {
2178
2516
  refs[oldRef] = null;
2179
2517
  if (canSetSetupRef(oldRef)) setupState[oldRef] = null;
2180
- } else if (isRef(oldRef)) {
2181
- if (canSetRef(oldRef)) oldRef.value = null;
2518
+ } else if (/* @__PURE__ */ isRef(oldRef)) {
2182
2519
  const oldRawRefAtom = oldRawRef;
2520
+ if (canSetRef(oldRef, oldRawRefAtom.k)) oldRef.value = null;
2183
2521
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
2184
2522
  }
2185
2523
  }
2186
- if (isFunction(ref$1)) callWithErrorHandling(ref$1, owner, 12, [value, refs]);
2524
+ if (isFunction(ref)) callWithErrorHandling(ref, owner, 12, [value, refs]);
2187
2525
  else {
2188
- const _isString = isString(ref$1);
2189
- const _isRef = isRef(ref$1);
2526
+ const _isString = isString(ref);
2527
+ const _isRef = /* @__PURE__ */ isRef(ref);
2190
2528
  if (_isString || _isRef) {
2191
2529
  const doSet = () => {
2192
2530
  if (rawRef.f) {
2193
- const existing = _isString ? canSetSetupRef(ref$1) ? setupState[ref$1] : refs[ref$1] : canSetRef(ref$1) || !rawRef.k ? ref$1.value : refs[rawRef.k];
2531
+ const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];
2194
2532
  if (isUnmount) isArray(existing) && remove(existing, refValue);
2195
2533
  else if (!isArray(existing)) if (_isString) {
2196
- refs[ref$1] = [refValue];
2197
- if (canSetSetupRef(ref$1)) setupState[ref$1] = refs[ref$1];
2534
+ refs[ref] = [refValue];
2535
+ if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
2198
2536
  } else {
2199
2537
  const newVal = [refValue];
2200
- if (canSetRef(ref$1)) ref$1.value = newVal;
2538
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
2201
2539
  if (rawRef.k) refs[rawRef.k] = newVal;
2202
2540
  }
2203
2541
  else if (!existing.includes(refValue)) existing.push(refValue);
2204
2542
  } else if (_isString) {
2205
- refs[ref$1] = value;
2206
- if (canSetSetupRef(ref$1)) setupState[ref$1] = value;
2543
+ refs[ref] = value;
2544
+ if (canSetSetupRef(ref)) setupState[ref] = value;
2207
2545
  } else if (_isRef) {
2208
- if (canSetRef(ref$1)) ref$1.value = value;
2546
+ if (canSetRef(ref, rawRef.k)) ref.value = value;
2209
2547
  if (rawRef.k) refs[rawRef.k] = value;
2210
- } else if (!!(process.env.NODE_ENV !== "production")) warn$1("Invalid template ref type:", ref$1, `(${typeof ref$1})`);
2548
+ } else if (!!(process.env.NODE_ENV !== "production")) warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
2211
2549
  };
2212
2550
  if (value) {
2213
2551
  const job = () => {
@@ -2221,7 +2559,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
2221
2559
  invalidatePendingSetRef(rawRef);
2222
2560
  doSet();
2223
2561
  }
2224
- } else if (!!(process.env.NODE_ENV !== "production")) warn$1("Invalid template ref type:", ref$1, `(${typeof ref$1})`);
2562
+ } else if (!!(process.env.NODE_ENV !== "production")) warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
2225
2563
  }
2226
2564
  }
2227
2565
  function invalidatePendingSetRef(rawRef) {
@@ -2231,9 +2569,130 @@ function invalidatePendingSetRef(rawRef) {
2231
2569
  pendingSetRefMap.delete(rawRef);
2232
2570
  }
2233
2571
  }
2234
- const requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));
2235
- const cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));
2572
+ const isComment = (node) => node.nodeType === 8;
2573
+ getGlobalThis().requestIdleCallback;
2574
+ getGlobalThis().cancelIdleCallback;
2575
+ function forEachElement(node, cb) {
2576
+ if (isComment(node) && node.data === "[") {
2577
+ let depth = 1;
2578
+ let next = node.nextSibling;
2579
+ while (next) {
2580
+ if (next.nodeType === 1) {
2581
+ if (cb(next) === false) break;
2582
+ } else if (isComment(next)) {
2583
+ if (next.data === "]") {
2584
+ if (--depth === 0) break;
2585
+ } else if (next.data === "[") depth++;
2586
+ }
2587
+ next = next.nextSibling;
2588
+ }
2589
+ } else cb(node);
2590
+ }
2236
2591
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
2592
+ /* @__NO_SIDE_EFFECTS__ */
2593
+ function defineAsyncComponent(source) {
2594
+ if (isFunction(source)) source = { loader: source };
2595
+ const { loader, loadingComponent, errorComponent, delay = 200, hydrate: hydrateStrategy, timeout, suspensible = true, onError: userOnError } = source;
2596
+ let pendingRequest = null;
2597
+ let resolvedComp;
2598
+ let retries = 0;
2599
+ const retry = () => {
2600
+ retries++;
2601
+ pendingRequest = null;
2602
+ return load();
2603
+ };
2604
+ const load = () => {
2605
+ let thisRequest;
2606
+ return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {
2607
+ err = err instanceof Error ? err : new Error(String(err));
2608
+ if (userOnError) return new Promise((resolve, reject) => {
2609
+ const userRetry = () => resolve(retry());
2610
+ const userFail = () => reject(err);
2611
+ userOnError(err, userRetry, userFail, retries + 1);
2612
+ });
2613
+ else throw err;
2614
+ }).then((comp) => {
2615
+ if (thisRequest !== pendingRequest && pendingRequest) return pendingRequest;
2616
+ if (!!(process.env.NODE_ENV !== "production") && !comp) warn$1(`Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`);
2617
+ if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) comp = comp.default;
2618
+ if (!!(process.env.NODE_ENV !== "production") && comp && !isObject$1(comp) && !isFunction(comp)) throw new Error(`Invalid async component load result: ${comp}`);
2619
+ resolvedComp = comp;
2620
+ return comp;
2621
+ }));
2622
+ };
2623
+ return /* @__PURE__ */ defineComponent({
2624
+ name: "AsyncComponentWrapper",
2625
+ __asyncLoader: load,
2626
+ __asyncHydrate(el, instance, hydrate) {
2627
+ let patched = false;
2628
+ (instance.bu || (instance.bu = [])).push(() => patched = true);
2629
+ const performHydrate = () => {
2630
+ if (patched) {
2631
+ if (!!(process.env.NODE_ENV !== "production")) warn$1(`Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`);
2632
+ return;
2633
+ }
2634
+ hydrate();
2635
+ };
2636
+ const doHydrate = hydrateStrategy ? () => {
2637
+ const teardown = hydrateStrategy(performHydrate, (cb) => forEachElement(el, cb));
2638
+ if (teardown) (instance.bum || (instance.bum = [])).push(teardown);
2639
+ } : performHydrate;
2640
+ if (resolvedComp) doHydrate();
2641
+ else load().then(() => !instance.isUnmounted && doHydrate());
2642
+ },
2643
+ get __asyncResolved() {
2644
+ return resolvedComp;
2645
+ },
2646
+ setup() {
2647
+ const instance = currentInstance;
2648
+ markAsyncBoundary(instance);
2649
+ if (resolvedComp) return () => createInnerComp(resolvedComp, instance);
2650
+ const onError = (err) => {
2651
+ pendingRequest = null;
2652
+ handleError(err, instance, 13, !errorComponent);
2653
+ };
2654
+ if (suspensible && instance.suspense || isInSSRComponentSetup) return load().then((comp) => {
2655
+ return () => createInnerComp(comp, instance);
2656
+ }).catch((err) => {
2657
+ onError(err);
2658
+ return () => errorComponent ? createVNode(errorComponent, { error: err }) : null;
2659
+ });
2660
+ const loaded = /* @__PURE__ */ ref(false);
2661
+ const error = /* @__PURE__ */ ref();
2662
+ const delayed = /* @__PURE__ */ ref(!!delay);
2663
+ if (delay) setTimeout(() => {
2664
+ delayed.value = false;
2665
+ }, delay);
2666
+ if (timeout != null) setTimeout(() => {
2667
+ if (!loaded.value && !error.value) {
2668
+ const err = /* @__PURE__ */ new Error(`Async component timed out after ${timeout}ms.`);
2669
+ onError(err);
2670
+ error.value = err;
2671
+ }
2672
+ }, timeout);
2673
+ load().then(() => {
2674
+ loaded.value = true;
2675
+ if (instance.parent && isKeepAlive(instance.parent.vnode)) instance.parent.update();
2676
+ }).catch((err) => {
2677
+ onError(err);
2678
+ error.value = err;
2679
+ });
2680
+ return () => {
2681
+ if (loaded.value && resolvedComp) return createInnerComp(resolvedComp, instance);
2682
+ else if (error.value && errorComponent) return createVNode(errorComponent, { error: error.value });
2683
+ else if (loadingComponent && !delayed.value) return createInnerComp(loadingComponent, instance);
2684
+ };
2685
+ }
2686
+ });
2687
+ }
2688
+ function createInnerComp(comp, parent) {
2689
+ const { ref: ref2, props, children, ce } = parent.vnode;
2690
+ const vnode = createVNode(comp, props, children);
2691
+ vnode.ref = ref2;
2692
+ vnode.ce = ce;
2693
+ delete parent.vnode.ce;
2694
+ return vnode;
2695
+ }
2237
2696
  const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
2238
2697
  function onActivated(hook, target) {
2239
2698
  registerKeepAliveHook(hook, "a", target);
@@ -2296,27 +2755,30 @@ const onRenderTracked = createHook("rtc");
2296
2755
  function onErrorCaptured(hook, target = currentInstance) {
2297
2756
  injectHook("ec", hook, target);
2298
2757
  }
2299
- const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
2758
+ const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc");
2300
2759
  function renderList(source, renderItem, cache, index) {
2301
2760
  let ret;
2302
2761
  const cached = cache && cache[index];
2303
2762
  const sourceIsArray = isArray(source);
2304
2763
  if (sourceIsArray || isString(source)) {
2305
- const sourceIsReactiveArray = sourceIsArray && isReactive(source);
2764
+ const sourceIsReactiveArray = sourceIsArray && /* @__PURE__ */ isReactive(source);
2306
2765
  let needsWrap = false;
2307
2766
  let isReadonlySource = false;
2308
2767
  if (sourceIsReactiveArray) {
2309
- needsWrap = !isShallow(source);
2310
- isReadonlySource = isReadonly(source);
2768
+ needsWrap = !/* @__PURE__ */ isShallow(source);
2769
+ isReadonlySource = /* @__PURE__ */ isReadonly(source);
2311
2770
  source = shallowReadArray(source);
2312
2771
  }
2313
2772
  ret = new Array(source.length);
2314
2773
  for (let i = 0, l = source.length; i < l; i++) ret[i] = renderItem(needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i], i, void 0, cached && cached[i]);
2315
- } else if (typeof source === "number") {
2316
- if (!!(process.env.NODE_ENV !== "production") && !Number.isInteger(source)) warn$1(`The v-for range expect an integer value but got ${source}.`);
2774
+ } else if (typeof source === "number") if (!!(process.env.NODE_ENV !== "production") && (!Number.isInteger(source) || source < 0)) {
2775
+ warn$1(`The v-for range expects a positive integer value but got ${source}.`);
2776
+ ret = [];
2777
+ } else {
2317
2778
  ret = new Array(source);
2318
2779
  for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
2319
- } else if (isObject$1(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
2780
+ }
2781
+ else if (isObject$1(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
2320
2782
  else {
2321
2783
  const keys = Object.keys(source);
2322
2784
  ret = new Array(keys.length);
@@ -2366,10 +2828,10 @@ const publicPropertiesMap = /* @__PURE__ */ extend(/* @__PURE__ */ Object.create
2366
2828
  $: (i) => i,
2367
2829
  $el: (i) => i.vnode.el,
2368
2830
  $data: (i) => i.data,
2369
- $props: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly(i.props) : i.props,
2370
- $attrs: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly(i.attrs) : i.attrs,
2371
- $slots: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly(i.slots) : i.slots,
2372
- $refs: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly(i.refs) : i.refs,
2831
+ $props: (i) => !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(i.props) : i.props,
2832
+ $attrs: (i) => !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(i.attrs) : i.attrs,
2833
+ $slots: (i) => !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(i.slots) : i.slots,
2834
+ $refs: (i) => !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(i.refs) : i.refs,
2373
2835
  $parent: (i) => getPublicInstance(i.parent),
2374
2836
  $root: (i) => getPublicInstance(i.root),
2375
2837
  $host: (i) => i.ce,
@@ -2382,13 +2844,12 @@ const publicPropertiesMap = /* @__PURE__ */ extend(/* @__PURE__ */ Object.create
2382
2844
  $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP
2383
2845
  });
2384
2846
  const isReservedPrefix = (key) => key === "_" || key === "$";
2385
- const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn$1(state, key);
2847
+ const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);
2386
2848
  const PublicInstanceProxyHandlers = {
2387
2849
  get({ _: instance }, key) {
2388
2850
  if (key === "__v_skip") return true;
2389
2851
  const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
2390
2852
  if (!!(process.env.NODE_ENV !== "production") && key === "__isVue") return true;
2391
- let normalizedProps;
2392
2853
  if (key[0] !== "$") {
2393
2854
  const n = accessCache[key];
2394
2855
  if (n !== void 0) switch (n) {
@@ -2400,13 +2861,13 @@ const PublicInstanceProxyHandlers = {
2400
2861
  else if (hasSetupBinding(setupState, key)) {
2401
2862
  accessCache[key] = 1;
2402
2863
  return setupState[key];
2403
- } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) {
2864
+ } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {
2404
2865
  accessCache[key] = 2;
2405
2866
  return data[key];
2406
- } else if ((normalizedProps = instance.propsOptions[0]) && hasOwn$1(normalizedProps, key)) {
2867
+ } else if (hasOwn(props, key)) {
2407
2868
  accessCache[key] = 3;
2408
2869
  return props[key];
2409
- } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) {
2870
+ } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
2410
2871
  accessCache[key] = 4;
2411
2872
  return ctx[key];
2412
2873
  } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) accessCache[key] = 0;
@@ -2420,12 +2881,12 @@ const PublicInstanceProxyHandlers = {
2420
2881
  } else if (!!(process.env.NODE_ENV !== "production") && key === "$slots") track(instance, "get", key);
2421
2882
  return publicGetter(instance);
2422
2883
  } else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) return cssModule;
2423
- else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) {
2884
+ else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
2424
2885
  accessCache[key] = 4;
2425
2886
  return ctx[key];
2426
- } else if (globalProperties = appContext.config.globalProperties, hasOwn$1(globalProperties, key)) return globalProperties[key];
2887
+ } else if (globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) return globalProperties[key];
2427
2888
  else if (!!(process.env.NODE_ENV !== "production") && currentRenderingInstance && (!isString(key) || key.indexOf("__v") !== 0)) {
2428
- if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn$1(data, key)) warn$1(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`);
2889
+ if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) warn$1(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`);
2429
2890
  else if (instance === currentRenderingInstance) warn$1(`Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`);
2430
2891
  }
2431
2892
  },
@@ -2434,13 +2895,13 @@ const PublicInstanceProxyHandlers = {
2434
2895
  if (hasSetupBinding(setupState, key)) {
2435
2896
  setupState[key] = value;
2436
2897
  return true;
2437
- } else if (!!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup && hasOwn$1(setupState, key)) {
2898
+ } else if (!!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup && hasOwn(setupState, key)) {
2438
2899
  warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
2439
2900
  return false;
2440
- } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) {
2901
+ } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {
2441
2902
  data[key] = value;
2442
2903
  return true;
2443
- } else if (hasOwn$1(instance.props, key)) {
2904
+ } else if (hasOwn(instance.props, key)) {
2444
2905
  process.env.NODE_ENV !== "production" && warn$1(`Attempting to mutate prop "${key}". Props are readonly.`);
2445
2906
  return false;
2446
2907
  }
@@ -2455,13 +2916,13 @@ const PublicInstanceProxyHandlers = {
2455
2916
  else ctx[key] = value;
2456
2917
  return true;
2457
2918
  },
2458
- has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions, type } }, key) {
2459
- let normalizedProps, cssModules;
2460
- return !!(accessCache[key] || data !== EMPTY_OBJ && key[0] !== "$" && hasOwn$1(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn$1(normalizedProps, key) || hasOwn$1(ctx, key) || hasOwn$1(publicPropertiesMap, key) || hasOwn$1(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]);
2919
+ has({ _: { data, setupState, accessCache, ctx, appContext, props, type } }, key) {
2920
+ let cssModules;
2921
+ return !!(accessCache[key] || __VUE_OPTIONS_API__ && data !== EMPTY_OBJ && key[0] !== "$" && hasOwn(data, key) || hasSetupBinding(setupState, key) || hasOwn(props, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]);
2461
2922
  },
2462
2923
  defineProperty(target, key, descriptor) {
2463
2924
  if (descriptor.get != null) target._.accessCache[key] = 0;
2464
- else if (hasOwn$1(descriptor, "value")) this.set(target, key, descriptor.value, null);
2925
+ else if (hasOwn(descriptor, "value")) this.set(target, key, descriptor.value, null);
2465
2926
  return Reflect.defineProperty(target, key, descriptor);
2466
2927
  }
2467
2928
  };
@@ -2499,7 +2960,7 @@ function exposePropsOnRenderContext(instance) {
2499
2960
  }
2500
2961
  function exposeSetupStateOnRenderContext(instance) {
2501
2962
  const { ctx, setupState } = instance;
2502
- Object.keys(toRaw(setupState)).forEach((key) => {
2963
+ Object.keys(/* @__PURE__ */ toRaw(setupState)).forEach((key) => {
2503
2964
  if (!setupState.__isScriptSetup) {
2504
2965
  if (isReservedPrefix(key[0])) {
2505
2966
  warn$1(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`);
@@ -2515,12 +2976,7 @@ function exposeSetupStateOnRenderContext(instance) {
2515
2976
  });
2516
2977
  }
2517
2978
  function normalizePropsOrEmits(props) {
2518
- return isArray(props) ? props.reduce((normalized, p$1) => (normalized[p$1] = null, normalized), {}) : props;
2519
- }
2520
- function mergeModels(a, b) {
2521
- if (!a || !b) return a || b;
2522
- if (isArray(a) && isArray(b)) return a.concat(b);
2523
- return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));
2979
+ return isArray(props) ? props.reduce((normalized, p) => (normalized[p] = null, normalized), {}) : props;
2524
2980
  }
2525
2981
  function createDuplicateChecker() {
2526
2982
  const cache = /* @__PURE__ */ Object.create(null);
@@ -2535,8 +2991,8 @@ function applyOptions(instance) {
2535
2991
  const publicThis = instance.proxy;
2536
2992
  const ctx = instance.ctx;
2537
2993
  shouldCacheAccess = false;
2538
- if (options.beforeCreate) callHook(options.beforeCreate, instance, "bc");
2539
- const { data: dataOptions, computed: computedOptions, methods, watch: watchOptions, provide: provideOptions, inject: injectOptions, created, beforeMount, mounted, beforeUpdate, updated, activated, deactivated, beforeDestroy, beforeUnmount, destroyed, unmounted, render: render$1, renderTracked, renderTriggered, errorCaptured, serverPrefetch, expose, inheritAttrs, components, directives, filters } = options;
2994
+ if (options.beforeCreate) callHook$1(options.beforeCreate, instance, "bc");
2995
+ const { data: dataOptions, computed: computedOptions, methods, watch: watchOptions, provide: provideOptions, inject: injectOptions, created, beforeMount, mounted, beforeUpdate, updated, activated, deactivated, beforeDestroy, beforeUnmount, destroyed, unmounted, render, renderTracked, renderTriggered, errorCaptured, serverPrefetch, expose, inheritAttrs, components, directives, filters } = options;
2540
2996
  const checkDuplicateProperties = !!(process.env.NODE_ENV !== "production") ? createDuplicateChecker() : null;
2541
2997
  if (!!(process.env.NODE_ENV !== "production")) {
2542
2998
  const [propsOptions] = instance.propsOptions;
@@ -2562,7 +3018,7 @@ function applyOptions(instance) {
2562
3018
  if (!!(process.env.NODE_ENV !== "production") && isPromise(data)) warn$1(`data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`);
2563
3019
  if (!isObject$1(data)) process.env.NODE_ENV !== "production" && warn$1(`data() should return an object.`);
2564
3020
  else {
2565
- instance.data = reactive(data);
3021
+ instance.data = /* @__PURE__ */ reactive(data);
2566
3022
  if (!!(process.env.NODE_ENV !== "production")) for (const key in data) {
2567
3023
  checkDuplicateProperties("Data", key);
2568
3024
  if (!isReservedPrefix(key[0])) Object.defineProperty(ctx, key, {
@@ -2600,7 +3056,7 @@ function applyOptions(instance) {
2600
3056
  provide(key, provides[key]);
2601
3057
  });
2602
3058
  }
2603
- if (created) callHook(created, instance, "c");
3059
+ if (created) callHook$1(created, instance, "c");
2604
3060
  function registerLifecycleHook(register, hook) {
2605
3061
  if (isArray(hook)) hook.forEach((_hook) => register(_hook.bind(publicThis)));
2606
3062
  else if (hook) register(hook.bind(publicThis));
@@ -2629,7 +3085,7 @@ function applyOptions(instance) {
2629
3085
  });
2630
3086
  } else if (!instance.exposed) instance.exposed = {};
2631
3087
  }
2632
- if (render$1 && instance.render === NOOP) instance.render = render$1;
3088
+ if (render && instance.render === NOOP) instance.render = render;
2633
3089
  if (inheritAttrs != null) instance.inheritAttrs = inheritAttrs;
2634
3090
  if (components) instance.components = components;
2635
3091
  if (directives) instance.directives = directives;
@@ -2643,7 +3099,7 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
2643
3099
  if (isObject$1(opt)) if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
2644
3100
  else injected = inject(opt.from || key);
2645
3101
  else injected = inject(opt);
2646
- if (isRef(injected)) Object.defineProperty(ctx, key, {
3102
+ if (/* @__PURE__ */ isRef(injected)) Object.defineProperty(ctx, key, {
2647
3103
  enumerable: true,
2648
3104
  configurable: true,
2649
3105
  get: () => injected.value,
@@ -2653,8 +3109,8 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
2653
3109
  if (!!(process.env.NODE_ENV !== "production")) checkDuplicateProperties("Inject", key);
2654
3110
  }
2655
3111
  }
2656
- function callHook(hook, instance, type) {
2657
- callWithAsyncErrorHandling(isArray(hook) ? hook.map((h$1) => h$1.bind(instance.proxy)) : hook.bind(instance.proxy), instance, type);
3112
+ function callHook$1(hook, instance, type) {
3113
+ callWithAsyncErrorHandling(isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy), instance, type);
2658
3114
  }
2659
3115
  function createWatcher(raw, ctx, publicThis, key) {
2660
3116
  let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
@@ -2783,8 +3239,8 @@ function createAppContext() {
2783
3239
  };
2784
3240
  }
2785
3241
  let uid$1 = 0;
2786
- function createAppAPI(render$1, hydrate) {
2787
- return function createApp$1(rootComponent, rootProps = null) {
3242
+ function createAppAPI(render, hydrate) {
3243
+ return function createApp(rootComponent, rootProps = null) {
2788
3244
  if (!isFunction(rootComponent)) rootComponent = extend({}, rootComponent);
2789
3245
  if (rootProps != null && !isObject$1(rootProps)) {
2790
3246
  process.env.NODE_ENV !== "production" && warn$1(`root props passed to app.mount() must be an object.`);
@@ -2851,10 +3307,10 @@ function createAppAPI(render$1, hydrate) {
2851
3307
  if (!!(process.env.NODE_ENV !== "production")) context.reload = () => {
2852
3308
  const cloned = cloneVNode(vnode);
2853
3309
  cloned.el = null;
2854
- render$1(cloned, rootContainer, namespace);
3310
+ render(cloned, rootContainer, namespace);
2855
3311
  };
2856
3312
  if (isHydrate && hydrate) hydrate(vnode, rootContainer);
2857
- else render$1(vnode, rootContainer, namespace);
3313
+ else render(vnode, rootContainer, namespace);
2858
3314
  isMounted = true;
2859
3315
  app._container = rootContainer;
2860
3316
  rootContainer.__vue_app__ = app;
@@ -2873,7 +3329,7 @@ If you want to remount the same app, move your app creation logic into a factory
2873
3329
  unmount() {
2874
3330
  if (isMounted) {
2875
3331
  callWithAsyncErrorHandling(pluginCleanupFns, app._instance, 16);
2876
- render$1(null, app._container);
3332
+ render(null, app._container);
2877
3333
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
2878
3334
  app._instance = null;
2879
3335
  devtoolsUnmountApp(app);
@@ -2882,7 +3338,7 @@ If you want to remount the same app, move your app creation logic into a factory
2882
3338
  } else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Cannot unmount an app that is not mounted.`);
2883
3339
  },
2884
3340
  provide(key, value) {
2885
- if (!!(process.env.NODE_ENV !== "production") && key in context.provides) if (hasOwn$1(context.provides, key)) warn$1(`App already provides property with key "${String(key)}". It will be overwritten with the new value.`);
3341
+ if (!!(process.env.NODE_ENV !== "production") && key in context.provides) if (hasOwn(context.provides, key)) warn$1(`App already provides property with key "${String(key)}". It will be overwritten with the new value.`);
2886
3342
  else warn$1(`App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`);
2887
3343
  context.provides[key] = value;
2888
3344
  return app;
@@ -2901,54 +3357,285 @@ If you want to remount the same app, move your app creation logic into a factory
2901
3357
  };
2902
3358
  }
2903
3359
  let currentApp = null;
2904
- function provide(key, value) {
2905
- if (!currentInstance) {
2906
- if (!!(process.env.NODE_ENV !== "production")) warn$1(`provide() can only be used inside setup().`);
2907
- } else {
2908
- let provides = currentInstance.provides;
2909
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
2910
- if (parentProvides === provides) provides = currentInstance.provides = Object.create(parentProvides);
2911
- provides[key] = value;
3360
+ const getModelModifiers = (props, modelName) => {
3361
+ return modelName === "modelValue" || modelName === "model-value" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${camelize$1(modelName)}Modifiers`] || props[`${hyphenate$1(modelName)}Modifiers`];
3362
+ };
3363
+ function emit(instance, event, ...rawArgs) {
3364
+ if (instance.isUnmounted) return;
3365
+ const props = instance.vnode.props || EMPTY_OBJ;
3366
+ if (!!(process.env.NODE_ENV !== "production")) {
3367
+ const { emitsOptions, propsOptions: [propsOptions] } = instance;
3368
+ if (emitsOptions) if (!(event in emitsOptions) && true) {
3369
+ if (!propsOptions || !(toHandlerKey(camelize$1(event)) in propsOptions)) warn$1(`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(camelize$1(event))}" prop.`);
3370
+ } else {
3371
+ const validator = emitsOptions[event];
3372
+ if (isFunction(validator)) {
3373
+ if (!validator(...rawArgs)) warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
3374
+ }
3375
+ }
2912
3376
  }
2913
- }
2914
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
2915
- const instance = getCurrentInstance();
2916
- if (instance || currentApp) {
2917
- let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
2918
- if (provides && key in provides) return provides[key];
2919
- else if (arguments.length > 1) return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
2920
- else if (!!(process.env.NODE_ENV !== "production")) warn$1(`injection "${String(key)}" not found.`);
2921
- } else if (!!(process.env.NODE_ENV !== "production")) warn$1(`inject() can only be used inside setup() or functional components.`);
2922
- }
2923
- function hasInjectionContext() {
2924
- return !!(getCurrentInstance() || currentApp);
2925
- }
2926
- const internalObjectProto = {};
2927
- const createInternalObject = () => Object.create(internalObjectProto);
2928
- const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
2929
- function initProps(instance, rawProps, isStateful, isSSR = false) {
2930
- const props = {};
2931
- const attrs = createInternalObject();
2932
- instance.propsDefaults = /* @__PURE__ */ Object.create(null);
2933
- setFullProps(instance, rawProps, props, attrs);
2934
- for (const key in instance.propsOptions[0]) if (!(key in props)) props[key] = void 0;
2935
- if (!!(process.env.NODE_ENV !== "production")) validateProps(rawProps || {}, props, instance);
2936
- if (isStateful) instance.props = isSSR ? props : shallowReactive(props);
2937
- else if (!instance.type.props) instance.props = attrs;
2938
- else instance.props = props;
2939
- instance.attrs = attrs;
2940
- }
2941
- function isInHmrContext(instance) {
2942
- while (instance) {
2943
- if (instance.type.__hmrId) return true;
2944
- instance = instance.parent;
3377
+ let args = rawArgs;
3378
+ const isModelListener = event.startsWith("update:");
3379
+ const modifiers = isModelListener && getModelModifiers(props, event.slice(7));
3380
+ if (modifiers) {
3381
+ if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
3382
+ if (modifiers.number) args = rawArgs.map(looseToNumber);
2945
3383
  }
2946
- }
2947
- function updateProps(instance, rawProps, rawPrevProps, optimized) {
2948
- const { props, attrs, vnode: { patchFlag } } = instance;
2949
- const rawCurrentProps = toRaw(props);
2950
- const [options] = instance.propsOptions;
2951
- let hasAttrsChanged = false;
3384
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) devtoolsComponentEmit(instance, event, args);
3385
+ if (!!(process.env.NODE_ENV !== "production")) {
3386
+ const lowerCaseEvent = event.toLowerCase();
3387
+ if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) warn$1(`Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(instance, instance.type)} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate$1(event)}" instead of "${event}".`);
3388
+ }
3389
+ let handlerName;
3390
+ let handler = props[handlerName = toHandlerKey(event)] || props[handlerName = toHandlerKey(camelize$1(event))];
3391
+ if (!handler && isModelListener) handler = props[handlerName = toHandlerKey(hyphenate$1(event))];
3392
+ if (handler) callWithAsyncErrorHandling(handler, instance, 6, args);
3393
+ const onceHandler = props[handlerName + `Once`];
3394
+ if (onceHandler) {
3395
+ if (!instance.emitted) instance.emitted = {};
3396
+ else if (instance.emitted[handlerName]) return;
3397
+ instance.emitted[handlerName] = true;
3398
+ callWithAsyncErrorHandling(onceHandler, instance, 6, args);
3399
+ }
3400
+ }
3401
+ const mixinEmitsCache = /* @__PURE__ */ new WeakMap();
3402
+ function normalizeEmitsOptions(comp, appContext, asMixin = false) {
3403
+ const cache = __VUE_OPTIONS_API__ && asMixin ? mixinEmitsCache : appContext.emitsCache;
3404
+ const cached = cache.get(comp);
3405
+ if (cached !== void 0) return cached;
3406
+ const raw = comp.emits;
3407
+ let normalized = {};
3408
+ let hasExtends = false;
3409
+ if (__VUE_OPTIONS_API__ && !isFunction(comp)) {
3410
+ const extendEmits = (raw2) => {
3411
+ const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);
3412
+ if (normalizedFromExtend) {
3413
+ hasExtends = true;
3414
+ extend(normalized, normalizedFromExtend);
3415
+ }
3416
+ };
3417
+ if (!asMixin && appContext.mixins.length) appContext.mixins.forEach(extendEmits);
3418
+ if (comp.extends) extendEmits(comp.extends);
3419
+ if (comp.mixins) comp.mixins.forEach(extendEmits);
3420
+ }
3421
+ if (!raw && !hasExtends) {
3422
+ if (isObject$1(comp)) cache.set(comp, null);
3423
+ return null;
3424
+ }
3425
+ if (isArray(raw)) raw.forEach((key) => normalized[key] = null);
3426
+ else extend(normalized, raw);
3427
+ if (isObject$1(comp)) cache.set(comp, normalized);
3428
+ return normalized;
3429
+ }
3430
+ function isEmitListener(options, key) {
3431
+ if (!options || !isOn(key)) return false;
3432
+ key = key.slice(2).replace(/Once$/, "");
3433
+ return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate$1(key)) || hasOwn(options, key);
3434
+ }
3435
+ let accessedAttrs = false;
3436
+ function markAttrsAccessed() {
3437
+ accessedAttrs = true;
3438
+ }
3439
+ function renderComponentRoot(instance) {
3440
+ const { type: Component, vnode, proxy, withProxy, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, props, data, setupState, ctx, inheritAttrs } = instance;
3441
+ const prev = setCurrentRenderingInstance(instance);
3442
+ let result;
3443
+ let fallthroughAttrs;
3444
+ if (!!(process.env.NODE_ENV !== "production")) accessedAttrs = false;
3445
+ try {
3446
+ if (vnode.shapeFlag & 4) {
3447
+ const proxyToUse = withProxy || proxy;
3448
+ const thisProxy = !!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup ? new Proxy(proxyToUse, { get(target, key, receiver) {
3449
+ warn$1(`Property '${String(key)}' was accessed via 'this'. Avoid using 'this' in templates.`);
3450
+ return Reflect.get(target, key, receiver);
3451
+ } }) : proxyToUse;
3452
+ result = normalizeVNode(render.call(thisProxy, proxyToUse, renderCache, !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(props) : props, setupState, data, ctx));
3453
+ fallthroughAttrs = attrs;
3454
+ } else {
3455
+ const render2 = Component;
3456
+ if (!!(process.env.NODE_ENV !== "production") && attrs === props) markAttrsAccessed();
3457
+ result = normalizeVNode(render2.length > 1 ? render2(!!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(props) : props, !!(process.env.NODE_ENV !== "production") ? {
3458
+ get attrs() {
3459
+ markAttrsAccessed();
3460
+ return /* @__PURE__ */ shallowReadonly(attrs);
3461
+ },
3462
+ slots,
3463
+ emit
3464
+ } : {
3465
+ attrs,
3466
+ slots,
3467
+ emit
3468
+ }) : render2(!!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(props) : props, null));
3469
+ fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
3470
+ }
3471
+ } catch (err) {
3472
+ blockStack.length = 0;
3473
+ handleError(err, instance, 1);
3474
+ result = createVNode(Comment);
3475
+ }
3476
+ let root = result;
3477
+ let setRoot = void 0;
3478
+ if (!!(process.env.NODE_ENV !== "production") && result.patchFlag > 0 && result.patchFlag & 2048) [root, setRoot] = getChildRoot(result);
3479
+ if (fallthroughAttrs && inheritAttrs !== false) {
3480
+ const keys = Object.keys(fallthroughAttrs);
3481
+ const { shapeFlag } = root;
3482
+ if (keys.length) {
3483
+ if (shapeFlag & 7) {
3484
+ if (propsOptions && keys.some(isModelListener)) fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);
3485
+ root = cloneVNode(root, fallthroughAttrs, false, true);
3486
+ } else if (!!(process.env.NODE_ENV !== "production") && !accessedAttrs && root.type !== Comment) {
3487
+ const allAttrs = Object.keys(attrs);
3488
+ const eventAttrs = [];
3489
+ const extraAttrs = [];
3490
+ for (let i = 0, l = allAttrs.length; i < l; i++) {
3491
+ const key = allAttrs[i];
3492
+ if (isOn(key)) {
3493
+ if (!isModelListener(key)) eventAttrs.push(key[2].toLowerCase() + key.slice(3));
3494
+ } else extraAttrs.push(key);
3495
+ }
3496
+ if (extraAttrs.length) warn$1(`Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`);
3497
+ if (eventAttrs.length) warn$1(`Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`);
3498
+ }
3499
+ }
3500
+ }
3501
+ if (vnode.dirs) {
3502
+ if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) warn$1(`Runtime directive used on component with non-element root node. The directives will not function as intended.`);
3503
+ root = cloneVNode(root, null, false, true);
3504
+ root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
3505
+ }
3506
+ if (vnode.transition) {
3507
+ if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) warn$1(`Component inside <Transition> renders non-element root node that cannot be animated.`);
3508
+ setTransitionHooks(root, vnode.transition);
3509
+ }
3510
+ if (!!(process.env.NODE_ENV !== "production") && setRoot) setRoot(root);
3511
+ else result = root;
3512
+ setCurrentRenderingInstance(prev);
3513
+ return result;
3514
+ }
3515
+ const getChildRoot = (vnode) => {
3516
+ const rawChildren = vnode.children;
3517
+ const dynamicChildren = vnode.dynamicChildren;
3518
+ const childRoot = filterSingleRoot(rawChildren, false);
3519
+ if (!childRoot) return [vnode, void 0];
3520
+ else if (!!(process.env.NODE_ENV !== "production") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) return getChildRoot(childRoot);
3521
+ const index = rawChildren.indexOf(childRoot);
3522
+ const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;
3523
+ const setRoot = (updatedRoot) => {
3524
+ rawChildren[index] = updatedRoot;
3525
+ if (dynamicChildren) {
3526
+ if (dynamicIndex > -1) dynamicChildren[dynamicIndex] = updatedRoot;
3527
+ else if (updatedRoot.patchFlag > 0) vnode.dynamicChildren = [...dynamicChildren, updatedRoot];
3528
+ }
3529
+ };
3530
+ return [normalizeVNode(childRoot), setRoot];
3531
+ };
3532
+ function filterSingleRoot(children, recurse = true) {
3533
+ let singleRoot;
3534
+ for (let i = 0; i < children.length; i++) {
3535
+ const child = children[i];
3536
+ if (isVNode(child)) {
3537
+ if (child.type !== Comment || child.children === "v-if") if (singleRoot) return;
3538
+ else {
3539
+ singleRoot = child;
3540
+ if (!!(process.env.NODE_ENV !== "production") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) return filterSingleRoot(singleRoot.children);
3541
+ }
3542
+ } else return;
3543
+ }
3544
+ return singleRoot;
3545
+ }
3546
+ const getFunctionalFallthrough = (attrs) => {
3547
+ let res;
3548
+ for (const key in attrs) if (key === "class" || key === "style" || isOn(key)) (res || (res = {}))[key] = attrs[key];
3549
+ return res;
3550
+ };
3551
+ const filterModelListeners = (attrs, props) => {
3552
+ const res = {};
3553
+ for (const key in attrs) if (!isModelListener(key) || !(key.slice(9) in props)) res[key] = attrs[key];
3554
+ return res;
3555
+ };
3556
+ const isElementRoot = (vnode) => {
3557
+ return vnode.shapeFlag & 7 || vnode.type === Comment;
3558
+ };
3559
+ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
3560
+ const { props: prevProps, children: prevChildren, component } = prevVNode;
3561
+ const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;
3562
+ const emits = component.emitsOptions;
3563
+ if (!!(process.env.NODE_ENV !== "production") && (prevChildren || nextChildren) && isHmrUpdating) return true;
3564
+ if (nextVNode.dirs || nextVNode.transition) return true;
3565
+ if (optimized && patchFlag >= 0) {
3566
+ if (patchFlag & 1024) return true;
3567
+ if (patchFlag & 16) {
3568
+ if (!prevProps) return !!nextProps;
3569
+ return hasPropsChanged(prevProps, nextProps, emits);
3570
+ } else if (patchFlag & 8) {
3571
+ const dynamicProps = nextVNode.dynamicProps;
3572
+ for (let i = 0; i < dynamicProps.length; i++) {
3573
+ const key = dynamicProps[i];
3574
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) return true;
3575
+ }
3576
+ }
3577
+ } else {
3578
+ if (prevChildren || nextChildren) {
3579
+ if (!nextChildren || !nextChildren.$stable) return true;
3580
+ }
3581
+ if (prevProps === nextProps) return false;
3582
+ if (!prevProps) return !!nextProps;
3583
+ if (!nextProps) return true;
3584
+ return hasPropsChanged(prevProps, nextProps, emits);
3585
+ }
3586
+ return false;
3587
+ }
3588
+ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
3589
+ const nextKeys = Object.keys(nextProps);
3590
+ if (nextKeys.length !== Object.keys(prevProps).length) return true;
3591
+ for (let i = 0; i < nextKeys.length; i++) {
3592
+ const key = nextKeys[i];
3593
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) return true;
3594
+ }
3595
+ return false;
3596
+ }
3597
+ function hasPropValueChanged(nextProps, prevProps, key) {
3598
+ const nextProp = nextProps[key];
3599
+ const prevProp = prevProps[key];
3600
+ if (key === "style" && isObject$1(nextProp) && isObject$1(prevProp)) return !looseEqual(nextProp, prevProp);
3601
+ return nextProp !== prevProp;
3602
+ }
3603
+ function updateHOCHostEl({ vnode, parent }, el) {
3604
+ while (parent) {
3605
+ const root = parent.subTree;
3606
+ if (root.suspense && root.suspense.activeBranch === vnode) root.el = vnode.el;
3607
+ if (root === vnode) {
3608
+ (vnode = parent.vnode).el = el;
3609
+ parent = parent.parent;
3610
+ } else break;
3611
+ }
3612
+ }
3613
+ const internalObjectProto = {};
3614
+ const createInternalObject = () => Object.create(internalObjectProto);
3615
+ const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
3616
+ function initProps(instance, rawProps, isStateful, isSSR = false) {
3617
+ const props = {};
3618
+ const attrs = createInternalObject();
3619
+ instance.propsDefaults = /* @__PURE__ */ Object.create(null);
3620
+ setFullProps(instance, rawProps, props, attrs);
3621
+ for (const key in instance.propsOptions[0]) if (!(key in props)) props[key] = void 0;
3622
+ if (!!(process.env.NODE_ENV !== "production")) validateProps(rawProps || {}, props, instance);
3623
+ if (isStateful) instance.props = isSSR ? props : /* @__PURE__ */ shallowReactive(props);
3624
+ else if (!instance.type.props) instance.props = attrs;
3625
+ else instance.props = props;
3626
+ instance.attrs = attrs;
3627
+ }
3628
+ function isInHmrContext(instance) {
3629
+ while (instance) {
3630
+ if (instance.type.__hmrId) return true;
3631
+ instance = instance.parent;
3632
+ }
3633
+ }
3634
+ function updateProps(instance, rawProps, rawPrevProps, optimized) {
3635
+ const { props, attrs, vnode: { patchFlag } } = instance;
3636
+ const rawCurrentProps = /* @__PURE__ */ toRaw(props);
3637
+ const [options] = instance.propsOptions;
3638
+ let hasAttrsChanged = false;
2952
3639
  if (!(!!(process.env.NODE_ENV !== "production") && isInHmrContext(instance)) && (optimized || patchFlag > 0) && !(patchFlag & 16)) {
2953
3640
  if (patchFlag & 8) {
2954
3641
  const propsToUpdate = instance.vnode.dynamicProps;
@@ -2956,7 +3643,7 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
2956
3643
  let key = propsToUpdate[i];
2957
3644
  if (isEmitListener(instance.emitsOptions, key)) continue;
2958
3645
  const value = rawProps[key];
2959
- if (options) if (hasOwn$1(attrs, key)) {
3646
+ if (options) if (hasOwn(attrs, key)) {
2960
3647
  if (value !== attrs[key]) {
2961
3648
  attrs[key] = value;
2962
3649
  hasAttrsChanged = true;
@@ -2974,11 +3661,11 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
2974
3661
  } else {
2975
3662
  if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
2976
3663
  let kebabKey;
2977
- for (const key in rawCurrentProps) if (!rawProps || !hasOwn$1(rawProps, key) && ((kebabKey = hyphenate$1(key)) === key || !hasOwn$1(rawProps, kebabKey))) if (options) {
3664
+ for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate$1(key)) === key || !hasOwn(rawProps, kebabKey))) if (options) {
2978
3665
  if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, rawCurrentProps, key, void 0, instance, true);
2979
3666
  } else delete props[key];
2980
3667
  if (attrs !== rawCurrentProps) {
2981
- for (const key in attrs) if (!rawProps || !hasOwn$1(rawProps, key) && true) {
3668
+ for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && true) {
2982
3669
  delete attrs[key];
2983
3670
  hasAttrsChanged = true;
2984
3671
  }
@@ -2995,7 +3682,7 @@ function setFullProps(instance, rawProps, props, attrs) {
2995
3682
  if (isReservedProp(key)) continue;
2996
3683
  const value = rawProps[key];
2997
3684
  let camelKey;
2998
- if (options && hasOwn$1(options, camelKey = camelize$1(key))) if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
3685
+ if (options && hasOwn(options, camelKey = camelize$1(key))) if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
2999
3686
  else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
3000
3687
  else if (!isEmitListener(instance.emitsOptions, key)) {
3001
3688
  if (!(key in attrs) || value !== attrs[key]) {
@@ -3005,11 +3692,11 @@ function setFullProps(instance, rawProps, props, attrs) {
3005
3692
  }
3006
3693
  }
3007
3694
  if (needCastKeys) {
3008
- const rawCurrentProps = toRaw(props);
3695
+ const rawCurrentProps = /* @__PURE__ */ toRaw(props);
3009
3696
  const castValues = rawCastValues || EMPTY_OBJ;
3010
3697
  for (let i = 0; i < needCastKeys.length; i++) {
3011
3698
  const key = needCastKeys[i];
3012
- props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !hasOwn$1(castValues, key));
3699
+ props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !hasOwn(castValues, key));
3013
3700
  }
3014
3701
  }
3015
3702
  return hasAttrsChanged;
@@ -3017,7 +3704,7 @@ function setFullProps(instance, rawProps, props, attrs) {
3017
3704
  function resolvePropValue(options, props, key, value, instance, isAbsent) {
3018
3705
  const opt = options[key];
3019
3706
  if (opt != null) {
3020
- const hasDefault = hasOwn$1(opt, "default");
3707
+ const hasDefault = hasOwn(opt, "default");
3021
3708
  if (hasDefault && value === void 0) {
3022
3709
  const defaultValue = opt.default;
3023
3710
  if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {
@@ -3088,7 +3775,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
3088
3775
  else shouldCast = isFunction(propType) && propType.name === "Boolean";
3089
3776
  prop[0] = shouldCast;
3090
3777
  prop[1] = shouldCastTrue;
3091
- if (shouldCast || hasOwn$1(prop, "default")) needCastKeys.push(normalizedKey);
3778
+ if (shouldCast || hasOwn(prop, "default")) needCastKeys.push(normalizedKey);
3092
3779
  }
3093
3780
  }
3094
3781
  }
@@ -3108,13 +3795,13 @@ function getType(ctor) {
3108
3795
  return "";
3109
3796
  }
3110
3797
  function validateProps(rawProps, props, instance) {
3111
- const resolvedValues = toRaw(props);
3798
+ const resolvedValues = /* @__PURE__ */ toRaw(props);
3112
3799
  const options = instance.propsOptions[0];
3113
3800
  const camelizePropsKey = Object.keys(rawProps).map((key) => camelize$1(key));
3114
3801
  for (const key in options) {
3115
3802
  let opt = options[key];
3116
3803
  if (opt == null) continue;
3117
- validateProp(key, resolvedValues[key], opt, !!(process.env.NODE_ENV !== "production") ? shallowReadonly(resolvedValues) : resolvedValues, !camelizePropsKey.includes(key));
3804
+ validateProp(key, resolvedValues[key], opt, !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(resolvedValues) : resolvedValues, !camelizePropsKey.includes(key));
3118
3805
  }
3119
3806
  }
3120
3807
  function validateProp(name, value, prop, props, isAbsent) {
@@ -3319,7 +4006,7 @@ function baseCreateRenderer(options, createHydrationFns) {
3319
4006
  optimized = false;
3320
4007
  n2.dynamicChildren = null;
3321
4008
  }
3322
- const { type, ref: ref$1, shapeFlag } = n2;
4009
+ const { type, ref, shapeFlag } = n2;
3323
4010
  switch (type) {
3324
4011
  case Text:
3325
4012
  processText(n1, n2, container, anchor);
@@ -3340,8 +4027,8 @@ function baseCreateRenderer(options, createHydrationFns) {
3340
4027
  else if (shapeFlag & 128) type.process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals);
3341
4028
  else if (!!(process.env.NODE_ENV !== "production")) warn$1("Invalid VNode type:", type, `(${typeof type})`);
3342
4029
  }
3343
- if (ref$1 != null && parentComponent) setRef(ref$1, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
3344
- else if (ref$1 == null && n1 && n1.ref != null) setRef(n1.ref, null, parentSuspense, n1, true);
4030
+ if (ref != null && parentComponent) setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
4031
+ else if (ref == null && n1 && n1.ref != null) setRef(n1.ref, null, parentSuspense, n1, true);
3345
4032
  };
3346
4033
  const processText = (n1, n2, container, anchor) => {
3347
4034
  if (n1 == null) hostInsert(n2.el = hostCreateText(n2.children), container, anchor);
@@ -3389,7 +4076,15 @@ function baseCreateRenderer(options, createHydrationFns) {
3389
4076
  if (n2.type === "svg") namespace = "svg";
3390
4077
  else if (n2.type === "math") namespace = "mathml";
3391
4078
  if (n1 == null) mountElement(n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
3392
- else patchElement(n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
4079
+ else {
4080
+ const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
4081
+ try {
4082
+ if (customElement) customElement._beginPatch();
4083
+ patchElement(n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
4084
+ } finally {
4085
+ if (customElement) customElement._endPatch();
4086
+ }
4087
+ }
3393
4088
  };
3394
4089
  const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
3395
4090
  let el;
@@ -3517,7 +4212,7 @@ function baseCreateRenderer(options, createHydrationFns) {
3517
4212
  hostInsert(fragmentStartAnchor, container, anchor);
3518
4213
  hostInsert(fragmentEndAnchor, container, anchor);
3519
4214
  mountChildren(n2.children || [], container, fragmentEndAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
3520
- } else if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && n1.dynamicChildren) {
4215
+ } else if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) {
3521
4216
  patchBlockChildren(n1.dynamicChildren, dynamicChildren, container, parentComponent, parentSuspense, namespace, slotScopeIds);
3522
4217
  if (!!(process.env.NODE_ENV !== "production")) traverseStaticChildren(n1, n2);
3523
4218
  else if (n2.key != null || parentComponent && n2 === parentComponent.subTree) traverseStaticChildren(n1, n2, true);
@@ -3593,7 +4288,7 @@ function baseCreateRenderer(options, createHydrationFns) {
3593
4288
  if (isAsyncWrapperVNode && type.__asyncHydrate) type.__asyncHydrate(el, instance, hydrateSubTree);
3594
4289
  else hydrateSubTree();
3595
4290
  } else {
3596
- if (root.ce && root.ce._def.shadowRoot !== false) root.ce._injectChildStyle(type);
4291
+ if (root.ce && root.ce._hasShadowRoot()) root.ce._injectChildStyle(type, instance.parent ? instance.parent.type : void 0);
3597
4292
  if (!!(process.env.NODE_ENV !== "production")) startMeasure(instance, `render`);
3598
4293
  const subTree = instance.subTree = renderComponentRoot(instance);
3599
4294
  if (!!(process.env.NODE_ENV !== "production")) endMeasure(instance, `render`);
@@ -3621,7 +4316,9 @@ function baseCreateRenderer(options, createHydrationFns) {
3621
4316
  updateComponentPreRender(instance, next, optimized);
3622
4317
  }
3623
4318
  nonHydratedAsyncRoot.asyncDep.then(() => {
3624
- if (!instance.isUnmounted) componentUpdateFn();
4319
+ queuePostRenderEffect(() => {
4320
+ if (!instance.isUnmounted) update();
4321
+ }, parentSuspense);
3625
4322
  });
3626
4323
  return;
3627
4324
  }
@@ -3654,17 +4351,17 @@ function baseCreateRenderer(options, createHydrationFns) {
3654
4351
  }
3655
4352
  };
3656
4353
  instance.scope.on();
3657
- const effect$1 = instance.effect = new ReactiveEffect(componentUpdateFn);
4354
+ const effect = instance.effect = new ReactiveEffect(componentUpdateFn);
3658
4355
  instance.scope.off();
3659
- const update = instance.update = effect$1.run.bind(effect$1);
3660
- const job = instance.job = effect$1.runIfDirty.bind(effect$1);
4356
+ const update = instance.update = effect.run.bind(effect);
4357
+ const job = instance.job = effect.runIfDirty.bind(effect);
3661
4358
  job.i = instance;
3662
4359
  job.id = instance.uid;
3663
- effect$1.scheduler = () => queueJob(job);
4360
+ effect.scheduler = () => queueJob(job);
3664
4361
  toggleRecurse(instance, true);
3665
4362
  if (!!(process.env.NODE_ENV !== "production")) {
3666
- effect$1.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;
3667
- effect$1.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;
4363
+ effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;
4364
+ effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;
3668
4365
  }
3669
4366
  update();
3670
4367
  };
@@ -3795,7 +4492,7 @@ function baseCreateRenderer(options, createHydrationFns) {
3795
4492
  const nextIndex = s2 + i;
3796
4493
  const nextChild = c2[nextIndex];
3797
4494
  const anchorVNode = c2[nextIndex + 1];
3798
- const anchor = nextIndex + 1 < l2 ? anchorVNode.el || anchorVNode.placeholder : parentAnchor;
4495
+ const anchor = nextIndex + 1 < l2 ? anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) : parentAnchor;
3799
4496
  if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
3800
4497
  else if (moved) if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2);
3801
4498
  else j--;
@@ -3849,11 +4546,11 @@ function baseCreateRenderer(options, createHydrationFns) {
3849
4546
  else hostInsert(el, container, anchor);
3850
4547
  };
3851
4548
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
3852
- const { type, props, ref: ref$1, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex } = vnode;
4549
+ const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex } = vnode;
3853
4550
  if (patchFlag === -2) optimized = false;
3854
- if (ref$1 != null) {
4551
+ if (ref != null) {
3855
4552
  pauseTracking();
3856
- setRef(ref$1, null, parentSuspense, vnode, true);
4553
+ setRef(ref, null, parentSuspense, vnode, true);
3857
4554
  resetTracking();
3858
4555
  }
3859
4556
  if (cacheIndex != null) parentComponent.renderCache[cacheIndex] = void 0;
@@ -3875,19 +4572,19 @@ function baseCreateRenderer(options, createHydrationFns) {
3875
4572
  if (shapeFlag & 64) vnode.type.remove(vnode, parentComponent, parentSuspense, internals, doRemove);
3876
4573
  else if (dynamicChildren && !dynamicChildren.hasOnce && (type !== Fragment || patchFlag > 0 && patchFlag & 64)) unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);
3877
4574
  else if (type === Fragment && patchFlag & 384 || !optimized && shapeFlag & 16) unmountChildren(children, parentComponent, parentSuspense);
3878
- if (doRemove) remove$1(vnode);
4575
+ if (doRemove) remove(vnode);
3879
4576
  }
3880
4577
  if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) queuePostRenderEffect(() => {
3881
4578
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
3882
4579
  shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
3883
4580
  }, parentSuspense);
3884
4581
  };
3885
- const remove$1 = (vnode) => {
4582
+ const remove = (vnode) => {
3886
4583
  const { type, el, anchor, transition } = vnode;
3887
4584
  if (type === Fragment) {
3888
4585
  if (!!(process.env.NODE_ENV !== "production") && vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) vnode.children.forEach((child) => {
3889
4586
  if (child.type === Comment) hostRemove(child.el);
3890
- else remove$1(child);
4587
+ else remove(child);
3891
4588
  });
3892
4589
  else removeFragment(el, anchor);
3893
4590
  return;
@@ -3944,14 +4641,18 @@ function baseCreateRenderer(options, createHydrationFns) {
3944
4641
  return teleportEnd ? hostNextSibling(teleportEnd) : el;
3945
4642
  };
3946
4643
  let isFlushing = false;
3947
- const render$1 = (vnode, container, namespace) => {
4644
+ const render = (vnode, container, namespace) => {
4645
+ let instance;
3948
4646
  if (vnode == null) {
3949
- if (container._vnode) unmount(container._vnode, null, null, true);
4647
+ if (container._vnode) {
4648
+ unmount(container._vnode, null, null, true);
4649
+ instance = container._vnode.component;
4650
+ }
3950
4651
  } else patch(container._vnode || null, vnode, container, null, null, null, namespace);
3951
4652
  container._vnode = vnode;
3952
4653
  if (!isFlushing) {
3953
4654
  isFlushing = true;
3954
- flushPreFlushCbs();
4655
+ flushPreFlushCbs(instance);
3955
4656
  flushPostFlushCbs();
3956
4657
  isFlushing = false;
3957
4658
  }
@@ -3960,7 +4661,7 @@ function baseCreateRenderer(options, createHydrationFns) {
3960
4661
  p: patch,
3961
4662
  um: unmount,
3962
4663
  m: move,
3963
- r: remove$1,
4664
+ r: remove,
3964
4665
  mt: mountComponent,
3965
4666
  mc: mountChildren,
3966
4667
  pc: patchChildren,
@@ -3972,20 +4673,20 @@ function baseCreateRenderer(options, createHydrationFns) {
3972
4673
  let hydrateNode;
3973
4674
  if (createHydrationFns) [hydrate, hydrateNode] = createHydrationFns(internals);
3974
4675
  return {
3975
- render: render$1,
4676
+ render,
3976
4677
  hydrate,
3977
- createApp: createAppAPI(render$1, hydrate)
4678
+ createApp: createAppAPI(render, hydrate)
3978
4679
  };
3979
4680
  }
3980
4681
  function resolveChildrenNamespace({ type, props }, currentNamespace) {
3981
4682
  return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
3982
4683
  }
3983
- function toggleRecurse({ effect: effect$1, job }, allowed) {
4684
+ function toggleRecurse({ effect, job }, allowed) {
3984
4685
  if (allowed) {
3985
- effect$1.flags |= 32;
4686
+ effect.flags |= 32;
3986
4687
  job.flags |= 4;
3987
4688
  } else {
3988
- effect$1.flags &= -33;
4689
+ effect.flags &= -33;
3989
4690
  job.flags &= -5;
3990
4691
  }
3991
4692
  }
@@ -4005,13 +4706,16 @@ function traverseStaticChildren(n1, n2, shallow = false) {
4005
4706
  }
4006
4707
  if (!shallow && c2.patchFlag !== -2) traverseStaticChildren(c1, c2);
4007
4708
  }
4008
- if (c2.type === Text && c2.patchFlag !== -1) c2.el = c1.el;
4709
+ if (c2.type === Text) {
4710
+ if (c2.patchFlag === -1) c2 = ch2[i] = cloneIfMounted(c2);
4711
+ c2.el = c1.el;
4712
+ }
4009
4713
  if (c2.type === Comment && !c2.el) c2.el = c1.el;
4010
4714
  if (!!(process.env.NODE_ENV !== "production")) c2.el && (c2.el.__vnode = c2);
4011
4715
  }
4012
4716
  }
4013
4717
  function getSequence(arr) {
4014
- const p$1 = arr.slice();
4718
+ const p = arr.slice();
4015
4719
  const result = [0];
4016
4720
  let i, j, u, v, c;
4017
4721
  const len = arr.length;
@@ -4020,7 +4724,7 @@ function getSequence(arr) {
4020
4724
  if (arrI !== 0) {
4021
4725
  j = result[result.length - 1];
4022
4726
  if (arr[j] < arrI) {
4023
- p$1[i] = j;
4727
+ p[i] = j;
4024
4728
  result.push(i);
4025
4729
  continue;
4026
4730
  }
@@ -4032,7 +4736,7 @@ function getSequence(arr) {
4032
4736
  else v = c;
4033
4737
  }
4034
4738
  if (arrI < arr[result[u]]) {
4035
- if (u > 0) p$1[i] = result[u - 1];
4739
+ if (u > 0) p[i] = result[u - 1];
4036
4740
  result[u] = i;
4037
4741
  }
4038
4742
  }
@@ -4041,7 +4745,7 @@ function getSequence(arr) {
4041
4745
  v = result[u - 1];
4042
4746
  while (u-- > 0) {
4043
4747
  result[u] = v;
4044
- v = p$1[v];
4748
+ v = p[v];
4045
4749
  }
4046
4750
  return result;
4047
4751
  }
@@ -4053,412 +4757,308 @@ function locateNonHydratedAsyncRoot(instance) {
4053
4757
  function invalidateMount(hooks) {
4054
4758
  if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 8;
4055
4759
  }
4056
- const ssrContextKey = Symbol.for("v-scx");
4057
- const useSSRContext = () => {
4058
- {
4059
- const ctx = inject(ssrContextKey);
4060
- if (!ctx) process.env.NODE_ENV !== "production" && warn$1(`Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`);
4061
- return ctx;
4062
- }
4063
- };
4064
- function watchEffect(effect$1, options) {
4065
- return doWatch(effect$1, null, options);
4066
- }
4067
- function watchSyncEffect(effect$1, options) {
4068
- return doWatch(effect$1, null, !!(process.env.NODE_ENV !== "production") ? extend({}, options, { flush: "sync" }) : { flush: "sync" });
4069
- }
4070
- function watch(source, cb, options) {
4071
- if (!!(process.env.NODE_ENV !== "production") && !isFunction(cb)) warn$1(`\`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.`);
4072
- return doWatch(source, cb, options);
4760
+ function resolveAsyncComponentPlaceholder(anchorVnode) {
4761
+ if (anchorVnode.placeholder) return anchorVnode.placeholder;
4762
+ const instance = anchorVnode.component;
4763
+ if (instance) return resolveAsyncComponentPlaceholder(instance.subTree);
4764
+ return null;
4073
4765
  }
4074
- function doWatch(source, cb, options = EMPTY_OBJ) {
4075
- const { immediate, deep, flush, once } = options;
4076
- if (!!(process.env.NODE_ENV !== "production") && !cb) {
4077
- if (immediate !== void 0) warn$1(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`);
4078
- if (deep !== void 0) warn$1(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`);
4079
- if (once !== void 0) warn$1(`watch() "once" option is only respected when using the watch(source, callback, options?) signature.`);
4080
- }
4081
- const baseWatchOptions = extend({}, options);
4082
- if (!!(process.env.NODE_ENV !== "production")) baseWatchOptions.onWarn = warn$1;
4083
- const runsImmediately = cb && immediate || !cb && flush !== "post";
4084
- let ssrCleanup;
4085
- if (isInSSRComponentSetup) {
4086
- if (flush === "sync") {
4087
- const ctx = useSSRContext();
4088
- ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
4089
- } else if (!runsImmediately) {
4090
- const watchStopHandle = () => {};
4091
- watchStopHandle.stop = NOOP;
4092
- watchStopHandle.resume = NOOP;
4093
- watchStopHandle.pause = NOOP;
4094
- return watchStopHandle;
4095
- }
4096
- }
4097
- const instance = currentInstance;
4098
- baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
4099
- let isPre = false;
4100
- if (flush === "post") baseWatchOptions.scheduler = (job) => {
4101
- queuePostRenderEffect(job, instance && instance.suspense);
4102
- };
4103
- else if (flush !== "sync") {
4104
- isPre = true;
4105
- baseWatchOptions.scheduler = (job, isFirstRun) => {
4106
- if (isFirstRun) job();
4107
- else queueJob(job);
4108
- };
4109
- }
4110
- baseWatchOptions.augmentJob = (job) => {
4111
- if (cb) job.flags |= 4;
4112
- if (isPre) {
4113
- job.flags |= 2;
4114
- if (instance) {
4115
- job.id = instance.uid;
4116
- job.i = instance;
4766
+ const isSuspense = (type) => type.__isSuspense;
4767
+ let suspenseId = 0;
4768
+ const Suspense = {
4769
+ name: "Suspense",
4770
+ __isSuspense: true,
4771
+ process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
4772
+ if (n1 == null) mountSuspense(n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals);
4773
+ else {
4774
+ if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {
4775
+ n2.suspense = n1.suspense;
4776
+ n2.suspense.vnode = n2;
4777
+ n2.el = n1.el;
4778
+ return;
4117
4779
  }
4780
+ patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, rendererInternals);
4118
4781
  }
4119
- };
4120
- const watchHandle = watch$1(source, cb, baseWatchOptions);
4121
- if (isInSSRComponentSetup) {
4122
- if (ssrCleanup) ssrCleanup.push(watchHandle);
4123
- else if (runsImmediately) watchHandle();
4124
- }
4125
- return watchHandle;
4126
- }
4127
- function instanceWatch(source, value, options) {
4128
- const publicThis = this.proxy;
4129
- const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
4130
- let cb;
4131
- if (isFunction(value)) cb = value;
4132
- else {
4133
- cb = value.handler;
4134
- options = value;
4135
- }
4136
- const reset = setCurrentInstance(this);
4137
- const res = doWatch(getter, cb.bind(publicThis), options);
4138
- reset();
4139
- return res;
4140
- }
4141
- function createPathGetter(ctx, path) {
4142
- const segments = path.split(".");
4143
- return () => {
4144
- let cur = ctx;
4145
- for (let i = 0; i < segments.length && cur; i++) cur = cur[segments[i]];
4146
- return cur;
4147
- };
4148
- }
4149
- function useModel(props, name, options = EMPTY_OBJ) {
4150
- const i = getCurrentInstance();
4151
- if (!!(process.env.NODE_ENV !== "production") && !i) {
4152
- warn$1(`useModel() called without active instance.`);
4153
- return ref();
4154
- }
4155
- const camelizedName = camelize$1(name);
4156
- if (!!(process.env.NODE_ENV !== "production") && !i.propsOptions[0][camelizedName]) {
4157
- warn$1(`useModel() called with prop "${name}" which is not declared.`);
4158
- return ref();
4159
- }
4160
- const hyphenatedName = hyphenate$1(name);
4161
- const modifiers = getModelModifiers(props, camelizedName);
4162
- const res = customRef((track$1, trigger$1) => {
4163
- let localValue;
4164
- let prevSetValue = EMPTY_OBJ;
4165
- let prevEmittedValue;
4166
- watchSyncEffect(() => {
4167
- const propValue = props[camelizedName];
4168
- if (hasChanged(localValue, propValue)) {
4169
- localValue = propValue;
4170
- trigger$1();
4171
- }
4172
- });
4173
- return {
4174
- get() {
4175
- track$1();
4176
- return options.get ? options.get(localValue) : localValue;
4177
- },
4178
- set(value) {
4179
- const emittedValue = options.set ? options.set(value) : value;
4180
- if (!hasChanged(emittedValue, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) return;
4181
- const rawProps = i.vnode.props;
4182
- if (!(rawProps && (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps))) {
4183
- localValue = value;
4184
- trigger$1();
4782
+ },
4783
+ hydrate: hydrateSuspense,
4784
+ normalize: normalizeSuspenseChildren
4785
+ };
4786
+ function triggerEvent(vnode, name) {
4787
+ const eventListener = vnode.props && vnode.props[name];
4788
+ if (isFunction(eventListener)) eventListener();
4789
+ }
4790
+ function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
4791
+ const { p: patch, o: { createElement } } = rendererInternals;
4792
+ const hiddenContainer = createElement("div");
4793
+ const suspense = vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals);
4794
+ patch(null, suspense.pendingBranch = vnode.ssContent, hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds);
4795
+ if (suspense.deps > 0) {
4796
+ triggerEvent(vnode, "onPending");
4797
+ triggerEvent(vnode, "onFallback");
4798
+ patch(null, vnode.ssFallback, container, anchor, parentComponent, null, namespace, slotScopeIds);
4799
+ setActiveBranch(suspense, vnode.ssFallback);
4800
+ } else suspense.resolve(false, true);
4801
+ }
4802
+ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {
4803
+ const suspense = n2.suspense = n1.suspense;
4804
+ suspense.vnode = n2;
4805
+ n2.el = n1.el;
4806
+ const newBranch = n2.ssContent;
4807
+ const newFallback = n2.ssFallback;
4808
+ const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
4809
+ if (pendingBranch) {
4810
+ suspense.pendingBranch = newBranch;
4811
+ if (isSameVNodeType(pendingBranch, newBranch)) {
4812
+ patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
4813
+ if (suspense.deps <= 0) suspense.resolve();
4814
+ else if (isInFallback) {
4815
+ if (!isHydrating) {
4816
+ patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
4817
+ setActiveBranch(suspense, newFallback);
4185
4818
  }
4186
- i.emit(`update:${name}`, emittedValue);
4187
- if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) trigger$1();
4188
- prevSetValue = value;
4189
- prevEmittedValue = emittedValue;
4190
4819
  }
4191
- };
4192
- });
4193
- res[Symbol.iterator] = () => {
4194
- let i2 = 0;
4195
- return { next() {
4196
- if (i2 < 2) return {
4197
- value: i2++ ? modifiers || EMPTY_OBJ : res,
4198
- done: false
4199
- };
4200
- else return { done: true };
4201
- } };
4202
- };
4203
- return res;
4204
- }
4205
- const getModelModifiers = (props, modelName) => {
4206
- return modelName === "modelValue" || modelName === "model-value" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${camelize$1(modelName)}Modifiers`] || props[`${hyphenate$1(modelName)}Modifiers`];
4207
- };
4208
- function emit(instance, event, ...rawArgs) {
4209
- if (instance.isUnmounted) return;
4210
- const props = instance.vnode.props || EMPTY_OBJ;
4211
- if (!!(process.env.NODE_ENV !== "production")) {
4212
- const { emitsOptions, propsOptions: [propsOptions] } = instance;
4213
- if (emitsOptions) if (!(event in emitsOptions) && true) {
4214
- if (!propsOptions || !(toHandlerKey(camelize$1(event)) in propsOptions)) warn$1(`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(camelize$1(event))}" prop.`);
4215
4820
  } else {
4216
- const validator = emitsOptions[event];
4217
- if (isFunction(validator)) {
4218
- if (!validator(...rawArgs)) warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
4821
+ suspense.pendingId = suspenseId++;
4822
+ if (isHydrating) {
4823
+ suspense.isHydrating = false;
4824
+ suspense.activeBranch = pendingBranch;
4825
+ } else unmount(pendingBranch, parentComponent, suspense);
4826
+ suspense.deps = 0;
4827
+ suspense.effects.length = 0;
4828
+ suspense.hiddenContainer = createElement("div");
4829
+ if (isInFallback) {
4830
+ patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
4831
+ if (suspense.deps <= 0) suspense.resolve();
4832
+ else {
4833
+ patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
4834
+ setActiveBranch(suspense, newFallback);
4835
+ }
4836
+ } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
4837
+ patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, namespace, slotScopeIds, optimized);
4838
+ suspense.resolve(true);
4839
+ } else {
4840
+ patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
4841
+ if (suspense.deps <= 0) suspense.resolve();
4219
4842
  }
4220
4843
  }
4221
- }
4222
- let args = rawArgs;
4223
- const isModelListener$1 = event.startsWith("update:");
4224
- const modifiers = isModelListener$1 && getModelModifiers(props, event.slice(7));
4225
- if (modifiers) {
4226
- if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
4227
- if (modifiers.number) args = rawArgs.map(looseToNumber);
4228
- }
4229
- if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) devtoolsComponentEmit(instance, event, args);
4230
- if (!!(process.env.NODE_ENV !== "production")) {
4231
- const lowerCaseEvent = event.toLowerCase();
4232
- if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) warn$1(`Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(instance, instance.type)} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate$1(event)}" instead of "${event}".`);
4233
- }
4234
- let handlerName;
4235
- let handler = props[handlerName = toHandlerKey(event)] || props[handlerName = toHandlerKey(camelize$1(event))];
4236
- if (!handler && isModelListener$1) handler = props[handlerName = toHandlerKey(hyphenate$1(event))];
4237
- if (handler) callWithAsyncErrorHandling(handler, instance, 6, args);
4238
- const onceHandler = props[handlerName + `Once`];
4239
- if (onceHandler) {
4240
- if (!instance.emitted) instance.emitted = {};
4241
- else if (instance.emitted[handlerName]) return;
4242
- instance.emitted[handlerName] = true;
4243
- callWithAsyncErrorHandling(onceHandler, instance, 6, args);
4844
+ } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
4845
+ patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, namespace, slotScopeIds, optimized);
4846
+ setActiveBranch(suspense, newBranch);
4847
+ } else {
4848
+ triggerEvent(n2, "onPending");
4849
+ suspense.pendingBranch = newBranch;
4850
+ if (newBranch.shapeFlag & 512) suspense.pendingId = newBranch.component.suspenseId;
4851
+ else suspense.pendingId = suspenseId++;
4852
+ patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
4853
+ if (suspense.deps <= 0) suspense.resolve();
4854
+ else {
4855
+ const { timeout, pendingId } = suspense;
4856
+ if (timeout > 0) setTimeout(() => {
4857
+ if (suspense.pendingId === pendingId) suspense.fallback(newFallback);
4858
+ }, timeout);
4859
+ else if (timeout === 0) suspense.fallback(newFallback);
4860
+ }
4244
4861
  }
4245
4862
  }
4246
- const mixinEmitsCache = /* @__PURE__ */ new WeakMap();
4247
- function normalizeEmitsOptions(comp, appContext, asMixin = false) {
4248
- const cache = __VUE_OPTIONS_API__ && asMixin ? mixinEmitsCache : appContext.emitsCache;
4249
- const cached = cache.get(comp);
4250
- if (cached !== void 0) return cached;
4251
- const raw = comp.emits;
4252
- let normalized = {};
4253
- let hasExtends = false;
4254
- if (__VUE_OPTIONS_API__ && !isFunction(comp)) {
4255
- const extendEmits = (raw2) => {
4256
- const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);
4257
- if (normalizedFromExtend) {
4258
- hasExtends = true;
4259
- extend(normalized, normalizedFromExtend);
4260
- }
4261
- };
4262
- if (!asMixin && appContext.mixins.length) appContext.mixins.forEach(extendEmits);
4263
- if (comp.extends) extendEmits(comp.extends);
4264
- if (comp.mixins) comp.mixins.forEach(extendEmits);
4265
- }
4266
- if (!raw && !hasExtends) {
4267
- if (isObject$1(comp)) cache.set(comp, null);
4268
- return null;
4863
+ let hasWarned = false;
4864
+ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
4865
+ if (!!(process.env.NODE_ENV !== "production") && !hasWarned) {
4866
+ hasWarned = true;
4867
+ console[console.info ? "info" : "log"](`<Suspense> is an experimental feature and its API will likely change.`);
4269
4868
  }
4270
- if (isArray(raw)) raw.forEach((key) => normalized[key] = null);
4271
- else extend(normalized, raw);
4272
- if (isObject$1(comp)) cache.set(comp, normalized);
4273
- return normalized;
4274
- }
4275
- function isEmitListener(options, key) {
4276
- if (!options || !isOn(key)) return false;
4277
- key = key.slice(2).replace(/Once$/, "");
4278
- return hasOwn$1(options, key[0].toLowerCase() + key.slice(1)) || hasOwn$1(options, hyphenate$1(key)) || hasOwn$1(options, key);
4279
- }
4280
- let accessedAttrs = false;
4281
- function markAttrsAccessed() {
4282
- accessedAttrs = true;
4283
- }
4284
- function renderComponentRoot(instance) {
4285
- const { type: Component, vnode, proxy, withProxy, propsOptions: [propsOptions], slots, attrs, emit: emit$2, render: render$1, renderCache, props, data, setupState, ctx, inheritAttrs } = instance;
4286
- const prev = setCurrentRenderingInstance(instance);
4287
- let result;
4288
- let fallthroughAttrs;
4289
- if (!!(process.env.NODE_ENV !== "production")) accessedAttrs = false;
4290
- try {
4291
- if (vnode.shapeFlag & 4) {
4292
- const proxyToUse = withProxy || proxy;
4293
- const thisProxy = !!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup ? new Proxy(proxyToUse, { get(target, key, receiver) {
4294
- warn$1(`Property '${String(key)}' was accessed via 'this'. Avoid using 'this' in templates.`);
4295
- return Reflect.get(target, key, receiver);
4296
- } }) : proxyToUse;
4297
- result = normalizeVNode(render$1.call(thisProxy, proxyToUse, renderCache, !!(process.env.NODE_ENV !== "production") ? shallowReadonly(props) : props, setupState, data, ctx));
4298
- fallthroughAttrs = attrs;
4299
- } else {
4300
- const render2 = Component;
4301
- if (!!(process.env.NODE_ENV !== "production") && attrs === props) markAttrsAccessed();
4302
- result = normalizeVNode(render2.length > 1 ? render2(!!(process.env.NODE_ENV !== "production") ? shallowReadonly(props) : props, !!(process.env.NODE_ENV !== "production") ? {
4303
- get attrs() {
4304
- markAttrsAccessed();
4305
- return shallowReadonly(attrs);
4306
- },
4307
- slots,
4308
- emit: emit$2
4309
- } : {
4310
- attrs,
4311
- slots,
4312
- emit: emit$2
4313
- }) : render2(!!(process.env.NODE_ENV !== "production") ? shallowReadonly(props) : props, null));
4314
- fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
4869
+ const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;
4870
+ let parentSuspenseId;
4871
+ const isSuspensible = isVNodeSuspensible(vnode);
4872
+ if (isSuspensible) {
4873
+ if (parentSuspense && parentSuspense.pendingBranch) {
4874
+ parentSuspenseId = parentSuspense.pendingId;
4875
+ parentSuspense.deps++;
4315
4876
  }
4316
- } catch (err) {
4317
- blockStack.length = 0;
4318
- handleError(err, instance, 1);
4319
- result = createVNode(Comment);
4320
4877
  }
4321
- let root = result;
4322
- let setRoot = void 0;
4323
- if (!!(process.env.NODE_ENV !== "production") && result.patchFlag > 0 && result.patchFlag & 2048) [root, setRoot] = getChildRoot(result);
4324
- if (fallthroughAttrs && inheritAttrs !== false) {
4325
- const keys = Object.keys(fallthroughAttrs);
4326
- const { shapeFlag } = root;
4327
- if (keys.length) {
4328
- if (shapeFlag & 7) {
4329
- if (propsOptions && keys.some(isModelListener)) fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);
4330
- root = cloneVNode(root, fallthroughAttrs, false, true);
4331
- } else if (!!(process.env.NODE_ENV !== "production") && !accessedAttrs && root.type !== Comment) {
4332
- const allAttrs = Object.keys(attrs);
4333
- const eventAttrs = [];
4334
- const extraAttrs = [];
4335
- for (let i = 0, l = allAttrs.length; i < l; i++) {
4336
- const key = allAttrs[i];
4337
- if (isOn(key)) {
4338
- if (!isModelListener(key)) eventAttrs.push(key[2].toLowerCase() + key.slice(3));
4339
- } else extraAttrs.push(key);
4878
+ const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;
4879
+ if (!!(process.env.NODE_ENV !== "production")) assertNumber(timeout, `Suspense timeout`);
4880
+ const initialAnchor = anchor;
4881
+ const suspense = {
4882
+ vnode,
4883
+ parent: parentSuspense,
4884
+ parentComponent,
4885
+ namespace,
4886
+ container,
4887
+ hiddenContainer,
4888
+ deps: 0,
4889
+ pendingId: suspenseId++,
4890
+ timeout: typeof timeout === "number" ? timeout : -1,
4891
+ activeBranch: null,
4892
+ pendingBranch: null,
4893
+ isInFallback: !isHydrating,
4894
+ isHydrating,
4895
+ isUnmounted: false,
4896
+ effects: [],
4897
+ resolve(resume = false, sync = false) {
4898
+ if (!!(process.env.NODE_ENV !== "production")) {
4899
+ if (!resume && !suspense.pendingBranch) throw new Error(`suspense.resolve() is called without a pending branch.`);
4900
+ if (suspense.isUnmounted) throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);
4901
+ }
4902
+ const { vnode: vnode2, activeBranch, pendingBranch, pendingId, effects, parentComponent: parentComponent2, container: container2, isInFallback } = suspense;
4903
+ let delayEnter = false;
4904
+ if (suspense.isHydrating) suspense.isHydrating = false;
4905
+ else if (!resume) {
4906
+ delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
4907
+ if (delayEnter) activeBranch.transition.afterLeave = () => {
4908
+ if (pendingId === suspense.pendingId) {
4909
+ move(pendingBranch, container2, anchor === initialAnchor ? next(activeBranch) : anchor, 0);
4910
+ queuePostFlushCb(effects);
4911
+ if (isInFallback && vnode2.ssFallback) vnode2.ssFallback.el = null;
4912
+ }
4913
+ };
4914
+ if (activeBranch) {
4915
+ if (parentNode(activeBranch.el) === container2) anchor = next(activeBranch);
4916
+ unmount(activeBranch, parentComponent2, suspense, true);
4917
+ if (!delayEnter && isInFallback && vnode2.ssFallback) queuePostRenderEffect(() => vnode2.ssFallback.el = null, suspense);
4340
4918
  }
4341
- if (extraAttrs.length) warn$1(`Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`);
4342
- if (eventAttrs.length) warn$1(`Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`);
4919
+ if (!delayEnter) move(pendingBranch, container2, anchor, 0);
4343
4920
  }
4344
- }
4345
- }
4346
- if (vnode.dirs) {
4347
- if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) warn$1(`Runtime directive used on component with non-element root node. The directives will not function as intended.`);
4348
- root = cloneVNode(root, null, false, true);
4349
- root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
4350
- }
4351
- if (vnode.transition) {
4352
- if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) warn$1(`Component inside <Transition> renders non-element root node that cannot be animated.`);
4353
- setTransitionHooks(root, vnode.transition);
4354
- }
4355
- if (!!(process.env.NODE_ENV !== "production") && setRoot) setRoot(root);
4356
- else result = root;
4357
- setCurrentRenderingInstance(prev);
4358
- return result;
4359
- }
4360
- const getChildRoot = (vnode) => {
4361
- const rawChildren = vnode.children;
4362
- const dynamicChildren = vnode.dynamicChildren;
4363
- const childRoot = filterSingleRoot(rawChildren, false);
4364
- if (!childRoot) return [vnode, void 0];
4365
- else if (!!(process.env.NODE_ENV !== "production") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) return getChildRoot(childRoot);
4366
- const index = rawChildren.indexOf(childRoot);
4367
- const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;
4368
- const setRoot = (updatedRoot) => {
4369
- rawChildren[index] = updatedRoot;
4370
- if (dynamicChildren) {
4371
- if (dynamicIndex > -1) dynamicChildren[dynamicIndex] = updatedRoot;
4372
- else if (updatedRoot.patchFlag > 0) vnode.dynamicChildren = [...dynamicChildren, updatedRoot];
4373
- }
4374
- };
4375
- return [normalizeVNode(childRoot), setRoot];
4376
- };
4377
- function filterSingleRoot(children, recurse = true) {
4378
- let singleRoot;
4379
- for (let i = 0; i < children.length; i++) {
4380
- const child = children[i];
4381
- if (isVNode(child)) {
4382
- if (child.type !== Comment || child.children === "v-if") if (singleRoot) return;
4383
- else {
4384
- singleRoot = child;
4385
- if (!!(process.env.NODE_ENV !== "production") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) return filterSingleRoot(singleRoot.children);
4921
+ setActiveBranch(suspense, pendingBranch);
4922
+ suspense.pendingBranch = null;
4923
+ suspense.isInFallback = false;
4924
+ let parent = suspense.parent;
4925
+ let hasUnresolvedAncestor = false;
4926
+ while (parent) {
4927
+ if (parent.pendingBranch) {
4928
+ parent.effects.push(...effects);
4929
+ hasUnresolvedAncestor = true;
4930
+ break;
4931
+ }
4932
+ parent = parent.parent;
4386
4933
  }
4387
- } else return;
4388
- }
4389
- return singleRoot;
4390
- }
4391
- const getFunctionalFallthrough = (attrs) => {
4392
- let res;
4393
- for (const key in attrs) if (key === "class" || key === "style" || isOn(key)) (res || (res = {}))[key] = attrs[key];
4394
- return res;
4395
- };
4396
- const filterModelListeners = (attrs, props) => {
4397
- const res = {};
4398
- for (const key in attrs) if (!isModelListener(key) || !(key.slice(9) in props)) res[key] = attrs[key];
4399
- return res;
4400
- };
4401
- const isElementRoot = (vnode) => {
4402
- return vnode.shapeFlag & 7 || vnode.type === Comment;
4403
- };
4404
- function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
4405
- const { props: prevProps, children: prevChildren, component } = prevVNode;
4406
- const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;
4407
- const emits = component.emitsOptions;
4408
- if (!!(process.env.NODE_ENV !== "production") && (prevChildren || nextChildren) && isHmrUpdating) return true;
4409
- if (nextVNode.dirs || nextVNode.transition) return true;
4410
- if (optimized && patchFlag >= 0) {
4411
- if (patchFlag & 1024) return true;
4412
- if (patchFlag & 16) {
4413
- if (!prevProps) return !!nextProps;
4414
- return hasPropsChanged(prevProps, nextProps, emits);
4415
- } else if (patchFlag & 8) {
4416
- const dynamicProps = nextVNode.dynamicProps;
4417
- for (let i = 0; i < dynamicProps.length; i++) {
4418
- const key = dynamicProps[i];
4419
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) return true;
4934
+ if (!hasUnresolvedAncestor && !delayEnter) queuePostFlushCb(effects);
4935
+ suspense.effects = [];
4936
+ if (isSuspensible) {
4937
+ if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {
4938
+ parentSuspense.deps--;
4939
+ if (parentSuspense.deps === 0 && !sync) parentSuspense.resolve();
4940
+ }
4420
4941
  }
4942
+ triggerEvent(vnode2, "onResolve");
4943
+ },
4944
+ fallback(fallbackVNode) {
4945
+ if (!suspense.pendingBranch) return;
4946
+ const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;
4947
+ triggerEvent(vnode2, "onFallback");
4948
+ const anchor2 = next(activeBranch);
4949
+ const mountFallback = () => {
4950
+ if (!suspense.isInFallback) return;
4951
+ patch(null, fallbackVNode, container2, anchor2, parentComponent2, null, namespace2, slotScopeIds, optimized);
4952
+ setActiveBranch(suspense, fallbackVNode);
4953
+ };
4954
+ const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
4955
+ if (delayEnter) activeBranch.transition.afterLeave = mountFallback;
4956
+ suspense.isInFallback = true;
4957
+ unmount(activeBranch, parentComponent2, null, true);
4958
+ if (!delayEnter) mountFallback();
4959
+ },
4960
+ move(container2, anchor2, type) {
4961
+ suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);
4962
+ suspense.container = container2;
4963
+ },
4964
+ next() {
4965
+ return suspense.activeBranch && next(suspense.activeBranch);
4966
+ },
4967
+ registerDep(instance, setupRenderEffect, optimized2) {
4968
+ const isInPendingSuspense = !!suspense.pendingBranch;
4969
+ if (isInPendingSuspense) suspense.deps++;
4970
+ const hydratedEl = instance.vnode.el;
4971
+ instance.asyncDep.catch((err) => {
4972
+ handleError(err, instance, 0);
4973
+ }).then((asyncSetupResult) => {
4974
+ if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) return;
4975
+ instance.asyncResolved = true;
4976
+ const { vnode: vnode2 } = instance;
4977
+ if (!!(process.env.NODE_ENV !== "production")) pushWarningContext(vnode2);
4978
+ handleSetupResult(instance, asyncSetupResult, false);
4979
+ if (hydratedEl) vnode2.el = hydratedEl;
4980
+ const placeholder = !hydratedEl && instance.subTree.el;
4981
+ setupRenderEffect(instance, vnode2, parentNode(hydratedEl || instance.subTree.el), hydratedEl ? null : next(instance.subTree), suspense, namespace, optimized2);
4982
+ if (placeholder) {
4983
+ vnode2.placeholder = null;
4984
+ remove(placeholder);
4985
+ }
4986
+ updateHOCHostEl(instance, vnode2.el);
4987
+ if (!!(process.env.NODE_ENV !== "production")) popWarningContext();
4988
+ if (isInPendingSuspense && --suspense.deps === 0) suspense.resolve();
4989
+ });
4990
+ },
4991
+ unmount(parentSuspense2, doRemove) {
4992
+ suspense.isUnmounted = true;
4993
+ if (suspense.activeBranch) unmount(suspense.activeBranch, parentComponent, parentSuspense2, doRemove);
4994
+ if (suspense.pendingBranch) unmount(suspense.pendingBranch, parentComponent, parentSuspense2, doRemove);
4421
4995
  }
4422
- } else {
4423
- if (prevChildren || nextChildren) {
4424
- if (!nextChildren || !nextChildren.$stable) return true;
4425
- }
4426
- if (prevProps === nextProps) return false;
4427
- if (!prevProps) return !!nextProps;
4428
- if (!nextProps) return true;
4429
- return hasPropsChanged(prevProps, nextProps, emits);
4430
- }
4431
- return false;
4996
+ };
4997
+ return suspense;
4432
4998
  }
4433
- function hasPropsChanged(prevProps, nextProps, emitsOptions) {
4434
- const nextKeys = Object.keys(nextProps);
4435
- if (nextKeys.length !== Object.keys(prevProps).length) return true;
4436
- for (let i = 0; i < nextKeys.length; i++) {
4437
- const key = nextKeys[i];
4438
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) return true;
4439
- }
4440
- return false;
4999
+ function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {
5000
+ const suspense = vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement("div"), null, namespace, slotScopeIds, optimized, rendererInternals, true);
5001
+ const result = hydrateNode(node, suspense.pendingBranch = vnode.ssContent, parentComponent, suspense, slotScopeIds, optimized);
5002
+ if (suspense.deps === 0) suspense.resolve(false, true);
5003
+ return result;
4441
5004
  }
4442
- function updateHOCHostEl({ vnode, parent }, el) {
4443
- while (parent) {
4444
- const root = parent.subTree;
4445
- if (root.suspense && root.suspense.activeBranch === vnode) root.el = vnode.el;
4446
- if (root === vnode) {
4447
- (vnode = parent.vnode).el = el;
4448
- parent = parent.parent;
4449
- } else break;
5005
+ function normalizeSuspenseChildren(vnode) {
5006
+ const { shapeFlag, children } = vnode;
5007
+ const isSlotChildren = shapeFlag & 32;
5008
+ vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);
5009
+ vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);
5010
+ }
5011
+ function normalizeSuspenseSlot(s) {
5012
+ let block;
5013
+ if (isFunction(s)) {
5014
+ const trackBlock = isBlockTreeEnabled && s._c;
5015
+ if (trackBlock) {
5016
+ s._d = false;
5017
+ openBlock();
5018
+ }
5019
+ s = s();
5020
+ if (trackBlock) {
5021
+ s._d = true;
5022
+ block = currentBlock;
5023
+ closeBlock();
5024
+ }
4450
5025
  }
5026
+ if (isArray(s)) {
5027
+ const singleChild = filterSingleRoot(s);
5028
+ if (!!(process.env.NODE_ENV !== "production") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) warn$1(`<Suspense> slots expect a single root node.`);
5029
+ s = singleChild;
5030
+ }
5031
+ s = normalizeVNode(s);
5032
+ if (block && !s.dynamicChildren) s.dynamicChildren = block.filter((c) => c !== s);
5033
+ return s;
4451
5034
  }
4452
- const isSuspense = (type) => type.__isSuspense;
4453
5035
  function queueEffectWithSuspense(fn, suspense) {
4454
5036
  if (suspense && suspense.pendingBranch) if (isArray(fn)) suspense.effects.push(...fn);
4455
5037
  else suspense.effects.push(fn);
4456
5038
  else queuePostFlushCb(fn);
4457
5039
  }
4458
- const Fragment = Symbol.for("v-fgt");
4459
- const Text = Symbol.for("v-txt");
4460
- const Comment = Symbol.for("v-cmt");
4461
- const Static = Symbol.for("v-stc");
5040
+ function setActiveBranch(suspense, branch) {
5041
+ suspense.activeBranch = branch;
5042
+ const { vnode, parentComponent } = suspense;
5043
+ let el = branch.el;
5044
+ while (!el && branch.component) {
5045
+ branch = branch.component.subTree;
5046
+ el = branch.el;
5047
+ }
5048
+ vnode.el = el;
5049
+ if (parentComponent && parentComponent.subTree === vnode) {
5050
+ parentComponent.vnode.el = el;
5051
+ updateHOCHostEl(parentComponent, el);
5052
+ }
5053
+ }
5054
+ function isVNodeSuspensible(vnode) {
5055
+ const suspensible = vnode.props && vnode.props.suspensible;
5056
+ return suspensible != null && suspensible !== false;
5057
+ }
5058
+ const Fragment = /* @__PURE__ */ Symbol.for("v-fgt");
5059
+ const Text = /* @__PURE__ */ Symbol.for("v-txt");
5060
+ const Comment = /* @__PURE__ */ Symbol.for("v-cmt");
5061
+ const Static = /* @__PURE__ */ Symbol.for("v-stc");
4462
5062
  const blockStack = [];
4463
5063
  let currentBlock = null;
4464
5064
  function openBlock(disableTracking = false) {
@@ -4499,19 +5099,18 @@ function isSameVNodeType(n1, n2) {
4499
5099
  }
4500
5100
  return n1.type === n2.type && n1.key === n2.key;
4501
5101
  }
4502
- let vnodeArgsTransformer;
4503
5102
  const createVNodeWithArgsTransform = (...args) => {
4504
- return _createVNode(...vnodeArgsTransformer ? vnodeArgsTransformer(args, currentRenderingInstance) : args);
5103
+ return _createVNode(...args);
4505
5104
  };
4506
5105
  const normalizeKey = ({ key }) => key != null ? key : null;
4507
- const normalizeRef = ({ ref: ref$1, ref_key, ref_for }) => {
4508
- if (typeof ref$1 === "number") ref$1 = "" + ref$1;
4509
- return ref$1 != null ? isString(ref$1) || isRef(ref$1) || isFunction(ref$1) ? {
5106
+ const normalizeRef = ({ ref, ref_key, ref_for }) => {
5107
+ if (typeof ref === "number") ref = "" + ref;
5108
+ return ref != null ? isString(ref) || /* @__PURE__ */ isRef(ref) || isFunction(ref) ? {
4510
5109
  i: currentRenderingInstance,
4511
- r: ref$1,
5110
+ r: ref,
4512
5111
  k: ref_key,
4513
5112
  f: !!ref_for
4514
- } : ref$1 : null;
5113
+ } : ref : null;
4515
5114
  };
4516
5115
  function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {
4517
5116
  const vnode = {
@@ -4571,13 +5170,13 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
4571
5170
  let { class: klass, style } = props;
4572
5171
  if (klass && !isString(klass)) props.class = normalizeClass(klass);
4573
5172
  if (isObject$1(style)) {
4574
- if (isProxy(style) && !isArray(style)) style = extend({}, style);
5173
+ if (/* @__PURE__ */ isProxy(style) && !isArray(style)) style = extend({}, style);
4575
5174
  props.style = normalizeStyle(style);
4576
5175
  }
4577
5176
  }
4578
5177
  const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject$1(type) ? 4 : isFunction(type) ? 2 : 0;
4579
- if (!!(process.env.NODE_ENV !== "production") && shapeFlag & 4 && isProxy(type)) {
4580
- type = toRaw(type);
5178
+ if (!!(process.env.NODE_ENV !== "production") && shapeFlag & 4 && /* @__PURE__ */ isProxy(type)) {
5179
+ type = /* @__PURE__ */ toRaw(type);
4581
5180
  warn$1(`Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with \`markRaw\` or using \`shallowRef\` instead of \`ref\`.`, `
4582
5181
  Component that was made reactive: `, type);
4583
5182
  }
@@ -4585,10 +5184,10 @@ Component that was made reactive: `, type);
4585
5184
  }
4586
5185
  function guardReactiveProps(props) {
4587
5186
  if (!props) return null;
4588
- return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
5187
+ return /* @__PURE__ */ isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
4589
5188
  }
4590
5189
  function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
4591
- const { props, ref: ref$1, patchFlag, children, transition } = vnode;
5190
+ const { props, ref, patchFlag, children, transition } = vnode;
4592
5191
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
4593
5192
  const cloned = {
4594
5193
  __v_isVNode: true,
@@ -4596,7 +5195,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
4596
5195
  type: vnode.type,
4597
5196
  props: mergedProps,
4598
5197
  key: mergedProps && normalizeKey(mergedProps),
4599
- ref: extraProps && extraProps.ref ? mergeRef && ref$1 ? isArray(ref$1) ? ref$1.concat(normalizeRef(extraProps)) : [ref$1, normalizeRef(extraProps)] : normalizeRef(extraProps) : ref$1,
5198
+ ref: extraProps && extraProps.ref ? mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps) : ref,
4600
5199
  scopeId: vnode.scopeId,
4601
5200
  slotScopeIds: vnode.slotScopeIds,
4602
5201
  children: !!(process.env.NODE_ENV !== "production") && patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,
@@ -4632,6 +5231,11 @@ function deepCloneVNode(vnode) {
4632
5231
  function createTextVNode(text = " ", flag = 0) {
4633
5232
  return createVNode(Text, null, text, flag);
4634
5233
  }
5234
+ function createStaticVNode(content, numberOfNodes) {
5235
+ const vnode = createVNode(Static, null, content);
5236
+ vnode.staticCount = numberOfNodes;
5237
+ return vnode;
5238
+ }
4635
5239
  function createCommentVNode(text = "", asBlock = false) {
4636
5240
  return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);
4637
5241
  }
@@ -4827,7 +5431,6 @@ function setupComponent(instance, isSSR = false, optimized = false) {
4827
5431
  return setupResult;
4828
5432
  }
4829
5433
  function setupStatefulComponent(instance, isSSR) {
4830
- var _a;
4831
5434
  const Component = instance.type;
4832
5435
  if (!!(process.env.NODE_ENV !== "production")) {
4833
5436
  if (Component.name) validateComponentName(Component.name, instance.appContext.config);
@@ -4849,7 +5452,7 @@ function setupStatefulComponent(instance, isSSR) {
4849
5452
  pauseTracking();
4850
5453
  const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;
4851
5454
  const reset = setCurrentInstance(instance);
4852
- const setupResult = callWithErrorHandling(setup, instance, 0, [!!(process.env.NODE_ENV !== "production") ? shallowReadonly(instance.props) : instance.props, setupContext]);
5455
+ const setupResult = callWithErrorHandling(setup, instance, 0, [!!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(instance.props) : instance.props, setupContext]);
4853
5456
  const isAsyncSetup = isPromise(setupResult);
4854
5457
  resetTracking();
4855
5458
  reset();
@@ -4863,7 +5466,7 @@ function setupStatefulComponent(instance, isSSR) {
4863
5466
  });
4864
5467
  else {
4865
5468
  instance.asyncDep = setupResult;
4866
- if (!!(process.env.NODE_ENV !== "production") && !instance.suspense) warn$1(`Component <${(_a = Component.name) != null ? _a : "Anonymous"}>: 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.`);
5469
+ if (!!(process.env.NODE_ENV !== "production") && !instance.suspense) warn$1(`Component <${formatComponentName(instance, Component)}>: 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.`);
4867
5470
  }
4868
5471
  } else handleSetupResult(instance, setupResult, isSSR);
4869
5472
  } else finishComponentSetup(instance, isSSR);
@@ -4879,29 +5482,10 @@ function handleSetupResult(instance, setupResult, isSSR) {
4879
5482
  } else if (!!(process.env.NODE_ENV !== "production") && setupResult !== void 0) warn$1(`setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`);
4880
5483
  finishComponentSetup(instance, isSSR);
4881
5484
  }
4882
- let compile;
4883
- let installWithProxy;
4884
- const isRuntimeOnly = () => !compile;
5485
+ const isRuntimeOnly = () => true;
4885
5486
  function finishComponentSetup(instance, isSSR, skipOptions) {
4886
5487
  const Component = instance.type;
4887
- if (!instance.render) {
4888
- if (!isSSR && compile && !Component.render) {
4889
- const template = Component.template || __VUE_OPTIONS_API__ && resolveMergedOptions(instance).template;
4890
- if (template) {
4891
- if (!!(process.env.NODE_ENV !== "production")) startMeasure(instance, `compile`);
4892
- const { isCustomElement, compilerOptions } = instance.appContext.config;
4893
- const { delimiters, compilerOptions: componentCompilerOptions } = Component;
4894
- const finalCompilerOptions = extend(extend({
4895
- isCustomElement,
4896
- delimiters
4897
- }, compilerOptions), componentCompilerOptions);
4898
- Component.render = compile(template, finalCompilerOptions);
4899
- if (!!(process.env.NODE_ENV !== "production")) endMeasure(instance, `compile`);
4900
- }
4901
- }
4902
- instance.render = Component.render || NOOP;
4903
- if (installWithProxy) installWithProxy(instance);
4904
- }
5488
+ if (!instance.render) instance.render = Component.render || NOOP;
4905
5489
  if (__VUE_OPTIONS_API__ && true) {
4906
5490
  const reset = setCurrentInstance(instance);
4907
5491
  pauseTracking();
@@ -4912,7 +5496,7 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
4912
5496
  reset();
4913
5497
  }
4914
5498
  }
4915
- if (!!(process.env.NODE_ENV !== "production") && !Component.render && instance.render === NOOP && !isSSR) if (!compile && Component.template) warn$1("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\".");
5499
+ if (!!(process.env.NODE_ENV !== "production") && !Component.render && instance.render === NOOP && !isSSR) if (Component.template) warn$1("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\".");
4916
5500
  else warn$1(`Component is missing template or render function: `, Component);
4917
5501
  }
4918
5502
  const attrsProxyHandlers = !!(process.env.NODE_ENV !== "production") ? {
@@ -4947,7 +5531,7 @@ function createSetupContext(instance) {
4947
5531
  let exposedType = typeof exposed;
4948
5532
  if (exposedType === "object") {
4949
5533
  if (isArray(exposed)) exposedType = "array";
4950
- else if (isRef(exposed)) exposedType = "ref";
5534
+ else if (/* @__PURE__ */ isRef(exposed)) exposedType = "ref";
4951
5535
  }
4952
5536
  if (exposedType !== "object") warn$1(`expose() should be passed a plain object, received ${exposedType}.`);
4953
5537
  }
@@ -4999,11 +5583,11 @@ function formatComponentName(instance, Component, isRoot = false) {
4999
5583
  const match = Component.__file.match(/([^/\\]+)\.\w+$/);
5000
5584
  if (match) name = match[1];
5001
5585
  }
5002
- if (!name && instance && instance.parent) {
5586
+ if (!name && instance) {
5003
5587
  const inferFromRegistry = (registry) => {
5004
5588
  for (const key in registry) if (registry[key] === Component) return key;
5005
5589
  };
5006
- name = inferFromRegistry(instance.components || instance.parent.type.components) || inferFromRegistry(instance.appContext.components);
5590
+ name = inferFromRegistry(instance.components) || instance.parent && inferFromRegistry(instance.parent.type.components) || inferFromRegistry(instance.appContext.components);
5007
5591
  }
5008
5592
  return name ? classify(name) : isRoot ? `App` : `Anonymous`;
5009
5593
  }
@@ -5011,13 +5595,30 @@ function isClassComponent(value) {
5011
5595
  return isFunction(value) && "__vccOpts" in value;
5012
5596
  }
5013
5597
  const computed = (getterOrOptions, debugOptions) => {
5014
- const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
5598
+ const c = /* @__PURE__ */ computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
5015
5599
  if (!!(process.env.NODE_ENV !== "production")) {
5016
5600
  const i = getCurrentInstance();
5017
5601
  if (i && i.appContext.config.warnRecursiveComputed) c._warnRecursive = true;
5018
5602
  }
5019
5603
  return c;
5020
5604
  };
5605
+ function h(type, propsOrChildren, children) {
5606
+ try {
5607
+ setBlockTracking(-1);
5608
+ const l = arguments.length;
5609
+ if (l === 2) if (isObject$1(propsOrChildren) && !isArray(propsOrChildren)) {
5610
+ if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
5611
+ return createVNode(type, propsOrChildren);
5612
+ } else return createVNode(type, null, propsOrChildren);
5613
+ else {
5614
+ if (l > 3) children = Array.prototype.slice.call(arguments, 2);
5615
+ else if (l === 3 && isVNode(children)) children = [children];
5616
+ return createVNode(type, propsOrChildren, children);
5617
+ }
5618
+ } finally {
5619
+ setBlockTracking(1);
5620
+ }
5621
+ }
5021
5622
  function initCustomFormatter() {
5022
5623
  if (!!!(process.env.NODE_ENV !== "production") || typeof window === "undefined") return;
5023
5624
  const vueStyle = { style: "color:#3ba776" };
@@ -5033,7 +5634,7 @@ function initCustomFormatter() {
5033
5634
  vueStyle,
5034
5635
  `VueInstance`
5035
5636
  ];
5036
- else if (isRef(obj)) {
5637
+ else if (/* @__PURE__ */ isRef(obj)) {
5037
5638
  pauseTracking();
5038
5639
  const value = obj.value;
5039
5640
  resetTracking();
@@ -5049,25 +5650,25 @@ function initCustomFormatter() {
5049
5650
  formatValue(value),
5050
5651
  `>`
5051
5652
  ];
5052
- } else if (isReactive(obj)) return [
5653
+ } else if (/* @__PURE__ */ isReactive(obj)) return [
5053
5654
  "div",
5054
5655
  {},
5055
5656
  [
5056
5657
  "span",
5057
5658
  vueStyle,
5058
- isShallow(obj) ? "ShallowReactive" : "Reactive"
5659
+ /* @__PURE__ */ isShallow(obj) ? "ShallowReactive" : "Reactive"
5059
5660
  ],
5060
5661
  "<",
5061
5662
  formatValue(obj),
5062
- `>${isReadonly(obj) ? ` (readonly)` : ``}`
5663
+ `>${/* @__PURE__ */ isReadonly(obj) ? ` (readonly)` : ``}`
5063
5664
  ];
5064
- else if (isReadonly(obj)) return [
5665
+ else if (/* @__PURE__ */ isReadonly(obj)) return [
5065
5666
  "div",
5066
5667
  {},
5067
5668
  [
5068
5669
  "span",
5069
5670
  vueStyle,
5070
- isShallow(obj) ? "ShallowReadonly" : "Readonly"
5671
+ /* @__PURE__ */ isShallow(obj) ? "ShallowReadonly" : "Readonly"
5071
5672
  ],
5072
5673
  "<",
5073
5674
  formatValue(obj),
@@ -5088,11 +5689,11 @@ function initCustomFormatter() {
5088
5689
  };
5089
5690
  function formatInstance(instance) {
5090
5691
  const blocks = [];
5091
- if (instance.type.props && instance.props) blocks.push(createInstanceBlock("props", toRaw(instance.props)));
5692
+ if (instance.type.props && instance.props) blocks.push(createInstanceBlock("props", /* @__PURE__ */ toRaw(instance.props)));
5092
5693
  if (instance.setupState !== EMPTY_OBJ) blocks.push(createInstanceBlock("setup", instance.setupState));
5093
- if (instance.data !== EMPTY_OBJ) blocks.push(createInstanceBlock("data", toRaw(instance.data)));
5094
- const computed$2 = extractKeys(instance, "computed");
5095
- if (computed$2) blocks.push(createInstanceBlock("computed", computed$2));
5694
+ if (instance.data !== EMPTY_OBJ) blocks.push(createInstanceBlock("data", /* @__PURE__ */ toRaw(instance.data)));
5695
+ const computed = extractKeys(instance, "computed");
5696
+ if (computed) blocks.push(createInstanceBlock("computed", computed));
5096
5697
  const injected = extractKeys(instance, "inject");
5097
5698
  if (injected) blocks.push(createInstanceBlock("injected", injected));
5098
5699
  blocks.push([
@@ -5152,7 +5753,7 @@ function initCustomFormatter() {
5152
5753
  keywordStyle,
5153
5754
  v
5154
5755
  ];
5155
- else if (isObject$1(v)) return ["object", { object: asRaw ? toRaw(v) : v }];
5756
+ else if (isObject$1(v)) return ["object", { object: asRaw ? /* @__PURE__ */ toRaw(v) : v }];
5156
5757
  else return [
5157
5758
  "span",
5158
5759
  stringStyle,
@@ -5173,20 +5774,24 @@ function initCustomFormatter() {
5173
5774
  if (Comp.mixins && Comp.mixins.some((m) => isKeyOfType(m, key, type))) return true;
5174
5775
  }
5175
5776
  function genRefFlag(v) {
5176
- if (isShallow(v)) return `ShallowRef`;
5777
+ if (/* @__PURE__ */ isShallow(v)) return `ShallowRef`;
5177
5778
  if (v.effect) return `ComputedRef`;
5178
5779
  return `Ref`;
5179
5780
  }
5180
5781
  if (window.devtoolsFormatters) window.devtoolsFormatters.push(formatter);
5181
5782
  else window.devtoolsFormatters = [formatter];
5182
5783
  }
5183
- const version = "3.5.22";
5784
+ const version = "3.5.30";
5184
5785
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
5185
- const devtools = (process.env.NODE_ENV, devtools$1);
5186
- const setDevtoolsHook = (process.env.NODE_ENV, setDevtoolsHook$1);
5187
-
5786
+ process.env.NODE_ENV;
5787
+ process.env.NODE_ENV;
5188
5788
  //#endregion
5189
- //#region ../../node_modules/.pnpm/@vue+runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js
5789
+ //#region ../../node_modules/.pnpm/@vue+runtime-dom@3.5.30/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js
5790
+ /**
5791
+ * @vue/runtime-dom v3.5.30
5792
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
5793
+ * @license MIT
5794
+ **/
5190
5795
  let policy = void 0;
5191
5796
  const tt = typeof window !== "undefined" && window.trustedTypes;
5192
5797
  if (tt) try {
@@ -5245,7 +5850,220 @@ const nodeOps = {
5245
5850
  return [before ? before.nextSibling : parent.firstChild, anchor ? anchor.previousSibling : parent.lastChild];
5246
5851
  }
5247
5852
  };
5248
- const vtcKey = Symbol("_vtc");
5853
+ const TRANSITION = "transition";
5854
+ const ANIMATION = "animation";
5855
+ const vtcKey = /* @__PURE__ */ Symbol("_vtc");
5856
+ const DOMTransitionPropsValidators = {
5857
+ name: String,
5858
+ type: String,
5859
+ css: {
5860
+ type: Boolean,
5861
+ default: true
5862
+ },
5863
+ duration: [
5864
+ String,
5865
+ Number,
5866
+ Object
5867
+ ],
5868
+ enterFromClass: String,
5869
+ enterActiveClass: String,
5870
+ enterToClass: String,
5871
+ appearFromClass: String,
5872
+ appearActiveClass: String,
5873
+ appearToClass: String,
5874
+ leaveFromClass: String,
5875
+ leaveActiveClass: String,
5876
+ leaveToClass: String
5877
+ };
5878
+ const TransitionPropsValidators = /* @__PURE__ */ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
5879
+ const callHook = (hook, args = []) => {
5880
+ if (isArray(hook)) hook.forEach((h2) => h2(...args));
5881
+ else if (hook) hook(...args);
5882
+ };
5883
+ const hasExplicitCallback = (hook) => {
5884
+ return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
5885
+ };
5886
+ function resolveTransitionProps(rawProps) {
5887
+ const baseProps = {};
5888
+ for (const key in rawProps) if (!(key in DOMTransitionPropsValidators)) baseProps[key] = rawProps[key];
5889
+ if (rawProps.css === false) return baseProps;
5890
+ const { name = "v", type, duration, enterFromClass = `${name}-enter-from`, enterActiveClass = `${name}-enter-active`, enterToClass = `${name}-enter-to`, appearFromClass = enterFromClass, appearActiveClass = enterActiveClass, appearToClass = enterToClass, leaveFromClass = `${name}-leave-from`, leaveActiveClass = `${name}-leave-active`, leaveToClass = `${name}-leave-to` } = rawProps;
5891
+ const durations = normalizeDuration(duration);
5892
+ const enterDuration = durations && durations[0];
5893
+ const leaveDuration = durations && durations[1];
5894
+ const { onBeforeEnter, onEnter, onEnterCancelled, onLeave, onLeaveCancelled, onBeforeAppear = onBeforeEnter, onAppear = onEnter, onAppearCancelled = onEnterCancelled } = baseProps;
5895
+ const finishEnter = (el, isAppear, done, isCancelled) => {
5896
+ el._enterCancelled = isCancelled;
5897
+ removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
5898
+ removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
5899
+ done && done();
5900
+ };
5901
+ const finishLeave = (el, done) => {
5902
+ el._isLeaving = false;
5903
+ removeTransitionClass(el, leaveFromClass);
5904
+ removeTransitionClass(el, leaveToClass);
5905
+ removeTransitionClass(el, leaveActiveClass);
5906
+ done && done();
5907
+ };
5908
+ const makeEnterHook = (isAppear) => {
5909
+ return (el, done) => {
5910
+ const hook = isAppear ? onAppear : onEnter;
5911
+ const resolve = () => finishEnter(el, isAppear, done);
5912
+ callHook(hook, [el, resolve]);
5913
+ nextFrame(() => {
5914
+ removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
5915
+ addTransitionClass(el, isAppear ? appearToClass : enterToClass);
5916
+ if (!hasExplicitCallback(hook)) whenTransitionEnds(el, type, enterDuration, resolve);
5917
+ });
5918
+ };
5919
+ };
5920
+ return extend(baseProps, {
5921
+ onBeforeEnter(el) {
5922
+ callHook(onBeforeEnter, [el]);
5923
+ addTransitionClass(el, enterFromClass);
5924
+ addTransitionClass(el, enterActiveClass);
5925
+ },
5926
+ onBeforeAppear(el) {
5927
+ callHook(onBeforeAppear, [el]);
5928
+ addTransitionClass(el, appearFromClass);
5929
+ addTransitionClass(el, appearActiveClass);
5930
+ },
5931
+ onEnter: makeEnterHook(false),
5932
+ onAppear: makeEnterHook(true),
5933
+ onLeave(el, done) {
5934
+ el._isLeaving = true;
5935
+ const resolve = () => finishLeave(el, done);
5936
+ addTransitionClass(el, leaveFromClass);
5937
+ if (!el._enterCancelled) {
5938
+ forceReflow(el);
5939
+ addTransitionClass(el, leaveActiveClass);
5940
+ } else {
5941
+ addTransitionClass(el, leaveActiveClass);
5942
+ forceReflow(el);
5943
+ }
5944
+ nextFrame(() => {
5945
+ if (!el._isLeaving) return;
5946
+ removeTransitionClass(el, leaveFromClass);
5947
+ addTransitionClass(el, leaveToClass);
5948
+ if (!hasExplicitCallback(onLeave)) whenTransitionEnds(el, type, leaveDuration, resolve);
5949
+ });
5950
+ callHook(onLeave, [el, resolve]);
5951
+ },
5952
+ onEnterCancelled(el) {
5953
+ finishEnter(el, false, void 0, true);
5954
+ callHook(onEnterCancelled, [el]);
5955
+ },
5956
+ onAppearCancelled(el) {
5957
+ finishEnter(el, true, void 0, true);
5958
+ callHook(onAppearCancelled, [el]);
5959
+ },
5960
+ onLeaveCancelled(el) {
5961
+ finishLeave(el);
5962
+ callHook(onLeaveCancelled, [el]);
5963
+ }
5964
+ });
5965
+ }
5966
+ function normalizeDuration(duration) {
5967
+ if (duration == null) return null;
5968
+ else if (isObject$1(duration)) return [NumberOf(duration.enter), NumberOf(duration.leave)];
5969
+ else {
5970
+ const n = NumberOf(duration);
5971
+ return [n, n];
5972
+ }
5973
+ }
5974
+ function NumberOf(val) {
5975
+ const res = toNumber(val);
5976
+ if (!!(process.env.NODE_ENV !== "production")) assertNumber(res, "<transition> explicit duration");
5977
+ return res;
5978
+ }
5979
+ function addTransitionClass(el, cls) {
5980
+ cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
5981
+ (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);
5982
+ }
5983
+ function removeTransitionClass(el, cls) {
5984
+ cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
5985
+ const _vtc = el[vtcKey];
5986
+ if (_vtc) {
5987
+ _vtc.delete(cls);
5988
+ if (!_vtc.size) el[vtcKey] = void 0;
5989
+ }
5990
+ }
5991
+ function nextFrame(cb) {
5992
+ requestAnimationFrame(() => {
5993
+ requestAnimationFrame(cb);
5994
+ });
5995
+ }
5996
+ let endId = 0;
5997
+ function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
5998
+ const id = el._endId = ++endId;
5999
+ const resolveIfNotStale = () => {
6000
+ if (id === el._endId) resolve();
6001
+ };
6002
+ if (explicitTimeout != null) return setTimeout(resolveIfNotStale, explicitTimeout);
6003
+ const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
6004
+ if (!type) return resolve();
6005
+ const endEvent = type + "end";
6006
+ let ended = 0;
6007
+ const end = () => {
6008
+ el.removeEventListener(endEvent, onEnd);
6009
+ resolveIfNotStale();
6010
+ };
6011
+ const onEnd = (e) => {
6012
+ if (e.target === el && ++ended >= propCount) end();
6013
+ };
6014
+ setTimeout(() => {
6015
+ if (ended < propCount) end();
6016
+ }, timeout + 1);
6017
+ el.addEventListener(endEvent, onEnd);
6018
+ }
6019
+ function getTransitionInfo(el, expectedType) {
6020
+ const styles = window.getComputedStyle(el);
6021
+ const getStyleProperties = (key) => (styles[key] || "").split(", ");
6022
+ const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
6023
+ const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
6024
+ const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
6025
+ const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
6026
+ const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
6027
+ const animationTimeout = getTimeout(animationDelays, animationDurations);
6028
+ let type = null;
6029
+ let timeout = 0;
6030
+ let propCount = 0;
6031
+ if (expectedType === TRANSITION) {
6032
+ if (transitionTimeout > 0) {
6033
+ type = TRANSITION;
6034
+ timeout = transitionTimeout;
6035
+ propCount = transitionDurations.length;
6036
+ }
6037
+ } else if (expectedType === ANIMATION) {
6038
+ if (animationTimeout > 0) {
6039
+ type = ANIMATION;
6040
+ timeout = animationTimeout;
6041
+ propCount = animationDurations.length;
6042
+ }
6043
+ } else {
6044
+ timeout = Math.max(transitionTimeout, animationTimeout);
6045
+ type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
6046
+ propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
6047
+ }
6048
+ const hasTransform = type === TRANSITION && /\b(?:transform|all)(?:,|$)/.test(getStyleProperties(`${TRANSITION}Property`).toString());
6049
+ return {
6050
+ type,
6051
+ timeout,
6052
+ propCount,
6053
+ hasTransform
6054
+ };
6055
+ }
6056
+ function getTimeout(delays, durations) {
6057
+ while (delays.length < durations.length) delays = delays.concat(delays);
6058
+ return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
6059
+ }
6060
+ function toMs(s) {
6061
+ if (s === "auto") return 0;
6062
+ return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
6063
+ }
6064
+ function forceReflow(el) {
6065
+ return (el ? el.ownerDocument : document).body.offsetHeight;
6066
+ }
5249
6067
  function patchClass(el, value, isSVG) {
5250
6068
  const transitionClasses = el[vtcKey];
5251
6069
  if (transitionClasses) value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
@@ -5253,8 +6071,8 @@ function patchClass(el, value, isSVG) {
5253
6071
  else if (isSVG) el.setAttribute("class", value);
5254
6072
  else el.className = value;
5255
6073
  }
5256
- const vShowOriginalDisplay = Symbol("_vod");
5257
- const vShowHidden = Symbol("_vsh");
6074
+ const vShowOriginalDisplay = /* @__PURE__ */ Symbol("_vod");
6075
+ const vShowHidden = /* @__PURE__ */ Symbol("_vsh");
5258
6076
  const vShow = {
5259
6077
  name: "show",
5260
6078
  beforeMount(el, { value }, { transition }) {
@@ -5284,7 +6102,7 @@ function setDisplay(el, value) {
5284
6102
  el.style.display = value ? el[vShowOriginalDisplay] : "none";
5285
6103
  el[vShowHidden] = !value;
5286
6104
  }
5287
- const CSS_VAR_TEXT = Symbol(!!(process.env.NODE_ENV !== "production") ? "CSS_VAR_TEXT" : "");
6105
+ const CSS_VAR_TEXT = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? "CSS_VAR_TEXT" : "");
5288
6106
  const displayRE = /(?:^|;)\s*display\s*:/;
5289
6107
  function patchStyle(el, prev, next) {
5290
6108
  const style = el.style;
@@ -5350,11 +6168,11 @@ function autoPrefix(style, rawName) {
5350
6168
  return rawName;
5351
6169
  }
5352
6170
  const xlinkNS = "http://www.w3.org/1999/xlink";
5353
- function patchAttr(el, key, value, isSVG, instance, isBoolean$1 = isSpecialBooleanAttr(key)) {
6171
+ function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
5354
6172
  if (isSVG && key.startsWith("xlink:")) if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
5355
6173
  else el.setAttributeNS(xlinkNS, key, value);
5356
- else if (value == null || isBoolean$1 && !includeBooleanAttr(value)) el.removeAttribute(key);
5357
- else el.setAttribute(key, isBoolean$1 ? "" : isSymbol(value) ? String(value) : value);
6174
+ else if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);
6175
+ else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
5358
6176
  }
5359
6177
  function patchDOMProp(el, key, value, parentComponent, attrName) {
5360
6178
  if (key === "innerHTML" || key === "textContent") {
@@ -5395,7 +6213,7 @@ function addEventListener(el, event, handler, options) {
5395
6213
  function removeEventListener(el, event, handler, options) {
5396
6214
  el.removeEventListener(event, handler, options);
5397
6215
  }
5398
- const veiKey = Symbol("_vei");
6216
+ const veiKey = /* @__PURE__ */ Symbol("_vei");
5399
6217
  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
5400
6218
  const invokers = el[veiKey] || (el[veiKey] = {});
5401
6219
  const existingInvoker = invokers[rawName];
@@ -5461,7 +6279,7 @@ const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) =>
5461
6279
  } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {
5462
6280
  patchDOMProp(el, key, nextValue);
5463
6281
  if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
5464
- } else if (el._isVueCE && (/[A-Z]/.test(key) || !isString(nextValue))) patchDOMProp(el, camelize$1(key), nextValue, parentComponent, key);
6282
+ } else if (el._isVueCE && (shouldSetAsPropForVueCE(el, key) || el._def.__asyncLoader && (/[A-Z]/.test(key) || !isString(nextValue)))) patchDOMProp(el, camelize$1(key), nextValue, parentComponent, key);
5465
6283
  else {
5466
6284
  if (key === "true-value") el._trueValue = nextValue;
5467
6285
  else if (key === "false-value") el._falseValue = nextValue;
@@ -5475,6 +6293,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
5475
6293
  return false;
5476
6294
  }
5477
6295
  if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") return false;
6296
+ if (key === "sandbox" && el.tagName === "IFRAME") return false;
5478
6297
  if (key === "form") return false;
5479
6298
  if (key === "list" && el.tagName === "INPUT") return false;
5480
6299
  if (key === "type" && el.tagName === "TEXTAREA") return false;
@@ -5485,10 +6304,16 @@ function shouldSetAsProp(el, key, value, isSVG) {
5485
6304
  if (isNativeOn(key) && isString(value)) return false;
5486
6305
  return key in el;
5487
6306
  }
6307
+ function shouldSetAsPropForVueCE(el, key) {
6308
+ const props = el._def.props;
6309
+ if (!props) return false;
6310
+ const camelKey = camelize$1(key);
6311
+ return Array.isArray(props) ? props.some((prop) => camelize$1(prop) === camelKey) : Object.keys(props).some((prop) => camelize$1(prop) === camelKey);
6312
+ }
5488
6313
  const REMOVAL = {};
5489
6314
  /* @__NO_SIDE_EFFECTS__ */
5490
6315
  function defineCustomElement(options, extraOptions, _createApp) {
5491
- let Comp = defineComponent(options, extraOptions);
6316
+ let Comp = /* @__PURE__ */ defineComponent(options, extraOptions);
5492
6317
  if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
5493
6318
  class VueCustomElement extends VueElement {
5494
6319
  constructor(initialProps) {
@@ -5520,8 +6345,11 @@ var VueElement = class VueElement extends BaseClass {
5520
6345
  this._nonce = this._def.nonce;
5521
6346
  this._connected = false;
5522
6347
  this._resolved = false;
6348
+ this._patching = false;
6349
+ this._dirty = false;
5523
6350
  this._numberProps = null;
5524
6351
  this._styleChildren = /* @__PURE__ */ new WeakSet();
6352
+ this._styleAnchors = /* @__PURE__ */ new WeakMap();
5525
6353
  this._ob = null;
5526
6354
  if (this.shadowRoot && _createApp !== createApp) this._root = this.shadowRoot;
5527
6355
  else {
@@ -5537,7 +6365,7 @@ var VueElement = class VueElement extends BaseClass {
5537
6365
  if (!this.shadowRoot && !this._resolved) this._parseSlots();
5538
6366
  this._connected = true;
5539
6367
  let parent = this;
5540
- while (parent = parent && (parent.parentNode || parent.host)) if (parent instanceof VueElement) {
6368
+ while (parent = parent && (parent.assignedSlot || parent.parentNode || parent.host)) if (parent instanceof VueElement) {
5541
6369
  this._parent = parent;
5542
6370
  break;
5543
6371
  }
@@ -5586,10 +6414,10 @@ var VueElement = class VueElement extends BaseClass {
5586
6414
  for (let i = 0; i < this.attributes.length; i++) this._setAttr(this.attributes[i].name);
5587
6415
  this._ob = new MutationObserver(this._processMutations.bind(this));
5588
6416
  this._ob.observe(this, { attributes: true });
5589
- const resolve = (def$1, isAsync = false) => {
6417
+ const resolve = (def, isAsync = false) => {
5590
6418
  this._resolved = true;
5591
6419
  this._pendingResolve = void 0;
5592
- const { props, styles } = def$1;
6420
+ const { props, styles } = def;
5593
6421
  let numberProps;
5594
6422
  if (props && !isArray(props)) for (const key in props) {
5595
6423
  const opt = props[key];
@@ -5599,32 +6427,32 @@ var VueElement = class VueElement extends BaseClass {
5599
6427
  }
5600
6428
  }
5601
6429
  this._numberProps = numberProps;
5602
- this._resolveProps(def$1);
6430
+ this._resolveProps(def);
5603
6431
  if (this.shadowRoot) this._applyStyles(styles);
5604
6432
  else if (!!(process.env.NODE_ENV !== "production") && styles) warn("Custom element style injection is not supported when using shadowRoot: false");
5605
- this._mount(def$1);
6433
+ this._mount(def);
5606
6434
  };
5607
6435
  const asyncDef = this._def.__asyncLoader;
5608
- if (asyncDef) this._pendingResolve = asyncDef().then((def$1) => {
5609
- def$1.configureApp = this._def.configureApp;
5610
- resolve(this._def = def$1, true);
6436
+ if (asyncDef) this._pendingResolve = asyncDef().then((def) => {
6437
+ def.configureApp = this._def.configureApp;
6438
+ resolve(this._def = def, true);
5611
6439
  });
5612
6440
  else resolve(this._def);
5613
6441
  }
5614
- _mount(def$1) {
5615
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) && !def$1.name) def$1.name = "VueElement";
5616
- this._app = this._createApp(def$1);
6442
+ _mount(def) {
6443
+ if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) && !def.name) def.name = "VueElement";
6444
+ this._app = this._createApp(def);
5617
6445
  this._inheritParentContext();
5618
- if (def$1.configureApp) def$1.configureApp(this._app);
6446
+ if (def.configureApp) def.configureApp(this._app);
5619
6447
  this._app._ceVNode = this._createVNode();
5620
6448
  this._app.mount(this._root);
5621
6449
  const exposed = this._instance && this._instance.exposed;
5622
6450
  if (!exposed) return;
5623
- for (const key in exposed) if (!hasOwn$1(this, key)) Object.defineProperty(this, key, { get: () => unref(exposed[key]) });
6451
+ for (const key in exposed) if (!hasOwn(this, key)) Object.defineProperty(this, key, { get: () => unref(exposed[key]) });
5624
6452
  else if (!!(process.env.NODE_ENV !== "production")) warn(`Exposed property "${key}" already exists on custom element.`);
5625
6453
  }
5626
- _resolveProps(def$1) {
5627
- const { props } = def$1;
6454
+ _resolveProps(def) {
6455
+ const { props } = def;
5628
6456
  const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});
5629
6457
  for (const key of Object.keys(this)) if (key[0] !== "_" && declaredPropKeys.includes(key)) this._setProp(key, this[key]);
5630
6458
  for (const key of declaredPropKeys.map(camelize$1)) Object.defineProperty(this, key, {
@@ -5632,7 +6460,7 @@ var VueElement = class VueElement extends BaseClass {
5632
6460
  return this._getProp(key);
5633
6461
  },
5634
6462
  set(val) {
5635
- this._setProp(key, val, true, true);
6463
+ this._setProp(key, val, true, !this._patching);
5636
6464
  }
5637
6465
  });
5638
6466
  }
@@ -5655,6 +6483,7 @@ var VueElement = class VueElement extends BaseClass {
5655
6483
  */
5656
6484
  _setProp(key, val, shouldReflect = true, shouldUpdate = false) {
5657
6485
  if (val !== this._props[key]) {
6486
+ this._dirty = true;
5658
6487
  if (val === REMOVAL) delete this._props[key];
5659
6488
  else {
5660
6489
  this._props[key] = val;
@@ -5692,6 +6521,7 @@ var VueElement = class VueElement extends BaseClass {
5692
6521
  this._styles.forEach((s) => this._root.removeChild(s));
5693
6522
  this._styles.length = 0;
5694
6523
  }
6524
+ this._styleAnchors.delete(this._def);
5695
6525
  this._applyStyles(newStyles);
5696
6526
  this._instance = null;
5697
6527
  this._update();
@@ -5707,18 +6537,26 @@ var VueElement = class VueElement extends BaseClass {
5707
6537
  };
5708
6538
  return vnode;
5709
6539
  }
5710
- _applyStyles(styles, owner) {
6540
+ _applyStyles(styles, owner, parentComp) {
5711
6541
  if (!styles) return;
5712
6542
  if (owner) {
5713
6543
  if (owner === this._def || this._styleChildren.has(owner)) return;
5714
6544
  this._styleChildren.add(owner);
5715
6545
  }
5716
6546
  const nonce = this._nonce;
6547
+ const root = this.shadowRoot;
6548
+ const insertionAnchor = parentComp ? this._getStyleAnchor(parentComp) || this._getStyleAnchor(this._def) : this._getRootStyleInsertionAnchor(root);
6549
+ let last = null;
5717
6550
  for (let i = styles.length - 1; i >= 0; i--) {
5718
6551
  const s = document.createElement("style");
5719
6552
  if (nonce) s.setAttribute("nonce", nonce);
5720
6553
  s.textContent = styles[i];
5721
- this.shadowRoot.prepend(s);
6554
+ root.insertBefore(s, last || insertionAnchor);
6555
+ last = s;
6556
+ if (i === 0) {
6557
+ if (!parentComp) this._styleAnchors.set(this._def, s);
6558
+ if (owner) this._styleAnchors.set(owner, s);
6559
+ }
5722
6560
  if (!!(process.env.NODE_ENV !== "production")) if (owner) {
5723
6561
  if (owner.__hmrId) {
5724
6562
  if (!this._childStyles) this._childStyles = /* @__PURE__ */ new Map();
@@ -5729,6 +6567,20 @@ var VueElement = class VueElement extends BaseClass {
5729
6567
  } else (this._styles || (this._styles = [])).push(s);
5730
6568
  }
5731
6569
  }
6570
+ _getStyleAnchor(comp) {
6571
+ if (!comp) return null;
6572
+ const anchor = this._styleAnchors.get(comp);
6573
+ if (anchor && anchor.parentNode === this.shadowRoot) return anchor;
6574
+ if (anchor) this._styleAnchors.delete(comp);
6575
+ return null;
6576
+ }
6577
+ _getRootStyleInsertionAnchor(root) {
6578
+ for (let i = 0; i < root.childNodes.length; i++) {
6579
+ const node = root.childNodes[i];
6580
+ if (!(node instanceof HTMLStyleElement)) return node;
6581
+ }
6582
+ return null;
6583
+ }
5732
6584
  /**
5733
6585
  * Only called when shadowRoot is false
5734
6586
  */
@@ -5772,16 +6624,38 @@ var VueElement = class VueElement extends BaseClass {
5772
6624
  _getSlots() {
5773
6625
  const roots = [this];
5774
6626
  if (this._teleportTargets) roots.push(...this._teleportTargets);
5775
- return roots.reduce((res, i) => {
5776
- res.push(...Array.from(i.querySelectorAll("slot")));
5777
- return res;
5778
- }, []);
6627
+ const slots = /* @__PURE__ */ new Set();
6628
+ for (const root of roots) {
6629
+ const found = root.querySelectorAll("slot");
6630
+ for (let i = 0; i < found.length; i++) slots.add(found[i]);
6631
+ }
6632
+ return Array.from(slots);
6633
+ }
6634
+ /**
6635
+ * @internal
6636
+ */
6637
+ _injectChildStyle(comp, parentComp) {
6638
+ this._applyStyles(comp.styles, comp, parentComp);
6639
+ }
6640
+ /**
6641
+ * @internal
6642
+ */
6643
+ _beginPatch() {
6644
+ this._patching = true;
6645
+ this._dirty = false;
6646
+ }
6647
+ /**
6648
+ * @internal
6649
+ */
6650
+ _endPatch() {
6651
+ this._patching = false;
6652
+ if (this._dirty && this._instance) this._update();
5779
6653
  }
5780
6654
  /**
5781
6655
  * @internal
5782
6656
  */
5783
- _injectChildStyle(comp) {
5784
- this._applyStyles(comp.styles, comp);
6657
+ _hasShadowRoot() {
6658
+ return this._def.shadowRoot !== false;
5785
6659
  }
5786
6660
  /**
5787
6661
  * @internal
@@ -5789,6 +6663,7 @@ var VueElement = class VueElement extends BaseClass {
5789
6663
  _removeChildStyle(comp) {
5790
6664
  if (!!(process.env.NODE_ENV !== "production")) {
5791
6665
  this._styleChildren.delete(comp);
6666
+ this._styleAnchors.delete(comp);
5792
6667
  if (this._childStyles && comp.__hmrId) {
5793
6668
  const oldStyles = this._childStyles.get(comp.__hmrId);
5794
6669
  if (oldStyles) {
@@ -5799,9 +6674,180 @@ var VueElement = class VueElement extends BaseClass {
5799
6674
  }
5800
6675
  }
5801
6676
  };
5802
- const moveCbKey = Symbol("_moveCb");
5803
- const enterCbKey = Symbol("_enterCb");
5804
- const assignKey = Symbol("_assign");
6677
+ const positionMap = /* @__PURE__ */ new WeakMap();
6678
+ const newPositionMap = /* @__PURE__ */ new WeakMap();
6679
+ const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
6680
+ const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
6681
+ const decorate = (t) => {
6682
+ delete t.props.mode;
6683
+ return t;
6684
+ };
6685
+ const TransitionGroup = /* @__PURE__ */ decorate({
6686
+ name: "TransitionGroup",
6687
+ props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
6688
+ tag: String,
6689
+ moveClass: String
6690
+ }),
6691
+ setup(props, { slots }) {
6692
+ const instance = getCurrentInstance();
6693
+ const state = useTransitionState();
6694
+ let prevChildren;
6695
+ let children;
6696
+ onUpdated(() => {
6697
+ if (!prevChildren.length) return;
6698
+ const moveClass = props.moveClass || `${props.name || "v"}-move`;
6699
+ if (!hasCSSTransform(prevChildren[0].el, instance.vnode.el, moveClass)) {
6700
+ prevChildren = [];
6701
+ return;
6702
+ }
6703
+ prevChildren.forEach(callPendingCbs);
6704
+ prevChildren.forEach(recordPosition);
6705
+ const movedChildren = prevChildren.filter(applyTranslation);
6706
+ forceReflow(instance.vnode.el);
6707
+ movedChildren.forEach((c) => {
6708
+ const el = c.el;
6709
+ const style = el.style;
6710
+ addTransitionClass(el, moveClass);
6711
+ style.transform = style.webkitTransform = style.transitionDuration = "";
6712
+ const cb = el[moveCbKey] = (e) => {
6713
+ if (e && e.target !== el) return;
6714
+ if (!e || e.propertyName.endsWith("transform")) {
6715
+ el.removeEventListener("transitionend", cb);
6716
+ el[moveCbKey] = null;
6717
+ removeTransitionClass(el, moveClass);
6718
+ }
6719
+ };
6720
+ el.addEventListener("transitionend", cb);
6721
+ });
6722
+ prevChildren = [];
6723
+ });
6724
+ return () => {
6725
+ const rawProps = /* @__PURE__ */ toRaw(props);
6726
+ const cssTransitionProps = resolveTransitionProps(rawProps);
6727
+ let tag = rawProps.tag || Fragment;
6728
+ prevChildren = [];
6729
+ if (children) for (let i = 0; i < children.length; i++) {
6730
+ const child = children[i];
6731
+ if (child.el && child.el instanceof Element) {
6732
+ prevChildren.push(child);
6733
+ setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
6734
+ positionMap.set(child, getPosition(child.el));
6735
+ }
6736
+ }
6737
+ children = slots.default ? getTransitionRawChildren(slots.default()) : [];
6738
+ for (let i = 0; i < children.length; i++) {
6739
+ const child = children[i];
6740
+ if (child.key != null) setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
6741
+ else if (!!(process.env.NODE_ENV !== "production") && child.type !== Text) warn(`<TransitionGroup> children must be keyed.`);
6742
+ }
6743
+ return createVNode(tag, null, children);
6744
+ };
6745
+ }
6746
+ });
6747
+ function callPendingCbs(c) {
6748
+ const el = c.el;
6749
+ if (el[moveCbKey]) el[moveCbKey]();
6750
+ if (el[enterCbKey]) el[enterCbKey]();
6751
+ }
6752
+ function recordPosition(c) {
6753
+ newPositionMap.set(c, getPosition(c.el));
6754
+ }
6755
+ function applyTranslation(c) {
6756
+ const oldPos = positionMap.get(c);
6757
+ const newPos = newPositionMap.get(c);
6758
+ const dx = oldPos.left - newPos.left;
6759
+ const dy = oldPos.top - newPos.top;
6760
+ if (dx || dy) {
6761
+ const el = c.el;
6762
+ const s = el.style;
6763
+ const rect = el.getBoundingClientRect();
6764
+ let scaleX = 1;
6765
+ let scaleY = 1;
6766
+ if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
6767
+ if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
6768
+ if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
6769
+ if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
6770
+ if (Math.abs(scaleX - 1) < .01) scaleX = 1;
6771
+ if (Math.abs(scaleY - 1) < .01) scaleY = 1;
6772
+ s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
6773
+ s.transitionDuration = "0s";
6774
+ return c;
6775
+ }
6776
+ }
6777
+ function getPosition(el) {
6778
+ const rect = el.getBoundingClientRect();
6779
+ return {
6780
+ left: rect.left,
6781
+ top: rect.top
6782
+ };
6783
+ }
6784
+ function hasCSSTransform(el, root, moveClass) {
6785
+ const clone = el.cloneNode();
6786
+ const _vtc = el[vtcKey];
6787
+ if (_vtc) _vtc.forEach((cls) => {
6788
+ cls.split(/\s+/).forEach((c) => c && clone.classList.remove(c));
6789
+ });
6790
+ moveClass.split(/\s+/).forEach((c) => c && clone.classList.add(c));
6791
+ clone.style.display = "none";
6792
+ const container = root.nodeType === 1 ? root : root.parentNode;
6793
+ container.appendChild(clone);
6794
+ const { hasTransform } = getTransitionInfo(clone);
6795
+ container.removeChild(clone);
6796
+ return hasTransform;
6797
+ }
6798
+ const getModelAssigner = (vnode) => {
6799
+ const fn = vnode.props["onUpdate:modelValue"] || false;
6800
+ return isArray(fn) ? (value) => invokeArrayFns(fn, value) : fn;
6801
+ };
6802
+ function onCompositionStart(e) {
6803
+ e.target.composing = true;
6804
+ }
6805
+ function onCompositionEnd(e) {
6806
+ const target = e.target;
6807
+ if (target.composing) {
6808
+ target.composing = false;
6809
+ target.dispatchEvent(new Event("input"));
6810
+ }
6811
+ }
6812
+ const assignKey = /* @__PURE__ */ Symbol("_assign");
6813
+ function castValue(value, trim, number) {
6814
+ if (trim) value = value.trim();
6815
+ if (number) value = looseToNumber(value);
6816
+ return value;
6817
+ }
6818
+ const vModelText = {
6819
+ created(el, { modifiers: { lazy, trim, number } }, vnode) {
6820
+ el[assignKey] = getModelAssigner(vnode);
6821
+ const castToNumber = number || vnode.props && vnode.props.type === "number";
6822
+ addEventListener(el, lazy ? "change" : "input", (e) => {
6823
+ if (e.target.composing) return;
6824
+ el[assignKey](castValue(el.value, trim, castToNumber));
6825
+ });
6826
+ if (trim || castToNumber) addEventListener(el, "change", () => {
6827
+ el.value = castValue(el.value, trim, castToNumber);
6828
+ });
6829
+ if (!lazy) {
6830
+ addEventListener(el, "compositionstart", onCompositionStart);
6831
+ addEventListener(el, "compositionend", onCompositionEnd);
6832
+ addEventListener(el, "change", onCompositionEnd);
6833
+ }
6834
+ },
6835
+ mounted(el, { value }) {
6836
+ el.value = value == null ? "" : value;
6837
+ },
6838
+ beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {
6839
+ el[assignKey] = getModelAssigner(vnode);
6840
+ if (el.composing) return;
6841
+ const elValue = (number || el.type === "number") && !/^0\d/.test(el.value) ? looseToNumber(el.value) : el.value;
6842
+ const newValue = value == null ? "" : value;
6843
+ if (elValue === newValue) return;
6844
+ if (document.activeElement === el && el.type !== "range") {
6845
+ if (lazy && value === oldValue) return;
6846
+ if (trim && el.value.trim() === newValue) return;
6847
+ }
6848
+ el.value = newValue;
6849
+ }
6850
+ };
5805
6851
  const systemModifiers = [
5806
6852
  "ctrl",
5807
6853
  "shift",
@@ -5822,6 +6868,7 @@ const modifierGuards = {
5822
6868
  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
5823
6869
  };
5824
6870
  const withModifiers = (fn, modifiers) => {
6871
+ if (!fn) return fn;
5825
6872
  const cache = fn._withMods || (fn._withMods = {});
5826
6873
  const cacheKey = modifiers.join(".");
5827
6874
  return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
@@ -5832,6 +6879,24 @@ const withModifiers = (fn, modifiers) => {
5832
6879
  return fn(event, ...args);
5833
6880
  }));
5834
6881
  };
6882
+ const keyNames = {
6883
+ esc: "escape",
6884
+ space: " ",
6885
+ up: "arrow-up",
6886
+ left: "arrow-left",
6887
+ right: "arrow-right",
6888
+ down: "arrow-down",
6889
+ delete: "backspace"
6890
+ };
6891
+ const withKeys = (fn, modifiers) => {
6892
+ const cache = fn._withKeys || (fn._withKeys = {});
6893
+ const cacheKey = modifiers.join(".");
6894
+ return cache[cacheKey] || (cache[cacheKey] = ((event) => {
6895
+ if (!("key" in event)) return;
6896
+ const eventKey = hyphenate$1(event.key);
6897
+ if (modifiers.some((k) => k === eventKey || keyNames[k] === eventKey)) return fn(event);
6898
+ }));
6899
+ };
5835
6900
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
5836
6901
  let renderer;
5837
6902
  function ensureRenderer() {
@@ -5908,16 +6973,19 @@ function normalizeContainer(container) {
5908
6973
  if (!!(process.env.NODE_ENV !== "production") && window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === "closed") warn(`mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`);
5909
6974
  return container;
5910
6975
  }
5911
-
5912
6976
  //#endregion
5913
- //#region ../../node_modules/.pnpm/vue@3.5.22_typescript@5.9.3/node_modules/vue/dist/vue.runtime.esm-bundler.js
6977
+ //#region ../../node_modules/.pnpm/vue@3.5.30_typescript@5.9.3/node_modules/vue/dist/vue.runtime.esm-bundler.js
6978
+ /**
6979
+ * vue v3.5.30
6980
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
6981
+ * @license MIT
6982
+ **/
5914
6983
  function initDev() {
5915
6984
  initCustomFormatter();
5916
6985
  }
5917
6986
  if (!!(process.env.NODE_ENV !== "production")) initDev();
5918
-
5919
6987
  //#endregion
5920
- //#region ../../node_modules/.pnpm/@vueuse+shared@14.0.0_vue@3.5.22_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.js
6988
+ //#region ../../node_modules/.pnpm/@vueuse+shared@14.2.1_vue@3.5.30_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.js
5921
6989
  /**
5922
6990
  * Call onScopeDispose() if it's inside an effect scope lifecycle, if not, do nothing
5923
6991
  *
@@ -5952,18 +7020,23 @@ const injectLocal = (...args) => {
5952
7020
  return inject(...args);
5953
7021
  };
5954
7022
  const isClient = typeof window !== "undefined" && typeof document !== "undefined";
5955
- const isWorker = typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
7023
+ typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
5956
7024
  const notNullish = (val) => val != null;
5957
7025
  const toString = Object.prototype.toString;
5958
7026
  const isObject = (val) => toString.call(val) === "[object Object]";
5959
7027
  const noop = () => {};
7028
+ const isIOS = /* @__PURE__ */ getIsIOS();
7029
+ function getIsIOS() {
7030
+ var _window, _window2, _window3;
7031
+ return isClient && !!((_window = window) === null || _window === void 0 || (_window = _window.navigator) === null || _window === void 0 ? void 0 : _window.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.navigator) === null || _window2 === void 0 ? void 0 : _window2.maxTouchPoints) > 2 && /iPad|Macintosh/.test((_window3 = window) === null || _window3 === void 0 ? void 0 : _window3.navigator.userAgent));
7032
+ }
5960
7033
  function toRef(...args) {
5961
- if (args.length !== 1) return toRef$1(...args);
7034
+ if (args.length !== 1) return /* @__PURE__ */ toRef$1(...args);
5962
7035
  const r = args[0];
5963
- return typeof r === "function" ? readonly(customRef(() => ({
7036
+ return typeof r === "function" ? /* @__PURE__ */ readonly(customRef(() => ({
5964
7037
  get: r,
5965
7038
  set: noop
5966
- }))) : ref(r);
7039
+ }))) : /* @__PURE__ */ ref(r);
5967
7040
  }
5968
7041
  /**
5969
7042
  * @internal
@@ -6043,7 +7116,7 @@ function pausableFilter(extendFilter = bypassFilter, options = {}) {
6043
7116
  if (isActive.value) extendFilter(...args);
6044
7117
  };
6045
7118
  return {
6046
- isActive: readonly(isActive),
7119
+ isActive: /* @__PURE__ */ readonly(isActive),
6047
7120
  pause,
6048
7121
  resume,
6049
7122
  eventFilter
@@ -6065,9 +7138,9 @@ function cacheStringFunction(fn) {
6065
7138
  });
6066
7139
  }
6067
7140
  const hyphenateRE = /\B([A-Z])/g;
6068
- const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
7141
+ cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
6069
7142
  const camelizeRE = /-(\w)/g;
6070
- const camelize = cacheStringFunction((str) => {
7143
+ cacheStringFunction((str) => {
6071
7144
  return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
6072
7145
  });
6073
7146
  function getLifeCycleTarget(target) {
@@ -6089,11 +7162,12 @@ function useDebounceFn(fn, ms = 200, options = {}) {
6089
7162
  return createFilterWrapper(debounceFilter(ms, options), fn);
6090
7163
  }
6091
7164
  function watchWithFilter(source, cb, options = {}) {
6092
- const { eventFilter = bypassFilter,...watchOptions } = options;
7165
+ const { eventFilter = bypassFilter, ...watchOptions } = options;
6093
7166
  return watch(source, createFilterWrapper(eventFilter, cb), watchOptions);
6094
7167
  }
7168
+ /** @deprecated Use Vue's built-in `watch` instead. This function will be removed in future version. */
6095
7169
  function watchPausable(source, cb, options = {}) {
6096
- const { eventFilter: filter, initialState = "active",...watchOptions } = options;
7170
+ const { eventFilter: filter, initialState = "active", ...watchOptions } = options;
6097
7171
  const { eventFilter, pause, resume, isActive } = pausableFilter(filter, { initialState });
6098
7172
  return {
6099
7173
  stop: watchWithFilter(source, cb, {
@@ -6105,41 +7179,6 @@ function watchPausable(source, cb, options = {}) {
6105
7179
  isActive
6106
7180
  };
6107
7181
  }
6108
- /** @deprecated use `watchPausable` instead */
6109
- const pausableWatch = watchPausable;
6110
- /**
6111
- * Extended `toRefs` that also accepts refs of an object.
6112
- *
6113
- * @see https://vueuse.org/toRefs
6114
- * @param objectRef A ref or normal object or array.
6115
- * @param options Options
6116
- */
6117
- function toRefs(objectRef, options = {}) {
6118
- if (!isRef(objectRef)) return toRefs$1(objectRef);
6119
- const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};
6120
- for (const key in objectRef.value) result[key] = customRef(() => ({
6121
- get() {
6122
- return objectRef.value[key];
6123
- },
6124
- set(v) {
6125
- var _toValue;
6126
- if ((_toValue = toValue(options.replaceRef)) !== null && _toValue !== void 0 ? _toValue : true) if (Array.isArray(objectRef.value)) {
6127
- const copy = [...objectRef.value];
6128
- copy[key] = v;
6129
- objectRef.value = copy;
6130
- } else {
6131
- const newObject = {
6132
- ...objectRef.value,
6133
- [key]: v
6134
- };
6135
- Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));
6136
- objectRef.value = newObject;
6137
- }
6138
- else objectRef.value[key] = v;
6139
- }
6140
- }));
6141
- return result;
6142
- }
6143
7182
  /**
6144
7183
  * Call onMounted() if it's inside a component lifecycle, if not, just call the function
6145
7184
  *
@@ -6153,6 +7192,54 @@ function tryOnMounted(fn, sync = true, target) {
6153
7192
  else nextTick(fn);
6154
7193
  }
6155
7194
  /**
7195
+ * Wrapper for `setInterval` with controls
7196
+ *
7197
+ * @see https://vueuse.org/useIntervalFn
7198
+ * @param cb
7199
+ * @param interval
7200
+ * @param options
7201
+ */
7202
+ function useIntervalFn(cb, interval = 1e3, options = {}) {
7203
+ const { immediate = true, immediateCallback = false } = options;
7204
+ let timer = null;
7205
+ const isActive = /* @__PURE__ */ shallowRef(false);
7206
+ function clean() {
7207
+ if (timer) {
7208
+ clearInterval(timer);
7209
+ timer = null;
7210
+ }
7211
+ }
7212
+ function pause() {
7213
+ isActive.value = false;
7214
+ clean();
7215
+ }
7216
+ function resume() {
7217
+ const intervalValue = toValue(interval);
7218
+ if (intervalValue <= 0) return;
7219
+ isActive.value = true;
7220
+ if (immediateCallback) cb();
7221
+ clean();
7222
+ if (isActive.value) timer = setInterval(cb, intervalValue);
7223
+ }
7224
+ if (immediate && isClient) resume();
7225
+ if (/* @__PURE__ */ isRef(interval) || typeof interval === "function") tryOnScopeDispose(watch(interval, () => {
7226
+ if (isActive.value && isClient) resume();
7227
+ }));
7228
+ tryOnScopeDispose(pause);
7229
+ return {
7230
+ isActive: /* @__PURE__ */ shallowReadonly(isActive),
7231
+ pause,
7232
+ resume
7233
+ };
7234
+ }
7235
+ function watchDebounced(source, cb, options = {}) {
7236
+ const { debounce = 0, maxWait = void 0, ...watchOptions } = options;
7237
+ return watchWithFilter(source, cb, {
7238
+ ...watchOptions,
7239
+ eventFilter: debounceFilter(debounce, { maxWait })
7240
+ });
7241
+ }
7242
+ /**
6156
7243
  * Shorthand for watching value with {immediate: true}
6157
7244
  *
6158
7245
  * @see https://vueuse.org/watchImmediate
@@ -6163,13 +7250,12 @@ function watchImmediate(source, cb, options) {
6163
7250
  immediate: true
6164
7251
  });
6165
7252
  }
6166
-
6167
7253
  //#endregion
6168
- //#region ../../node_modules/.pnpm/@vueuse+core@14.0.0_vue@3.5.22_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.js
7254
+ //#region ../../node_modules/.pnpm/@vueuse+core@14.2.1_vue@3.5.30_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.js
6169
7255
  const defaultWindow = isClient ? window : void 0;
6170
- const defaultDocument = isClient ? window.document : void 0;
6171
- const defaultNavigator = isClient ? window.navigator : void 0;
6172
- const defaultLocation = isClient ? window.location : void 0;
7256
+ isClient && window.document;
7257
+ isClient && window.navigator;
7258
+ isClient && window.location;
6173
7259
  /**
6174
7260
  * Get the dom element of a ref of element or Vue component instance
6175
7261
  *
@@ -6181,11 +7267,6 @@ function unrefElement(elRef) {
6181
7267
  return (_$el = plain === null || plain === void 0 ? void 0 : plain.$el) !== null && _$el !== void 0 ? _$el : plain;
6182
7268
  }
6183
7269
  function useEventListener(...args) {
6184
- const cleanups = [];
6185
- const cleanup = () => {
6186
- cleanups.forEach((fn) => fn());
6187
- cleanups.length = 0;
6188
- };
6189
7270
  const register = (el, event, listener, options) => {
6190
7271
  el.addEventListener(event, listener, options);
6191
7272
  return () => el.removeEventListener(event, listener, options);
@@ -6194,7 +7275,7 @@ function useEventListener(...args) {
6194
7275
  const test = toArray(toValue(args[0])).filter((e) => e != null);
6195
7276
  return test.every((e) => typeof e !== "string") ? test : void 0;
6196
7277
  });
6197
- const stopWatch = watchImmediate(() => {
7278
+ return watchImmediate(() => {
6198
7279
  var _firstParamTargets$va, _firstParamTargets$va2;
6199
7280
  return [
6200
7281
  (_firstParamTargets$va = (_firstParamTargets$va2 = firstParamTargets.value) === null || _firstParamTargets$va2 === void 0 ? void 0 : _firstParamTargets$va2.map((e) => unrefElement(e))) !== null && _firstParamTargets$va !== void 0 ? _firstParamTargets$va : [defaultWindow].filter((e) => e != null),
@@ -6202,18 +7283,104 @@ function useEventListener(...args) {
6202
7283
  toArray(unref(firstParamTargets.value ? args[2] : args[1])),
6203
7284
  toValue(firstParamTargets.value ? args[3] : args[2])
6204
7285
  ];
6205
- }, ([raw_targets, raw_events, raw_listeners, raw_options]) => {
6206
- cleanup();
7286
+ }, ([raw_targets, raw_events, raw_listeners, raw_options], _, onCleanup) => {
6207
7287
  if (!(raw_targets === null || raw_targets === void 0 ? void 0 : raw_targets.length) || !(raw_events === null || raw_events === void 0 ? void 0 : raw_events.length) || !(raw_listeners === null || raw_listeners === void 0 ? void 0 : raw_listeners.length)) return;
6208
7288
  const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;
6209
- cleanups.push(...raw_targets.flatMap((el) => raw_events.flatMap((event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone)))));
7289
+ const cleanups = raw_targets.flatMap((el) => raw_events.flatMap((event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))));
7290
+ onCleanup(() => {
7291
+ cleanups.forEach((fn) => fn());
7292
+ });
6210
7293
  }, { flush: "post" });
6211
- const stop$1 = () => {
6212
- stopWatch();
6213
- cleanup();
7294
+ }
7295
+ let _iOSWorkaround = false;
7296
+ function onClickOutside(target, handler, options = {}) {
7297
+ const { window: window$1 = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options;
7298
+ if (!window$1) return controls ? {
7299
+ stop: noop,
7300
+ cancel: noop,
7301
+ trigger: noop
7302
+ } : noop;
7303
+ if (isIOS && !_iOSWorkaround) {
7304
+ _iOSWorkaround = true;
7305
+ const listenerOptions = { passive: true };
7306
+ Array.from(window$1.document.body.children).forEach((el) => el.addEventListener("click", noop, listenerOptions));
7307
+ window$1.document.documentElement.addEventListener("click", noop, listenerOptions);
7308
+ }
7309
+ let shouldListen = true;
7310
+ const shouldIgnore = (event) => {
7311
+ return toValue(ignore).some((target$1) => {
7312
+ if (typeof target$1 === "string") return Array.from(window$1.document.querySelectorAll(target$1)).some((el) => el === event.target || event.composedPath().includes(el));
7313
+ else {
7314
+ const el = unrefElement(target$1);
7315
+ return el && (event.target === el || event.composedPath().includes(el));
7316
+ }
7317
+ });
7318
+ };
7319
+ /**
7320
+ * Determines if the given target has multiple root elements.
7321
+ * Referenced from: https://github.com/vuejs/test-utils/blob/ccb460be55f9f6be05ab708500a41ec8adf6f4bc/src/vue-wrapper.ts#L21
7322
+ */
7323
+ function hasMultipleRoots(target$1) {
7324
+ const vm = toValue(target$1);
7325
+ return vm && vm.$.subTree.shapeFlag === 16;
7326
+ }
7327
+ function checkMultipleRoots(target$1, event) {
7328
+ const vm = toValue(target$1);
7329
+ const children = vm.$.subTree && vm.$.subTree.children;
7330
+ if (children == null || !Array.isArray(children)) return false;
7331
+ return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));
7332
+ }
7333
+ const listener = (event) => {
7334
+ const el = unrefElement(target);
7335
+ if (event.target == null) return;
7336
+ if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event)) return;
7337
+ if (!el || el === event.target || event.composedPath().includes(el)) return;
7338
+ if ("detail" in event && event.detail === 0) shouldListen = !shouldIgnore(event);
7339
+ if (!shouldListen) {
7340
+ shouldListen = true;
7341
+ return;
7342
+ }
7343
+ handler(event);
7344
+ };
7345
+ let isProcessingClick = false;
7346
+ const cleanup = [
7347
+ useEventListener(window$1, "click", (event) => {
7348
+ if (!isProcessingClick) {
7349
+ isProcessingClick = true;
7350
+ setTimeout(() => {
7351
+ isProcessingClick = false;
7352
+ }, 0);
7353
+ listener(event);
7354
+ }
7355
+ }, {
7356
+ passive: true,
7357
+ capture
7358
+ }),
7359
+ useEventListener(window$1, "pointerdown", (e) => {
7360
+ const el = unrefElement(target);
7361
+ shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));
7362
+ }, { passive: true }),
7363
+ detectIframe && useEventListener(window$1, "blur", (event) => {
7364
+ setTimeout(() => {
7365
+ var _window$document$acti;
7366
+ const el = unrefElement(target);
7367
+ if (((_window$document$acti = window$1.document.activeElement) === null || _window$document$acti === void 0 ? void 0 : _window$document$acti.tagName) === "IFRAME" && !(el === null || el === void 0 ? void 0 : el.contains(window$1.document.activeElement))) handler(event);
7368
+ }, 0);
7369
+ }, { passive: true })
7370
+ ].filter(Boolean);
7371
+ const stop = () => cleanup.forEach((fn) => fn());
7372
+ if (controls) return {
7373
+ stop,
7374
+ cancel: () => {
7375
+ shouldListen = false;
7376
+ },
7377
+ trigger: (event) => {
7378
+ shouldListen = true;
7379
+ listener(event);
7380
+ shouldListen = false;
7381
+ }
6214
7382
  };
6215
- tryOnScopeDispose(cleanup);
6216
- return stop$1;
7383
+ return stop;
6217
7384
  }
6218
7385
  /**
6219
7386
  * Mounted state in ref.
@@ -6223,7 +7390,7 @@ function useEventListener(...args) {
6223
7390
  * @__NO_SIDE_EFFECTS__
6224
7391
  */
6225
7392
  function useMounted() {
6226
- const isMounted = shallowRef(false);
7393
+ const isMounted = /* @__PURE__ */ shallowRef(false);
6227
7394
  const instance = getCurrentInstance();
6228
7395
  if (instance) onMounted(() => {
6229
7396
  isMounted.value = true;
@@ -6248,9 +7415,9 @@ function useSupported(callback) {
6248
7415
  * @param options
6249
7416
  */
6250
7417
  function useMutationObserver(target, callback, options = {}) {
6251
- const { window: window$1 = defaultWindow,...mutationOptions } = options;
7418
+ const { window: window$1 = defaultWindow, ...mutationOptions } = options;
6252
7419
  let observer;
6253
- const isSupported$1 = /* @__PURE__ */ useSupported(() => window$1 && "MutationObserver" in window$1);
7420
+ const isSupported = /* @__PURE__ */ useSupported(() => window$1 && "MutationObserver" in window$1);
6254
7421
  const cleanup = () => {
6255
7422
  if (observer) {
6256
7423
  observer.disconnect();
@@ -6262,7 +7429,7 @@ function useMutationObserver(target, callback, options = {}) {
6262
7429
  return new Set(items);
6263
7430
  }), (newTargets) => {
6264
7431
  cleanup();
6265
- if (isSupported$1.value && newTargets.size) {
7432
+ if (isSupported.value && newTargets.size) {
6266
7433
  observer = new MutationObserver(callback);
6267
7434
  newTargets.forEach((el) => observer.observe(el, mutationOptions));
6268
7435
  }
@@ -6273,17 +7440,75 @@ function useMutationObserver(target, callback, options = {}) {
6273
7440
  const takeRecords = () => {
6274
7441
  return observer === null || observer === void 0 ? void 0 : observer.takeRecords();
6275
7442
  };
6276
- const stop$1 = () => {
7443
+ const stop = () => {
6277
7444
  stopWatch();
6278
7445
  cleanup();
6279
7446
  };
6280
- tryOnScopeDispose(stop$1);
7447
+ tryOnScopeDispose(stop);
6281
7448
  return {
6282
- isSupported: isSupported$1,
6283
- stop: stop$1,
7449
+ isSupported,
7450
+ stop,
6284
7451
  takeRecords
6285
7452
  };
6286
7453
  }
7454
+ /**
7455
+ * Call function on every `requestAnimationFrame`. With controls of pausing and resuming.
7456
+ *
7457
+ * @see https://vueuse.org/useRafFn
7458
+ * @param fn
7459
+ * @param options
7460
+ */
7461
+ function useRafFn(fn, options = {}) {
7462
+ const { immediate = true, fpsLimit = null, window: window$1 = defaultWindow, once = false } = options;
7463
+ const isActive = /* @__PURE__ */ shallowRef(false);
7464
+ const intervalLimit = computed(() => {
7465
+ const limit = toValue(fpsLimit);
7466
+ return limit ? 1e3 / limit : null;
7467
+ });
7468
+ let previousFrameTimestamp = 0;
7469
+ let rafId = null;
7470
+ function loop(timestamp$1) {
7471
+ if (!isActive.value || !window$1) return;
7472
+ if (!previousFrameTimestamp) previousFrameTimestamp = timestamp$1;
7473
+ const delta = timestamp$1 - previousFrameTimestamp;
7474
+ if (intervalLimit.value && delta < intervalLimit.value) {
7475
+ rafId = window$1.requestAnimationFrame(loop);
7476
+ return;
7477
+ }
7478
+ previousFrameTimestamp = timestamp$1;
7479
+ fn({
7480
+ delta,
7481
+ timestamp: timestamp$1
7482
+ });
7483
+ if (once) {
7484
+ isActive.value = false;
7485
+ rafId = null;
7486
+ return;
7487
+ }
7488
+ rafId = window$1.requestAnimationFrame(loop);
7489
+ }
7490
+ function resume() {
7491
+ if (!isActive.value && window$1) {
7492
+ isActive.value = true;
7493
+ previousFrameTimestamp = 0;
7494
+ rafId = window$1.requestAnimationFrame(loop);
7495
+ }
7496
+ }
7497
+ function pause() {
7498
+ isActive.value = false;
7499
+ if (rafId != null && window$1) {
7500
+ window$1.cancelAnimationFrame(rafId);
7501
+ rafId = null;
7502
+ }
7503
+ }
7504
+ if (immediate) resume();
7505
+ tryOnScopeDispose(pause);
7506
+ return {
7507
+ isActive: /* @__PURE__ */ readonly(isActive),
7508
+ pause,
7509
+ resume
7510
+ };
7511
+ }
6287
7512
  const ssrWidthSymbol = Symbol("vueuse-ssr-width");
6288
7513
  /* @__NO_SIDE_EFFECTS__ */
6289
7514
  function useSSRWidth() {
@@ -6299,16 +7524,16 @@ function useSSRWidth() {
6299
7524
  */
6300
7525
  function useMediaQuery(query, options = {}) {
6301
7526
  const { window: window$1 = defaultWindow, ssrWidth = /* @__PURE__ */ useSSRWidth() } = options;
6302
- const isSupported$1 = /* @__PURE__ */ useSupported(() => window$1 && "matchMedia" in window$1 && typeof window$1.matchMedia === "function");
6303
- const ssrSupport = shallowRef(typeof ssrWidth === "number");
6304
- const mediaQuery = shallowRef();
6305
- const matches = shallowRef(false);
7527
+ const isSupported = /* @__PURE__ */ useSupported(() => window$1 && "matchMedia" in window$1 && typeof window$1.matchMedia === "function");
7528
+ const ssrSupport = /* @__PURE__ */ shallowRef(typeof ssrWidth === "number");
7529
+ const mediaQuery = /* @__PURE__ */ shallowRef();
7530
+ const matches = /* @__PURE__ */ shallowRef(false);
6306
7531
  const handler = (event) => {
6307
7532
  matches.value = event.matches;
6308
7533
  };
6309
7534
  watchEffect(() => {
6310
7535
  if (ssrSupport.value) {
6311
- ssrSupport.value = !isSupported$1.value;
7536
+ ssrSupport.value = !isSupported.value;
6312
7537
  matches.value = toValue(query).split(",").some((queryString) => {
6313
7538
  const not = queryString.includes("not all");
6314
7539
  const minWidth = queryString.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);
@@ -6320,7 +7545,7 @@ function useMediaQuery(query, options = {}) {
6320
7545
  });
6321
7546
  return;
6322
7547
  }
6323
- if (!isSupported$1.value) return;
7548
+ if (!isSupported.value) return;
6324
7549
  mediaQuery.value = window$1.matchMedia(toValue(query));
6325
7550
  matches.value = mediaQuery.value.matches;
6326
7551
  });
@@ -6396,7 +7621,7 @@ function useStorage(key, defaults$1, storage, options = {}) {
6396
7621
  const rawInit = toValue(defaults$1);
6397
7622
  const type = guessSerializerType(rawInit);
6398
7623
  const serializer = (_options$serializer = options.serializer) !== null && _options$serializer !== void 0 ? _options$serializer : StorageSerializers[type];
6399
- const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(data, (newValue) => write(newValue), {
7624
+ const { pause: pauseWatch, resume: resumeWatch } = watchPausable(data, (newValue) => write(newValue), {
6400
7625
  flush,
6401
7626
  deep,
6402
7627
  eventFilter
@@ -6501,7 +7726,7 @@ function useStorage(key, defaults$1, storage, options = {}) {
6501
7726
  */
6502
7727
  function useCssVar(prop, target, options = {}) {
6503
7728
  const { window: window$1 = defaultWindow, initialValue, observe = false } = options;
6504
- const variable = shallowRef(initialValue);
7729
+ const variable = /* @__PURE__ */ shallowRef(initialValue);
6505
7730
  const elRef = computed(() => {
6506
7731
  var _window$document;
6507
7732
  return unrefElement(target) || (window$1 === null || window$1 === void 0 || (_window$document = window$1.document) === null || _window$document === void 0 ? void 0 : _window$document.documentElement);
@@ -6538,9 +7763,9 @@ function useCssVar(prop, target, options = {}) {
6538
7763
  * @param options
6539
7764
  */
6540
7765
  function useResizeObserver(target, callback, options = {}) {
6541
- const { window: window$1 = defaultWindow,...observerOptions } = options;
7766
+ const { window: window$1 = defaultWindow, ...observerOptions } = options;
6542
7767
  let observer;
6543
- const isSupported$1 = /* @__PURE__ */ useSupported(() => window$1 && "ResizeObserver" in window$1);
7768
+ const isSupported = /* @__PURE__ */ useSupported(() => window$1 && "ResizeObserver" in window$1);
6544
7769
  const cleanup = () => {
6545
7770
  if (observer) {
6546
7771
  observer.disconnect();
@@ -6552,7 +7777,7 @@ function useResizeObserver(target, callback, options = {}) {
6552
7777
  return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];
6553
7778
  }), (els) => {
6554
7779
  cleanup();
6555
- if (isSupported$1.value && window$1) {
7780
+ if (isSupported.value && window$1) {
6556
7781
  observer = new ResizeObserver(callback);
6557
7782
  for (const _el of els) if (_el) observer.observe(_el, observerOptions);
6558
7783
  }
@@ -6560,14 +7785,14 @@ function useResizeObserver(target, callback, options = {}) {
6560
7785
  immediate: true,
6561
7786
  flush: "post"
6562
7787
  });
6563
- const stop$1 = () => {
7788
+ const stop = () => {
6564
7789
  cleanup();
6565
7790
  stopWatch();
6566
7791
  };
6567
- tryOnScopeDispose(stop$1);
7792
+ tryOnScopeDispose(stop);
6568
7793
  return {
6569
- isSupported: isSupported$1,
6570
- stop: stop$1
7794
+ isSupported,
7795
+ stop
6571
7796
  };
6572
7797
  }
6573
7798
  /**
@@ -6578,14 +7803,14 @@ function useResizeObserver(target, callback, options = {}) {
6578
7803
  */
6579
7804
  function useElementBounding(target, options = {}) {
6580
7805
  const { reset = true, windowResize = true, windowScroll = true, immediate = true, updateTiming = "sync" } = options;
6581
- const height = shallowRef(0);
6582
- const bottom = shallowRef(0);
6583
- const left = shallowRef(0);
6584
- const right = shallowRef(0);
6585
- const top = shallowRef(0);
6586
- const width = shallowRef(0);
6587
- const x = shallowRef(0);
6588
- const y = shallowRef(0);
7806
+ const height = /* @__PURE__ */ shallowRef(0);
7807
+ const bottom = /* @__PURE__ */ shallowRef(0);
7808
+ const left = /* @__PURE__ */ shallowRef(0);
7809
+ const right = /* @__PURE__ */ shallowRef(0);
7810
+ const top = /* @__PURE__ */ shallowRef(0);
7811
+ const width = /* @__PURE__ */ shallowRef(0);
7812
+ const x = /* @__PURE__ */ shallowRef(0);
7813
+ const y = /* @__PURE__ */ shallowRef(0);
6589
7814
  function recalculate() {
6590
7815
  const el = unrefElement(target);
6591
7816
  if (!el) {
@@ -6650,6 +7875,32 @@ function useLocalStorage(key, initialValue, options = {}) {
6650
7875
  const { window: window$1 = defaultWindow } = options;
6651
7876
  return useStorage(key, initialValue, window$1 === null || window$1 === void 0 ? void 0 : window$1.localStorage, options);
6652
7877
  }
7878
+ function getDefaultScheduler$5(options) {
7879
+ if ("interval" in options || "immediate" in options) {
7880
+ const { interval = "requestAnimationFrame", immediate = true } = options;
7881
+ return interval === "requestAnimationFrame" ? (fn) => useRafFn(fn, { immediate }) : (fn) => useIntervalFn(fn, interval, options);
7882
+ }
7883
+ return useRafFn;
7884
+ }
7885
+ /**
7886
+ * Reactive current Date instance.
7887
+ *
7888
+ * @see https://vueuse.org/useNow
7889
+ * @param options
7890
+ *
7891
+ * @__NO_SIDE_EFFECTS__
7892
+ */
7893
+ function useNow(options = {}) {
7894
+ const { controls: exposeControls = false, scheduler = getDefaultScheduler$5(options) } = options;
7895
+ const now = /* @__PURE__ */ ref(/* @__PURE__ */ new Date());
7896
+ const update = () => now.value = /* @__PURE__ */ new Date();
7897
+ const controls = scheduler(update);
7898
+ if (exposeControls) return {
7899
+ now,
7900
+ ...controls
7901
+ };
7902
+ else return now;
7903
+ }
6653
7904
  const topVarName = "--vueuse-safe-area-top";
6654
7905
  const rightVarName = "--vueuse-safe-area-right";
6655
7906
  const bottomVarName = "--vueuse-safe-area-bottom";
@@ -6660,10 +7911,10 @@ const leftVarName = "--vueuse-safe-area-left";
6660
7911
  * @see https://vueuse.org/useScreenSafeArea
6661
7912
  */
6662
7913
  function useScreenSafeArea() {
6663
- const top = shallowRef("");
6664
- const right = shallowRef("");
6665
- const bottom = shallowRef("");
6666
- const left = shallowRef("");
7914
+ const top = /* @__PURE__ */ shallowRef("");
7915
+ const right = /* @__PURE__ */ shallowRef("");
7916
+ const bottom = /* @__PURE__ */ shallowRef("");
7917
+ const left = /* @__PURE__ */ shallowRef("");
6667
7918
  if (isClient) {
6668
7919
  const topCssVar = useCssVar(topVarName);
6669
7920
  const rightCssVar = useCssVar(rightVarName);
@@ -6730,6 +7981,81 @@ const DEFAULT_UNITS = [
6730
7981
  name: "year"
6731
7982
  }
6732
7983
  ];
7984
+ const DEFAULT_MESSAGES = {
7985
+ justNow: "just now",
7986
+ past: (n) => n.match(/\d/) ? `${n} ago` : n,
7987
+ future: (n) => n.match(/\d/) ? `in ${n}` : n,
7988
+ month: (n, past) => n === 1 ? past ? "last month" : "next month" : `${n} month${n > 1 ? "s" : ""}`,
7989
+ year: (n, past) => n === 1 ? past ? "last year" : "next year" : `${n} year${n > 1 ? "s" : ""}`,
7990
+ day: (n, past) => n === 1 ? past ? "yesterday" : "tomorrow" : `${n} day${n > 1 ? "s" : ""}`,
7991
+ week: (n, past) => n === 1 ? past ? "last week" : "next week" : `${n} week${n > 1 ? "s" : ""}`,
7992
+ hour: (n) => `${n} hour${n > 1 ? "s" : ""}`,
7993
+ minute: (n) => `${n} minute${n > 1 ? "s" : ""}`,
7994
+ second: (n) => `${n} second${n > 1 ? "s" : ""}`,
7995
+ invalid: ""
7996
+ };
7997
+ function DEFAULT_FORMATTER(date) {
7998
+ return date.toISOString().slice(0, 10);
7999
+ }
8000
+ function getDefaultScheduler$4(options) {
8001
+ if ("updateInterval" in options) {
8002
+ const { updateInterval = 3e4 } = options;
8003
+ return (cb) => useIntervalFn(cb, updateInterval);
8004
+ }
8005
+ return (cb) => useIntervalFn(cb, 3e4);
8006
+ }
8007
+ /**
8008
+ * Reactive time ago formatter.
8009
+ *
8010
+ * @see https://vueuse.org/useTimeAgo
8011
+ *
8012
+ * @__NO_SIDE_EFFECTS__
8013
+ */
8014
+ function useTimeAgo(time, options = {}) {
8015
+ const { controls: exposeControls = false, scheduler = getDefaultScheduler$4(options) } = options;
8016
+ const { now, ...controls } = useNow({
8017
+ scheduler,
8018
+ controls: true
8019
+ });
8020
+ const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));
8021
+ if (exposeControls) return {
8022
+ timeAgo,
8023
+ ...controls
8024
+ };
8025
+ else return timeAgo;
8026
+ }
8027
+ function formatTimeAgo(from, options = {}, now = Date.now()) {
8028
+ const { max, messages = DEFAULT_MESSAGES, fullDateFormatter = DEFAULT_FORMATTER, units = DEFAULT_UNITS, showSecond = false, rounding = "round" } = options;
8029
+ const roundFn = typeof rounding === "number" ? (n) => +n.toFixed(rounding) : Math[rounding];
8030
+ const diff = +now - +from;
8031
+ const absDiff = Math.abs(diff);
8032
+ function getValue$1(diff$1, unit) {
8033
+ return roundFn(Math.abs(diff$1) / unit.value);
8034
+ }
8035
+ function format(diff$1, unit) {
8036
+ const val = getValue$1(diff$1, unit);
8037
+ const past = diff$1 > 0;
8038
+ const str = applyFormat(unit.name, val, past);
8039
+ return applyFormat(past ? "past" : "future", str, past);
8040
+ }
8041
+ function applyFormat(name, val, isPast) {
8042
+ const formatter = messages[name];
8043
+ if (typeof formatter === "function") return formatter(val, isPast);
8044
+ return formatter.replace("{0}", val.toString());
8045
+ }
8046
+ if (absDiff < 6e4 && !showSecond) return messages.justNow;
8047
+ if (typeof max === "number" && absDiff > max) return fullDateFormatter(new Date(from));
8048
+ if (typeof max === "string") {
8049
+ var _units$find;
8050
+ const unitMax = (_units$find = units.find((i) => i.name === max)) === null || _units$find === void 0 ? void 0 : _units$find.max;
8051
+ if (unitMax && absDiff > unitMax) return fullDateFormatter(new Date(from));
8052
+ }
8053
+ for (const [idx, unit] of units.entries()) {
8054
+ if (getValue$1(diff, unit) <= 0 && units[idx - 1]) return format(diff, units[idx - 1]);
8055
+ if (absDiff < unit.max) return format(diff, unit);
8056
+ }
8057
+ return messages.invalid;
8058
+ }
6733
8059
  /**
6734
8060
  * Reactive window size.
6735
8061
  *
@@ -6740,8 +8066,8 @@ const DEFAULT_UNITS = [
6740
8066
  */
6741
8067
  function useWindowSize(options = {}) {
6742
8068
  const { window: window$1 = defaultWindow, initialWidth = Number.POSITIVE_INFINITY, initialHeight = Number.POSITIVE_INFINITY, listenOrientation = true, includeScrollbar = true, type = "inner" } = options;
6743
- const width = shallowRef(initialWidth);
6744
- const height = shallowRef(initialHeight);
8069
+ const width = /* @__PURE__ */ shallowRef(initialWidth);
8070
+ const height = /* @__PURE__ */ shallowRef(initialHeight);
6745
8071
  const update = () => {
6746
8072
  if (window$1) if (type === "outer") {
6747
8073
  width.value = window$1.outerWidth;
@@ -6769,6 +8095,5 @@ function useWindowSize(options = {}) {
6769
8095
  height
6770
8096
  };
6771
8097
  }
6772
-
6773
8098
  //#endregion
6774
- export { withDirectives as A, renderList as C, watch as D, useTemplateRef as E, unref as F, normalizeClass as I, normalizeStyle as L, reactive as M, ref as N, watchEffect as O, toRefs$1 as P, toDisplayString as R, openBlock as S, useModel as T, defineComponent as _, useWindowSize as a, onMounted as b, vShow as c, computed as d, createBaseVNode as f, createVNode as g, createElementBlock as h, useScreenSafeArea as i, markRaw as j, withCtx as k, withModifiers as l, createCommentVNode as m, useEventListener as n, toRefs as o, createBlock as p, useLocalStorage as r, defineCustomElement as s, useElementBounding as t, Fragment as u, mergeModels as v, renderSlot as w, onUnmounted as x, nextTick as y };
8099
+ export { nextTick as A, withDirectives as B, createElementBlock as C, defineAsyncComponent as D, createVNode as E, renderSlot as F, toRefs as G, reactive as H, useTemplateRef as I, normalizeStyle as J, unref as K, watch as L, onUnmounted as M, openBlock as N, defineComponent as O, renderList as P, watchEffect as R, createCommentVNode as S, createTextVNode as T, ref as U, markRaw as V, shallowRef as W, toDisplayString as Y, Fragment as _, useScreenSafeArea as a, createBaseVNode as b, useDebounceFn as c, TransitionGroup as d, defineCustomElement as f, withModifiers as g, withKeys as h, useLocalStorage as i, onMounted as j, h as k, watchDebounced as l, vShow as m, useElementBounding as n, useTimeAgo as o, vModelText as p, normalizeClass as q, useEventListener as r, useWindowSize as s, onClickOutside as t, watchImmediate as u, Suspense as v, createStaticVNode as w, createBlock as x, computed as y, withCtx as z };