@cueplusplus/ui 0.3.0 → 0.6.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 +2263 -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/chat/index.d.ts +2 -2
- package/dist/chat/message-list.d.ts +6 -0
- package/dist/chat/message-list.js +35 -0
- package/dist/chrome/_drag.js +59 -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/app-shell.d.ts +120 -2
- package/dist/chrome/app-shell.js +107 -8
- package/dist/chrome/index.d.ts +4 -3
- package/dist/chrome/status-bar.d.ts +87 -4
- package/dist/chrome/status-bar.js +80 -16
- package/dist/chrome/title-bar.d.ts +11 -1
- package/dist/chrome/title-bar.js +1 -3
- package/dist/configurator/_export.js +3 -2
- package/dist/configurator/_overrides.d.ts +1 -1
- package/dist/configurator/token-editor.js +4 -1
- package/dist/date/_segments.js +52 -6
- 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 +121 -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 +107 -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/forms/_chassis.d.ts +104 -4
- package/dist/forms/_chassis.js +104 -4
- package/dist/forms/input-group.d.ts +8 -3
- package/dist/forms/input-group.js +8 -3
- package/dist/forms/number-field.d.ts +3 -2
- package/dist/forms/number-field.js +3 -2
- 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 +12 -6
- package/dist/index.js +5 -1
- package/dist/instruments/_data-row.js +118 -0
- package/dist/instruments/data-row.d.ts +94 -0
- package/dist/instruments/data-row.js +151 -0
- package/dist/instruments/data-tree.d.ts +126 -0
- package/dist/instruments/data-tree.js +303 -0
- package/dist/instruments/index.d.ts +5 -2
- package/dist/instruments/index.js +4 -1
- package/dist/instruments/ledger.d.ts +105 -0
- package/dist/instruments/ledger.js +114 -0
- package/dist/instruments/table.d.ts +70 -2
- package/dist/instruments/table.js +133 -39
- package/dist/instruments/two-step-button.js +25 -6
- package/dist/layout/sidebar.d.ts +19 -1
- package/dist/layout/sidebar.js +19 -1
- package/dist/primitives/button.js +11 -1
- package/dist/primitives/chip.d.ts +35 -9
- package/dist/primitives/chip.js +97 -11
- package/dist/system/agent-skin.d.ts +27 -0
- package/dist/system/agent-skin.js +20 -0
- package/dist/system/portal.d.ts +5 -3
- package/dist/system/portal.js +19 -5
- package/dist/system/theme-provider.js +54 -9
- package/dist/system/use-density.d.ts +9 -0
- package/dist/system/use-density.js +9 -0
- package/dist/system/use-isomorphic-layout-effect.js +19 -1
- package/dist/theming/_presets.d.ts +1 -1
- package/dist/theming/_presets.js +74 -11
- package/dist/theming/contrast.d.ts +16 -4
- package/dist/theming/contrast.js +33 -6
- package/dist/theming/create-theme.d.ts +6 -2
- package/dist/theming/create-theme.js +32 -5
- package/dist/theming/serialize.d.ts +10 -1
- package/dist/theming/serialize.js +62 -8
- package/manifest/components/activity-graph.json +88 -0
- package/manifest/components/agent-card.json +120 -0
- package/manifest/components/agent-handoff.json +87 -0
- package/manifest/components/agent-mode-badge.json +84 -0
- package/manifest/components/agent-plan.json +67 -0
- package/manifest/components/agent-status.json +73 -0
- package/manifest/components/agent-surface.json +78 -0
- package/manifest/components/alert-dialog.json +1 -1
- package/manifest/components/animated-number.json +67 -0
- package/manifest/components/app-shell.json +142 -9
- package/manifest/components/approval-card.json +106 -0
- package/manifest/components/artifact-card.json +81 -0
- package/manifest/components/audience-icon.json +52 -0
- package/manifest/components/autocomplete.json +2 -0
- package/manifest/components/background-inbox.json +71 -0
- package/manifest/components/branch-picker.json +124 -0
- package/manifest/components/button.json +1 -0
- package/manifest/components/canvas-split-body.json +62 -0
- package/manifest/components/canvas-split-document.json +54 -0
- package/manifest/components/canvas-split-header.json +83 -0
- package/manifest/components/canvas-split-line.json +62 -0
- package/manifest/components/canvas-split-message.json +62 -0
- package/manifest/components/canvas-split-thread.json +54 -0
- package/manifest/components/canvas-split.json +60 -0
- package/manifest/components/catalogue-icon.json +52 -0
- package/manifest/components/channel-beta-icon.json +52 -0
- package/manifest/components/channel-released-icon.json +52 -0
- package/manifest/components/chart.json +93 -0
- package/manifest/components/chat-empty-state.json +55 -0
- package/manifest/components/chat-panel-assistant-message.json +51 -0
- package/manifest/components/chat-panel-composer.json +66 -0
- package/manifest/components/chat-panel-messages.json +51 -0
- package/manifest/components/chat-panel-typing.json +51 -0
- package/manifest/components/chat-panel-user-message.json +51 -0
- package/manifest/components/chat-panel.json +57 -0
- package/manifest/components/checkpoint-history.json +80 -0
- package/manifest/components/chip.json +24 -12
- package/manifest/components/clamp.json +102 -0
- package/manifest/components/cli-tool-icon.json +52 -0
- package/manifest/components/code-diff.json +87 -0
- package/manifest/components/code-runner.json +97 -0
- package/manifest/components/color-field.json +2 -0
- package/manifest/components/color-picker.json +2 -0
- package/manifest/components/combobox.json +2 -0
- package/manifest/components/compaction-row.json +100 -0
- package/manifest/components/comparison-card.json +83 -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 +75 -0
- package/manifest/components/composer-attachments.json +60 -0
- package/manifest/components/composer-bar.json +73 -0
- package/manifest/components/composer-command-item.json +79 -0
- package/manifest/components/composer-context.json +67 -0
- package/manifest/components/composer-input.json +73 -0
- package/manifest/components/composer-menu-item.json +72 -0
- package/manifest/components/composer-menu.json +79 -0
- package/manifest/components/composer-model-item.json +75 -0
- package/manifest/components/composer-model-trigger.json +75 -0
- package/manifest/components/composer-person-item.json +79 -0
- package/manifest/components/composer-send.json +80 -0
- package/manifest/components/composer-toolbar.json +65 -0
- package/manifest/components/composer-voice-button.json +68 -0
- package/manifest/components/composer-voice.json +75 -0
- package/manifest/components/composer.json +2 -0
- package/manifest/components/computer-use.json +84 -0
- package/manifest/components/confidence-marker.json +74 -0
- package/manifest/components/connection-state.json +84 -0
- package/manifest/components/context-breakdown.json +65 -0
- package/manifest/components/context-usage.json +85 -0
- package/manifest/components/conversation-search.json +92 -0
- package/manifest/components/cost-meter.json +74 -0
- package/manifest/components/cue-portal-frame.json +1 -1
- package/manifest/components/data-row.json +203 -0
- package/manifest/components/data-tree.json +151 -0
- package/manifest/components/date-field.json +2 -0
- package/manifest/components/date-picker.json +2 -0
- package/manifest/components/date-range-picker.json +2 -0
- package/manifest/components/day-separator.json +58 -0
- package/manifest/components/delegation-card.json +1 -1
- package/manifest/components/density.json +1 -1
- package/manifest/components/diagram.json +100 -0
- package/manifest/components/document-reference.json +90 -0
- package/manifest/components/draft-restore.json +82 -0
- package/manifest/components/drawer.json +1 -1
- package/manifest/components/dropdown-menu.json +1 -1
- package/manifest/components/edit-message.json +105 -0
- package/manifest/components/elements-command-palette.json +100 -0
- package/manifest/components/elements-composer.json +71 -0
- package/manifest/components/elements-data-table.json +68 -0
- package/manifest/components/elements-timeline.json +69 -0
- package/manifest/components/elicitation-form.json +103 -0
- package/manifest/components/empty-state-composer.json +64 -0
- package/manifest/components/empty-state-greeting.json +49 -0
- package/manifest/components/empty-state-suggestion.json +57 -0
- package/manifest/components/empty-state-suggestions.json +49 -0
- package/manifest/components/end-of-turn-summary.json +77 -0
- package/manifest/components/env-var-input.json +2 -0
- package/manifest/components/error-state.json +80 -0
- package/manifest/components/feedback-dialog.json +107 -0
- package/manifest/components/file-tree.json +83 -0
- package/manifest/components/flow-graph.json +75 -0
- package/manifest/components/folder-icon.json +52 -0
- package/manifest/components/frac.json +59 -0
- package/manifest/components/generation-loader.json +64 -0
- package/manifest/components/generative-ui.json +93 -0
- package/manifest/components/guardrail-notice.json +91 -0
- package/manifest/components/hover-card.json +1 -1
- package/manifest/components/image-generation.json +67 -0
- package/manifest/components/info-tip.json +1 -1
- package/manifest/components/inline-citation.json +77 -0
- package/manifest/components/input-group.json +4 -2
- package/manifest/components/input.json +3 -1
- package/manifest/components/job-progress.json +96 -0
- package/manifest/components/launcher-bubble.json +105 -0
- package/manifest/components/ledger.json +187 -0
- package/manifest/components/live-region-announcer.json +79 -0
- package/manifest/components/map-answer.json +83 -0
- package/manifest/components/markdown-text.json +94 -0
- package/manifest/components/math-block.json +74 -0
- package/manifest/components/mcp-server-icon.json +52 -0
- package/manifest/components/mcp-server-panel.json +87 -0
- package/manifest/components/memory-chips.json +65 -0
- package/manifest/components/message-actions.json +99 -0
- package/manifest/components/message-attachments.json +63 -0
- package/manifest/components/message-branches.json +71 -0
- package/manifest/components/message-list.json +1 -1
- package/manifest/components/message-pair.json +86 -0
- package/manifest/components/message-queue.json +74 -0
- package/manifest/components/message-timing.json +62 -0
- package/manifest/components/mobile-composer.json +126 -0
- package/manifest/components/model-picker.json +76 -0
- package/manifest/components/multi-select.json +2 -0
- package/manifest/components/musical-time-input.json +2 -0
- package/manifest/components/node-card.json +1 -1
- package/manifest/components/node-handle.json +1 -1
- package/manifest/components/number-field.json +3 -1
- package/manifest/components/number-ticker.json +61 -0
- package/manifest/components/onboarding.json +84 -0
- package/manifest/components/otp-field.json +9 -7
- package/manifest/components/password-input.json +2 -0
- package/manifest/components/permission-grant.json +92 -0
- package/manifest/components/permission-scopes.json +139 -0
- package/manifest/components/popover.json +1 -1
- package/manifest/components/prompt-library.json +99 -0
- package/manifest/components/queue-dock.json +110 -0
- package/manifest/components/quota-banner.json +94 -0
- package/manifest/components/quote-reply.json +105 -0
- package/manifest/components/read-aloud.json +111 -0
- package/manifest/components/reasoning-effort.json +81 -0
- package/manifest/components/reasoning-panel.json +108 -0
- package/manifest/components/recommendation-card.json +107 -0
- package/manifest/components/regenerate-menu.json +89 -0
- package/manifest/components/replay-player.json +102 -0
- package/manifest/components/research-report.json +76 -0
- package/manifest/components/retrieval-chunks.json +84 -0
- package/manifest/components/revert-dock.json +150 -0
- package/manifest/components/reviewable-diff.json +93 -0
- package/manifest/components/risk-badge.json +74 -0
- package/manifest/components/schedule-card.json +101 -0
- package/manifest/components/score-breakdown.json +91 -0
- package/manifest/components/scroll-anchor.json +72 -0
- package/manifest/components/scroll-area.json +7 -7
- package/manifest/components/scrub-input.json +2 -0
- package/manifest/components/search-input.json +9 -7
- package/manifest/components/segmented-control.json +21 -21
- package/manifest/components/select.json +1 -0
- package/manifest/components/settings-panel.json +118 -0
- package/manifest/components/shared-conversation.json +89 -0
- package/manifest/components/shimmer-label.json +59 -0
- package/manifest/components/skill-icon.json +52 -0
- package/manifest/components/sources.json +83 -0
- package/manifest/components/speaker-identity.json +61 -0
- package/manifest/components/spec-sheet.json +80 -0
- package/manifest/components/stack-icon.json +52 -0
- package/manifest/components/stacks-matrix-icon.json +52 -0
- package/manifest/components/stat.json +1 -1
- package/manifest/components/status-bar.json +146 -12
- package/manifest/components/status-dot.json +1 -1
- package/manifest/components/stopped-run.json +81 -0
- package/manifest/components/streaming-text.json +71 -0
- package/manifest/components/sub.json +44 -0
- package/manifest/components/subagent-list.json +88 -0
- package/manifest/components/suggestions.json +84 -0
- package/manifest/components/sup.json +44 -0
- package/manifest/components/swap-label.json +71 -0
- package/manifest/components/table-scroll-region.json +6 -0
- package/manifest/components/table.json +88 -4
- package/manifest/components/tags-input.json +2 -0
- package/manifest/components/tail-status.json +109 -0
- package/manifest/components/terminal-block.json +91 -0
- package/manifest/components/textarea.json +3 -1
- package/manifest/components/theme-provider.json +2 -2
- package/manifest/components/thinking-indicator.json +63 -0
- package/manifest/components/thread-list.json +76 -0
- package/manifest/components/thread-search.json +90 -0
- package/manifest/components/threshold-rail.json +2 -2
- package/manifest/components/time-boundary.json +62 -0
- package/manifest/components/time-field.json +2 -0
- package/manifest/components/timeline.json +1 -1
- package/manifest/components/title-bar.json +1 -1
- package/manifest/components/todo-list.json +69 -0
- package/manifest/components/toggle-group.json +9 -7
- package/manifest/components/toggle.json +2 -0
- package/manifest/components/token-editor.json +1 -1
- package/manifest/components/tool-call-card.json +200 -0
- package/manifest/components/tool-call.json +119 -0
- package/manifest/components/tool-error.json +114 -0
- package/manifest/components/tool-group.json +83 -0
- package/manifest/components/tool-timeline.json +119 -0
- package/manifest/components/toolbar.json +7 -7
- package/manifest/components/tooltip.json +1 -1
- package/manifest/components/trace-waterfall.json +74 -0
- package/manifest/components/turn-footer.json +105 -0
- package/manifest/components/typing-indicator.json +53 -0
- package/manifest/components/unread-divider.json +55 -0
- package/manifest/components/usage-chart.json +1 -1
- package/manifest/components/verdict-row.json +91 -0
- package/manifest/components/voice-conversation.json +109 -0
- package/manifest/components/web-preview.json +87 -0
- package/manifest/components/web-search.json +92 -0
- package/manifest/components/work-collapse.json +102 -0
- package/manifest/manifest.json +2736 -60
- package/manifest/tokens.json +22 -1
- package/package.json +44 -2
|
@@ -7,6 +7,13 @@
|
|
|
7
7
|
"clientOnly": true,
|
|
8
8
|
"description": "A filter box: leading magnifier, Escape to clear, and a debounced change\ncallback for whatever the query drives.\n\nEscape-to-clear is the reason this is a component and not a recipe. It is the\nbehaviour every console filter needs and the one every hand-rolled search box\nforgets, and getting it right means also stopping the key from bubbling into a\ndialog that would otherwise close underneath the user.\n\nDebouncing is deliberately separate from `onValueChange`: the input stays\nresponsive on every keystroke while the expensive work waits for the typing to\nstop. Clearing flushes the debounce rather than scheduling it.",
|
|
9
9
|
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "defaultValue",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "Initial query for an uncontrolled input."
|
|
16
|
+
},
|
|
10
17
|
{
|
|
11
18
|
"name": "className",
|
|
12
19
|
"type": "string",
|
|
@@ -21,13 +28,6 @@
|
|
|
21
28
|
"defaultValue": null,
|
|
22
29
|
"description": "Rung of the control ladder. Defaults to `\"md\"`."
|
|
23
30
|
},
|
|
24
|
-
{
|
|
25
|
-
"name": "defaultValue",
|
|
26
|
-
"type": "string",
|
|
27
|
-
"required": false,
|
|
28
|
-
"defaultValue": null,
|
|
29
|
-
"description": "Initial query for an uncontrolled input."
|
|
30
|
-
},
|
|
31
31
|
{
|
|
32
32
|
"name": "debounce",
|
|
33
33
|
"type": "number",
|
|
@@ -88,12 +88,14 @@
|
|
|
88
88
|
"tokensUsed": [
|
|
89
89
|
"--cue-accent",
|
|
90
90
|
"--cue-border",
|
|
91
|
+
"--cue-border-strong",
|
|
91
92
|
"--cue-control-lg",
|
|
92
93
|
"--cue-control-md",
|
|
93
94
|
"--cue-control-sm",
|
|
94
95
|
"--cue-danger",
|
|
95
96
|
"--cue-fg",
|
|
96
97
|
"--cue-fg-subtle",
|
|
98
|
+
"--cue-focus",
|
|
97
99
|
"--cue-font-mono",
|
|
98
100
|
"--cue-icon-md",
|
|
99
101
|
"--cue-icon-sm",
|
|
@@ -7,6 +7,13 @@
|
|
|
7
7
|
"clientOnly": true,
|
|
8
8
|
"description": "A one-of-N switch drawn as a row of segments: the console's view picker.\n\nBuilt on Base UI's `ToggleGroup`, so arrow-key roving focus and the\npressed-state ARIA come from the primitive. Two rules are added on top:\n\n1. **It cannot be emptied.** A toggle group lets you unpress the pressed\n item; a segmented control is a choice between N things, so clicking the\n active segment is a no-op rather than a way to end up with nothing\n selected. This is why the underlying group is always controlled here, even\n when the wrapper is not.\n2. **The active segment is tinted, not filled** — see {@link ITEM_CLASSES}.\n\nGive the group an `aria-label`: on its own it is an unnamed group of buttons.",
|
|
9
9
|
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "defaultValue",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "The initially picked value when uncontrolled."
|
|
16
|
+
},
|
|
10
17
|
{
|
|
11
18
|
"name": "className",
|
|
12
19
|
"type": "string",
|
|
@@ -14,6 +21,20 @@
|
|
|
14
21
|
"defaultValue": null,
|
|
15
22
|
"description": "Extra classes for the group frame."
|
|
16
23
|
},
|
|
24
|
+
{
|
|
25
|
+
"name": "previousLabel",
|
|
26
|
+
"type": "string",
|
|
27
|
+
"required": false,
|
|
28
|
+
"defaultValue": "Show earlier segments",
|
|
29
|
+
"description": "Accessible name for the chevron that reveals segments off the leading edge."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "nextLabel",
|
|
33
|
+
"type": "string",
|
|
34
|
+
"required": false,
|
|
35
|
+
"defaultValue": "Show later segments",
|
|
36
|
+
"description": "Accessible name for the chevron that reveals segments off the trailing edge."
|
|
37
|
+
},
|
|
17
38
|
{
|
|
18
39
|
"name": "overflow",
|
|
19
40
|
"type": "\"clip\" | \"scroll\"",
|
|
@@ -28,13 +49,6 @@
|
|
|
28
49
|
"defaultValue": "md",
|
|
29
50
|
"description": "Which rung of the control ladder to sit on. Defaults to `\"md\"`."
|
|
30
51
|
},
|
|
31
|
-
{
|
|
32
|
-
"name": "defaultValue",
|
|
33
|
-
"type": "string",
|
|
34
|
-
"required": false,
|
|
35
|
-
"defaultValue": null,
|
|
36
|
-
"description": "The initially picked value when uncontrolled."
|
|
37
|
-
},
|
|
38
52
|
{
|
|
39
53
|
"name": "value",
|
|
40
54
|
"type": "string",
|
|
@@ -49,20 +63,6 @@
|
|
|
49
63
|
"defaultValue": null,
|
|
50
64
|
"description": "Called with the newly picked value. Never called with `undefined`."
|
|
51
65
|
},
|
|
52
|
-
{
|
|
53
|
-
"name": "previousLabel",
|
|
54
|
-
"type": "string",
|
|
55
|
-
"required": false,
|
|
56
|
-
"defaultValue": "Show earlier segments",
|
|
57
|
-
"description": "Accessible name for the chevron that reveals segments off the leading edge."
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"name": "nextLabel",
|
|
61
|
-
"type": "string",
|
|
62
|
-
"required": false,
|
|
63
|
-
"defaultValue": "Show later segments",
|
|
64
|
-
"description": "Accessible name for the chevron that reveals segments off the trailing edge."
|
|
65
|
-
},
|
|
66
66
|
{
|
|
67
67
|
"name": "items",
|
|
68
68
|
"type": "readonly SegmentedControlItem[]",
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SettingsPanel",
|
|
3
|
+
"slug": "settings-panel",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "Model, system prompt, temperature, and what the assistant is allowed to do.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "model",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"required": true,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "Selected model."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "models",
|
|
19
|
+
"type": "readonly string[]",
|
|
20
|
+
"required": true,
|
|
21
|
+
"defaultValue": null,
|
|
22
|
+
"description": "Models offered in the segmented control. Keep it to a few; more wants the model\npicker."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "systemPrompt",
|
|
26
|
+
"type": "string",
|
|
27
|
+
"required": true,
|
|
28
|
+
"defaultValue": null,
|
|
29
|
+
"description": "Current system prompt."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "temperature",
|
|
33
|
+
"type": "number",
|
|
34
|
+
"required": true,
|
|
35
|
+
"defaultValue": null,
|
|
36
|
+
"description": "Current temperature, 0 to 2."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "toggles",
|
|
40
|
+
"type": "readonly SettingToggle[]",
|
|
41
|
+
"required": true,
|
|
42
|
+
"defaultValue": null,
|
|
43
|
+
"description": "Capability switches with a line each explaining what they turn on."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "onModelChange",
|
|
47
|
+
"type": "((model: string) => void)",
|
|
48
|
+
"required": false,
|
|
49
|
+
"defaultValue": null,
|
|
50
|
+
"description": "Called when the model changes."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "onSystemPromptChange",
|
|
54
|
+
"type": "((prompt: string) => void)",
|
|
55
|
+
"required": false,
|
|
56
|
+
"defaultValue": null,
|
|
57
|
+
"description": "Called as the prompt is edited."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "onTemperatureChange",
|
|
61
|
+
"type": "((temperature: number) => void)",
|
|
62
|
+
"required": false,
|
|
63
|
+
"defaultValue": null,
|
|
64
|
+
"description": "Called as the slider moves."
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "onToggle",
|
|
68
|
+
"type": "((key: string) => void)",
|
|
69
|
+
"required": false,
|
|
70
|
+
"defaultValue": null,
|
|
71
|
+
"description": "Called with the switched capability's key."
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"typeReferences": [
|
|
75
|
+
"Omit<\n ComponentProps<\"div\">,\n | \"children\"\n | \"model\"\n | \"models\"\n | \"systemPrompt\"\n | \"temperature\"\n | \"toggles\"\n | \"onModelChange\"\n | \"onSystemPromptChange\"\n | \"onTemperatureChange\"\n | \"onToggle\"\n> & {\n /** Selected model. */\n model: string;\n /**\n * Models offered in the segmented control. Keep it to a few; more wants the model\n * picker.\n */\n models: readonly string[];\n /** Current system prompt. */\n systemPrompt: string;\n /** Current temperature, 0 to 2. */\n temperature: number;\n /** Capability switches with a line each explaining what they turn on. */\n toggles: readonly SettingToggle[];\n /** Called when the model changes. */\n onModelChange?: (model: string) => void;\n /** Called as the prompt is edited. */\n onSystemPromptChange?: (prompt: string) => void;\n /** Called as the slider moves. */\n onTemperatureChange?: (temperature: number) => void;\n /** Called with the switched capability's key. */\n onToggle?: (key: string) => void;\n}"
|
|
76
|
+
],
|
|
77
|
+
"subcomponents": [],
|
|
78
|
+
"parts": [],
|
|
79
|
+
"variants": {},
|
|
80
|
+
"defaultVariants": {},
|
|
81
|
+
"tokensUsed": [
|
|
82
|
+
"--cue-accent",
|
|
83
|
+
"--cue-bg",
|
|
84
|
+
"--cue-fg",
|
|
85
|
+
"--cue-fg-muted",
|
|
86
|
+
"--cue-fg-subtle",
|
|
87
|
+
"--cue-radius-overlay",
|
|
88
|
+
"--cue-radius-surface",
|
|
89
|
+
"--cue-surface-3",
|
|
90
|
+
"--cue-text-body",
|
|
91
|
+
"--cue-text-ui"
|
|
92
|
+
],
|
|
93
|
+
"summary": "Model, system prompt, temperature, and what the assistant is allowed to do.",
|
|
94
|
+
"examples": [
|
|
95
|
+
{
|
|
96
|
+
"title": "Usage",
|
|
97
|
+
"code": "import { SettingsPanel } from \"@cueplusplus/ui/elements\";\n\n<SettingsPanel\n model={model}\n models={models}\n systemPrompt={prompt}\n temperature={0.7}\n toggles={toggles}\n onModelChange={setModel}\n/>",
|
|
98
|
+
"language": "tsx"
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"status": "todo-docs",
|
|
102
|
+
"url": "/docs/components/settings-panel",
|
|
103
|
+
"mdUrl": "/docs/components/settings-panel.md",
|
|
104
|
+
"jsonUrl": "/r/components/settings-panel.json",
|
|
105
|
+
"specimens": [
|
|
106
|
+
{
|
|
107
|
+
"title": "SettingsPanel",
|
|
108
|
+
"group": "elements-composer",
|
|
109
|
+
"components": [
|
|
110
|
+
"SettingsPanel"
|
|
111
|
+
],
|
|
112
|
+
"code": "<Specimens>\n <Specimen label=\"live\" wide>\n <SettingsPanel\n model={settingsModel}\n models={[\"Opus 5\", \"Sonnet 5\", \"Haiku 5\"]}\n systemPrompt={prompt}\n temperature={temperature}\n toggles={toggles}\n onModelChange={setSettingsModel}\n onSystemPromptChange={setPrompt}\n onTemperatureChange={setTemperature}\n onToggle={(key) =>\n setToggles((current) =>\n current.map((item) => (item.key === key ? { ...item, on: !item.on } : item)),\n )\n }\n />\n </Specimen>\n <Specimen label=\"locked down for a show\" wide>\n <SettingsPanel\n model=\"Haiku 5\"\n models={[\"Opus 5\", \"Sonnet 5\", \"Haiku 5\"]}\n systemPrompt=\"Read-only. Answer questions about the rig; change nothing.\"\n temperature={0}\n toggles={TOGGLES.map((item) => ({ ...item, on: false }))}\n />\n </Specimen>\n</Specimens>",
|
|
113
|
+
"note": "Model, system prompt, temperature, and what the assistant is allowed to do — the four settings a chat product actually has, on one card. The capability switches each carry a line saying what turning them on does, which is the difference between a settings page and a list of nouns. The panel holds none of it: every value here is the caller's.",
|
|
114
|
+
"interaction": "the segmented model control is a row of `aria-pressed` buttons, and both the prompt textarea and the temperature slider carry their own labels, so nothing on the card depends on the mono caption above it being read."
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"todo": true
|
|
118
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SharedConversation",
|
|
3
|
+
"slug": "shared-conversation",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "A read-only transcript someone sent you, with a way to pick it up yourself.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "title",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Name of the shared thread."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "sharedBy",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": true,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Who shared it."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "sharedAt",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"required": true,
|
|
30
|
+
"defaultValue": null,
|
|
31
|
+
"description": "Pre-formatted share time."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "turns",
|
|
35
|
+
"type": "readonly SharedTurn[]",
|
|
36
|
+
"required": true,
|
|
37
|
+
"defaultValue": null,
|
|
38
|
+
"description": "The transcript, read only."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "onContinue",
|
|
42
|
+
"type": "(() => void)",
|
|
43
|
+
"required": false,
|
|
44
|
+
"defaultValue": null,
|
|
45
|
+
"description": "Called to fork the transcript into the reader's own thread."
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"typeReferences": [
|
|
49
|
+
"Omit<\n ComponentProps<\"div\">,\n \"children\" | \"title\" | \"sharedBy\" | \"sharedAt\" | \"turns\" | \"onContinue\"\n> & {\n /** Name of the shared thread. */\n title: string;\n /** Who shared it. */\n sharedBy: string;\n /** Pre-formatted share time. */\n sharedAt: string;\n /** The transcript, read only. */\n turns: readonly SharedTurn[];\n /** Called to fork the transcript into the reader's own thread. */\n onContinue?: () => void;\n}"
|
|
50
|
+
],
|
|
51
|
+
"subcomponents": [],
|
|
52
|
+
"parts": [],
|
|
53
|
+
"variants": {},
|
|
54
|
+
"defaultVariants": {},
|
|
55
|
+
"tokensUsed": [
|
|
56
|
+
"--cue-border",
|
|
57
|
+
"--cue-fg-muted",
|
|
58
|
+
"--cue-fg-subtle",
|
|
59
|
+
"--cue-radius-overlay",
|
|
60
|
+
"--cue-surface-1",
|
|
61
|
+
"--cue-text-body",
|
|
62
|
+
"--cue-text-ui"
|
|
63
|
+
],
|
|
64
|
+
"summary": "A read-only transcript someone sent you, with a way to pick it up yourself.",
|
|
65
|
+
"examples": [
|
|
66
|
+
{
|
|
67
|
+
"title": "Usage",
|
|
68
|
+
"code": "import { SharedConversation } from \"@cueplusplus/ui/elements\";\n\n<SharedConversation\n title=\"Draft restore across threads\"\n sharedBy=\"harry\"\n sharedAt=\"2 days ago\"\n turns={turns}\n onContinue={fork}\n/>",
|
|
69
|
+
"language": "tsx"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"status": "todo-docs",
|
|
73
|
+
"url": "/docs/components/shared-conversation",
|
|
74
|
+
"mdUrl": "/docs/components/shared-conversation.md",
|
|
75
|
+
"jsonUrl": "/r/components/shared-conversation.json",
|
|
76
|
+
"specimens": [
|
|
77
|
+
{
|
|
78
|
+
"title": "SharedConversation",
|
|
79
|
+
"group": "elements-composer",
|
|
80
|
+
"components": [
|
|
81
|
+
"SharedConversation"
|
|
82
|
+
],
|
|
83
|
+
"code": "<Specimens>\n <Specimen label=\"with a way in\" wide>\n <SharedConversation\n title=\"Why the desk refused universe 3\"\n sharedBy=\"priya\"\n sharedAt=\"2 days ago\"\n turns={SHARED}\n onContinue={() => undefined}\n />\n </Specimen>\n <Specimen label=\"read only\" wide>\n <SharedConversation\n title=\"Why the desk refused universe 3\"\n sharedBy=\"priya\"\n sharedAt=\"2 days ago\"\n turns={SHARED.slice(0, 2)}\n />\n </Specimen>\n</Specimens>",
|
|
84
|
+
"note": "A read-only transcript somebody sent you, with the one action a reader ever wants: pick it up yourself. The header says who shared it and when, because a published thread with no attribution is a screenshot. Turns render verbatim — this is somebody else's conversation, and it is not the place to start interpreting markdown.",
|
|
85
|
+
"interaction": "continuing forks the transcript into the reader's own thread rather than joining the original, which is why the action is offered and not implied by clicking a turn."
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"todo": true
|
|
89
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ShimmerLabel",
|
|
3
|
+
"slug": "shimmer-label",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "A label that sweeps while something is still happening.\n\nThe sweep is `.cue-elements-shimmer`, declared with its keyframes in\n`@cueplusplus/ui/elements.css`; without that stylesheet the label simply\nsits still, which is also what it does under `prefers-reduced-motion`.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "active",
|
|
12
|
+
"type": "boolean",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": "true",
|
|
15
|
+
"description": "Whether the sweep is running. Defaults to `true`."
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"typeReferences": [
|
|
19
|
+
"ComponentProps<\"span\"> & {\n /** Whether the sweep is running. Defaults to `true`. */\n active?: boolean;\n}"
|
|
20
|
+
],
|
|
21
|
+
"subcomponents": [],
|
|
22
|
+
"parts": [],
|
|
23
|
+
"variants": {},
|
|
24
|
+
"defaultVariants": {},
|
|
25
|
+
"tokensUsed": [
|
|
26
|
+
"--cue-accent",
|
|
27
|
+
"--cue-accent-fg",
|
|
28
|
+
"--cue-accent-hover",
|
|
29
|
+
"--cue-border",
|
|
30
|
+
"--cue-border-overlay",
|
|
31
|
+
"--cue-fg",
|
|
32
|
+
"--cue-fg-muted",
|
|
33
|
+
"--cue-font-mono",
|
|
34
|
+
"--cue-stream",
|
|
35
|
+
"--cue-sunken",
|
|
36
|
+
"--cue-surface-1",
|
|
37
|
+
"--cue-surface-2",
|
|
38
|
+
"--cue-text-label"
|
|
39
|
+
],
|
|
40
|
+
"summary": "A label that sweeps while something is still happening.",
|
|
41
|
+
"examples": [],
|
|
42
|
+
"status": "todo-docs",
|
|
43
|
+
"url": "/docs/components/shimmer-label",
|
|
44
|
+
"mdUrl": "/docs/components/shimmer-label.md",
|
|
45
|
+
"jsonUrl": "/r/components/shimmer-label.json",
|
|
46
|
+
"specimens": [
|
|
47
|
+
{
|
|
48
|
+
"title": "ShimmerLabel",
|
|
49
|
+
"group": "elements",
|
|
50
|
+
"components": [
|
|
51
|
+
"ShimmerLabel"
|
|
52
|
+
],
|
|
53
|
+
"code": "<Specimens>\n <Specimen label=\"active\">\n <ShimmerLabel>Patching universe 3</ShimmerLabel>\n </Specimen>\n <Specimen label=\"resting\">\n <ShimmerLabel active={false}>Patched universe 3</ShimmerLabel>\n </Specimen>\n</Specimens>",
|
|
54
|
+
"note": "A band of full-strength ink travelling through a muted label, clipped to the glyphs. It is the family's one ambient animation and it means exactly one thing: this is happening now. A reader who asked for less motion gets the muted label and no sweep at all.",
|
|
55
|
+
"interaction": "none. It is text, and it stays selectable text."
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"todo": true
|
|
59
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SkillIcon",
|
|
3
|
+
"slug": "skill-icon",
|
|
4
|
+
"group": "icons",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": false,
|
|
8
|
+
"description": "A skill: the thing every other container in this set holds.\n\nOne mark, and a spark rather than a document, because what is being filed is\na capability. The file it happens to be written in is an implementation\ndetail of how it travels, and a page glyph would have made the catalogue look\nlike a folder of documents rather than a list of things an agent can now do.",
|
|
9
|
+
"props": [],
|
|
10
|
+
"typeReferences": [
|
|
11
|
+
"React.SVGProps<SVGSVGElement>"
|
|
12
|
+
],
|
|
13
|
+
"subcomponents": [],
|
|
14
|
+
"parts": [],
|
|
15
|
+
"variants": {},
|
|
16
|
+
"defaultVariants": {},
|
|
17
|
+
"tokensUsed": [
|
|
18
|
+
"--cue-danger",
|
|
19
|
+
"--cue-fg",
|
|
20
|
+
"--cue-icon-",
|
|
21
|
+
"--cue-icon-md",
|
|
22
|
+
"--cue-icon-sm"
|
|
23
|
+
],
|
|
24
|
+
"summary": "A skill: the thing every other container in this set holds.",
|
|
25
|
+
"examples": [],
|
|
26
|
+
"status": "todo-docs",
|
|
27
|
+
"url": "/docs/components/skill-icon",
|
|
28
|
+
"mdUrl": "/docs/components/skill-icon.md",
|
|
29
|
+
"jsonUrl": "/r/components/skill-icon.json",
|
|
30
|
+
"specimens": [
|
|
31
|
+
{
|
|
32
|
+
"title": "The container icon set",
|
|
33
|
+
"group": "icons",
|
|
34
|
+
"components": [
|
|
35
|
+
"CatalogueIcon",
|
|
36
|
+
"StackIcon",
|
|
37
|
+
"StacksMatrixIcon",
|
|
38
|
+
"AudienceIcon",
|
|
39
|
+
"ChannelReleasedIcon",
|
|
40
|
+
"ChannelBetaIcon",
|
|
41
|
+
"FolderIcon",
|
|
42
|
+
"McpServerIcon",
|
|
43
|
+
"CliToolIcon",
|
|
44
|
+
"SkillIcon"
|
|
45
|
+
],
|
|
46
|
+
"code": "<Specimens>\n {CONTAINERS.map(([label, name, Icon]) => (\n <Specimen key={name} label={label}>\n <Icon className=\"size-icon-md text-fg\" />\n </Specimen>\n ))}\n</Specimens>\n<Specimens>\n <Specimen label=\"icon-sm\">\n <SkillIcon className=\"size-icon-sm text-fg\" />\n </Specimen>\n <Specimen label=\"icon-md\">\n <SkillIcon className=\"size-icon-md text-fg\" />\n </Specimen>\n <Specimen label=\"inherited\">\n <SkillIcon className=\"size-icon-md\" />\n </Specimen>\n <Specimen label=\"muted\">\n <SkillIcon className=\"size-icon-md text-fg-muted\" />\n </Specimen>\n <Specimen label=\"accent\">\n <SkillIcon className=\"size-icon-md text-accent\" />\n </Specimen>\n <Specimen label=\"danger\">\n <SkillIcon className=\"size-icon-md text-danger\" />\n </Specimen>\n</Specimens>\n<Specimens>\n <Specimen label=\"in a row\" wide>\n <span className=\"inline-flex items-center gap-(--cue-space-2) font-mono text-(length:--cue-text-ui) text-fg-muted\">\n <ChannelReleasedIcon className=\"size-icon-md shrink-0\" />\n Our skills · released\n </span>\n </Specimen>\n <Specimen label=\"current row\" wide>\n <span className=\"inline-flex items-center gap-(--cue-space-2) font-mono text-(length:--cue-text-ui) text-fg\">\n <ChannelBetaIcon className=\"size-icon-md shrink-0\" />\n Our skills · beta\n </span>\n </Specimen>\n</Specimens>",
|
|
47
|
+
"note": "One grid and one weight across all ten, at size-icon-md — the size a navigation row draws them at. Each is a plain <svg> that takes every SVG prop.",
|
|
48
|
+
"interaction": "none. They are decorative by default: aria-hidden, announced by nothing, because the row they mark already carries its name."
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"todo": true
|
|
52
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Sources",
|
|
3
|
+
"slug": "sources",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "Citations collapsed into a pill, expanding into scannable source cards.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "sources",
|
|
14
|
+
"type": "readonly Source[]",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Citation cards revealed when the sources pill expands."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "open",
|
|
21
|
+
"type": "boolean",
|
|
22
|
+
"required": true,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Whether the source list is expanded under the pill."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "onOpenChange",
|
|
28
|
+
"type": "(open: boolean) => void",
|
|
29
|
+
"required": true,
|
|
30
|
+
"defaultValue": null,
|
|
31
|
+
"description": "Called when the user expands or collapses the sources."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "className",
|
|
35
|
+
"type": "string",
|
|
36
|
+
"required": false,
|
|
37
|
+
"defaultValue": null,
|
|
38
|
+
"description": "Extra classes merged onto the root."
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"typeReferences": [],
|
|
42
|
+
"subcomponents": [],
|
|
43
|
+
"parts": [],
|
|
44
|
+
"variants": {},
|
|
45
|
+
"defaultVariants": {},
|
|
46
|
+
"tokensUsed": [
|
|
47
|
+
"--cue-accent",
|
|
48
|
+
"--cue-fg",
|
|
49
|
+
"--cue-fg-muted",
|
|
50
|
+
"--cue-fg-subtle",
|
|
51
|
+
"--cue-radius-control",
|
|
52
|
+
"--cue-radius-overlay",
|
|
53
|
+
"--cue-surface-2",
|
|
54
|
+
"--cue-text-body",
|
|
55
|
+
"--cue-text-micro",
|
|
56
|
+
"--cue-text-ui"
|
|
57
|
+
],
|
|
58
|
+
"summary": "Citations collapsed into a pill, expanding into scannable source cards.",
|
|
59
|
+
"examples": [
|
|
60
|
+
{
|
|
61
|
+
"title": "Usage",
|
|
62
|
+
"code": "import { Sources } from \"@cueplusplus/ui/elements\";\n\n<Sources\n sources={[{ domain: \"docs.example.com\", title: \"Composer guide\" }]}\n open\n onOpenChange={setOpen}\n/>",
|
|
63
|
+
"language": "tsx"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"status": "todo-docs",
|
|
67
|
+
"url": "/docs/components/sources",
|
|
68
|
+
"mdUrl": "/docs/components/sources.md",
|
|
69
|
+
"jsonUrl": "/r/components/sources.json",
|
|
70
|
+
"specimens": [
|
|
71
|
+
{
|
|
72
|
+
"title": "Sources",
|
|
73
|
+
"group": "elements-knowledge",
|
|
74
|
+
"components": [
|
|
75
|
+
"Sources"
|
|
76
|
+
],
|
|
77
|
+
"code": "<Specimens>\n <Specimen label=\"open\" wide>\n <Sources sources={SOURCES} open={sourcesOpen} onOpenChange={setSourcesOpen} />\n </Specimen>\n <Specimen label=\"collapsed\" wide>\n <Sources sources={SOURCES} open={false} onOpenChange={() => undefined} />\n </Specimen>\n</Specimens>",
|
|
78
|
+
"note": "Citations folded into a pill until somebody wants them. Collapsed it is a count — four sources, no argument; open it is a scannable grid of cards, one per site, each lifting a pixel under the pointer. The count is the whole affordance: it says provenance exists without spending a paragraph on it.",
|
|
79
|
+
"interaction": "the pill is the trigger and takes cue's focus ring; the chevron turns with the panel, which animates its own height through Base UI rather than a max-height guess."
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"todo": true
|
|
83
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SpeakerIdentity",
|
|
3
|
+
"slug": "speaker-identity",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "Who is talking, once a thread holds more than a user and one model.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "turns",
|
|
14
|
+
"type": "readonly SpeakerTurn[]",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Turns in order, each naming who produced it."
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"typeReferences": [
|
|
21
|
+
"Omit<ComponentProps<\"div\">, \"children\" | \"turns\"> & {\n /** Turns in order, each naming who produced it. */\n turns: readonly SpeakerTurn[];\n}"
|
|
22
|
+
],
|
|
23
|
+
"subcomponents": [],
|
|
24
|
+
"parts": [],
|
|
25
|
+
"variants": {},
|
|
26
|
+
"defaultVariants": {},
|
|
27
|
+
"tokensUsed": [
|
|
28
|
+
"--cue-fg-muted",
|
|
29
|
+
"--cue-fg-subtle",
|
|
30
|
+
"--cue-radius-surface",
|
|
31
|
+
"--cue-stream",
|
|
32
|
+
"--cue-surface-1",
|
|
33
|
+
"--cue-surface-2",
|
|
34
|
+
"--cue-text-body"
|
|
35
|
+
],
|
|
36
|
+
"summary": "Who is talking, once a thread holds more than a user and one model.",
|
|
37
|
+
"examples": [
|
|
38
|
+
{
|
|
39
|
+
"title": "Usage",
|
|
40
|
+
"code": "import { SpeakerIdentity } from \"@cueplusplus/ui/elements\";\n\n<SpeakerIdentity turns={turns} />",
|
|
41
|
+
"language": "tsx"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"status": "todo-docs",
|
|
45
|
+
"url": "/docs/components/speaker-identity",
|
|
46
|
+
"mdUrl": "/docs/components/speaker-identity.md",
|
|
47
|
+
"jsonUrl": "/r/components/speaker-identity.json",
|
|
48
|
+
"specimens": [
|
|
49
|
+
{
|
|
50
|
+
"title": "SpeakerIdentity",
|
|
51
|
+
"group": "elements-composer",
|
|
52
|
+
"components": [
|
|
53
|
+
"SpeakerIdentity"
|
|
54
|
+
],
|
|
55
|
+
"code": "<Specimens>\n <Specimen label=\"four voices\" wide>\n <SpeakerIdentity turns={SPEAKERS} />\n </Specimen>\n <Specimen label=\"just the two of you\" wide>\n <SpeakerIdentity turns={SPEAKERS.slice(0, 2)} />\n </Specimen>\n</Specimens>",
|
|
56
|
+
"note": "Who is talking, once a thread holds more than a user and one model. Four kinds — you, the agent, a subagent it delegated to, and a tool that answered — with the subagent's badge rounded so a delegated turn reads as delegated at a glance. `detail` is the second fact the name needs: which model spoke, or how long the tool took.",
|
|
57
|
+
"interaction": "none. It is a transcript, not a control; the badges are the only thing distinguishing four voices that would otherwise be four paragraphs."
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"todo": true
|
|
61
|
+
}
|