astryx-dracula 0.5.0 → 0.6.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/BRAND.md +3 -3
- package/README.md +7 -4
- package/USAGE.md +49 -49
- package/astryx-dracula.d.ts +2 -2
- package/astryx-dracula.js +25 -9
- package/astryx-dracula.variants.d.ts +2 -2
- package/astryx.integration.mjs +1 -1
- package/icons.mjs +21 -17
- package/icons.tsx +69 -62
- package/package.json +125 -120
- package/shared/auth-chrome-config.ts +6 -6
- package/shared/auth-chrome.tsx +143 -144
- package/shared/auth-copy.ts +14 -14
- package/shared/chaptered-doc-config.ts +48 -51
- package/shared/chaptered-doc.tsx +267 -289
- package/shared/chart-hues.ts +25 -10
- package/shared/chart-labels.tsx +31 -30
- package/shared/chart-legend.tsx +55 -56
- package/shared/chart-panel-style.ts +3 -3
- package/shared/data-bar.tsx +97 -102
- package/shared/format-money.ts +1 -1
- package/shared/gallery-image.ts +6 -6
- package/shared/login-demo.ts +1 -1
- package/shared/metric-card.tsx +101 -105
- package/shared/metric-delta.tsx +28 -27
- package/shared/order-desk.tsx +205 -216
- package/shared/revenue-chart.tsx +145 -165
- package/shared/scene-castle.tsx +206 -291
- package/shared/scene-frame.tsx +33 -32
- package/shared/scene-hues.ts +17 -17
- package/shared/scene-tile.tsx +88 -92
- package/shared/settings-data.ts +119 -125
- package/shared/settings-rows.tsx +122 -159
- package/shared/sparkline.tsx +75 -88
- package/shared/sso-icons.tsx +10 -22
- package/shared/stars.tsx +16 -25
- package/templates/ai-chat-landing.template.mjs +5 -4
- package/templates/ai-chat-landing.tsx +473 -460
- package/templates/ai-chat.template.mjs +5 -4
- package/templates/ai-chat.tsx +543 -612
- package/templates/blank.template.mjs +5 -4
- package/templates/blank.tsx +18 -14
- package/templates/centered-hero.template.mjs +5 -4
- package/templates/centered-hero.tsx +55 -68
- package/templates/classic-gallery.template.mjs +5 -4
- package/templates/classic-gallery.tsx +97 -104
- package/templates/contact-form.template.mjs +5 -4
- package/templates/contact-form.tsx +247 -282
- package/templates/dashboard-portfolio.template.mjs +5 -4
- package/templates/dashboard-portfolio.tsx +717 -548
- package/templates/dashboard.template.mjs +5 -4
- package/templates/dashboard.tsx +596 -567
- package/templates/detail-page.template.mjs +5 -4
- package/templates/detail-page.tsx +546 -603
- package/templates/documentation-design.template.mjs +5 -4
- package/templates/documentation-design.tsx +231 -243
- package/templates/documentation-technical.template.mjs +5 -4
- package/templates/documentation-technical.tsx +236 -239
- package/templates/documentation.template.mjs +5 -4
- package/templates/documentation.tsx +267 -279
- package/templates/editor.template.mjs +5 -4
- package/templates/editor.tsx +844 -877
- package/templates/file-explorer.template.mjs +5 -4
- package/templates/file-explorer.tsx +566 -590
- package/templates/form-two-column.template.mjs +5 -4
- package/templates/form-two-column.tsx +195 -210
- package/templates/gallery-hero.template.mjs +5 -4
- package/templates/gallery-hero.tsx +93 -114
- package/templates/ide.template.mjs +5 -4
- package/templates/ide.tsx +407 -453
- package/templates/incident-console.template.mjs +5 -4
- package/templates/incident-console.tsx +593 -575
- package/templates/kanban-board.template.mjs +5 -4
- package/templates/kanban-board.tsx +665 -683
- package/templates/library.template.mjs +5 -4
- package/templates/library.tsx +409 -430
- package/templates/login-card.template.mjs +5 -4
- package/templates/login-card.tsx +63 -72
- package/templates/login-split.template.mjs +5 -4
- package/templates/login-split.tsx +192 -193
- package/templates/login-sso.template.mjs +5 -4
- package/templates/login-sso.tsx +257 -258
- package/templates/login.template.mjs +5 -4
- package/templates/login.tsx +53 -49
- package/templates/messaging-shell.template.mjs +5 -4
- package/templates/messaging-shell.tsx +556 -574
- package/templates/mixed-gallery.template.mjs +5 -4
- package/templates/mixed-gallery.tsx +60 -58
- package/templates/payment-form.template.mjs +5 -4
- package/templates/payment-form.tsx +882 -991
- package/templates/product-detail.template.mjs +5 -4
- package/templates/product-detail.tsx +261 -272
- package/templates/product-gallery.template.mjs +5 -4
- package/templates/product-gallery.tsx +126 -137
- package/templates/product-tour.template.mjs +5 -4
- package/templates/product-tour.tsx +741 -773
- package/templates/settings-dialog.template.mjs +5 -4
- package/templates/settings-dialog.tsx +688 -717
- package/templates/settings-sidebar.template.mjs +5 -4
- package/templates/settings-sidebar.tsx +762 -807
- package/templates/settings.template.mjs +5 -4
- package/templates/settings.tsx +289 -304
- package/templates/shell-nav.template.mjs +5 -4
- package/templates/shell-nav.tsx +212 -219
- package/templates/shell-side-nav.template.mjs +5 -4
- package/templates/shell-side-nav.tsx +135 -157
- package/templates/shell-top-nav.template.mjs +5 -4
- package/templates/shell-top-nav.tsx +182 -203
- package/templates/side-gallery.template.mjs +5 -4
- package/templates/side-gallery.tsx +85 -90
- package/templates/table-grouped.template.mjs +5 -4
- package/templates/table-grouped.tsx +1000 -1053
- package/templates/table-page-chart.template.mjs +5 -4
- package/templates/table-page-chart.tsx +400 -398
- package/templates/table-page-heatmap-status.template.mjs +5 -4
- package/templates/table-page-heatmap-status.tsx +483 -512
- package/templates/table-page-shoe-store-heatmap.template.mjs +5 -4
- package/templates/table-page-shoe-store-heatmap.tsx +748 -746
- package/templates/table-page.template.mjs +5 -4
- package/templates/table-page.tsx +396 -405
- package/templates/table.template.mjs +5 -4
- package/templates/table.tsx +92 -93
- package/templates/tech-report.template.mjs +5 -4
- package/templates/tech-report.tsx +1316 -1304
- package/templates/theme-showcase.template.mjs +5 -4
- package/templates/theme-showcase.tsx +871 -951
- package/theme.css +35 -77
- package/theme.css.d.ts +9 -0
- package/tokens.css +373 -380
package/tokens.css
CHANGED
|
@@ -8,13 +8,16 @@
|
|
|
8
8
|
* paragraph #B0B3C4 and base-muted #8288A6 are same-hue lifts, #4C5067
|
|
9
9
|
* (subdue) is chrome only and never text, and theme.css adds #FFD5CC as the
|
|
10
10
|
* pale inverted error surface. Do not revert any of them to spec hexes.
|
|
11
|
-
* Two categorical data hues are
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
11
|
+
* Two categorical data hues are excluded from the CHART palette: `brown` (was
|
|
12
|
+
* byte-identical to orange, and a categorical series set is a palette where
|
|
13
|
+
* distinctness IS the contract) and `purple` (purple means tappable, never
|
|
14
|
+
* data). That exclusion is a MODULE rule — `shared/chart-hues.ts` is
|
|
15
|
+
* purple-free by construction — so the SEQUENTIAL `--color-data-purple-1..5`
|
|
16
|
+
* ramp below SURVIVES and is sanctioned. The two TOKENS are still defined
|
|
17
|
+
* below, on-brand, because core 0.7.x moved the canonical data-colour defaults
|
|
18
|
+
* out of CSS entirely: a theme that wants a name to exist must author it, and
|
|
19
|
+
* this one authors it on-palette so nothing off-brand can ship. Rationale
|
|
20
|
+
* lives in astryx-theme.ts.
|
|
18
21
|
* `--color-data-teal-1..5` derives off `--color-data-categorical-teal` (#A4FFFF,
|
|
19
22
|
* an ANSI bright, not a spec token) rather than spec Cyan #8BE9FD; provenance
|
|
20
23
|
* fix only, nothing renders the ramp today (HeatScale is shamrock).
|
|
@@ -24,19 +27,19 @@
|
|
|
24
27
|
* Fonts: copy `fonts/` to your app's served static dir (Vite: `public/fonts/`). */
|
|
25
28
|
|
|
26
29
|
@font-face {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
font-family: "JetBrains Mono";
|
|
31
|
+
font-style: normal;
|
|
32
|
+
font-weight: 400;
|
|
33
|
+
font-display: swap;
|
|
34
|
+
src: url("/astryx-dracula/fonts/JetBrainsMono-Regular.woff2") format("woff2");
|
|
32
35
|
}
|
|
33
36
|
|
|
34
37
|
@font-face {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
font-family: "JetBrains Mono";
|
|
39
|
+
font-style: normal;
|
|
40
|
+
font-weight: 600;
|
|
41
|
+
font-display: swap;
|
|
42
|
+
src: url("/astryx-dracula/fonts/JetBrainsMono-SemiBold.woff2") format("woff2");
|
|
40
43
|
}
|
|
41
44
|
|
|
42
45
|
/* Canvas: the document scroller's track is transparent, so the unpainted
|
|
@@ -45,306 +48,334 @@
|
|
|
45
48
|
* page read as one surface. */
|
|
46
49
|
html,
|
|
47
50
|
body {
|
|
48
|
-
|
|
51
|
+
background-color: #282a36;
|
|
49
52
|
}
|
|
50
53
|
|
|
51
54
|
/* Full plain-CSS mirror of astryx-theme.ts (frozen dark slots). Edit the theme,
|
|
52
55
|
* not this file, then re-mirror. Unlayered by design so it beats core layers;
|
|
53
56
|
* zero !important anywhere. */
|
|
54
57
|
:root {
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
color-scheme: dark;
|
|
59
|
+
background-color: #282a36;
|
|
57
60
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
61
|
+
--dracula-bg: #282a36;
|
|
62
|
+
--dracula-current-line: #6272a4;
|
|
63
|
+
--dracula-selection: #44475a;
|
|
64
|
+
--dracula-fg: #f8f8f2;
|
|
65
|
+
--dracula-comment: #6272a4;
|
|
66
|
+
--dracula-cyan: #8be9fd;
|
|
67
|
+
--dracula-green: #50fa7b;
|
|
68
|
+
--dracula-orange: #ffb86c;
|
|
69
|
+
--dracula-pink: #ff79c6;
|
|
70
|
+
--dracula-purple: #bd93f9;
|
|
71
|
+
--dracula-red: #ff5555;
|
|
72
|
+
--dracula-yellow: #f1fa8c;
|
|
73
|
+
--dracula-bg-light: #343746;
|
|
74
|
+
--dracula-bg-lighter: #424450;
|
|
75
|
+
--dracula-bg-dark: #21222c;
|
|
76
|
+
--dracula-functional-red: #de5735;
|
|
77
|
+
--dracula-functional-orange: #a39514;
|
|
78
|
+
--dracula-functional-green: #089108;
|
|
79
|
+
--dracula-functional-cyan: #0081d6;
|
|
80
|
+
--dracula-functional-purple: #815cd6;
|
|
78
81
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
82
|
+
--space-gap: 24px;
|
|
83
|
+
--space-viewport: 16px;
|
|
84
|
+
--widget-content-vertical: 15px;
|
|
85
|
+
--widget-content-horizontal: 16px;
|
|
86
|
+
--widget-gap: 24px;
|
|
87
|
+
--tile-row: 96px;
|
|
88
|
+
--border-radius: 5px;
|
|
89
|
+
--radius-element: 5px;
|
|
90
|
+
--radius-inner: 4px;
|
|
91
|
+
--radius-container: 5px;
|
|
92
|
+
--radius-page: 5px;
|
|
93
|
+
--radius-chat: 5px;
|
|
94
|
+
--font-family-mono: "JetBrains Mono", ui-monospace, monospace;
|
|
95
|
+
--font-family-body: "JetBrains Mono", monospace;
|
|
96
|
+
--font-family-heading: "JetBrains Mono", monospace;
|
|
97
|
+
--font-family-code: "JetBrains Mono", monospace;
|
|
98
|
+
--font-weight-normal: 400;
|
|
99
|
+
--font-weight-medium: 500;
|
|
100
|
+
--font-weight-semibold: 600;
|
|
101
|
+
--font-weight-bold: 700;
|
|
102
|
+
--font-size-4xs: 0.375rem;
|
|
103
|
+
--font-size-3xs: 0.4375rem;
|
|
104
|
+
--font-size-2xs: 0.5rem;
|
|
105
|
+
--font-size-xs: 0.625rem;
|
|
106
|
+
--font-size-sm: 0.75rem;
|
|
107
|
+
--font-size-base: 14px;
|
|
108
|
+
--font-size-lg: 1.0625rem;
|
|
109
|
+
--font-size-xl: 1.25rem;
|
|
110
|
+
--font-size-2xl: 1.5rem;
|
|
111
|
+
--font-size-3xl: 1.8125rem;
|
|
112
|
+
--font-size-4xl: 2.1875rem;
|
|
113
|
+
--font-size-5xl: 2.625rem;
|
|
114
|
+
--font-size-h1: 24px;
|
|
115
|
+
--font-size-h2: 20px;
|
|
116
|
+
--font-size-h3: 16px;
|
|
117
|
+
--font-size-h4: 14px;
|
|
118
|
+
--font-size-h5: 13px;
|
|
119
|
+
--font-size-h6: 12px;
|
|
120
|
+
--text-heading-1-size: var(--font-size-2xl);
|
|
121
|
+
--text-heading-1-weight: var(--font-weight-normal);
|
|
122
|
+
--text-heading-1-leading: 1.3333;
|
|
123
|
+
--text-heading-2-size: var(--font-size-xl);
|
|
124
|
+
--text-heading-2-weight: var(--font-weight-normal);
|
|
125
|
+
--text-heading-2-leading: 1.4;
|
|
126
|
+
--text-heading-3-size: var(--font-size-lg);
|
|
127
|
+
--text-heading-3-weight: var(--font-weight-normal);
|
|
128
|
+
--text-heading-3-leading: 1.4118;
|
|
129
|
+
--text-heading-4-size: var(--font-size-base);
|
|
130
|
+
--text-heading-4-weight: var(--font-weight-normal);
|
|
131
|
+
--text-heading-4-leading: 1.4286;
|
|
132
|
+
--text-heading-5-size: var(--font-size-sm);
|
|
133
|
+
--text-heading-5-weight: var(--font-weight-normal);
|
|
134
|
+
--text-heading-5-leading: 1.6667;
|
|
135
|
+
--text-heading-6-size: var(--font-size-xs);
|
|
136
|
+
--text-heading-6-weight: var(--font-weight-normal);
|
|
137
|
+
--text-heading-6-leading: 1.6;
|
|
138
|
+
--text-body-size: var(--font-size-base);
|
|
139
|
+
--text-body-weight: var(--font-weight-normal);
|
|
140
|
+
--text-body-leading: 1.4286;
|
|
141
|
+
--text-large-size: var(--font-size-lg);
|
|
142
|
+
--text-large-weight: var(--font-weight-semibold);
|
|
143
|
+
--text-large-leading: 1.4118;
|
|
144
|
+
--text-label-size: var(--font-size-base);
|
|
145
|
+
--text-label-weight: var(--font-weight-semibold);
|
|
146
|
+
--text-label-leading: 1.4286;
|
|
147
|
+
--text-code-size: var(--font-size-base);
|
|
148
|
+
--text-code-weight: var(--font-weight-normal);
|
|
149
|
+
--text-code-leading: 1.4286;
|
|
150
|
+
--text-supporting-size: var(--font-size-sm);
|
|
151
|
+
--text-supporting-weight: var(--font-weight-normal);
|
|
152
|
+
--text-supporting-leading: 1.6667;
|
|
153
|
+
--text-display-1-size: var(--font-size-5xl);
|
|
154
|
+
--text-display-1-weight: var(--font-weight-normal);
|
|
155
|
+
--text-display-1-leading: 1.2381;
|
|
156
|
+
--text-display-2-size: var(--font-size-4xl);
|
|
157
|
+
--text-display-2-weight: var(--font-weight-normal);
|
|
158
|
+
--text-display-2-leading: 1.2571;
|
|
159
|
+
--text-display-3-size: var(--font-size-3xl);
|
|
160
|
+
--text-display-3-weight: var(--font-weight-normal);
|
|
161
|
+
--text-display-3-leading: 1.3793;
|
|
162
|
+
--duration-fast-min: 130ms;
|
|
163
|
+
--duration-fast: 175ms;
|
|
164
|
+
--duration-fast-max: 235ms;
|
|
165
|
+
--duration-medium-min: 310ms;
|
|
166
|
+
--duration-medium: 410ms;
|
|
167
|
+
--duration-medium-max: 545ms;
|
|
168
|
+
--duration-slow-min: 730ms;
|
|
169
|
+
--duration-slow: 975ms;
|
|
170
|
+
--duration-slow-max: 1300ms;
|
|
171
|
+
--ease-standard: cubic-bezier(0.24, 1, 0.4, 1);
|
|
172
|
+
--shadow-low: 0 2px 4px #191a210d, 0 4px 8px #191a211a;
|
|
173
|
+
--shadow-med: 0 2px 4px #191a210d, 0 4px 12px #191a211a;
|
|
174
|
+
--shadow-high: 0 4px 6px #191a211a, 0 12px 24px #191a2126;
|
|
175
|
+
--shadow-inset-hover: inset 0px 0px 0px 2px #6272a430;
|
|
176
|
+
--shadow-inset-selected: inset 0px 0px 0px 2px #bd93f930;
|
|
177
|
+
--shadow-inset-success: inset 0px 0px 0px 2px #50fa7b30;
|
|
178
|
+
--shadow-inset-warning: inset 0px 0px 0px 2px #f1fa8c30;
|
|
179
|
+
--shadow-inset-error: inset 0px 0px 0px 2px #ff555530;
|
|
177
180
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
181
|
+
--color-background-body: #282a36;
|
|
182
|
+
--color-background: var(--color-background-body);
|
|
183
|
+
--color-background-surface: #343746;
|
|
184
|
+
--color-background-card: #343746;
|
|
185
|
+
--color-background-popover: #424450;
|
|
186
|
+
--color-background-muted: #44475a;
|
|
187
|
+
--color-background-inverted: #f8f8f2;
|
|
188
|
+
--color-background-error-inverted: #ffd5cc;
|
|
189
|
+
--color-overlay: #191a21cc;
|
|
190
|
+
--color-overlay-hover: #0000001f;
|
|
191
|
+
--color-overlay-pressed: #00000033;
|
|
192
|
+
--color-border: #6272a4;
|
|
193
|
+
--color-border-emphasized: #9aa1bc;
|
|
194
|
+
--color-neutral: #f8f8f21a;
|
|
195
|
+
--color-tint-hover: #ffffff;
|
|
196
|
+
--color-on-dark: #f8f8f2;
|
|
197
|
+
--color-on-light: #000000;
|
|
198
|
+
--color-shadow: #21222c;
|
|
199
|
+
--color-track: #6272a4;
|
|
200
|
+
--color-skeleton: #6272a4;
|
|
201
|
+
--color-accent: #bd93f9;
|
|
202
|
+
--color-success: #50fa7b;
|
|
203
|
+
--color-error: #ff5555;
|
|
204
|
+
--color-warning: #f1fa8c;
|
|
205
|
+
--color-info: #8be9fd;
|
|
206
|
+
--color-accent-muted: var(--color-background-purple);
|
|
207
|
+
--color-success-muted: var(--color-background-green);
|
|
208
|
+
--color-warning-muted: var(--color-background-yellow);
|
|
209
|
+
--color-error-muted: var(--color-background-red);
|
|
210
|
+
--color-info-muted: var(--color-background-cyan);
|
|
211
|
+
--color-text-primary: #f8f8f2;
|
|
212
|
+
--color-text-secondary: #9aa1bc;
|
|
213
|
+
--color-text-disabled: #6272a4;
|
|
214
|
+
--color-text-accent: #bd93f9;
|
|
215
|
+
--color-text-highlight: #f8f8f2;
|
|
216
|
+
--color-text-paragraph: #b0b3c4;
|
|
217
|
+
--color-text-base: #9aa1bc;
|
|
218
|
+
--color-text-base-muted: #8288a6;
|
|
219
|
+
--color-text-subdue: #4c5067;
|
|
220
|
+
--color-icon-primary: #f8f8f2;
|
|
221
|
+
--color-icon-secondary: #9aa1bc;
|
|
222
|
+
--color-icon-disabled: #6272a4;
|
|
223
|
+
--color-icon-accent: #bd93f9;
|
|
224
|
+
--color-on-accent: #21222c;
|
|
225
|
+
--color-on-success: #21222c;
|
|
226
|
+
--color-on-warning: #21222c;
|
|
227
|
+
--color-on-error: #21222c;
|
|
228
|
+
--color-on-info: #21222c;
|
|
229
|
+
--color-functional-red: #de5735;
|
|
230
|
+
--color-functional-orange: #a39514;
|
|
231
|
+
--color-functional-green: #089108;
|
|
232
|
+
--color-functional-cyan: #0081d6;
|
|
233
|
+
--color-functional-purple: #815cd6;
|
|
234
|
+
--color-background-blue: #6272a41a;
|
|
235
|
+
--color-border-blue: #6272a44d;
|
|
236
|
+
--color-icon-blue: #6272a4;
|
|
237
|
+
--color-text-blue: #6272a4;
|
|
238
|
+
--color-background-cyan: #8be9fd1a;
|
|
239
|
+
--color-border-cyan: #8be9fd4d;
|
|
240
|
+
--color-icon-cyan: #8be9fd;
|
|
241
|
+
--color-text-cyan: #8be9fd;
|
|
242
|
+
--color-background-gray: #9aa1bc1a;
|
|
243
|
+
--color-border-gray: #9aa1bc4d;
|
|
244
|
+
--color-icon-gray: #9aa1bc;
|
|
245
|
+
--color-text-gray: #9aa1bc;
|
|
246
|
+
--color-background-green: #50fa7b1a;
|
|
247
|
+
--color-border-green: #50fa7b4d;
|
|
248
|
+
--color-icon-green: #50fa7b;
|
|
249
|
+
--color-text-green: #50fa7b;
|
|
250
|
+
--color-background-orange: #ffb86c1a;
|
|
251
|
+
--color-border-orange: #ffb86c4d;
|
|
252
|
+
--color-icon-orange: #ffb86c;
|
|
253
|
+
--color-text-orange: #ffb86c;
|
|
254
|
+
--color-background-pink: #ff79c61a;
|
|
255
|
+
--color-border-pink: #ff79c64d;
|
|
256
|
+
--color-icon-pink: #ff79c6;
|
|
257
|
+
--color-text-pink: #ff79c6;
|
|
258
|
+
--color-background-purple: #bd93f91a;
|
|
259
|
+
--color-border-purple: #bd93f94d;
|
|
260
|
+
--color-icon-purple: #bd93f9;
|
|
261
|
+
--color-text-purple: #bd93f9;
|
|
262
|
+
--color-background-red: #ff55551a;
|
|
263
|
+
--color-border-red: #ff55554d;
|
|
264
|
+
--color-icon-red: #ff5555;
|
|
265
|
+
--color-text-red: #ff5555;
|
|
266
|
+
--color-background-teal: #a4ffff1a;
|
|
267
|
+
--color-border-teal: #a4ffff4d;
|
|
268
|
+
--color-icon-teal: #a4ffff;
|
|
269
|
+
--color-text-teal: #a4ffff;
|
|
270
|
+
--color-background-yellow: #f1fa8c1a;
|
|
271
|
+
--color-border-yellow: #f1fa8c4d;
|
|
272
|
+
--color-icon-yellow: #f1fa8c;
|
|
273
|
+
--color-text-yellow: #f1fa8c;
|
|
274
|
+
--color-data-categorical-blue: #6272a4;
|
|
275
|
+
--color-data-categorical-orange: #ffb86c;
|
|
276
|
+
--color-data-categorical-green: #50fa7b;
|
|
277
|
+
--color-data-categorical-pink: #ff79c6;
|
|
278
|
+
--color-data-categorical-cyan: #8be9fd;
|
|
279
|
+
--color-data-categorical-red: #ff5555;
|
|
280
|
+
--color-data-categorical-teal: #a4ffff;
|
|
281
|
+
--color-data-categorical-indigo: #d6acff;
|
|
282
|
+
--color-data-categorical-purple: #bd93f9;
|
|
283
|
+
--color-data-categorical-brown: #ffb86c;
|
|
284
|
+
--color-data-neutral: #8c939b;
|
|
285
|
+
--color-data-purple-5: hsl(264.71 89.47% 28%);
|
|
286
|
+
--color-data-purple-4: hsl(264.71 89.47% 44%);
|
|
287
|
+
--color-data-purple-3: hsl(264.71 89.47% 60%);
|
|
288
|
+
--color-data-purple-2: hsl(264.71 89.47% 74%);
|
|
289
|
+
--color-data-purple-1: hsl(264.71 89.47% 88%);
|
|
290
|
+
--color-data-pink-5: hsl(325.52 100% 28%);
|
|
291
|
+
--color-data-pink-4: hsl(325.52 100% 44%);
|
|
292
|
+
--color-data-pink-3: hsl(325.52 100% 60%);
|
|
293
|
+
--color-data-pink-2: hsl(325.52 100% 74%);
|
|
294
|
+
--color-data-pink-1: hsl(325.52 100% 88%);
|
|
295
|
+
--color-data-red-5: hsl(0 100% 28%);
|
|
296
|
+
--color-data-red-4: hsl(0 100% 44%);
|
|
297
|
+
--color-data-red-3: hsl(0 100% 60%);
|
|
298
|
+
--color-data-red-2: hsl(0 100% 74%);
|
|
299
|
+
--color-data-red-1: hsl(0 100% 88%);
|
|
300
|
+
--color-data-orange-5: hsl(31.02 100% 28%);
|
|
301
|
+
--color-data-orange-4: hsl(31.02 100% 44%);
|
|
302
|
+
--color-data-orange-3: hsl(31.02 100% 60%);
|
|
303
|
+
--color-data-orange-2: hsl(31.02 100% 74%);
|
|
304
|
+
--color-data-orange-1: hsl(31.02 100% 88%);
|
|
305
|
+
--color-data-yellow-5: hsl(64.91 91.67% 28%);
|
|
306
|
+
--color-data-yellow-4: hsl(64.91 91.67% 44%);
|
|
307
|
+
--color-data-yellow-3: hsl(64.91 91.67% 60%);
|
|
308
|
+
--color-data-yellow-2: hsl(64.91 91.67% 74%);
|
|
309
|
+
--color-data-yellow-1: hsl(64.91 91.67% 88%);
|
|
310
|
+
--color-data-teal-5: hsl(180 100% 28%);
|
|
311
|
+
--color-data-teal-4: hsl(180 100% 44%);
|
|
312
|
+
--color-data-teal-3: hsl(180 100% 60%);
|
|
313
|
+
--color-data-teal-2: hsl(180 100% 74%);
|
|
314
|
+
--color-data-teal-1: hsl(180 100% 88%);
|
|
315
|
+
--color-data-blue-5: hsl(225.45 26.61% 28%);
|
|
316
|
+
--color-data-blue-4: hsl(225.45 26.61% 44%);
|
|
317
|
+
--color-data-blue-3: hsl(225.45 26.61% 60%);
|
|
318
|
+
--color-data-blue-2: hsl(225.45 26.61% 74%);
|
|
319
|
+
--color-data-blue-1: hsl(225.45 26.61% 88%);
|
|
320
|
+
--color-data-shamrock-5: hsl(135.18 94.44% 28%);
|
|
321
|
+
--color-data-shamrock-4: hsl(135.18 94.44% 44%);
|
|
322
|
+
--color-data-shamrock-3: hsl(135.18 94.44% 60%);
|
|
323
|
+
--color-data-shamrock-2: hsl(135.18 94.44% 74%);
|
|
324
|
+
--color-data-shamrock-1: hsl(135.18 94.44% 88%);
|
|
325
|
+
--color-data-gray-5: hsl(231.43 14.89% 28%);
|
|
326
|
+
--color-data-gray-4: hsl(231.43 14.89% 44%);
|
|
327
|
+
--color-data-gray-3: hsl(231.43 14.89% 60%);
|
|
328
|
+
--color-data-gray-2: hsl(231.43 14.89% 74%);
|
|
329
|
+
--color-data-gray-1: hsl(231.43 14.89% 88%);
|
|
330
|
+
--color-widget-background: #343746;
|
|
331
|
+
--color-widget-content-border: #6272a4;
|
|
332
|
+
--color-widget-background-highlight: #44475a;
|
|
333
|
+
--color-separator: #44475a;
|
|
334
|
+
--color-popover-background: #424450;
|
|
335
|
+
--color-popover-border: #6272a4;
|
|
336
|
+
--color-progress-border: #44475a;
|
|
337
|
+
--color-progress-value: #6272a4;
|
|
338
|
+
--color-vertical-progress-value: #6272a4;
|
|
339
|
+
--color-graph-gridlines: #44475a;
|
|
340
|
+
--color-widget-shadow: #21222c;
|
|
341
|
+
--color-current-line: #6272a4;
|
|
342
|
+
--color-selection: #44475a;
|
|
343
|
+
--color-primary: #bd93f9;
|
|
344
|
+
--color-positive: #50fa7b;
|
|
345
|
+
--color-negative: #ff5555;
|
|
346
|
+
--color-tag-orange: #ffb86c;
|
|
347
|
+
--color-tag-pink: #ff79c6;
|
|
348
|
+
--color-tag-cyan: #8be9fd;
|
|
349
|
+
--color-tag-yellow: #f1fa8c;
|
|
350
|
+
--color-tag-green: #50fa7b;
|
|
351
|
+
/* Syntax theme, mirrored from astryx-theme.ts's draculaSyntax map. Core
|
|
352
|
+
* 0.7.x emits NO --color-syntax-* defaults in CSS — the canonical values
|
|
353
|
+
* live in JS only — and core's highlighter uses them with no fallback, so
|
|
354
|
+
* a plain-CSS consumer that imports this file without theme.css would
|
|
355
|
+
* render an UNHIGHLIGHTED CodeBlock. These 19 slots close that gap; the
|
|
356
|
+
* five diff slots are the 0.7.1 diff layer and derive from Dracula's
|
|
357
|
+
* green/red rather than being Dracula spec tokens. */
|
|
358
|
+
--color-syntax-keyword: #ff79c6;
|
|
359
|
+
--color-syntax-string: #f1fa8c;
|
|
360
|
+
--color-syntax-comment: #6272a4;
|
|
361
|
+
--color-syntax-number: #ffb86c;
|
|
362
|
+
--color-syntax-function: #50fa7b;
|
|
363
|
+
--color-syntax-type: #8be9fd;
|
|
364
|
+
--color-syntax-variable: #f8f8f2;
|
|
365
|
+
--color-syntax-operator: #ff79c6;
|
|
366
|
+
--color-syntax-constant: #bd93f9;
|
|
367
|
+
--color-syntax-tag: #ff79c6;
|
|
368
|
+
--color-syntax-attribute: #50fa7b;
|
|
369
|
+
--color-syntax-property: #f8f8f2;
|
|
370
|
+
--color-syntax-punctuation: #f8f8f2;
|
|
371
|
+
--color-syntax-background: #282a36;
|
|
372
|
+
--color-syntax-added: #50fa7b26;
|
|
373
|
+
--color-syntax-removed: #ff555526;
|
|
374
|
+
--color-syntax-diff-header: #44475a;
|
|
375
|
+
--color-syntax-added-marker: #50fa7b;
|
|
376
|
+
--color-syntax-removed-marker: #ff5555;
|
|
377
|
+
--color-tag-purple: #bd93f9;
|
|
378
|
+
/* Renamed in 0.3.0 from `tag-blue`, which held this same #BD93F9. Dracula
|
|
348
379
|
* has no blue; Purple is what the rest of the kit already uses for a fourth
|
|
349
380
|
* accent, so the VALUE was right and the NAME was the lie. Renamed rather
|
|
350
381
|
* than repinned, because a `blue` tag that paints purple is wrong in a way
|
|
@@ -387,72 +418,35 @@ body {
|
|
|
387
418
|
* rules cannot be verified there. Check them in a real Chrome against
|
|
388
419
|
* /templates and /bento: resting thumb Current Line, hover Purple. */
|
|
389
420
|
@supports (scrollbar-color: auto) and (not (-webkit-hyphens: none)) {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
421
|
+
:root {
|
|
422
|
+
scrollbar-color: var(--dracula-current-line) transparent;
|
|
423
|
+
}
|
|
393
424
|
}
|
|
394
425
|
|
|
395
426
|
@supports selector(::-webkit-scrollbar) {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
427
|
+
*::-webkit-scrollbar {
|
|
428
|
+
width: 10px;
|
|
429
|
+
height: 10px;
|
|
430
|
+
background: transparent;
|
|
431
|
+
}
|
|
401
432
|
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
433
|
+
*::-webkit-scrollbar-track,
|
|
434
|
+
*::-webkit-scrollbar-corner {
|
|
435
|
+
background: transparent;
|
|
436
|
+
}
|
|
406
437
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
438
|
+
*::-webkit-scrollbar-thumb {
|
|
439
|
+
background-color: var(--dracula-current-line);
|
|
440
|
+
border-radius: 5px;
|
|
441
|
+
border: 2px solid transparent;
|
|
442
|
+
background-clip: content-box;
|
|
443
|
+
}
|
|
413
444
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
/* A resizable SideNav reports exactly 1px of horizontal overflow: the resize
|
|
422
|
-
* handle renders 1px wider than its own box, and the side-nav panel scrolls
|
|
423
|
-
* both axes, so a permanent horizontal scrollbar paints under the rail even
|
|
424
|
-
* though nothing overflows visually. Clip the offending pixel on the handle
|
|
425
|
-
* itself rather than on the panel: a collapsed rail renders its child popovers
|
|
426
|
-
* as descendants of that panel, and they only escape the clip because their
|
|
427
|
-
* root happens to be position:fixed. Clipping the panel would break them the
|
|
428
|
-
* day an ancestor gains a transform. The handle contains nothing but its pill,
|
|
429
|
-
* which sits inside its box, so clipping it costs nothing. Needed until the
|
|
430
|
-
* resize handle stops reporting the extra pixel. Re-verified against
|
|
431
|
-
* @astryxdesign/core 0.3.0: without the clip the hit area's half-pixel inline
|
|
432
|
-
* shift leaves content at 300.5px in a 300px rail, and the LayoutPanel
|
|
433
|
-
* (overflow:auto on both axes) reports scrollWidth 301 > 300 — the permanent
|
|
434
|
-
* bar is back. Keep. */
|
|
435
|
-
.astryx-app-shell-sidenav .astryx-resize-handle {
|
|
436
|
-
overflow: hidden;
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
/* Astryx leaves the resize handle's drag surface translated -50% along the
|
|
440
|
-
* block axis without ever positioning it at top:50%, so it spans only the TOP
|
|
441
|
-
* HALF of the rail: the pointer reads col-resize and dragging works above the
|
|
442
|
-
* midpoint, and nothing at all happens below it, even though the pill is drawn
|
|
443
|
-
* straddling that boundary. The pill sibling carries a correct top:50%, which
|
|
444
|
-
* is exactly what the drag surface is missing. Re-verified against
|
|
445
|
-
* @astryxdesign/core 0.3.0: hitAreaHorizontal is still top:0/bottom:0 while
|
|
446
|
-
* hitAreaOffsetX translates Y by -50%, so without this the drag surface spans
|
|
447
|
-
* [-50%,+50%] of the rail and the bottom half is dead (elementFromPoint hits
|
|
448
|
-
* the handle, which has no pointer handler). Upstream workaround; drop it if
|
|
449
|
-
* the component starts positioning its own hit area. */
|
|
450
|
-
.astryx-app-shell-sidenav
|
|
451
|
-
.astryx-resize-handle
|
|
452
|
-
> :not(.astryx-resize-handle-pill) {
|
|
453
|
-
top: 50%;
|
|
454
|
-
bottom: auto;
|
|
455
|
-
height: 100%;
|
|
445
|
+
*::-webkit-scrollbar-thumb:hover {
|
|
446
|
+
background-color: var(--dracula-purple);
|
|
447
|
+
border: 2px solid transparent;
|
|
448
|
+
background-clip: content-box;
|
|
449
|
+
}
|
|
456
450
|
}
|
|
457
451
|
|
|
458
452
|
/* Everything below this line is UNLAYERED on purpose, and that is load-bearing,
|
|
@@ -486,17 +480,17 @@ body {
|
|
|
486
480
|
* carousel relies on a layered `scrollbar-width: none` to hide its bar and a
|
|
487
481
|
* universal rule here would un-hide it (the one scrollbar-width in the stack). */
|
|
488
482
|
@media (prefers-reduced-motion: reduce) {
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
483
|
+
*,
|
|
484
|
+
*::before,
|
|
485
|
+
*::after {
|
|
486
|
+
animation-duration: 0.01ms;
|
|
487
|
+
animation-iteration-count: 1;
|
|
488
|
+
transition-duration: 0.01ms;
|
|
489
|
+
}
|
|
496
490
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
491
|
+
html {
|
|
492
|
+
scroll-behavior: auto;
|
|
493
|
+
}
|
|
500
494
|
}
|
|
501
495
|
|
|
502
496
|
/* Sticky-header focus and in-page anchor offset. AppShell in `auto` mode pins
|
|
@@ -519,6 +513,5 @@ body {
|
|
|
519
513
|
* correct at every viewport width and in both AppShell modes — with
|
|
520
514
|
* `--spacing-8` only as the fallback for pages that have no sticky header at all. */
|
|
521
515
|
:where(:focus-visible, h1, h2, h3, h4, [id]) {
|
|
522
|
-
|
|
523
|
-
var(--space-viewport);
|
|
516
|
+
scroll-margin-block: var(--appshell-header-height, var(--spacing-8)) var(--space-viewport);
|
|
524
517
|
}
|