@nadicodeai/design-system 5.3.6 → 6.0.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/DESIGN.md +73 -95
- package/dist/css/index.css +1 -7
- package/dist/css/tokens.css +0 -6
- package/dist/tailwind/nadicode.tailwind.json +0 -6
- package/dist/tokens/nadicode.dtcg-resolved.json +0 -88
- package/dist/tokens/nadicode.dtcg.json +1 -73
- package/package.json +2 -14
- package/dist/assets/nadia-02-ordered-points.png +0 -0
- package/dist/assets/nadia-03-triangulated-wire.png +0 -0
- package/dist/assets/nadia-04-irregular-particles.png +0 -0
package/DESIGN.md
CHANGED
|
@@ -44,7 +44,6 @@ colors:
|
|
|
44
44
|
warning: "#ffc220"
|
|
45
45
|
warning-soft: "#fff3d1"
|
|
46
46
|
warning-deep: "#7a5800"
|
|
47
|
-
flag-red: "#d3302f"
|
|
48
47
|
verde-vivo: "#008c45"
|
|
49
48
|
selection-bg: "#111111"
|
|
50
49
|
selection-fg: "#fafafa"
|
|
@@ -56,8 +55,6 @@ colors:
|
|
|
56
55
|
state-review: "#ffc220"
|
|
57
56
|
state-blocked: "#d3302f"
|
|
58
57
|
state-complete: "#00a85a"
|
|
59
|
-
background-100: "#ffffff"
|
|
60
|
-
background-200: "#fafafa"
|
|
61
58
|
identity-verde: "#00a85a"
|
|
62
59
|
identity-rosso: "#d3302f"
|
|
63
60
|
identity-arancio: "#ff5a1f"
|
|
@@ -110,9 +107,6 @@ colors:
|
|
|
110
107
|
dark-info: "#8098ff"
|
|
111
108
|
dark-info-soft: "#070f47"
|
|
112
109
|
dark-info-deep: "#b3c1ff"
|
|
113
|
-
dark-cyan: "#33d1cb"
|
|
114
|
-
dark-cyan-soft: "#7ee8de"
|
|
115
|
-
dark-cyan-deep: "#1f9e9a"
|
|
116
110
|
dark-success: "#17bd68"
|
|
117
111
|
dark-success-soft: "#00351c"
|
|
118
112
|
dark-success-deep: "#93e3b8"
|
|
@@ -296,7 +290,7 @@ One foundation, three registers. The foundation is every `core` value in this co
|
|
|
296
290
|
|
|
297
291
|
A register decides where a foundation value appears and adds rules of its own. It never redefines a foundation value and never mints one: a value its physics need and the foundation lacks is authored in this contract under `register.<name>`.
|
|
298
292
|
|
|
299
|
-
|
|
293
|
+
`DESIGN.md` defines the reusable contract and exported scalar tokens; the `@nadicodeai/design-system/css` bundle (`src/css/**`) realises that contract. Homepage copy, page-specific ordering, and temporary prototypes do not belong in this file.
|
|
300
294
|
|
|
301
295
|
## Colors
|
|
302
296
|
|
|
@@ -304,7 +298,7 @@ Neutrals carry the interface: grounds, chrome, hierarchy, and every control come
|
|
|
304
298
|
|
|
305
299
|
Interaction states are material, not meaning: focus, hover, and selection read as contrast steps on the neutral spine. A hover ground is a neutral step; the only change a control hover carries is a step inside its own family, as `{colors.action-hover}` does on the action control. Cobalto stays on info and running.
|
|
306
300
|
|
|
307
|
-
Every value a role needs is carried by the role token itself;
|
|
301
|
+
Every value a role needs is carried by the role token itself; there is no numeric scale family. The neutral spine — `{colors.ink}`, `{colors.body}`, `{colors.muted}`, `{colors.canvas}`, `{colors.canvas-soft}`, `{colors.canvas-soft-2}`, `{colors.line}`, `{colors.seam}` — is strictly achromatic: every neutral is an equal-channel gray (OKLCH chroma 0) in both themes. The five identity-palette hues are cross-spectrum equals, so any neutral bias would flatter one and dirty another; hue arrives full-strength through the chromatic roles or not at all, and no tint ever paints an app surface. Colours are authored as sRGB hex here and emitted as `oklch()` in the generated CSS.
|
|
308
302
|
|
|
309
303
|
### Semantic roles (functional tier)
|
|
310
304
|
|
|
@@ -318,8 +312,7 @@ Every value a role needs is carried by the role token itself; the ten-step numer
|
|
|
318
312
|
- **Navigation selection** (`{colors.navigation-selection-bg}`, `{colors.navigation-selection-fg}`, `{colors.navigation-selection-hover}`): the selected destination in persistent product navigation, a neutral ink pill. 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 pill fill and the adjacent canvas.
|
|
319
313
|
- **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.
|
|
320
314
|
- **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.
|
|
321
|
-
- **
|
|
322
|
-
- **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*: the first-run medallion, a live-presence indicator beside her portrait. 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.
|
|
315
|
+
- **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 at a threshold (`@nadicodeai/ui/threshold`). 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.
|
|
323
316
|
- **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.
|
|
324
317
|
|
|
325
318
|
### Chart categoricals (functional tier)
|
|
@@ -337,8 +330,6 @@ Five full-strength hues are the system's expressive chromatic range: verde `{col
|
|
|
337
330
|
|
|
338
331
|
This achromatic-neutral discipline is not dark-specific: it governs the generated shadcn surface-role bridge in both the light `:root` and dark `.dark` maps. The neutral surface family — `background`, `card`, `popover`, `muted`, `secondary`, `sidebar`, `sidebar-accent`, their neutral foreground/border variants, plus `border` and `input` — resolves only to exact equal-channel grays (OKLCH chroma 0) in both themes. Hue in the role bridge is reserved for the explicit semantic roles `destructive`, `success`, and `warning`; `primary` resolves to the neutral action family. The focus rings (`ring`/`sidebar-ring`) and the `sidebar-primary*` navigation-selection family resolve to equal-channel grays like the surface family: focus and selection are material states, and no interaction state carries a hue. In dark product shells, `background`, `card`, `popover`, and `sidebar` share `{colors.dark-canvas}` so page chrome, cards, tables, overlays, and nav rails read as one console. `muted`, `secondary`, and `accent` retain the `dark-canvas-soft` steps for small interaction states such as hover, selected rows, keycaps, and inline controls. Large product surfaces never take a tinted or soft-panel fill by default.
|
|
339
332
|
|
|
340
|
-
A colour leaves this contract only through an explicit palette migration decision; what the current website kernel happens to consume is not palette authority.
|
|
341
|
-
|
|
342
333
|
## Data Visualization
|
|
343
334
|
|
|
344
335
|
### Entity-color assignment
|
|
@@ -352,7 +343,7 @@ A colour leaves this contract only through an explicit palette migration decisio
|
|
|
352
343
|
|
|
353
344
|
### Meter and bullet grammar
|
|
354
345
|
|
|
355
|
-
- **Meter and bullet grammar**: cap and included-usage bars carry a positional threshold tick at the product-configured warning fraction (80% is the common default; the fraction is a consumer input, never a constant of this contract) and a cap tick at 100%. Overflow renders as a distinct segment continuing past the cap tick, never clamped away. Severity state tokens (`{colors.state-*}`) reinforce position, never act as the sole signal. The current value reads at the bar tip. Every meter carries an accessible name, and its `aria` values clamp to the meter maximum. A meter has two scales. At panel scale the grammar above holds whole. At row scale — a meter inside a
|
|
346
|
+
- **Meter and bullet grammar**: cap and included-usage bars carry a positional threshold tick at the product-configured warning fraction (80% is the common default; the fraction is a consumer input, never a constant of this contract) and a cap tick at 100%. Overflow renders as a distinct segment continuing past the cap tick, never clamped away. Severity state tokens (`{colors.state-*}`) reinforce position, never act as the sole signal. The current value reads at the bar tip. Every meter carries an accessible name, and its `aria` values clamp to the meter maximum. A meter has two scales. At panel scale the grammar above holds whole. At row scale — a meter inside a list row, shown only once the value is already past the warning rung — it is a warning rather than a gauge: it drops both ticks and the tip value for a percent and a thin bar on one line, because a row cannot encode position legibly and the reader is asking how close the wall is, not how many. The overflow segment and the accessible name survive at both scales; the words a caption would have printed live in that name.
|
|
356
347
|
|
|
357
348
|
### Mark specs
|
|
358
349
|
|
|
@@ -378,11 +369,11 @@ All body, title, caption, and code typography uses `letterSpacing: 0px`. Do not
|
|
|
378
369
|
|
|
379
370
|
| Token | Size | Weight | Line Height | Use |
|
|
380
371
|
| ----------------------------- | ---- | ------ | ----------- | -------------------------------------------------------------------------- |
|
|
381
|
-
| `{typography.display-xl}` | 72px | 600 | 74px |
|
|
372
|
+
| `{typography.display-xl}` | 72px | 600 | 74px | Hero headline at the widest breakpoint. |
|
|
382
373
|
| `{typography.display-lg}` | 52px | 600 | 54px | Compact hero and major landing headlines. |
|
|
383
|
-
| `{typography.display-md}` | 24px | 600 | 32px |
|
|
384
|
-
| `{typography.display-sm}` | 20px | 600 | 28px |
|
|
385
|
-
| `{typography.title-lg}` | 40px | 600 | 41px |
|
|
374
|
+
| `{typography.display-md}` | 24px | 600 | 32px | Compact display tier: action bands, plan names, a threshold's sentence. |
|
|
375
|
+
| `{typography.display-sm}` | 20px | 600 | 28px | Small display tier for inline display headings. |
|
|
376
|
+
| `{typography.title-lg}` | 40px | 600 | 41px | Major section headings. |
|
|
386
377
|
| `{typography.title-md}` | 30px | 600 | 32px | Standard section title. |
|
|
387
378
|
| `{typography.title-sm}` | 22px | 600 | 25px | Cell and artifact titles. |
|
|
388
379
|
| `{typography.body-lg}` | 18px | 400 | 27px | Hero/lead paragraphs. |
|
|
@@ -394,7 +385,7 @@ All body, title, caption, and code typography uses `letterSpacing: 0px`. Do not
|
|
|
394
385
|
| `{typography.caption-strong}` | 12px | 500 | 16px | Compact emphasised labels on chrome and chips. |
|
|
395
386
|
| `{typography.caption-mono}` | 12px | 500 | 16px | Eyebrows, identifiers and code. |
|
|
396
387
|
| `{typography.code}` | 13px | 400 | 20px | Tool calls, snippets, traces. |
|
|
397
|
-
| `{typography.button-lg}` | 16px | 500 | 24px |
|
|
388
|
+
| `{typography.button-lg}` | 16px | 500 | 24px | Large button labels. |
|
|
398
389
|
| `{typography.button-md}` | 14px | 500 | 18px | Standard button and control labels. |
|
|
399
390
|
|
|
400
391
|
## Layout
|
|
@@ -473,7 +464,7 @@ Height tokens are fixed by component family and breakpoint. Components may grow
|
|
|
473
464
|
|
|
474
465
|
Page shells must prevent horizontal scrollbars when a mathematically aligned full-bleed surface uses viewport width. Clip horizontal overflow at the shell/root level; do not hide overflow on structural cells to mask bad seam math.
|
|
475
466
|
|
|
476
|
-
|
|
467
|
+
Compositions arrange approved primitives for a content role. They must not redefine page-frame math, row seams, marker placement, side-fill ownership, active-lane spans, or global guide primitives. If a composition needs new structural geometry, promote that geometry into the page grammar or a real component first.
|
|
477
468
|
|
|
478
469
|
### Delivery Tiers
|
|
479
470
|
|
|
@@ -513,16 +504,14 @@ Page grammar is the NadicodeAI structural system. It defines how pages are built
|
|
|
513
504
|
|
|
514
505
|
**`rule-svg`** — bounded dashed connector rule. Uses `{colors.seam}` and never overlaps a cell seam.
|
|
515
506
|
|
|
516
|
-
|
|
507
|
+
Reusable section compositions ship as React components from `@nadicodeai/ui`, composed over the page grammar above; the page grammar is the framework-agnostic foundation they assemble.
|
|
517
508
|
|
|
518
509
|
### Related Layout Helpers
|
|
519
510
|
|
|
520
|
-
|
|
511
|
+
This live helper is part of the kept page-grammar layout layer. It supports index-style page assemblies rather than naming an interface component.
|
|
521
512
|
|
|
522
513
|
**`index-grid`** — layout helper for index-style page assemblies (blog, learn, and case-study rows whose guide layer owns the dividers).
|
|
523
514
|
|
|
524
|
-
**`article-frame`** — layout helper for the long-form reading companion in article/index page assemblies.
|
|
525
|
-
|
|
526
515
|
`index-card` is the repeated item class inside `index-grid`, not a standalone contract key.
|
|
527
516
|
|
|
528
517
|
## Elevation & Depth
|
|
@@ -531,7 +520,7 @@ Product UI uses one shared material ladder. The workspace is one continuous grou
|
|
|
531
520
|
|
|
532
521
|
Glass is a material variant, not an elevation step. Floating chrome may be glass: menus, popovers, selects, comboboxes, the command palette, and bars, the surfaces that stand over the room and show it through themselves. Content surfaces stay solid: cards, KPIs, tables, inspectors, and dialog, sheet, and drawer bodies, because glass floats but never carries content. Inside the window, glass composites only over our own content; a product whose window the operating system composites states its window material in its register. Glass keeps exactly one separator, the integrated edge ring of its elevation falloff, never ring plus shadow plus border stacked. Reduced-transparency mode replaces glass with the same solid material at the same elevation.
|
|
533
522
|
|
|
534
|
-
The
|
|
523
|
+
The material and elevation values are authored in the one `json design-tokens` fence under "CSS Architecture & Token Pipeline", "Authored token extension". `core.material` holds the four values this section applies and emits them as `--nc-material-*`: `scrim-opacity` becomes the theme layer's `--opacity-scrim`, and the three glass values are consumed by `@nadicodeai/ui/globals.css`. `core.elevation` holds the four rungs and emits `--nc-elevation-resting`, `-raised`, `-floating`, and `-modal`.
|
|
535
524
|
|
|
536
525
|
| Material role | Construction | Use |
|
|
537
526
|
| ------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
@@ -568,7 +557,7 @@ Public page-grammar cells are not cards and remain square because their parent f
|
|
|
568
557
|
|
|
569
558
|
Motion reports state: things move when something changes, briefly, and settle. Continuous, ambient motion is scarce and purposeful — the Agent identity visuals are its natural carrier — and repeated interactions stay fast and quiet. Motion preserves meaning when movement is reduced.
|
|
570
559
|
|
|
571
|
-
The durations and easings live in `core.motion` of the authored token extension ("CSS Architecture & Token Pipeline")
|
|
560
|
+
The durations and easings live in `core.motion` of the authored token extension ("CSS Architecture & Token Pipeline"). The build emits every duration as `--nc-duration-*` and every easing as `--nc-ease-*`. `src/css/motion.css` owns the keyframes, the `nc-anim-*` and `nc-transition-*` classes, and the reduced-motion law, and references those names; it declares no duration, easing, or alias of its own. A register decides where motion appears; it never picks a duration outside this list.
|
|
572
561
|
|
|
573
562
|
| Token | Use |
|
|
574
563
|
| --- | --- |
|
|
@@ -596,7 +585,7 @@ A register adds rules. It never redefines a foundation value. A value one regist
|
|
|
596
585
|
| Portal | `apps/portal/docs/design-doctrine.md` | `register.portal.density`: `filter-chip-gap`, `filter-chip-height`, `filter-chip-icon` | System, light, dark, on the `.dark` class |
|
|
597
586
|
| Nadia desktop app | `apps/nadia/docs/design-doctrine.md` | `register.nadia.*`: colour-role and radius aliases; six deprecated elevation recipes and the legacy overlay border remain as compatibility data. New surfaces consume the foundation's material roles | Follows the operating system, on the `.dark` class |
|
|
598
587
|
|
|
599
|
-
The website's depth is flat and architectural: hairlines, contrast, dotted fields, diagonal fills, and dark action bands make hierarchy, and the page frame and row grid stay dominant. It uses no rung of the material ladder and no floating card stack as page structure. Marketing bands may use `register.website.layout.section`, emitted as `--nc-section`, when they need the broader inherited hero rhythm. The website
|
|
588
|
+
The website's depth is flat and architectural: hairlines, contrast, dotted fields, diagonal fills, and dark action bands make hierarchy, and the page frame and row grid stay dominant. It uses no rung of the material ladder and no floating card stack as page structure. Marketing bands may use `register.website.layout.section`, emitted as `--nc-section`, when they need the broader inherited hero rhythm. The website uses no negative letter spacing outside the two display tiers.
|
|
600
589
|
|
|
601
590
|
The Portal and the desktop are product shells on the material ladder above, each by its rulebook. The desktop's window material is the operating system's where the OS composites the window; inside the window the foundation's glass law holds.
|
|
602
591
|
|
|
@@ -614,7 +603,7 @@ Keyboard focus has one owner: the kit's foundation layer draws the full-opacity
|
|
|
614
603
|
|
|
615
604
|
**`badge-secondary`** — small rounded metadata badge for "New", "Beta", "Live", or similar labels.
|
|
616
605
|
|
|
617
|
-
**`filter-chip`** — removable selected-filter label. Neutral chrome only: `{colors.line}` border, muted/background fill, foreground text, compact radius, and an inline remove icon with a visible `:focus-visible` ring. It names the active facet/value pair and clears that facet; it does not carry lifecycle, workflow, product-tier, or feature-state color.
|
|
606
|
+
**`filter-chip`** — removable selected-filter label. Neutral chrome only: `{colors.line}` border, muted/background fill, foreground text, compact radius, and an inline remove icon with a visible `:focus-visible` ring. It names the active facet/value pair and clears that facet; it does not carry lifecycle, workflow, product-tier, or feature-state color.
|
|
618
607
|
|
|
619
608
|
**`link-inline`** — inline body link. Uses `{colors.link}` and normal body rhythm.
|
|
620
609
|
|
|
@@ -643,46 +632,38 @@ Agent identity is decorative product identity, not a work artifact or a status s
|
|
|
643
632
|
## Status Vocabulary
|
|
644
633
|
|
|
645
634
|
Status is the one thing every surface in the product says: an agent is active, a
|
|
646
|
-
key is revoked, an invitation is waiting, a run is blocked. It is said one way
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
terminal, no-action state; green on the link pair for healthy and complete; red
|
|
664
|
-
on the error pair for unusable and failed; amber on the warning pair for waiting
|
|
665
|
-
on a decision; blue on the info pair for a step in motion. One mark per tone, so
|
|
666
|
-
the shape repeats the tone rather than adding a second axis. The families —
|
|
667
|
-
which statuses exist and which tone each value takes — belong to the consuming
|
|
668
|
-
app, because they are its domain, not this contract's; the Portal keeps its
|
|
669
|
-
whole map in one module and no surface picks a status colour anywhere else.
|
|
635
|
+
key is revoked, an invitation is waiting, a run is blocked. It is said one way:
|
|
636
|
+
one badge carrying an icon and a word, in one of five semantic tones that only
|
|
637
|
+
reinforce both, so a status is legible without colour and no surface invents a
|
|
638
|
+
second grammar.
|
|
639
|
+
|
|
640
|
+
Each tone pairs a soft ground with its deep label from an existing semantic
|
|
641
|
+
pair: gray on the neutral spine for the default and every terminal, no-action
|
|
642
|
+
state; green on the link pair for healthy and complete; red on the error pair
|
|
643
|
+
for unusable and failed; amber on the warning pair for waiting on a decision;
|
|
644
|
+
blue on the info pair for a step in motion. One mark per tone, so the shape
|
|
645
|
+
repeats the tone rather than adding a second axis.
|
|
646
|
+
|
|
647
|
+
The carrier is the React `Badge` in `@nadicodeai/ui`, contracted in
|
|
648
|
+
[`packages/ui/docs/contract.md`](../ui/docs/contract.md). This package ships no
|
|
649
|
+
status class; a static surface shows a status as ordinary text. Which statuses
|
|
650
|
+
exist and which tone each takes belong to the consuming app, which keeps its
|
|
651
|
+
whole map in one module.
|
|
670
652
|
|
|
671
653
|
## System activity
|
|
672
654
|
|
|
673
|
-
System activity, measured progress and settled status share
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
655
|
+
System activity, measured progress and settled status share one visual
|
|
656
|
+
language. Activity is transient: it communicates ongoing work, then gives way
|
|
657
|
+
to content or outcome feedback. The activity family uses neutral ink for its
|
|
658
|
+
structure and the cobalto info role for moving foreground particles; success,
|
|
659
|
+
warning and error keep their meanings. Measurable completion uses progress,
|
|
660
|
+
and waiting for a person or a failed operation uses the feedback treatment.
|
|
678
661
|
|
|
679
|
-
`ActivityOrb` in `@nadicodeai/ui
|
|
680
|
-
connecting and processing. Its
|
|
662
|
+
The renderer is `ActivityOrb` in `@nadicodeai/ui`, with three activities:
|
|
663
|
+
loading, connecting and processing. Its motion recipes, operation mapping,
|
|
681
664
|
sizes and runtime behaviour are owned by
|
|
682
|
-
[`packages/ui/docs/activity.md`](../ui/docs/activity.md)
|
|
683
|
-
chooses the
|
|
684
|
-
completion uses progress, and waiting for a person or a failed operation uses
|
|
685
|
-
the existing feedback treatment.
|
|
665
|
+
[`packages/ui/docs/activity.md`](../ui/docs/activity.md); a consuming app
|
|
666
|
+
chooses the activity and supplies its readable meaning.
|
|
686
667
|
|
|
687
668
|
## Do's and Don'ts
|
|
688
669
|
|
|
@@ -692,7 +673,6 @@ This section states the correct form; a complete positive definition is the whol
|
|
|
692
673
|
- Every visible line has one owner: ordinary seams are `{spacing.guide}` at `{colors.line}`, tuned only at the token contract; control boundaries are `{colors.input}` / `{colors.dark-input}`; keyboard focus is the dedicated focus-ring roles; crosshairs are `{colors.cross}` at `{spacing.guide}` weight.
|
|
693
674
|
- Page structure is architectural: hairlines, luminance, spacing, and the grammar above. One material role per product container; structural page-grammar cells are border-only; the four `nc-elevation-*` rungs are the complete shadow vocabulary; modal scrims stay unblurred.
|
|
694
675
|
- Typography uses fixed token sizes stepped by breakpoint; components take their default heights from the exported height tokens and grow only when real content requires it.
|
|
695
|
-
- Each row carries one story beat; the full-lane `stage` presents one major use-case story; pricing, logo, banner, and showcase compositions appear when the page truly contains that content, with real, approved material.
|
|
696
676
|
- Agent identity visuals identify an Agent or its explicit type; conversations, artifacts, review states, and work output belong to assistant-ui and the agentic work surfaces. Text beside `{colors.verde-vivo}` sits on the canvas.
|
|
697
677
|
- Components are named as NadicodeAI-owned primitives, and this file carries contract only: tokens, semantics, and application rules — component prop APIs, state matrices, screenshots, and page-specific material live with their owners.
|
|
698
678
|
- Each register keeps its own structure and chrome: the page grammar on the website, the material ladder in the Portal and the desktop, the desktop window following the operating system.
|
|
@@ -715,9 +695,35 @@ complete the treatment. Static and React icon sources stay version-aligned so a
|
|
|
715
695
|
glyph has one silhouette everywhere. Text-paired icons are decorative; icon-only
|
|
716
696
|
controls carry an accessible name.
|
|
717
697
|
|
|
698
|
+
## Brand media authority
|
|
699
|
+
|
|
700
|
+
The NadicodeAI logo has three approved forms:
|
|
701
|
+
|
|
702
|
+
1. **Horizontal lockup.** One interlocked-link mark followed by one NadicodeAI wordmark. The mark sits on the left, is scaled to the wordmark's capital height, and shares its baseline. Use this form when a company identifier needs both the mark and the readable name.
|
|
703
|
+
2. **Mark.** The two interlocked rounded-square links may stand alone where space is tight: favicons, app icons, avatars, watermarks, stamps, and compact navigation. A containing link or control names NadicodeAI when the mark is used without visible text.
|
|
704
|
+
3. **Wordmark.** The NadicodeAI letterforms may stand alone where the name must read by itself, including document headers and editorial layouts.
|
|
705
|
+
|
|
706
|
+
Other companies' marks are not NadicodeAI company logos and are not governed by anything in this section. They are generated identity images owned by `@nadicodeai/ui/components/brand-icons`; [`packages/ui/docs/contract.md`](../ui/docs/contract.md) carries their rules. A third-party mark never enters a NadicodeAI logo form, composition, or clear-space measurement.
|
|
707
|
+
|
|
708
|
+
Nadia's portrait, Agent identity visuals, and generated imagery are not NadicodeAI company logos. Nadia's identity and selection rules live in [`brand/AGENTS.md`](../../brand/AGENTS.md); the Agent identity system lives in [`packages/ui/docs/agent-visual.md`](../ui/docs/agent-visual.md); editorial imagery routes through [`skills/marketing/blog-imagegen/references/editorial-register.md`](../../skills/marketing/blog-imagegen/references/editorial-register.md). This contract owns only the package delivery interface.
|
|
709
|
+
|
|
710
|
+
The approved transparent Nadia master ships at `assets/nadia-solid-surface`. Package delivery does not grant brand approval; which Nadia image a surface may use stays with the identity document named above.
|
|
711
|
+
|
|
712
|
+
All three forms derive from one authored, framework-neutral geometry source exported as `@nadicodeai/design-system/assets/logo-geometry`. The lockup combines the shared mark and wordmark geometry at the established proportion and spacing. No SVG, React component, favicon, document, or app re-authors, traces, typesets, or rearranges those shapes.
|
|
713
|
+
|
|
714
|
+
Use the positive form on `{colors.canvas}` and the soft neutral canvases: ink letterforms and link with the primary verde link and `AI` suffix. Use the inverse form on `{colors.identity-ink}`: `{colors.identity-white}` letterforms and link with the dark-primary verde link and `AI` suffix. On `{colors.identity-verde}`, use the supplied on-verde form with one ink link and one white link. On photography, place the logo in a quiet area or over a scrim that keeps every part legible; when neither is available, mount it on an approved solid field. One surface uses one treatment.
|
|
715
|
+
|
|
716
|
+
The clear-space unit is the rendered width of one link stroke in the mark. Keep at least one unit free on every side of the mark and lockup, with no text, rule, image, or container edge inside it. A wordmark used alone keeps the same unit that the mark would have at the wordmark's capital height. Minimum rendered sizes are 16 CSS pixels or 5 mm for the mark, 130 CSS pixels or 32 mm wide for the lockup, and 96 CSS pixels or 25 mm wide for the wordmark. Browser and operating-system icon slots use the supplied favicon or app-icon files at the platform's required size and are exempt from the screen minimum. Never compress, crop, or distort a logo to fit.
|
|
717
|
+
|
|
718
|
+
For a meaningful standalone image, use the accessible name `NadicodeAI`; the accessible name is the label that identifies an image, link, or control to assistive technology. When a containing link or control already has that accessible name, hide the logo image from assistive technology with empty alt text. Never repeat the same accessible name on both the container and the image.
|
|
719
|
+
|
|
720
|
+
Do not redraw, retype, reorder, stretch, crop, rotate, recolor, outline, shadow, animate, or add effects or gradients to a logo form. Do not flatten the over-under interlock, add a third link, alter the proportions or lockup spacing, stack the forms, embed the mark inside the wordmark, place the mark after the wordmark, combine it with another mark, or substitute Nadia imagery for it.
|
|
721
|
+
|
|
722
|
+
The package build renders and publicly exports full-colour, mono-ink, inverse, and on-verde SVG and transparent PNG files for the lockup, mark, and wordmark from the geometry and current `colors.*` contract. React consumers use `BrandLockup`, `BrandMark`, or `BrandWordmark` according to the roles above. The operator-only favicon generator wraps the same mark geometry in the platform tile and may adapt tile radius, output size, and fixed-tile paint roles; it does not substitute another mark. Private geometry templates do not ship. A contract or geometry change is completed by regeneration, never by repainting an output or updating a fallback by hand.
|
|
723
|
+
|
|
718
724
|
## CSS Architecture & Token Pipeline
|
|
719
725
|
|
|
720
|
-
How this contract becomes shipped CSS. The private CSS authoring graph lives in `src/css/`; the build flattens that graph and inlines its component icon dependencies into the single public `dist/css/index.css` artifact exported as `@nadicodeai/design-system/css`. Generated files and partials never ship as package subpaths. The cascade is `@layer tokens, theme, reset, foundation, motion, layout, primitives, components;` with no `sections` layer.
|
|
726
|
+
How this contract becomes shipped CSS. The private CSS authoring graph lives in `src/css/`; the build flattens that graph and inlines its component icon dependencies into the single public `dist/css/index.css` artifact exported as `@nadicodeai/design-system/css`. Generated files and partials never ship as package subpaths. The cascade is `@layer tokens, theme, reset, foundation, motion, layout, primitives, components;` with no `sections` layer. The bundle ships only framework-agnostic brand and display CSS components; generic marketing and SaaS components ship as React components from `@nadicodeai/ui`.
|
|
721
727
|
|
|
722
728
|
### Public style interfaces
|
|
723
729
|
|
|
@@ -957,8 +963,7 @@ An alias is written in the short `{core.color.canvas}` form here; the build rewr
|
|
|
957
963
|
"sidebar-background": {"$value":"{core.color.canvas-soft}"},
|
|
958
964
|
"sidebar-border": {"$value":"{core.color.line}"},
|
|
959
965
|
"user-bubble": {"$value":"{core.color.canvas-soft-2}"},
|
|
960
|
-
"user-bubble-border": {"$value":"{core.color.line}"}
|
|
961
|
-
"medallion": {"$value":"{core.color.verde-vivo}"}
|
|
966
|
+
"user-bubble-border": {"$value":"{core.color.line}"}
|
|
962
967
|
},
|
|
963
968
|
"dark": {
|
|
964
969
|
"$type": "color",
|
|
@@ -981,13 +986,12 @@ An alias is written in the short `{core.color.canvas}` form here; the build rewr
|
|
|
981
986
|
"ring": {"$value":"{core.color.dark-focus-ring}"},
|
|
982
987
|
"midground": {"$value":"{core.color.dark-muted}"},
|
|
983
988
|
"composer-ring": {"$value":"{core.color.dark-focus-ring}"},
|
|
984
|
-
"destructive": {"$value":"{core.color.
|
|
989
|
+
"destructive": {"$value":"{core.color.error}"},
|
|
985
990
|
"destructive-foreground": {"$value":"{core.color.on-primary}"},
|
|
986
991
|
"sidebar-background": {"$value":"{core.color.dark-canvas}"},
|
|
987
992
|
"sidebar-border": {"$value":"{core.color.dark-seam}"},
|
|
988
993
|
"user-bubble": {"$value":"{core.color.dark-canvas-soft-2}"},
|
|
989
|
-
"user-bubble-border": {"$value":"{core.color.dark-line}"}
|
|
990
|
-
"medallion": {"$value":"{core.color.dark-verde-vivo}"}
|
|
994
|
+
"user-bubble-border": {"$value":"{core.color.dark-line}"}
|
|
991
995
|
}
|
|
992
996
|
},
|
|
993
997
|
"radius": {
|
|
@@ -1111,32 +1115,6 @@ The private source entry imports all three generated files, and the package buil
|
|
|
1111
1115
|
|
|
1112
1116
|
`npm run build` also writes the two DTCG artifacts above and `dist/tailwind/nadicode.tailwind.json` as generated, tracked data artifacts, and bakes `dist/icons/` from the pinned `lucide-static` dependency. The Tailwind export stays for what it uniquely supplies: the typography line-height with its declared unit, which the DTCG composite normaliser strips, and the logo paint lookup.
|
|
1113
1117
|
|
|
1114
|
-
#### Brand media authority
|
|
1115
|
-
|
|
1116
|
-
The NadicodeAI logo has three approved forms:
|
|
1117
|
-
|
|
1118
|
-
1. **Horizontal lockup.** One interlocked-link mark followed by one NadicodeAI wordmark. The mark sits on the left, is scaled to the wordmark's capital height, and shares its baseline. Use this form when a company identifier needs both the mark and the readable name.
|
|
1119
|
-
2. **Mark.** The two interlocked rounded-square links may stand alone where space is tight: favicons, app icons, avatars, watermarks, stamps, and compact navigation. A containing link or control names NadicodeAI when the mark is used without visible text.
|
|
1120
|
-
3. **Wordmark.** The NadicodeAI letterforms may stand alone where the name must read by itself, including document headers and editorial layouts.
|
|
1121
|
-
|
|
1122
|
-
Other companies' marks are not NadicodeAI company logos and are not governed by anything in this section. They are generated identity images owned by `@nadicodeai/ui/components/brand-icons`; [`packages/ui/docs/contract.md`](../ui/docs/contract.md) carries their rules. A third-party mark never enters a NadicodeAI logo form, composition, or clear-space measurement.
|
|
1123
|
-
|
|
1124
|
-
Nadia's portrait, Agent identity visuals, and generated imagery are not NadicodeAI company logos. Nadia's identity and selection rules live in [`brand/AGENTS.md`](../../brand/AGENTS.md); the Agent identity system lives in [`packages/ui/docs/agent-visual.md`](../ui/docs/agent-visual.md); editorial imagery routes through [`skills/marketing/blog-imagegen/references/editorial-register.md`](../../skills/marketing/blog-imagegen/references/editorial-register.md). This contract owns only the package delivery interface.
|
|
1125
|
-
|
|
1126
|
-
The approved transparent Nadia master ships at `assets/nadia-solid-surface`. The package also delivers the three remaining material states as compatibility routes: `assets/nadia-ordered-points`, `assets/nadia-triangulated-wire`, and `assets/nadia-irregular-particles`. Package delivery does not grant brand approval; which Nadia image a surface may use stays with the identity document named above.
|
|
1127
|
-
|
|
1128
|
-
All three forms derive from one authored, framework-neutral geometry source exported as `@nadicodeai/design-system/assets/logo-geometry`. The lockup combines the shared mark and wordmark geometry at the established proportion and spacing. No SVG, React component, favicon, document, or app re-authors, traces, typesets, or rearranges those shapes.
|
|
1129
|
-
|
|
1130
|
-
Use the positive form on `{colors.canvas}` and the soft neutral canvases: ink letterforms and link with the primary verde link and `AI` suffix. Use the inverse form on `{colors.identity-ink}`: `{colors.identity-white}` letterforms and link with the dark-primary verde link and `AI` suffix. On `{colors.identity-verde}`, use the supplied on-verde form with one ink link and one white link. On photography, place the logo in a quiet area or over a scrim that keeps every part legible; when neither is available, mount it on an approved solid field. One surface uses one treatment.
|
|
1131
|
-
|
|
1132
|
-
The clear-space unit is the rendered width of one link stroke in the mark. Keep at least one unit free on every side of the mark and lockup, with no text, rule, image, or container edge inside it. A wordmark used alone keeps the same unit that the mark would have at the wordmark's capital height. Minimum rendered sizes are 16 CSS pixels or 5 mm for the mark, 130 CSS pixels or 32 mm wide for the lockup, and 96 CSS pixels or 25 mm wide for the wordmark. Browser and operating-system icon slots use the supplied favicon or app-icon files at the platform's required size and are exempt from the screen minimum. Never compress, crop, or distort a logo to fit.
|
|
1133
|
-
|
|
1134
|
-
For a meaningful standalone image, use the accessible name `NadicodeAI`; the accessible name is the label that identifies an image, link, or control to assistive technology. When a containing link or control already has that accessible name, hide the logo image from assistive technology with empty alt text. Never repeat the same accessible name on both the container and the image.
|
|
1135
|
-
|
|
1136
|
-
Do not redraw, retype, reorder, stretch, crop, rotate, recolor, outline, shadow, animate, or add effects or gradients to a logo form. Do not flatten the over-under interlock, add a third link, alter the proportions or lockup spacing, stack the forms, embed the mark inside the wordmark, place the mark after the wordmark, combine it with another mark, or substitute Nadia imagery for it.
|
|
1137
|
-
|
|
1138
|
-
The package build renders and publicly exports full-colour, mono-ink, inverse, and on-verde SVG and transparent PNG files for the lockup, mark, and wordmark from the geometry and current `colors.*` contract. React consumers use `BrandLockup`, `BrandMark`, or `BrandWordmark` according to the roles above. The operator-only favicon generator wraps the same mark geometry in the platform tile and may adapt tile radius, output size, and fixed-tile paint roles; it does not substitute another mark. Private geometry templates do not ship. A contract or geometry change is completed by regeneration, never by repainting an output or updating a fallback by hand.
|
|
1139
|
-
|
|
1140
1118
|
### Enforcement
|
|
1141
1119
|
|
|
1142
1120
|
Correctness is structural, not a byte snapshot: `scripts/sd/design-tokens-fence.test.ts` verifies the fence reader, one fence, strict JSON, typed leaves, legal names; `scripts/sd/compose-token-graph.test.ts` verifies the composition, one construction of the root, alias rewriting, ownership and reference direction, extension preservation, and the CSS projection; `tests/guards/dtcg-shape.test.ts` verifies both published artifacts against the vendored DTCG schema and the Nadicode profile; `tests/guards/token-structural-parity.test.ts` verifies the complete `--nc-*` projection; `tests/guards/tailwind-v4-theme.test.ts` verifies mode-pair derivation, `@theme` values, and light/dark role integrity; `tests/guards/component-contract-matches-css.test.ts` verifies the retained CSS component surface against this contract; `tests/guards/css-bundle.test.ts` verifies the public artifact is flat, complete, and contains no shipped partials; and `tests/guards/consumer-css-discipline.test.ts` verifies reference integrity, the absence of raw color literals in the hand-authored kit CSS and of raw color and radius literals in `examples/`, second value sources, and DTCG drift. These guards read freshly built output (the test global-setup rebuilds before any of them run), so they prove the generator; a hand-edited or stale committed generated file is caught by the CI cleanliness step in the `design-system` job, which requires a fresh build to reproduce the committed bytes exactly, with `dist/favicon/**` outside it, regenerated only by `generate:favicons` and fenced by review rather than machinery. Cross-package guards verify that React callers use only the React stylesheet interface.
|
package/dist/css/index.css
CHANGED
|
@@ -77,7 +77,6 @@
|
|
|
77
77
|
--nc-warning: oklch(0.8466 0.1678 84.63);
|
|
78
78
|
--nc-warning-soft: oklch(0.9649 0.0461 90.87);
|
|
79
79
|
--nc-warning-deep: oklch(0.4834 0.0995 82.44);
|
|
80
|
-
--nc-flag-red: oklch(0.5688 0.1995 26.59);
|
|
81
80
|
--nc-verde-vivo: oklch(0.5604 0.1485 151.68);
|
|
82
81
|
--nc-selection-bg: oklch(0.1776 0.0000 0.00);
|
|
83
82
|
--nc-selection-fg: oklch(0.9851 0.0000 0.00);
|
|
@@ -89,8 +88,6 @@
|
|
|
89
88
|
--nc-state-review: oklch(0.8466 0.1678 84.63);
|
|
90
89
|
--nc-state-blocked: oklch(0.5688 0.1995 26.59);
|
|
91
90
|
--nc-state-complete: oklch(0.6415 0.1644 153.23);
|
|
92
|
-
--nc-background-100: oklch(1.0000 0.0000 0.00);
|
|
93
|
-
--nc-background-200: oklch(0.9851 0.0000 0.00);
|
|
94
91
|
--nc-identity-verde: oklch(0.6415 0.1644 153.23);
|
|
95
92
|
--nc-identity-rosso: oklch(0.5688 0.1995 26.59);
|
|
96
93
|
--nc-identity-arancio: oklch(0.6824 0.2108 37.70);
|
|
@@ -143,9 +140,6 @@
|
|
|
143
140
|
--nc-dark-info: oklch(0.7067 0.1528 272.08);
|
|
144
141
|
--nc-dark-info-soft: oklch(0.2118 0.1033 268.28);
|
|
145
142
|
--nc-dark-info-deep: oklch(0.8222 0.0888 274.44);
|
|
146
|
-
--nc-dark-cyan: oklch(0.7820 0.1247 190.99);
|
|
147
|
-
--nc-dark-cyan-soft: oklch(0.8646 0.1000 187.55);
|
|
148
|
-
--nc-dark-cyan-deep: oklch(0.6347 0.1029 191.54);
|
|
149
143
|
--nc-dark-success: oklch(0.7019 0.1753 153.20);
|
|
150
144
|
--nc-dark-success-soft: oklch(0.2893 0.0697 156.32);
|
|
151
145
|
--nc-dark-success-deep: oklch(0.8524 0.0996 159.83);
|
|
@@ -670,7 +664,7 @@
|
|
|
670
664
|
--sidebar-border: var(--nc-dark-line);
|
|
671
665
|
--sidebar-ring: var(--nc-dark-focus-ring);
|
|
672
666
|
}
|
|
673
|
-
@theme { --color-*: initial; --color-nc-primary: oklch(0.5075 0.1338 151.91); --color-nc-on-primary: oklch(1.0000 0.0000 0.00); --color-nc-action: oklch(0.1776 0.0000 0.00); --color-nc-action-foreground: oklch(1.0000 0.0000 0.00); --color-nc-action-hover: oklch(0.3012 0.0000 0.00); --color-nc-action-active: oklch(0.0000 0.0000 0.00); --color-nc-ink: oklch(0.1776 0.0000 0.00); --color-nc-body: oklch(0.3867 0.0000 0.00); --color-nc-muted: oklch(0.5278 0.0000 0.00); --color-nc-canvas: oklch(1.0000 0.0000 0.00); --color-nc-canvas-soft: oklch(0.9851 0.0000 0.00); --color-nc-canvas-soft-2: oklch(0.9702 0.0000 0.00); --color-nc-material-workspace: oklch(0.9761 0.0000 0.00); --color-nc-material-solid: oklch(1.0000 0.0000 0.00); --color-nc-line: oklch(0.9219 0.0000 0.00); --color-nc-input: oklch(0.5624 0.0000 0.00); --color-nc-seam: oklch(0.8699 0.0000 0.00); --color-nc-cross: oklch(0.6830 0.0000 0.00); --color-nc-focus-ring: oklch(0.1776 0.0000 0.00); --color-nc-scrim: oklch(0.1776 0.0000 0.00); --color-nc-link: oklch(0.4815 0.1209 154.24); --color-nc-link-deep: oklch(0.3852 0.0953 154.99); --color-nc-link-bg-soft: oklch(0.9170 0.0519 161.77); --color-nc-accent: oklch(0.6824 0.2108 37.70); --color-nc-info: oklch(0.5005 0.2804 266.17); --color-nc-info-soft: oklch(0.9457 0.0259 276.40); --color-nc-info-deep: oklch(0.3197 0.1758 266.79); --color-nc-success: oklch(0.6415 0.1644 153.23); --color-nc-success-soft: oklch(0.9170 0.0519 161.77); --color-nc-success-deep: oklch(0.3852 0.0953 154.99); --color-nc-error: oklch(0.5688 0.1995 26.59); --color-nc-error-soft: oklch(0.9522 0.0207 17.52); --color-nc-error-deep: oklch(0.4235 0.1525 27.08); --color-nc-warning: oklch(0.8466 0.1678 84.63); --color-nc-warning-soft: oklch(0.9649 0.0461 90.87); --color-nc-warning-deep: oklch(0.4834 0.0995 82.44); --color-nc-flag-red: oklch(0.5688 0.1995 26.59); --color-nc-verde-vivo: oklch(0.5604 0.1485 151.68); --color-nc-selection-bg: oklch(0.1776 0.0000 0.00); --color-nc-selection-fg: oklch(0.9851 0.0000 0.00); --color-nc-navigation-selection-bg: oklch(0.9461 0.0000 0.00); --color-nc-navigation-selection-fg: oklch(0.1776 0.0000 0.00); --color-nc-navigation-selection-hover: oklch(0.9219 0.0000 0.00); --color-nc-state-ready: oklch(0.5278 0.0000 0.00); --color-nc-state-running: oklch(0.5005 0.2804 266.17); --color-nc-state-review: oklch(0.8466 0.1678 84.63); --color-nc-state-blocked: oklch(0.5688 0.1995 26.59); --color-nc-state-complete: oklch(0.6415 0.1644 153.23); --color-nc-background-100: oklch(1.0000 0.0000 0.00); --color-nc-background-200: oklch(0.9851 0.0000 0.00); --color-nc-identity-verde: oklch(0.6415 0.1644 153.23); --color-nc-identity-rosso: oklch(0.5688 0.1995 26.59); --color-nc-identity-arancio: oklch(0.6824 0.2108 37.70); --color-nc-identity-giallo: oklch(0.8466 0.1678 84.63); --color-nc-identity-cobalto: oklch(0.5005 0.2804 266.17); --color-nc-identity-ink: oklch(0.0000 0.0000 0.00); --color-nc-identity-white: oklch(1.0000 0.0000 0.00); --color-nc-chart-1: oklch(0.5005 0.2804 266.17); --color-nc-chart-2: oklch(0.6415 0.1644 153.23); --color-nc-chart-3: oklch(0.7638 0.1562 86.86); --color-nc-chart-4: oklch(0.5688 0.1995 26.59); --color-nc-chart-5: oklch(0.6161 0.1062 208.85); --color-nc-chart-6: oklch(0.5015 0.1883 294.99); --color-nc-chart-seq-1: oklch(0.6998 0.1347 269.48); --color-nc-chart-seq-2: oklch(0.5724 0.1897 270.11); --color-nc-chart-seq-3: oklch(0.4725 0.2271 267.41); --color-nc-chart-seq-4: oklch(0.3989 0.1934 267.50); --color-nc-chart-seq-5: oklch(0.3270 0.1487 267.91); --color-nc-chart-div-warm: oklch(0.7592 0.1560 83.30); --color-nc-chart-div-mid: oklch(0.5278 0.0000 0.00); --color-nc-chart-div-cool: oklch(0.5923 0.2215 269.61); --color-nc-dark-canvas: oklch(0.0000 0.0000 0.00); --color-nc-dark-canvas-soft: oklch(0.1776 0.0000 0.00); --color-nc-dark-canvas-soft-2: oklch(0.2178 0.0000 0.00); --color-nc-dark-material-workspace: oklch(0.0000 0.0000 0.00); --color-nc-dark-material-solid: oklch(0.0000 0.0000 0.00); --color-nc-dark-ink: oklch(0.9461 0.0000 0.00); --color-nc-dark-body: oklch(0.8297 0.0000 0.00); --color-nc-dark-muted: oklch(0.6500 0.0000 0.00); --color-nc-dark-line: oklch(0.2686 0.0000 0.00); --color-nc-dark-input: oklch(0.5208 0.0000 0.00); --color-nc-dark-seam: oklch(0.2178 0.0000 0.00); --color-nc-dark-primary: oklch(0.7727 0.1753 155.96); --color-nc-dark-on-primary: oklch(0.1448 0.0000 0.00); --color-nc-dark-action: oklch(1.0000 0.0000 0.00); --color-nc-dark-action-foreground: oklch(0.1448 0.0000 0.00); --color-nc-dark-action-hover: oklch(0.9189 0.0000 0.00); --color-nc-dark-action-active: oklch(0.8761 0.0000 0.00); --color-nc-dark-link: oklch(0.7661 0.1498 157.10); --color-nc-dark-link-deep: oklch(0.8524 0.0996 159.83); --color-nc-dark-link-bg-soft: oklch(0.2893 0.0697 156.32); --color-nc-dark-focus-ring: oklch(0.9461 0.0000 0.00); --color-nc-dark-scrim: oklch(0.9461 0.0000 0.00); --color-nc-dark-error: oklch(0.7955 0.0980 21.02); --color-nc-dark-error-soft: oklch(0.2296 0.0728 26.06); --color-nc-dark-error-deep: oklch(0.8856 0.0534 19.64); --color-nc-dark-warning: oklch(0.8939 0.1387 90.47); --color-nc-dark-warning-soft: oklch(0.3135 0.0643 85.04); --color-nc-dark-warning-deep: oklch(0.9320 0.0896 90.86); --color-nc-dark-info: oklch(0.7067 0.1528 272.08); --color-nc-dark-info-soft: oklch(0.2118 0.1033 268.28); --color-nc-dark-info-deep: oklch(0.8222 0.0888 274.44); --color-nc-dark-cyan: oklch(0.7820 0.1247 190.99); --color-nc-dark-cyan-soft: oklch(0.8646 0.1000 187.55); --color-nc-dark-cyan-deep: oklch(0.6347 0.1029 191.54); --color-nc-dark-success: oklch(0.7019 0.1753 153.20); --color-nc-dark-success-soft: oklch(0.2893 0.0697 156.32); --color-nc-dark-success-deep: oklch(0.8524 0.0996 159.83); --color-nc-dark-state-ready: oklch(0.5624 0.0000 0.00); --color-nc-dark-state-running: oklch(0.5923 0.2215 269.61); --color-nc-dark-state-review: oklch(0.8466 0.1678 84.63); --color-nc-dark-state-blocked: oklch(0.5688 0.1995 26.59); --color-nc-dark-state-complete: oklch(0.6415 0.1644 153.23); --color-nc-dark-selection-bg: oklch(0.9461 0.0000 0.00); --color-nc-dark-selection-fg: oklch(0.1448 0.0000 0.00); --color-nc-dark-navigation-selection-bg: oklch(0.2178 0.0000 0.00); --color-nc-dark-navigation-selection-fg: oklch(0.9461 0.0000 0.00); --color-nc-dark-navigation-selection-hover: oklch(0.2686 0.0000 0.00); --color-nc-dark-cross: oklch(0.4495 0.0000 0.00); --color-nc-dark-verde-vivo: oklch(0.7868 0.1398 156.43); --color-nc-dark-chart-1: oklch(0.5923 0.2215 269.61); --color-nc-dark-chart-2: oklch(0.6415 0.1644 153.23); --color-nc-dark-chart-3: oklch(0.8939 0.1387 90.47); --color-nc-dark-chart-4: oklch(0.6627 0.1685 23.66); --color-nc-dark-chart-5: oklch(0.7820 0.1247 190.99); --color-nc-dark-chart-6: oklch(0.6297 0.1321 299.36); --color-nc-dark-chart-seq-1: oklch(0.5724 0.1897 270.11); --color-nc-dark-chart-seq-2: oklch(0.6998 0.1347 269.48); --color-nc-dark-chart-seq-3: oklch(0.8072 0.0884 269.44); --color-nc-dark-chart-seq-4: oklch(0.8877 0.0514 270.78); --color-nc-dark-chart-seq-5: oklch(0.9619 0.0179 272.31); --color-nc-dark-chart-div-warm: oklch(0.8939 0.1387 90.47); --color-nc-dark-chart-div-mid: oklch(0.9219 0.0000 0.00); --color-nc-dark-chart-div-cool: oklch(0.8222 0.0888 274.44); --font-display-xl: Geist, Inter, system-ui, -apple-system, sans-serif; --font-display-lg: Geist, Inter, system-ui, -apple-system, sans-serif; --font-display-md: Geist, Inter, system-ui, -apple-system, sans-serif; --font-display-sm: Geist, Inter, system-ui, -apple-system, sans-serif; --font-title-lg: Geist, Inter, system-ui, -apple-system, sans-serif; --font-title-md: Geist, Inter, system-ui, -apple-system, sans-serif; --font-title-sm: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-lg: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-md: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-md-strong: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-sm: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-sm-strong: Geist, Inter, system-ui, -apple-system, sans-serif; --font-caption: Geist, Inter, system-ui, -apple-system, sans-serif; --font-caption-strong: Geist, Inter, system-ui, -apple-system, sans-serif; --font-caption-mono: Geist Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; --font-code: Geist Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; --font-button-md: Geist, Inter, system-ui, -apple-system, sans-serif; --font-button-lg: Geist, Inter, system-ui, -apple-system, sans-serif; --text-display-xl: 72px; --text-display-xl--line-height: 74px; --leading-display-xl: 74px; --text-display-xl--letter-spacing: -1.5px; --tracking-display-xl: -1.5px; --text-display-xl--font-weight: 600; --font-weight-display-xl: 600; --text-display-lg: 52px; --text-display-lg--line-height: 54px; --leading-display-lg: 54px; --text-display-lg--letter-spacing: -1px; --tracking-display-lg: -1px; --text-display-lg--font-weight: 600; --font-weight-display-lg: 600; --text-display-md: 24px; --text-display-md--line-height: 32px; --leading-display-md: 32px; --text-display-md--letter-spacing: 0px; --tracking-display-md: 0px; --text-display-md--font-weight: 600; --font-weight-display-md: 600; --text-display-sm: 20px; --text-display-sm--line-height: 28px; --leading-display-sm: 28px; --text-display-sm--letter-spacing: 0px; --tracking-display-sm: 0px; --text-display-sm--font-weight: 600; --font-weight-display-sm: 600; --text-title-lg: 40px; --text-title-lg--line-height: 41px; --leading-title-lg: 41px; --text-title-lg--letter-spacing: 0px; --tracking-title-lg: 0px; --text-title-lg--font-weight: 600; --font-weight-title-lg: 600; --text-title-md: 30px; --text-title-md--line-height: 32px; --leading-title-md: 32px; --text-title-md--letter-spacing: 0px; --tracking-title-md: 0px; --text-title-md--font-weight: 600; --font-weight-title-md: 600; --text-title-sm: 22px; --text-title-sm--line-height: 25px; --leading-title-sm: 25px; --text-title-sm--letter-spacing: 0px; --tracking-title-sm: 0px; --text-title-sm--font-weight: 600; --font-weight-title-sm: 600; --text-body-lg: 18px; --text-body-lg--line-height: 27px; --leading-body-lg: 27px; --text-body-lg--letter-spacing: 0px; --tracking-body-lg: 0px; --text-body-lg--font-weight: 400; --font-weight-body-lg: 400; --text-body-md: 16px; --text-body-md--line-height: 25px; --leading-body-md: 25px; --text-body-md--letter-spacing: 0px; --tracking-body-md: 0px; --text-body-md--font-weight: 400; --font-weight-body-md: 400; --text-body-md-strong: 16px; --text-body-md-strong--line-height: 24px; --leading-body-md-strong: 24px; --text-body-md-strong--letter-spacing: 0px; --tracking-body-md-strong: 0px; --text-body-md-strong--font-weight: 500; --font-weight-body-md-strong: 500; --text-body-sm: 14px; --text-body-sm--line-height: 20px; --leading-body-sm: 20px; --text-body-sm--letter-spacing: 0px; --tracking-body-sm: 0px; --text-body-sm--font-weight: 400; --font-weight-body-sm: 400; --text-body-sm-strong: 14px; --text-body-sm-strong--line-height: 20px; --leading-body-sm-strong: 20px; --text-body-sm-strong--letter-spacing: 0px; --tracking-body-sm-strong: 0px; --text-body-sm-strong--font-weight: 500; --font-weight-body-sm-strong: 500; --text-caption: 12px; --text-caption--line-height: 16px; --leading-caption: 16px; --text-caption--letter-spacing: 0px; --tracking-caption: 0px; --text-caption--font-weight: 400; --font-weight-caption: 400; --text-caption-strong: 12px; --text-caption-strong--line-height: 16px; --leading-caption-strong: 16px; --text-caption-strong--letter-spacing: 0px; --tracking-caption-strong: 0px; --text-caption-strong--font-weight: 500; --font-weight-caption-strong: 500; --text-caption-mono: 12px; --text-caption-mono--line-height: 16px; --leading-caption-mono: 16px; --text-caption-mono--letter-spacing: 0px; --tracking-caption-mono: 0px; --text-caption-mono--font-weight: 500; --font-weight-caption-mono: 500; --text-code: 13px; --text-code--line-height: 20px; --leading-code: 20px; --text-code--letter-spacing: 0px; --tracking-code: 0px; --text-code--font-weight: 400; --font-weight-code: 400; --text-button-md: 14px; --text-button-md--line-height: 18px; --leading-button-md: 18px; --text-button-md--letter-spacing: 0px; --tracking-button-md: 0px; --text-button-md--font-weight: 500; --font-weight-button-md: 500; --text-button-lg: 16px; --text-button-lg--line-height: 24px; --leading-button-lg: 24px; --text-button-lg--letter-spacing: 0px; --tracking-button-lg: 0px; --text-button-lg--font-weight: 500; --font-weight-button-lg: 500; --radius-none: 0px; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 10px; --radius-2xl: 12px; --radius-3xl: 16px; --radius-pill-sm: 64px; --radius-pill: 100px; --radius-full: 9999px; --ease-nc-emphasized: cubic-bezier(0.3, 0.7, 0.2, 1); --ease-nc-out-strong: cubic-bezier(0.23, 1, 0.32, 1); --ease-nc-in-out-strong: cubic-bezier(0.77, 0, 0.175, 1); --ease-nc-drawer: cubic-bezier(0.32, 0.72, 0, 1); --outline-width-focus: var(--spacing-nadicode-focus-outline-width); --outline-offset-focus: var(--spacing-nadicode-focus-outline-offset); --opacity-scrim: var(--nc-material-scrim-opacity); --spacing-nadicode-xxs: 4px; --spacing-nadicode-xs: 8px; --spacing-nadicode-sm: 12px; --spacing-nadicode-md: 16px; --spacing-nadicode-lg: 24px; --spacing-nadicode-xl: 32px; --spacing-nadicode-2xl: 40px; --spacing-nadicode-3xl: 48px; --spacing-nadicode-4xl: 64px; --spacing-nadicode-5xl: 96px; --spacing-nadicode-6xl: 128px; --spacing-nadicode-guide: 1px; --spacing-nadicode-icon-stroke: 1.6px; --spacing-nadicode-focus-outline-width: 2px; --spacing-nadicode-focus-outline-offset: 2px; --spacing-nadicode-control-height: 32px; --spacing-nadicode-control-padding-inline: 10px; --spacing-nadicode-touch-target: 44px; --spacing-nadicode-section: 192px; --spacing-nadicode-page-pad: 24px; --spacing-nadicode-page-max-mobile: 448px; --spacing-nadicode-page-max-tablet: 624px; --spacing-nadicode-page-max-desktop: 1440px; --spacing-nadicode-frame-max: 1392px; --spacing-nadicode-frame-gap: 24px; --spacing-nadicode-cell-padding: 24px; --spacing-nadicode-section-gap: 48px; --spacing-nadicode-cross-size-mobile: 11px; --spacing-nadicode-cross-size-tablet: 15px; --spacing-nadicode-cross-size-desktop: 21px; --spacing-nadicode-h-strip-mobile: 72px; --spacing-nadicode-h-strip-tablet: 80px; --spacing-nadicode-h-strip-desktop: 88px; --spacing-nadicode-h-cell-sm: 120px; --spacing-nadicode-h-cell-md-mobile: 144px; --spacing-nadicode-h-cell-md-tablet: 160px; --spacing-nadicode-h-cell-md-desktop: 168px; --spacing-nadicode-h-cell-lg-mobile: 220px; --spacing-nadicode-h-cell-lg-desktop: 240px; --spacing-nadicode-h-visual-mobile: 276px; --spacing-nadicode-h-visual-tablet: 318px; --spacing-nadicode-h-visual-desktop: 360px; --spacing-nadicode-h-precision-mobile: 276px; --spacing-nadicode-h-precision-tablet: 480px; --spacing-nadicode-h-precision-desktop: 720px; --spacing-nadicode-h-hero-mobile: 560px; --spacing-nadicode-h-hero-desktop: 720px; --spacing-nadicode-h-action-strip-mobile: 20px; --spacing-nadicode-h-action-strip-desktop: 32px; --spacing-nadicode-h-action-body-mobile: 320px; --spacing-nadicode-h-action-body-tablet: 338px; --spacing-nadicode-h-action-band: 260px; --spacing-nadicode-h-feature-mobile: 360px; --spacing-nadicode-h-feature-tablet: 400px; --spacing-nadicode-h-feature-desktop: 456px; --spacing-nadicode-h-editorial-feature-mobile: 360px; --spacing-nadicode-h-editorial-feature-tablet: 440px; --spacing-nadicode-h-editorial-feature-desktop: 560px; --spacing-nadicode-h-bento-primary: 384px; --spacing-nadicode-h-bento-secondary: 240px; --spacing-nadicode-h-bento-mobile-copy: 248px; --spacing-nadicode-h-bento-mobile-main: 537px; --spacing-nadicode-h-bento-strip: 20px; --spacing-nadicode-filter-chip-gap: 6px; --spacing-nadicode-filter-chip-height: 28px; --spacing-nadicode-filter-chip-icon: 14px; --spacing-control-height: var(--spacing-nadicode-control-height); --spacing-control-padding-inline: var(--spacing-nadicode-control-padding-inline); --spacing-touch-target: var(--spacing-nadicode-touch-target); }
|
|
667
|
+
@theme { --color-*: initial; --color-nc-primary: oklch(0.5075 0.1338 151.91); --color-nc-on-primary: oklch(1.0000 0.0000 0.00); --color-nc-action: oklch(0.1776 0.0000 0.00); --color-nc-action-foreground: oklch(1.0000 0.0000 0.00); --color-nc-action-hover: oklch(0.3012 0.0000 0.00); --color-nc-action-active: oklch(0.0000 0.0000 0.00); --color-nc-ink: oklch(0.1776 0.0000 0.00); --color-nc-body: oklch(0.3867 0.0000 0.00); --color-nc-muted: oklch(0.5278 0.0000 0.00); --color-nc-canvas: oklch(1.0000 0.0000 0.00); --color-nc-canvas-soft: oklch(0.9851 0.0000 0.00); --color-nc-canvas-soft-2: oklch(0.9702 0.0000 0.00); --color-nc-material-workspace: oklch(0.9761 0.0000 0.00); --color-nc-material-solid: oklch(1.0000 0.0000 0.00); --color-nc-line: oklch(0.9219 0.0000 0.00); --color-nc-input: oklch(0.5624 0.0000 0.00); --color-nc-seam: oklch(0.8699 0.0000 0.00); --color-nc-cross: oklch(0.6830 0.0000 0.00); --color-nc-focus-ring: oklch(0.1776 0.0000 0.00); --color-nc-scrim: oklch(0.1776 0.0000 0.00); --color-nc-link: oklch(0.4815 0.1209 154.24); --color-nc-link-deep: oklch(0.3852 0.0953 154.99); --color-nc-link-bg-soft: oklch(0.9170 0.0519 161.77); --color-nc-accent: oklch(0.6824 0.2108 37.70); --color-nc-info: oklch(0.5005 0.2804 266.17); --color-nc-info-soft: oklch(0.9457 0.0259 276.40); --color-nc-info-deep: oklch(0.3197 0.1758 266.79); --color-nc-success: oklch(0.6415 0.1644 153.23); --color-nc-success-soft: oklch(0.9170 0.0519 161.77); --color-nc-success-deep: oklch(0.3852 0.0953 154.99); --color-nc-error: oklch(0.5688 0.1995 26.59); --color-nc-error-soft: oklch(0.9522 0.0207 17.52); --color-nc-error-deep: oklch(0.4235 0.1525 27.08); --color-nc-warning: oklch(0.8466 0.1678 84.63); --color-nc-warning-soft: oklch(0.9649 0.0461 90.87); --color-nc-warning-deep: oklch(0.4834 0.0995 82.44); --color-nc-verde-vivo: oklch(0.5604 0.1485 151.68); --color-nc-selection-bg: oklch(0.1776 0.0000 0.00); --color-nc-selection-fg: oklch(0.9851 0.0000 0.00); --color-nc-navigation-selection-bg: oklch(0.9461 0.0000 0.00); --color-nc-navigation-selection-fg: oklch(0.1776 0.0000 0.00); --color-nc-navigation-selection-hover: oklch(0.9219 0.0000 0.00); --color-nc-state-ready: oklch(0.5278 0.0000 0.00); --color-nc-state-running: oklch(0.5005 0.2804 266.17); --color-nc-state-review: oklch(0.8466 0.1678 84.63); --color-nc-state-blocked: oklch(0.5688 0.1995 26.59); --color-nc-state-complete: oklch(0.6415 0.1644 153.23); --color-nc-identity-verde: oklch(0.6415 0.1644 153.23); --color-nc-identity-rosso: oklch(0.5688 0.1995 26.59); --color-nc-identity-arancio: oklch(0.6824 0.2108 37.70); --color-nc-identity-giallo: oklch(0.8466 0.1678 84.63); --color-nc-identity-cobalto: oklch(0.5005 0.2804 266.17); --color-nc-identity-ink: oklch(0.0000 0.0000 0.00); --color-nc-identity-white: oklch(1.0000 0.0000 0.00); --color-nc-chart-1: oklch(0.5005 0.2804 266.17); --color-nc-chart-2: oklch(0.6415 0.1644 153.23); --color-nc-chart-3: oklch(0.7638 0.1562 86.86); --color-nc-chart-4: oklch(0.5688 0.1995 26.59); --color-nc-chart-5: oklch(0.6161 0.1062 208.85); --color-nc-chart-6: oklch(0.5015 0.1883 294.99); --color-nc-chart-seq-1: oklch(0.6998 0.1347 269.48); --color-nc-chart-seq-2: oklch(0.5724 0.1897 270.11); --color-nc-chart-seq-3: oklch(0.4725 0.2271 267.41); --color-nc-chart-seq-4: oklch(0.3989 0.1934 267.50); --color-nc-chart-seq-5: oklch(0.3270 0.1487 267.91); --color-nc-chart-div-warm: oklch(0.7592 0.1560 83.30); --color-nc-chart-div-mid: oklch(0.5278 0.0000 0.00); --color-nc-chart-div-cool: oklch(0.5923 0.2215 269.61); --color-nc-dark-canvas: oklch(0.0000 0.0000 0.00); --color-nc-dark-canvas-soft: oklch(0.1776 0.0000 0.00); --color-nc-dark-canvas-soft-2: oklch(0.2178 0.0000 0.00); --color-nc-dark-material-workspace: oklch(0.0000 0.0000 0.00); --color-nc-dark-material-solid: oklch(0.0000 0.0000 0.00); --color-nc-dark-ink: oklch(0.9461 0.0000 0.00); --color-nc-dark-body: oklch(0.8297 0.0000 0.00); --color-nc-dark-muted: oklch(0.6500 0.0000 0.00); --color-nc-dark-line: oklch(0.2686 0.0000 0.00); --color-nc-dark-input: oklch(0.5208 0.0000 0.00); --color-nc-dark-seam: oklch(0.2178 0.0000 0.00); --color-nc-dark-primary: oklch(0.7727 0.1753 155.96); --color-nc-dark-on-primary: oklch(0.1448 0.0000 0.00); --color-nc-dark-action: oklch(1.0000 0.0000 0.00); --color-nc-dark-action-foreground: oklch(0.1448 0.0000 0.00); --color-nc-dark-action-hover: oklch(0.9189 0.0000 0.00); --color-nc-dark-action-active: oklch(0.8761 0.0000 0.00); --color-nc-dark-link: oklch(0.7661 0.1498 157.10); --color-nc-dark-link-deep: oklch(0.8524 0.0996 159.83); --color-nc-dark-link-bg-soft: oklch(0.2893 0.0697 156.32); --color-nc-dark-focus-ring: oklch(0.9461 0.0000 0.00); --color-nc-dark-scrim: oklch(0.9461 0.0000 0.00); --color-nc-dark-error: oklch(0.7955 0.0980 21.02); --color-nc-dark-error-soft: oklch(0.2296 0.0728 26.06); --color-nc-dark-error-deep: oklch(0.8856 0.0534 19.64); --color-nc-dark-warning: oklch(0.8939 0.1387 90.47); --color-nc-dark-warning-soft: oklch(0.3135 0.0643 85.04); --color-nc-dark-warning-deep: oklch(0.9320 0.0896 90.86); --color-nc-dark-info: oklch(0.7067 0.1528 272.08); --color-nc-dark-info-soft: oklch(0.2118 0.1033 268.28); --color-nc-dark-info-deep: oklch(0.8222 0.0888 274.44); --color-nc-dark-success: oklch(0.7019 0.1753 153.20); --color-nc-dark-success-soft: oklch(0.2893 0.0697 156.32); --color-nc-dark-success-deep: oklch(0.8524 0.0996 159.83); --color-nc-dark-state-ready: oklch(0.5624 0.0000 0.00); --color-nc-dark-state-running: oklch(0.5923 0.2215 269.61); --color-nc-dark-state-review: oklch(0.8466 0.1678 84.63); --color-nc-dark-state-blocked: oklch(0.5688 0.1995 26.59); --color-nc-dark-state-complete: oklch(0.6415 0.1644 153.23); --color-nc-dark-selection-bg: oklch(0.9461 0.0000 0.00); --color-nc-dark-selection-fg: oklch(0.1448 0.0000 0.00); --color-nc-dark-navigation-selection-bg: oklch(0.2178 0.0000 0.00); --color-nc-dark-navigation-selection-fg: oklch(0.9461 0.0000 0.00); --color-nc-dark-navigation-selection-hover: oklch(0.2686 0.0000 0.00); --color-nc-dark-cross: oklch(0.4495 0.0000 0.00); --color-nc-dark-verde-vivo: oklch(0.7868 0.1398 156.43); --color-nc-dark-chart-1: oklch(0.5923 0.2215 269.61); --color-nc-dark-chart-2: oklch(0.6415 0.1644 153.23); --color-nc-dark-chart-3: oklch(0.8939 0.1387 90.47); --color-nc-dark-chart-4: oklch(0.6627 0.1685 23.66); --color-nc-dark-chart-5: oklch(0.7820 0.1247 190.99); --color-nc-dark-chart-6: oklch(0.6297 0.1321 299.36); --color-nc-dark-chart-seq-1: oklch(0.5724 0.1897 270.11); --color-nc-dark-chart-seq-2: oklch(0.6998 0.1347 269.48); --color-nc-dark-chart-seq-3: oklch(0.8072 0.0884 269.44); --color-nc-dark-chart-seq-4: oklch(0.8877 0.0514 270.78); --color-nc-dark-chart-seq-5: oklch(0.9619 0.0179 272.31); --color-nc-dark-chart-div-warm: oklch(0.8939 0.1387 90.47); --color-nc-dark-chart-div-mid: oklch(0.9219 0.0000 0.00); --color-nc-dark-chart-div-cool: oklch(0.8222 0.0888 274.44); --font-display-xl: Geist, Inter, system-ui, -apple-system, sans-serif; --font-display-lg: Geist, Inter, system-ui, -apple-system, sans-serif; --font-display-md: Geist, Inter, system-ui, -apple-system, sans-serif; --font-display-sm: Geist, Inter, system-ui, -apple-system, sans-serif; --font-title-lg: Geist, Inter, system-ui, -apple-system, sans-serif; --font-title-md: Geist, Inter, system-ui, -apple-system, sans-serif; --font-title-sm: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-lg: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-md: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-md-strong: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-sm: Geist, Inter, system-ui, -apple-system, sans-serif; --font-body-sm-strong: Geist, Inter, system-ui, -apple-system, sans-serif; --font-caption: Geist, Inter, system-ui, -apple-system, sans-serif; --font-caption-strong: Geist, Inter, system-ui, -apple-system, sans-serif; --font-caption-mono: Geist Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; --font-code: Geist Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; --font-button-md: Geist, Inter, system-ui, -apple-system, sans-serif; --font-button-lg: Geist, Inter, system-ui, -apple-system, sans-serif; --text-display-xl: 72px; --text-display-xl--line-height: 74px; --leading-display-xl: 74px; --text-display-xl--letter-spacing: -1.5px; --tracking-display-xl: -1.5px; --text-display-xl--font-weight: 600; --font-weight-display-xl: 600; --text-display-lg: 52px; --text-display-lg--line-height: 54px; --leading-display-lg: 54px; --text-display-lg--letter-spacing: -1px; --tracking-display-lg: -1px; --text-display-lg--font-weight: 600; --font-weight-display-lg: 600; --text-display-md: 24px; --text-display-md--line-height: 32px; --leading-display-md: 32px; --text-display-md--letter-spacing: 0px; --tracking-display-md: 0px; --text-display-md--font-weight: 600; --font-weight-display-md: 600; --text-display-sm: 20px; --text-display-sm--line-height: 28px; --leading-display-sm: 28px; --text-display-sm--letter-spacing: 0px; --tracking-display-sm: 0px; --text-display-sm--font-weight: 600; --font-weight-display-sm: 600; --text-title-lg: 40px; --text-title-lg--line-height: 41px; --leading-title-lg: 41px; --text-title-lg--letter-spacing: 0px; --tracking-title-lg: 0px; --text-title-lg--font-weight: 600; --font-weight-title-lg: 600; --text-title-md: 30px; --text-title-md--line-height: 32px; --leading-title-md: 32px; --text-title-md--letter-spacing: 0px; --tracking-title-md: 0px; --text-title-md--font-weight: 600; --font-weight-title-md: 600; --text-title-sm: 22px; --text-title-sm--line-height: 25px; --leading-title-sm: 25px; --text-title-sm--letter-spacing: 0px; --tracking-title-sm: 0px; --text-title-sm--font-weight: 600; --font-weight-title-sm: 600; --text-body-lg: 18px; --text-body-lg--line-height: 27px; --leading-body-lg: 27px; --text-body-lg--letter-spacing: 0px; --tracking-body-lg: 0px; --text-body-lg--font-weight: 400; --font-weight-body-lg: 400; --text-body-md: 16px; --text-body-md--line-height: 25px; --leading-body-md: 25px; --text-body-md--letter-spacing: 0px; --tracking-body-md: 0px; --text-body-md--font-weight: 400; --font-weight-body-md: 400; --text-body-md-strong: 16px; --text-body-md-strong--line-height: 24px; --leading-body-md-strong: 24px; --text-body-md-strong--letter-spacing: 0px; --tracking-body-md-strong: 0px; --text-body-md-strong--font-weight: 500; --font-weight-body-md-strong: 500; --text-body-sm: 14px; --text-body-sm--line-height: 20px; --leading-body-sm: 20px; --text-body-sm--letter-spacing: 0px; --tracking-body-sm: 0px; --text-body-sm--font-weight: 400; --font-weight-body-sm: 400; --text-body-sm-strong: 14px; --text-body-sm-strong--line-height: 20px; --leading-body-sm-strong: 20px; --text-body-sm-strong--letter-spacing: 0px; --tracking-body-sm-strong: 0px; --text-body-sm-strong--font-weight: 500; --font-weight-body-sm-strong: 500; --text-caption: 12px; --text-caption--line-height: 16px; --leading-caption: 16px; --text-caption--letter-spacing: 0px; --tracking-caption: 0px; --text-caption--font-weight: 400; --font-weight-caption: 400; --text-caption-strong: 12px; --text-caption-strong--line-height: 16px; --leading-caption-strong: 16px; --text-caption-strong--letter-spacing: 0px; --tracking-caption-strong: 0px; --text-caption-strong--font-weight: 500; --font-weight-caption-strong: 500; --text-caption-mono: 12px; --text-caption-mono--line-height: 16px; --leading-caption-mono: 16px; --text-caption-mono--letter-spacing: 0px; --tracking-caption-mono: 0px; --text-caption-mono--font-weight: 500; --font-weight-caption-mono: 500; --text-code: 13px; --text-code--line-height: 20px; --leading-code: 20px; --text-code--letter-spacing: 0px; --tracking-code: 0px; --text-code--font-weight: 400; --font-weight-code: 400; --text-button-md: 14px; --text-button-md--line-height: 18px; --leading-button-md: 18px; --text-button-md--letter-spacing: 0px; --tracking-button-md: 0px; --text-button-md--font-weight: 500; --font-weight-button-md: 500; --text-button-lg: 16px; --text-button-lg--line-height: 24px; --leading-button-lg: 24px; --text-button-lg--letter-spacing: 0px; --tracking-button-lg: 0px; --text-button-lg--font-weight: 500; --font-weight-button-lg: 500; --radius-none: 0px; --radius-xs: 2px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 10px; --radius-2xl: 12px; --radius-3xl: 16px; --radius-pill-sm: 64px; --radius-pill: 100px; --radius-full: 9999px; --ease-nc-emphasized: cubic-bezier(0.3, 0.7, 0.2, 1); --ease-nc-out-strong: cubic-bezier(0.23, 1, 0.32, 1); --ease-nc-in-out-strong: cubic-bezier(0.77, 0, 0.175, 1); --ease-nc-drawer: cubic-bezier(0.32, 0.72, 0, 1); --outline-width-focus: var(--spacing-nadicode-focus-outline-width); --outline-offset-focus: var(--spacing-nadicode-focus-outline-offset); --opacity-scrim: var(--nc-material-scrim-opacity); --spacing-nadicode-xxs: 4px; --spacing-nadicode-xs: 8px; --spacing-nadicode-sm: 12px; --spacing-nadicode-md: 16px; --spacing-nadicode-lg: 24px; --spacing-nadicode-xl: 32px; --spacing-nadicode-2xl: 40px; --spacing-nadicode-3xl: 48px; --spacing-nadicode-4xl: 64px; --spacing-nadicode-5xl: 96px; --spacing-nadicode-6xl: 128px; --spacing-nadicode-guide: 1px; --spacing-nadicode-icon-stroke: 1.6px; --spacing-nadicode-focus-outline-width: 2px; --spacing-nadicode-focus-outline-offset: 2px; --spacing-nadicode-control-height: 32px; --spacing-nadicode-control-padding-inline: 10px; --spacing-nadicode-touch-target: 44px; --spacing-nadicode-section: 192px; --spacing-nadicode-page-pad: 24px; --spacing-nadicode-page-max-mobile: 448px; --spacing-nadicode-page-max-tablet: 624px; --spacing-nadicode-page-max-desktop: 1440px; --spacing-nadicode-frame-max: 1392px; --spacing-nadicode-frame-gap: 24px; --spacing-nadicode-cell-padding: 24px; --spacing-nadicode-section-gap: 48px; --spacing-nadicode-cross-size-mobile: 11px; --spacing-nadicode-cross-size-tablet: 15px; --spacing-nadicode-cross-size-desktop: 21px; --spacing-nadicode-h-strip-mobile: 72px; --spacing-nadicode-h-strip-tablet: 80px; --spacing-nadicode-h-strip-desktop: 88px; --spacing-nadicode-h-cell-sm: 120px; --spacing-nadicode-h-cell-md-mobile: 144px; --spacing-nadicode-h-cell-md-tablet: 160px; --spacing-nadicode-h-cell-md-desktop: 168px; --spacing-nadicode-h-cell-lg-mobile: 220px; --spacing-nadicode-h-cell-lg-desktop: 240px; --spacing-nadicode-h-visual-mobile: 276px; --spacing-nadicode-h-visual-tablet: 318px; --spacing-nadicode-h-visual-desktop: 360px; --spacing-nadicode-h-precision-mobile: 276px; --spacing-nadicode-h-precision-tablet: 480px; --spacing-nadicode-h-precision-desktop: 720px; --spacing-nadicode-h-hero-mobile: 560px; --spacing-nadicode-h-hero-desktop: 720px; --spacing-nadicode-h-action-strip-mobile: 20px; --spacing-nadicode-h-action-strip-desktop: 32px; --spacing-nadicode-h-action-body-mobile: 320px; --spacing-nadicode-h-action-body-tablet: 338px; --spacing-nadicode-h-action-band: 260px; --spacing-nadicode-h-feature-mobile: 360px; --spacing-nadicode-h-feature-tablet: 400px; --spacing-nadicode-h-feature-desktop: 456px; --spacing-nadicode-h-editorial-feature-mobile: 360px; --spacing-nadicode-h-editorial-feature-tablet: 440px; --spacing-nadicode-h-editorial-feature-desktop: 560px; --spacing-nadicode-h-bento-primary: 384px; --spacing-nadicode-h-bento-secondary: 240px; --spacing-nadicode-h-bento-mobile-copy: 248px; --spacing-nadicode-h-bento-mobile-main: 537px; --spacing-nadicode-h-bento-strip: 20px; --spacing-nadicode-filter-chip-gap: 6px; --spacing-nadicode-filter-chip-height: 28px; --spacing-nadicode-filter-chip-icon: 14px; --spacing-control-height: var(--spacing-nadicode-control-height); --spacing-control-padding-inline: var(--spacing-nadicode-control-padding-inline); --spacing-touch-target: var(--spacing-nadicode-touch-target); }
|
|
674
668
|
@theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-primary-hover: var(--primary-hover); --color-primary-active: var(--primary-active); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-placeholder: var(--placeholder); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-warning: var(--warning); --color-warning-foreground: var(--warning-foreground); --color-success: var(--success); --color-success-foreground: var(--success-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-scrim: var(--scrim); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary-hover: var(--sidebar-primary-hover); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); }
|
|
675
669
|
}
|
|
676
670
|
|
package/dist/css/tokens.css
CHANGED
|
@@ -77,7 +77,6 @@
|
|
|
77
77
|
--nc-warning: oklch(0.8466 0.1678 84.63);
|
|
78
78
|
--nc-warning-soft: oklch(0.9649 0.0461 90.87);
|
|
79
79
|
--nc-warning-deep: oklch(0.4834 0.0995 82.44);
|
|
80
|
-
--nc-flag-red: oklch(0.5688 0.1995 26.59);
|
|
81
80
|
--nc-verde-vivo: oklch(0.5604 0.1485 151.68);
|
|
82
81
|
--nc-selection-bg: oklch(0.1776 0.0000 0.00);
|
|
83
82
|
--nc-selection-fg: oklch(0.9851 0.0000 0.00);
|
|
@@ -89,8 +88,6 @@
|
|
|
89
88
|
--nc-state-review: oklch(0.8466 0.1678 84.63);
|
|
90
89
|
--nc-state-blocked: oklch(0.5688 0.1995 26.59);
|
|
91
90
|
--nc-state-complete: oklch(0.6415 0.1644 153.23);
|
|
92
|
-
--nc-background-100: oklch(1.0000 0.0000 0.00);
|
|
93
|
-
--nc-background-200: oklch(0.9851 0.0000 0.00);
|
|
94
91
|
--nc-identity-verde: oklch(0.6415 0.1644 153.23);
|
|
95
92
|
--nc-identity-rosso: oklch(0.5688 0.1995 26.59);
|
|
96
93
|
--nc-identity-arancio: oklch(0.6824 0.2108 37.70);
|
|
@@ -143,9 +140,6 @@
|
|
|
143
140
|
--nc-dark-info: oklch(0.7067 0.1528 272.08);
|
|
144
141
|
--nc-dark-info-soft: oklch(0.2118 0.1033 268.28);
|
|
145
142
|
--nc-dark-info-deep: oklch(0.8222 0.0888 274.44);
|
|
146
|
-
--nc-dark-cyan: oklch(0.7820 0.1247 190.99);
|
|
147
|
-
--nc-dark-cyan-soft: oklch(0.8646 0.1000 187.55);
|
|
148
|
-
--nc-dark-cyan-deep: oklch(0.6347 0.1029 191.54);
|
|
149
143
|
--nc-dark-success: oklch(0.7019 0.1753 153.20);
|
|
150
144
|
--nc-dark-success-soft: oklch(0.2893 0.0697 156.32);
|
|
151
145
|
--nc-dark-success-deep: oklch(0.8524 0.0996 159.83);
|
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
"warning": "#ffc220",
|
|
39
39
|
"warning-soft": "#fff3d1",
|
|
40
40
|
"warning-deep": "#7a5800",
|
|
41
|
-
"flag-red": "#d3302f",
|
|
42
41
|
"verde-vivo": "#008c45",
|
|
43
42
|
"selection-bg": "#111111",
|
|
44
43
|
"selection-fg": "#fafafa",
|
|
@@ -50,8 +49,6 @@
|
|
|
50
49
|
"state-review": "#ffc220",
|
|
51
50
|
"state-blocked": "#d3302f",
|
|
52
51
|
"state-complete": "#00a85a",
|
|
53
|
-
"background-100": "#ffffff",
|
|
54
|
-
"background-200": "#fafafa",
|
|
55
52
|
"identity-verde": "#00a85a",
|
|
56
53
|
"identity-rosso": "#d3302f",
|
|
57
54
|
"identity-arancio": "#ff5a1f",
|
|
@@ -104,9 +101,6 @@
|
|
|
104
101
|
"dark-info": "#8098ff",
|
|
105
102
|
"dark-info-soft": "#070f47",
|
|
106
103
|
"dark-info-deep": "#b3c1ff",
|
|
107
|
-
"dark-cyan": "#33d1cb",
|
|
108
|
-
"dark-cyan-soft": "#7ee8de",
|
|
109
|
-
"dark-cyan-deep": "#1f9e9a",
|
|
110
104
|
"dark-success": "#17bd68",
|
|
111
105
|
"dark-success-soft": "#00351c",
|
|
112
106
|
"dark-success-deep": "#93e3b8",
|
|
@@ -401,17 +401,6 @@
|
|
|
401
401
|
"hex": "#7a5800"
|
|
402
402
|
}
|
|
403
403
|
},
|
|
404
|
-
"flag-red": {
|
|
405
|
-
"$value": {
|
|
406
|
-
"colorSpace": "srgb",
|
|
407
|
-
"components": [
|
|
408
|
-
0.827,
|
|
409
|
-
0.188,
|
|
410
|
-
0.184
|
|
411
|
-
],
|
|
412
|
-
"hex": "#d3302f"
|
|
413
|
-
}
|
|
414
|
-
},
|
|
415
404
|
"verde-vivo": {
|
|
416
405
|
"$value": {
|
|
417
406
|
"colorSpace": "srgb",
|
|
@@ -533,28 +522,6 @@
|
|
|
533
522
|
"hex": "#00a85a"
|
|
534
523
|
}
|
|
535
524
|
},
|
|
536
|
-
"background-100": {
|
|
537
|
-
"$value": {
|
|
538
|
-
"colorSpace": "srgb",
|
|
539
|
-
"components": [
|
|
540
|
-
1,
|
|
541
|
-
1,
|
|
542
|
-
1
|
|
543
|
-
],
|
|
544
|
-
"hex": "#ffffff"
|
|
545
|
-
}
|
|
546
|
-
},
|
|
547
|
-
"background-200": {
|
|
548
|
-
"$value": {
|
|
549
|
-
"colorSpace": "srgb",
|
|
550
|
-
"components": [
|
|
551
|
-
0.98,
|
|
552
|
-
0.98,
|
|
553
|
-
0.98
|
|
554
|
-
],
|
|
555
|
-
"hex": "#fafafa"
|
|
556
|
-
}
|
|
557
|
-
},
|
|
558
525
|
"identity-verde": {
|
|
559
526
|
"$value": {
|
|
560
527
|
"colorSpace": "srgb",
|
|
@@ -1127,39 +1094,6 @@
|
|
|
1127
1094
|
"hex": "#b3c1ff"
|
|
1128
1095
|
}
|
|
1129
1096
|
},
|
|
1130
|
-
"dark-cyan": {
|
|
1131
|
-
"$value": {
|
|
1132
|
-
"colorSpace": "srgb",
|
|
1133
|
-
"components": [
|
|
1134
|
-
0.2,
|
|
1135
|
-
0.82,
|
|
1136
|
-
0.796
|
|
1137
|
-
],
|
|
1138
|
-
"hex": "#33d1cb"
|
|
1139
|
-
}
|
|
1140
|
-
},
|
|
1141
|
-
"dark-cyan-soft": {
|
|
1142
|
-
"$value": {
|
|
1143
|
-
"colorSpace": "srgb",
|
|
1144
|
-
"components": [
|
|
1145
|
-
0.494,
|
|
1146
|
-
0.91,
|
|
1147
|
-
0.871
|
|
1148
|
-
],
|
|
1149
|
-
"hex": "#7ee8de"
|
|
1150
|
-
}
|
|
1151
|
-
},
|
|
1152
|
-
"dark-cyan-deep": {
|
|
1153
|
-
"$value": {
|
|
1154
|
-
"colorSpace": "srgb",
|
|
1155
|
-
"components": [
|
|
1156
|
-
0.122,
|
|
1157
|
-
0.62,
|
|
1158
|
-
0.604
|
|
1159
|
-
],
|
|
1160
|
-
"hex": "#1f9e9a"
|
|
1161
|
-
}
|
|
1162
|
-
},
|
|
1163
1097
|
"dark-success": {
|
|
1164
1098
|
"$value": {
|
|
1165
1099
|
"colorSpace": "srgb",
|
|
@@ -4017,17 +3951,6 @@
|
|
|
4017
3951
|
],
|
|
4018
3952
|
"hex": "#e5e5e5"
|
|
4019
3953
|
}
|
|
4020
|
-
},
|
|
4021
|
-
"medallion": {
|
|
4022
|
-
"$value": {
|
|
4023
|
-
"colorSpace": "srgb",
|
|
4024
|
-
"components": [
|
|
4025
|
-
0,
|
|
4026
|
-
0.549,
|
|
4027
|
-
0.271
|
|
4028
|
-
],
|
|
4029
|
-
"hex": "#008c45"
|
|
4030
|
-
}
|
|
4031
3954
|
}
|
|
4032
3955
|
},
|
|
4033
3956
|
"dark": {
|
|
@@ -4306,17 +4229,6 @@
|
|
|
4306
4229
|
],
|
|
4307
4230
|
"hex": "#262626"
|
|
4308
4231
|
}
|
|
4309
|
-
},
|
|
4310
|
-
"medallion": {
|
|
4311
|
-
"$value": {
|
|
4312
|
-
"colorSpace": "srgb",
|
|
4313
|
-
"components": [
|
|
4314
|
-
0.384,
|
|
4315
|
-
0.831,
|
|
4316
|
-
0.58
|
|
4317
|
-
],
|
|
4318
|
-
"hex": "#62d494"
|
|
4319
|
-
}
|
|
4320
4232
|
}
|
|
4321
4233
|
}
|
|
4322
4234
|
},
|
|
@@ -401,17 +401,6 @@
|
|
|
401
401
|
"hex": "#7a5800"
|
|
402
402
|
}
|
|
403
403
|
},
|
|
404
|
-
"flag-red": {
|
|
405
|
-
"$value": {
|
|
406
|
-
"colorSpace": "srgb",
|
|
407
|
-
"components": [
|
|
408
|
-
0.827,
|
|
409
|
-
0.188,
|
|
410
|
-
0.184
|
|
411
|
-
],
|
|
412
|
-
"hex": "#d3302f"
|
|
413
|
-
}
|
|
414
|
-
},
|
|
415
404
|
"verde-vivo": {
|
|
416
405
|
"$value": {
|
|
417
406
|
"colorSpace": "srgb",
|
|
@@ -533,28 +522,6 @@
|
|
|
533
522
|
"hex": "#00a85a"
|
|
534
523
|
}
|
|
535
524
|
},
|
|
536
|
-
"background-100": {
|
|
537
|
-
"$value": {
|
|
538
|
-
"colorSpace": "srgb",
|
|
539
|
-
"components": [
|
|
540
|
-
1,
|
|
541
|
-
1,
|
|
542
|
-
1
|
|
543
|
-
],
|
|
544
|
-
"hex": "#ffffff"
|
|
545
|
-
}
|
|
546
|
-
},
|
|
547
|
-
"background-200": {
|
|
548
|
-
"$value": {
|
|
549
|
-
"colorSpace": "srgb",
|
|
550
|
-
"components": [
|
|
551
|
-
0.98,
|
|
552
|
-
0.98,
|
|
553
|
-
0.98
|
|
554
|
-
],
|
|
555
|
-
"hex": "#fafafa"
|
|
556
|
-
}
|
|
557
|
-
},
|
|
558
525
|
"identity-verde": {
|
|
559
526
|
"$value": {
|
|
560
527
|
"colorSpace": "srgb",
|
|
@@ -1127,39 +1094,6 @@
|
|
|
1127
1094
|
"hex": "#b3c1ff"
|
|
1128
1095
|
}
|
|
1129
1096
|
},
|
|
1130
|
-
"dark-cyan": {
|
|
1131
|
-
"$value": {
|
|
1132
|
-
"colorSpace": "srgb",
|
|
1133
|
-
"components": [
|
|
1134
|
-
0.2,
|
|
1135
|
-
0.82,
|
|
1136
|
-
0.796
|
|
1137
|
-
],
|
|
1138
|
-
"hex": "#33d1cb"
|
|
1139
|
-
}
|
|
1140
|
-
},
|
|
1141
|
-
"dark-cyan-soft": {
|
|
1142
|
-
"$value": {
|
|
1143
|
-
"colorSpace": "srgb",
|
|
1144
|
-
"components": [
|
|
1145
|
-
0.494,
|
|
1146
|
-
0.91,
|
|
1147
|
-
0.871
|
|
1148
|
-
],
|
|
1149
|
-
"hex": "#7ee8de"
|
|
1150
|
-
}
|
|
1151
|
-
},
|
|
1152
|
-
"dark-cyan-deep": {
|
|
1153
|
-
"$value": {
|
|
1154
|
-
"colorSpace": "srgb",
|
|
1155
|
-
"components": [
|
|
1156
|
-
0.122,
|
|
1157
|
-
0.62,
|
|
1158
|
-
0.604
|
|
1159
|
-
],
|
|
1160
|
-
"hex": "#1f9e9a"
|
|
1161
|
-
}
|
|
1162
|
-
},
|
|
1163
1097
|
"dark-success": {
|
|
1164
1098
|
"$value": {
|
|
1165
1099
|
"colorSpace": "srgb",
|
|
@@ -3817,9 +3751,6 @@
|
|
|
3817
3751
|
},
|
|
3818
3752
|
"user-bubble-border": {
|
|
3819
3753
|
"$value": "{nadicode.core.color.line}"
|
|
3820
|
-
},
|
|
3821
|
-
"medallion": {
|
|
3822
|
-
"$value": "{nadicode.core.color.verde-vivo}"
|
|
3823
3754
|
}
|
|
3824
3755
|
},
|
|
3825
3756
|
"dark": {
|
|
@@ -3882,7 +3813,7 @@
|
|
|
3882
3813
|
"$value": "{nadicode.core.color.dark-focus-ring}"
|
|
3883
3814
|
},
|
|
3884
3815
|
"destructive": {
|
|
3885
|
-
"$value": "{nadicode.core.color.
|
|
3816
|
+
"$value": "{nadicode.core.color.error}"
|
|
3886
3817
|
},
|
|
3887
3818
|
"destructive-foreground": {
|
|
3888
3819
|
"$value": "{nadicode.core.color.on-primary}"
|
|
@@ -3898,9 +3829,6 @@
|
|
|
3898
3829
|
},
|
|
3899
3830
|
"user-bubble-border": {
|
|
3900
3831
|
"$value": "{nadicode.core.color.dark-line}"
|
|
3901
|
-
},
|
|
3902
|
-
"medallion": {
|
|
3903
|
-
"$value": "{nadicode.core.color.dark-verde-vivo}"
|
|
3904
3832
|
}
|
|
3905
3833
|
}
|
|
3906
3834
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nadicodeai/design-system",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -121,18 +121,6 @@
|
|
|
121
121
|
"types": "./src/assets/nadia-asset.d.ts",
|
|
122
122
|
"default": "./dist/assets/nadia-01-solid-surface.png"
|
|
123
123
|
},
|
|
124
|
-
"./assets/nadia-ordered-points": {
|
|
125
|
-
"types": "./src/assets/nadia-asset.d.ts",
|
|
126
|
-
"default": "./dist/assets/nadia-02-ordered-points.png"
|
|
127
|
-
},
|
|
128
|
-
"./assets/nadia-triangulated-wire": {
|
|
129
|
-
"types": "./src/assets/nadia-asset.d.ts",
|
|
130
|
-
"default": "./dist/assets/nadia-03-triangulated-wire.png"
|
|
131
|
-
},
|
|
132
|
-
"./assets/nadia-irregular-particles": {
|
|
133
|
-
"types": "./src/assets/nadia-asset.d.ts",
|
|
134
|
-
"default": "./dist/assets/nadia-04-irregular-particles.png"
|
|
135
|
-
},
|
|
136
124
|
"./assets/fonts/geist.css": "./src/assets/fonts/geist.css",
|
|
137
125
|
"./assets/fonts/*": "./src/assets/fonts/*"
|
|
138
126
|
},
|
|
@@ -167,7 +155,7 @@
|
|
|
167
155
|
"@google/design.md": "0.4.0",
|
|
168
156
|
"@nadicodeai/eslint-plugin": "*",
|
|
169
157
|
"@playwright/test": "^1.63.0",
|
|
170
|
-
"@types/node": "^
|
|
158
|
+
"@types/node": "^24",
|
|
171
159
|
"ajv": "8.20.0",
|
|
172
160
|
"ajv-formats": "3.0.1",
|
|
173
161
|
"esbuild": "^0.28.2",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|