@sero-ai/ui 0.4.0 → 0.4.2
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/.turbo/turbo-build.log +628 -628
- package/.turbo/turbo-test.log +18 -0
- package/.turbo/turbo-typecheck.log +1 -1
- package/CHANGELOG.md +22 -2
- package/LICENSE +201 -0
- package/dist/components/ai-elements/agent.cjs +6 -6
- package/dist/components/ai-elements/agent.js +6 -6
- package/dist/components/ai-elements/artifact.cjs +2 -2
- package/dist/components/ai-elements/artifact.js +2 -2
- package/dist/components/ai-elements/attachments.cjs +2 -2
- package/dist/components/ai-elements/attachments.js +2 -2
- package/dist/components/ai-elements/chain-of-thought.cjs +2 -2
- package/dist/components/ai-elements/chain-of-thought.js +2 -2
- package/dist/components/ai-elements/code-block.cjs +7 -5
- package/dist/components/ai-elements/code-block.d.cts +2 -1
- package/dist/components/ai-elements/code-block.d.ts +2 -1
- package/dist/components/ai-elements/code-block.js +7 -5
- package/dist/components/ai-elements/commit.cjs +2 -2
- package/dist/components/ai-elements/commit.js +2 -2
- package/dist/components/ai-elements/confirmation.cjs +1 -1
- package/dist/components/ai-elements/confirmation.js +1 -1
- package/dist/components/ai-elements/conversation.cjs +2 -2
- package/dist/components/ai-elements/conversation.js +2 -2
- package/dist/components/ai-elements/environment-variables.cjs +3 -3
- package/dist/components/ai-elements/environment-variables.js +3 -3
- package/dist/components/ai-elements/file-tree.cjs +1 -1
- package/dist/components/ai-elements/file-tree.js +1 -1
- package/dist/components/ai-elements/inline-citation.cjs +3 -3
- package/dist/components/ai-elements/inline-citation.js +3 -3
- package/dist/components/ai-elements/jsx-preview.cjs +1 -1
- package/dist/components/ai-elements/jsx-preview.js +1 -1
- package/dist/components/ai-elements/message.cjs +1 -1
- package/dist/components/ai-elements/message.js +1 -1
- package/dist/components/ai-elements/package-info.cjs +4 -4
- package/dist/components/ai-elements/package-info.js +4 -4
- package/dist/components/ai-elements/prompt-input-context.cjs +2 -3
- package/dist/components/ai-elements/prompt-input-context.js +2 -3
- package/dist/components/ai-elements/queue.cjs +2 -2
- package/dist/components/ai-elements/queue.js +2 -2
- package/dist/components/ai-elements/reasoning.cjs +2 -2
- package/dist/components/ai-elements/reasoning.js +2 -2
- package/dist/components/ai-elements/sandbox.cjs +3 -3
- package/dist/components/ai-elements/sandbox.js +3 -3
- package/dist/components/ai-elements/schema-display.cjs +12 -12
- package/dist/components/ai-elements/schema-display.js +12 -12
- package/dist/components/ai-elements/speech-input.cjs +18 -2
- package/dist/components/ai-elements/speech-input.js +16 -0
- package/dist/components/ai-elements/stack-trace.cjs +1 -1
- package/dist/components/ai-elements/stack-trace.js +1 -1
- package/dist/components/ai-elements/task.cjs +3 -3
- package/dist/components/ai-elements/task.js +3 -3
- package/dist/components/ai-elements/terminal.cjs +2 -2
- package/dist/components/ai-elements/terminal.js +2 -2
- package/dist/components/ai-elements/test-results.cjs +4 -4
- package/dist/components/ai-elements/test-results.js +4 -4
- package/dist/components/ai-elements/tool.cjs +4 -4
- package/dist/components/ai-elements/tool.js +4 -4
- package/dist/components/ai-elements/transcription.cjs +1 -1
- package/dist/components/ai-elements/transcription.js +1 -1
- package/dist/components/ai-elements/web-preview.cjs +2 -2
- package/dist/components/ai-elements/web-preview.js +2 -2
- package/dist/components/context-editor/CapabilitySection.cjs +2 -2
- package/dist/components/context-editor/CapabilitySection.js +2 -2
- package/dist/components/context-editor/ContextEditor.cjs +2 -2
- package/dist/components/context-editor/ContextEditor.js +2 -2
- package/dist/components/context-editor/PresetBar.cjs +3 -3
- package/dist/components/context-editor/PresetBar.js +3 -3
- package/dist/components/context-editor/SystemPromptSection.cjs +4 -4
- package/dist/components/context-editor/SystemPromptSection.js +4 -4
- package/dist/components/context-editor/parts.cjs +6 -6
- package/dist/components/context-editor/parts.js +6 -6
- package/dist/components/dashboard/activity-list.cjs +2 -2
- package/dist/components/dashboard/activity-list.js +2 -2
- package/dist/components/dashboard/catalog.cjs +1 -322
- package/dist/components/dashboard/catalog.d.cts +1 -2
- package/dist/components/dashboard/catalog.d.ts +1 -2
- package/dist/components/dashboard/catalog.js +0 -322
- package/dist/components/dashboard/catalog.json +312 -0
- package/dist/components/dashboard/empty-state.cjs +1 -1
- package/dist/components/dashboard/empty-state.js +1 -1
- package/dist/components/dashboard/index.d.cts +1 -1
- package/dist/components/dashboard/index.d.ts +1 -1
- package/dist/components/dashboard/item-list.cjs +2 -2
- package/dist/components/dashboard/item-list.js +2 -2
- package/dist/components/dashboard/layout.cjs +1 -1
- package/dist/components/dashboard/layout.js +1 -1
- package/dist/components/dashboard/metric.cjs +1 -1
- package/dist/components/dashboard/metric.js +1 -1
- package/dist/components/dashboard/stale-indicator.cjs +1 -1
- package/dist/components/dashboard/stale-indicator.js +1 -1
- package/dist/components/dashboard/status.cjs +6 -2
- package/dist/components/dashboard/status.js +7 -3
- package/dist/components/dashboard/tone.cjs +9 -1
- package/dist/components/dashboard/tone.d.cts +7 -1
- package/dist/components/dashboard/tone.d.ts +7 -1
- package/dist/components/dashboard/tone.js +8 -0
- package/dist/components/dashboard/typography.cjs +4 -4
- package/dist/components/dashboard/typography.d.cts +1 -1
- package/dist/components/dashboard/typography.d.ts +1 -1
- package/dist/components/dashboard/typography.js +4 -4
- package/dist/components/model-selection/available-model-picker.cjs +6 -6
- package/dist/components/model-selection/available-model-picker.js +6 -6
- package/dist/components/model-selection/thinking-level-picker.cjs +1 -1
- package/dist/components/model-selection/thinking-level-picker.js +1 -1
- package/dist/components/model-selection/thinking-picker.cjs +70 -0
- package/dist/components/model-selection/thinking-picker.d.cts +12 -0
- package/dist/components/model-selection/thinking-picker.d.ts +12 -0
- package/dist/components/model-selection/thinking-picker.js +70 -0
- package/dist/components/ui/accordion.cjs +2 -2
- package/dist/components/ui/accordion.js +2 -2
- package/dist/components/ui/alert-dialog.cjs +4 -2
- package/dist/components/ui/alert-dialog.js +4 -2
- package/dist/components/ui/alert.cjs +2 -2
- package/dist/components/ui/alert.js +2 -2
- package/dist/components/ui/avatar.cjs +2 -2
- package/dist/components/ui/avatar.js +2 -2
- package/dist/components/ui/breadcrumb.cjs +1 -1
- package/dist/components/ui/breadcrumb.js +1 -1
- package/dist/components/ui/button-group.cjs +1 -1
- package/dist/components/ui/button-group.js +1 -1
- package/dist/components/ui/button.cjs +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/calendar.cjs +2 -2
- package/dist/components/ui/calendar.js +2 -2
- package/dist/components/ui/card.cjs +1 -1
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/carousel.cjs +3 -2
- package/dist/components/ui/carousel.js +2 -1
- package/dist/components/ui/chart.cjs +36 -27
- package/dist/components/ui/chart.d.cts +21 -17
- package/dist/components/ui/chart.d.ts +21 -17
- package/dist/components/ui/chart.js +30 -21
- package/dist/components/ui/combobox.cjs +7 -5
- package/dist/components/ui/combobox.js +7 -5
- package/dist/components/ui/command.cjs +3 -3
- package/dist/components/ui/command.js +3 -3
- package/dist/components/ui/context-menu.cjs +10 -7
- package/dist/components/ui/context-menu.js +10 -7
- package/dist/components/ui/dialog.cjs +4 -2
- package/dist/components/ui/dialog.js +4 -2
- package/dist/components/ui/drawer.cjs +4 -2
- package/dist/components/ui/drawer.js +4 -2
- package/dist/components/ui/dropdown-menu.cjs +10 -7
- package/dist/components/ui/dropdown-menu.js +10 -7
- package/dist/components/ui/empty.cjs +2 -2
- package/dist/components/ui/empty.js +2 -2
- package/dist/components/ui/field.cjs +5 -5
- package/dist/components/ui/field.js +5 -5
- package/dist/components/ui/form.cjs +2 -2
- package/dist/components/ui/form.js +2 -2
- package/dist/components/ui/hover-card.cjs +3 -1
- package/dist/components/ui/hover-card.js +3 -1
- package/dist/components/ui/input-group.cjs +3 -3
- package/dist/components/ui/input-group.js +3 -3
- package/dist/components/ui/input-otp.cjs +1 -1
- package/dist/components/ui/input-otp.js +1 -1
- package/dist/components/ui/input.cjs +1 -1
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/item.cjs +3 -3
- package/dist/components/ui/item.js +3 -3
- package/dist/components/ui/label.cjs +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/menubar.cjs +9 -7
- package/dist/components/ui/menubar.js +9 -7
- package/dist/components/ui/native-select.cjs +1 -1
- package/dist/components/ui/native-select.js +1 -1
- package/dist/components/ui/navigation-menu.cjs +2 -2
- package/dist/components/ui/navigation-menu.js +2 -2
- package/dist/components/ui/plugin-safety-disclaimer.cjs +1 -1
- package/dist/components/ui/plugin-safety-disclaimer.js +1 -1
- package/dist/components/ui/popover.cjs +4 -2
- package/dist/components/ui/popover.js +4 -2
- package/dist/components/ui/select.cjs +5 -3
- package/dist/components/ui/select.js +5 -3
- package/dist/components/ui/sheet.cjs +4 -2
- package/dist/components/ui/sheet.js +4 -2
- package/dist/components/ui/sidebar.cjs +5 -5
- package/dist/components/ui/sidebar.js +5 -5
- package/dist/components/ui/table.cjs +2 -2
- package/dist/components/ui/table.js +2 -2
- package/dist/components/ui/tabs.cjs +1 -1
- package/dist/components/ui/tabs.js +1 -1
- package/dist/components/ui/textarea.cjs +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/components/ui/toggle.cjs +1 -1
- package/dist/components/ui/toggle.js +1 -1
- package/dist/components/ui/tooltip.cjs +3 -1
- package/dist/components/ui/tooltip.js +3 -1
- package/dist/index.cjs +5 -1
- package/dist/index.d.cts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +5 -1
- package/dist/plugin-style-scope-context.cjs +10 -0
- package/dist/plugin-style-scope-context.d.cts +13 -0
- package/dist/plugin-style-scope-context.d.ts +13 -0
- package/dist/plugin-style-scope-context.js +10 -0
- package/dist/plugin-style-scope.cjs +25 -0
- package/dist/plugin-style-scope.d.cts +11 -0
- package/dist/plugin-style-scope.d.ts +11 -0
- package/dist/plugin-style-scope.js +25 -0
- package/dist/reference.cjs +1251 -3
- package/dist/reference.d.cts +11 -5
- package/dist/reference.d.ts +11 -5
- package/dist/reference.js +1224 -6
- package/dist/styles/globals.css +22 -3
- package/dist/styles/plugin-theme.css +80 -0
- package/dist/styles/plugin.css +14 -2
- package/package.json +53 -70
- package/scripts/ensure-pnpm-publish.mjs +23 -0
- package/scripts/smoke-dist.mjs +68 -0
- package/src/components/ai-elements/agent.tsx +6 -6
- package/src/components/ai-elements/artifact.tsx +2 -2
- package/src/components/ai-elements/attachments.tsx +2 -2
- package/src/components/ai-elements/chain-of-thought.tsx +2 -2
- package/src/components/ai-elements/code-block.tsx +6 -3
- package/src/components/ai-elements/commit.tsx +2 -2
- package/src/components/ai-elements/confirmation.tsx +1 -1
- package/src/components/ai-elements/conversation.tsx +2 -2
- package/src/components/ai-elements/environment-variables.tsx +3 -3
- package/src/components/ai-elements/file-tree.tsx +1 -1
- package/src/components/ai-elements/inline-citation.tsx +3 -3
- package/src/components/ai-elements/jsx-preview.tsx +1 -1
- package/src/components/ai-elements/message.tsx +1 -1
- package/src/components/ai-elements/package-info.tsx +4 -4
- package/src/components/ai-elements/prompt-input-context.tsx +3 -2
- package/src/components/ai-elements/queue.tsx +2 -2
- package/src/components/ai-elements/reasoning.tsx +2 -2
- package/src/components/ai-elements/sandbox.tsx +3 -3
- package/src/components/ai-elements/schema-display.tsx +12 -12
- package/src/components/ai-elements/speech-input.tsx +17 -0
- package/src/components/ai-elements/stack-trace.tsx +1 -1
- package/src/components/ai-elements/task.tsx +3 -3
- package/src/components/ai-elements/terminal.tsx +2 -2
- package/src/components/ai-elements/test-results.tsx +4 -4
- package/src/components/ai-elements/tool.tsx +4 -4
- package/src/components/ai-elements/transcription.tsx +1 -1
- package/src/components/ai-elements/web-preview.tsx +2 -2
- package/src/components/context-editor/CapabilitySection.tsx +2 -2
- package/src/components/context-editor/ContextEditor.tsx +2 -2
- package/src/components/context-editor/PresetBar.tsx +3 -3
- package/src/components/context-editor/SystemPromptSection.tsx +4 -4
- package/src/components/context-editor/parts.tsx +6 -6
- package/src/components/dashboard/__tests__/catalog.test.ts +7 -2
- package/src/components/dashboard/__tests__/state.test.tsx +19 -2
- package/src/components/dashboard/activity-list.tsx +2 -2
- package/src/components/dashboard/catalog.json +312 -0
- package/src/components/dashboard/catalog.ts +6 -328
- package/src/components/dashboard/empty-state.tsx +1 -1
- package/src/components/dashboard/index.ts +2 -2
- package/src/components/dashboard/item-list.tsx +2 -2
- package/src/components/dashboard/layout.tsx +1 -1
- package/src/components/dashboard/metric.tsx +1 -1
- package/src/components/dashboard/stale-indicator.tsx +1 -1
- package/src/components/dashboard/status.tsx +15 -2
- package/src/components/dashboard/tone.ts +13 -0
- package/src/components/dashboard/typography.tsx +5 -5
- package/src/components/model-selection/available-model-picker.tsx +7 -7
- package/src/components/model-selection/thinking-level-picker.tsx +1 -1
- package/src/components/model-selection/thinking-picker.tsx +90 -0
- package/src/components/ui/accordion.tsx +2 -2
- package/src/components/ui/alert-dialog.tsx +4 -2
- package/src/components/ui/alert.tsx +2 -2
- package/src/components/ui/avatar.tsx +2 -2
- package/src/components/ui/breadcrumb.tsx +1 -1
- package/src/components/ui/button-group.tsx +1 -1
- package/src/components/ui/button.tsx +1 -1
- package/src/components/ui/calendar.tsx +3 -3
- package/src/components/ui/card.tsx +1 -1
- package/src/components/ui/carousel.tsx +2 -1
- package/src/components/ui/chart.tsx +54 -36
- package/src/components/ui/combobox.tsx +7 -5
- package/src/components/ui/command.tsx +3 -3
- package/src/components/ui/context-menu.tsx +10 -7
- package/src/components/ui/dialog.tsx +4 -2
- package/src/components/ui/drawer.tsx +4 -2
- package/src/components/ui/dropdown-menu.tsx +10 -7
- package/src/components/ui/empty.tsx +2 -2
- package/src/components/ui/field.tsx +5 -5
- package/src/components/ui/form.tsx +2 -2
- package/src/components/ui/hover-card.tsx +3 -1
- package/src/components/ui/input-group.tsx +3 -3
- package/src/components/ui/input-otp.tsx +1 -1
- package/src/components/ui/input.tsx +1 -1
- package/src/components/ui/item.tsx +3 -3
- package/src/components/ui/label.tsx +1 -1
- package/src/components/ui/menubar.tsx +9 -7
- package/src/components/ui/native-select.tsx +1 -1
- package/src/components/ui/navigation-menu.tsx +2 -2
- package/src/components/ui/plugin-safety-disclaimer.tsx +1 -1
- package/src/components/ui/popover.tsx +4 -2
- package/src/components/ui/select.tsx +5 -3
- package/src/components/ui/sheet.tsx +4 -2
- package/src/components/ui/sidebar.tsx +5 -5
- package/src/components/ui/table.tsx +2 -2
- package/src/components/ui/tabs.tsx +1 -1
- package/src/components/ui/textarea.tsx +1 -1
- package/src/components/ui/toggle.tsx +1 -1
- package/src/components/ui/tooltip.tsx +3 -1
- package/src/index.ts +5 -1
- package/src/plugin-style-scope-context.ts +21 -0
- package/src/plugin-style-scope.test.tsx +38 -0
- package/src/plugin-style-scope.tsx +35 -0
- package/src/styles/globals.css +22 -3
- package/src/styles/plugin-theme.css +80 -0
- package/src/styles/plugin.css +14 -2
- package/tsup.config.ts +13 -3
- package/tsup.reference.config.ts +15 -0
- package/dist/components/reference/ActivityExample.cjs +0 -47
- package/dist/components/reference/ActivityExample.d.cts +0 -5
- package/dist/components/reference/ActivityExample.d.ts +0 -5
- package/dist/components/reference/ActivityExample.js +0 -47
- package/dist/components/reference/ResourceExample.cjs +0 -54
- package/dist/components/reference/ResourceExample.d.cts +0 -5
- package/dist/components/reference/ResourceExample.d.ts +0 -5
- package/dist/components/reference/ResourceExample.js +0 -54
- package/dist/components/reference/SchedulerExample.cjs +0 -68
- package/dist/components/reference/SchedulerExample.d.cts +0 -5
- package/dist/components/reference/SchedulerExample.d.ts +0 -5
- package/dist/components/reference/SchedulerExample.js +0 -68
- package/dist/components/reference/StarterExample.cjs +0 -34
- package/dist/components/reference/StarterExample.d.cts +0 -5
- package/dist/components/reference/StarterExample.d.ts +0 -5
- package/dist/components/reference/StarterExample.js +0 -34
- package/dist/components/reference/index.cjs +0 -10
- package/dist/components/reference/index.d.cts +0 -5
- package/dist/components/reference/index.d.ts +0 -5
- package/dist/components/reference/index.js +0 -10
- package/dist/dashboard-catalog.cjs +0 -8
- package/dist/dashboard-catalog.d.cts +0 -1
- package/dist/dashboard-catalog.d.ts +0 -1
- package/dist/dashboard-catalog.js +0 -8
- package/src/dashboard-catalog.ts +0 -13
package/dist/styles/globals.css
CHANGED
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
/* Typography (themeable) */
|
|
117
117
|
--font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
118
118
|
--font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', 'Cascadia Code', Menlo, monospace;
|
|
119
|
-
--font-size-base:
|
|
119
|
+
--font-size-base: 13px;
|
|
120
120
|
|
|
121
121
|
/* Spacing */
|
|
122
122
|
--space-xs: 4px;
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
|
|
133
133
|
/* Sero font sizes (legacy — use Tailwind text-* for new components) */
|
|
134
134
|
--sero-text-xs: 12px;
|
|
135
|
-
--sero-text-
|
|
135
|
+
--sero-text-base: 13px;
|
|
136
136
|
--sero-text-base: 14px;
|
|
137
137
|
--sero-text-lg: 15px;
|
|
138
138
|
--sero-text-xl: 16px;
|
|
@@ -236,6 +236,14 @@
|
|
|
236
236
|
}
|
|
237
237
|
|
|
238
238
|
@theme inline {
|
|
239
|
+
--text-xs: 0.8rem;
|
|
240
|
+
--text-xs--line-height: 1rem;
|
|
241
|
+
|
|
242
|
+
--text-sm: 0.9rem;
|
|
243
|
+
--text-sm--line-height: 1.2rem;
|
|
244
|
+
|
|
245
|
+
--text-base--line-height: 1.4rem;
|
|
246
|
+
|
|
239
247
|
--radius-sm: calc(var(--radius) - 4px);
|
|
240
248
|
--radius-md: calc(var(--radius) - 2px);
|
|
241
249
|
--radius-lg: var(--radius);
|
|
@@ -483,7 +491,7 @@
|
|
|
483
491
|
}
|
|
484
492
|
|
|
485
493
|
html {
|
|
486
|
-
font-size: var(--font-size-base,
|
|
494
|
+
font-size: var(--font-size-base, 13px);
|
|
487
495
|
font-family: var(--font-sans);
|
|
488
496
|
}
|
|
489
497
|
|
|
@@ -495,3 +503,14 @@ html {
|
|
|
495
503
|
@apply bg-background text-foreground;
|
|
496
504
|
}
|
|
497
505
|
}
|
|
506
|
+
|
|
507
|
+
@media (prefers-reduced-motion: reduce) {
|
|
508
|
+
*,
|
|
509
|
+
*::before,
|
|
510
|
+
*::after {
|
|
511
|
+
animation-duration: 0.01ms !important;
|
|
512
|
+
animation-iteration-count: 1 !important;
|
|
513
|
+
scroll-behavior: auto !important;
|
|
514
|
+
transition-duration: 0.01ms !important;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
@theme inline {
|
|
2
|
+
--text-xs: 0.8rem;
|
|
3
|
+
--text-xs--line-height: 1rem;
|
|
4
|
+
|
|
5
|
+
--text-sm: 0.9rem;
|
|
6
|
+
--text-sm--line-height: 1.2rem;
|
|
7
|
+
|
|
8
|
+
--text-base--line-height: 1.4rem;
|
|
9
|
+
|
|
10
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
11
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
12
|
+
--radius-lg: var(--radius);
|
|
13
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
14
|
+
--radius-2xl: calc(var(--radius) + 8px);
|
|
15
|
+
--radius-3xl: calc(var(--radius) + 12px);
|
|
16
|
+
--radius-4xl: calc(var(--radius) + 16px);
|
|
17
|
+
--color-background: var(--background);
|
|
18
|
+
--color-foreground: var(--foreground);
|
|
19
|
+
--color-brand-primary: var(--brand-primary);
|
|
20
|
+
--color-brand-primary-foreground: var(--brand-primary-foreground);
|
|
21
|
+
--color-brand-primary-muted: var(--brand-primary-muted);
|
|
22
|
+
--color-brand-primary-subtle: var(--brand-primary-subtle);
|
|
23
|
+
--color-brand-primary-faint: var(--brand-primary-faint);
|
|
24
|
+
--color-brand-primary-border: var(--brand-primary-border);
|
|
25
|
+
--color-brand-secondary: var(--brand-secondary);
|
|
26
|
+
--color-brand-secondary-foreground: var(--brand-secondary-foreground);
|
|
27
|
+
--color-brand-secondary-muted: var(--brand-secondary-muted);
|
|
28
|
+
--color-brand-secondary-subtle: var(--brand-secondary-subtle);
|
|
29
|
+
--color-brand-secondary-faint: var(--brand-secondary-faint);
|
|
30
|
+
--color-brand-secondary-border: var(--brand-secondary-border);
|
|
31
|
+
--color-status-success: var(--status-success);
|
|
32
|
+
--color-status-success-muted: var(--status-success-muted);
|
|
33
|
+
--color-status-success-subtle: var(--status-success-subtle);
|
|
34
|
+
--color-status-success-faint: var(--status-success-faint);
|
|
35
|
+
--color-status-success-border: var(--status-success-border);
|
|
36
|
+
--color-status-warning: var(--status-warning);
|
|
37
|
+
--color-status-warning-muted: var(--status-warning-muted);
|
|
38
|
+
--color-status-warning-subtle: var(--status-warning-subtle);
|
|
39
|
+
--color-status-warning-faint: var(--status-warning-faint);
|
|
40
|
+
--color-status-warning-border: var(--status-warning-border);
|
|
41
|
+
--color-status-error: var(--status-error);
|
|
42
|
+
--color-status-error-muted: var(--status-error-muted);
|
|
43
|
+
--color-status-error-subtle: var(--status-error-subtle);
|
|
44
|
+
--color-status-error-faint: var(--status-error-faint);
|
|
45
|
+
--color-status-error-border: var(--status-error-border);
|
|
46
|
+
--color-status-info: var(--status-info);
|
|
47
|
+
--color-status-info-muted: var(--status-info-muted);
|
|
48
|
+
--color-status-info-subtle: var(--status-info-subtle);
|
|
49
|
+
--color-status-info-faint: var(--status-info-faint);
|
|
50
|
+
--color-status-info-border: var(--status-info-border);
|
|
51
|
+
--color-card: var(--card);
|
|
52
|
+
--color-card-foreground: var(--card-foreground);
|
|
53
|
+
--color-popover: var(--popover);
|
|
54
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
55
|
+
--color-primary: var(--primary);
|
|
56
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
57
|
+
--color-secondary: var(--secondary);
|
|
58
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
59
|
+
--color-muted: var(--muted);
|
|
60
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
61
|
+
--color-accent: var(--accent);
|
|
62
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
63
|
+
--color-destructive: var(--destructive);
|
|
64
|
+
--color-border: var(--border);
|
|
65
|
+
--color-input: var(--input);
|
|
66
|
+
--color-ring: var(--ring);
|
|
67
|
+
--color-chart-1: var(--chart-1);
|
|
68
|
+
--color-chart-2: var(--chart-2);
|
|
69
|
+
--color-chart-3: var(--chart-3);
|
|
70
|
+
--color-chart-4: var(--chart-4);
|
|
71
|
+
--color-chart-5: var(--chart-5);
|
|
72
|
+
--color-sidebar: var(--sidebar);
|
|
73
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
74
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
75
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
76
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
77
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
78
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
79
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
80
|
+
}
|
package/dist/styles/plugin.css
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
@import "
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
@import "tw-animate-css";
|
|
3
|
+
@import "shadcn/tailwind.css";
|
|
4
|
+
@import "./plugin-theme.css";
|
|
5
|
+
|
|
6
|
+
@source "../components";
|
|
7
|
+
|
|
8
|
+
@custom-variant dark (&:is(.dark *));
|
|
2
9
|
|
|
3
10
|
/* Federated Sero plugins should import this file, then add plugin-local
|
|
4
|
-
@source directives.
|
|
11
|
+
@source directives. The seroPluginCssScope Vite helper rewrites this file's
|
|
12
|
+
document-level selectors (:root/:host theme blocks, html/body preflight) to
|
|
13
|
+
:scope, so a plugin's default Tailwind theme and resets are self-contained on
|
|
14
|
+
its own scope root. Sero design tokens (--background, --brand-*, …) are still
|
|
15
|
+
owned by the host: plugin-theme.css references them via @theme inline, so
|
|
16
|
+
they inherit from the host document root. */
|
package/package.json
CHANGED
|
@@ -1,67 +1,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sero-ai/ui",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Shared UI components, AI elements, and design tokens for the Sero platform",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "./
|
|
7
|
-
"types": "./
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
|
-
".":
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"./
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"require": "./dist/index.cjs"
|
|
13
|
+
},
|
|
14
|
+
"./dashboard-catalog.json": "./dist/components/dashboard/catalog.json",
|
|
15
|
+
"./reference": {
|
|
16
|
+
"types": "./dist/reference.d.ts",
|
|
17
|
+
"import": "./dist/reference.js",
|
|
18
|
+
"require": "./dist/reference.cjs"
|
|
19
|
+
},
|
|
20
|
+
"./theme": {
|
|
21
|
+
"types": "./dist/theme/index.d.ts",
|
|
22
|
+
"import": "./dist/theme/index.js",
|
|
23
|
+
"require": "./dist/theme/index.cjs"
|
|
24
|
+
},
|
|
25
|
+
"./theme/*": {
|
|
26
|
+
"types": "./dist/theme/*.d.ts",
|
|
27
|
+
"import": "./dist/theme/*.js",
|
|
28
|
+
"require": "./dist/theme/*.cjs"
|
|
29
|
+
},
|
|
30
|
+
"./styles/*": "./dist/styles/*",
|
|
15
31
|
"./package.json": "./package.json",
|
|
16
|
-
"./*":
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"typecheck": "tsc --noEmit",
|
|
21
|
-
"test": "vitest run"
|
|
22
|
-
},
|
|
23
|
-
"publishConfig": {
|
|
24
|
-
"main": "./dist/index.js",
|
|
25
|
-
"module": "./dist/index.js",
|
|
26
|
-
"types": "./dist/index.d.ts",
|
|
27
|
-
"exports": {
|
|
28
|
-
".": {
|
|
29
|
-
"types": "./dist/index.d.ts",
|
|
30
|
-
"import": "./dist/index.js",
|
|
31
|
-
"require": "./dist/index.cjs"
|
|
32
|
-
},
|
|
33
|
-
"./dashboard-catalog": {
|
|
34
|
-
"types": "./dist/dashboard-catalog.d.ts",
|
|
35
|
-
"import": "./dist/dashboard-catalog.js",
|
|
36
|
-
"require": "./dist/dashboard-catalog.cjs"
|
|
37
|
-
},
|
|
38
|
-
"./reference": {
|
|
39
|
-
"types": "./dist/reference.d.ts",
|
|
40
|
-
"import": "./dist/reference.js",
|
|
41
|
-
"require": "./dist/reference.cjs"
|
|
42
|
-
},
|
|
43
|
-
"./theme": {
|
|
44
|
-
"types": "./dist/theme/index.d.ts",
|
|
45
|
-
"import": "./dist/theme/index.js",
|
|
46
|
-
"require": "./dist/theme/index.cjs"
|
|
47
|
-
},
|
|
48
|
-
"./theme/*": {
|
|
49
|
-
"types": "./dist/theme/*.d.ts",
|
|
50
|
-
"import": "./dist/theme/*.js",
|
|
51
|
-
"require": "./dist/theme/*.cjs"
|
|
52
|
-
},
|
|
53
|
-
"./styles/*": "./dist/styles/*",
|
|
54
|
-
"./package.json": "./package.json",
|
|
55
|
-
"./*": {
|
|
56
|
-
"types": "./dist/*.d.ts",
|
|
57
|
-
"import": "./dist/*.js",
|
|
58
|
-
"require": "./dist/*.cjs"
|
|
59
|
-
}
|
|
32
|
+
"./*": {
|
|
33
|
+
"types": "./dist/*.d.ts",
|
|
34
|
+
"import": "./dist/*.js",
|
|
35
|
+
"require": "./dist/*.cjs"
|
|
60
36
|
}
|
|
61
37
|
},
|
|
62
38
|
"peerDependencies": {
|
|
63
|
-
"react": "
|
|
64
|
-
"react-dom": "
|
|
39
|
+
"react": "^19.2.4",
|
|
40
|
+
"react-dom": "^19.2.4"
|
|
65
41
|
},
|
|
66
42
|
"dependencies": {
|
|
67
43
|
"@base-ui/react": "^1.3.0",
|
|
@@ -70,7 +46,6 @@
|
|
|
70
46
|
"@radix-ui/react-use-controllable-state": "^1.2.2",
|
|
71
47
|
"@remixicon/react": "^4.9.0",
|
|
72
48
|
"@rive-app/react-webgl2": "^4.27.1",
|
|
73
|
-
"@sero-ai/common": "workspace:*",
|
|
74
49
|
"@streamdown/cjk": "^1.0.2",
|
|
75
50
|
"@streamdown/code": "^1.1.0",
|
|
76
51
|
"@streamdown/math": "^1.0.2",
|
|
@@ -84,9 +59,9 @@
|
|
|
84
59
|
"date-fns": "^4.1.0",
|
|
85
60
|
"embla-carousel-react": "^8.6.0",
|
|
86
61
|
"input-otp": "^1.4.2",
|
|
87
|
-
"lucide-react": "
|
|
62
|
+
"lucide-react": "^0.563.0",
|
|
88
63
|
"media-chrome": "^4.18.0",
|
|
89
|
-
"motion": "
|
|
64
|
+
"motion": "^12.34.0",
|
|
90
65
|
"nanoid": "^5.1.11",
|
|
91
66
|
"next-themes": "^0.4.6",
|
|
92
67
|
"radix-ui": "^1.4.3",
|
|
@@ -95,28 +70,36 @@
|
|
|
95
70
|
"react-jsx-parser": "^2.4.1",
|
|
96
71
|
"react-resizable-panels": "^4.7.2",
|
|
97
72
|
"react-syntax-highlighter": "^16.1.1",
|
|
98
|
-
"recharts": "
|
|
73
|
+
"recharts": "3.9.2",
|
|
99
74
|
"shiki": "^3.23.0",
|
|
100
75
|
"sonner": "^2.0.7",
|
|
101
|
-
"streamdown": "
|
|
76
|
+
"streamdown": "^2.5.0",
|
|
102
77
|
"tailwind-merge": "^3.5.0",
|
|
103
78
|
"tokenlens": "^1.3.1",
|
|
104
79
|
"use-stick-to-bottom": "^1.1.4",
|
|
105
|
-
"vaul": "^1.1.2"
|
|
80
|
+
"vaul": "^1.1.2",
|
|
81
|
+
"@sero-ai/common": "0.3.1"
|
|
106
82
|
},
|
|
107
83
|
"devDependencies": {
|
|
108
84
|
"@hookform/resolvers": "^5.2.2",
|
|
109
|
-
"@types/react": "
|
|
110
|
-
"@types/react-dom": "
|
|
85
|
+
"@types/react": "^19.2.13",
|
|
86
|
+
"@types/react-dom": "^19.2.3",
|
|
111
87
|
"@types/react-syntax-highlighter": "^15.5.13",
|
|
112
88
|
"jsdom": "^26.1.0",
|
|
113
|
-
"react": "
|
|
114
|
-
"react-dom": "
|
|
89
|
+
"react": "^19.2.4",
|
|
90
|
+
"react-dom": "^19.2.4",
|
|
115
91
|
"shadcn": "^3.8.5",
|
|
116
|
-
"tailwindcss": "
|
|
92
|
+
"tailwindcss": "4.1.18",
|
|
117
93
|
"tsup": "^8.5.1",
|
|
118
94
|
"tw-animate-css": "^1.4.0",
|
|
119
|
-
"typescript": "
|
|
120
|
-
"vitest": "
|
|
121
|
-
}
|
|
122
|
-
|
|
95
|
+
"typescript": "^5.9.3",
|
|
96
|
+
"vitest": "^4.1.7"
|
|
97
|
+
},
|
|
98
|
+
"scripts": {
|
|
99
|
+
"build": "tsup && tsup --config tsup.reference.config.ts",
|
|
100
|
+
"typecheck": "tsc --noEmit",
|
|
101
|
+
"test": "vitest run",
|
|
102
|
+
"smoke": "node scripts/smoke-dist.mjs"
|
|
103
|
+
},
|
|
104
|
+
"module": "./dist/index.js"
|
|
105
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Publish guard — this package MUST be published with `pnpm publish`.
|
|
2
|
+
//
|
|
3
|
+
// The `publishConfig` block swaps main/types/exports over to the built `dist/`
|
|
4
|
+
// at publish time. That override is a pnpm (and yarn) feature; plain npm
|
|
5
|
+
// IGNORES it and publishes the top-level fields, which point at `src/`. So
|
|
6
|
+
// `npm publish` here silently ships raw TypeScript source instead of the
|
|
7
|
+
// compiled package — exactly how 0.4.0 went out wrong.
|
|
8
|
+
//
|
|
9
|
+
// This runs from `prepublishOnly`, so it fires on every publish. It aborts
|
|
10
|
+
// unless the invoking package manager is pnpm.
|
|
11
|
+
|
|
12
|
+
const ua = process.env.npm_config_user_agent ?? "";
|
|
13
|
+
|
|
14
|
+
if (!ua.startsWith("pnpm")) {
|
|
15
|
+
const tool = ua.split("/")[0] || "an unknown tool";
|
|
16
|
+
console.error(
|
|
17
|
+
`\n✖ @sero-ai/ui must be published with pnpm, but this ran under ${tool}.\n\n` +
|
|
18
|
+
" Plain npm ignores the publishConfig dist overrides and would ship raw\n" +
|
|
19
|
+
" TypeScript source instead of the built dist/. Use:\n\n" +
|
|
20
|
+
" pnpm publish (from packages/ui)\n",
|
|
21
|
+
);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// Smoke test for the published artifact.
|
|
2
|
+
//
|
|
3
|
+
// The package is bundle:false and bundler-resolved, so its public entrypoints
|
|
4
|
+
// are easy to break under raw Node ESM (extensionless / directory imports).
|
|
5
|
+
// This runs the built dist the way a published consumer would: it imports the
|
|
6
|
+
// reference entry (ESM + CJS) and reads the catalogue JSON, failing loudly if
|
|
7
|
+
// any entrypoint no longer resolves. Run after `pnpm build`.
|
|
8
|
+
|
|
9
|
+
import { createRequire } from "node:module";
|
|
10
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
11
|
+
import { fileURLToPath } from "node:url";
|
|
12
|
+
import { dirname, resolve } from "node:path";
|
|
13
|
+
|
|
14
|
+
const require = createRequire(import.meta.url);
|
|
15
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
const dist = resolve(here, "..", "dist");
|
|
17
|
+
|
|
18
|
+
const fail = (msg) => {
|
|
19
|
+
console.error(`✗ ${msg}`);
|
|
20
|
+
process.exitCode = 1;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
if (!existsSync(dist)) {
|
|
24
|
+
fail("dist/ is missing — run `pnpm build` first");
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// 1. Reference entrypoint resolves as ESM and exposes the example widgets.
|
|
29
|
+
const EXPECTED = [
|
|
30
|
+
"StarterExample",
|
|
31
|
+
"SchedulerExample",
|
|
32
|
+
"ResourceExample",
|
|
33
|
+
"ActivityExample",
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const esm = await import(resolve(dist, "reference.js"));
|
|
37
|
+
for (const name of EXPECTED) {
|
|
38
|
+
if (typeof esm[name] !== "function") fail(`reference.js missing export ${name}`);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// 2. Reference entrypoint resolves as CJS too.
|
|
42
|
+
const cjs = require(resolve(dist, "reference.cjs"));
|
|
43
|
+
for (const name of EXPECTED) {
|
|
44
|
+
if (typeof cjs[name] !== "function") fail(`reference.cjs missing export ${name}`);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// The publishConfig `types` map points at these; a clean-race once dropped them.
|
|
48
|
+
for (const f of ["reference.d.ts", "reference.d.cts"]) {
|
|
49
|
+
if (!existsSync(resolve(dist, f))) fail(`${f} not emitted to dist`);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// 3. Catalogue ships as plain JSON with the expected shape.
|
|
53
|
+
const catalogPath = resolve(dist, "components", "dashboard", "catalog.json");
|
|
54
|
+
if (!existsSync(catalogPath)) fail("dashboard-catalog.json not emitted to dist");
|
|
55
|
+
else {
|
|
56
|
+
const catalog = JSON.parse(readFileSync(catalogPath, "utf8"));
|
|
57
|
+
if (!Array.isArray(catalog) || catalog.length === 0) {
|
|
58
|
+
fail("dashboard-catalog.json is not a non-empty array");
|
|
59
|
+
} else if (!catalog.every((e) => e.name && e.category && e.kind)) {
|
|
60
|
+
fail("dashboard-catalog.json has malformed entries");
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (process.exitCode) {
|
|
65
|
+
console.error("Smoke test failed.");
|
|
66
|
+
} else {
|
|
67
|
+
console.log("✓ dist entrypoints resolve (reference esm+cjs, catalog json)");
|
|
68
|
+
}
|
|
@@ -41,7 +41,7 @@ export const AgentHeader = memo(
|
|
|
41
41
|
>
|
|
42
42
|
<div className="flex items-center gap-2">
|
|
43
43
|
<BotIcon className="size-4 text-muted-foreground" />
|
|
44
|
-
<span className="font-medium text-
|
|
44
|
+
<span className="font-medium text-base">{name}</span>
|
|
45
45
|
{model && (
|
|
46
46
|
<Badge className="font-mono text-xs" variant="secondary">
|
|
47
47
|
{model}
|
|
@@ -67,10 +67,10 @@ export type AgentInstructionsProps = ComponentProps<"div"> & {
|
|
|
67
67
|
export const AgentInstructions = memo(
|
|
68
68
|
({ className, children, ...props }: AgentInstructionsProps) => (
|
|
69
69
|
<div className={cn("space-y-2", className)} {...props}>
|
|
70
|
-
<span className="font-medium text-muted-foreground text-
|
|
70
|
+
<span className="font-medium text-muted-foreground text-base">
|
|
71
71
|
Instructions
|
|
72
72
|
</span>
|
|
73
|
-
<div className="rounded-md bg-muted/50 p-3 text-muted-foreground text-
|
|
73
|
+
<div className="rounded-md bg-muted/50 p-3 text-muted-foreground text-base">
|
|
74
74
|
<p>{children}</p>
|
|
75
75
|
</div>
|
|
76
76
|
</div>
|
|
@@ -81,7 +81,7 @@ export type AgentToolsProps = ComponentProps<typeof Accordion>;
|
|
|
81
81
|
|
|
82
82
|
export const AgentTools = memo(({ className, ...props }: AgentToolsProps) => (
|
|
83
83
|
<div className={cn("space-y-2", className)}>
|
|
84
|
-
<span className="font-medium text-muted-foreground text-
|
|
84
|
+
<span className="font-medium text-muted-foreground text-base">Tools</span>
|
|
85
85
|
<Accordion className="rounded-md border" {...props} />
|
|
86
86
|
</div>
|
|
87
87
|
));
|
|
@@ -103,7 +103,7 @@ export const AgentTool = memo(
|
|
|
103
103
|
value={value}
|
|
104
104
|
{...props}
|
|
105
105
|
>
|
|
106
|
-
<AccordionTrigger className="px-3 py-2 text-
|
|
106
|
+
<AccordionTrigger className="px-3 py-2 text-base hover:no-underline">
|
|
107
107
|
{tool.description ?? "No description"}
|
|
108
108
|
</AccordionTrigger>
|
|
109
109
|
<AccordionContent className="px-3 pb-3">
|
|
@@ -123,7 +123,7 @@ export type AgentOutputProps = ComponentProps<"div"> & {
|
|
|
123
123
|
export const AgentOutput = memo(
|
|
124
124
|
({ className, schema, ...props }: AgentOutputProps) => (
|
|
125
125
|
<div className={cn("space-y-2", className)} {...props}>
|
|
126
|
-
<span className="font-medium text-muted-foreground text-
|
|
126
|
+
<span className="font-medium text-muted-foreground text-base">
|
|
127
127
|
Output Schema
|
|
128
128
|
</span>
|
|
129
129
|
<div className="rounded-md bg-muted/50">
|
|
@@ -68,7 +68,7 @@ export type ArtifactTitleProps = HTMLAttributes<HTMLParagraphElement>;
|
|
|
68
68
|
|
|
69
69
|
export const ArtifactTitle = ({ className, ...props }: ArtifactTitleProps) => (
|
|
70
70
|
<p
|
|
71
|
-
className={cn("font-medium text-foreground text-
|
|
71
|
+
className={cn("font-medium text-foreground text-base", className)}
|
|
72
72
|
{...props}
|
|
73
73
|
/>
|
|
74
74
|
);
|
|
@@ -79,7 +79,7 @@ export const ArtifactDescription = ({
|
|
|
79
79
|
className,
|
|
80
80
|
...props
|
|
81
81
|
}: ArtifactDescriptionProps) => (
|
|
82
|
-
<p className={cn("text-muted-foreground text-
|
|
82
|
+
<p className={cn("text-muted-foreground text-base", className)} {...props} />
|
|
83
83
|
);
|
|
84
84
|
|
|
85
85
|
export type ArtifactActionsProps = HTMLAttributes<HTMLDivElement>;
|
|
@@ -209,7 +209,7 @@ export const Attachment = ({
|
|
|
209
209
|
variant === "inline" && [
|
|
210
210
|
"flex h-8 cursor-pointer select-none items-center gap-1.5",
|
|
211
211
|
"rounded-md border border-border px-1.5",
|
|
212
|
-
"font-medium text-
|
|
212
|
+
"font-medium text-base transition-all",
|
|
213
213
|
"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
214
214
|
],
|
|
215
215
|
variant === "list" && [
|
|
@@ -417,7 +417,7 @@ export const AttachmentEmpty = ({
|
|
|
417
417
|
}: AttachmentEmptyProps) => (
|
|
418
418
|
<div
|
|
419
419
|
className={cn(
|
|
420
|
-
"flex items-center justify-center p-4 text-muted-foreground text-
|
|
420
|
+
"flex items-center justify-center p-4 text-muted-foreground text-base",
|
|
421
421
|
className
|
|
422
422
|
)}
|
|
423
423
|
{...props}
|
|
@@ -81,7 +81,7 @@ export const ChainOfThoughtHeader = memo(
|
|
|
81
81
|
<Collapsible onOpenChange={setIsOpen} open={isOpen}>
|
|
82
82
|
<CollapsibleTrigger
|
|
83
83
|
className={cn(
|
|
84
|
-
"flex w-full items-center gap-2 text-muted-foreground text-
|
|
84
|
+
"flex w-full items-center gap-2 text-muted-foreground text-base transition-colors hover:text-foreground",
|
|
85
85
|
className
|
|
86
86
|
)}
|
|
87
87
|
{...props}
|
|
@@ -127,7 +127,7 @@ export const ChainOfThoughtStep = memo(
|
|
|
127
127
|
}: ChainOfThoughtStepProps) => (
|
|
128
128
|
<div
|
|
129
129
|
className={cn(
|
|
130
|
-
"flex gap-2 text-
|
|
130
|
+
"flex gap-2 text-base",
|
|
131
131
|
stepStatusStyles[status],
|
|
132
132
|
"fade-in-0 slide-in-from-top-2 animate-in",
|
|
133
133
|
className
|
|
@@ -276,14 +276,14 @@ const CodeBlockBody = memo(
|
|
|
276
276
|
return (
|
|
277
277
|
<pre
|
|
278
278
|
className={cn(
|
|
279
|
-
"dark:!bg-[var(--shiki-dark-bg)] dark:!text-[var(--shiki-dark)] m-0 p-4 text-
|
|
279
|
+
"dark:!bg-[var(--shiki-dark-bg)] dark:!text-[var(--shiki-dark)] m-0 p-4 text-base",
|
|
280
280
|
className
|
|
281
281
|
)}
|
|
282
282
|
style={preStyle}
|
|
283
283
|
>
|
|
284
284
|
<code
|
|
285
285
|
className={cn(
|
|
286
|
-
"font-mono
|
|
286
|
+
"font-mono",
|
|
287
287
|
showLineNumbers && "[counter-increment:line_0] [counter-reset:line]"
|
|
288
288
|
)}
|
|
289
289
|
>
|
|
@@ -380,10 +380,12 @@ export const CodeBlockContent = ({
|
|
|
380
380
|
code,
|
|
381
381
|
language,
|
|
382
382
|
showLineNumbers = false,
|
|
383
|
+
className
|
|
383
384
|
}: {
|
|
384
385
|
code: string;
|
|
385
386
|
language: BundledLanguage;
|
|
386
387
|
showLineNumbers?: boolean;
|
|
388
|
+
className?: string
|
|
387
389
|
}) => {
|
|
388
390
|
// Memoized raw tokens for immediate display
|
|
389
391
|
const rawTokens = useMemo(() => createRawTokens(code), [code]);
|
|
@@ -413,7 +415,7 @@ export const CodeBlockContent = ({
|
|
|
413
415
|
|
|
414
416
|
return (
|
|
415
417
|
<div className="relative overflow-auto">
|
|
416
|
-
<CodeBlockBody showLineNumbers={showLineNumbers} tokenized={tokenized} />
|
|
418
|
+
<CodeBlockBody showLineNumbers={showLineNumbers} tokenized={tokenized} className={className} />
|
|
417
419
|
</div>
|
|
418
420
|
);
|
|
419
421
|
};
|
|
@@ -436,6 +438,7 @@ export const CodeBlock = ({
|
|
|
436
438
|
code={code}
|
|
437
439
|
language={language}
|
|
438
440
|
showLineNumbers={showLineNumbers}
|
|
441
|
+
className={className}
|
|
439
442
|
/>
|
|
440
443
|
</CodeBlockContainer>
|
|
441
444
|
</CodeBlockContext.Provider>
|
|
@@ -70,7 +70,7 @@ export const CommitMessage = ({
|
|
|
70
70
|
children,
|
|
71
71
|
...props
|
|
72
72
|
}: CommitMessageProps) => (
|
|
73
|
-
<span className={cn("font-medium text-
|
|
73
|
+
<span className={cn("font-medium text-base", className)} {...props}>
|
|
74
74
|
{children}
|
|
75
75
|
</span>
|
|
76
76
|
);
|
|
@@ -291,7 +291,7 @@ export const CommitFile = ({
|
|
|
291
291
|
}: CommitFileProps) => (
|
|
292
292
|
<div
|
|
293
293
|
className={cn(
|
|
294
|
-
"flex items-center justify-between gap-2 rounded px-2 py-1 text-
|
|
294
|
+
"flex items-center justify-between gap-2 rounded px-2 py-1 text-base hover:bg-muted/50",
|
|
295
295
|
className
|
|
296
296
|
)}
|
|
297
297
|
{...props}
|
|
@@ -169,5 +169,5 @@ export const ConfirmationActions = ({
|
|
|
169
169
|
export type ConfirmationActionProps = ComponentProps<typeof Button>;
|
|
170
170
|
|
|
171
171
|
export const ConfirmationAction = (props: ConfirmationActionProps) => (
|
|
172
|
-
<Button className="h-8 px-3 text-
|
|
172
|
+
<Button className="h-8 px-3 text-base" type="button" {...props} />
|
|
173
173
|
);
|
|
@@ -59,9 +59,9 @@ export const ConversationEmptyState = ({
|
|
|
59
59
|
<>
|
|
60
60
|
{icon && <div className="text-muted-foreground">{icon}</div>}
|
|
61
61
|
<div className="space-y-1">
|
|
62
|
-
<h3 className="font-medium text-
|
|
62
|
+
<h3 className="font-medium text-base">{title}</h3>
|
|
63
63
|
{description && (
|
|
64
|
-
<p className="text-muted-foreground text-
|
|
64
|
+
<p className="text-muted-foreground text-base">{description}</p>
|
|
65
65
|
)}
|
|
66
66
|
</div>
|
|
67
67
|
</>
|
|
@@ -100,7 +100,7 @@ export const EnvironmentVariablesTitle = ({
|
|
|
100
100
|
children,
|
|
101
101
|
...props
|
|
102
102
|
}: EnvironmentVariablesTitleProps) => (
|
|
103
|
-
<h3 className={cn("font-medium text-
|
|
103
|
+
<h3 className={cn("font-medium text-base", className)} {...props}>
|
|
104
104
|
{children ?? "Environment Variables"}
|
|
105
105
|
</h3>
|
|
106
106
|
);
|
|
@@ -209,7 +209,7 @@ export const EnvironmentVariableName = ({
|
|
|
209
209
|
const { name } = use(EnvironmentVariableContext);
|
|
210
210
|
|
|
211
211
|
return (
|
|
212
|
-
<span className={cn("font-mono text-
|
|
212
|
+
<span className={cn("font-mono text-base", className)} {...props}>
|
|
213
213
|
{children ?? name}
|
|
214
214
|
</span>
|
|
215
215
|
);
|
|
@@ -232,7 +232,7 @@ export const EnvironmentVariableValue = ({
|
|
|
232
232
|
return (
|
|
233
233
|
<span
|
|
234
234
|
className={cn(
|
|
235
|
-
"font-mono text-muted-foreground text-
|
|
235
|
+
"font-mono text-muted-foreground text-base",
|
|
236
236
|
!showValues && "select-none",
|
|
237
237
|
className
|
|
238
238
|
)}
|