@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.
Files changed (76) hide show
  1. package/AGENTS.md +4 -4
  2. package/LICENSES/PAPER-SHADERS-APACHE-2.0.txt +186 -0
  3. package/NOTICE +12 -0
  4. package/dist/agents.d.ts.map +1 -1
  5. package/dist/agents.js +1 -0
  6. package/dist/components/agent-card.d.ts +13 -0
  7. package/dist/components/agent-card.d.ts.map +1 -0
  8. package/dist/components/agent-card.js +15 -0
  9. package/dist/components/agent-visual.d.ts +17 -0
  10. package/dist/components/agent-visual.d.ts.map +1 -0
  11. package/dist/components/agent-visual.js +63 -0
  12. package/dist/components/alert-dialog.js +1 -1
  13. package/dist/components/badge.d.ts +1 -1
  14. package/dist/components/badge.d.ts.map +1 -1
  15. package/dist/components/badge.js +9 -0
  16. package/dist/components/card.d.ts +5 -3
  17. package/dist/components/card.d.ts.map +1 -1
  18. package/dist/components/card.js +7 -7
  19. package/dist/components/chart.js +1 -1
  20. package/dist/components/combobox.js +1 -1
  21. package/dist/components/context-menu.js +1 -1
  22. package/dist/components/dialog.js +1 -1
  23. package/dist/components/drawer.js +1 -1
  24. package/dist/components/dropdown-menu.js +1 -1
  25. package/dist/components/empty.d.ts +5 -2
  26. package/dist/components/empty.d.ts.map +1 -1
  27. package/dist/components/empty.js +3 -3
  28. package/dist/components/feedback-state.js +1 -1
  29. package/dist/components/glass-control.d.ts +7 -0
  30. package/dist/components/glass-control.d.ts.map +1 -0
  31. package/dist/components/glass-control.js +14 -0
  32. package/dist/components/hover-card.js +1 -1
  33. package/dist/components/label-system.d.ts +1 -10
  34. package/dist/components/label-system.d.ts.map +1 -1
  35. package/dist/components/label-system.js +1 -7
  36. package/dist/components/live-demo.js +1 -1
  37. package/dist/components/menubar.js +1 -1
  38. package/dist/components/nav-bar.d.ts +6 -8
  39. package/dist/components/nav-bar.d.ts.map +1 -1
  40. package/dist/components/nav-bar.js +8 -9
  41. package/dist/components/navigation-menu.js +2 -2
  42. package/dist/components/popover.js +1 -1
  43. package/dist/components/select.js +1 -1
  44. package/dist/components/sheet.js +1 -1
  45. package/dist/components/sidebar.js +1 -1
  46. package/dist/components/sonner.js +2 -2
  47. package/dist/components/testimonials.d.ts +1 -1
  48. package/dist/components/testimonials.js +2 -2
  49. package/dist/components/tooltip.js +1 -1
  50. package/dist/index.d.ts +3 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +3 -0
  53. package/dist/internal/agent-visual/color.d.ts +4 -0
  54. package/dist/internal/agent-visual/color.d.ts.map +1 -0
  55. package/dist/internal/agent-visual/color.js +72 -0
  56. package/dist/internal/agent-visual/poster.d.ts +6 -0
  57. package/dist/internal/agent-visual/poster.d.ts.map +1 -0
  58. package/dist/internal/agent-visual/poster.js +35 -0
  59. package/dist/internal/agent-visual/recipes.d.ts +15 -0
  60. package/dist/internal/agent-visual/recipes.d.ts.map +1 -0
  61. package/dist/internal/agent-visual/recipes.js +72 -0
  62. package/dist/internal/agent-visual/renderer.d.ts +10 -0
  63. package/dist/internal/agent-visual/renderer.d.ts.map +1 -0
  64. package/dist/internal/agent-visual/renderer.js +112 -0
  65. package/dist/internal/agent-visual/shader.d.ts +2 -0
  66. package/dist/internal/agent-visual/shader.d.ts.map +1 -0
  67. package/dist/internal/agent-visual/shader.js +158 -0
  68. package/dist/internal/assistant-ui/thread.js +3 -3
  69. package/dist/styles/globals.css +21 -0
  70. package/docs/agents/nadicodeai-ui.md +4 -2
  71. package/docs/consuming-cross-repo.md +3 -1
  72. package/docs/contract.md +80 -2
  73. package/docs/migration/1.0.0.md +75 -0
  74. package/llms.txt +2 -0
  75. package/package.json +10 -4
  76. 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.22.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:fast": "node scripts/dev-build.mjs",
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.22.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 Agent presentation, runtime primitives, providers, hooks, and types. Do not import assistant-ui packages directly or recreate their behavior.
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.