@trading-game/design-intelligence-layer 0.11.0 → 0.12.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/README.md +13 -1
- package/dist/index.cjs +145 -77
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +44 -9
- package/dist/index.d.ts +44 -9
- package/dist/index.js +145 -79
- package/dist/index.js.map +1 -1
- package/guides/design-system-guide/trading-game-ds-guide.md +14 -8
- package/package.json +1 -1
- package/src/styles.css +21 -0
|
@@ -135,12 +135,14 @@ import { Button, Card, Badge } from "@trading-game/design-intelligence-layer"
|
|
|
135
135
|
|
|
136
136
|
### 2.3 — Semantic (Trading Status)
|
|
137
137
|
|
|
138
|
-
| CSS Variable
|
|
139
|
-
|
|
|
140
|
-
| `--semantic-win`
|
|
141
|
-
| `--semantic-loss`
|
|
142
|
-
| `--semantic-warning`
|
|
143
|
-
| `--semantic-info`
|
|
138
|
+
| CSS Variable | Tailwind Class | Usage |
|
|
139
|
+
| -------------------------- | ------------------------------------------- | --------------------------------------------- |
|
|
140
|
+
| `--semantic-win` | `text-semantic-win` / `bg-semantic-win` | Win / Profit / Positive outcomes |
|
|
141
|
+
| `--semantic-loss` | `text-semantic-loss` / `bg-semantic-loss` | Loss / Negative outcomes |
|
|
142
|
+
| `--semantic-warning` | `text-semantic-warning` / `bg-semantic-warning` | Warning / Caution / Non-destructive alerts |
|
|
143
|
+
| `--semantic-info` | `text-semantic-info` / `bg-semantic-info` | Informational alerts |
|
|
144
|
+
| `--semantic-credit` | `bg-semantic-credit` | Credit / bonus badge background (`#F9840F` amber-orange) |
|
|
145
|
+
| `--semantic-credit-text` | `text-semantic-credit-text` | Credit / bonus badge foreground (`#713813` dark amber) |
|
|
144
146
|
|
|
145
147
|
> All semantic tokens support opacity variants (e.g. `bg-semantic-warning/10` for tinted backgrounds). For structured alpha surfaces, use the primitive alpha scales — see Section 2.10.
|
|
146
148
|
|
|
@@ -273,6 +275,7 @@ import { Button, Card, Badge } from "@trading-game/design-intelligence-layer"
|
|
|
273
275
|
| Show WIN / profit / positive | `text-semantic-win` | Primary blue for profit |
|
|
274
276
|
| Show LOSS / negative | `text-semantic-loss` | Any non-token red |
|
|
275
277
|
| Show WARNING / caution | `text-semantic-warning` | Raw orange hex or primary tint |
|
|
278
|
+
| Show a credit / bonus badge | `<Badge variant="fill-credit">` (uses `bg-semantic-credit` + `text-semantic-credit-text`) | Hardcoded amber hex values |
|
|
276
279
|
| Color a tab container background | `bg-tabs` | `bg-subtle` for tabs |
|
|
277
280
|
| Color an active/selected tab | `bg-tabs-active` | `bg-prominent` for active tab |
|
|
278
281
|
| Color a page background | `bg-prominent` | `bg-white` directly |
|
|
@@ -553,7 +556,8 @@ import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, Dialog
|
|
|
553
556
|
| Table | [composed] | TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption |
|
|
554
557
|
| Tabs | [composed] | TabsList (`variant`: default/line, `size`: sm/md/lg), TabsTrigger (`iconPosition`: inline/top), TabsContent. Root accepts `orientation`: horizontal/vertical. |
|
|
555
558
|
| Textarea | [simple] | — |
|
|
556
|
-
| TicketCard | [composed] | — (icon
|
|
559
|
+
| TicketCard | [composed] | — (`icon`, `label`, `value`, `currency`, `stubLabel`, `onStubClick`, `stubDisabled`, `compact`) |
|
|
560
|
+
| CreditTicketCard | [composed] | — (`icon`, `label`, `value`, `currency`, `stubLabel`, `onStubClick`, `stubDisabled`, `creditAmount`, `creditCurrency`, `compact`) — use when a credit badge must appear below the value |
|
|
557
561
|
| Toggle | [simple] | — |
|
|
558
562
|
| ToggleGroup | [composed] | ToggleGroupItem |
|
|
559
563
|
| Tooltip | [composed] | TooltipTrigger, TooltipContent, TooltipProvider |
|
|
@@ -582,7 +586,9 @@ These are styling behaviors you can't discover from TypeScript types alone:
|
|
|
582
586
|
| Slider | Thumb: square `rounded-[4px]`, `bg-primary`. Track range: `bg-slider-range` |
|
|
583
587
|
| Dialog/Sheet | Footer buttons should use `size="md"`. Overlay: `bg-overlay` |
|
|
584
588
|
| Menubar | Hover: `bg-primary/[0.08]`. Open state: `bg-primary/10` |
|
|
585
|
-
|
|
|
589
|
+
| Badge | Variants: `default` (solid blue), `default-success`, `default-fail`; `fill` (blue tint), `fill-success`, `fill-fail`, `fill-warning`; `fill-credit` (amber-orange tint — `bg-semantic-credit/16` bg + `text-semantic-credit-text` foreground — use for credit/bonus labels, always pair with a `TicketPlus` icon); `outline`; `ghost`, `ghost-success`, `ghost-fail`. Base class no longer applies `tracking-wide` — letter spacing is default. |
|
|
590
|
+
| TicketCard | **Icon:** pass any `ReactNode` via `icon`. Icon container: `size-10` rounded-full, `border-2 border-primary`, `text-primary`. **Labels:** `label` (above value) and `stubLabel` (stub button) render in sentence case — do NOT apply `uppercase` or `tracking-widest`. Stub: `w-[100px]` `bg-primary` button, `text-on-prominent-static-inverse`, shimmer sweep animation. Disabled stub: `opacity-50`, `cursor-not-allowed`. Perforation notches sit outside the card box — do NOT put `overflow-hidden` on the card wrapper. **`compact`** (default `false`): `true` = mobile layout — reduces left-content horizontal padding from `px-4 gap-4` to `px-2 gap-2`. **For credit use cases:** use `CreditTicketCard` instead — it renders a `<Badge variant="fill-credit">` inline below the value. |
|
|
591
|
+
| CreditTicketCard | Same visual shell as `TicketCard` (perforation notches, tear-line, shimmer stub). The card height is **variable** (grows with content via `py-4`) rather than fixed at `h-20`. Credit is displayed as an inline `<Badge variant="fill-credit" size="sm">` with a `TicketPlus` icon: *"Credit: {creditAmount} {creditCurrency}"*. Tokens used: `bg-subtle`, `bg-primary`, `bg-primary-hover`, `text-on-prominent-static-inverse`, `bg-semantic-credit/16`, `text-semantic-credit-text`. Supports `compact` prop for mobile layout (same padding reduction as `TicketCard`). |
|
|
586
592
|
| Toggle | Pressed: `bg-primary/10` + `border-primary` + `text-primary` |
|
|
587
593
|
| Calendar | Selected: `bg-secondary-hover` + `text-primary font-bold`. Today: primary dot below date |
|
|
588
594
|
|
package/package.json
CHANGED
package/src/styles.css
CHANGED
|
@@ -48,6 +48,8 @@
|
|
|
48
48
|
--color-semantic-win: var(--semantic-win);
|
|
49
49
|
--color-semantic-loss: var(--semantic-loss);
|
|
50
50
|
--color-semantic-warning: var(--semantic-warning);
|
|
51
|
+
--color-semantic-credit: var(--semantic-credit);
|
|
52
|
+
--color-semantic-credit-text: var(--semantic-credit-text);
|
|
51
53
|
--color-alert-info-text: var(--alert-info-text);
|
|
52
54
|
--color-alert-info-border: var(--alert-info-border);
|
|
53
55
|
--color-alert-error-text: var(--alert-error-text);
|
|
@@ -164,6 +166,14 @@
|
|
|
164
166
|
--primitive-orange-400: oklch(0.751 0.179 58.3);
|
|
165
167
|
/* #FF8C00 */
|
|
166
168
|
|
|
169
|
+
/* ── Amber ── */
|
|
170
|
+
--primitive-amber-500: oklch(0.74 0.18 72);
|
|
171
|
+
/* #ef9f00 — golden amber; ticket credit progress fill */
|
|
172
|
+
--primitive-amber-600: #F9840F;
|
|
173
|
+
/* #F9840F — warm orange-amber; credit badge background base */
|
|
174
|
+
--primitive-amber-800: oklch(0.40 0.10 52);
|
|
175
|
+
/* #713813 — dark amber/brown; ticket credit label text */
|
|
176
|
+
|
|
167
177
|
/* ── Violet ── */
|
|
168
178
|
--primitive-violet-500: oklch(0.601 0.263 301.6);
|
|
169
179
|
/* #A040FF */
|
|
@@ -259,8 +269,13 @@
|
|
|
259
269
|
--semantic-info: var(--primitive-sky-600);
|
|
260
270
|
--semantic-error: var(--primitive-red-600);
|
|
261
271
|
--semantic-warning: var(--primitive-orange-500);
|
|
272
|
+
--semantic-credit: var(--primitive-amber-600);
|
|
273
|
+
/* #F9840F — credit badge background */
|
|
274
|
+
--semantic-credit-text: var(--primitive-amber-800);
|
|
275
|
+
/* #713813 — credit badge foreground */
|
|
262
276
|
--tabs: var(--primitive-mono-alpha-4);
|
|
263
277
|
--tabs-active: var(--primitive-mono-50);
|
|
278
|
+
|
|
264
279
|
--semantic-layout-diagram-max-default: var(--primitive-layout-diagram-max-default);
|
|
265
280
|
--semantic-layout-diagram-max-small: var(--primitive-layout-diagram-max-small);
|
|
266
281
|
--semantic-layout-diagram-max-medium: var(--primitive-layout-diagram-max-medium);
|
|
@@ -357,6 +372,12 @@
|
|
|
357
372
|
}
|
|
358
373
|
}
|
|
359
374
|
|
|
375
|
+
/* Ticket card stub — shimmer sweep across deposit/action button */
|
|
376
|
+
@keyframes stub-shimmer {
|
|
377
|
+
0% { transform: translateX(-100%); }
|
|
378
|
+
100% { transform: translateX(100%); }
|
|
379
|
+
}
|
|
380
|
+
|
|
360
381
|
/* Spinner — pill-style activity indicator */
|
|
361
382
|
@keyframes spinner-fade {
|
|
362
383
|
0% {
|