@cueplusplus/ui 0.2.0 → 0.5.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 +2250 -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 +1 -1
- package/dist/brand/cue-mark.d.ts +1 -1
- package/dist/brand/cue-mark.js +1 -1
- 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/_edge-scroller.js +12 -1
- package/dist/chrome/_tabs-scroll.d.ts +1 -1
- package/dist/chrome/_tabs-scroll.js +1 -1
- package/dist/chrome/app-shell.d.ts +52 -2
- package/dist/chrome/app-shell.js +80 -8
- package/dist/chrome/index.d.ts +2 -2
- package/dist/configurator/_export.js +3 -2
- package/dist/configurator/_overrides.d.ts +1 -1
- package/dist/configurator/_overrides.js +18 -6
- package/dist/configurator/token-editor.js +4 -1
- package/dist/date/_segments.js +37 -2
- 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/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 +9 -7
- package/dist/index.js +3 -2
- package/dist/instruments/index.d.ts +2 -2
- package/dist/instruments/index.js +2 -2
- package/dist/instruments/table.d.ts +14 -1
- package/dist/instruments/table.js +20 -1
- 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 +34 -8
- package/dist/primitives/chip.js +97 -11
- package/dist/styles.css +11 -1
- package/dist/system/agent-skin.d.ts +27 -0
- package/dist/system/agent-skin.js +20 -0
- package/dist/system/index.d.ts +3 -3
- package/dist/system/portal.d.ts +5 -3
- package/dist/system/portal.js +36 -8
- package/dist/system/prepaint.d.ts +20 -2
- package/dist/system/prepaint.js +39 -33
- package/dist/system/theme-provider.d.ts +13 -2
- package/dist/system/theme-provider.js +107 -26
- 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 +124 -8
- package/dist/theming/contrast.d.ts +16 -4
- package/dist/theming/contrast.js +33 -6
- package/dist/theming/create-theme.d.ts +8 -4
- package/dist/theming/create-theme.js +56 -20
- package/dist/theming/serialize.d.ts +11 -2
- package/dist/theming/serialize.js +87 -9
- package/manifest/components/accordion.json +154 -0
- 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-pile.json +116 -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 +190 -0
- package/manifest/components/animated-number.json +67 -0
- package/manifest/components/app-bar.json +244 -0
- package/manifest/components/app-shell.json +383 -0
- package/manifest/components/app-window-frame.json +102 -0
- package/manifest/components/approval-card.json +106 -0
- package/manifest/components/artifact-card.json +81 -0
- package/manifest/components/ask-box.json +209 -0
- package/manifest/components/audience-icon.json +52 -0
- package/manifest/components/autocomplete.json +197 -0
- package/manifest/components/avatar-group.json +72 -0
- package/manifest/components/avatar.json +95 -0
- package/manifest/components/background-inbox.json +71 -0
- package/manifest/components/branch-picker.json +124 -0
- package/manifest/components/breadcrumb.json +74 -0
- package/manifest/components/button-group.json +74 -0
- package/manifest/components/button.json +126 -0
- package/manifest/components/calendar.json +65 -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/card.json +140 -0
- package/manifest/components/carousel.json +200 -0
- package/manifest/components/catalogue-icon.json +52 -0
- package/manifest/components/channel-beta-icon.json +52 -0
- package/manifest/components/channel-matrix.json +173 -0
- package/manifest/components/channel-released-icon.json +52 -0
- package/manifest/components/chart-container.json +111 -0
- package/manifest/components/chart-ramp.json +72 -0
- package/manifest/components/chart-swatch.json +65 -0
- package/manifest/components/chart-tooltip-content.json +114 -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/checkbox-group.json +68 -0
- package/manifest/components/checkbox.json +93 -0
- package/manifest/components/checkpoint-history.json +80 -0
- package/manifest/components/chip.json +144 -0
- 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/collapsible.json +120 -0
- package/manifest/components/color-area.json +59 -0
- package/manifest/components/color-field.json +79 -0
- package/manifest/components/color-picker.json +175 -0
- package/manifest/components/color-slider.json +75 -0
- package/manifest/components/color-swatch.json +68 -0
- package/manifest/components/colors-section.json +66 -0
- package/manifest/components/combobox.json +198 -0
- package/manifest/components/command-palette.json +177 -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 +176 -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/container.json +60 -0
- package/manifest/components/context-breakdown.json +65 -0
- package/manifest/components/context-menu.json +121 -0
- package/manifest/components/context-usage.json +85 -0
- package/manifest/components/conversation-search.json +92 -0
- package/manifest/components/copy-button.json +93 -0
- package/manifest/components/cost-meter.json +74 -0
- package/manifest/components/cue-logotype.json +96 -0
- package/manifest/components/cue-mark.json +97 -0
- package/manifest/components/cue-portal-frame.json +55 -0
- package/manifest/components/data-table-pagination.json +83 -0
- package/manifest/components/data-table-toolbar.json +104 -0
- package/manifest/components/date-field.json +80 -0
- package/manifest/components/date-picker.json +191 -0
- package/manifest/components/date-range-picker.json +191 -0
- package/manifest/components/day-separator.json +58 -0
- package/manifest/components/delegation-card.json +144 -0
- package/manifest/components/density.json +58 -0
- package/manifest/components/description-list.json +84 -0
- package/manifest/components/diagram.json +100 -0
- package/manifest/components/dialog.json +198 -0
- package/manifest/components/disclosure.json +109 -0
- package/manifest/components/dmx-bar.json +94 -0
- package/manifest/components/dmx-strip.json +101 -0
- package/manifest/components/document-reference.json +90 -0
- package/manifest/components/draft-restore.json +82 -0
- package/manifest/components/drawer.json +179 -0
- package/manifest/components/dropdown-menu.json +229 -0
- 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/empty-state.json +90 -0
- package/manifest/components/end-of-turn-summary.json +77 -0
- package/manifest/components/env-var-input.json +150 -0
- package/manifest/components/error-state.json +80 -0
- package/manifest/components/export-dialog.json +84 -0
- package/manifest/components/eyebrow.json +56 -0
- package/manifest/components/feedback-dialog.json +107 -0
- package/manifest/components/field-description.json +63 -0
- package/manifest/components/field-error.json +77 -0
- package/manifest/components/field-label.json +63 -0
- package/manifest/components/field.json +79 -0
- package/manifest/components/file-tree.json +83 -0
- package/manifest/components/file-upload.json +159 -0
- package/manifest/components/flow-background.json +50 -0
- package/manifest/components/flow-controls.json +50 -0
- package/manifest/components/flow-graph.json +75 -0
- package/manifest/components/folder-icon.json +52 -0
- package/manifest/components/footer.json +112 -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/grid.json +81 -0
- package/manifest/components/group-bar.json +102 -0
- package/manifest/components/guardrail-notice.json +91 -0
- package/manifest/components/hover-card.json +151 -0
- package/manifest/components/icon-button.json +88 -0
- package/manifest/components/image-generation.json +67 -0
- package/manifest/components/info-tip.json +98 -0
- package/manifest/components/inline-citation.json +77 -0
- package/manifest/components/input-group.json +91 -0
- package/manifest/components/input.json +89 -0
- package/manifest/components/item.json +129 -0
- package/manifest/components/job-progress.json +96 -0
- package/manifest/components/kbd.json +52 -0
- package/manifest/components/launcher-bubble.json +105 -0
- package/manifest/components/link.json +81 -0
- package/manifest/components/live-region-announcer.json +79 -0
- package/manifest/components/log-viewer.json +139 -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/menubar.json +157 -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 +100 -0
- 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/message.json +116 -0
- package/manifest/components/meter.json +114 -0
- package/manifest/components/mobile-composer.json +126 -0
- package/manifest/components/model-picker.json +76 -0
- package/manifest/components/multi-select.json +190 -0
- package/manifest/components/musical-time-input.json +113 -0
- package/manifest/components/navigation-menu.json +226 -0
- package/manifest/components/node-card.json +109 -0
- package/manifest/components/node-handle.json +69 -0
- package/manifest/components/number-field.json +107 -0
- package/manifest/components/number-ticker.json +61 -0
- package/manifest/components/onboarding.json +84 -0
- package/manifest/components/otp-field.json +128 -0
- package/manifest/components/page-shell.json +96 -0
- package/manifest/components/pagination.json +92 -0
- package/manifest/components/panel-header.json +77 -0
- package/manifest/components/panel.json +71 -0
- package/manifest/components/password-input.json +119 -0
- package/manifest/components/permission-grant.json +92 -0
- package/manifest/components/permission-scopes.json +139 -0
- package/manifest/components/piano-keyboard.json +120 -0
- package/manifest/components/plussie.json +111 -0
- package/manifest/components/popover.json +193 -0
- package/manifest/components/preset-section.json +73 -0
- package/manifest/components/progress.json +95 -0
- 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/radio-group.json +73 -0
- package/manifest/components/radio.json +80 -0
- package/manifest/components/rating.json +141 -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/resizable.json +88 -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/row.json +109 -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 +91 -0
- package/manifest/components/scrollable-tabs-list.json +83 -0
- package/manifest/components/scrub-input.json +200 -0
- package/manifest/components/seam-cell.json +75 -0
- package/manifest/components/seam-grid.json +75 -0
- package/manifest/components/seam-list.json +56 -0
- package/manifest/components/search-input.json +134 -0
- package/manifest/components/section-header.json +112 -0
- package/manifest/components/segmented-control.json +138 -0
- package/manifest/components/select.json +194 -0
- package/manifest/components/separator.json +53 -0
- package/manifest/components/settings-panel.json +118 -0
- package/manifest/components/shape-section.json +66 -0
- package/manifest/components/shared-conversation.json +89 -0
- package/manifest/components/sheet.json +186 -0
- package/manifest/components/shimmer-label.json +59 -0
- package/manifest/components/sidebar.json +198 -0
- package/manifest/components/signal-edge.json +56 -0
- package/manifest/components/skeleton.json +46 -0
- package/manifest/components/skill-icon.json +52 -0
- package/manifest/components/slider.json +89 -0
- package/manifest/components/sources.json +83 -0
- package/manifest/components/sparkline.json +76 -0
- package/manifest/components/speaker-identity.json +61 -0
- package/manifest/components/spec-sheet.json +80 -0
- package/manifest/components/spectrum-visualizer.json +115 -0
- package/manifest/components/spinner.json +61 -0
- package/manifest/components/stack-icon.json +52 -0
- package/manifest/components/stack.json +96 -0
- package/manifest/components/stacks-matrix-icon.json +52 -0
- package/manifest/components/stat.json +87 -0
- package/manifest/components/status-bar.json +58 -0
- package/manifest/components/status-dot.json +78 -0
- package/manifest/components/stepper.json +89 -0
- 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/switch.json +87 -0
- package/manifest/components/table-scroll-region.json +69 -0
- package/manifest/components/table.json +155 -0
- package/manifest/components/tabs.json +145 -0
- package/manifest/components/tags-input.json +190 -0
- package/manifest/components/tail-status.json +109 -0
- package/manifest/components/terminal-block.json +91 -0
- package/manifest/components/terminal-frame.json +119 -0
- package/manifest/components/textarea.json +76 -0
- package/manifest/components/theme-configurator.json +124 -0
- package/manifest/components/theme-provider.json +134 -0
- 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 +160 -0
- package/manifest/components/time-boundary.json +62 -0
- package/manifest/components/time-field.json +80 -0
- package/manifest/components/timeline-ruler.json +139 -0
- package/manifest/components/timeline.json +115 -0
- package/manifest/components/title-bar.json +82 -0
- package/manifest/components/toast.json +130 -0
- package/manifest/components/todo-list.json +69 -0
- package/manifest/components/toggle-group.json +106 -0
- package/manifest/components/toggle.json +109 -0
- package/manifest/components/token-editor.json +90 -0
- 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 +163 -0
- package/manifest/components/tooltip.json +164 -0
- package/manifest/components/trace-waterfall.json +74 -0
- package/manifest/components/tree-visibility-toggle.json +84 -0
- package/manifest/components/tree.json +140 -0
- package/manifest/components/turn-footer.json +105 -0
- package/manifest/components/two-step-button.json +113 -0
- package/manifest/components/typing-indicator.json +53 -0
- package/manifest/components/universe-grid.json +127 -0
- package/manifest/components/unread-divider.json +55 -0
- package/manifest/components/usage-chart.json +124 -0
- 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 +4779 -0
- package/manifest/tokens.json +159 -0
- package/package.json +54 -5
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ArtifactCard",
|
|
3
|
+
"slug": "artifact-card",
|
|
4
|
+
"group": "elements",
|
|
5
|
+
"importPath": "@cueplusplus/ui/elements",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"lucide-react"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "A generated document as a tangible object, written live and versioned.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "title",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Name of the generated artifact."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "meta",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": true,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Resting meta line shown once generation finishes, for example kind, version, and\nrecency."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "generating",
|
|
28
|
+
"type": "boolean",
|
|
29
|
+
"required": false,
|
|
30
|
+
"defaultValue": "false",
|
|
31
|
+
"description": "While true the icon pulses and the meta line shows a live word count with a shimmer."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "words",
|
|
35
|
+
"type": "number",
|
|
36
|
+
"required": false,
|
|
37
|
+
"defaultValue": "0",
|
|
38
|
+
"description": "Live word count shown while generating."
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"typeReferences": [
|
|
42
|
+
"Omit<\n ComponentProps<\"div\">,\n \"children\" | \"title\" | \"meta\" | \"generating\" | \"words\"\n> & {\n /** Name of the generated artifact. */\n title: string;\n /**\n * Resting meta line shown once generation finishes, for example kind, version, and\n * recency.\n */\n meta: string;\n /** While true the icon pulses and the meta line shows a live word count with a shimmer. */\n generating?: boolean;\n /** Live word count shown while generating. */\n words?: number;\n}"
|
|
43
|
+
],
|
|
44
|
+
"subcomponents": [],
|
|
45
|
+
"parts": [],
|
|
46
|
+
"variants": {},
|
|
47
|
+
"defaultVariants": {},
|
|
48
|
+
"tokensUsed": [
|
|
49
|
+
"--cue-fg-muted",
|
|
50
|
+
"--cue-fg-subtle",
|
|
51
|
+
"--cue-radius-overlay",
|
|
52
|
+
"--cue-radius-surface",
|
|
53
|
+
"--cue-surface-1",
|
|
54
|
+
"--cue-text-body"
|
|
55
|
+
],
|
|
56
|
+
"summary": "A generated document as a tangible object, written live and versioned.",
|
|
57
|
+
"examples": [
|
|
58
|
+
{
|
|
59
|
+
"title": "Usage",
|
|
60
|
+
"code": "import { ArtifactCard } from \"@cueplusplus/ui/elements\";\n\n<ArtifactCard\n title=\"Draft persistence RFC\"\n meta=\"Document · v3 · just now\"\n generating={isWriting}\n words={wordCount}\n/>",
|
|
61
|
+
"language": "tsx"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"status": "todo-docs",
|
|
65
|
+
"url": "/docs/components/artifact-card",
|
|
66
|
+
"mdUrl": "/docs/components/artifact-card.md",
|
|
67
|
+
"jsonUrl": "/r/components/artifact-card.json",
|
|
68
|
+
"specimens": [
|
|
69
|
+
{
|
|
70
|
+
"title": "ArtifactCard",
|
|
71
|
+
"group": "elements-knowledge",
|
|
72
|
+
"components": [
|
|
73
|
+
"ArtifactCard"
|
|
74
|
+
],
|
|
75
|
+
"code": "<Specimens>\n <Specimen label=\"writing\">\n <ArtifactCard title=\"Front truss — fixture spec\" meta=\"\" generating words={214} />\n </Specimen>\n <Specimen label=\"written\">\n <ArtifactCard title=\"Front truss — fixture spec\" meta=\"1.4 KB · v3\" />\n </Specimen>\n</Specimens>",
|
|
76
|
+
"note": "The document the answer produced, as an object you can pick up. While it is being written the icon pulses, the label shimmers and the word count climbs; when it lands, the meta line blurs in with its size and version. It is the handle — the document itself opens in a canvas.",
|
|
77
|
+
"interaction": "the whole card is the target and lifts a pixel under the pointer; the arrow only appears on hover, so a resting card is quiet."
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"todo": true
|
|
81
|
+
}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AskBox",
|
|
3
|
+
"slug": "ask-box",
|
|
4
|
+
"group": "chat",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "The human-in-the-loop question: an agent stops, asks, and waits.\n\nControlled by design. The box holds the *draft* answer while the user is\nchoosing, but it never holds the fact of having answered — that comes back as\nthe `answer` prop once the host has recorded it. Anything else and a\ncomponent's local state becomes the source of truth for a decision the run\ndepends on, which survives exactly until the pane unmounts.\n\nAnswered questions collapse to `question · answer ✓` and expand on click, so\na long thread reads as a decision log rather than a wall of settled forms.\n\nThe prompt is rendered verbatim, never parsed as markup: an approval prompt\ninterpolates model-controlled text, and a `` in a consent statement\nis an exfiltration channel.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "question",
|
|
12
|
+
"type": "ReactNode",
|
|
13
|
+
"required": true,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "The question, as text or nodes. Rendered verbatim — never parsed."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "kind",
|
|
19
|
+
"type": "\"number\" | \"boolean\" | \"text\" | \"single\" | \"multi\"",
|
|
20
|
+
"required": false,
|
|
21
|
+
"defaultValue": "text",
|
|
22
|
+
"description": "Which widget to offer. Defaults to `\"text\"`."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "options",
|
|
26
|
+
"type": "readonly AskOption[]",
|
|
27
|
+
"required": false,
|
|
28
|
+
"defaultValue": null,
|
|
29
|
+
"description": "Choices for a `single` or `multi` question."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "onAnswer",
|
|
33
|
+
"type": "(value: AskAnswer) => void",
|
|
34
|
+
"required": true,
|
|
35
|
+
"defaultValue": null,
|
|
36
|
+
"description": "Fired once with the answer. The host is responsible for resuming the run."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "answer",
|
|
40
|
+
"type": "AskAnswer",
|
|
41
|
+
"required": false,
|
|
42
|
+
"defaultValue": null,
|
|
43
|
+
"description": "The answer, once there is one. Present means answered: the box collapses to\na one-line summary and stops accepting input."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "asker",
|
|
47
|
+
"type": "string",
|
|
48
|
+
"required": false,
|
|
49
|
+
"defaultValue": null,
|
|
50
|
+
"description": "Slug of the agent asking, for the byline and the box's colour."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "rootAgent",
|
|
54
|
+
"type": "string",
|
|
55
|
+
"required": false,
|
|
56
|
+
"defaultValue": null,
|
|
57
|
+
"description": "Slug of the orchestrator, so its questions take the theme accent."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "tool",
|
|
61
|
+
"type": "string",
|
|
62
|
+
"required": false,
|
|
63
|
+
"defaultValue": null,
|
|
64
|
+
"description": "Tool this question is approving, if it is an approval."
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "danger",
|
|
68
|
+
"type": "\"low\" | \"high\" | \"critical\"",
|
|
69
|
+
"required": false,
|
|
70
|
+
"defaultValue": null,
|
|
71
|
+
"description": "Risk rating for the tool call. Omit for a plain question."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "defaultValue",
|
|
75
|
+
"type": "AskAnswer",
|
|
76
|
+
"required": false,
|
|
77
|
+
"defaultValue": null,
|
|
78
|
+
"description": "Initial widget value. A string for `text`/`single`, an array for `multi`, a number for `number`."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "placeholder",
|
|
82
|
+
"type": "string",
|
|
83
|
+
"required": false,
|
|
84
|
+
"defaultValue": null,
|
|
85
|
+
"description": "Placeholder for the `text` widget."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "min",
|
|
89
|
+
"type": "number",
|
|
90
|
+
"required": false,
|
|
91
|
+
"defaultValue": null,
|
|
92
|
+
"description": "Lower bound for the `number` widget."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "max",
|
|
96
|
+
"type": "number",
|
|
97
|
+
"required": false,
|
|
98
|
+
"defaultValue": null,
|
|
99
|
+
"description": "Upper bound for the `number` widget."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "step",
|
|
103
|
+
"type": "number",
|
|
104
|
+
"required": false,
|
|
105
|
+
"defaultValue": null,
|
|
106
|
+
"description": "Increment the `number` widget's stepper moves by."
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "unit",
|
|
110
|
+
"type": "string",
|
|
111
|
+
"required": false,
|
|
112
|
+
"defaultValue": null,
|
|
113
|
+
"description": "Unit shown beside a number, and in the answered summary."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "confirmLabel",
|
|
117
|
+
"type": "string",
|
|
118
|
+
"required": false,
|
|
119
|
+
"defaultValue": "Confirm",
|
|
120
|
+
"description": "Label on the affirmative half of a `boolean`. Defaults to `\"Confirm\"`."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "rejectLabel",
|
|
124
|
+
"type": "string",
|
|
125
|
+
"required": false,
|
|
126
|
+
"defaultValue": "Reject",
|
|
127
|
+
"description": "Label on the negative half of a `boolean`. Defaults to `\"Reject\"`."
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "submitLabel",
|
|
131
|
+
"type": "ReactNode",
|
|
132
|
+
"required": false,
|
|
133
|
+
"defaultValue": "Submit",
|
|
134
|
+
"description": "Label on the submit button. Defaults to `\"Submit\"`."
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "busy",
|
|
138
|
+
"type": "boolean",
|
|
139
|
+
"required": false,
|
|
140
|
+
"defaultValue": "false",
|
|
141
|
+
"description": "The answer is in flight: locks the widget and says so."
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "defaultOpen",
|
|
145
|
+
"type": "boolean",
|
|
146
|
+
"required": false,
|
|
147
|
+
"defaultValue": "false",
|
|
148
|
+
"description": "Expand the answered summary from the start. Defaults to `false`."
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"name": "aria-label",
|
|
152
|
+
"type": "string",
|
|
153
|
+
"required": false,
|
|
154
|
+
"defaultValue": null,
|
|
155
|
+
"description": "Accessible name for the widget when `question` is not plain text."
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"typeReferences": [
|
|
159
|
+
"Omit<React.ComponentPropsWithoutRef<\"div\">, \"onSubmit\" | \"defaultValue\">"
|
|
160
|
+
],
|
|
161
|
+
"subcomponents": [],
|
|
162
|
+
"parts": [],
|
|
163
|
+
"variants": {},
|
|
164
|
+
"defaultVariants": {},
|
|
165
|
+
"tokensUsed": [
|
|
166
|
+
"--cue-accent",
|
|
167
|
+
"--cue-border",
|
|
168
|
+
"--cue-fg",
|
|
169
|
+
"--cue-fg-muted",
|
|
170
|
+
"--cue-fg-subtle",
|
|
171
|
+
"--cue-font-mono",
|
|
172
|
+
"--cue-icon-sm",
|
|
173
|
+
"--cue-ok",
|
|
174
|
+
"--cue-radius-surface",
|
|
175
|
+
"--cue-space-2",
|
|
176
|
+
"--cue-space-3",
|
|
177
|
+
"--cue-space-4",
|
|
178
|
+
"--cue-surface-1",
|
|
179
|
+
"--cue-text-body",
|
|
180
|
+
"--cue-text-label",
|
|
181
|
+
"--cue-text-micro",
|
|
182
|
+
"--cue-text-ui"
|
|
183
|
+
],
|
|
184
|
+
"summary": "The human-in-the-loop question: an agent stops, asks, and waits.",
|
|
185
|
+
"examples": [
|
|
186
|
+
{
|
|
187
|
+
"title": "Usage",
|
|
188
|
+
"code": "<AskBox question=\"Which merge mode?\" kind=\"single\" options={modes} onAnswer={resume} />\n<AskBox question=\"Delete the rig?\" kind=\"boolean\" tool=\"rig.delete\" danger=\"critical\" onAnswer={resume} />",
|
|
189
|
+
"language": "tsx"
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
"status": "todo-docs",
|
|
193
|
+
"url": "/docs/components/ask-box",
|
|
194
|
+
"mdUrl": "/docs/components/ask-box.md",
|
|
195
|
+
"jsonUrl": "/r/components/ask-box.json",
|
|
196
|
+
"specimens": [
|
|
197
|
+
{
|
|
198
|
+
"title": "AskBox",
|
|
199
|
+
"group": "chat",
|
|
200
|
+
"components": [
|
|
201
|
+
"AskBox"
|
|
202
|
+
],
|
|
203
|
+
"code": "<div className=\"grid w-full gap-(--cue-space-5) lg:grid-cols-2\">\n <AskBox\n question=\"Name the cue\"\n kind=\"text\"\n asker=\"cue-writer\"\n placeholder=\"e.g. House to half\"\n onAnswer={answer(\"text\")}\n answer={answers[\"text\"]}\n />\n <AskBox\n question=\"Which protocol should the bridge use?\"\n kind=\"single\"\n options={ASK_OPTIONS}\n asker=\"patcher\"\n onAnswer={answer(\"single\")}\n answer={answers[\"single\"]}\n />\n <AskBox\n question=\"Which universes should the archivist capture?\"\n kind=\"multi\"\n options={[\n { value: \"1\", label: \"Universe 1\" },\n { value: \"2\", label: \"Universe 2\" },\n { value: \"3\", label: \"Universe 3\" },\n ]}\n asker=\"archivist\"\n onAnswer={answer(\"multi\")}\n answer={answers[\"multi\"]}\n />\n <AskBox\n question=\"Unpatch every fixture on universe 4?\"\n kind=\"boolean\"\n danger=\"critical\"\n tool=\"unpatch\"\n asker=\"patcher\"\n confirmLabel=\"Unpatch\"\n rejectLabel=\"Keep\"\n onAnswer={answer(\"boolean\")}\n answer={answers[\"boolean\"]}\n />\n <AskBox\n question=\"Fade time for cue 4\"\n kind=\"number\"\n min={0}\n max={60}\n step={0.5}\n unit=\"s\"\n defaultValue={12}\n danger=\"low\"\n asker=\"cue-writer\"\n onAnswer={answer(\"number\")}\n answer={answers[\"number\"]}\n />\n <AskBox\n question=\"Overwrite the show file?\"\n kind=\"boolean\"\n danger=\"high\"\n busy\n asker=\"archivist\"\n onAnswer={answer(\"busy\")}\n />\n</div>",
|
|
204
|
+
"note": "The HITL question widget: five kinds, three danger levels, and a collapsed `question · answer ✓` summary once it is answered. Controlled through `onAnswer`, because the host owns the run.",
|
|
205
|
+
"interaction": "the danger chip is text as well as colour; an answered box collapses but stays expandable."
|
|
206
|
+
}
|
|
207
|
+
],
|
|
208
|
+
"todo": true
|
|
209
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AudienceIcon",
|
|
3
|
+
"slug": "audience-icon",
|
|
4
|
+
"group": "icons",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": false,
|
|
8
|
+
"description": "An audience: a named group of people something is published to.\n\nPeople, not an abstract shape. An audience is the one container in this set\nwhose members are humans rather than artefacts, and drawing it as a diamond\nor a tag would have filed it with the folders — which is exactly the mistake\na reader makes when deciding where to publish something.",
|
|
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": "An audience: a named group of people something is published to.",
|
|
25
|
+
"examples": [],
|
|
26
|
+
"status": "todo-docs",
|
|
27
|
+
"url": "/docs/components/audience-icon",
|
|
28
|
+
"mdUrl": "/docs/components/audience-icon.md",
|
|
29
|
+
"jsonUrl": "/r/components/audience-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,197 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Autocomplete",
|
|
3
|
+
"slug": "autocomplete",
|
|
4
|
+
"group": "forms",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "A text field that suggests as you type — and accepts what you typed anyway.\n\nThe counterpart to {@link Combobox }: there the list *is* the set of legal\nvalues, here it is only a shortcut. Anything the user types survives blur, so\nthis is the right control for a name, a search term or a host — anywhere the\nsuggestions are a convenience rather than a constraint.\n\nSuggestions are plain strings for the same reason: an autocomplete has no\nseparate value/label axis, because the label *is* the value.\n\nThe popup is portalled through {@link useCuePortalProps}, so it carries the\ncaller's `data-theme` / `data-density` / `data-mode`.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "items",
|
|
12
|
+
"type": "readonly string[]",
|
|
13
|
+
"required": true,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "The suggestions, filtered against what is typed."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "value",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"required": false,
|
|
21
|
+
"defaultValue": null,
|
|
22
|
+
"description": "Current text. Use with `onValueChange` for a controlled field."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "defaultValue",
|
|
26
|
+
"type": "string",
|
|
27
|
+
"required": false,
|
|
28
|
+
"defaultValue": null,
|
|
29
|
+
"description": "Initial text for an uncontrolled field."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "onValueChange",
|
|
33
|
+
"type": "((value: string) => void)",
|
|
34
|
+
"required": false,
|
|
35
|
+
"defaultValue": null,
|
|
36
|
+
"description": "Fired on every keystroke and when a suggestion is picked."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "placeholder",
|
|
40
|
+
"type": "string",
|
|
41
|
+
"required": false,
|
|
42
|
+
"defaultValue": null,
|
|
43
|
+
"description": "Shown while the field is empty."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "emptyMessage",
|
|
47
|
+
"type": "ReactNode",
|
|
48
|
+
"required": false,
|
|
49
|
+
"defaultValue": "No matches",
|
|
50
|
+
"description": "Shown in place of the list when the query matches nothing."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "size",
|
|
54
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
55
|
+
"required": false,
|
|
56
|
+
"defaultValue": null,
|
|
57
|
+
"description": "Rung of the control ladder. Defaults to `\"md\"`."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "autoHighlight",
|
|
61
|
+
"type": "boolean",
|
|
62
|
+
"required": false,
|
|
63
|
+
"defaultValue": "false",
|
|
64
|
+
"description": "Highlight the first match automatically so Enter accepts it."
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "disabled",
|
|
68
|
+
"type": "boolean",
|
|
69
|
+
"required": false,
|
|
70
|
+
"defaultValue": null,
|
|
71
|
+
"description": "Prevent opening and grey the field out."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "required",
|
|
75
|
+
"type": "boolean",
|
|
76
|
+
"required": false,
|
|
77
|
+
"defaultValue": null,
|
|
78
|
+
"description": "Require text before the owning form submits."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "name",
|
|
82
|
+
"type": "string",
|
|
83
|
+
"required": false,
|
|
84
|
+
"defaultValue": null,
|
|
85
|
+
"description": "Name for the input, when the field is part of a form."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "id",
|
|
89
|
+
"type": "string",
|
|
90
|
+
"required": false,
|
|
91
|
+
"defaultValue": null,
|
|
92
|
+
"description": "Id forwarded to the input."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "aria-label",
|
|
96
|
+
"type": "string",
|
|
97
|
+
"required": false,
|
|
98
|
+
"defaultValue": null,
|
|
99
|
+
"description": "Accessible name for the input, when no {@link FieldLabel } names it."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "aria-labelledby",
|
|
103
|
+
"type": "string",
|
|
104
|
+
"required": false,
|
|
105
|
+
"defaultValue": null,
|
|
106
|
+
"description": "Id of the element naming the input."
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "clearLabel",
|
|
110
|
+
"type": "string",
|
|
111
|
+
"required": false,
|
|
112
|
+
"defaultValue": "Clear",
|
|
113
|
+
"description": "Accessible name for the clear button. Defaults to `\"Clear\"`."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "className",
|
|
117
|
+
"type": "string",
|
|
118
|
+
"required": false,
|
|
119
|
+
"defaultValue": null,
|
|
120
|
+
"description": "Extra classes for the field."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "popupClassName",
|
|
124
|
+
"type": "string",
|
|
125
|
+
"required": false,
|
|
126
|
+
"defaultValue": null,
|
|
127
|
+
"description": "Extra classes for the popup surface."
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "sideOffset",
|
|
131
|
+
"type": "number",
|
|
132
|
+
"required": false,
|
|
133
|
+
"defaultValue": "4",
|
|
134
|
+
"description": "Distance in px between the field and the popup. Defaults to `4`."
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"typeReferences": [],
|
|
138
|
+
"subcomponents": [],
|
|
139
|
+
"parts": [],
|
|
140
|
+
"variants": {},
|
|
141
|
+
"defaultVariants": {},
|
|
142
|
+
"tokensUsed": [
|
|
143
|
+
"--cue-accent",
|
|
144
|
+
"--cue-accent-soft",
|
|
145
|
+
"--cue-border",
|
|
146
|
+
"--cue-border-overlay",
|
|
147
|
+
"--cue-chip-h",
|
|
148
|
+
"--cue-control-lg",
|
|
149
|
+
"--cue-control-md",
|
|
150
|
+
"--cue-control-sm",
|
|
151
|
+
"--cue-danger",
|
|
152
|
+
"--cue-fg",
|
|
153
|
+
"--cue-fg-muted",
|
|
154
|
+
"--cue-fg-subtle",
|
|
155
|
+
"--cue-font-mono",
|
|
156
|
+
"--cue-icon-sm",
|
|
157
|
+
"--cue-radius-control",
|
|
158
|
+
"--cue-radius-overlay",
|
|
159
|
+
"--cue-scrim",
|
|
160
|
+
"--cue-space-1",
|
|
161
|
+
"--cue-space-2",
|
|
162
|
+
"--cue-space-3",
|
|
163
|
+
"--cue-space-4",
|
|
164
|
+
"--cue-space-5",
|
|
165
|
+
"--cue-sunken",
|
|
166
|
+
"--cue-surface-2",
|
|
167
|
+
"--cue-text-body",
|
|
168
|
+
"--cue-text-emphasis",
|
|
169
|
+
"--cue-text-label",
|
|
170
|
+
"--cue-text-ui"
|
|
171
|
+
],
|
|
172
|
+
"summary": "A text field that suggests as you type — and accepts what you typed anyway.",
|
|
173
|
+
"examples": [
|
|
174
|
+
{
|
|
175
|
+
"title": "Usage",
|
|
176
|
+
"code": "<Autocomplete aria-label=\"Cue name\" items={recentCues} onValueChange={setName} />",
|
|
177
|
+
"language": "tsx"
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"status": "todo-docs",
|
|
181
|
+
"url": "/docs/components/autocomplete",
|
|
182
|
+
"mdUrl": "/docs/components/autocomplete.md",
|
|
183
|
+
"jsonUrl": "/r/components/autocomplete.json",
|
|
184
|
+
"specimens": [
|
|
185
|
+
{
|
|
186
|
+
"title": "Autocomplete",
|
|
187
|
+
"group": "forms",
|
|
188
|
+
"components": [
|
|
189
|
+
"Autocomplete"
|
|
190
|
+
],
|
|
191
|
+
"code": "<div className=\"grid w-full gap-(--cue-space-5) lg:grid-cols-3\">\n <Autocomplete aria-label=\"Protocol\" items={PROTOCOLS} placeholder=\"Protocol\" />\n <Autocomplete\n aria-label=\"Protocol, highlighted\"\n items={PROTOCOLS}\n defaultValue=\"Art\"\n autoHighlight\n />\n <Autocomplete aria-label=\"Protocol, disabled\" items={PROTOCOLS} defaultValue=\"OSC\" disabled />\n</div>",
|
|
192
|
+
"note": "Suggestions over free text: the field keeps whatever was typed, and the list only offers.",
|
|
193
|
+
"interaction": "the list opens on input, not on focus; `autoHighlight` pre-selects the first match."
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
"todo": true
|
|
197
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AvatarGroup",
|
|
3
|
+
"slug": "avatar-group",
|
|
4
|
+
"group": "primitives",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "An overlapping stack of {@link Avatar}s with a `+N` overflow chip.\n\nEach item after the first is pulled left by a negative inline-start margin\nand ringed in the page background colour, which is what reads as \"stacked\"\nrather than \"crowded\". Logical margins, so the stack flips correctly in RTL.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "max",
|
|
12
|
+
"type": "number",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "Show at most this many avatars; the rest collapse into a `+N` chip. Omit for no limit."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "size",
|
|
19
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
20
|
+
"required": false,
|
|
21
|
+
"defaultValue": "md",
|
|
22
|
+
"description": "Size of the `+N` overflow chip. Match it to the avatars you pass in. Defaults to `\"md\"`."
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"typeReferences": [
|
|
26
|
+
"React.ComponentPropsWithoutRef<\"div\">"
|
|
27
|
+
],
|
|
28
|
+
"subcomponents": [],
|
|
29
|
+
"parts": [],
|
|
30
|
+
"variants": {},
|
|
31
|
+
"defaultVariants": {},
|
|
32
|
+
"tokensUsed": [
|
|
33
|
+
"--cue-bg",
|
|
34
|
+
"--cue-border",
|
|
35
|
+
"--cue-control-lg",
|
|
36
|
+
"--cue-control-md",
|
|
37
|
+
"--cue-control-sm",
|
|
38
|
+
"--cue-fg-muted",
|
|
39
|
+
"--cue-font-mono",
|
|
40
|
+
"--cue-space-2",
|
|
41
|
+
"--cue-surface-2",
|
|
42
|
+
"--cue-surface-3",
|
|
43
|
+
"--cue-text-label",
|
|
44
|
+
"--cue-text-micro",
|
|
45
|
+
"--cue-text-ui"
|
|
46
|
+
],
|
|
47
|
+
"summary": "An overlapping stack of {@link Avatar}s with a `+N` overflow chip.",
|
|
48
|
+
"examples": [
|
|
49
|
+
{
|
|
50
|
+
"title": "Usage",
|
|
51
|
+
"code": "<AvatarGroup max={3}>\n {users.map((u) => <Avatar key={u.id} alt={u.name} src={u.avatar} />)}\n</AvatarGroup>",
|
|
52
|
+
"language": "tsx"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"status": "todo-docs",
|
|
56
|
+
"url": "/docs/components/avatar-group",
|
|
57
|
+
"mdUrl": "/docs/components/avatar-group.md",
|
|
58
|
+
"jsonUrl": "/r/components/avatar-group.json",
|
|
59
|
+
"specimens": [
|
|
60
|
+
{
|
|
61
|
+
"title": "AvatarGroup",
|
|
62
|
+
"group": "primitives",
|
|
63
|
+
"components": [
|
|
64
|
+
"AvatarGroup"
|
|
65
|
+
],
|
|
66
|
+
"code": "<Specimens>\n <Specimen label=\"default\">\n <AvatarGroup>\n <Avatar fallback=\"CR\" />\n <Avatar fallback=\"JM\" />\n <Avatar fallback=\"AP\" />\n </AvatarGroup>\n </Specimen>\n <Specimen label=\"max 2\">\n <AvatarGroup max={2}>\n <Avatar fallback=\"CR\" />\n <Avatar fallback=\"JM\" />\n <Avatar fallback=\"AP\" />\n <Avatar fallback=\"LS\" />\n </AvatarGroup>\n </Specimen>\n</Specimens>",
|
|
67
|
+
"note": "Overlapping faces with an overflow count.",
|
|
68
|
+
"interaction": "none."
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"todo": true
|
|
72
|
+
}
|