@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,44 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Slider } from "@base-ui/react/slider";
|
|
3
|
+
//#region src/forms/slider.d.ts
|
|
4
|
+
interface SliderProps extends Omit<Slider.Root.Props, "className" | "onValueCommitted"> {
|
|
5
|
+
/** Extra classes, merged over the root defaults. */
|
|
6
|
+
className?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Fired once when a gesture *ends*: pointer-up after a drag, key-up after a
|
|
9
|
+
* step, or a track press. `onValueChange` fires on every intermediate value —
|
|
10
|
+
* a drag emits dozens — so an undo stack, a network write or a persisted
|
|
11
|
+
* setting must hang off this, not off `onValueChange`, or it will record every
|
|
12
|
+
* frame of the drag as a separate edit.
|
|
13
|
+
*/
|
|
14
|
+
onCommit?: (value: number | number[]) => void;
|
|
15
|
+
/** Visible label above the track. */
|
|
16
|
+
label?: React.ReactNode;
|
|
17
|
+
/** Show the live formatted value opposite the label. */
|
|
18
|
+
showValue?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Accessible name for the thumb. With several thumbs each is suffixed with its
|
|
21
|
+
* 1-based index, so a range slider announces "Window 1" and "Window 2".
|
|
22
|
+
*/
|
|
23
|
+
"aria-label"?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A continuous value control: one thumb, or several for a range.
|
|
27
|
+
*
|
|
28
|
+
* Drawn as a 2px rail rather than the chunky default — at console density a
|
|
29
|
+
* slider is a readout first and a grab target second, and the thumb supplies the
|
|
30
|
+
* affordance. The filled portion uses the theme accent so the slider agrees with
|
|
31
|
+
* every other "this much" indicator on screen.
|
|
32
|
+
*
|
|
33
|
+
* The important part of the API is {@link SliderProps.onCommit}: the
|
|
34
|
+
* change/commit split is what lets a host app coalesce a whole drag into one
|
|
35
|
+
* undo entry instead of hundreds.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* <Slider aria-label="Intensity" value={level} onValueChange={setLevel} onCommit={pushUndo} />
|
|
39
|
+
* @example
|
|
40
|
+
* <Slider label="Window" showValue defaultValue={[20, 60]} />
|
|
41
|
+
*/
|
|
42
|
+
declare const Slider$1: React.ForwardRefExoticComponent<Omit<SliderProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
43
|
+
//#endregion
|
|
44
|
+
export { Slider$1 as Slider, SliderProps };
|
|
@@ -0,0 +1,65 @@
|
|
|
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 { Slider } from "@base-ui/react/slider";
|
|
6
|
+
//#region src/forms/slider.tsx
|
|
7
|
+
/** How many thumbs the current value implies. */
|
|
8
|
+
function thumbCount(value, defaultValue) {
|
|
9
|
+
const source = value ?? defaultValue;
|
|
10
|
+
return Array.isArray(source) ? source.length : 1;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A continuous value control: one thumb, or several for a range.
|
|
14
|
+
*
|
|
15
|
+
* Drawn as a 2px rail rather than the chunky default — at console density a
|
|
16
|
+
* slider is a readout first and a grab target second, and the thumb supplies the
|
|
17
|
+
* affordance. The filled portion uses the theme accent so the slider agrees with
|
|
18
|
+
* every other "this much" indicator on screen.
|
|
19
|
+
*
|
|
20
|
+
* The important part of the API is {@link SliderProps.onCommit}: the
|
|
21
|
+
* change/commit split is what lets a host app coalesce a whole drag into one
|
|
22
|
+
* undo entry instead of hundreds.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <Slider aria-label="Intensity" value={level} onValueChange={setLevel} onCommit={pushUndo} />
|
|
26
|
+
* @example
|
|
27
|
+
* <Slider label="Window" showValue defaultValue={[20, 60]} />
|
|
28
|
+
*/
|
|
29
|
+
const Slider$1 = React.forwardRef(function Slider$2({ className, onCommit, label, showValue = false, "aria-label": ariaLabel, value, defaultValue, ...elementProps }, ref) {
|
|
30
|
+
const count = thumbCount(value, defaultValue);
|
|
31
|
+
const handleCommitted = React.useCallback((next) => {
|
|
32
|
+
onCommit?.(typeof next === "number" ? next : [...next]);
|
|
33
|
+
}, [onCommit]);
|
|
34
|
+
return /* @__PURE__ */ jsxs(Slider.Root, {
|
|
35
|
+
ref,
|
|
36
|
+
"data-slot": "slider",
|
|
37
|
+
value,
|
|
38
|
+
defaultValue,
|
|
39
|
+
onValueCommitted: onCommit === void 0 ? void 0 : handleCommitted,
|
|
40
|
+
className: cn("flex w-full flex-col gap-(--cue-space-2)", className),
|
|
41
|
+
...elementProps,
|
|
42
|
+
children: [label === void 0 && !showValue ? null : /* @__PURE__ */ jsxs("div", {
|
|
43
|
+
className: "flex items-baseline justify-between gap-(--cue-space-3) font-mono text-(length:--cue-text-label) tracking-[0.1em] text-fg-muted uppercase",
|
|
44
|
+
children: [label === void 0 ? /* @__PURE__ */ jsx("span", {}) : /* @__PURE__ */ jsx(Slider.Label, { children: label }), showValue ? /* @__PURE__ */ jsx(Slider.Value, { className: "tabular-nums text-fg normal-case tracking-normal" }) : null]
|
|
45
|
+
}), /* @__PURE__ */ jsx(Slider.Control, {
|
|
46
|
+
"data-slot": "slider-control",
|
|
47
|
+
className: "flex h-control-sm w-full touch-none items-center select-none",
|
|
48
|
+
children: /* @__PURE__ */ jsxs(Slider.Track, {
|
|
49
|
+
"data-slot": "slider-track",
|
|
50
|
+
className: "relative h-0.5 w-full rounded-full bg-border select-none",
|
|
51
|
+
children: [/* @__PURE__ */ jsx(Slider.Indicator, {
|
|
52
|
+
"data-slot": "slider-indicator",
|
|
53
|
+
className: "h-full rounded-full bg-accent select-none"
|
|
54
|
+
}), Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx(Slider.Thumb, {
|
|
55
|
+
index,
|
|
56
|
+
"data-slot": "slider-thumb",
|
|
57
|
+
"aria-label": ariaLabel === void 0 ? void 0 : count > 1 ? `${ariaLabel} ${index + 1}` : ariaLabel,
|
|
58
|
+
className: "size-[0.5rem] rounded-full bg-accent outline-none focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-2 focus-visible:outline-accent data-[disabled]:opacity-40"
|
|
59
|
+
}, index))]
|
|
60
|
+
})
|
|
61
|
+
})]
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
//#endregion
|
|
65
|
+
export { Slider$1 as Slider };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Switch } from "@base-ui/react/switch";
|
|
3
|
+
//#region src/forms/switch.d.ts
|
|
4
|
+
interface SwitchProps extends Omit<Switch.Root.Props, "className"> {
|
|
5
|
+
/** Extra classes, merged over the track defaults. */
|
|
6
|
+
className?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Inline label rendered beside the track and wrapped with it in a `<label>`,
|
|
9
|
+
* so the text is both the accessible name and part of the hit target.
|
|
10
|
+
*/
|
|
11
|
+
label?: React.ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Track size. Defaults to `"md"` (28×14). `sm` exists because a console packs
|
|
14
|
+
* switches into 20px rows where a stock 44px switch simply does not fit.
|
|
15
|
+
*/
|
|
16
|
+
size?: "sm" | "md" | "lg";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A binary on/off control — `role="switch"`, not a checkbox.
|
|
20
|
+
*
|
|
21
|
+
* The distinction matters to assistive tech: a switch takes effect immediately,
|
|
22
|
+
* a checkbox is a value you submit later. Use this for "live" state (blackout,
|
|
23
|
+
* mute, follow) and {@link Checkbox} for form values.
|
|
24
|
+
*
|
|
25
|
+
* Ships in three sizes down to a 22×12 track, because a dense console cannot
|
|
26
|
+
* spare the height a stock switch demands. The thumb slides on a transform and
|
|
27
|
+
* stills entirely under `prefers-reduced-motion`.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* <Switch label="Blackout" checked={blackout} onCheckedChange={setBlackout} />
|
|
31
|
+
* @example
|
|
32
|
+
* <Switch aria-label="Mute channel" size="sm" />
|
|
33
|
+
*/
|
|
34
|
+
declare const Switch$1: React.ForwardRefExoticComponent<Omit<SwitchProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
35
|
+
//#endregion
|
|
36
|
+
export { Switch$1 as Switch, SwitchProps };
|
|
@@ -0,0 +1,71 @@
|
|
|
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 { Switch } from "@base-ui/react/switch";
|
|
6
|
+
//#region src/forms/switch.tsx
|
|
7
|
+
/**
|
|
8
|
+
* The three tracks, in rem so they follow browser zoom and the user's font size.
|
|
9
|
+
*
|
|
10
|
+
* Geometry (px at the 16px reference root): `sm` 22×12 with an 8px thumb, `md`
|
|
11
|
+
* 28×14 with 10px, `lg` 34×18 with 12px. The travel is
|
|
12
|
+
* `track − 2×border − 2×inset − thumb`, i.e. the thumb sits one hairline inside
|
|
13
|
+
* the rim at both ends.
|
|
14
|
+
*/
|
|
15
|
+
const SWITCH_SIZES = {
|
|
16
|
+
sm: {
|
|
17
|
+
track: "w-[1.375rem] h-[0.75rem]",
|
|
18
|
+
thumb: "size-[0.5rem] data-[checked]:translate-x-[0.625rem]"
|
|
19
|
+
},
|
|
20
|
+
md: {
|
|
21
|
+
track: "w-[1.75rem] h-[0.875rem]",
|
|
22
|
+
thumb: "size-[0.625rem] data-[checked]:translate-x-[0.875rem]"
|
|
23
|
+
},
|
|
24
|
+
lg: {
|
|
25
|
+
track: "w-[2.125rem] h-[1.125rem]",
|
|
26
|
+
thumb: "size-[0.75rem] data-[checked]:translate-x-[1.125rem]"
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* A binary on/off control — `role="switch"`, not a checkbox.
|
|
31
|
+
*
|
|
32
|
+
* The distinction matters to assistive tech: a switch takes effect immediately,
|
|
33
|
+
* a checkbox is a value you submit later. Use this for "live" state (blackout,
|
|
34
|
+
* mute, follow) and {@link Checkbox} for form values.
|
|
35
|
+
*
|
|
36
|
+
* Ships in three sizes down to a 22×12 track, because a dense console cannot
|
|
37
|
+
* spare the height a stock switch demands. The thumb slides on a transform and
|
|
38
|
+
* stills entirely under `prefers-reduced-motion`.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* <Switch label="Blackout" checked={blackout} onCheckedChange={setBlackout} />
|
|
42
|
+
* @example
|
|
43
|
+
* <Switch aria-label="Mute channel" size="sm" />
|
|
44
|
+
*/
|
|
45
|
+
const Switch$1 = React.forwardRef(function Switch$2({ className, label, size = "md", ...elementProps }, ref) {
|
|
46
|
+
const labelId = React.useId();
|
|
47
|
+
const hasLabel = label !== void 0;
|
|
48
|
+
const geometry = SWITCH_SIZES[size];
|
|
49
|
+
const control = /* @__PURE__ */ jsx(Switch.Root, {
|
|
50
|
+
ref,
|
|
51
|
+
"data-slot": "switch",
|
|
52
|
+
"aria-labelledby": hasLabel ? labelId : void 0,
|
|
53
|
+
className: cn("relative inline-flex shrink-0 items-center rounded-full border border-border bg-surface-3 p-0 outline-none transition-colors duration-150 motion-reduce:transition-none", geometry.track, "hover:border-border-strong", "data-[checked]:border-accent data-[checked]: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),
|
|
54
|
+
...elementProps,
|
|
55
|
+
children: /* @__PURE__ */ jsx(Switch.Thumb, {
|
|
56
|
+
"data-slot": "switch-thumb",
|
|
57
|
+
className: cn("absolute top-1/2 left-px -translate-y-1/2 rounded-full bg-fg-muted transition-transform duration-150 motion-reduce:transition-none", geometry.thumb, "data-[checked]:bg-accent-fg")
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
if (!hasLabel) return control;
|
|
61
|
+
return /* @__PURE__ */ jsxs("label", {
|
|
62
|
+
"data-slot": "switch-label",
|
|
63
|
+
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",
|
|
64
|
+
children: [control, /* @__PURE__ */ jsx("span", {
|
|
65
|
+
id: labelId,
|
|
66
|
+
children: label
|
|
67
|
+
})]
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
//#endregion
|
|
71
|
+
export { Switch$1 as Switch };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { FormControlSize } from "./_chassis.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/forms/tags-input.d.ts
|
|
4
|
+
interface TagsInputProps {
|
|
5
|
+
/** The tags. Use with `onValueChange` for a controlled field. */
|
|
6
|
+
value?: readonly string[];
|
|
7
|
+
/** Initial tags for an uncontrolled field. */
|
|
8
|
+
defaultValue?: readonly string[];
|
|
9
|
+
/** Called with the full list after every add or remove. */
|
|
10
|
+
onValueChange?: (value: string[]) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Optional known tags, offered in a popup as the user types. Free-form entry
|
|
13
|
+
* works with or without them — a suggestion is a shortcut, never a constraint.
|
|
14
|
+
*/
|
|
15
|
+
suggestions?: readonly string[];
|
|
16
|
+
/** Shown while there are no tags. */
|
|
17
|
+
placeholder?: string;
|
|
18
|
+
/** Rung of the control ladder. Defaults to `"md"`. */
|
|
19
|
+
size?: FormControlSize;
|
|
20
|
+
/**
|
|
21
|
+
* Extra keys that commit the pending tag, on top of Enter. Defaults to `[","]`
|
|
22
|
+
* — the separator every "type a list" field in the wild accepts.
|
|
23
|
+
*/
|
|
24
|
+
separators?: readonly string[];
|
|
25
|
+
/** Refuse further tags past this many. */
|
|
26
|
+
max?: number;
|
|
27
|
+
/** Prevent entry and grey the field out. */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Name for the hidden input, when the field is part of a form. */
|
|
30
|
+
name?: string;
|
|
31
|
+
/** Id forwarded to the text input. */
|
|
32
|
+
id?: string;
|
|
33
|
+
/** Accessible name for the input, when no {@link FieldLabel} names it. */
|
|
34
|
+
"aria-label"?: string;
|
|
35
|
+
/** Id of the element naming the input. */
|
|
36
|
+
"aria-labelledby"?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Accessible name for a tag's remove button. Defaults to
|
|
39
|
+
* ``(tag) => `Remove ${tag}` ``.
|
|
40
|
+
*/
|
|
41
|
+
removeLabel?: (tag: string) => string;
|
|
42
|
+
/** Extra classes for the field. */
|
|
43
|
+
className?: string;
|
|
44
|
+
/** Extra classes for the popup surface. */
|
|
45
|
+
popupClassName?: string;
|
|
46
|
+
/** Distance in px between the field and the popup. Defaults to `4`. */
|
|
47
|
+
sideOffset?: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Free-form tags, each a removable chip.
|
|
51
|
+
*
|
|
52
|
+
* {@link MultiSelect} with the set opened up: Enter (or a separator key) commits
|
|
53
|
+
* whatever is in the box, so this is the control for labels, hostnames and
|
|
54
|
+
* anything else the product cannot enumerate in advance. Pass `suggestions` to
|
|
55
|
+
* offer the ones you *do* know.
|
|
56
|
+
*
|
|
57
|
+
* Three rules the hand-rolled version always misses, all enforced here: tags are
|
|
58
|
+
* trimmed, blanks are refused, and duplicates are refused silently rather than
|
|
59
|
+
* appended (a tag list is a set). Backspace in an empty input removes the last
|
|
60
|
+
* tag, courtesy of Base UI's chip handling.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* <TagsInput aria-label="Labels" value={labels} onValueChange={setLabels} />
|
|
64
|
+
* @example
|
|
65
|
+
* <TagsInput aria-label="Labels" suggestions={knownLabels} max={8} />
|
|
66
|
+
*/
|
|
67
|
+
declare const TagsInput: React.ForwardRefExoticComponent<TagsInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
68
|
+
//#endregion
|
|
69
|
+
export { TagsInput, TagsInputProps };
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { bareControlClasses, controlGroupFocusClasses, controlSurface } from "./_chassis.js";
|
|
4
|
+
import { useCuePortalProps } from "../system/portal.js";
|
|
5
|
+
import { CrossGlyph } from "./_glyphs.js";
|
|
6
|
+
import { chipFieldClasses, chipRemoveClasses, listboxItemClasses, listboxListClasses, listboxPopupClasses, listboxPositionerClasses, valueChipClasses } from "./_listbox.js";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { Combobox } from "@base-ui/react/combobox";
|
|
10
|
+
//#region src/forms/tags-input.tsx
|
|
11
|
+
/** Horizontal padding and type size per rung; the height comes from the chips. */
|
|
12
|
+
const FIELD_SIZES = {
|
|
13
|
+
sm: "min-h-control-sm px-(--cue-space-2) text-(length:--cue-text-label)",
|
|
14
|
+
md: "min-h-control-md px-(--cue-space-3) text-(length:--cue-text-ui)",
|
|
15
|
+
lg: "min-h-control-lg px-(--cue-space-4) text-(length:--cue-text-body)"
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Free-form tags, each a removable chip.
|
|
19
|
+
*
|
|
20
|
+
* {@link MultiSelect} with the set opened up: Enter (or a separator key) commits
|
|
21
|
+
* whatever is in the box, so this is the control for labels, hostnames and
|
|
22
|
+
* anything else the product cannot enumerate in advance. Pass `suggestions` to
|
|
23
|
+
* offer the ones you *do* know.
|
|
24
|
+
*
|
|
25
|
+
* Three rules the hand-rolled version always misses, all enforced here: tags are
|
|
26
|
+
* trimmed, blanks are refused, and duplicates are refused silently rather than
|
|
27
|
+
* appended (a tag list is a set). Backspace in an empty input removes the last
|
|
28
|
+
* tag, courtesy of Base UI's chip handling.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* <TagsInput aria-label="Labels" value={labels} onValueChange={setLabels} />
|
|
32
|
+
* @example
|
|
33
|
+
* <TagsInput aria-label="Labels" suggestions={knownLabels} max={8} />
|
|
34
|
+
*/
|
|
35
|
+
const TagsInput = React.forwardRef(function TagsInput({ value, defaultValue, onValueChange, suggestions, placeholder, size = "md", separators = [","], max, disabled, name, id, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, removeLabel = (tag) => `Remove ${tag}`, className, popupClassName, sideOffset = 4 }, ref) {
|
|
36
|
+
const portalProps = useCuePortalProps();
|
|
37
|
+
const isControlled = value !== void 0;
|
|
38
|
+
const [uncontrolled, setUncontrolled] = React.useState(() => [...defaultValue ?? []]);
|
|
39
|
+
const tags = React.useMemo(() => isControlled ? [...value] : uncontrolled, [
|
|
40
|
+
isControlled,
|
|
41
|
+
uncontrolled,
|
|
42
|
+
value
|
|
43
|
+
]);
|
|
44
|
+
const [query, setQuery] = React.useState("");
|
|
45
|
+
const highlighted = React.useRef(void 0);
|
|
46
|
+
const commit = React.useCallback((next) => {
|
|
47
|
+
if (!isControlled) setUncontrolled(next);
|
|
48
|
+
onValueChange?.(next);
|
|
49
|
+
}, [isControlled, onValueChange]);
|
|
50
|
+
const add = React.useCallback((raw) => {
|
|
51
|
+
const tag = raw.trim();
|
|
52
|
+
if (tag === "") return;
|
|
53
|
+
if (tags.includes(tag)) return;
|
|
54
|
+
if (max !== void 0 && tags.length >= max) return;
|
|
55
|
+
commit([...tags, tag]);
|
|
56
|
+
setQuery("");
|
|
57
|
+
}, [
|
|
58
|
+
commit,
|
|
59
|
+
max,
|
|
60
|
+
tags
|
|
61
|
+
]);
|
|
62
|
+
const handleValueChange = React.useCallback((next) => {
|
|
63
|
+
const picked = next;
|
|
64
|
+
if (max !== void 0 && picked.length > max) return;
|
|
65
|
+
commit(picked);
|
|
66
|
+
setQuery("");
|
|
67
|
+
}, [commit, max]);
|
|
68
|
+
const handleKeyDown = React.useCallback((event) => {
|
|
69
|
+
if (event.defaultPrevented || disabled === true) return;
|
|
70
|
+
if (!(event.key === "Enter" || separators.includes(event.key)) || highlighted.current !== void 0) return;
|
|
71
|
+
if (query.trim() === "") {
|
|
72
|
+
if (event.key !== "Enter") event.preventDefault();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
add(query);
|
|
77
|
+
}, [
|
|
78
|
+
add,
|
|
79
|
+
disabled,
|
|
80
|
+
query,
|
|
81
|
+
separators
|
|
82
|
+
]);
|
|
83
|
+
return /* @__PURE__ */ jsxs(Combobox.Root, {
|
|
84
|
+
multiple: true,
|
|
85
|
+
items: suggestions ?? [],
|
|
86
|
+
value: tags,
|
|
87
|
+
onValueChange: handleValueChange,
|
|
88
|
+
inputValue: query,
|
|
89
|
+
onInputValueChange: setQuery,
|
|
90
|
+
onItemHighlighted: (item) => {
|
|
91
|
+
highlighted.current = item;
|
|
92
|
+
},
|
|
93
|
+
disabled,
|
|
94
|
+
name,
|
|
95
|
+
children: [/* @__PURE__ */ jsx(Combobox.InputGroup, {
|
|
96
|
+
"data-slot": "tags-input-group",
|
|
97
|
+
className: cn(controlSurface, FIELD_SIZES[size], controlGroupFocusClasses, className),
|
|
98
|
+
children: /* @__PURE__ */ jsx(Combobox.Chips, {
|
|
99
|
+
className: chipFieldClasses,
|
|
100
|
+
children: /* @__PURE__ */ jsx(Combobox.Value, { children: (selected) => /* @__PURE__ */ jsxs(React.Fragment, { children: [selected.map((tag) => /* @__PURE__ */ jsxs(Combobox.Chip, {
|
|
101
|
+
"data-slot": "tags-input-chip",
|
|
102
|
+
className: valueChipClasses,
|
|
103
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
104
|
+
className: "truncate",
|
|
105
|
+
children: tag
|
|
106
|
+
}), /* @__PURE__ */ jsx(Combobox.ChipRemove, {
|
|
107
|
+
"aria-label": removeLabel(tag),
|
|
108
|
+
className: chipRemoveClasses,
|
|
109
|
+
children: /* @__PURE__ */ jsx(CrossGlyph, { className: "size-icon-sm" })
|
|
110
|
+
})]
|
|
111
|
+
}, tag)), /* @__PURE__ */ jsx(Combobox.Input, {
|
|
112
|
+
ref,
|
|
113
|
+
id,
|
|
114
|
+
"data-slot": "tags-input-input",
|
|
115
|
+
placeholder: selected.length > 0 ? "" : placeholder,
|
|
116
|
+
"aria-label": ariaLabel,
|
|
117
|
+
"aria-labelledby": ariaLabelledBy,
|
|
118
|
+
onKeyDown: handleKeyDown,
|
|
119
|
+
className: cn(bareControlClasses, "h-control-sm w-auto min-w-[6ch]")
|
|
120
|
+
})] }) })
|
|
121
|
+
})
|
|
122
|
+
}), suggestions === void 0 ? null : /* @__PURE__ */ jsx(Combobox.Portal, {
|
|
123
|
+
...portalProps,
|
|
124
|
+
children: /* @__PURE__ */ jsx(Combobox.Positioner, {
|
|
125
|
+
className: listboxPositionerClasses,
|
|
126
|
+
sideOffset,
|
|
127
|
+
children: /* @__PURE__ */ jsx(Combobox.Popup, {
|
|
128
|
+
"data-slot": "tags-input-popup",
|
|
129
|
+
className: cn(listboxPopupClasses, popupClassName),
|
|
130
|
+
children: /* @__PURE__ */ jsx(Combobox.List, {
|
|
131
|
+
className: listboxListClasses,
|
|
132
|
+
children: (item) => /* @__PURE__ */ jsx(Combobox.Item, {
|
|
133
|
+
value: item,
|
|
134
|
+
"data-slot": "tags-input-item",
|
|
135
|
+
className: listboxItemClasses,
|
|
136
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
137
|
+
className: "truncate",
|
|
138
|
+
children: item
|
|
139
|
+
})
|
|
140
|
+
}, item)
|
|
141
|
+
})
|
|
142
|
+
})
|
|
143
|
+
})
|
|
144
|
+
})]
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
//#endregion
|
|
148
|
+
export { TagsInput };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/forms/textarea.d.ts
|
|
3
|
+
interface TextareaProps extends React.ComponentPropsWithoutRef<"textarea"> {
|
|
4
|
+
/** Extra classes, merged over the chassis. */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Visible rows before the box starts scrolling. Defaults to `3`. */
|
|
7
|
+
rows?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Accessible name for the textarea, when no `FieldLabel` names it. Declared
|
|
10
|
+
* here rather than left to the inherited attribute so the props table carries
|
|
11
|
+
* the row: a bare textarea outside a `Field` has no other way to be named.
|
|
12
|
+
*/
|
|
13
|
+
"aria-label"?: string;
|
|
14
|
+
/**
|
|
15
|
+
* An example of what goes in the box, shown while it is empty. Not a name:
|
|
16
|
+
* it disappears on the first keystroke, so pair it with `aria-label` or a
|
|
17
|
+
* `FieldLabel`. Declared for the props-table row, as `aria-label` is above.
|
|
18
|
+
*/
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The multi-line text control.
|
|
23
|
+
*
|
|
24
|
+
* Rendered through Base UI's `Field.Control`, so it joins a {@link Field} on the
|
|
25
|
+
* same terms as {@link Input} — label wiring, `aria-describedby`, `data-invalid`
|
|
26
|
+
* — while still being a real `<textarea>`.
|
|
27
|
+
*
|
|
28
|
+
* Wears the recessed chassis minus the fixed control height: a textarea's job is
|
|
29
|
+
* to be taller than one rung. Height comes from `rows`, and the user may drag it
|
|
30
|
+
* taller (`resize-y`) but never wider, which would break the panel grid.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* <Textarea placeholder="Notes for the operator" />
|
|
34
|
+
* @example
|
|
35
|
+
* <Field><FieldLabel>Cue notes</FieldLabel><Textarea rows={6} /></Field>
|
|
36
|
+
*/
|
|
37
|
+
declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { Textarea, TextareaProps };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { controlSurface } from "./_chassis.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { Field } from "@base-ui/react/field";
|
|
7
|
+
//#region src/forms/textarea.tsx
|
|
8
|
+
/**
|
|
9
|
+
* The multi-line text control.
|
|
10
|
+
*
|
|
11
|
+
* Rendered through Base UI's `Field.Control`, so it joins a {@link Field} on the
|
|
12
|
+
* same terms as {@link Input} — label wiring, `aria-describedby`, `data-invalid`
|
|
13
|
+
* — while still being a real `<textarea>`.
|
|
14
|
+
*
|
|
15
|
+
* Wears the recessed chassis minus the fixed control height: a textarea's job is
|
|
16
|
+
* to be taller than one rung. Height comes from `rows`, and the user may drag it
|
|
17
|
+
* taller (`resize-y`) but never wider, which would break the panel grid.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* <Textarea placeholder="Notes for the operator" />
|
|
21
|
+
* @example
|
|
22
|
+
* <Field><FieldLabel>Cue notes</FieldLabel><Textarea rows={6} /></Field>
|
|
23
|
+
*/
|
|
24
|
+
const Textarea = React.forwardRef(function Textarea({ className, rows = 3, ...elementProps }, ref) {
|
|
25
|
+
const controlProps = elementProps;
|
|
26
|
+
return /* @__PURE__ */ jsx(Field.Control, {
|
|
27
|
+
render: /* @__PURE__ */ jsx("textarea", {
|
|
28
|
+
ref,
|
|
29
|
+
rows
|
|
30
|
+
}),
|
|
31
|
+
"data-slot": "textarea",
|
|
32
|
+
className: cn(controlSurface, "resize-y px-(--cue-space-4) py-(--cue-space-3) text-(length:--cue-text-ui) leading-(--cue-leading-ui)", className),
|
|
33
|
+
...controlProps
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
//#endregion
|
|
37
|
+
export { Textarea };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { FormControlSize } from "./_chassis.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { ToggleGroup } from "@base-ui/react/toggle-group";
|
|
4
|
+
//#region src/forms/toggle-group.d.ts
|
|
5
|
+
interface ToggleGroupProps extends Omit<ToggleGroup.Props, "className" | "value" | "defaultValue" | "onValueChange" | "children"> {
|
|
6
|
+
/** The pressed values when controlled. Pass with `onValueChange`. */
|
|
7
|
+
value?: readonly string[];
|
|
8
|
+
/** The initially pressed values when uncontrolled. */
|
|
9
|
+
defaultValue?: readonly string[];
|
|
10
|
+
/** Called with every pressed value, in the order the toggles are declared. */
|
|
11
|
+
onValueChange?: (value: string[]) => void;
|
|
12
|
+
/** Rung of the control ladder for every toggle inside. Defaults to `"md"`. */
|
|
13
|
+
size?: FormControlSize;
|
|
14
|
+
/** Extra classes for the group frame. */
|
|
15
|
+
className?: string;
|
|
16
|
+
/** The {@link Toggle}s, each carrying a `value`. */
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A cluster of {@link Toggle}s sharing one pressed state.
|
|
21
|
+
*
|
|
22
|
+
* The difference from {@link SegmentedControl} is not cosmetic: a toggle group
|
|
23
|
+
* can be **empty**. Pressing the pressed item unpresses it, so "no filter" is a
|
|
24
|
+
* reachable state — which is what a filter bar needs and what a view switcher
|
|
25
|
+
* must never offer. Reach for `SegmentedControl` when the answer is always one
|
|
26
|
+
* of N, and for this when the answer may be none, or several (`multiple`).
|
|
27
|
+
*
|
|
28
|
+
* Arrow-key roving focus and the pressed-state ARIA come from Base UI; this
|
|
29
|
+
* layer supplies the density rung (published to the children through context)
|
|
30
|
+
* and the flat frame-less layout — a group of toggles is a row of controls, not
|
|
31
|
+
* a boxed widget.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* <ToggleGroup aria-label="Layers" multiple value={layers} onValueChange={setLayers}>
|
|
35
|
+
* <Toggle value="beams">Beams</Toggle>
|
|
36
|
+
* <Toggle value="haze">Haze</Toggle>
|
|
37
|
+
* </ToggleGroup>
|
|
38
|
+
*/
|
|
39
|
+
declare const ToggleGroup$1: React.ForwardRefExoticComponent<Omit<ToggleGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
40
|
+
//#endregion
|
|
41
|
+
export { ToggleGroup$1 as ToggleGroup, ToggleGroupProps };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { ToggleGroup } from "@base-ui/react/toggle-group";
|
|
6
|
+
//#region src/forms/toggle-group.tsx
|
|
7
|
+
/**
|
|
8
|
+
* The rung the group publishes to the {@link Toggle}s inside it, so a caller
|
|
9
|
+
* sizes the cluster once instead of repeating `size` on every member.
|
|
10
|
+
*
|
|
11
|
+
* `null` outside a group — a lone toggle then falls back to its own default.
|
|
12
|
+
*
|
|
13
|
+
* @internal Not part of the public API; read by `toggle.tsx`.
|
|
14
|
+
*/
|
|
15
|
+
const ToggleGroupSizeContext = React.createContext(null);
|
|
16
|
+
/**
|
|
17
|
+
* A cluster of {@link Toggle}s sharing one pressed state.
|
|
18
|
+
*
|
|
19
|
+
* The difference from {@link SegmentedControl} is not cosmetic: a toggle group
|
|
20
|
+
* can be **empty**. Pressing the pressed item unpresses it, so "no filter" is a
|
|
21
|
+
* reachable state — which is what a filter bar needs and what a view switcher
|
|
22
|
+
* must never offer. Reach for `SegmentedControl` when the answer is always one
|
|
23
|
+
* of N, and for this when the answer may be none, or several (`multiple`).
|
|
24
|
+
*
|
|
25
|
+
* Arrow-key roving focus and the pressed-state ARIA come from Base UI; this
|
|
26
|
+
* layer supplies the density rung (published to the children through context)
|
|
27
|
+
* and the flat frame-less layout — a group of toggles is a row of controls, not
|
|
28
|
+
* a boxed widget.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* <ToggleGroup aria-label="Layers" multiple value={layers} onValueChange={setLayers}>
|
|
32
|
+
* <Toggle value="beams">Beams</Toggle>
|
|
33
|
+
* <Toggle value="haze">Haze</Toggle>
|
|
34
|
+
* </ToggleGroup>
|
|
35
|
+
*/
|
|
36
|
+
const ToggleGroup$1 = React.forwardRef(function ToggleGroup$2({ value, defaultValue, onValueChange, size = "md", orientation, className, children, ...groupProps }, ref) {
|
|
37
|
+
const handleValueChange = React.useCallback((next) => {
|
|
38
|
+
onValueChange?.(next);
|
|
39
|
+
}, [onValueChange]);
|
|
40
|
+
return /* @__PURE__ */ jsx(ToggleGroup, {
|
|
41
|
+
ref,
|
|
42
|
+
"data-slot": "toggle-group",
|
|
43
|
+
value,
|
|
44
|
+
defaultValue,
|
|
45
|
+
onValueChange: onValueChange === void 0 ? void 0 : handleValueChange,
|
|
46
|
+
orientation,
|
|
47
|
+
className: cn("inline-flex items-center gap-(--cue-space-1)", orientation === "vertical" && "flex-col items-stretch", className),
|
|
48
|
+
...groupProps,
|
|
49
|
+
children: /* @__PURE__ */ jsx(ToggleGroupSizeContext.Provider, {
|
|
50
|
+
value: size,
|
|
51
|
+
children
|
|
52
|
+
})
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
//#endregion
|
|
56
|
+
export { ToggleGroup$1 as ToggleGroup, ToggleGroupSizeContext };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { FormControlSize } from "./_chassis.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Toggle } from "@base-ui/react/toggle";
|
|
4
|
+
//#region src/forms/toggle.d.ts
|
|
5
|
+
interface ToggleProps extends Omit<Toggle.Props, "className"> {
|
|
6
|
+
/** Extra classes, merged over the recipe. */
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Rung of the control ladder. Defaults to the enclosing {@link ToggleGroup}'s
|
|
10
|
+
* rung, or `"md"` outside one.
|
|
11
|
+
*/
|
|
12
|
+
size?: FormControlSize;
|
|
13
|
+
/**
|
|
14
|
+
* Optional leading icon component (e.g. a lucide icon). Rendered `aria-hidden`
|
|
15
|
+
* and sized to the density icon token. With no `children` the toggle collapses
|
|
16
|
+
* to a square target instead of a wide pill.
|
|
17
|
+
*/
|
|
18
|
+
icon?: React.ElementType;
|
|
19
|
+
/** The label. Leave it off for an icon-only toggle — and then pass `aria-label`. */
|
|
20
|
+
children?: React.ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* Accessible name. An icon-only toggle has no text to be named by, so this is
|
|
23
|
+
* its name; declared here rather than left to the inherited attribute so the
|
|
24
|
+
* props table carries the row the sentence above tells a caller to pass.
|
|
25
|
+
*/
|
|
26
|
+
"aria-label"?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A two-state button: solo, mute, snap-to-grid, "show hidden".
|
|
30
|
+
*
|
|
31
|
+
* Distinct from {@link Switch}, which sets a *setting* and reads as a physical
|
|
32
|
+
* throw; a toggle is a **button that stays down**, so it belongs in a toolbar
|
|
33
|
+
* next to other buttons rather than in a settings list. `aria-pressed` — not
|
|
34
|
+
* `aria-checked` — is what says so to assistive technology, and Base UI wires
|
|
35
|
+
* that for us.
|
|
36
|
+
*
|
|
37
|
+
* Inside a {@link ToggleGroup} it inherits the group's density rung and joins
|
|
38
|
+
* its roving-focus ring; on its own it is a perfectly good standalone control.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* <Toggle aria-label="Solo" icon={Headphones} pressed={solo} onPressedChange={setSolo} />
|
|
42
|
+
* @example
|
|
43
|
+
* <Toggle defaultPressed>Snap</Toggle>
|
|
44
|
+
*/
|
|
45
|
+
declare const Toggle$1: React.ForwardRefExoticComponent<Omit<ToggleProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { Toggle$1 as Toggle, ToggleProps };
|