astryx-dracula 0.3.1 → 0.5.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/USAGE.md +25 -0
- package/astryx-dracula.d.ts +2 -2
- package/astryx-dracula.js +384 -3
- package/astryx-dracula.variants.d.ts +2 -14
- package/icons.mjs +125 -0
- package/package.json +21 -9
- package/shared/auth-chrome.tsx +156 -6
- package/shared/chaptered-doc.tsx +3 -4
- package/shared/chart-hues.ts +0 -5
- package/shared/chart-legend.tsx +2 -3
- package/shared/data-bar.tsx +5 -5
- package/shared/format-money.ts +3 -0
- package/shared/metric-card.tsx +127 -0
- package/shared/revenue-chart.tsx +63 -7
- package/shared/scene-hues.ts +0 -8
- package/shared/scene-tile.tsx +3 -11
- package/shared/settings-data.ts +71 -1
- package/shared/settings-rows.tsx +76 -30
- package/shared/stars.tsx +28 -0
- package/templates/ai-chat-landing.tsx +105 -67
- package/templates/ai-chat.tsx +67 -80
- package/templates/centered-hero.tsx +2 -2
- package/templates/contact-form.tsx +11 -10
- package/templates/dashboard-portfolio.tsx +77 -155
- package/templates/dashboard.tsx +24 -137
- package/templates/detail-page.tsx +25 -22
- package/templates/documentation-design.tsx +39 -478
- package/templates/documentation-technical.tsx +13 -31
- package/templates/editor.tsx +168 -185
- package/templates/file-explorer.tsx +91 -93
- package/templates/form-two-column.tsx +1 -1
- package/templates/ide.tsx +18 -24
- package/templates/incident-console.tsx +67 -42
- package/templates/kanban-board.tsx +36 -85
- package/templates/library.tsx +42 -66
- package/templates/login-card.tsx +33 -123
- package/templates/login-split.tsx +96 -119
- package/templates/login-sso.tsx +69 -74
- package/templates/login.tsx +21 -118
- package/templates/messaging-shell.tsx +162 -168
- package/templates/payment-form.tsx +63 -71
- package/templates/product-detail.tsx +11 -46
- package/templates/product-tour.tsx +38 -60
- package/templates/settings-dialog.tsx +93 -118
- package/templates/settings-sidebar.tsx +122 -143
- package/templates/settings.tsx +208 -121
- package/templates/shell-nav.tsx +20 -75
- package/templates/shell-side-nav.tsx +16 -90
- package/templates/shell-top-nav.tsx +20 -53
- package/templates/side-gallery.tsx +19 -19
- package/templates/table-grouped.tsx +86 -136
- package/templates/table-page-chart.tsx +12 -11
- package/templates/table-page-heatmap-status.tsx +0 -17
- package/templates/table-page-shoe-store-heatmap.tsx +12 -12
- package/templates/table-page.tsx +4 -31
- package/templates/table.tsx +18 -2
- package/templates/tech-report.tsx +59 -73
- package/templates/theme-showcase.tsx +124 -415
- package/theme.css +211 -119
package/USAGE.md
CHANGED
|
@@ -139,6 +139,27 @@ README. Not required for this kit.
|
|
|
139
139
|
- Wrong colors after a theme edit: rebuild with `bun run theme:build`; `bun run theme:check` confirms staleness (it ignores `astryx-dracula.js` by design — that file is a build artifact, not a freshness signal).
|
|
140
140
|
- Old `:root` `--color-*` overrides winning: delete them.
|
|
141
141
|
|
|
142
|
+
## Known upstream defects in `@astryxdesign/core@0.6.3`
|
|
143
|
+
|
|
144
|
+
This kit carries local patches for three defects in core, committed under `patches/` and wired through
|
|
145
|
+
`patchedDependencies`. **Read this before assuming the patches reach you: they do not.** Bun and npm
|
|
146
|
+
honour `patchedDependencies` only from the *root* project of an install. The patches apply when you
|
|
147
|
+
clone or work in this repository; they do **not** propagate to a downstream app that installs
|
|
148
|
+
`astryx-dracula` from npm, because core resolves through your own dependency tree. If you hit one of
|
|
149
|
+
these in your own app, the fix is yours to carry.
|
|
150
|
+
|
|
151
|
+
| Defect | Symptom | Workaround |
|
|
152
|
+
|---|---|---|
|
|
153
|
+
| `ChatToolCalls` discards its `label` prop | The `label` prop is typed and documented ("Auto-generated from count if omitted") but the expanded group header always renders `"{count} tool calls"`. The prop is destructured away, so it cannot reach the DOM either. | Render your own header above the component, or wrap it. The internal header markup is not exported. |
|
|
154
|
+
| `ToggleButton` drops `className` | A `className` passed to `ToggleButton` never reaches the DOM, even though `BaseProps` documents that it is kept. A sweep of all of core's `dist` found this to be the only component doing it, so it reads as an oversight rather than policy. | Style via `style` or `xstyle`, both of which do forward. Or use `Button` with `aria-pressed`, which honours `className`. |
|
|
155
|
+
| `ChatToolCalls` `defaultIsExpanded` JSDoc is wrong | The type comment claims "true for ≤3 calls, false for >3". The implementation is an unconditional `?? false`. The behaviour is the JSDoc that is wrong, so no action is needed. | None. Documented so nobody codes against the comment. |
|
|
156
|
+
|
|
157
|
+
If you want the patches, copy `patches/@astryxdesign%2Fcore@0.6.3.patch` from the repository into
|
|
158
|
+
your own root `package.json` under `patchedDependencies`. They are version-locked to `0.6.3`, so
|
|
159
|
+
upgrading core makes them stop applying rather than silently mis-apply — which is the intended
|
|
160
|
+
signal to delete them. Each hunk carries a comment naming the defect, so they are easy to drop once
|
|
161
|
+
upstream ships a fix.
|
|
162
|
+
|
|
142
163
|
## Rules
|
|
143
164
|
|
|
144
165
|
- Never invent hexes. New color need goes through `astryx-theme.ts` + audit, not a one-off.
|
|
@@ -151,6 +172,10 @@ README. Not required for this kit.
|
|
|
151
172
|
- Derive any count a page prints from its data. Hardcoded numerals are how `documentation.tsx` came to say "twenty-eight components" over 31 entries.
|
|
152
173
|
- A `.tsx` exports components only; shared data lives in a sibling `.ts`, so React Fast Refresh works.
|
|
153
174
|
- **Do not add your own Tooltip override.** Core's `useTooltip` paints `background-color: var(--color-text-primary)` with `color: var(--color-background-surface)` — an inversion that only reads correctly on a light theme, and on dark it is a near-white box with light-grey text. This theme already overrides it (`components.tooltip.base` in `astryx-theme.ts`, shipping as `.astryx-tooltip` in `theme.css`) onto the popover tier with `--shadow-low`, at 9.06:1. Core renders the Tooltip internally, so this reaches `Selector`, `TimeInput`, `Typeahead`, `CheckboxInput`, `CheckboxList`, `Tokenizer`, `DateRangeInput` and `Tooltip` whether or not you use one. If you are carrying your own `.astryx-tooltip` rule, it is computing the same two values and can be deleted.
|
|
175
|
+
- **A link is a destination; a button is an action.** If the thing navigates somewhere (`href`, a route, an anchor, a file) it is a `Link`. If it changes state in place — submit, save, delete, deactivate, disconnect, log out, request, toggle, expand — it is a `Button`. Rendering an action as `<Link href="#">` is the single most common way these templates went wrong: it draws a purple underlined affordance for something that is not navigation, and a screen reader announces "link" for a control that does not act like one. `SELF_HASH` placeholders are for genuine destinations only.
|
|
176
|
+
- **Underline rules, from W3C.** Links **inside running prose** (a sentence in a description, help text, legal copy) stay underlined, because that is the only persistent cue a reader has and colour alone fails WCAG 1.4.1 (F73). Links in **navigation** — a header, sidebar, tab list, breadcrumb, pagination, a rail of settings sections — are not underlined; the grouping and the current-item indicator carry that job. Anything ambiguous is prose, so underline it.
|
|
177
|
+
- **A divider is a section boundary, not a row background.** Use `Divider` to separate genuinely different groups, not between every field, every row of a list, or every setting inside one panel. A stack of rules reads as a form grid and flattens the hierarchy it was meant to express. Prefer `Stack gap` and, inside a panel, one divider at most; if two adjacent groups are only separated by a rule, they are one group.
|
|
178
|
+
- Spacing comes from the spacing scale via `Stack gap` or the kit's own layout props. Do not hand-tune `margin`/`padding` to make a panel look right — a panel that needs 20 rules to assemble is a panel that should be a `Stack`.
|
|
154
179
|
|
|
155
180
|
## Release checklist
|
|
156
181
|
|
package/astryx-dracula.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.3
|
|
6
|
-
* Core: @astryxdesign/core@0.3
|
|
5
|
+
* CLI: @astryxdesign/cli@0.6.3
|
|
6
|
+
* Core: @astryxdesign/core@0.6.3
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
/// <reference path="./astryx-dracula.variants.d.ts" />
|
package/astryx-dracula.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
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.3
|
|
6
|
-
* Core: @astryxdesign/core@0.3
|
|
5
|
+
* CLI: @astryxdesign/cli@0.6.3
|
|
6
|
+
* Core: @astryxdesign/core@0.6.3
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { draculaIconRegistry } from
|
|
9
|
+
import { draculaIconRegistry } from "./icons.mjs";
|
|
10
10
|
/**
|
|
11
11
|
* astryx-dracula theme — built by `bunx astryx theme build`
|
|
12
12
|
* Import the CSS file alongside this module:
|
|
@@ -179,6 +179,8 @@ export const astryxDraculaTheme = {
|
|
|
179
179
|
"--color-data-categorical-pink": "light-dark(#FF79C6, #FF79C6)",
|
|
180
180
|
"--color-data-categorical-cyan": "light-dark(#8BE9FD, #8BE9FD)",
|
|
181
181
|
"--color-data-categorical-red": "light-dark(#FF5555, #FF5555)",
|
|
182
|
+
"--color-data-categorical-purple": "light-dark(#BD93F9, #BD93F9)",
|
|
183
|
+
"--color-data-categorical-brown": "light-dark(#FFB86C, #FFB86C)",
|
|
182
184
|
"--color-data-categorical-teal": "light-dark(#A4FFFF, #A4FFFF)",
|
|
183
185
|
"--color-data-categorical-indigo": "light-dark(#D6ACFF, #D6ACFF)",
|
|
184
186
|
"--color-background-blue": "light-dark(#6272A41A, #6272A41A)",
|
|
@@ -295,6 +297,385 @@ export const astryxDraculaTheme = {
|
|
|
295
297
|
"--color-tag-green": "light-dark(#50FA7B, #50FA7B)",
|
|
296
298
|
"--color-tag-purple": "light-dark(#BD93F9, #BD93F9)"
|
|
297
299
|
},
|
|
300
|
+
components: {
|
|
301
|
+
"heading": {
|
|
302
|
+
"level:1": {
|
|
303
|
+
"fontFamily": "var(--font-family-heading)",
|
|
304
|
+
"fontSize": "var(--text-heading-1-size)",
|
|
305
|
+
"fontWeight": "var(--text-heading-1-weight)",
|
|
306
|
+
"lineHeight": "var(--text-heading-1-leading)"
|
|
307
|
+
},
|
|
308
|
+
"level:2": {
|
|
309
|
+
"fontFamily": "var(--font-family-heading)",
|
|
310
|
+
"fontSize": "var(--text-heading-2-size)",
|
|
311
|
+
"fontWeight": "var(--text-heading-2-weight)",
|
|
312
|
+
"lineHeight": "var(--text-heading-2-leading)"
|
|
313
|
+
},
|
|
314
|
+
"level:3": {
|
|
315
|
+
"fontFamily": "var(--font-family-heading)",
|
|
316
|
+
"fontSize": "var(--text-heading-3-size)",
|
|
317
|
+
"fontWeight": "var(--text-heading-3-weight)",
|
|
318
|
+
"lineHeight": "var(--text-heading-3-leading)"
|
|
319
|
+
},
|
|
320
|
+
"level:4": {
|
|
321
|
+
"fontFamily": "var(--font-family-heading)",
|
|
322
|
+
"fontSize": "var(--text-heading-4-size)",
|
|
323
|
+
"fontWeight": "var(--text-heading-4-weight)",
|
|
324
|
+
"lineHeight": "var(--text-heading-4-leading)"
|
|
325
|
+
},
|
|
326
|
+
"level:5": {
|
|
327
|
+
"fontFamily": "var(--font-family-heading)",
|
|
328
|
+
"fontSize": "var(--text-heading-5-size)",
|
|
329
|
+
"fontWeight": "var(--text-heading-5-weight)",
|
|
330
|
+
"lineHeight": "var(--text-heading-5-leading)"
|
|
331
|
+
},
|
|
332
|
+
"level:6": {
|
|
333
|
+
"fontFamily": "var(--font-family-heading)",
|
|
334
|
+
"fontSize": "var(--text-heading-6-size)",
|
|
335
|
+
"fontWeight": "var(--text-heading-6-weight)",
|
|
336
|
+
"lineHeight": "var(--text-heading-6-leading)"
|
|
337
|
+
},
|
|
338
|
+
"type:display-1": {
|
|
339
|
+
"fontFamily": "var(--font-family-heading)",
|
|
340
|
+
"fontSize": "var(--text-display-1-size)",
|
|
341
|
+
"lineHeight": "var(--text-display-1-leading)"
|
|
342
|
+
},
|
|
343
|
+
"type:display-2": {
|
|
344
|
+
"fontFamily": "var(--font-family-heading)",
|
|
345
|
+
"fontSize": "var(--text-display-2-size)",
|
|
346
|
+
"lineHeight": "var(--text-display-2-leading)"
|
|
347
|
+
},
|
|
348
|
+
"type:display-3": {
|
|
349
|
+
"fontFamily": "var(--font-family-heading)",
|
|
350
|
+
"fontSize": "var(--text-display-3-size)",
|
|
351
|
+
"lineHeight": "var(--text-display-3-leading)"
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
"text": {
|
|
355
|
+
"type:body": {
|
|
356
|
+
"fontFamily": "var(--font-family-body)",
|
|
357
|
+
"fontSize": "var(--text-body-size)",
|
|
358
|
+
"lineHeight": "var(--text-body-leading)"
|
|
359
|
+
},
|
|
360
|
+
"type:large": {
|
|
361
|
+
"fontFamily": "var(--font-family-body)",
|
|
362
|
+
"fontSize": "var(--text-large-size)",
|
|
363
|
+
"lineHeight": "var(--text-large-leading)"
|
|
364
|
+
},
|
|
365
|
+
"type:label": {
|
|
366
|
+
"fontFamily": "var(--font-family-body)",
|
|
367
|
+
"fontSize": "var(--text-label-size)",
|
|
368
|
+
"lineHeight": "var(--text-label-leading)"
|
|
369
|
+
},
|
|
370
|
+
"type:code": {
|
|
371
|
+
"fontFamily": "var(--font-family-code)",
|
|
372
|
+
"fontSize": "var(--text-code-size)",
|
|
373
|
+
"lineHeight": "var(--text-code-leading)"
|
|
374
|
+
},
|
|
375
|
+
"type:supporting": {
|
|
376
|
+
"fontFamily": "var(--font-family-body)",
|
|
377
|
+
"fontSize": "var(--text-supporting-size)",
|
|
378
|
+
"lineHeight": "var(--text-supporting-leading)"
|
|
379
|
+
},
|
|
380
|
+
"type:display-1": {
|
|
381
|
+
"fontFamily": "var(--font-family-heading)",
|
|
382
|
+
"fontSize": "var(--text-display-1-size)",
|
|
383
|
+
"lineHeight": "var(--text-display-1-leading)"
|
|
384
|
+
},
|
|
385
|
+
"type:display-2": {
|
|
386
|
+
"fontFamily": "var(--font-family-heading)",
|
|
387
|
+
"fontSize": "var(--text-display-2-size)",
|
|
388
|
+
"lineHeight": "var(--text-display-2-leading)"
|
|
389
|
+
},
|
|
390
|
+
"type:display-3": {
|
|
391
|
+
"fontFamily": "var(--font-family-heading)",
|
|
392
|
+
"fontSize": "var(--text-display-3-size)",
|
|
393
|
+
"lineHeight": "var(--text-display-3-leading)"
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
"app-shell": {
|
|
397
|
+
"variant:wash": {
|
|
398
|
+
"backgroundColor": "var(--color-background-body)"
|
|
399
|
+
},
|
|
400
|
+
"variant:elevated": {
|
|
401
|
+
"backgroundColor": "var(--color-background-body)"
|
|
402
|
+
},
|
|
403
|
+
"variant:surface": {
|
|
404
|
+
"backgroundColor": "var(--color-background-surface)"
|
|
405
|
+
},
|
|
406
|
+
"variant:section": {
|
|
407
|
+
"backgroundColor": "var(--color-background-surface)"
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
"link": {
|
|
411
|
+
"base": {
|
|
412
|
+
"color": "var(--color-text-accent)",
|
|
413
|
+
":hover": {
|
|
414
|
+
"color": "var(--color-text-highlight)"
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
"card": {
|
|
419
|
+
"base": {
|
|
420
|
+
"backgroundColor": "var(--color-widget-background)",
|
|
421
|
+
"border": "1px solid var(--color-widget-content-border)",
|
|
422
|
+
"borderRadius": "var(--border-radius)"
|
|
423
|
+
}
|
|
424
|
+
},
|
|
425
|
+
"button": {
|
|
426
|
+
"base": {
|
|
427
|
+
"borderRadius": "var(--border-radius)",
|
|
428
|
+
"fontWeight": "var(--font-weight-normal)"
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
"banner": {
|
|
432
|
+
"base": {
|
|
433
|
+
"borderRadius": "var(--border-radius)",
|
|
434
|
+
"borderWidth": "1px",
|
|
435
|
+
"borderStyle": "solid",
|
|
436
|
+
"color": "var(--color-text-primary)"
|
|
437
|
+
},
|
|
438
|
+
"status:info": {
|
|
439
|
+
"--color-accent-muted": "var(--color-background-cyan)",
|
|
440
|
+
"borderColor": "var(--color-info)"
|
|
441
|
+
},
|
|
442
|
+
"status:success": {
|
|
443
|
+
"--color-success-muted": "var(--color-background-green)",
|
|
444
|
+
"borderColor": "var(--color-success)"
|
|
445
|
+
},
|
|
446
|
+
"status:warning": {
|
|
447
|
+
"--color-warning-muted": "var(--color-background-yellow)",
|
|
448
|
+
"borderColor": "var(--color-warning)"
|
|
449
|
+
},
|
|
450
|
+
"status:error": {
|
|
451
|
+
"--color-error-muted": "var(--color-background-red)",
|
|
452
|
+
"borderColor": "var(--color-error)"
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
"statusdot": {
|
|
456
|
+
"variant:info": {
|
|
457
|
+
"backgroundColor": "#8BE9FD"
|
|
458
|
+
}
|
|
459
|
+
},
|
|
460
|
+
"progressbar-fill": {
|
|
461
|
+
"variant:accent": {
|
|
462
|
+
"backgroundColor": "#BD93F9"
|
|
463
|
+
},
|
|
464
|
+
"variant:success": {
|
|
465
|
+
"backgroundColor": "#50FA7B"
|
|
466
|
+
},
|
|
467
|
+
"variant:warning": {
|
|
468
|
+
"backgroundColor": "#F1FA8C"
|
|
469
|
+
},
|
|
470
|
+
"variant:error": {
|
|
471
|
+
"backgroundColor": "#FF5555"
|
|
472
|
+
},
|
|
473
|
+
"variant:neutral": {
|
|
474
|
+
"backgroundColor": "var(--color-progress-value)"
|
|
475
|
+
},
|
|
476
|
+
"variant:disabled": {
|
|
477
|
+
"backgroundColor": "var(--color-progress-value)"
|
|
478
|
+
}
|
|
479
|
+
},
|
|
480
|
+
"text-input": {
|
|
481
|
+
"status:success": {
|
|
482
|
+
"--color-success": "#50FA7B"
|
|
483
|
+
},
|
|
484
|
+
"status:warning": {
|
|
485
|
+
"--color-warning": "#F1FA8C"
|
|
486
|
+
},
|
|
487
|
+
"status:error": {
|
|
488
|
+
"--color-error": "#FF5555"
|
|
489
|
+
}
|
|
490
|
+
},
|
|
491
|
+
"textarea": {
|
|
492
|
+
"status:success": {
|
|
493
|
+
"--color-success": "#50FA7B"
|
|
494
|
+
},
|
|
495
|
+
"status:warning": {
|
|
496
|
+
"--color-warning": "#F1FA8C"
|
|
497
|
+
},
|
|
498
|
+
"status:error": {
|
|
499
|
+
"--color-error": "#FF5555"
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
"number-input": {
|
|
503
|
+
"status:success": {
|
|
504
|
+
"--color-success": "#50FA7B"
|
|
505
|
+
},
|
|
506
|
+
"status:warning": {
|
|
507
|
+
"--color-warning": "#F1FA8C"
|
|
508
|
+
},
|
|
509
|
+
"status:error": {
|
|
510
|
+
"--color-error": "#FF5555"
|
|
511
|
+
}
|
|
512
|
+
},
|
|
513
|
+
"date-input": {
|
|
514
|
+
"status:success": {
|
|
515
|
+
"--color-success": "#50FA7B"
|
|
516
|
+
},
|
|
517
|
+
"status:warning": {
|
|
518
|
+
"--color-warning": "#F1FA8C"
|
|
519
|
+
},
|
|
520
|
+
"status:error": {
|
|
521
|
+
"--color-error": "#FF5555"
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
"time-input": {
|
|
525
|
+
"status:success": {
|
|
526
|
+
"--color-success": "#50FA7B"
|
|
527
|
+
},
|
|
528
|
+
"status:warning": {
|
|
529
|
+
"--color-warning": "#F1FA8C"
|
|
530
|
+
},
|
|
531
|
+
"status:error": {
|
|
532
|
+
"--color-error": "#FF5555"
|
|
533
|
+
}
|
|
534
|
+
},
|
|
535
|
+
"selector": {
|
|
536
|
+
"status:success": {
|
|
537
|
+
"--color-success": "#50FA7B"
|
|
538
|
+
},
|
|
539
|
+
"status:warning": {
|
|
540
|
+
"--color-warning": "#F1FA8C"
|
|
541
|
+
},
|
|
542
|
+
"status:error": {
|
|
543
|
+
"--color-error": "#FF5555"
|
|
544
|
+
}
|
|
545
|
+
},
|
|
546
|
+
"multi-selector": {
|
|
547
|
+
"status:success": {
|
|
548
|
+
"--color-success": "#50FA7B"
|
|
549
|
+
},
|
|
550
|
+
"status:warning": {
|
|
551
|
+
"--color-warning": "#F1FA8C"
|
|
552
|
+
},
|
|
553
|
+
"status:error": {
|
|
554
|
+
"--color-error": "#FF5555"
|
|
555
|
+
}
|
|
556
|
+
},
|
|
557
|
+
"typeahead": {
|
|
558
|
+
"status:success": {
|
|
559
|
+
"--color-success": "#50FA7B"
|
|
560
|
+
},
|
|
561
|
+
"status:warning": {
|
|
562
|
+
"--color-warning": "#F1FA8C"
|
|
563
|
+
},
|
|
564
|
+
"status:error": {
|
|
565
|
+
"--color-error": "#FF5555"
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
"tokenizer": {
|
|
569
|
+
"status:success": {
|
|
570
|
+
"--color-success": "#50FA7B"
|
|
571
|
+
},
|
|
572
|
+
"status:warning": {
|
|
573
|
+
"--color-warning": "#F1FA8C"
|
|
574
|
+
},
|
|
575
|
+
"status:error": {
|
|
576
|
+
"--color-error": "#FF5555"
|
|
577
|
+
}
|
|
578
|
+
},
|
|
579
|
+
"switch": {
|
|
580
|
+
"base": {
|
|
581
|
+
"--color-background-gray": "var(--color-skeleton)"
|
|
582
|
+
}
|
|
583
|
+
},
|
|
584
|
+
"toast": {
|
|
585
|
+
"type:info": {
|
|
586
|
+
"backgroundColor": "var(--color-background-inverted)",
|
|
587
|
+
"color": "var(--color-on-light)"
|
|
588
|
+
},
|
|
589
|
+
"type:error": {
|
|
590
|
+
"backgroundColor": "var(--color-background-error-inverted)",
|
|
591
|
+
"color": "var(--color-on-light)"
|
|
592
|
+
}
|
|
593
|
+
},
|
|
594
|
+
"field-status": {
|
|
595
|
+
"type:success": {
|
|
596
|
+
"backgroundColor": "var(--color-background-green)"
|
|
597
|
+
},
|
|
598
|
+
"type:warning": {
|
|
599
|
+
"backgroundColor": "var(--color-background-yellow)"
|
|
600
|
+
},
|
|
601
|
+
"type:error": {
|
|
602
|
+
"backgroundColor": "var(--color-background-red)"
|
|
603
|
+
}
|
|
604
|
+
},
|
|
605
|
+
"tooltip": {
|
|
606
|
+
"base": {
|
|
607
|
+
"backgroundColor": "var(--color-background-popover)",
|
|
608
|
+
"color": "var(--color-text-primary)",
|
|
609
|
+
"boxShadow": "var(--shadow-low)"
|
|
610
|
+
}
|
|
611
|
+
},
|
|
612
|
+
"hovercard": {
|
|
613
|
+
"base": {
|
|
614
|
+
"backgroundColor": "var(--color-background-popover)"
|
|
615
|
+
}
|
|
616
|
+
},
|
|
617
|
+
"avatar-status-dot": {
|
|
618
|
+
"variant:success": {
|
|
619
|
+
"color": "var(--color-on-success)"
|
|
620
|
+
},
|
|
621
|
+
"variant:error": {
|
|
622
|
+
"color": "var(--color-on-error)"
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
},
|
|
626
|
+
__onDark: {
|
|
627
|
+
"tokens": {
|
|
628
|
+
"color-scheme": "dark",
|
|
629
|
+
"--color-text-primary": "var(--color-on-dark)",
|
|
630
|
+
"--color-icon-primary": "var(--color-on-dark)",
|
|
631
|
+
"--color-accent": "light-dark(#BD93F9, #BD93F9)"
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
__onLight: {
|
|
635
|
+
"tokens": {
|
|
636
|
+
"color-scheme": "light",
|
|
637
|
+
"--color-text-primary": "var(--color-on-light)",
|
|
638
|
+
"--color-icon-primary": "var(--color-on-light)",
|
|
639
|
+
"--color-accent": "var(--color-on-light)"
|
|
640
|
+
}
|
|
641
|
+
},
|
|
642
|
+
__adaptations: {
|
|
643
|
+
"widthBreakpoints": {
|
|
644
|
+
"sm": 640,
|
|
645
|
+
"md": 768,
|
|
646
|
+
"lg": 1024,
|
|
647
|
+
"xl": 1280,
|
|
648
|
+
"2xl": 1536
|
|
649
|
+
},
|
|
650
|
+
"rules": []
|
|
651
|
+
},
|
|
652
|
+
__axes: {
|
|
653
|
+
"typography": {
|
|
654
|
+
"scale": {
|
|
655
|
+
"base": 14,
|
|
656
|
+
"ratio": 1.2
|
|
657
|
+
},
|
|
658
|
+
"body": {
|
|
659
|
+
"family": "JetBrains Mono",
|
|
660
|
+
"fallbacks": "monospace"
|
|
661
|
+
},
|
|
662
|
+
"heading": {
|
|
663
|
+
"family": "JetBrains Mono",
|
|
664
|
+
"fallbacks": "monospace",
|
|
665
|
+
"weight": "normal"
|
|
666
|
+
},
|
|
667
|
+
"code": {
|
|
668
|
+
"family": "JetBrains Mono",
|
|
669
|
+
"fallbacks": "monospace"
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
"motion": {
|
|
673
|
+
"fast": 175,
|
|
674
|
+
"medium": 410,
|
|
675
|
+
"slow": 975,
|
|
676
|
+
"ratio": 0.75
|
|
677
|
+
}
|
|
678
|
+
},
|
|
298
679
|
icons: draculaIconRegistry,
|
|
299
680
|
};
|
|
300
681
|
|
|
@@ -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.3
|
|
6
|
-
* Core: @astryxdesign/core@0.3
|
|
5
|
+
* CLI: @astryxdesign/cli@0.6.3
|
|
6
|
+
* Core: @astryxdesign/core@0.6.3
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
// Generated by astryx theme build
|
|
@@ -17,18 +17,6 @@ declare module '@astryxdesign/core/StatusDot' {
|
|
|
17
17
|
|
|
18
18
|
declare module '@astryxdesign/core/ProgressBar' {
|
|
19
19
|
interface ProgressBarVariantMap {
|
|
20
|
-
'accent': true;
|
|
21
|
-
'success': true;
|
|
22
|
-
'warning': true;
|
|
23
|
-
'error': true;
|
|
24
|
-
'neutral': true;
|
|
25
20
|
'disabled': true;
|
|
26
21
|
}
|
|
27
22
|
}
|
|
28
|
-
|
|
29
|
-
declare module '@astryxdesign/core/Avatar' {
|
|
30
|
-
interface AvatarStatusDotVariantMap {
|
|
31
|
-
'success': true;
|
|
32
|
-
'error': true;
|
|
33
|
-
}
|
|
34
|
-
}
|
package/icons.mjs
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// icons.tsx
|
|
2
|
+
import {
|
|
3
|
+
X,
|
|
4
|
+
ChevronDown,
|
|
5
|
+
ChevronLeft,
|
|
6
|
+
ChevronRight,
|
|
7
|
+
ChevronsLeft,
|
|
8
|
+
ChevronsRight,
|
|
9
|
+
Check,
|
|
10
|
+
CheckCircle,
|
|
11
|
+
XCircle,
|
|
12
|
+
AlertTriangle,
|
|
13
|
+
Info,
|
|
14
|
+
Calendar,
|
|
15
|
+
Clock,
|
|
16
|
+
ExternalLink,
|
|
17
|
+
Menu,
|
|
18
|
+
MoreHorizontal,
|
|
19
|
+
Search,
|
|
20
|
+
ArrowUp,
|
|
21
|
+
ArrowDown,
|
|
22
|
+
ArrowUpDown,
|
|
23
|
+
Filter,
|
|
24
|
+
EyeOff,
|
|
25
|
+
Columns,
|
|
26
|
+
Copy,
|
|
27
|
+
CheckCheck,
|
|
28
|
+
Wrench,
|
|
29
|
+
Square,
|
|
30
|
+
Mic
|
|
31
|
+
} from "lucide-react";
|
|
32
|
+
import { jsx } from "react/jsx-runtime";
|
|
33
|
+
var iconProps = {
|
|
34
|
+
size: "1em",
|
|
35
|
+
"aria-hidden": true
|
|
36
|
+
};
|
|
37
|
+
var draculaIconRegistry = {
|
|
38
|
+
close: /* @__PURE__ */ jsx(X, {
|
|
39
|
+
...iconProps
|
|
40
|
+
}),
|
|
41
|
+
chevronDown: /* @__PURE__ */ jsx(ChevronDown, {
|
|
42
|
+
...iconProps
|
|
43
|
+
}),
|
|
44
|
+
chevronLeft: /* @__PURE__ */ jsx(ChevronLeft, {
|
|
45
|
+
...iconProps
|
|
46
|
+
}),
|
|
47
|
+
chevronRight: /* @__PURE__ */ jsx(ChevronRight, {
|
|
48
|
+
...iconProps
|
|
49
|
+
}),
|
|
50
|
+
chevronsLeft: /* @__PURE__ */ jsx(ChevronsLeft, {
|
|
51
|
+
...iconProps
|
|
52
|
+
}),
|
|
53
|
+
chevronsRight: /* @__PURE__ */ jsx(ChevronsRight, {
|
|
54
|
+
...iconProps
|
|
55
|
+
}),
|
|
56
|
+
check: /* @__PURE__ */ jsx(Check, {
|
|
57
|
+
...iconProps
|
|
58
|
+
}),
|
|
59
|
+
success: /* @__PURE__ */ jsx(CheckCircle, {
|
|
60
|
+
...iconProps
|
|
61
|
+
}),
|
|
62
|
+
error: /* @__PURE__ */ jsx(XCircle, {
|
|
63
|
+
...iconProps
|
|
64
|
+
}),
|
|
65
|
+
warning: /* @__PURE__ */ jsx(AlertTriangle, {
|
|
66
|
+
...iconProps
|
|
67
|
+
}),
|
|
68
|
+
info: /* @__PURE__ */ jsx(Info, {
|
|
69
|
+
...iconProps
|
|
70
|
+
}),
|
|
71
|
+
calendar: /* @__PURE__ */ jsx(Calendar, {
|
|
72
|
+
...iconProps
|
|
73
|
+
}),
|
|
74
|
+
clock: /* @__PURE__ */ jsx(Clock, {
|
|
75
|
+
...iconProps
|
|
76
|
+
}),
|
|
77
|
+
externalLink: /* @__PURE__ */ jsx(ExternalLink, {
|
|
78
|
+
...iconProps
|
|
79
|
+
}),
|
|
80
|
+
menu: /* @__PURE__ */ jsx(Menu, {
|
|
81
|
+
...iconProps
|
|
82
|
+
}),
|
|
83
|
+
moreHorizontal: /* @__PURE__ */ jsx(MoreHorizontal, {
|
|
84
|
+
...iconProps
|
|
85
|
+
}),
|
|
86
|
+
search: /* @__PURE__ */ jsx(Search, {
|
|
87
|
+
...iconProps
|
|
88
|
+
}),
|
|
89
|
+
arrowUp: /* @__PURE__ */ jsx(ArrowUp, {
|
|
90
|
+
...iconProps
|
|
91
|
+
}),
|
|
92
|
+
arrowDown: /* @__PURE__ */ jsx(ArrowDown, {
|
|
93
|
+
...iconProps
|
|
94
|
+
}),
|
|
95
|
+
arrowsUpDown: /* @__PURE__ */ jsx(ArrowUpDown, {
|
|
96
|
+
...iconProps
|
|
97
|
+
}),
|
|
98
|
+
funnel: /* @__PURE__ */ jsx(Filter, {
|
|
99
|
+
...iconProps
|
|
100
|
+
}),
|
|
101
|
+
eyeSlash: /* @__PURE__ */ jsx(EyeOff, {
|
|
102
|
+
...iconProps
|
|
103
|
+
}),
|
|
104
|
+
viewColumns: /* @__PURE__ */ jsx(Columns, {
|
|
105
|
+
...iconProps
|
|
106
|
+
}),
|
|
107
|
+
copy: /* @__PURE__ */ jsx(Copy, {
|
|
108
|
+
...iconProps
|
|
109
|
+
}),
|
|
110
|
+
checkDouble: /* @__PURE__ */ jsx(CheckCheck, {
|
|
111
|
+
...iconProps
|
|
112
|
+
}),
|
|
113
|
+
wrench: /* @__PURE__ */ jsx(Wrench, {
|
|
114
|
+
...iconProps
|
|
115
|
+
}),
|
|
116
|
+
stop: /* @__PURE__ */ jsx(Square, {
|
|
117
|
+
...iconProps
|
|
118
|
+
}),
|
|
119
|
+
microphone: /* @__PURE__ */ jsx(Mic, {
|
|
120
|
+
...iconProps
|
|
121
|
+
})
|
|
122
|
+
};
|
|
123
|
+
export {
|
|
124
|
+
draculaIconRegistry
|
|
125
|
+
};
|