astryx-dracula 0.6.2 → 0.7.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.
Files changed (59) hide show
  1. package/BRAND.md +54 -3
  2. package/README.md +11 -4
  3. package/USAGE.md +1 -1
  4. package/astryx-dracula.d.ts +2 -2
  5. package/astryx-dracula.js +26 -4
  6. package/astryx-dracula.variants.d.ts +2 -2
  7. package/package.json +11 -11
  8. package/shared/auth-chrome-config.ts +0 -4
  9. package/shared/auth-chrome.tsx +2 -3
  10. package/shared/chaptered-doc-config.ts +3 -2
  11. package/shared/order-desk.tsx +52 -54
  12. package/shared/revenue-chart.tsx +1 -1
  13. package/shared/scene-castle.tsx +21 -13
  14. package/templates/ai-chat-landing.tsx +6 -9
  15. package/templates/ai-chat.tsx +5 -1
  16. package/templates/centered-hero.tsx +2 -2
  17. package/templates/classic-gallery.tsx +5 -0
  18. package/templates/contact-form.tsx +9 -0
  19. package/templates/dashboard-portfolio.tsx +17 -4
  20. package/templates/dashboard.tsx +5 -5
  21. package/templates/detail-page.tsx +20 -28
  22. package/templates/documentation-design.tsx +3 -0
  23. package/templates/documentation-technical.tsx +8 -5
  24. package/templates/documentation.tsx +13 -6
  25. package/templates/form-two-column.tsx +11 -2
  26. package/templates/form-wizard.template.mjs +15 -0
  27. package/templates/form-wizard.tsx +878 -0
  28. package/templates/gallery-hero.tsx +10 -4
  29. package/templates/ide.tsx +177 -96
  30. package/templates/incident-console.tsx +15 -5
  31. package/templates/kanban-board.tsx +46 -4
  32. package/templates/library.tsx +12 -3
  33. package/templates/login-split.tsx +3 -3
  34. package/templates/login-sso.tsx +9 -17
  35. package/templates/messaging-shell.tsx +109 -46
  36. package/templates/mixed-gallery.tsx +6 -0
  37. package/templates/payment-form.tsx +29 -28
  38. package/templates/product-detail.tsx +12 -3
  39. package/templates/product-gallery.tsx +8 -3
  40. package/templates/product-tour.tsx +11 -7
  41. package/templates/settings-dialog.tsx +5 -0
  42. package/templates/settings-sidebar.tsx +603 -584
  43. package/templates/settings.tsx +5 -2
  44. package/templates/shell-nav.tsx +23 -3
  45. package/templates/shell-side-nav.tsx +94 -81
  46. package/templates/shell-top-nav.tsx +98 -86
  47. package/templates/table-grouped.tsx +146 -132
  48. package/templates/{table-page-shoe-store-heatmap.template.mjs → table-page-shoe-store.template.mjs} +1 -1
  49. package/templates/{table-page-shoe-store-heatmap.tsx → table-page-shoe-store.tsx} +1 -1
  50. package/templates/table-page.tsx +8 -0
  51. package/templates/table-tree.template.mjs +16 -0
  52. package/templates/table-tree.tsx +707 -0
  53. package/templates/tech-report.tsx +8 -5
  54. package/templates/theme-showcase.tsx +18 -11
  55. package/templates/work-item-detail.template.mjs +8 -0
  56. package/templates/work-item-detail.tsx +1049 -0
  57. package/theme.css +38 -3
  58. package/theme.css.d.ts +2 -2
  59. package/tokens.css +41 -4
package/theme.css CHANGED
@@ -2,8 +2,8 @@
2
2
  * @generated by `astryx theme build` — do not edit manually.
3
3
  * Source: astryx-theme.ts
4
4
  * Command: astryx theme build astryx-theme.ts --out theme.css
5
- * CLI: @astryxdesign/cli@0.7.2
6
- * Core: @astryxdesign/core@0.7.2
5
+ * CLI: @astryxdesign/cli@0.7.10
6
+ * Core: @astryxdesign/core@0.7.10
7
7
  */
8
8
 
9
9
  @layer reset, astryx-base, astryx-theme;
@@ -149,6 +149,18 @@
149
149
  --duration-slow-min: 730ms;
150
150
  --duration-slow: 975ms;
151
151
  --duration-slow-max: 1300ms;
152
+ --_astryx-pre-tempo-duration-fast-min: 130ms;
153
+ --_astryx-pre-tempo-duration-fast: 175ms;
154
+ --_astryx-pre-tempo-duration-fast-max: 235ms;
155
+ --_astryx-pre-tempo-duration-medium-min: 310ms;
156
+ --_astryx-pre-tempo-duration-medium: 410ms;
157
+ --_astryx-pre-tempo-duration-medium-max: 545ms;
158
+ --_astryx-pre-tempo-duration-slow-min: 730ms;
159
+ --_astryx-pre-tempo-duration-slow: 975ms;
160
+ --_astryx-pre-tempo-duration-slow-max: 1300ms;
161
+ --_astryx-motion-tempo: 1;
162
+ --ease-entrance: cubic-bezier(0.24, 1, 0.4, 1);
163
+ --ease-move: cubic-bezier(0.24, 1, 0.4, 1);
152
164
  --font-family-body: "JetBrains Mono", monospace;
153
165
  --font-family-heading: "JetBrains Mono", monospace;
154
166
  --font-family-code: "JetBrains Mono", monospace;
@@ -214,7 +226,7 @@
214
226
  --color-background-surface: light-dark(#343746, #343746);
215
227
  --color-background-card: light-dark(#343746, #343746);
216
228
  --color-background-popover: light-dark(#424450, #424450);
217
- --color-background-muted: light-dark(#44475A, #44475A);
229
+ --color-background-muted: light-dark(#21222C, #21222C);
218
230
  --color-overlay: light-dark(#191A21CC, #191A21CC);
219
231
  --color-overlay-hover: light-dark(#0000001F, #0000001F);
220
232
  --color-overlay-pressed: light-dark(#00000033, #00000033);
@@ -229,6 +241,14 @@
229
241
  --color-text-secondary: light-dark(#9AA1BC, #9AA1BC);
230
242
  --color-text-disabled: light-dark(#6272A4, #6272A4);
231
243
  --color-text-accent: light-dark(#BD93F9, #BD93F9);
244
+ --color-text-info: light-dark(#8BE9FD, #8BE9FD);
245
+ --color-text-success: light-dark(#50FA7B, #50FA7B);
246
+ --color-text-warning: light-dark(#F1FA8C, #F1FA8C);
247
+ --color-text-error: light-dark(#FF7575, #FF7575);
248
+ --color-on-info-muted: light-dark(#8BE9FD, #8BE9FD);
249
+ --color-on-success-muted: light-dark(#50FA7B, #50FA7B);
250
+ --color-on-warning-muted: light-dark(#F1FA8C, #F1FA8C);
251
+ --color-on-error-muted: light-dark(#FF7575, #FF7575);
232
252
  --color-icon-primary: light-dark(#F8F8F2, #F8F8F2);
233
253
  --color-icon-secondary: light-dark(#9AA1BC, #9AA1BC);
234
254
  --color-icon-disabled: light-dark(#6272A4, #6272A4);
@@ -369,6 +389,15 @@
369
389
  --color-tag-yellow: light-dark(#F1FA8C, #F1FA8C);
370
390
  --color-tag-green: light-dark(#50FA7B, #50FA7B);
371
391
  --color-tag-purple: light-dark(#BD93F9, #BD93F9);
392
+ --color-icon-info: var(--color-text-info);
393
+ --color-icon-success: var(--color-text-success);
394
+ --color-icon-warning: var(--color-text-warning);
395
+ --color-icon-error: var(--color-text-error);
396
+ --color-border-info: var(--color-text-info);
397
+ --color-border-success: var(--color-text-success);
398
+ --color-border-warning: var(--color-text-warning);
399
+ --color-border-error: var(--color-text-error);
400
+ --duration-exit: var(--duration-fast);
372
401
  }
373
402
 
374
403
  :scope {
@@ -770,6 +799,12 @@
770
799
 
771
800
  .astryx-link[data-color="accent"] { color: var(--color-text-accent); }
772
801
 
802
+ .astryx-text[data-color="inherit"] { color: inherit; }
803
+
804
+ .astryx-heading[data-color="inherit"] { color: inherit; }
805
+
806
+ .astryx-link[data-color="inherit"] { color: inherit; }
807
+
773
808
  .astryx-text[data-size="4xs"] { font-size: var(--font-size-4xs); }
774
809
 
775
810
  .astryx-text[data-size="3xs"] { font-size: var(--font-size-3xs); }
package/theme.css.d.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  * @generated by `astryx theme build` — do not edit manually.
3
3
  * Source: astryx-theme.ts
4
4
  * Command: astryx theme build astryx-theme.ts --out theme.css
5
- * CLI: @astryxdesign/cli@0.7.2
6
- * Core: @astryxdesign/core@0.7.2
5
+ * CLI: @astryxdesign/cli@0.7.10
6
+ * Core: @astryxdesign/core@0.7.10
7
7
  */
8
8
 
9
9
  export {};
package/tokens.css CHANGED
@@ -1,13 +1,20 @@
1
1
  /* Astryx Styles — pure Dracula brand tokens.
2
2
  * Plain-CSS path: `@import './tokens.css'` then use var(--color-*) / var(--dracula-*) / var(--space-*).
3
3
  * This file is the pre-theme paint fallback. Values follow the Dracula spec UI
4
- * palette (Background Light #343746 surfaces, Selection #44475A quiet edges,
5
- * Current Line #6272A4 visible edges). Do not add new hexes here.
4
+ * palette (Background Light #343746 surfaces, Background Lighter #424450 floaters,
5
+ * Background Dark #21222C recessed wells, Current Line #6272A4 visible edges). Do not
6
+ * add new hexes here: every value
7
+ * below is one of the spec's four palettes (Syntax, ANSI, UI, Functional) or a
8
+ * lift documented in this header — check the spec before assuming a hex is a
9
+ * stray.
6
10
  * Deliberate spec deviations, mirrored in astryx-theme.ts: spec Comment
7
11
  * #6272A4 fails the 4.5:1 WCAG floor for body text, so secondary #9AA1BC,
8
12
  * paragraph #B0B3C4 and base-muted #8288A6 are same-hue lifts, #4C5067
9
13
  * (subdue) is chrome only and never text, and theme.css adds #FFD5CC as the
10
- * pale inverted error surface. Do not revert any of them to spec hexes.
14
+ * pale inverted error surface. #FF7575 is the spec's AnsiBrightRed lifted 5%
15
+ * toward Foreground for the error TEXT role: BrightRed is 5.23:1 on the body
16
+ * but 4.33:1 on a surface, just under the spec's own 4.5 floor. Do not revert
17
+ * any of them to spec hexes.
11
18
  * Two categorical data hues are excluded from the CHART palette: `brown` (was
12
19
  * byte-identical to orange, and a categorical series set is a palette where
13
20
  * distinctness IS the contract) and `purple` (purple means tappable, never
@@ -73,11 +80,25 @@ body {
73
80
  --dracula-bg-light: #343746;
74
81
  --dracula-bg-lighter: #424450;
75
82
  --dracula-bg-dark: #21222c;
83
+ /* Spec UI Functional palette — interactive elements, borders, indicators.
84
+ Not for editor or terminal use, and never a status channel. */
76
85
  --dracula-functional-red: #de5735;
77
86
  --dracula-functional-orange: #a39514;
78
87
  --dracula-functional-green: #089108;
79
88
  --dracula-functional-cyan: #0081d6;
80
89
  --dracula-functional-purple: #815cd6;
90
+ /* Spec ANSI bright row. A second, brighter step of the same eight hues,
91
+ for emphasis where the base hue is too quiet, and for a chart series that
92
+ must stay distinct past the base eight. Not wired to a semantic token:
93
+ reach for one directly when you need it. BrightBlack is Comment. */
94
+ --dracula-ansi-bright-black: #6272a4;
95
+ --dracula-ansi-bright-red: #ff6e6e;
96
+ --dracula-ansi-bright-green: #69ff94;
97
+ --dracula-ansi-bright-yellow: #ffffa5;
98
+ --dracula-ansi-bright-blue: #d6acff;
99
+ --dracula-ansi-bright-magenta: #ff92df;
100
+ --dracula-ansi-bright-cyan: #a4ffff;
101
+ --dracula-ansi-bright-white: #ffffff;
81
102
 
82
103
  --space-gap: 24px;
83
104
  --space-viewport: 16px;
@@ -183,7 +204,7 @@ body {
183
204
  --color-background-surface: #343746;
184
205
  --color-background-card: #343746;
185
206
  --color-background-popover: #424450;
186
- --color-background-muted: #44475a;
207
+ --color-background-muted: #21222c;
187
208
  --color-background-inverted: #f8f8f2;
188
209
  --color-background-error-inverted: #ffd5cc;
189
210
  --color-overlay: #191a21cc;
@@ -226,6 +247,22 @@ body {
226
247
  --color-on-warning: #21222c;
227
248
  --color-on-error: #21222c;
228
249
  --color-on-info: #21222c;
250
+ /* Status text, added to core in 0.7.10. core derives each one from a
251
+ --color-text-<hue> and inlines the source at build time, so a theme that
252
+ pins only the source keeps Stone's amber. Error text is Red lifted 20%
253
+ toward Foreground: spec Red is 4.53:1 on the body but 3.75:1 on a
254
+ surface, under the 4.5 floor, and the lift reads 5.46 and 4.52. */
255
+ --color-text-info: var(--dracula-cyan);
256
+ --color-text-success: var(--dracula-green);
257
+ --color-text-warning: var(--dracula-yellow);
258
+ --color-text-error: #ff7575;
259
+ --color-on-info-muted: var(--dracula-cyan);
260
+ --color-on-success-muted: var(--dracula-green);
261
+ --color-on-warning-muted: var(--dracula-yellow);
262
+ --color-on-error-muted: #ff7575;
263
+ /* Token compatibility only: core and every shipped component ignore these,
264
+ and they are never a status channel. Values are the spec's UI Functional
265
+ palette, which is a real part of the specification. */
229
266
  --color-functional-red: #de5735;
230
267
  --color-functional-orange: #a39514;
231
268
  --color-functional-green: #089108;