@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,197 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "RevertDock",
|
|
3
|
+
"slug": "revert-dock",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "Put it back — and say, in the interface, that this cannot be taken back.\n\nThe second of the two docks nobody ships, and the only destructive control in\nthis family. Four things make it that rather than a button called Restore.\n\nThe **axis**: a run changes the files and the conversation about them, and\nputting one back is not putting the other back. Every product in the study\nthat has checkpoints has this axis, and every one of them names it in its\ncopy — `Restore Files` against `Restore Files & Task`, `Reset Code` against\n`Reset Chat`. So the scopes are the controls: each one says what it does and\nwhat it costs, and the two sentences come from `REVERT_SCOPE_LABELS` and\n`REVERT_SCOPE_DESCRIPTIONS`, which a console can extend.\n\nThe **gate**: `onRestore` fires from one control only, the one that answers\n\"Discard all changes up to this checkpoint?\". Picking a scope arms the dock\nand does nothing else. `This action cannot be undone.` is on the screen the\nwhole time the dock is open, above both steps — an irreversibility that lives\nonly in a props table is an irreversibility somebody meets for the first time\nafterwards.\n\nThe **geometry**, which is the half a gate cannot do on its own: arming must\nnot put the destructive control where the hand already is. This dock used to\nswap the scope list for the confirm inside the same box, and measured in\nChromium at the bench's own 448 px the whole of `Discard and restore`\n(x13–170, y131–161) landed inside `Restore conversation` (x13–435,\ny121–175) — true at 280, 320, 360, 448, 520, 640 and 800 px and at all five\ndensities, so a double click on a scope armed the dock with its first press\nand destroyed the work with its second. Now nothing above the confirm moves:\nthe scope list stays exactly where it was, dimmed and `disabled` — so the\ncoordinates that armed the dock hold a control that no longer answers a\nclick — and the question is *appended under* it, a hairline and two lines of\ncopy below the last scope. Three defences, not one: the arming control stops\ntaking presses, the destructive control is somewhere else, and it refuses\npresses for {@link SETTLE_MS} after it arrives. It fires once per arm.\n\nAnd the **way out**, which is `TwoStepButton`'s ruling rather than a second\none: focus lands on `Keep everything` when the dock arms, never on the\ndestructive half — so a stuck Enter cannot walk through both steps, and a\nreader whose button was just unmounted is not left on `<body>`; `Keep\neverything` hands focus back to the scope that armed it; `Escape` disarms\nfrom inside the panel and stops there, so an armed dock inside a dialog does\nnot also close the dialog, *and* from the document while the dock is armed,\nbecause a press on a disabled control drops focus to `<body>` and an exit\nthat only listens to its own subtree is no exit at all after a double click;\nand folding the dock away disarms it, because an armed state nobody can see\nis one somebody re-opens into. Focus moves on the *transition* into the armed\nstate only — a page that renders three of these as stills steals nothing.\n\nTwo of that button's four exits are deliberately not taken. There is no\n**timeout**: an inline two-step's armed state is two words, and four seconds\nis longer than reading them, while this one is a question, a scope, what it\ncosts and a sentence about irreversibility — a panel that disarms itself\nwhile it is being read teaches people to hurry past exactly the copy that\nmatters. And there is no **blur exit**: `confirming` is the caller's state,\nso leaving would rewrite a prop the caller owns on a gesture as ordinary as\ntabbing into the transcript, and an armed dock is a labelled panel in the\npage rather than a button lying in wait.\n\nState is a prop, as everywhere here: `open` and `confirming` are the caller's,\nwhich is what lets the armed state be benched, tested and replayed instead of\nbeing a thing that only exists between two clicks.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "label",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": false,
|
|
16
|
+
"defaultValue": "Revert to this point",
|
|
17
|
+
"description": "What the point is called: `Six fixtures addressed`, `Before the patch`.",
|
|
18
|
+
"control": {
|
|
19
|
+
"kind": "string"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "files",
|
|
24
|
+
"type": "number",
|
|
25
|
+
"required": false,
|
|
26
|
+
"defaultValue": null,
|
|
27
|
+
"description": "Files changed since the point. Omit when it is not counted.",
|
|
28
|
+
"control": {
|
|
29
|
+
"kind": "number"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "messages",
|
|
34
|
+
"type": "number",
|
|
35
|
+
"required": false,
|
|
36
|
+
"defaultValue": null,
|
|
37
|
+
"description": "Messages written since the point. Omit when it is not counted.",
|
|
38
|
+
"control": {
|
|
39
|
+
"kind": "number"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "summary",
|
|
44
|
+
"type": "string",
|
|
45
|
+
"required": false,
|
|
46
|
+
"defaultValue": null,
|
|
47
|
+
"description": "The summary line, replacing the one {@link formatRevertSummary} would\nbuild.",
|
|
48
|
+
"control": {
|
|
49
|
+
"kind": "string"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "scopes",
|
|
54
|
+
"type": "readonly (\"both\" | \"files\" | \"conversation\")[]",
|
|
55
|
+
"required": false,
|
|
56
|
+
"defaultValue": "[\"files\", \"conversation\", \"both\"] as const",
|
|
57
|
+
"description": "Which axes this product can actually restore, in the order they are\noffered. `REVERT_SCOPES` (all three) by default; Roo and Cline each ship\ntwo, and a runtime with no workspace to put back ships `[\"conversation\"]`.",
|
|
58
|
+
"control": {
|
|
59
|
+
"kind": "array"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "open",
|
|
64
|
+
"type": "boolean",
|
|
65
|
+
"required": true,
|
|
66
|
+
"defaultValue": null,
|
|
67
|
+
"description": "Whether the scopes are showing, or only the summary line.",
|
|
68
|
+
"control": {
|
|
69
|
+
"kind": "boolean"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "onOpenChange",
|
|
74
|
+
"type": "((open: boolean) => void)",
|
|
75
|
+
"required": false,
|
|
76
|
+
"defaultValue": null,
|
|
77
|
+
"description": "Called when the dock is expanded or collapsed.",
|
|
78
|
+
"control": {
|
|
79
|
+
"kind": "callback",
|
|
80
|
+
"fixture": "callback.log"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "confirming",
|
|
85
|
+
"type": "\"both\" | \"files\" | \"conversation\" | null",
|
|
86
|
+
"required": false,
|
|
87
|
+
"defaultValue": "null",
|
|
88
|
+
"description": "The scope waiting to be confirmed, or `null` for the step before that.\n\nThe gate. Pressing a scope reports it here and nothing else happens; the\nrestore itself is a second, separate press. Keeping it a prop rather than\ninternal state is what lets a test — or a replay — sit in the armed state\nand look at it.",
|
|
89
|
+
"control": {
|
|
90
|
+
"kind": "enum",
|
|
91
|
+
"members": [
|
|
92
|
+
"both",
|
|
93
|
+
"files",
|
|
94
|
+
"conversation"
|
|
95
|
+
],
|
|
96
|
+
"nullable": true
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "onConfirmingChange",
|
|
101
|
+
"type": "((scope: \"both\" | \"files\" | \"conversation\" | null) => void)",
|
|
102
|
+
"required": false,
|
|
103
|
+
"defaultValue": null,
|
|
104
|
+
"description": "Called when a scope is armed, and again with `null` every way the dock\nleaves the armed state: `Keep everything`, `Escape`, folding the dock away,\nand the restore itself.",
|
|
105
|
+
"control": {
|
|
106
|
+
"kind": "callback",
|
|
107
|
+
"fixture": "callback.log"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "onRestore",
|
|
112
|
+
"type": "((scope: \"both\" | \"files\" | \"conversation\") => void)",
|
|
113
|
+
"required": false,
|
|
114
|
+
"defaultValue": null,
|
|
115
|
+
"description": "Do it. Called **only** from the confirm control, never from the control\nthat picks a scope, and at most once per arm.",
|
|
116
|
+
"control": {
|
|
117
|
+
"kind": "callback",
|
|
118
|
+
"fixture": "callback.log"
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "labels",
|
|
123
|
+
"type": "Partial<RevertLabels>",
|
|
124
|
+
"required": false,
|
|
125
|
+
"defaultValue": null,
|
|
126
|
+
"description": "Copy for the dock's own six strings, merged over `REVERT_LABELS` —\nincluding `warning`, the sentence this element refuses to render without.",
|
|
127
|
+
"control": {
|
|
128
|
+
"kind": "opaque"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "scopeLabels",
|
|
133
|
+
"type": "Partial<Record<\"both\" | \"files\" | \"conversation\", string>>",
|
|
134
|
+
"required": false,
|
|
135
|
+
"defaultValue": null,
|
|
136
|
+
"description": "What each scope is called, merged over `REVERT_SCOPE_LABELS`.",
|
|
137
|
+
"control": {
|
|
138
|
+
"kind": "opaque"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "scopeDescriptions",
|
|
143
|
+
"type": "Partial<Record<\"both\" | \"files\" | \"conversation\", string>>",
|
|
144
|
+
"required": false,
|
|
145
|
+
"defaultValue": null,
|
|
146
|
+
"description": "What each scope does, merged over `REVERT_SCOPE_DESCRIPTIONS`.",
|
|
147
|
+
"control": {
|
|
148
|
+
"kind": "opaque"
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"typeReferences": [
|
|
153
|
+
"Omit<React.ComponentPropsWithoutRef<\"div\">, \"children\">"
|
|
154
|
+
],
|
|
155
|
+
"subcomponents": [],
|
|
156
|
+
"parts": [],
|
|
157
|
+
"variants": {},
|
|
158
|
+
"defaultVariants": {},
|
|
159
|
+
"tokensUsed": [
|
|
160
|
+
"--cue-accent",
|
|
161
|
+
"--cue-border",
|
|
162
|
+
"--cue-danger",
|
|
163
|
+
"--cue-danger-fg",
|
|
164
|
+
"--cue-fg",
|
|
165
|
+
"--cue-fg-subtle",
|
|
166
|
+
"--cue-radius-control",
|
|
167
|
+
"--cue-radius-overlay",
|
|
168
|
+
"--cue-surface-2",
|
|
169
|
+
"--cue-text-ui",
|
|
170
|
+
"--cue-warn"
|
|
171
|
+
],
|
|
172
|
+
"summary": "Put it back — and say, in the interface, that this cannot be taken back.",
|
|
173
|
+
"examples": [
|
|
174
|
+
{
|
|
175
|
+
"title": "Usage",
|
|
176
|
+
"code": "import { RevertDock } from \"@cueplusplus/ui/elements\";\n\n<RevertDock\n label=\"Six fixtures addressed\"\n files={6}\n messages={12}\n open={open}\n onOpenChange={setOpen}\n confirming={armed}\n onConfirmingChange={setArmed}\n onRestore={(scope) => restore(scope)}\n/>\n// A runtime with no workspace to put back: one axis, and it says so.\n<RevertDock label=\"Before the plan\" messages={9} scopes={[\"conversation\"]} open />",
|
|
177
|
+
"language": "tsx"
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"status": "todo-docs",
|
|
181
|
+
"url": "/docs/components/revert-dock",
|
|
182
|
+
"mdUrl": "/docs/components/revert-dock.md",
|
|
183
|
+
"jsonUrl": "/r/components/revert-dock.json",
|
|
184
|
+
"specimens": [
|
|
185
|
+
{
|
|
186
|
+
"title": "RevertDock",
|
|
187
|
+
"group": "elements-agents",
|
|
188
|
+
"components": [
|
|
189
|
+
"RevertDock"
|
|
190
|
+
],
|
|
191
|
+
"code": "<Specimens>\n <Specimen\n label={\n restored === null\n ? armed === null\n ? \"open: three scopes, each with its cost\"\n : \"armed: one press from the point of no return\"\n : `restored: ${REVERT_SCOPE_LABELS[restored].toLowerCase()}`\n }\n wide\n >\n <div className=\"w-full max-w-md\">\n <RevertDock\n label=\"Six fixtures addressed\"\n files={6}\n messages={12}\n open={revertOpen}\n onOpenChange={setRevertOpen}\n confirming={armed}\n onConfirmingChange={setArmed}\n onRestore={(scope) => {\n setRestored(scope);\n setArmed(null);\n setRevertOpen(false);\n }}\n />\n </div>\n </Specimen>\n <Specimen label=\"armed, as a still\" wide>\n <div className=\"w-full max-w-md\">\n <RevertDock label=\"Universe 3 opened\" files={2} messages={31} open confirming=\"both\" />\n </div>\n </Specimen>\n <Specimen label=\"one axis, and it says so\" wide>\n <div className=\"w-full max-w-md\">\n <RevertDock\n label=\"Before the plan\"\n messages={9}\n scopes={[\"conversation\"]}\n open\n />\n </div>\n </Specimen>\n</Specimens>",
|
|
192
|
+
"note": "The one destructive control in this family, and the three things that make it one rather than a button called Restore. The axis: a run changes the files and the conversation about them, and putting one back is not putting the other back — Roo writes it as `Restore Files` against `Restore Files & Task`, Cline as `Reset Code` against `Reset Chat`. The gate: picking a scope only arms the dock, and `onRestore` fires from the second press alone. And the geometry, which is the half a gate cannot do on its own: the confirm is appended under the scope list rather than drawn over it, because a destructive control that inherits the coordinates of the control that armed it is one a double click reaches unread. `This action cannot be undone.` is on the screen the whole time the dock is open, above every step, because an irreversibility that lives in a props table is one somebody meets for the first time afterwards.",
|
|
193
|
+
"interaction": "each scope names what it costs in a second line under its label; pressing one tints that scope, disables the whole list where it stands and appends Cursor's question beneath it, so nothing above the confirm moves a pixel. Focus lands on `Keep everything`, which also comes first in the DOM; Escape backs out, folding the dock disarms it, and the destructive half refuses presses for 400 ms after it arrives. Restoring here folds the dock and says which scope it was."
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
"todo": true
|
|
197
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ReviewableDiff",
|
|
3
|
+
"slug": "reviewable-diff",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "The same diff, but each hunk is a decision: keep it, discard it, apply what\nsurvived.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "filename",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "File the hunks belong to.",
|
|
18
|
+
"control": {
|
|
19
|
+
"kind": "string"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "hunks",
|
|
24
|
+
"type": "readonly DiffHunk[]",
|
|
25
|
+
"required": true,
|
|
26
|
+
"defaultValue": null,
|
|
27
|
+
"description": "Each hunk carries its own decision. Apply stays disabled until none are pending.",
|
|
28
|
+
"control": {
|
|
29
|
+
"kind": "array",
|
|
30
|
+
"fixture": "agent.diff-hunks"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "onKeep",
|
|
35
|
+
"type": "((id: string) => void)",
|
|
36
|
+
"required": false,
|
|
37
|
+
"defaultValue": null,
|
|
38
|
+
"description": "Called when a hunk is accepted.",
|
|
39
|
+
"control": {
|
|
40
|
+
"kind": "callback",
|
|
41
|
+
"fixture": "callback.log"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "onDiscard",
|
|
46
|
+
"type": "((id: string) => void)",
|
|
47
|
+
"required": false,
|
|
48
|
+
"defaultValue": null,
|
|
49
|
+
"description": "Called when a hunk is rejected.",
|
|
50
|
+
"control": {
|
|
51
|
+
"kind": "callback",
|
|
52
|
+
"fixture": "callback.log"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "onApply",
|
|
57
|
+
"type": "(() => void)",
|
|
58
|
+
"required": false,
|
|
59
|
+
"defaultValue": null,
|
|
60
|
+
"description": "Called when the reviewed set is committed. Only kept hunks should be written.",
|
|
61
|
+
"control": {
|
|
62
|
+
"kind": "callback",
|
|
63
|
+
"fixture": "callback.log"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"typeReferences": [
|
|
68
|
+
"Omit<\n ComponentProps<\"div\">,\n \"children\" | \"filename\" | \"hunks\" | \"onKeep\" | \"onDiscard\" | \"onApply\"\n> & {\n /** File the hunks belong to. */\n filename: string;\n /** Each hunk carries its own decision. Apply stays disabled until none are pending. */\n hunks: readonly DiffHunk[];\n /** Called when a hunk is accepted. */\n onKeep?: (id: string) => void;\n /** Called when a hunk is rejected. */\n onDiscard?: (id: string) => void;\n /** Called when the reviewed set is committed. Only kept hunks should be written. */\n onApply?: () => void;\n}"
|
|
69
|
+
],
|
|
70
|
+
"subcomponents": [],
|
|
71
|
+
"parts": [],
|
|
72
|
+
"variants": {},
|
|
73
|
+
"defaultVariants": {},
|
|
74
|
+
"tokensUsed": [
|
|
75
|
+
"--cue-border",
|
|
76
|
+
"--cue-danger",
|
|
77
|
+
"--cue-fg",
|
|
78
|
+
"--cue-fg-muted",
|
|
79
|
+
"--cue-fg-subtle",
|
|
80
|
+
"--cue-font-mono",
|
|
81
|
+
"--cue-leading-ui",
|
|
82
|
+
"--cue-ok",
|
|
83
|
+
"--cue-radius-overlay",
|
|
84
|
+
"--cue-surface-2",
|
|
85
|
+
"--cue-text-label",
|
|
86
|
+
"--cue-text-ui"
|
|
87
|
+
],
|
|
88
|
+
"summary": "The same diff, but each hunk is a decision: keep it, discard it, apply what survived.",
|
|
89
|
+
"examples": [
|
|
90
|
+
{
|
|
91
|
+
"title": "Usage",
|
|
92
|
+
"code": "import { ReviewableDiff } from \"@cueplusplus/ui/elements\";\n\n<ReviewableDiff\n filename=\"composer.tsx\"\n hunks={hunks}\n onKeep={(id) => decide(id, \"kept\")}\n onDiscard={(id) => decide(id, \"discarded\")}\n onApply={commit}\n/>",
|
|
93
|
+
"language": "tsx"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"status": "todo-docs",
|
|
97
|
+
"url": "/docs/components/reviewable-diff",
|
|
98
|
+
"mdUrl": "/docs/components/reviewable-diff.md",
|
|
99
|
+
"jsonUrl": "/r/components/reviewable-diff.json",
|
|
100
|
+
"specimens": [
|
|
101
|
+
{
|
|
102
|
+
"title": "ReviewableDiff",
|
|
103
|
+
"group": "elements",
|
|
104
|
+
"components": [
|
|
105
|
+
"ReviewableDiff"
|
|
106
|
+
],
|
|
107
|
+
"code": "<Specimens>\n <Specimen label=\"under review\" wide>\n <ReviewableDiff\n filename=\"show/main-stage.cue\"\n hunks={HUNKS.map((hunk) => ({\n ...hunk,\n decision: decisions[hunk.id] ?? \"pending\",\n }))}\n onKeep={decide(\"kept\")}\n onDiscard={decide(\"discarded\")}\n onApply={() => setDecisions({ fade: \"pending\", follow: \"pending\" })}\n />\n </Specimen>\n</Specimens>",
|
|
108
|
+
"note": "The same diff, except every hunk is a decision. A discarded hunk stays visible at reduced opacity rather than vanishing, so what the reviewer turned down is still part of what they reviewed, and Apply stays disabled until nothing is pending.",
|
|
109
|
+
"interaction": "Keep and Discard are per hunk and named by range for a screen reader. Apply here puts every hunk back to pending, so the bench can be run again."
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"todo": true
|
|
113
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "RiskBadge",
|
|
3
|
+
"slug": "risk-badge",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "How dangerous this call is, said out loud instead of implied.\n\nOne of the two elements the field study found nobody shipping. Every agent UI\nknows which of its tools are frightening — that is what the approval buckets\nare — but the knowledge lives in the taxonomy rather than on the row, so a\n`curl` to an arbitrary host and a `cat` of a local file look alike until you\nread them. A runtime that scores its own actions can put the score on the\nrow, and one element renders it for every tool that will ever exist.\n\n`unknown` is a first-class value and it is the default answer for a runtime\nwith no scorer. The alternative — omitting the badge, or falling back to\n`low` — is how a UI ends up implying that unscored means safe.\n\nColour is never alone: each risk has its own glyph and its own words, so the\nbadge survives a colour-blind reader, a monochrome screenshot and a theme\nwhose danger hue is somebody's brand red.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "risk",
|
|
14
|
+
"type": "\"low\" | \"high\" | \"medium\" | \"unknown\"",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "What the runtime says this call could do: `unknown`, `low`, `medium` or\n`high`. Stamped as `data-risk`, and as `data-color` for the tone, so a\nconsole can restyle the row from the attribute rather than from a prop.",
|
|
18
|
+
"control": {
|
|
19
|
+
"kind": "enum",
|
|
20
|
+
"members": [
|
|
21
|
+
"low",
|
|
22
|
+
"high",
|
|
23
|
+
"medium",
|
|
24
|
+
"unknown"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "label",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"required": false,
|
|
32
|
+
"defaultValue": null,
|
|
33
|
+
"description": "What it is called. Defaults to `RISK_LABELS[risk]` — `High risk`, not\n`HIGH`, because the badge sits inline beside a duration and a diff stat and\na bare adjective there is a number about something.",
|
|
34
|
+
"control": {
|
|
35
|
+
"kind": "string"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "reason",
|
|
40
|
+
"type": "string",
|
|
41
|
+
"required": false,
|
|
42
|
+
"defaultValue": null,
|
|
43
|
+
"description": "Why, in the words the products that guess at risk already use: `outside\nyour workspace`, `protected file`, `arbitrary network access`. Drawn beside\nthe label, truncating before the label does.",
|
|
44
|
+
"control": {
|
|
45
|
+
"kind": "string"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"typeReferences": [
|
|
50
|
+
"Omit<React.ComponentPropsWithoutRef<\"span\">, \"children\">"
|
|
51
|
+
],
|
|
52
|
+
"subcomponents": [],
|
|
53
|
+
"parts": [],
|
|
54
|
+
"variants": {},
|
|
55
|
+
"defaultVariants": {},
|
|
56
|
+
"tokensUsed": [
|
|
57
|
+
"--cue-border",
|
|
58
|
+
"--cue-danger",
|
|
59
|
+
"--cue-fg-subtle",
|
|
60
|
+
"--cue-ok",
|
|
61
|
+
"--cue-text-ui",
|
|
62
|
+
"--cue-warn"
|
|
63
|
+
],
|
|
64
|
+
"summary": "How dangerous this call is, said out loud instead of implied.",
|
|
65
|
+
"examples": [
|
|
66
|
+
{
|
|
67
|
+
"title": "Usage",
|
|
68
|
+
"code": "import { RiskBadge } from \"@cueplusplus/ui/elements\";\n\n<RiskBadge risk=\"high\" reason=\"arbitrary network access\" />\n// The honest answer from a runtime that does not score its actions.\n<RiskBadge risk=\"unknown\" />",
|
|
69
|
+
"language": "tsx"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"status": "todo-docs",
|
|
73
|
+
"url": "/docs/components/risk-badge",
|
|
74
|
+
"mdUrl": "/docs/components/risk-badge.md",
|
|
75
|
+
"jsonUrl": "/r/components/risk-badge.json",
|
|
76
|
+
"specimens": [
|
|
77
|
+
{
|
|
78
|
+
"title": "RiskBadge",
|
|
79
|
+
"group": "elements",
|
|
80
|
+
"components": [
|
|
81
|
+
"RiskBadge"
|
|
82
|
+
],
|
|
83
|
+
"code": "<Specimens>\n <Specimen label=\"the four\">\n <span className=\"flex flex-wrap items-center gap-(--cue-space-2)\">\n <RiskBadge risk=\"unknown\" />\n <RiskBadge risk=\"low\" />\n <RiskBadge risk=\"medium\" />\n <RiskBadge risk=\"high\" />\n </span>\n </Specimen>\n <Specimen label=\"with the qualifier the row needs\" wide>\n <span className=\"flex flex-col items-start gap-(--cue-space-2)\">\n <RiskBadge risk=\"medium\" reason=\"outside your workspace\" />\n <RiskBadge risk=\"high\" reason=\"arbitrary network access\" />\n </span>\n </Specimen>\n</Specimens>",
|
|
84
|
+
"note": "How dangerous the runtime says this call is, said out loud instead of implied. Six of the seven open-source agent UIs in the study encode risk through which approval bucket a tool happens to fall into, so a fetch to an arbitrary host and a read of a local file look alike until you read them. One runtime scores the action itself, and one badge then renders it for every tool that will ever exist. `unknown` is a first-class value: a runtime with no scorer must not be made to look like one that scored everything safe.",
|
|
85
|
+
"interaction": "none. The qualifier beside the label is the half the implicit products were right about — `High risk` on its own is a temperature, `High risk · arbitrary network access` is a fact — and it truncates before the label does."
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"todo": true
|
|
89
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Row",
|
|
3
|
+
"slug": "row",
|
|
4
|
+
"group": "chrome",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": false,
|
|
8
|
+
"description": "One row of a hairline list: the workhorse of every console panel.\n\nStatic by default and a real `<button>` when `interactive` — never a `<div>`\nwith an `onClick`, so keyboard users get it for free. Vertical rhythm comes\nfrom the density row-padding tokens, so the same list is 22px tall in\nultra-compact and 34px tall in large without touching the markup.\n\nStatic markup — no `\"use client\"`.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "interactive",
|
|
12
|
+
"type": "boolean",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": "false",
|
|
15
|
+
"description": "Render as a `<button>` with hover feedback and a focus ring instead of a\nstatic `<div>`. Use for rows that select, open or toggle something.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "boolean"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "seam",
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"required": false,
|
|
24
|
+
"defaultValue": null,
|
|
25
|
+
"description": "Drop the hairline and paint the row's own fill, for use inside a\n{@link SeamList}. Without a `SeamList` parent the rows will simply touch.",
|
|
26
|
+
"control": {
|
|
27
|
+
"kind": "boolean"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "disabled",
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"required": false,
|
|
34
|
+
"defaultValue": null,
|
|
35
|
+
"description": "Disable the interactive form. Ignored when `interactive` is not set.",
|
|
36
|
+
"control": {
|
|
37
|
+
"kind": "boolean"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "children",
|
|
42
|
+
"type": "ReactNode",
|
|
43
|
+
"required": false,
|
|
44
|
+
"defaultValue": null,
|
|
45
|
+
"description": "Row content — normally a label, a spacer and a value or control.",
|
|
46
|
+
"control": {
|
|
47
|
+
"kind": "node",
|
|
48
|
+
"fixture": "children.text"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"typeReferences": [
|
|
53
|
+
"React.HTMLAttributes<HTMLElement>",
|
|
54
|
+
"VariantProps<typeof rowVariants>"
|
|
55
|
+
],
|
|
56
|
+
"subcomponents": [],
|
|
57
|
+
"parts": [],
|
|
58
|
+
"variants": {
|
|
59
|
+
"seam": [
|
|
60
|
+
"true",
|
|
61
|
+
"false"
|
|
62
|
+
],
|
|
63
|
+
"interactive": [
|
|
64
|
+
"true",
|
|
65
|
+
"false"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"defaultVariants": {
|
|
69
|
+
"seam": "false",
|
|
70
|
+
"interactive": "false"
|
|
71
|
+
},
|
|
72
|
+
"tokensUsed": [
|
|
73
|
+
"--cue-accent",
|
|
74
|
+
"--cue-bg",
|
|
75
|
+
"--cue-border",
|
|
76
|
+
"--cue-fg",
|
|
77
|
+
"--cue-font-mono",
|
|
78
|
+
"--cue-pad-row-x",
|
|
79
|
+
"--cue-pad-row-y",
|
|
80
|
+
"--cue-radius-surface",
|
|
81
|
+
"--cue-space-3",
|
|
82
|
+
"--cue-surface-2",
|
|
83
|
+
"--cue-text-ui"
|
|
84
|
+
],
|
|
85
|
+
"summary": "The list row, in both of the system's separator idioms.",
|
|
86
|
+
"examples": [
|
|
87
|
+
{
|
|
88
|
+
"title": "Usage",
|
|
89
|
+
"code": "<Panel><Row>Channel 1<span className=\"ml-auto\">255</span></Row></Panel>\n<SeamList>\n <Row seam interactive onClick={select}>Cue 1</Row>\n <Row seam interactive onClick={select}>Cue 2</Row>\n</SeamList>",
|
|
90
|
+
"language": "tsx"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"status": "stable",
|
|
94
|
+
"url": "/docs/components/row",
|
|
95
|
+
"mdUrl": "/docs/components/row.md",
|
|
96
|
+
"jsonUrl": "/r/components/row.json",
|
|
97
|
+
"whenToUse": [
|
|
98
|
+
"Items in a list inside a `Panel`, separated by hairlines rather than gaps.",
|
|
99
|
+
"Rows that select, open or toggle something. Pass `interactive` for the button semantics and the focus ring."
|
|
100
|
+
],
|
|
101
|
+
"whenNotToUse": [
|
|
102
|
+
"Data with shared columns a reader compares across rows. Use `Table`.",
|
|
103
|
+
"Free-standing blocks with their own padding and rim. Use `Card` or `Item`."
|
|
104
|
+
],
|
|
105
|
+
"commonMistakes": [
|
|
106
|
+
"Passing `seam` without a `SeamList` parent, which drops the border and leaves the rows touching.",
|
|
107
|
+
"Making the whole row interactive and then nesting a button inside it, which puts a control inside a control."
|
|
108
|
+
],
|
|
109
|
+
"specimens": [
|
|
110
|
+
{
|
|
111
|
+
"title": "Row / SeamList",
|
|
112
|
+
"group": "chrome",
|
|
113
|
+
"components": [
|
|
114
|
+
"Row",
|
|
115
|
+
"SeamList"
|
|
116
|
+
],
|
|
117
|
+
"code": "<div className=\"grid w-full gap-(--cue-space-5) lg:grid-cols-2\">\n <Panel>\n <Row>Default row</Row>\n <Row interactive>Interactive row</Row>\n <Row interactive disabled>\n Disabled row\n </Row>\n </Panel>\n <SeamList>\n <Row seam>Seam row</Row>\n <Row seam interactive>\n Seam row, interactive\n </Row>\n <Row seam>Seam row</Row>\n </SeamList>\n</div>",
|
|
118
|
+
"note": "Hairline rows, and the 1px-gap variant where the gaps themselves are the rule.",
|
|
119
|
+
"interaction": "pass `interactive` for a hover ground and a focus ring; `disabled` dims and stops pointer events."
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ScheduleCard",
|
|
3
|
+
"slug": "schedule-card",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "A run that repeats on its own, with its cadence and how it has been doing.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "name",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "What the scheduled run does.",
|
|
18
|
+
"control": {
|
|
19
|
+
"kind": "string"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "cadence",
|
|
24
|
+
"type": "string",
|
|
25
|
+
"required": true,
|
|
26
|
+
"defaultValue": null,
|
|
27
|
+
"description": "Human-readable recurrence, not a cron string.",
|
|
28
|
+
"control": {
|
|
29
|
+
"kind": "string"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "nextRun",
|
|
34
|
+
"type": "string",
|
|
35
|
+
"required": true,
|
|
36
|
+
"defaultValue": null,
|
|
37
|
+
"description": "When it fires next. Replaced by paused when disabled.",
|
|
38
|
+
"control": {
|
|
39
|
+
"kind": "string"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "enabled",
|
|
44
|
+
"type": "boolean",
|
|
45
|
+
"required": true,
|
|
46
|
+
"defaultValue": null,
|
|
47
|
+
"description": "Whether the schedule is live.",
|
|
48
|
+
"control": {
|
|
49
|
+
"kind": "boolean"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "history",
|
|
54
|
+
"type": "readonly ScheduleRun[]",
|
|
55
|
+
"required": true,
|
|
56
|
+
"defaultValue": null,
|
|
57
|
+
"description": "Recent runs, so a silently failing schedule is visible.",
|
|
58
|
+
"control": {
|
|
59
|
+
"kind": "array",
|
|
60
|
+
"fixture": "knowledge.runs"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "onToggle",
|
|
65
|
+
"type": "(() => void)",
|
|
66
|
+
"required": false,
|
|
67
|
+
"defaultValue": null,
|
|
68
|
+
"description": "Called when the schedule is paused or resumed.",
|
|
69
|
+
"control": {
|
|
70
|
+
"kind": "callback",
|
|
71
|
+
"fixture": "callback.log"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"typeReferences": [
|
|
76
|
+
"Omit<\n ComponentProps<\"div\">,\n | \"children\"\n | \"name\"\n | \"cadence\"\n | \"nextRun\"\n | \"enabled\"\n | \"history\"\n | \"onToggle\"\n> & {\n /** What the scheduled run does. */\n name: string;\n /** Human-readable recurrence, not a cron string. */\n cadence: string;\n /** When it fires next. Replaced by paused when disabled. */\n nextRun: string;\n /** Whether the schedule is live. */\n enabled: boolean;\n /** Recent runs, so a silently failing schedule is visible. */\n history: readonly ScheduleRun[];\n /** Called when the schedule is paused or resumed. */\n onToggle?: () => void;\n}"
|
|
77
|
+
],
|
|
78
|
+
"subcomponents": [],
|
|
79
|
+
"parts": [],
|
|
80
|
+
"variants": {},
|
|
81
|
+
"defaultVariants": {},
|
|
82
|
+
"tokensUsed": [
|
|
83
|
+
"--cue-accent",
|
|
84
|
+
"--cue-bg",
|
|
85
|
+
"--cue-danger",
|
|
86
|
+
"--cue-fg-muted",
|
|
87
|
+
"--cue-fg-subtle",
|
|
88
|
+
"--cue-ok",
|
|
89
|
+
"--cue-radius-overlay",
|
|
90
|
+
"--cue-radius-surface",
|
|
91
|
+
"--cue-surface-1",
|
|
92
|
+
"--cue-surface-3",
|
|
93
|
+
"--cue-text-body",
|
|
94
|
+
"--cue-text-ui"
|
|
95
|
+
],
|
|
96
|
+
"summary": "A run that repeats on its own, with its cadence and how it has been doing.",
|
|
97
|
+
"examples": [
|
|
98
|
+
{
|
|
99
|
+
"title": "Usage",
|
|
100
|
+
"code": "import { ScheduleCard } from \"@cueplusplus/ui/elements\";\n\n<ScheduleCard\n name=\"Triage the issue queue\"\n cadence=\"every day at 06:00\"\n nextRun=\"Tomorrow, 06:00\"\n enabled\n history={history}\n onToggle={toggle}\n/>",
|
|
101
|
+
"language": "tsx"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"status": "todo-docs",
|
|
105
|
+
"url": "/docs/components/schedule-card",
|
|
106
|
+
"mdUrl": "/docs/components/schedule-card.md",
|
|
107
|
+
"jsonUrl": "/r/components/schedule-card.json",
|
|
108
|
+
"specimens": [
|
|
109
|
+
{
|
|
110
|
+
"title": "ScheduleCard",
|
|
111
|
+
"group": "elements-knowledge",
|
|
112
|
+
"components": [
|
|
113
|
+
"ScheduleCard"
|
|
114
|
+
],
|
|
115
|
+
"code": "<Specimens>\n <Specimen label=\"running\" wide>\n <ScheduleCard\n name=\"Pre-show rig check\"\n cadence=\"every day at 17:30\"\n nextRun=\"Today 17:30\"\n enabled={scheduled}\n history={RUNS}\n onToggle={() => setScheduled((current) => !current)}\n />\n </Specimen>\n <Specimen label=\"paused\" wide>\n <ScheduleCard\n name=\"Pre-show rig check\"\n cadence=\"every day at 17:30\"\n nextRun=\"Today 17:30\"\n enabled={false}\n history={RUNS}\n />\n </Specimen>\n</Specimens>",
|
|
116
|
+
"note": "A job that repeats on its own: what it is called, how often it goes, when it next goes, and how the last three went. Paused, the next-run row dims and says `paused` rather than showing a time that will not happen.",
|
|
117
|
+
"interaction": "the toggle is a real switch — role, `aria-checked` and a label naming the schedule — so three of these on a page do not all read as 'Toggle'."
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"todo": true
|
|
121
|
+
}
|