@timebraid/vue 1.18.0 → 1.20.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.
package/dist/index.d.ts CHANGED
@@ -7,15 +7,16 @@ import { PublicProps } from 'vue';
7
7
  declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
8
  flat: boolean;
9
9
  plainTitle: boolean;
10
+ attention: boolean;
10
11
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
11
12
 
12
- declare const __VLS_component_10: DefineComponent<__VLS_Props_34, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
13
+ declare const __VLS_component_10: DefineComponent<__VLS_Props_35, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
13
14
  stop: (id: string) => any;
14
15
  start: () => any;
15
16
  openApp: () => any;
16
17
  "update:open": (v: boolean) => any;
17
18
  stopAll: () => any;
18
- }, string, PublicProps, Readonly<__VLS_Props_34> & Readonly<{
19
+ }, string, PublicProps, Readonly<__VLS_Props_35> & Readonly<{
19
20
  onStop?: ((id: string) => any) | undefined;
20
21
  onStart?: (() => any) | undefined;
21
22
  onOpenApp?: (() => any) | undefined;
@@ -28,7 +29,7 @@ paused: boolean;
28
29
  openApp: boolean;
29
30
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
30
31
 
31
- declare const __VLS_component_11: DefineComponent<__VLS_Props_41, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_41> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
32
+ declare const __VLS_component_11: DefineComponent<__VLS_Props_42, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_42> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
32
33
 
33
34
  declare const __VLS_component_12: DefineComponent<__VLS_Props_43, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_43> & Readonly<{}>, {
34
35
  scrolled: boolean;
@@ -44,10 +45,10 @@ side: Side;
44
45
  anchor: HTMLSpanElement;
45
46
  }, HTMLSpanElement>;
46
47
 
47
- declare const __VLS_component_15: DefineComponent<__VLS_Props_59, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
48
+ declare const __VLS_component_15: DefineComponent<__VLS_Props_60, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
48
49
  "update:modelValue": (value: string | string[]) => any;
49
50
  add: () => any;
50
- }, string, PublicProps, Readonly<__VLS_Props_59> & Readonly<{
51
+ }, string, PublicProps, Readonly<__VLS_Props_60> & Readonly<{
51
52
  "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
52
53
  onAdd?: (() => any) | undefined;
53
54
  }>, {
@@ -58,14 +59,14 @@ multiple: boolean;
58
59
  addLabel: string;
59
60
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
60
61
 
61
- declare const __VLS_component_16: DefineComponent<__VLS_Props_66, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
62
+ declare const __VLS_component_16: DefineComponent<__VLS_Props_67, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
62
63
  action: () => any;
63
- }, string, PublicProps, Readonly<__VLS_Props_66> & Readonly<{
64
+ }, string, PublicProps, Readonly<__VLS_Props_67> & Readonly<{
64
65
  onAction?: (() => any) | undefined;
65
66
  }>, {
66
67
  text: string;
67
68
  icon: string;
68
- tone: keyof typeof TONES_5;
69
+ tone: keyof typeof TONES_6;
69
70
  action: string;
70
71
  compact: boolean;
71
72
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
@@ -167,6 +168,7 @@ declare type __VLS_Props = {
167
168
  footer?: string;
168
169
  flat?: boolean;
169
170
  plainTitle?: boolean;
171
+ attention?: boolean;
170
172
  };
171
173
 
172
174
  declare type __VLS_Props_10 = {
@@ -180,6 +182,7 @@ declare type __VLS_Props_11 = {
180
182
  placeholder?: string;
181
183
  mono?: boolean;
182
184
  right?: string;
185
+ rightAction?: boolean;
183
186
  type?: string;
184
187
  autofocus?: boolean;
185
188
  disabled?: boolean;
@@ -362,14 +365,20 @@ declare type __VLS_Props_31 = {
362
365
  };
363
366
 
364
367
  declare type __VLS_Props_32 = {
368
+ count: number;
369
+ label: string;
370
+ tone?: keyof typeof TONES_4;
371
+ };
372
+
373
+ declare type __VLS_Props_33 = {
365
374
  seconds: number;
366
375
  mode?: DurationFormat;
367
376
  size?: number;
368
377
  weight?: number;
369
- tone?: keyof typeof TONES_4;
378
+ tone?: keyof typeof TONES_5;
370
379
  };
371
380
 
372
- declare type __VLS_Props_33 = {
381
+ declare type __VLS_Props_34 = {
373
382
  rows: WaterfallProject[];
374
383
  start?: number;
375
384
  end?: number;
@@ -379,7 +388,7 @@ declare type __VLS_Props_33 = {
379
388
  showWs?: boolean;
380
389
  };
381
390
 
382
- declare type __VLS_Props_34 = {
391
+ declare type __VLS_Props_35 = {
383
392
  running: PillTimer[];
384
393
  compact?: boolean;
385
394
  paused?: boolean;
@@ -387,15 +396,17 @@ declare type __VLS_Props_34 = {
387
396
  openApp?: boolean;
388
397
  };
389
398
 
390
- declare type __VLS_Props_35 = {
399
+ declare type __VLS_Props_36 = {
391
400
  workspaces: WorkspaceOption[];
392
401
  modelValue: string;
393
402
  showAll?: boolean;
394
403
  teleport?: boolean;
395
404
  actions?: readonly WorkspaceAction[];
405
+ badge?: number;
406
+ badgeLabel?: string;
396
407
  };
397
408
 
398
- declare type __VLS_Props_36 = {
409
+ declare type __VLS_Props_37 = {
399
410
  workspaces: WorkspaceOption[];
400
411
  modelValue: string;
401
412
  showAll?: boolean;
@@ -403,7 +414,7 @@ declare type __VLS_Props_36 = {
403
414
  actions?: readonly WorkspaceAction[];
404
415
  };
405
416
 
406
- declare type __VLS_Props_37 = {
417
+ declare type __VLS_Props_38 = {
407
418
  open: boolean;
408
419
  workspaces: WorkspaceOption[];
409
420
  modelValue: string;
@@ -413,16 +424,12 @@ declare type __VLS_Props_37 = {
413
424
  actions?: readonly WorkspaceAction[];
414
425
  };
415
426
 
416
- declare type __VLS_Props_38 = {
427
+ declare type __VLS_Props_39 = {
417
428
  timers: PillTimer[];
418
429
  android?: boolean;
419
430
  bottom?: number | string;
420
431
  };
421
432
 
422
- declare type __VLS_Props_39 = {
423
- opacity?: number;
424
- };
425
-
426
433
  declare type __VLS_Props_4 = {
427
434
  title: string;
428
435
  question: string;
@@ -439,24 +446,22 @@ declare type __VLS_Props_4 = {
439
446
  };
440
447
 
441
448
  declare type __VLS_Props_40 = {
449
+ opacity?: number;
450
+ };
451
+
452
+ declare type __VLS_Props_41 = {
442
453
  recent?: RecentTask[];
443
454
  hasRunning?: boolean;
444
455
  mobile?: boolean;
445
456
  shortcut?: string;
446
457
  };
447
458
 
448
- declare type __VLS_Props_41 = {
459
+ declare type __VLS_Props_42 = {
449
460
  title: string;
450
461
  sub?: string;
451
462
  scrolled: boolean;
452
463
  };
453
464
 
454
- declare type __VLS_Props_42 = {
455
- items: TabItem[];
456
- modelValue: string;
457
- indicator?: boolean;
458
- };
459
-
460
465
  declare type __VLS_Props_43 = {
461
466
  title: string;
462
467
  sub?: string;
@@ -581,17 +586,12 @@ declare type __VLS_Props_57 = {
581
586
  };
582
587
 
583
588
  declare type __VLS_Props_58 = {
584
- count?: number;
585
- compact?: boolean;
589
+ review?: boolean;
586
590
  };
587
591
 
588
592
  declare type __VLS_Props_59 = {
589
- options: ChipOption[];
590
- modelValue?: string | readonly string[] | null;
591
- multiple?: boolean;
592
- label?: string;
593
- empty?: string;
594
- addLabel?: string;
593
+ count?: number;
594
+ compact?: boolean;
595
595
  };
596
596
 
597
597
  declare type __VLS_Props_6 = {
@@ -604,6 +604,15 @@ declare type __VLS_Props_6 = {
604
604
  };
605
605
 
606
606
  declare type __VLS_Props_60 = {
607
+ options: ChipOption[];
608
+ modelValue?: string | readonly string[] | null;
609
+ multiple?: boolean;
610
+ label?: string;
611
+ empty?: string;
612
+ addLabel?: string;
613
+ };
614
+
615
+ declare type __VLS_Props_61 = {
607
616
  open: boolean;
608
617
  modelValue: EntryFilters;
609
618
  showWorkspace: boolean;
@@ -620,7 +629,7 @@ declare type __VLS_Props_60 = {
620
629
  teleport?: boolean;
621
630
  };
622
631
 
623
- declare type __VLS_Props_61 = {
632
+ declare type __VLS_Props_62 = {
624
633
  fetchPage: (query: string, cursor: string | null, limit: number) => Promise<PickPage>;
625
634
  modelValue: string[];
626
635
  visibleRows?: number;
@@ -631,12 +640,12 @@ declare type __VLS_Props_61 = {
631
640
  emptyTime?: string;
632
641
  };
633
642
 
634
- declare type __VLS_Props_62 = {
643
+ declare type __VLS_Props_63 = {
635
644
  text: string;
636
645
  query?: string;
637
646
  };
638
647
 
639
- declare type __VLS_Props_63 = {
648
+ declare type __VLS_Props_64 = {
640
649
  page: number;
641
650
  pageSize: number;
642
651
  total: number;
@@ -647,29 +656,29 @@ declare type __VLS_Props_63 = {
647
656
  last?: boolean;
648
657
  };
649
658
 
650
- declare type __VLS_Props_64 = {
659
+ declare type __VLS_Props_65 = {
651
660
  width?: string;
652
661
  height?: number;
653
662
  shape?: keyof typeof RADIUS;
654
663
  };
655
664
 
656
- declare type __VLS_Props_65 = {
665
+ declare type __VLS_Props_66 = {
657
666
  rows?: number;
658
667
  leading?: keyof typeof LEADING;
659
668
  trailing?: boolean;
660
669
  subtitle?: boolean;
661
670
  };
662
671
 
663
- declare type __VLS_Props_66 = {
672
+ declare type __VLS_Props_67 = {
664
673
  title: string;
665
674
  text?: string;
666
675
  icon?: string;
667
676
  action?: string;
668
- tone?: keyof typeof TONES_5;
677
+ tone?: keyof typeof TONES_6;
669
678
  compact?: boolean;
670
679
  };
671
680
 
672
- declare type __VLS_Props_67 = {
681
+ declare type __VLS_Props_68 = {
673
682
  keys: string;
674
683
  size?: keyof typeof SIZES_3;
675
684
  };
@@ -1471,6 +1480,8 @@ export declare interface TabItem {
1471
1480
  id: string;
1472
1481
  label: string;
1473
1482
  icon: string;
1483
+ badge?: number;
1484
+ badgeLabel?: string;
1474
1485
  }
1475
1486
 
1476
1487
  export declare const TAddRow: DefineComponent<__VLS_Props_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
@@ -1502,7 +1513,9 @@ export declare const TAuthBackdrop: DefineComponent< {}, {}, {}, {}, {}, Comp
1502
1513
 
1503
1514
  export declare const TAuthCard: __VLS_WithTemplateSlots_13<typeof __VLS_component_13, __VLS_TemplateResult_13["slots"]>;
1504
1515
 
1505
- export declare const TAutoStopMark: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLSpanElement>;
1516
+ export declare const TAutoStopMark: DefineComponent<__VLS_Props_58, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_58> & Readonly<{}>, {
1517
+ review: boolean;
1518
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
1506
1519
 
1507
1520
  export declare const TAvatar: DefineComponent<__VLS_Props_24, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_24> & Readonly<{}>, {
1508
1521
  size: number;
@@ -1609,6 +1622,10 @@ export declare const TConfirmButton: __VLS_WithTemplateSlots_4<typeof __VLS_comp
1609
1622
 
1610
1623
  export declare const TConfirmRow: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
1611
1624
 
1625
+ export declare const TCount: DefineComponent<__VLS_Props_32, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_32> & Readonly<{}>, {
1626
+ tone: keyof typeof TONES_4;
1627
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1628
+
1612
1629
  export declare const TDatePicker: DefineComponent<__VLS_Props_17, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1613
1630
  "update:modelValue": (iso: string) => any;
1614
1631
  }, string, PublicProps, Readonly<__VLS_Props_17> & Readonly<{
@@ -1659,9 +1676,9 @@ size: number;
1659
1676
  running: boolean;
1660
1677
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
1661
1678
 
1662
- export declare const TDur: DefineComponent<__VLS_Props_32, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_32> & Readonly<{}>, {
1679
+ export declare const TDur: DefineComponent<__VLS_Props_33, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_33> & Readonly<{}>, {
1663
1680
  size: number;
1664
- tone: keyof typeof TONES_4;
1681
+ tone: keyof typeof TONES_5;
1665
1682
  mode: DurationFormat;
1666
1683
  weight: number;
1667
1684
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
@@ -1705,9 +1722,11 @@ side: "top" | "bottom" | "left" | "right";
1705
1722
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1706
1723
 
1707
1724
  export declare const TField: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1725
+ right: () => any;
1708
1726
  submit: () => any;
1709
1727
  "update:modelValue": (v: string) => any;
1710
1728
  }, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{
1729
+ onRight?: (() => any) | undefined;
1711
1730
  onSubmit?: (() => any) | undefined;
1712
1731
  "onUpdate:modelValue"?: ((v: string) => any) | undefined;
1713
1732
  }>, {
@@ -1715,22 +1734,23 @@ type: string;
1715
1734
  disabled: boolean;
1716
1735
  modelValue: string;
1717
1736
  mono: boolean;
1737
+ rightAction: boolean;
1718
1738
  autofocus: boolean;
1719
1739
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
1720
1740
 
1721
- export declare const TFilterButton: DefineComponent<__VLS_Props_58, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1741
+ export declare const TFilterButton: DefineComponent<__VLS_Props_59, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1722
1742
  click: (e: MouseEvent) => any;
1723
- }, string, PublicProps, Readonly<__VLS_Props_58> & Readonly<{
1743
+ }, string, PublicProps, Readonly<__VLS_Props_59> & Readonly<{
1724
1744
  onClick?: ((e: MouseEvent) => any) | undefined;
1725
1745
  }>, {
1726
1746
  compact: boolean;
1727
1747
  count: number;
1728
1748
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLButtonElement>;
1729
1749
 
1730
- export declare const TFilterSheet: DefineComponent<__VLS_Props_60, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1750
+ export declare const TFilterSheet: DefineComponent<__VLS_Props_61, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1731
1751
  close: () => any;
1732
1752
  apply: (filters: EntryFilters) => any;
1733
- }, string, PublicProps, Readonly<__VLS_Props_60> & Readonly<{
1753
+ }, string, PublicProps, Readonly<__VLS_Props_61> & Readonly<{
1734
1754
  onClose?: (() => any) | undefined;
1735
1755
  onApply?: ((filters: EntryFilters) => any) | undefined;
1736
1756
  }>, {
@@ -1758,7 +1778,7 @@ export declare const THEME_PREFERENCES: ThemePreference[];
1758
1778
 
1759
1779
  export declare type ThemePreference = 'system' | 'light' | 'dark';
1760
1780
 
1761
- export declare const THighlight: DefineComponent<__VLS_Props_62, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_62> & Readonly<{}>, {
1781
+ export declare const THighlight: DefineComponent<__VLS_Props_63, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_63> & Readonly<{}>, {
1762
1782
  query: string;
1763
1783
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
1764
1784
 
@@ -1792,6 +1812,7 @@ export declare interface TimelineDay {
1792
1812
  export declare interface TimelineEntry {
1793
1813
  id: string;
1794
1814
  task: string;
1815
+ taskId?: string;
1795
1816
  start: number;
1796
1817
  end?: number | null;
1797
1818
  color: string;
@@ -1804,6 +1825,7 @@ export declare interface TimelineSpan {
1804
1825
  id: string;
1805
1826
  start: number;
1806
1827
  end: number;
1828
+ group?: string;
1807
1829
  }
1808
1830
 
1809
1831
  export declare function timelineSpan(e: TimelineEntry, nowMin?: number | null): TimelineSpan;
@@ -1828,15 +1850,23 @@ export declare interface TimerWorkspace {
1828
1850
 
1829
1851
  export declare const TIOSNav: __VLS_WithTemplateSlots_11<typeof __VLS_component_11, __VLS_TemplateResult_11["slots"]>;
1830
1852
 
1831
- export declare const TIOSTabBar: DefineComponent<__VLS_Props_42, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1853
+ export declare const TIOSTabBar: DefineComponent< {
1854
+ items: TabItem[];
1855
+ modelValue: string;
1856
+ indicator?: boolean;
1857
+ }, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1832
1858
  "update:modelValue": (id: string) => any;
1833
- }, string, PublicProps, Readonly<__VLS_Props_42> & Readonly<{
1859
+ }, string, PublicProps, Readonly<{
1860
+ items: TabItem[];
1861
+ modelValue: string;
1862
+ indicator?: boolean;
1863
+ }> & Readonly<{
1834
1864
  "onUpdate:modelValue"?: ((id: string) => any) | undefined;
1835
1865
  }>, {
1836
1866
  indicator: boolean;
1837
1867
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
1838
1868
 
1839
- export declare const TKbd: DefineComponent<__VLS_Props_67, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_67> & Readonly<{}>, {
1869
+ export declare const TKbd: DefineComponent<__VLS_Props_68, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_68> & Readonly<{}>, {
1840
1870
  size: keyof typeof SIZES_3;
1841
1871
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
1842
1872
 
@@ -1906,17 +1936,23 @@ declare const TONES_3: {
1906
1936
  readonly running: readonly ["var(--running-soft)", "var(--running)"];
1907
1937
  readonly green: readonly ["var(--green-soft)", "var(--green)"];
1908
1938
  readonly red: readonly ["var(--red-soft)", "var(--red)"];
1939
+ readonly attention: readonly ["var(--orange-soft)", "var(--orange)"];
1909
1940
  readonly soon: readonly ["transparent", "var(--label-3)"];
1910
1941
  };
1911
1942
 
1912
1943
  declare const TONES_4: {
1944
+ readonly attention: readonly ["var(--orange)", "var(--on-accent)"];
1945
+ readonly neutral: readonly ["var(--fill-2)", "var(--label-2)"];
1946
+ };
1947
+
1948
+ declare const TONES_5: {
1913
1949
  readonly default: "var(--label)";
1914
1950
  readonly running: "var(--running)";
1915
1951
  readonly muted: "var(--label-2)";
1916
1952
  readonly faint: "var(--label-3)";
1917
1953
  };
1918
1954
 
1919
- declare const TONES_5: {
1955
+ declare const TONES_6: {
1920
1956
  readonly inverse: {
1921
1957
  readonly bar: readonly ["var(--label)", "var(--bg)"];
1922
1958
  readonly pill: readonly ["var(--bg)", "var(--label)"];
@@ -1935,10 +1971,10 @@ onClick?: ((e: MouseEvent) => any) | undefined;
1935
1971
  compact: boolean;
1936
1972
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1937
1973
 
1938
- export declare const TPager: DefineComponent<__VLS_Props_63, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1974
+ export declare const TPager: DefineComponent<__VLS_Props_64, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1939
1975
  "update:page": (page: number) => any;
1940
1976
  "update:pageSize": (size: number) => any;
1941
- }, string, PublicProps, Readonly<__VLS_Props_63> & Readonly<{
1977
+ }, string, PublicProps, Readonly<__VLS_Props_64> & Readonly<{
1942
1978
  "onUpdate:page"?: ((page: number) => any) | undefined;
1943
1979
  "onUpdate:pageSize"?: ((size: number) => any) | undefined;
1944
1980
  }>, {
@@ -1991,9 +2027,9 @@ input: HTMLInputElement;
1991
2027
  stage: HTMLDivElement;
1992
2028
  }, any>;
1993
2029
 
1994
- export declare const TPickList: DefineComponent<__VLS_Props_61, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2030
+ export declare const TPickList: DefineComponent<__VLS_Props_62, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1995
2031
  "update:modelValue": (ids: string[]) => any;
1996
- }, string, PublicProps, Readonly<__VLS_Props_61> & Readonly<{
2032
+ }, string, PublicProps, Readonly<__VLS_Props_62> & Readonly<{
1997
2033
  "onUpdate:modelValue"?: ((ids: string[]) => any) | undefined;
1998
2034
  }>, {
1999
2035
  compact: boolean;
@@ -2060,23 +2096,23 @@ disabled: boolean;
2060
2096
 
2061
2097
  export declare const TSheet: __VLS_WithTemplateSlots_9<typeof __VLS_component_9, __VLS_TemplateResult_9["slots"]>;
2062
2098
 
2063
- export declare const TSkeleton: DefineComponent<__VLS_Props_64, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_64> & Readonly<{}>, {
2099
+ export declare const TSkeleton: DefineComponent<__VLS_Props_65, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_65> & Readonly<{}>, {
2064
2100
  width: string;
2065
2101
  height: number;
2066
2102
  shape: keyof typeof RADIUS;
2067
2103
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
2068
2104
 
2069
- export declare const TSkeletonList: DefineComponent<__VLS_Props_65, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_65> & Readonly<{}>, {
2105
+ export declare const TSkeletonList: DefineComponent<__VLS_Props_66, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_66> & Readonly<{}>, {
2070
2106
  subtitle: boolean;
2071
2107
  leading: keyof typeof LEADING;
2072
2108
  trailing: boolean;
2073
2109
  rows: number;
2074
2110
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
2075
2111
 
2076
- export declare const TStartHero: DefineComponent<__VLS_Props_40, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2112
+ export declare const TStartHero: DefineComponent<__VLS_Props_41, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2077
2113
  open: () => any;
2078
2114
  pick: (taskId: string) => any;
2079
- }, string, PublicProps, Readonly<__VLS_Props_40> & Readonly<{
2115
+ }, string, PublicProps, Readonly<__VLS_Props_41> & Readonly<{
2080
2116
  onOpen?: (() => any) | undefined;
2081
2117
  onPick?: ((taskId: string) => any) | undefined;
2082
2118
  }>, {
@@ -2086,7 +2122,7 @@ hasRunning: boolean;
2086
2122
  shortcut: string;
2087
2123
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
2088
2124
 
2089
- export declare const TStrokes: DefineComponent<__VLS_Props_39, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_39> & Readonly<{}>, {
2125
+ export declare const TStrokes: DefineComponent<__VLS_Props_40, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_40> & Readonly<{}>, {
2090
2126
  opacity: number;
2091
2127
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
2092
2128
 
@@ -2106,11 +2142,11 @@ minuteStep: number;
2106
2142
  anchor: HTMLButtonElement;
2107
2143
  }, HTMLDivElement>;
2108
2144
 
2109
- export declare const TTimerBar: DefineComponent<__VLS_Props_38, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2145
+ export declare const TTimerBar: DefineComponent<__VLS_Props_39, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2110
2146
  stop: (id: string) => any;
2111
2147
  open: () => any;
2112
2148
  stopAll: () => any;
2113
- }, string, PublicProps, Readonly<__VLS_Props_38> & Readonly<{
2149
+ }, string, PublicProps, Readonly<__VLS_Props_39> & Readonly<{
2114
2150
  onStop?: ((id: string) => any) | undefined;
2115
2151
  onOpen?: (() => any) | undefined;
2116
2152
  onStopAll?: (() => any) | undefined;
@@ -2129,7 +2165,7 @@ disabled: boolean;
2129
2165
 
2130
2166
  export declare const TTooltip: __VLS_WithTemplateSlots_14<typeof __VLS_component_14, __VLS_TemplateResult_14["slots"]>;
2131
2167
 
2132
- export declare const TWaterfall: DefineComponent<__VLS_Props_33, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_33> & Readonly<{}>, {
2168
+ export declare const TWaterfall: DefineComponent<__VLS_Props_34, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_34> & Readonly<{}>, {
2133
2169
  end: number;
2134
2170
  start: number;
2135
2171
  compact: boolean;
@@ -2150,14 +2186,14 @@ rows: number;
2150
2186
  list: HTMLDivElement;
2151
2187
  }, HTMLDivElement>;
2152
2188
 
2153
- export declare const TWorkspaceDrawer: DefineComponent<__VLS_Props_37, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2189
+ export declare const TWorkspaceDrawer: DefineComponent<__VLS_Props_38, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2154
2190
  help: () => any;
2155
2191
  action: (id: string) => any;
2156
2192
  "update:modelValue": (id: string) => any;
2157
2193
  close: () => any;
2158
2194
  create: () => any;
2159
2195
  account: () => any;
2160
- }, string, PublicProps, Readonly<__VLS_Props_37> & Readonly<{
2196
+ }, string, PublicProps, Readonly<__VLS_Props_38> & Readonly<{
2161
2197
  onHelp?: (() => any) | undefined;
2162
2198
  onAction?: ((id: string) => any) | undefined;
2163
2199
  "onUpdate:modelValue"?: ((id: string) => any) | undefined;
@@ -2171,11 +2207,11 @@ actions: readonly WorkspaceAction[];
2171
2207
  user: DrawerUser | null;
2172
2208
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
2173
2209
 
2174
- export declare const TWorkspaceMenu: DefineComponent<__VLS_Props_36, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2210
+ export declare const TWorkspaceMenu: DefineComponent<__VLS_Props_37, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2175
2211
  action: (id: string) => any;
2176
2212
  "update:modelValue": (id: string) => any;
2177
2213
  create: () => any;
2178
- }, string, PublicProps, Readonly<__VLS_Props_36> & Readonly<{
2214
+ }, string, PublicProps, Readonly<__VLS_Props_37> & Readonly<{
2179
2215
  onAction?: ((id: string) => any) | undefined;
2180
2216
  "onUpdate:modelValue"?: ((id: string) => any) | undefined;
2181
2217
  onCreate?: (() => any) | undefined;
@@ -2185,18 +2221,20 @@ embedded: boolean;
2185
2221
  actions: readonly WorkspaceAction[];
2186
2222
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
2187
2223
 
2188
- export declare const TWorkspaceSwitcher: DefineComponent<__VLS_Props_35, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2224
+ export declare const TWorkspaceSwitcher: DefineComponent<__VLS_Props_36, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2189
2225
  action: (id: string) => any;
2190
2226
  "update:modelValue": (id: string) => any;
2191
2227
  create: () => any;
2192
- }, string, PublicProps, Readonly<__VLS_Props_35> & Readonly<{
2228
+ }, string, PublicProps, Readonly<__VLS_Props_36> & Readonly<{
2193
2229
  onAction?: ((id: string) => any) | undefined;
2194
2230
  "onUpdate:modelValue"?: ((id: string) => any) | undefined;
2195
2231
  onCreate?: (() => any) | undefined;
2196
2232
  }>, {
2197
2233
  teleport: boolean;
2234
+ badge: number;
2198
2235
  showAll: boolean;
2199
2236
  actions: readonly WorkspaceAction[];
2237
+ badgeLabel: string;
2200
2238
  }, {}, {}, {}, string, ComponentProvideOptions, false, {
2201
2239
  trigger: HTMLButtonElement;
2202
2240
  }, HTMLDivElement>;
@@ -2272,6 +2310,8 @@ export declare interface WorkspaceOption {
2272
2310
  isDefault: boolean;
2273
2311
  personal: boolean;
2274
2312
  iconUrl?: string;
2313
+ badge?: number;
2314
+ badgeLabel?: string;
2275
2315
  }
2276
2316
 
2277
2317
  export declare interface YearMonth {
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=JetBrains+Mono:wght@400..700&display=swap";:root{--font-display:var(--font-sans);--font-ui:var(--font-sans);--font-numeric:var(--font-mono)}:root{--font-sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--indigo-400:#6C77DE;--indigo-500:#4A57D2;--indigo-600:#3A44AF;--indigo-700:#2C3391;--chart-1:#0072B2;--chart-2:#E69F00;--chart-3:#009E73;--chart-4:#CC79A7;--chart-5:#56B4E9;--chart-6:#D55E00;--chart-7:#F0E442;--chart-8:#6B7085;--bg:#F2F3F8;--bg-elev:#FFFFFF;--bg-elev-2:#F7F8FC;--bg-sidebar:rgba(244,245,250,.86);--bg-bar:rgba(242,243,248,.82);--fill:rgba(20,22,40,.06);--fill-2:rgba(20,22,40,.1);--fill-3:rgba(20,22,40,.16);--sep:rgba(20,22,40,.1);--sep-strong:rgba(20,22,40,.18);--label:#0E1024;--label-2:#5C6178;--label-3:#8B90A5;--label-4:#B7BBCB;--on-accent:#FFFFFF;--accent:#4A57D2;--accent-hover:#3F4BC0;--accent-soft:rgba(74,87,210,.12);--accent-soft-2:rgba(74,87,210,.2);--running:#4A57D2;--running-soft:rgba(74,87,210,.1);--green:#1E9E6A;--green-soft:rgba(30,158,106,.12);--red:#D6453D;--red-soft:rgba(214,69,61,.1);--orange:#D97B0F;--brand-field:#5D68CF;--brand-field-deep:#191E5E;--brand-ink:#141846;--r-cell:12px;--r-card:14px;--r-btn:10px;--r-pill:999px;--r-sheet:20px;--r-window:12px;--sh-card:0 1px 2px rgba(14,16,36,.04),0 0 0 1px rgba(14,16,36,.04);--sh-float:0 12px 32px -8px rgba(14,16,36,.22),0 2px 6px rgba(14,16,36,.08),0 0 0 1px rgba(14,16,36,.05);--sh-sheet:0 -8px 40px -8px rgba(14,16,36,.24);--sh-thumb:0 2px 6px rgba(0,0,0,.25);--sh-seg:0 1px 2px rgba(0,0,0,.14),0 3px 8px -2px rgba(0,0,0,.12),0 0 0 .5px var(--sep);--blur:saturate(180%) blur(22px);--scrim:rgba(10,11,20,.42);--dash:rgba(255,255,255,.7);--ease:cubic-bezier(.2,0,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-sheet:cubic-bezier(.32,.72,0,1);--t-fast:.14s;--t-base:.22s;--t-sheet:.42s}[data-theme=dark]{--bg:#15161F;--bg-elev:#1F2030;--bg-elev-2:#282A3C;--bg-sidebar:rgba(24,25,36,.86);--bg-bar:rgba(21,22,31,.78);--fill:rgba(255,255,255,.07);--fill-2:rgba(255,255,255,.11);--fill-3:rgba(255,255,255,.17);--sep:rgba(255,255,255,.09);--sep-strong:rgba(255,255,255,.16);--label:#F3F4FA;--label-2:#A7ABC0;--label-3:#7D8199;--label-4:#575B70;--accent:#7A84E6;--accent-hover:#8C95EC;--accent-soft:rgba(122,132,230,.16);--accent-soft-2:rgba(122,132,230,.26);--running:#8A93EC;--running-soft:rgba(122,132,230,.14);--green:#3CC08A;--green-soft:rgba(60,192,138,.14);--red:#F06B62;--red-soft:rgba(240,107,98,.14);--orange:#F0A24B;--chart-8:#9A9FB4;--sh-card:0 1px 2px rgba(0,0,0,.2),0 0 0 1px rgba(255,255,255,.04);--sh-float:0 16px 40px -8px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.08);--sh-sheet:0 -8px 40px -8px rgba(0,0,0,.6);--scrim:rgba(0,0,0,.55)}:root{--text-display-1:64px;--leading-display-1:1.02;--tracking-display-1:-.03em;--text-display-2:48px;--leading-display-2:1.06;--tracking-display-2:-.025em;--text-large-title:30px;--text-large-title-phone:34px;--tracking-large-title:-.025em;--leading-large-title:1.1;--text-title:17px;--text-row:15px;--text-subtitle:12.5px;--text-section:12px;--tracking-section:.04em;--text-body:14px;--text-body-lg:18px;--leading-body-lg:1.6;--text-caption:12px;--text-footnote:11.5px;--text-timer-xl:44px;--text-timer-lg:28px;--text-timer-md:22px;--text-timer-sm:15px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700}:root{--space-0:0px;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;--space-13:112px;--space-14:160px;--section-y:112px;--section-y-tight:72px;--container-max:1160px;--container-prose:660px;--gutter:24px;--sidebar-w:232px;--content-max:1040px;--content-max-narrow:760px;--gutter-phone:16px;--row-h:46px;--row-h-sub:56px;--row-h-dense:40px;--control-h-sm:30px;--control-h-md:36px;--control-h-lg:44px;--control-h-xl:50px;--pill-h:46px;--pill-h-compact:30px;--timer-bar-h:56px;--timer-bar-pad:72px;--inset-top:env(safe-area-inset-top,0px);--inset-bottom:env(safe-area-inset-bottom,0px);--tab-bar-inset-ios:max(10px,calc(var(--inset-bottom) - 12px));--tab-bar-h-ios:calc(42px + var(--tab-bar-inset-ios));--timer-bar-bottom-ios:calc(var(--tab-bar-h-ios) + 10px);--tab-bar-pad-ios:calc(var(--tab-bar-h-ios) + 16px);--nav-bar-h-android:80px;--nav-bar-pad-android:96px;--toggle-w:46px;--toggle-h:28px;--field-h:38px;--seg-h:36px;--seg-h-sm:30px;--icon-square:28px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--label);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:var(--text-body);line-height:1.45}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-height:1.3;min-width:0}.ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::selection{background:var(--accent-soft-2)}@keyframes t-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes t-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.t-skeleton{background:linear-gradient(90deg,var(--fill) 25%,var(--fill-2) 50%,var(--fill) 75%);background-size:400% 100%;animation:t-shimmer 1.6s linear infinite}@media (prefers-reduced-motion:reduce){.t-skeleton{animation:none;background:var(--fill)}}@keyframes t-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes t-sheet{0%{transform:translateY(100%)}to{transform:none}}@keyframes t-drawer{0%{transform:translate(-100%)}to{transform:none}}@keyframes t-scrim{0%{opacity:0}to{opacity:1}}@keyframes t-pop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}@keyframes t-island{0%{transform:scaleX(.6);opacity:.4}to{transform:none;opacity:1}}@keyframes t-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes t-float{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes t-flash{0%,30%{background-color:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}to{background-color:transparent;box-shadow:none}}.view-in{animation:t-in var(--t-base) var(--ease-out) both}.t-flash{animation:t-flash 2s var(--ease) 1 both}.press{transition:transform var(--t-fast) var(--ease),background var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.press:active{transform:scale(.98)}.row-press:active{background:var(--fill-2)!important}@media (prefers-reduced-motion:reduce){*{animation-duration:0ms!important;transition-duration:0ms!important}}.t-wheel-list[data-v-f89240c7]{scrollbar-width:none}.t-wheel-list[data-v-f89240c7]::-webkit-scrollbar{display:none}.t-wheel-list[data-v-f89240c7]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-btn)}.check:focus-within .box[data-v-8c783040]{outline:2px solid var(--accent);outline-offset:2px}.t-spinner[data-v-a41169e8]{animation:t-spinner-turn-a41169e8 .7s linear infinite}@keyframes t-spinner-turn-a41169e8{to{transform:rotate(360deg)}}[data-palette-item][data-v-088bc492]:hover:not([aria-selected=true]){background:var(--fill)}
1
+ @import"https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=JetBrains+Mono:wght@400..700&display=swap";:root{--font-display:var(--font-sans);--font-ui:var(--font-sans);--font-numeric:var(--font-mono)}:root{--font-sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--indigo-400:#6C77DE;--indigo-500:#4A57D2;--indigo-600:#3A44AF;--indigo-700:#2C3391;--chart-1:#0072B2;--chart-2:#E69F00;--chart-3:#009E73;--chart-4:#CC79A7;--chart-5:#56B4E9;--chart-6:#D55E00;--chart-7:#F0E442;--chart-8:#6B7085;--bg:#F2F3F8;--bg-elev:#FFFFFF;--bg-elev-2:#F7F8FC;--bg-sidebar:rgba(244,245,250,.86);--bg-bar:rgba(242,243,248,.82);--fill:rgba(20,22,40,.06);--fill-2:rgba(20,22,40,.1);--fill-3:rgba(20,22,40,.16);--sep:rgba(20,22,40,.1);--sep-strong:rgba(20,22,40,.18);--label:#0E1024;--label-2:#5C6178;--label-3:#8B90A5;--label-4:#B7BBCB;--on-accent:#FFFFFF;--accent:#4A57D2;--accent-hover:#3F4BC0;--accent-soft:rgba(74,87,210,.12);--accent-soft-2:rgba(74,87,210,.2);--running:#4A57D2;--running-soft:rgba(74,87,210,.1);--green:#1E9E6A;--green-soft:rgba(30,158,106,.12);--red:#D6453D;--red-soft:rgba(214,69,61,.1);--orange:#D97B0F;--orange-soft:rgba(217,123,15,.12);--brand-field:#5D68CF;--brand-field-deep:#191E5E;--brand-ink:#141846;--r-cell:12px;--r-card:14px;--r-btn:10px;--r-pill:999px;--r-sheet:20px;--r-window:12px;--sh-card:0 1px 2px rgba(14,16,36,.04),0 0 0 1px rgba(14,16,36,.04);--sh-float:0 12px 32px -8px rgba(14,16,36,.22),0 2px 6px rgba(14,16,36,.08),0 0 0 1px rgba(14,16,36,.05);--sh-sheet:0 -8px 40px -8px rgba(14,16,36,.24);--sh-thumb:0 2px 6px rgba(0,0,0,.25);--sh-seg:0 1px 2px rgba(0,0,0,.14),0 3px 8px -2px rgba(0,0,0,.12),0 0 0 .5px var(--sep);--blur:saturate(180%) blur(22px);--scrim:rgba(10,11,20,.42);--dash:rgba(255,255,255,.7);--ease:cubic-bezier(.2,0,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-sheet:cubic-bezier(.32,.72,0,1);--t-fast:.14s;--t-base:.22s;--t-sheet:.42s}[data-theme=dark]{--bg:#15161F;--bg-elev:#1F2030;--bg-elev-2:#282A3C;--bg-sidebar:rgba(24,25,36,.86);--bg-bar:rgba(21,22,31,.78);--fill:rgba(255,255,255,.07);--fill-2:rgba(255,255,255,.11);--fill-3:rgba(255,255,255,.17);--sep:rgba(255,255,255,.09);--sep-strong:rgba(255,255,255,.16);--label:#F3F4FA;--label-2:#A7ABC0;--label-3:#7D8199;--label-4:#575B70;--accent:#7A84E6;--accent-hover:#8C95EC;--accent-soft:rgba(122,132,230,.16);--accent-soft-2:rgba(122,132,230,.26);--running:#8A93EC;--running-soft:rgba(122,132,230,.14);--green:#3CC08A;--green-soft:rgba(60,192,138,.14);--red:#F06B62;--red-soft:rgba(240,107,98,.14);--orange:#F0A24B;--orange-soft:rgba(240,162,75,.16);--chart-8:#9A9FB4;--sh-card:0 1px 2px rgba(0,0,0,.2),0 0 0 1px rgba(255,255,255,.04);--sh-float:0 16px 40px -8px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.08);--sh-sheet:0 -8px 40px -8px rgba(0,0,0,.6);--scrim:rgba(0,0,0,.55)}:root{--text-display-1:64px;--leading-display-1:1.02;--tracking-display-1:-.03em;--text-display-2:48px;--leading-display-2:1.06;--tracking-display-2:-.025em;--text-large-title:30px;--text-large-title-phone:34px;--tracking-large-title:-.025em;--leading-large-title:1.1;--text-title:17px;--text-row:15px;--text-subtitle:12.5px;--text-section:12px;--tracking-section:.04em;--text-body:14px;--text-body-lg:18px;--leading-body-lg:1.6;--text-caption:12px;--text-footnote:11.5px;--text-timer-xl:44px;--text-timer-lg:28px;--text-timer-md:22px;--text-timer-sm:15px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700}:root{--space-0:0px;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;--space-13:112px;--space-14:160px;--section-y:112px;--section-y-tight:72px;--container-max:1160px;--container-prose:660px;--gutter:24px;--sidebar-w:232px;--content-max:1040px;--content-max-narrow:760px;--gutter-phone:16px;--row-h:46px;--row-h-sub:56px;--row-h-dense:40px;--control-h-sm:30px;--control-h-md:36px;--control-h-lg:44px;--control-h-xl:50px;--pill-h:46px;--pill-h-compact:30px;--timer-bar-h:56px;--timer-bar-pad:78px;--inset-top:env(safe-area-inset-top,0px);--inset-bottom:env(safe-area-inset-bottom,0px);--tab-bar-inset-ios:max(10px,calc(var(--inset-bottom) - 12px));--tab-bar-h-ios:calc(42px + var(--tab-bar-inset-ios));--timer-bar-bottom-ios:calc(58px + var(--tab-bar-inset-ios));--tab-bar-pad-ios:calc(var(--tab-bar-h-ios) + 16px);--nav-bar-h-android:80px;--nav-bar-pad-android:96px;--toggle-w:46px;--toggle-h:28px;--field-h:38px;--seg-h:36px;--seg-h-sm:30px;--icon-square:28px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--label);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:var(--text-body);line-height:1.45}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-height:1.3;min-width:0}.ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::selection{background:var(--accent-soft-2)}@keyframes t-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes t-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.t-skeleton{background:linear-gradient(90deg,var(--fill) 25%,var(--fill-2) 50%,var(--fill) 75%);background-size:400% 100%;animation:t-shimmer 1.6s linear infinite}@media (prefers-reduced-motion:reduce){.t-skeleton{animation:none;background:var(--fill)}}@keyframes t-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes t-sheet{0%{transform:translateY(100%)}to{transform:none}}@keyframes t-drawer{0%{transform:translate(-100%)}to{transform:none}}@keyframes t-scrim{0%{opacity:0}to{opacity:1}}@keyframes t-pop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}@keyframes t-island{0%{transform:scaleX(.6);opacity:.4}to{transform:none;opacity:1}}@keyframes t-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes t-float{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes t-flash{0%,30%{background-color:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}to{background-color:transparent;box-shadow:none}}@keyframes t-attention{0%,to{background-color:transparent}50%{background-color:var(--orange-soft)}}.view-in{animation:t-in var(--t-base) var(--ease-out) both}.t-flash{animation:t-flash 2s var(--ease) 1 both}.t-attention{animation:t-attention 1.4s var(--ease) 3}.press{transition:transform var(--t-fast) var(--ease),background var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.press:active{transform:scale(.98)}.row-press:active{background:var(--fill-2)!important}@media (prefers-reduced-motion:reduce){*{animation-duration:0ms!important;transition-duration:0ms!important}}.t-wheel-list[data-v-f89240c7]{scrollbar-width:none}.t-wheel-list[data-v-f89240c7]::-webkit-scrollbar{display:none}.t-wheel-list[data-v-f89240c7]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-btn)}.check:focus-within .box[data-v-8c783040]{outline:2px solid var(--accent);outline-offset:2px}.t-spinner[data-v-a41169e8]{animation:t-spinner-turn-a41169e8 .7s linear infinite}@keyframes t-spinner-turn-a41169e8{to{transform:rotate(360deg)}}[data-palette-item][data-v-088bc492]:hover:not([aria-selected=true]){background:var(--fill)}