@cueplusplus/ui 0.13.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.
- package/CHANGELOG.md +4028 -0
- package/LICENSE +21 -0
- package/NOTICE.md +34 -0
- package/README.md +237 -0
- package/dist/agent-runtime/_glyphs.js +43 -0
- package/dist/agent-runtime/branch-picker.d.ts +45 -0
- package/dist/agent-runtime/branch-picker.js +87 -0
- package/dist/agent-runtime/index.d.ts +4 -0
- package/dist/agent-runtime/index.js +4 -0
- package/dist/agent-runtime/tool-call-card.d.ts +69 -0
- package/dist/agent-runtime/tool-call-card.js +187 -0
- package/dist/agent-runtime/use-agent-thread.d.ts +164 -0
- package/dist/agent-runtime/use-agent-thread.js +251 -0
- package/dist/brand/_chassis.d.ts +54 -0
- package/dist/brand/_chassis.js +81 -0
- package/dist/brand/_geometry.js +41 -0
- package/dist/brand/cue-logotype.d.ts +29 -0
- package/dist/brand/cue-logotype.js +60 -0
- package/dist/brand/cue-mark.d.ts +30 -0
- package/dist/brand/cue-mark.js +61 -0
- package/dist/brand/index.d.ts +5 -0
- package/dist/brand/plussie.d.ts +67 -0
- package/dist/brand/plussie.js +125 -0
- package/dist/charts/_token.js +39 -0
- package/dist/charts/container.d.ts +58 -0
- package/dist/charts/container.js +77 -0
- package/dist/charts/index.d.ts +5 -0
- package/dist/charts/index.js +5 -0
- package/dist/charts/ramps.d.ts +140 -0
- package/dist/charts/ramps.js +615 -0
- package/dist/charts/theme.d.ts +112 -0
- package/dist/charts/theme.js +165 -0
- package/dist/charts/tones.d.ts +111 -0
- package/dist/charts/tones.js +127 -0
- package/dist/chat/_glyphs.js +55 -0
- package/dist/chat/agent-color.d.ts +84 -0
- package/dist/chat/agent-color.js +101 -0
- package/dist/chat/agent-pile.d.ts +55 -0
- package/dist/chat/agent-pile.js +121 -0
- package/dist/chat/ask-box.d.ts +88 -0
- package/dist/chat/ask-box.js +341 -0
- package/dist/chat/composer.d.ts +66 -0
- package/dist/chat/composer.js +144 -0
- package/dist/chat/delegation-card.d.ts +60 -0
- package/dist/chat/delegation-card.js +129 -0
- package/dist/chat/index.d.ts +8 -0
- package/dist/chat/index.js +8 -0
- package/dist/chat/message-list.d.ts +45 -0
- package/dist/chat/message-list.js +141 -0
- package/dist/chat/message.d.ts +47 -0
- package/dist/chat/message.js +108 -0
- package/dist/chrome/_band.js +54 -0
- package/dist/chrome/_drag.js +59 -0
- package/dist/chrome/_edge-scroller.d.ts +45 -0
- package/dist/chrome/_edge-scroller.js +149 -0
- package/dist/chrome/_glyphs.js +119 -0
- package/dist/chrome/_status-bar-item.js +85 -0
- package/dist/chrome/_status-bar.d.ts +15 -0
- package/dist/chrome/_status-bar.js +171 -0
- package/dist/chrome/_tabs-scroll.d.ts +67 -0
- package/dist/chrome/_tabs-scroll.js +73 -0
- package/dist/chrome/_tree.d.ts +75 -0
- package/dist/chrome/_tree.js +49 -0
- package/dist/chrome/app-bar.d.ts +103 -0
- package/dist/chrome/app-bar.js +175 -0
- package/dist/chrome/app-shell.d.ts +243 -0
- package/dist/chrome/app-shell.js +266 -0
- package/dist/chrome/band.d.ts +106 -0
- package/dist/chrome/band.js +97 -0
- package/dist/chrome/empty-state.d.ts +37 -0
- package/dist/chrome/empty-state.js +57 -0
- package/dist/chrome/eyebrow.d.ts +29 -0
- package/dist/chrome/eyebrow.js +36 -0
- package/dist/chrome/footer.d.ts +88 -0
- package/dist/chrome/footer.js +83 -0
- package/dist/chrome/index.d.ts +24 -0
- package/dist/chrome/index.js +22 -0
- package/dist/chrome/inspector.d.ts +61 -0
- package/dist/chrome/inspector.js +121 -0
- package/dist/chrome/navigation-menu.d.ts +80 -0
- package/dist/chrome/navigation-menu.js +121 -0
- package/dist/chrome/page-shell.d.ts +38 -0
- package/dist/chrome/page-shell.js +76 -0
- package/dist/chrome/panel.d.ts +55 -0
- package/dist/chrome/panel.js +67 -0
- package/dist/chrome/row.d.ts +82 -0
- package/dist/chrome/row.js +106 -0
- package/dist/chrome/scroll-area.d.ts +39 -0
- package/dist/chrome/scroll-area.js +70 -0
- package/dist/chrome/section-header.d.ts +42 -0
- package/dist/chrome/section-header.js +79 -0
- package/dist/chrome/segmented-control.d.ts +77 -0
- package/dist/chrome/segmented-control.js +95 -0
- package/dist/chrome/status-bar.d.ts +129 -0
- package/dist/chrome/status-bar.js +120 -0
- package/dist/chrome/tabs.d.ts +80 -0
- package/dist/chrome/tabs.js +132 -0
- package/dist/chrome/title-bar.d.ts +47 -0
- package/dist/chrome/title-bar.js +43 -0
- package/dist/chrome/toolbar.d.ts +68 -0
- package/dist/chrome/toolbar.js +83 -0
- package/dist/chrome/tree.d.ts +98 -0
- package/dist/chrome/tree.js +248 -0
- package/dist/color/_checker.js +14 -0
- package/dist/color/_convert.d.ts +52 -0
- package/dist/color/_convert.js +66 -0
- package/dist/color/_glyphs.js +28 -0
- package/dist/color/_thumb.js +15 -0
- package/dist/color/_value.js +28 -0
- package/dist/color/color-area.d.ts +27 -0
- package/dist/color/color-area.js +40 -0
- package/dist/color/color-field.d.ts +32 -0
- package/dist/color/color-field.js +43 -0
- package/dist/color/color-picker.d.ts +71 -0
- package/dist/color/color-picker.js +178 -0
- package/dist/color/color-slider.d.ts +31 -0
- package/dist/color/color-slider.js +51 -0
- package/dist/color/color-swatch.d.ts +32 -0
- package/dist/color/color-swatch.js +44 -0
- package/dist/color/index.d.ts +7 -0
- package/dist/color/index.js +7 -0
- package/dist/configurator/_export.d.ts +78 -0
- package/dist/configurator/_export.js +302 -0
- package/dist/configurator/_glyphs.js +92 -0
- package/dist/configurator/_overrides.d.ts +266 -0
- package/dist/configurator/_overrides.js +541 -0
- package/dist/configurator/configurator.d.ts +71 -0
- package/dist/configurator/configurator.js +284 -0
- package/dist/configurator/export-dialog.d.ts +30 -0
- package/dist/configurator/export-dialog.js +121 -0
- package/dist/configurator/index.d.ts +8 -0
- package/dist/configurator/index.js +8 -0
- package/dist/configurator/panel-sections.d.ts +86 -0
- package/dist/configurator/panel-sections.js +352 -0
- package/dist/configurator/token-editor.d.ts +74 -0
- package/dist/configurator/token-editor.js +152 -0
- package/dist/configurator/use-zoom.d.ts +87 -0
- package/dist/configurator/use-zoom.js +113 -0
- package/dist/date/_glyphs.js +34 -0
- package/dist/date/_segments.js +101 -0
- package/dist/date/_trigger.js +31 -0
- package/dist/date/calendar.d.ts +25 -0
- package/dist/date/calendar.js +125 -0
- package/dist/date/date-field.d.ts +34 -0
- package/dist/date/date-field.js +41 -0
- package/dist/date/date-picker.d.ts +69 -0
- package/dist/date/date-picker.js +89 -0
- package/dist/date/date-range-picker.d.ts +65 -0
- package/dist/date/date-range-picker.js +92 -0
- package/dist/date/index.d.ts +6 -0
- package/dist/date/index.js +6 -0
- package/dist/date/time-field.d.ts +29 -0
- package/dist/date/time-field.js +36 -0
- package/dist/dmx/_ramp.d.ts +77 -0
- package/dist/dmx/_ramp.js +169 -0
- package/dist/dmx/_readout.js +53 -0
- package/dist/dmx/_universe.d.ts +105 -0
- package/dist/dmx/_universe.js +112 -0
- package/dist/dmx/channel-matrix.d.ts +81 -0
- package/dist/dmx/channel-matrix.js +285 -0
- package/dist/dmx/dmx-bar.d.ts +50 -0
- package/dist/dmx/dmx-bar.js +107 -0
- package/dist/dmx/dmx-strip.d.ts +41 -0
- package/dist/dmx/dmx-strip.js +196 -0
- package/dist/dmx/index.d.ts +7 -0
- package/dist/dmx/index.js +7 -0
- package/dist/dmx/universe-grid.d.ts +61 -0
- package/dist/dmx/universe-grid.js +182 -0
- package/dist/elements/activity-graph.d.ts +40 -0
- package/dist/elements/activity-graph.js +81 -0
- package/dist/elements/agent-card.d.ts +49 -0
- package/dist/elements/agent-card.js +91 -0
- package/dist/elements/agent-handoff.d.ts +24 -0
- package/dist/elements/agent-handoff.js +53 -0
- package/dist/elements/agent-mode-badge.d.ts +72 -0
- package/dist/elements/agent-mode-badge.js +110 -0
- package/dist/elements/agent-plan.d.ts +24 -0
- package/dist/elements/agent-plan.js +74 -0
- package/dist/elements/agent-status.d.ts +29 -0
- package/dist/elements/agent-status.js +46 -0
- package/dist/elements/agent-surface.d.ts +65 -0
- package/dist/elements/agent-surface.js +68 -0
- package/dist/elements/animated-number.d.ts +86 -0
- package/dist/elements/animated-number.js +118 -0
- package/dist/elements/approval-card.d.ts +40 -0
- package/dist/elements/approval-card.js +78 -0
- package/dist/elements/artifact-card.d.ts +30 -0
- package/dist/elements/artifact-card.js +58 -0
- package/dist/elements/background-inbox.d.ts +39 -0
- package/dist/elements/background-inbox.js +60 -0
- package/dist/elements/canvas-split.d.ts +77 -0
- package/dist/elements/canvas-split.js +138 -0
- package/dist/elements/chart.d.ts +41 -0
- package/dist/elements/chart.js +117 -0
- package/dist/elements/chat-panel.d.ts +46 -0
- package/dist/elements/chat-panel.js +104 -0
- package/dist/elements/checkpoint-history.d.ts +31 -0
- package/dist/elements/checkpoint-history.js +65 -0
- package/dist/elements/clamp.d.ts +90 -0
- package/dist/elements/clamp.js +109 -0
- package/dist/elements/code-diff.d.ts +42 -0
- package/dist/elements/code-diff.js +69 -0
- package/dist/elements/code-runner.d.ts +38 -0
- package/dist/elements/code-runner.js +84 -0
- package/dist/elements/command-palette.d.ts +48 -0
- package/dist/elements/command-palette.js +129 -0
- package/dist/elements/compaction-row.d.ts +63 -0
- package/dist/elements/compaction-row.js +110 -0
- package/dist/elements/comparison-card.d.ts +47 -0
- package/dist/elements/comparison-card.js +69 -0
- package/dist/elements/composer.d.ts +274 -0
- package/dist/elements/composer.js +505 -0
- package/dist/elements/computer-use.d.ts +40 -0
- package/dist/elements/computer-use.js +92 -0
- package/dist/elements/confidence-marker.d.ts +39 -0
- package/dist/elements/confidence-marker.js +64 -0
- package/dist/elements/connection-state.d.ts +29 -0
- package/dist/elements/connection-state.js +66 -0
- package/dist/elements/context-breakdown.d.ts +30 -0
- package/dist/elements/context-breakdown.js +86 -0
- package/dist/elements/context-usage.d.ts +99 -0
- package/dist/elements/context-usage.js +225 -0
- package/dist/elements/conversation-search.d.ts +48 -0
- package/dist/elements/conversation-search.js +88 -0
- package/dist/elements/cost-meter.d.ts +33 -0
- package/dist/elements/cost-meter.js +75 -0
- package/dist/elements/data-table.d.ts +31 -0
- package/dist/elements/data-table.js +67 -0
- package/dist/elements/day-separator.d.ts +34 -0
- package/dist/elements/day-separator.js +50 -0
- package/dist/elements/diagram.d.ts +34 -0
- package/dist/elements/diagram.js +75 -0
- package/dist/elements/document-reference.d.ts +37 -0
- package/dist/elements/document-reference.js +66 -0
- package/dist/elements/draft-restore.d.ts +27 -0
- package/dist/elements/draft-restore.js +54 -0
- package/dist/elements/edit-message.d.ts +36 -0
- package/dist/elements/edit-message.js +77 -0
- package/dist/elements/elements.css +459 -0
- package/dist/elements/elicitation-form.d.ts +48 -0
- package/dist/elements/elicitation-form.js +106 -0
- package/dist/elements/empty-state.d.ts +52 -0
- package/dist/elements/empty-state.js +98 -0
- package/dist/elements/end-of-turn-summary.d.ts +60 -0
- package/dist/elements/end-of-turn-summary.js +75 -0
- package/dist/elements/error-state.d.ts +29 -0
- package/dist/elements/error-state.js +55 -0
- package/dist/elements/feedback-dialog.d.ts +36 -0
- package/dist/elements/feedback-dialog.js +81 -0
- package/dist/elements/file-tree.d.ts +45 -0
- package/dist/elements/file-tree.js +84 -0
- package/dist/elements/flow-graph.d.ts +45 -0
- package/dist/elements/flow-graph.js +78 -0
- package/dist/elements/generative/chart.js +200 -0
- package/dist/elements/generative/faults.js +111 -0
- package/dist/elements/generative/icons.d.ts +41 -0
- package/dist/elements/generative/icons.js +190 -0
- package/dist/elements/generative/intrinsics.js +483 -0
- package/dist/elements/generative/spec.d.ts +110 -0
- package/dist/elements/generative/spec.js +366 -0
- package/dist/elements/generative.css +1145 -0
- package/dist/elements/generative.d.ts +144 -0
- package/dist/elements/generative.js +126 -0
- package/dist/elements/guardrail-notice.d.ts +29 -0
- package/dist/elements/guardrail-notice.js +63 -0
- package/dist/elements/image-generation.d.ts +18 -0
- package/dist/elements/image-generation.js +64 -0
- package/dist/elements/index.d.ts +116 -0
- package/dist/elements/index.js +115 -0
- package/dist/elements/inline-citation.d.ts +43 -0
- package/dist/elements/inline-citation.js +93 -0
- package/dist/elements/job-progress.d.ts +49 -0
- package/dist/elements/job-progress.js +74 -0
- package/dist/elements/launcher-bubble.d.ts +34 -0
- package/dist/elements/launcher-bubble.js +72 -0
- package/dist/elements/live-region-announcer.d.ts +130 -0
- package/dist/elements/live-region-announcer.js +230 -0
- package/dist/elements/loading-state.d.ts +27 -0
- package/dist/elements/loading-state.js +36 -0
- package/dist/elements/map-answer.d.ts +38 -0
- package/dist/elements/map-answer.js +93 -0
- package/dist/elements/markdown.d.ts +131 -0
- package/dist/elements/markdown.js +528 -0
- package/dist/elements/math-block.d.ts +51 -0
- package/dist/elements/math-block.js +70 -0
- package/dist/elements/mcp-server-panel.d.ts +41 -0
- package/dist/elements/mcp-server-panel.js +115 -0
- package/dist/elements/memory-chips.d.ts +30 -0
- package/dist/elements/memory-chips.js +43 -0
- package/dist/elements/message-actions.d.ts +38 -0
- package/dist/elements/message-actions.js +71 -0
- package/dist/elements/message-attachment.d.ts +48 -0
- package/dist/elements/message-attachment.js +63 -0
- package/dist/elements/message-branches.d.ts +25 -0
- package/dist/elements/message-branches.js +65 -0
- package/dist/elements/message-pair.d.ts +33 -0
- package/dist/elements/message-pair.js +65 -0
- package/dist/elements/message-queue.d.ts +31 -0
- package/dist/elements/message-queue.js +80 -0
- package/dist/elements/message-timing.d.ts +33 -0
- package/dist/elements/message-timing.js +37 -0
- package/dist/elements/mobile-composer.d.ts +44 -0
- package/dist/elements/mobile-composer.js +88 -0
- package/dist/elements/model-picker.d.ts +38 -0
- package/dist/elements/model-picker.js +69 -0
- package/dist/elements/number-ticker.d.ts +18 -0
- package/dist/elements/number-ticker.js +47 -0
- package/dist/elements/onboarding.d.ts +30 -0
- package/dist/elements/onboarding.js +75 -0
- package/dist/elements/permission-grant.d.ts +35 -0
- package/dist/elements/permission-grant.js +86 -0
- package/dist/elements/permission-scopes.d.ts +215 -0
- package/dist/elements/permission-scopes.js +249 -0
- package/dist/elements/prompt-library.d.ts +43 -0
- package/dist/elements/prompt-library.js +117 -0
- package/dist/elements/queue-dock.d.ts +101 -0
- package/dist/elements/queue-dock.js +132 -0
- package/dist/elements/quota-banner.d.ts +26 -0
- package/dist/elements/quota-banner.js +66 -0
- package/dist/elements/quote-reply.d.ts +44 -0
- package/dist/elements/quote-reply.js +79 -0
- package/dist/elements/range.d.ts +29 -0
- package/dist/elements/range.js +45 -0
- package/dist/elements/read-aloud.d.ts +45 -0
- package/dist/elements/read-aloud.js +75 -0
- package/dist/elements/reasoning-effort.d.ts +36 -0
- package/dist/elements/reasoning-effort.js +67 -0
- package/dist/elements/reasoning-panel.d.ts +46 -0
- package/dist/elements/reasoning-panel.js +75 -0
- package/dist/elements/recommendation-card.d.ts +45 -0
- package/dist/elements/recommendation-card.js +83 -0
- package/dist/elements/regenerate-menu.d.ts +45 -0
- package/dist/elements/regenerate-menu.js +51 -0
- package/dist/elements/replay.d.ts +217 -0
- package/dist/elements/replay.js +498 -0
- package/dist/elements/research-report.d.ts +38 -0
- package/dist/elements/research-report.js +69 -0
- package/dist/elements/retrieval-chunks.d.ts +43 -0
- package/dist/elements/retrieval-chunks.js +81 -0
- package/dist/elements/revert-dock.d.ts +159 -0
- package/dist/elements/revert-dock.js +327 -0
- package/dist/elements/reviewable-diff.d.ts +45 -0
- package/dist/elements/reviewable-diff.js +110 -0
- package/dist/elements/risk-badge.d.ts +52 -0
- package/dist/elements/risk-badge.js +91 -0
- package/dist/elements/schedule-card.d.ts +42 -0
- package/dist/elements/schedule-card.js +90 -0
- package/dist/elements/score-breakdown.d.ts +47 -0
- package/dist/elements/score-breakdown.js +82 -0
- package/dist/elements/scroll-anchor.d.ts +32 -0
- package/dist/elements/scroll-anchor.js +123 -0
- package/dist/elements/settings-panel.d.ts +52 -0
- package/dist/elements/settings-panel.js +107 -0
- package/dist/elements/shared-conversation.d.ts +39 -0
- package/dist/elements/shared-conversation.js +68 -0
- package/dist/elements/sources.d.ts +33 -0
- package/dist/elements/sources.js +61 -0
- package/dist/elements/speaker-identity.d.ts +32 -0
- package/dist/elements/speaker-identity.js +51 -0
- package/dist/elements/spec-sheet.d.ts +31 -0
- package/dist/elements/spec-sheet.js +45 -0
- package/dist/elements/stopped-run.d.ts +22 -0
- package/dist/elements/stopped-run.js +50 -0
- package/dist/elements/streaming-text.d.ts +31 -0
- package/dist/elements/streaming-text.js +45 -0
- package/dist/elements/subagent-list.d.ts +37 -0
- package/dist/elements/subagent-list.js +79 -0
- package/dist/elements/suggestions.d.ts +30 -0
- package/dist/elements/suggestions.js +36 -0
- package/dist/elements/surfaces.d.ts +85 -0
- package/dist/elements/surfaces.js +108 -0
- package/dist/elements/tail-status.d.ts +131 -0
- package/dist/elements/tail-status.js +94 -0
- package/dist/elements/terminal-block.d.ts +29 -0
- package/dist/elements/terminal-block.js +54 -0
- package/dist/elements/thinking-indicator.d.ts +18 -0
- package/dist/elements/thinking-indicator.js +36 -0
- package/dist/elements/thread-list.d.ts +35 -0
- package/dist/elements/thread-list.js +68 -0
- package/dist/elements/thread-search.d.ts +42 -0
- package/dist/elements/thread-search.js +99 -0
- package/dist/elements/timeline.d.ts +37 -0
- package/dist/elements/timeline.js +46 -0
- package/dist/elements/todo-list.d.ts +42 -0
- package/dist/elements/todo-list.js +59 -0
- package/dist/elements/tool-call.d.ts +41 -0
- package/dist/elements/tool-call.js +85 -0
- package/dist/elements/tool-error.d.ts +39 -0
- package/dist/elements/tool-error.js +76 -0
- package/dist/elements/tool-group.d.ts +45 -0
- package/dist/elements/tool-group.js +71 -0
- package/dist/elements/tool-timeline.d.ts +65 -0
- package/dist/elements/tool-timeline.js +88 -0
- package/dist/elements/trace-waterfall.d.ts +37 -0
- package/dist/elements/trace-waterfall.js +69 -0
- package/dist/elements/transcript-rules.d.ts +67 -0
- package/dist/elements/transcript-rules.js +95 -0
- package/dist/elements/turn-footer.d.ts +74 -0
- package/dist/elements/turn-footer.js +101 -0
- package/dist/elements/typing-indicator.d.ts +16 -0
- package/dist/elements/typing-indicator.js +51 -0
- package/dist/elements/verdict-row.d.ts +89 -0
- package/dist/elements/verdict-row.js +150 -0
- package/dist/elements/vocabulary.d.ts +612 -0
- package/dist/elements/vocabulary.js +611 -0
- package/dist/elements/voice-conversation.d.ts +49 -0
- package/dist/elements/voice-conversation.js +123 -0
- package/dist/elements/web-preview.d.ts +32 -0
- package/dist/elements/web-preview.js +66 -0
- package/dist/elements/web-search.d.ts +37 -0
- package/dist/elements/web-search.js +66 -0
- package/dist/elements/work-collapse.d.ts +103 -0
- package/dist/elements/work-collapse.js +131 -0
- package/dist/flow/_frame.d.ts +52 -0
- package/dist/flow/_frame.js +38 -0
- package/dist/flow/controls.d.ts +41 -0
- package/dist/flow/controls.js +53 -0
- package/dist/flow/flow.css +121 -0
- package/dist/flow/handles.d.ts +40 -0
- package/dist/flow/handles.js +61 -0
- package/dist/flow/index.d.ts +7 -0
- package/dist/flow/index.js +7 -0
- package/dist/flow/node-card.d.ts +71 -0
- package/dist/flow/node-card.js +102 -0
- package/dist/flow/signal-edge.d.ts +60 -0
- package/dist/flow/signal-edge.js +108 -0
- package/dist/flow/use-flow-theme.d.ts +69 -0
- package/dist/flow/use-flow-theme.js +109 -0
- package/dist/forms/_chassis.d.ts +164 -0
- package/dist/forms/_chassis.js +159 -0
- package/dist/forms/_glyphs.js +143 -0
- package/dist/forms/_listbox.js +55 -0
- package/dist/forms/autocomplete.d.ts +61 -0
- package/dist/forms/autocomplete.js +88 -0
- package/dist/forms/button-group.d.ts +47 -0
- package/dist/forms/button-group.js +52 -0
- package/dist/forms/checkbox.d.ts +51 -0
- package/dist/forms/checkbox.js +98 -0
- package/dist/forms/combobox.d.ts +73 -0
- package/dist/forms/combobox.js +108 -0
- package/dist/forms/env-var-input.d.ts +74 -0
- package/dist/forms/env-var-input.js +116 -0
- package/dist/forms/field.d.ts +89 -0
- package/dist/forms/field.js +102 -0
- package/dist/forms/file-upload.d.ts +113 -0
- package/dist/forms/file-upload.js +232 -0
- package/dist/forms/index.d.ts +26 -0
- package/dist/forms/index.js +26 -0
- package/dist/forms/input-group.d.ts +36 -0
- package/dist/forms/input-group.js +59 -0
- package/dist/forms/input.d.ts +45 -0
- package/dist/forms/input.js +36 -0
- package/dist/forms/multi-select.d.ts +62 -0
- package/dist/forms/multi-select.js +107 -0
- package/dist/forms/number-field.d.ts +39 -0
- package/dist/forms/number-field.js +65 -0
- package/dist/forms/otp-field.d.ts +54 -0
- package/dist/forms/otp-field.js +59 -0
- package/dist/forms/password-input.d.ts +46 -0
- package/dist/forms/password-input.js +62 -0
- package/dist/forms/radio-group.d.ts +50 -0
- package/dist/forms/radio-group.js +64 -0
- package/dist/forms/rating.d.ts +69 -0
- package/dist/forms/rating.js +103 -0
- package/dist/forms/scrub-input.d.ts +81 -0
- package/dist/forms/scrub-input.js +249 -0
- package/dist/forms/search-input.d.ts +54 -0
- package/dist/forms/search-input.js +112 -0
- package/dist/forms/select.d.ts +75 -0
- package/dist/forms/select.js +91 -0
- package/dist/forms/slider.d.ts +44 -0
- package/dist/forms/slider.js +65 -0
- package/dist/forms/switch.d.ts +36 -0
- package/dist/forms/switch.js +71 -0
- package/dist/forms/tags-input.d.ts +69 -0
- package/dist/forms/tags-input.js +148 -0
- package/dist/forms/textarea.d.ts +39 -0
- package/dist/forms/textarea.js +37 -0
- package/dist/forms/toggle-group.d.ts +41 -0
- package/dist/forms/toggle-group.js +56 -0
- package/dist/forms/toggle.d.ts +47 -0
- package/dist/forms/toggle.js +100 -0
- package/dist/icons/containers.d.ts +89 -0
- package/dist/icons/containers.js +295 -0
- package/dist/icons/index.d.ts +2 -0
- package/dist/index.d.ts +138 -0
- package/dist/index.js +124 -0
- package/dist/instruments/_ansi.js +116 -0
- package/dist/instruments/_data-row.d.ts +68 -0
- package/dist/instruments/_data-row.js +139 -0
- package/dist/instruments/_glyphs.js +90 -0
- package/dist/instruments/_ledger-disclosure.js +103 -0
- package/dist/instruments/_ledger.d.ts +21 -0
- package/dist/instruments/_ledger.js +5 -0
- package/dist/instruments/_motion.js +56 -0
- package/dist/instruments/_rem.js +21 -0
- package/dist/instruments/app-window-frame.d.ts +48 -0
- package/dist/instruments/app-window-frame.js +76 -0
- package/dist/instruments/code-block.d.ts +35 -0
- package/dist/instruments/code-block.js +173 -0
- package/dist/instruments/copy-button.d.ts +41 -0
- package/dist/instruments/copy-button.js +112 -0
- package/dist/instruments/data-row.d.ts +94 -0
- package/dist/instruments/data-row.js +151 -0
- package/dist/instruments/data-table.d.ts +168 -0
- package/dist/instruments/data-table.js +212 -0
- package/dist/instruments/data-tree.d.ts +126 -0
- package/dist/instruments/data-tree.js +303 -0
- package/dist/instruments/group-bar.d.ts +63 -0
- package/dist/instruments/group-bar.js +122 -0
- package/dist/instruments/index.d.ts +18 -0
- package/dist/instruments/index.js +18 -0
- package/dist/instruments/ledger.d.ts +204 -0
- package/dist/instruments/ledger.js +204 -0
- package/dist/instruments/log-viewer.d.ts +74 -0
- package/dist/instruments/log-viewer.js +215 -0
- package/dist/instruments/meter.d.ts +81 -0
- package/dist/instruments/meter.js +96 -0
- package/dist/instruments/progress.d.ts +61 -0
- package/dist/instruments/progress.js +79 -0
- package/dist/instruments/seam-grid.d.ts +66 -0
- package/dist/instruments/seam-grid.js +78 -0
- package/dist/instruments/sparkline.d.ts +39 -0
- package/dist/instruments/sparkline.js +85 -0
- package/dist/instruments/stat.d.ts +35 -0
- package/dist/instruments/stat.js +59 -0
- package/dist/instruments/table.d.ts +170 -0
- package/dist/instruments/table.js +237 -0
- package/dist/instruments/terminal-frame.d.ts +89 -0
- package/dist/instruments/terminal-frame.js +256 -0
- package/dist/instruments/two-step-button.d.ts +47 -0
- package/dist/instruments/two-step-button.js +166 -0
- package/dist/instruments/usage-chart.d.ts +55 -0
- package/dist/instruments/usage-chart.js +235 -0
- package/dist/layout/_collapse.js +46 -0
- package/dist/layout/_glyphs.js +45 -0
- package/dist/layout/_ground.d.ts +22 -0
- package/dist/layout/_ground.js +9 -0
- package/dist/layout/accordion.d.ts +52 -0
- package/dist/layout/accordion.js +81 -0
- package/dist/layout/bento.d.ts +144 -0
- package/dist/layout/bento.js +266 -0
- package/dist/layout/breadcrumb.d.ts +35 -0
- package/dist/layout/breadcrumb.js +67 -0
- package/dist/layout/card.d.ts +51 -0
- package/dist/layout/card.js +76 -0
- package/dist/layout/carousel.d.ts +96 -0
- package/dist/layout/carousel.js +211 -0
- package/dist/layout/collapsible.d.ts +74 -0
- package/dist/layout/collapsible.js +126 -0
- package/dist/layout/container.d.ts +27 -0
- package/dist/layout/container.js +43 -0
- package/dist/layout/description-list.d.ts +24 -0
- package/dist/layout/description-list.js +37 -0
- package/dist/layout/frames.d.ts +70 -0
- package/dist/layout/frames.js +298 -0
- package/dist/layout/grid.d.ts +40 -0
- package/dist/layout/grid.js +48 -0
- package/dist/layout/index.d.ts +19 -0
- package/dist/layout/index.js +18 -0
- package/dist/layout/item.d.ts +65 -0
- package/dist/layout/item.js +100 -0
- package/dist/layout/link.d.ts +48 -0
- package/dist/layout/link.js +63 -0
- package/dist/layout/pagination.d.ts +54 -0
- package/dist/layout/pagination.js +121 -0
- package/dist/layout/preview.d.ts +177 -0
- package/dist/layout/preview.js +628 -0
- package/dist/layout/resizable.d.ts +38 -0
- package/dist/layout/resizable.js +68 -0
- package/dist/layout/sidebar.d.ts +105 -0
- package/dist/layout/sidebar.js +158 -0
- package/dist/layout/stack.d.ts +46 -0
- package/dist/layout/stack.js +62 -0
- package/dist/layout/stepper.d.ts +49 -0
- package/dist/layout/stepper.js +81 -0
- package/dist/layout/timeline.d.ts +43 -0
- package/dist/layout/timeline.js +63 -0
- package/dist/lib/aria-class.js +24 -0
- package/dist/lib/cn.js +18 -0
- package/dist/lib/compose.js +38 -0
- package/dist/lib/cva.d.ts +18 -0
- package/dist/lib/cva.js +65 -0
- package/dist/midi/_notes.d.ts +101 -0
- package/dist/midi/_notes.js +183 -0
- package/dist/midi/_ruler.d.ts +100 -0
- package/dist/midi/_ruler.js +105 -0
- package/dist/midi/_time.d.ts +107 -0
- package/dist/midi/_time.js +130 -0
- package/dist/midi/index.d.ts +9 -0
- package/dist/midi/index.js +9 -0
- package/dist/midi/musical-time-input.d.ts +48 -0
- package/dist/midi/musical-time-input.js +154 -0
- package/dist/midi/piano-keyboard.d.ts +50 -0
- package/dist/midi/piano-keyboard.js +197 -0
- package/dist/midi/spectrum-visualizer.d.ts +65 -0
- package/dist/midi/spectrum-visualizer.js +213 -0
- package/dist/midi/threshold-rail.d.ts +72 -0
- package/dist/midi/threshold-rail.js +214 -0
- package/dist/midi/timeline-ruler.d.ts +83 -0
- package/dist/midi/timeline-ruler.js +152 -0
- package/dist/overlays/_debounce.js +34 -0
- package/dist/overlays/_glyphs.js +59 -0
- package/dist/overlays/_surface.d.ts +70 -0
- package/dist/overlays/_surface.js +70 -0
- package/dist/overlays/_wheel.js +42 -0
- package/dist/overlays/alert-dialog.d.ts +67 -0
- package/dist/overlays/alert-dialog.js +117 -0
- package/dist/overlays/command-palette.d.ts +93 -0
- package/dist/overlays/command-palette.js +193 -0
- package/dist/overlays/context-menu.d.ts +64 -0
- package/dist/overlays/context-menu.js +78 -0
- package/dist/overlays/dialog.d.ts +72 -0
- package/dist/overlays/dialog.js +124 -0
- package/dist/overlays/drawer.d.ts +75 -0
- package/dist/overlays/drawer.js +151 -0
- package/dist/overlays/dropdown-menu.d.ts +79 -0
- package/dist/overlays/dropdown-menu.js +156 -0
- package/dist/overlays/hover-card.d.ts +58 -0
- package/dist/overlays/hover-card.js +91 -0
- package/dist/overlays/index.d.ts +15 -0
- package/dist/overlays/index.js +15 -0
- package/dist/overlays/info-tip.d.ts +41 -0
- package/dist/overlays/info-tip.js +45 -0
- package/dist/overlays/menubar.d.ts +72 -0
- package/dist/overlays/menubar.js +100 -0
- package/dist/overlays/popover.d.ts +66 -0
- package/dist/overlays/popover.js +114 -0
- package/dist/overlays/sheet.d.ts +78 -0
- package/dist/overlays/sheet.js +131 -0
- package/dist/overlays/toast.d.ts +106 -0
- package/dist/overlays/toast.js +146 -0
- package/dist/overlays/tooltip.d.ts +57 -0
- package/dist/overlays/tooltip.js +95 -0
- package/dist/primitives/avatar.d.ts +51 -0
- package/dist/primitives/avatar.js +93 -0
- package/dist/primitives/button.d.ts +58 -0
- package/dist/primitives/button.js +104 -0
- package/dist/primitives/chip.d.ts +73 -0
- package/dist/primitives/chip.js +238 -0
- package/dist/primitives/icon-button.d.ts +41 -0
- package/dist/primitives/icon-button.js +59 -0
- package/dist/primitives/index.d.ts +10 -0
- package/dist/primitives/index.js +10 -0
- package/dist/primitives/kbd.d.ts +17 -0
- package/dist/primitives/kbd.js +24 -0
- package/dist/primitives/separator.d.ts +25 -0
- package/dist/primitives/separator.js +30 -0
- package/dist/primitives/skeleton.d.ts +20 -0
- package/dist/primitives/skeleton.js +27 -0
- package/dist/primitives/spinner.d.ts +26 -0
- package/dist/primitives/spinner.js +31 -0
- package/dist/primitives/status-dot.d.ts +51 -0
- package/dist/primitives/status-dot.js +57 -0
- package/dist/styles.css +97 -0
- package/dist/system/agent-skin.d.ts +27 -0
- package/dist/system/agent-skin.js +20 -0
- package/dist/system/density.d.ts +73 -0
- package/dist/system/density.js +111 -0
- package/dist/system/index.d.ts +12 -0
- package/dist/system/index.js +10 -0
- package/dist/system/overrides.d.ts +80 -0
- package/dist/system/overrides.js +277 -0
- package/dist/system/portal.d.ts +56 -0
- package/dist/system/portal.js +193 -0
- package/dist/system/prepaint.d.ts +134 -0
- package/dist/system/prepaint.js +120 -0
- package/dist/system/theme-provider.d.ts +290 -0
- package/dist/system/theme-provider.js +543 -0
- package/dist/system/theme-registry.d.ts +53 -0
- package/dist/system/theme-registry.js +66 -0
- package/dist/system/use-density.d.ts +50 -0
- package/dist/system/use-density.js +232 -0
- package/dist/system/use-isomorphic-layout-effect.js +33 -0
- package/dist/system/use-theme.d.ts +30 -0
- package/dist/system/use-theme.js +36 -0
- package/dist/system/vocabulary.d.ts +16 -0
- package/dist/system/vocabulary.js +125 -0
- package/dist/theming/contrast.d.ts +2 -0
- package/dist/theming/contrast.js +2 -0
- package/dist/theming/create-theme.d.ts +195 -0
- package/dist/theming/create-theme.js +524 -0
- package/dist/theming/index.d.ts +4 -0
- package/dist/theming/index.js +4 -0
- package/dist/theming/serialize.d.ts +167 -0
- package/dist/theming/serialize.js +241 -0
- package/manifest/components/accordion.json +173 -0
- package/manifest/components/activity-graph.json +104 -0
- package/manifest/components/agent-card.json +150 -0
- package/manifest/components/agent-handoff.json +104 -0
- package/manifest/components/agent-mode-badge.json +102 -0
- package/manifest/components/agent-pile.json +147 -0
- package/manifest/components/agent-plan.json +74 -0
- package/manifest/components/agent-status.json +87 -0
- package/manifest/components/agent-surface.json +93 -0
- package/manifest/components/alert-dialog.json +215 -0
- package/manifest/components/animated-number.json +75 -0
- package/manifest/components/app-bar.json +297 -0
- package/manifest/components/app-shell.json +526 -0
- package/manifest/components/app-window-frame.json +124 -0
- package/manifest/components/approval-card.json +136 -0
- package/manifest/components/artifact-card.json +93 -0
- package/manifest/components/ask-box.json +288 -0
- package/manifest/components/audience-icon.json +46 -0
- package/manifest/components/autocomplete.json +262 -0
- package/manifest/components/avatar-group.json +83 -0
- package/manifest/components/avatar.json +113 -0
- package/manifest/components/background-inbox.json +79 -0
- package/manifest/components/band.json +104 -0
- package/manifest/components/bento.json +306 -0
- package/manifest/components/branch-picker.json +146 -0
- package/manifest/components/breadcrumb.json +85 -0
- package/manifest/components/button-group.json +91 -0
- package/manifest/components/button.json +163 -0
- package/manifest/components/calendar.json +65 -0
- package/manifest/components/canvas-split-body.json +66 -0
- package/manifest/components/canvas-split-document.json +55 -0
- package/manifest/components/canvas-split-header.json +97 -0
- package/manifest/components/canvas-split-line.json +66 -0
- package/manifest/components/canvas-split-message.json +70 -0
- package/manifest/components/canvas-split-thread.json +55 -0
- package/manifest/components/canvas-split.json +61 -0
- package/manifest/components/card.json +152 -0
- package/manifest/components/carousel.json +242 -0
- package/manifest/components/catalogue-icon.json +46 -0
- package/manifest/components/channel-beta-icon.json +46 -0
- package/manifest/components/channel-matrix.json +239 -0
- package/manifest/components/channel-released-icon.json +46 -0
- package/manifest/components/chart-container.json +127 -0
- package/manifest/components/chart-ramp.json +82 -0
- package/manifest/components/chart-swatch.json +72 -0
- package/manifest/components/chart-tooltip-content.json +140 -0
- package/manifest/components/chart.json +117 -0
- package/manifest/components/chat-empty-state.json +55 -0
- package/manifest/components/chat-panel-assistant-message.json +52 -0
- package/manifest/components/chat-panel-composer.json +74 -0
- package/manifest/components/chat-panel-messages.json +52 -0
- package/manifest/components/chat-panel-typing.json +52 -0
- package/manifest/components/chat-panel-user-message.json +52 -0
- package/manifest/components/chat-panel.json +58 -0
- package/manifest/components/checkbox-group.json +70 -0
- package/manifest/components/checkbox.json +106 -0
- package/manifest/components/checkpoint-history.json +91 -0
- package/manifest/components/chip.json +174 -0
- package/manifest/components/clamp.json +125 -0
- package/manifest/components/cli-tool-icon.json +46 -0
- package/manifest/components/code-block.json +107 -0
- package/manifest/components/code-diff.json +104 -0
- package/manifest/components/code-runner.json +124 -0
- package/manifest/components/collapsible.json +133 -0
- package/manifest/components/color-area.json +62 -0
- package/manifest/components/color-field.json +91 -0
- package/manifest/components/color-picker.json +235 -0
- package/manifest/components/color-slider.json +84 -0
- package/manifest/components/color-swatch.json +79 -0
- package/manifest/components/colors-section.json +70 -0
- package/manifest/components/combobox.json +265 -0
- package/manifest/components/command-palette.json +222 -0
- package/manifest/components/compaction-row.json +128 -0
- package/manifest/components/comparison-card.json +98 -0
- package/manifest/components/composer-actions.json +65 -0
- package/manifest/components/composer-attach-button.json +65 -0
- package/manifest/components/composer-attachment-chip.json +83 -0
- package/manifest/components/composer-attachments.json +60 -0
- package/manifest/components/composer-bar.json +76 -0
- package/manifest/components/composer-command-item.json +85 -0
- package/manifest/components/composer-context.json +71 -0
- package/manifest/components/composer-input.json +77 -0
- package/manifest/components/composer-menu-item.json +75 -0
- package/manifest/components/composer-menu.json +89 -0
- package/manifest/components/composer-model-item.json +82 -0
- package/manifest/components/composer-model-trigger.json +81 -0
- package/manifest/components/composer-person-item.json +86 -0
- package/manifest/components/composer-send.json +86 -0
- package/manifest/components/composer-toolbar.json +65 -0
- package/manifest/components/composer-voice-button.json +71 -0
- package/manifest/components/composer-voice.json +81 -0
- package/manifest/components/composer.json +238 -0
- package/manifest/components/computer-use.json +98 -0
- package/manifest/components/confidence-marker.json +86 -0
- package/manifest/components/connection-state.json +103 -0
- package/manifest/components/container.json +75 -0
- package/manifest/components/context-breakdown.json +72 -0
- package/manifest/components/context-menu.json +134 -0
- package/manifest/components/context-usage.json +98 -0
- package/manifest/components/conversation-search.json +111 -0
- package/manifest/components/copy-button.json +118 -0
- package/manifest/components/cost-meter.json +84 -0
- package/manifest/components/cue-logotype.json +110 -0
- package/manifest/components/cue-mark.json +111 -0
- package/manifest/components/cue-portal-frame.json +65 -0
- package/manifest/components/data-row.json +222 -0
- package/manifest/components/data-table-pagination.json +97 -0
- package/manifest/components/data-table-toolbar.json +127 -0
- package/manifest/components/data-tree.json +185 -0
- package/manifest/components/date-field.json +93 -0
- package/manifest/components/date-picker.json +255 -0
- package/manifest/components/date-range-picker.json +255 -0
- package/manifest/components/day-separator.json +63 -0
- package/manifest/components/delegation-card.json +196 -0
- package/manifest/components/density.json +93 -0
- package/manifest/components/description-list.json +91 -0
- package/manifest/components/diagram.json +126 -0
- package/manifest/components/dialog.json +222 -0
- package/manifest/components/disclosure.json +134 -0
- package/manifest/components/dmx-bar.json +107 -0
- package/manifest/components/dmx-strip.json +117 -0
- package/manifest/components/document-reference.json +108 -0
- package/manifest/components/draft-restore.json +96 -0
- package/manifest/components/drawer.json +204 -0
- package/manifest/components/dropdown-menu.json +275 -0
- package/manifest/components/edit-message.json +131 -0
- package/manifest/components/elements-command-palette.json +122 -0
- package/manifest/components/elements-composer.json +71 -0
- package/manifest/components/elements-data-table.json +75 -0
- package/manifest/components/elements-timeline.json +77 -0
- package/manifest/components/elicitation-form.json +130 -0
- package/manifest/components/empty-state-composer.json +71 -0
- package/manifest/components/empty-state-greeting.json +49 -0
- package/manifest/components/empty-state-suggestion.json +60 -0
- package/manifest/components/empty-state-suggestions.json +49 -0
- package/manifest/components/empty-state.json +111 -0
- package/manifest/components/end-of-turn-summary.json +89 -0
- package/manifest/components/env-var-input.json +194 -0
- package/manifest/components/error-state.json +93 -0
- package/manifest/components/export-dialog.json +101 -0
- package/manifest/components/eyebrow.json +59 -0
- package/manifest/components/feedback-dialog.json +133 -0
- package/manifest/components/field-description.json +66 -0
- package/manifest/components/field-error.json +87 -0
- package/manifest/components/field-label.json +66 -0
- package/manifest/components/field.json +82 -0
- package/manifest/components/file-tree.json +96 -0
- package/manifest/components/file-upload.json +204 -0
- package/manifest/components/flow-background.json +50 -0
- package/manifest/components/flow-controls.json +50 -0
- package/manifest/components/flow-graph.json +86 -0
- package/manifest/components/folder-icon.json +46 -0
- package/manifest/components/footer.json +133 -0
- package/manifest/components/frac.json +68 -0
- package/manifest/components/frames.json +210 -0
- package/manifest/components/generation-loader.json +78 -0
- package/manifest/components/generative-ui.json +125 -0
- package/manifest/components/grid.json +132 -0
- package/manifest/components/group-bar.json +122 -0
- package/manifest/components/guardrail-notice.json +109 -0
- package/manifest/components/hover-card.json +189 -0
- package/manifest/components/icon-button.json +106 -0
- package/manifest/components/image-generation.json +73 -0
- package/manifest/components/info-tip.json +133 -0
- package/manifest/components/inline-citation.json +90 -0
- package/manifest/components/input-group.json +112 -0
- package/manifest/components/input.json +121 -0
- package/manifest/components/inspector.json +199 -0
- package/manifest/components/item.json +163 -0
- package/manifest/components/job-progress.json +116 -0
- package/manifest/components/kbd.json +52 -0
- package/manifest/components/launcher-bubble.json +130 -0
- package/manifest/components/ledger.json +330 -0
- package/manifest/components/link.json +94 -0
- package/manifest/components/live-region-announcer.json +95 -0
- package/manifest/components/log-viewer.json +172 -0
- package/manifest/components/map-answer.json +97 -0
- package/manifest/components/markdown-text.json +126 -0
- package/manifest/components/math-block.json +84 -0
- package/manifest/components/mcp-server-icon.json +46 -0
- package/manifest/components/mcp-server-panel.json +102 -0
- package/manifest/components/memory-chips.json +73 -0
- package/manifest/components/menubar.json +184 -0
- package/manifest/components/message-actions.json +125 -0
- package/manifest/components/message-attachments.json +71 -0
- package/manifest/components/message-branches.json +83 -0
- package/manifest/components/message-list.json +121 -0
- package/manifest/components/message-pair.json +107 -0
- package/manifest/components/message-queue.json +85 -0
- package/manifest/components/message-timing.json +69 -0
- package/manifest/components/message.json +149 -0
- package/manifest/components/meter.json +150 -0
- package/manifest/components/mobile-composer.json +163 -0
- package/manifest/components/model-picker.json +87 -0
- package/manifest/components/multi-select.json +255 -0
- package/manifest/components/musical-time-input.json +141 -0
- package/manifest/components/navigation-menu.json +269 -0
- package/manifest/components/node-card.json +144 -0
- package/manifest/components/node-handle.json +84 -0
- package/manifest/components/number-field.json +131 -0
- package/manifest/components/number-ticker.json +67 -0
- package/manifest/components/onboarding.json +100 -0
- package/manifest/components/otp-field.json +163 -0
- package/manifest/components/page-shell.json +129 -0
- package/manifest/components/pagination.json +108 -0
- package/manifest/components/panel-header.json +89 -0
- package/manifest/components/panel.json +71 -0
- package/manifest/components/password-input.json +171 -0
- package/manifest/components/permission-grant.json +115 -0
- package/manifest/components/permission-scopes.json +184 -0
- package/manifest/components/piano-keyboard.json +149 -0
- package/manifest/components/plussie.json +140 -0
- package/manifest/components/popover.json +231 -0
- package/manifest/components/preset-section.json +80 -0
- package/manifest/components/preview.json +294 -0
- package/manifest/components/progress.json +114 -0
- package/manifest/components/prompt-library.json +122 -0
- package/manifest/components/queue-dock.json +139 -0
- package/manifest/components/quota-banner.json +113 -0
- package/manifest/components/quote-reply.json +129 -0
- package/manifest/components/radio-group.json +83 -0
- package/manifest/components/radio.json +94 -0
- package/manifest/components/rating.json +188 -0
- package/manifest/components/read-aloud.json +139 -0
- package/manifest/components/reasoning-effort.json +95 -0
- package/manifest/components/reasoning-panel.json +135 -0
- package/manifest/components/recommendation-card.json +133 -0
- package/manifest/components/regenerate-menu.json +107 -0
- package/manifest/components/replay-player.json +124 -0
- package/manifest/components/research-report.json +87 -0
- package/manifest/components/resizable.json +91 -0
- package/manifest/components/retrieval-chunks.json +98 -0
- package/manifest/components/revert-dock.json +197 -0
- package/manifest/components/reviewable-diff.json +113 -0
- package/manifest/components/risk-badge.json +89 -0
- package/manifest/components/row.json +122 -0
- package/manifest/components/schedule-card.json +121 -0
- package/manifest/components/score-breakdown.json +108 -0
- package/manifest/components/scroll-anchor.json +84 -0
- package/manifest/components/scroll-area.json +114 -0
- package/manifest/components/scrollable-tabs-list.json +91 -0
- package/manifest/components/scrub-input.json +268 -0
- package/manifest/components/seam-cell.json +91 -0
- package/manifest/components/seam-grid.json +84 -0
- package/manifest/components/seam-list.json +56 -0
- package/manifest/components/search-input.json +195 -0
- package/manifest/components/section-header.json +140 -0
- package/manifest/components/segmented-control.json +178 -0
- package/manifest/components/select.json +253 -0
- package/manifest/components/separator.json +56 -0
- package/manifest/components/settings-panel.json +152 -0
- package/manifest/components/shape-section.json +70 -0
- package/manifest/components/shared-conversation.json +107 -0
- package/manifest/components/sheet.json +210 -0
- package/manifest/components/shimmer-label.json +61 -0
- package/manifest/components/sidebar.json +245 -0
- package/manifest/components/signal-edge.json +56 -0
- package/manifest/components/skeleton.json +46 -0
- package/manifest/components/skill-icon.json +46 -0
- package/manifest/components/slider.json +106 -0
- package/manifest/components/sources.json +97 -0
- package/manifest/components/sparkline.json +89 -0
- package/manifest/components/speaker-identity.json +66 -0
- package/manifest/components/spec-sheet.json +93 -0
- package/manifest/components/spectrum-visualizer.json +147 -0
- package/manifest/components/spinner.json +71 -0
- package/manifest/components/stack-icon.json +46 -0
- package/manifest/components/stack.json +143 -0
- package/manifest/components/stacks-matrix-icon.json +46 -0
- package/manifest/components/stat.json +111 -0
- package/manifest/components/status-bar.json +233 -0
- package/manifest/components/status-dot.json +97 -0
- package/manifest/components/stepper.json +107 -0
- package/manifest/components/stopped-run.json +97 -0
- package/manifest/components/streaming-text.json +82 -0
- package/manifest/components/sub.json +45 -0
- package/manifest/components/subagent-list.json +106 -0
- package/manifest/components/suggestions.json +106 -0
- package/manifest/components/sup.json +45 -0
- package/manifest/components/swap-label.json +86 -0
- package/manifest/components/switch.json +102 -0
- package/manifest/components/table-scroll-region.json +78 -0
- package/manifest/components/table.json +306 -0
- package/manifest/components/tabs.json +156 -0
- package/manifest/components/tags-input.json +255 -0
- package/manifest/components/tail-status.json +138 -0
- package/manifest/components/terminal-block.json +111 -0
- package/manifest/components/terminal-frame.json +146 -0
- package/manifest/components/textarea.json +104 -0
- package/manifest/components/theme-configurator.json +158 -0
- package/manifest/components/theme-provider.json +228 -0
- package/manifest/components/thinking-indicator.json +69 -0
- package/manifest/components/thread-list.json +87 -0
- package/manifest/components/thread-search.json +108 -0
- package/manifest/components/threshold-rail.json +223 -0
- package/manifest/components/time-boundary.json +68 -0
- package/manifest/components/time-field.json +93 -0
- package/manifest/components/timeline-ruler.json +178 -0
- package/manifest/components/timeline.json +131 -0
- package/manifest/components/title-bar.json +97 -0
- package/manifest/components/toast.json +140 -0
- package/manifest/components/todo-list.json +76 -0
- package/manifest/components/toggle-group.json +134 -0
- package/manifest/components/toggle.json +140 -0
- package/manifest/components/token-editor.json +106 -0
- package/manifest/components/tool-call-card.json +268 -0
- package/manifest/components/tool-call.json +147 -0
- package/manifest/components/tool-error.json +141 -0
- package/manifest/components/tool-group.json +97 -0
- package/manifest/components/tool-timeline.json +147 -0
- package/manifest/components/toolbar.json +192 -0
- package/manifest/components/tooltip.json +199 -0
- package/manifest/components/trace-waterfall.json +84 -0
- package/manifest/components/tree-visibility-toggle.json +99 -0
- package/manifest/components/tree.json +182 -0
- package/manifest/components/turn-footer.json +133 -0
- package/manifest/components/two-step-button.json +150 -0
- package/manifest/components/typing-indicator.json +60 -0
- package/manifest/components/universe-grid.json +155 -0
- package/manifest/components/unread-divider.json +58 -0
- package/manifest/components/usage-chart.json +162 -0
- package/manifest/components/verdict-row.json +106 -0
- package/manifest/components/voice-conversation.json +141 -0
- package/manifest/components/web-preview.json +105 -0
- package/manifest/components/web-search.json +108 -0
- package/manifest/components/work-collapse.json +125 -0
- package/manifest/fixtures.json +776 -0
- package/manifest/manifest.json +5037 -0
- package/manifest/tokens.json +288 -0
- package/package.json +278 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { field, inkButton, mono, paper } from "./surfaces.js";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { BotIcon, CheckIcon } from "lucide-react";
|
|
6
|
+
//#region src/elements/agent-card.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Who you are about to talk to: its skills, its model, and the endpoint behind it.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* import { AgentCard } from "@cueplusplus/ui/elements";
|
|
12
|
+
*
|
|
13
|
+
* <AgentCard
|
|
14
|
+
* name="Maintainer"
|
|
15
|
+
* description="Reproduces the report, writes the fix, opens the PR."
|
|
16
|
+
* provider="assistant-ui"
|
|
17
|
+
* version="1.4.0"
|
|
18
|
+
* model="opus"
|
|
19
|
+
* endpoint="https://agents.example.com/a2a"
|
|
20
|
+
* skills={skills}
|
|
21
|
+
* connected={false}
|
|
22
|
+
* onConnect={connect}
|
|
23
|
+
* />
|
|
24
|
+
*/
|
|
25
|
+
function AgentCard({ name, description, provider, version, model, endpoint, skills, connected, onConnect, className, ...props }) {
|
|
26
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
27
|
+
"data-slot": "agent-card",
|
|
28
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-3.5 rounded-(--radius-overlay) p-4", className),
|
|
29
|
+
...props,
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ jsxs("div", {
|
|
32
|
+
className: "flex items-start gap-3",
|
|
33
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
34
|
+
className: "bg-surface-1 text-fg-muted flex size-9 shrink-0 items-center justify-center rounded-(--radius-surface)",
|
|
35
|
+
children: /* @__PURE__ */ jsx(BotIcon, { className: "size-4" })
|
|
36
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
37
|
+
className: "flex min-w-0 flex-1 flex-col",
|
|
38
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
39
|
+
className: "flex items-baseline gap-2",
|
|
40
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
41
|
+
className: "truncate text-(length:--cue-text-body) font-medium",
|
|
42
|
+
children: name
|
|
43
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
44
|
+
className: cn(mono, "text-fg-subtle shrink-0"),
|
|
45
|
+
children: ["v", version]
|
|
46
|
+
})]
|
|
47
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
48
|
+
className: "text-fg-muted truncate text-(length:--cue-text-ui)",
|
|
49
|
+
children: provider
|
|
50
|
+
})]
|
|
51
|
+
})]
|
|
52
|
+
}),
|
|
53
|
+
/* @__PURE__ */ jsx("p", {
|
|
54
|
+
className: "text-fg-muted text-(length:--cue-text-ui) leading-(--cue-leading-ui)",
|
|
55
|
+
children: description
|
|
56
|
+
}),
|
|
57
|
+
/* @__PURE__ */ jsx("div", {
|
|
58
|
+
className: "flex flex-col gap-1.5",
|
|
59
|
+
children: skills.map((skill) => /* @__PURE__ */ jsxs("div", {
|
|
60
|
+
className: "flex items-baseline gap-2",
|
|
61
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
62
|
+
className: cn(field, mono, "text-fg-muted shrink-0 rounded-(--radius-control) px-1.5 py-0.5"),
|
|
63
|
+
children: skill.name
|
|
64
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
65
|
+
className: "text-fg-muted min-w-0 flex-1 truncate text-(length:--cue-text-ui)",
|
|
66
|
+
children: skill.description
|
|
67
|
+
})]
|
|
68
|
+
}, skill.name))
|
|
69
|
+
}),
|
|
70
|
+
/* @__PURE__ */ jsxs("div", {
|
|
71
|
+
className: "border-border flex items-center gap-2 border-t pt-3",
|
|
72
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
73
|
+
className: cn(mono, "text-fg-subtle min-w-0 flex-1 truncate"),
|
|
74
|
+
children: endpoint
|
|
75
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
76
|
+
className: cn(mono, "text-fg-subtle shrink-0"),
|
|
77
|
+
children: model
|
|
78
|
+
})]
|
|
79
|
+
}),
|
|
80
|
+
/* @__PURE__ */ jsx("button", {
|
|
81
|
+
type: "button",
|
|
82
|
+
onClick: onConnect,
|
|
83
|
+
disabled: connected,
|
|
84
|
+
className: cn(connected ? cn(field, "text-fg-muted") : cn(inkButton, "justify-center"), "flex h-8 items-center justify-center gap-1.5 rounded-full px-3.5 text-(length:--cue-text-ui) font-medium disabled:pointer-events-none"),
|
|
85
|
+
children: connected ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5 text-ok" }), "Connected"] }) : "Connect"
|
|
86
|
+
})
|
|
87
|
+
]
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
91
|
+
export { AgentCard };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
//#region src/elements/agent-handoff.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Control passing between agents, with the reason and what came along.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* import { AgentHandoff } from "@cueplusplus/ui/elements";
|
|
8
|
+
*
|
|
9
|
+
* <AgentHandoff from="Triage" to="Maintainer" reason={reason} carried={carried} settled />
|
|
10
|
+
*/
|
|
11
|
+
declare function AgentHandoff({ from, to, reason, carried, settled, className, ...props }: Omit<ComponentProps<"div">, "children" | "from" | "to" | "reason" | "carried" | "settled"> & {
|
|
12
|
+
/** Agent giving up control. */
|
|
13
|
+
from: string;
|
|
14
|
+
/** Agent taking it. */
|
|
15
|
+
to: string;
|
|
16
|
+
/** Why the baton moved. Without it a handoff reads as an unexplained jump. */
|
|
17
|
+
reason: string;
|
|
18
|
+
/** Context that travelled across. Pass an empty array to hide the section. */
|
|
19
|
+
carried: readonly string[];
|
|
20
|
+
/** Cools the arrow and the receiving badge once the new agent is underway. */
|
|
21
|
+
settled: boolean;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { AgentHandoff };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { field } from "./surfaces.js";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { ArrowRightIcon, BotIcon } from "lucide-react";
|
|
6
|
+
//#region src/elements/agent-handoff.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Control passing between agents, with the reason and what came along.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* import { AgentHandoff } from "@cueplusplus/ui/elements";
|
|
12
|
+
*
|
|
13
|
+
* <AgentHandoff from="Triage" to="Maintainer" reason={reason} carried={carried} settled />
|
|
14
|
+
*/
|
|
15
|
+
function AgentHandoff({ from, to, reason, carried, settled, className, ...props }) {
|
|
16
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
17
|
+
"data-slot": "agent-handoff",
|
|
18
|
+
className: cn("flex w-full max-w-sm flex-col gap-2", className),
|
|
19
|
+
...props,
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ jsxs("div", {
|
|
22
|
+
className: "flex items-center gap-2",
|
|
23
|
+
children: [
|
|
24
|
+
/* @__PURE__ */ jsxs("span", {
|
|
25
|
+
className: cn(field, "text-fg-muted flex items-center gap-1.5 rounded-full px-2.5 py-1 text-(length:--cue-text-ui) transition-opacity duration-500", settled && "opacity-45"),
|
|
26
|
+
children: [/* @__PURE__ */ jsx(BotIcon, { className: "size-3" }), from]
|
|
27
|
+
}),
|
|
28
|
+
/* @__PURE__ */ jsx(ArrowRightIcon, { className: cn("size-3.5 shrink-0 transition-colors duration-500", settled ? "text-fg-subtle" : "text-stream") }),
|
|
29
|
+
/* @__PURE__ */ jsxs("span", {
|
|
30
|
+
className: cn("flex items-center gap-1.5 rounded-full px-2.5 py-1 text-(length:--cue-text-ui) transition-colors duration-500", settled ? cn(field, "text-fg-muted") : "bg-stream/15 text-stream"),
|
|
31
|
+
children: [/* @__PURE__ */ jsx(BotIcon, { className: "size-3" }), to]
|
|
32
|
+
})
|
|
33
|
+
]
|
|
34
|
+
}),
|
|
35
|
+
/* @__PURE__ */ jsx("p", {
|
|
36
|
+
className: "text-fg-muted text-(length:--cue-text-ui) leading-(--cue-leading-ui)",
|
|
37
|
+
children: reason
|
|
38
|
+
}),
|
|
39
|
+
carried.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
40
|
+
className: "flex flex-col gap-1",
|
|
41
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
42
|
+
className: cn("font-mono text-(length:--cue-text-label) tracking-tight", "text-fg-subtle"),
|
|
43
|
+
children: "carried over"
|
|
44
|
+
}), carried.map((item) => /* @__PURE__ */ jsx("span", {
|
|
45
|
+
className: "text-fg-muted border-border border-s ps-2.5 text-(length:--cue-text-ui) leading-(--cue-leading-ui)",
|
|
46
|
+
children: item
|
|
47
|
+
}, item))]
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { AgentHandoff };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { AgentMode } from "./vocabulary.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
+
//#region src/elements/agent-mode-badge.d.ts
|
|
5
|
+
interface AgentModeBadgeProps extends Omit<React.ComponentPropsWithoutRef<"span">, "children"> {
|
|
6
|
+
/**
|
|
7
|
+
* How much authority the run is holding: `manual`, `auto-edit`, `plan` or
|
|
8
|
+
* `unsafe`. Stamped as `data-agent-mode`, which is what the quadruple in
|
|
9
|
+
* `@cueplusplus/ui/elements.css` is keyed on.
|
|
10
|
+
*/
|
|
11
|
+
mode: AgentMode;
|
|
12
|
+
/**
|
|
13
|
+
* The product's own word for it — `Agent`, `Build`, `YOLO`, `Bypass
|
|
14
|
+
* permissions`. Defaults to `AGENT_MODE_LABELS[mode]`, and it is the reason
|
|
15
|
+
* a nine-mode product needs no more than these four rungs.
|
|
16
|
+
*/
|
|
17
|
+
label?: string;
|
|
18
|
+
/**
|
|
19
|
+
* What the mode actually does, as the badge's `title`. Defaults to
|
|
20
|
+
* `AGENT_MODE_DESCRIPTIONS[mode]`. Pass `""` for no tooltip at all.
|
|
21
|
+
*/
|
|
22
|
+
description?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Replace the rendered element (Base UI render prop) — `render={<button
|
|
25
|
+
* type="button" onClick={cycle} />}` for a picker that cycles, which is what
|
|
26
|
+
* every product with more than two modes ships.
|
|
27
|
+
*/
|
|
28
|
+
render?: useRender.RenderProp;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* What the run is allowed to do, said in one chip and one attribute.
|
|
32
|
+
*
|
|
33
|
+
* Agent authority is the fact a person most needs from the corner of their eye
|
|
34
|
+
* and the one every catalogue leaves to prose. This is the readout: a glyph, a
|
|
35
|
+
* word, and `data-agent-mode` on the element. The attribute is the part that
|
|
36
|
+
* travels — `@cueplusplus/ui/elements.css` declares four custom properties
|
|
37
|
+
* under it, so putting the same attribute on a composer tints its focus ring,
|
|
38
|
+
* its send button and its rail from one place, and a console adds a
|
|
39
|
+
* mode-aware surface by reading a property rather than by threading a prop:
|
|
40
|
+
*
|
|
41
|
+
* ```css
|
|
42
|
+
* .composer:focus-within { border-color: var(--cue-elements-mode-icon); }
|
|
43
|
+
* .send-button { background: var(--cue-elements-mode-icon); color: var(--cue-elements-mode-background); }
|
|
44
|
+
* .turn-rail { background: var(--cue-elements-mode-border); }
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* The ladder is four rungs and the mode set is open. Every product in the study
|
|
48
|
+
* paints six, seven or nine modes in exactly four accents — will it ask me, is
|
|
49
|
+
* it writing, is it only planning, are the guardrails off — so the rung is what
|
|
50
|
+
* `mode` carries and the product's own word is what `label` carries.
|
|
51
|
+
*
|
|
52
|
+
* The properties resolve against the *element that carries the attribute*, not
|
|
53
|
+
* against the page: a badge inside an `<AgentSurface skin="aui">` takes the
|
|
54
|
+
* island's palette, because the quadruple is declared on `[data-agent-mode]`
|
|
55
|
+
* rather than at `:root` where a `var()` would have been substituted before it
|
|
56
|
+
* ever reached the island.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* import { AgentModeBadge } from "@cueplusplus/ui/elements";
|
|
60
|
+
*
|
|
61
|
+
* <AgentModeBadge mode="plan" />
|
|
62
|
+
* @example
|
|
63
|
+
* // A product's own word on cue's rung, and a chip that cycles.
|
|
64
|
+
* <AgentModeBadge
|
|
65
|
+
* mode="unsafe"
|
|
66
|
+
* label="YOLO"
|
|
67
|
+
* render={<button type="button" onClick={cycle} />}
|
|
68
|
+
* />
|
|
69
|
+
*/
|
|
70
|
+
declare const AgentModeBadge: React.ForwardRefExoticComponent<AgentModeBadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
71
|
+
//#endregion
|
|
72
|
+
export { AgentModeBadge, AgentModeBadgeProps };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { AGENT_MODE_DESCRIPTIONS, AGENT_MODE_LABELS } from "./vocabulary.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
7
|
+
import { HandIcon, MapIcon, PencilIcon, ShieldOffIcon } from "lucide-react";
|
|
8
|
+
//#region src/elements/agent-mode-badge.tsx
|
|
9
|
+
/**
|
|
10
|
+
* The glyph per rung, so the ladder survives a colour-blind reader and a
|
|
11
|
+
* monochrome screenshot.
|
|
12
|
+
*
|
|
13
|
+
* A hand for the mode that stops and asks, a pencil for the one that writes, a
|
|
14
|
+
* map for the one that only reads and plans, and a shield with a line through
|
|
15
|
+
* it for the one that does not stop. Colour alone cannot carry authority — this
|
|
16
|
+
* is the same argument that puts a label beside it.
|
|
17
|
+
*/
|
|
18
|
+
const MODE_GLYPH = {
|
|
19
|
+
manual: HandIcon,
|
|
20
|
+
"auto-edit": PencilIcon,
|
|
21
|
+
plan: MapIcon,
|
|
22
|
+
unsafe: ShieldOffIcon
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* The four properties the quadruple publishes, with a token behind each.
|
|
26
|
+
*
|
|
27
|
+
* The fallbacks are not decoration: `elements.css` is a consumer import, and
|
|
28
|
+
* without it these four are undeclared. A badge that resolved to nothing would
|
|
29
|
+
* be an invisible chip, so the fallback is the family's neutral — the mode is
|
|
30
|
+
* then carried by the glyph and the label, which is where it has to be carried
|
|
31
|
+
* anyway.
|
|
32
|
+
*/
|
|
33
|
+
const MODE_PAINT = {
|
|
34
|
+
backgroundColor: "var(--cue-elements-mode-background, var(--cue-surface-2))",
|
|
35
|
+
color: "var(--cue-elements-mode-text, var(--cue-fg-muted))",
|
|
36
|
+
borderColor: "var(--cue-elements-mode-border, var(--cue-border))"
|
|
37
|
+
};
|
|
38
|
+
/** The icon's own property, which is the one a rail and a spinner also read. */
|
|
39
|
+
const MODE_ICON = { color: "var(--cue-elements-mode-icon, var(--cue-fg-subtle))" };
|
|
40
|
+
/**
|
|
41
|
+
* What the run is allowed to do, said in one chip and one attribute.
|
|
42
|
+
*
|
|
43
|
+
* Agent authority is the fact a person most needs from the corner of their eye
|
|
44
|
+
* and the one every catalogue leaves to prose. This is the readout: a glyph, a
|
|
45
|
+
* word, and `data-agent-mode` on the element. The attribute is the part that
|
|
46
|
+
* travels — `@cueplusplus/ui/elements.css` declares four custom properties
|
|
47
|
+
* under it, so putting the same attribute on a composer tints its focus ring,
|
|
48
|
+
* its send button and its rail from one place, and a console adds a
|
|
49
|
+
* mode-aware surface by reading a property rather than by threading a prop:
|
|
50
|
+
*
|
|
51
|
+
* ```css
|
|
52
|
+
* .composer:focus-within { border-color: var(--cue-elements-mode-icon); }
|
|
53
|
+
* .send-button { background: var(--cue-elements-mode-icon); color: var(--cue-elements-mode-background); }
|
|
54
|
+
* .turn-rail { background: var(--cue-elements-mode-border); }
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* The ladder is four rungs and the mode set is open. Every product in the study
|
|
58
|
+
* paints six, seven or nine modes in exactly four accents — will it ask me, is
|
|
59
|
+
* it writing, is it only planning, are the guardrails off — so the rung is what
|
|
60
|
+
* `mode` carries and the product's own word is what `label` carries.
|
|
61
|
+
*
|
|
62
|
+
* The properties resolve against the *element that carries the attribute*, not
|
|
63
|
+
* against the page: a badge inside an `<AgentSurface skin="aui">` takes the
|
|
64
|
+
* island's palette, because the quadruple is declared on `[data-agent-mode]`
|
|
65
|
+
* rather than at `:root` where a `var()` would have been substituted before it
|
|
66
|
+
* ever reached the island.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* import { AgentModeBadge } from "@cueplusplus/ui/elements";
|
|
70
|
+
*
|
|
71
|
+
* <AgentModeBadge mode="plan" />
|
|
72
|
+
* @example
|
|
73
|
+
* // A product's own word on cue's rung, and a chip that cycles.
|
|
74
|
+
* <AgentModeBadge
|
|
75
|
+
* mode="unsafe"
|
|
76
|
+
* label="YOLO"
|
|
77
|
+
* render={<button type="button" onClick={cycle} />}
|
|
78
|
+
* />
|
|
79
|
+
*/
|
|
80
|
+
const AgentModeBadge = React.forwardRef(function AgentModeBadge({ mode, label, description, render, className, style, ...elementProps }, ref) {
|
|
81
|
+
const Glyph = MODE_GLYPH[mode];
|
|
82
|
+
const said = label ?? AGENT_MODE_LABELS[mode];
|
|
83
|
+
const explained = description ?? AGENT_MODE_DESCRIPTIONS[mode];
|
|
84
|
+
return useRender({
|
|
85
|
+
render,
|
|
86
|
+
ref,
|
|
87
|
+
defaultTagName: "span",
|
|
88
|
+
props: {
|
|
89
|
+
...elementProps,
|
|
90
|
+
"data-slot": "agent-mode-badge",
|
|
91
|
+
"data-agent-mode": mode,
|
|
92
|
+
title: explained === "" ? void 0 : explained,
|
|
93
|
+
style: {
|
|
94
|
+
...MODE_PAINT,
|
|
95
|
+
...style
|
|
96
|
+
},
|
|
97
|
+
className: cn("inline-flex shrink-0 items-center gap-1.5 rounded-full border px-2 py-0.5 text-(length:--cue-text-ui) font-medium", className),
|
|
98
|
+
children: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Glyph, {
|
|
99
|
+
"aria-hidden": true,
|
|
100
|
+
className: "size-3.5 shrink-0",
|
|
101
|
+
style: MODE_ICON
|
|
102
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
103
|
+
className: "min-w-0 truncate",
|
|
104
|
+
children: said
|
|
105
|
+
})] })
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//#endregion
|
|
110
|
+
export { AgentModeBadge };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
//#region src/elements/agent-plan.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* A checklist the agent works through, with progress you can glance.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* import { AgentPlan } from "@cueplusplus/ui/elements";
|
|
8
|
+
*
|
|
9
|
+
* <AgentPlan
|
|
10
|
+
* steps={["Read the file", "Draft the fix", "Run tests"]}
|
|
11
|
+
* activeIndex={1}
|
|
12
|
+
* />
|
|
13
|
+
*/
|
|
14
|
+
declare function AgentPlan({ steps, activeIndex, className, ...props }: Omit<ComponentProps<"div">, "children" | "steps" | "activeIndex"> & {
|
|
15
|
+
/** Checklist items the agent works through in order. */
|
|
16
|
+
steps: readonly string[];
|
|
17
|
+
/**
|
|
18
|
+
* Index of the step currently running. Values past the end mark every step done, and
|
|
19
|
+
* values before the start mark none.
|
|
20
|
+
*/
|
|
21
|
+
activeIndex: number;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { AgentPlan };
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { mono } from "./surfaces.js";
|
|
4
|
+
import { pct, progressOf } from "./range.js";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { CheckIcon, Loader2Icon } from "lucide-react";
|
|
7
|
+
//#region src/elements/agent-plan.tsx
|
|
8
|
+
/**
|
|
9
|
+
* A checklist the agent works through, with progress you can glance.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { AgentPlan } from "@cueplusplus/ui/elements";
|
|
13
|
+
*
|
|
14
|
+
* <AgentPlan
|
|
15
|
+
* steps={["Read the file", "Draft the fix", "Run tests"]}
|
|
16
|
+
* activeIndex={1}
|
|
17
|
+
* />
|
|
18
|
+
*/
|
|
19
|
+
function AgentPlan({ steps, activeIndex, className, ...props }) {
|
|
20
|
+
const total = steps.length;
|
|
21
|
+
const completed = progressOf(activeIndex, total);
|
|
22
|
+
const allDone = completed >= total;
|
|
23
|
+
const progress = pct(completed, total);
|
|
24
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
25
|
+
"data-slot": "agent-plan",
|
|
26
|
+
className: cn("flex w-full max-w-sm flex-col gap-3", className),
|
|
27
|
+
...props,
|
|
28
|
+
children: [
|
|
29
|
+
/* @__PURE__ */ jsxs("div", {
|
|
30
|
+
className: "flex items-center justify-between",
|
|
31
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
32
|
+
className: "text-(length:--cue-text-body) font-medium",
|
|
33
|
+
children: "Plan"
|
|
34
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
35
|
+
className: cn(mono, "text-fg-subtle tabular-nums"),
|
|
36
|
+
children: [
|
|
37
|
+
completed,
|
|
38
|
+
" of ",
|
|
39
|
+
total
|
|
40
|
+
]
|
|
41
|
+
})]
|
|
42
|
+
}),
|
|
43
|
+
/* @__PURE__ */ jsx("div", {
|
|
44
|
+
className: "bg-surface-2 h-[3px] w-full overflow-hidden rounded-full",
|
|
45
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
46
|
+
className: "bg-accent block h-full rounded-full transition-[width] duration-500",
|
|
47
|
+
style: { width: `${progress}%` }
|
|
48
|
+
})
|
|
49
|
+
}),
|
|
50
|
+
/* @__PURE__ */ jsx("ul", {
|
|
51
|
+
className: "flex flex-col gap-2.5",
|
|
52
|
+
children: steps.map((step, i) => {
|
|
53
|
+
const done = allDone || i < completed;
|
|
54
|
+
const active = !allDone && i === completed;
|
|
55
|
+
return /* @__PURE__ */ jsxs("li", {
|
|
56
|
+
className: "flex items-center gap-2.5 text-(length:--cue-text-body)",
|
|
57
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
58
|
+
className: "flex size-4 shrink-0 items-center justify-center",
|
|
59
|
+
children: done ? /* @__PURE__ */ jsx(CheckIcon, { className: "text-fg-subtle size-3.5" }) : active ? /* @__PURE__ */ jsx(Loader2Icon, { className: "text-fg size-3.5 animate-spin motion-reduce:animate-none" }) : /* @__PURE__ */ jsx("span", {
|
|
60
|
+
"aria-hidden": true,
|
|
61
|
+
className: "bg-surface-3 size-1.5 rounded-full"
|
|
62
|
+
})
|
|
63
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
64
|
+
className: cn(done && "text-fg-subtle", active && "text-fg", !done && !active && "text-fg-subtle"),
|
|
65
|
+
children: step
|
|
66
|
+
})]
|
|
67
|
+
}, step);
|
|
68
|
+
})
|
|
69
|
+
})
|
|
70
|
+
]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
export { AgentPlan };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
//#region src/elements/agent-status.d.ts
|
|
3
|
+
/** What the agent is doing: `working`, `waiting` on the user, or `done`. */
|
|
4
|
+
type AgentState = "working" | "waiting" | "done";
|
|
5
|
+
/** One step of an agent's run, for a surface that lists them rather than showing the last. */
|
|
6
|
+
interface StatusStep {
|
|
7
|
+
/** The step's own state, drawn as its glyph. */
|
|
8
|
+
state: AgentState;
|
|
9
|
+
/** What the step says. */
|
|
10
|
+
label: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* One pill that always answers: what is it doing, and for how long.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* import { AgentStatus } from "@cueplusplus/ui/elements";
|
|
17
|
+
*
|
|
18
|
+
* <AgentStatus state="working" label="Editing composer.tsx" elapsed="8s" />
|
|
19
|
+
*/
|
|
20
|
+
declare function AgentStatus({ state, label, elapsed, className, ...props }: Omit<ComponentProps<"div">, "children" | "state" | "label" | "elapsed"> & {
|
|
21
|
+
/** Visual mode of the pill: working, waiting, or done with a check. */
|
|
22
|
+
state: AgentState;
|
|
23
|
+
/** Short status line describing what the agent is doing. */
|
|
24
|
+
label: string;
|
|
25
|
+
/** Elapsed time shown in mono when provided. */
|
|
26
|
+
elapsed?: string;
|
|
27
|
+
}): import("react").JSX.Element;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { AgentState, AgentStatus, StatusStep };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { ghostButton, paper } from "./surfaces.js";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { CheckIcon, PauseIcon, RotateCcwIcon } from "lucide-react";
|
|
6
|
+
//#region src/elements/agent-status.tsx
|
|
7
|
+
/**
|
|
8
|
+
* One pill that always answers: what is it doing, and for how long.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* import { AgentStatus } from "@cueplusplus/ui/elements";
|
|
12
|
+
*
|
|
13
|
+
* <AgentStatus state="working" label="Editing composer.tsx" elapsed="8s" />
|
|
14
|
+
*/
|
|
15
|
+
function AgentStatus({ state, label, elapsed, className, ...props }) {
|
|
16
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
17
|
+
"data-slot": "agent-status",
|
|
18
|
+
className: cn(paper, "flex items-center gap-2.5 rounded-full py-1.5 ps-3.5 pe-1.5", className),
|
|
19
|
+
...props,
|
|
20
|
+
children: [
|
|
21
|
+
state === "done" ? /* @__PURE__ */ jsx(CheckIcon, {
|
|
22
|
+
"aria-hidden": true,
|
|
23
|
+
className: "size-3 shrink-0 text-ok"
|
|
24
|
+
}) : /* @__PURE__ */ jsx("span", {
|
|
25
|
+
"aria-hidden": true,
|
|
26
|
+
className: cn("size-1.5 shrink-0 rounded-full motion-reduce:animate-none", state === "working" ? "animate-pulse bg-stream" : "bg-surface-3 animate-pulse")
|
|
27
|
+
}),
|
|
28
|
+
/* @__PURE__ */ jsx("span", {
|
|
29
|
+
className: "cue-elements-fade-in cue-elements-blur-in-2 cue-elements-animate-in max-w-44 truncate text-(length:--cue-text-ui) duration-300 motion-reduce:animate-none",
|
|
30
|
+
children: label
|
|
31
|
+
}, label),
|
|
32
|
+
elapsed !== void 0 && state !== "done" && /* @__PURE__ */ jsx("span", {
|
|
33
|
+
className: cn("font-mono text-(length:--cue-text-label) tracking-tight", "text-fg-subtle tabular-nums"),
|
|
34
|
+
children: elapsed
|
|
35
|
+
}),
|
|
36
|
+
/* @__PURE__ */ jsx("button", {
|
|
37
|
+
type: "button",
|
|
38
|
+
"aria-label": state === "done" ? "Run again" : "Pause agent",
|
|
39
|
+
className: cn(ghostButton, "size-6"),
|
|
40
|
+
children: state === "done" ? /* @__PURE__ */ jsx(RotateCcwIcon, { className: "size-3" }) : /* @__PURE__ */ jsx(PauseIcon, { className: "size-3" })
|
|
41
|
+
})
|
|
42
|
+
]
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { AgentStatus };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { AgentFidelity, AgentSkin } from "../system/agent-skin.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
+
//#region src/elements/agent-surface.d.ts
|
|
5
|
+
interface AgentSurfaceProps extends Omit<React.ComponentPropsWithoutRef<"div">, "children"> {
|
|
6
|
+
/**
|
|
7
|
+
* Which value-set paints the subtree: `cue` (the default) or `aui`, which
|
|
8
|
+
* installs assistant-ui's own inks, grounds and hues.
|
|
9
|
+
*/
|
|
10
|
+
skin?: AgentSkin;
|
|
11
|
+
/**
|
|
12
|
+
* How much a supersede island re-points: `cue-metrics` (the default, colour
|
|
13
|
+
* only) or `upstream`, which also pins assistant-ui's radii, literal type
|
|
14
|
+
* sizes and spacing so the density ladder stops at the island edge.
|
|
15
|
+
*/
|
|
16
|
+
fidelity?: AgentFidelity;
|
|
17
|
+
/**
|
|
18
|
+
* Replace the rendered element (Base UI render prop). Accepts an element —
|
|
19
|
+
* `render={<section />}` — or a function returning one.
|
|
20
|
+
*/
|
|
21
|
+
render?: useRender.RenderProp;
|
|
22
|
+
/** The subtree that paints with this island's values. */
|
|
23
|
+
children?: React.ReactNode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The supersede island: one subtree, painted by a different set of values.
|
|
27
|
+
*
|
|
28
|
+
* Renders a plain `<div data-slot="agent-surface" data-cue-skin="…"
|
|
29
|
+
* data-cue-fidelity="…">` and publishes the same pair on React context. The attributes do the work —
|
|
30
|
+
* `@cueplusplus/ui/elements.css` re-declares, under them, the `--cue-*` tokens
|
|
31
|
+
* the whole elements family reads, and custom properties inherit, so every
|
|
32
|
+
* element inside repaints with no prop threading and no branch in any
|
|
33
|
+
* component. The context exists for the one place that cannot see the DOM: an
|
|
34
|
+
* overlay portaled to `<body>` from inside the island, which
|
|
35
|
+
* {@link useCuePortalProps} stamps from the same values.
|
|
36
|
+
*
|
|
37
|
+
* Two things this is not. It is not a theme — `data-theme`, `data-mode` and
|
|
38
|
+
* `data-density` are untouched, and a light app keeps a light island. And it is
|
|
39
|
+
* not needed for cue mode: the elements were rewritten onto cue's tokens by the
|
|
40
|
+
* vendoring codemod, so `skin="cue"` is what they already do. Reach for this to
|
|
41
|
+
* show an element the way assistant-ui drew it, or to hand a chat panel back to
|
|
42
|
+
* upstream's design language inside a console that is otherwise cue's.
|
|
43
|
+
*
|
|
44
|
+
* What an `aui` island re-points is this family's own vocabulary rather than the
|
|
45
|
+
* whole token contract: `--cue-busy`, `--cue-info`, `--cue-selection`,
|
|
46
|
+
* `--cue-focus`, `--cue-scrim` and every derived `*-soft` / `*-border` stay on
|
|
47
|
+
* the console's theme. Nothing in the elements group reads them, so the island
|
|
48
|
+
* is complete for what it is for — but a *cue* component placed inside one (a
|
|
49
|
+
* `Chip tone="busy"`, a `Toast`) paints half in each palette, and the
|
|
50
|
+
* derivations cannot be made to follow at all: they are `color-mix()` values
|
|
51
|
+
* resolved on the theme block and inherited as answers. `elements.css` carries
|
|
52
|
+
* the full accounting beside the values themselves.
|
|
53
|
+
*
|
|
54
|
+
* `elements.css` is a consumer import: `@import "@cueplusplus/ui/elements.css";`
|
|
55
|
+
* after the main stylesheet. Without it a `skin="aui"` island simply stays in
|
|
56
|
+
* cue's palette.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* <AgentSurface skin="aui" fidelity="upstream">
|
|
60
|
+
* <ToolCall label="Searched" activeLabel="Searching" query="composer" … />
|
|
61
|
+
* </AgentSurface>
|
|
62
|
+
*/
|
|
63
|
+
declare const AgentSurface: React.ForwardRefExoticComponent<AgentSurfaceProps & React.RefAttributes<HTMLDivElement>>;
|
|
64
|
+
//#endregion
|
|
65
|
+
export { AgentSurface, AgentSurfaceProps };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { AgentSkinContext } from "../system/agent-skin.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
6
|
+
//#region src/elements/agent-surface.tsx
|
|
7
|
+
/**
|
|
8
|
+
* The supersede island: one subtree, painted by a different set of values.
|
|
9
|
+
*
|
|
10
|
+
* Renders a plain `<div data-slot="agent-surface" data-cue-skin="…"
|
|
11
|
+
* data-cue-fidelity="…">` and publishes the same pair on React context. The attributes do the work —
|
|
12
|
+
* `@cueplusplus/ui/elements.css` re-declares, under them, the `--cue-*` tokens
|
|
13
|
+
* the whole elements family reads, and custom properties inherit, so every
|
|
14
|
+
* element inside repaints with no prop threading and no branch in any
|
|
15
|
+
* component. The context exists for the one place that cannot see the DOM: an
|
|
16
|
+
* overlay portaled to `<body>` from inside the island, which
|
|
17
|
+
* {@link useCuePortalProps} stamps from the same values.
|
|
18
|
+
*
|
|
19
|
+
* Two things this is not. It is not a theme — `data-theme`, `data-mode` and
|
|
20
|
+
* `data-density` are untouched, and a light app keeps a light island. And it is
|
|
21
|
+
* not needed for cue mode: the elements were rewritten onto cue's tokens by the
|
|
22
|
+
* vendoring codemod, so `skin="cue"` is what they already do. Reach for this to
|
|
23
|
+
* show an element the way assistant-ui drew it, or to hand a chat panel back to
|
|
24
|
+
* upstream's design language inside a console that is otherwise cue's.
|
|
25
|
+
*
|
|
26
|
+
* What an `aui` island re-points is this family's own vocabulary rather than the
|
|
27
|
+
* whole token contract: `--cue-busy`, `--cue-info`, `--cue-selection`,
|
|
28
|
+
* `--cue-focus`, `--cue-scrim` and every derived `*-soft` / `*-border` stay on
|
|
29
|
+
* the console's theme. Nothing in the elements group reads them, so the island
|
|
30
|
+
* is complete for what it is for — but a *cue* component placed inside one (a
|
|
31
|
+
* `Chip tone="busy"`, a `Toast`) paints half in each palette, and the
|
|
32
|
+
* derivations cannot be made to follow at all: they are `color-mix()` values
|
|
33
|
+
* resolved on the theme block and inherited as answers. `elements.css` carries
|
|
34
|
+
* the full accounting beside the values themselves.
|
|
35
|
+
*
|
|
36
|
+
* `elements.css` is a consumer import: `@import "@cueplusplus/ui/elements.css";`
|
|
37
|
+
* after the main stylesheet. Without it a `skin="aui"` island simply stays in
|
|
38
|
+
* cue's palette.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* <AgentSurface skin="aui" fidelity="upstream">
|
|
42
|
+
* <ToolCall label="Searched" activeLabel="Searching" query="composer" … />
|
|
43
|
+
* </AgentSurface>
|
|
44
|
+
*/
|
|
45
|
+
const AgentSurface = React.forwardRef(function AgentSurface({ skin = "cue", fidelity = "cue-metrics", render, children, ...elementProps }, ref) {
|
|
46
|
+
const island = React.useMemo(() => ({
|
|
47
|
+
skin,
|
|
48
|
+
fidelity
|
|
49
|
+
}), [skin, fidelity]);
|
|
50
|
+
const element = useRender({
|
|
51
|
+
render,
|
|
52
|
+
ref,
|
|
53
|
+
defaultTagName: "div",
|
|
54
|
+
props: {
|
|
55
|
+
...elementProps,
|
|
56
|
+
"data-slot": "agent-surface",
|
|
57
|
+
"data-cue-skin": skin,
|
|
58
|
+
"data-cue-fidelity": fidelity,
|
|
59
|
+
children
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return /* @__PURE__ */ jsx(AgentSkinContext.Provider, {
|
|
63
|
+
value: island,
|
|
64
|
+
children: element
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//#endregion
|
|
68
|
+
export { AgentSurface };
|