@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
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
Warm Mineral — zudo-doc theme pack (ADR docs/adr/theme-packs.md)
|
|
3
|
+
|
|
4
|
+
Sandstone and umber stone, carrying a terracotta 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="warm-mineral"]; 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="warm-mineral"] {
|
|
33
|
+
/* Tier-2 semantic roles */
|
|
34
|
+
--zd-bg: light-dark(#F3EFE8, #2D2A27);
|
|
35
|
+
--zd-fg: light-dark(#47403A, #D6CFC6);
|
|
36
|
+
--zd-surface: light-dark(#E9E3D9, #36322E);
|
|
37
|
+
--zd-muted: light-dark(#655B52, #B7ADA2);
|
|
38
|
+
--zd-accent: light-dark(#92471C, #E5AA7D);
|
|
39
|
+
--zd-accent-hover: light-dark(#8C441B, #E7AF84);
|
|
40
|
+
--zd-code-bg: light-dark(#E9E3D9, #262320);
|
|
41
|
+
--zd-code-fg: light-dark(#47403A, #D6CFC6);
|
|
42
|
+
--zd-success: light-dark(#556047, #A9B892);
|
|
43
|
+
--zd-danger: light-dark(#824F4A, #D3A29B);
|
|
44
|
+
--zd-warning: light-dark(#70592F, #D2B482);
|
|
45
|
+
--zd-info: light-dark(#505E67, #A6B4BD);
|
|
46
|
+
--zd-selection-bg: light-dark(#92471C, #E5AA7D);
|
|
47
|
+
--zd-selection-fg: light-dark(#F9F5EF, #292522);
|
|
48
|
+
--zd-matched-keyword-bg: light-dark(#92471C, #E5AA7D);
|
|
49
|
+
--zd-matched-keyword-fg: light-dark(#F9F5EF, #292522);
|
|
50
|
+
--zd-chat-user-bg: light-dark(#92471C, #E5AA7D);
|
|
51
|
+
--zd-chat-user-text: light-dark(#F9F5EF, #292522);
|
|
52
|
+
--zd-chat-assistant-bg: light-dark(#E9E3D9, #36322E);
|
|
53
|
+
--zd-chat-assistant-text: light-dark(#47403A, #D6CFC6);
|
|
54
|
+
--zd-image-overlay-bg: light-dark(#F3EFE8, #2D2A27);
|
|
55
|
+
--zd-image-overlay-fg: light-dark(#47403A, #D6CFC6);
|
|
56
|
+
/* Mermaid: text is body text; edges are necessary diagram lines */
|
|
57
|
+
--zd-mermaid-node-bg: light-dark(#E9E3D9, #36322E);
|
|
58
|
+
--zd-mermaid-text: light-dark(#47403A, #D6CFC6);
|
|
59
|
+
--zd-mermaid-line: light-dark(#847668, #968A7E);
|
|
60
|
+
--zd-mermaid-label-bg: light-dark(#F3EFE8, #2D2A27);
|
|
61
|
+
--zd-mermaid-note-bg: light-dark(#E4DDCF, #3D3732);
|
|
62
|
+
|
|
63
|
+
/* syntax — explicit role mapping */
|
|
64
|
+
--zd-syntax-comment: light-dark(#655B52, #B7ADA2);
|
|
65
|
+
--zd-syntax-string: light-dark(#556047, #A9B892);
|
|
66
|
+
--zd-syntax-number: light-dark(#70592F, #D2B482);
|
|
67
|
+
--zd-syntax-keyword: light-dark(#92471C, #E5AA7D);
|
|
68
|
+
--zd-syntax-callable: light-dark(#505E67, #A6B4BD);
|
|
69
|
+
--zd-syntax-type: light-dark(#70592F, #D2B482);
|
|
70
|
+
--zd-syntax-name: light-dark(#47403A, #D6CFC6);
|
|
71
|
+
--zd-syntax-inserted: light-dark(#556047, #A9B892);
|
|
72
|
+
--zd-syntax-deleted: light-dark(#824F4A, #D3A29B);
|
|
73
|
+
/* diff rows: opaque audited state fills instead of the 15% tint */
|
|
74
|
+
--zfb-hi-ins-bg: light-dark(#E3E1D8, #393832);
|
|
75
|
+
--zfb-hi-del-bg: light-dark(#E8DFD8, #3E3633);
|
|
76
|
+
|
|
77
|
+
/* Tier-3 seams */
|
|
78
|
+
--zdc-nav-active-indicator-color: light-dark(#E9DED4, #3F3730);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* ---- page, chrome surfaces and decorative rules ---- */
|
|
82
|
+
|
|
83
|
+
html[data-theme-pack="warm-mineral"] header[data-header],
|
|
84
|
+
html[data-theme-pack="warm-mineral"] footer[data-footer] {
|
|
85
|
+
background-color: var(--zd-surface);
|
|
86
|
+
border-color: light-dark(#D8CEC1, #4D4640);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
html[data-theme-pack="warm-mineral"] footer[data-footer] div {
|
|
90
|
+
border-color: light-dark(#D8CEC1, #4D4640);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar,
|
|
94
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar],
|
|
95
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar div,
|
|
96
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] div,
|
|
97
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar nav,
|
|
98
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] nav {
|
|
99
|
+
border-color: light-dark(#D8CEC1, #4D4640);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
html[data-theme-pack="warm-mineral"] nav[data-zd-toc] ul,
|
|
103
|
+
html[data-theme-pack="warm-mineral"] div[data-zd-mobile-toc],
|
|
104
|
+
html[data-theme-pack="warm-mineral"] div[data-zd-mobile-toc] ul {
|
|
105
|
+
border-color: light-dark(#D8CEC1, #4D4640);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
html[data-theme-pack="warm-mineral"] [data-site-nav] div,
|
|
109
|
+
html[data-theme-pack="warm-mineral"] [data-tabs-nav],
|
|
110
|
+
html[data-theme-pack="warm-mineral"] [data-version-menu] > li,
|
|
111
|
+
html[data-theme-pack="warm-mineral"] [data-nav-more-menu] > li,
|
|
112
|
+
html[data-theme-pack="warm-mineral"] [data-language-menu] > li,
|
|
113
|
+
html[data-theme-pack="warm-mineral"] dialog[data-search-dialog] > div div,
|
|
114
|
+
html[data-theme-pack="warm-mineral"] dialog[data-search-dialog] [data-search-count-narrow],
|
|
115
|
+
html[data-theme-pack="warm-mineral"] dialog[data-doc-history-panel] > div,
|
|
116
|
+
html[data-theme-pack="warm-mineral"] [data-theme-pack-switcher] dialog div,
|
|
117
|
+
html[data-theme-pack="warm-mineral"] dialog[data-zd-ai-chat] > div > div {
|
|
118
|
+
border-color: light-dark(#D8CEC1, #4D4640);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
html[data-theme-pack="warm-mineral"] .zd-content h1,
|
|
122
|
+
html[data-theme-pack="warm-mineral"] .zd-content table,
|
|
123
|
+
html[data-theme-pack="warm-mineral"] .zd-content th,
|
|
124
|
+
html[data-theme-pack="warm-mineral"] .zd-content td,
|
|
125
|
+
html[data-theme-pack="warm-mineral"] .zd-content hr,
|
|
126
|
+
html[data-theme-pack="warm-mineral"] .zd-content pre,
|
|
127
|
+
html[data-theme-pack="warm-mineral"] .zd-content .code-block-title,
|
|
128
|
+
html[data-theme-pack="warm-mineral"] .zd-content > section,
|
|
129
|
+
html[data-theme-pack="warm-mineral"] .zd-content > ol > li:not(:hover):not(:focus-within),
|
|
130
|
+
html[data-theme-pack="warm-mineral"] .zd-content > nav[data-doc-pager] > a:not(:hover),
|
|
131
|
+
html[data-theme-pack="warm-mineral"] .zd-home-rule {
|
|
132
|
+
border-color: light-dark(#D8CEC1, #4D4640);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* ---- necessary control and field boundaries ---- */
|
|
136
|
+
|
|
137
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar button,
|
|
138
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] button,
|
|
139
|
+
html[data-theme-pack="warm-mineral"] header[data-header] button,
|
|
140
|
+
html[data-theme-pack="warm-mineral"] [data-nav-item-dropdown] > div > div,
|
|
141
|
+
html[data-theme-pack="warm-mineral"] [data-version-menu],
|
|
142
|
+
html[data-theme-pack="warm-mineral"] button[data-version-toggle]:not(:hover),
|
|
143
|
+
html[data-theme-pack="warm-mineral"] button[data-language-toggle]:not(:hover),
|
|
144
|
+
html[data-theme-pack="warm-mineral"] button[data-doc-history-trigger]:not(:hover),
|
|
145
|
+
html[data-theme-pack="warm-mineral"] button[data-switcher-launcher]:not(:hover),
|
|
146
|
+
html[data-theme-pack="warm-mineral"] dialog[data-search-dialog] > div,
|
|
147
|
+
html[data-theme-pack="warm-mineral"] [data-site-nav] button,
|
|
148
|
+
html[data-theme-pack="warm-mineral"] [data-nav-more-menu],
|
|
149
|
+
html[data-theme-pack="warm-mineral"] [data-language-menu],
|
|
150
|
+
html[data-theme-pack="warm-mineral"] [data-theme-pack-switcher] dialog,
|
|
151
|
+
html[data-theme-pack="warm-mineral"] dialog[data-zd-ai-chat] input,
|
|
152
|
+
html[data-theme-pack="warm-mineral"] dialog.zd-enlarge-dialog,
|
|
153
|
+
html[data-theme-pack="warm-mineral"] dialog.zd-mermaid-dialog,
|
|
154
|
+
html[data-theme-pack="warm-mineral"] .code-btn:not(:hover),
|
|
155
|
+
html[data-theme-pack="warm-mineral"] .zd-desktop-sidebar-toggle,
|
|
156
|
+
html[data-theme-pack="warm-mineral"] .zd-desktop-toc-toggle,
|
|
157
|
+
html[data-theme-pack="warm-mineral"] kbd {
|
|
158
|
+
border-color: light-dark(#847668, #968A7E);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar [data-sidebar-filter-region] > div,
|
|
162
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] [data-sidebar-filter-region] > div {
|
|
163
|
+
box-shadow: inset 0 0 0 1px light-dark(#847668, #968A7E);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/* ---- headings ---- */
|
|
167
|
+
|
|
168
|
+
html[data-theme-pack="warm-mineral"] .zd-content h1,
|
|
169
|
+
html[data-theme-pack="warm-mineral"] .zd-content h2,
|
|
170
|
+
html[data-theme-pack="warm-mineral"] .zd-content h3,
|
|
171
|
+
html[data-theme-pack="warm-mineral"] .zd-content h4,
|
|
172
|
+
html[data-theme-pack="warm-mineral"] .zd-content h5,
|
|
173
|
+
html[data-theme-pack="warm-mineral"] .zd-content h6 {
|
|
174
|
+
color: light-dark(#38322D, #E2DBD2);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
html[data-theme-pack="warm-mineral"] .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(#847668, #968A7E) 65%, light-dark(#F3EFE8, #2D2A27)), transparent) 1 !important;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
html[data-theme-pack="warm-mineral"] .zd-content h3:where(:not(.zd-compact-prose *)),
|
|
182
|
+
html[data-theme-pack="warm-mineral"] .zd-content h4:where(:not(.zd-compact-prose *)) {
|
|
183
|
+
border-image: linear-gradient(to right, light-dark(#D8CEC1, #4D4640), transparent) 1 !important;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/* ---- code ---- */
|
|
187
|
+
|
|
188
|
+
html[data-theme-pack="warm-mineral"] .zd-content .code-block-title {
|
|
189
|
+
background-color: var(--zd-code-bg);
|
|
190
|
+
color: var(--zd-muted);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
html[data-theme-pack="warm-mineral"] pre.hi-root .line.highlighted,
|
|
194
|
+
html[data-theme-pack="warm-mineral"] pre.hi-root [data-line-highlight="true"] {
|
|
195
|
+
background-color: light-dark(#E9DED4, #3F3730);
|
|
196
|
+
box-shadow: inset 3px 0 0 var(--zd-accent);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
html[data-theme-pack="warm-mineral"] pre.hi-root .line .highlighted-word {
|
|
200
|
+
background-color: light-dark(#E4DDCF, #3D3732);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
html[data-theme-pack="warm-mineral"] .zd-content th,
|
|
204
|
+
html[data-theme-pack="warm-mineral"] .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="warm-mineral"] #desktop-sidebar a[aria-current="page"],
|
|
211
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] a[aria-current="page"],
|
|
212
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar div:has(> a[aria-current="page"]),
|
|
213
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) {
|
|
214
|
+
background-color: light-dark(#E9DED4, #3F3730);
|
|
215
|
+
color: var(--zd-accent);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar a[aria-current="page"],
|
|
219
|
+
html[data-theme-pack="warm-mineral"] 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="warm-mineral"] #desktop-sidebar a[aria-current="page"] *,
|
|
224
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] a[aria-current="page"] *,
|
|
225
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar div:has(> a[aria-current="page"]) > button,
|
|
226
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button,
|
|
227
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar div:has(> a[aria-current="page"]) > button *,
|
|
228
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button * {
|
|
229
|
+
color: var(--zd-accent);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar div:has(> a[aria-current="page"]) > button,
|
|
233
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button {
|
|
234
|
+
background-color: transparent;
|
|
235
|
+
border-color: light-dark(#847668, #968A7E);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar a[aria-current="page"]:hover,
|
|
239
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] a[aria-current="page"]:hover,
|
|
240
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar a[aria-current="page"]:focus-visible,
|
|
241
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] a[aria-current="page"]:focus-visible,
|
|
242
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar div:has(> a[aria-current="page"]) > button:hover,
|
|
243
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button:hover,
|
|
244
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar div:has(> a[aria-current="page"]) > button:focus-visible,
|
|
245
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] div:has(> a[aria-current="page"]) > button:focus-visible {
|
|
246
|
+
background-color: light-dark(#E9DED4, #3F3730);
|
|
247
|
+
color: var(--zd-accent-hover);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
html[data-theme-pack="warm-mineral"] [data-header-nav] a[aria-current="page"],
|
|
251
|
+
html[data-theme-pack="warm-mineral"] [data-header-nav] a[aria-current="page"]:hover,
|
|
252
|
+
html[data-theme-pack="warm-mineral"] [data-header-nav] a[aria-current="page"]:focus-visible {
|
|
253
|
+
background-color: light-dark(#E9DED4, #3F3730);
|
|
254
|
+
color: var(--zd-accent);
|
|
255
|
+
box-shadow: inset 0 -3px 0 var(--zd-accent);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
html[data-theme-pack="warm-mineral"] [data-header-nav] a[aria-current="page"] * {
|
|
259
|
+
color: var(--zd-accent);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
html[data-theme-pack="warm-mineral"] nav[data-zd-toc] a {
|
|
263
|
+
padding-inline: 0.5rem;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
html[data-theme-pack="warm-mineral"] nav[data-zd-toc] a[aria-current="true"] {
|
|
267
|
+
background-color: light-dark(#E9DED4, #3F3730);
|
|
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="warm-mineral"] #desktop-sidebar [data-sidebar-tree-root] a:not([aria-current="page"]):hover,
|
|
275
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] [data-sidebar-tree-root] a:not([aria-current="page"]):hover {
|
|
276
|
+
background-color: light-dark(#E4DDCF, #3D3732);
|
|
277
|
+
color: var(--zd-accent);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
html[data-theme-pack="warm-mineral"] [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="warm-mineral"] a[data-zd-tag-chip] > [data-zd-tag-chip-outline] {
|
|
287
|
+
background-color: light-dark(#D8CEC1, #4D4640);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
html[data-theme-pack="warm-mineral"] 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="warm-mineral"] a[data-zd-tag-chip] [data-zd-tag-count],
|
|
296
|
+
html[data-theme-pack="warm-mineral"] footer[data-footer] [data-zd-tag-count] {
|
|
297
|
+
opacity: 1;
|
|
298
|
+
color: var(--zd-muted);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
html[data-theme-pack="warm-mineral"] a[data-zd-tag-chip]:hover > [data-zd-tag-chip-outline],
|
|
302
|
+
html[data-theme-pack="warm-mineral"] 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="warm-mineral"] a[data-zd-tag-chip]:hover > [data-zd-tag-chip-label],
|
|
307
|
+
html[data-theme-pack="warm-mineral"] a[data-zd-tag-chip]:focus-visible > [data-zd-tag-chip-label] {
|
|
308
|
+
background-color: light-dark(#E4DDCF, #3D3732);
|
|
309
|
+
color: var(--zd-accent);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
html[data-theme-pack="warm-mineral"] a[data-zd-tag-chip]:hover [data-zd-tag-count],
|
|
313
|
+
html[data-theme-pack="warm-mineral"] a[data-zd-tag-chip]:focus-visible [data-zd-tag-count],
|
|
314
|
+
html[data-theme-pack="warm-mineral"] footer[data-footer] a:hover [data-zd-tag-count],
|
|
315
|
+
html[data-theme-pack="warm-mineral"] 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="warm-mineral"] [data-admonition="note"] {
|
|
322
|
+
background-color: light-dark(#E9DED4, #3F3730);
|
|
323
|
+
border-left-color: var(--zd-accent);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="note"] .admonition-title {
|
|
327
|
+
color: var(--zd-accent);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="important"] {
|
|
331
|
+
background-color: light-dark(#E9DED4, #3F3730);
|
|
332
|
+
border-left-color: var(--zd-accent);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="important"] .admonition-title {
|
|
336
|
+
color: var(--zd-accent);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="info"] {
|
|
340
|
+
background-color: light-dark(#E3E0DB, #393836);
|
|
341
|
+
border-left-color: var(--zd-info);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="info"] .admonition-title {
|
|
345
|
+
color: var(--zd-info);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="tip"] {
|
|
349
|
+
background-color: light-dark(#E3E1D8, #393832);
|
|
350
|
+
border-left-color: var(--zd-success);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="tip"] .admonition-title {
|
|
354
|
+
color: var(--zd-success);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="warning"] {
|
|
358
|
+
background-color: light-dark(#E6E0D6, #3E3830);
|
|
359
|
+
border-left-color: var(--zd-warning);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="warning"] .admonition-title {
|
|
363
|
+
color: var(--zd-warning);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="danger"] {
|
|
367
|
+
background-color: light-dark(#E8DFD8, #3E3633);
|
|
368
|
+
border-left-color: var(--zd-danger);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="danger"] .admonition-title {
|
|
372
|
+
color: var(--zd-danger);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
html[data-theme-pack="warm-mineral"] [data-admonition="caution"] {
|
|
376
|
+
background-color: light-dark(#E8DFD8, #3E3633);
|
|
377
|
+
border-left-color: var(--zd-danger);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
html[data-theme-pack="warm-mineral"] [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="warm-mineral"] :focus-visible {
|
|
387
|
+
outline: 2px solid var(--zd-accent);
|
|
388
|
+
outline-offset: 3px;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
html[data-theme-pack="warm-mineral"] #desktop-sidebar :focus-visible,
|
|
392
|
+
html[data-theme-pack="warm-mineral"] aside[data-zd-mobile-sidebar] :focus-visible,
|
|
393
|
+
html[data-theme-pack="warm-mineral"] nav[data-zd-toc] :focus-visible,
|
|
394
|
+
html[data-theme-pack="warm-mineral"] div[data-zd-mobile-toc] :focus-visible {
|
|
395
|
+
outline-offset: -2px;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
html[data-theme-pack="warm-mineral"] .zd-content a,
|
|
399
|
+
html[data-theme-pack="warm-mineral"] .zd-content button {
|
|
400
|
+
text-underline-offset: 3px;
|
|
401
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** The pack an ordinary configuration resolves to when `themePack` is omitted. */
|
|
2
|
+
export declare const CONFIGURED_DEFAULT_THEME_PACK_SLUG = "graphite";
|
|
3
|
+
/** Inputs read by {@link resolveConfiguredThemePack}. */
|
|
4
|
+
export interface ConfiguredThemePackInput {
|
|
5
|
+
/** The configured slug. `null`/`undefined` mean "omitted". */
|
|
6
|
+
themePack?: string | null;
|
|
7
|
+
/** The resolved `colorMode` setting; `false` is the fixed-scheme opt-out. */
|
|
8
|
+
colorMode?: unknown;
|
|
9
|
+
/** `true` when the caller supplied its own `colorSchemes` data. */
|
|
10
|
+
customColorSchemes?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolve the effective configured pack slug:
|
|
14
|
+
*
|
|
15
|
+
* 1. an explicit (non-nullish) `themePack` wins verbatim — validation of the
|
|
16
|
+
* slug stays with the registry resolver, which fails loudly;
|
|
17
|
+
* 2. omitted + custom `colorSchemes` or `colorMode: false` → `"default"`
|
|
18
|
+
* (Classic, no pack stylesheet);
|
|
19
|
+
* 3. otherwise → {@link CONFIGURED_DEFAULT_THEME_PACK_SLUG}.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveConfiguredThemePack(input: ConfiguredThemePackInput): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const RESERVED_DEFAULT_SLUG = "default";
|
|
2
|
+
const CONFIGURED_DEFAULT_THEME_PACK_SLUG = "graphite";
|
|
3
|
+
function resolveConfiguredThemePack(input) {
|
|
4
|
+
if (input.themePack !== void 0 && input.themePack !== null) return input.themePack;
|
|
5
|
+
if (input.customColorSchemes === true || input.colorMode === false) {
|
|
6
|
+
return RESERVED_DEFAULT_SLUG;
|
|
7
|
+
}
|
|
8
|
+
return CONFIGURED_DEFAULT_THEME_PACK_SLUG;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
CONFIGURED_DEFAULT_THEME_PACK_SLUG,
|
|
12
|
+
resolveConfiguredThemePack
|
|
13
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { THEME_PACK_SLUG_RE, DEFAULT_THEME_PACK_SLUG, themePackMetaSchema, type ThemePackMeta, type ThemePackSwatches, } from "./meta-schema.js";
|
|
2
|
+
export { CONFIGURED_DEFAULT_THEME_PACK_SLUG, resolveConfiguredThemePack, type ConfiguredThemePackInput, } from "./configured-theme-pack.js";
|
|
2
3
|
export { KNOWN_THEME_PACK_TOKEN_NAMES, COMMERCIAL_FONT_DENYLIST, THEME_PACK_SOFT_BUDGET_BYTES, } from "./token-manifest.js";
|
|
3
4
|
export { validateThemePack, type ThemePackValidationInput, type ThemePackValidationIssue, type ThemePackValidationResult, type ThemePackValidationSeverity, } from "./validator.js";
|
|
4
5
|
export type { ThemePackRegistry, ThemePackRegistryEntry } from "./types.js";
|
|
@@ -3,6 +3,10 @@ import {
|
|
|
3
3
|
DEFAULT_THEME_PACK_SLUG,
|
|
4
4
|
themePackMetaSchema
|
|
5
5
|
} from "./meta-schema.js";
|
|
6
|
+
import {
|
|
7
|
+
CONFIGURED_DEFAULT_THEME_PACK_SLUG,
|
|
8
|
+
resolveConfiguredThemePack
|
|
9
|
+
} from "./configured-theme-pack.js";
|
|
6
10
|
import {
|
|
7
11
|
KNOWN_THEME_PACK_TOKEN_NAMES,
|
|
8
12
|
COMMERCIAL_FONT_DENYLIST,
|
|
@@ -20,11 +24,13 @@ import {
|
|
|
20
24
|
} from "./build-registry.js";
|
|
21
25
|
export {
|
|
22
26
|
COMMERCIAL_FONT_DENYLIST,
|
|
27
|
+
CONFIGURED_DEFAULT_THEME_PACK_SLUG,
|
|
23
28
|
DEFAULT_THEME_PACK_SLUG,
|
|
24
29
|
KNOWN_THEME_PACK_TOKEN_NAMES,
|
|
25
30
|
THEME_PACK_SLUG_RE,
|
|
26
31
|
THEME_PACK_SOFT_BUDGET_BYTES,
|
|
27
32
|
buildThemePackRegistry,
|
|
33
|
+
resolveConfiguredThemePack,
|
|
28
34
|
resolveEnabledPacks,
|
|
29
35
|
schemaVersion,
|
|
30
36
|
themePackMetaSchema,
|
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
import type { ThemePackRegistry } from "./types.js";
|
|
2
2
|
/** The subset of settings this resolver reads. */
|
|
3
3
|
export interface ResolveEnabledPacksSettings {
|
|
4
|
-
/** Active pack slug — must end up a member of the resolved list.
|
|
5
|
-
|
|
4
|
+
/** Active pack slug — must end up a member of the resolved list. Omitted
|
|
5
|
+
* means the configured default (`"graphite"`); callers that must honour
|
|
6
|
+
* the custom-scheme / fixed-scheme Classic exception normalize it first
|
|
7
|
+
* via `resolveConfiguredThemePack`. */
|
|
8
|
+
themePack?: string | null;
|
|
9
|
+
/** The resolved `colorMode`; `false` makes an omitted `themePack` Classic. */
|
|
10
|
+
colorMode?: unknown;
|
|
6
11
|
/** Explicit enabled-pack order, or `undefined` for the canonical default
|
|
7
|
-
* order (`"
|
|
12
|
+
* order (`"graphite"` first, `"default"` (Classic) second, then the rest
|
|
13
|
+
* alphabetically). */
|
|
8
14
|
themePacks?: string[];
|
|
9
15
|
}
|
|
10
16
|
/**
|
|
11
17
|
* Resolve the ENABLED, ORDERED subset of `registry` per `settings.themePacks`
|
|
12
18
|
* / `settings.themePack` (Decision 7):
|
|
13
19
|
*
|
|
14
|
-
* - `themePacks` omitted → every bundled pack
|
|
15
|
-
*
|
|
20
|
+
* - `themePacks` omitted → every bundled pack: the configured default
|
|
21
|
+
* (`"graphite"`) first, `"default"` (Classic) second, then the rest in
|
|
22
|
+
* canonical (alphabetical-by-slug) order.
|
|
16
23
|
* - `themePacks` an explicit array → authoritative: may omit `"default"`,
|
|
17
24
|
* reorder freely. Duplicate or unknown slugs throw loudly.
|
|
18
|
-
* - `themePack` (the active slug, default `"
|
|
25
|
+
* - `themePack` (the active slug, default `"graphite"`) must be a member of
|
|
19
26
|
* the resolved list — an unknown/excluded active slug throws loudly,
|
|
20
27
|
* naming the bad slug and the available ones.
|
|
21
28
|
*
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { DEFAULT_THEME_PACK_SLUG } from "./meta-schema.js";
|
|
2
|
+
import {
|
|
3
|
+
CONFIGURED_DEFAULT_THEME_PACK_SLUG,
|
|
4
|
+
resolveConfiguredThemePack
|
|
5
|
+
} from "./configured-theme-pack.js";
|
|
2
6
|
function resolveEnabledPacks(registry, settings) {
|
|
3
7
|
const bySlug = new Map(registry.map((entry) => [entry.slug, entry]));
|
|
4
8
|
const availableSlugs = registry.map((e) => e.slug);
|
|
5
9
|
let orderedSlugs;
|
|
6
10
|
if (settings.themePacks === void 0) {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
11
|
+
const leading = [CONFIGURED_DEFAULT_THEME_PACK_SLUG, DEFAULT_THEME_PACK_SLUG].filter(
|
|
12
|
+
(slug) => bySlug.has(slug)
|
|
13
|
+
);
|
|
14
|
+
const rest = availableSlugs.filter((s) => !leading.includes(s)).sort();
|
|
15
|
+
orderedSlugs = [...leading, ...rest];
|
|
10
16
|
} else {
|
|
11
17
|
const requested = settings.themePacks;
|
|
12
18
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -30,10 +36,14 @@ function resolveEnabledPacks(registry, settings) {
|
|
|
30
36
|
orderedSlugs = [...requested];
|
|
31
37
|
}
|
|
32
38
|
const enabled = orderedSlugs.map((slug) => bySlug.get(slug));
|
|
33
|
-
const activeSlug =
|
|
39
|
+
const activeSlug = resolveConfiguredThemePack({
|
|
40
|
+
themePack: settings.themePack,
|
|
41
|
+
colorMode: settings.colorMode
|
|
42
|
+
});
|
|
34
43
|
if (!enabled.some((e) => e.slug === activeSlug)) {
|
|
44
|
+
const migrationHint = activeSlug === CONFIGURED_DEFAULT_THEME_PACK_SLUG && settings.themePacks !== void 0 ? ` "${CONFIGURED_DEFAULT_THEME_PACK_SLUG}" is the default pack when themePack is omitted; add it to themePacks, or set themePack explicitly to an enabled pack (themePack: "default" keeps the Classic look).` : "";
|
|
35
45
|
throw new Error(
|
|
36
|
-
`zudo-doc: settings.themePack "${activeSlug}" is not one of the enabled theme packs. Enabled packs: ${enabled.map((e) => e.slug).join(", ") || "(none)"}.`
|
|
46
|
+
`zudo-doc: settings.themePack "${activeSlug}" is not one of the enabled theme packs. Enabled packs: ${enabled.map((e) => e.slug).join(", ") || "(none)"}.` + migrationHint
|
|
37
47
|
);
|
|
38
48
|
}
|
|
39
49
|
return enabled;
|
|
@@ -9,10 +9,14 @@ export declare function connectorLabelStart(depth: number, widthScale: number, g
|
|
|
9
9
|
export declare function CategoryLinkIcon({ class: className }: {
|
|
10
10
|
class?: string;
|
|
11
11
|
}): import("@takazudo/zfb").Description;
|
|
12
|
-
export declare function ConnectorLines({ depth, isLast, widthScale, topPad, }: {
|
|
12
|
+
export declare function ConnectorLines({ depth, isLast, widthScale, topPad, left: leftOverride, width: widthOverride, }: {
|
|
13
13
|
depth: number;
|
|
14
14
|
isLast: boolean;
|
|
15
15
|
widthScale?: number;
|
|
16
|
+
/** Overrides the depth-derived x position of the vertical line. */
|
|
17
|
+
left?: string;
|
|
18
|
+
/** Overrides the horizontal connector's length. */
|
|
19
|
+
width?: string;
|
|
16
20
|
/**
|
|
17
21
|
* Padding-top of the inner content row that holds the link text. The horizontal
|
|
18
22
|
* connector and (when `isLast`) the vertical clip both anchor to the first-line
|
|
@@ -29,17 +29,20 @@ function ConnectorLines({
|
|
|
29
29
|
depth,
|
|
30
30
|
isLast,
|
|
31
31
|
widthScale = 1,
|
|
32
|
-
topPad = "0px"
|
|
32
|
+
topPad = "0px",
|
|
33
|
+
left: leftOverride,
|
|
34
|
+
width: widthOverride
|
|
33
35
|
}) {
|
|
34
36
|
if (depth === 0) return null;
|
|
35
|
-
const left = connectorLeft(depth);
|
|
36
|
-
const width = connectorWidth(widthScale);
|
|
37
|
+
const left = leftOverride ?? connectorLeft(depth);
|
|
38
|
+
const width = widthOverride ?? connectorWidth(widthScale);
|
|
37
39
|
const firstLineMid = `calc(${topPad} + 0.5lh)`;
|
|
38
40
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
39
41
|
/* @__PURE__ */ jsx(
|
|
40
42
|
"div",
|
|
41
43
|
{
|
|
42
44
|
class: "absolute border-l border-dashed border-muted",
|
|
45
|
+
"data-tree-connector": true,
|
|
43
46
|
style: {
|
|
44
47
|
left,
|
|
45
48
|
top: "0px",
|
|
@@ -51,6 +54,7 @@ function ConnectorLines({
|
|
|
51
54
|
"div",
|
|
52
55
|
{
|
|
53
56
|
class: "absolute border-t border-dashed border-muted",
|
|
57
|
+
"data-tree-connector": true,
|
|
54
58
|
style: {
|
|
55
59
|
left,
|
|
56
60
|
width,
|
package/dist/wind.json
CHANGED
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"col-span-full",
|
|
68
68
|
"col-start-1",
|
|
69
69
|
"contents",
|
|
70
|
+
"cursor-default",
|
|
70
71
|
"cursor-not-allowed",
|
|
71
72
|
"cursor-pointer",
|
|
72
73
|
"disabled:cursor-default",
|
|
@@ -91,7 +92,6 @@
|
|
|
91
92
|
"focus-visible:outline-accent",
|
|
92
93
|
"focus-visible:outline-offset-2",
|
|
93
94
|
"focus-visible:text-accent",
|
|
94
|
-
"focus-visible:text-fg",
|
|
95
95
|
"focus-visible:underline",
|
|
96
96
|
"focus-within:border-accent",
|
|
97
97
|
"focus-within:z-local-1",
|
|
@@ -147,9 +147,11 @@
|
|
|
147
147
|
"h-[0.5rem]",
|
|
148
148
|
"h-[0.625rem]",
|
|
149
149
|
"h-[0.875rem]",
|
|
150
|
+
"h-[1.0625rem]",
|
|
150
151
|
"h-[1.125rem]",
|
|
151
152
|
"h-[1.25rem]",
|
|
152
153
|
"h-[1.575rem]",
|
|
154
|
+
"h-[1.875rem]",
|
|
153
155
|
"h-[10rem]",
|
|
154
156
|
"h-[14px]",
|
|
155
157
|
"h-[1em]",
|
|
@@ -290,6 +292,7 @@
|
|
|
290
292
|
"my-vsp-md",
|
|
291
293
|
"no-underline",
|
|
292
294
|
"object-contain",
|
|
295
|
+
"opacity-50",
|
|
293
296
|
"opacity-60",
|
|
294
297
|
"outline-none",
|
|
295
298
|
"overflow-auto",
|
|
@@ -455,11 +458,13 @@
|
|
|
455
458
|
"w-[0.5rem]",
|
|
456
459
|
"w-[0.625rem]",
|
|
457
460
|
"w-[0.875rem]",
|
|
461
|
+
"w-[1.0625rem]",
|
|
458
462
|
"w-[1.125rem]",
|
|
459
463
|
"w-[1.25rem]",
|
|
460
464
|
"w-[1.575rem]",
|
|
461
465
|
"w-[1.5rem]",
|
|
462
466
|
"w-[1.75rem]",
|
|
467
|
+
"w-[1.875rem]",
|
|
463
468
|
"w-[12rem]",
|
|
464
469
|
"w-[14px]",
|
|
465
470
|
"w-[16px]",
|
package/dist/zdtp-loader.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PanelConfig, PanelInstanceHandle } from "@takazudo/zdtp";
|
|
2
2
|
export * from "@takazudo/zdtp";
|
|
3
3
|
/**
|
|
4
|
-
* Mount zdtp's opaque
|
|
4
|
+
* Mount zdtp's opaque panel root only while the activating island still owns
|
|
5
5
|
* the pending import. Once configured, zdtp keeps its document-lifetime root
|
|
6
6
|
* and its existing navigation cleanup semantics.
|
|
7
7
|
*/
|
package/eject/footer/footer.tsx
CHANGED
|
@@ -143,7 +143,7 @@ export function Footer(props: FooterProps): Child {
|
|
|
143
143
|
class="text-caption text-muted hover:text-accent hover:underline focus-visible:text-accent focus-visible:underline"
|
|
144
144
|
>
|
|
145
145
|
#{tag}
|
|
146
|
-
<span class="opacity-60" aria-hidden="true">
|
|
146
|
+
<span data-zd-tag-count class="opacity-60" aria-hidden="true">
|
|
147
147
|
({count})
|
|
148
148
|
</span>
|
|
149
149
|
</a>
|