@valaxyjs/devtools 0.19.9 → 0.19.10

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.
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CN4D-pyL.js","./_plugin-vue_export-helper-DgDhiqFL.js","./splitpanes.es-CS1Tksze.js","./index-DF84L4of.css","./about-GOQp0_NO.js","./categories-B9cCje3e.js","./migration-CFDlazxl.js","./tags-M0cV8ng9.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-BiZFdN8P.js","./_plugin-vue_export-helper-DgDhiqFL.js","./splitpanes.es-CFspD77U.js","./index-DF84L4of.css","./about-BRT_tNcN.js","./categories-BkoD6Okt.js","./migration-sqXQ1Rub.js","./tags-DTkAuVA6.js"])))=>i.map(i=>d[i]);
2
2
  true&&(function polyfill() {
3
3
  const relList = document.createElement("link").relList;
4
4
  if (relList && relList.supports && relList.supports("modulepreload")) {
@@ -39,15 +39,16 @@ true&&(function polyfill() {
39
39
  /* Injected with object hook! */
40
40
 
41
41
  /**
42
- * @vue/shared v3.4.38
42
+ * @vue/shared v3.5.5
43
43
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
44
44
  * @license MIT
45
45
  **/
46
46
  /*! #__NO_SIDE_EFFECTS__ */
47
47
  // @__NO_SIDE_EFFECTS__
48
- function makeMap(str, expectsLowerCase) {
49
- const set = new Set(str.split(","));
50
- return (val) => set.has(val);
48
+ function makeMap(str) {
49
+ const map = /* @__PURE__ */ Object.create(null);
50
+ for (const key of str.split(",")) map[key] = 1;
51
+ return (val) => val in map;
51
52
  }
52
53
  const EMPTY_OBJ = {};
53
54
  const EMPTY_ARR = [];
@@ -96,9 +97,11 @@ const cacheStringFunction = (fn) => {
96
97
  };
97
98
  };
98
99
  const camelizeRE = /-(\w)/g;
99
- const camelize = cacheStringFunction((str) => {
100
- return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
101
- });
100
+ const camelize = cacheStringFunction(
101
+ (str) => {
102
+ return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
103
+ }
104
+ );
102
105
  const hyphenateRE = /\B([A-Z])/g;
103
106
  const hyphenate = cacheStringFunction(
104
107
  (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
@@ -106,10 +109,12 @@ const hyphenate = cacheStringFunction(
106
109
  const capitalize = cacheStringFunction((str) => {
107
110
  return str.charAt(0).toUpperCase() + str.slice(1);
108
111
  });
109
- const toHandlerKey = cacheStringFunction((str) => {
110
- const s = str ? `on${capitalize(str)}` : ``;
111
- return s;
112
- });
112
+ const toHandlerKey = cacheStringFunction(
113
+ (str) => {
114
+ const s = str ? `on${capitalize(str)}` : ``;
115
+ return s;
116
+ }
117
+ );
113
118
  const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
114
119
  const invokeArrayFns = (fns, ...arg) => {
115
120
  for (let i = 0; i < fns.length; i++) {
@@ -237,7 +242,7 @@ function looseIndexOf(arr, val) {
237
242
  return arr.findIndex((item) => looseEqual(item, val));
238
243
  }
239
244
  const isRef$1 = (val) => {
240
- return !!(val && val.__v_isRef === true);
245
+ return !!(val && val["__v_isRef"] === true);
241
246
  };
242
247
  const toDisplayString = (val) => {
243
248
  return isString(val) ? val : val == null ? "" : isArray$1(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef$1(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);
@@ -278,7 +283,7 @@ const stringifySymbol = (v, i = "") => {
278
283
  /* Injected with object hook! */
279
284
 
280
285
  /**
281
- * @vue/reactivity v3.4.38
286
+ * @vue/reactivity v3.5.5
282
287
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
283
288
  * @license MIT
284
289
  **/
@@ -289,6 +294,7 @@ class EffectScope {
289
294
  this._active = true;
290
295
  this.effects = [];
291
296
  this.cleanups = [];
297
+ this._isPaused = false;
292
298
  this.parent = activeEffectScope;
293
299
  if (!detached && activeEffectScope) {
294
300
  this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
@@ -299,6 +305,39 @@ class EffectScope {
299
305
  get active() {
300
306
  return this._active;
301
307
  }
308
+ pause() {
309
+ if (this._active) {
310
+ this._isPaused = true;
311
+ let i, l;
312
+ if (this.scopes) {
313
+ for (i = 0, l = this.scopes.length; i < l; i++) {
314
+ this.scopes[i].pause();
315
+ }
316
+ }
317
+ for (i = 0, l = this.effects.length; i < l; i++) {
318
+ this.effects[i].pause();
319
+ }
320
+ }
321
+ }
322
+ /**
323
+ * Resumes the effect scope, including all child scopes and effects.
324
+ */
325
+ resume() {
326
+ if (this._active) {
327
+ if (this._isPaused) {
328
+ this._isPaused = false;
329
+ let i, l;
330
+ if (this.scopes) {
331
+ for (i = 0, l = this.scopes.length; i < l; i++) {
332
+ this.scopes[i].resume();
333
+ }
334
+ }
335
+ for (i = 0, l = this.effects.length; i < l; i++) {
336
+ this.effects[i].resume();
337
+ }
338
+ }
339
+ }
340
+ }
302
341
  run(fn) {
303
342
  if (this._active) {
304
343
  const currentEffectScope = activeEffectScope;
@@ -350,107 +389,236 @@ class EffectScope {
350
389
  }
351
390
  }
352
391
  }
353
- function recordEffectScope(effect2, scope = activeEffectScope) {
354
- if (scope && scope.active) {
355
- scope.effects.push(effect2);
356
- }
357
- }
358
392
  function getCurrentScope() {
359
393
  return activeEffectScope;
360
394
  }
361
- let activeEffect;
395
+ let activeSub;
396
+ const pausedQueueEffects = /* @__PURE__ */ new WeakSet();
362
397
  class ReactiveEffect {
363
- constructor(fn, trigger2, scheduler, scope) {
398
+ constructor(fn) {
364
399
  this.fn = fn;
365
- this.trigger = trigger2;
366
- this.scheduler = scheduler;
367
- this.active = true;
368
- this.deps = [];
369
- this._dirtyLevel = 4;
370
- this._trackId = 0;
371
- this._runnings = 0;
372
- this._shouldSchedule = false;
373
- this._depsLength = 0;
374
- recordEffectScope(this, scope);
400
+ this.deps = void 0;
401
+ this.depsTail = void 0;
402
+ this.flags = 1 | 4;
403
+ this.nextEffect = void 0;
404
+ this.cleanup = void 0;
405
+ this.scheduler = void 0;
406
+ if (activeEffectScope && activeEffectScope.active) {
407
+ activeEffectScope.effects.push(this);
408
+ }
375
409
  }
376
- get dirty() {
377
- if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {
378
- this._dirtyLevel = 1;
379
- pauseTracking();
380
- for (let i = 0; i < this._depsLength; i++) {
381
- const dep = this.deps[i];
382
- if (dep.computed) {
383
- triggerComputed(dep.computed);
384
- if (this._dirtyLevel >= 4) {
385
- break;
386
- }
387
- }
388
- }
389
- if (this._dirtyLevel === 1) {
390
- this._dirtyLevel = 0;
410
+ pause() {
411
+ this.flags |= 64;
412
+ }
413
+ resume() {
414
+ if (this.flags & 64) {
415
+ this.flags &= ~64;
416
+ if (pausedQueueEffects.has(this)) {
417
+ pausedQueueEffects.delete(this);
418
+ this.trigger();
391
419
  }
392
- resetTracking();
393
420
  }
394
- return this._dirtyLevel >= 4;
395
421
  }
396
- set dirty(v) {
397
- this._dirtyLevel = v ? 4 : 0;
422
+ /**
423
+ * @internal
424
+ */
425
+ notify() {
426
+ if (this.flags & 2 && !(this.flags & 32)) {
427
+ return;
428
+ }
429
+ if (!(this.flags & 8)) {
430
+ this.flags |= 8;
431
+ this.nextEffect = batchedEffect;
432
+ batchedEffect = this;
433
+ }
398
434
  }
399
435
  run() {
400
- this._dirtyLevel = 0;
401
- if (!this.active) {
436
+ if (!(this.flags & 1)) {
402
437
  return this.fn();
403
438
  }
404
- let lastShouldTrack = shouldTrack;
405
- let lastEffect = activeEffect;
439
+ this.flags |= 2;
440
+ cleanupEffect(this);
441
+ prepareDeps(this);
442
+ const prevEffect = activeSub;
443
+ const prevShouldTrack = shouldTrack;
444
+ activeSub = this;
445
+ shouldTrack = true;
406
446
  try {
407
- shouldTrack = true;
408
- activeEffect = this;
409
- this._runnings++;
410
- preCleanupEffect(this);
411
447
  return this.fn();
412
448
  } finally {
413
- postCleanupEffect(this);
414
- this._runnings--;
415
- activeEffect = lastEffect;
416
- shouldTrack = lastShouldTrack;
449
+ cleanupDeps(this);
450
+ activeSub = prevEffect;
451
+ shouldTrack = prevShouldTrack;
452
+ this.flags &= ~2;
417
453
  }
418
454
  }
419
455
  stop() {
420
- if (this.active) {
421
- preCleanupEffect(this);
422
- postCleanupEffect(this);
456
+ if (this.flags & 1) {
457
+ for (let link = this.deps; link; link = link.nextDep) {
458
+ removeSub(link);
459
+ }
460
+ this.deps = this.depsTail = void 0;
461
+ cleanupEffect(this);
423
462
  this.onStop && this.onStop();
424
- this.active = false;
463
+ this.flags &= ~1;
464
+ }
465
+ }
466
+ trigger() {
467
+ if (this.flags & 64) {
468
+ pausedQueueEffects.add(this);
469
+ } else if (this.scheduler) {
470
+ this.scheduler();
471
+ } else {
472
+ this.runIfDirty();
473
+ }
474
+ }
475
+ /**
476
+ * @internal
477
+ */
478
+ runIfDirty() {
479
+ if (isDirty(this)) {
480
+ this.run();
425
481
  }
426
482
  }
483
+ get dirty() {
484
+ return isDirty(this);
485
+ }
427
486
  }
428
- function triggerComputed(computed2) {
429
- return computed2.value;
487
+ let batchDepth = 0;
488
+ let batchedEffect;
489
+ function startBatch() {
490
+ batchDepth++;
430
491
  }
431
- function preCleanupEffect(effect2) {
432
- effect2._trackId++;
433
- effect2._depsLength = 0;
492
+ function endBatch() {
493
+ if (--batchDepth > 0) {
494
+ return;
495
+ }
496
+ let error;
497
+ while (batchedEffect) {
498
+ let e = batchedEffect;
499
+ batchedEffect = void 0;
500
+ while (e) {
501
+ const next = e.nextEffect;
502
+ e.nextEffect = void 0;
503
+ e.flags &= ~8;
504
+ if (e.flags & 1) {
505
+ try {
506
+ e.trigger();
507
+ } catch (err) {
508
+ if (!error) error = err;
509
+ }
510
+ }
511
+ e = next;
512
+ }
513
+ }
514
+ if (error) throw error;
515
+ }
516
+ function prepareDeps(sub) {
517
+ for (let link = sub.deps; link; link = link.nextDep) {
518
+ link.version = -1;
519
+ link.prevActiveLink = link.dep.activeLink;
520
+ link.dep.activeLink = link;
521
+ }
434
522
  }
435
- function postCleanupEffect(effect2) {
436
- if (effect2.deps.length > effect2._depsLength) {
437
- for (let i = effect2._depsLength; i < effect2.deps.length; i++) {
438
- cleanupDepEffect(effect2.deps[i], effect2);
523
+ function cleanupDeps(sub) {
524
+ let head;
525
+ let tail = sub.depsTail;
526
+ let link = tail;
527
+ while (link) {
528
+ const prev = link.prevDep;
529
+ if (link.version === -1) {
530
+ if (link === tail) tail = prev;
531
+ removeSub(link);
532
+ removeDep(link);
533
+ } else {
534
+ head = link;
535
+ }
536
+ link.dep.activeLink = link.prevActiveLink;
537
+ link.prevActiveLink = void 0;
538
+ link = prev;
539
+ }
540
+ sub.deps = head;
541
+ sub.depsTail = tail;
542
+ }
543
+ function isDirty(sub) {
544
+ for (let link = sub.deps; link; link = link.nextDep) {
545
+ if (link.dep.version !== link.version || link.dep.computed && refreshComputed(link.dep.computed) || link.dep.version !== link.version) {
546
+ return true;
547
+ }
548
+ }
549
+ if (sub._dirty) {
550
+ return true;
551
+ }
552
+ return false;
553
+ }
554
+ function refreshComputed(computed2) {
555
+ if (computed2.flags & 4 && !(computed2.flags & 16)) {
556
+ return;
557
+ }
558
+ computed2.flags &= ~16;
559
+ if (computed2.globalVersion === globalVersion) {
560
+ return;
561
+ }
562
+ computed2.globalVersion = globalVersion;
563
+ const dep = computed2.dep;
564
+ computed2.flags |= 2;
565
+ if (dep.version > 0 && !computed2.isSSR && !isDirty(computed2)) {
566
+ computed2.flags &= ~2;
567
+ return;
568
+ }
569
+ const prevSub = activeSub;
570
+ const prevShouldTrack = shouldTrack;
571
+ activeSub = computed2;
572
+ shouldTrack = true;
573
+ try {
574
+ prepareDeps(computed2);
575
+ const value = computed2.fn(computed2._value);
576
+ if (dep.version === 0 || hasChanged(value, computed2._value)) {
577
+ computed2._value = value;
578
+ dep.version++;
439
579
  }
440
- effect2.deps.length = effect2._depsLength;
580
+ } catch (err) {
581
+ dep.version++;
582
+ throw err;
583
+ } finally {
584
+ activeSub = prevSub;
585
+ shouldTrack = prevShouldTrack;
586
+ cleanupDeps(computed2);
587
+ computed2.flags &= ~2;
441
588
  }
442
589
  }
443
- function cleanupDepEffect(dep, effect2) {
444
- const trackId = dep.get(effect2);
445
- if (trackId !== void 0 && effect2._trackId !== trackId) {
446
- dep.delete(effect2);
447
- if (dep.size === 0) {
448
- dep.cleanup();
590
+ function removeSub(link) {
591
+ const { dep, prevSub, nextSub } = link;
592
+ if (prevSub) {
593
+ prevSub.nextSub = nextSub;
594
+ link.prevSub = void 0;
595
+ }
596
+ if (nextSub) {
597
+ nextSub.prevSub = prevSub;
598
+ link.nextSub = void 0;
599
+ }
600
+ if (dep.subs === link) {
601
+ dep.subs = prevSub;
602
+ }
603
+ if (!dep.subs && dep.computed) {
604
+ dep.computed.flags &= ~4;
605
+ for (let l = dep.computed.deps; l; l = l.nextDep) {
606
+ removeSub(l);
449
607
  }
450
608
  }
451
609
  }
610
+ function removeDep(link) {
611
+ const { prevDep, nextDep } = link;
612
+ if (prevDep) {
613
+ prevDep.nextDep = nextDep;
614
+ link.prevDep = void 0;
615
+ }
616
+ if (nextDep) {
617
+ nextDep.prevDep = prevDep;
618
+ link.nextDep = void 0;
619
+ }
620
+ }
452
621
  let shouldTrack = true;
453
- let pauseScheduleStack = 0;
454
622
  const trackStack = [];
455
623
  function pauseTracking() {
456
624
  trackStack.push(shouldTrack);
@@ -460,162 +628,369 @@ function resetTracking() {
460
628
  const last = trackStack.pop();
461
629
  shouldTrack = last === void 0 ? true : last;
462
630
  }
463
- function pauseScheduling() {
464
- pauseScheduleStack++;
465
- }
466
- function resetScheduling() {
467
- pauseScheduleStack--;
468
- while (!pauseScheduleStack && queueEffectSchedulers.length) {
469
- queueEffectSchedulers.shift()();
631
+ function cleanupEffect(e) {
632
+ const { cleanup } = e;
633
+ e.cleanup = void 0;
634
+ if (cleanup) {
635
+ const prevSub = activeSub;
636
+ activeSub = void 0;
637
+ try {
638
+ cleanup();
639
+ } finally {
640
+ activeSub = prevSub;
641
+ }
470
642
  }
471
643
  }
472
- function trackEffect(effect2, dep, debuggerEventExtraInfo) {
473
- if (dep.get(effect2) !== effect2._trackId) {
474
- dep.set(effect2, effect2._trackId);
475
- const oldDep = effect2.deps[effect2._depsLength];
476
- if (oldDep !== dep) {
477
- if (oldDep) {
478
- cleanupDepEffect(oldDep, effect2);
479
- }
480
- effect2.deps[effect2._depsLength++] = dep;
481
- } else {
482
- effect2._depsLength++;
483
- }
644
+ let globalVersion = 0;
645
+ class Link {
646
+ constructor(sub, dep) {
647
+ this.sub = sub;
648
+ this.dep = dep;
649
+ this.version = dep.version;
650
+ this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;
484
651
  }
485
652
  }
486
- const queueEffectSchedulers = [];
487
- function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
488
- pauseScheduling();
489
- for (const effect2 of dep.keys()) {
490
- let tracking;
491
- if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
492
- effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
493
- effect2._dirtyLevel = dirtyLevel;
653
+ class Dep {
654
+ constructor(computed2) {
655
+ this.computed = computed2;
656
+ this.version = 0;
657
+ this.activeLink = void 0;
658
+ this.subs = void 0;
659
+ }
660
+ track(debugInfo) {
661
+ if (!activeSub || !shouldTrack || activeSub === this.computed) {
662
+ return;
494
663
  }
495
- if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
496
- effect2.trigger();
497
- if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {
498
- effect2._shouldSchedule = false;
499
- if (effect2.scheduler) {
500
- queueEffectSchedulers.push(effect2.scheduler);
664
+ let link = this.activeLink;
665
+ if (link === void 0 || link.sub !== activeSub) {
666
+ link = this.activeLink = new Link(activeSub, this);
667
+ if (!activeSub.deps) {
668
+ activeSub.deps = activeSub.depsTail = link;
669
+ } else {
670
+ link.prevDep = activeSub.depsTail;
671
+ activeSub.depsTail.nextDep = link;
672
+ activeSub.depsTail = link;
673
+ }
674
+ if (activeSub.flags & 4) {
675
+ addSub(link);
676
+ }
677
+ } else if (link.version === -1) {
678
+ link.version = this.version;
679
+ if (link.nextDep) {
680
+ const next = link.nextDep;
681
+ next.prevDep = link.prevDep;
682
+ if (link.prevDep) {
683
+ link.prevDep.nextDep = next;
684
+ }
685
+ link.prevDep = activeSub.depsTail;
686
+ link.nextDep = void 0;
687
+ activeSub.depsTail.nextDep = link;
688
+ activeSub.depsTail = link;
689
+ if (activeSub.deps === link) {
690
+ activeSub.deps = next;
501
691
  }
502
692
  }
503
693
  }
694
+ return link;
695
+ }
696
+ trigger(debugInfo) {
697
+ this.version++;
698
+ globalVersion++;
699
+ this.notify(debugInfo);
700
+ }
701
+ notify(debugInfo) {
702
+ startBatch();
703
+ try {
704
+ if (false) ;
705
+ for (let link = this.subs; link; link = link.prevSub) {
706
+ link.sub.notify();
707
+ }
708
+ } finally {
709
+ endBatch();
710
+ }
504
711
  }
505
- resetScheduling();
506
712
  }
507
- const createDep = (cleanup, computed2) => {
508
- const dep = /* @__PURE__ */ new Map();
509
- dep.cleanup = cleanup;
510
- dep.computed = computed2;
511
- return dep;
512
- };
713
+ function addSub(link) {
714
+ const computed2 = link.dep.computed;
715
+ if (computed2 && !link.dep.subs) {
716
+ computed2.flags |= 4 | 16;
717
+ for (let l = computed2.deps; l; l = l.nextDep) {
718
+ addSub(l);
719
+ }
720
+ }
721
+ const currentTail = link.dep.subs;
722
+ if (currentTail !== link) {
723
+ link.prevSub = currentTail;
724
+ if (currentTail) currentTail.nextSub = link;
725
+ }
726
+ link.dep.subs = link;
727
+ }
513
728
  const targetMap = /* @__PURE__ */ new WeakMap();
514
- const ITERATE_KEY = Symbol("");
515
- const MAP_KEY_ITERATE_KEY = Symbol("");
729
+ const ITERATE_KEY = Symbol(
730
+ ""
731
+ );
732
+ const MAP_KEY_ITERATE_KEY = Symbol(
733
+ ""
734
+ );
735
+ const ARRAY_ITERATE_KEY = Symbol(
736
+ ""
737
+ );
516
738
  function track(target, type, key) {
517
- if (shouldTrack && activeEffect) {
739
+ if (shouldTrack && activeSub) {
518
740
  let depsMap = targetMap.get(target);
519
741
  if (!depsMap) {
520
742
  targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
521
743
  }
522
744
  let dep = depsMap.get(key);
523
745
  if (!dep) {
524
- depsMap.set(key, dep = createDep(() => depsMap.delete(key)));
746
+ depsMap.set(key, dep = new Dep());
747
+ }
748
+ {
749
+ dep.track();
525
750
  }
526
- trackEffect(
527
- activeEffect,
528
- dep);
529
751
  }
530
752
  }
531
753
  function trigger(target, type, key, newValue, oldValue, oldTarget) {
532
754
  const depsMap = targetMap.get(target);
533
755
  if (!depsMap) {
756
+ globalVersion++;
534
757
  return;
535
758
  }
536
- let deps = [];
537
- if (type === "clear") {
538
- deps = [...depsMap.values()];
539
- } else if (key === "length" && isArray$1(target)) {
540
- const newLength = Number(newValue);
541
- depsMap.forEach((dep, key2) => {
542
- if (key2 === "length" || !isSymbol(key2) && key2 >= newLength) {
543
- deps.push(dep);
759
+ const run = (dep) => {
760
+ if (dep) {
761
+ {
762
+ dep.trigger();
544
763
  }
545
- });
546
- } else {
547
- if (key !== void 0) {
548
- deps.push(depsMap.get(key));
549
764
  }
550
- switch (type) {
551
- case "add":
552
- if (!isArray$1(target)) {
553
- deps.push(depsMap.get(ITERATE_KEY));
554
- if (isMap(target)) {
555
- deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
556
- }
557
- } else if (isIntegerKey(key)) {
558
- deps.push(depsMap.get("length"));
765
+ };
766
+ startBatch();
767
+ if (type === "clear") {
768
+ depsMap.forEach(run);
769
+ } else {
770
+ const targetIsArray = isArray$1(target);
771
+ const isArrayIndex = targetIsArray && isIntegerKey(key);
772
+ if (targetIsArray && key === "length") {
773
+ const newLength = Number(newValue);
774
+ depsMap.forEach((dep, key2) => {
775
+ if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {
776
+ run(dep);
559
777
  }
560
- break;
561
- case "delete":
562
- if (!isArray$1(target)) {
563
- deps.push(depsMap.get(ITERATE_KEY));
778
+ });
779
+ } else {
780
+ if (key !== void 0) {
781
+ run(depsMap.get(key));
782
+ }
783
+ if (isArrayIndex) {
784
+ run(depsMap.get(ARRAY_ITERATE_KEY));
785
+ }
786
+ switch (type) {
787
+ case "add":
788
+ if (!targetIsArray) {
789
+ run(depsMap.get(ITERATE_KEY));
790
+ if (isMap(target)) {
791
+ run(depsMap.get(MAP_KEY_ITERATE_KEY));
792
+ }
793
+ } else if (isArrayIndex) {
794
+ run(depsMap.get("length"));
795
+ }
796
+ break;
797
+ case "delete":
798
+ if (!targetIsArray) {
799
+ run(depsMap.get(ITERATE_KEY));
800
+ if (isMap(target)) {
801
+ run(depsMap.get(MAP_KEY_ITERATE_KEY));
802
+ }
803
+ }
804
+ break;
805
+ case "set":
564
806
  if (isMap(target)) {
565
- deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
807
+ run(depsMap.get(ITERATE_KEY));
566
808
  }
567
- }
568
- break;
569
- case "set":
570
- if (isMap(target)) {
571
- deps.push(depsMap.get(ITERATE_KEY));
572
- }
573
- break;
809
+ break;
810
+ }
574
811
  }
575
812
  }
576
- pauseScheduling();
577
- for (const dep of deps) {
578
- if (dep) {
579
- triggerEffects(
580
- dep,
581
- 4);
813
+ endBatch();
814
+ }
815
+ function reactiveReadArray(array) {
816
+ const raw = toRaw(array);
817
+ if (raw === array) return raw;
818
+ track(raw, "iterate", ARRAY_ITERATE_KEY);
819
+ return isShallow(array) ? raw : raw.map(toReactive);
820
+ }
821
+ function shallowReadArray(arr) {
822
+ track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY);
823
+ return arr;
824
+ }
825
+ const arrayInstrumentations = {
826
+ __proto__: null,
827
+ [Symbol.iterator]() {
828
+ return iterator(this, Symbol.iterator, toReactive);
829
+ },
830
+ concat(...args) {
831
+ return reactiveReadArray(this).concat(
832
+ ...args.map((x) => isArray$1(x) ? reactiveReadArray(x) : x)
833
+ );
834
+ },
835
+ entries() {
836
+ return iterator(this, "entries", (value) => {
837
+ value[1] = toReactive(value[1]);
838
+ return value;
839
+ });
840
+ },
841
+ every(fn, thisArg) {
842
+ return apply(this, "every", fn, thisArg, void 0, arguments);
843
+ },
844
+ filter(fn, thisArg) {
845
+ return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments);
846
+ },
847
+ find(fn, thisArg) {
848
+ return apply(this, "find", fn, thisArg, toReactive, arguments);
849
+ },
850
+ findIndex(fn, thisArg) {
851
+ return apply(this, "findIndex", fn, thisArg, void 0, arguments);
852
+ },
853
+ findLast(fn, thisArg) {
854
+ return apply(this, "findLast", fn, thisArg, toReactive, arguments);
855
+ },
856
+ findLastIndex(fn, thisArg) {
857
+ return apply(this, "findLastIndex", fn, thisArg, void 0, arguments);
858
+ },
859
+ // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement
860
+ forEach(fn, thisArg) {
861
+ return apply(this, "forEach", fn, thisArg, void 0, arguments);
862
+ },
863
+ includes(...args) {
864
+ return searchProxy(this, "includes", args);
865
+ },
866
+ indexOf(...args) {
867
+ return searchProxy(this, "indexOf", args);
868
+ },
869
+ join(separator) {
870
+ return reactiveReadArray(this).join(separator);
871
+ },
872
+ // keys() iterator only reads `length`, no optimisation required
873
+ lastIndexOf(...args) {
874
+ return searchProxy(this, "lastIndexOf", args);
875
+ },
876
+ map(fn, thisArg) {
877
+ return apply(this, "map", fn, thisArg, void 0, arguments);
878
+ },
879
+ pop() {
880
+ return noTracking(this, "pop");
881
+ },
882
+ push(...args) {
883
+ return noTracking(this, "push", args);
884
+ },
885
+ reduce(fn, ...args) {
886
+ return reduce(this, "reduce", fn, args);
887
+ },
888
+ reduceRight(fn, ...args) {
889
+ return reduce(this, "reduceRight", fn, args);
890
+ },
891
+ shift() {
892
+ return noTracking(this, "shift");
893
+ },
894
+ // slice could use ARRAY_ITERATE but also seems to beg for range tracking
895
+ some(fn, thisArg) {
896
+ return apply(this, "some", fn, thisArg, void 0, arguments);
897
+ },
898
+ splice(...args) {
899
+ return noTracking(this, "splice", args);
900
+ },
901
+ toReversed() {
902
+ return reactiveReadArray(this).toReversed();
903
+ },
904
+ toSorted(comparer) {
905
+ return reactiveReadArray(this).toSorted(comparer);
906
+ },
907
+ toSpliced(...args) {
908
+ return reactiveReadArray(this).toSpliced(...args);
909
+ },
910
+ unshift(...args) {
911
+ return noTracking(this, "unshift", args);
912
+ },
913
+ values() {
914
+ return iterator(this, "values", toReactive);
915
+ }
916
+ };
917
+ function iterator(self, method, wrapValue) {
918
+ const arr = shallowReadArray(self);
919
+ const iter = arr[method]();
920
+ if (arr !== self && !isShallow(self)) {
921
+ iter._next = iter.next;
922
+ iter.next = () => {
923
+ const result = iter._next();
924
+ if (result.value) {
925
+ result.value = wrapValue(result.value);
926
+ }
927
+ return result;
928
+ };
929
+ }
930
+ return iter;
931
+ }
932
+ const arrayProto = Array.prototype;
933
+ function apply(self, method, fn, thisArg, wrappedRetFn, args) {
934
+ const arr = shallowReadArray(self);
935
+ const needsWrap = arr !== self && !isShallow(self);
936
+ const methodFn = arr[method];
937
+ if (methodFn !== arrayProto[method]) {
938
+ const result2 = methodFn.apply(self, args);
939
+ return needsWrap ? toReactive(result2) : result2;
940
+ }
941
+ let wrappedFn = fn;
942
+ if (arr !== self) {
943
+ if (needsWrap) {
944
+ wrappedFn = function(item, index) {
945
+ return fn.call(this, toReactive(item), index, self);
946
+ };
947
+ } else if (fn.length > 2) {
948
+ wrappedFn = function(item, index) {
949
+ return fn.call(this, item, index, self);
950
+ };
951
+ }
952
+ }
953
+ const result = methodFn.call(arr, wrappedFn, thisArg);
954
+ return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;
955
+ }
956
+ function reduce(self, method, fn, args) {
957
+ const arr = shallowReadArray(self);
958
+ let wrappedFn = fn;
959
+ if (arr !== self) {
960
+ if (!isShallow(self)) {
961
+ wrappedFn = function(acc, item, index) {
962
+ return fn.call(this, acc, toReactive(item), index, self);
963
+ };
964
+ } else if (fn.length > 3) {
965
+ wrappedFn = function(acc, item, index) {
966
+ return fn.call(this, acc, item, index, self);
967
+ };
582
968
  }
583
969
  }
584
- resetScheduling();
970
+ return arr[method](wrappedFn, ...args);
971
+ }
972
+ function searchProxy(self, method, args) {
973
+ const arr = toRaw(self);
974
+ track(arr, "iterate", ARRAY_ITERATE_KEY);
975
+ const res = arr[method](...args);
976
+ if ((res === -1 || res === false) && isProxy(args[0])) {
977
+ args[0] = toRaw(args[0]);
978
+ return arr[method](...args);
979
+ }
980
+ return res;
981
+ }
982
+ function noTracking(self, method, args = []) {
983
+ pauseTracking();
984
+ startBatch();
985
+ const res = toRaw(self)[method].apply(self, args);
986
+ endBatch();
987
+ resetTracking();
988
+ return res;
585
989
  }
586
990
  const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
587
991
  const builtInSymbols = new Set(
588
992
  /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
589
993
  );
590
- const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
591
- function createArrayInstrumentations() {
592
- const instrumentations = {};
593
- ["includes", "indexOf", "lastIndexOf"].forEach((key) => {
594
- instrumentations[key] = function(...args) {
595
- const arr = toRaw(this);
596
- for (let i = 0, l = this.length; i < l; i++) {
597
- track(arr, "get", i + "");
598
- }
599
- const res = arr[key](...args);
600
- if (res === -1 || res === false) {
601
- return arr[key](...args.map(toRaw));
602
- } else {
603
- return res;
604
- }
605
- };
606
- });
607
- ["push", "pop", "shift", "unshift", "splice"].forEach((key) => {
608
- instrumentations[key] = function(...args) {
609
- pauseTracking();
610
- pauseScheduling();
611
- const res = toRaw(this)[key].apply(this, args);
612
- resetScheduling();
613
- resetTracking();
614
- return res;
615
- };
616
- });
617
- return instrumentations;
618
- }
619
994
  function hasOwnProperty(key) {
620
995
  if (!isSymbol(key)) key = String(key);
621
996
  const obj = toRaw(this);
@@ -645,14 +1020,22 @@ class BaseReactiveHandler {
645
1020
  }
646
1021
  const targetIsArray = isArray$1(target);
647
1022
  if (!isReadonly2) {
648
- if (targetIsArray && hasOwn(arrayInstrumentations, key)) {
649
- return Reflect.get(arrayInstrumentations, key, receiver);
1023
+ let fn;
1024
+ if (targetIsArray && (fn = arrayInstrumentations[key])) {
1025
+ return fn;
650
1026
  }
651
1027
  if (key === "hasOwnProperty") {
652
1028
  return hasOwnProperty;
653
1029
  }
654
1030
  }
655
- const res = Reflect.get(target, key, receiver);
1031
+ const res = Reflect.get(
1032
+ target,
1033
+ key,
1034
+ // if this is a proxy wrapping a ref, return methods using the raw ref
1035
+ // as receiver so that we don't have to call `toRaw` on the ref in all
1036
+ // its class methods
1037
+ isRef(target) ? target : receiver
1038
+ );
656
1039
  if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
657
1040
  return res;
658
1041
  }
@@ -693,7 +1076,12 @@ class MutableReactiveHandler extends BaseReactiveHandler {
693
1076
  }
694
1077
  }
695
1078
  const hadKey = isArray$1(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);
696
- const result = Reflect.set(target, key, value, receiver);
1079
+ const result = Reflect.set(
1080
+ target,
1081
+ key,
1082
+ value,
1083
+ isRef(target) ? target : receiver
1084
+ );
697
1085
  if (target === toRaw(receiver)) {
698
1086
  if (!hadKey) {
699
1087
  trigger(target, "add", key, value);
@@ -741,9 +1129,7 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler {
741
1129
  }
742
1130
  const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
743
1131
  const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
744
- const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(
745
- true
746
- );
1132
+ const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);
747
1133
  const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
748
1134
  const toShallow = (value) => value;
749
1135
  const getProto = (v) => Reflect.getPrototypeOf(v);
@@ -1113,91 +1499,15 @@ function toRaw(observed) {
1113
1499
  return raw ? toRaw(raw) : observed;
1114
1500
  }
1115
1501
  function markRaw(value) {
1116
- if (Object.isExtensible(value)) {
1502
+ if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) {
1117
1503
  def(value, "__v_skip", true);
1118
1504
  }
1119
1505
  return value;
1120
1506
  }
1121
1507
  const toReactive = (value) => isObject(value) ? reactive(value) : value;
1122
1508
  const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1123
- class ComputedRefImpl {
1124
- constructor(getter, _setter, isReadonly2, isSSR) {
1125
- this.getter = getter;
1126
- this._setter = _setter;
1127
- this.dep = void 0;
1128
- this.__v_isRef = true;
1129
- this["__v_isReadonly"] = false;
1130
- this.effect = new ReactiveEffect(
1131
- () => getter(this._value),
1132
- () => triggerRefValue(
1133
- this,
1134
- this.effect._dirtyLevel === 2 ? 2 : 3
1135
- )
1136
- );
1137
- this.effect.computed = this;
1138
- this.effect.active = this._cacheable = !isSSR;
1139
- this["__v_isReadonly"] = isReadonly2;
1140
- }
1141
- get value() {
1142
- const self = toRaw(this);
1143
- if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {
1144
- triggerRefValue(self, 4);
1145
- }
1146
- trackRefValue(self);
1147
- if (self.effect._dirtyLevel >= 2) {
1148
- triggerRefValue(self, 2);
1149
- }
1150
- return self._value;
1151
- }
1152
- set value(newValue) {
1153
- this._setter(newValue);
1154
- }
1155
- // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x
1156
- get _dirty() {
1157
- return this.effect.dirty;
1158
- }
1159
- set _dirty(v) {
1160
- this.effect.dirty = v;
1161
- }
1162
- // #endregion
1163
- }
1164
- function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1165
- let getter;
1166
- let setter;
1167
- const onlyGetter = isFunction(getterOrOptions);
1168
- if (onlyGetter) {
1169
- getter = getterOrOptions;
1170
- setter = NOOP;
1171
- } else {
1172
- getter = getterOrOptions.get;
1173
- setter = getterOrOptions.set;
1174
- }
1175
- const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
1176
- return cRef;
1177
- }
1178
- function trackRefValue(ref2) {
1179
- var _a;
1180
- if (shouldTrack && activeEffect) {
1181
- ref2 = toRaw(ref2);
1182
- trackEffect(
1183
- activeEffect,
1184
- (_a = ref2.dep) != null ? _a : ref2.dep = createDep(
1185
- () => ref2.dep = void 0,
1186
- ref2 instanceof ComputedRefImpl ? ref2 : void 0
1187
- ));
1188
- }
1189
- }
1190
- function triggerRefValue(ref2, dirtyLevel = 4, newVal, oldVal) {
1191
- ref2 = toRaw(ref2);
1192
- const dep = ref2.dep;
1193
- if (dep) {
1194
- triggerEffects(
1195
- dep,
1196
- dirtyLevel);
1197
- }
1198
- }
1199
1509
  function isRef(r) {
1200
- return !!(r && r.__v_isRef === true);
1510
+ return r ? r["__v_isRef"] === true : false;
1201
1511
  }
1202
1512
  function ref(value) {
1203
1513
  return createRef(value, false);
@@ -1212,25 +1522,30 @@ function createRef(rawValue, shallow) {
1212
1522
  return new RefImpl(rawValue, shallow);
1213
1523
  }
1214
1524
  class RefImpl {
1215
- constructor(value, __v_isShallow) {
1216
- this.__v_isShallow = __v_isShallow;
1217
- this.dep = void 0;
1218
- this.__v_isRef = true;
1219
- this._rawValue = __v_isShallow ? value : toRaw(value);
1220
- this._value = __v_isShallow ? value : toReactive(value);
1525
+ constructor(value, isShallow2) {
1526
+ this.dep = new Dep();
1527
+ this["__v_isRef"] = true;
1528
+ this["__v_isShallow"] = false;
1529
+ this._rawValue = isShallow2 ? value : toRaw(value);
1530
+ this._value = isShallow2 ? value : toReactive(value);
1531
+ this["__v_isShallow"] = isShallow2;
1221
1532
  }
1222
1533
  get value() {
1223
- trackRefValue(this);
1534
+ {
1535
+ this.dep.track();
1536
+ }
1224
1537
  return this._value;
1225
1538
  }
1226
- set value(newVal) {
1227
- const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
1228
- newVal = useDirectValue ? newVal : toRaw(newVal);
1229
- if (hasChanged(newVal, this._rawValue)) {
1230
- this._rawValue;
1231
- this._rawValue = newVal;
1232
- this._value = useDirectValue ? newVal : toReactive(newVal);
1233
- triggerRefValue(this, 4);
1539
+ set value(newValue) {
1540
+ const oldValue = this._rawValue;
1541
+ const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue);
1542
+ newValue = useDirectValue ? newValue : toRaw(newValue);
1543
+ if (hasChanged(newValue, oldValue)) {
1544
+ this._rawValue = newValue;
1545
+ this._value = useDirectValue ? newValue : toReactive(newValue);
1546
+ {
1547
+ this.dep.trigger();
1548
+ }
1234
1549
  }
1235
1550
  }
1236
1551
  }
@@ -1238,7 +1553,7 @@ function unref(ref2) {
1238
1553
  return isRef(ref2) ? ref2.value : ref2;
1239
1554
  }
1240
1555
  const shallowUnwrapHandlers = {
1241
- get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
1556
+ get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)),
1242
1557
  set: (target, key, value, receiver) => {
1243
1558
  const oldValue = target[key];
1244
1559
  if (isRef(oldValue) && !isRef(value)) {
@@ -1252,11 +1567,253 @@ const shallowUnwrapHandlers = {
1252
1567
  function proxyRefs(objectWithRefs) {
1253
1568
  return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
1254
1569
  }
1570
+ class ComputedRefImpl {
1571
+ constructor(fn, setter, isSSR) {
1572
+ this.fn = fn;
1573
+ this.setter = setter;
1574
+ this._value = void 0;
1575
+ this.dep = new Dep(this);
1576
+ this.__v_isRef = true;
1577
+ this.deps = void 0;
1578
+ this.depsTail = void 0;
1579
+ this.flags = 16;
1580
+ this.globalVersion = globalVersion - 1;
1581
+ this.effect = this;
1582
+ this["__v_isReadonly"] = !setter;
1583
+ this.isSSR = isSSR;
1584
+ }
1585
+ /**
1586
+ * @internal
1587
+ */
1588
+ notify() {
1589
+ this.flags |= 16;
1590
+ if (activeSub !== this) {
1591
+ this.dep.notify();
1592
+ }
1593
+ }
1594
+ get value() {
1595
+ const link = this.dep.track();
1596
+ refreshComputed(this);
1597
+ if (link) {
1598
+ link.version = this.dep.version;
1599
+ }
1600
+ return this._value;
1601
+ }
1602
+ set value(newValue) {
1603
+ if (this.setter) {
1604
+ this.setter(newValue);
1605
+ }
1606
+ }
1607
+ }
1608
+ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1609
+ let getter;
1610
+ let setter;
1611
+ if (isFunction(getterOrOptions)) {
1612
+ getter = getterOrOptions;
1613
+ } else {
1614
+ getter = getterOrOptions.get;
1615
+ setter = getterOrOptions.set;
1616
+ }
1617
+ const cRef = new ComputedRefImpl(getter, setter, isSSR);
1618
+ return cRef;
1619
+ }
1620
+ const INITIAL_WATCHER_VALUE = {};
1621
+ const cleanupMap = /* @__PURE__ */ new WeakMap();
1622
+ let activeWatcher = void 0;
1623
+ function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {
1624
+ if (owner) {
1625
+ let cleanups = cleanupMap.get(owner);
1626
+ if (!cleanups) cleanupMap.set(owner, cleanups = []);
1627
+ cleanups.push(cleanupFn);
1628
+ }
1629
+ }
1630
+ function watch$1(source, cb, options = EMPTY_OBJ) {
1631
+ const { immediate, deep, once, scheduler, augmentJob, call } = options;
1632
+ const reactiveGetter = (source2) => {
1633
+ if (deep) return source2;
1634
+ if (isShallow(source2) || deep === false || deep === 0)
1635
+ return traverse(source2, 1);
1636
+ return traverse(source2);
1637
+ };
1638
+ let effect2;
1639
+ let getter;
1640
+ let cleanup;
1641
+ let boundCleanup;
1642
+ let forceTrigger = false;
1643
+ let isMultiSource = false;
1644
+ if (isRef(source)) {
1645
+ getter = () => source.value;
1646
+ forceTrigger = isShallow(source);
1647
+ } else if (isReactive(source)) {
1648
+ getter = () => reactiveGetter(source);
1649
+ forceTrigger = true;
1650
+ } else if (isArray$1(source)) {
1651
+ isMultiSource = true;
1652
+ forceTrigger = source.some((s) => isReactive(s) || isShallow(s));
1653
+ getter = () => source.map((s) => {
1654
+ if (isRef(s)) {
1655
+ return s.value;
1656
+ } else if (isReactive(s)) {
1657
+ return reactiveGetter(s);
1658
+ } else if (isFunction(s)) {
1659
+ return call ? call(s, 2) : s();
1660
+ } else ;
1661
+ });
1662
+ } else if (isFunction(source)) {
1663
+ if (cb) {
1664
+ getter = call ? () => call(source, 2) : source;
1665
+ } else {
1666
+ getter = () => {
1667
+ if (cleanup) {
1668
+ pauseTracking();
1669
+ try {
1670
+ cleanup();
1671
+ } finally {
1672
+ resetTracking();
1673
+ }
1674
+ }
1675
+ const currentEffect = activeWatcher;
1676
+ activeWatcher = effect2;
1677
+ try {
1678
+ return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);
1679
+ } finally {
1680
+ activeWatcher = currentEffect;
1681
+ }
1682
+ };
1683
+ }
1684
+ } else {
1685
+ getter = NOOP;
1686
+ }
1687
+ if (cb && deep) {
1688
+ const baseGetter = getter;
1689
+ const depth = deep === true ? Infinity : deep;
1690
+ getter = () => traverse(baseGetter(), depth);
1691
+ }
1692
+ const scope = getCurrentScope();
1693
+ const watchHandle = () => {
1694
+ effect2.stop();
1695
+ if (scope) {
1696
+ remove(scope.effects, effect2);
1697
+ }
1698
+ };
1699
+ if (once) {
1700
+ if (cb) {
1701
+ const _cb = cb;
1702
+ cb = (...args) => {
1703
+ _cb(...args);
1704
+ watchHandle();
1705
+ };
1706
+ } else {
1707
+ const _getter = getter;
1708
+ getter = () => {
1709
+ _getter();
1710
+ watchHandle();
1711
+ };
1712
+ }
1713
+ }
1714
+ let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
1715
+ const job = (immediateFirstRun) => {
1716
+ if (!(effect2.flags & 1) || !effect2.dirty && !immediateFirstRun) {
1717
+ return;
1718
+ }
1719
+ if (cb) {
1720
+ const newValue = effect2.run();
1721
+ if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
1722
+ if (cleanup) {
1723
+ cleanup();
1724
+ }
1725
+ const currentWatcher = activeWatcher;
1726
+ activeWatcher = effect2;
1727
+ try {
1728
+ const args = [
1729
+ newValue,
1730
+ // pass undefined as the old value when it's changed for the first time
1731
+ oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
1732
+ boundCleanup
1733
+ ];
1734
+ call ? call(cb, 3, args) : (
1735
+ // @ts-expect-error
1736
+ cb(...args)
1737
+ );
1738
+ oldValue = newValue;
1739
+ } finally {
1740
+ activeWatcher = currentWatcher;
1741
+ }
1742
+ }
1743
+ } else {
1744
+ effect2.run();
1745
+ }
1746
+ };
1747
+ if (augmentJob) {
1748
+ augmentJob(job);
1749
+ }
1750
+ effect2 = new ReactiveEffect(getter);
1751
+ effect2.scheduler = scheduler ? () => scheduler(job, false) : job;
1752
+ boundCleanup = (fn) => onWatcherCleanup(fn, false, effect2);
1753
+ cleanup = effect2.onStop = () => {
1754
+ const cleanups = cleanupMap.get(effect2);
1755
+ if (cleanups) {
1756
+ if (call) {
1757
+ call(cleanups, 4);
1758
+ } else {
1759
+ for (const cleanup2 of cleanups) cleanup2();
1760
+ }
1761
+ cleanupMap.delete(effect2);
1762
+ }
1763
+ };
1764
+ if (cb) {
1765
+ if (immediate) {
1766
+ job(true);
1767
+ } else {
1768
+ oldValue = effect2.run();
1769
+ }
1770
+ } else if (scheduler) {
1771
+ scheduler(job.bind(null, true), true);
1772
+ } else {
1773
+ effect2.run();
1774
+ }
1775
+ watchHandle.pause = effect2.pause.bind(effect2);
1776
+ watchHandle.resume = effect2.resume.bind(effect2);
1777
+ watchHandle.stop = watchHandle;
1778
+ return watchHandle;
1779
+ }
1780
+ function traverse(value, depth = Infinity, seen) {
1781
+ if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
1782
+ return value;
1783
+ }
1784
+ seen = seen || /* @__PURE__ */ new Set();
1785
+ if (seen.has(value)) {
1786
+ return value;
1787
+ }
1788
+ seen.add(value);
1789
+ depth--;
1790
+ if (isRef(value)) {
1791
+ traverse(value.value, depth, seen);
1792
+ } else if (isArray$1(value)) {
1793
+ for (let i = 0; i < value.length; i++) {
1794
+ traverse(value[i], depth, seen);
1795
+ }
1796
+ } else if (isSet(value) || isMap(value)) {
1797
+ value.forEach((v) => {
1798
+ traverse(v, depth, seen);
1799
+ });
1800
+ } else if (isPlainObject(value)) {
1801
+ for (const key in value) {
1802
+ traverse(value[key], depth, seen);
1803
+ }
1804
+ for (const key of Object.getOwnPropertySymbols(value)) {
1805
+ if (Object.prototype.propertyIsEnumerable.call(value, key)) {
1806
+ traverse(value[key], depth, seen);
1807
+ }
1808
+ }
1809
+ }
1810
+ return value;
1811
+ }
1255
1812
 
1256
1813
  /* Injected with object hook! */
1257
1814
 
1258
1815
  /**
1259
- * @vue/runtime-core v3.4.38
1816
+ * @vue/runtime-core v3.5.5
1260
1817
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
1261
1818
  * @license MIT
1262
1819
  **/
@@ -1393,6 +1950,7 @@ function callWithAsyncErrorHandling(fn, instance, type, args) {
1393
1950
  }
1394
1951
  function handleError(err, instance, type, throwInDev = true) {
1395
1952
  const contextVNode = instance ? instance.vnode : null;
1953
+ const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;
1396
1954
  if (instance) {
1397
1955
  let cur = instance.parent;
1398
1956
  const exposedInstance = instance.proxy;
@@ -1408,23 +1966,23 @@ function handleError(err, instance, type, throwInDev = true) {
1408
1966
  }
1409
1967
  cur = cur.parent;
1410
1968
  }
1411
- const appErrorHandler = instance.appContext.config.errorHandler;
1412
- if (appErrorHandler) {
1969
+ if (errorHandler) {
1413
1970
  pauseTracking();
1414
- callWithErrorHandling(
1415
- appErrorHandler,
1416
- null,
1417
- 10,
1418
- [err, exposedInstance, errorInfo]
1419
- );
1971
+ callWithErrorHandling(errorHandler, null, 10, [
1972
+ err,
1973
+ exposedInstance,
1974
+ errorInfo
1975
+ ]);
1420
1976
  resetTracking();
1421
1977
  return;
1422
1978
  }
1423
1979
  }
1424
- logError(err, type, contextVNode, throwInDev);
1980
+ logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);
1425
1981
  }
1426
- function logError(err, type, contextVNode, throwInDev = true) {
1427
- {
1982
+ function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {
1983
+ if (throwInProd) {
1984
+ throw err;
1985
+ } else {
1428
1986
  console.error(err);
1429
1987
  }
1430
1988
  }
@@ -1442,13 +2000,13 @@ function nextTick(fn) {
1442
2000
  return fn ? p.then(this ? fn.bind(this) : fn) : p;
1443
2001
  }
1444
2002
  function findInsertionIndex$1(id) {
1445
- let start = flushIndex + 1;
2003
+ let start = isFlushing ? flushIndex + 1 : 0;
1446
2004
  let end = queue.length;
1447
2005
  while (start < end) {
1448
2006
  const middle = start + end >>> 1;
1449
2007
  const middleJob = queue[middle];
1450
2008
  const middleJobId = getId(middleJob);
1451
- if (middleJobId < id || middleJobId === id && middleJob.pre) {
2009
+ if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {
1452
2010
  start = middle + 1;
1453
2011
  } else {
1454
2012
  end = middle;
@@ -1457,15 +2015,16 @@ function findInsertionIndex$1(id) {
1457
2015
  return start;
1458
2016
  }
1459
2017
  function queueJob(job) {
1460
- if (!queue.length || !queue.includes(
1461
- job,
1462
- isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex
1463
- )) {
1464
- if (job.id == null) {
2018
+ if (!(job.flags & 1)) {
2019
+ const jobId = getId(job);
2020
+ const lastJob = queue[queue.length - 1];
2021
+ if (!lastJob || // fast path when the job id is larger than the tail
2022
+ !(job.flags & 2) && jobId >= getId(lastJob)) {
1465
2023
  queue.push(job);
1466
2024
  } else {
1467
- queue.splice(findInsertionIndex$1(job.id), 0, job);
2025
+ queue.splice(findInsertionIndex$1(jobId), 0, job);
1468
2026
  }
2027
+ job.flags |= 1;
1469
2028
  queueFlush();
1470
2029
  }
1471
2030
  }
@@ -1475,19 +2034,13 @@ function queueFlush() {
1475
2034
  currentFlushPromise = resolvedPromise.then(flushJobs);
1476
2035
  }
1477
2036
  }
1478
- function invalidateJob(job) {
1479
- const i = queue.indexOf(job);
1480
- if (i > flushIndex) {
1481
- queue.splice(i, 1);
1482
- }
1483
- }
1484
2037
  function queuePostFlushCb(cb) {
1485
2038
  if (!isArray$1(cb)) {
1486
- if (!activePostFlushCbs || !activePostFlushCbs.includes(
1487
- cb,
1488
- cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex
1489
- )) {
2039
+ if (activePostFlushCbs && cb.id === -1) {
2040
+ activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);
2041
+ } else if (!(cb.flags & 1)) {
1490
2042
  pendingPostFlushCbs.push(cb);
2043
+ cb.flags |= 1;
1491
2044
  }
1492
2045
  } else {
1493
2046
  pendingPostFlushCbs.push(...cb);
@@ -1497,13 +2050,17 @@ function queuePostFlushCb(cb) {
1497
2050
  function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
1498
2051
  for (; i < queue.length; i++) {
1499
2052
  const cb = queue[i];
1500
- if (cb && cb.pre) {
2053
+ if (cb && cb.flags & 2) {
1501
2054
  if (instance && cb.id !== instance.uid) {
1502
2055
  continue;
1503
2056
  }
1504
2057
  queue.splice(i, 1);
1505
2058
  i--;
2059
+ if (cb.flags & 4) {
2060
+ cb.flags &= ~1;
2061
+ }
1506
2062
  cb();
2063
+ cb.flags &= ~1;
1507
2064
  }
1508
2065
  }
1509
2066
  }
@@ -1520,38 +2077,43 @@ function flushPostFlushCbs(seen) {
1520
2077
  activePostFlushCbs = deduped;
1521
2078
  for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
1522
2079
  const cb = activePostFlushCbs[postFlushIndex];
1523
- if (cb.active !== false) cb();
2080
+ if (cb.flags & 4) {
2081
+ cb.flags &= ~1;
2082
+ }
2083
+ if (!(cb.flags & 8)) cb();
2084
+ cb.flags &= ~1;
1524
2085
  }
1525
2086
  activePostFlushCbs = null;
1526
2087
  postFlushIndex = 0;
1527
2088
  }
1528
2089
  }
1529
- const getId = (job) => job.id == null ? Infinity : job.id;
1530
- const comparator = (a, b) => {
1531
- const diff = getId(a) - getId(b);
1532
- if (diff === 0) {
1533
- if (a.pre && !b.pre) return -1;
1534
- if (b.pre && !a.pre) return 1;
1535
- }
1536
- return diff;
1537
- };
2090
+ const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
1538
2091
  function flushJobs(seen) {
1539
2092
  isFlushPending = false;
1540
2093
  isFlushing = true;
1541
- queue.sort(comparator);
1542
2094
  try {
1543
2095
  for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
1544
2096
  const job = queue[flushIndex];
1545
- if (job && job.active !== false) {
2097
+ if (job && !(job.flags & 8)) {
1546
2098
  if (false) ;
2099
+ if (job.flags & 4) {
2100
+ job.flags &= ~1;
2101
+ }
1547
2102
  callWithErrorHandling(
1548
2103
  job,
1549
2104
  job.i,
1550
2105
  job.i ? 15 : 14
1551
2106
  );
2107
+ job.flags &= ~1;
1552
2108
  }
1553
2109
  }
1554
2110
  } finally {
2111
+ for (; flushIndex < queue.length; flushIndex++) {
2112
+ const job = queue[flushIndex];
2113
+ if (job) {
2114
+ job.flags &= ~1;
2115
+ }
2116
+ }
1555
2117
  flushIndex = 0;
1556
2118
  queue.length = 0;
1557
2119
  flushPostFlushCbs();
@@ -1647,8 +2209,11 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
1647
2209
  }
1648
2210
  }
1649
2211
  }
2212
+ const TeleportEndKey = Symbol("_vte");
2213
+ const isTeleport = (type) => type.__isTeleport;
1650
2214
  function setTransitionHooks(vnode, hooks) {
1651
2215
  if (vnode.shapeFlag & 6 && vnode.component) {
2216
+ vnode.transition = hooks;
1652
2217
  setTransitionHooks(vnode.component.subTree, hooks);
1653
2218
  } else if (vnode.shapeFlag & 128) {
1654
2219
  vnode.ssContent.transition = hooks.clone(vnode.ssContent);
@@ -1657,15 +2222,99 @@ function setTransitionHooks(vnode, hooks) {
1657
2222
  vnode.transition = hooks;
1658
2223
  }
1659
2224
  }
1660
- /*! #__NO_SIDE_EFFECTS__ */
1661
- // @__NO_SIDE_EFFECTS__
1662
- function defineComponent(options, extraOptions) {
1663
- return isFunction(options) ? (
1664
- // #8326: extend call and options.name access are considered side-effects
1665
- // by Rollup, so we have to wrap it in a pure-annotated IIFE.
1666
- /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()
1667
- ) : options;
1668
- }
2225
+ /*! #__NO_SIDE_EFFECTS__ */
2226
+ // @__NO_SIDE_EFFECTS__
2227
+ function defineComponent(options, extraOptions) {
2228
+ return isFunction(options) ? (
2229
+ // #8236: extend call and options.name access are considered side-effects
2230
+ // by Rollup, so we have to wrap it in a pure-annotated IIFE.
2231
+ /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()
2232
+ ) : options;
2233
+ }
2234
+ function markAsyncBoundary(instance) {
2235
+ instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0];
2236
+ }
2237
+ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
2238
+ if (isArray$1(rawRef)) {
2239
+ rawRef.forEach(
2240
+ (r, i) => setRef(
2241
+ r,
2242
+ oldRawRef && (isArray$1(oldRawRef) ? oldRawRef[i] : oldRawRef),
2243
+ parentSuspense,
2244
+ vnode,
2245
+ isUnmount
2246
+ )
2247
+ );
2248
+ return;
2249
+ }
2250
+ if (isAsyncWrapper(vnode) && !isUnmount) {
2251
+ return;
2252
+ }
2253
+ const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
2254
+ const value = isUnmount ? null : refValue;
2255
+ const { i: owner, r: ref3 } = rawRef;
2256
+ const oldRef = oldRawRef && oldRawRef.r;
2257
+ const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
2258
+ const setupState = owner.setupState;
2259
+ const rawSetupState = toRaw(setupState);
2260
+ const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {
2261
+ return hasOwn(rawSetupState, key);
2262
+ };
2263
+ if (oldRef != null && oldRef !== ref3) {
2264
+ if (isString(oldRef)) {
2265
+ refs[oldRef] = null;
2266
+ if (canSetSetupRef(oldRef)) {
2267
+ setupState[oldRef] = null;
2268
+ }
2269
+ } else if (isRef(oldRef)) {
2270
+ oldRef.value = null;
2271
+ }
2272
+ }
2273
+ if (isFunction(ref3)) {
2274
+ callWithErrorHandling(ref3, owner, 12, [value, refs]);
2275
+ } else {
2276
+ const _isString = isString(ref3);
2277
+ const _isRef = isRef(ref3);
2278
+ if (_isString || _isRef) {
2279
+ const doSet = () => {
2280
+ if (rawRef.f) {
2281
+ const existing = _isString ? canSetSetupRef(ref3) ? setupState[ref3] : refs[ref3] : ref3.value;
2282
+ if (isUnmount) {
2283
+ isArray$1(existing) && remove(existing, refValue);
2284
+ } else {
2285
+ if (!isArray$1(existing)) {
2286
+ if (_isString) {
2287
+ refs[ref3] = [refValue];
2288
+ if (canSetSetupRef(ref3)) {
2289
+ setupState[ref3] = refs[ref3];
2290
+ }
2291
+ } else {
2292
+ ref3.value = [refValue];
2293
+ if (rawRef.k) refs[rawRef.k] = ref3.value;
2294
+ }
2295
+ } else if (!existing.includes(refValue)) {
2296
+ existing.push(refValue);
2297
+ }
2298
+ }
2299
+ } else if (_isString) {
2300
+ refs[ref3] = value;
2301
+ if (canSetSetupRef(ref3)) {
2302
+ setupState[ref3] = value;
2303
+ }
2304
+ } else if (_isRef) {
2305
+ ref3.value = value;
2306
+ if (rawRef.k) refs[rawRef.k] = value;
2307
+ } else ;
2308
+ };
2309
+ if (value) {
2310
+ doSet.id = -1;
2311
+ queuePostRenderEffect(doSet, parentSuspense);
2312
+ } else {
2313
+ doSet();
2314
+ }
2315
+ }
2316
+ }
2317
+ }
1669
2318
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
1670
2319
  const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
1671
2320
  function onActivated(hook, target) {
@@ -1734,17 +2383,19 @@ const createHook = (lifecycle) => (hook, target = currentInstance) => {
1734
2383
  };
1735
2384
  const onBeforeMount = createHook("bm");
1736
2385
  const onMounted = createHook("m");
1737
- const onBeforeUpdate = createHook("bu");
2386
+ const onBeforeUpdate = createHook(
2387
+ "bu"
2388
+ );
1738
2389
  const onUpdated = createHook("u");
1739
- const onBeforeUnmount = createHook("bum");
1740
- const onUnmounted = createHook("um");
1741
- const onServerPrefetch = createHook("sp");
1742
- const onRenderTriggered = createHook(
1743
- "rtg"
2390
+ const onBeforeUnmount = createHook(
2391
+ "bum"
1744
2392
  );
1745
- const onRenderTracked = createHook(
1746
- "rtc"
2393
+ const onUnmounted = createHook("um");
2394
+ const onServerPrefetch = createHook(
2395
+ "sp"
1747
2396
  );
2397
+ const onRenderTriggered = createHook("rtg");
2398
+ const onRenderTracked = createHook("rtc");
1748
2399
  function onErrorCaptured(hook, target = currentInstance) {
1749
2400
  injectHook("ec", hook, target);
1750
2401
  }
@@ -1784,10 +2435,22 @@ function resolve(registry, name) {
1784
2435
  function renderList(source, renderItem, cache, index) {
1785
2436
  let ret;
1786
2437
  const cached = cache;
1787
- if (isArray$1(source) || isString(source)) {
2438
+ const sourceIsArray = isArray$1(source);
2439
+ if (sourceIsArray || isString(source)) {
2440
+ const sourceIsReactiveArray = sourceIsArray && isReactive(source);
2441
+ let needsWrap = false;
2442
+ if (sourceIsReactiveArray) {
2443
+ needsWrap = !isShallow(source);
2444
+ source = shallowReadArray(source);
2445
+ }
1788
2446
  ret = new Array(source.length);
1789
2447
  for (let i = 0, l = source.length; i < l; i++) {
1790
- ret[i] = renderItem(source[i], i, void 0, cached);
2448
+ ret[i] = renderItem(
2449
+ needsWrap ? toReactive(source[i]) : source[i],
2450
+ i,
2451
+ void 0,
2452
+ cached
2453
+ );
1791
2454
  }
1792
2455
  } else if (typeof source === "number") {
1793
2456
  ret = new Array(source);
@@ -1814,9 +2477,14 @@ function renderList(source, renderItem, cache, index) {
1814
2477
  return ret;
1815
2478
  }
1816
2479
  function renderSlot(slots, name, props = {}, fallback, noSlotted) {
1817
- if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {
2480
+ if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
1818
2481
  if (name !== "default") props.name = name;
1819
- return createVNode("slot", props, fallback);
2482
+ return openBlock(), createBlock(
2483
+ Fragment,
2484
+ null,
2485
+ [createVNode("slot", props, fallback)],
2486
+ 64
2487
+ );
1820
2488
  }
1821
2489
  let slot = slots[name];
1822
2490
  if (slot && slot._c) {
@@ -1870,10 +2538,10 @@ const publicPropertiesMap = (
1870
2538
  $refs: (i) => i.refs,
1871
2539
  $parent: (i) => getPublicInstance(i.parent),
1872
2540
  $root: (i) => getPublicInstance(i.root),
2541
+ $host: (i) => i.ce,
1873
2542
  $emit: (i) => i.emit,
1874
2543
  $options: (i) => resolveMergedOptions(i) ,
1875
2544
  $forceUpdate: (i) => i.f || (i.f = () => {
1876
- i.effect.dirty = true;
1877
2545
  queueJob(i.update);
1878
2546
  }),
1879
2547
  $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),
@@ -2120,6 +2788,9 @@ function applyOptions(instance) {
2120
2788
  }
2121
2789
  if (components) instance.components = components;
2122
2790
  if (directives) instance.directives = directives;
2791
+ if (serverPrefetch) {
2792
+ markAsyncBoundary(instance);
2793
+ }
2123
2794
  }
2124
2795
  function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {
2125
2796
  if (isArray$1(injectOptions)) {
@@ -2161,14 +2832,18 @@ function callHook(hook, instance, type) {
2161
2832
  );
2162
2833
  }
2163
2834
  function createWatcher(raw, ctx, publicThis, key) {
2164
- const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
2835
+ let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
2165
2836
  if (isString(raw)) {
2166
2837
  const handler = ctx[raw];
2167
2838
  if (isFunction(handler)) {
2168
- watch(getter, handler);
2839
+ {
2840
+ watch(getter, handler);
2841
+ }
2169
2842
  }
2170
2843
  } else if (isFunction(raw)) {
2171
- watch(getter, raw.bind(publicThis));
2844
+ {
2845
+ watch(getter, raw.bind(publicThis));
2846
+ }
2172
2847
  } else if (isObject(raw)) {
2173
2848
  if (isArray$1(raw)) {
2174
2849
  raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
@@ -2347,6 +3022,7 @@ function createAppAPI(render, hydrate) {
2347
3022
  }
2348
3023
  const context = createAppContext();
2349
3024
  const installedPlugins = /* @__PURE__ */ new WeakSet();
3025
+ const pluginCleanupFns = [];
2350
3026
  let isMounted = false;
2351
3027
  const app = context.app = {
2352
3028
  _uid: uid$1++,
@@ -2395,7 +3071,7 @@ function createAppAPI(render, hydrate) {
2395
3071
  },
2396
3072
  mount(rootContainer, isHydrate, namespace) {
2397
3073
  if (!isMounted) {
2398
- const vnode = createVNode(rootComponent, rootProps);
3074
+ const vnode = app._ceVNode || createVNode(rootComponent, rootProps);
2399
3075
  vnode.appContext = context;
2400
3076
  if (namespace === true) {
2401
3077
  namespace = "svg";
@@ -2413,8 +3089,16 @@ function createAppAPI(render, hydrate) {
2413
3089
  return getComponentPublicInstance(vnode.component);
2414
3090
  }
2415
3091
  },
3092
+ onUnmount(cleanupFn) {
3093
+ pluginCleanupFns.push(cleanupFn);
3094
+ },
2416
3095
  unmount() {
2417
3096
  if (isMounted) {
3097
+ callWithAsyncErrorHandling(
3098
+ pluginCleanupFns,
3099
+ app._instance,
3100
+ 16
3101
+ );
2418
3102
  render(null, app._container);
2419
3103
  delete app._container.__vue_app__;
2420
3104
  }
@@ -2634,6 +3318,9 @@ function resolvePropValue(options, props, key, value, instance, isAbsent) {
2634
3318
  } else {
2635
3319
  value = defaultValue;
2636
3320
  }
3321
+ if (instance.ce) {
3322
+ instance.ce._setProp(key, value);
3323
+ }
2637
3324
  }
2638
3325
  if (opt[
2639
3326
  0
@@ -2823,85 +3510,6 @@ const updateSlots = (instance, children, optimized) => {
2823
3510
  }
2824
3511
  }
2825
3512
  };
2826
- function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
2827
- if (isArray$1(rawRef)) {
2828
- rawRef.forEach(
2829
- (r, i) => setRef(
2830
- r,
2831
- oldRawRef && (isArray$1(oldRawRef) ? oldRawRef[i] : oldRawRef),
2832
- parentSuspense,
2833
- vnode,
2834
- isUnmount
2835
- )
2836
- );
2837
- return;
2838
- }
2839
- if (isAsyncWrapper(vnode) && !isUnmount) {
2840
- return;
2841
- }
2842
- const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
2843
- const value = isUnmount ? null : refValue;
2844
- const { i: owner, r: ref3 } = rawRef;
2845
- const oldRef = oldRawRef && oldRawRef.r;
2846
- const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
2847
- const setupState = owner.setupState;
2848
- if (oldRef != null && oldRef !== ref3) {
2849
- if (isString(oldRef)) {
2850
- refs[oldRef] = null;
2851
- if (hasOwn(setupState, oldRef)) {
2852
- setupState[oldRef] = null;
2853
- }
2854
- } else if (isRef(oldRef)) {
2855
- oldRef.value = null;
2856
- }
2857
- }
2858
- if (isFunction(ref3)) {
2859
- callWithErrorHandling(ref3, owner, 12, [value, refs]);
2860
- } else {
2861
- const _isString = isString(ref3);
2862
- const _isRef = isRef(ref3);
2863
- if (_isString || _isRef) {
2864
- const doSet = () => {
2865
- if (rawRef.f) {
2866
- const existing = _isString ? hasOwn(setupState, ref3) ? setupState[ref3] : refs[ref3] : ref3.value;
2867
- if (isUnmount) {
2868
- isArray$1(existing) && remove(existing, refValue);
2869
- } else {
2870
- if (!isArray$1(existing)) {
2871
- if (_isString) {
2872
- refs[ref3] = [refValue];
2873
- if (hasOwn(setupState, ref3)) {
2874
- setupState[ref3] = refs[ref3];
2875
- }
2876
- } else {
2877
- ref3.value = [refValue];
2878
- if (rawRef.k) refs[rawRef.k] = ref3.value;
2879
- }
2880
- } else if (!existing.includes(refValue)) {
2881
- existing.push(refValue);
2882
- }
2883
- }
2884
- } else if (_isString) {
2885
- refs[ref3] = value;
2886
- if (hasOwn(setupState, ref3)) {
2887
- setupState[ref3] = value;
2888
- }
2889
- } else if (_isRef) {
2890
- ref3.value = value;
2891
- if (rawRef.k) refs[rawRef.k] = value;
2892
- } else ;
2893
- };
2894
- if (value) {
2895
- doSet.id = -1;
2896
- queuePostRenderEffect(doSet, parentSuspense);
2897
- } else {
2898
- doSet();
2899
- }
2900
- }
2901
- }
2902
- }
2903
- const TeleportEndKey = Symbol("_vte");
2904
- const isTeleport = (type) => type.__isTeleport;
2905
3513
  const queuePostRenderEffect = queueEffectWithSuspense;
2906
3514
  function createRenderer(options) {
2907
3515
  return baseCreateRenderer(options);
@@ -3169,7 +3777,7 @@ function baseCreateRenderer(options, createHydrationFns) {
3169
3777
  }
3170
3778
  if (parentComponent) {
3171
3779
  let subTree = parentComponent.subTree;
3172
- if (vnode === subTree) {
3780
+ if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) {
3173
3781
  const parentVNode = parentComponent.vnode;
3174
3782
  setScopeId(
3175
3783
  el,
@@ -3467,8 +4075,6 @@ function baseCreateRenderer(options, createHydrationFns) {
3467
4075
  return;
3468
4076
  } else {
3469
4077
  instance.next = n2;
3470
- invalidateJob(instance.update);
3471
- instance.effect.dirty = true;
3472
4078
  instance.update();
3473
4079
  }
3474
4080
  } else {
@@ -3481,7 +4087,7 @@ function baseCreateRenderer(options, createHydrationFns) {
3481
4087
  if (!instance.isMounted) {
3482
4088
  let vnodeHook;
3483
4089
  const { el, props } = initialVNode;
3484
- const { bm, m, parent } = instance;
4090
+ const { bm, m, parent, root, type } = instance;
3485
4091
  const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
3486
4092
  toggleRecurse(instance, false);
3487
4093
  if (bm) {
@@ -3502,18 +4108,19 @@ function baseCreateRenderer(options, createHydrationFns) {
3502
4108
  null
3503
4109
  );
3504
4110
  };
3505
- if (isAsyncWrapperVNode) {
3506
- initialVNode.type.__asyncLoader().then(
3507
- // note: we are moving the render call into an async callback,
3508
- // which means it won't track dependencies - but it's ok because
3509
- // a server-rendered async wrapper is already in resolved state
3510
- // and it will never need to change.
3511
- () => !instance.isUnmounted && hydrateSubTree()
4111
+ if (isAsyncWrapperVNode && type.__asyncHydrate) {
4112
+ type.__asyncHydrate(
4113
+ el,
4114
+ instance,
4115
+ hydrateSubTree
3512
4116
  );
3513
4117
  } else {
3514
4118
  hydrateSubTree();
3515
4119
  }
3516
4120
  } else {
4121
+ if (root.ce) {
4122
+ root.ce._injectChildStyle(type);
4123
+ }
3517
4124
  const subTree = instance.subTree = renderComponentRoot(instance);
3518
4125
  patch(
3519
4126
  null,
@@ -3603,20 +4210,14 @@ function baseCreateRenderer(options, createHydrationFns) {
3603
4210
  }
3604
4211
  }
3605
4212
  };
3606
- const effect2 = instance.effect = new ReactiveEffect(
3607
- componentUpdateFn,
3608
- NOOP,
3609
- () => queueJob(update),
3610
- instance.scope
3611
- // track it in component's effect scope
3612
- );
3613
- const update = instance.update = () => {
3614
- if (effect2.dirty) {
3615
- effect2.run();
3616
- }
3617
- };
3618
- update.i = instance;
3619
- update.id = instance.uid;
4213
+ instance.scope.on();
4214
+ const effect2 = instance.effect = new ReactiveEffect(componentUpdateFn);
4215
+ instance.scope.off();
4216
+ const update = instance.update = effect2.run.bind(effect2);
4217
+ const job = instance.job = effect2.runIfDirty.bind(effect2);
4218
+ job.i = instance;
4219
+ job.id = instance.uid;
4220
+ effect2.scheduler = () => queueJob(job);
3620
4221
  toggleRecurse(instance, true);
3621
4222
  update();
3622
4223
  };
@@ -4075,15 +4676,15 @@ function baseCreateRenderer(options, createHydrationFns) {
4075
4676
  hostRemove(end);
4076
4677
  };
4077
4678
  const unmountComponent = (instance, parentSuspense, doRemove) => {
4078
- const { bum, scope, update, subTree, um, m, a } = instance;
4679
+ const { bum, scope, job, subTree, um, m, a } = instance;
4079
4680
  invalidateMount(m);
4080
4681
  invalidateMount(a);
4081
4682
  if (bum) {
4082
4683
  invokeArrayFns(bum);
4083
4684
  }
4084
4685
  scope.stop();
4085
- if (update) {
4086
- update.active = false;
4686
+ if (job) {
4687
+ job.flags |= 8;
4087
4688
  unmount(subTree, instance, parentSuspense, doRemove);
4088
4689
  }
4089
4690
  if (um) {
@@ -4163,8 +4764,14 @@ function baseCreateRenderer(options, createHydrationFns) {
4163
4764
  function resolveChildrenNamespace({ type, props }, currentNamespace) {
4164
4765
  return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
4165
4766
  }
4166
- function toggleRecurse({ effect: effect2, update }, allowed) {
4167
- effect2.allowRecurse = update.allowRecurse = allowed;
4767
+ function toggleRecurse({ effect: effect2, job }, allowed) {
4768
+ if (allowed) {
4769
+ effect2.flags |= 32;
4770
+ job.flags |= 4;
4771
+ } else {
4772
+ effect2.flags &= ~32;
4773
+ job.flags &= ~4;
4774
+ }
4168
4775
  }
4169
4776
  function needTransition(parentSuspense, transition) {
4170
4777
  return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;
@@ -4242,7 +4849,8 @@ function locateNonHydratedAsyncRoot(instance) {
4242
4849
  }
4243
4850
  function invalidateMount(hooks) {
4244
4851
  if (hooks) {
4245
- for (let i = 0; i < hooks.length; i++) hooks[i].active = false;
4852
+ for (let i = 0; i < hooks.length; i++)
4853
+ hooks[i].flags |= 8;
4246
4854
  }
4247
4855
  }
4248
4856
  const ssrContextKey = Symbol.for("v-scx");
@@ -4252,158 +4860,59 @@ const useSSRContext = () => {
4252
4860
  return ctx;
4253
4861
  }
4254
4862
  };
4255
- const INITIAL_WATCHER_VALUE = {};
4256
4863
  function watch(source, cb, options) {
4257
4864
  return doWatch(source, cb, options);
4258
4865
  }
4259
- function doWatch(source, cb, {
4260
- immediate,
4261
- deep,
4262
- flush,
4263
- once,
4264
- onTrack,
4265
- onTrigger
4266
- } = EMPTY_OBJ) {
4267
- if (cb && once) {
4268
- const _cb = cb;
4269
- cb = (...args) => {
4270
- _cb(...args);
4271
- unwatch();
4272
- };
4273
- }
4274
- const instance = currentInstance;
4275
- const reactiveGetter = (source2) => deep === true ? source2 : (
4276
- // for deep: false, only traverse root-level properties
4277
- traverse(source2, deep === false ? 1 : void 0)
4278
- );
4279
- let getter;
4280
- let forceTrigger = false;
4281
- let isMultiSource = false;
4282
- if (isRef(source)) {
4283
- getter = () => source.value;
4284
- forceTrigger = isShallow(source);
4285
- } else if (isReactive(source)) {
4286
- getter = () => reactiveGetter(source);
4287
- forceTrigger = true;
4288
- } else if (isArray$1(source)) {
4289
- isMultiSource = true;
4290
- forceTrigger = source.some((s) => isReactive(s) || isShallow(s));
4291
- getter = () => source.map((s) => {
4292
- if (isRef(s)) {
4293
- return s.value;
4294
- } else if (isReactive(s)) {
4295
- return reactiveGetter(s);
4296
- } else if (isFunction(s)) {
4297
- return callWithErrorHandling(s, instance, 2);
4298
- } else ;
4299
- });
4300
- } else if (isFunction(source)) {
4301
- if (cb) {
4302
- getter = () => callWithErrorHandling(source, instance, 2);
4303
- } else {
4304
- getter = () => {
4305
- if (cleanup) {
4306
- cleanup();
4307
- }
4308
- return callWithAsyncErrorHandling(
4309
- source,
4310
- instance,
4311
- 3,
4312
- [onCleanup]
4313
- );
4314
- };
4315
- }
4316
- } else {
4317
- getter = NOOP;
4318
- }
4319
- if (cb && deep) {
4320
- const baseGetter = getter;
4321
- getter = () => traverse(baseGetter());
4322
- }
4323
- let cleanup;
4324
- let onCleanup = (fn) => {
4325
- cleanup = effect2.onStop = () => {
4326
- callWithErrorHandling(fn, instance, 4);
4327
- cleanup = effect2.onStop = void 0;
4328
- };
4329
- };
4866
+ function doWatch(source, cb, options = EMPTY_OBJ) {
4867
+ const { immediate, deep, flush, once } = options;
4868
+ const baseWatchOptions = extend({}, options);
4330
4869
  let ssrCleanup;
4331
4870
  if (isInSSRComponentSetup) {
4332
- onCleanup = NOOP;
4333
- if (!cb) {
4334
- getter();
4335
- } else if (immediate) {
4336
- callWithAsyncErrorHandling(cb, instance, 3, [
4337
- getter(),
4338
- isMultiSource ? [] : void 0,
4339
- onCleanup
4340
- ]);
4341
- }
4342
4871
  if (flush === "sync") {
4343
4872
  const ctx = useSSRContext();
4344
4873
  ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
4874
+ } else if (!cb || immediate) {
4875
+ baseWatchOptions.once = true;
4345
4876
  } else {
4346
- return NOOP;
4877
+ return {
4878
+ stop: NOOP,
4879
+ resume: NOOP,
4880
+ pause: NOOP
4881
+ };
4347
4882
  }
4348
4883
  }
4349
- let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
4350
- const job = () => {
4351
- if (!effect2.active || !effect2.dirty) {
4352
- return;
4353
- }
4354
- if (cb) {
4355
- const newValue = effect2.run();
4356
- if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {
4357
- if (cleanup) {
4358
- cleanup();
4359
- }
4360
- callWithAsyncErrorHandling(cb, instance, 3, [
4361
- newValue,
4362
- // pass undefined as the old value when it's changed for the first time
4363
- oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
4364
- onCleanup
4365
- ]);
4366
- oldValue = newValue;
4884
+ const instance = currentInstance;
4885
+ baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
4886
+ let isPre = false;
4887
+ if (flush === "post") {
4888
+ baseWatchOptions.scheduler = (job) => {
4889
+ queuePostRenderEffect(job, instance && instance.suspense);
4890
+ };
4891
+ } else if (flush !== "sync") {
4892
+ isPre = true;
4893
+ baseWatchOptions.scheduler = (job, isFirstRun) => {
4894
+ if (isFirstRun) {
4895
+ job();
4896
+ } else {
4897
+ queueJob(job);
4367
4898
  }
4368
- } else {
4369
- effect2.run();
4370
- }
4371
- };
4372
- job.allowRecurse = !!cb;
4373
- let scheduler;
4374
- if (flush === "sync") {
4375
- scheduler = job;
4376
- } else if (flush === "post") {
4377
- scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
4378
- } else {
4379
- job.pre = true;
4380
- if (instance) job.id = instance.uid;
4381
- scheduler = () => queueJob(job);
4899
+ };
4382
4900
  }
4383
- const effect2 = new ReactiveEffect(getter, NOOP, scheduler);
4384
- const scope = getCurrentScope();
4385
- const unwatch = () => {
4386
- effect2.stop();
4387
- if (scope) {
4388
- remove(scope.effects, effect2);
4901
+ baseWatchOptions.augmentJob = (job) => {
4902
+ if (cb) {
4903
+ job.flags |= 4;
4389
4904
  }
4390
- };
4391
- if (cb) {
4392
- if (immediate) {
4393
- job();
4394
- } else {
4395
- oldValue = effect2.run();
4905
+ if (isPre) {
4906
+ job.flags |= 2;
4907
+ if (instance) {
4908
+ job.id = instance.uid;
4909
+ job.i = instance;
4910
+ }
4396
4911
  }
4397
- } else if (flush === "post") {
4398
- queuePostRenderEffect(
4399
- effect2.run.bind(effect2),
4400
- instance && instance.suspense
4401
- );
4402
- } else {
4403
- effect2.run();
4404
- }
4405
- if (ssrCleanup) ssrCleanup.push(unwatch);
4406
- return unwatch;
4912
+ };
4913
+ const watchHandle = watch$1(source, cb, baseWatchOptions);
4914
+ if (ssrCleanup) ssrCleanup.push(watchHandle);
4915
+ return watchHandle;
4407
4916
  }
4408
4917
  function instanceWatch(source, value, options) {
4409
4918
  const publicThis = this.proxy;
@@ -4430,38 +4939,6 @@ function createPathGetter(ctx, path) {
4430
4939
  return cur;
4431
4940
  };
4432
4941
  }
4433
- function traverse(value, depth = Infinity, seen) {
4434
- if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
4435
- return value;
4436
- }
4437
- seen = seen || /* @__PURE__ */ new Set();
4438
- if (seen.has(value)) {
4439
- return value;
4440
- }
4441
- seen.add(value);
4442
- depth--;
4443
- if (isRef(value)) {
4444
- traverse(value.value, depth, seen);
4445
- } else if (isArray$1(value)) {
4446
- for (let i = 0; i < value.length; i++) {
4447
- traverse(value[i], depth, seen);
4448
- }
4449
- } else if (isSet(value) || isMap(value)) {
4450
- value.forEach((v) => {
4451
- traverse(v, depth, seen);
4452
- });
4453
- } else if (isPlainObject(value)) {
4454
- for (const key in value) {
4455
- traverse(value[key], depth, seen);
4456
- }
4457
- for (const key of Object.getOwnPropertySymbols(value)) {
4458
- if (Object.prototype.propertyIsEnumerable.call(value, key)) {
4459
- traverse(value[key], depth, seen);
4460
- }
4461
- }
4462
- }
4463
- return value;
4464
- }
4465
4942
  const getModelModifiers = (props, modelName) => {
4466
4943
  return modelName === "modelValue" || modelName === "model-value" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${camelize(modelName)}Modifiers`] || props[`${hyphenate(modelName)}Modifiers`];
4467
4944
  };
@@ -4654,7 +5131,7 @@ function renderComponentRoot(instance) {
4654
5131
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
4655
5132
  }
4656
5133
  if (vnode.transition) {
4657
- root.transition = vnode.transition;
5134
+ setTransitionHooks(root, vnode.transition);
4658
5135
  }
4659
5136
  {
4660
5137
  result = root;
@@ -5114,6 +5591,7 @@ function createComponentInstance(vnode, parent, suspense) {
5114
5591
  effect: null,
5115
5592
  update: null,
5116
5593
  // will be set synchronously right after creation
5594
+ job: null,
5117
5595
  scope: new EffectScope(
5118
5596
  true
5119
5597
  /* detached */
@@ -5124,6 +5602,7 @@ function createComponentInstance(vnode, parent, suspense) {
5124
5602
  exposeProxy: null,
5125
5603
  withProxy: null,
5126
5604
  provides: parent ? parent.provides : Object.create(appContext.provides),
5605
+ ids: parent ? parent.ids : ["", 0, 0],
5127
5606
  accessCache: null,
5128
5607
  renderCache: [],
5129
5608
  // local resolved assets
@@ -5255,6 +5734,7 @@ function setupStatefulComponent(instance, isSSR) {
5255
5734
  resetTracking();
5256
5735
  reset();
5257
5736
  if (isPromise(setupResult)) {
5737
+ if (!isAsyncWrapper(instance)) markAsyncBoundary(instance);
5258
5738
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
5259
5739
  if (isSSR) {
5260
5740
  return setupResult.then((resolvedResult) => {
@@ -5410,15 +5890,26 @@ function h(type, propsOrChildren, children) {
5410
5890
  return createVNode(type, propsOrChildren, children);
5411
5891
  }
5412
5892
  }
5413
- const version = "3.4.38";
5893
+ const version = "3.5.5";
5414
5894
 
5415
5895
  /* Injected with object hook! */
5416
5896
 
5417
5897
  /**
5418
- * @vue/runtime-dom v3.4.38
5898
+ * @vue/runtime-dom v3.5.5
5419
5899
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
5420
5900
  * @license MIT
5421
5901
  **/
5902
+ let policy = void 0;
5903
+ const tt = typeof window !== "undefined" && window.trustedTypes;
5904
+ if (tt) {
5905
+ try {
5906
+ policy = /* @__PURE__ */ tt.createPolicy("vue", {
5907
+ createHTML: (val) => val
5908
+ });
5909
+ } catch (e) {
5910
+ }
5911
+ }
5912
+ const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val;
5422
5913
  const svgNS = "http://www.w3.org/2000/svg";
5423
5914
  const mathmlNS = "http://www.w3.org/1998/Math/MathML";
5424
5915
  const doc = typeof document !== "undefined" ? document : null;
@@ -5466,7 +5957,9 @@ const nodeOps = {
5466
5957
  if (start === end || !(start = start.nextSibling)) break;
5467
5958
  }
5468
5959
  } else {
5469
- templateContainer.innerHTML = namespace === "svg" ? `<svg>${content}</svg>` : namespace === "mathml" ? `<math>${content}</math>` : content;
5960
+ templateContainer.innerHTML = unsafeToTrustedHTML(
5961
+ namespace === "svg" ? `<svg>${content}</svg>` : namespace === "mathml" ? `<math>${content}</math>` : content
5962
+ );
5470
5963
  const template = templateContainer.content;
5471
5964
  if (namespace === "svg" || namespace === "mathml") {
5472
5965
  const wrapper = template.firstChild;
@@ -5614,15 +6107,20 @@ function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBoolean
5614
6107
  }
5615
6108
  function patchDOMProp(el, key, value, parentComponent) {
5616
6109
  if (key === "innerHTML" || key === "textContent") {
5617
- if (value == null) return;
5618
- el[key] = value;
6110
+ if (value != null) {
6111
+ el[key] = key === "innerHTML" ? unsafeToTrustedHTML(value) : value;
6112
+ }
5619
6113
  return;
5620
6114
  }
5621
6115
  const tag = el.tagName;
5622
6116
  if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
5623
6117
  !tag.includes("-")) {
5624
6118
  const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value;
5625
- const newValue = value == null ? "" : String(value);
6119
+ const newValue = value == null ? (
6120
+ // #11647: value should be set as empty string for null and undefined,
6121
+ // but <input type="checkbox"> should be set as 'on'.
6122
+ el.type === "checkbox" ? "on" : ""
6123
+ ) : String(value);
5626
6124
  if (oldValue !== newValue || !("_value" in el)) {
5627
6125
  el.value = newValue;
5628
6126
  }
@@ -5783,7 +6281,13 @@ function shouldSetAsProp(el, key, value, isSVG) {
5783
6281
  if (isNativeOn(key) && isString(value)) {
5784
6282
  return false;
5785
6283
  }
5786
- return key in el;
6284
+ if (key in el) {
6285
+ return true;
6286
+ }
6287
+ if (el._isVueCE && (/[A-Z]/.test(key) || !isString(value))) {
6288
+ return true;
6289
+ }
6290
+ return false;
5787
6291
  }
5788
6292
  const getModelAssigner = (vnode) => {
5789
6293
  const fn = vnode.props["onUpdate:modelValue"] || false;
@@ -5891,12 +6395,16 @@ const vModelCheckbox = {
5891
6395
  };
5892
6396
  function setChecked(el, { value, oldValue }, vnode) {
5893
6397
  el._modelValue = value;
6398
+ let checked;
5894
6399
  if (isArray$1(value)) {
5895
- el.checked = looseIndexOf(value, vnode.props.value) > -1;
6400
+ checked = looseIndexOf(value, vnode.props.value) > -1;
5896
6401
  } else if (isSet(value)) {
5897
- el.checked = value.has(vnode.props.value);
5898
- } else if (value !== oldValue) {
5899
- el.checked = looseEqual(value, getCheckboxValue(el, true));
6402
+ checked = value.has(vnode.props.value);
6403
+ } else {
6404
+ checked = looseEqual(value, getCheckboxValue(el, true));
6405
+ }
6406
+ if (el.checked !== checked) {
6407
+ el.checked = checked;
5900
6408
  }
5901
6409
  }
5902
6410
  function getValue(el) {
@@ -5921,7 +6429,9 @@ const createApp = (...args) => {
5921
6429
  if (!isFunction(component) && !component.render && !component.template) {
5922
6430
  component.template = container.innerHTML;
5923
6431
  }
5924
- container.innerHTML = "";
6432
+ if (container.nodeType === 1) {
6433
+ container.textContent = "";
6434
+ }
5925
6435
  const proxy = mount(container, false, resolveRootNamespace(container));
5926
6436
  if (container instanceof Element) {
5927
6437
  container.removeAttribute("v-cloak");
@@ -5950,13 +6460,18 @@ function normalizeContainer(container) {
5950
6460
  /* Injected with object hook! */
5951
6461
 
5952
6462
  /*!
5953
- * vue-router v4.4.3
6463
+ * vue-router v4.4.5
5954
6464
  * (c) 2024 Eduardo San Martin Morote
5955
6465
  * @license MIT
5956
6466
  */
5957
6467
  const isBrowser = typeof document !== "undefined";
6468
+ function isRouteComponent(component) {
6469
+ return typeof component === "object" || "displayName" in component || "props" in component || "__vccOpts" in component;
6470
+ }
5958
6471
  function isESModule(obj) {
5959
- return obj.__esModule || obj[Symbol.toStringTag] === "Module";
6472
+ return obj.__esModule || obj[Symbol.toStringTag] === "Module" || // support CF with dynamic imports that do not
6473
+ // add the Module string tag
6474
+ obj.default && isRouteComponent(obj.default);
5960
6475
  }
5961
6476
  const assign = Object.assign;
5962
6477
  function applyToParams(fn, params) {
@@ -6704,22 +7219,24 @@ function createRouterMatcher(routes, globalOptions) {
6704
7219
  const mainNormalizedRecord = normalizeRouteRecord(record);
6705
7220
  mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;
6706
7221
  const options = mergeOptions(globalOptions, record);
6707
- const normalizedRecords = [
6708
- mainNormalizedRecord
6709
- ];
7222
+ const normalizedRecords = [mainNormalizedRecord];
6710
7223
  if ("alias" in record) {
6711
7224
  const aliases = typeof record.alias === "string" ? [record.alias] : record.alias;
6712
7225
  for (const alias of aliases) {
6713
- normalizedRecords.push(assign({}, mainNormalizedRecord, {
6714
- // this allows us to hold a copy of the `components` option
6715
- // so that async components cache is hold on the original record
6716
- components: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,
6717
- path: alias,
6718
- // we might be the child of an alias
6719
- aliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord
6720
- // the aliases are always of the same kind as the original since they
6721
- // are defined on the same record
6722
- }));
7226
+ normalizedRecords.push(
7227
+ // we need to normalize again to ensure the `mods` property
7228
+ // being non enumerable
7229
+ normalizeRouteRecord(assign({}, mainNormalizedRecord, {
7230
+ // this allows us to hold a copy of the `components` option
7231
+ // so that async components cache is hold on the original record
7232
+ components: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,
7233
+ path: alias,
7234
+ // we might be the child of an alias
7235
+ aliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord
7236
+ // the aliases are always of the same kind as the original since they
7237
+ // are defined on the same record
7238
+ }))
7239
+ );
6723
7240
  }
6724
7241
  }
6725
7242
  let matcher;
@@ -6865,12 +7382,12 @@ function paramsFromLocation(params, keys) {
6865
7382
  return newParams;
6866
7383
  }
6867
7384
  function normalizeRouteRecord(record) {
6868
- return {
7385
+ const normalized = {
6869
7386
  path: record.path,
6870
7387
  redirect: record.redirect,
6871
7388
  name: record.name,
6872
7389
  meta: record.meta || {},
6873
- aliasOf: void 0,
7390
+ aliasOf: record.aliasOf,
6874
7391
  beforeEnter: record.beforeEnter,
6875
7392
  props: normalizeRecordProps(record),
6876
7393
  children: record.children || [],
@@ -6878,8 +7395,14 @@ function normalizeRouteRecord(record) {
6878
7395
  leaveGuards: /* @__PURE__ */ new Set(),
6879
7396
  updateGuards: /* @__PURE__ */ new Set(),
6880
7397
  enterCallbacks: {},
7398
+ // must be declared afterwards
7399
+ // mods: {},
6881
7400
  components: "components" in record ? record.components || null : record.component && { default: record.component }
6882
7401
  };
7402
+ Object.defineProperty(normalized, "mods", {
7403
+ value: {}
7404
+ });
7405
+ return normalized;
6883
7406
  }
6884
7407
  function normalizeRecordProps(record) {
6885
7408
  const propsObject = {};
@@ -7066,8 +7589,9 @@ function extractComponentsGuards(matched, guardType, to, from, runWithContext =
7066
7589
  let componentPromise = rawComponent();
7067
7590
  guards.push(() => componentPromise.then((resolved) => {
7068
7591
  if (!resolved)
7069
- return Promise.reject(new Error(`Couldn't resolve component "${name}" at "${record.path}"`));
7592
+ throw new Error(`Couldn't resolve component "${name}" at "${record.path}"`);
7070
7593
  const resolvedComponent = isESModule(resolved) ? resolved.default : resolved;
7594
+ record.mods[name] = resolved;
7071
7595
  record.components[name] = resolvedComponent;
7072
7596
  const options = resolvedComponent.__vccOpts || resolvedComponent;
7073
7597
  const guard = options[guardType];
@@ -7078,9 +7602,6 @@ function extractComponentsGuards(matched, guardType, to, from, runWithContext =
7078
7602
  }
7079
7603
  return guards;
7080
7604
  }
7081
- function isRouteComponent(component) {
7082
- return typeof component === "object" || "displayName" in component || "props" in component || "__vccOpts" in component;
7083
- }
7084
7605
  function useLink(props) {
7085
7606
  const router = inject(routerKey);
7086
7607
  const currentRoute = inject(routeLocationKey);
@@ -7819,7 +8340,7 @@ const scriptRel = 'modulepreload';const assetsURL = function(dep, importerUrl) {
7819
8340
  "meta[property=csp-nonce]"
7820
8341
  );
7821
8342
  const cspNonce = cspNonceMeta?.nonce || cspNonceMeta?.getAttribute("nonce");
7822
- promise = Promise.all(
8343
+ promise = Promise.allSettled(
7823
8344
  deps.map((dep) => {
7824
8345
  dep = assetsURL(dep, importerUrl);
7825
8346
  if (dep in seen) return;
@@ -7841,8 +8362,8 @@ const scriptRel = 'modulepreload';const assetsURL = function(dep, importerUrl) {
7841
8362
  link.rel = isCss ? "stylesheet" : scriptRel;
7842
8363
  if (!isCss) {
7843
8364
  link.as = "script";
7844
- link.crossOrigin = "";
7845
8365
  }
8366
+ link.crossOrigin = "";
7846
8367
  link.href = dep;
7847
8368
  if (cspNonce) {
7848
8369
  link.setAttribute("nonce", cspNonce);
@@ -7860,7 +8381,7 @@ const scriptRel = 'modulepreload';const assetsURL = function(dep, importerUrl) {
7860
8381
  })
7861
8382
  );
7862
8383
  }
7863
- return promise.then(() => baseModule()).catch((err) => {
8384
+ function handlePreloadError(err) {
7864
8385
  const e = new Event("vite:preloadError", {
7865
8386
  cancelable: true
7866
8387
  });
@@ -7869,6 +8390,13 @@ const scriptRel = 'modulepreload';const assetsURL = function(dep, importerUrl) {
7869
8390
  if (!e.defaultPrevented) {
7870
8391
  throw err;
7871
8392
  }
8393
+ }
8394
+ return promise.then((res) => {
8395
+ for (const item of res || []) {
8396
+ if (item.status !== "rejected") continue;
8397
+ handlePreloadError(item.reason);
8398
+ }
8399
+ return baseModule().catch(handlePreloadError);
7872
8400
  });
7873
8401
  };
7874
8402
  /* Injected with object hook! */
@@ -7877,31 +8405,31 @@ const routes = [
7877
8405
  {
7878
8406
  path: "/",
7879
8407
  name: "/",
7880
- component: () => __vitePreload(() => import('./index-CN4D-pyL.js'),true?__vite__mapDeps([0,1,2,3]):void 0,import.meta.url)
8408
+ component: () => __vitePreload(() => import('./index-BiZFdN8P.js'),true?__vite__mapDeps([0,1,2,3]):void 0,import.meta.url)
7881
8409
  /* no children */
7882
8410
  },
7883
8411
  {
7884
8412
  path: "/about",
7885
8413
  name: "/about",
7886
- component: () => __vitePreload(() => import('./about-GOQp0_NO.js'),true?__vite__mapDeps([4,1]):void 0,import.meta.url)
8414
+ component: () => __vitePreload(() => import('./about-BRT_tNcN.js'),true?__vite__mapDeps([4,1]):void 0,import.meta.url)
7887
8415
  /* no children */
7888
8416
  },
7889
8417
  {
7890
8418
  path: "/categories",
7891
8419
  name: "/categories",
7892
- component: () => __vitePreload(() => import('./categories-B9cCje3e.js'),true?__vite__mapDeps([5,1]):void 0,import.meta.url)
8420
+ component: () => __vitePreload(() => import('./categories-BkoD6Okt.js'),true?__vite__mapDeps([5,1]):void 0,import.meta.url)
7893
8421
  /* no children */
7894
8422
  },
7895
8423
  {
7896
8424
  path: "/migration",
7897
8425
  name: "/migration",
7898
- component: () => __vitePreload(() => import('./migration-CFDlazxl.js'),true?__vite__mapDeps([6,2]):void 0,import.meta.url)
8426
+ component: () => __vitePreload(() => import('./migration-sqXQ1Rub.js'),true?__vite__mapDeps([6,2]):void 0,import.meta.url)
7899
8427
  /* no children */
7900
8428
  },
7901
8429
  {
7902
8430
  path: "/tags",
7903
8431
  name: "/tags",
7904
- component: () => __vitePreload(() => import('./tags-M0cV8ng9.js'),true?__vite__mapDeps([7,1]):void 0,import.meta.url)
8432
+ component: () => __vitePreload(() => import('./tags-DTkAuVA6.js'),true?__vite__mapDeps([7,1]):void 0,import.meta.url)
7905
8433
  /* no children */
7906
8434
  }
7907
8435
  ];
@@ -7957,14 +8485,6 @@ const _hoisted_1$1 = {
7957
8485
  dark: "border-b-black",
7958
8486
  flex: "~"
7959
8487
  };
7960
- const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("div", { flex: "1" }, null, -1);
7961
- const _hoisted_3 = /* @__PURE__ */ createBaseVNode("a", {
7962
- href: "https://valaxy.site",
7963
- target: "_blank",
7964
- class: "bg-white dark:bg-gray-900 inline-flex justify-center items-center w-8 h-8 hover:bg-gray-200"
7965
- }, [
7966
- /* @__PURE__ */ createBaseVNode("div", { "i-ri-book-line": "" })
7967
- ], -1);
7968
8488
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
7969
8489
  __name: "VDHeader",
7970
8490
  setup(__props) {
@@ -8015,8 +8535,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8015
8535
  _: 2
8016
8536
  }, 1032, ["class", "to"]);
8017
8537
  }), 64)),
8018
- _hoisted_2$1,
8019
- _hoisted_3
8538
+ _cache[0] || (_cache[0] = createBaseVNode("div", { flex: "1" }, null, -1)),
8539
+ _cache[1] || (_cache[1] = createBaseVNode("a", {
8540
+ href: "https://valaxy.site",
8541
+ target: "_blank",
8542
+ class: "bg-white dark:bg-gray-900 inline-flex justify-center items-center w-8 h-8 hover:bg-gray-200"
8543
+ }, [
8544
+ createBaseVNode("div", { "i-ri-book-line": "" })
8545
+ ], -1))
8020
8546
  ]);
8021
8547
  };
8022
8548
  }