picocrank 1.25.0 → 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 +2 -2
- package/public/themes/README.md +15 -0
- package/styles/dark-theme.css +44 -200
- package/styles/picocrank-extensions.css +97 -0
- package/styles.css +1 -0
- package/supplemental-themes/catppuccin-latte-frappe/theme.css +86 -147
- package/supplemental-themes/dracula-alucard/theme.css +86 -147
- package/supplemental-themes/gruvbox-dark-light/theme.css +86 -147
- package/supplemental-themes/waffles/theme.css +71 -143
- package/vue/components/Breadcrumbs.vue +3 -3
- package/vue/components/Calendar.vue +48 -155
- package/vue/components/Header.vue +3 -3
- 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/Sidebar.vue +4 -10
- package/vue/components/SidebarNavLink.vue +6 -15
- package/vue/components/Table.vue +7 -7
- package/vue/components/TableColumnFilterPopover.vue +7 -17
- package/vue/components/TableColumnOptionsPopover.vue +13 -27
- package/vue/components/Tabs.vue +8 -29
- package/vue/components/ThemeSwitcher.vue +44 -5
- package/vue/components/TopBar.vue +2 -2
- package/vue/examples/App.vue +13 -0
- package/vue/examples/ExampleHeaderThemeSwitcher.vue +78 -0
- package/vue/examples/PageStructure.vue +17 -0
- package/vue/examples/ThemePreview.vue +41 -20
- package/vue/examples/Welcome.vue +0 -72
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "picocrank",
|
|
3
|
-
"version": "1.25.
|
|
3
|
+
"version": "1.25.2",
|
|
4
4
|
"description": "A set of zero dependency Vue components built on the Femtocrank global CSS theme.",
|
|
5
5
|
"main": "vite.config.js",
|
|
6
6
|
"scripts": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@hugeicons/core-free-icons": "^4.3.0",
|
|
24
24
|
"@hugeicons/vue": "^1.0.8",
|
|
25
25
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
26
|
-
"femtocrank": "^2.6.
|
|
26
|
+
"femtocrank": "^2.6.1",
|
|
27
27
|
"unplugin-vue-components": "^32.1.0",
|
|
28
28
|
"vite": "^8.2.2",
|
|
29
29
|
"vue": "^3.5.41",
|
package/public/themes/README.md
CHANGED
|
@@ -44,3 +44,18 @@ Use `ThemeSwitcher` or `useCustomTheme()`:
|
|
|
44
44
|
- `VITE_INCLUDE_SUPPLEMENTAL_THEMES=false` — omit supplemental theme files from `dist` (`npm run build:minimal`).
|
|
45
45
|
|
|
46
46
|
Light/dark mode (header sun/moon) is separate from drop-in themes.
|
|
47
|
+
|
|
48
|
+
## PicoCrank component tokens
|
|
49
|
+
|
|
50
|
+
Sortable/filterable `Table` headers and `Tabs` active labels use PicoCrank aliases that point at Femtocrank semantic variables. Override the underlying Femtocrank tokens in `theme.css` rather than the aliases when possible:
|
|
51
|
+
|
|
52
|
+
| PicoCrank alias | Femtocrank source |
|
|
53
|
+
| --- | --- |
|
|
54
|
+
| `--table-header-fg` | `--text-color` |
|
|
55
|
+
| `--table-header-active-fg` | `--link-color` |
|
|
56
|
+
| `--table-header-active-bg` | `--hover-background-color` |
|
|
57
|
+
| `--tab-fg` | `--muted-text-color` |
|
|
58
|
+
| `--tab-active-fg` | `--link-color` |
|
|
59
|
+
| `--tab-focus-outline-color` | `--tab-active-fg` |
|
|
60
|
+
|
|
61
|
+
Defaults are defined in `styles/picocrank-extensions.css`. Built-in dark mode and supplemental themes set Femtocrank variables (`--link-color`, `--header-fg-color`, `--input-bg-color`, etc.) so tables, tabs, forms, and chrome pick up the palette automatically.
|
package/styles/dark-theme.css
CHANGED
|
@@ -1,219 +1,63 @@
|
|
|
1
|
+
/* Built-in dark mode — variable overrides only (mirrors femtocrank/dark.css). */
|
|
1
2
|
@layer components {
|
|
2
3
|
html[data-theme="dark"] {
|
|
3
|
-
|
|
4
|
+
color-scheme: dark;
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
--header-hover-background-color: #1d345c;
|
|
10
|
-
--standout-bg-color: #1f1f1f;
|
|
11
|
-
--disabled-background-color: #333;
|
|
12
|
-
--disabled-text-color: #999;
|
|
6
|
+
--body-bg-color: #262626;
|
|
7
|
+
--surface-bg-color: #343434;
|
|
8
|
+
--standout-bg-color: #1f1f1f;
|
|
9
|
+
--section-header-bg-color: var(--surface-bg-color);
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
11
|
+
--header-bg-color: #000;
|
|
12
|
+
--header-border-color: #222;
|
|
13
|
+
--header-shadow: 0px 0px 1em #1c1c1c;
|
|
14
|
+
--header-hover-background-color: #1d345c;
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
16
|
+
--sidebar-bg-color: #000;
|
|
17
|
+
--sidebar-link-color: var(--link-color);
|
|
18
|
+
--sidebar-hover-bg-color: var(--hover-background-color);
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
background-color: #343434;
|
|
27
|
-
color: #ddd;
|
|
28
|
-
box-shadow: 0 0 .5em #121212;
|
|
29
|
-
}
|
|
20
|
+
--footer-chip-bg-color: #444;
|
|
30
21
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
22
|
+
--text-color: #ddd;
|
|
23
|
+
--link-color: lightblue;
|
|
24
|
+
--annotation-key-color: #aaa;
|
|
25
|
+
--focus-outline-color: #fff;
|
|
35
26
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
27
|
+
--border-color: #595959;
|
|
28
|
+
--shadow-color: #121212;
|
|
39
29
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
color: #ddd;
|
|
43
|
-
border: 1px solid var(--border-color);
|
|
44
|
-
}
|
|
30
|
+
--hover-background-color: #1d345c;
|
|
31
|
+
--hover-text-color: var(--on-accent-fg);
|
|
45
32
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
& .button:visited {
|
|
49
|
-
background-color: var(--hover-background-color);
|
|
50
|
-
color: white;
|
|
51
|
-
}
|
|
33
|
+
--disabled-background-color: #333;
|
|
34
|
+
--disabled-text-color: #999;
|
|
52
35
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
36
|
+
--input-bg-color: #4e4e4e;
|
|
37
|
+
--input-fg-color: var(--text-color);
|
|
38
|
+
--control-option-bg-color: #555;
|
|
39
|
+
--control-hover-bg-color: var(--hover-background-color);
|
|
57
40
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
41
|
+
--menu-item-hover-background-color: var(--hover-background-color);
|
|
42
|
+
--menu-dropdown-background-color: var(--surface-bg-color);
|
|
43
|
+
--menu-dropdown-shadow: 0 0 .5em var(--shadow-color);
|
|
44
|
+
--menu-dropdown-link-hover-background-color: var(--hover-background-color);
|
|
45
|
+
--header-menu-dropdown-link-hover-background-color: var(--header-hover-background-color);
|
|
62
46
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
47
|
+
--table-sticky-bg: var(--surface-bg-color);
|
|
48
|
+
--table-row-hover-bg: var(--hover-background-color);
|
|
49
|
+
--table-row-hover-fg: var(--on-accent-fg);
|
|
50
|
+
--table-sticky-hover-bg: var(--table-row-hover-bg);
|
|
51
|
+
--table-uneditable-bg: #555;
|
|
52
|
+
--table-sticky-uneditable-bg: var(--table-uneditable-bg);
|
|
66
53
|
|
|
67
|
-
|
|
68
|
-
background-color: black;
|
|
69
|
-
color: white;
|
|
70
|
-
}
|
|
54
|
+
--progress-track-bg-color: var(--table-uneditable-bg);
|
|
71
55
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
color: white;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
& ul[role="menubar"] li:hover {
|
|
78
|
-
background-color: var(--hover-background-color);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
& label:has(input[type="checkbox"]):hover,
|
|
82
|
-
& label:has(input[type="radio"]):hover {
|
|
83
|
-
background-color: var(--hover-background-color);
|
|
84
|
-
color: white;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
& label:has(input:checked) {
|
|
88
|
-
background-color: #488448;
|
|
89
|
-
color: white;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
& label:has(input:checked):hover {
|
|
93
|
-
background-color: #3a6f3a;
|
|
94
|
-
color: white;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
& a,
|
|
98
|
-
& a:visited,
|
|
99
|
-
& aside a,
|
|
100
|
-
& aside a:visited {
|
|
101
|
-
color: lightblue;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
& table,
|
|
105
|
-
& th,
|
|
106
|
-
& td {
|
|
107
|
-
border-color: var(--border-color) !important;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
& table.row-hover tr:hover td {
|
|
111
|
-
background-color: var(--hover-background-color);
|
|
112
|
-
color: white;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
& table thead th.sortable:hover,
|
|
116
|
-
& table thead th.filtered,
|
|
117
|
-
& table thead th.menu-open {
|
|
118
|
-
color: var(--text-color);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
& th.actions .actions-menu-trigger button:hover,
|
|
122
|
-
& th.actions .actions-menu-trigger button:focus-visible {
|
|
123
|
-
background-color: var(--hover-background-color);
|
|
124
|
-
color: var(--text-color);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
& footer span {
|
|
128
|
-
background-color: #444;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
& input[type="text"],
|
|
132
|
-
& input[type="email"],
|
|
133
|
-
& input[type="password"],
|
|
134
|
-
& input[type="url"],
|
|
135
|
-
& input[type="number"],
|
|
136
|
-
& input[type="color"],
|
|
137
|
-
& input[type="datetime-local"] {
|
|
138
|
-
background-color: #4e4e4e;
|
|
139
|
-
color: #ddd;
|
|
140
|
-
border-color: var(--border-color);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
& select {
|
|
144
|
-
background-color: #4e4e4e;
|
|
145
|
-
color: #ddd;
|
|
146
|
-
border-color: var(--border-color);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
& textarea {
|
|
150
|
-
background-color: #4e4e4e;
|
|
151
|
-
color: #ddd;
|
|
152
|
-
border-color: var(--border-color);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
& .grid-boxed .stat-display {
|
|
156
|
-
background-color: var(--standout-bg-color);
|
|
157
|
-
border-color: var(--border-color) !important;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
& pre {
|
|
161
|
-
background-color: var(--standout-bg-color);
|
|
162
|
-
color: #ddd;
|
|
163
|
-
border: 1px solid var(--border-color);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
& .radio-group {
|
|
167
|
-
border-color: var(--border-color);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
& .radio-group label {
|
|
171
|
-
background-color: #555;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
& .radio-group label:hover,
|
|
175
|
-
& .radio-group label:has(input:focus-visible) {
|
|
176
|
-
background-color: var(--hover-background-color);
|
|
177
|
-
color: white;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
& .multiple-checklist {
|
|
181
|
-
border-color: var(--border-color);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
& .multiple-checklist label {
|
|
185
|
-
background-color: #555;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
& aside {
|
|
189
|
-
background-color: #000;
|
|
190
|
-
box-shadow: 0 0 .5em #121212;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
& aside :is(ul, menu) li a:hover,
|
|
194
|
-
& aside :is(ul, menu) li a:focus-visible {
|
|
195
|
-
background-color: var(--hover-background-color);
|
|
196
|
-
color: var(--hover-text-color, #fff);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
& dt {
|
|
200
|
-
border-color: var(--border-color);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
& .annotation,
|
|
204
|
-
& .tag,
|
|
205
|
-
& .inline-notification {
|
|
206
|
-
background-color: var(--standout-bg-color);
|
|
207
|
-
color: #ddd;
|
|
208
|
-
border-color: var(--border-color);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
& .annotation-val {
|
|
212
|
-
color: #ddd;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
56
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
57
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
215
58
|
}
|
|
216
59
|
|
|
217
60
|
html[data-theme="light"] {
|
|
218
|
-
|
|
61
|
+
color-scheme: light;
|
|
62
|
+
}
|
|
219
63
|
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/* PicoCrank component tokens — aliases to Femtocrank semantic variables. */
|
|
2
|
+
@layer components {
|
|
3
|
+
:root {
|
|
4
|
+
--table-header-fg: var(--text-color);
|
|
5
|
+
--table-header-active-fg: var(--link-color);
|
|
6
|
+
--table-header-active-bg: var(--hover-background-color);
|
|
7
|
+
--tab-fg: var(--muted-text-color);
|
|
8
|
+
--tab-active-fg: var(--link-color);
|
|
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);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
table thead th {
|
|
95
|
+
color: var(--table-header-fg);
|
|
96
|
+
}
|
|
97
|
+
}
|
package/styles.css
CHANGED
|
@@ -37,21 +37,61 @@ html[data-theme="dark"] {
|
|
|
37
37
|
--ctp-base: #303446;
|
|
38
38
|
--ctp-mantle: #292c3c;
|
|
39
39
|
--ctp-crust: #232634;
|
|
40
|
-
--ctp-shadow: rgba(35, 38, 52, 0.65);
|
|
41
40
|
--ctp-shadow-strong: rgba(35, 38, 52, 0.9);
|
|
42
41
|
--ctp-good-fg: var(--ctp-crust);
|
|
43
42
|
|
|
43
|
+
--body-bg-color: var(--ctp-base);
|
|
44
|
+
--surface-bg-color: var(--ctp-mantle);
|
|
45
|
+
--standout-bg-color: var(--ctp-mantle);
|
|
46
|
+
--section-header-bg-color: var(--ctp-mantle);
|
|
47
|
+
--shadow-color: var(--ctp-shadow-strong);
|
|
48
|
+
|
|
44
49
|
--text-color: var(--ctp-text);
|
|
50
|
+
--muted-text-color: var(--ctp-subtext0);
|
|
51
|
+
--annotation-key-color: var(--ctp-subtext0);
|
|
52
|
+
--link-color: var(--ctp-blue);
|
|
53
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
54
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
45
55
|
--border-color: var(--ctp-surface1);
|
|
46
|
-
|
|
56
|
+
|
|
47
57
|
--hover-background-color: var(--ctp-surface0);
|
|
48
58
|
--hover-text-color: var(--ctp-text);
|
|
59
|
+
|
|
60
|
+
--header-bg-color: var(--ctp-crust);
|
|
61
|
+
--header-fg-color: var(--ctp-text);
|
|
62
|
+
--header-border-color: var(--ctp-surface0);
|
|
63
|
+
--header-shadow: none;
|
|
49
64
|
--header-hover-background-color: var(--ctp-surface1);
|
|
50
65
|
--header-hover-text-color: var(--ctp-text);
|
|
51
|
-
--header-
|
|
66
|
+
--header-button-hover-bg-color: var(--ctp-surface1);
|
|
67
|
+
|
|
68
|
+
--sidebar-bg-color: var(--ctp-mantle);
|
|
69
|
+
--sidebar-link-color: var(--ctp-text);
|
|
70
|
+
--sidebar-hover-bg-color: var(--ctp-surface0);
|
|
71
|
+
--sidebar-border-color: var(--ctp-surface0);
|
|
72
|
+
|
|
73
|
+
--input-bg-color: var(--ctp-surface0);
|
|
74
|
+
--input-fg-color: var(--ctp-text);
|
|
75
|
+
--control-option-bg-color: var(--ctp-surface0);
|
|
76
|
+
--control-hover-bg-color: var(--ctp-surface1);
|
|
77
|
+
--menu-hover-bg-color: var(--ctp-surface0);
|
|
78
|
+
|
|
79
|
+
--table-row-hover-bg: var(--ctp-surface0);
|
|
80
|
+
--table-row-hover-fg: var(--ctp-text);
|
|
81
|
+
--table-uneditable-bg: var(--ctp-surface0);
|
|
82
|
+
--footer-chip-bg-color: var(--ctp-surface1);
|
|
83
|
+
|
|
52
84
|
--disabled-background-color: var(--ctp-surface0);
|
|
53
85
|
--disabled-text-color: var(--ctp-overlay0);
|
|
54
86
|
|
|
87
|
+
--button-good-bg: var(--ctp-green);
|
|
88
|
+
--button-good-hover-bg: var(--ctp-green);
|
|
89
|
+
--button-bad-bg: var(--ctp-red);
|
|
90
|
+
--button-bad-hover-bg: var(--ctp-red);
|
|
91
|
+
--button-warning-bg: var(--ctp-yellow);
|
|
92
|
+
--button-warning-hover-bg: var(--ctp-yellow);
|
|
93
|
+
--button-on-accent-fg: var(--ctp-good-fg);
|
|
94
|
+
|
|
55
95
|
--karma-good: var(--ctp-green);
|
|
56
96
|
--karma-bad: var(--ctp-red);
|
|
57
97
|
--karma-warning: var(--ctp-yellow);
|
|
@@ -100,21 +140,61 @@ html[data-theme="light"] {
|
|
|
100
140
|
--ctp-base: #eff1f5;
|
|
101
141
|
--ctp-mantle: #e6e9ef;
|
|
102
142
|
--ctp-crust: #dce0e8;
|
|
103
|
-
--ctp-shadow: rgba(76, 79, 105, 0.12);
|
|
104
143
|
--ctp-shadow-strong: rgba(76, 79, 105, 0.16);
|
|
105
144
|
--ctp-good-fg: var(--ctp-base);
|
|
106
145
|
|
|
146
|
+
--body-bg-color: var(--ctp-base);
|
|
147
|
+
--surface-bg-color: var(--ctp-mantle);
|
|
148
|
+
--standout-bg-color: var(--ctp-mantle);
|
|
149
|
+
--section-header-bg-color: var(--ctp-mantle);
|
|
150
|
+
--shadow-color: var(--ctp-shadow-strong);
|
|
151
|
+
|
|
107
152
|
--text-color: var(--ctp-text);
|
|
153
|
+
--muted-text-color: var(--ctp-subtext0);
|
|
154
|
+
--annotation-key-color: var(--ctp-subtext0);
|
|
155
|
+
--link-color: var(--ctp-blue);
|
|
156
|
+
--nav-grid-accent-fg: var(--link-color);
|
|
157
|
+
--nav-grid-accent-bg: var(--link-color);
|
|
108
158
|
--border-color: var(--ctp-surface1);
|
|
109
|
-
|
|
159
|
+
|
|
110
160
|
--hover-background-color: var(--ctp-surface0);
|
|
111
161
|
--hover-text-color: var(--ctp-text);
|
|
162
|
+
|
|
163
|
+
--header-bg-color: var(--ctp-crust);
|
|
164
|
+
--header-fg-color: var(--ctp-text);
|
|
165
|
+
--header-border-color: var(--ctp-surface0);
|
|
166
|
+
--header-shadow: none;
|
|
112
167
|
--header-hover-background-color: var(--ctp-surface0);
|
|
113
168
|
--header-hover-text-color: var(--ctp-text);
|
|
114
|
-
--header-
|
|
169
|
+
--header-button-hover-bg-color: var(--ctp-surface0);
|
|
170
|
+
|
|
171
|
+
--sidebar-bg-color: var(--ctp-mantle);
|
|
172
|
+
--sidebar-link-color: var(--ctp-text);
|
|
173
|
+
--sidebar-hover-bg-color: var(--ctp-surface0);
|
|
174
|
+
--sidebar-border-color: var(--ctp-surface0);
|
|
175
|
+
|
|
176
|
+
--input-bg-color: var(--ctp-surface0);
|
|
177
|
+
--input-fg-color: var(--ctp-text);
|
|
178
|
+
--control-option-bg-color: var(--ctp-surface0);
|
|
179
|
+
--control-hover-bg-color: var(--ctp-surface1);
|
|
180
|
+
--menu-hover-bg-color: var(--ctp-surface0);
|
|
181
|
+
|
|
182
|
+
--table-row-hover-bg: var(--ctp-surface0);
|
|
183
|
+
--table-row-hover-fg: var(--ctp-text);
|
|
184
|
+
--table-uneditable-bg: var(--ctp-surface0);
|
|
185
|
+
--footer-chip-bg-color: var(--ctp-surface1);
|
|
186
|
+
|
|
115
187
|
--disabled-background-color: var(--ctp-surface0);
|
|
116
188
|
--disabled-text-color: var(--ctp-overlay0);
|
|
117
189
|
|
|
190
|
+
--button-good-bg: var(--ctp-green);
|
|
191
|
+
--button-good-hover-bg: var(--ctp-green);
|
|
192
|
+
--button-bad-bg: var(--ctp-red);
|
|
193
|
+
--button-bad-hover-bg: var(--ctp-red);
|
|
194
|
+
--button-warning-bg: var(--ctp-yellow);
|
|
195
|
+
--button-warning-hover-bg: var(--ctp-yellow);
|
|
196
|
+
--button-on-accent-fg: var(--ctp-good-fg);
|
|
197
|
+
|
|
118
198
|
--karma-good: var(--ctp-green);
|
|
119
199
|
--karma-bad: var(--ctp-red);
|
|
120
200
|
--karma-warning: var(--ctp-yellow);
|
|
@@ -133,144 +213,3 @@ html[data-theme="light"] {
|
|
|
133
213
|
--karma-info-fg: var(--ctp-subtext0);
|
|
134
214
|
--karma-old-fg: var(--ctp-overlay1);
|
|
135
215
|
}
|
|
136
|
-
|
|
137
|
-
body {
|
|
138
|
-
background-color: var(--ctp-base);
|
|
139
|
-
color: var(--ctp-text);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
header {
|
|
143
|
-
background-color: var(--ctp-crust);
|
|
144
|
-
border-bottom: 1px solid var(--ctp-surface0);
|
|
145
|
-
box-shadow: none;
|
|
146
|
-
color: var(--ctp-text);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
header a,
|
|
150
|
-
header a:visited,
|
|
151
|
-
header button,
|
|
152
|
-
header .button,
|
|
153
|
-
header h1,
|
|
154
|
-
header .topbar-link,
|
|
155
|
-
header .topbar-link:visited {
|
|
156
|
-
color: var(--header-text-color, var(--ctp-text));
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
#sidebar-toggler-button,
|
|
160
|
-
#sidebar-toggler-button.neutral,
|
|
161
|
-
header .theme-toggle,
|
|
162
|
-
header .theme-toggle.neutral,
|
|
163
|
-
header .search-trigger,
|
|
164
|
-
header .search-trigger.neutral,
|
|
165
|
-
header .user-info {
|
|
166
|
-
background-color: transparent;
|
|
167
|
-
border: 0;
|
|
168
|
-
color: var(--header-text-color, var(--ctp-text));
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
#sidebar-toggler-button:hover,
|
|
172
|
-
header .theme-toggle:hover,
|
|
173
|
-
header .search-trigger:hover,
|
|
174
|
-
header .user-info:hover {
|
|
175
|
-
background-color: var(--header-hover-background-color);
|
|
176
|
-
color: var(--header-hover-text-color);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
aside,
|
|
180
|
-
#sidebar {
|
|
181
|
-
background-color: var(--ctp-mantle);
|
|
182
|
-
color: var(--ctp-text);
|
|
183
|
-
border-color: var(--ctp-surface0);
|
|
184
|
-
box-shadow: 0.15em 0 0.6em var(--ctp-shadow);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
aside a,
|
|
188
|
-
aside a:visited {
|
|
189
|
-
color: var(--ctp-text);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
aside a:hover,
|
|
193
|
-
aside a:focus-visible,
|
|
194
|
-
aside :is(ul, menu) li a:hover,
|
|
195
|
-
aside :is(ul, menu) li a:focus-visible,
|
|
196
|
-
aside .nav-section-header:hover,
|
|
197
|
-
aside .nav-section-header:focus-visible {
|
|
198
|
-
background-color: var(--ctp-surface0);
|
|
199
|
-
color: var(--ctp-text);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
section {
|
|
203
|
-
background-color: var(--ctp-mantle);
|
|
204
|
-
color: var(--ctp-text);
|
|
205
|
-
box-shadow: 0 0 0.5em var(--ctp-shadow-strong);
|
|
206
|
-
border-color: var(--ctp-surface0);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
section .section-header,
|
|
210
|
-
section .section-subheader {
|
|
211
|
-
background-color: var(--ctp-mantle);
|
|
212
|
-
border-bottom-color: var(--ctp-surface0);
|
|
213
|
-
color: var(--ctp-text);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
button,
|
|
217
|
-
.button {
|
|
218
|
-
background-color: var(--ctp-surface0);
|
|
219
|
-
border: 1px solid var(--ctp-surface1);
|
|
220
|
-
color: var(--ctp-text);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
button:hover,
|
|
224
|
-
.button:hover {
|
|
225
|
-
background-color: var(--ctp-surface1);
|
|
226
|
-
color: var(--ctp-text);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
button.good,
|
|
230
|
-
.button.good {
|
|
231
|
-
background-color: var(--ctp-green);
|
|
232
|
-
border-color: var(--ctp-green);
|
|
233
|
-
color: var(--ctp-good-fg);
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
button.bad,
|
|
237
|
-
.button.bad {
|
|
238
|
-
background-color: var(--ctp-red);
|
|
239
|
-
border-color: var(--ctp-red);
|
|
240
|
-
color: var(--ctp-crust);
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
button.warning,
|
|
244
|
-
.button.warning {
|
|
245
|
-
background-color: var(--ctp-yellow);
|
|
246
|
-
border-color: var(--ctp-yellow);
|
|
247
|
-
color: var(--ctp-crust);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
button.neutral,
|
|
251
|
-
.button.neutral {
|
|
252
|
-
background-color: var(--ctp-surface1);
|
|
253
|
-
border-color: var(--ctp-surface2);
|
|
254
|
-
color: var(--ctp-text);
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
input,
|
|
258
|
-
select,
|
|
259
|
-
textarea {
|
|
260
|
-
background-color: var(--ctp-surface0);
|
|
261
|
-
border: 1px solid var(--ctp-surface1);
|
|
262
|
-
color: var(--ctp-text);
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
a {
|
|
266
|
-
color: var(--ctp-blue);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
footer {
|
|
270
|
-
color: var(--ctp-subtext0);
|
|
271
|
-
border-top-color: var(--ctp-surface0);
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
.subtle {
|
|
275
|
-
color: var(--ctp-subtext0);
|
|
276
|
-
}
|