@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,81 @@
|
|
|
1
|
+
//#region src/brand/_chassis.ts
|
|
2
|
+
/** The heights of the three rungs, straight off the density ladder. */
|
|
3
|
+
const RUNG_HEIGHTS = {
|
|
4
|
+
sm: "var(--cue-control-sm)",
|
|
5
|
+
md: "var(--cue-control-md)",
|
|
6
|
+
lg: "var(--cue-control-lg)"
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The height a `size` resolves to, as a CSS length.
|
|
10
|
+
*
|
|
11
|
+
* A rung name reads the token, so the asset tracks the density island it is
|
|
12
|
+
* in. A number is an explicit height in px at the default 16px root, emitted as
|
|
13
|
+
* `rem` so it tracks browser zoom instead — the same escape hatch, and the same
|
|
14
|
+
* conversion, `StatusDot` gives its diameter.
|
|
15
|
+
*
|
|
16
|
+
* @param size A rung of the ladder, or a height in px.
|
|
17
|
+
*/
|
|
18
|
+
function brandHeight(size) {
|
|
19
|
+
return typeof size === "number" ? `${size / 16}rem` : RUNG_HEIGHTS[size];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The width a `size` resolves to for an asset that is not square.
|
|
23
|
+
*
|
|
24
|
+
* A rung stays symbolic — `calc()` over the token, so the width still moves
|
|
25
|
+
* when the density does. An explicit height is a number here and now, so it is
|
|
26
|
+
* multiplied out rather than left as arithmetic for the browser: one value in
|
|
27
|
+
* the style attribute instead of an expression, and the same result.
|
|
28
|
+
*
|
|
29
|
+
* @param size A rung of the ladder, or a height in px.
|
|
30
|
+
* @param width The artwork's width, in its own units.
|
|
31
|
+
* @param height The artwork's height, in the same units.
|
|
32
|
+
*/
|
|
33
|
+
function brandWidth(size, width, height) {
|
|
34
|
+
return typeof size === "number" ? `${size * width / height / 16}rem` : `calc(${RUNG_HEIGHTS[size]} * ${width} / ${height})`;
|
|
35
|
+
}
|
|
36
|
+
/** Each tone's pair, all six values from the token layer or from the caller. */
|
|
37
|
+
const BRAND_INKS = {
|
|
38
|
+
inherit: {
|
|
39
|
+
fill: "currentColor",
|
|
40
|
+
knockout: "var(--cue-bg)"
|
|
41
|
+
},
|
|
42
|
+
fg: {
|
|
43
|
+
fill: "var(--cue-fg)",
|
|
44
|
+
knockout: "var(--cue-bg)"
|
|
45
|
+
},
|
|
46
|
+
accent: {
|
|
47
|
+
fill: "var(--cue-accent)",
|
|
48
|
+
knockout: "var(--cue-accent-fg)"
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* The paint for a tone.
|
|
53
|
+
*
|
|
54
|
+
* @param tone Which of the three inks to use.
|
|
55
|
+
*/
|
|
56
|
+
function brandInk(tone) {
|
|
57
|
+
return BRAND_INKS[tone];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The attributes that decide whether a mark is a picture or a decoration.
|
|
61
|
+
*
|
|
62
|
+
* A brand asset is usually the second half of something already named — a link
|
|
63
|
+
* that says "CUE++", a header with a heading in it — and a second announcement
|
|
64
|
+
* of the same name is noise. So the default is decorative: `aria-hidden`, and
|
|
65
|
+
* `focusable="false"` because legacy engines put a tabstop on an SVG that has
|
|
66
|
+
* no business having one. Pass a `title` and it becomes a picture instead:
|
|
67
|
+
* `role="img"`, named by the `<title>` the component then renders.
|
|
68
|
+
*
|
|
69
|
+
* @param title The accessible name, when the asset carries one.
|
|
70
|
+
*/
|
|
71
|
+
function brandLabelling(title) {
|
|
72
|
+
return title === void 0 ? {
|
|
73
|
+
"aria-hidden": true,
|
|
74
|
+
focusable: "false"
|
|
75
|
+
} : {
|
|
76
|
+
role: "img",
|
|
77
|
+
focusable: "false"
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
export { brandHeight, brandInk, brandLabelling, brandWidth };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/brand/_geometry.ts
|
|
2
|
+
/** The face, as `plussie.svg` draws it: one circle, centred, full-bleed. */
|
|
3
|
+
const MARK_CIRCLE = {
|
|
4
|
+
cx: 183.5,
|
|
5
|
+
cy: 183.5,
|
|
6
|
+
r: 183.5
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The two "+" glyphs, in document order.
|
|
10
|
+
*
|
|
11
|
+
* Each is a single path of two crossing rectangles — the vertical bar first,
|
|
12
|
+
* then the horizontal one — which is why an eye can be transformed as a unit.
|
|
13
|
+
*/
|
|
14
|
+
const MARK_EYES = [{
|
|
15
|
+
side: "left",
|
|
16
|
+
d: "M57.9395 236.4V130.947H84.6006V236.4H57.9395ZM18.5436 197.004V170.343H123.997V197.004H18.5436Z",
|
|
17
|
+
centerX: 71.27,
|
|
18
|
+
centerY: 183.67
|
|
19
|
+
}, {
|
|
20
|
+
side: "right",
|
|
21
|
+
d: "M171.535 236.4V130.947H198.196V236.4H171.535ZM132.139 197.004V170.343H237.592V197.004H132.139Z",
|
|
22
|
+
centerX: 184.87,
|
|
23
|
+
centerY: 183.67
|
|
24
|
+
}];
|
|
25
|
+
/**
|
|
26
|
+
* The mark, as the logotype draws it: one `evenodd` path, so the two "+"
|
|
27
|
+
* glyphs are holes rather than ink.
|
|
28
|
+
*
|
|
29
|
+
* Not the same numbers as {@link MARK_CIRCLE} and {@link MARK_EYES}: the
|
|
30
|
+
* lock-up's mark is the standalone one squeezed to 96.777% of its width, and
|
|
31
|
+
* the artwork carries that squeeze in the path rather than in a transform.
|
|
32
|
+
*/
|
|
33
|
+
const LOGOTYPE_MARK_PATH = "M778 183.5C778 284.844 698.492 367 600.413 367C502.335 367 422.826 284.844 422.826 183.5C422.826 82.1558 502.335 0 600.413 0C698.492 0 778 82.1558 778 183.5ZM478.899 236.4V197.004H440.773V170.343H478.899V130.947H504.701V170.343H542.828V197.004H504.701V236.4H478.899ZM588.834 197.004V236.4H614.636V197.004H652.762V170.343H614.636V130.947H588.834V170.343H550.707V197.004H588.834Z";
|
|
34
|
+
/** `C`, `U` and `E`, in reading order, verbatim from `cue++.svg`. */
|
|
35
|
+
const LOGOTYPE_LETTER_PATHS = [
|
|
36
|
+
"M136.396 160.524H103.981C103.389 156.289 102.18 152.529 100.354 149.241C98.5289 145.903 96.1853 143.064 93.3237 140.723C90.4621 138.382 87.1564 136.588 83.4067 135.343C79.7063 134.098 75.6852 133.475 71.3434 133.475C63.4986 133.475 56.6652 135.443 50.8433 139.378C45.0213 143.263 40.5069 148.942 37.2999 156.414C34.0929 163.836 32.4894 172.852 32.4894 183.463C32.4894 194.372 34.0929 203.537 37.2999 210.96C40.5562 218.382 45.0953 223.986 50.9173 227.772C56.7392 231.557 63.4739 233.45 71.1214 233.45C75.4138 233.45 79.3856 232.877 83.0366 231.732C86.737 230.586 90.018 228.917 92.8796 226.726C95.7413 224.484 98.1095 221.769 99.9844 218.581C101.909 215.393 103.241 211.757 103.981 207.672L136.396 207.821C135.557 214.845 133.461 221.62 130.106 228.145C126.8 234.621 122.335 240.424 116.71 245.555C111.135 250.636 104.474 254.671 96.7281 257.66C89.0312 260.599 80.323 262.068 70.6033 262.068C57.0846 262.068 44.9967 258.98 34.3396 252.803C23.7318 246.626 15.3443 237.684 9.17695 225.978C3.05898 214.272 0 200.1 0 183.463C0 166.775 3.10832 152.578 9.32497 140.872C15.5416 129.166 23.9785 120.249 34.6356 114.122C45.2927 107.946 57.2819 104.857 70.6033 104.857C79.3856 104.857 87.5264 106.102 95.0259 108.593C102.575 111.084 109.26 114.72 115.082 119.502C120.904 124.235 125.64 130.038 129.291 136.912C132.992 143.786 135.36 151.657 136.396 160.524Z",
|
|
37
|
+
"M249.036 106.949H281.081V206.327C281.081 217.485 278.441 227.249 273.162 235.617C267.932 243.986 260.605 250.511 251.182 255.194C241.758 259.826 230.78 262.143 218.248 262.143C205.667 262.143 194.665 259.826 185.241 255.194C175.817 250.511 168.491 243.986 163.261 235.617C158.031 227.249 155.416 217.485 155.416 206.327V106.949H187.461V203.562C187.461 209.39 188.719 214.571 191.236 219.104C193.801 223.637 197.403 227.199 202.041 229.789C206.679 232.379 212.081 233.674 218.248 233.674C224.465 233.674 229.868 232.379 234.456 229.789C239.094 227.199 242.671 223.637 245.187 219.104C247.753 214.571 249.036 209.39 249.036 203.562V106.949Z",
|
|
38
|
+
"M303.486 259.976V106.949H405.617V133.624H335.532V170.088H400.362V196.763H335.532V233.301H405.913V259.976H303.486Z"
|
|
39
|
+
];
|
|
40
|
+
//#endregion
|
|
41
|
+
export { LOGOTYPE_LETTER_PATHS, LOGOTYPE_MARK_PATH, MARK_CIRCLE, MARK_EYES };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BrandAssetProps } from "./_chassis.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/brand/cue-logotype.d.ts
|
|
4
|
+
interface CueLogotypeProps extends BrandAssetProps {}
|
|
5
|
+
/**
|
|
6
|
+
* The CUE++ logotype: the wordmark and the mark, locked up.
|
|
7
|
+
*
|
|
8
|
+
* 778:367, and it stays that shape at every size — `size` sets the height and
|
|
9
|
+
* the width follows, so a logotype and a {@link CueMark} beside it line up on
|
|
10
|
+
* the same row of a toolbar without either being measured by hand.
|
|
11
|
+
*
|
|
12
|
+
* One paint, not two. The artwork draws the lock-up's mark as a single
|
|
13
|
+
* `evenodd` path, which makes its two "+" glyphs holes rather than ink: they
|
|
14
|
+
* show whatever the logotype is standing on, so the whole thing is one
|
|
15
|
+
* `fill` and there is nothing to keep in step with a background.
|
|
16
|
+
*
|
|
17
|
+
* Decorative by default, like every asset in this group — pass a `title` only
|
|
18
|
+
* when nothing else on the page names the product.
|
|
19
|
+
*
|
|
20
|
+
* Static markup — no `"use client"`.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* <CueLogotype />
|
|
24
|
+
* @example
|
|
25
|
+
* <CueLogotype size="lg" title="CUE++" />
|
|
26
|
+
*/
|
|
27
|
+
declare const CueLogotype: React.ForwardRefExoticComponent<CueLogotypeProps & React.RefAttributes<SVGSVGElement>>;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { CueLogotype, CueLogotypeProps };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { cn } from "../lib/cn.js";
|
|
2
|
+
import { brandHeight, brandInk, brandLabelling, brandWidth } from "./_chassis.js";
|
|
3
|
+
import { LOGOTYPE_LETTER_PATHS, LOGOTYPE_MARK_PATH } from "./_geometry.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/brand/cue-logotype.tsx
|
|
7
|
+
/**
|
|
8
|
+
* The CUE++ logotype: the wordmark and the mark, locked up.
|
|
9
|
+
*
|
|
10
|
+
* 778:367, and it stays that shape at every size — `size` sets the height and
|
|
11
|
+
* the width follows, so a logotype and a {@link CueMark} beside it line up on
|
|
12
|
+
* the same row of a toolbar without either being measured by hand.
|
|
13
|
+
*
|
|
14
|
+
* One paint, not two. The artwork draws the lock-up's mark as a single
|
|
15
|
+
* `evenodd` path, which makes its two "+" glyphs holes rather than ink: they
|
|
16
|
+
* show whatever the logotype is standing on, so the whole thing is one
|
|
17
|
+
* `fill` and there is nothing to keep in step with a background.
|
|
18
|
+
*
|
|
19
|
+
* Decorative by default, like every asset in this group — pass a `title` only
|
|
20
|
+
* when nothing else on the page names the product.
|
|
21
|
+
*
|
|
22
|
+
* Static markup — no `"use client"`.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <CueLogotype />
|
|
26
|
+
* @example
|
|
27
|
+
* <CueLogotype size="lg" title="CUE++" />
|
|
28
|
+
*/
|
|
29
|
+
const CueLogotype = React.forwardRef(function CueLogotype({ className, size = "md", tone = "inherit", title, style, ...elementProps }, ref) {
|
|
30
|
+
const ink = brandInk(tone).fill;
|
|
31
|
+
const height = brandHeight(size);
|
|
32
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
33
|
+
ref,
|
|
34
|
+
viewBox: `0 0 778 367`,
|
|
35
|
+
fill: "none",
|
|
36
|
+
className: cn("inline-block shrink-0 align-middle", className),
|
|
37
|
+
style: {
|
|
38
|
+
height,
|
|
39
|
+
width: brandWidth(size, 778, 367),
|
|
40
|
+
...style
|
|
41
|
+
},
|
|
42
|
+
...brandLabelling(title),
|
|
43
|
+
...elementProps,
|
|
44
|
+
children: [
|
|
45
|
+
title === void 0 ? null : /* @__PURE__ */ jsx("title", { children: title }),
|
|
46
|
+
/* @__PURE__ */ jsx("path", {
|
|
47
|
+
fillRule: "evenodd",
|
|
48
|
+
clipRule: "evenodd",
|
|
49
|
+
d: LOGOTYPE_MARK_PATH,
|
|
50
|
+
fill: ink
|
|
51
|
+
}),
|
|
52
|
+
LOGOTYPE_LETTER_PATHS.map((d, index) => /* @__PURE__ */ jsx("path", {
|
|
53
|
+
d,
|
|
54
|
+
fill: ink
|
|
55
|
+
}, index))
|
|
56
|
+
]
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//#endregion
|
|
60
|
+
export { CueLogotype };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BrandAssetProps } from "./_chassis.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/brand/cue-mark.d.ts
|
|
4
|
+
interface CueMarkProps extends BrandAssetProps {}
|
|
5
|
+
/**
|
|
6
|
+
* The CUE++ mark: the circular one, with no words in it.
|
|
7
|
+
*
|
|
8
|
+
* Square at every size, drawn from the artwork's own path data, and painted
|
|
9
|
+
* entirely from tokens — the disc takes the tone's ink and the two "+" glyphs
|
|
10
|
+
* take the ground, which is exactly the relationship the two shipped SVGs
|
|
11
|
+
* encode by hand. One element is therefore correct in all ten presets and
|
|
12
|
+
* both modes, and there is no light/dark variant to pick.
|
|
13
|
+
*
|
|
14
|
+
* The two glyphs are {@link Plussie}'s eyes; both components read one geometry
|
|
15
|
+
* module, so the mark cannot stop being the character's face.
|
|
16
|
+
*
|
|
17
|
+
* Decorative by default. It renders `aria-hidden` unless you give it a `title`,
|
|
18
|
+
* because a mark beside a wordmark, a heading or a link that already says
|
|
19
|
+
* "CUE++" is the second time a reader is told.
|
|
20
|
+
*
|
|
21
|
+
* Static markup — no `"use client"`.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* <CueMark />
|
|
25
|
+
* @example
|
|
26
|
+
* <CueMark size="lg" tone="accent" title="CUE++" />
|
|
27
|
+
*/
|
|
28
|
+
declare const CueMark: React.ForwardRefExoticComponent<CueMarkProps & React.RefAttributes<SVGSVGElement>>;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { CueMark, CueMarkProps };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { cn } from "../lib/cn.js";
|
|
2
|
+
import { brandHeight, brandInk, brandLabelling } from "./_chassis.js";
|
|
3
|
+
import { MARK_CIRCLE, MARK_EYES } from "./_geometry.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/brand/cue-mark.tsx
|
|
7
|
+
/**
|
|
8
|
+
* The CUE++ mark: the circular one, with no words in it.
|
|
9
|
+
*
|
|
10
|
+
* Square at every size, drawn from the artwork's own path data, and painted
|
|
11
|
+
* entirely from tokens — the disc takes the tone's ink and the two "+" glyphs
|
|
12
|
+
* take the ground, which is exactly the relationship the two shipped SVGs
|
|
13
|
+
* encode by hand. One element is therefore correct in all ten presets and
|
|
14
|
+
* both modes, and there is no light/dark variant to pick.
|
|
15
|
+
*
|
|
16
|
+
* The two glyphs are {@link Plussie}'s eyes; both components read one geometry
|
|
17
|
+
* module, so the mark cannot stop being the character's face.
|
|
18
|
+
*
|
|
19
|
+
* Decorative by default. It renders `aria-hidden` unless you give it a `title`,
|
|
20
|
+
* because a mark beside a wordmark, a heading or a link that already says
|
|
21
|
+
* "CUE++" is the second time a reader is told.
|
|
22
|
+
*
|
|
23
|
+
* Static markup — no `"use client"`.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* <CueMark />
|
|
27
|
+
* @example
|
|
28
|
+
* <CueMark size="lg" tone="accent" title="CUE++" />
|
|
29
|
+
*/
|
|
30
|
+
const CueMark = React.forwardRef(function CueMark({ className, size = "md", tone = "inherit", title, style, ...elementProps }, ref) {
|
|
31
|
+
const ink = brandInk(tone);
|
|
32
|
+
const height = brandHeight(size);
|
|
33
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
34
|
+
ref,
|
|
35
|
+
viewBox: `0 0 367 367`,
|
|
36
|
+
fill: "none",
|
|
37
|
+
className: cn("inline-block shrink-0 align-middle", className),
|
|
38
|
+
style: {
|
|
39
|
+
width: height,
|
|
40
|
+
height,
|
|
41
|
+
...style
|
|
42
|
+
},
|
|
43
|
+
...brandLabelling(title),
|
|
44
|
+
...elementProps,
|
|
45
|
+
children: [
|
|
46
|
+
title === void 0 ? null : /* @__PURE__ */ jsx("title", { children: title }),
|
|
47
|
+
/* @__PURE__ */ jsx("circle", {
|
|
48
|
+
cx: MARK_CIRCLE.cx,
|
|
49
|
+
cy: MARK_CIRCLE.cy,
|
|
50
|
+
r: MARK_CIRCLE.r,
|
|
51
|
+
fill: ink.fill
|
|
52
|
+
}),
|
|
53
|
+
MARK_EYES.map((eye) => /* @__PURE__ */ jsx("path", {
|
|
54
|
+
d: eye.d,
|
|
55
|
+
fill: ink.knockout
|
|
56
|
+
}, eye.side))
|
|
57
|
+
]
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//#endregion
|
|
61
|
+
export { CueMark };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BrandAssetProps, BrandSize, BrandTone } from "./_chassis.js";
|
|
2
|
+
import { CueLogotype, CueLogotypeProps } from "./cue-logotype.js";
|
|
3
|
+
import { CueMark, CueMarkProps } from "./cue-mark.js";
|
|
4
|
+
import { Plussie, PlussieExpression, PlussieProps } from "./plussie.js";
|
|
5
|
+
export { type BrandAssetProps, type BrandSize, type BrandTone, CueLogotype, type CueLogotypeProps, CueMark, type CueMarkProps, Plussie, type PlussieExpression, type PlussieProps };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { BrandAssetProps } from "./_chassis.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/brand/plussie.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The poses Plussie can hold.
|
|
6
|
+
*
|
|
7
|
+
* Every one of them is a still taken out of the animation rig in
|
|
8
|
+
* `site/src/remotion/plussie/animations/`, at the frame where the pose is
|
|
9
|
+
* fullest — nothing here is invented, and nothing here needs Remotion:
|
|
10
|
+
*
|
|
11
|
+
* | Expression | Source | Frame |
|
|
12
|
+
* | --- | --- | --- |
|
|
13
|
+
* | `blink` | `01-Blink.tsx` | the midpoint of `blinkScaleY`, where both eyes are `scaleY(0.05)` |
|
|
14
|
+
* | `wink` | `02-Wink.tsx` | the same midpoint, left eye only |
|
|
15
|
+
* | `look-left` / `look-right` | `03-LookAround.tsx` | the held stops of its keyframe track, ±15 |
|
|
16
|
+
* | `look-up` / `look-down` | `04-LookUpDown.tsx` | the held stops of its track, ±12 |
|
|
17
|
+
*/
|
|
18
|
+
type PlussieExpression = "default" | "blink" | "wink" | "look-left" | "look-right" | "look-up" | "look-down";
|
|
19
|
+
interface PlussieProps extends BrandAssetProps {
|
|
20
|
+
/**
|
|
21
|
+
* Which pose to hold. Defaults to `"default"`, eyes open and level.
|
|
22
|
+
*
|
|
23
|
+
* Every pose is a still from the character's own animations rather than a
|
|
24
|
+
* new drawing, so a screen that holds one and a video that plays through it
|
|
25
|
+
* agree.
|
|
26
|
+
*/
|
|
27
|
+
expression?: PlussieExpression;
|
|
28
|
+
/**
|
|
29
|
+
* Blink every few seconds, on a CSS keyframe. Defaults to `false`.
|
|
30
|
+
*
|
|
31
|
+
* Off by default because a mark that moves in the corner of the eye is a
|
|
32
|
+
* distraction on a console screen, and off again for a reader who has asked
|
|
33
|
+
* for reduced motion — the rule that drives it is inside a
|
|
34
|
+
* `prefers-reduced-motion` guard, so there is no state to keep and nothing to
|
|
35
|
+
* turn off a second time.
|
|
36
|
+
*
|
|
37
|
+
* It composes with `expression`: a winking Plussie blinks its open eye.
|
|
38
|
+
*/
|
|
39
|
+
idle?: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Plussie, the CUE++ character — the mark, with its eyes free to move.
|
|
43
|
+
*
|
|
44
|
+
* The same circle and the same two "+" glyphs {@link CueMark} draws, out of the
|
|
45
|
+
* same geometry module, because they are the same drawing: the mark's glyphs
|
|
46
|
+
* *are* the character's eyes. What this adds is that the eyes are their own
|
|
47
|
+
* groups, so an `expression` can slide or shut them.
|
|
48
|
+
*
|
|
49
|
+
* Static-first. The eight Remotion animations this character was rigged for
|
|
50
|
+
* stay in the site that renders video; a heavy, video-oriented peer has no
|
|
51
|
+
* business in a component library, so what is ported here is the geometry and
|
|
52
|
+
* the poses. Everything else a caller wants — a look that follows the cursor, a
|
|
53
|
+
* blink on a timer of their own — is a `expression` prop away, driven by their
|
|
54
|
+
* own runtime.
|
|
55
|
+
*
|
|
56
|
+
* Static markup — no `"use client"`.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* <Plussie size="lg" title="Plussie" />
|
|
60
|
+
* @example
|
|
61
|
+
* <Plussie expression="wink" tone="accent" />
|
|
62
|
+
* @example
|
|
63
|
+
* <Plussie size={96} idle />
|
|
64
|
+
*/
|
|
65
|
+
declare const Plussie: React.ForwardRefExoticComponent<PlussieProps & React.RefAttributes<SVGSVGElement>>;
|
|
66
|
+
//#endregion
|
|
67
|
+
export { Plussie, PlussieExpression, PlussieProps };
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { cn } from "../lib/cn.js";
|
|
2
|
+
import { brandHeight, brandInk, brandLabelling } from "./_chassis.js";
|
|
3
|
+
import { MARK_CIRCLE, MARK_EYES } from "./_geometry.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/brand/plussie.tsx
|
|
7
|
+
/** `blinkScaleY`'s value at the midpoint of a blink: shut, but still a line. */
|
|
8
|
+
const EYE_CLOSED = .05;
|
|
9
|
+
/** `03-LookAround.tsx`'s held stop. */
|
|
10
|
+
const LOOK_X = 15;
|
|
11
|
+
/** `04-LookUpDown.tsx`'s held stop. */
|
|
12
|
+
const LOOK_Y = 12;
|
|
13
|
+
/** Each expression as a pair of eye poses. `default` moves nothing. */
|
|
14
|
+
const EXPRESSIONS = {
|
|
15
|
+
default: {
|
|
16
|
+
left: {},
|
|
17
|
+
right: {}
|
|
18
|
+
},
|
|
19
|
+
blink: {
|
|
20
|
+
left: { sy: EYE_CLOSED },
|
|
21
|
+
right: { sy: EYE_CLOSED }
|
|
22
|
+
},
|
|
23
|
+
wink: {
|
|
24
|
+
left: { sy: EYE_CLOSED },
|
|
25
|
+
right: {}
|
|
26
|
+
},
|
|
27
|
+
"look-left": {
|
|
28
|
+
left: { dx: -15 },
|
|
29
|
+
right: { dx: -15 }
|
|
30
|
+
},
|
|
31
|
+
"look-right": {
|
|
32
|
+
left: { dx: LOOK_X },
|
|
33
|
+
right: { dx: LOOK_X }
|
|
34
|
+
},
|
|
35
|
+
"look-up": {
|
|
36
|
+
left: { dy: -12 },
|
|
37
|
+
right: { dy: -12 }
|
|
38
|
+
},
|
|
39
|
+
"look-down": {
|
|
40
|
+
left: { dy: LOOK_Y },
|
|
41
|
+
right: { dy: LOOK_Y }
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* A pose as an SVG `transform`, or `undefined` when there is nothing to apply.
|
|
46
|
+
*
|
|
47
|
+
* The attribute rather than the CSS property, deliberately: the idle blink is a
|
|
48
|
+
* CSS animation on the group inside this one, and a CSS `transform` there would
|
|
49
|
+
* override a CSS `transform` here. Two mechanisms on two elements is what lets
|
|
50
|
+
* a winking Plussie also blink.
|
|
51
|
+
*
|
|
52
|
+
* @param pose Where the eye should sit.
|
|
53
|
+
* @param eye The eye, for the centre a squash happens about.
|
|
54
|
+
*/
|
|
55
|
+
function eyeTransform(pose, eye) {
|
|
56
|
+
const parts = [];
|
|
57
|
+
if (pose.dx !== void 0 || pose.dy !== void 0) parts.push(`translate(${pose.dx ?? 0} ${pose.dy ?? 0})`);
|
|
58
|
+
if (pose.sy !== void 0) parts.push(`translate(${eye.centerX} ${eye.centerY}) scale(1 ${pose.sy}) translate(${-eye.centerX} ${-eye.centerY})`);
|
|
59
|
+
return parts.length === 0 ? void 0 : parts.join(" ");
|
|
60
|
+
}
|
|
61
|
+
/** The class `styles.css` attaches the idle blink's keyframes to. */
|
|
62
|
+
const IDLE_CLASS = "cue-plussie-idle";
|
|
63
|
+
/**
|
|
64
|
+
* Plussie, the CUE++ character — the mark, with its eyes free to move.
|
|
65
|
+
*
|
|
66
|
+
* The same circle and the same two "+" glyphs {@link CueMark} draws, out of the
|
|
67
|
+
* same geometry module, because they are the same drawing: the mark's glyphs
|
|
68
|
+
* *are* the character's eyes. What this adds is that the eyes are their own
|
|
69
|
+
* groups, so an `expression` can slide or shut them.
|
|
70
|
+
*
|
|
71
|
+
* Static-first. The eight Remotion animations this character was rigged for
|
|
72
|
+
* stay in the site that renders video; a heavy, video-oriented peer has no
|
|
73
|
+
* business in a component library, so what is ported here is the geometry and
|
|
74
|
+
* the poses. Everything else a caller wants — a look that follows the cursor, a
|
|
75
|
+
* blink on a timer of their own — is a `expression` prop away, driven by their
|
|
76
|
+
* own runtime.
|
|
77
|
+
*
|
|
78
|
+
* Static markup — no `"use client"`.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* <Plussie size="lg" title="Plussie" />
|
|
82
|
+
* @example
|
|
83
|
+
* <Plussie expression="wink" tone="accent" />
|
|
84
|
+
* @example
|
|
85
|
+
* <Plussie size={96} idle />
|
|
86
|
+
*/
|
|
87
|
+
const Plussie = React.forwardRef(function Plussie({ className, size = "md", tone = "inherit", title, expression = "default", idle = false, style, ...elementProps }, ref) {
|
|
88
|
+
const ink = brandInk(tone);
|
|
89
|
+
const height = brandHeight(size);
|
|
90
|
+
const pose = EXPRESSIONS[expression];
|
|
91
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
92
|
+
ref,
|
|
93
|
+
viewBox: `0 0 367 367`,
|
|
94
|
+
fill: "none",
|
|
95
|
+
className: cn("inline-block shrink-0 align-middle", className),
|
|
96
|
+
style: {
|
|
97
|
+
width: height,
|
|
98
|
+
height,
|
|
99
|
+
...style
|
|
100
|
+
},
|
|
101
|
+
...brandLabelling(title),
|
|
102
|
+
...elementProps,
|
|
103
|
+
children: [
|
|
104
|
+
title === void 0 ? null : /* @__PURE__ */ jsx("title", { children: title }),
|
|
105
|
+
/* @__PURE__ */ jsx("circle", {
|
|
106
|
+
cx: MARK_CIRCLE.cx,
|
|
107
|
+
cy: MARK_CIRCLE.cy,
|
|
108
|
+
r: MARK_CIRCLE.r,
|
|
109
|
+
fill: ink.fill
|
|
110
|
+
}),
|
|
111
|
+
MARK_EYES.map((eye) => /* @__PURE__ */ jsx("g", {
|
|
112
|
+
transform: eyeTransform(pose[eye.side], eye),
|
|
113
|
+
children: /* @__PURE__ */ jsx("g", {
|
|
114
|
+
className: idle ? IDLE_CLASS : void 0,
|
|
115
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
116
|
+
d: eye.d,
|
|
117
|
+
fill: ink.knockout
|
|
118
|
+
})
|
|
119
|
+
})
|
|
120
|
+
}, eye.side))
|
|
121
|
+
]
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
//#endregion
|
|
125
|
+
export { Plussie };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
//#region src/charts/_token.ts
|
|
2
|
+
/**
|
|
3
|
+
* Two ways to read a colour token, and the rule for when each one is right.
|
|
4
|
+
*
|
|
5
|
+
* A chart wants both. Anything the browser paints — a stroke, a fill, a CSS
|
|
6
|
+
* custom property — should carry the **reference** (`var(--cue-accent)`), because
|
|
7
|
+
* a reference re-resolves for free when the theme, the mode or a nested density
|
|
8
|
+
* island changes, with no React involved. Anything JavaScript has to *compute
|
|
9
|
+
* with* — deriving a ramp in oklch, handing a colour to a canvas — needs the
|
|
10
|
+
* **resolved** value, because `var()` is not a colour to anything but CSS.
|
|
11
|
+
*
|
|
12
|
+
* The resolution is deliberately a function call rather than a cached constant:
|
|
13
|
+
* called during render it sees the theme that is stamped right now, which is what
|
|
14
|
+
* makes every palette in this group theme-reactive.
|
|
15
|
+
*
|
|
16
|
+
* @internal Not part of the public API.
|
|
17
|
+
*/
|
|
18
|
+
/** The CSS-level reference to a semantic token: `accent` → `var(--cue-accent)`. */
|
|
19
|
+
function tokenRef(name) {
|
|
20
|
+
return `var(--cue-${name})`;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The token's computed value in the theme that applies at `element`.
|
|
24
|
+
*
|
|
25
|
+
* @param name - Token name without the `--cue-` prefix.
|
|
26
|
+
* @param element - Where to resolve. Defaults to the document element, which is
|
|
27
|
+
* where `ThemeProvider` stamps by default; pass a node inside a portal or a
|
|
28
|
+
* nested theme to read that scope instead.
|
|
29
|
+
* @returns The trimmed value, or `null` when there is no DOM (server render) or
|
|
30
|
+
* nothing has defined the token.
|
|
31
|
+
*/
|
|
32
|
+
function resolveToken(name, element) {
|
|
33
|
+
if (typeof window === "undefined" || typeof document === "undefined") return null;
|
|
34
|
+
const target = element ?? document.documentElement;
|
|
35
|
+
const value = window.getComputedStyle(target).getPropertyValue(`--cue-${name}`).trim();
|
|
36
|
+
return value === "" ? null : value;
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { resolveToken, tokenRef };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/charts/container.d.ts
|
|
3
|
+
interface ChartContainerProps extends Omit<React.ComponentPropsWithoutRef<"div">, "children"> {
|
|
4
|
+
/** The chart. Exactly one element — recharts' container takes a single child. */
|
|
5
|
+
children: React.ReactElement;
|
|
6
|
+
/** Plot height in px at the 16px root. Defaults to `200`. Ignored when `aspect` is set. */
|
|
7
|
+
height?: number;
|
|
8
|
+
/** Width-to-height ratio, letting the plot size itself from its column instead. */
|
|
9
|
+
aspect?: number;
|
|
10
|
+
/**
|
|
11
|
+
* What the chart shows. Given, the box becomes a named `figure`; a shape is
|
|
12
|
+
* not self-describing, so name the series.
|
|
13
|
+
*/
|
|
14
|
+
label?: string;
|
|
15
|
+
/**
|
|
16
|
+
* The series palette, published as `--chart-1`…`--chart-N`. Defaults to
|
|
17
|
+
* {@link CHART_TONES}.
|
|
18
|
+
*/
|
|
19
|
+
tones?: readonly string[];
|
|
20
|
+
/** Throttle for the resize observer, in ms. Defaults to none. */
|
|
21
|
+
debounce?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The box every chart in this system sits in.
|
|
25
|
+
*
|
|
26
|
+
* It does three things, and deliberately not a fourth:
|
|
27
|
+
*
|
|
28
|
+
* 1. **It publishes the palette as custom properties.** `--chart-1`…`--chart-N`
|
|
29
|
+
* carry `var(--cue-accent)`, `var(--cue-info)` and the rest *by reference*,
|
|
30
|
+
* so a series written `<Line stroke={chartToneVar(0)} />` re-hues on a theme
|
|
31
|
+
* switch with no re-render, no context and no effect. Resolving the palette in
|
|
32
|
+
* JavaScript would have made the chart a subscriber to the theme; this way it
|
|
33
|
+
* is simply painted in it.
|
|
34
|
+
* 2. **It re-inks recharts' chrome.** {@link chartChromeClasses} restyles the
|
|
35
|
+
* grid, axes and ticks from tokens through the SVG's own class names, so
|
|
36
|
+
* every axis is themed whether or not somebody remembered to configure it.
|
|
37
|
+
* 3. **It measures.** `ResponsiveContainer` is the only reliable way to give a
|
|
38
|
+
* recharts chart a pixel size, and it needs a box with a real height — which
|
|
39
|
+
* is what `height` (or `aspect`) sets, in `rem` so the plot scales with the
|
|
40
|
+
* root font size like everything else.
|
|
41
|
+
*
|
|
42
|
+
* What it does not do is wrap or re-export recharts' chart components. A chart is
|
|
43
|
+
* a composition, and hiding `LineChart`/`XAxis`/`Tooltip` behind a props object
|
|
44
|
+
* would mean re-implementing a charting library's API surface one prop at a time.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* <ChartContainer label="Requests per minute" height={220}>
|
|
48
|
+
* <LineChart data={series}>
|
|
49
|
+
* <CartesianGrid vertical={false} />
|
|
50
|
+
* <XAxis dataKey="t" />
|
|
51
|
+
* <Tooltip cursor={chartTooltipCursor} content={<ChartTooltipContent />} />
|
|
52
|
+
* <Line dataKey="requests" stroke={chartToneVar(0)} dot={false} />
|
|
53
|
+
* </LineChart>
|
|
54
|
+
* </ChartContainer>
|
|
55
|
+
*/
|
|
56
|
+
declare const ChartContainer: React.ForwardRefExoticComponent<ChartContainerProps & React.RefAttributes<HTMLDivElement>>;
|
|
57
|
+
//#endregion
|
|
58
|
+
export { ChartContainer, ChartContainerProps };
|