@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,76 @@
|
|
|
1
|
+
import { cn } from "../lib/cn.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/chrome/page-shell.tsx
|
|
5
|
+
/**
|
|
6
|
+
* Four measures, not a scale — and the same four `Container` offers.
|
|
7
|
+
*
|
|
8
|
+
* `narrow` (42rem) is a reading column: settings, forms, prose. `wide` (54rem)
|
|
9
|
+
* is a working column: tables and panel grids. `broad` (84rem) is the
|
|
10
|
+
* application measure — a two-column documentation page, a page whose body is a
|
|
11
|
+
* device frame — and it exists because both of this repo's own hard-coded
|
|
12
|
+
* `max-w-[84rem]` overrides were asking for it. `full` caps nothing, for a page
|
|
13
|
+
* whose body sets its own width.
|
|
14
|
+
*
|
|
15
|
+
* `full` is still a page shell, not a console layout: it keeps the gutters and
|
|
16
|
+
* the standard page header. A screen that wants the *viewport* — one frame tall,
|
|
17
|
+
* with its own scroller — is `AppShell`, not this.
|
|
18
|
+
*/
|
|
19
|
+
const WIDTHS = {
|
|
20
|
+
narrow: "max-w-(--cue-measure-narrow)",
|
|
21
|
+
wide: "max-w-(--cue-measure-wide)",
|
|
22
|
+
broad: "max-w-(--cue-measure-broad)",
|
|
23
|
+
full: ""
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* A centred content column with a standard page header.
|
|
27
|
+
*
|
|
28
|
+
* The header is emitted only when something fills it, so a shell used purely
|
|
29
|
+
* for its measure adds no empty box and no stray vertical rhythm.
|
|
30
|
+
*
|
|
31
|
+
* Renders a plain `<div>` rather than a `<main>`: a page can hold more than one
|
|
32
|
+
* shell (a split view), and only one element per document may be `<main>`. Wrap
|
|
33
|
+
* it yourself where the semantics apply.
|
|
34
|
+
*
|
|
35
|
+
* Static markup — no `"use client"`.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* <PageShell title="Patch" subtitle="512 channels" eyebrow={<Eyebrow>Console</Eyebrow>}>
|
|
39
|
+
* <Panel>…</Panel>
|
|
40
|
+
* </PageShell>
|
|
41
|
+
*/
|
|
42
|
+
const PageShell = React.forwardRef(function PageShell({ className, width = "narrow", title, subtitle, eyebrow, actions, children, ...elementProps }, ref) {
|
|
43
|
+
const hasHeader = title !== void 0 || subtitle !== void 0 || eyebrow !== void 0 || actions !== void 0;
|
|
44
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
45
|
+
ref,
|
|
46
|
+
"data-slot": "page-shell",
|
|
47
|
+
className: cn("mx-auto flex w-full flex-col gap-(--cue-space-6) px-(--cue-space-6) py-(--cue-space-7)", WIDTHS[width], className),
|
|
48
|
+
...elementProps,
|
|
49
|
+
children: [hasHeader ? /* @__PURE__ */ jsxs("header", {
|
|
50
|
+
"data-slot": "page-shell-header",
|
|
51
|
+
className: "flex items-start justify-between gap-(--cue-space-4)",
|
|
52
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
53
|
+
className: "flex min-w-0 flex-col gap-(--cue-space-2)",
|
|
54
|
+
children: [
|
|
55
|
+
eyebrow,
|
|
56
|
+
title === void 0 ? null : /* @__PURE__ */ jsx("h1", {
|
|
57
|
+
"data-slot": "page-shell-title",
|
|
58
|
+
className: "font-mono text-(length:--cue-text-title) font-medium text-fg",
|
|
59
|
+
children: title
|
|
60
|
+
}),
|
|
61
|
+
subtitle === void 0 ? null : /* @__PURE__ */ jsx("p", {
|
|
62
|
+
"data-slot": "page-shell-subtitle",
|
|
63
|
+
className: "font-mono text-(length:--cue-text-ui) leading-(--cue-leading-ui) text-fg-muted",
|
|
64
|
+
children: subtitle
|
|
65
|
+
})
|
|
66
|
+
]
|
|
67
|
+
}), actions === void 0 ? null : /* @__PURE__ */ jsx("div", {
|
|
68
|
+
"data-slot": "page-shell-actions",
|
|
69
|
+
className: "flex shrink-0 items-center gap-(--cue-space-2)",
|
|
70
|
+
children: actions
|
|
71
|
+
})]
|
|
72
|
+
}) : null, children]
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
//#endregion
|
|
76
|
+
export { PageShell };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/chrome/panel.d.ts
|
|
3
|
+
/** Props for {@link Panel}: the native `<div>` surface plus `className`. */
|
|
4
|
+
type PanelProps = React.ComponentPropsWithoutRef<"div">;
|
|
5
|
+
/**
|
|
6
|
+
* The universal container: one hairline rim, one raised surface, one radius.
|
|
7
|
+
*
|
|
8
|
+
* Everything in a console lives in a panel — a cue list, a patch table, a
|
|
9
|
+
* settings group — so the shape is defined once here rather than re-typed as
|
|
10
|
+
* four utilities at every call site. `overflow-hidden` is part of the recipe,
|
|
11
|
+
* not an extra: it clips the first and last `Row`'s square edges back to the
|
|
12
|
+
* panel's radius, which is what makes a stack of hairline rows read as one
|
|
13
|
+
* object.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately flat: no shadow. In this system only a floating surface (a
|
|
16
|
+
* dialog, a menu, a toast) is allowed one — see `overlays/_surface.ts`.
|
|
17
|
+
*
|
|
18
|
+
* Static markup — no `"use client"`.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* <Panel>
|
|
22
|
+
* <PanelHeader title="Cue stack" actions={<IconButton aria-label="Add" icon={Plus} />} />
|
|
23
|
+
* <Row>Cue 1</Row>
|
|
24
|
+
* <Row>Cue 2</Row>
|
|
25
|
+
* </Panel>
|
|
26
|
+
*/
|
|
27
|
+
declare const Panel: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
interface PanelHeaderProps extends Omit<React.ComponentPropsWithoutRef<"div">, "title"> {
|
|
29
|
+
/**
|
|
30
|
+
* The header's label. Rendered one type rung above body text — the panel's
|
|
31
|
+
* own name, not a page heading.
|
|
32
|
+
*/
|
|
33
|
+
title?: React.ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Right-hand slot: the controls that act on the whole panel (a menu, a
|
|
36
|
+
* refresh button, a count chip).
|
|
37
|
+
*/
|
|
38
|
+
actions?: React.ReactNode;
|
|
39
|
+
/** Extra content in the leading cluster, after the title. */
|
|
40
|
+
children?: React.ReactNode;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The top bar of a {@link Panel}: title left, actions right, hairline under.
|
|
44
|
+
*
|
|
45
|
+
* Padded with the density row tokens rather than its own values, so the header
|
|
46
|
+
* lines up horizontally with the rows beneath it at every density level.
|
|
47
|
+
*
|
|
48
|
+
* Static markup — no `"use client"`.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* <PanelHeader title="Universes" actions={<Chip tone="ok">live</Chip>} />
|
|
52
|
+
*/
|
|
53
|
+
declare const PanelHeader: React.ForwardRefExoticComponent<PanelHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
54
|
+
//#endregion
|
|
55
|
+
export { Panel, PanelHeader, PanelHeaderProps, PanelProps };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { cn } from "../lib/cn.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/chrome/panel.tsx
|
|
5
|
+
/**
|
|
6
|
+
* The universal container: one hairline rim, one raised surface, one radius.
|
|
7
|
+
*
|
|
8
|
+
* Everything in a console lives in a panel — a cue list, a patch table, a
|
|
9
|
+
* settings group — so the shape is defined once here rather than re-typed as
|
|
10
|
+
* four utilities at every call site. `overflow-hidden` is part of the recipe,
|
|
11
|
+
* not an extra: it clips the first and last `Row`'s square edges back to the
|
|
12
|
+
* panel's radius, which is what makes a stack of hairline rows read as one
|
|
13
|
+
* object.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately flat: no shadow. In this system only a floating surface (a
|
|
16
|
+
* dialog, a menu, a toast) is allowed one — see `overlays/_surface.ts`.
|
|
17
|
+
*
|
|
18
|
+
* Static markup — no `"use client"`.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* <Panel>
|
|
22
|
+
* <PanelHeader title="Cue stack" actions={<IconButton aria-label="Add" icon={Plus} />} />
|
|
23
|
+
* <Row>Cue 1</Row>
|
|
24
|
+
* <Row>Cue 2</Row>
|
|
25
|
+
* </Panel>
|
|
26
|
+
*/
|
|
27
|
+
const Panel = React.forwardRef(function Panel({ className, ...elementProps }, ref) {
|
|
28
|
+
return /* @__PURE__ */ jsx("div", {
|
|
29
|
+
ref,
|
|
30
|
+
"data-slot": "panel",
|
|
31
|
+
className: cn("overflow-hidden rounded-(--radius-surface) border border-border bg-surface-1", className),
|
|
32
|
+
...elementProps
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* The top bar of a {@link Panel}: title left, actions right, hairline under.
|
|
37
|
+
*
|
|
38
|
+
* Padded with the density row tokens rather than its own values, so the header
|
|
39
|
+
* lines up horizontally with the rows beneath it at every density level.
|
|
40
|
+
*
|
|
41
|
+
* Static markup — no `"use client"`.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* <PanelHeader title="Universes" actions={<Chip tone="ok">live</Chip>} />
|
|
45
|
+
*/
|
|
46
|
+
const PanelHeader = React.forwardRef(function PanelHeader({ className, title, actions, children, ...elementProps }, ref) {
|
|
47
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
48
|
+
ref,
|
|
49
|
+
"data-slot": "panel-header",
|
|
50
|
+
className: cn("flex items-center justify-between gap-(--cue-space-3) border-b border-border px-(--cue-pad-row-x) py-(--cue-pad-row-y)", className),
|
|
51
|
+
...elementProps,
|
|
52
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
53
|
+
className: "flex min-w-0 items-center gap-(--cue-space-3)",
|
|
54
|
+
children: [title === void 0 ? null : /* @__PURE__ */ jsx("span", {
|
|
55
|
+
"data-slot": "panel-header-title",
|
|
56
|
+
className: "truncate font-mono text-(length:--cue-text-emphasis) font-medium text-fg",
|
|
57
|
+
children: title
|
|
58
|
+
}), children]
|
|
59
|
+
}), actions === void 0 ? null : /* @__PURE__ */ jsx("div", {
|
|
60
|
+
"data-slot": "panel-header-actions",
|
|
61
|
+
className: "flex shrink-0 items-center gap-(--cue-space-2)",
|
|
62
|
+
children: actions
|
|
63
|
+
})]
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//#endregion
|
|
67
|
+
export { Panel, PanelHeader };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { ClassProp, VariantProps } from "../lib/cva.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/chrome/row.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The list-row recipe, in both of the system's separator idioms.
|
|
6
|
+
*
|
|
7
|
+
* `seam: false` is the default hairline list: each row draws its own top
|
|
8
|
+
* border and the first one drops it, so a stack inside a `Panel` shows rules
|
|
9
|
+
* *between* rows and none against the panel rim.
|
|
10
|
+
*
|
|
11
|
+
* `seam: true` is the snuffle idiom: the rows sit on a `bg-border` ground with
|
|
12
|
+
* a 1px gap between them (see {@link SeamList}), and the gap *is* the rule.
|
|
13
|
+
* The row must then paint its own fill and draw no border at all, or the two
|
|
14
|
+
* separators double up into a 2px line.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <li className={rowVariants({ interactive: true })} />
|
|
18
|
+
*/
|
|
19
|
+
declare const rowVariants: (props?: ({
|
|
20
|
+
seam?: boolean | null | undefined;
|
|
21
|
+
interactive?: boolean | null | undefined;
|
|
22
|
+
} & ClassProp) | undefined) => string;
|
|
23
|
+
interface RowProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof rowVariants> {
|
|
24
|
+
/**
|
|
25
|
+
* Render as a `<button>` with hover feedback and a focus ring instead of a
|
|
26
|
+
* static `<div>`. Use for rows that select, open or toggle something.
|
|
27
|
+
*/
|
|
28
|
+
interactive?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Drop the hairline and paint the row's own fill, for use inside a
|
|
31
|
+
* {@link SeamList}. Without a `SeamList` parent the rows will simply touch.
|
|
32
|
+
*/
|
|
33
|
+
seam?: boolean;
|
|
34
|
+
/** Disable the interactive form. Ignored when `interactive` is not set. */
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
/** Row content — normally a label, a spacer and a value or control. */
|
|
37
|
+
children?: React.ReactNode;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* One row of a hairline list: the workhorse of every console panel.
|
|
41
|
+
*
|
|
42
|
+
* Static by default and a real `<button>` when `interactive` — never a `<div>`
|
|
43
|
+
* with an `onClick`, so keyboard users get it for free. Vertical rhythm comes
|
|
44
|
+
* from the density row-padding tokens, so the same list is 22px tall in
|
|
45
|
+
* ultra-compact and 34px tall in large without touching the markup.
|
|
46
|
+
*
|
|
47
|
+
* Static markup — no `"use client"`.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* <Panel><Row>Channel 1<span className="ml-auto">255</span></Row></Panel>
|
|
51
|
+
* @example
|
|
52
|
+
* <SeamList>
|
|
53
|
+
* <Row seam interactive onClick={select}>Cue 1</Row>
|
|
54
|
+
* <Row seam interactive onClick={select}>Cue 2</Row>
|
|
55
|
+
* </SeamList>
|
|
56
|
+
*/
|
|
57
|
+
declare const Row: React.ForwardRefExoticComponent<RowProps & React.RefAttributes<HTMLElement>>;
|
|
58
|
+
/** Props for {@link SeamList}: the native `<div>` surface plus `className`. */
|
|
59
|
+
type SeamListProps = React.ComponentPropsWithoutRef<"div">;
|
|
60
|
+
/**
|
|
61
|
+
* A list whose separators are gaps, not borders.
|
|
62
|
+
*
|
|
63
|
+
* The container is filled with the border colour and its children are spaced
|
|
64
|
+
* `1px` apart; each child paints its own opaque fill, so what shows through the
|
|
65
|
+
* gap is a perfect hairline that can never double up with a row's own border or
|
|
66
|
+
* disagree with it at a rounded corner.
|
|
67
|
+
*
|
|
68
|
+
* Pair with `<Row seam>`. Use it where rows are cards in their own right (a
|
|
69
|
+
* cue list, a fixture list); use a plain `Panel` + `Row` where they are lines
|
|
70
|
+
* of one table.
|
|
71
|
+
*
|
|
72
|
+
* Static markup — no `"use client"`.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* <SeamList>
|
|
76
|
+
* <Row seam>Cue 1</Row>
|
|
77
|
+
* <Row seam>Cue 2</Row>
|
|
78
|
+
* </SeamList>
|
|
79
|
+
*/
|
|
80
|
+
declare const SeamList: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
81
|
+
//#endregion
|
|
82
|
+
export { Row, RowProps, SeamList, SeamListProps, rowVariants };
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { cn } from "../lib/cn.js";
|
|
2
|
+
import { cva } from "../lib/cva.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/chrome/row.tsx
|
|
6
|
+
/**
|
|
7
|
+
* The list-row recipe, in both of the system's separator idioms.
|
|
8
|
+
*
|
|
9
|
+
* `seam: false` is the default hairline list: each row draws its own top
|
|
10
|
+
* border and the first one drops it, so a stack inside a `Panel` shows rules
|
|
11
|
+
* *between* rows and none against the panel rim.
|
|
12
|
+
*
|
|
13
|
+
* `seam: true` is the snuffle idiom: the rows sit on a `bg-border` ground with
|
|
14
|
+
* a 1px gap between them (see {@link SeamList}), and the gap *is* the rule.
|
|
15
|
+
* The row must then paint its own fill and draw no border at all, or the two
|
|
16
|
+
* separators double up into a 2px line.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <li className={rowVariants({ interactive: true })} />
|
|
20
|
+
*/
|
|
21
|
+
const rowVariants = cva("flex w-full items-center gap-(--cue-space-3) px-(--cue-pad-row-x) py-(--cue-pad-row-y) font-mono text-(length:--cue-text-ui) text-fg", {
|
|
22
|
+
variants: {
|
|
23
|
+
seam: {
|
|
24
|
+
true: "bg-bg",
|
|
25
|
+
false: "border-t border-border first:border-t-0 [[data-slot=panel-header]+&]:border-t-0"
|
|
26
|
+
},
|
|
27
|
+
interactive: {
|
|
28
|
+
true: "cursor-pointer text-left transition-colors duration-150 outline-none hover:bg-surface-2 focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-accent disabled:pointer-events-none disabled:opacity-40",
|
|
29
|
+
false: ""
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
defaultVariants: {
|
|
33
|
+
seam: false,
|
|
34
|
+
interactive: false
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* One row of a hairline list: the workhorse of every console panel.
|
|
39
|
+
*
|
|
40
|
+
* Static by default and a real `<button>` when `interactive` — never a `<div>`
|
|
41
|
+
* with an `onClick`, so keyboard users get it for free. Vertical rhythm comes
|
|
42
|
+
* from the density row-padding tokens, so the same list is 22px tall in
|
|
43
|
+
* ultra-compact and 34px tall in large without touching the markup.
|
|
44
|
+
*
|
|
45
|
+
* Static markup — no `"use client"`.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* <Panel><Row>Channel 1<span className="ml-auto">255</span></Row></Panel>
|
|
49
|
+
* @example
|
|
50
|
+
* <SeamList>
|
|
51
|
+
* <Row seam interactive onClick={select}>Cue 1</Row>
|
|
52
|
+
* <Row seam interactive onClick={select}>Cue 2</Row>
|
|
53
|
+
* </SeamList>
|
|
54
|
+
*/
|
|
55
|
+
const Row = React.forwardRef(function Row({ className, seam, interactive = false, disabled, children, ...elementProps }, ref) {
|
|
56
|
+
const classes = cn(rowVariants({
|
|
57
|
+
seam,
|
|
58
|
+
interactive
|
|
59
|
+
}), className);
|
|
60
|
+
if (interactive) return /* @__PURE__ */ jsx("button", {
|
|
61
|
+
ref,
|
|
62
|
+
type: "button",
|
|
63
|
+
disabled,
|
|
64
|
+
"data-slot": "row",
|
|
65
|
+
className: classes,
|
|
66
|
+
...elementProps,
|
|
67
|
+
children
|
|
68
|
+
});
|
|
69
|
+
return /* @__PURE__ */ jsx("div", {
|
|
70
|
+
ref,
|
|
71
|
+
"data-slot": "row",
|
|
72
|
+
className: classes,
|
|
73
|
+
...elementProps,
|
|
74
|
+
children
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
/**
|
|
78
|
+
* A list whose separators are gaps, not borders.
|
|
79
|
+
*
|
|
80
|
+
* The container is filled with the border colour and its children are spaced
|
|
81
|
+
* `1px` apart; each child paints its own opaque fill, so what shows through the
|
|
82
|
+
* gap is a perfect hairline that can never double up with a row's own border or
|
|
83
|
+
* disagree with it at a rounded corner.
|
|
84
|
+
*
|
|
85
|
+
* Pair with `<Row seam>`. Use it where rows are cards in their own right (a
|
|
86
|
+
* cue list, a fixture list); use a plain `Panel` + `Row` where they are lines
|
|
87
|
+
* of one table.
|
|
88
|
+
*
|
|
89
|
+
* Static markup — no `"use client"`.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* <SeamList>
|
|
93
|
+
* <Row seam>Cue 1</Row>
|
|
94
|
+
* <Row seam>Cue 2</Row>
|
|
95
|
+
* </SeamList>
|
|
96
|
+
*/
|
|
97
|
+
const SeamList = React.forwardRef(function SeamList({ className, ...elementProps }, ref) {
|
|
98
|
+
return /* @__PURE__ */ jsx("div", {
|
|
99
|
+
ref,
|
|
100
|
+
"data-slot": "seam-list",
|
|
101
|
+
className: cn("flex flex-col gap-px overflow-hidden rounded-(--radius-surface) border border-border bg-border", className),
|
|
102
|
+
...elementProps
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
//#endregion
|
|
106
|
+
export { Row, SeamList, rowVariants };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ScrollArea } from "@base-ui/react/scroll-area";
|
|
3
|
+
//#region src/chrome/scroll-area.d.ts
|
|
4
|
+
/** Which axes get a styled scrollbar. */
|
|
5
|
+
type ScrollAreaOrientation = "vertical" | "horizontal" | "both";
|
|
6
|
+
interface ScrollAreaProps extends Omit<ScrollArea.Root.Props, "className"> {
|
|
7
|
+
/** Extra classes for the frame. Give it a height, or nothing will scroll. */
|
|
8
|
+
className?: string;
|
|
9
|
+
/** Extra classes for the scrolling viewport (padding belongs here). */
|
|
10
|
+
viewportClassName?: string;
|
|
11
|
+
/** Which axes may scroll. Defaults to `"vertical"`. */
|
|
12
|
+
orientation?: ScrollAreaOrientation;
|
|
13
|
+
/**
|
|
14
|
+
* Keep the scrollbar tracks mounted even when the content fits. Use for a
|
|
15
|
+
* panel whose content grows and shrinks, where a track appearing and
|
|
16
|
+
* disappearing would reflow everything beside it.
|
|
17
|
+
*/
|
|
18
|
+
keepScrollbarsMounted?: boolean;
|
|
19
|
+
/** Ref to the scrolling element itself — for virtualizers and scroll restore. */
|
|
20
|
+
viewportRef?: React.Ref<HTMLDivElement>;
|
|
21
|
+
/** The scrolling content. */
|
|
22
|
+
children?: React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A scrolling region with the system's own scrollbar instead of the platform's.
|
|
26
|
+
*
|
|
27
|
+
* Wraps Base UI's `ScrollArea`, which keeps native scrolling (and therefore
|
|
28
|
+
* native momentum, keyboard and trackpad behaviour) and only re-skins the bar.
|
|
29
|
+
* The frame must be given a bounded height by the caller — `h-full` inside a
|
|
30
|
+
* flex parent, or an explicit height — or there is nothing to scroll.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* <ScrollArea className="h-64" viewportClassName="p-(--cue-space-4)">
|
|
34
|
+
* {cues.map((c) => <Row key={c.id}>{c.name}</Row>)}
|
|
35
|
+
* </ScrollArea>
|
|
36
|
+
*/
|
|
37
|
+
declare const ScrollArea$1: React.ForwardRefExoticComponent<Omit<ScrollAreaProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { ScrollArea$1 as ScrollArea, ScrollAreaOrientation, ScrollAreaProps };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { ScrollArea } from "@base-ui/react/scroll-area";
|
|
6
|
+
//#region src/chrome/scroll-area.tsx
|
|
7
|
+
/**
|
|
8
|
+
* The scrollbar is an overlay, not a gutter: it fades in while the pointer is
|
|
9
|
+
* over the area or the content is moving, and takes no layout space either way.
|
|
10
|
+
* A console packs panels edge to edge, and a permanent 12px trough on every one
|
|
11
|
+
* of them is 12px of chrome per panel that says nothing.
|
|
12
|
+
*/
|
|
13
|
+
const SCROLLBAR_CLASSES = "flex touch-none justify-center rounded-full opacity-0 transition-opacity delay-300 duration-150 select-none data-[hovering]:opacity-100 data-[hovering]:delay-0 data-[scrolling]:opacity-100 data-[scrolling]:delay-0 motion-reduce:transition-none data-[orientation=horizontal]:h-(--cue-space-3) data-[orientation=horizontal]:flex-col data-[orientation=vertical]:w-(--cue-space-3)";
|
|
14
|
+
/**
|
|
15
|
+
* A scrolling region with the system's own scrollbar instead of the platform's.
|
|
16
|
+
*
|
|
17
|
+
* Wraps Base UI's `ScrollArea`, which keeps native scrolling (and therefore
|
|
18
|
+
* native momentum, keyboard and trackpad behaviour) and only re-skins the bar.
|
|
19
|
+
* The frame must be given a bounded height by the caller — `h-full` inside a
|
|
20
|
+
* flex parent, or an explicit height — or there is nothing to scroll.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* <ScrollArea className="h-64" viewportClassName="p-(--cue-space-4)">
|
|
24
|
+
* {cues.map((c) => <Row key={c.id}>{c.name}</Row>)}
|
|
25
|
+
* </ScrollArea>
|
|
26
|
+
*/
|
|
27
|
+
const ScrollArea$1 = React.forwardRef(function ScrollArea$2({ className, viewportClassName, orientation = "vertical", keepScrollbarsMounted = false, viewportRef, children, ...elementProps }, ref) {
|
|
28
|
+
const vertical = orientation === "vertical" || orientation === "both";
|
|
29
|
+
const horizontal = orientation === "horizontal" || orientation === "both";
|
|
30
|
+
return /* @__PURE__ */ jsxs(ScrollArea.Root, {
|
|
31
|
+
ref,
|
|
32
|
+
"data-slot": "scroll-area",
|
|
33
|
+
className: cn("relative min-h-0", className),
|
|
34
|
+
...elementProps,
|
|
35
|
+
children: [
|
|
36
|
+
/* @__PURE__ */ jsx(ScrollArea.Viewport, {
|
|
37
|
+
ref: viewportRef,
|
|
38
|
+
"data-slot": "scroll-area-viewport",
|
|
39
|
+
className: cn("size-full overscroll-contain outline-none focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-accent", viewportClassName),
|
|
40
|
+
children: /* @__PURE__ */ jsx(ScrollArea.Content, {
|
|
41
|
+
"data-slot": "scroll-area-content",
|
|
42
|
+
children
|
|
43
|
+
})
|
|
44
|
+
}),
|
|
45
|
+
vertical ? /* @__PURE__ */ jsx(ScrollArea.Scrollbar, {
|
|
46
|
+
orientation: "vertical",
|
|
47
|
+
keepMounted: keepScrollbarsMounted,
|
|
48
|
+
"data-slot": "scroll-area-scrollbar",
|
|
49
|
+
className: SCROLLBAR_CLASSES,
|
|
50
|
+
children: /* @__PURE__ */ jsx(ScrollArea.Thumb, {
|
|
51
|
+
"data-slot": "scroll-area-thumb",
|
|
52
|
+
className: "w-full rounded-full bg-border-strong"
|
|
53
|
+
})
|
|
54
|
+
}) : null,
|
|
55
|
+
horizontal ? /* @__PURE__ */ jsx(ScrollArea.Scrollbar, {
|
|
56
|
+
orientation: "horizontal",
|
|
57
|
+
keepMounted: keepScrollbarsMounted,
|
|
58
|
+
"data-slot": "scroll-area-scrollbar",
|
|
59
|
+
className: SCROLLBAR_CLASSES,
|
|
60
|
+
children: /* @__PURE__ */ jsx(ScrollArea.Thumb, {
|
|
61
|
+
"data-slot": "scroll-area-thumb",
|
|
62
|
+
className: "h-full rounded-full bg-border-strong"
|
|
63
|
+
})
|
|
64
|
+
}) : null,
|
|
65
|
+
vertical && horizontal ? /* @__PURE__ */ jsx(ScrollArea.Corner, { "data-slot": "scroll-area-corner" }) : null
|
|
66
|
+
]
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//#endregion
|
|
70
|
+
export { ScrollArea$1 as ScrollArea };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/chrome/section-header.d.ts
|
|
3
|
+
interface SectionHeaderProps extends Omit<React.ComponentPropsWithoutRef<"div">, "onToggle"> {
|
|
4
|
+
/** The group's name. Rendered uppercase in the smallest mono label type. */
|
|
5
|
+
label: React.ReactNode;
|
|
6
|
+
/** Optional count shown after the label — how many things are in the group. */
|
|
7
|
+
count?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Right-hand slot. Rendered *outside* the collapse toggle so clicking an
|
|
10
|
+
* action never folds the section shut under the user's cursor.
|
|
11
|
+
*/
|
|
12
|
+
action?: React.ReactNode;
|
|
13
|
+
/** Turn the label into a disclosure button that shows and hides `children`. */
|
|
14
|
+
collapsible?: boolean;
|
|
15
|
+
/** Initial open state when uncontrolled. Defaults to `true`. */
|
|
16
|
+
defaultOpen?: boolean;
|
|
17
|
+
/** Open state when controlled. Pass with `onOpenChange`. */
|
|
18
|
+
open?: boolean;
|
|
19
|
+
/** Called with the next open state whenever the toggle is pressed. */
|
|
20
|
+
onOpenChange?: (open: boolean) => void;
|
|
21
|
+
/** The section body. Hidden while a collapsible section is closed. */
|
|
22
|
+
children?: React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A faint label with a rule running off it — the heading for a group of rows.
|
|
26
|
+
*
|
|
27
|
+
* A label and a hairline, deliberately, not a bordered box: a heading that is
|
|
28
|
+
* itself a panel competes with the panels underneath it and reads as another
|
|
29
|
+
* object rather than as their title (the quotamate `AccountGroup` ruling). The
|
|
30
|
+
* rule is a `flex-1` block, so it always fills exactly the space the label and
|
|
31
|
+
* the count leave behind.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* <SectionHeader label="Universes" count={4} />
|
|
35
|
+
* @example
|
|
36
|
+
* <SectionHeader label="Scenes" collapsible action={<IconButton aria-label="Add" icon={Plus} />}>
|
|
37
|
+
* <SeamList>{scenes.map((s) => <Row seam key={s.id}>{s.name}</Row>)}</SeamList>
|
|
38
|
+
* </SectionHeader>
|
|
39
|
+
*/
|
|
40
|
+
declare const SectionHeader: React.ForwardRefExoticComponent<SectionHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
41
|
+
//#endregion
|
|
42
|
+
export { SectionHeader, SectionHeaderProps };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { ChevronRightGlyph } from "./_glyphs.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/chrome/section-header.tsx
|
|
7
|
+
/**
|
|
8
|
+
* A faint label with a rule running off it — the heading for a group of rows.
|
|
9
|
+
*
|
|
10
|
+
* A label and a hairline, deliberately, not a bordered box: a heading that is
|
|
11
|
+
* itself a panel competes with the panels underneath it and reads as another
|
|
12
|
+
* object rather than as their title (the quotamate `AccountGroup` ruling). The
|
|
13
|
+
* rule is a `flex-1` block, so it always fills exactly the space the label and
|
|
14
|
+
* the count leave behind.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <SectionHeader label="Universes" count={4} />
|
|
18
|
+
* @example
|
|
19
|
+
* <SectionHeader label="Scenes" collapsible action={<IconButton aria-label="Add" icon={Plus} />}>
|
|
20
|
+
* <SeamList>{scenes.map((s) => <Row seam key={s.id}>{s.name}</Row>)}</SeamList>
|
|
21
|
+
* </SectionHeader>
|
|
22
|
+
*/
|
|
23
|
+
const SectionHeader = React.forwardRef(function SectionHeader({ className, label, count, action, collapsible = false, defaultOpen = true, open: openProp, onOpenChange, children, ...elementProps }, ref) {
|
|
24
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
|
|
25
|
+
const open = openProp ?? uncontrolledOpen;
|
|
26
|
+
const toggle = () => {
|
|
27
|
+
const next = !open;
|
|
28
|
+
if (openProp === void 0) setUncontrolledOpen(next);
|
|
29
|
+
onOpenChange?.(next);
|
|
30
|
+
};
|
|
31
|
+
const headContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
32
|
+
collapsible ? /* @__PURE__ */ jsx(ChevronRightGlyph, {
|
|
33
|
+
"data-slot": "section-header-chevron",
|
|
34
|
+
className: cn("size-icon-sm shrink-0 text-fg-subtle transition-transform duration-150 motion-reduce:transition-none", open ? "rotate-90" : "rotate-0")
|
|
35
|
+
}) : null,
|
|
36
|
+
/* @__PURE__ */ jsx("span", {
|
|
37
|
+
"data-slot": "section-header-label",
|
|
38
|
+
className: "shrink-0 font-mono text-(length:--cue-text-label) tracking-[0.15em] text-fg-muted uppercase",
|
|
39
|
+
children: label
|
|
40
|
+
}),
|
|
41
|
+
count === void 0 ? null : /* @__PURE__ */ jsx("span", {
|
|
42
|
+
"data-slot": "section-header-count",
|
|
43
|
+
className: "shrink-0 font-mono text-(length:--cue-text-label) tabular-nums text-fg-subtle",
|
|
44
|
+
children: count
|
|
45
|
+
}),
|
|
46
|
+
/* @__PURE__ */ jsx("span", {
|
|
47
|
+
"data-slot": "section-header-rule",
|
|
48
|
+
"aria-hidden": "true",
|
|
49
|
+
className: "h-px min-w-(--cue-space-4) flex-1 bg-border"
|
|
50
|
+
})
|
|
51
|
+
] });
|
|
52
|
+
const headClasses = "flex min-w-0 flex-1 items-center gap-(--cue-space-3)";
|
|
53
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
54
|
+
ref,
|
|
55
|
+
"data-slot": "section-header",
|
|
56
|
+
className: cn("flex w-full flex-col gap-(--cue-space-3)", className),
|
|
57
|
+
...elementProps,
|
|
58
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
59
|
+
className: "flex items-center gap-(--cue-space-3)",
|
|
60
|
+
children: [collapsible ? /* @__PURE__ */ jsx("button", {
|
|
61
|
+
type: "button",
|
|
62
|
+
"aria-expanded": open,
|
|
63
|
+
onClick: toggle,
|
|
64
|
+
"data-slot": "section-header-toggle",
|
|
65
|
+
className: cn(headClasses, "cursor-pointer text-left outline-none hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-2 focus-visible:outline-accent"),
|
|
66
|
+
children: headContent
|
|
67
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
68
|
+
className: headClasses,
|
|
69
|
+
children: headContent
|
|
70
|
+
}), action === void 0 ? null : /* @__PURE__ */ jsx("div", {
|
|
71
|
+
"data-slot": "section-header-action",
|
|
72
|
+
className: "flex shrink-0 items-center gap-(--cue-space-2)",
|
|
73
|
+
children: action
|
|
74
|
+
})]
|
|
75
|
+
}), children !== void 0 && (!collapsible || open) ? children : null]
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//#endregion
|
|
79
|
+
export { SectionHeader };
|