@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,41 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Background, Controls } from "@xyflow/react";
|
|
3
|
+
//#region src/flow/controls.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The two library panels, wearing the token map.
|
|
6
|
+
*
|
|
7
|
+
* Both do the same small thing: publish {@link FLOW_THEME_VARIABLES} on their own
|
|
8
|
+
* root so the library's `var(--xy-*)` chains resolve to tokens, whether or not
|
|
9
|
+
* the app imported `flow.css` and whether or not it spread `theme.style` on the
|
|
10
|
+
* canvas. Custom properties are inherited and cost nothing to declare twice, and
|
|
11
|
+
* the alternative — Tailwind utilities — cannot win here: the library's
|
|
12
|
+
* stylesheet is unlayered, and every layered utility loses to an unlayered rule
|
|
13
|
+
* of equal specificity no matter which file loads last.
|
|
14
|
+
*/
|
|
15
|
+
interface FlowControlsProps extends React.ComponentProps<typeof Controls> {}
|
|
16
|
+
/**
|
|
17
|
+
* The zoom / fit / lock capsule, restyled as an overlay surface.
|
|
18
|
+
*
|
|
19
|
+
* Shape is inline for the same reason the colours are: `border-radius` and
|
|
20
|
+
* `overflow` have no `--xy-*` hook, and the library's own rule would otherwise
|
|
21
|
+
* win. `overflow: hidden` is what makes the first and last buttons take the
|
|
22
|
+
* capsule's corners instead of squaring them off.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <ReactFlow …><FlowControls /></ReactFlow>
|
|
26
|
+
*/
|
|
27
|
+
declare function FlowControls({ style, ...controlsProps }: FlowControlsProps): React.JSX.Element;
|
|
28
|
+
interface FlowBackgroundProps extends React.ComponentProps<typeof Background> {}
|
|
29
|
+
/**
|
|
30
|
+
* The canvas grid: dots one rung off the ground, at the system's own spacing.
|
|
31
|
+
*
|
|
32
|
+
* Leave `color` unset. It writes `--xy-background-pattern-color-props`, which
|
|
33
|
+
* outranks the theme map — passing a colour is how you opt *out* of theming, not
|
|
34
|
+
* how you theme it.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* <ReactFlow …><FlowBackground /></ReactFlow>
|
|
38
|
+
*/
|
|
39
|
+
declare function FlowBackground({ gap, style, ...backgroundProps }: FlowBackgroundProps): React.JSX.Element;
|
|
40
|
+
//#endregion
|
|
41
|
+
export { FlowBackground, FlowBackgroundProps, FlowControls, FlowControlsProps };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { FLOW_THEME_VARIABLES } from "./use-flow-theme.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Background, Controls } from "@xyflow/react";
|
|
6
|
+
//#region src/flow/controls.tsx
|
|
7
|
+
/** Dots every 16 flow units — the same 1rem rhythm the rest of the system is on. */
|
|
8
|
+
const DOT_GAP = 16;
|
|
9
|
+
/**
|
|
10
|
+
* The zoom / fit / lock capsule, restyled as an overlay surface.
|
|
11
|
+
*
|
|
12
|
+
* Shape is inline for the same reason the colours are: `border-radius` and
|
|
13
|
+
* `overflow` have no `--xy-*` hook, and the library's own rule would otherwise
|
|
14
|
+
* win. `overflow: hidden` is what makes the first and last buttons take the
|
|
15
|
+
* capsule's corners instead of squaring them off.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* <ReactFlow …><FlowControls /></ReactFlow>
|
|
19
|
+
*/
|
|
20
|
+
function FlowControls({ style, ...controlsProps }) {
|
|
21
|
+
return /* @__PURE__ */ jsx(Controls, {
|
|
22
|
+
style: {
|
|
23
|
+
...FLOW_THEME_VARIABLES,
|
|
24
|
+
border: "1px solid var(--cue-border-overlay)",
|
|
25
|
+
borderRadius: "var(--cue-radius-overlay)",
|
|
26
|
+
overflow: "hidden",
|
|
27
|
+
...style
|
|
28
|
+
},
|
|
29
|
+
...controlsProps
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The canvas grid: dots one rung off the ground, at the system's own spacing.
|
|
34
|
+
*
|
|
35
|
+
* Leave `color` unset. It writes `--xy-background-pattern-color-props`, which
|
|
36
|
+
* outranks the theme map — passing a colour is how you opt *out* of theming, not
|
|
37
|
+
* how you theme it.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* <ReactFlow …><FlowBackground /></ReactFlow>
|
|
41
|
+
*/
|
|
42
|
+
function FlowBackground({ gap = DOT_GAP, style, ...backgroundProps }) {
|
|
43
|
+
return /* @__PURE__ */ jsx(Background, {
|
|
44
|
+
gap,
|
|
45
|
+
style: {
|
|
46
|
+
...FLOW_THEME_VARIABLES,
|
|
47
|
+
...style
|
|
48
|
+
},
|
|
49
|
+
...backgroundProps
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { FlowBackground, FlowControls };
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/*! @cueplusplus/ui — React Flow theme layer.
|
|
2
|
+
*
|
|
3
|
+
* Consumer app CSS, in this order:
|
|
4
|
+
* @import "@xyflow/react/dist/style.css";
|
|
5
|
+
* @import "@cueplusplus/ui/flow.css";
|
|
6
|
+
*
|
|
7
|
+
* Plain CSS, no Tailwind: this file only re-inks chrome the *library* paints,
|
|
8
|
+
* so it has to work in a lane-B app that never installed Tailwind at all.
|
|
9
|
+
*
|
|
10
|
+
* Two mechanisms, deliberately:
|
|
11
|
+
*
|
|
12
|
+
* 1. Custom properties. React Flow consults `--xy-<thing>` before its own
|
|
13
|
+
* `--xy-<thing>-default` for every colour it paints, so declaring them on
|
|
14
|
+
* `.react-flow` re-themes edges, handles, controls, the minimap and the
|
|
15
|
+
* selection box without touching specificity at all — this block wins over
|
|
16
|
+
* the library's defaults whichever stylesheet loads last. It is the same map
|
|
17
|
+
* `useFlowTheme().style` publishes, and a test asserts the two agree.
|
|
18
|
+
* 2. Two extra rules for the things with no property hook — the controls
|
|
19
|
+
* capsule's shape and the pulse's keyframes. Those are scoped
|
|
20
|
+
* `.react-flow .react-flow__…`, one class more specific than the library's
|
|
21
|
+
* own rule, so they also win regardless of import order.
|
|
22
|
+
*
|
|
23
|
+
* Nothing here is required: every component in `@cueplusplus/ui/flow` publishes
|
|
24
|
+
* the same map on its own root. Import this to theme a canvas built from raw
|
|
25
|
+
* `@xyflow/react` parts, or to keep the token map out of your React tree.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
.react-flow {
|
|
29
|
+
/* The pane itself. Left to the library this is a hard-coded #141414 in dark
|
|
30
|
+
mode, which is nobody's ground. */
|
|
31
|
+
--xy-background-color: var(--cue-bg);
|
|
32
|
+
--xy-background-pattern-color: var(--cue-surface-2);
|
|
33
|
+
|
|
34
|
+
/* Wires. `border-strong` rather than a fg rung: an edge nobody has said
|
|
35
|
+
anything about is structure, not content. */
|
|
36
|
+
--xy-edge-stroke: var(--cue-border-strong);
|
|
37
|
+
--xy-edge-stroke-width: 1.5;
|
|
38
|
+
--xy-edge-stroke-selected: var(--cue-fg);
|
|
39
|
+
--xy-connectionline-stroke: var(--cue-accent);
|
|
40
|
+
--xy-connectionline-stroke-width: 1.5;
|
|
41
|
+
--xy-edge-label-background-color: var(--cue-surface-2);
|
|
42
|
+
--xy-edge-label-color: var(--cue-fg);
|
|
43
|
+
|
|
44
|
+
/* Connection points, for a plain `Handle`. `NodeHandle` paints itself. */
|
|
45
|
+
--xy-handle-background-color: var(--cue-accent);
|
|
46
|
+
--xy-handle-border-color: var(--cue-bg);
|
|
47
|
+
|
|
48
|
+
/* The library's built-in node types. A `NodeCard` uses none of this. */
|
|
49
|
+
--xy-node-background-color: var(--cue-surface-1);
|
|
50
|
+
--xy-node-border: 1px solid var(--cue-border);
|
|
51
|
+
--xy-node-border-radius: var(--cue-radius-surface);
|
|
52
|
+
--xy-node-color: var(--cue-fg);
|
|
53
|
+
--xy-node-group-background-color: var(--cue-surface-2);
|
|
54
|
+
/* Rings rather than drops: this portfolio spends its one shadow on overlays. */
|
|
55
|
+
--xy-node-boxshadow-hover: 0 0 0 1px var(--cue-border-strong);
|
|
56
|
+
--xy-node-boxshadow-selected: 0 0 0 1px var(--cue-fg);
|
|
57
|
+
|
|
58
|
+
/* The zoom capsule, which is an overlay surface like any other. */
|
|
59
|
+
--xy-controls-button-background-color: var(--cue-surface-2);
|
|
60
|
+
--xy-controls-button-background-color-hover: var(--cue-surface-3);
|
|
61
|
+
--xy-controls-button-color: var(--cue-fg-muted);
|
|
62
|
+
--xy-controls-button-color-hover: var(--cue-accent);
|
|
63
|
+
--xy-controls-button-border-color: var(--cue-border);
|
|
64
|
+
--xy-controls-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
|
|
65
|
+
|
|
66
|
+
--xy-minimap-background-color: var(--cue-surface-1);
|
|
67
|
+
--xy-minimap-mask-background-color: color-mix(in oklch, var(--cue-bg) 70%, transparent);
|
|
68
|
+
--xy-minimap-mask-stroke-color: var(--cue-border);
|
|
69
|
+
--xy-minimap-node-background-color: var(--cue-surface-3);
|
|
70
|
+
--xy-minimap-node-stroke-color: var(--cue-border);
|
|
71
|
+
|
|
72
|
+
/* Lasso select and the node-resize grips. */
|
|
73
|
+
--xy-selection-background-color: var(--cue-accent-soft);
|
|
74
|
+
--xy-selection-border: 1px dashed var(--cue-accent);
|
|
75
|
+
--xy-resize-background-color: var(--cue-accent);
|
|
76
|
+
|
|
77
|
+
--xy-attribution-background-color: color-mix(in oklch, var(--cue-bg) 70%, transparent);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* The capsule's shape: no `--xy-*` hook exists for it, so it is a rule.
|
|
81
|
+
`overflow: hidden` is what makes the first and last buttons take the
|
|
82
|
+
capsule's corners instead of squaring them off. */
|
|
83
|
+
.react-flow .react-flow__controls {
|
|
84
|
+
border: 1px solid var(--cue-border-overlay);
|
|
85
|
+
border-radius: var(--cue-radius-overlay);
|
|
86
|
+
overflow: hidden;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/* The buttons are operable, so they keep a real focus ring. Inset, because the
|
|
90
|
+
capsule clips anything drawn outside it. */
|
|
91
|
+
.react-flow .react-flow__controls-button:focus-visible {
|
|
92
|
+
outline: 2px solid var(--cue-focus);
|
|
93
|
+
outline-offset: -2px;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* The attribution's own link colour is a hard-coded #999 in the library. */
|
|
97
|
+
.react-flow .react-flow__attribution a {
|
|
98
|
+
color: var(--cue-fg-subtle);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* The pulse on a live wire (`SignalEdge`). The dash pattern is inline on the
|
|
102
|
+
path; only the march lives here, because keyframes cannot be. The offset is a
|
|
103
|
+
whole number of dash periods (2 x (3 + 8)) — anything else visibly jumps as
|
|
104
|
+
the animation loops. */
|
|
105
|
+
@keyframes cue-signal-dash {
|
|
106
|
+
to {
|
|
107
|
+
stroke-dashoffset: -22;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.cue-signal-flow {
|
|
112
|
+
animation: cue-signal-dash 700ms linear infinite;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/* Reduced motion keeps the highlight and stops the march: the pulse carries no
|
|
116
|
+
information the wire's own opacity does not. */
|
|
117
|
+
@media (prefers-reduced-motion: reduce) {
|
|
118
|
+
.cue-signal-flow {
|
|
119
|
+
animation: none;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { HandleProps } from "@xyflow/react";
|
|
3
|
+
//#region src/flow/handles.d.ts
|
|
4
|
+
/** What a connection point is carrying, or refusing to. */
|
|
5
|
+
type FlowHandleTone = "accent" | "muted" | "ok" | "busy" | "warn" | "danger" | "info";
|
|
6
|
+
/**
|
|
7
|
+
* Pin diameter in px at the 16px root.
|
|
8
|
+
*
|
|
9
|
+
* The library's own 6px is a hard target with a mouse and an impossible one with
|
|
10
|
+
* a trackpad; 9px is what dmxhub's bridge settled on after the same complaint.
|
|
11
|
+
*/
|
|
12
|
+
declare const FLOW_HANDLE_SIZE = 9;
|
|
13
|
+
interface NodeHandleProps extends HandleProps {
|
|
14
|
+
/** What the connection carries. Defaults to `"accent"`. */
|
|
15
|
+
tone?: FlowHandleTone;
|
|
16
|
+
/** Diameter in px at the 16px root, emitted as `rem`. Defaults to `9`. */
|
|
17
|
+
size?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A connection point on a node, drawn as a pin rather than a dot.
|
|
21
|
+
*
|
|
22
|
+
* Everything visual is **inline style, not a class**, and that is deliberate:
|
|
23
|
+
* `.react-flow__handle` sets `background-color`, `border` and `width`/`height`
|
|
24
|
+
* from the library's own unlayered stylesheet, while Tailwind's utilities live in
|
|
25
|
+
* a cascade layer — and any layered rule loses to an unlayered one of the same
|
|
26
|
+
* specificity, whatever order the files load in. An inline declaration is the
|
|
27
|
+
* only paint that reliably wins, which is also how the port did it.
|
|
28
|
+
*
|
|
29
|
+
* The pin is ringed in `--cue-bg` rather than in the card's own surface, so it
|
|
30
|
+
* reads as lifted off the edge it straddles no matter which surface rung the
|
|
31
|
+
* node is on.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* <NodeHandle type="source" position={Position.Right} id="u1" />
|
|
35
|
+
* @example
|
|
36
|
+
* <NodeHandle type="target" position={Position.Left} id="in" tone="muted" />
|
|
37
|
+
*/
|
|
38
|
+
declare const NodeHandle: React.ForwardRefExoticComponent<NodeHandleProps & React.RefAttributes<HTMLDivElement>>;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { FLOW_HANDLE_SIZE, FlowHandleTone, NodeHandle, NodeHandleProps };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { toRem } from "../instruments/_rem.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Handle } from "@xyflow/react";
|
|
6
|
+
//#region src/flow/handles.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Pin diameter in px at the 16px root.
|
|
9
|
+
*
|
|
10
|
+
* The library's own 6px is a hard target with a mouse and an impossible one with
|
|
11
|
+
* a trackpad; 9px is what dmxhub's bridge settled on after the same complaint.
|
|
12
|
+
*/
|
|
13
|
+
const FLOW_HANDLE_SIZE = 9;
|
|
14
|
+
const TONE_COLORS = {
|
|
15
|
+
accent: "var(--cue-accent)",
|
|
16
|
+
muted: "var(--cue-border-strong)",
|
|
17
|
+
ok: "var(--cue-ok)",
|
|
18
|
+
busy: "var(--cue-busy)",
|
|
19
|
+
warn: "var(--cue-warn)",
|
|
20
|
+
danger: "var(--cue-danger)",
|
|
21
|
+
info: "var(--cue-info)"
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* A connection point on a node, drawn as a pin rather than a dot.
|
|
25
|
+
*
|
|
26
|
+
* Everything visual is **inline style, not a class**, and that is deliberate:
|
|
27
|
+
* `.react-flow__handle` sets `background-color`, `border` and `width`/`height`
|
|
28
|
+
* from the library's own unlayered stylesheet, while Tailwind's utilities live in
|
|
29
|
+
* a cascade layer — and any layered rule loses to an unlayered one of the same
|
|
30
|
+
* specificity, whatever order the files load in. An inline declaration is the
|
|
31
|
+
* only paint that reliably wins, which is also how the port did it.
|
|
32
|
+
*
|
|
33
|
+
* The pin is ringed in `--cue-bg` rather than in the card's own surface, so it
|
|
34
|
+
* reads as lifted off the edge it straddles no matter which surface rung the
|
|
35
|
+
* node is on.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* <NodeHandle type="source" position={Position.Right} id="u1" />
|
|
39
|
+
* @example
|
|
40
|
+
* <NodeHandle type="target" position={Position.Left} id="in" tone="muted" />
|
|
41
|
+
*/
|
|
42
|
+
const NodeHandle = React.forwardRef(function NodeHandle({ className, style, tone = "accent", size = 9, ...handleProps }, ref) {
|
|
43
|
+
return /* @__PURE__ */ jsx(Handle, {
|
|
44
|
+
ref,
|
|
45
|
+
"data-slot": "node-handle",
|
|
46
|
+
"data-tone": tone,
|
|
47
|
+
className,
|
|
48
|
+
style: {
|
|
49
|
+
width: toRem(size),
|
|
50
|
+
height: toRem(size),
|
|
51
|
+
minWidth: toRem(size),
|
|
52
|
+
minHeight: toRem(size),
|
|
53
|
+
backgroundColor: TONE_COLORS[tone],
|
|
54
|
+
borderColor: "var(--cue-bg)",
|
|
55
|
+
...style
|
|
56
|
+
},
|
|
57
|
+
...handleProps
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//#endregion
|
|
61
|
+
export { FLOW_HANDLE_SIZE, NodeHandle };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_FALLBACK, FLOW_NODE_FRAME_PROPERTY, FlowNodeState, FlowNodeTone, flowFrameColor } from "./_frame.js";
|
|
2
|
+
import { FlowBackground, FlowBackgroundProps, FlowControls, FlowControlsProps } from "./controls.js";
|
|
3
|
+
import { FLOW_HANDLE_SIZE, FlowHandleTone, NodeHandle, NodeHandleProps } from "./handles.js";
|
|
4
|
+
import { NodeCard, NodeCardProps } from "./node-card.js";
|
|
5
|
+
import { SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge, SignalEdgeData, SignalEdgeProps, SignalEdgeType, SignalTone } from "./signal-edge.js";
|
|
6
|
+
import { FLOW_THEME_VARIABLES, FlowTheme, useFlowTheme } from "./use-flow-theme.js";
|
|
7
|
+
export { FLOW_HANDLE_SIZE, FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_FALLBACK, FLOW_NODE_FRAME_PROPERTY, FLOW_THEME_VARIABLES, FlowBackground, type FlowBackgroundProps, FlowControls, type FlowControlsProps, type FlowHandleTone, type FlowNodeState, type FlowNodeTone, type FlowTheme, NodeCard, type NodeCardProps, NodeHandle, type NodeHandleProps, SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge, type SignalEdgeData, type SignalEdgeProps, type SignalEdgeType, type SignalTone, flowFrameColor, useFlowTheme };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_FALLBACK, FLOW_NODE_FRAME_PROPERTY, flowFrameColor } from "./_frame.js";
|
|
2
|
+
import { SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge } from "./signal-edge.js";
|
|
3
|
+
import { FLOW_THEME_VARIABLES, useFlowTheme } from "./use-flow-theme.js";
|
|
4
|
+
import { FlowBackground, FlowControls } from "./controls.js";
|
|
5
|
+
import { FLOW_HANDLE_SIZE, NodeHandle } from "./handles.js";
|
|
6
|
+
import { NodeCard } from "./node-card.js";
|
|
7
|
+
export { FLOW_HANDLE_SIZE, FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_FALLBACK, FLOW_NODE_FRAME_PROPERTY, FLOW_THEME_VARIABLES, FlowBackground, FlowControls, NodeCard, NodeHandle, SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge, flowFrameColor, useFlowTheme };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { FlowNodeState, FlowNodeTone } from "./_frame.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/flow/node-card.d.ts
|
|
4
|
+
interface NodeCardProps extends React.ComponentPropsWithoutRef<"div"> {
|
|
5
|
+
/** Where the node sits in the signal path. Inks the frame at rest. */
|
|
6
|
+
tone?: FlowNodeTone;
|
|
7
|
+
/**
|
|
8
|
+
* What the node is doing right now. Outranks `tone`.
|
|
9
|
+
*
|
|
10
|
+
* Pass React Flow's own `selected` through:
|
|
11
|
+
* `state={selected ? "selected" : "idle"}`.
|
|
12
|
+
*/
|
|
13
|
+
state?: FlowNodeState;
|
|
14
|
+
/** The summary band: a label, a toggle, a badge. Also the drag handle. */
|
|
15
|
+
header?: React.ReactNode;
|
|
16
|
+
/** Whether the body is shown. Defaults to `true`; `false` renders the band alone. */
|
|
17
|
+
expanded?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Called with the requested state when the caret is clicked. Supplying it is
|
|
20
|
+
* what makes the caret appear — a card nobody can collapse should not offer to.
|
|
21
|
+
*/
|
|
22
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
23
|
+
/** Accessible name for the caret. Defaults to `"Collapse"` / `"Expand"`. */
|
|
24
|
+
toggleLabel?: string;
|
|
25
|
+
/** The body: rows, bars, fields. Full-bleed — rows own their own padding. */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A node on a graph canvas, drawn in this system's language.
|
|
30
|
+
*
|
|
31
|
+
* Framed with an **outline, never a border**. React Flow is told a node's height
|
|
32
|
+
* up front — every layout that stacks nodes computes it — and a 1px border on
|
|
33
|
+
* each side makes the rendered box 2px taller than the number the layout used,
|
|
34
|
+
* which is how node stacks end up overlapping by a hairline that grows with the
|
|
35
|
+
* node count. An outline is painted outside the box model entirely and costs
|
|
36
|
+
* nothing, so the formula and the DOM agree. `-outline-offset-1` then pulls it
|
|
37
|
+
* back inside the corner radius.
|
|
38
|
+
*
|
|
39
|
+
* The frame's colour is the node's state (see `_frame.ts`): selected beats live
|
|
40
|
+
* beats identity. When neither `tone` nor `state` is given the card paints no
|
|
41
|
+
* colour of its own and inherits `--cue-node-frame` from the node wrapper, which
|
|
42
|
+
* is how `useFlowTheme().nodeStyles` colours a whole class of nodes at once.
|
|
43
|
+
*
|
|
44
|
+
* The header band is the drag handle — pass
|
|
45
|
+
* `dragHandle: '[data-slot="node-card-header"]'` on the node so a pointer inside
|
|
46
|
+
* the body edits instead of dragging.
|
|
47
|
+
*
|
|
48
|
+
* Nothing here imports `@xyflow/react`: a node card is a div, and the same card
|
|
49
|
+
* draws a static diagram on a marketing page with no graph engine shipped. It
|
|
50
|
+
* also never clips — handles straddle the rim, so an `overflow-hidden` in
|
|
51
|
+
* `className` would slice every connection point in half.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* function MergeNode({ selected }: NodeProps) {
|
|
55
|
+
* const [open, setOpen] = React.useState(true);
|
|
56
|
+
* return (
|
|
57
|
+
* <NodeCard
|
|
58
|
+
* tone="processing"
|
|
59
|
+
* state={selected ? "selected" : "live"}
|
|
60
|
+
* header={<span className="truncate">merge · universe 3</span>}
|
|
61
|
+
* expanded={open}
|
|
62
|
+
* onExpandedChange={setOpen}
|
|
63
|
+
* >
|
|
64
|
+
* <DmxBar data={frame} />
|
|
65
|
+
* </NodeCard>
|
|
66
|
+
* );
|
|
67
|
+
* }
|
|
68
|
+
*/
|
|
69
|
+
declare const NodeCard: React.ForwardRefExoticComponent<NodeCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
70
|
+
//#endregion
|
|
71
|
+
export { NodeCard, NodeCardProps };
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_PROPERTY, flowFrameColor } from "./_frame.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/flow/node-card.tsx
|
|
7
|
+
/**
|
|
8
|
+
* React Flow's two opt-outs, on every control a card owns.
|
|
9
|
+
*
|
|
10
|
+
* Without `nodrag` a click on the chevron drags the node out from under the
|
|
11
|
+
* pointer; without `nopan` a drag that starts inside the card pans the whole
|
|
12
|
+
* viewport. They are class names because that is the only interface the library
|
|
13
|
+
* offers for it.
|
|
14
|
+
*/
|
|
15
|
+
const NO_CANVAS_GESTURE = "nodrag nopan";
|
|
16
|
+
/**
|
|
17
|
+
* A node on a graph canvas, drawn in this system's language.
|
|
18
|
+
*
|
|
19
|
+
* Framed with an **outline, never a border**. React Flow is told a node's height
|
|
20
|
+
* up front — every layout that stacks nodes computes it — and a 1px border on
|
|
21
|
+
* each side makes the rendered box 2px taller than the number the layout used,
|
|
22
|
+
* which is how node stacks end up overlapping by a hairline that grows with the
|
|
23
|
+
* node count. An outline is painted outside the box model entirely and costs
|
|
24
|
+
* nothing, so the formula and the DOM agree. `-outline-offset-1` then pulls it
|
|
25
|
+
* back inside the corner radius.
|
|
26
|
+
*
|
|
27
|
+
* The frame's colour is the node's state (see `_frame.ts`): selected beats live
|
|
28
|
+
* beats identity. When neither `tone` nor `state` is given the card paints no
|
|
29
|
+
* colour of its own and inherits `--cue-node-frame` from the node wrapper, which
|
|
30
|
+
* is how `useFlowTheme().nodeStyles` colours a whole class of nodes at once.
|
|
31
|
+
*
|
|
32
|
+
* The header band is the drag handle — pass
|
|
33
|
+
* `dragHandle: '[data-slot="node-card-header"]'` on the node so a pointer inside
|
|
34
|
+
* the body edits instead of dragging.
|
|
35
|
+
*
|
|
36
|
+
* Nothing here imports `@xyflow/react`: a node card is a div, and the same card
|
|
37
|
+
* draws a static diagram on a marketing page with no graph engine shipped. It
|
|
38
|
+
* also never clips — handles straddle the rim, so an `overflow-hidden` in
|
|
39
|
+
* `className` would slice every connection point in half.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* function MergeNode({ selected }: NodeProps) {
|
|
43
|
+
* const [open, setOpen] = React.useState(true);
|
|
44
|
+
* return (
|
|
45
|
+
* <NodeCard
|
|
46
|
+
* tone="processing"
|
|
47
|
+
* state={selected ? "selected" : "live"}
|
|
48
|
+
* header={<span className="truncate">merge · universe 3</span>}
|
|
49
|
+
* expanded={open}
|
|
50
|
+
* onExpandedChange={setOpen}
|
|
51
|
+
* >
|
|
52
|
+
* <DmxBar data={frame} />
|
|
53
|
+
* </NodeCard>
|
|
54
|
+
* );
|
|
55
|
+
* }
|
|
56
|
+
*/
|
|
57
|
+
const NodeCard = React.forwardRef(function NodeCard({ className, style, tone, state, header, expanded = true, onExpandedChange, toggleLabel, children, ...elementProps }, ref) {
|
|
58
|
+
const bodyId = React.useId();
|
|
59
|
+
const frame = flowFrameColor(tone, state);
|
|
60
|
+
const hasBody = expanded && children !== void 0 && children !== null;
|
|
61
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
62
|
+
ref,
|
|
63
|
+
"data-slot": "node-card",
|
|
64
|
+
"data-tone": tone,
|
|
65
|
+
"data-state": state,
|
|
66
|
+
className: cn("relative flex min-w-0 flex-col rounded-(--radius-surface) bg-surface-1 font-mono text-(length:--cue-text-label) text-fg outline-1 outline-solid -outline-offset-1", state === "disabled" && "opacity-50", className),
|
|
67
|
+
style: {
|
|
68
|
+
outlineColor: FLOW_NODE_FRAME_COLOR,
|
|
69
|
+
...frame === void 0 ? null : { [FLOW_NODE_FRAME_PROPERTY]: frame },
|
|
70
|
+
...style
|
|
71
|
+
},
|
|
72
|
+
...elementProps,
|
|
73
|
+
children: [header === void 0 ? null : /* @__PURE__ */ jsxs("div", {
|
|
74
|
+
"data-slot": "node-card-header",
|
|
75
|
+
className: cn("flex h-control-sm min-w-0 shrink-0 items-center gap-(--cue-space-2) px-(--cue-space-3) font-medium", hasBody && "shadow-[inset_0_-1px_0_var(--cue-border)]"),
|
|
76
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
77
|
+
"data-slot": "node-card-title",
|
|
78
|
+
className: "min-w-0 flex-1 truncate",
|
|
79
|
+
children: header
|
|
80
|
+
}), onExpandedChange === void 0 ? null : /* @__PURE__ */ jsx("button", {
|
|
81
|
+
type: "button",
|
|
82
|
+
"data-slot": "node-card-toggle",
|
|
83
|
+
"aria-expanded": expanded,
|
|
84
|
+
"aria-controls": hasBody ? bodyId : void 0,
|
|
85
|
+
"aria-label": toggleLabel ?? (expanded ? "Collapse" : "Expand"),
|
|
86
|
+
className: cn(NO_CANVAS_GESTURE, "shrink-0 cursor-pointer border-0 bg-transparent p-0 text-(length:--cue-text-micro) leading-none text-fg-subtle outline-none select-none hover:text-fg-muted focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-2 focus-visible:outline-accent"),
|
|
87
|
+
onClick: () => onExpandedChange(!expanded),
|
|
88
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
89
|
+
"aria-hidden": "true",
|
|
90
|
+
children: expanded ? "▾" : "▸"
|
|
91
|
+
})
|
|
92
|
+
})]
|
|
93
|
+
}), hasBody ? /* @__PURE__ */ jsx("div", {
|
|
94
|
+
id: bodyId,
|
|
95
|
+
"data-slot": "node-card-body",
|
|
96
|
+
className: "flex min-w-0 flex-col",
|
|
97
|
+
children
|
|
98
|
+
}) : null]
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
//#endregion
|
|
102
|
+
export { NodeCard };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Edge, EdgeProps } from "@xyflow/react";
|
|
3
|
+
//#region src/flow/signal-edge.d.ts
|
|
4
|
+
/** What a wire is carrying. `muted` is a link that exists but is switched off. */
|
|
5
|
+
type SignalTone = "accent" | "ok" | "busy" | "warn" | "danger" | "info";
|
|
6
|
+
/**
|
|
7
|
+
* The class the animated overlay carries.
|
|
8
|
+
*
|
|
9
|
+
* `flow.css` owns its `@keyframes` and its reduced-motion switch; the dash
|
|
10
|
+
* pattern itself is inline, so an app that never imported the stylesheet still
|
|
11
|
+
* gets a legible dashed highlight instead of a mystery second line.
|
|
12
|
+
*/
|
|
13
|
+
declare const SIGNAL_EDGE_FLOW_CLASS = "cue-signal-flow";
|
|
14
|
+
/**
|
|
15
|
+
* Width of the invisible path the pointer actually hits, in px.
|
|
16
|
+
*
|
|
17
|
+
* A 1.6px wire is a nearly impossible click target and an outright impossible
|
|
18
|
+
* touch target. The library's own default is 20; 16 is the port's, and it is
|
|
19
|
+
* wide enough without swallowing the gap between two parallel wires.
|
|
20
|
+
*/
|
|
21
|
+
declare const SIGNAL_EDGE_INTERACTION_WIDTH = 16;
|
|
22
|
+
interface SignalEdgeData extends Record<string, unknown> {
|
|
23
|
+
/** Signal is actually moving right now: full opacity plus the animated dash. */
|
|
24
|
+
live?: boolean;
|
|
25
|
+
/** The link exists but is switched off: grey, thin and dim. */
|
|
26
|
+
muted?: boolean;
|
|
27
|
+
/** What the wire carries. Defaults to `"accent"`. */
|
|
28
|
+
tone?: SignalTone;
|
|
29
|
+
}
|
|
30
|
+
/** The edge shape this component reads. Use it to type your `edges` array. */
|
|
31
|
+
type SignalEdgeType = Edge<SignalEdgeData, "signal">;
|
|
32
|
+
/** Props React Flow hands the edge — both endpoints already in viewport space. */
|
|
33
|
+
type SignalEdgeProps = EdgeProps<SignalEdgeType>;
|
|
34
|
+
/**
|
|
35
|
+
* A wire between two nodes, drawn as three paths.
|
|
36
|
+
*
|
|
37
|
+
* 1. **The wire.** A bezier in the tone's colour, thin and half-lit at rest.
|
|
38
|
+
* 2. **The hit path.** Sixteen invisible pixels of it, because nobody can click
|
|
39
|
+
* 1.6px. `BaseEdge` draws this one, and the edge label, for free.
|
|
40
|
+
* 3. **The pulse.** Only while `data.live` — a pale dashed overlay of the same
|
|
41
|
+
* colour, marching along the wire. This is the only animation in the group,
|
|
42
|
+
* it carries no information the opacity does not, and `flow.css` stops it
|
|
43
|
+
* dead under `prefers-reduced-motion`.
|
|
44
|
+
*
|
|
45
|
+
* State is read from props rather than from a store on purpose: an edge that
|
|
46
|
+
* subscribed to "is this route live" would re-render on every frame of a 40Hz
|
|
47
|
+
* telemetry feed, times the number of edges. The host decides when the answer
|
|
48
|
+
* changed; this component only draws it. It also means the component is a pure
|
|
49
|
+
* function of its props — no hooks, no context, no canvas needed to test it.
|
|
50
|
+
*
|
|
51
|
+
* Selection outranks everything, including the pulse: two loud treatments on one
|
|
52
|
+
* wire read as neither.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* const edges = [{ id: "r1", source: "s1", target: "m1", type: "signal", data: { live: true } }];
|
|
56
|
+
* <ReactFlow edges={edges} edgeTypes={theme.edgeTypes} />
|
|
57
|
+
*/
|
|
58
|
+
declare function SignalEdge({ id, sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition, selected, data, style, markerStart, markerEnd, interactionWidth, label, labelStyle, labelShowBg, labelBgStyle, labelBgPadding, labelBgBorderRadius }: SignalEdgeProps): React.JSX.Element;
|
|
59
|
+
//#endregion
|
|
60
|
+
export { SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge, SignalEdgeData, SignalEdgeProps, SignalEdgeType, SignalTone };
|