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.
- package/BRAND.md +54 -3
- package/README.md +11 -4
- package/USAGE.md +1 -1
- package/astryx-dracula.d.ts +2 -2
- package/astryx-dracula.js +26 -4
- package/astryx-dracula.variants.d.ts +2 -2
- package/package.json +11 -11
- package/shared/auth-chrome-config.ts +0 -4
- package/shared/auth-chrome.tsx +2 -3
- package/shared/chaptered-doc-config.ts +3 -2
- package/shared/order-desk.tsx +52 -54
- package/shared/revenue-chart.tsx +1 -1
- package/shared/scene-castle.tsx +21 -13
- package/templates/ai-chat-landing.tsx +6 -9
- package/templates/ai-chat.tsx +5 -1
- package/templates/centered-hero.tsx +2 -2
- package/templates/classic-gallery.tsx +5 -0
- package/templates/contact-form.tsx +9 -0
- package/templates/dashboard-portfolio.tsx +17 -4
- package/templates/dashboard.tsx +5 -5
- package/templates/detail-page.tsx +20 -28
- package/templates/documentation-design.tsx +3 -0
- package/templates/documentation-technical.tsx +8 -5
- package/templates/documentation.tsx +13 -6
- package/templates/form-two-column.tsx +11 -2
- package/templates/form-wizard.template.mjs +15 -0
- package/templates/form-wizard.tsx +878 -0
- package/templates/gallery-hero.tsx +10 -4
- package/templates/ide.tsx +177 -96
- package/templates/incident-console.tsx +15 -5
- package/templates/kanban-board.tsx +46 -4
- package/templates/library.tsx +12 -3
- package/templates/login-split.tsx +3 -3
- package/templates/login-sso.tsx +9 -17
- package/templates/messaging-shell.tsx +109 -46
- package/templates/mixed-gallery.tsx +6 -0
- package/templates/payment-form.tsx +29 -28
- package/templates/product-detail.tsx +12 -3
- package/templates/product-gallery.tsx +8 -3
- package/templates/product-tour.tsx +11 -7
- package/templates/settings-dialog.tsx +5 -0
- package/templates/settings-sidebar.tsx +603 -584
- package/templates/settings.tsx +5 -2
- package/templates/shell-nav.tsx +23 -3
- package/templates/shell-side-nav.tsx +94 -81
- package/templates/shell-top-nav.tsx +98 -86
- package/templates/table-grouped.tsx +146 -132
- package/templates/{table-page-shoe-store-heatmap.template.mjs → table-page-shoe-store.template.mjs} +1 -1
- package/templates/{table-page-shoe-store-heatmap.tsx → table-page-shoe-store.tsx} +1 -1
- package/templates/table-page.tsx +8 -0
- package/templates/table-tree.template.mjs +16 -0
- package/templates/table-tree.tsx +707 -0
- package/templates/tech-report.tsx +8 -5
- package/templates/theme-showcase.tsx +18 -11
- package/templates/work-item-detail.template.mjs +8 -0
- package/templates/work-item-detail.tsx +1049 -0
- package/theme.css +38 -3
- package/theme.css.d.ts +2 -2
- package/tokens.css +41 -4
|
@@ -817,10 +817,13 @@ function ArchitectureScene({ alt }: { alt: string }) {
|
|
|
817
817
|
<path d="M42 158 H197 M42 158 V163 M197 158 V163" />
|
|
818
818
|
<path d="M202 158 H359 M202 158 V163 M359 158 V163" />
|
|
819
819
|
</g>
|
|
820
|
+
{/* Scene text is paragraph, never comment: comment is 3.36:1 on this
|
|
821
|
+
backdrop, under the 4.5:1 text floor, and it belongs to the bracket
|
|
822
|
+
strokes above, not to the words that name them. */}
|
|
820
823
|
<g
|
|
821
824
|
fontFamily="var(--font-family-mono)"
|
|
822
825
|
fontSize="10"
|
|
823
|
-
fill="var(--
|
|
826
|
+
fill="var(--color-text-paragraph)"
|
|
824
827
|
textAnchor="middle"
|
|
825
828
|
>
|
|
826
829
|
<text x="119" y="178">
|
|
@@ -1295,7 +1298,7 @@ function Fp4Scene({ alt }: { alt: string }) {
|
|
|
1295
1298
|
fontFamily="var(--font-family-mono)"
|
|
1296
1299
|
fontSize="11"
|
|
1297
1300
|
textAnchor="middle"
|
|
1298
|
-
fill=
|
|
1301
|
+
fill="var(--color-text-highlight)"
|
|
1299
1302
|
fillOpacity={0.95}
|
|
1300
1303
|
>
|
|
1301
1304
|
{bar.value}
|
|
@@ -1305,7 +1308,7 @@ function Fp4Scene({ alt }: { alt: string }) {
|
|
|
1305
1308
|
<g
|
|
1306
1309
|
fontFamily="var(--font-family-mono)"
|
|
1307
1310
|
fontSize="10"
|
|
1308
|
-
fill="var(--
|
|
1311
|
+
fill="var(--color-text-paragraph)"
|
|
1309
1312
|
textAnchor="middle"
|
|
1310
1313
|
>
|
|
1311
1314
|
{FP4_BARS.map((bar) => (
|
|
@@ -1381,7 +1384,7 @@ function EvalScene({ alt }: { alt: string }) {
|
|
|
1381
1384
|
fontFamily="var(--font-family-mono)"
|
|
1382
1385
|
fontSize="11"
|
|
1383
1386
|
textAnchor="middle"
|
|
1384
|
-
fill=
|
|
1387
|
+
fill="var(--color-text-highlight)"
|
|
1385
1388
|
fillOpacity={0.95}
|
|
1386
1389
|
>
|
|
1387
1390
|
{bar.value}
|
|
@@ -1391,7 +1394,7 @@ function EvalScene({ alt }: { alt: string }) {
|
|
|
1391
1394
|
<g
|
|
1392
1395
|
fontFamily="var(--font-family-mono)"
|
|
1393
1396
|
fontSize="10"
|
|
1394
|
-
fill="var(--
|
|
1397
|
+
fill="var(--color-text-paragraph)"
|
|
1395
1398
|
textAnchor="middle"
|
|
1396
1399
|
>
|
|
1397
1400
|
{EVAL_BARS.map((bar) => (
|
|
@@ -61,8 +61,13 @@ import {
|
|
|
61
61
|
import type { ReactNode } from "react";
|
|
62
62
|
|
|
63
63
|
// One Dracula accent per hero product slot. Purple stays off decorative art:
|
|
64
|
-
// it reads as interactive, and nothing here is tappable.
|
|
65
|
-
|
|
64
|
+
// it reads as interactive, and nothing here is tappable. Typed `SceneHue` so
|
|
65
|
+
// the union enforces that remit instead of the comment asking for it.
|
|
66
|
+
const PRODUCT_HUES: readonly SceneHue[] = [
|
|
67
|
+
"var(--dracula-green)",
|
|
68
|
+
"var(--dracula-cyan)",
|
|
69
|
+
"var(--dracula-yellow)",
|
|
70
|
+
];
|
|
66
71
|
|
|
67
72
|
// Grid recipes the store renders at every width above the phone layout. Kept
|
|
68
73
|
// at module scope: an object literal rebuilt per render is a new value prop
|
|
@@ -104,7 +109,7 @@ const DEFAULT_PRODUCTS: ProductSpec[] = [
|
|
|
104
109
|
|
|
105
110
|
// Dracula product scene: harvest moon over sleeping hills with a per-product
|
|
106
111
|
// accent glyph. All fills are brand vars, corners rx=4.
|
|
107
|
-
function ProductArt({ hue, label }: { hue:
|
|
112
|
+
function ProductArt({ hue, label }: { hue: SceneHue; label: string }) {
|
|
108
113
|
return (
|
|
109
114
|
<SceneFrame
|
|
110
115
|
label={`${label} artwork`}
|
|
@@ -291,7 +296,6 @@ function StorePreview({ products, isMobile }: { products: ProductSpec[]; isMobil
|
|
|
291
296
|
label="Add to cart"
|
|
292
297
|
variant="secondary"
|
|
293
298
|
size="sm"
|
|
294
|
-
href="#/templates/theme-showcase"
|
|
295
299
|
style={{ flex: 1 }}
|
|
296
300
|
/>
|
|
297
301
|
</HStack>
|
|
@@ -579,8 +583,10 @@ function LatestActivityCard({ isMobile }: { isMobile: boolean }) {
|
|
|
579
583
|
flex: 1,
|
|
580
584
|
minHeight: 0,
|
|
581
585
|
overflow: "hidden",
|
|
582
|
-
maskImage:
|
|
583
|
-
|
|
586
|
+
maskImage:
|
|
587
|
+
"linear-gradient(to bottom, black calc(100% - var(--spacing-12)), transparent)",
|
|
588
|
+
WebkitMaskImage:
|
|
589
|
+
"linear-gradient(to bottom, black calc(100% - var(--spacing-12)), transparent)",
|
|
584
590
|
// Cancel the Item inline inset with the inset ITSELF: core
|
|
585
591
|
// publishes it as --_item-inset-inline (0.6.7), and it
|
|
586
592
|
// tracks density and theme overrides. A literal spacing
|
|
@@ -612,11 +618,12 @@ function LatestActivityCard({ isMobile }: { isMobile: boolean }) {
|
|
|
612
618
|
aria-hidden="true"
|
|
613
619
|
style={{
|
|
614
620
|
// Center supplies the 32px box and the centering; only the
|
|
615
|
-
// paint stays here. Surface, not muted:
|
|
616
|
-
// #
|
|
617
|
-
//
|
|
618
|
-
//
|
|
619
|
-
//
|
|
621
|
+
// paint stays here. Surface, not muted: muted is the
|
|
622
|
+
// RECESSED well (#21222C) since the token change, and this
|
|
623
|
+
// chip is a plate on the card, not a hole in it — the same
|
|
624
|
+
// tier ProductSwatch paints its plate with. The chip is
|
|
625
|
+
// aria-hidden decorative art, so it clears the 3:1
|
|
626
|
+
// non-text bar as-is.
|
|
620
627
|
borderRadius: "var(--radius-element)",
|
|
621
628
|
backgroundColor: "var(--color-background-surface)",
|
|
622
629
|
color: "var(--color-text-secondary)",
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
type: "page",
|
|
3
|
+
name: "Work Item Detail",
|
|
4
|
+
description:
|
|
5
|
+
"Tracked task record with checklist, attachments, activity feed and a properties rail",
|
|
6
|
+
keywords: ["work item", "task detail", "issue", "subtasks", "activity", "properties", "comments"],
|
|
7
|
+
category: "product",
|
|
8
|
+
};
|