@vadimcomanescu/nadicode-design-system 2.0.7 → 2.0.9

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 (230) hide show
  1. package/.agents/skills/seed/SKILL.md +17 -8
  2. package/.agents/skills/seed/contract.md +5 -5
  3. package/.agents/skills/seed/intent-map.md +3 -3
  4. package/.agents/skills/seed/recipes/agents-chat.md +44 -20
  5. package/.agents/skills/seed/references/blocks.md +5 -2
  6. package/.agents/skills/seed/references/components.md +22 -2
  7. package/.agents/skills/seed/references/dashboard-patterns.md +12 -12
  8. package/.agents/skills/seed/references/nextjs.md +20 -80
  9. package/.agents/skills/seed/references/tokens.md +57 -248
  10. package/README.md +43 -215
  11. package/contracts/block-props-schemas.json +2186 -0
  12. package/contracts/component-props-schemas.json +8322 -0
  13. package/contracts/consumer-contract.json +178 -0
  14. package/contracts/consumer-intent-map.json +707 -0
  15. package/contracts/message-catalog-contract.json +820 -0
  16. package/contracts/page-kit-props-schemas.json +1894 -0
  17. package/contracts/public-surface-registry.json +5822 -0
  18. package/contracts/public-surface-registry.schema.json +219 -0
  19. package/contracts/release-governance-baseline.json +850 -0
  20. package/contracts/spec-manifest.json +46 -0
  21. package/dist/catalog.json +284 -81
  22. package/dist/chunk-4IGBBIYW.js +47 -0
  23. package/dist/chunk-4WPZ6T7V.js +186 -0
  24. package/dist/{chunk-OHOOQUVJ.js → chunk-C7WHMSF3.js} +2 -1
  25. package/dist/{chunk-4K3PATUT.js → chunk-EEL4RAPC.js} +13 -1
  26. package/dist/{chunk-ILIHQ2KZ.js → chunk-EK43W2Y6.js} +16 -10
  27. package/dist/{chunk-IDKZEPWK.js → chunk-FV2G6SAF.js} +6 -5
  28. package/dist/chunk-HWHJ6IRQ.js +78 -0
  29. package/dist/{chunk-AUSYEAIJ.js → chunk-I66XWYSS.js} +32 -8
  30. package/dist/chunk-JDJY4ABS.js +60 -0
  31. package/dist/{chunk-GV4PKHG4.js → chunk-KWILREVQ.js} +2 -2
  32. package/dist/{chunk-WI37ZYIF.js → chunk-M4XKO45H.js} +13 -1
  33. package/dist/{chunk-6N6CSJVE.js → chunk-OJ7OO3QB.js} +2 -2
  34. package/dist/{chunk-ZHTQF2KI.js → chunk-OSNTB6RY.js} +29 -22
  35. package/dist/{chunk-GMMPLZLC.js → chunk-PDSQC6VE.js} +1 -1
  36. package/dist/chunk-QQOWC53X.js +98 -0
  37. package/dist/chunk-VJ5VD4UT.js +91 -0
  38. package/dist/{chunk-TUKZKU72.js → chunk-ZKLB5N3Q.js} +1 -1
  39. package/dist/components/blocks/AgentConversationBlock.d.ts +6 -1
  40. package/dist/components/blocks/AgentConversationBlock.js +44 -42
  41. package/dist/components/blocks/AgentRunOverviewBlock.js +1 -1
  42. package/dist/components/blocks/AgentWorkbenchBlock.d.ts +5 -1
  43. package/dist/components/blocks/AgentWorkbenchBlock.js +47 -46
  44. package/dist/components/blocks/AuthLayout.js +2 -2
  45. package/dist/components/blocks/BannerBlock.js +38 -38
  46. package/dist/components/blocks/CallToActionBlock.js +2 -2
  47. package/dist/components/blocks/ChangelogBlock.js +39 -39
  48. package/dist/components/blocks/ChartBlock.js +38 -38
  49. package/dist/components/blocks/ChartCollectionBlock.js +1 -1
  50. package/dist/components/blocks/ChatLayout.d.ts +4 -1
  51. package/dist/components/blocks/ChatLayout.js +39 -39
  52. package/dist/components/blocks/CodeBlock.js +2 -2
  53. package/dist/components/blocks/ContactBlock.js +2 -2
  54. package/dist/components/blocks/CreateBlock.js +39 -39
  55. package/dist/components/blocks/DataGridBlock.js +40 -40
  56. package/dist/components/blocks/DirectoryBlock.js +43 -43
  57. package/dist/components/blocks/FAQBlock.js +38 -38
  58. package/dist/components/blocks/FeatureBlock.js +38 -38
  59. package/dist/components/blocks/GalleryBlock.js +38 -38
  60. package/dist/components/blocks/HeaderBlock.js +38 -38
  61. package/dist/components/blocks/HeroBlock.js +41 -41
  62. package/dist/components/blocks/HeroSectionBlock.js +55 -59
  63. package/dist/components/blocks/IntegrationsBlock.js +40 -40
  64. package/dist/components/blocks/InteractiveAreaChartBlock.js +38 -38
  65. package/dist/components/blocks/KanbanDemoBlock.js +3 -3
  66. package/dist/components/blocks/LoginBlock.js +2 -2
  67. package/dist/components/blocks/LogoCloud.js +2 -13
  68. package/dist/components/blocks/NavUser.js +42 -42
  69. package/dist/components/blocks/NotFoundBlock.js +41 -41
  70. package/dist/components/blocks/OnboardingBlock.js +38 -38
  71. package/dist/components/blocks/PricingBlock.js +4 -4
  72. package/dist/components/blocks/ProcessFlowBlock.js +2 -2
  73. package/dist/components/blocks/SettingsLayout.js +42 -42
  74. package/dist/components/blocks/SignUpBlock.js +1 -1
  75. package/dist/components/blocks/SocialProofBlock.js +4 -3
  76. package/dist/components/blocks/StatsBlock.js +38 -38
  77. package/dist/components/blocks/StatsMarketingBlock.js +2 -2
  78. package/dist/components/blocks/TestimonialsBlock.js +2 -1
  79. package/dist/components/blocks/TwoFactorChallengeBlock.js +38 -38
  80. package/dist/components/blocks/TwoFactorSetupBlock.js +41 -41
  81. package/dist/components/blocks/VoiceAgentCard.d.ts +3 -1
  82. package/dist/components/blocks/VoiceAgentCard.js +7 -76
  83. package/dist/components/blocks/WizardBlock.js +39 -39
  84. package/dist/components/blocks/user/InviteUserModal.js +38 -38
  85. package/dist/components/logos/index.js +2 -2
  86. package/dist/components/page-kits/AgentsChatPageKit.js +59 -58
  87. package/dist/components/page-kits/AnalyticsPageKit.js +44 -44
  88. package/dist/components/page-kits/BlogContentPageKit.js +43 -43
  89. package/dist/components/page-kits/CheckoutPageKit.js +41 -41
  90. package/dist/components/page-kits/CompanySuitePageKit.js +47 -47
  91. package/dist/components/page-kits/CrudFormPageKit.js +44 -44
  92. package/dist/components/page-kits/CrudListDetailPageKit.js +44 -44
  93. package/dist/components/page-kits/DashboardPageKit.js +44 -44
  94. package/dist/components/page-kits/KanbanBoardPageKit.js +47 -47
  95. package/dist/components/page-kits/LandingPageKit.js +50 -49
  96. package/dist/components/page-kits/LoginPageKit.js +2 -2
  97. package/dist/components/page-kits/MarketingShellPageKit.js +40 -40
  98. package/dist/components/page-kits/NavigationShellPageKit.js +42 -42
  99. package/dist/components/page-kits/OnboardingPageKit.js +44 -44
  100. package/dist/components/page-kits/PricingPageKit.js +46 -46
  101. package/dist/components/page-kits/ProfileSettingsPageKit.js +2 -2
  102. package/dist/components/page-kits/ServiceSuitePageKit.js +47 -46
  103. package/dist/components/page-kits/SignupPageKit.js +2 -2
  104. package/dist/components/page-kits/SuccessPageKit.js +38 -38
  105. package/dist/components/page-kits/TeamSettingsPageKit.js +45 -45
  106. package/dist/components/page-kits/TwoFactorPageKit.js +41 -41
  107. package/dist/components/page-kits/VerifyEmailPageKit.js +38 -38
  108. package/dist/components/page-kits/VoiceAgentsPageKit.js +80 -76
  109. package/dist/components/ui/Accordion.js +38 -38
  110. package/dist/components/ui/AgentMessageBubble.d.ts +20 -4
  111. package/dist/components/ui/AgentMessageBubble.js +39 -39
  112. package/dist/components/ui/AgentStatus.d.ts +1 -1
  113. package/dist/components/ui/AgentStatus.js +5 -10
  114. package/dist/components/ui/AgentTerminal.d.ts +4 -1
  115. package/dist/components/ui/AgentTerminal.js +3 -1
  116. package/dist/components/ui/AgentTimeline.d.ts +2 -2
  117. package/dist/components/ui/AgentTimeline.js +15 -6
  118. package/dist/components/ui/AnimatedDialog.js +38 -38
  119. package/dist/components/ui/AnimatedSheet.js +38 -38
  120. package/dist/components/ui/ApprovalCard.js +1 -1
  121. package/dist/components/ui/Breadcrumb.js +38 -38
  122. package/dist/components/ui/Calendar.js +38 -38
  123. package/dist/components/ui/Carousel.js +38 -38
  124. package/dist/components/ui/ChatActions.d.ts +14 -0
  125. package/dist/components/ui/ChatActions.js +52 -0
  126. package/dist/components/ui/ChatBranch.d.ts +18 -0
  127. package/dist/components/ui/ChatBranch.js +84 -0
  128. package/dist/components/ui/ChatChainOfThought.d.ts +25 -0
  129. package/dist/components/ui/ChatChainOfThought.js +99 -0
  130. package/dist/components/ui/ChatConfirmation.d.ts +37 -0
  131. package/dist/components/ui/ChatConfirmation.js +115 -0
  132. package/dist/components/ui/ChatGreeting.d.ts +18 -0
  133. package/dist/components/ui/ChatGreeting.js +80 -0
  134. package/dist/components/ui/ChatMessage.d.ts +40 -0
  135. package/dist/components/ui/ChatMessage.js +96 -0
  136. package/dist/components/ui/ChatPlan.d.ts +29 -0
  137. package/dist/components/ui/ChatPlan.js +86 -0
  138. package/dist/components/ui/ChatPromptInput.d.ts +32 -0
  139. package/dist/components/ui/ChatPromptInput.js +193 -0
  140. package/dist/components/ui/ChatPromptInputAttachments.d.ts +9 -0
  141. package/dist/components/ui/ChatPromptInputAttachments.js +145 -0
  142. package/dist/components/ui/ChatQueue.d.ts +32 -0
  143. package/dist/components/ui/ChatQueue.js +93 -0
  144. package/dist/components/ui/ChatReasoning.d.ts +20 -0
  145. package/dist/components/ui/ChatReasoning.js +91 -0
  146. package/dist/components/ui/ChatResponse.d.ts +14 -0
  147. package/dist/components/ui/ChatResponse.js +25 -0
  148. package/dist/components/ui/ChatShimmer.d.ts +23 -0
  149. package/dist/components/ui/ChatShimmer.js +6 -0
  150. package/dist/components/ui/ChatSources.d.ts +30 -0
  151. package/dist/components/ui/ChatSources.js +113 -0
  152. package/dist/components/ui/ChatSuggestion.d.ts +13 -0
  153. package/dist/components/ui/ChatSuggestion.js +41 -0
  154. package/dist/components/ui/ChatThinkingMessage.d.ts +12 -0
  155. package/dist/components/ui/ChatThinkingMessage.js +55 -0
  156. package/dist/components/ui/ChatToolCall.d.ts +41 -0
  157. package/dist/components/ui/ChatToolCall.js +192 -0
  158. package/dist/components/ui/CheckStatus.d.ts +1 -1
  159. package/dist/components/ui/Checkbox.js +38 -38
  160. package/dist/components/ui/CheckoutForm.js +38 -38
  161. package/dist/components/ui/CheckoutFormDemo.js +38 -38
  162. package/dist/components/ui/Combobox.js +38 -38
  163. package/dist/components/ui/Command.js +38 -38
  164. package/dist/components/ui/ContextMenu.js +38 -38
  165. package/dist/components/ui/Conversation.d.ts +21 -0
  166. package/dist/components/ui/Conversation.js +196 -0
  167. package/dist/components/ui/ConversationThread.d.ts +8 -2
  168. package/dist/components/ui/ConversationThread.js +34 -16
  169. package/dist/components/ui/DataTable.js +40 -40
  170. package/dist/components/ui/DatePicker.js +38 -38
  171. package/dist/components/ui/DateRangePicker.js +38 -38
  172. package/dist/components/ui/Dialog.js +38 -38
  173. package/dist/components/ui/DropdownMenu.js +39 -39
  174. package/dist/components/ui/FileUpload.js +38 -38
  175. package/dist/components/ui/InputOTP.js +38 -38
  176. package/dist/components/ui/KanbanBoard.js +2 -2
  177. package/dist/components/ui/LanguageSwitcher.js +38 -38
  178. package/dist/components/ui/Menubar.js +38 -38
  179. package/dist/components/ui/NavigationMenu.js +38 -38
  180. package/dist/components/ui/NotificationCenter.js +38 -38
  181. package/dist/components/ui/Pagination.js +38 -38
  182. package/dist/components/ui/RadioGroup.js +38 -38
  183. package/dist/components/ui/Resizable.js +38 -38
  184. package/dist/components/ui/SearchCommand.js +38 -38
  185. package/dist/components/ui/Select.js +38 -38
  186. package/dist/components/ui/SettingsModal.js +38 -38
  187. package/dist/components/ui/Sheet.js +38 -38
  188. package/dist/components/ui/Sidebar.js +41 -41
  189. package/dist/components/ui/StyleToggle.js +1 -1
  190. package/dist/components/ui/TagInput.js +38 -38
  191. package/dist/components/ui/ThemeToggle.js +39 -39
  192. package/dist/components/ui/ThinkingIndicator.d.ts +3 -1
  193. package/dist/components/ui/ThinkingIndicator.js +2 -1
  194. package/dist/components/ui/Toast.js +38 -38
  195. package/dist/components/ui/Toaster.js +38 -38
  196. package/dist/components/ui/ToolCallCard.d.ts +1 -1
  197. package/dist/components/ui/ToolCallCard.js +5 -1
  198. package/dist/components/ui/TreeView.js +38 -38
  199. package/dist/components/ui/charts/index.js +1 -1
  200. package/dist/components/ui/icons/index.js +38 -38
  201. package/dist/components/ui/text-effects/index.js +2 -2
  202. package/dist/hooks/use-scroll-to-bottom.d.ts +13 -0
  203. package/dist/hooks/use-scroll-to-bottom.js +2 -0
  204. package/dist/index.js +43 -43
  205. package/dist/internal/local-image-assets.d.ts +12 -0
  206. package/dist/messages/en.js +1 -1
  207. package/dist/messages/it.js +1 -1
  208. package/dist/test/PublicSeedTestProvider.js +2 -2
  209. package/dist/test/simulate-ime-composition.d.ts +54 -0
  210. package/dist/test/simulate-ime-composition.js +55 -0
  211. package/eslint-rules/nadicode/config.js +1 -0
  212. package/eslint-rules/nadicode/index.js +2 -0
  213. package/eslint-rules/nadicode/rules/no-deprecated-ds-import.js +77 -0
  214. package/eslint-rules/nadicode/rules/no-unregistered-glass.js +2 -0
  215. package/package.json +103 -6
  216. package/scripts/ds-check.mjs +94 -73
  217. package/dist/chunk-MLUSJTS2.js +0 -107
  218. package/dist/chunk-TZXZFSD2.js +0 -33
  219. package/dist/{chunk-MX5FUFQR.js → chunk-7A2RXKGH.js} +2 -2
  220. package/dist/{chunk-5DKCZWC6.js → chunk-CQEUNASC.js} +1 -1
  221. package/dist/{chunk-RMLS2QUC.js → chunk-HZERHGBT.js} +1 -1
  222. package/dist/{chunk-WAVU744B.js → chunk-IXQGKJU4.js} +3 -3
  223. package/dist/{chunk-4HRVRW2X.js → chunk-J2DCQDXO.js} +2 -2
  224. package/dist/{chunk-6MFAZU4B.js → chunk-RGE5OQMZ.js} +1 -1
  225. package/dist/{chunk-PJNHVPHF.js → chunk-TYP2MR3Q.js} +1 -1
  226. package/dist/{chunk-TS2JSPQR.js → chunk-U4GYSYGN.js} +1 -1
  227. package/dist/{chunk-EJNF6JLL.js → chunk-VEO56RH4.js} +1 -1
  228. package/dist/{chunk-AURJQZC4.js → chunk-VNNAL4A6.js} +1 -1
  229. package/dist/{chunk-5PORR6LE.js → chunk-XTASI4IY.js} +1 -1
  230. package/dist/{chunk-E4L6LR6P.js → chunk-Z233ZQZE.js} +1 -1
@@ -20,23 +20,32 @@ Consumer scaffold contract: brand customization stays palette-only unless the ta
20
20
 
21
21
  ## Component Discovery
22
22
 
23
- For exact component names, variant values, props, and tiers, read the machine-readable catalog:
23
+ Start with the shipped machine-readable consumer contract:
24
+
25
+ ```
26
+ cat node_modules/@vadimcomanescu/nadicode-design-system/contracts/consumer-contract.json
27
+ ```
28
+
29
+ Then follow `entrypoints.machineReadable.catalog` to the generated catalog for exact component names, variant values, props, and tiers:
24
30
 
25
31
  ```
26
32
  cat node_modules/@vadimcomanescu/nadicode-design-system/dist/catalog.json
27
33
  ```
28
34
 
29
- The catalog is auto-generated from source and always accurate. Use exact variant names from the catalog. Do not guess.
35
+ The consumer contract is the machine entrypoint. The catalog is the component metadata surface. Both are auto-generated from source. Do not guess.
36
+
37
+ The derived references under `references/components.md` and `references/blocks.md` are generated from the catalog. Any repo `Path` column there is a maintainer source path, not a consumer import path. Consumer code must keep importing from `@vadimcomanescu/nadicode-design-system/*` subpaths.
30
38
 
31
39
  ## Read Order
32
40
 
33
41
  1. **This file** -- router, quick references, forbidden patterns
34
42
  2. **`contract.md`** -- binary rules, package integration contract
35
- 3. **catalog.json** (in dist/) -- machine-readable component metadata (variants, props, tiers)
36
- 4. **`intent-map.md`** -- intent decision tree + recipe index
37
- 5. **`recipes/<page-type>.md`** -- matching recipe for your page
38
- 6. **`references/`** -- deep dives as needed
39
- 7. **`references/brand-override.md`** -- palette-only brand customization guide for seeded apps
43
+ 3. **consumer-contract.json** -- machine-readable package, ownership, and contract entrypoint map
44
+ 4. **catalog.json** (in dist/) -- machine-readable component metadata (variants, props, tiers)
45
+ 5. **`intent-map.md`** -- intent decision tree + recipe index
46
+ 6. **`recipes/<page-type>.md`** -- matching recipe for your page
47
+ 7. **`references/`** -- deep dives as needed
48
+ 8. **`references/brand-override.md`** -- palette-only brand customization guide for seeded apps
40
49
 
41
50
  ---
42
51
 
@@ -108,7 +117,7 @@ Full intent-to-recipe mapping with shell selection: see `intent-map.md`.
108
117
 
109
118
  **Borders:** `border-border`, `border-border-hover`, `border-border-subtle`, `border-destructive`
110
119
 
111
- **Interactive:** `bg-primary` (gray.12), `bg-secondary`, `bg-accent` (teal), `ring-accent` (focus)
120
+ **Interactive:** `bg-primary`, `bg-secondary`, `bg-accent`, `ring-focus-ring` (default focus), `ring-accent` (selection/emphasis)
112
121
 
113
122
  **Charts:** `chart-1` (teal), `chart-2` (blue), `chart-3` (amber), `chart-4` (green), `chart-5` (violet), `chart-6` (red)
114
123
 
@@ -9,8 +9,8 @@ Binary rules for consumer apps using the Seed Design System. Every rule is non-n
9
9
 
10
10
  ## Component Catalog
11
11
 
12
- Read catalog.json (shipped in the package under dist/) for the authoritative list of components, variant names, props, and tiers. Verify component names and variant values against the catalog. Do not guess variant names or prop values.
13
- Registry digest: `sha256:846b7fa00edb97eefbbb984ef6dd56701203babb774df02e11d2ae3bf93c195e`
12
+ Start with `consumer-contract.json` (shipped in the package under `contracts/`) for the machine-readable entrypoint map and ownership rules. Then read catalog.json (shipped in the package under dist/) for the authoritative list of components, variant names, props, and tiers. Verify component names and variant values against the catalog. Do not guess variant names or prop values.
13
+ Registry digest: `sha256:b5370c96c1bb877883860055c4b3d2c7c67ef7c2b1df4acacd7ea5cb0847da78`
14
14
 
15
15
  ## Import Rules
16
16
 
@@ -38,9 +38,9 @@ Registry digest: `sha256:846b7fa00edb97eefbbb984ef6dd56701203babb774df02e11d2ae3
38
38
  10. No arbitrary text sizes (`text-[10px]`, `text-[11px]`). Use `Heading`, `Typography`, or the standard Tailwind scale (`text-xs`, `text-sm`).
39
39
  11. No ad-hoc `chat-*` classes. Conversation UIs must compose existing Seed primitives and motion tokens.
40
40
  12. Admin chat features must include all three agentic layers:
41
- - Conversation: `ConversationThread` or `AgentMessageBubble`
42
- - Tooling: `ToolCallCard` or `ThinkingIndicator`
43
- - Traceability: `SourceCitation`, `AgentTimeline`, `WorkflowGraph`, or `HandoffIndicator`
41
+ - Conversation: `Conversation`, `ChatMessage`, `ChatResponse`, `ChatGreeting`, `ChatThinkingMessage`, `ChatShimmer`, `ConversationThread`, or `AgentMessageBubble`
42
+ - Tooling: `ChatToolCall`, `ChatPromptInput`, `ChatActions`, `ChatSuggestion`, `ToolCallCard`, or `ThinkingIndicator`
43
+ - Traceability: `ChatReasoning`, `ChatChainOfThought`, `ChatSources`, `ChatPlan`, `ChatQueue`, `ChatConfirmation`, `ChatBranch`, `SourceCitation`, `AgentTimeline`, `WorkflowGraph`, or `HandoffIndicator`
44
44
  13. Admin sidebar navigation must include IA grouping with `SidebarGroupLabel`. No flat unlabeled menus.
45
45
  14. Admin analytics must use Seed chart primitives (`AreaChart`, `BarChart`, `LineChart`, `PieChart`, `ChartContainer`). No pseudo-charts from raw `<div>` bars.
46
46
  ## Page Composition
@@ -160,10 +160,10 @@ For each intent: **Required** components must be present, **Allowed** may be use
160
160
 
161
161
  | Classification | Values |
162
162
  |----------------|--------|
163
- | Routes | `/agents`, `/voice-agents` |
163
+ | Routes | `/agents`, `/voice-agents`, `/chat` |
164
164
  | Shell | app-shell |
165
- | Required | AgentTeamPanel, AgentStatus, AgentMessageBubble, ThinkingIndicator, ToolCallCard, ApprovalCard, CodeDiffViewer, ArtifactCard, AgentTerminal, ContextMeter, Tabs, Textarea, Button, ScrollArea, Sheet |
166
- | Allowed | ConversationThread, AgentTimeline, AgentMetricsCard, WorkflowGraph, HandoffIndicator, MemoryInspector, SourceCitation, StreamingText, Badge, Avatar, AgentAvatar, Resizable |
165
+ | Required | Conversation, ChatMessage, ChatResponse, ChatPromptInput, ChatToolCall, ChatActions, ChatGreeting, ChatThinkingMessage, ChatShimmer, ChatReasoning, ChatConfirmation, ChatSuggestion, ChatSources, ChatBranch, ChatChainOfThought, ChatPlan, ChatQueue, ChatPromptInputAttachments, AgentTeamPanel, AgentStatus, AgentMessageBubble, ThinkingIndicator, ToolCallCard, ApprovalCard, CodeDiffViewer, ArtifactCard, AgentTerminal, ContextMeter, Tabs, Button, ScrollArea, Sheet |
166
+ | Allowed | ConversationThread, AgentTimeline, AgentMetricsCard, WorkflowGraph, HandoffIndicator, MemoryInspector, SourceCitation, StreamingText, Badge, Avatar, AgentAvatar, Resizable, Textarea |
167
167
  | Forbidden | HeroBlock, PricingBlock, FormWizard, DataTable, AuroraEffect, MeteorShower |
168
168
  | Blocks | AgentConversationBlock, ChatLayout |
169
169
  | States | empty, loading, running, thinking, blocked-approval, failed, complete |
@@ -182,28 +182,52 @@ REDUCED MOTION: Items appear instantly, no slide/scale
182
182
 
183
183
  ## Required Components
184
184
 
185
+ ### Chat Primitives (preferred)
186
+
187
+ | Component | Import Path | Purpose |
188
+ |-----------|-------------|---------|
189
+ | `Conversation` | `.../conversation` | Scroll-aware container with auto-scroll |
190
+ | `ChatMessage` | `.../chat-message` | Core message with avatar, content, actions |
191
+ | `ChatResponse` | `.../chat-response` | Streaming markdown response renderer |
192
+ | `ChatPromptInput` | `.../chat-prompt-input` | Chat text input with keyboard handling |
193
+ | `ChatToolCall` | `.../chat-tool-call` | Tool call lifecycle wrapper |
194
+ | `ChatActions` | `.../chat-actions` | Copy, retry, edit action buttons |
195
+ | `ChatGreeting` | `.../chat-greeting` | Welcome greeting for sessions |
196
+ | `ChatThinkingMessage` | `.../chat-thinking-message` | Animated thinking state |
197
+ | `ChatShimmer` | `.../chat-shimmer` | Loading shimmer placeholder |
198
+ | `ChatReasoning` | `.../chat-reasoning` | AI reasoning with auto-close |
199
+ | `ChatConfirmation` | `.../chat-confirmation` | Action confirmation dialog |
200
+ | `ChatSuggestion` | `.../chat-suggestion` | Follow-up prompt chips |
201
+ | `ChatSources` | `.../chat-sources` | Source citations panel |
202
+ | `ChatBranch` | `.../chat-branch` | Conversation fork navigation |
203
+ | `ChatChainOfThought` | `.../chat-chain-of-thought` | Step-by-step reasoning |
204
+ | `ChatPlan` | `.../chat-plan` | Collapsible plan card |
205
+ | `ChatQueue` | `.../chat-queue` | Task queue with sections |
206
+ | `ChatPromptInputAttachments` | `.../chat-prompt-input-attachments` | File attachment support |
207
+
208
+ ### Agent-Level Components
209
+
185
210
  | Component | Import Path | Purpose |
186
211
  |-----------|-------------|---------|
187
- | `AgentTeamPanel` | `@vadimcomanescu/nadicode-design-system/agent-team-panel` | Team member list |
188
- | `AgentStatus` | `@vadimcomanescu/nadicode-design-system/agent-status` | Connection status |
189
- | `AgentTimeline` | `@vadimcomanescu/nadicode-design-system/agent-timeline` | Action timeline |
190
- | `AgentMetricsCard` | `@vadimcomanescu/nadicode-design-system/agent-metrics-card` | Run metrics |
191
- | `ConversationThread` | `@vadimcomanescu/nadicode-design-system/conversation-thread` | Message rendering |
192
- | `AgentMessageBubble` | `@vadimcomanescu/nadicode-design-system/agent-message-bubble` | Individual messages |
193
- | `ThinkingIndicator` | `@vadimcomanescu/nadicode-design-system/thinking-indicator` | Processing state |
194
- | `ToolCallCard` | `@vadimcomanescu/nadicode-design-system/tool-call-card` | Tool invocations |
195
- | `ApprovalCard` | `@vadimcomanescu/nadicode-design-system/approval-card` | Human approval flow |
196
- | `CodeDiffViewer` | `@vadimcomanescu/nadicode-design-system/code-diff-viewer` | Code changes |
197
- | `ArtifactCard` | `@vadimcomanescu/nadicode-design-system/artifact-card` | Generated outputs |
198
- | `AgentTerminal` | `@vadimcomanescu/nadicode-design-system/agent-terminal` | Command output |
199
- | `WorkflowGraph` | `@vadimcomanescu/nadicode-design-system/workflow-graph` | DAG execution flow |
200
- | `ContextMeter` | `@vadimcomanescu/nadicode-design-system/context-meter` | Context window usage |
201
- | `SourceCitation` | `@vadimcomanescu/nadicode-design-system/source-citation` | Referenced sources |
202
- | `Tabs` | `@vadimcomanescu/nadicode-design-system/tabs` | Work panel tabs |
203
- | `Textarea` | `@vadimcomanescu/nadicode-design-system/textarea` | Composer input |
204
- | `Button` | `@vadimcomanescu/nadicode-design-system/button` | Send, panel triggers |
205
- | `ScrollArea` | `@vadimcomanescu/nadicode-design-system/scroll-area` | Scrollable regions |
206
- | `Sheet` | `@vadimcomanescu/nadicode-design-system/sheet` | Mobile panel drawers |
212
+ | `AgentTeamPanel` | `.../agent-team-panel` | Team member list |
213
+ | `AgentStatus` | `.../agent-status` | Connection status |
214
+ | `AgentTimeline` | `.../agent-timeline` | Action timeline |
215
+ | `AgentMetricsCard` | `.../agent-metrics-card` | Run metrics |
216
+ | `ConversationThread` | `.../conversation-thread` | Legacy message rendering |
217
+ | `AgentMessageBubble` | `.../agent-message-bubble` | Individual messages |
218
+ | `ThinkingIndicator` | `.../thinking-indicator` | Processing state |
219
+ | `ToolCallCard` | `.../tool-call-card` | Tool invocations |
220
+ | `ApprovalCard` | `.../approval-card` | Human approval flow |
221
+ | `CodeDiffViewer` | `.../code-diff-viewer` | Code changes |
222
+ | `ArtifactCard` | `.../artifact-card` | Generated outputs |
223
+ | `AgentTerminal` | `.../agent-terminal` | Command output |
224
+ | `WorkflowGraph` | `.../workflow-graph` | DAG execution flow |
225
+ | `ContextMeter` | `.../context-meter` | Context window usage |
226
+ | `SourceCitation` | `.../source-citation` | Referenced sources |
227
+ | `Tabs` | `.../tabs` | Work panel tabs |
228
+ | `Button` | `.../button` | Send, panel triggers |
229
+ | `ScrollArea` | `.../scroll-area` | Scrollable regions |
230
+ | `Sheet` | `.../sheet` | Mobile panel drawers |
207
231
 
208
232
  ### Allowed (optional)
209
233
 
@@ -1,6 +1,9 @@
1
1
  # Blocks Catalog
2
2
 
3
- All blocks live in `src/components/blocks/`. Import via `@vadimcomanescu/nadicode-design-system/block-name`.
3
+ Derived from `dist/catalog.json`.
4
+
5
+ Consumer code must import from `@vadimcomanescu/nadicode-design-system/*` block subpaths. Repo source paths are maintainer references only.
6
+
4
7
  Blocks are pre-composed page sections built from Seed UI primitives.
5
8
  Run `npm run docs:inventory` for the current filesystem-backed list.
6
9
 
@@ -97,7 +100,7 @@ Run `npm run docs:inventory` for the current filesystem-backed list.
97
100
 
98
101
  | Block | Purpose | Key Props |
99
102
  | --- | --- | --- |
100
- | VoiceAgentCard | AI voice agent interface card | `agent`, `state`, `selected`, `onSelect` |
103
+ | VoiceAgentCard | AI voice agent interface card | `agent`, `state`, `selected`, `onSelect`, `ariaLabel` |
101
104
 
102
105
  ## Agentic
103
106
 
@@ -1,6 +1,8 @@
1
1
  # Component Inventory
2
2
 
3
- All components live under `src/components/`. Import via `@/components/ui/...` or `@/components/blocks/...`.
3
+ Derived from `dist/catalog.json`.
4
+
5
+ Consumer code must import from `@vadimcomanescu/nadicode-design-system/*` subpaths. The `Path` column below is the repo source location for maintainers.
4
6
 
5
7
  Tiers: **1**=Core (3+ recipes), **2**=Domain (1-2 recipes), **3**=Decorative (marketing only), **4**=Deprecation candidate.
6
8
 
@@ -213,8 +215,26 @@ Components for AI agent interfaces, tool-use visualization, and multi-agent work
213
215
  | AgentTimeline | `ui/AgentTimeline` | 2 | Timeline of agent actions |
214
216
  | ApprovalCard | `ui/ApprovalCard` | 2 | Human-in-the-loop approval/reject |
215
217
  | ArtifactCard | `ui/ArtifactCard` | 2 | Generated artifacts display |
218
+ | ChatActions | `ui/ChatActions` | 2 | Quick-action buttons for chat messages |
219
+ | ChatBranch | `ui/ChatBranch` | 2 | Conversation branching and fork navigation |
220
+ | ChatChainOfThought | `ui/ChatChainOfThought` | 2 | Step-by-step reasoning display |
221
+ | ChatConfirmation | `ui/ChatConfirmation` | 2 | Action confirmation dialog in chat |
222
+ | ChatGreeting | `ui/ChatGreeting` | 2 | Welcome greeting for chat sessions |
223
+ | ChatMessage | `ui/ChatMessage` | 2 | Core chat message with avatar, content, actions |
224
+ | ChatPlan | `ui/ChatPlan` | 2 | Collapsible plan card with streaming title |
225
+ | ChatPromptInput | `ui/ChatPromptInput` | 2 | Chat text input with keyboard handling |
226
+ | ChatPromptInputAttachments | `ui/ChatPromptInputAttachments` | 2 | File attachment support for chat input |
227
+ | ChatQueue | `ui/ChatQueue` | 2 | Task queue with collapsible sections |
228
+ | ChatReasoning | `ui/ChatReasoning` | 2 | AI reasoning display with auto-close |
229
+ | ChatResponse | `ui/ChatResponse` | 2 | Streaming markdown response renderer |
230
+ | ChatShimmer | `ui/ChatShimmer` | 2 | Loading shimmer placeholder for chat |
231
+ | ChatSources | `ui/ChatSources` | 2 | Source citations panel with inline citation |
232
+ | ChatSuggestion | `ui/ChatSuggestion` | 2 | Suggested follow-up prompt chips |
233
+ | ChatThinkingMessage | `ui/ChatThinkingMessage` | 2 | Animated thinking state message |
234
+ | ChatToolCall | `ui/ChatToolCall` | 2 | Tool call lifecycle wrapper with state management |
216
235
  | CodeDiffViewer | `ui/CodeDiffViewer` | 2 | Side-by-side or unified diff view |
217
236
  | ContextMeter | `ui/ContextMeter` | 2 | Context window usage visualization |
237
+ | Conversation | `ui/Conversation` | 2 | Scroll-aware conversation container with auto-scroll |
218
238
  | DiffStat | `ui/DiffStat` | 2 | Diff statistics display (additions/deletions) |
219
239
  | HandoffIndicator | `ui/HandoffIndicator` | 2 | Agent-to-agent task handoff |
220
240
  | MemoryInspector | `ui/MemoryInspector` | 2 | Agent memory/state inspector |
@@ -260,7 +280,7 @@ All in `src/components/ui/stepper/`. Distinct from FormWizard.
260
280
  | Tier | Count | Usage |
261
281
  |------|-------|-------|
262
282
  | 1 (Core) | ~76 | 3+ recipes, always available |
263
- | 2 (Domain) | ~43 | Agentic, charts, AI/voice, checkout |
283
+ | 2 (Domain) | ~61 | Agentic, charts, AI/voice, checkout |
264
284
  | 3 (Decorative) | ~24 | Marketing/showcase only |
265
285
  | 4 (Deprecation) | ~14 | Evaluate for removal/consolidation |
266
286
 
@@ -61,18 +61,18 @@ Key properties:
61
61
 
62
62
  ## Color Expansion
63
63
 
64
- The base chart palette provides 6 tokens. Seed extends to 8 for dashboards that need more series.
65
-
66
- | Token | Role | Hex (arctic dark) | Typical Use |
67
- |-------|------|-------------------|-------------|
68
- | `chart-1` | Primary | `#E8B931` (gold) | Revenue, throughput, primary metric |
69
- | `chart-2` | Secondary | `#3B82F6` (blue) | Users, latency, secondary metric |
70
- | `chart-3` | Tertiary | `#22C55E` (green) | Growth, conversions, positive |
71
- | `chart-4` | Quaternary | `#14B8A6` (teal) | Enterprise, high-value segments |
72
- | `chart-5` | Quinary | `#EF4444` (red) | Churn, errors, negative |
73
- | `chart-6` | Senary | `#A855F7` (violet) | Auxiliary series |
74
- | `chart-7` | Septenary | `#A78BFA` (lavender) | Secondary auxiliary, comparison overlays |
75
- | `chart-8` | Octonary | `#FB923C` (peach) | Warm accent, seasonal data, promotions |
64
+ The chart palette provides 8 semantic tokens. The exact RGB values come from the current token build, not from this doc.
65
+
66
+ | Token | Role | Typical Use |
67
+ |-------|------|-------------|
68
+ | `chart-1` | Primary | Revenue, throughput, primary metric |
69
+ | `chart-2` | Secondary | Users, latency, secondary metric |
70
+ | `chart-3` | Tertiary | Growth, conversions, positive |
71
+ | `chart-4` | Quaternary | High-value segments, supporting series |
72
+ | `chart-5` | Quinary | Churn, errors, negative |
73
+ | `chart-6` | Senary | Auxiliary series |
74
+ | `chart-7` | Septenary | Secondary auxiliary, comparison overlays |
75
+ | `chart-8` | Octonary | Warm accent, seasonal data, promotions |
76
76
 
77
77
  ### Color assignment rules
78
78
 
@@ -1,81 +1,31 @@
1
1
  # Next.js Integration Guide
2
2
 
3
- Seed is integrated into Next.js apps through installable package artifacts, not live repo-path links.
3
+ Seed integrates into Next.js apps through installable package artifacts, not live repo-path links.
4
4
 
5
- ## Supported Target Matrix
5
+ ## Canonical Contract
6
6
 
7
- Seed package integration is designed around:
7
+ Use these in order:
8
8
 
9
- - Next.js App Router
10
- - React 19
11
- - Tailwind CSS 4
9
+ 1. `contract.md`, binary consumer rules
10
+ 2. this guide, integration checklist
11
+ 3. `consumer-contract.json` in the installed package, machine-readable ownership and contract entrypoint map
12
+ 4. `catalog.json` in the installed package, exact component metadata
12
13
 
13
- ## Package Contract
14
+ ## Integration Checklist
14
15
 
15
- Consumer apps should satisfy this contract:
16
+ - install an exact released package version of `@vadimcomanescu/nadicode-design-system`, or a committed relative tarball fallback such as `file:.nadicode/packages/vadimcomanescu-nadicode-design-system-<version>.tgz`
17
+ - never point `package.json` at a live repo directory such as `file:/absolute/path/to/nadicode-design-system`
18
+ - import `@vadimcomanescu/nadicode-design-system/tokens.css` before `seed-palette.css`
19
+ - use `@vadimcomanescu/nadicode-design-system/tailwind` in `tailwind.config.*`
20
+ - use `@vadimcomanescu/nadicode-design-system/eslint-config` and `@vadimcomanescu/nadicode-design-system/eslint-plugin` in `eslint.config.*`
21
+ - mount `ThemeProvider` from `@vadimcomanescu/nadicode-design-system/theme-provider`
22
+ - keep `scripts/ds-check.mjs` and `scripts/ds-update.mjs` as thin package delegates
16
23
 
17
- - `package.json` depends on `@vadimcomanescu/nadicode-design-system` through an exact released version such as `2.0.0`
18
- - `package.json` must not point `@vadimcomanescu/nadicode-design-system` at a live repo directory such as `file:/absolute/path/to/nadicode-design-system`
19
- - `globals.css` imports `@vadimcomanescu/nadicode-design-system/tokens.css`
20
- - `globals.css` imports `seed-palette.css` after package tokens
21
- - `tailwind.config.*` uses `@vadimcomanescu/nadicode-design-system/tailwind`
22
- - `eslint.config.*` uses `@vadimcomanescu/nadicode-design-system/eslint-config` and `@vadimcomanescu/nadicode-design-system/eslint-plugin`
23
- - `providers.tsx` imports `ThemeProvider` from `@vadimcomanescu/nadicode-design-system/theme-provider`
24
- - `scripts/ds-check.mjs` delegates to `@vadimcomanescu/nadicode-design-system/ds-check`
24
+ ## i18n
25
25
 
26
- ## Distribution Rule
26
+ The app owns `src/i18n/request.ts`, locale routing, `NextIntlClientProvider`, and app catalogs. Seed owns DS catalogs and merge helpers.
27
27
 
28
- The canonical source for scaffold consumers is an exact released package version. A packed .tgz artifact committed into the consumer app, for example `file:.nadicode/packages/vadimcomanescu-nadicode-design-system-<version>.tgz`, is the unpublished local fallback.
29
-
30
- For released installs:
31
-
32
- ```bash
33
- npm install @vadimcomanescu/nadicode-design-system@2.0.0
34
- ```
35
-
36
- For unpublished local work:
37
-
38
- ```bash
39
- DS_REPO="/absolute/path/to/nadicode-design-system"
40
- mkdir -p .nadicode/packages
41
- npm --prefix "$DS_REPO" run pack:artifact -- "$PWD/.nadicode/packages"
42
- NADICODE_TARBALL="$(ls .nadicode/packages/vadimcomanescu-nadicode-design-system-*.tgz | head -n1)"
43
- npm install "@vadimcomanescu/nadicode-design-system@file:${NADICODE_TARBALL}"
44
- ```
45
-
46
- ## CSS Contract
47
-
48
- Seed splits CSS into two layers:
49
-
50
- - `@vadimcomanescu/nadicode-design-system/tokens.css`, package-owned baseline tokens/effects/utilities
51
- - `seed-palette.css`, consumer-owned color overrides
52
-
53
- Consumers who want brand customization should edit only `seed-palette.css`.
54
-
55
- Canonical selectors:
56
-
57
- ```css
58
- :root {}
59
- :root.dark {}
60
- :root.bloom {}
61
- ```
62
-
63
- Do not use `[data-theme=...]` selectors.
64
-
65
- ## Root Wiring
66
-
67
- The target app should have a client providers wrapper:
68
-
69
- ```tsx
70
- // src/app/providers.tsx
71
- "use client"
72
-
73
- import { ThemeProvider } from "@vadimcomanescu/nadicode-design-system/theme-provider"
74
-
75
- export function Providers({ children }: { children: React.ReactNode }) {
76
- return <ThemeProvider>{children}</ThemeProvider>
77
- }
78
- ```
28
+ Import DS catalogs from `@vadimcomanescu/nadicode-design-system/messages/<locale>`, keep app catalogs in `messages/<locale>.json`, merge both with `mergeSeedMessages()`, and do not copy DS catalog files into the app.
79
29
 
80
30
  ## Update Path
81
31
 
@@ -87,9 +37,9 @@ npm run ds:update
87
37
 
88
38
  `ds:update` must reinstall the exact `@vadimcomanescu/nadicode-design-system` dependency already declared in `package.json`.
89
39
 
90
- ## Verification
40
+ That tarball path is the unpublished local fallback. Do not point the app at a live repo directory.
91
41
 
92
- Treat this as the canonical consumer gate:
42
+ ## Verification
93
43
 
94
44
  ```bash
95
45
  npm run ds:check
@@ -97,13 +47,3 @@ npm run lint
97
47
  npx tsc --noEmit
98
48
  npm run build
99
49
  ```
100
-
101
- Optional package-contract checks:
102
-
103
- ```bash
104
- test -f src/seed-palette.css
105
- rg -n "@vadimcomanescu/nadicode-design-system/tokens.css" src/app/globals.css app/globals.css
106
- rg -n "@vadimcomanescu/nadicode-design-system/tailwind" tailwind.config.js tailwind.config.mjs tailwind.config.ts
107
- rg -n "@vadimcomanescu/nadicode-design-system/eslint-config|@vadimcomanescu/nadicode-design-system/eslint-plugin" eslint.config.mjs eslint.config.js
108
- rg -n "@vadimcomanescu/nadicode-design-system/theme-provider" src/app/providers.tsx app/providers.tsx
109
- ```