@timebraid/vue 1.20.0 → 1.21.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 +150 -24
- package/dist/style.css +1 -1
- package/dist/timebraid-vue.js +2269 -1987
- package/dist/timebraid-vue.umd.cjs +2 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -59,9 +59,23 @@ multiple: boolean;
|
|
|
59
59
|
addLabel: string;
|
|
60
60
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
61
61
|
|
|
62
|
-
declare const __VLS_component_16: DefineComponent<
|
|
62
|
+
declare const __VLS_component_16: DefineComponent<__VLS_Props_63, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
63
|
+
toggle: () => any;
|
|
64
|
+
}, string, PublicProps, Readonly<__VLS_Props_63> & Readonly<{
|
|
65
|
+
onToggle?: (() => any) | undefined;
|
|
66
|
+
}>, {
|
|
67
|
+
last: boolean;
|
|
68
|
+
placeholder: string;
|
|
69
|
+
mobile: boolean;
|
|
70
|
+
plate: string;
|
|
71
|
+
valueKind: PickValueKind;
|
|
72
|
+
valueColor: string;
|
|
73
|
+
valueIconUrl: string;
|
|
74
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
75
|
+
|
|
76
|
+
declare const __VLS_component_17: DefineComponent<__VLS_Props_70, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
63
77
|
action: () => any;
|
|
64
|
-
}, string, PublicProps, Readonly<
|
|
78
|
+
}, string, PublicProps, Readonly<__VLS_Props_70> & Readonly<{
|
|
65
79
|
onAction?: (() => any) | undefined;
|
|
66
80
|
}>, {
|
|
67
81
|
text: string;
|
|
@@ -641,11 +655,43 @@ declare type __VLS_Props_62 = {
|
|
|
641
655
|
};
|
|
642
656
|
|
|
643
657
|
declare type __VLS_Props_63 = {
|
|
658
|
+
label: string;
|
|
659
|
+
icon: string;
|
|
660
|
+
plate?: string;
|
|
661
|
+
value: string;
|
|
662
|
+
open: boolean;
|
|
663
|
+
last?: boolean;
|
|
664
|
+
valueKind?: PickValueKind;
|
|
665
|
+
valueColor?: string;
|
|
666
|
+
valueIconUrl?: string;
|
|
667
|
+
placeholder?: string;
|
|
668
|
+
mobile?: boolean;
|
|
669
|
+
};
|
|
670
|
+
|
|
671
|
+
declare type __VLS_Props_64 = {
|
|
672
|
+
modelValue: PaletteId;
|
|
673
|
+
palettes?: readonly Palette[];
|
|
674
|
+
dark?: boolean;
|
|
675
|
+
size?: number;
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
declare type __VLS_Props_65 = {
|
|
679
|
+
options: ChoiceOption[];
|
|
680
|
+
modelValue: string;
|
|
681
|
+
searchAfter?: number;
|
|
682
|
+
searchPlaceholder?: string;
|
|
683
|
+
visibleRows?: number;
|
|
684
|
+
addLabel?: string;
|
|
685
|
+
empty?: string;
|
|
686
|
+
compact?: boolean;
|
|
687
|
+
};
|
|
688
|
+
|
|
689
|
+
declare type __VLS_Props_66 = {
|
|
644
690
|
text: string;
|
|
645
691
|
query?: string;
|
|
646
692
|
};
|
|
647
693
|
|
|
648
|
-
declare type
|
|
694
|
+
declare type __VLS_Props_67 = {
|
|
649
695
|
page: number;
|
|
650
696
|
pageSize: number;
|
|
651
697
|
total: number;
|
|
@@ -656,20 +702,30 @@ declare type __VLS_Props_64 = {
|
|
|
656
702
|
last?: boolean;
|
|
657
703
|
};
|
|
658
704
|
|
|
659
|
-
declare type
|
|
705
|
+
declare type __VLS_Props_68 = {
|
|
660
706
|
width?: string;
|
|
661
707
|
height?: number;
|
|
662
708
|
shape?: keyof typeof RADIUS;
|
|
663
709
|
};
|
|
664
710
|
|
|
665
|
-
declare type
|
|
711
|
+
declare type __VLS_Props_69 = {
|
|
666
712
|
rows?: number;
|
|
667
713
|
leading?: keyof typeof LEADING;
|
|
668
714
|
trailing?: boolean;
|
|
669
715
|
subtitle?: boolean;
|
|
670
716
|
};
|
|
671
717
|
|
|
672
|
-
declare type
|
|
718
|
+
declare type __VLS_Props_7 = {
|
|
719
|
+
modelValue: string;
|
|
720
|
+
options: {
|
|
721
|
+
value: string;
|
|
722
|
+
label: string;
|
|
723
|
+
count?: number;
|
|
724
|
+
}[];
|
|
725
|
+
size?: 'sm' | 'md';
|
|
726
|
+
};
|
|
727
|
+
|
|
728
|
+
declare type __VLS_Props_70 = {
|
|
673
729
|
title: string;
|
|
674
730
|
text?: string;
|
|
675
731
|
icon?: string;
|
|
@@ -678,21 +734,11 @@ declare type __VLS_Props_67 = {
|
|
|
678
734
|
compact?: boolean;
|
|
679
735
|
};
|
|
680
736
|
|
|
681
|
-
declare type
|
|
737
|
+
declare type __VLS_Props_71 = {
|
|
682
738
|
keys: string;
|
|
683
739
|
size?: keyof typeof SIZES_3;
|
|
684
740
|
};
|
|
685
741
|
|
|
686
|
-
declare type __VLS_Props_7 = {
|
|
687
|
-
modelValue: string;
|
|
688
|
-
options: {
|
|
689
|
-
value: string;
|
|
690
|
-
label: string;
|
|
691
|
-
count?: number;
|
|
692
|
-
}[];
|
|
693
|
-
size?: 'sm' | 'md';
|
|
694
|
-
};
|
|
695
|
-
|
|
696
742
|
declare type __VLS_Props_8 = {
|
|
697
743
|
kind?: keyof typeof KINDS;
|
|
698
744
|
size?: keyof typeof SIZES;
|
|
@@ -793,6 +839,15 @@ declare function __VLS_template_15(): {
|
|
|
793
839
|
};
|
|
794
840
|
|
|
795
841
|
declare function __VLS_template_16(): {
|
|
842
|
+
attrs: Partial<{}>;
|
|
843
|
+
slots: {
|
|
844
|
+
default?(_: {}): any;
|
|
845
|
+
};
|
|
846
|
+
refs: {};
|
|
847
|
+
rootEl: any;
|
|
848
|
+
};
|
|
849
|
+
|
|
850
|
+
declare function __VLS_template_17(): {
|
|
796
851
|
attrs: Partial<{}>;
|
|
797
852
|
slots: {
|
|
798
853
|
default?(_: {}): any;
|
|
@@ -901,6 +956,8 @@ declare type __VLS_TemplateResult_15 = ReturnType<typeof __VLS_template_15>;
|
|
|
901
956
|
|
|
902
957
|
declare type __VLS_TemplateResult_16 = ReturnType<typeof __VLS_template_16>;
|
|
903
958
|
|
|
959
|
+
declare type __VLS_TemplateResult_17 = ReturnType<typeof __VLS_template_17>;
|
|
960
|
+
|
|
904
961
|
declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
|
|
905
962
|
|
|
906
963
|
declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
|
|
@@ -965,6 +1022,12 @@ declare type __VLS_WithTemplateSlots_16<T, S> = T & {
|
|
|
965
1022
|
};
|
|
966
1023
|
};
|
|
967
1024
|
|
|
1025
|
+
declare type __VLS_WithTemplateSlots_17<T, S> = T & {
|
|
1026
|
+
new (): {
|
|
1027
|
+
$slots: S;
|
|
1028
|
+
};
|
|
1029
|
+
};
|
|
1030
|
+
|
|
968
1031
|
declare type __VLS_WithTemplateSlots_2<T, S> = T & {
|
|
969
1032
|
new (): {
|
|
970
1033
|
$slots: S;
|
|
@@ -1017,8 +1080,12 @@ export declare function addDaysIso(iso: string, days: number): string;
|
|
|
1017
1080
|
|
|
1018
1081
|
export declare const ALL_WORKSPACES = "all";
|
|
1019
1082
|
|
|
1083
|
+
export declare function applyPalette(root: HTMLElement, id: PaletteId): void;
|
|
1084
|
+
|
|
1020
1085
|
export declare function applyTheme(root: HTMLElement, theme: ResolvedTheme): void;
|
|
1021
1086
|
|
|
1087
|
+
export declare const asPalette: (value: unknown) => PaletteId;
|
|
1088
|
+
|
|
1022
1089
|
export declare function blobFromDataUrl(dataUrl: string): Blob;
|
|
1023
1090
|
|
|
1024
1091
|
export declare interface ChipOption {
|
|
@@ -1028,6 +1095,15 @@ export declare interface ChipOption {
|
|
|
1028
1095
|
icon?: string;
|
|
1029
1096
|
}
|
|
1030
1097
|
|
|
1098
|
+
export declare interface ChoiceOption {
|
|
1099
|
+
id: string;
|
|
1100
|
+
label: string;
|
|
1101
|
+
sub?: string;
|
|
1102
|
+
color?: string;
|
|
1103
|
+
iconUrl?: string;
|
|
1104
|
+
kind?: 'dot' | 'workspace';
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1031
1107
|
/** Keeps the mask fully covered: the image, scaled by z over a stage of `stage` px, may only slide until its edge meets the mask's edge. */
|
|
1032
1108
|
export declare function clampOffset(x: number, y: number, z: number, stage: number, inset?: number): {
|
|
1033
1109
|
x: number;
|
|
@@ -1062,6 +1138,8 @@ export declare const DEFAULT_ICON_BASE = "https://unpkg.com/lucide-static@0.545.
|
|
|
1062
1138
|
|
|
1063
1139
|
export declare const DEFAULT_PAGE_SIZE = 10;
|
|
1064
1140
|
|
|
1141
|
+
export declare const DEFAULT_PALETTE: PaletteId;
|
|
1142
|
+
|
|
1065
1143
|
export declare const DIMENSION_KEYS: Readonly<Record<FilterDimension, 'workspaces' | 'projects' | 'tasks' | 'people'>>;
|
|
1066
1144
|
|
|
1067
1145
|
export declare interface DrawerUser {
|
|
@@ -1119,6 +1197,8 @@ export declare interface GridDay {
|
|
|
1119
1197
|
inMonth: boolean;
|
|
1120
1198
|
}
|
|
1121
1199
|
|
|
1200
|
+
export declare const groupTimerRows: (group: TimerGroup) => PillTimer[];
|
|
1201
|
+
|
|
1122
1202
|
export declare function groupTimers(timers: PillTimer[]): TimerGroup[];
|
|
1123
1203
|
|
|
1124
1204
|
export declare const hasIcon: (name: string) => boolean;
|
|
@@ -1263,12 +1343,23 @@ export declare interface PageSlice<T> extends PageBounds {
|
|
|
1263
1343
|
|
|
1264
1344
|
export declare function pageSlice<T>(items: readonly T[], page: number, size: number): PageSlice<T>;
|
|
1265
1345
|
|
|
1346
|
+
export declare interface Palette {
|
|
1347
|
+
id: PaletteId;
|
|
1348
|
+
name: string;
|
|
1349
|
+
accent: string;
|
|
1350
|
+
dark: string;
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
export declare const PALETTE_IDS: readonly PaletteId[];
|
|
1354
|
+
|
|
1266
1355
|
export declare interface PaletteGroup {
|
|
1267
1356
|
id: string;
|
|
1268
1357
|
title: string;
|
|
1269
1358
|
items: readonly PaletteItem[];
|
|
1270
1359
|
}
|
|
1271
1360
|
|
|
1361
|
+
export declare type PaletteId = 'timebraid' | 'forest' | 'ember' | 'ocean' | 'plum';
|
|
1362
|
+
|
|
1272
1363
|
export declare const paletteIds: (groups: readonly PaletteGroup[]) => string[];
|
|
1273
1364
|
|
|
1274
1365
|
export declare interface PaletteItem {
|
|
@@ -1285,6 +1376,10 @@ export declare interface PaletteItem {
|
|
|
1285
1376
|
kbd?: string;
|
|
1286
1377
|
}
|
|
1287
1378
|
|
|
1379
|
+
export declare const paletteOf: (id: PaletteId) => Palette;
|
|
1380
|
+
|
|
1381
|
+
export declare const PALETTES: readonly Palette[];
|
|
1382
|
+
|
|
1288
1383
|
export declare function parallelMinutes(spans: readonly TimelineSpan[]): number;
|
|
1289
1384
|
|
|
1290
1385
|
export declare function parallelPartners(spans: readonly TimelineSpan[]): Map<string, string[]>;
|
|
@@ -1337,6 +1432,8 @@ export declare interface PickPage {
|
|
|
1337
1432
|
nextCursor: string | null;
|
|
1338
1433
|
}
|
|
1339
1434
|
|
|
1435
|
+
export declare type PickValueKind = 'none' | 'dot' | 'workspace';
|
|
1436
|
+
|
|
1340
1437
|
export declare interface PillTimer {
|
|
1341
1438
|
id: string;
|
|
1342
1439
|
task: string;
|
|
@@ -1349,6 +1446,7 @@ export declare interface PillTimer {
|
|
|
1349
1446
|
id: string;
|
|
1350
1447
|
name: string;
|
|
1351
1448
|
color: string;
|
|
1449
|
+
iconUrl?: string;
|
|
1352
1450
|
};
|
|
1353
1451
|
}
|
|
1354
1452
|
|
|
@@ -1528,7 +1626,7 @@ max: number;
|
|
|
1528
1626
|
|
|
1529
1627
|
export declare const TBadge: __VLS_WithTemplateSlots_7<typeof __VLS_component_7, __VLS_TemplateResult_7["slots"]>;
|
|
1530
1628
|
|
|
1531
|
-
export declare const TBanner:
|
|
1629
|
+
export declare const TBanner: __VLS_WithTemplateSlots_17<typeof __VLS_component_17, __VLS_TemplateResult_17["slots"]>;
|
|
1532
1630
|
|
|
1533
1631
|
export declare const TBar: DefineComponent<__VLS_Props_20, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_20> & Readonly<{}>, {
|
|
1534
1632
|
color: string;
|
|
@@ -1567,6 +1665,21 @@ indeterminate: boolean;
|
|
|
1567
1665
|
|
|
1568
1666
|
export declare const TChipRow: __VLS_WithTemplateSlots_15<typeof __VLS_component_15, __VLS_TemplateResult_15["slots"]>;
|
|
1569
1667
|
|
|
1668
|
+
export declare const TChoiceList: DefineComponent<__VLS_Props_65, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
1669
|
+
"update:modelValue": (id: string) => any;
|
|
1670
|
+
add: () => any;
|
|
1671
|
+
}, string, PublicProps, Readonly<__VLS_Props_65> & Readonly<{
|
|
1672
|
+
"onUpdate:modelValue"?: ((id: string) => any) | undefined;
|
|
1673
|
+
onAdd?: (() => any) | undefined;
|
|
1674
|
+
}>, {
|
|
1675
|
+
compact: boolean;
|
|
1676
|
+
empty: string;
|
|
1677
|
+
addLabel: string;
|
|
1678
|
+
visibleRows: number;
|
|
1679
|
+
searchPlaceholder: string;
|
|
1680
|
+
searchAfter: number;
|
|
1681
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
1682
|
+
|
|
1570
1683
|
export declare const TCodeInput: DefineComponent<__VLS_Props_47, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
1571
1684
|
"update:modelValue": (v: string) => any;
|
|
1572
1685
|
}, string, PublicProps, Readonly<__VLS_Props_47> & Readonly<{
|
|
@@ -1778,7 +1891,7 @@ export declare const THEME_PREFERENCES: ThemePreference[];
|
|
|
1778
1891
|
|
|
1779
1892
|
export declare type ThemePreference = 'system' | 'light' | 'dark';
|
|
1780
1893
|
|
|
1781
|
-
export declare const THighlight: DefineComponent<
|
|
1894
|
+
export declare const THighlight: DefineComponent<__VLS_Props_66, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_66> & Readonly<{}>, {
|
|
1782
1895
|
query: string;
|
|
1783
1896
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
|
|
1784
1897
|
|
|
@@ -1846,6 +1959,7 @@ export declare interface TimerWorkspace {
|
|
|
1846
1959
|
id: string;
|
|
1847
1960
|
name: string;
|
|
1848
1961
|
color: string;
|
|
1962
|
+
iconUrl?: string;
|
|
1849
1963
|
}
|
|
1850
1964
|
|
|
1851
1965
|
export declare const TIOSNav: __VLS_WithTemplateSlots_11<typeof __VLS_component_11, __VLS_TemplateResult_11["slots"]>;
|
|
@@ -1866,7 +1980,7 @@ indicator?: boolean;
|
|
|
1866
1980
|
indicator: boolean;
|
|
1867
1981
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
|
|
1868
1982
|
|
|
1869
|
-
export declare const TKbd: DefineComponent<
|
|
1983
|
+
export declare const TKbd: DefineComponent<__VLS_Props_71, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_71> & Readonly<{}>, {
|
|
1870
1984
|
size: keyof typeof SIZES_3;
|
|
1871
1985
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
|
|
1872
1986
|
|
|
@@ -1971,10 +2085,10 @@ onClick?: ((e: MouseEvent) => any) | undefined;
|
|
|
1971
2085
|
compact: boolean;
|
|
1972
2086
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
1973
2087
|
|
|
1974
|
-
export declare const TPager: DefineComponent<
|
|
2088
|
+
export declare const TPager: DefineComponent<__VLS_Props_67, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
1975
2089
|
"update:page": (page: number) => any;
|
|
1976
2090
|
"update:pageSize": (size: number) => any;
|
|
1977
|
-
}, string, PublicProps, Readonly<
|
|
2091
|
+
}, string, PublicProps, Readonly<__VLS_Props_67> & Readonly<{
|
|
1978
2092
|
"onUpdate:page"?: ((page: number) => any) | undefined;
|
|
1979
2093
|
"onUpdate:pageSize"?: ((size: number) => any) | undefined;
|
|
1980
2094
|
}>, {
|
|
@@ -1987,6 +2101,16 @@ sizes: readonly number[];
|
|
|
1987
2101
|
anchor: HTMLButtonElement;
|
|
1988
2102
|
}, HTMLDivElement>;
|
|
1989
2103
|
|
|
2104
|
+
export declare const TPalettePicker: DefineComponent<__VLS_Props_64, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
2105
|
+
"update:modelValue": (id: PaletteId) => any;
|
|
2106
|
+
}, string, PublicProps, Readonly<__VLS_Props_64> & Readonly<{
|
|
2107
|
+
"onUpdate:modelValue"?: ((id: PaletteId) => any) | undefined;
|
|
2108
|
+
}>, {
|
|
2109
|
+
size: number;
|
|
2110
|
+
dark: boolean;
|
|
2111
|
+
palettes: readonly Palette[];
|
|
2112
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
2113
|
+
|
|
1990
2114
|
export declare const TParallelMark: DefineComponent<__VLS_Props_57, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_57> & Readonly<{}>, {
|
|
1991
2115
|
others: string[];
|
|
1992
2116
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
|
|
@@ -2042,6 +2166,8 @@ emptyTime: string;
|
|
|
2042
2166
|
list: HTMLDivElement;
|
|
2043
2167
|
}, HTMLDivElement>;
|
|
2044
2168
|
|
|
2169
|
+
export declare const TPickRow: __VLS_WithTemplateSlots_16<typeof __VLS_component_16, __VLS_TemplateResult_16["slots"]>;
|
|
2170
|
+
|
|
2045
2171
|
export declare const TPill: __VLS_WithTemplateSlots_10<typeof __VLS_component_10, __VLS_TemplateResult_10["slots"]>;
|
|
2046
2172
|
|
|
2047
2173
|
export declare const TPopover: __VLS_WithTemplateSlots_6<typeof __VLS_component_6, __VLS_TemplateResult_6["slots"]>;
|
|
@@ -2096,13 +2222,13 @@ disabled: boolean;
|
|
|
2096
2222
|
|
|
2097
2223
|
export declare const TSheet: __VLS_WithTemplateSlots_9<typeof __VLS_component_9, __VLS_TemplateResult_9["slots"]>;
|
|
2098
2224
|
|
|
2099
|
-
export declare const TSkeleton: DefineComponent<
|
|
2225
|
+
export declare const TSkeleton: DefineComponent<__VLS_Props_68, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_68> & Readonly<{}>, {
|
|
2100
2226
|
width: string;
|
|
2101
2227
|
height: number;
|
|
2102
2228
|
shape: keyof typeof RADIUS;
|
|
2103
2229
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
|
|
2104
2230
|
|
|
2105
|
-
export declare const TSkeletonList: DefineComponent<
|
|
2231
|
+
export declare const TSkeletonList: DefineComponent<__VLS_Props_69, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_69> & Readonly<{}>, {
|
|
2106
2232
|
subtitle: boolean;
|
|
2107
2233
|
leading: keyof typeof LEADING;
|
|
2108
2234
|
trailing: boolean;
|
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;--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)}
|
|
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)}[data-palette=forest]{--accent:#1E7F5C;--accent-hover:#196E4F;--accent-soft:rgba(30,127,92,.12);--accent-soft-2:rgba(30,127,92,.2);--running:#1E7F5C;--running-soft:rgba(30,127,92,.1);--bg:#F1F5F2;--bg-elev-2:#F6F9F7;--bg-sidebar:rgba(243,247,244,.86);--bg-bar:rgba(241,245,242,.82)}[data-theme=dark][data-palette=forest]{--accent:#4FBF8F;--accent-hover:#63CB9D;--accent-soft:rgba(79,191,143,.16);--accent-soft-2:rgba(79,191,143,.26);--running:#5FC99B;--running-soft:rgba(79,191,143,.14);--bg:#15161F;--bg-elev-2:#282A3C;--bg-sidebar:rgba(24,25,36,.86);--bg-bar:rgba(21,22,31,.78)}[data-palette=ember]{--accent:#C84A22;--accent-hover:#B3411D;--accent-soft:rgba(200,74,34,.12);--accent-soft-2:rgba(200,74,34,.2);--running:#C84A22;--running-soft:rgba(200,74,34,.1);--bg:#F7F3F0;--bg-elev-2:#FAF7F5;--bg-sidebar:rgba(248,244,241,.86);--bg-bar:rgba(247,243,240,.82)}[data-theme=dark][data-palette=ember]{--accent:#F0825C;--accent-hover:#F39474;--accent-soft:rgba(240,130,92,.16);--accent-soft-2:rgba(240,130,92,.26);--running:#F5906C;--running-soft:rgba(240,130,92,.14);--bg:#15161F;--bg-elev-2:#282A3C;--bg-sidebar:rgba(24,25,36,.86);--bg-bar:rgba(21,22,31,.78)}[data-palette=ocean]{--accent:#0E7C9B;--accent-hover:#0C6B86;--accent-soft:rgba(14,124,155,.12);--accent-soft-2:rgba(14,124,155,.2);--running:#0E7C9B;--running-soft:rgba(14,124,155,.1);--bg:#EFF5F7;--bg-elev-2:#F5F9FA;--bg-sidebar:rgba(241,246,248,.86);--bg-bar:rgba(239,245,247,.82)}[data-theme=dark][data-palette=ocean]{--accent:#4FC1E0;--accent-hover:#66CBE6;--accent-soft:rgba(79,193,224,.16);--accent-soft-2:rgba(79,193,224,.26);--running:#62C9E4;--running-soft:rgba(79,193,224,.14);--bg:#15161F;--bg-elev-2:#282A3C;--bg-sidebar:rgba(24,25,36,.86);--bg-bar:rgba(21,22,31,.78)}[data-palette=plum]{--accent:#8A3FC7;--accent-hover:#7A37B1;--accent-soft:rgba(138,63,199,.12);--accent-soft-2:rgba(138,63,199,.2);--running:#8A3FC7;--running-soft:rgba(138,63,199,.1);--bg:#F5F2F8;--bg-elev-2:#F9F7FB;--bg-sidebar:rgba(246,243,249,.86);--bg-bar:rgba(245,242,248,.82)}[data-theme=dark][data-palette=plum]{--accent:#B98AF0;--accent-hover:#C59CF3;--accent-soft:rgba(185,138,240,.16);--accent-soft-2:rgba(185,138,240,.26);--running:#C197F2;--running-soft:rgba(185,138,240,.14);--bg:#15161F;--bg-elev-2:#282A3C;--bg-sidebar:rgba(24,25,36,.86);--bg-bar:rgba(21,22,31,.78)}: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:52px;--timer-bar-pad:74px;--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)}
|