@nadicodeai/design-system 6.6.2 → 7.1.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/CONTEXT.md +3 -0
- package/DESIGN.md +5 -5
- package/package.json +1 -1
package/CONTEXT.md
CHANGED
|
@@ -14,6 +14,9 @@ _Avoid_: Palette, base theme
|
|
|
14
14
|
One product's visual rules for applying the Foundation. NadicodeAI has three Registers: website, Portal, and Nadia desktop.
|
|
15
15
|
_Avoid_: Theme, skin
|
|
16
16
|
|
|
17
|
+
**Placement**:
|
|
18
|
+
Where a component, asset or style is kept. `@nadicodeai/ui` and `@nadicodeai/design-system` hold the Foundation and what at least two products use; a component, asset or style one product alone needs lives in that product's own directory. Nadia's entry screen is the worked example: its room, presence and typed line left this package for `apps/nadia/hermes/apps/desktop/src/plugins/nadia/entry/`.
|
|
19
|
+
|
|
17
20
|
**Neutral spine**:
|
|
18
21
|
The achromatic colour roles that carry grounds, chrome, hierarchy, and every control in every Register. Chromatic colour is reserved for the semantic feedback roles, the verde brand accent in its scoped duties, the chart palettes, and the Agent identity palette.
|
|
19
22
|
|
package/DESIGN.md
CHANGED
|
@@ -332,7 +332,7 @@ Every value a role needs is carried by the role token itself; there is no numeri
|
|
|
332
332
|
- **Navigation selection** (`{colors.navigation-selection-bg}`, `{colors.navigation-selection-fg}`, `{colors.navigation-selection-hover}`): the selected destination in persistent product navigation, a neutral selection field. Selection is a place, not a meaning, so it holds by contrast on the neutral spine; cobalto belongs to the semantic info and running roles only. The dark counterparts are tuned independently for the black console. Resting and hover pairs clear AA for text, and the offset focus outline stays visible against both the selection fill and the adjacent canvas.
|
|
333
333
|
- **Semantic feedback** (`{colors.success}` = verde with `{colors.success-soft}`/`{colors.success-deep}`; `{colors.error}` = rosso funzionale `#d3302f` with `{colors.error-soft}`/`{colors.error-deep}`; `{colors.warning}` = giallo `#ffc220` with `{colors.warning-soft}`/`{colors.warning-deep}`; `{colors.info}` = cobalto `#1e3cff` with `{colors.info-soft}`/`{colors.info-deep}`): validation, caution, approval, and operational feedback. In each pair the `-soft` value is the tinted tag/banner ground and the `-deep` value is the AA-clearing text on it. On a solid `error` fill (the shadcn `destructive` role) text is white; on a solid `warning` or `success` fill text is ink. The success pair intentionally reuses the link pair's AA-safe verde values; its feedback meaning remains distinct from inline navigation and entity-status semantics.
|
|
334
334
|
- **Accent** (`{colors.accent}` = arancio `#ff5a1f`): a small emphasis mark for exception flags and highlights; it appears as a mark, carries no text, and paints no fill or background. The identically-named shadcn surface role is a different thing — a neutral (`{colors.canvas-soft-2}` light, `{colors.dark-canvas-soft-2}` dark) with no hue.
|
|
335
|
-
- **Verde vivo** (`{colors.verde-vivo}` = `#008c45`, dark `{colors.dark-verde-vivo}` = `#62d494`): Nadia's presence accent. It paints the marks that say *Nadia herself is here*, such as the success beat over her silhouette
|
|
335
|
+
- **Verde vivo** (`{colors.verde-vivo}` = `#008c45`, dark `{colors.dark-verde-vivo}` = `#62d494`): Nadia's presence accent. It paints the marks that say *Nadia herself is here*, such as the success beat over her silhouette on Nadia's entry screen. It is a mark colour, never a control fill, a text colour, a link, or a status; `action`, `link`, and `success` keep their jobs. It clears the 3:1 non-text floor on `{colors.canvas}` (4.3:1) and `{colors.dark-canvas}` (11.4:1) and carries no text of its own. White on it is 4.34:1, below AA for normal text, so a label never sits on a `verde-vivo` fill; the ring, halo, or portrait sits on it and the words sit on the canvas.
|
|
336
336
|
- **Workflow States** (`{colors.state-ready}` neutral, `{colors.state-running}` cobalto, `{colors.state-review}` giallo, `{colors.state-blocked}` rosso, `{colors.state-complete}` verde): the left-border/state vocabulary for agentic work surfaces — cobalto means in motion, verde means done. The dark counterparts (`{colors.dark-state-ready}`, `{colors.dark-state-running}`, `{colors.dark-state-review}`, `{colors.dark-state-blocked}`, `{colors.dark-state-complete}`) keep the same functional identity. These colours are carried by non-text state accents only — meter and bullet segments, delta marks, and the brand book's own rails; label text stays on the neutral foreground roles for contrast in both themes. Status is not one of their jobs: every status the product renders is the Badge status vocabulary (see `## Status Vocabulary`), which reads from the semantic feedback and link pairs, and the two token sets never cross.
|
|
337
337
|
|
|
338
338
|
### Chart categoricals (functional tier)
|
|
@@ -372,10 +372,10 @@ the condition of the measured allowance, for example, or an operational access
|
|
|
372
372
|
state. Those meanings are not interchangeable. Keep the measure, tone, label,
|
|
373
373
|
and explanation consistent with the chosen scope; a ratio reaching its end
|
|
374
374
|
does not independently establish the state of another capability. The
|
|
375
|
-
foundation does not choose a product's colour
|
|
375
|
+
foundation does not choose a product's colour entry screens or reinterpret a
|
|
376
376
|
recorded balance as an access guarantee.
|
|
377
377
|
|
|
378
|
-
At panel scale, show the product-configured
|
|
378
|
+
At panel scale, show the product-configured entry screen and cap ticks. Overflow
|
|
379
379
|
continues past the cap as a distinct segment. At row scale, use a percentage and thin
|
|
380
380
|
bar on one line, omitting ticks and tip labels that cannot read at that size.
|
|
381
381
|
Row scale is comparison geometry, not a warning-only variant. Both scales keep
|
|
@@ -389,7 +389,7 @@ only explanation.
|
|
|
389
389
|
|
|
390
390
|
### Delta and trend encoding
|
|
391
391
|
|
|
392
|
-
- **Delta and trend encoding**: a change reads as a direction glyph plus a tone token, never bare signed text and never color alone. The glyph is ▲ ▼ in running text and a trend arrow in a KPI card's top-right badge. Tone follows direction crossed with whether up is good in that context. Sparklines normalize against a meaningful baseline, never the visible min-max span alone.
|
|
392
|
+
- **Delta and trend encoding**: a change reads as a direction glyph plus a tone token, never bare signed text and never color alone. The glyph is ▲ ▼ in running text and a trend arrow in a KPI card's top-right badge. Tone follows direction crossed with whether up is good in that context. Sparklines normalize against a meaningful baseline, never the visible min-max span alone. A ranked "what moved" list uses the same arrow-and-tone encoding as the KPI badge, and a figure with no comparison shows no badge rather than a zero change.
|
|
393
393
|
|
|
394
394
|
### Legends and labels
|
|
395
395
|
|
|
@@ -409,7 +409,7 @@ All body, title, caption, and code typography uses `letterSpacing: 0px`. Do not
|
|
|
409
409
|
| ----------------------------- | ---- | ------ | ----------- | -------------------------------------------------------------------------- |
|
|
410
410
|
| `{typography.display-xl}` | 72px | 600 | 74px | Hero headline at the widest breakpoint. |
|
|
411
411
|
| `{typography.display-lg}` | 52px | 600 | 54px | Compact hero and major landing headlines. |
|
|
412
|
-
| `{typography.display-md}` | 24px | 600 | 32px | Compact display tier: action bands, plan names,
|
|
412
|
+
| `{typography.display-md}` | 24px | 600 | 32px | Compact display tier: action bands, plan names, an entry screen's sentence. |
|
|
413
413
|
| `{typography.display-sm}` | 20px | 600 | 28px | Small display tier for inline display headings. |
|
|
414
414
|
| `{typography.title-lg}` | 40px | 600 | 41px | Major section headings. |
|
|
415
415
|
| `{typography.title-md}` | 30px | 600 | 32px | Standard section title. |
|