@trading-game/design-intelligence-layer 0.10.0 → 0.11.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 CHANGED
@@ -83,7 +83,7 @@ npm install react react-dom tailwindcss
83
83
 
84
84
  ## What's inside
85
85
 
86
- - **55 UI components** — buttons, forms, dialogs, charts, sidebars, and more
86
+ - **56 UI components** — buttons, forms, dialogs, charts, sidebars, and more
87
87
  - **Design tokens** — CSS custom properties for color, radius, typography, and transitions synced from Figma
88
88
  - **Transition tokens** — semantic duration and easing tokens (`duration-base`, `ease-standard`, etc.) — no hardcoded `duration-200` anywhere
89
89
  - **Light-only theme** — white backgrounds, black text, primary blue accents — no dark mode
@@ -129,6 +129,7 @@ npm install react react-dom tailwindcss
129
129
  | Link | `Link` |
130
130
  | Menubar | `Menubar, MenubarMenu, MenubarTrigger, MenubarContent, ...` |
131
131
  | Native Select | `NativeSelect, NativeSelectOptGroup, NativeSelectOption` |
132
+ | Navigation Button | `NavigationButton, navigationButtonVariants` |
132
133
  | Navigation Menu | `NavigationMenu, NavigationMenuList, NavigationMenuTrigger, ...` |
133
134
  | Pagination | `Pagination, PaginationContent, PaginationLink, ...` |
134
135
  | Popover | `Popover, PopoverTrigger, PopoverContent, PopoverAnchor` |
@@ -185,6 +186,23 @@ Blocks are pre-composed UI patterns built from design system primitives. They ar
185
186
  <Button size="icon-xs" /> // 24px square
186
187
  ```
187
188
 
189
+ ## Navigation Button
190
+
191
+ An icon-only tertiary button for navigation actions. Transparent background, black icon color (`text-on-prominent`), grey hover (`bg-secondary-hover`). All sizes follow the 8-point grid.
192
+
193
+ ```tsx
194
+ <NavigationButton size="lg" aria-label="Home"><HomeIcon /></NavigationButton>
195
+ ```
196
+
197
+ | Size | Button | Icon |
198
+ |------|--------|------|
199
+ | `lg` | 48px | 24px |
200
+ | `md` | 40px | 20px |
201
+ | `sm` | 32px | 20px |
202
+ | `xs` | 24px | 16px |
203
+
204
+ States: hover (`bg-secondary-hover`), focus (3px `ring-ring/50`), active (`opacity-60`), disabled (`opacity-24`). Supports `asChild` for custom elements.
205
+
188
206
  ## Badge variants
189
207
 
190
208
  ```tsx
@@ -241,6 +259,15 @@ The `lg` variant of `Link` uses `text-base` (16px). The `md` and `sm` variants u
241
259
  <Link size="sm" /> // 12px — font-xs
242
260
  ```
243
261
 
262
+ ### Select — sizes
263
+ `SelectTrigger` accepts a `size` prop with three values matching the `Input` height scale:
264
+
265
+ ```tsx
266
+ <SelectTrigger size="sm" /> // h-8 (32px) — text-xs
267
+ <SelectTrigger size="md" /> // h-10 (40px) — text-sm (default)
268
+ <SelectTrigger size="lg" /> // h-12 (48px) — text-base
269
+ ```
270
+
244
271
  ### Tabs — line variant hover
245
272
  On the `line` variant, hover state shows `text-primary` (blue) with no background fill. On the `default` (pill) variant, hover shows a grey background with `text-on-prominent`.
246
273
 
@@ -274,6 +301,7 @@ All tokens are CSS custom properties, loaded automatically via `@trading-game/de
274
301
  | `text-on-prominent` | `#000000` | Primary text on light backgrounds |
275
302
  | `text-on-prominent-static-inverse` | `#FFFFFF` | Always white — for text on dark/primary backgrounds |
276
303
  | `text-on-subtle` | mid grey | Secondary / supporting text |
304
+ | `text-on-disabled` | `#BBBBBB` | Disabled / inactive text |
277
305
 
278
306
  | `text-primary` | `#2323FF` | Brand blue inline text |
279
307
  | `text-semantic-win` | green | Profit / positive text |
@@ -480,6 +508,7 @@ See node_modules/@trading-game/design-intelligence-layer/README.md for complete
480
508
  | `bg-white` | `bg-prominent` or `bg-card` | Not a semantic token |
481
509
  | `text-white` | `text-on-prominent-static-inverse` | Use the semantic inverse token |
482
510
  | `text-black` | `text-on-prominent` | Not a semantic token |
511
+ | `text-gray-400` | `text-on-disabled` | Use the disabled text token |
483
512
  | `bg-black/50` | `bg-overlay` | Overlay has its own token |
484
513
  | `bg-[#2323FF]` | `bg-primary` | Hardcoded hex — use token |
485
514
  | `border-border` | `border-border-subtle` | Old name — prefer the new explicit name |
@@ -548,6 +577,11 @@ Design tokens are managed in Figma and exported as CSS variables. To update:
548
577
 
549
578
  ## Changelog
550
579
 
580
+ ### v0.10.1
581
+ - **TicketCard — Wallet icon:** Default icon in the circular badge is now a `Wallet` icon (replaces `CircleDollarSign`).
582
+ - **TicketCard — sentence case labels:** The label above the value (e.g. "Total balance") and the stub label (e.g. "Deposit") no longer apply `uppercase` or `tracking-widest`. Both render in sentence case with default letter spacing.
583
+ - **Select — sm / md / lg sizes:** `SelectTrigger` now accepts `size="sm"` (h-8, text-xs) | `"md"` (h-10, text-sm, **default**) | `"lg"` (h-12, text-base), matching the `Input` and `InputGroup` height scale. The previous `"default"` size alias is replaced by `"md"`.
584
+
551
585
  ### v0.10.0
552
586
  - **Demo app — responsive mobile layout:** The component playground is now fully mobile-friendly. Foundations / Components / Blocks navigation moves to a fixed bottom tab bar on mobile. A hamburger menu opens a slide-in Sheet to pick any component within the active tab. The desktop sidebar and inline tab switcher are unchanged.
553
587
  - **Sonner toast — mobile-aware behaviour:** Toasts now appear at `top-center` on mobile (single visible toast) and `bottom-right` on desktop (up to 3). Added custom token-based styling (`--on-prominent` background, inverse text, `font-display` title).