@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,110 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { mono } from "./surfaces.js";
|
|
4
|
+
import { COMPACTION_LABELS } from "./vocabulary.js";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { CircleAlertIcon, FoldVerticalIcon, Loader2Icon, MinusIcon, XIcon } from "lucide-react";
|
|
8
|
+
//#region src/elements/compaction-row.tsx
|
|
9
|
+
/**
|
|
10
|
+
* A count as a compaction rule says it: `214`, `1.5k`, `128k`.
|
|
11
|
+
*
|
|
12
|
+
* Thousands from four figures up, one decimal below ten thousand and none above
|
|
13
|
+
* it — `128000` is `128k` and `1500` is `1.5k`, because the first number is
|
|
14
|
+
* about a budget and the second is about a change. Anything that is not a
|
|
15
|
+
* finite, positive number is `0`.
|
|
16
|
+
*/
|
|
17
|
+
function formatCount(value) {
|
|
18
|
+
if (!Number.isFinite(value) || value <= 0) return "0";
|
|
19
|
+
if (value < 1e3) return String(Math.round(value));
|
|
20
|
+
const thousands = value / 1e3;
|
|
21
|
+
return thousands < 10 ? `${Math.round(thousands * 10) / 10}k` : `${Math.round(thousands)}k`;
|
|
22
|
+
}
|
|
23
|
+
/** `128k → 24k tokens`, or `128k tokens` when there is no after yet. */
|
|
24
|
+
function figures(before, after, unit) {
|
|
25
|
+
if (before === void 0) return null;
|
|
26
|
+
if (after === void 0) return `${formatCount(before)} ${unit}`;
|
|
27
|
+
return `${formatCount(before)} → ${formatCount(after)} ${unit}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The rule that says the conversation was compacted, and by how much.
|
|
31
|
+
*
|
|
32
|
+
* A `role="separator"` like {@link TimeBoundary}, because that is what it is:
|
|
33
|
+
* the transcript above it is not the transcript below it any more. What makes
|
|
34
|
+
* it worth a component rather than a line of prose is the pair of numbers —
|
|
35
|
+
* before and after, on both axes — since "compacted" alone tells a reader
|
|
36
|
+
* nothing they can act on, while `128k → 24k tokens · 214 → 31 messages` tells
|
|
37
|
+
* them why the model stopped remembering the thing they mentioned an hour ago.
|
|
38
|
+
*
|
|
39
|
+
* Five states, which is two more than most implementations have and exactly the
|
|
40
|
+
* two that matter: a compaction that **failed** leaves the window full, and one
|
|
41
|
+
* that was **skipped** leaves it full on purpose. Both are the states a reader
|
|
42
|
+
* meets when something is about to go wrong, and both are the states a UI that
|
|
43
|
+
* only draws the happy path renders as nothing at all.
|
|
44
|
+
*
|
|
45
|
+
* The numbers render as far as they are known. While `started`, pass the before
|
|
46
|
+
* figures and no after ones and the row reads `128k tokens · 214 messages`; the
|
|
47
|
+
* arrows arrive with the answer.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* import { CompactionRow } from "@cueplusplus/ui/elements";
|
|
51
|
+
*
|
|
52
|
+
* <CompactionRow
|
|
53
|
+
* state="completed"
|
|
54
|
+
* tokensBefore={128_000}
|
|
55
|
+
* tokensAfter={24_000}
|
|
56
|
+
* messagesBefore={214}
|
|
57
|
+
* messagesAfter={31}
|
|
58
|
+
* />
|
|
59
|
+
* @example
|
|
60
|
+
* <CompactionRow state="skipped" reason="context window still under 60%" />
|
|
61
|
+
*/
|
|
62
|
+
const CompactionRow = React.forwardRef(function CompactionRow({ state, tokensBefore, tokensAfter, messagesBefore, messagesAfter, label, reason, className, ...elementProps }, ref) {
|
|
63
|
+
const said = label ?? COMPACTION_LABELS[state];
|
|
64
|
+
const counts = [figures(tokensBefore, tokensAfter, "tokens"), figures(messagesBefore, messagesAfter, "messages")].filter((part) => part !== null);
|
|
65
|
+
const spoken = [
|
|
66
|
+
said,
|
|
67
|
+
...counts,
|
|
68
|
+
reason
|
|
69
|
+
].filter(Boolean).join(" · ");
|
|
70
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
71
|
+
ref,
|
|
72
|
+
role: "separator",
|
|
73
|
+
"aria-label": spoken,
|
|
74
|
+
"data-slot": "compaction-row",
|
|
75
|
+
"data-state": state,
|
|
76
|
+
className: cn("flex w-full items-center gap-2.5 py-1", className),
|
|
77
|
+
...elementProps,
|
|
78
|
+
children: [
|
|
79
|
+
/* @__PURE__ */ jsx("span", {
|
|
80
|
+
"aria-hidden": true,
|
|
81
|
+
className: "bg-border h-px flex-1"
|
|
82
|
+
}),
|
|
83
|
+
/* @__PURE__ */ jsxs("span", {
|
|
84
|
+
"aria-hidden": true,
|
|
85
|
+
className: "flex min-w-0 shrink items-center gap-2",
|
|
86
|
+
children: [
|
|
87
|
+
state === "started" ? /* @__PURE__ */ jsx(Loader2Icon, { className: "size-3 shrink-0 animate-spin text-stream motion-reduce:animate-none" }) : state === "failed" ? /* @__PURE__ */ jsx(CircleAlertIcon, { className: "size-3 shrink-0 text-danger" }) : state === "cancelled" ? /* @__PURE__ */ jsx(XIcon, { className: "text-fg-subtle size-3 shrink-0" }) : state === "skipped" ? /* @__PURE__ */ jsx(MinusIcon, { className: "text-fg-subtle size-3 shrink-0" }) : /* @__PURE__ */ jsx(FoldVerticalIcon, { className: "text-fg-subtle size-3 shrink-0" }),
|
|
88
|
+
/* @__PURE__ */ jsx("span", {
|
|
89
|
+
className: cn(mono, "shrink-0", state === "failed" ? "text-danger" : "text-fg-subtle"),
|
|
90
|
+
children: said
|
|
91
|
+
}),
|
|
92
|
+
counts.length === 0 ? null : /* @__PURE__ */ jsx("span", {
|
|
93
|
+
className: cn(mono, "text-fg-subtle min-w-0 truncate tabular-nums"),
|
|
94
|
+
children: counts.join(" · ")
|
|
95
|
+
}),
|
|
96
|
+
reason === void 0 ? null : /* @__PURE__ */ jsx("span", {
|
|
97
|
+
className: cn(mono, "text-fg-subtle min-w-0 truncate"),
|
|
98
|
+
children: reason
|
|
99
|
+
})
|
|
100
|
+
]
|
|
101
|
+
}),
|
|
102
|
+
/* @__PURE__ */ jsx("span", {
|
|
103
|
+
"aria-hidden": true,
|
|
104
|
+
className: "bg-border h-px flex-1"
|
|
105
|
+
})
|
|
106
|
+
]
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//#endregion
|
|
110
|
+
export { CompactionRow };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
//#region src/elements/comparison-card.d.ts
|
|
3
|
+
/** One of the options being weighed, and how it answers each trait. */
|
|
4
|
+
interface ComparisonOption {
|
|
5
|
+
/** Stable identity, compared against recommendedId. */
|
|
6
|
+
id: string;
|
|
7
|
+
/** Option name. */
|
|
8
|
+
name: string;
|
|
9
|
+
/** One-line summary under the name. */
|
|
10
|
+
headline: string;
|
|
11
|
+
/**
|
|
12
|
+
* Positional against traitLabels. A string is what the option does; false means it
|
|
13
|
+
* lacks the trait and shows the label struck back.
|
|
14
|
+
*/
|
|
15
|
+
traits: readonly (string | false)[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Two options weighed side by side, with the pick named and argued.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* import { ComparisonCard } from "@cueplusplus/ui/elements";
|
|
22
|
+
*
|
|
23
|
+
* <ComparisonCard
|
|
24
|
+
* traitLabels={traits}
|
|
25
|
+
* options={options}
|
|
26
|
+
* recommendedId="local"
|
|
27
|
+
* reason="You already hold messages in your own store."
|
|
28
|
+
* />
|
|
29
|
+
*/
|
|
30
|
+
declare function ComparisonCard({ traitLabels, options, recommendedId, reason, className, ...props }: Omit<ComponentProps<"div">, "children" | "traitLabels" | "options" | "recommendedId" | "reason"> & {
|
|
31
|
+
/**
|
|
32
|
+
* The dimensions compared, in order. Used as the fallback label when an option lacks
|
|
33
|
+
* a trait.
|
|
34
|
+
*/
|
|
35
|
+
traitLabels: readonly string[];
|
|
36
|
+
/** Two or three options. More than that wants a table, not a comparison. */
|
|
37
|
+
options: readonly ComparisonOption[];
|
|
38
|
+
/** Which option is the pick. It is tinted and labelled rather than merely ordered first. */
|
|
39
|
+
recommendedId: string;
|
|
40
|
+
/**
|
|
41
|
+
* Why that one, in the user's terms. A comparison without a recommendation is an
|
|
42
|
+
* unanswered question.
|
|
43
|
+
*/
|
|
44
|
+
reason: string;
|
|
45
|
+
}): import("react").JSX.Element;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { ComparisonCard, ComparisonOption };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { field, paper } from "./surfaces.js";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { CheckIcon, MinusIcon } from "lucide-react";
|
|
6
|
+
//#region src/elements/comparison-card.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Two options weighed side by side, with the pick named and argued.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* import { ComparisonCard } from "@cueplusplus/ui/elements";
|
|
12
|
+
*
|
|
13
|
+
* <ComparisonCard
|
|
14
|
+
* traitLabels={traits}
|
|
15
|
+
* options={options}
|
|
16
|
+
* recommendedId="local"
|
|
17
|
+
* reason="You already hold messages in your own store."
|
|
18
|
+
* />
|
|
19
|
+
*/
|
|
20
|
+
function ComparisonCard({ traitLabels, options, recommendedId, reason, className, ...props }) {
|
|
21
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
22
|
+
"data-slot": "comparison-card",
|
|
23
|
+
className: cn(paper, "flex w-full max-w-md flex-col gap-3 rounded-(--radius-overlay) p-4", className),
|
|
24
|
+
...props,
|
|
25
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
26
|
+
className: "flex gap-2",
|
|
27
|
+
children: options.map((option) => {
|
|
28
|
+
const recommended = option.id === recommendedId;
|
|
29
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
30
|
+
className: cn("flex min-w-0 flex-1 flex-col gap-2 rounded-(--radius-surface) p-3 transition-colors", recommended ? "bg-stream/10" : field),
|
|
31
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
32
|
+
className: "flex flex-col gap-0.5",
|
|
33
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
34
|
+
className: "flex items-baseline gap-1.5",
|
|
35
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
36
|
+
className: "truncate text-(length:--cue-text-body) font-medium",
|
|
37
|
+
children: option.name
|
|
38
|
+
}), recommended && /* @__PURE__ */ jsx("span", {
|
|
39
|
+
className: cn("font-mono text-(length:--cue-text-label) tracking-tight", "shrink-0 text-stream"),
|
|
40
|
+
children: "pick"
|
|
41
|
+
})]
|
|
42
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
43
|
+
className: "text-fg-muted truncate text-(length:--cue-text-ui)",
|
|
44
|
+
children: option.headline
|
|
45
|
+
})]
|
|
46
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
47
|
+
className: "flex flex-col gap-1",
|
|
48
|
+
children: traitLabels.map((label, i) => {
|
|
49
|
+
const trait = option.traits[i];
|
|
50
|
+
const absent = !trait;
|
|
51
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
52
|
+
className: "flex items-center gap-1.5 text-(length:--cue-text-ui)",
|
|
53
|
+
children: [absent ? /* @__PURE__ */ jsx(MinusIcon, { className: "text-fg-subtle size-3 shrink-0" }) : /* @__PURE__ */ jsx(CheckIcon, { className: "size-3 shrink-0 text-ok" }), /* @__PURE__ */ jsx("span", {
|
|
54
|
+
className: cn("min-w-0 truncate", absent ? "text-fg-subtle" : "text-fg-muted"),
|
|
55
|
+
children: absent ? label : trait
|
|
56
|
+
})]
|
|
57
|
+
}, `${i}-${label}`);
|
|
58
|
+
})
|
|
59
|
+
})]
|
|
60
|
+
}, option.id);
|
|
61
|
+
})
|
|
62
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
63
|
+
className: "text-fg-muted text-(length:--cue-text-ui) leading-(--cue-leading-ui)",
|
|
64
|
+
children: reason
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//#endregion
|
|
69
|
+
export { ComparisonCard };
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
import { LucideIcon } from "lucide-react";
|
|
3
|
+
//#region src/elements/composer.d.ts
|
|
4
|
+
/** One file on its way into a message: what it is, how big, and how far it got. */
|
|
5
|
+
interface ComposerAttachment {
|
|
6
|
+
/** The file name, which is also what the remove button is labelled with. */
|
|
7
|
+
name: string;
|
|
8
|
+
/** The line under the name — a size, a page count, or the reason it failed. */
|
|
9
|
+
meta: string;
|
|
10
|
+
/**
|
|
11
|
+
* `uploading` draws the progress hairline, `done` offers remove, `error` reddens the
|
|
12
|
+
* meta line.
|
|
13
|
+
*/
|
|
14
|
+
state: "uploading" | "done" | "error";
|
|
15
|
+
/** How far the upload got, 0 to 100. Only read while `state` is `uploading`. */
|
|
16
|
+
progress?: number;
|
|
17
|
+
/** Which icon the tile shows. Defaults to the text one. */
|
|
18
|
+
kind?: "image" | "text" | "archive";
|
|
19
|
+
}
|
|
20
|
+
/** One slash command the composer offers, as `/name` plus the line beside it. */
|
|
21
|
+
interface ComposerCommand {
|
|
22
|
+
/** The word after the slash. Matching is a prefix test against what has been typed. */
|
|
23
|
+
name: string;
|
|
24
|
+
/** What the command does, in a few words, beside the name. */
|
|
25
|
+
description: string;
|
|
26
|
+
/** The lucide icon drawn at the start of the row. */
|
|
27
|
+
icon: LucideIcon;
|
|
28
|
+
}
|
|
29
|
+
/** One @-mentionable participant: a person or another agent in the thread. */
|
|
30
|
+
interface ComposerPerson {
|
|
31
|
+
/** Their name, matched as a prefix and written back into the value by `applyMention`. */
|
|
32
|
+
name: string;
|
|
33
|
+
/** Whether this is a person or another agent, shown in mono at the end of the row. */
|
|
34
|
+
role: "agent" | "human";
|
|
35
|
+
}
|
|
36
|
+
/** One row of the model menu — the name, and the line of metadata under it. */
|
|
37
|
+
interface ComposerModel {
|
|
38
|
+
/** The model's name, as it appears in the menu and on the trigger. */
|
|
39
|
+
name: string;
|
|
40
|
+
/** The mono line beside it — a context size, a price, a latency. */
|
|
41
|
+
meta: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* How the context window is spent, in thousands of tokens. The three parts and the
|
|
45
|
+
* size of the window; the element does the division.
|
|
46
|
+
*/
|
|
47
|
+
interface ComposerUsage {
|
|
48
|
+
/** Thousands of tokens held by the system prompt. */
|
|
49
|
+
system: number;
|
|
50
|
+
/** Thousands of tokens held by the tool definitions. */
|
|
51
|
+
tools: number;
|
|
52
|
+
/** Thousands of tokens held by the conversation so far. */
|
|
53
|
+
messages: number;
|
|
54
|
+
/**
|
|
55
|
+
* The size of the window, in the same thousands. Zero means unknown, and the dial
|
|
56
|
+
* reads empty.
|
|
57
|
+
*/
|
|
58
|
+
total: number;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Commands whose name starts with the slash query, or none when not typing one.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* import { ComposerCommandItem, ComposerMenu, useSlashMatches } from "@cueplusplus/ui/elements";
|
|
65
|
+
*
|
|
66
|
+
* const matches = useSlashMatches(value, commands);
|
|
67
|
+
*
|
|
68
|
+
* <ComposerMenu open={matches.length > 0}>
|
|
69
|
+
* {matches.map((command, index) => (
|
|
70
|
+
* <ComposerCommandItem
|
|
71
|
+
* key={command.name}
|
|
72
|
+
* command={command}
|
|
73
|
+
* active={index === active}
|
|
74
|
+
* onClick={() => setValue(`/${command.name} `)}
|
|
75
|
+
* />
|
|
76
|
+
* ))}
|
|
77
|
+
* </ComposerMenu>
|
|
78
|
+
*/
|
|
79
|
+
declare function useSlashMatches(
|
|
80
|
+
/** What is in the input. Only a value starting with `/` matches anything. */
|
|
81
|
+
value: string,
|
|
82
|
+
/** The commands on offer, or nothing when the composer has none. */
|
|
83
|
+
commands: readonly ComposerCommand[] | undefined): ComposerCommand[];
|
|
84
|
+
/**
|
|
85
|
+
* People matching a trailing @mention, or none when the caret is not in one.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* import { ComposerMenu, ComposerPersonItem, applyMention, useMentionMatches } from "@cueplusplus/ui/elements";
|
|
89
|
+
*
|
|
90
|
+
* const matches = useMentionMatches(value, people);
|
|
91
|
+
*
|
|
92
|
+
* <ComposerMenu open={matches.length > 0} align="end">
|
|
93
|
+
* {matches.map((person, index) => (
|
|
94
|
+
* <ComposerPersonItem
|
|
95
|
+
* key={person.name}
|
|
96
|
+
* person={person}
|
|
97
|
+
* active={index === active}
|
|
98
|
+
* onClick={() => setValue(applyMention(value, person.name))}
|
|
99
|
+
* />
|
|
100
|
+
* ))}
|
|
101
|
+
* </ComposerMenu>
|
|
102
|
+
*/
|
|
103
|
+
declare function useMentionMatches(
|
|
104
|
+
/** What is in the input. Only a trailing `@word` matches anything. */
|
|
105
|
+
value: string,
|
|
106
|
+
/** Who can be mentioned, or nothing when the composer mentions nobody. */
|
|
107
|
+
people: readonly ComposerPerson[] | undefined): ComposerPerson[];
|
|
108
|
+
/** Replaces the trailing @mention with the chosen name. */
|
|
109
|
+
declare function applyMention(value: string, name: string): string;
|
|
110
|
+
/**
|
|
111
|
+
* The unified input: attachments, commands, mentions, models, voice, and context in
|
|
112
|
+
* one surface.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* import {
|
|
116
|
+
* Composer,
|
|
117
|
+
* ComposerActions,
|
|
118
|
+
* ComposerAttachButton,
|
|
119
|
+
* ComposerBar,
|
|
120
|
+
* ComposerInput,
|
|
121
|
+
* ComposerSend,
|
|
122
|
+
* ComposerToolbar,
|
|
123
|
+
* } from "@cueplusplus/ui/elements";
|
|
124
|
+
*
|
|
125
|
+
* <Composer>
|
|
126
|
+
* <ComposerBar>
|
|
127
|
+
* <ComposerInput value={value} placeholder="Ask anything" onChange={onChange} onSubmit={send} />
|
|
128
|
+
* <ComposerToolbar>
|
|
129
|
+
* <ComposerActions><ComposerAttachButton onClick={pick} /></ComposerActions>
|
|
130
|
+
* <ComposerActions><ComposerSend streaming={false} idle={!value} onClick={send} /></ComposerActions>
|
|
131
|
+
* </ComposerToolbar>
|
|
132
|
+
* </ComposerBar>
|
|
133
|
+
* </Composer>
|
|
134
|
+
*/
|
|
135
|
+
declare function ElementsComposer({ className, ...props }: ComponentProps<"div">): import("react").JSX.Element;
|
|
136
|
+
/**
|
|
137
|
+
* The bar itself: the paper the input, the attachments and the toolbar sit on.
|
|
138
|
+
* `dragActive` tints it while a file is over it, which is the only feedback a drop
|
|
139
|
+
* target gets before the drop.
|
|
140
|
+
*/
|
|
141
|
+
declare function ComposerBar({ dragActive, className, ...props }: ComponentProps<"div"> & {
|
|
142
|
+
/** Whether a file is being dragged over the bar. */
|
|
143
|
+
dragActive?: boolean;
|
|
144
|
+
}): import("react").JSX.Element;
|
|
145
|
+
/**
|
|
146
|
+
* The popover the slash and mention menus are drawn in, anchored above the bar. It
|
|
147
|
+
* animates open rather than mounting, so the caret never moves under it.
|
|
148
|
+
*/
|
|
149
|
+
declare function ComposerMenu({ open, align, className, ...props }: ComponentProps<"div"> & {
|
|
150
|
+
/** Whether the menu is showing. Closed is animated out, not unmounted. */
|
|
151
|
+
open: boolean;
|
|
152
|
+
/** Which edge of the composer the menu hangs from. */
|
|
153
|
+
align?: "start" | "end";
|
|
154
|
+
}): import("react").JSX.Element;
|
|
155
|
+
/**
|
|
156
|
+
* One row of a `ComposerMenu`, and the chassis the command, person and model rows are
|
|
157
|
+
* built on.
|
|
158
|
+
*/
|
|
159
|
+
declare function ComposerMenuItem({ active, className, ...props }: ComponentProps<"button"> & {
|
|
160
|
+
/** Whether this is the row the keyboard is on. */
|
|
161
|
+
active?: boolean;
|
|
162
|
+
}): import("react").JSX.Element;
|
|
163
|
+
/**
|
|
164
|
+
* A slash command in the menu: its icon, `/name`, what it does, and the return key on
|
|
165
|
+
* the active row.
|
|
166
|
+
*/
|
|
167
|
+
declare function ComposerCommandItem({ command, active, ...props }: Omit<ComponentProps<"button">, "children"> & {
|
|
168
|
+
/** The command this row offers. */
|
|
169
|
+
command: ComposerCommand;
|
|
170
|
+
/** Whether this is the row Enter would run. */
|
|
171
|
+
active: boolean;
|
|
172
|
+
}): import("react").JSX.Element;
|
|
173
|
+
/**
|
|
174
|
+
* A mentionable person in the menu: their initial, their name, and whether they are an
|
|
175
|
+
* agent or a human.
|
|
176
|
+
*/
|
|
177
|
+
declare function ComposerPersonItem({ person, active, ...props }: Omit<ComponentProps<"button">, "children"> & {
|
|
178
|
+
/** The person this row would mention. */
|
|
179
|
+
person: ComposerPerson;
|
|
180
|
+
/** Whether this is the row Enter would pick. */
|
|
181
|
+
active: boolean;
|
|
182
|
+
}): import("react").JSX.Element;
|
|
183
|
+
/** The rail the attachment chips wrap in, above the input. */
|
|
184
|
+
declare function ComposerAttachments({ className, ...props }: ComponentProps<"div">): import("react").JSX.Element;
|
|
185
|
+
/**
|
|
186
|
+
* One attached file as a chip: an icon for its kind, its name and size, and — while it
|
|
187
|
+
* uploads — a progress hairline along the bottom edge. A finished one offers remove, a
|
|
188
|
+
* failed one says so in its meta line.
|
|
189
|
+
*/
|
|
190
|
+
declare function ComposerAttachmentChip({ attachment, onRemove, className, ...props }: Omit<ComponentProps<"div">, "children"> & {
|
|
191
|
+
/** The file this chip stands for. */
|
|
192
|
+
attachment: ComposerAttachment;
|
|
193
|
+
/**
|
|
194
|
+
* Called with the attachment's name. Omit it and a finished chip shows a tick
|
|
195
|
+
* instead of a remove button.
|
|
196
|
+
*/
|
|
197
|
+
onRemove?: (name: string) => void;
|
|
198
|
+
}): import("react").JSX.Element;
|
|
199
|
+
/**
|
|
200
|
+
* The text field. Enter submits, guarded against IME composition so accepting a
|
|
201
|
+
* candidate does not send the message.
|
|
202
|
+
*/
|
|
203
|
+
declare function ComposerInput({ onSubmit, onKeyDown, className, ...props }: Omit<ComponentProps<"input">, "onSubmit"> & {
|
|
204
|
+
/**
|
|
205
|
+
* Called on Enter, guarded against IME composition so accepting a candidate does not
|
|
206
|
+
* send.
|
|
207
|
+
*/
|
|
208
|
+
onSubmit?: () => void;
|
|
209
|
+
}): import("react").JSX.Element;
|
|
210
|
+
/**
|
|
211
|
+
* What replaces the input while the microphone is open: a level meter, a running clock
|
|
212
|
+
* while recording, and a shimmering `Transcribing` once it stops.
|
|
213
|
+
*/
|
|
214
|
+
declare function ComposerVoice({ recording, seconds, className, ...props }: Omit<ComponentProps<"div">, "children"> & {
|
|
215
|
+
/** Whether the microphone is open. False is the transcribing state, not the resting one. */
|
|
216
|
+
recording: boolean;
|
|
217
|
+
/**
|
|
218
|
+
* How long it has been recording. Drives both the clock and the meter, so the caller
|
|
219
|
+
* owns the tick.
|
|
220
|
+
*/
|
|
221
|
+
seconds: number;
|
|
222
|
+
}): import("react").JSX.Element;
|
|
223
|
+
/** The row under the input, which holds the two `ComposerActions` clusters. */
|
|
224
|
+
declare function ComposerToolbar({ className, ...props }: ComponentProps<"div">): import("react").JSX.Element;
|
|
225
|
+
/** One cluster of controls in the toolbar. Two of them, one at each end. */
|
|
226
|
+
declare function ComposerActions({ className, ...props }: ComponentProps<"div">): import("react").JSX.Element;
|
|
227
|
+
/**
|
|
228
|
+
* The paperclip, as a plus. Disabled when no handler is given, rather than rendering a
|
|
229
|
+
* control that does nothing.
|
|
230
|
+
*/
|
|
231
|
+
declare function ComposerAttachButton({ className, ...props }: Omit<ComponentProps<"button">, "children">): import("react").JSX.Element;
|
|
232
|
+
/**
|
|
233
|
+
* The model name in the toolbar, which opens the model menu. Carries `aria-expanded`
|
|
234
|
+
* for it.
|
|
235
|
+
*/
|
|
236
|
+
declare function ComposerModelTrigger({ model, open, className, ...props }: Omit<ComponentProps<"button">, "children"> & {
|
|
237
|
+
/** The name to show, which is the selected model. */
|
|
238
|
+
model: string;
|
|
239
|
+
/** Whether the menu it opens is showing. Announced as `aria-expanded`. */
|
|
240
|
+
open: boolean;
|
|
241
|
+
}): import("react").JSX.Element;
|
|
242
|
+
/** One model in the menu, with its metadata and a tick on the chosen one. */
|
|
243
|
+
declare function ComposerModelItem({ entry, selected, ...props }: Omit<ComponentProps<"button">, "children"> & {
|
|
244
|
+
/** The model this row offers. */
|
|
245
|
+
entry: ComposerModel;
|
|
246
|
+
/** Whether this is the model in use. Draws the tick. */
|
|
247
|
+
selected: boolean;
|
|
248
|
+
}): import("react").JSX.Element;
|
|
249
|
+
/**
|
|
250
|
+
* The context-window dial in the toolbar, with the breakdown on hover or focus. It
|
|
251
|
+
* turns danger-coloured past 85%, which is the point where the next long tool result
|
|
252
|
+
* starts costing the conversation its own history.
|
|
253
|
+
*/
|
|
254
|
+
declare function ComposerContext({ usage, className, ...props }: Omit<ComponentProps<"div">, "children"> & {
|
|
255
|
+
/** Where the window has gone, and how big it is. */
|
|
256
|
+
usage: ComposerUsage;
|
|
257
|
+
}): import("react").JSX.Element;
|
|
258
|
+
/** The microphone, which becomes a filled stop while recording. */
|
|
259
|
+
declare function ComposerVoiceButton({ active, className, ...props }: Omit<ComponentProps<"button">, "children"> & {
|
|
260
|
+
/** Whether the microphone is open. */
|
|
261
|
+
active: boolean;
|
|
262
|
+
}): import("react").JSX.Element;
|
|
263
|
+
/**
|
|
264
|
+
* Send, which becomes stop while the model is streaming. Dim when the input is empty
|
|
265
|
+
* and there is nothing to send; the arrow and the square cross-fade rather than swap.
|
|
266
|
+
*/
|
|
267
|
+
declare function ComposerSend({ streaming, idle, className, ...props }: Omit<ComponentProps<"button">, "children"> & {
|
|
268
|
+
/** Swaps the arrow for a stop square. */
|
|
269
|
+
streaming: boolean;
|
|
270
|
+
/** Whether the input is empty. Dims the button when there is nothing to send. */
|
|
271
|
+
idle: boolean;
|
|
272
|
+
}): import("react").JSX.Element;
|
|
273
|
+
//#endregion
|
|
274
|
+
export { ComposerActions, ComposerAttachButton, ComposerAttachment, ComposerAttachmentChip, ComposerAttachments, ComposerBar, ComposerCommand, ComposerCommandItem, ComposerContext, ComposerInput, ComposerMenu, ComposerMenuItem, ComposerModel, ComposerModelItem, ComposerModelTrigger, ComposerPerson, ComposerPersonItem, ComposerSend, ComposerToolbar, ComposerUsage, ComposerVoice, ComposerVoiceButton, ElementsComposer, applyMention, useMentionMatches, useSlashMatches };
|