picocrank 1.25.1 → 1.25.2
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/package.json +1 -1
- package/styles/dark-theme.css +3 -0
- package/styles/picocrank-extensions.css +82 -0
- package/supplemental-themes/catppuccin-latte-frappe/theme.css +6 -2
- package/supplemental-themes/dracula-alucard/theme.css +6 -2
- package/supplemental-themes/gruvbox-dark-light/theme.css +6 -2
- package/supplemental-themes/waffles/theme.css +4 -0
- package/vue/components/Breadcrumbs.vue +3 -3
- package/vue/components/Calendar.vue +48 -155
- package/vue/components/Login.vue +6 -7
- package/vue/components/NavigationGrid.vue +23 -47
- package/vue/components/QuickSearch.vue +21 -47
- package/vue/components/RadioGroup.vue +4 -4
- package/vue/components/Table.vue +3 -3
- package/vue/components/TableColumnFilterPopover.vue +7 -17
- package/vue/components/TableColumnOptionsPopover.vue +13 -27
- package/vue/components/Tabs.vue +4 -4
- package/vue/examples/Welcome.vue +0 -72
package/package.json
CHANGED
package/styles/dark-theme.css
CHANGED
|
@@ -52,6 +52,9 @@ html[data-theme="dark"] {
|
|
|
52
52
|
--table-sticky-uneditable-bg: var(--table-uneditable-bg);
|
|
53
53
|
|
|
54
54
|
--progress-track-bg-color: var(--table-uneditable-bg);
|
|
55
|
+
|
|
56
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
57
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
55
58
|
}
|
|
56
59
|
|
|
57
60
|
html[data-theme="light"] {
|
|
@@ -7,6 +7,88 @@
|
|
|
7
7
|
--tab-fg: var(--muted-text-color);
|
|
8
8
|
--tab-active-fg: var(--link-color);
|
|
9
9
|
--tab-focus-outline-color: var(--tab-active-fg);
|
|
10
|
+
|
|
11
|
+
/* Default light: bright bold blues for icons and active fill. */
|
|
12
|
+
--nav-grid-accent-fg: #007dff;
|
|
13
|
+
--nav-grid-accent-bg: #0066cc;
|
|
14
|
+
--nav-grid-active-fg: var(--button-on-accent-fg);
|
|
15
|
+
--nav-grid-muted-fg: var(--muted-text-color);
|
|
16
|
+
--nav-grid-border: var(--border-color);
|
|
17
|
+
--nav-grid-hover-bg: var(--hover-background-color);
|
|
18
|
+
--nav-grid-indicator-bg: var(--button-bad-bg);
|
|
19
|
+
--nav-grid-indicator-fg: var(--button-on-accent-fg);
|
|
20
|
+
--nav-grid-ring-bg: var(--surface-bg-color);
|
|
21
|
+
--nav-grid-disabled-fg: var(--disabled-text-color);
|
|
22
|
+
--nav-grid-shadow: var(--shadow-color);
|
|
23
|
+
--nav-grid-hover-shadow: color-mix(in srgb, var(--nav-grid-shadow) 50%, transparent);
|
|
24
|
+
|
|
25
|
+
--quick-search-dialog-bg: var(--standout-bg-color);
|
|
26
|
+
--quick-search-dialog-fg: var(--text-color);
|
|
27
|
+
--quick-search-backdrop: var(--backdrop-color);
|
|
28
|
+
--quick-search-input-bg: var(--input-bg-color);
|
|
29
|
+
--quick-search-input-fg: var(--input-fg-color);
|
|
30
|
+
--quick-search-border: var(--border-color);
|
|
31
|
+
--quick-search-muted-fg: var(--muted-text-color);
|
|
32
|
+
--quick-search-subtle-fg: var(--annotation-key-color);
|
|
33
|
+
--quick-search-focus-outline: var(--focus-outline-color);
|
|
34
|
+
--quick-search-highlight-bg: var(--karma-important);
|
|
35
|
+
--quick-search-hover-bg: var(--hover-background-color);
|
|
36
|
+
--quick-search-hover-fg: var(--hover-text-color);
|
|
37
|
+
|
|
38
|
+
--breadcrumbs-separator-fg: var(--muted-text-color);
|
|
39
|
+
--breadcrumbs-link-hover-bg: var(--hover-background-color);
|
|
40
|
+
|
|
41
|
+
--radio-group-focus-outline: var(--focus-outline-color);
|
|
42
|
+
--radio-group-checked-hover-bg: var(--control-checked-hover-bg);
|
|
43
|
+
--radio-group-checked-hover-fg: var(--control-checked-fg);
|
|
44
|
+
|
|
45
|
+
--login-input-focus-outline: var(--focus-outline-color);
|
|
46
|
+
--login-error-bg: var(--karma-bad);
|
|
47
|
+
--login-error-fg: var(--karma-bad-fg);
|
|
48
|
+
--login-muted-fg: var(--muted-text-color);
|
|
49
|
+
|
|
50
|
+
--table-muted-fg: var(--muted-text-color);
|
|
51
|
+
|
|
52
|
+
--table-popover-bg: var(--surface-bg-color);
|
|
53
|
+
--table-popover-border: var(--border-color);
|
|
54
|
+
--table-popover-shadow: 0 8px 24px color-mix(in srgb, var(--shadow-color) 60%, transparent);
|
|
55
|
+
--table-popover-muted-fg: var(--muted-text-color);
|
|
56
|
+
--table-popover-fg: var(--text-color);
|
|
57
|
+
--table-popover-item-bg: var(--standout-bg-color);
|
|
58
|
+
--table-popover-item-drag-border: var(--text-color);
|
|
59
|
+
--table-popover-divider: var(--border-color);
|
|
60
|
+
--table-popover-error-fg: var(--karma-bad-fg);
|
|
61
|
+
--table-popover-success-fg: var(--karma-good-fg);
|
|
62
|
+
|
|
63
|
+
--tab-border: var(--border-color);
|
|
64
|
+
--tab-hover-fg: var(--text-color);
|
|
65
|
+
--tab-hover-bg: var(--hover-background-color);
|
|
66
|
+
|
|
67
|
+
--calendar-chrome-bg: var(--standout-bg-color);
|
|
68
|
+
--calendar-surface-bg: var(--surface-bg-color);
|
|
69
|
+
--calendar-border: var(--border-color);
|
|
70
|
+
--calendar-error-fg: var(--karma-bad-fg);
|
|
71
|
+
--calendar-loading-overlay-bg: color-mix(in srgb, var(--calendar-surface-bg) 60%, transparent);
|
|
72
|
+
--calendar-day-fg: var(--text-color);
|
|
73
|
+
--calendar-muted-fg: var(--muted-text-color);
|
|
74
|
+
--calendar-accent-fg: var(--link-color);
|
|
75
|
+
--calendar-day-hover-bg: color-mix(in srgb, var(--link-color) 8%, var(--calendar-surface-bg));
|
|
76
|
+
--calendar-day-muted-bg: var(--standout-bg-color);
|
|
77
|
+
--calendar-day-muted-hover-bg: var(--table-uneditable-bg);
|
|
78
|
+
--calendar-today-bg: var(--karma-important);
|
|
79
|
+
--calendar-today-hover-bg: var(--karma-note);
|
|
80
|
+
--calendar-range-accent: var(--link-color);
|
|
81
|
+
--calendar-range-bg-strong: color-mix(in srgb, var(--link-color) 22%, transparent);
|
|
82
|
+
--calendar-range-bg: color-mix(in srgb, var(--link-color) 14%, transparent);
|
|
83
|
+
--calendar-range-bg-subtle: color-mix(in srgb, var(--link-color) 10%, transparent);
|
|
84
|
+
--calendar-event-bg: var(--karma-good);
|
|
85
|
+
--calendar-event-border: color-mix(in srgb, var(--karma-good-fg) 35%, var(--karma-good));
|
|
86
|
+
--calendar-event-hover-bg: color-mix(in srgb, var(--karma-good) 80%, var(--karma-good-fg));
|
|
87
|
+
--calendar-event-title-fg: var(--text-color);
|
|
88
|
+
--calendar-event-shadow: 0 1px 2px color-mix(in srgb, var(--shadow-color) 50%, transparent);
|
|
89
|
+
--calendar-event-hover-shadow: 0 2px 4px color-mix(in srgb, var(--shadow-color) 60%, transparent);
|
|
90
|
+
--calendar-more-bg: var(--standout-bg-color);
|
|
91
|
+
--calendar-event-custom-border-mix: var(--karma-on-bg-fg);
|
|
10
92
|
}
|
|
11
93
|
|
|
12
94
|
table thead th {
|
|
@@ -50,6 +50,8 @@ html[data-theme="dark"] {
|
|
|
50
50
|
--muted-text-color: var(--ctp-subtext0);
|
|
51
51
|
--annotation-key-color: var(--ctp-subtext0);
|
|
52
52
|
--link-color: var(--ctp-blue);
|
|
53
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
54
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
53
55
|
--border-color: var(--ctp-surface1);
|
|
54
56
|
|
|
55
57
|
--hover-background-color: var(--ctp-surface0);
|
|
@@ -71,7 +73,7 @@ html[data-theme="dark"] {
|
|
|
71
73
|
--input-bg-color: var(--ctp-surface0);
|
|
72
74
|
--input-fg-color: var(--ctp-text);
|
|
73
75
|
--control-option-bg-color: var(--ctp-surface0);
|
|
74
|
-
--control-hover-bg-color: var(--ctp-
|
|
76
|
+
--control-hover-bg-color: var(--ctp-surface1);
|
|
75
77
|
--menu-hover-bg-color: var(--ctp-surface0);
|
|
76
78
|
|
|
77
79
|
--table-row-hover-bg: var(--ctp-surface0);
|
|
@@ -151,6 +153,8 @@ html[data-theme="light"] {
|
|
|
151
153
|
--muted-text-color: var(--ctp-subtext0);
|
|
152
154
|
--annotation-key-color: var(--ctp-subtext0);
|
|
153
155
|
--link-color: var(--ctp-blue);
|
|
156
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
157
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
154
158
|
--border-color: var(--ctp-surface1);
|
|
155
159
|
|
|
156
160
|
--hover-background-color: var(--ctp-surface0);
|
|
@@ -172,7 +176,7 @@ html[data-theme="light"] {
|
|
|
172
176
|
--input-bg-color: var(--ctp-surface0);
|
|
173
177
|
--input-fg-color: var(--ctp-text);
|
|
174
178
|
--control-option-bg-color: var(--ctp-surface0);
|
|
175
|
-
--control-hover-bg-color: var(--ctp-
|
|
179
|
+
--control-hover-bg-color: var(--ctp-surface1);
|
|
176
180
|
--menu-hover-bg-color: var(--ctp-surface0);
|
|
177
181
|
|
|
178
182
|
--table-row-hover-bg: var(--ctp-surface0);
|
|
@@ -41,6 +41,8 @@ html[data-theme="dark"] {
|
|
|
41
41
|
--muted-text-color: var(--dt-muted);
|
|
42
42
|
--annotation-key-color: var(--dt-muted);
|
|
43
43
|
--link-color: var(--dt-accent);
|
|
44
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
45
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
44
46
|
--border-color: var(--dt-border);
|
|
45
47
|
|
|
46
48
|
--hover-background-color: var(--dt-selection);
|
|
@@ -61,8 +63,8 @@ html[data-theme="dark"] {
|
|
|
61
63
|
|
|
62
64
|
--input-bg-color: var(--dt-background);
|
|
63
65
|
--input-fg-color: var(--dt-foreground);
|
|
64
|
-
--control-option-bg-color: var(--dt-
|
|
65
|
-
--control-hover-bg-color: var(--dt-
|
|
66
|
+
--control-option-bg-color: var(--dt-background);
|
|
67
|
+
--control-hover-bg-color: var(--dt-overlay);
|
|
66
68
|
--menu-hover-bg-color: var(--dt-selection);
|
|
67
69
|
|
|
68
70
|
--table-row-hover-bg: var(--dt-selection);
|
|
@@ -133,6 +135,8 @@ html[data-theme="light"] {
|
|
|
133
135
|
--muted-text-color: var(--dt-muted);
|
|
134
136
|
--annotation-key-color: var(--dt-muted);
|
|
135
137
|
--link-color: var(--dt-accent);
|
|
138
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
139
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
136
140
|
--border-color: var(--dt-border);
|
|
137
141
|
|
|
138
142
|
--hover-background-color: var(--dt-selection);
|
|
@@ -44,6 +44,8 @@ html[data-theme="dark"] {
|
|
|
44
44
|
--muted-text-color: var(--gb-fg3);
|
|
45
45
|
--annotation-key-color: var(--gb-fg3);
|
|
46
46
|
--link-color: var(--gb-accent);
|
|
47
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
48
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
47
49
|
--border-color: var(--gb-bg3);
|
|
48
50
|
|
|
49
51
|
--hover-background-color: var(--gb-bg2);
|
|
@@ -65,7 +67,7 @@ html[data-theme="dark"] {
|
|
|
65
67
|
--input-bg-color: var(--gb-bg0);
|
|
66
68
|
--input-fg-color: var(--gb-fg0);
|
|
67
69
|
--control-option-bg-color: var(--gb-bg2);
|
|
68
|
-
--control-hover-bg-color: var(--gb-
|
|
70
|
+
--control-hover-bg-color: var(--gb-bg3);
|
|
69
71
|
--menu-hover-bg-color: var(--gb-bg2);
|
|
70
72
|
|
|
71
73
|
--table-row-hover-bg: var(--gb-bg2);
|
|
@@ -139,6 +141,8 @@ html[data-theme="light"] {
|
|
|
139
141
|
--muted-text-color: var(--gb-fg3);
|
|
140
142
|
--annotation-key-color: var(--gb-fg3);
|
|
141
143
|
--link-color: var(--gb-accent);
|
|
144
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
145
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
142
146
|
--border-color: var(--gb-bg3);
|
|
143
147
|
|
|
144
148
|
--hover-background-color: var(--gb-bg2);
|
|
@@ -160,7 +164,7 @@ html[data-theme="light"] {
|
|
|
160
164
|
--input-bg-color: var(--gb-bg0);
|
|
161
165
|
--input-fg-color: var(--gb-fg0);
|
|
162
166
|
--control-option-bg-color: var(--gb-bg2);
|
|
163
|
-
--control-hover-bg-color: var(--gb-
|
|
167
|
+
--control-hover-bg-color: var(--gb-bg3);
|
|
164
168
|
--menu-hover-bg-color: var(--gb-bg2);
|
|
165
169
|
|
|
166
170
|
--table-row-hover-bg: var(--gb-bg2);
|
|
@@ -26,6 +26,8 @@ html {
|
|
|
26
26
|
--text-color: var(--waffle-syrup);
|
|
27
27
|
--muted-text-color: #a88860;
|
|
28
28
|
--link-color: var(--waffle-accent);
|
|
29
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
30
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
29
31
|
--border-color: #e0c896;
|
|
30
32
|
|
|
31
33
|
--hover-background-color: #f0d9a8;
|
|
@@ -138,6 +140,8 @@ html[data-theme="dark"] {
|
|
|
138
140
|
--text-color: var(--waffle-foreground);
|
|
139
141
|
--muted-text-color: var(--waffle-foreground-muted);
|
|
140
142
|
--link-color: var(--waffle-accent-dark);
|
|
143
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
144
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
141
145
|
--border-color: #c9a66a;
|
|
142
146
|
--standout-bg-color: var(--waffle-batter);
|
|
143
147
|
--hover-background-color: #f0d9a8;
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
</template>
|
|
11
11
|
|
|
12
12
|
<style scoped>
|
|
13
|
-
|
|
14
|
-
color:
|
|
13
|
+
.separator {
|
|
14
|
+
color: var(--breadcrumbs-separator-fg);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
a {
|
|
@@ -22,7 +22,7 @@ a {
|
|
|
22
22
|
|
|
23
23
|
a:hover {
|
|
24
24
|
text-decoration: underline;
|
|
25
|
-
background-color:
|
|
25
|
+
background-color: var(--breadcrumbs-link-hover-bg);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
</style>
|
|
@@ -731,7 +731,7 @@ watch([currentMonth, currentYear], () => {
|
|
|
731
731
|
align-items: center;
|
|
732
732
|
margin-bottom: 1rem;
|
|
733
733
|
padding: 1rem;
|
|
734
|
-
background:
|
|
734
|
+
background: var(--calendar-chrome-bg);
|
|
735
735
|
border-radius: 8px;
|
|
736
736
|
}
|
|
737
737
|
|
|
@@ -748,7 +748,7 @@ watch([currentMonth, currentYear], () => {
|
|
|
748
748
|
}
|
|
749
749
|
|
|
750
750
|
.calendar-error {
|
|
751
|
-
color:
|
|
751
|
+
color: var(--calendar-error-fg);
|
|
752
752
|
padding: 1rem;
|
|
753
753
|
}
|
|
754
754
|
|
|
@@ -763,14 +763,14 @@ watch([currentMonth, currentYear], () => {
|
|
|
763
763
|
display: flex;
|
|
764
764
|
align-items: center;
|
|
765
765
|
justify-content: center;
|
|
766
|
-
background:
|
|
766
|
+
background: var(--calendar-loading-overlay-bg);
|
|
767
767
|
z-index: 1;
|
|
768
768
|
font-weight: 600;
|
|
769
769
|
}
|
|
770
770
|
|
|
771
771
|
.calendar-container {
|
|
772
|
-
background:
|
|
773
|
-
border: 1px solid
|
|
772
|
+
background: var(--calendar-surface-bg);
|
|
773
|
+
border: 1px solid var(--calendar-border);
|
|
774
774
|
overflow: hidden;
|
|
775
775
|
border-radius: 8px;
|
|
776
776
|
position: relative;
|
|
@@ -788,36 +788,36 @@ watch([currentMonth, currentYear], () => {
|
|
|
788
788
|
}
|
|
789
789
|
|
|
790
790
|
.calendar-day.range-single {
|
|
791
|
-
background-color:
|
|
792
|
-
box-shadow: inset 0 0 0 2px
|
|
791
|
+
background-color: var(--calendar-range-bg-strong) !important;
|
|
792
|
+
box-shadow: inset 0 0 0 2px var(--calendar-range-accent);
|
|
793
793
|
}
|
|
794
794
|
|
|
795
795
|
.calendar-day.range-start {
|
|
796
|
-
background-color:
|
|
796
|
+
background-color: var(--calendar-range-bg) !important;
|
|
797
797
|
box-shadow:
|
|
798
|
-
inset 2px 0 0 0
|
|
799
|
-
inset 0 2px 0 0
|
|
800
|
-
inset 0 -2px 0 0
|
|
798
|
+
inset 2px 0 0 0 var(--calendar-range-accent),
|
|
799
|
+
inset 0 2px 0 0 var(--calendar-range-accent),
|
|
800
|
+
inset 0 -2px 0 0 var(--calendar-range-accent);
|
|
801
801
|
}
|
|
802
802
|
|
|
803
803
|
.calendar-day.range-end {
|
|
804
|
-
background-color:
|
|
804
|
+
background-color: var(--calendar-range-bg) !important;
|
|
805
805
|
box-shadow:
|
|
806
|
-
inset -2px 0 0 0
|
|
807
|
-
inset 0 2px 0 0
|
|
808
|
-
inset 0 -2px 0 0
|
|
806
|
+
inset -2px 0 0 0 var(--calendar-range-accent),
|
|
807
|
+
inset 0 2px 0 0 var(--calendar-range-accent),
|
|
808
|
+
inset 0 -2px 0 0 var(--calendar-range-accent);
|
|
809
809
|
}
|
|
810
810
|
|
|
811
811
|
.calendar-day.range-middle {
|
|
812
|
-
background-color:
|
|
812
|
+
background-color: var(--calendar-range-bg) !important;
|
|
813
813
|
box-shadow:
|
|
814
|
-
inset 0 2px 0 0
|
|
815
|
-
inset 0 -2px 0 0
|
|
814
|
+
inset 0 2px 0 0 var(--calendar-range-accent),
|
|
815
|
+
inset 0 -2px 0 0 var(--calendar-range-accent);
|
|
816
816
|
}
|
|
817
817
|
|
|
818
818
|
.calendar-day.drag-over-target {
|
|
819
|
-
background-color:
|
|
820
|
-
outline: 2px dashed
|
|
819
|
+
background-color: var(--calendar-range-bg-subtle) !important;
|
|
820
|
+
outline: 2px dashed var(--calendar-range-accent);
|
|
821
821
|
outline-offset: -3px;
|
|
822
822
|
}
|
|
823
823
|
|
|
@@ -825,10 +825,10 @@ watch([currentMonth, currentYear], () => {
|
|
|
825
825
|
padding: 1rem;
|
|
826
826
|
text-align: center;
|
|
827
827
|
font-weight: 600;
|
|
828
|
-
color:
|
|
829
|
-
border-right: 1px solid
|
|
830
|
-
border-bottom: 1px solid
|
|
831
|
-
background:
|
|
828
|
+
color: var(--calendar-muted-fg);
|
|
829
|
+
border-right: 1px solid var(--calendar-border);
|
|
830
|
+
border-bottom: 1px solid var(--calendar-border);
|
|
831
|
+
background: var(--calendar-chrome-bg);
|
|
832
832
|
}
|
|
833
833
|
|
|
834
834
|
.day-header:last-child {
|
|
@@ -836,8 +836,8 @@ watch([currentMonth, currentYear], () => {
|
|
|
836
836
|
}
|
|
837
837
|
|
|
838
838
|
.calendar-day {
|
|
839
|
-
border-right: 1px solid
|
|
840
|
-
border-bottom: 1px solid
|
|
839
|
+
border-right: 1px solid var(--calendar-border);
|
|
840
|
+
border-bottom: 1px solid var(--calendar-border);
|
|
841
841
|
height: 160px;
|
|
842
842
|
position: relative;
|
|
843
843
|
transition: background-color 0.2s ease;
|
|
@@ -846,7 +846,7 @@ watch([currentMonth, currentYear], () => {
|
|
|
846
846
|
}
|
|
847
847
|
|
|
848
848
|
.calendar-day:hover {
|
|
849
|
-
background-color:
|
|
849
|
+
background-color: var(--calendar-day-hover-bg);
|
|
850
850
|
}
|
|
851
851
|
|
|
852
852
|
.calendar-day:hover .day-number .day-month {
|
|
@@ -858,21 +858,21 @@ watch([currentMonth, currentYear], () => {
|
|
|
858
858
|
}
|
|
859
859
|
|
|
860
860
|
.calendar-day.weekend {
|
|
861
|
-
background:
|
|
861
|
+
background: var(--calendar-day-muted-bg);
|
|
862
862
|
}
|
|
863
863
|
|
|
864
864
|
.calendar-day.weekend:hover {
|
|
865
|
-
background:
|
|
865
|
+
background: var(--calendar-day-muted-hover-bg);
|
|
866
866
|
}
|
|
867
867
|
|
|
868
868
|
.calendar-day.next-month,
|
|
869
869
|
.calendar-day.prev-month {
|
|
870
|
-
background:
|
|
870
|
+
background: var(--calendar-day-muted-bg);
|
|
871
871
|
}
|
|
872
872
|
|
|
873
873
|
.calendar-day.next-month:hover,
|
|
874
874
|
.calendar-day.prev-month:hover {
|
|
875
|
-
background:
|
|
875
|
+
background: var(--calendar-day-muted-hover-bg);
|
|
876
876
|
}
|
|
877
877
|
|
|
878
878
|
.calendar-day.past {
|
|
@@ -884,12 +884,12 @@ watch([currentMonth, currentYear], () => {
|
|
|
884
884
|
}
|
|
885
885
|
|
|
886
886
|
.calendar-day.today {
|
|
887
|
-
background:
|
|
887
|
+
background: var(--calendar-today-bg);
|
|
888
888
|
font-weight: bold;
|
|
889
889
|
}
|
|
890
890
|
|
|
891
891
|
.calendar-day.today:hover {
|
|
892
|
-
background:
|
|
892
|
+
background: var(--calendar-today-hover-bg);
|
|
893
893
|
}
|
|
894
894
|
|
|
895
895
|
|
|
@@ -902,7 +902,7 @@ watch([currentMonth, currentYear], () => {
|
|
|
902
902
|
.day-number {
|
|
903
903
|
font-size: 0.9rem;
|
|
904
904
|
margin-bottom: 0.25rem;
|
|
905
|
-
color:
|
|
905
|
+
color: var(--calendar-day-fg);
|
|
906
906
|
text-decoration: none;
|
|
907
907
|
display: inline-block;
|
|
908
908
|
padding: 0.1rem;
|
|
@@ -932,7 +932,7 @@ watch([currentMonth, currentYear], () => {
|
|
|
932
932
|
}
|
|
933
933
|
|
|
934
934
|
.day-content:hover .day-number.clickable {
|
|
935
|
-
color:
|
|
935
|
+
color: var(--calendar-accent-fg);
|
|
936
936
|
}
|
|
937
937
|
|
|
938
938
|
.day-events {
|
|
@@ -941,12 +941,12 @@ watch([currentMonth, currentYear], () => {
|
|
|
941
941
|
}
|
|
942
942
|
|
|
943
943
|
.calendar-event {
|
|
944
|
-
background:
|
|
945
|
-
border: 1px solid
|
|
944
|
+
background: var(--calendar-event-bg);
|
|
945
|
+
border: 1px solid var(--calendar-event-border);
|
|
946
946
|
margin-bottom: 0.25rem;
|
|
947
947
|
cursor: pointer;
|
|
948
948
|
transition: all 0.2s;
|
|
949
|
-
box-shadow:
|
|
949
|
+
box-shadow: var(--calendar-event-shadow);
|
|
950
950
|
padding: 0.1rem 0.1rem;
|
|
951
951
|
}
|
|
952
952
|
|
|
@@ -963,20 +963,20 @@ watch([currentMonth, currentYear], () => {
|
|
|
963
963
|
}
|
|
964
964
|
|
|
965
965
|
.calendar-event:hover {
|
|
966
|
-
background:
|
|
967
|
-
border-color:
|
|
966
|
+
background: var(--calendar-event-hover-bg);
|
|
967
|
+
border-color: var(--calendar-event-border);
|
|
968
968
|
transform: translateY(-1px);
|
|
969
|
-
box-shadow:
|
|
969
|
+
box-shadow: var(--calendar-event-hover-shadow);
|
|
970
970
|
}
|
|
971
971
|
|
|
972
972
|
.calendar-event.has-custom-color {
|
|
973
973
|
background: var(--event-color);
|
|
974
|
-
border-color: color-mix(in srgb, var(--event-color) 75%,
|
|
974
|
+
border-color: color-mix(in srgb, var(--event-color) 75%, var(--calendar-event-custom-border-mix));
|
|
975
975
|
}
|
|
976
976
|
|
|
977
977
|
.calendar-event.has-custom-color:hover {
|
|
978
978
|
background: var(--event-color);
|
|
979
|
-
border-color: color-mix(in srgb, var(--event-color) 75%,
|
|
979
|
+
border-color: color-mix(in srgb, var(--event-color) 75%, var(--calendar-event-custom-border-mix));
|
|
980
980
|
filter: brightness(0.92);
|
|
981
981
|
}
|
|
982
982
|
|
|
@@ -1005,7 +1005,7 @@ watch([currentMonth, currentYear], () => {
|
|
|
1005
1005
|
.event-title {
|
|
1006
1006
|
font-weight: bold;
|
|
1007
1007
|
font-size: 0.85rem;
|
|
1008
|
-
color:
|
|
1008
|
+
color: var(--calendar-event-title-fg);
|
|
1009
1009
|
white-space: normal;
|
|
1010
1010
|
overflow: hidden;
|
|
1011
1011
|
text-overflow: ellipsis;
|
|
@@ -1016,22 +1016,22 @@ watch([currentMonth, currentYear], () => {
|
|
|
1016
1016
|
|
|
1017
1017
|
.multi-day-indicator {
|
|
1018
1018
|
font-size: 0.7rem;
|
|
1019
|
-
color:
|
|
1019
|
+
color: var(--calendar-accent-fg);
|
|
1020
1020
|
font-weight: bold;
|
|
1021
1021
|
}
|
|
1022
1022
|
|
|
1023
1023
|
.event-time {
|
|
1024
1024
|
font-size: 0.75rem;
|
|
1025
|
-
color:
|
|
1025
|
+
color: var(--calendar-muted-fg);
|
|
1026
1026
|
margin-top: 0.125rem;
|
|
1027
1027
|
}
|
|
1028
1028
|
|
|
1029
1029
|
.more-events {
|
|
1030
1030
|
font-size: 0.75rem;
|
|
1031
|
-
color:
|
|
1031
|
+
color: var(--calendar-muted-fg);
|
|
1032
1032
|
text-align: center;
|
|
1033
1033
|
padding: 0.25rem;
|
|
1034
|
-
background:
|
|
1034
|
+
background: var(--calendar-more-bg);
|
|
1035
1035
|
border-radius: 4px;
|
|
1036
1036
|
margin-top: 0.25rem;
|
|
1037
1037
|
}
|
|
@@ -1085,111 +1085,4 @@ watch([currentMonth, currentYear], () => {
|
|
|
1085
1085
|
padding: 0.25rem 0.5rem;
|
|
1086
1086
|
}
|
|
1087
1087
|
}
|
|
1088
|
-
|
|
1089
|
-
html[data-theme="dark"] {
|
|
1090
|
-
.calendar-container {
|
|
1091
|
-
background: #565656;
|
|
1092
|
-
border-color: #374151;
|
|
1093
|
-
border: 1px solid #565656;
|
|
1094
|
-
}
|
|
1095
|
-
|
|
1096
|
-
.calendar-day.today {
|
|
1097
|
-
background: #646c70;
|
|
1098
|
-
}
|
|
1099
|
-
|
|
1100
|
-
.calendar-day.weekend {
|
|
1101
|
-
background: #444;
|
|
1102
|
-
}
|
|
1103
|
-
|
|
1104
|
-
.calendar-day.weekend:hover {
|
|
1105
|
-
background: #1a1a1a;
|
|
1106
|
-
}
|
|
1107
|
-
|
|
1108
|
-
.calendar-day.next-month,
|
|
1109
|
-
.calendar-day.prev-month {
|
|
1110
|
-
background: #1a1a1a !important;
|
|
1111
|
-
}
|
|
1112
|
-
|
|
1113
|
-
.calendar-day.next-month:hover,
|
|
1114
|
-
.calendar-day.prev-month:hover {
|
|
1115
|
-
background: #374151;
|
|
1116
|
-
}
|
|
1117
|
-
|
|
1118
|
-
.calendar-day.today:hover {
|
|
1119
|
-
background: #374151;
|
|
1120
|
-
}
|
|
1121
|
-
|
|
1122
|
-
.calendar-day {
|
|
1123
|
-
border: 1px solid #3b3b3b;
|
|
1124
|
-
}
|
|
1125
|
-
|
|
1126
|
-
.day-number {
|
|
1127
|
-
color: #f9fafb;
|
|
1128
|
-
}
|
|
1129
|
-
|
|
1130
|
-
.day-header {
|
|
1131
|
-
color: #f9fafb;
|
|
1132
|
-
background: #444 !important;
|
|
1133
|
-
border: 1px solid #374151;
|
|
1134
|
-
border-color: #374151;
|
|
1135
|
-
}
|
|
1136
|
-
|
|
1137
|
-
.day-content:hover .day-number.clickable {
|
|
1138
|
-
color: #f9fafb;
|
|
1139
|
-
}
|
|
1140
|
-
|
|
1141
|
-
.calendar-day:hover {
|
|
1142
|
-
background-color: #374151;
|
|
1143
|
-
}
|
|
1144
|
-
|
|
1145
|
-
.calendar-day.today:hover {
|
|
1146
|
-
background: #374151;
|
|
1147
|
-
}
|
|
1148
|
-
|
|
1149
|
-
.calendar-day.weekend:hover {
|
|
1150
|
-
background: #374151;
|
|
1151
|
-
}
|
|
1152
|
-
|
|
1153
|
-
.calendar-day.range-single {
|
|
1154
|
-
background-color: rgba(96, 165, 250, 0.28) !important;
|
|
1155
|
-
box-shadow: inset 0 0 0 2px #60a5fa;
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
|
-
.calendar-day.range-start {
|
|
1159
|
-
background-color: rgba(96, 165, 250, 0.18) !important;
|
|
1160
|
-
box-shadow:
|
|
1161
|
-
inset 2px 0 0 0 #60a5fa,
|
|
1162
|
-
inset 0 2px 0 0 #60a5fa,
|
|
1163
|
-
inset 0 -2px 0 0 #60a5fa;
|
|
1164
|
-
}
|
|
1165
|
-
|
|
1166
|
-
.calendar-day.range-end {
|
|
1167
|
-
background-color: rgba(96, 165, 250, 0.18) !important;
|
|
1168
|
-
box-shadow:
|
|
1169
|
-
inset -2px 0 0 0 #60a5fa,
|
|
1170
|
-
inset 0 2px 0 0 #60a5fa,
|
|
1171
|
-
inset 0 -2px 0 0 #60a5fa;
|
|
1172
|
-
}
|
|
1173
|
-
|
|
1174
|
-
.calendar-day.range-middle {
|
|
1175
|
-
background-color: rgba(96, 165, 250, 0.18) !important;
|
|
1176
|
-
box-shadow:
|
|
1177
|
-
inset 0 2px 0 0 #60a5fa,
|
|
1178
|
-
inset 0 -2px 0 0 #60a5fa;
|
|
1179
|
-
}
|
|
1180
|
-
|
|
1181
|
-
.calendar-day.drag-over-target {
|
|
1182
|
-
background-color: rgba(96, 165, 250, 0.12) !important;
|
|
1183
|
-
outline: 2px dashed #60a5fa;
|
|
1184
|
-
outline-offset: -3px;
|
|
1185
|
-
}
|
|
1186
|
-
|
|
1187
|
-
.calendar-day.past {
|
|
1188
|
-
opacity: 0.6;
|
|
1189
|
-
}
|
|
1190
|
-
|
|
1191
|
-
.calendar-day.past:hover {
|
|
1192
|
-
opacity: 0.8;
|
|
1193
|
-
}
|
|
1194
|
-
}
|
|
1195
1088
|
</style>
|
package/vue/components/Login.vue
CHANGED
|
@@ -247,10 +247,9 @@ defineExpose({
|
|
|
247
247
|
box-sizing: border-box;
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
.local-login-form input:focus {
|
|
251
|
-
outline:
|
|
252
|
-
|
|
253
|
-
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
|
|
250
|
+
.local-login-form input:focus-visible {
|
|
251
|
+
outline: 2px solid var(--login-input-focus-outline);
|
|
252
|
+
outline-offset: 2px;
|
|
254
253
|
}
|
|
255
254
|
|
|
256
255
|
.local-login-form button {
|
|
@@ -303,8 +302,8 @@ defineExpose({
|
|
|
303
302
|
|
|
304
303
|
.error-message {
|
|
305
304
|
padding: 0.75rem;
|
|
306
|
-
background-color: var(--error-bg
|
|
307
|
-
color: var(--error-
|
|
305
|
+
background-color: var(--login-error-bg);
|
|
306
|
+
color: var(--login-error-fg);
|
|
308
307
|
border-radius: 4px;
|
|
309
308
|
font-size: 0.9em;
|
|
310
309
|
margin-top: 0.5rem;
|
|
@@ -314,7 +313,7 @@ defineExpose({
|
|
|
314
313
|
.no-providers {
|
|
315
314
|
padding: 2rem;
|
|
316
315
|
text-align: center;
|
|
317
|
-
color: var(--
|
|
316
|
+
color: var(--login-muted-fg);
|
|
318
317
|
}
|
|
319
318
|
|
|
320
319
|
@media (min-width: 768px) {
|
|
@@ -181,7 +181,7 @@ function handleLinkClick(link) {
|
|
|
181
181
|
gap: 0.75rem;
|
|
182
182
|
padding: 1.25rem 0.75rem;
|
|
183
183
|
background: transparent;
|
|
184
|
-
border: 1px solid var(--border
|
|
184
|
+
border: 1px solid var(--nav-grid-border);
|
|
185
185
|
border-radius: 8px;
|
|
186
186
|
cursor: pointer;
|
|
187
187
|
transition: all 0.2s ease;
|
|
@@ -195,37 +195,38 @@ function handleLinkClick(link) {
|
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
.nav-button:hover {
|
|
198
|
-
border-color: var(--
|
|
198
|
+
border-color: var(--nav-grid-accent-fg);
|
|
199
|
+
background: var(--nav-grid-hover-bg);
|
|
199
200
|
transform: translateY(-2px);
|
|
200
|
-
box-shadow: 0 4px 8px
|
|
201
|
+
box-shadow: 0 4px 8px var(--nav-grid-hover-shadow);
|
|
201
202
|
}
|
|
202
203
|
|
|
203
204
|
.nav-button:active {
|
|
204
205
|
transform: translateY(0);
|
|
205
|
-
box-shadow: 0 2px 4px
|
|
206
|
+
box-shadow: 0 2px 4px var(--nav-grid-shadow);
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
.nav-button.active {
|
|
209
|
-
background: var(--
|
|
210
|
-
border-color: var(--
|
|
211
|
-
color:
|
|
210
|
+
background: var(--nav-grid-accent-bg);
|
|
211
|
+
border-color: var(--nav-grid-accent-bg);
|
|
212
|
+
color: var(--nav-grid-active-fg);
|
|
212
213
|
}
|
|
213
214
|
|
|
214
215
|
.nav-button.active .nav-button-icon {
|
|
215
|
-
color:
|
|
216
|
+
color: var(--nav-grid-active-fg);
|
|
216
217
|
}
|
|
217
218
|
|
|
218
219
|
.nav-button-icon {
|
|
219
220
|
display: flex;
|
|
220
221
|
align-items: start;
|
|
221
222
|
justify-content: start;
|
|
222
|
-
color: var(--
|
|
223
|
+
color: var(--nav-grid-accent-fg);
|
|
223
224
|
transition: color 0.2s ease;
|
|
224
225
|
flex-shrink: 0;
|
|
225
226
|
}
|
|
226
227
|
|
|
227
228
|
.nav-button.active .nav-button-icon {
|
|
228
|
-
color:
|
|
229
|
+
color: var(--nav-grid-active-fg);
|
|
229
230
|
}
|
|
230
231
|
|
|
231
232
|
.nav-button:disabled,
|
|
@@ -236,7 +237,7 @@ function handleLinkClick(link) {
|
|
|
236
237
|
|
|
237
238
|
.nav-button:disabled:hover,
|
|
238
239
|
.nav-button.disabled:hover {
|
|
239
|
-
border-color: var(--border
|
|
240
|
+
border-color: var(--nav-grid-border);
|
|
240
241
|
transform: none;
|
|
241
242
|
box-shadow: none;
|
|
242
243
|
background: transparent;
|
|
@@ -244,7 +245,7 @@ function handleLinkClick(link) {
|
|
|
244
245
|
|
|
245
246
|
.nav-button:disabled .nav-button-icon,
|
|
246
247
|
.nav-button.disabled .nav-button-icon {
|
|
247
|
-
color: var(--
|
|
248
|
+
color: var(--nav-grid-disabled-fg);
|
|
248
249
|
}
|
|
249
250
|
|
|
250
251
|
.nav-button-indicator {
|
|
@@ -254,8 +255,8 @@ function handleLinkClick(link) {
|
|
|
254
255
|
width: 0.625rem;
|
|
255
256
|
height: 0.625rem;
|
|
256
257
|
border-radius: 50%;
|
|
257
|
-
background: var(--indicator-
|
|
258
|
-
box-shadow: 0 0 0 2px var(--
|
|
258
|
+
background: var(--nav-grid-indicator-bg);
|
|
259
|
+
box-shadow: 0 0 0 2px var(--nav-grid-ring-bg);
|
|
259
260
|
flex-shrink: 0;
|
|
260
261
|
}
|
|
261
262
|
|
|
@@ -266,13 +267,13 @@ function handleLinkClick(link) {
|
|
|
266
267
|
min-width: 1.25rem;
|
|
267
268
|
padding: 0.1rem 0.4rem;
|
|
268
269
|
border-radius: 999px;
|
|
269
|
-
background: var(--indicator-
|
|
270
|
-
color:
|
|
270
|
+
background: var(--nav-grid-indicator-bg);
|
|
271
|
+
color: var(--nav-grid-indicator-fg);
|
|
271
272
|
font-size: 0.75em;
|
|
272
273
|
font-weight: 600;
|
|
273
274
|
line-height: 1.2;
|
|
274
275
|
text-align: center;
|
|
275
|
-
box-shadow: 0 0 0 2px var(--
|
|
276
|
+
box-shadow: 0 0 0 2px var(--nav-grid-ring-bg);
|
|
276
277
|
flex-shrink: 0;
|
|
277
278
|
}
|
|
278
279
|
|
|
@@ -288,7 +289,7 @@ function handleLinkClick(link) {
|
|
|
288
289
|
|
|
289
290
|
.nav-button.active .nav-button-indicator,
|
|
290
291
|
.nav-button.active .nav-button-count {
|
|
291
|
-
box-shadow: 0 0 0 2px var(--
|
|
292
|
+
box-shadow: 0 0 0 2px var(--nav-grid-accent-bg);
|
|
292
293
|
}
|
|
293
294
|
|
|
294
295
|
.nav-button-label {
|
|
@@ -300,50 +301,25 @@ function handleLinkClick(link) {
|
|
|
300
301
|
}
|
|
301
302
|
|
|
302
303
|
.nav-button.active .nav-button-label {
|
|
303
|
-
color:
|
|
304
|
+
color: var(--nav-grid-active-fg);
|
|
304
305
|
}
|
|
305
306
|
|
|
306
307
|
.nav-button-description {
|
|
307
308
|
font-weight: normal;
|
|
308
|
-
color: var(--
|
|
309
|
+
color: var(--nav-grid-muted-fg);
|
|
309
310
|
word-break: break-word;
|
|
310
311
|
text-align: left;
|
|
311
312
|
line-height: 1.5;
|
|
312
313
|
}
|
|
313
314
|
|
|
314
315
|
.nav-button.active .nav-button-description {
|
|
315
|
-
color:
|
|
316
|
+
color: var(--nav-grid-active-fg);
|
|
316
317
|
}
|
|
317
318
|
|
|
318
319
|
.no-links {
|
|
319
320
|
padding: 2rem;
|
|
320
321
|
text-align: center;
|
|
321
|
-
color: var(--
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
/* Dark theme support */
|
|
325
|
-
html[data-theme="dark"] {
|
|
326
|
-
.nav-button {
|
|
327
|
-
background: transparent;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
.nav-button:hover {
|
|
331
|
-
background: var(--hover-background-color, rgba(96, 165, 250, 0.1));
|
|
332
|
-
border-color: var(--primary-color, #60a5fa);
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
.nav-button.active {
|
|
336
|
-
background: var(--primary-color, #60a5fa);
|
|
337
|
-
border-color: var(--primary-color, #60a5fa);
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
.nav-button-description {
|
|
341
|
-
color: var(--text-muted, #999);
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
.nav-button-icon {
|
|
345
|
-
color: var(--primary-color, #60a5fa);
|
|
346
|
-
}
|
|
322
|
+
color: var(--nav-grid-muted-fg);
|
|
347
323
|
}
|
|
348
324
|
|
|
349
325
|
@media (max-width: 768px) {
|
|
@@ -547,14 +547,14 @@ defineExpose({
|
|
|
547
547
|
width: min(32rem, calc(100vw - 2rem));
|
|
548
548
|
max-width: 32rem;
|
|
549
549
|
padding: 0;
|
|
550
|
-
border: 1px solid var(--border
|
|
551
|
-
background: var(--
|
|
550
|
+
border: 1px solid var(--quick-search-border);
|
|
551
|
+
background: var(--quick-search-dialog-bg);
|
|
552
552
|
/* Dialog is rendered under <header>, so do not inherit header's white text */
|
|
553
|
-
color: var(--
|
|
553
|
+
color: var(--quick-search-dialog-fg);
|
|
554
554
|
}
|
|
555
555
|
|
|
556
556
|
.quick-search-dialog::backdrop {
|
|
557
|
-
background-color:
|
|
557
|
+
background-color: var(--quick-search-backdrop);
|
|
558
558
|
}
|
|
559
559
|
|
|
560
560
|
.dialog-body {
|
|
@@ -573,23 +573,22 @@ defineExpose({
|
|
|
573
573
|
.search-input {
|
|
574
574
|
width: 100%;
|
|
575
575
|
padding: 0.75em 2.25em 0.75em 0.75em;
|
|
576
|
-
border: 1px solid var(--border
|
|
576
|
+
border: 1px solid var(--quick-search-border);
|
|
577
577
|
border-radius: 0.4em;
|
|
578
578
|
font-size: 1rem;
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
color: var(--text-color, #334155);
|
|
579
|
+
background-color: var(--quick-search-input-bg);
|
|
580
|
+
color: var(--quick-search-input-fg);
|
|
582
581
|
}
|
|
583
582
|
|
|
584
|
-
.search-input:focus {
|
|
585
|
-
|
|
586
|
-
|
|
583
|
+
.search-input:focus-visible {
|
|
584
|
+
outline: 2px solid var(--quick-search-focus-outline);
|
|
585
|
+
outline-offset: 2px;
|
|
587
586
|
}
|
|
588
587
|
|
|
589
588
|
.search-icon {
|
|
590
589
|
position: absolute;
|
|
591
590
|
right: 0.75rem;
|
|
592
|
-
color:
|
|
591
|
+
color: var(--quick-search-muted-fg);
|
|
593
592
|
pointer-events: none;
|
|
594
593
|
display: inline-flex;
|
|
595
594
|
}
|
|
@@ -606,12 +605,13 @@ defineExpose({
|
|
|
606
605
|
|
|
607
606
|
.search-status {
|
|
608
607
|
margin: 0;
|
|
608
|
+
color: var(--quick-search-muted-fg);
|
|
609
609
|
}
|
|
610
610
|
|
|
611
611
|
.search-results {
|
|
612
612
|
max-height: min(20rem, 50vh);
|
|
613
613
|
overflow-y: auto;
|
|
614
|
-
border: 1px solid var(--border
|
|
614
|
+
border: 1px solid var(--quick-search-border);
|
|
615
615
|
border-radius: 0.4em;
|
|
616
616
|
}
|
|
617
617
|
|
|
@@ -620,7 +620,7 @@ defineExpose({
|
|
|
620
620
|
align-items: center;
|
|
621
621
|
padding: 0.75rem 1rem;
|
|
622
622
|
cursor: pointer;
|
|
623
|
-
border-bottom: 1px solid var(--border
|
|
623
|
+
border-bottom: 1px solid var(--quick-search-border);
|
|
624
624
|
}
|
|
625
625
|
|
|
626
626
|
.search-result-item:last-child {
|
|
@@ -629,8 +629,8 @@ defineExpose({
|
|
|
629
629
|
|
|
630
630
|
.search-result-item:hover,
|
|
631
631
|
.search-result-item.active {
|
|
632
|
-
background-color: var(--hover-
|
|
633
|
-
color: var(--hover-
|
|
632
|
+
background-color: var(--quick-search-hover-bg);
|
|
633
|
+
color: var(--quick-search-hover-fg);
|
|
634
634
|
}
|
|
635
635
|
|
|
636
636
|
.result-content {
|
|
@@ -645,20 +645,20 @@ defineExpose({
|
|
|
645
645
|
|
|
646
646
|
.result-description {
|
|
647
647
|
font-size: 0.875rem;
|
|
648
|
-
color:
|
|
648
|
+
color: var(--quick-search-muted-fg);
|
|
649
649
|
margin-bottom: 0.25rem;
|
|
650
650
|
}
|
|
651
651
|
|
|
652
652
|
.result-category {
|
|
653
653
|
font-size: 0.75rem;
|
|
654
|
-
color:
|
|
654
|
+
color: var(--quick-search-subtle-fg);
|
|
655
655
|
text-transform: uppercase;
|
|
656
656
|
letter-spacing: 0.05em;
|
|
657
657
|
}
|
|
658
658
|
|
|
659
659
|
.result-icon {
|
|
660
660
|
margin-right: 0.75rem;
|
|
661
|
-
color:
|
|
661
|
+
color: var(--quick-search-muted-fg);
|
|
662
662
|
flex-shrink: 0;
|
|
663
663
|
display: inline-flex;
|
|
664
664
|
}
|
|
@@ -668,7 +668,7 @@ defineExpose({
|
|
|
668
668
|
flex-direction: column;
|
|
669
669
|
align-items: center;
|
|
670
670
|
padding: 1.5rem 1rem;
|
|
671
|
-
color:
|
|
671
|
+
color: var(--quick-search-muted-fg);
|
|
672
672
|
text-align: center;
|
|
673
673
|
}
|
|
674
674
|
|
|
@@ -682,35 +682,9 @@ defineExpose({
|
|
|
682
682
|
}
|
|
683
683
|
|
|
684
684
|
mark {
|
|
685
|
-
background-color: var(--
|
|
685
|
+
background-color: var(--quick-search-highlight-bg);
|
|
686
686
|
color: inherit;
|
|
687
687
|
padding: 0;
|
|
688
688
|
border-radius: 2px;
|
|
689
689
|
}
|
|
690
|
-
|
|
691
|
-
html[data-theme="dark"] {
|
|
692
|
-
.quick-search-dialog {
|
|
693
|
-
color: #f9fafb;
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
.search-input {
|
|
697
|
-
background-color: #1f2937;
|
|
698
|
-
border-color: #374151;
|
|
699
|
-
color: #f9fafb;
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
.search-icon,
|
|
703
|
-
.result-description,
|
|
704
|
-
.result-category,
|
|
705
|
-
.result-icon,
|
|
706
|
-
.no-results-content,
|
|
707
|
-
.search-status {
|
|
708
|
-
color: #9ca3af;
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
.search-input:focus {
|
|
712
|
-
border-color: #60a5fa;
|
|
713
|
-
box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
690
|
</style>
|
|
@@ -147,7 +147,7 @@ function select(option) {
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
.radio-group label:has(input:focus-visible) {
|
|
150
|
-
outline: 2px solid
|
|
150
|
+
outline: 2px solid var(--radio-group-focus-outline);
|
|
151
151
|
outline-offset: 2px;
|
|
152
152
|
z-index: 2;
|
|
153
153
|
}
|
|
@@ -155,8 +155,8 @@ function select(option) {
|
|
|
155
155
|
/* Beat Femtocrank's gray .radio-group focus/hover when the option is selected. */
|
|
156
156
|
.radio-group label:has(input:checked):hover,
|
|
157
157
|
.radio-group label:has(input:checked:focus-visible) {
|
|
158
|
-
background-color:
|
|
159
|
-
color:
|
|
158
|
+
background-color: var(--radio-group-checked-hover-bg);
|
|
159
|
+
color: var(--radio-group-checked-hover-fg);
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
.radio-group.disabled {
|
|
@@ -185,7 +185,7 @@ function select(option) {
|
|
|
185
185
|
|
|
186
186
|
.radio-group label.disabled:has(input:focus-visible),
|
|
187
187
|
.radio-group.disabled label:has(input:focus-visible) {
|
|
188
|
-
outline: 2px solid
|
|
188
|
+
outline: 2px solid var(--radio-group-focus-outline);
|
|
189
189
|
outline-offset: 2px;
|
|
190
190
|
}
|
|
191
191
|
</style>
|
package/vue/components/Table.vue
CHANGED
|
@@ -1414,7 +1414,7 @@ tbody tr.row-clickable {
|
|
|
1414
1414
|
min-height: 6rem;
|
|
1415
1415
|
padding: 2rem 1rem;
|
|
1416
1416
|
text-align: center;
|
|
1417
|
-
color: var(--
|
|
1417
|
+
color: var(--table-muted-fg);
|
|
1418
1418
|
}
|
|
1419
1419
|
|
|
1420
1420
|
.table-empty-state.loading {
|
|
@@ -1436,7 +1436,7 @@ tbody tr.row-clickable {
|
|
|
1436
1436
|
gap: 0.75rem;
|
|
1437
1437
|
padding: 2rem 1rem;
|
|
1438
1438
|
text-align: center;
|
|
1439
|
-
color: var(--
|
|
1439
|
+
color: var(--table-muted-fg);
|
|
1440
1440
|
}
|
|
1441
1441
|
|
|
1442
1442
|
.table-filtered-empty-message {
|
|
@@ -1473,7 +1473,7 @@ td.table-column-options-cell {
|
|
|
1473
1473
|
|
|
1474
1474
|
.table-layout-label {
|
|
1475
1475
|
font-size: 0.85rem;
|
|
1476
|
-
color: var(--
|
|
1476
|
+
color: var(--table-muted-fg);
|
|
1477
1477
|
max-width: 10rem;
|
|
1478
1478
|
overflow: hidden;
|
|
1479
1479
|
text-overflow: ellipsis;
|
|
@@ -497,10 +497,10 @@ onBeforeUnmount(() => {
|
|
|
497
497
|
max-width: min(24rem, calc(100vw - 1rem));
|
|
498
498
|
max-height: calc(100vh - 1rem);
|
|
499
499
|
padding: 0.75rem;
|
|
500
|
-
border: 1px solid var(--border
|
|
500
|
+
border: 1px solid var(--table-popover-border);
|
|
501
501
|
border-radius: 0.4rem;
|
|
502
|
-
background: var(--
|
|
503
|
-
box-shadow:
|
|
502
|
+
background: var(--table-popover-bg);
|
|
503
|
+
box-shadow: var(--table-popover-shadow);
|
|
504
504
|
overflow: hidden;
|
|
505
505
|
}
|
|
506
506
|
|
|
@@ -552,7 +552,7 @@ onBeforeUnmount(() => {
|
|
|
552
552
|
|
|
553
553
|
.field-label {
|
|
554
554
|
font-size: 0.85rem;
|
|
555
|
-
color: var(--
|
|
555
|
+
color: var(--table-popover-muted-fg);
|
|
556
556
|
}
|
|
557
557
|
|
|
558
558
|
.popover-actions {
|
|
@@ -563,21 +563,21 @@ onBeforeUnmount(() => {
|
|
|
563
563
|
gap: 0.5rem;
|
|
564
564
|
margin-top: 0.75rem;
|
|
565
565
|
padding-top: 0.75rem;
|
|
566
|
-
border-top: 1px solid var(--
|
|
566
|
+
border-top: 1px solid var(--table-popover-divider);
|
|
567
567
|
}
|
|
568
568
|
|
|
569
569
|
.saved-filters {
|
|
570
570
|
flex-shrink: 0;
|
|
571
571
|
margin-top: 0.75rem;
|
|
572
572
|
padding-top: 0.75rem;
|
|
573
|
-
border-top: 1px solid var(--
|
|
573
|
+
border-top: 1px solid var(--table-popover-divider);
|
|
574
574
|
min-height: 0;
|
|
575
575
|
}
|
|
576
576
|
|
|
577
577
|
.saved-filters-heading {
|
|
578
578
|
margin: 0 0 0.5rem;
|
|
579
579
|
font-size: 0.85rem;
|
|
580
|
-
color: var(--
|
|
580
|
+
color: var(--table-popover-muted-fg);
|
|
581
581
|
}
|
|
582
582
|
|
|
583
583
|
.saved-filters-list {
|
|
@@ -627,14 +627,4 @@ onBeforeUnmount(() => {
|
|
|
627
627
|
align-items: center;
|
|
628
628
|
justify-content: center;
|
|
629
629
|
}
|
|
630
|
-
|
|
631
|
-
html[data-theme="dark"] .table-column-filter-popover {
|
|
632
|
-
background: var(--background-color, #1e1e1e);
|
|
633
|
-
border-color: var(--border-color, #444);
|
|
634
|
-
}
|
|
635
|
-
|
|
636
|
-
html[data-theme="dark"] .popover-actions,
|
|
637
|
-
html[data-theme="dark"] .saved-filters {
|
|
638
|
-
border-top-color: var(--border-color, #444);
|
|
639
|
-
}
|
|
640
630
|
</style>
|
|
@@ -839,10 +839,10 @@ onBeforeUnmount(() => {
|
|
|
839
839
|
min-width: min(30rem, calc(100vw - 1rem));
|
|
840
840
|
max-height: calc(100vh - 1rem);
|
|
841
841
|
padding: 0.75rem;
|
|
842
|
-
border: 1px solid var(--border
|
|
842
|
+
border: 1px solid var(--table-popover-border);
|
|
843
843
|
border-radius: 0.4rem;
|
|
844
|
-
background: var(--
|
|
845
|
-
box-shadow:
|
|
844
|
+
background: var(--table-popover-bg);
|
|
845
|
+
box-shadow: var(--table-popover-shadow);
|
|
846
846
|
overflow: hidden;
|
|
847
847
|
box-sizing: border-box;
|
|
848
848
|
}
|
|
@@ -923,19 +923,19 @@ onBeforeUnmount(() => {
|
|
|
923
923
|
|
|
924
924
|
.field-label {
|
|
925
925
|
font-size: 0.85rem;
|
|
926
|
-
color: var(--
|
|
926
|
+
color: var(--table-popover-muted-fg);
|
|
927
927
|
}
|
|
928
928
|
|
|
929
929
|
.column-options-tab-error {
|
|
930
930
|
margin: 0;
|
|
931
931
|
font-size: 0.85rem;
|
|
932
|
-
color: var(--
|
|
932
|
+
color: var(--table-popover-error-fg);
|
|
933
933
|
}
|
|
934
934
|
|
|
935
935
|
.column-options-tab-success {
|
|
936
936
|
margin: 0;
|
|
937
937
|
font-size: 0.85rem;
|
|
938
|
-
color: var(--
|
|
938
|
+
color: var(--table-popover-success-fg);
|
|
939
939
|
}
|
|
940
940
|
|
|
941
941
|
.column-options-load-panel {
|
|
@@ -948,7 +948,7 @@ onBeforeUnmount(() => {
|
|
|
948
948
|
display: flex;
|
|
949
949
|
justify-content: center;
|
|
950
950
|
padding-top: 0.25rem;
|
|
951
|
-
border-top: 1px solid var(--
|
|
951
|
+
border-top: 1px solid var(--table-popover-divider);
|
|
952
952
|
}
|
|
953
953
|
|
|
954
954
|
.column-options-preset-list {
|
|
@@ -968,7 +968,7 @@ onBeforeUnmount(() => {
|
|
|
968
968
|
gap: 0.5rem;
|
|
969
969
|
align-items: start;
|
|
970
970
|
padding-bottom: 0.65rem;
|
|
971
|
-
border-bottom: 1px solid var(--
|
|
971
|
+
border-bottom: 1px solid var(--table-popover-divider);
|
|
972
972
|
}
|
|
973
973
|
|
|
974
974
|
.column-options-preset-item:last-child {
|
|
@@ -1014,9 +1014,9 @@ onBeforeUnmount(() => {
|
|
|
1014
1014
|
align-items: center;
|
|
1015
1015
|
gap: 0.5rem;
|
|
1016
1016
|
padding: 0.25rem 0.45rem;
|
|
1017
|
-
border: 1px solid var(--border
|
|
1017
|
+
border: 1px solid var(--table-popover-border);
|
|
1018
1018
|
border-radius: 0.35rem;
|
|
1019
|
-
background: var(--
|
|
1019
|
+
background: var(--table-popover-item-bg);
|
|
1020
1020
|
}
|
|
1021
1021
|
|
|
1022
1022
|
.column-options-item.is-dragging {
|
|
@@ -1024,7 +1024,7 @@ onBeforeUnmount(() => {
|
|
|
1024
1024
|
}
|
|
1025
1025
|
|
|
1026
1026
|
.column-options-item.is-drag-over {
|
|
1027
|
-
border-color: var(--
|
|
1027
|
+
border-color: var(--table-popover-item-drag-border);
|
|
1028
1028
|
}
|
|
1029
1029
|
|
|
1030
1030
|
.column-options-item.is-fixed {
|
|
@@ -1034,7 +1034,7 @@ onBeforeUnmount(() => {
|
|
|
1034
1034
|
.column-options-drag-handle {
|
|
1035
1035
|
display: inline-flex;
|
|
1036
1036
|
align-items: center;
|
|
1037
|
-
color: var(--
|
|
1037
|
+
color: var(--table-popover-fg, inherit);
|
|
1038
1038
|
opacity: 0.65;
|
|
1039
1039
|
cursor: grab;
|
|
1040
1040
|
}
|
|
@@ -1097,20 +1097,6 @@ onBeforeUnmount(() => {
|
|
|
1097
1097
|
gap: 0.5rem;
|
|
1098
1098
|
margin-top: 0.75rem;
|
|
1099
1099
|
padding-top: 0.75rem;
|
|
1100
|
-
border-top: 1px solid var(--
|
|
1101
|
-
}
|
|
1102
|
-
|
|
1103
|
-
html[data-theme="dark"] .table-column-options-popover {
|
|
1104
|
-
background: var(--background-color, #1e1e1e);
|
|
1105
|
-
border-color: var(--border-color, #444);
|
|
1106
|
-
}
|
|
1107
|
-
|
|
1108
|
-
html[data-theme="dark"] .column-options-item {
|
|
1109
|
-
background: var(--standout-bg-color, #1f1f1f);
|
|
1110
|
-
border-color: var(--border-color, #444);
|
|
1111
|
-
}
|
|
1112
|
-
|
|
1113
|
-
html[data-theme="dark"] .popover-actions {
|
|
1114
|
-
border-top-color: var(--border-color, #444);
|
|
1100
|
+
border-top: 1px solid var(--table-popover-divider);
|
|
1115
1101
|
}
|
|
1116
1102
|
</style>
|
package/vue/components/Tabs.vue
CHANGED
|
@@ -116,7 +116,7 @@ defineExpose({
|
|
|
116
116
|
|
|
117
117
|
.tabs-header {
|
|
118
118
|
display: flex;
|
|
119
|
-
border-bottom: 2px solid var(--border
|
|
119
|
+
border-bottom: 2px solid var(--tab-border);
|
|
120
120
|
gap: 0.25rem;
|
|
121
121
|
overflow-x: auto;
|
|
122
122
|
scrollbar-width: thin;
|
|
@@ -131,7 +131,7 @@ defineExpose({
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
.tabs-header::-webkit-scrollbar-thumb {
|
|
134
|
-
background: var(--border
|
|
134
|
+
background: var(--tab-border);
|
|
135
135
|
border-radius: 2px;
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -153,8 +153,8 @@ defineExpose({
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
.tab-button:hover {
|
|
156
|
-
color: var(--
|
|
157
|
-
background-color: var(--hover-
|
|
156
|
+
color: var(--tab-hover-fg);
|
|
157
|
+
background-color: var(--tab-hover-bg);
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
.tab-button.active {
|
package/vue/examples/Welcome.vue
CHANGED
|
@@ -47,24 +47,6 @@
|
|
|
47
47
|
</Navigation>
|
|
48
48
|
</Section>
|
|
49
49
|
|
|
50
|
-
<Section
|
|
51
|
-
title="Popular examples"
|
|
52
|
-
subtitle="A few good places to begin"
|
|
53
|
-
>
|
|
54
|
-
<div class="grid-boxed welcome-popular-grid">
|
|
55
|
-
<router-link
|
|
56
|
-
v-for="example in popularExamples"
|
|
57
|
-
:key="example.name"
|
|
58
|
-
:to="{ name: example.name }"
|
|
59
|
-
class="stat-display welcome-popular-card"
|
|
60
|
-
>
|
|
61
|
-
<span class="subtle">{{ example.category }}</span>
|
|
62
|
-
<span class="stat">{{ example.label }}</span>
|
|
63
|
-
<span class="welcome-popular-description">{{ example.description }}</span>
|
|
64
|
-
</router-link>
|
|
65
|
-
</div>
|
|
66
|
-
</Section>
|
|
67
|
-
|
|
68
50
|
<Section
|
|
69
51
|
title="Try it"
|
|
70
52
|
subtitle="Small interactions you can trigger right now"
|
|
@@ -109,33 +91,6 @@ import logoUrl from '/logo.png'
|
|
|
109
91
|
const { show: showPopup } = useNotificationPopups()
|
|
110
92
|
const welcomeNavigation = ref(null)
|
|
111
93
|
|
|
112
|
-
const popularExamples = [
|
|
113
|
-
{
|
|
114
|
-
name: 'ThemePreview',
|
|
115
|
-
category: 'Layouts',
|
|
116
|
-
label: 'Theme Switcher',
|
|
117
|
-
description: 'Switch drop-in themes live',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: 'TableExample',
|
|
121
|
-
category: 'Data display',
|
|
122
|
-
label: 'Table',
|
|
123
|
-
description: 'Sorting, pagination, and column filters',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
name: 'CalendarExample',
|
|
127
|
-
category: 'Data display',
|
|
128
|
-
label: 'Calendar',
|
|
129
|
-
description: 'Events, drag-and-drop, and date ranges',
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
name: 'ButtonsExample',
|
|
133
|
-
category: 'Forms & input',
|
|
134
|
-
label: 'Buttons',
|
|
135
|
-
description: 'Variants, toolbars, and form actions',
|
|
136
|
-
},
|
|
137
|
-
]
|
|
138
|
-
|
|
139
94
|
function showWelcomeToast() {
|
|
140
95
|
showPopup({
|
|
141
96
|
label: 'WELCOME',
|
|
@@ -212,31 +167,4 @@ onMounted(() => {
|
|
|
212
167
|
gap: 0.5rem;
|
|
213
168
|
margin-bottom: 0.75rem;
|
|
214
169
|
}
|
|
215
|
-
|
|
216
|
-
.welcome-popular-grid {
|
|
217
|
-
grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
.welcome-popular-card {
|
|
221
|
-
display: flex;
|
|
222
|
-
flex-direction: column;
|
|
223
|
-
gap: 0.35rem;
|
|
224
|
-
text-decoration: none;
|
|
225
|
-
color: inherit;
|
|
226
|
-
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
.welcome-popular-card:hover {
|
|
230
|
-
transform: translateY(-2px);
|
|
231
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
.welcome-popular-description {
|
|
235
|
-
font-size: 0.85rem;
|
|
236
|
-
color: #666;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
html[data-theme="dark"] .welcome-popular-description {
|
|
240
|
-
color: #bbb;
|
|
241
|
-
}
|
|
242
170
|
</style>
|