@usetheo/ui 0.1.0-next.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.
Files changed (133) hide show
  1. package/CHANGELOG.md +227 -0
  2. package/LICENSE +201 -0
  3. package/README.md +347 -0
  4. package/dist/fonts/LICENSE-GEIST.txt +92 -0
  5. package/dist/fonts/geist-400.woff2 +0 -0
  6. package/dist/fonts/geist-500.woff2 +0 -0
  7. package/dist/fonts/geist-600.woff2 +0 -0
  8. package/dist/fonts/geist-mono-400.woff2 +0 -0
  9. package/dist/fonts/geist-mono-500.woff2 +0 -0
  10. package/dist/fonts/geist-mono-600.woff2 +0 -0
  11. package/dist/fonts-cdn.css +28 -0
  12. package/dist/fonts.css +75 -0
  13. package/dist/index.d.ts +3063 -0
  14. package/dist/index.js +7746 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/styles.css +88 -0
  17. package/dist/tokens.css +230 -0
  18. package/package.json +520 -0
  19. package/registry/index.json +700 -0
  20. package/registry/r/agent-composer.json +22 -0
  21. package/registry/r/agent-editor.json +27 -0
  22. package/registry/r/agent-error-card.json +22 -0
  23. package/registry/r/agent-event.json +24 -0
  24. package/registry/r/agent-handoff.json +22 -0
  25. package/registry/r/agent-profile.json +23 -0
  26. package/registry/r/agent-starting-state.json +22 -0
  27. package/registry/r/agent-stream.json +27 -0
  28. package/registry/r/agent-streaming.json +22 -0
  29. package/registry/r/agent-timeline.json +22 -0
  30. package/registry/r/agent-types.json +15 -0
  31. package/registry/r/approval-card.json +25 -0
  32. package/registry/r/artifact-preview.json +22 -0
  33. package/registry/r/attachment-chip.json +24 -0
  34. package/registry/r/audit-log-entry.json +23 -0
  35. package/registry/r/auto-compact-notice.json +22 -0
  36. package/registry/r/avatar.json +23 -0
  37. package/registry/r/badge.json +22 -0
  38. package/registry/r/browser-controls.json +22 -0
  39. package/registry/r/build-log-stream.json +19 -0
  40. package/registry/r/button.json +23 -0
  41. package/registry/r/capability-indicator.json +23 -0
  42. package/registry/r/card.json +22 -0
  43. package/registry/r/chat-composer.json +23 -0
  44. package/registry/r/chat-message.json +21 -0
  45. package/registry/r/chat-thread.json +20 -0
  46. package/registry/r/chat-types.json +15 -0
  47. package/registry/r/checkbox.json +23 -0
  48. package/registry/r/cn.json +19 -0
  49. package/registry/r/command-palette.json +25 -0
  50. package/registry/r/context-card.json +23 -0
  51. package/registry/r/context-window-bar.json +20 -0
  52. package/registry/r/cost-meter.json +22 -0
  53. package/registry/r/created-files-card.json +23 -0
  54. package/registry/r/cron-job-card.json +22 -0
  55. package/registry/r/cron-jobs-list.json +23 -0
  56. package/registry/r/deployment-row.json +23 -0
  57. package/registry/r/dialog.json +23 -0
  58. package/registry/r/diff-viewer.json +20 -0
  59. package/registry/r/domain-config.json +25 -0
  60. package/registry/r/empty-state.json +20 -0
  61. package/registry/r/env-var-editor.json +25 -0
  62. package/registry/r/folder-context-card.json +23 -0
  63. package/registry/r/folder-selector.json +22 -0
  64. package/registry/r/form-field.json +23 -0
  65. package/registry/r/hook-config.json +22 -0
  66. package/registry/r/hook-event-log.json +22 -0
  67. package/registry/r/input.json +19 -0
  68. package/registry/r/intent-selector.json +24 -0
  69. package/registry/r/label.json +22 -0
  70. package/registry/r/lane-board.json +20 -0
  71. package/registry/r/live-region-context.json +16 -0
  72. package/registry/r/login-split.json +20 -0
  73. package/registry/r/mcp-server-card.json +22 -0
  74. package/registry/r/mcp-server-list.json +23 -0
  75. package/registry/r/memory-editor.json +23 -0
  76. package/registry/r/mention-menu.json +23 -0
  77. package/registry/r/metrics-panel.json +22 -0
  78. package/registry/r/mode-types.json +15 -0
  79. package/registry/r/model-card.json +23 -0
  80. package/registry/r/model-selector.json +23 -0
  81. package/registry/r/permission-matrix.json +22 -0
  82. package/registry/r/permission-modal.json +24 -0
  83. package/registry/r/permission-types.json +15 -0
  84. package/registry/r/preview-env-card.json +25 -0
  85. package/registry/r/preview-panel.json +21 -0
  86. package/registry/r/progress-checklist.json +23 -0
  87. package/registry/r/project-card.json +25 -0
  88. package/registry/r/project-switcher.json +22 -0
  89. package/registry/r/quick-action-chips.json +21 -0
  90. package/registry/r/radio-group.json +23 -0
  91. package/registry/r/recent-folders-list.json +22 -0
  92. package/registry/r/rollback-ui.json +24 -0
  93. package/registry/r/rule-card.json +23 -0
  94. package/registry/r/rule-editor.json +28 -0
  95. package/registry/r/rule-types.json +18 -0
  96. package/registry/r/run-stats.json +22 -0
  97. package/registry/r/running-tasks-panel.json +22 -0
  98. package/registry/r/safe-href.json +16 -0
  99. package/registry/r/scroll-area.json +22 -0
  100. package/registry/r/select.json +23 -0
  101. package/registry/r/session-list-item.json +20 -0
  102. package/registry/r/session-timeline.json +22 -0
  103. package/registry/r/sheet.json +24 -0
  104. package/registry/r/sidebar.json +19 -0
  105. package/registry/r/skeleton.json +19 -0
  106. package/registry/r/skill-card.json +24 -0
  107. package/registry/r/skill-editor.json +28 -0
  108. package/registry/r/skills-list.json +23 -0
  109. package/registry/r/social-auth-row.json +21 -0
  110. package/registry/r/steps-rail.json +20 -0
  111. package/registry/r/sub-agent-dispatch.json +22 -0
  112. package/registry/r/switch.json +22 -0
  113. package/registry/r/system-prompt-editor.json +22 -0
  114. package/registry/r/tabs.json +22 -0
  115. package/registry/r/tailwind-preset.json +19 -0
  116. package/registry/r/task-header.json +24 -0
  117. package/registry/r/task-plan.json +22 -0
  118. package/registry/r/task-types.json +15 -0
  119. package/registry/r/terminal-panel.json +22 -0
  120. package/registry/r/textarea.json +19 -0
  121. package/registry/r/theme-provider.json +59 -0
  122. package/registry/r/theme-script.json +18 -0
  123. package/registry/r/theo-ui-provider.json +20 -0
  124. package/registry/r/toast.json +30 -0
  125. package/registry/r/token-usage-chart.json +20 -0
  126. package/registry/r/tokens.json +21 -0
  127. package/registry/r/tool-call-card.json +23 -0
  128. package/registry/r/tool-call.json +22 -0
  129. package/registry/r/tool-result.json +20 -0
  130. package/registry/r/tools-list.json +23 -0
  131. package/registry/r/tooltip.json +22 -0
  132. package/registry/r/topnav.json +22 -0
  133. package/registry/r/types.json +15 -0
@@ -0,0 +1,700 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry.json",
3
+ "name": "theo-ui",
4
+ "homepage": "https://usetheo.dev",
5
+ "metadata": {
6
+ "requires": {
7
+ "tsconfigPathAlias": {
8
+ "@/*": [
9
+ "./src/*"
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ "items": [
15
+ {
16
+ "name": "agent-composer",
17
+ "type": "registry:ui",
18
+ "title": "AgentComposer",
19
+ "description": "ChatComposer + slash-command / @file / #memory triggers."
20
+ },
21
+ {
22
+ "name": "agent-editor",
23
+ "type": "registry:block",
24
+ "title": "AgentEditor",
25
+ "description": "Form for creating or editing an Agent persona."
26
+ },
27
+ {
28
+ "name": "agent-error-card",
29
+ "type": "registry:ui",
30
+ "title": "AgentErrorCard",
31
+ "description": "Inline error / blocked-state card for an agent stream."
32
+ },
33
+ {
34
+ "name": "agent-event",
35
+ "type": "registry:ui",
36
+ "title": "AgentEvent",
37
+ "description": "Single event row in the agent timeline."
38
+ },
39
+ {
40
+ "name": "agent-handoff",
41
+ "type": "registry:ui",
42
+ "title": "AgentHandoff",
43
+ "description": "Visual marker of one agent delegating to another."
44
+ },
45
+ {
46
+ "name": "agent-profile",
47
+ "type": "registry:ui",
48
+ "title": "AgentProfile",
49
+ "description": "Switcher between multiple agent profiles (coder, planner,"
50
+ },
51
+ {
52
+ "name": "agent-starting-state",
53
+ "type": "registry:ui",
54
+ "title": "AgentStartingState",
55
+ "description": "Full-width skeleton shown while the agent boots."
56
+ },
57
+ {
58
+ "name": "agent-stream",
59
+ "type": "registry:ui",
60
+ "title": "AgentStream",
61
+ "description": "The canonical conversation surface for a code agent."
62
+ },
63
+ {
64
+ "name": "agent-streaming",
65
+ "type": "registry:ui",
66
+ "title": "AgentStreaming",
67
+ "description": "Inline \"agent is thinking / typing\" indicator."
68
+ },
69
+ {
70
+ "name": "agent-timeline",
71
+ "type": "registry:ui",
72
+ "title": "AgentTimeline",
73
+ "description": "Vertical list of agent events."
74
+ },
75
+ {
76
+ "name": "agent-types",
77
+ "type": "registry:lib",
78
+ "title": "Theo UI agent types",
79
+ "description": "Shared TypeScript types for the agent timeline, events, and statuses."
80
+ },
81
+ {
82
+ "name": "approval-card",
83
+ "type": "registry:block",
84
+ "title": "ApprovalCard",
85
+ "description": "Inline pause-and-ask card for an agent stream."
86
+ },
87
+ {
88
+ "name": "artifact-preview",
89
+ "type": "registry:ui",
90
+ "title": "ArtifactPreview",
91
+ "description": "Shell for previewing a generated artifact (XLSX, PDF, image…)."
92
+ },
93
+ {
94
+ "name": "attachment-chip",
95
+ "type": "registry:ui",
96
+ "title": "AttachmentChip",
97
+ "description": "File pill shown in chat composer or message attachments row."
98
+ },
99
+ {
100
+ "name": "audit-log-entry",
101
+ "type": "registry:ui",
102
+ "title": "AuditLogEntry",
103
+ "description": "One row in the agent audit log."
104
+ },
105
+ {
106
+ "name": "auto-compact-notice",
107
+ "type": "registry:ui",
108
+ "title": "AutoCompactNotice",
109
+ "description": "Inline banner warning the user that the agent is"
110
+ },
111
+ {
112
+ "name": "avatar",
113
+ "type": "registry:ui",
114
+ "title": "Avatar",
115
+ "description": "User/team avatar with safe fallback to initials."
116
+ },
117
+ {
118
+ "name": "badge",
119
+ "type": "registry:ui",
120
+ "title": "Badge",
121
+ "description": "Small status / tag indicator with semantic variants (default, primary, success, warning, destructive, info)."
122
+ },
123
+ {
124
+ "name": "browser-controls",
125
+ "type": "registry:ui",
126
+ "title": "BrowserControls",
127
+ "description": "Back/forward/reload + URL bar."
128
+ },
129
+ {
130
+ "name": "build-log-stream",
131
+ "type": "registry:block",
132
+ "title": "BuildLogStream",
133
+ "description": "Terminal-like log viewer with timestamps + level coloring."
134
+ },
135
+ {
136
+ "name": "button",
137
+ "type": "registry:ui",
138
+ "title": "Button",
139
+ "description": "Primitive action element in the Violet Forge design system."
140
+ },
141
+ {
142
+ "name": "capability-indicator",
143
+ "type": "registry:ui",
144
+ "title": "CapabilityIndicator",
145
+ "description": "Row of chips showing what the agent can currently do."
146
+ },
147
+ {
148
+ "name": "card",
149
+ "type": "registry:ui",
150
+ "title": "Card",
151
+ "description": "Surface container for grouping related content."
152
+ },
153
+ {
154
+ "name": "chat-composer",
155
+ "type": "registry:ui",
156
+ "title": "ChatComposer",
157
+ "description": "Message input area, shared by Chat / Code / Infra modes."
158
+ },
159
+ {
160
+ "name": "chat-message",
161
+ "type": "registry:ui",
162
+ "title": "ChatMessage",
163
+ "description": "Single chat turn rendered as user bubble, assistant card, or system callout with accent border."
164
+ },
165
+ {
166
+ "name": "chat-thread",
167
+ "type": "registry:ui",
168
+ "title": "ChatThread",
169
+ "description": "Simple vertical container that applies spacing + scroll."
170
+ },
171
+ {
172
+ "name": "chat-types",
173
+ "type": "registry:lib",
174
+ "title": "Theo UI chat types",
175
+ "description": "Shared TypeScript types for chat messages, roles, and attachments."
176
+ },
177
+ {
178
+ "name": "checkbox",
179
+ "type": "registry:ui",
180
+ "title": "Checkbox",
181
+ "description": "Built on Radix Checkbox — accessible binary control with focus ring and indeterminate state support."
182
+ },
183
+ {
184
+ "name": "cn",
185
+ "type": "registry:lib",
186
+ "title": "cn (Tailwind class merger)",
187
+ "description": "Merge Tailwind classes with conflict resolution."
188
+ },
189
+ {
190
+ "name": "command-palette",
191
+ "type": "registry:ui",
192
+ "title": "CommandPalette",
193
+ "description": "Cmd+K-style global launcher with arrow-key navigation, fuzzy ranking, and Enter/Escape behavior — built on cmdk + Theo Dialog."
194
+ },
195
+ {
196
+ "name": "context-card",
197
+ "type": "registry:ui",
198
+ "title": "ContextCard",
199
+ "description": "Generic \"informational\" card for the right inspector."
200
+ },
201
+ {
202
+ "name": "context-window-bar",
203
+ "type": "registry:ui",
204
+ "title": "ContextWindowBar",
205
+ "description": "Shows how much of the model's context window has been"
206
+ },
207
+ {
208
+ "name": "cost-meter",
209
+ "type": "registry:ui",
210
+ "title": "CostMeter",
211
+ "description": "Gauge for token spend that visualizes used vs. budget with color-coded states."
212
+ },
213
+ {
214
+ "name": "created-files-card",
215
+ "type": "registry:ui",
216
+ "title": "CreatedFilesCard",
217
+ "description": "Surfaces files produced by a completed task."
218
+ },
219
+ {
220
+ "name": "cron-job-card",
221
+ "type": "registry:ui",
222
+ "title": "CronJobCard",
223
+ "description": "One scheduled agent job — shows schedule, next run, last status, and toggle / edit actions."
224
+ },
225
+ {
226
+ "name": "cron-jobs-list",
227
+ "type": "registry:block",
228
+ "title": "CronJobsList",
229
+ "description": "Grid of CronJobCards with a sticky \"new job\" action."
230
+ },
231
+ {
232
+ "name": "deployment-row",
233
+ "type": "registry:block",
234
+ "title": "DeploymentRow",
235
+ "description": "One row in a deployment list (table-ish layout)."
236
+ },
237
+ {
238
+ "name": "dialog",
239
+ "type": "registry:ui",
240
+ "title": "Dialog",
241
+ "description": "Modal overlay built on Radix Dialog."
242
+ },
243
+ {
244
+ "name": "diff-viewer",
245
+ "type": "registry:ui",
246
+ "title": "DiffViewer",
247
+ "description": "Unified diff rendering, no external dep."
248
+ },
249
+ {
250
+ "name": "domain-config",
251
+ "type": "registry:block",
252
+ "title": "DomainConfig",
253
+ "description": "Manage custom domains for a project."
254
+ },
255
+ {
256
+ "name": "empty-state",
257
+ "type": "registry:ui",
258
+ "title": "EmptyState",
259
+ "description": "Visual placeholder for empty lists / first-run screens."
260
+ },
261
+ {
262
+ "name": "env-var-editor",
263
+ "type": "registry:block",
264
+ "title": "EnvVarEditor",
265
+ "description": "Table-like editor for environment variables."
266
+ },
267
+ {
268
+ "name": "folder-context-card",
269
+ "type": "registry:ui",
270
+ "title": "FolderContextCard",
271
+ "description": "File/folder tree fragment for the right inspector."
272
+ },
273
+ {
274
+ "name": "folder-selector",
275
+ "type": "registry:ui",
276
+ "title": "FolderSelector",
277
+ "description": "Chip showing the active working directory."
278
+ },
279
+ {
280
+ "name": "form-field",
281
+ "type": "registry:ui",
282
+ "title": "FormField",
283
+ "description": "Composition wrapper for accessible form rows."
284
+ },
285
+ {
286
+ "name": "hook-config",
287
+ "type": "registry:ui",
288
+ "title": "HookConfig",
289
+ "description": "Editor for lifecycle hooks (PreToolUse, PostToolUse, Stop…)."
290
+ },
291
+ {
292
+ "name": "hook-event-log",
293
+ "type": "registry:ui",
294
+ "title": "HookEventLog",
295
+ "description": "Chronological list of hook firings, with result tone, the"
296
+ },
297
+ {
298
+ "name": "input",
299
+ "type": "registry:ui",
300
+ "title": "Input",
301
+ "description": "Text input primitive with focus ring, error state, and form-field composition support."
302
+ },
303
+ {
304
+ "name": "intent-selector",
305
+ "type": "registry:ui",
306
+ "title": "IntentSelector",
307
+ "description": "Chip dropdown for picking the agent's intent for the next"
308
+ },
309
+ {
310
+ "name": "label",
311
+ "type": "registry:ui",
312
+ "title": "Label",
313
+ "description": "Form field label built on Radix Label."
314
+ },
315
+ {
316
+ "name": "lane-board",
317
+ "type": "registry:ui",
318
+ "title": "LaneBoard",
319
+ "description": "Kanban-style task board with 4 lanes matching the claw-code"
320
+ },
321
+ {
322
+ "name": "live-region-context",
323
+ "type": "registry:lib",
324
+ "title": "LiveRegionContext",
325
+ "description": "React context that coordinates aria-live declarations across nested components to prevent screen-reader double-announcement (T4.1)."
326
+ },
327
+ {
328
+ "name": "login-split",
329
+ "type": "registry:ui",
330
+ "title": "LoginSplit",
331
+ "description": "50/50 split shell for authentication screens — form pane on the left, illustration on the right."
332
+ },
333
+ {
334
+ "name": "mcp-server-card",
335
+ "type": "registry:ui",
336
+ "title": "McpServerCard",
337
+ "description": "One MCP server entry showing connection status, the tools"
338
+ },
339
+ {
340
+ "name": "mcp-server-list",
341
+ "type": "registry:block",
342
+ "title": "McpServerList",
343
+ "description": "Grouped MCP server inventory with status filter chips."
344
+ },
345
+ {
346
+ "name": "memory-editor",
347
+ "type": "registry:ui",
348
+ "title": "MemoryEditor",
349
+ "description": "Three-layer Markdown memory editor (global / project /"
350
+ },
351
+ {
352
+ "name": "mention-menu",
353
+ "type": "registry:ui",
354
+ "title": "MentionMenu",
355
+ "description": "Keyboard-navigable popover for slash-command / @file / #memory"
356
+ },
357
+ {
358
+ "name": "metrics-panel",
359
+ "type": "registry:block",
360
+ "title": "MetricsPanel",
361
+ "description": "Grid of metric tiles for observability dashboards."
362
+ },
363
+ {
364
+ "name": "mode-types",
365
+ "type": "registry:lib",
366
+ "title": "Theo UI mode types",
367
+ "description": "Shared Mode type — \"chat\" | \"code\" | \"infra\" — controlling app shell density and surfaces."
368
+ },
369
+ {
370
+ "name": "model-card",
371
+ "type": "registry:ui",
372
+ "title": "ModelCard",
373
+ "description": "Full info on a model: vendor, context, output cap, pricing,"
374
+ },
375
+ {
376
+ "name": "model-selector",
377
+ "type": "registry:ui",
378
+ "title": "ModelSelector",
379
+ "description": "Chip dropdown for picking the active LLM."
380
+ },
381
+ {
382
+ "name": "permission-matrix",
383
+ "type": "registry:ui",
384
+ "title": "PermissionMatrix",
385
+ "description": "Tool × path × decision grid for fine-grained access"
386
+ },
387
+ {
388
+ "name": "permission-modal",
389
+ "type": "registry:ui",
390
+ "title": "PermissionModal",
391
+ "description": "Local-files access prompt built on Dialog."
392
+ },
393
+ {
394
+ "name": "permission-types",
395
+ "type": "registry:lib",
396
+ "title": "Theo UI permission types",
397
+ "description": "Shared TypeScript types for permission requests, scopes, and decisions."
398
+ },
399
+ {
400
+ "name": "preview-env-card",
401
+ "type": "registry:block",
402
+ "title": "PreviewEnvCard",
403
+ "description": "Preview environment card surfacing all services from one PR."
404
+ },
405
+ {
406
+ "name": "preview-panel",
407
+ "type": "registry:ui",
408
+ "title": "PreviewPanel",
409
+ "description": "Browser preview with controls + integrated logs slot."
410
+ },
411
+ {
412
+ "name": "progress-checklist",
413
+ "type": "registry:ui",
414
+ "title": "ProgressChecklist",
415
+ "description": "Right-inspector checklist tracking subtask completion with success / running / pending tones."
416
+ },
417
+ {
418
+ "name": "project-card",
419
+ "type": "registry:block",
420
+ "title": "ProjectCard",
421
+ "description": "Surface for a project in a project listing."
422
+ },
423
+ {
424
+ "name": "project-switcher",
425
+ "type": "registry:ui",
426
+ "title": "ProjectSwitcher",
427
+ "description": "Sidebar header for a code agent app."
428
+ },
429
+ {
430
+ "name": "quick-action-chips",
431
+ "type": "registry:ui",
432
+ "title": "QuickActionChips",
433
+ "description": "Row of intent chips below a hero composer."
434
+ },
435
+ {
436
+ "name": "radio-group",
437
+ "type": "registry:ui",
438
+ "title": "RadioGroup",
439
+ "description": "Built on Radix RadioGroup — accessible radio group with roving focus and orientation control."
440
+ },
441
+ {
442
+ "name": "recent-folders-list",
443
+ "type": "registry:ui",
444
+ "title": "RecentFoldersList",
445
+ "description": "Recently-used folders for the Files picker."
446
+ },
447
+ {
448
+ "name": "rollback-ui",
449
+ "type": "registry:block",
450
+ "title": "RollbackUI",
451
+ "description": "Instant rollback selector showing recent versions."
452
+ },
453
+ {
454
+ "name": "rule-card",
455
+ "type": "registry:ui",
456
+ "title": "RuleCard",
457
+ "description": "Single Rule row in the Rules list."
458
+ },
459
+ {
460
+ "name": "rule-editor",
461
+ "type": "registry:block",
462
+ "title": "RuleEditor",
463
+ "description": "Form for creating or editing a Rule (behavior instruction"
464
+ },
465
+ {
466
+ "name": "rule-types",
467
+ "type": "registry:lib",
468
+ "title": "Theo UI rule types",
469
+ "description": "Shared TypeScript types for Rules — user-authored behavior instructions injected into the system prompt."
470
+ },
471
+ {
472
+ "name": "run-stats",
473
+ "type": "registry:ui",
474
+ "title": "RunStats",
475
+ "description": "Inline metric row shown after an agent run."
476
+ },
477
+ {
478
+ "name": "running-tasks-panel",
479
+ "type": "registry:ui",
480
+ "title": "RunningTasksPanel",
481
+ "description": "Split list of Running vs Completed tasks."
482
+ },
483
+ {
484
+ "name": "safe-href",
485
+ "type": "registry:lib",
486
+ "title": "safeHref (XSS-safe URL guard)",
487
+ "description": "Defang javascript:/vbscript:/data:text/html URIs before rendering as <a href>. Returns undefined for dangerous protocols so the caller can render a non-link fallback."
488
+ },
489
+ {
490
+ "name": "scroll-area",
491
+ "type": "registry:ui",
492
+ "title": "ScrollArea",
493
+ "description": "Custom scroller with Violet Forge styling."
494
+ },
495
+ {
496
+ "name": "select",
497
+ "type": "registry:ui",
498
+ "title": "Select",
499
+ "description": "Styled wrapper around Radix Select."
500
+ },
501
+ {
502
+ "name": "session-list-item",
503
+ "type": "registry:ui",
504
+ "title": "SessionListItem",
505
+ "description": "Single row in the sidebar's Sessions list for a code agent"
506
+ },
507
+ {
508
+ "name": "session-timeline",
509
+ "type": "registry:ui",
510
+ "title": "SessionTimeline",
511
+ "description": "Historical view of past agent sessions with per-row"
512
+ },
513
+ {
514
+ "name": "sheet",
515
+ "type": "registry:ui",
516
+ "title": "Sheet",
517
+ "description": "Slide-in side panel built on Radix Dialog."
518
+ },
519
+ {
520
+ "name": "sidebar",
521
+ "type": "registry:ui",
522
+ "title": "Sidebar",
523
+ "description": "Vertical navigation shell with header, sections, items (active / count), and footer slots."
524
+ },
525
+ {
526
+ "name": "skeleton",
527
+ "type": "registry:ui",
528
+ "title": "Skeleton",
529
+ "description": "Placeholder block shown while content is loading."
530
+ },
531
+ {
532
+ "name": "skill-card",
533
+ "type": "registry:ui",
534
+ "title": "SkillCard",
535
+ "description": "Single skill entry showing what it does, where it came from,"
536
+ },
537
+ {
538
+ "name": "skill-editor",
539
+ "type": "registry:block",
540
+ "title": "SkillEditor",
541
+ "description": "Form for creating or editing a Skill."
542
+ },
543
+ {
544
+ "name": "skills-list",
545
+ "type": "registry:block",
546
+ "title": "SkillsList",
547
+ "description": "Grid of SkillCards with optional search + source filter chips."
548
+ },
549
+ {
550
+ "name": "social-auth-row",
551
+ "type": "registry:ui",
552
+ "title": "SocialAuthRow",
553
+ "description": "Row of OAuth provider buttons."
554
+ },
555
+ {
556
+ "name": "steps-rail",
557
+ "type": "registry:ui",
558
+ "title": "StepsRail",
559
+ "description": "Vertical numbered rail with connecting line."
560
+ },
561
+ {
562
+ "name": "sub-agent-dispatch",
563
+ "type": "registry:ui",
564
+ "title": "SubAgentDispatch",
565
+ "description": "Visualization for a Task() / sub-agent invocation."
566
+ },
567
+ {
568
+ "name": "switch",
569
+ "type": "registry:ui",
570
+ "title": "Switch",
571
+ "description": "Built on Radix Switch — accessible binary toggle with on / off states and disabled support."
572
+ },
573
+ {
574
+ "name": "system-prompt-editor",
575
+ "type": "registry:ui",
576
+ "title": "SystemPromptEditor",
577
+ "description": "Surface the agent's system prompt with a clear"
578
+ },
579
+ {
580
+ "name": "tabs",
581
+ "type": "registry:ui",
582
+ "title": "Tabs",
583
+ "description": "Built on Radix Tabs with active-underline styling and focus-visible ring."
584
+ },
585
+ {
586
+ "name": "tailwind-preset",
587
+ "type": "registry:lib",
588
+ "title": "Theo UI Tailwind preset",
589
+ "description": "Type scale, fontFamily, colors and motion tokens consumed by every Theo UI component. Add to tailwind.config.ts#presets before installing any other component."
590
+ },
591
+ {
592
+ "name": "task-header",
593
+ "type": "registry:ui",
594
+ "title": "TaskHeader",
595
+ "description": "Title bar for a task pane — composite combining heading, status badge, and chevron menu."
596
+ },
597
+ {
598
+ "name": "task-plan",
599
+ "type": "registry:ui",
600
+ "title": "TaskPlan",
601
+ "description": "Hierarchical task plan, à la Claude \"plan mode\"."
602
+ },
603
+ {
604
+ "name": "task-types",
605
+ "type": "registry:lib",
606
+ "title": "Theo UI task types",
607
+ "description": "Shared TypeScript types for task plans, steps, and progress state."
608
+ },
609
+ {
610
+ "name": "terminal-panel",
611
+ "type": "registry:ui",
612
+ "title": "TerminalPanel",
613
+ "description": "Minimal terminal output viewer."
614
+ },
615
+ {
616
+ "name": "textarea",
617
+ "type": "registry:ui",
618
+ "title": "Textarea",
619
+ "description": "Multi-line input mirror of Input."
620
+ },
621
+ {
622
+ "name": "theme-provider",
623
+ "type": "registry:lib",
624
+ "title": "ThemeProvider",
625
+ "description": "Theme + dark mode provider with built-in Violet Forge, Classic Paper, and Aurora Terminal themes."
626
+ },
627
+ {
628
+ "name": "theme-script",
629
+ "type": "registry:lib",
630
+ "title": "ThemeScript",
631
+ "description": "Inline script for SSR-safe theme initialization in Next.js / Astro / Remix. Place in <head> to read persisted theme + mode from localStorage BEFORE React hydrates, eliminating FOUC and hydration mismatch."
632
+ },
633
+ {
634
+ "name": "theo-ui-provider",
635
+ "type": "registry:lib",
636
+ "title": "TheoUIProvider",
637
+ "description": "Primary entry-point provider — composes ThemeProvider + Toaster with sensible defaults. Use as the single root wrapper in consumer apps."
638
+ },
639
+ {
640
+ "name": "toast",
641
+ "type": "registry:ui",
642
+ "title": "Toast",
643
+ "description": "Transient notification built on Radix Toast."
644
+ },
645
+ {
646
+ "name": "token-usage-chart",
647
+ "type": "registry:ui",
648
+ "title": "TokenUsageChart",
649
+ "description": "Stacked-bar chart of input vs output tokens over time."
650
+ },
651
+ {
652
+ "name": "tokens",
653
+ "type": "registry:lib",
654
+ "title": "Violet Forge tokens",
655
+ "description": "Design system CSS variables (light + dark) for the Theo UI 'Violet Forge' theme. Mirrors src/styles/tokens.css verbatim — the embedded files content is the single source of truth."
656
+ },
657
+ {
658
+ "name": "tool-call-card",
659
+ "type": "registry:ui",
660
+ "title": "ToolCallCard",
661
+ "description": "Single agent tool invocation rendered inside the stream."
662
+ },
663
+ {
664
+ "name": "tool-call",
665
+ "type": "registry:ui",
666
+ "title": "ToolCall",
667
+ "description": "Collapsible row representing an agent tool invocation."
668
+ },
669
+ {
670
+ "name": "tool-result",
671
+ "type": "registry:ui",
672
+ "title": "ToolResult",
673
+ "description": "Formatted output of a tool invocation."
674
+ },
675
+ {
676
+ "name": "tools-list",
677
+ "type": "registry:ui",
678
+ "title": "ToolsList",
679
+ "description": "Surface every tool the agent could call, with its enablement"
680
+ },
681
+ {
682
+ "name": "tooltip",
683
+ "type": "registry:ui",
684
+ "title": "Tooltip",
685
+ "description": "Built on Radix Tooltip — accessible hover / focus tooltip with delay and side / align controls."
686
+ },
687
+ {
688
+ "name": "topnav",
689
+ "type": "registry:ui",
690
+ "title": "TopNav",
691
+ "description": "Horizontal app bar (64px) with breadcrumbs, mode switcher (radiogroup), and action slots."
692
+ },
693
+ {
694
+ "name": "types",
695
+ "type": "registry:lib",
696
+ "title": "Theo UI shared types",
697
+ "description": "Shared TypeScript helper types (IconComponent, etc.) used across Theo UI."
698
+ }
699
+ ]
700
+ }