@nadicodeai/ui 0.22.0 → 1.0.1
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/AGENTS.md +4 -4
- package/LICENSES/PAPER-SHADERS-APACHE-2.0.txt +186 -0
- package/NOTICE +12 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +1 -0
- package/dist/components/agent-card.d.ts +13 -0
- package/dist/components/agent-card.d.ts.map +1 -0
- package/dist/components/agent-card.js +15 -0
- package/dist/components/agent-visual.d.ts +17 -0
- package/dist/components/agent-visual.d.ts.map +1 -0
- package/dist/components/agent-visual.js +63 -0
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/badge.d.ts.map +1 -1
- package/dist/components/badge.js +9 -0
- package/dist/components/card.d.ts +5 -3
- package/dist/components/card.d.ts.map +1 -1
- package/dist/components/card.js +7 -7
- package/dist/components/chart.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/context-menu.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/drawer.js +1 -1
- package/dist/components/dropdown-menu.js +1 -1
- package/dist/components/empty.d.ts +5 -2
- package/dist/components/empty.d.ts.map +1 -1
- package/dist/components/empty.js +3 -3
- package/dist/components/feedback-state.js +1 -1
- package/dist/components/glass-control.d.ts +7 -0
- package/dist/components/glass-control.d.ts.map +1 -0
- package/dist/components/glass-control.js +14 -0
- package/dist/components/hover-card.js +1 -1
- package/dist/components/label-system.d.ts +1 -10
- package/dist/components/label-system.d.ts.map +1 -1
- package/dist/components/label-system.js +1 -7
- package/dist/components/live-demo.js +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/nav-bar.d.ts +6 -8
- package/dist/components/nav-bar.d.ts.map +1 -1
- package/dist/components/nav-bar.js +8 -9
- package/dist/components/navigation-menu.js +2 -2
- package/dist/components/popover.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/sonner.js +2 -2
- package/dist/components/testimonials.d.ts +1 -1
- package/dist/components/testimonials.js +2 -2
- package/dist/components/tooltip.js +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/internal/agent-visual/color.d.ts +4 -0
- package/dist/internal/agent-visual/color.d.ts.map +1 -0
- package/dist/internal/agent-visual/color.js +72 -0
- package/dist/internal/agent-visual/poster.d.ts +6 -0
- package/dist/internal/agent-visual/poster.d.ts.map +1 -0
- package/dist/internal/agent-visual/poster.js +35 -0
- package/dist/internal/agent-visual/recipes.d.ts +15 -0
- package/dist/internal/agent-visual/recipes.d.ts.map +1 -0
- package/dist/internal/agent-visual/recipes.js +72 -0
- package/dist/internal/agent-visual/renderer.d.ts +10 -0
- package/dist/internal/agent-visual/renderer.d.ts.map +1 -0
- package/dist/internal/agent-visual/renderer.js +112 -0
- package/dist/internal/agent-visual/shader.d.ts +2 -0
- package/dist/internal/agent-visual/shader.d.ts.map +1 -0
- package/dist/internal/agent-visual/shader.js +158 -0
- package/dist/internal/assistant-ui/thread.js +3 -3
- package/dist/styles/globals.css +21 -0
- package/docs/agents/nadicodeai-ui.md +4 -2
- package/docs/consuming-cross-repo.md +3 -1
- package/docs/contract.md +80 -2
- package/docs/migration/1.0.0.md +75 -0
- package/llms.txt +2 -0
- package/package.json +10 -4
- package/skills/nadicodeai-ui/SKILL.md +7 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Migrating to `@nadicodeai/ui` 1.0.0
|
|
2
|
+
|
|
3
|
+
This release makes material hierarchy and Agent identity package-owned. It
|
|
4
|
+
also publishes the previously held status-vocabulary break.
|
|
5
|
+
|
|
6
|
+
## Status
|
|
7
|
+
|
|
8
|
+
`StatusTag` and `StateTag` are removed. Use `Badge` with one of its five
|
|
9
|
+
semantic tones. The consuming app owns the status word, icon, and tone mapping.
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
import { Badge } from "@nadicodeai/ui/components/badge";
|
|
13
|
+
|
|
14
|
+
<Badge variant="green">Ready</Badge>;
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The retired `.nc-status-tag`, `.nc-state-tag`, and `.nc-state-row` CSS classes
|
|
18
|
+
have no replacement CSS API.
|
|
19
|
+
|
|
20
|
+
## Material and Card
|
|
21
|
+
|
|
22
|
+
Import `@nadicodeai/ui/globals.css` once. It now composes
|
|
23
|
+
`shadow-plugin@1.2.7`; consumers do not install its classes or override its
|
|
24
|
+
ring.
|
|
25
|
+
|
|
26
|
+
`Card` defaults to `surface="resting"`. Use `surface="raised"` only for work
|
|
27
|
+
that is physically raised or selected, and `surface="plain"` for the explicit
|
|
28
|
+
structural/auth/website escape. `variant` continues to describe interaction.
|
|
29
|
+
Replace the removed `variant="borderless"` with `surface="plain"`.
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
<Card>Resting content</Card>
|
|
33
|
+
<Card surface="raised">Selected work</Card>
|
|
34
|
+
<Card surface="plain">Structural content</Card>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Overlay primitives now own floating or modal elevation internally. Remove
|
|
38
|
+
caller `border-*`, `ring-*`, `shadow-*`, and `smooth-shadow-*` appearance
|
|
39
|
+
classes from their content roots.
|
|
40
|
+
|
|
41
|
+
## Empty and glass control
|
|
42
|
+
|
|
43
|
+
Set Empty containment explicitly when nesting matters:
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
<Empty scope="region">No agents</Empty>
|
|
47
|
+
<Card><Empty scope="card">No runs</Empty></Card>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Use `GlassControl shape="control"` for compact controls and `shape="bar"` for
|
|
51
|
+
full-width header chrome. Both float over legible content. Cards and modal
|
|
52
|
+
primitives continue to contain page content and dialog bodies.
|
|
53
|
+
|
|
54
|
+
## Agent identity
|
|
55
|
+
|
|
56
|
+
Agent identity is available from direct component subpaths. The
|
|
57
|
+
`@nadicodeai/ui/agents` entry remains the client-only assistant conversation
|
|
58
|
+
and runtime interface.
|
|
59
|
+
|
|
60
|
+
```tsx
|
|
61
|
+
import { AgentCard } from "@nadicodeai/ui/components/agent-card";
|
|
62
|
+
import { AgentVisual } from "@nadicodeai/ui/components/agent-visual";
|
|
63
|
+
|
|
64
|
+
<AgentCard
|
|
65
|
+
name={agent.name}
|
|
66
|
+
job={agent.job}
|
|
67
|
+
status={<Badge variant="blue">Running</Badge>}
|
|
68
|
+
visual={<AgentVisual recipe={agent.recipe} presentation="card" />}
|
|
69
|
+
/>;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Recipe assignment is app-owned and explicit. Do not infer it from a free-form
|
|
73
|
+
role, hash an identifier, or randomize it. `AgentVisual` accepts only the five
|
|
74
|
+
closed recipes and three presentations; raw shader controls are intentionally
|
|
75
|
+
not public. `AgentGlyph` and `AgentRow` do not exist in the 1.0.0 API.
|
package/llms.txt
CHANGED
|
@@ -13,6 +13,8 @@ Use this file as a map; read the owning document before changing behavior.
|
|
|
13
13
|
- Current published subpaths: `package.json` `exports` plus the generated
|
|
14
14
|
`dist/components/**/*.d.ts` declarations in an installed package.
|
|
15
15
|
- Public Agent UI interface: `src/agents.ts`, exported as `@nadicodeai/ui/agents`.
|
|
16
|
+
- Material, Card, Empty, glass-control, AgentVisual, and AgentCard semantics:
|
|
17
|
+
`docs/contract.md`; 1.0 adoption steps: `docs/migration/1.0.0.md`.
|
|
16
18
|
- Maintained conversation implementation: `src/internal/assistant-ui/`.
|
|
17
19
|
- Product compositions and sections: `docs/product-compositions.md` and
|
|
18
20
|
`docs/product-sections.md`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nadicodeai/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -38,6 +38,8 @@
|
|
|
38
38
|
},
|
|
39
39
|
"files": [
|
|
40
40
|
"dist",
|
|
41
|
+
"LICENSES",
|
|
42
|
+
"NOTICE",
|
|
41
43
|
"README.md",
|
|
42
44
|
"AGENTS.md",
|
|
43
45
|
"llms.txt",
|
|
@@ -47,11 +49,13 @@
|
|
|
47
49
|
"scripts": {
|
|
48
50
|
"dev": "node scripts/dev-build.mjs --watch",
|
|
49
51
|
"build": "rm -rf dist && tsc -p tsconfig.build.json && node scripts/fix-dist-imports.mjs && node scripts/build-styles.mjs && node scripts/build-eslint.mjs",
|
|
50
|
-
"build:
|
|
52
|
+
"build:dev": "node scripts/dev-build.mjs",
|
|
51
53
|
"generate:brand-icons": "node scripts/build-brand-icons.mjs",
|
|
52
54
|
"prepack": "npm run build",
|
|
53
55
|
"lint": "eslint --max-warnings=0",
|
|
54
56
|
"typecheck": "tsc --noEmit",
|
|
57
|
+
"check": "npm run lint && npm run typecheck",
|
|
58
|
+
"check:static": "npm run check",
|
|
55
59
|
"pretest": "npm run build",
|
|
56
60
|
"test": "vitest run"
|
|
57
61
|
},
|
|
@@ -59,7 +63,8 @@
|
|
|
59
63
|
"@assistant-ui/react": "0.15.1",
|
|
60
64
|
"@assistant-ui/react-markdown": "0.14.8",
|
|
61
65
|
"@base-ui/react": "^1.6.0",
|
|
62
|
-
"@nadicodeai/design-system": "0.
|
|
66
|
+
"@nadicodeai/design-system": "1.0.1",
|
|
67
|
+
"@paper-design/shaders": "0.0.78",
|
|
63
68
|
"class-variance-authority": "^0.7.1",
|
|
64
69
|
"clsx": "^2.1.1",
|
|
65
70
|
"cmdk": "^1.1.1",
|
|
@@ -72,8 +77,9 @@
|
|
|
72
77
|
"react-hook-form": "^7.80.0",
|
|
73
78
|
"react-resizable-panels": "^4.11.2",
|
|
74
79
|
"recharts": "^3.8.0",
|
|
75
|
-
"sonner": "^2.0.7",
|
|
76
80
|
"remark-gfm": "^4.0.1",
|
|
81
|
+
"shadow-plugin": "1.2.7",
|
|
82
|
+
"sonner": "^2.0.7",
|
|
77
83
|
"tailwind-merge": "^3.0.0",
|
|
78
84
|
"tw-animate-css": "^1.4.0",
|
|
79
85
|
"tw-shimmer": "0.4.12",
|
|
@@ -40,12 +40,18 @@ Product component imports:
|
|
|
40
40
|
|
|
41
41
|
```tsx
|
|
42
42
|
import { DashboardShell } from "@nadicodeai/ui/components/dashboard-shell";
|
|
43
|
+
import { AgentCard } from "@nadicodeai/ui/components/agent-card";
|
|
44
|
+
import { AgentVisual } from "@nadicodeai/ui/components/agent-visual";
|
|
43
45
|
import { Thread } from "@nadicodeai/ui/agents";
|
|
44
46
|
```
|
|
45
47
|
|
|
46
48
|
## Product Components
|
|
47
49
|
|
|
48
|
-
- Use `@nadicodeai/ui/agents` for
|
|
50
|
+
- Use `@nadicodeai/ui/agents` for assistant-ui conversation primitives, providers, hooks, runtimes, and types. It is a client-only entry; do not import assistant-ui packages directly or recreate their behavior.
|
|
51
|
+
- Import Agent identity from `@nadicodeai/ui/components/agent-card` and `@nadicodeai/ui/components/agent-visual`. Direct subpaths keep the Card composition server-compatible and the animated visual at a client leaf.
|
|
52
|
+
- Use `AgentVisual` with an explicit closed recipe and `registry`, `card`, or `detail` presentation; every role renders the living identity when motion and WebGL are available. The poster is first paint and fallback. Never infer or randomize identity from a free-form role. Compose it through `AgentCard` when the Agent is a recognizable content object. There is no `AgentGlyph` or `AgentRow`.
|
|
53
|
+
- `Card` defaults to the resting material. Select `surface="raised"` for physically raised/selected work and `surface="plain"` for an intentional structural/auth/website escape. Do not add border, ring, or shadow classes at call sites.
|
|
54
|
+
- Use `Empty scope="page|region|card"` so only the owning container draws a frame. Use `GlassControl shape="control"` for compact floating controls and `shape="bar"` for full-width header chrome, never content or modal bodies.
|
|
49
55
|
- Use first-party shadcn registry source in the consuming app for generic data tables, command palettes, and chart cards; do not import a NadicodeAI package abstraction for those patterns.
|
|
50
56
|
- Keep routes, data, auth, server actions, persistence, permission decisions, runtime adapters, analytics, and product-specific copy in the consuming app.
|
|
51
57
|
- Fixtures must be synthetic or redacted and cover provider, model, plugin, approval, diff, terminal, installer recovery, queued, streaming, and interrupted states. Do not use generic SaaS/card-grid filler, secrets, environment values, raw terminal output, hidden reasoning, user memory, fake customers, or fake proof metrics.
|