@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,68 @@
|
|
|
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 { Group, Panel, Separator } from "react-resizable-panels";
|
|
6
|
+
//#region src/layout/resizable.tsx
|
|
7
|
+
/**
|
|
8
|
+
* The group's axis, published to the handles.
|
|
9
|
+
*
|
|
10
|
+
* `react-resizable-panels` keeps its orientation in an internal context and
|
|
11
|
+
* stamps no attribute for it, so a `Resizable.Handle` cannot tell from the DOM
|
|
12
|
+
* whether it should be 4px wide or 4px tall. This is that one missing bit.
|
|
13
|
+
*/
|
|
14
|
+
const ResizableOrientationContext = React.createContext("horizontal");
|
|
15
|
+
/**
|
|
16
|
+
* Split panes the user can drag, on `react-resizable-panels`.
|
|
17
|
+
*
|
|
18
|
+
* `react-resizable-panels` is an **optional peer**: import this from
|
|
19
|
+
* `@cueplusplus/ui/layout/resizable`, never from the core barrel, so an app
|
|
20
|
+
* with no split view never installs one.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* <Resizable.Group orientation="horizontal">
|
|
24
|
+
* <Resizable.Panel id="tree" defaultSize={25} minSize={15}>…</Resizable.Panel>
|
|
25
|
+
* <Resizable.Handle withGrip />
|
|
26
|
+
* <Resizable.Panel id="editor">…</Resizable.Panel>
|
|
27
|
+
* </Resizable.Group>
|
|
28
|
+
*/
|
|
29
|
+
const Resizable = {
|
|
30
|
+
Group: React.forwardRef(function ResizableGroup({ className, orientation = "horizontal", elementRef, children, ...elementProps }, ref) {
|
|
31
|
+
return /* @__PURE__ */ jsx(ResizableOrientationContext.Provider, {
|
|
32
|
+
value: orientation,
|
|
33
|
+
children: /* @__PURE__ */ jsx(Group, {
|
|
34
|
+
elementRef: elementRef ?? ref,
|
|
35
|
+
orientation,
|
|
36
|
+
"data-slot": "resizable-group",
|
|
37
|
+
"data-orientation": orientation,
|
|
38
|
+
className: cn("min-h-0 min-w-0", className),
|
|
39
|
+
...elementProps,
|
|
40
|
+
children
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
}),
|
|
44
|
+
Panel: React.forwardRef(function ResizablePanel({ className, elementRef, ...elementProps }, ref) {
|
|
45
|
+
return /* @__PURE__ */ jsx(Panel, {
|
|
46
|
+
elementRef: elementRef ?? ref,
|
|
47
|
+
"data-slot": "resizable-panel",
|
|
48
|
+
className: cn("min-h-0 min-w-0", className),
|
|
49
|
+
...elementProps
|
|
50
|
+
});
|
|
51
|
+
}),
|
|
52
|
+
Handle: React.forwardRef(function ResizableHandle({ className, withGrip = false, elementRef, children, ...elementProps }, ref) {
|
|
53
|
+
const orientation = React.useContext(ResizableOrientationContext);
|
|
54
|
+
return /* @__PURE__ */ jsxs(Separator, {
|
|
55
|
+
elementRef: elementRef ?? ref,
|
|
56
|
+
"data-slot": "resizable-handle",
|
|
57
|
+
className: cn("relative flex items-center justify-center bg-border transition-colors duration-150 outline-none data-[separator=hover]:bg-accent data-[separator=active]:bg-accent data-[separator=focus]:bg-accent focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-accent data-[separator=disabled]:opacity-40 motion-reduce:transition-none", orientation === "vertical" ? "h-[0.25rem] w-full" : "w-[0.25rem] self-stretch", className),
|
|
58
|
+
...elementProps,
|
|
59
|
+
children: [withGrip ? /* @__PURE__ */ jsx("span", {
|
|
60
|
+
"data-slot": "resizable-grip",
|
|
61
|
+
"aria-hidden": "true",
|
|
62
|
+
className: cn("pointer-events-none rounded-full bg-border-strong", orientation === "vertical" ? "h-px w-(--cue-space-6)" : "h-(--cue-space-6) w-px")
|
|
63
|
+
}) : null, children]
|
|
64
|
+
});
|
|
65
|
+
})
|
|
66
|
+
};
|
|
67
|
+
//#endregion
|
|
68
|
+
export { Resizable };
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
3
|
+
//#region src/layout/sidebar.d.ts
|
|
4
|
+
interface SidebarContextValue {
|
|
5
|
+
collapsed: boolean;
|
|
6
|
+
toggle: () => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Read the collapse state of the nearest {@link SidebarRoot}.
|
|
10
|
+
*
|
|
11
|
+
* Hands back `{ collapsed, toggle }`: whether the column is at its narrow
|
|
12
|
+
* width, and the same valve `Sidebar.Rail` pulls. It is for the part the kit
|
|
13
|
+
* does not ship — a footer that drops its labels when the column narrows, a
|
|
14
|
+
* keyboard shortcut, a collapse control somewhere other than the rail.
|
|
15
|
+
*
|
|
16
|
+
* Outside a `Sidebar.Root` it reports `collapsed: false` and a `toggle` that
|
|
17
|
+
* does nothing, rather than throwing. A row rendered on its own — in a test, on
|
|
18
|
+
* a docs page, in a menu that reuses the same markup — is a legitimate thing,
|
|
19
|
+
* and the honest answer for it is that nothing is collapsed.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* const { collapsed } = useSidebar();
|
|
23
|
+
* <Button variant="ghost" icon={Plus} aria-label="New scene">
|
|
24
|
+
* {collapsed ? null : "New scene"}
|
|
25
|
+
* </Button>
|
|
26
|
+
*/
|
|
27
|
+
declare function useSidebar(): SidebarContextValue;
|
|
28
|
+
/**
|
|
29
|
+
* Which landmark a navigation column announces as.
|
|
30
|
+
*
|
|
31
|
+
* `"navigation"` renders `<nav>`, `"complementary"` renders `<aside>`. Two
|
|
32
|
+
* values rather than a free `role`, because those are the only two a column of
|
|
33
|
+
* destinations can honestly be — and naming the landmark keeps the element and
|
|
34
|
+
* the role from ever disagreeing.
|
|
35
|
+
*/
|
|
36
|
+
type SidebarLandmark = "navigation" | "complementary";
|
|
37
|
+
interface SidebarRootProps extends React.ComponentPropsWithoutRef<"aside"> {
|
|
38
|
+
/**
|
|
39
|
+
* Which landmark the column is. Defaults to `"navigation"`, rendering
|
|
40
|
+
* `<nav>`; `"complementary"` renders `<aside>` instead.
|
|
41
|
+
*
|
|
42
|
+
* A column of `Sidebar.Item`s is a list of destinations, one of which carries
|
|
43
|
+
* `aria-current="page"` — that is primary navigation, and announcing it as
|
|
44
|
+
* complementary tells a screen-reader user the site's main map is an aside.
|
|
45
|
+
* `"complementary"` is there for the column that genuinely is one: a filter
|
|
46
|
+
* rail, an inspector, a related-links strip.
|
|
47
|
+
*/
|
|
48
|
+
landmark?: SidebarLandmark;
|
|
49
|
+
/** Collapsed state when controlled. Pass with `onCollapsedChange`. */
|
|
50
|
+
collapsed?: boolean;
|
|
51
|
+
/** Initial collapsed state when uncontrolled. Defaults to `false`. */
|
|
52
|
+
defaultCollapsed?: boolean;
|
|
53
|
+
/** Called with the new collapsed state whenever the rail is pressed. */
|
|
54
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
|
55
|
+
/** Width while expanded. Any CSS length. Defaults to `"14rem"`. */
|
|
56
|
+
width?: string;
|
|
57
|
+
/** Width while collapsed. Any CSS length. Defaults to `"3rem"`. */
|
|
58
|
+
collapsedWidth?: string;
|
|
59
|
+
}
|
|
60
|
+
interface SidebarSectionProps extends React.ComponentPropsWithoutRef<"div"> {
|
|
61
|
+
/**
|
|
62
|
+
* The group caption, in the mono micro idiom. Dropped entirely while the
|
|
63
|
+
* sidebar is collapsed — at rail width a caption has nothing left to caption.
|
|
64
|
+
*/
|
|
65
|
+
label?: React.ReactNode;
|
|
66
|
+
}
|
|
67
|
+
interface SidebarItemProps extends React.ComponentPropsWithoutRef<"button"> {
|
|
68
|
+
/** Optional leading icon component (e.g. a lucide icon), drawn `aria-hidden`. */
|
|
69
|
+
icon?: React.ElementType;
|
|
70
|
+
/** Mark this item as the current destination. */
|
|
71
|
+
active?: boolean;
|
|
72
|
+
/** Trailing slot: a count, a status dot. Hidden while collapsed. */
|
|
73
|
+
badge?: React.ReactNode;
|
|
74
|
+
/**
|
|
75
|
+
* Replace the rendered element (Base UI render prop) — normally a router
|
|
76
|
+
* link: `render={<NextLink href="/patch" />}`.
|
|
77
|
+
*/
|
|
78
|
+
render?: useRender.RenderProp;
|
|
79
|
+
}
|
|
80
|
+
interface SidebarRailProps extends Omit<React.ComponentPropsWithoutRef<"button">, "children"> {
|
|
81
|
+
/** Accessible name while expanded. Defaults to `"Collapse sidebar"`. */
|
|
82
|
+
collapseLabel?: string;
|
|
83
|
+
/** Accessible name while collapsed. Defaults to `"Expand sidebar"`. */
|
|
84
|
+
expandLabel?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The console's navigation column: sections of items, a scroller of its own,
|
|
88
|
+
* and a rail that collapses the whole thing to icons.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* <Sidebar.Root defaultCollapsed aria-label="Main">
|
|
92
|
+
* <Sidebar.Section label="Console">
|
|
93
|
+
* <Sidebar.Item render={<NextLink href="/patch" />} active>Patch</Sidebar.Item>
|
|
94
|
+
* </Sidebar.Section>
|
|
95
|
+
* <Sidebar.Rail />
|
|
96
|
+
* </Sidebar.Root>
|
|
97
|
+
*/
|
|
98
|
+
declare const Sidebar: {
|
|
99
|
+
Root: React.ForwardRefExoticComponent<SidebarRootProps & React.RefAttributes<HTMLElement>>;
|
|
100
|
+
Section: React.ForwardRefExoticComponent<SidebarSectionProps & React.RefAttributes<HTMLDivElement>>;
|
|
101
|
+
Item: React.ForwardRefExoticComponent<SidebarItemProps & React.RefAttributes<HTMLButtonElement>>;
|
|
102
|
+
Rail: React.ForwardRefExoticComponent<SidebarRailProps & React.RefAttributes<HTMLButtonElement>>;
|
|
103
|
+
};
|
|
104
|
+
//#endregion
|
|
105
|
+
export { Sidebar, SidebarItemProps, SidebarLandmark, SidebarRailProps, SidebarRootProps, SidebarSectionProps, useSidebar };
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
6
|
+
//#region src/layout/sidebar.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Collapse state, published to the parts.
|
|
9
|
+
*
|
|
10
|
+
* A `Sidebar.Item` two levels down has to know whether to show its label, and a
|
|
11
|
+
* `Sidebar.Rail` has to know which way it toggles. Context rather than props so
|
|
12
|
+
* a call site can nest sections and items freely without threading a boolean.
|
|
13
|
+
*/
|
|
14
|
+
const SidebarContext = React.createContext({
|
|
15
|
+
collapsed: false,
|
|
16
|
+
toggle: () => {}
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Read the collapse state of the nearest {@link SidebarRoot}.
|
|
20
|
+
*
|
|
21
|
+
* Hands back `{ collapsed, toggle }`: whether the column is at its narrow
|
|
22
|
+
* width, and the same valve `Sidebar.Rail` pulls. It is for the part the kit
|
|
23
|
+
* does not ship — a footer that drops its labels when the column narrows, a
|
|
24
|
+
* keyboard shortcut, a collapse control somewhere other than the rail.
|
|
25
|
+
*
|
|
26
|
+
* Outside a `Sidebar.Root` it reports `collapsed: false` and a `toggle` that
|
|
27
|
+
* does nothing, rather than throwing. A row rendered on its own — in a test, on
|
|
28
|
+
* a docs page, in a menu that reuses the same markup — is a legitimate thing,
|
|
29
|
+
* and the honest answer for it is that nothing is collapsed.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const { collapsed } = useSidebar();
|
|
33
|
+
* <Button variant="ghost" icon={Plus} aria-label="New scene">
|
|
34
|
+
* {collapsed ? null : "New scene"}
|
|
35
|
+
* </Button>
|
|
36
|
+
*/
|
|
37
|
+
function useSidebar() {
|
|
38
|
+
return React.useContext(SidebarContext);
|
|
39
|
+
}
|
|
40
|
+
/** The element each landmark is spelled with. */
|
|
41
|
+
const LANDMARK_ELEMENTS = {
|
|
42
|
+
navigation: "nav",
|
|
43
|
+
complementary: "aside"
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* The console's navigation column: sections of items, a scroller of its own,
|
|
47
|
+
* and a rail that collapses the whole thing to icons.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* <Sidebar.Root defaultCollapsed aria-label="Main">
|
|
51
|
+
* <Sidebar.Section label="Console">
|
|
52
|
+
* <Sidebar.Item render={<NextLink href="/patch" />} active>Patch</Sidebar.Item>
|
|
53
|
+
* </Sidebar.Section>
|
|
54
|
+
* <Sidebar.Rail />
|
|
55
|
+
* </Sidebar.Root>
|
|
56
|
+
*/
|
|
57
|
+
const Sidebar = {
|
|
58
|
+
Root: React.forwardRef(function SidebarRoot({ className, landmark = "navigation", collapsed: collapsedProp, defaultCollapsed = false, onCollapsedChange, width = "14rem", collapsedWidth = "3rem", style, children, ...elementProps }, ref) {
|
|
59
|
+
const Element = LANDMARK_ELEMENTS[landmark];
|
|
60
|
+
const [uncontrolled, setUncontrolled] = React.useState(defaultCollapsed);
|
|
61
|
+
const collapsed = collapsedProp ?? uncontrolled;
|
|
62
|
+
const toggle = React.useCallback(() => {
|
|
63
|
+
const next = !(collapsedProp ?? uncontrolled);
|
|
64
|
+
if (collapsedProp === void 0) setUncontrolled(next);
|
|
65
|
+
onCollapsedChange?.(next);
|
|
66
|
+
}, [
|
|
67
|
+
collapsedProp,
|
|
68
|
+
uncontrolled,
|
|
69
|
+
onCollapsedChange
|
|
70
|
+
]);
|
|
71
|
+
const context = React.useMemo(() => ({
|
|
72
|
+
collapsed,
|
|
73
|
+
toggle
|
|
74
|
+
}), [collapsed, toggle]);
|
|
75
|
+
return /* @__PURE__ */ jsx(SidebarContext.Provider, {
|
|
76
|
+
value: context,
|
|
77
|
+
children: /* @__PURE__ */ jsx(Element, {
|
|
78
|
+
ref,
|
|
79
|
+
"data-slot": "sidebar",
|
|
80
|
+
"data-collapsed": collapsed ? "" : void 0,
|
|
81
|
+
className: cn("group/sidebar relative flex h-full min-h-0 shrink-0 flex-col border-r border-border bg-surface-1 transition-[width] duration-150 ease-out motion-reduce:transition-none", className),
|
|
82
|
+
style: {
|
|
83
|
+
width: collapsed ? collapsedWidth : width,
|
|
84
|
+
...style
|
|
85
|
+
},
|
|
86
|
+
...elementProps,
|
|
87
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
88
|
+
"data-slot": "sidebar-scroller",
|
|
89
|
+
className: "flex min-h-0 flex-1 flex-col gap-(--cue-space-4) overflow-y-auto py-(--cue-space-4)",
|
|
90
|
+
children
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
});
|
|
94
|
+
}),
|
|
95
|
+
Section: React.forwardRef(function SidebarSection({ className, label, children, ...elementProps }, ref) {
|
|
96
|
+
const { collapsed } = useSidebar();
|
|
97
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
98
|
+
ref,
|
|
99
|
+
"data-slot": "sidebar-section",
|
|
100
|
+
className: cn("flex flex-col gap-(--cue-space-1) px-(--cue-space-2)", className),
|
|
101
|
+
...elementProps,
|
|
102
|
+
children: [label === void 0 || collapsed ? null : /* @__PURE__ */ jsx("div", {
|
|
103
|
+
"data-slot": "sidebar-section-label",
|
|
104
|
+
className: "flex h-control-sm items-center px-(--cue-space-2) font-mono text-(length:--cue-text-label) tracking-[0.15em] text-fg-subtle uppercase",
|
|
105
|
+
children: label
|
|
106
|
+
}), children]
|
|
107
|
+
});
|
|
108
|
+
}),
|
|
109
|
+
Item: React.forwardRef(function SidebarItem({ className, icon: Icon, active = false, badge, render, type, children, ...elementProps }, ref) {
|
|
110
|
+
return useRender({
|
|
111
|
+
render,
|
|
112
|
+
ref,
|
|
113
|
+
defaultTagName: "button",
|
|
114
|
+
props: {
|
|
115
|
+
...render === void 0 ? { type: type ?? "button" } : type === void 0 ? {} : { type },
|
|
116
|
+
...elementProps,
|
|
117
|
+
"data-slot": "sidebar-item",
|
|
118
|
+
"data-active": active ? "" : void 0,
|
|
119
|
+
"aria-current": active ? "page" : void 0,
|
|
120
|
+
className: cn("relative flex h-control-md w-full cursor-pointer items-center gap-(--cue-space-3) rounded-(--radius-control) border-0 bg-transparent px-(--cue-space-3) text-left font-mono text-(length:--cue-text-ui) text-fg-muted no-underline transition-colors duration-150 outline-none select-none hover:bg-surface-2 hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-1 focus-visible:outline-accent data-[active]:bg-accent-soft data-[active]:text-accent disabled:pointer-events-none disabled:opacity-40", className),
|
|
121
|
+
children: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
122
|
+
Icon === void 0 ? null : /* @__PURE__ */ jsx(Icon, {
|
|
123
|
+
"aria-hidden": "true",
|
|
124
|
+
className: "size-icon-md shrink-0"
|
|
125
|
+
}),
|
|
126
|
+
/* @__PURE__ */ jsx("span", {
|
|
127
|
+
"data-slot": "sidebar-item-label",
|
|
128
|
+
className: "min-w-0 flex-1 truncate group-data-[collapsed]/sidebar:sr-only",
|
|
129
|
+
children
|
|
130
|
+
}),
|
|
131
|
+
badge === void 0 ? null : /* @__PURE__ */ jsx("span", {
|
|
132
|
+
"data-slot": "sidebar-item-badge",
|
|
133
|
+
className: "shrink-0 group-data-[collapsed]/sidebar:hidden",
|
|
134
|
+
children: badge
|
|
135
|
+
})
|
|
136
|
+
] })
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}),
|
|
140
|
+
Rail: React.forwardRef(function SidebarRail({ className, collapseLabel = "Collapse sidebar", expandLabel = "Expand sidebar", onClick, ...elementProps }, ref) {
|
|
141
|
+
const { collapsed, toggle } = useSidebar();
|
|
142
|
+
return /* @__PURE__ */ jsx("button", {
|
|
143
|
+
ref,
|
|
144
|
+
type: "button",
|
|
145
|
+
"data-slot": "sidebar-rail",
|
|
146
|
+
"aria-label": collapsed ? expandLabel : collapseLabel,
|
|
147
|
+
"aria-expanded": !collapsed,
|
|
148
|
+
onClick: (event) => {
|
|
149
|
+
onClick?.(event);
|
|
150
|
+
if (!event.defaultPrevented) toggle();
|
|
151
|
+
},
|
|
152
|
+
className: cn("absolute inset-y-0 right-0 w-[0.25rem] translate-x-1/2 cursor-ew-resize border-0 bg-transparent p-0 transition-colors duration-150 outline-none hover:bg-accent focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-accent motion-reduce:transition-none", className),
|
|
153
|
+
...elementProps
|
|
154
|
+
});
|
|
155
|
+
})
|
|
156
|
+
};
|
|
157
|
+
//#endregion
|
|
158
|
+
export { Sidebar, useSidebar };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/layout/stack.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* A rung of the density space ladder, or `0` for no gap at all.
|
|
5
|
+
*
|
|
6
|
+
* The prop is a number rather than a class string so a layout can never spend a
|
|
7
|
+
* gap this system does not own: there is no `gap-[13px]` to reach for.
|
|
8
|
+
*/
|
|
9
|
+
type SpaceStep = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
10
|
+
/** Cross-axis alignment. */
|
|
11
|
+
type StackAlign = "start" | "center" | "end" | "stretch" | "baseline";
|
|
12
|
+
/** Main-axis distribution. */
|
|
13
|
+
type StackJustify = "start" | "center" | "end" | "between";
|
|
14
|
+
interface StackProps extends React.ComponentPropsWithoutRef<"div"> {
|
|
15
|
+
/** `"column"` (default) or `"row"`. */
|
|
16
|
+
direction?: "row" | "column";
|
|
17
|
+
/** Which rung of the density space ladder to spend between children. Defaults to `4`. */
|
|
18
|
+
gap?: SpaceStep;
|
|
19
|
+
/** Cross-axis alignment. Omit to inherit the flex default (`stretch`). */
|
|
20
|
+
align?: StackAlign;
|
|
21
|
+
/** Main-axis distribution. Omit to inherit the flex default (`start`). */
|
|
22
|
+
justify?: StackJustify;
|
|
23
|
+
/** Let a row wrap onto more lines. */
|
|
24
|
+
wrap?: boolean;
|
|
25
|
+
/** Lay out as `inline-flex`, so the stack sits in a line of text. */
|
|
26
|
+
inline?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* One-dimensional layout: the flex row or column, with the gap tokenised.
|
|
30
|
+
*
|
|
31
|
+
* Exists so that spacing between siblings is a density decision rather than a
|
|
32
|
+
* per-call-site guess. A `Stack gap={4}` is 8px at normal density and 6px at
|
|
33
|
+
* ultra-compact without touching the markup, which is the whole point of the
|
|
34
|
+
* density system — and something `flex gap-2` written by hand quietly opts out
|
|
35
|
+
* of.
|
|
36
|
+
*
|
|
37
|
+
* Static markup — no `"use client"`.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* <Stack gap={5}><Panel /><Panel /></Stack>
|
|
41
|
+
* @example
|
|
42
|
+
* <Stack direction="row" gap={2} align="center"><StatusDot tone="ok" />Online</Stack>
|
|
43
|
+
*/
|
|
44
|
+
declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>;
|
|
45
|
+
//#endregion
|
|
46
|
+
export { SpaceStep, Stack, StackAlign, StackJustify, StackProps };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { cn } from "../lib/cn.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/layout/stack.tsx
|
|
5
|
+
/**
|
|
6
|
+
* Static class per rung — Tailwind scans source text, so a computed
|
|
7
|
+
* `gap-(--cue-space-${n})` would never be generated.
|
|
8
|
+
*
|
|
9
|
+
* @internal Shared with `grid.tsx`.
|
|
10
|
+
*/
|
|
11
|
+
const GAP_CLASSES = {
|
|
12
|
+
0: "",
|
|
13
|
+
1: "gap-(--cue-space-1)",
|
|
14
|
+
2: "gap-(--cue-space-2)",
|
|
15
|
+
3: "gap-(--cue-space-3)",
|
|
16
|
+
4: "gap-(--cue-space-4)",
|
|
17
|
+
5: "gap-(--cue-space-5)",
|
|
18
|
+
6: "gap-(--cue-space-6)",
|
|
19
|
+
7: "gap-(--cue-space-7)",
|
|
20
|
+
8: "gap-(--cue-space-8)"
|
|
21
|
+
};
|
|
22
|
+
/** @internal Shared with `grid.tsx`. */
|
|
23
|
+
const ALIGN_CLASSES = {
|
|
24
|
+
start: "items-start",
|
|
25
|
+
center: "items-center",
|
|
26
|
+
end: "items-end",
|
|
27
|
+
stretch: "items-stretch",
|
|
28
|
+
baseline: "items-baseline"
|
|
29
|
+
};
|
|
30
|
+
/** @internal Shared with `grid.tsx`. */
|
|
31
|
+
const JUSTIFY_CLASSES = {
|
|
32
|
+
start: "justify-start",
|
|
33
|
+
center: "justify-center",
|
|
34
|
+
end: "justify-end",
|
|
35
|
+
between: "justify-between"
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* One-dimensional layout: the flex row or column, with the gap tokenised.
|
|
39
|
+
*
|
|
40
|
+
* Exists so that spacing between siblings is a density decision rather than a
|
|
41
|
+
* per-call-site guess. A `Stack gap={4}` is 8px at normal density and 6px at
|
|
42
|
+
* ultra-compact without touching the markup, which is the whole point of the
|
|
43
|
+
* density system — and something `flex gap-2` written by hand quietly opts out
|
|
44
|
+
* of.
|
|
45
|
+
*
|
|
46
|
+
* Static markup — no `"use client"`.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* <Stack gap={5}><Panel /><Panel /></Stack>
|
|
50
|
+
* @example
|
|
51
|
+
* <Stack direction="row" gap={2} align="center"><StatusDot tone="ok" />Online</Stack>
|
|
52
|
+
*/
|
|
53
|
+
const Stack = React.forwardRef(function Stack({ className, direction = "column", gap = 4, align, justify, wrap = false, inline = false, ...elementProps }, ref) {
|
|
54
|
+
return /* @__PURE__ */ jsx("div", {
|
|
55
|
+
ref,
|
|
56
|
+
"data-slot": "stack",
|
|
57
|
+
className: cn(inline ? "inline-flex" : "flex", direction === "row" ? "flex-row" : "flex-col", GAP_CLASSES[gap], align === void 0 ? null : ALIGN_CLASSES[align], justify === void 0 ? null : JUSTIFY_CLASSES[justify], wrap ? "flex-wrap" : null, className),
|
|
58
|
+
...elementProps
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//#endregion
|
|
62
|
+
export { ALIGN_CLASSES, GAP_CLASSES, JUSTIFY_CLASSES, Stack };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/layout/stepper.d.ts
|
|
3
|
+
/** One step of a {@link Stepper}. */
|
|
4
|
+
interface StepperStep {
|
|
5
|
+
/** Stable identity, matched against `current`. */
|
|
6
|
+
id: string;
|
|
7
|
+
/** What the step says. Keep it to one or two words — this is a trail, not a list. */
|
|
8
|
+
label: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
/** Where a step sits relative to the current one. */
|
|
11
|
+
type StepperState = "complete" | "current" | "upcoming";
|
|
12
|
+
interface StepperProps extends Omit<React.ComponentPropsWithoutRef<"nav">, "children" | "onChange"> {
|
|
13
|
+
/** The steps, in order. */
|
|
14
|
+
steps: readonly StepperStep[];
|
|
15
|
+
/** The `id` of the step in progress. An unknown id leaves every step upcoming. */
|
|
16
|
+
current: string;
|
|
17
|
+
/**
|
|
18
|
+
* Called with the `id` of a step the user asked to go back to. Passing it
|
|
19
|
+
* turns the finished steps into buttons; leaving it off keeps the trail
|
|
20
|
+
* static, which is the honest rendering when the earlier steps cannot be
|
|
21
|
+
* revisited.
|
|
22
|
+
*/
|
|
23
|
+
onStepChange?: (id: string) => void;
|
|
24
|
+
/** What sits between steps. Defaults to `"·"`. */
|
|
25
|
+
separator?: React.ReactNode;
|
|
26
|
+
/** The nav's accessible name. Defaults to `"Progress"`. */
|
|
27
|
+
label?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The step trail: `1 target · 2 preview · 3 apply`.
|
|
31
|
+
*
|
|
32
|
+
* Deliberately a line of mono text rather than the usual row of numbered discs
|
|
33
|
+
* joined by rules. A stepper drawn as circles-and-lines is 60px tall and says
|
|
34
|
+
* exactly as much as one line of 9px type — and in a console that vertical
|
|
35
|
+
* space belongs to the thing being configured, not to the wizard chrome around
|
|
36
|
+
* it. Only the numbers carry the accent, so the trail reads as one sentence
|
|
37
|
+
* with the position marked, which is what a progress indicator is for.
|
|
38
|
+
*
|
|
39
|
+
* Forward steps are never buttons: a step you have not reached is not a place
|
|
40
|
+
* you can go, and offering it as a control is a promise the flow cannot keep.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* <Stepper steps={[{ id: "target", label: "target" }, { id: "preview", label: "preview" }]} current="preview" />
|
|
44
|
+
* @example
|
|
45
|
+
* <Stepper steps={steps} current={step} onStepChange={setStep} />
|
|
46
|
+
*/
|
|
47
|
+
declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLElement>>;
|
|
48
|
+
//#endregion
|
|
49
|
+
export { Stepper, StepperProps, StepperState, StepperStep };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/layout/stepper.tsx
|
|
6
|
+
/** Ink per state: done recedes, now is full strength, later is barely there. */
|
|
7
|
+
const STEP_TONES = {
|
|
8
|
+
complete: "text-fg-muted",
|
|
9
|
+
current: "text-fg",
|
|
10
|
+
upcoming: "text-fg-subtle"
|
|
11
|
+
};
|
|
12
|
+
/** The number carries the accent for everything you have reached. */
|
|
13
|
+
const INDEX_TONES = {
|
|
14
|
+
complete: "text-accent",
|
|
15
|
+
current: "text-accent",
|
|
16
|
+
upcoming: "text-fg-subtle"
|
|
17
|
+
};
|
|
18
|
+
const STEP_BUTTON_CLASSES = "inline-flex cursor-pointer items-center gap-(--cue-space-2) rounded-(--radius-control) border-0 bg-transparent p-0 font-mono text-[length:inherit] tracking-[inherit] text-inherit uppercase transition-colors duration-150 outline-none hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-2 focus-visible:outline-accent";
|
|
19
|
+
/**
|
|
20
|
+
* The step trail: `1 target · 2 preview · 3 apply`.
|
|
21
|
+
*
|
|
22
|
+
* Deliberately a line of mono text rather than the usual row of numbered discs
|
|
23
|
+
* joined by rules. A stepper drawn as circles-and-lines is 60px tall and says
|
|
24
|
+
* exactly as much as one line of 9px type — and in a console that vertical
|
|
25
|
+
* space belongs to the thing being configured, not to the wizard chrome around
|
|
26
|
+
* it. Only the numbers carry the accent, so the trail reads as one sentence
|
|
27
|
+
* with the position marked, which is what a progress indicator is for.
|
|
28
|
+
*
|
|
29
|
+
* Forward steps are never buttons: a step you have not reached is not a place
|
|
30
|
+
* you can go, and offering it as a control is a promise the flow cannot keep.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* <Stepper steps={[{ id: "target", label: "target" }, { id: "preview", label: "preview" }]} current="preview" />
|
|
34
|
+
* @example
|
|
35
|
+
* <Stepper steps={steps} current={step} onStepChange={setStep} />
|
|
36
|
+
*/
|
|
37
|
+
const Stepper = React.forwardRef(function Stepper({ className, steps, current, onStepChange, separator = "·", label = "Progress", ...elementProps }, ref) {
|
|
38
|
+
const currentIndex = steps.findIndex((step) => step.id === current);
|
|
39
|
+
return /* @__PURE__ */ jsx("nav", {
|
|
40
|
+
ref,
|
|
41
|
+
"data-slot": "stepper",
|
|
42
|
+
"aria-label": label,
|
|
43
|
+
className: cn("min-w-0", className),
|
|
44
|
+
...elementProps,
|
|
45
|
+
children: /* @__PURE__ */ jsx("ol", {
|
|
46
|
+
className: "m-0 flex list-none flex-wrap items-center gap-(--cue-space-3) p-0 font-mono text-(length:--cue-text-label) tracking-[0.1em] uppercase",
|
|
47
|
+
children: steps.map((step, index) => {
|
|
48
|
+
const state = currentIndex === -1 || index > currentIndex ? "upcoming" : index === currentIndex ? "current" : "complete";
|
|
49
|
+
const navigable = onStepChange !== void 0 && state === "complete";
|
|
50
|
+
const body = /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
|
|
51
|
+
"data-slot": "stepper-index",
|
|
52
|
+
className: cn("tabular-nums", INDEX_TONES[state]),
|
|
53
|
+
children: index + 1
|
|
54
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
55
|
+
"data-slot": "stepper-label",
|
|
56
|
+
className: "truncate",
|
|
57
|
+
children: step.label
|
|
58
|
+
})] });
|
|
59
|
+
return /* @__PURE__ */ jsxs(React.Fragment, { children: [index === 0 ? null : /* @__PURE__ */ jsx("li", {
|
|
60
|
+
"data-slot": "stepper-separator",
|
|
61
|
+
"aria-hidden": "true",
|
|
62
|
+
className: "text-fg-subtle select-none",
|
|
63
|
+
children: separator
|
|
64
|
+
}), /* @__PURE__ */ jsx("li", {
|
|
65
|
+
"data-slot": "stepper-step",
|
|
66
|
+
"data-state": state,
|
|
67
|
+
"aria-current": state === "current" ? "step" : void 0,
|
|
68
|
+
className: cn("inline-flex min-w-0 items-center gap-(--cue-space-2)", STEP_TONES[state]),
|
|
69
|
+
children: navigable ? /* @__PURE__ */ jsx("button", {
|
|
70
|
+
type: "button",
|
|
71
|
+
onClick: () => onStepChange(step.id),
|
|
72
|
+
className: STEP_BUTTON_CLASSES,
|
|
73
|
+
children: body
|
|
74
|
+
}) : body
|
|
75
|
+
})] }, step.id);
|
|
76
|
+
})
|
|
77
|
+
})
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
//#endregion
|
|
81
|
+
export { Stepper };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { StatusTone } from "../primitives/status-dot.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/layout/timeline.d.ts
|
|
4
|
+
/** Props for {@link TimelineRoot}: the native `<ol>` surface plus `className`. */
|
|
5
|
+
type TimelineRootProps = React.ComponentPropsWithoutRef<"ol">;
|
|
6
|
+
/** Props for {@link TimelineItem}: the native `<li>` surface plus `className`. */
|
|
7
|
+
type TimelineItemProps = React.ComponentPropsWithoutRef<"li">;
|
|
8
|
+
interface TimelineMarkerProps extends Omit<React.ComponentPropsWithoutRef<"span">, "children"> {
|
|
9
|
+
/** Which state this event is in. The shared `StatusDot` vocabulary. */
|
|
10
|
+
tone: StatusTone;
|
|
11
|
+
/** Screen-reader text for the dot. Defaults to the tone name. */
|
|
12
|
+
label?: string;
|
|
13
|
+
/** Pulse the dot for an event still in progress. */
|
|
14
|
+
pulse?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Props for {@link TimelineContent}: the native `<div>` surface plus `className`. */
|
|
17
|
+
type TimelineContentProps = React.ComponentPropsWithoutRef<"div">;
|
|
18
|
+
/**
|
|
19
|
+
* A vertical run of events on one rail: a run log, a cue history, a deploy
|
|
20
|
+
* trail.
|
|
21
|
+
*
|
|
22
|
+
* Static markup — no `"use client"`.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <Timeline.Root>
|
|
26
|
+
* <Timeline.Item>
|
|
27
|
+
* <Timeline.Marker tone="ok" label="Patched" />
|
|
28
|
+
* <Timeline.Content>Patched universe 1</Timeline.Content>
|
|
29
|
+
* </Timeline.Item>
|
|
30
|
+
* <Timeline.Item>
|
|
31
|
+
* <Timeline.Marker tone="busy" label="Focusing" pulse />
|
|
32
|
+
* <Timeline.Content>Focusing front truss</Timeline.Content>
|
|
33
|
+
* </Timeline.Item>
|
|
34
|
+
* </Timeline.Root>
|
|
35
|
+
*/
|
|
36
|
+
declare const Timeline: {
|
|
37
|
+
Root: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
|
|
38
|
+
Item: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
39
|
+
Marker: React.ForwardRefExoticComponent<TimelineMarkerProps & React.RefAttributes<HTMLSpanElement>>;
|
|
40
|
+
Content: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
41
|
+
};
|
|
42
|
+
//#endregion
|
|
43
|
+
export { Timeline, TimelineContentProps, TimelineItemProps, TimelineMarkerProps, TimelineRootProps };
|