@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,143 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
//#region src/forms/_glyphs.tsx
|
|
4
|
+
/**
|
|
5
|
+
* Shared form glyphs.
|
|
6
|
+
*
|
|
7
|
+
* Drawn inline rather than pulled from `lucide-react`, for the same reason as
|
|
8
|
+
* `chrome/_glyphs.tsx`, `layout/_glyphs.tsx` and `overlays/_glyphs.tsx`: a caret
|
|
9
|
+
* on a combobox and a tick on a chosen row should not put an icon dependency on
|
|
10
|
+
* the render path of every form, and hand-set strokes stay hairline-thin at the
|
|
11
|
+
* 8–12px sizes console density asks for. `currentColor` everywhere — the tone
|
|
12
|
+
* comes from the parent.
|
|
13
|
+
*
|
|
14
|
+
* @internal Not part of the public API.
|
|
15
|
+
*/
|
|
16
|
+
/** A caret pair — one glyph that says "this opens downward and closes upward". */
|
|
17
|
+
function CaretGlyph(props) {
|
|
18
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
19
|
+
viewBox: "0 0 16 16",
|
|
20
|
+
fill: "currentColor",
|
|
21
|
+
"aria-hidden": "true",
|
|
22
|
+
...props,
|
|
23
|
+
children: /* @__PURE__ */ jsx("path", { d: "M11 10H5l3 3.5zm0-4H5l3-3.5z" })
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/** The tick marking a chosen row. */
|
|
27
|
+
function TickGlyph(props) {
|
|
28
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
29
|
+
viewBox: "0 0 16 16",
|
|
30
|
+
fill: "none",
|
|
31
|
+
stroke: "currentColor",
|
|
32
|
+
strokeWidth: "2.5",
|
|
33
|
+
strokeLinecap: "round",
|
|
34
|
+
strokeLinejoin: "round",
|
|
35
|
+
"aria-hidden": "true",
|
|
36
|
+
...props,
|
|
37
|
+
children: /* @__PURE__ */ jsx("path", { d: "m3 8.5 3.5 3.5L13 4.5" })
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/** A cross, not an "x" glyph, so it stays square at 8px. Clears and removes. */
|
|
41
|
+
function CrossGlyph(props) {
|
|
42
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
43
|
+
viewBox: "0 0 16 16",
|
|
44
|
+
fill: "none",
|
|
45
|
+
stroke: "currentColor",
|
|
46
|
+
strokeWidth: "1.75",
|
|
47
|
+
strokeLinecap: "round",
|
|
48
|
+
"aria-hidden": "true",
|
|
49
|
+
...props,
|
|
50
|
+
children: /* @__PURE__ */ jsx("path", { d: "m4 4 8 8M12 4l-8 8" })
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/** A magnifier at hairline weight, sized to the density icon token by the caller. */
|
|
54
|
+
function SearchGlyph(props) {
|
|
55
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
56
|
+
viewBox: "0 0 16 16",
|
|
57
|
+
fill: "none",
|
|
58
|
+
stroke: "currentColor",
|
|
59
|
+
strokeWidth: "1.75",
|
|
60
|
+
strokeLinecap: "round",
|
|
61
|
+
"aria-hidden": "true",
|
|
62
|
+
...props,
|
|
63
|
+
children: [/* @__PURE__ */ jsx("circle", {
|
|
64
|
+
cx: "7",
|
|
65
|
+
cy: "7",
|
|
66
|
+
r: "4.5"
|
|
67
|
+
}), /* @__PURE__ */ jsx("path", { d: "m10.5 10.5 3 3" })]
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/** An open eye: the value is currently legible. */
|
|
71
|
+
function EyeGlyph(props) {
|
|
72
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
73
|
+
viewBox: "0 0 16 16",
|
|
74
|
+
fill: "none",
|
|
75
|
+
stroke: "currentColor",
|
|
76
|
+
strokeWidth: "1.5",
|
|
77
|
+
strokeLinecap: "round",
|
|
78
|
+
strokeLinejoin: "round",
|
|
79
|
+
"aria-hidden": "true",
|
|
80
|
+
...props,
|
|
81
|
+
children: [/* @__PURE__ */ jsx("path", { d: "M1.5 8S4 3.5 8 3.5 14.5 8 14.5 8 12 12.5 8 12.5 1.5 8 1.5 8Z" }), /* @__PURE__ */ jsx("circle", {
|
|
82
|
+
cx: "8",
|
|
83
|
+
cy: "8",
|
|
84
|
+
r: "2"
|
|
85
|
+
})]
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/** The same eye with a stroke through it: the value is masked. */
|
|
89
|
+
function EyeOffGlyph(props) {
|
|
90
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
91
|
+
viewBox: "0 0 16 16",
|
|
92
|
+
fill: "none",
|
|
93
|
+
stroke: "currentColor",
|
|
94
|
+
strokeWidth: "1.5",
|
|
95
|
+
strokeLinecap: "round",
|
|
96
|
+
strokeLinejoin: "round",
|
|
97
|
+
"aria-hidden": "true",
|
|
98
|
+
...props,
|
|
99
|
+
children: [
|
|
100
|
+
/* @__PURE__ */ jsx("path", { d: "M6.2 4A6.5 6.5 0 0 1 8 3.5C12 3.5 14.5 8 14.5 8a12 12 0 0 1-2.3 2.7M9.8 12a6.5 6.5 0 0 1-1.8.5C4 12.5 1.5 8 1.5 8A12 12 0 0 1 4.4 4.8" }),
|
|
101
|
+
/* @__PURE__ */ jsx("path", { d: "M6.6 6.6a2 2 0 0 0 2.8 2.8" }),
|
|
102
|
+
/* @__PURE__ */ jsx("path", { d: "m2.5 2.5 11 11" })
|
|
103
|
+
]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* A filled five-point star, the rating mark. Solid rather than outlined: at 12px
|
|
108
|
+
* an outlined star is a smudge, and the difference between "on" and "off" has to
|
|
109
|
+
* survive a glance.
|
|
110
|
+
*/
|
|
111
|
+
function StarGlyph(props) {
|
|
112
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
113
|
+
viewBox: "0 0 16 16",
|
|
114
|
+
fill: "currentColor",
|
|
115
|
+
"aria-hidden": "true",
|
|
116
|
+
...props,
|
|
117
|
+
children: /* @__PURE__ */ jsx("path", { d: "m8 1.6 1.9 4 4.4.6-3.2 3.1.8 4.3L8 11.6l-3.9 2 .8-4.3L1.7 6.2l4.4-.6z" })
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* `{x}` — the mathematician's variable, the mark on an environment-variable
|
|
122
|
+
* reference. Reads as "a name that stands for something else", which is exactly
|
|
123
|
+
* what `env(NAME)` is.
|
|
124
|
+
*/
|
|
125
|
+
function VariableGlyph(props) {
|
|
126
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
127
|
+
viewBox: "0 0 16 16",
|
|
128
|
+
fill: "none",
|
|
129
|
+
stroke: "currentColor",
|
|
130
|
+
strokeWidth: "1.5",
|
|
131
|
+
strokeLinecap: "round",
|
|
132
|
+
strokeLinejoin: "round",
|
|
133
|
+
"aria-hidden": "true",
|
|
134
|
+
...props,
|
|
135
|
+
children: [
|
|
136
|
+
/* @__PURE__ */ jsx("path", { d: "M5.5 2.5A2.5 2.5 0 0 0 4 4.8v1.4L2.5 8 4 9.8v1.4a2.5 2.5 0 0 0 1.5 2.3" }),
|
|
137
|
+
/* @__PURE__ */ jsx("path", { d: "M10.5 2.5A2.5 2.5 0 0 1 12 4.8v1.4L13.5 8 12 9.8v1.4a2.5 2.5 0 0 1-1.5 2.3" }),
|
|
138
|
+
/* @__PURE__ */ jsx("path", { d: "m6.8 6.4 2.4 3.2m0-3.2-2.4 3.2" })
|
|
139
|
+
]
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
//#endregion
|
|
143
|
+
export { CaretGlyph, CrossGlyph, EyeGlyph, EyeOffGlyph, SearchGlyph, StarGlyph, TickGlyph, VariableGlyph };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses } from "../overlays/_surface.js";
|
|
2
|
+
//#region src/forms/_listbox.ts
|
|
3
|
+
/**
|
|
4
|
+
* The shared skin of every filterable list in this group — `Combobox`,
|
|
5
|
+
* `Autocomplete`, `MultiSelect`, `TagsInput`.
|
|
6
|
+
*
|
|
7
|
+
* All four are the same shape: a control-chassis input that opens a portalled
|
|
8
|
+
* listbox. Encoding the surface once is what keeps them from drifting apart, and
|
|
9
|
+
* it borrows the overlay language from `overlays/_surface.ts` rather than
|
|
10
|
+
* restating it, so "what a floating surface looks like" stays a single decision.
|
|
11
|
+
*
|
|
12
|
+
* @internal Not part of the public API.
|
|
13
|
+
*/
|
|
14
|
+
/** The positioner: a layout box owning the stacking context, nothing painted. */
|
|
15
|
+
const listboxPositionerClasses = overlayPositionerClasses;
|
|
16
|
+
/**
|
|
17
|
+
* The popup: overlay surface, anchored to the trigger's width, capped at the
|
|
18
|
+
* space the positioner reports so a long list scrolls instead of overflowing the
|
|
19
|
+
* viewport.
|
|
20
|
+
*/
|
|
21
|
+
const listboxPopupClasses = `${overlaySurfaceClasses} ${overlayPopupTransitionClasses} w-(--anchor-width) max-w-(--available-width) overflow-hidden py-(--cue-space-1) outline-none`;
|
|
22
|
+
/** The scroll container inside the popup. */
|
|
23
|
+
const listboxListClasses = "max-h-[min(var(--available-height),18rem)] overflow-y-auto overscroll-contain outline-none";
|
|
24
|
+
/**
|
|
25
|
+
* One row. `data-highlighted` — not `:hover` — carries the tint, so keyboard
|
|
26
|
+
* navigation and the pointer agree on which row is active, and the tint is
|
|
27
|
+
* `accent-soft` rather than a solid fill (the luma defect ruling).
|
|
28
|
+
*/
|
|
29
|
+
const listboxItemClasses = "flex h-control-sm cursor-default items-center gap-(--cue-space-2) px-(--cue-space-3) font-mono text-(length:--cue-text-ui) text-fg-muted outline-none select-none data-[highlighted]:bg-accent-soft data-[highlighted]:text-fg data-[selected]:text-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-40";
|
|
30
|
+
/** The "nothing matched" line: same rhythm as a row, but muted and unreachable. */
|
|
31
|
+
const listboxEmptyClasses = "flex h-control-sm items-center px-(--cue-space-3) font-mono text-(length:--cue-text-ui) text-fg-subtle select-none";
|
|
32
|
+
/** The tick gutter, always reserved so labels never jog sideways. */
|
|
33
|
+
const listboxIndicatorClasses = "flex size-icon-sm shrink-0 items-center justify-center";
|
|
34
|
+
/**
|
|
35
|
+
* A multi-value control grows with its chips, so it takes the chassis' fill,
|
|
36
|
+
* rim and radius but sets its own vertical rhythm — a fixed `h-control-*` would
|
|
37
|
+
* clip the second row of chips.
|
|
38
|
+
*/
|
|
39
|
+
const chipFieldClasses = "flex w-full cursor-text flex-wrap items-center gap-(--cue-space-1) py-(--cue-space-1)";
|
|
40
|
+
/**
|
|
41
|
+
* A value chip inside the field: the `h-chip` token and the tinted-neutral
|
|
42
|
+
* colours of `chipVariants`, but *not* that recipe.
|
|
43
|
+
*
|
|
44
|
+
* `Chip` is uppercase and wide-tracked because it labels a *state* — `ONLINE`,
|
|
45
|
+
* `FAULT`. A chip here holds user data (a truss name, a tag), and uppercasing
|
|
46
|
+
* user data throws away information the user typed on purpose. Same shape, same
|
|
47
|
+
* palette, ordinary casing.
|
|
48
|
+
*/
|
|
49
|
+
const valueChipClasses = "group/chip inline-flex h-chip max-w-full min-w-0 cursor-default items-center gap-(--cue-space-1) rounded-(--radius-control) border border-border bg-surface-2 py-0 pr-(--cue-space-1) pl-(--cue-space-2) font-mono text-(length:--cue-text-label) leading-none text-fg-muted outline-none select-none data-[highlighted]:border-accent/60 data-[highlighted]:text-fg focus-within:border-accent/60 focus-within:text-fg";
|
|
50
|
+
/** The chip's remove affordance. */
|
|
51
|
+
const chipRemoveClasses = "flex size-icon-sm shrink-0 cursor-pointer items-center justify-center rounded-(--radius-control) border-0 bg-transparent p-0 text-fg-subtle outline-none transition-colors hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-1 focus-visible:outline-accent";
|
|
52
|
+
/** The trailing caret / clear affordance beside a filterable input. */
|
|
53
|
+
const listboxAdornmentClasses = "flex shrink-0 cursor-pointer items-center justify-center rounded-(--radius-control) border-0 bg-transparent p-0 text-fg-subtle outline-none transition-colors hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-1 focus-visible:outline-accent";
|
|
54
|
+
//#endregion
|
|
55
|
+
export { chipFieldClasses, chipRemoveClasses, listboxAdornmentClasses, listboxEmptyClasses, listboxIndicatorClasses, listboxItemClasses, listboxListClasses, listboxPopupClasses, listboxPositionerClasses, valueChipClasses };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { FormControlSize } from "./_chassis.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/forms/autocomplete.d.ts
|
|
4
|
+
interface AutocompleteProps {
|
|
5
|
+
/** The suggestions, filtered against what is typed. */
|
|
6
|
+
items: readonly string[];
|
|
7
|
+
/** Current text. Use with `onValueChange` for a controlled field. */
|
|
8
|
+
value?: string;
|
|
9
|
+
/** Initial text for an uncontrolled field. */
|
|
10
|
+
defaultValue?: string;
|
|
11
|
+
/** Fired on every keystroke and when a suggestion is picked. */
|
|
12
|
+
onValueChange?: (value: string) => void;
|
|
13
|
+
/** Shown while the field is empty. */
|
|
14
|
+
placeholder?: string;
|
|
15
|
+
/** Shown in place of the list when the query matches nothing. */
|
|
16
|
+
emptyMessage?: React.ReactNode;
|
|
17
|
+
/** Rung of the control ladder. Defaults to `"md"`. */
|
|
18
|
+
size?: FormControlSize;
|
|
19
|
+
/** Highlight the first match automatically so Enter accepts it. */
|
|
20
|
+
autoHighlight?: boolean;
|
|
21
|
+
/** Prevent opening and grey the field out. */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Require text before the owning form submits. */
|
|
24
|
+
required?: boolean;
|
|
25
|
+
/** Name for the input, when the field is part of a form. */
|
|
26
|
+
name?: string;
|
|
27
|
+
/** Id forwarded to the input. */
|
|
28
|
+
id?: string;
|
|
29
|
+
/** Accessible name for the input, when no {@link FieldLabel} names it. */
|
|
30
|
+
"aria-label"?: string;
|
|
31
|
+
/** Id of the element naming the input. */
|
|
32
|
+
"aria-labelledby"?: string;
|
|
33
|
+
/** Accessible name for the clear button. Defaults to `"Clear"`. */
|
|
34
|
+
clearLabel?: string;
|
|
35
|
+
/** Extra classes for the field. */
|
|
36
|
+
className?: string;
|
|
37
|
+
/** Extra classes for the popup surface. */
|
|
38
|
+
popupClassName?: string;
|
|
39
|
+
/** Distance in px between the field and the popup. Defaults to `4`. */
|
|
40
|
+
sideOffset?: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* A text field that suggests as you type — and accepts what you typed anyway.
|
|
44
|
+
*
|
|
45
|
+
* The counterpart to {@link Combobox}: there the list *is* the set of legal
|
|
46
|
+
* values, here it is only a shortcut. Anything the user types survives blur, so
|
|
47
|
+
* this is the right control for a name, a search term or a host — anywhere the
|
|
48
|
+
* suggestions are a convenience rather than a constraint.
|
|
49
|
+
*
|
|
50
|
+
* Suggestions are plain strings for the same reason: an autocomplete has no
|
|
51
|
+
* separate value/label axis, because the label *is* the value.
|
|
52
|
+
*
|
|
53
|
+
* The popup is portalled through {@link useCuePortalProps}, so it carries the
|
|
54
|
+
* caller's `data-theme` / `data-density` / `data-mode`.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* <Autocomplete aria-label="Cue name" items={recentCues} onValueChange={setName} />
|
|
58
|
+
*/
|
|
59
|
+
declare const Autocomplete: React.ForwardRefExoticComponent<AutocompleteProps & React.RefAttributes<HTMLInputElement>>;
|
|
60
|
+
//#endregion
|
|
61
|
+
export { Autocomplete, AutocompleteProps };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { bareControlClasses, controlGroupFocusClasses, controlVariants } from "./_chassis.js";
|
|
4
|
+
import { useCuePortalProps } from "../system/portal.js";
|
|
5
|
+
import { CrossGlyph } from "./_glyphs.js";
|
|
6
|
+
import { listboxAdornmentClasses, listboxEmptyClasses, listboxItemClasses, listboxListClasses, listboxPopupClasses, listboxPositionerClasses } from "./_listbox.js";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { Autocomplete } from "@base-ui/react/autocomplete";
|
|
10
|
+
//#region src/forms/autocomplete.tsx
|
|
11
|
+
/**
|
|
12
|
+
* A text field that suggests as you type — and accepts what you typed anyway.
|
|
13
|
+
*
|
|
14
|
+
* The counterpart to {@link Combobox}: there the list *is* the set of legal
|
|
15
|
+
* values, here it is only a shortcut. Anything the user types survives blur, so
|
|
16
|
+
* this is the right control for a name, a search term or a host — anywhere the
|
|
17
|
+
* suggestions are a convenience rather than a constraint.
|
|
18
|
+
*
|
|
19
|
+
* Suggestions are plain strings for the same reason: an autocomplete has no
|
|
20
|
+
* separate value/label axis, because the label *is* the value.
|
|
21
|
+
*
|
|
22
|
+
* The popup is portalled through {@link useCuePortalProps}, so it carries the
|
|
23
|
+
* caller's `data-theme` / `data-density` / `data-mode`.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* <Autocomplete aria-label="Cue name" items={recentCues} onValueChange={setName} />
|
|
27
|
+
*/
|
|
28
|
+
const Autocomplete$1 = React.forwardRef(function Autocomplete$2({ items, value, defaultValue, onValueChange, placeholder, emptyMessage = "No matches", size, autoHighlight = false, disabled, required, name, id, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, clearLabel = "Clear", className, popupClassName, sideOffset = 4 }, ref) {
|
|
29
|
+
const portalProps = useCuePortalProps();
|
|
30
|
+
const handleValueChange = React.useCallback((next) => {
|
|
31
|
+
onValueChange?.(next);
|
|
32
|
+
}, [onValueChange]);
|
|
33
|
+
return /* @__PURE__ */ jsxs(Autocomplete.Root, {
|
|
34
|
+
items,
|
|
35
|
+
value,
|
|
36
|
+
defaultValue,
|
|
37
|
+
onValueChange: onValueChange === void 0 ? void 0 : handleValueChange,
|
|
38
|
+
autoHighlight,
|
|
39
|
+
disabled,
|
|
40
|
+
required,
|
|
41
|
+
name,
|
|
42
|
+
children: [/* @__PURE__ */ jsxs(Autocomplete.InputGroup, {
|
|
43
|
+
"data-slot": "autocomplete-group",
|
|
44
|
+
className: cn(controlVariants({ size }), "flex items-center gap-(--cue-space-2)", controlGroupFocusClasses, className),
|
|
45
|
+
children: [/* @__PURE__ */ jsx(Autocomplete.Input, {
|
|
46
|
+
ref,
|
|
47
|
+
id,
|
|
48
|
+
"data-slot": "autocomplete-input",
|
|
49
|
+
placeholder,
|
|
50
|
+
"aria-label": ariaLabel,
|
|
51
|
+
"aria-labelledby": ariaLabelledBy,
|
|
52
|
+
className: cn(bareControlClasses, "truncate")
|
|
53
|
+
}), /* @__PURE__ */ jsx(Autocomplete.Clear, {
|
|
54
|
+
"aria-label": clearLabel,
|
|
55
|
+
"data-slot": "autocomplete-clear",
|
|
56
|
+
className: listboxAdornmentClasses,
|
|
57
|
+
children: /* @__PURE__ */ jsx(CrossGlyph, { className: "size-icon-sm" })
|
|
58
|
+
})]
|
|
59
|
+
}), /* @__PURE__ */ jsx(Autocomplete.Portal, {
|
|
60
|
+
...portalProps,
|
|
61
|
+
children: /* @__PURE__ */ jsx(Autocomplete.Positioner, {
|
|
62
|
+
className: listboxPositionerClasses,
|
|
63
|
+
sideOffset,
|
|
64
|
+
children: /* @__PURE__ */ jsxs(Autocomplete.Popup, {
|
|
65
|
+
"data-slot": "autocomplete-popup",
|
|
66
|
+
className: cn(listboxPopupClasses, popupClassName),
|
|
67
|
+
children: [/* @__PURE__ */ jsx(Autocomplete.Empty, {
|
|
68
|
+
className: listboxEmptyClasses,
|
|
69
|
+
children: emptyMessage
|
|
70
|
+
}), /* @__PURE__ */ jsx(Autocomplete.List, {
|
|
71
|
+
className: listboxListClasses,
|
|
72
|
+
children: (item) => /* @__PURE__ */ jsx(Autocomplete.Item, {
|
|
73
|
+
value: item,
|
|
74
|
+
"data-slot": "autocomplete-item",
|
|
75
|
+
className: listboxItemClasses,
|
|
76
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
77
|
+
className: "truncate",
|
|
78
|
+
children: item
|
|
79
|
+
})
|
|
80
|
+
}, item)
|
|
81
|
+
})]
|
|
82
|
+
})
|
|
83
|
+
})
|
|
84
|
+
})]
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
//#endregion
|
|
88
|
+
export { Autocomplete$1 as Autocomplete };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/forms/button-group.d.ts
|
|
3
|
+
/** Which way a {@link ButtonGroup} runs. */
|
|
4
|
+
type ButtonGroupOrientation = "horizontal" | "vertical";
|
|
5
|
+
interface ButtonGroupProps extends React.ComponentPropsWithoutRef<"div"> {
|
|
6
|
+
/** Which way the children run. Defaults to `"horizontal"`. */
|
|
7
|
+
orientation?: ButtonGroupOrientation;
|
|
8
|
+
/**
|
|
9
|
+
* Join the children into one control (shared rims, outer corners only).
|
|
10
|
+
* Defaults to `true`; pass `false` for a merely-adjacent row of buttons that
|
|
11
|
+
* should still be announced as one group.
|
|
12
|
+
*/
|
|
13
|
+
attached?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Accessible name for the cluster. A group of buttons with no name is a group
|
|
16
|
+
* of buttons; with one it is "Blend mode".
|
|
17
|
+
*/
|
|
18
|
+
"aria-label"?: string;
|
|
19
|
+
/** The buttons — {@link Button}, {@link IconButton} or anything button-shaped. */
|
|
20
|
+
children: React.ReactNode;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Several related actions drawn as one control.
|
|
24
|
+
*
|
|
25
|
+
* Purely presentational: it owns no state and imposes no roving focus, because
|
|
26
|
+
* its members are *actions*, each independently reachable by Tab. When the
|
|
27
|
+
* members represent a **choice** rather than actions, use {@link ToggleGroup}
|
|
28
|
+
* (several or none) or `SegmentedControl` (exactly one) — those carry the
|
|
29
|
+
* pressed-state ARIA a group of plain buttons must not fake.
|
|
30
|
+
*
|
|
31
|
+
* The children keep their own variants, so a `secondary`/`primary` pair reads as
|
|
32
|
+
* "and here is the one you probably want" without any extra API.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* <ButtonGroup aria-label="Blend mode">
|
|
36
|
+
* <Button>HTP</Button>
|
|
37
|
+
* <Button variant="primary">LTP</Button>
|
|
38
|
+
* </ButtonGroup>
|
|
39
|
+
* @example
|
|
40
|
+
* <ButtonGroup aria-label="Zoom" orientation="vertical">
|
|
41
|
+
* <IconButton aria-label="Zoom in" icon={Plus} variant="outline" />
|
|
42
|
+
* <IconButton aria-label="Zoom out" icon={Minus} variant="outline" />
|
|
43
|
+
* </ButtonGroup>
|
|
44
|
+
*/
|
|
45
|
+
declare const ButtonGroup: React.ForwardRefExoticComponent<ButtonGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { ButtonGroup, ButtonGroupOrientation, ButtonGroupProps };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/forms/button-group.tsx
|
|
6
|
+
/**
|
|
7
|
+
* The join: neighbours overlap by exactly one border width so the shared rim is
|
|
8
|
+
* a single hairline rather than two stacked ones, and only the outer corners
|
|
9
|
+
* keep their radius. `z-10` on hover and focus lifts the active child above its
|
|
10
|
+
* neighbours' borders — without it the focus ring is clipped on the joined side,
|
|
11
|
+
* which is the defect that makes most hand-rolled button groups fail WCAG 2.4.7.
|
|
12
|
+
*/
|
|
13
|
+
const JOIN = {
|
|
14
|
+
horizontal: "[&>*]:relative [&>*:not(:first-child)]:-ml-px [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:rounded-r-none [&>*:hover]:z-10 [&>*:focus-visible]:z-10 [&>*:focus-within]:z-10",
|
|
15
|
+
vertical: "[&>*]:relative [&>*:not(:first-child)]:-mt-px [&>*:not(:first-child)]:rounded-t-none [&>*:not(:last-child)]:rounded-b-none [&>*:hover]:z-10 [&>*:focus-visible]:z-10 [&>*:focus-within]:z-10"
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Several related actions drawn as one control.
|
|
19
|
+
*
|
|
20
|
+
* Purely presentational: it owns no state and imposes no roving focus, because
|
|
21
|
+
* its members are *actions*, each independently reachable by Tab. When the
|
|
22
|
+
* members represent a **choice** rather than actions, use {@link ToggleGroup}
|
|
23
|
+
* (several or none) or `SegmentedControl` (exactly one) — those carry the
|
|
24
|
+
* pressed-state ARIA a group of plain buttons must not fake.
|
|
25
|
+
*
|
|
26
|
+
* The children keep their own variants, so a `secondary`/`primary` pair reads as
|
|
27
|
+
* "and here is the one you probably want" without any extra API.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* <ButtonGroup aria-label="Blend mode">
|
|
31
|
+
* <Button>HTP</Button>
|
|
32
|
+
* <Button variant="primary">LTP</Button>
|
|
33
|
+
* </ButtonGroup>
|
|
34
|
+
* @example
|
|
35
|
+
* <ButtonGroup aria-label="Zoom" orientation="vertical">
|
|
36
|
+
* <IconButton aria-label="Zoom in" icon={Plus} variant="outline" />
|
|
37
|
+
* <IconButton aria-label="Zoom out" icon={Minus} variant="outline" />
|
|
38
|
+
* </ButtonGroup>
|
|
39
|
+
*/
|
|
40
|
+
const ButtonGroup = React.forwardRef(function ButtonGroup({ className, orientation = "horizontal", attached = true, children, ...elementProps }, ref) {
|
|
41
|
+
return /* @__PURE__ */ jsx("div", {
|
|
42
|
+
ref,
|
|
43
|
+
role: "group",
|
|
44
|
+
"data-slot": "button-group",
|
|
45
|
+
"data-orientation": orientation,
|
|
46
|
+
className: cn("inline-flex", orientation === "vertical" ? "flex-col items-stretch" : "flex-row items-center", attached ? JOIN[orientation] : "gap-(--cue-space-2)", className),
|
|
47
|
+
...elementProps,
|
|
48
|
+
children
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//#endregion
|
|
52
|
+
export { ButtonGroup };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Checkbox } from "@base-ui/react/checkbox";
|
|
3
|
+
import { CheckboxGroup } from "@base-ui/react/checkbox-group";
|
|
4
|
+
//#region src/forms/checkbox.d.ts
|
|
5
|
+
interface CheckboxProps extends Omit<Checkbox.Root.Props, "className"> {
|
|
6
|
+
/** Extra classes, merged over the box defaults. */
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Inline label rendered beside the box and wrapped with it in a `<label>`, so
|
|
10
|
+
* the text is both the accessible name and part of the hit target. Omit it and
|
|
11
|
+
* pass `aria-label`, or let a {@link Field} name the control instead.
|
|
12
|
+
*/
|
|
13
|
+
label?: React.ReactNode;
|
|
14
|
+
/** Rung of the density icon ladder for the box. Defaults to `"md"`. */
|
|
15
|
+
size?: "sm" | "md";
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A square, two- or three-state checkbox.
|
|
19
|
+
*
|
|
20
|
+
* Sized from the density *icon* tokens rather than the control ladder: a
|
|
21
|
+
* checkbox is a glyph, not a control chassis, and at ultra-compact density a
|
|
22
|
+
* control-height box would dwarf the row it sits in. Checked fills with the
|
|
23
|
+
* accent and inks the tick in `accent-fg`, so it reads on every theme without
|
|
24
|
+
* per-theme branching.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* <Checkbox label="Enable notifications" defaultChecked />
|
|
28
|
+
* @example
|
|
29
|
+
* <Checkbox aria-label="Select row" size="sm" checked={selected} onCheckedChange={setSelected} />
|
|
30
|
+
*/
|
|
31
|
+
declare const Checkbox$1: React.ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
32
|
+
interface CheckboxGroupProps extends Omit<CheckboxGroup.Props, "className"> {
|
|
33
|
+
/** Extra classes, merged over the vertical stack defaults. */
|
|
34
|
+
className?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Shared state for a set of {@link Checkbox}es: one `value` array in, one out.
|
|
38
|
+
*
|
|
39
|
+
* Give it an accessible name (`aria-label`, or a {@link FieldLabel} inside a
|
|
40
|
+
* {@link Field}) — a group of checkboxes with no name is a list of unrelated
|
|
41
|
+
* toggles as far as a screen reader is concerned.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* <CheckboxGroup aria-label="Attributes" value={attrs} onValueChange={setAttrs}>
|
|
45
|
+
* <Checkbox value="pan" label="Pan" />
|
|
46
|
+
* <Checkbox value="tilt" label="Tilt" />
|
|
47
|
+
* </CheckboxGroup>
|
|
48
|
+
*/
|
|
49
|
+
declare const CheckboxGroup$1: React.ForwardRefExoticComponent<Omit<CheckboxGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
50
|
+
//#endregion
|
|
51
|
+
export { Checkbox$1 as Checkbox, CheckboxGroup$1 as CheckboxGroup, CheckboxGroupProps, CheckboxProps };
|
|
@@ -0,0 +1,98 @@
|
|
|
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 { Checkbox } from "@base-ui/react/checkbox";
|
|
6
|
+
import { CheckboxGroup } from "@base-ui/react/checkbox-group";
|
|
7
|
+
//#region src/forms/checkbox.tsx
|
|
8
|
+
/** A hairline tick, drawn at the size of the box rather than a fixed pixel grid. */
|
|
9
|
+
function CheckGlyph(props) {
|
|
10
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
11
|
+
viewBox: "0 0 16 16",
|
|
12
|
+
fill: "none",
|
|
13
|
+
stroke: "currentColor",
|
|
14
|
+
strokeWidth: "2.5",
|
|
15
|
+
strokeLinecap: "round",
|
|
16
|
+
strokeLinejoin: "round",
|
|
17
|
+
"aria-hidden": "true",
|
|
18
|
+
...props,
|
|
19
|
+
children: /* @__PURE__ */ jsx("path", { d: "m3 8.5 3.5 3.5L13 4.5" })
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/** A dash for the indeterminate ("some children checked") state. */
|
|
23
|
+
function DashGlyph(props) {
|
|
24
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
25
|
+
viewBox: "0 0 16 16",
|
|
26
|
+
fill: "none",
|
|
27
|
+
stroke: "currentColor",
|
|
28
|
+
strokeWidth: "2.5",
|
|
29
|
+
strokeLinecap: "round",
|
|
30
|
+
"aria-hidden": "true",
|
|
31
|
+
...props,
|
|
32
|
+
children: /* @__PURE__ */ jsx("path", { d: "M3.5 8h9" })
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A square, two- or three-state checkbox.
|
|
37
|
+
*
|
|
38
|
+
* Sized from the density *icon* tokens rather than the control ladder: a
|
|
39
|
+
* checkbox is a glyph, not a control chassis, and at ultra-compact density a
|
|
40
|
+
* control-height box would dwarf the row it sits in. Checked fills with the
|
|
41
|
+
* accent and inks the tick in `accent-fg`, so it reads on every theme without
|
|
42
|
+
* per-theme branching.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* <Checkbox label="Enable notifications" defaultChecked />
|
|
46
|
+
* @example
|
|
47
|
+
* <Checkbox aria-label="Select row" size="sm" checked={selected} onCheckedChange={setSelected} />
|
|
48
|
+
*/
|
|
49
|
+
const Checkbox$1 = React.forwardRef(function Checkbox$2({ className, label, size = "md", ...elementProps }, ref) {
|
|
50
|
+
const labelId = React.useId();
|
|
51
|
+
const hasLabel = label !== void 0;
|
|
52
|
+
const box = /* @__PURE__ */ jsx(Checkbox.Root, {
|
|
53
|
+
ref,
|
|
54
|
+
"data-slot": "checkbox",
|
|
55
|
+
"aria-labelledby": hasLabel ? labelId : void 0,
|
|
56
|
+
className: cn("flex shrink-0 items-center justify-center rounded-(--radius-control) border border-border bg-sunken text-accent-fg outline-none transition-colors", size === "sm" ? "size-icon-sm" : "size-icon-md", "hover:border-border-strong", "data-[checked]:border-accent data-[checked]:bg-accent", "data-[indeterminate]:border-accent data-[indeterminate]:bg-accent", "focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-1 focus-visible:outline-accent", "data-[disabled]:pointer-events-none data-[disabled]:opacity-40", "data-[invalid]:border-danger", className),
|
|
57
|
+
...elementProps,
|
|
58
|
+
children: /* @__PURE__ */ jsx(Checkbox.Indicator, {
|
|
59
|
+
className: "flex size-full items-center justify-center data-[unchecked]:hidden",
|
|
60
|
+
render: (indicatorProps, state) => /* @__PURE__ */ jsx("span", {
|
|
61
|
+
...indicatorProps,
|
|
62
|
+
children: state.indeterminate ? /* @__PURE__ */ jsx(DashGlyph, { className: "size-full" }) : /* @__PURE__ */ jsx(CheckGlyph, { className: "size-full" })
|
|
63
|
+
})
|
|
64
|
+
})
|
|
65
|
+
});
|
|
66
|
+
if (!hasLabel) return box;
|
|
67
|
+
return /* @__PURE__ */ jsxs("label", {
|
|
68
|
+
"data-slot": "checkbox-label",
|
|
69
|
+
className: "inline-flex cursor-pointer items-center gap-(--cue-space-3) font-mono text-(length:--cue-text-ui) text-fg-muted select-none has-[[data-disabled]]:cursor-default has-[[data-disabled]]:opacity-40",
|
|
70
|
+
children: [box, /* @__PURE__ */ jsx("span", {
|
|
71
|
+
id: labelId,
|
|
72
|
+
children: label
|
|
73
|
+
})]
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
/**
|
|
77
|
+
* Shared state for a set of {@link Checkbox}es: one `value` array in, one out.
|
|
78
|
+
*
|
|
79
|
+
* Give it an accessible name (`aria-label`, or a {@link FieldLabel} inside a
|
|
80
|
+
* {@link Field}) — a group of checkboxes with no name is a list of unrelated
|
|
81
|
+
* toggles as far as a screen reader is concerned.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* <CheckboxGroup aria-label="Attributes" value={attrs} onValueChange={setAttrs}>
|
|
85
|
+
* <Checkbox value="pan" label="Pan" />
|
|
86
|
+
* <Checkbox value="tilt" label="Tilt" />
|
|
87
|
+
* </CheckboxGroup>
|
|
88
|
+
*/
|
|
89
|
+
const CheckboxGroup$1 = React.forwardRef(function CheckboxGroup$2({ className, ...elementProps }, ref) {
|
|
90
|
+
return /* @__PURE__ */ jsx(CheckboxGroup, {
|
|
91
|
+
ref,
|
|
92
|
+
"data-slot": "checkbox-group",
|
|
93
|
+
className: cn("flex flex-col gap-(--cue-space-2)", className),
|
|
94
|
+
...elementProps
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
//#endregion
|
|
98
|
+
export { Checkbox$1 as Checkbox, CheckboxGroup$1 as CheckboxGroup };
|