@takazudo/zudo-doc 8.1.3 → 9.1.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/CHANGELOG.md +37 -0
- package/README.md +6 -5
- package/dist/ai-chat-modal/index.js +1 -0
- package/dist/catalog.js +1 -1
- package/dist/chrome/derive.js +2 -2
- package/dist/compiled.css +109 -3
- package/dist/config.d.ts +13 -7
- package/dist/config.js +6 -0
- package/dist/design-token-panel-bootstrap-island.d.ts +1 -1
- package/dist/features.css +110 -0
- package/dist/footer/footer.js +1 -1
- package/dist/head-with-defaults/index.js +2 -2
- package/dist/html-preview-wrapper/preview-base.js +2 -2
- package/dist/icons/index.d.ts +2 -0
- package/dist/icons/index.js +36 -0
- package/dist/metainfo/doc-tags.js +3 -0
- package/dist/nav-indexing/tag-nav.js +7 -1
- package/dist/nav-scope/index.d.ts +1 -1
- package/dist/nav-scope/index.js +7 -8
- package/dist/page-loading/page-loading-overlay.d.ts +5 -1
- package/dist/page-loading/page-loading-overlay.js +1 -1
- package/dist/page-loading.css +2 -1
- package/dist/plugins/zdtp-loader.d.ts +1 -0
- package/dist/plugins/zdtp-loader.js +5 -1
- package/dist/preset.d.ts +10 -4
- package/dist/preset.js +11 -1
- package/dist/route-context-payload/index.d.ts +4 -1
- package/dist/route-context-payload/index.js +6 -0
- package/dist/settings-defaults.js +3 -1
- package/dist/settings.d.ts +9 -5
- package/dist/sidebar-tree-island/branch-preview.d.ts +19 -0
- package/dist/sidebar-tree-island/branch-preview.js +199 -0
- package/dist/sidebar-tree-island/index.js +82 -33
- package/dist/sidebar-tree-island/scope-state.d.ts +15 -6
- package/dist/sidebar-tree-island/scope-state.js +30 -9
- package/dist/sidebar-utils/index.js +5 -2
- package/dist/theme/theme-pack-provider.d.ts +4 -2
- package/dist/theme/theme-pack-provider.js +2 -1
- package/dist/theme-cli/config-io.js +26 -3
- package/dist/theme-cli/list.js +1 -1
- package/dist/theme-packs/default/meta.json +2 -2
- package/dist/theme-packs/graphite/meta.json +37 -0
- package/dist/theme-packs/graphite/pack.css +401 -0
- package/dist/theme-packs/quiet-slate/meta.json +37 -0
- package/dist/theme-packs/quiet-slate/pack.css +401 -0
- package/dist/theme-packs/warm-mineral/meta.json +37 -0
- package/dist/theme-packs/warm-mineral/pack.css +401 -0
- package/dist/theme-packs-registry/configured-theme-pack.d.ts +21 -0
- package/dist/theme-packs-registry/configured-theme-pack.js +13 -0
- package/dist/theme-packs-registry/index.d.ts +1 -0
- package/dist/theme-packs-registry/index.js +6 -0
- package/dist/theme-packs-registry/resolve-enabled-packs.d.ts +13 -6
- package/dist/theme-packs-registry/resolve-enabled-packs.js +15 -5
- package/dist/tree-nav-shared/index.d.ts +5 -1
- package/dist/tree-nav-shared/index.js +7 -3
- package/dist/wind.json +6 -1
- package/dist/zdtp-loader.d.ts +1 -1
- package/eject/footer/footer.tsx +1 -1
- package/eject/header/gen-nav-overflow-script.mjs +2 -2
- package/eject/page-loading/page-loading-overlay.tsx +7 -3
- package/eject/sidebar-tree-island/branch-preview.ts +247 -0
- package/eject/sidebar-tree-island/index.tsx +86 -19
- package/eject/sidebar-tree-island/scope-state.ts +40 -10
- package/package.json +21 -20
package/dist/theme-cli/list.js
CHANGED
|
@@ -50,7 +50,7 @@ function formatThemeList(result) {
|
|
|
50
50
|
} else {
|
|
51
51
|
lines.push(
|
|
52
52
|
pc.dim(
|
|
53
|
-
`Active theme pack: ${activeSlug} (default \u2014 no zfb.config.ts "themePack" field found or readable)`
|
|
53
|
+
`Active theme pack: ${activeSlug} (assumed default \u2014 no zfb.config.ts "themePack" field found or readable)`
|
|
54
54
|
)
|
|
55
55
|
);
|
|
56
56
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"slug": "default",
|
|
4
|
-
"name": "
|
|
5
|
-
"description": "
|
|
4
|
+
"name": "Classic",
|
|
5
|
+
"description": "Classic — the original zudo-doc default look. No pack stylesheet is loaded — your project's configured color scheme and fonts render unchanged.",
|
|
6
6
|
"mode": "dark",
|
|
7
7
|
"version": "1.0.0",
|
|
8
8
|
"fonts": {
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"slug": "graphite",
|
|
4
|
+
"name": "Graphite",
|
|
5
|
+
"description": "Soft neutral graphite — low-glare grey paper by day, deep graphite at night, one warm copper accent, quiet hairline rules. The configured default.",
|
|
6
|
+
"mode": "dark",
|
|
7
|
+
"version": "1.0.0",
|
|
8
|
+
"fonts": {
|
|
9
|
+
"sans": "System",
|
|
10
|
+
"mono": "System",
|
|
11
|
+
"loaded": []
|
|
12
|
+
},
|
|
13
|
+
"preview": {
|
|
14
|
+
"light": {
|
|
15
|
+
"bg": "#F2F3F2",
|
|
16
|
+
"fg": "#3A4146",
|
|
17
|
+
"accent": "#9A4919",
|
|
18
|
+
"syntax": {
|
|
19
|
+
"keyword": "#9A4919",
|
|
20
|
+
"string": "#4E6552",
|
|
21
|
+
"comment": "#566168",
|
|
22
|
+
"callable": "#4B6373"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"dark": {
|
|
26
|
+
"bg": "#242629",
|
|
27
|
+
"fg": "#D3D5D9",
|
|
28
|
+
"accent": "#E9AA79",
|
|
29
|
+
"syntax": {
|
|
30
|
+
"keyword": "#E9AA79",
|
|
31
|
+
"string": "#9DBA9A",
|
|
32
|
+
"comment": "#ADB2B8",
|
|
33
|
+
"callable": "#9DB6C5"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
Graphite — zudo-doc theme pack (ADR docs/adr/theme-packs.md)
|
|
3
|
+
|
|
4
|
+
Neutral grey paper and graphite night, with a single warm copper accent.
|
|
5
|
+
One of the three soft-tone packs (graphite, warm-mineral,
|
|
6
|
+
quiet-slate) that share the same component treatment and differ
|
|
7
|
+
only in palette. Colour only: typography, spacing, geometry and
|
|
8
|
+
heading hierarchy are the package defaults (no fonts loaded).
|
|
9
|
+
|
|
10
|
+
Roles beyond the public --zd-* tokens are inlined per mode:
|
|
11
|
+
line decorative rules, separators and tree guides
|
|
12
|
+
control border necessary field / control / diagram boundaries
|
|
13
|
+
heading heading ink, one step stronger than body text
|
|
14
|
+
hover bg inactive navigation hover fill
|
|
15
|
+
active bg current navigation fill (90% bg + 10% accent)
|
|
16
|
+
state bgs admonition fills (90% bg + 10% state colour)
|
|
17
|
+
Classic (the reserved "default" pack) shares one muted role for
|
|
18
|
+
text, borders and comments; these packs keep muted at readable
|
|
19
|
+
text contrast and give decorative rules their own quieter line.
|
|
20
|
+
|
|
21
|
+
Production-only contrast repairs (not part of the ordinary
|
|
22
|
+
palette): diff rows use the opaque state fills instead of the
|
|
23
|
+
15% foreground tint, and code line / word highlights use opaque
|
|
24
|
+
active / hover fills (no stacked alpha) keeping the accent marker
|
|
25
|
+
and underline, so every syntax role stays >= 4.6:1.
|
|
26
|
+
|
|
27
|
+
Every rule is scoped under html[data-theme-pack="graphite"]; the
|
|
28
|
+
pack never declares color-scheme and follows the mode the page
|
|
29
|
+
already resolved (light-dark()).
|
|
30
|
+
============================================================ */
|
|
31
|
+
|
|
32
|
+
html[data-theme-pack="graphite"] {
|
|
33
|
+
/* Tier-2 semantic roles */
|
|
34
|
+
--zd-bg: light-dark(#F2F3F2, #242629);
|
|
35
|
+
--zd-fg: light-dark(#3A4146, #D3D5D9);
|
|
36
|
+
--zd-surface: light-dark(#E8EBEA, #2D3034);
|
|
37
|
+
--zd-muted: light-dark(#566168, #ADB2B8);
|
|
38
|
+
--zd-accent: light-dark(#9A4919, #E9AA79);
|
|
39
|
+
--zd-accent-hover: light-dark(#934619, #EAAF81);
|
|
40
|
+
--zd-code-bg: light-dark(#E8EBEA, #202225);
|
|
41
|
+
--zd-code-fg: light-dark(#3A4146, #D3D5D9);
|
|
42
|
+
--zd-success: light-dark(#4E6552, #9DBA9A);
|
|
43
|
+
--zd-danger: light-dark(#89504E, #CE9B97);
|
|
44
|
+
--zd-warning: light-dark(#775B2E, #CEB077);
|
|
45
|
+
--zd-info: light-dark(#4B6373, #9DB6C5);
|
|
46
|
+
--zd-selection-bg: light-dark(#9A4919, #E9AA79);
|
|
47
|
+
--zd-selection-fg: light-dark(#F9F5EF, #242629);
|
|
48
|
+
--zd-matched-keyword-bg: light-dark(#9A4919, #E9AA79);
|
|
49
|
+
--zd-matched-keyword-fg: light-dark(#F9F5EF, #242629);
|
|
50
|
+
--zd-chat-user-bg: light-dark(#9A4919, #E9AA79);
|
|
51
|
+
--zd-chat-user-text: light-dark(#F9F5EF, #242629);
|
|
52
|
+
--zd-chat-assistant-bg: light-dark(#E8EBEA, #2D3034);
|
|
53
|
+
--zd-chat-assistant-text: light-dark(#3A4146, #D3D5D9);
|
|
54
|
+
--zd-image-overlay-bg: light-dark(#F2F3F2, #242629);
|
|
55
|
+
--zd-image-overlay-fg: light-dark(#3A4146, #D3D5D9);
|
|
56
|
+
/* Mermaid: text is body text; edges are necessary diagram lines */
|
|
57
|
+
--zd-mermaid-node-bg: light-dark(#E8EBEA, #2D3034);
|
|
58
|
+
--zd-mermaid-text: light-dark(#3A4146, #D3D5D9);
|
|
59
|
+
--zd-mermaid-line: light-dark(#737D86, #858D96);
|
|
60
|
+
--zd-mermaid-label-bg: light-dark(#F2F3F2, #242629);
|
|
61
|
+
--zd-mermaid-note-bg: light-dark(#E1E5E4, #35383D);
|
|
62
|
+
|
|
63
|
+
/* syntax — explicit role mapping */
|
|
64
|
+
--zd-syntax-comment: light-dark(#566168, #ADB2B8);
|
|
65
|
+
--zd-syntax-string: light-dark(#4E6552, #9DBA9A);
|
|
66
|
+
--zd-syntax-number: light-dark(#775B2E, #CEB077);
|
|
67
|
+
--zd-syntax-keyword: light-dark(#9A4919, #E9AA79);
|
|
68
|
+
--zd-syntax-callable: light-dark(#4B6373, #9DB6C5);
|
|
69
|
+
--zd-syntax-type: light-dark(#775B2E, #CEB077);
|
|
70
|
+
--zd-syntax-name: light-dark(#3A4146, #D3D5D9);
|
|
71
|
+
--zd-syntax-inserted: light-dark(#4E6552, #9DBA9A);
|
|
72
|
+
--zd-syntax-deleted: light-dark(#89504E, #CE9B97);
|
|
73
|
+
/* diff rows: opaque audited state fills instead of the 15% tint */
|
|
74
|
+
--zfb-hi-ins-bg: light-dark(#E2E5E2, #303534);
|
|
75
|
+
--zfb-hi-del-bg: light-dark(#E8E3E2, #353234);
|
|
76
|
+
|
|
77
|
+
/* Tier-3 seams */
|
|
78
|
+
--zdc-nav-active-indicator-color: light-dark(#E9E2DC, #383331);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* ---- page, chrome surfaces and decorative rules ---- */
|
|
82
|
+
|
|
83
|
+
html[data-theme-pack="graphite"] header[data-header],
|
|
84
|
+
html[data-theme-pack="graphite"] footer[data-footer] {
|
|
85
|
+
background-color: var(--zd-surface);
|
|
86
|
+
border-color: light-dark(#D2D8DC, #41464D);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
html[data-theme-pack="graphite"] footer[data-footer] div {
|
|
90
|
+
border-color: light-dark(#D2D8DC, #41464D);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
html[data-theme-pack="graphite"] #desktop-sidebar,
|
|
94
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar],
|
|
95
|
+
html[data-theme-pack="graphite"] #desktop-sidebar div,
|
|
96
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] div,
|
|
97
|
+
html[data-theme-pack="graphite"] #desktop-sidebar nav,
|
|
98
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] nav {
|
|
99
|
+
border-color: light-dark(#D2D8DC, #41464D);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
html[data-theme-pack="graphite"] nav[data-zd-toc] ul,
|
|
103
|
+
html[data-theme-pack="graphite"] div[data-zd-mobile-toc],
|
|
104
|
+
html[data-theme-pack="graphite"] div[data-zd-mobile-toc] ul {
|
|
105
|
+
border-color: light-dark(#D2D8DC, #41464D);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
html[data-theme-pack="graphite"] [data-site-nav] div,
|
|
109
|
+
html[data-theme-pack="graphite"] [data-tabs-nav],
|
|
110
|
+
html[data-theme-pack="graphite"] [data-version-menu] > li,
|
|
111
|
+
html[data-theme-pack="graphite"] [data-nav-more-menu] > li,
|
|
112
|
+
html[data-theme-pack="graphite"] [data-language-menu] > li,
|
|
113
|
+
html[data-theme-pack="graphite"] dialog[data-search-dialog] > div div,
|
|
114
|
+
html[data-theme-pack="graphite"] dialog[data-search-dialog] [data-search-count-narrow],
|
|
115
|
+
html[data-theme-pack="graphite"] dialog[data-doc-history-panel] > div,
|
|
116
|
+
html[data-theme-pack="graphite"] [data-theme-pack-switcher] dialog div,
|
|
117
|
+
html[data-theme-pack="graphite"] dialog[data-zd-ai-chat] > div > div {
|
|
118
|
+
border-color: light-dark(#D2D8DC, #41464D);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
html[data-theme-pack="graphite"] .zd-content h1,
|
|
122
|
+
html[data-theme-pack="graphite"] .zd-content table,
|
|
123
|
+
html[data-theme-pack="graphite"] .zd-content th,
|
|
124
|
+
html[data-theme-pack="graphite"] .zd-content td,
|
|
125
|
+
html[data-theme-pack="graphite"] .zd-content hr,
|
|
126
|
+
html[data-theme-pack="graphite"] .zd-content pre,
|
|
127
|
+
html[data-theme-pack="graphite"] .zd-content .code-block-title,
|
|
128
|
+
html[data-theme-pack="graphite"] .zd-content > section,
|
|
129
|
+
html[data-theme-pack="graphite"] .zd-content > ol > li:not(:hover):not(:focus-within),
|
|
130
|
+
html[data-theme-pack="graphite"] .zd-content > nav[data-doc-pager] > a:not(:hover),
|
|
131
|
+
html[data-theme-pack="graphite"] .zd-home-rule {
|
|
132
|
+
border-color: light-dark(#D2D8DC, #41464D);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* ---- necessary control and field boundaries ---- */
|
|
136
|
+
|
|
137
|
+
html[data-theme-pack="graphite"] #desktop-sidebar button,
|
|
138
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] button,
|
|
139
|
+
html[data-theme-pack="graphite"] header[data-header] button,
|
|
140
|
+
html[data-theme-pack="graphite"] [data-nav-item-dropdown] > div > div,
|
|
141
|
+
html[data-theme-pack="graphite"] [data-version-menu],
|
|
142
|
+
html[data-theme-pack="graphite"] button[data-version-toggle]:not(:hover),
|
|
143
|
+
html[data-theme-pack="graphite"] button[data-language-toggle]:not(:hover),
|
|
144
|
+
html[data-theme-pack="graphite"] button[data-doc-history-trigger]:not(:hover),
|
|
145
|
+
html[data-theme-pack="graphite"] button[data-switcher-launcher]:not(:hover),
|
|
146
|
+
html[data-theme-pack="graphite"] dialog[data-search-dialog] > div,
|
|
147
|
+
html[data-theme-pack="graphite"] [data-site-nav] button,
|
|
148
|
+
html[data-theme-pack="graphite"] [data-nav-more-menu],
|
|
149
|
+
html[data-theme-pack="graphite"] [data-language-menu],
|
|
150
|
+
html[data-theme-pack="graphite"] [data-theme-pack-switcher] dialog,
|
|
151
|
+
html[data-theme-pack="graphite"] dialog[data-zd-ai-chat] input,
|
|
152
|
+
html[data-theme-pack="graphite"] dialog.zd-enlarge-dialog,
|
|
153
|
+
html[data-theme-pack="graphite"] dialog.zd-mermaid-dialog,
|
|
154
|
+
html[data-theme-pack="graphite"] .code-btn:not(:hover),
|
|
155
|
+
html[data-theme-pack="graphite"] .zd-desktop-sidebar-toggle,
|
|
156
|
+
html[data-theme-pack="graphite"] .zd-desktop-toc-toggle,
|
|
157
|
+
html[data-theme-pack="graphite"] kbd {
|
|
158
|
+
border-color: light-dark(#737D86, #858D96);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
html[data-theme-pack="graphite"] #desktop-sidebar [data-sidebar-filter-region] > div,
|
|
162
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] [data-sidebar-filter-region] > div {
|
|
163
|
+
box-shadow: inset 0 0 0 1px light-dark(#737D86, #858D96);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/* ---- headings ---- */
|
|
167
|
+
|
|
168
|
+
html[data-theme-pack="graphite"] .zd-content h1,
|
|
169
|
+
html[data-theme-pack="graphite"] .zd-content h2,
|
|
170
|
+
html[data-theme-pack="graphite"] .zd-content h3,
|
|
171
|
+
html[data-theme-pack="graphite"] .zd-content h4,
|
|
172
|
+
html[data-theme-pack="graphite"] .zd-content h5,
|
|
173
|
+
html[data-theme-pack="graphite"] .zd-content h6 {
|
|
174
|
+
color: light-dark(#2E363C, #E0E3E6);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
html[data-theme-pack="graphite"] .zd-content h2:where(:not(.zd-home-heading)):where(:not(.zd-compact-prose *)) {
|
|
178
|
+
border-image: linear-gradient(to right, color-mix(in srgb, light-dark(#737D86, #858D96) 65%, light-dark(#F2F3F2, #242629)), transparent) 1 !important;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
html[data-theme-pack="graphite"] .zd-content h3:where(:not(.zd-compact-prose *)),
|
|
182
|
+
html[data-theme-pack="graphite"] .zd-content h4:where(:not(.zd-compact-prose *)) {
|
|
183
|
+
border-image: linear-gradient(to right, light-dark(#D2D8DC, #41464D), transparent) 1 !important;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/* ---- code ---- */
|
|
187
|
+
|
|
188
|
+
html[data-theme-pack="graphite"] .zd-content .code-block-title {
|
|
189
|
+
background-color: var(--zd-code-bg);
|
|
190
|
+
color: var(--zd-muted);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
html[data-theme-pack="graphite"] pre.hi-root .line.highlighted,
|
|
194
|
+
html[data-theme-pack="graphite"] pre.hi-root [data-line-highlight="true"] {
|
|
195
|
+
background-color: light-dark(#E9E2DC, #383331);
|
|
196
|
+
box-shadow: inset 3px 0 0 var(--zd-accent);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
html[data-theme-pack="graphite"] pre.hi-root .line .highlighted-word {
|
|
200
|
+
background-color: light-dark(#E1E5E4, #35383D);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
html[data-theme-pack="graphite"] .zd-content th,
|
|
204
|
+
html[data-theme-pack="graphite"] .zd-content thead {
|
|
205
|
+
background-color: var(--zd-surface);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* ---- current navigation: active fill, accent text, 3px marker ---- */
|
|
209
|
+
|
|
210
|
+
html[data-theme-pack="graphite"] #desktop-sidebar a[aria-current="page"],
|
|
211
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] a[aria-current="page"],
|
|
212
|
+
html[data-theme-pack="graphite"] #desktop-sidebar div:has(> a[aria-current="page"]),
|
|
213
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) {
|
|
214
|
+
background-color: light-dark(#E9E2DC, #383331);
|
|
215
|
+
color: var(--zd-accent);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
html[data-theme-pack="graphite"] #desktop-sidebar a[aria-current="page"],
|
|
219
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] a[aria-current="page"] {
|
|
220
|
+
box-shadow: inset 3px 0 0 var(--zd-accent);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
html[data-theme-pack="graphite"] #desktop-sidebar a[aria-current="page"] *,
|
|
224
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] a[aria-current="page"] *,
|
|
225
|
+
html[data-theme-pack="graphite"] #desktop-sidebar div:has(> a[aria-current="page"]) > button,
|
|
226
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button,
|
|
227
|
+
html[data-theme-pack="graphite"] #desktop-sidebar div:has(> a[aria-current="page"]) > button *,
|
|
228
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button * {
|
|
229
|
+
color: var(--zd-accent);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
html[data-theme-pack="graphite"] #desktop-sidebar div:has(> a[aria-current="page"]) > button,
|
|
233
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button {
|
|
234
|
+
background-color: transparent;
|
|
235
|
+
border-color: light-dark(#737D86, #858D96);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
html[data-theme-pack="graphite"] #desktop-sidebar a[aria-current="page"]:hover,
|
|
239
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] a[aria-current="page"]:hover,
|
|
240
|
+
html[data-theme-pack="graphite"] #desktop-sidebar a[aria-current="page"]:focus-visible,
|
|
241
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] a[aria-current="page"]:focus-visible,
|
|
242
|
+
html[data-theme-pack="graphite"] #desktop-sidebar div:has(> a[aria-current="page"]) > button:hover,
|
|
243
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button:hover,
|
|
244
|
+
html[data-theme-pack="graphite"] #desktop-sidebar div:has(> a[aria-current="page"]) > button:focus-visible,
|
|
245
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button:focus-visible {
|
|
246
|
+
background-color: light-dark(#E9E2DC, #383331);
|
|
247
|
+
color: var(--zd-accent-hover);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
html[data-theme-pack="graphite"] [data-header-nav] a[aria-current="page"],
|
|
251
|
+
html[data-theme-pack="graphite"] [data-header-nav] a[aria-current="page"]:hover,
|
|
252
|
+
html[data-theme-pack="graphite"] [data-header-nav] a[aria-current="page"]:focus-visible {
|
|
253
|
+
background-color: light-dark(#E9E2DC, #383331);
|
|
254
|
+
color: var(--zd-accent);
|
|
255
|
+
box-shadow: inset 0 -3px 0 var(--zd-accent);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
html[data-theme-pack="graphite"] [data-header-nav] a[aria-current="page"] * {
|
|
259
|
+
color: var(--zd-accent);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
html[data-theme-pack="graphite"] nav[data-zd-toc] a {
|
|
263
|
+
padding-inline: 0.5rem;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
html[data-theme-pack="graphite"] nav[data-zd-toc] a[aria-current="true"] {
|
|
267
|
+
background-color: light-dark(#E9E2DC, #383331);
|
|
268
|
+
color: var(--zd-accent);
|
|
269
|
+
box-shadow: inset 3px 0 0 var(--zd-accent);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/* ---- inactive navigation hover ---- */
|
|
273
|
+
|
|
274
|
+
html[data-theme-pack="graphite"] #desktop-sidebar [data-sidebar-tree-root] a:not([aria-current="page"]):hover,
|
|
275
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] [data-sidebar-tree-root] a:not([aria-current="page"]):hover {
|
|
276
|
+
background-color: light-dark(#E1E5E4, #35383D);
|
|
277
|
+
color: var(--zd-accent);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
html[data-theme-pack="graphite"] [data-site-nav] a:hover {
|
|
281
|
+
color: var(--zd-accent);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/* ---- tag chips: line outline, bg fill, opaque muted count ---- */
|
|
285
|
+
|
|
286
|
+
html[data-theme-pack="graphite"] a[data-zd-tag-chip] > [data-zd-tag-chip-outline] {
|
|
287
|
+
background-color: light-dark(#D2D8DC, #41464D);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
html[data-theme-pack="graphite"] a[data-zd-tag-chip] > [data-zd-tag-chip-label] {
|
|
291
|
+
background-color: var(--zd-bg);
|
|
292
|
+
color: var(--zd-fg);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
html[data-theme-pack="graphite"] a[data-zd-tag-chip] [data-zd-tag-count],
|
|
296
|
+
html[data-theme-pack="graphite"] footer[data-footer] [data-zd-tag-count] {
|
|
297
|
+
opacity: 1;
|
|
298
|
+
color: var(--zd-muted);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
html[data-theme-pack="graphite"] a[data-zd-tag-chip]:hover > [data-zd-tag-chip-outline],
|
|
302
|
+
html[data-theme-pack="graphite"] a[data-zd-tag-chip]:focus-visible > [data-zd-tag-chip-outline] {
|
|
303
|
+
background-color: var(--zd-accent);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
html[data-theme-pack="graphite"] a[data-zd-tag-chip]:hover > [data-zd-tag-chip-label],
|
|
307
|
+
html[data-theme-pack="graphite"] a[data-zd-tag-chip]:focus-visible > [data-zd-tag-chip-label] {
|
|
308
|
+
background-color: light-dark(#E1E5E4, #35383D);
|
|
309
|
+
color: var(--zd-accent);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
html[data-theme-pack="graphite"] a[data-zd-tag-chip]:hover [data-zd-tag-count],
|
|
313
|
+
html[data-theme-pack="graphite"] a[data-zd-tag-chip]:focus-visible [data-zd-tag-count],
|
|
314
|
+
html[data-theme-pack="graphite"] footer[data-footer] a:hover [data-zd-tag-count],
|
|
315
|
+
html[data-theme-pack="graphite"] footer[data-footer] a:focus-visible [data-zd-tag-count] {
|
|
316
|
+
color: var(--zd-accent);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/* ---- admonitions: soft fills, semantic title + stripe (labels/icons kept) ---- */
|
|
320
|
+
|
|
321
|
+
html[data-theme-pack="graphite"] [data-admonition="note"] {
|
|
322
|
+
background-color: light-dark(#E9E2DC, #383331);
|
|
323
|
+
border-left-color: var(--zd-accent);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
html[data-theme-pack="graphite"] [data-admonition="note"] .admonition-title {
|
|
327
|
+
color: var(--zd-accent);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
html[data-theme-pack="graphite"] [data-admonition="important"] {
|
|
331
|
+
background-color: light-dark(#E9E2DC, #383331);
|
|
332
|
+
border-left-color: var(--zd-accent);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
html[data-theme-pack="graphite"] [data-admonition="important"] .admonition-title {
|
|
336
|
+
color: var(--zd-accent);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
html[data-theme-pack="graphite"] [data-admonition="info"] {
|
|
340
|
+
background-color: light-dark(#E1E5E5, #303439);
|
|
341
|
+
border-left-color: var(--zd-info);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
html[data-theme-pack="graphite"] [data-admonition="info"] .admonition-title {
|
|
345
|
+
color: var(--zd-info);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
html[data-theme-pack="graphite"] [data-admonition="tip"] {
|
|
349
|
+
background-color: light-dark(#E2E5E2, #303534);
|
|
350
|
+
border-left-color: var(--zd-success);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
html[data-theme-pack="graphite"] [data-admonition="tip"] .admonition-title {
|
|
354
|
+
color: var(--zd-success);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
html[data-theme-pack="graphite"] [data-admonition="warning"] {
|
|
358
|
+
background-color: light-dark(#E6E4DE, #353431);
|
|
359
|
+
border-left-color: var(--zd-warning);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
html[data-theme-pack="graphite"] [data-admonition="warning"] .admonition-title {
|
|
363
|
+
color: var(--zd-warning);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
html[data-theme-pack="graphite"] [data-admonition="danger"] {
|
|
367
|
+
background-color: light-dark(#E8E3E2, #353234);
|
|
368
|
+
border-left-color: var(--zd-danger);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
html[data-theme-pack="graphite"] [data-admonition="danger"] .admonition-title {
|
|
372
|
+
color: var(--zd-danger);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
html[data-theme-pack="graphite"] [data-admonition="caution"] {
|
|
376
|
+
background-color: light-dark(#E8E3E2, #353234);
|
|
377
|
+
border-left-color: var(--zd-danger);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
html[data-theme-pack="graphite"] [data-admonition="caution"] .admonition-title {
|
|
381
|
+
color: var(--zd-danger);
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
/* ---- keyboard focus: 2px accent outline, 3px offset (inset inside scrollers so it is never clipped) ---- */
|
|
385
|
+
|
|
386
|
+
html[data-theme-pack="graphite"] :focus-visible {
|
|
387
|
+
outline: 2px solid var(--zd-accent);
|
|
388
|
+
outline-offset: 3px;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
html[data-theme-pack="graphite"] #desktop-sidebar :focus-visible,
|
|
392
|
+
html[data-theme-pack="graphite"] aside[data-zd-mobile-sidebar] :focus-visible,
|
|
393
|
+
html[data-theme-pack="graphite"] nav[data-zd-toc] :focus-visible,
|
|
394
|
+
html[data-theme-pack="graphite"] div[data-zd-mobile-toc] :focus-visible {
|
|
395
|
+
outline-offset: -2px;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
html[data-theme-pack="graphite"] .zd-content a,
|
|
399
|
+
html[data-theme-pack="graphite"] .zd-content button {
|
|
400
|
+
text-underline-offset: 3px;
|
|
401
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"slug": "quiet-slate",
|
|
4
|
+
"name": "Quiet Slate",
|
|
5
|
+
"description": "Quiet blue-grey slate — misty slate paper by day, cool slate at night, a muted copper accent and quiet hairline rules.",
|
|
6
|
+
"mode": "dark",
|
|
7
|
+
"version": "1.0.0",
|
|
8
|
+
"fonts": {
|
|
9
|
+
"sans": "System",
|
|
10
|
+
"mono": "System",
|
|
11
|
+
"loaded": []
|
|
12
|
+
},
|
|
13
|
+
"preview": {
|
|
14
|
+
"light": {
|
|
15
|
+
"bg": "#EDF1F3",
|
|
16
|
+
"fg": "#3E4953",
|
|
17
|
+
"accent": "#95491E",
|
|
18
|
+
"syntax": {
|
|
19
|
+
"keyword": "#95491E",
|
|
20
|
+
"string": "#4D6356",
|
|
21
|
+
"comment": "#52606D",
|
|
22
|
+
"callable": "#476274"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"dark": {
|
|
26
|
+
"bg": "#2B3238",
|
|
27
|
+
"fg": "#D8DDE0",
|
|
28
|
+
"accent": "#E4AF89",
|
|
29
|
+
"syntax": {
|
|
30
|
+
"keyword": "#E4AF89",
|
|
31
|
+
"string": "#A9BFAD",
|
|
32
|
+
"comment": "#B3BFC9",
|
|
33
|
+
"callable": "#A3BDCD"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|