@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,66 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Popover } from "@base-ui/react/popover";
|
|
3
|
+
//#region src/overlays/popover.d.ts
|
|
4
|
+
interface PopoverRootProps extends Popover.Root.Props {
|
|
5
|
+
/**
|
|
6
|
+
* Close the popover when the viewport moves under it — a wheel anywhere
|
|
7
|
+
* outside the popup, or a window resize. Defaults to `true`.
|
|
8
|
+
*
|
|
9
|
+
* An anchored popup is positioned from its trigger's rect. A canvas that pans
|
|
10
|
+
* by mutating a CSS transform fires no `scroll` event, so without this the
|
|
11
|
+
* popup silently detaches from the thing it belongs to. Set `false` when the
|
|
12
|
+
* popover must survive page scrolling (a pinned inspector, say).
|
|
13
|
+
*/
|
|
14
|
+
closeOnWheel?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Groups the parts of a popover and owns its open state. Renders no element.
|
|
18
|
+
*/
|
|
19
|
+
declare function PopoverRoot({ closeOnWheel, actionsRef, ...rootProps }: PopoverRootProps): React.JSX.Element;
|
|
20
|
+
interface PopoverTriggerProps extends Popover.Trigger.Props {}
|
|
21
|
+
interface PopoverContentProps extends Omit<Popover.Popup.Props, "className"> {
|
|
22
|
+
/** Extra classes for the popup surface. */
|
|
23
|
+
className?: string;
|
|
24
|
+
/** Extra classes for the positioner that places the popup. */
|
|
25
|
+
positionerClassName?: string;
|
|
26
|
+
/** Preferred side of the trigger. Defaults to `"bottom"`. */
|
|
27
|
+
side?: Popover.Positioner.Props["side"];
|
|
28
|
+
/** Alignment along that side. Defaults to `"center"`. */
|
|
29
|
+
align?: Popover.Positioner.Props["align"];
|
|
30
|
+
/** Gap in px between trigger and popup. Defaults to `4`. */
|
|
31
|
+
sideOffset?: Popover.Positioner.Props["sideOffset"];
|
|
32
|
+
/** Nudge along the alignment axis, in px. */
|
|
33
|
+
alignOffset?: Popover.Positioner.Props["alignOffset"];
|
|
34
|
+
/** Keep the popup mounted while closed. */
|
|
35
|
+
keepMounted?: boolean;
|
|
36
|
+
}
|
|
37
|
+
interface PopoverTitleProps extends Popover.Title.Props {}
|
|
38
|
+
interface PopoverDescriptionProps extends Popover.Description.Props {}
|
|
39
|
+
interface PopoverCloseProps extends Popover.Close.Props {}
|
|
40
|
+
/**
|
|
41
|
+
* A small floating surface anchored to a control — a filter form, an inspector,
|
|
42
|
+
* a colour picker.
|
|
43
|
+
*
|
|
44
|
+
* Wraps Base UI's `Popover`, so anchoring, collision flipping, Escape and
|
|
45
|
+
* outside-press dismissal are the primitive's. This layer adds the token skin,
|
|
46
|
+
* the portal theme stamp and the canvas-safe wheel dismissal.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* <Popover.Root>
|
|
50
|
+
* <Popover.Trigger render={<IconButton aria-label="Filter" icon={Filter} />} />
|
|
51
|
+
* <Popover.Content side="bottom" align="end">
|
|
52
|
+
* <Popover.Title>Filter cues</Popover.Title>
|
|
53
|
+
* <SearchInput aria-label="Query" />
|
|
54
|
+
* </Popover.Content>
|
|
55
|
+
* </Popover.Root>
|
|
56
|
+
*/
|
|
57
|
+
declare const Popover$1: {
|
|
58
|
+
Root: typeof PopoverRoot;
|
|
59
|
+
Trigger: React.ForwardRefExoticComponent<Omit<PopoverTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
60
|
+
Content: React.ForwardRefExoticComponent<Omit<PopoverContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
61
|
+
Title: React.ForwardRefExoticComponent<Omit<PopoverTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
62
|
+
Description: React.ForwardRefExoticComponent<Omit<PopoverDescriptionProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
63
|
+
Close: React.ForwardRefExoticComponent<Omit<PopoverCloseProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
export { Popover$1 as Popover, PopoverCloseProps, PopoverContentProps, PopoverDescriptionProps, PopoverRootProps, PopoverTitleProps, PopoverTriggerProps };
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { useComposedRefs } from "../lib/compose.js";
|
|
4
|
+
import { useCuePortalProps } from "../system/portal.js";
|
|
5
|
+
import { overlayDescriptionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTitleClasses } from "./_surface.js";
|
|
6
|
+
import { useCloseOnWheel } from "./_wheel.js";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
import { Popover } from "@base-ui/react/popover";
|
|
10
|
+
//#region src/overlays/popover.tsx
|
|
11
|
+
const PopoverDismissContext = React.createContext({
|
|
12
|
+
closeOnWheel: false,
|
|
13
|
+
close: () => {}
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Groups the parts of a popover and owns its open state. Renders no element.
|
|
17
|
+
*/
|
|
18
|
+
function PopoverRoot({ closeOnWheel = true, actionsRef, ...rootProps }) {
|
|
19
|
+
const fallbackActions = React.useRef(null);
|
|
20
|
+
const actions = actionsRef ?? fallbackActions;
|
|
21
|
+
const close = React.useCallback(() => {
|
|
22
|
+
actions.current?.close();
|
|
23
|
+
}, [actions]);
|
|
24
|
+
const dismiss = React.useMemo(() => ({
|
|
25
|
+
closeOnWheel,
|
|
26
|
+
close
|
|
27
|
+
}), [closeOnWheel, close]);
|
|
28
|
+
return /* @__PURE__ */ jsx(PopoverDismissContext.Provider, {
|
|
29
|
+
value: dismiss,
|
|
30
|
+
children: /* @__PURE__ */ jsx(Popover.Root, {
|
|
31
|
+
actionsRef: actions,
|
|
32
|
+
...rootProps
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A small floating surface anchored to a control — a filter form, an inspector,
|
|
38
|
+
* a colour picker.
|
|
39
|
+
*
|
|
40
|
+
* Wraps Base UI's `Popover`, so anchoring, collision flipping, Escape and
|
|
41
|
+
* outside-press dismissal are the primitive's. This layer adds the token skin,
|
|
42
|
+
* the portal theme stamp and the canvas-safe wheel dismissal.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* <Popover.Root>
|
|
46
|
+
* <Popover.Trigger render={<IconButton aria-label="Filter" icon={Filter} />} />
|
|
47
|
+
* <Popover.Content side="bottom" align="end">
|
|
48
|
+
* <Popover.Title>Filter cues</Popover.Title>
|
|
49
|
+
* <SearchInput aria-label="Query" />
|
|
50
|
+
* </Popover.Content>
|
|
51
|
+
* </Popover.Root>
|
|
52
|
+
*/
|
|
53
|
+
const Popover$1 = {
|
|
54
|
+
Root: PopoverRoot,
|
|
55
|
+
Trigger: React.forwardRef(function PopoverTrigger({ className, ...elementProps }, ref) {
|
|
56
|
+
return /* @__PURE__ */ jsx(Popover.Trigger, {
|
|
57
|
+
ref,
|
|
58
|
+
"data-slot": "popover-trigger",
|
|
59
|
+
className: cn(className),
|
|
60
|
+
...elementProps
|
|
61
|
+
});
|
|
62
|
+
}),
|
|
63
|
+
Content: React.forwardRef(function PopoverContent({ className, positionerClassName, side, align, sideOffset = 4, alignOffset, keepMounted, children, ...popupProps }, ref) {
|
|
64
|
+
const portalProps = useCuePortalProps();
|
|
65
|
+
const { closeOnWheel, close } = React.useContext(PopoverDismissContext);
|
|
66
|
+
const popupRef = React.useRef(null);
|
|
67
|
+
const composedRef = useComposedRefs(ref, popupRef);
|
|
68
|
+
useCloseOnWheel(closeOnWheel, close, popupRef);
|
|
69
|
+
return /* @__PURE__ */ jsx(Popover.Portal, {
|
|
70
|
+
keepMounted,
|
|
71
|
+
...portalProps,
|
|
72
|
+
children: /* @__PURE__ */ jsx(Popover.Positioner, {
|
|
73
|
+
className: cn(overlayPositionerClasses, positionerClassName),
|
|
74
|
+
side,
|
|
75
|
+
align,
|
|
76
|
+
sideOffset,
|
|
77
|
+
alignOffset,
|
|
78
|
+
children: /* @__PURE__ */ jsx(Popover.Popup, {
|
|
79
|
+
ref: composedRef,
|
|
80
|
+
"data-slot": "popover-popup",
|
|
81
|
+
className: cn(overlaySurfaceClasses, overlayPopupTransitionClasses, "flex max-w-[calc(100vw-2rem)] flex-col gap-(--cue-space-3) p-(--cue-space-4) outline-none", className),
|
|
82
|
+
...popupProps,
|
|
83
|
+
children
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
}),
|
|
88
|
+
Title: React.forwardRef(function PopoverTitle({ className, ...elementProps }, ref) {
|
|
89
|
+
return /* @__PURE__ */ jsx(Popover.Title, {
|
|
90
|
+
ref,
|
|
91
|
+
"data-slot": "popover-title",
|
|
92
|
+
className: cn(overlayTitleClasses, className),
|
|
93
|
+
...elementProps
|
|
94
|
+
});
|
|
95
|
+
}),
|
|
96
|
+
Description: React.forwardRef(function PopoverDescription({ className, ...elementProps }, ref) {
|
|
97
|
+
return /* @__PURE__ */ jsx(Popover.Description, {
|
|
98
|
+
ref,
|
|
99
|
+
"data-slot": "popover-description",
|
|
100
|
+
className: cn(overlayDescriptionClasses, className),
|
|
101
|
+
...elementProps
|
|
102
|
+
});
|
|
103
|
+
}),
|
|
104
|
+
Close: React.forwardRef(function PopoverClose({ className, ...elementProps }, ref) {
|
|
105
|
+
return /* @__PURE__ */ jsx(Popover.Close, {
|
|
106
|
+
ref,
|
|
107
|
+
"data-slot": "popover-close",
|
|
108
|
+
className: cn(className),
|
|
109
|
+
...elementProps
|
|
110
|
+
});
|
|
111
|
+
})
|
|
112
|
+
};
|
|
113
|
+
//#endregion
|
|
114
|
+
export { Popover$1 as Popover };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ClassProp, VariantProps } from "../lib/cva.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Dialog } from "@base-ui/react/dialog";
|
|
4
|
+
//#region src/overlays/sheet.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* An edge-anchored modal surface, one variant per edge.
|
|
7
|
+
*
|
|
8
|
+
* The entry and exit are a translate rather than the dialog's scale, and both
|
|
9
|
+
* ends of it are expressed as `data-[starting-style]` / `data-[ending-style]`
|
|
10
|
+
* classes: Base UI stamps those attributes around the transition, so the whole
|
|
11
|
+
* animation is CSS with nothing to schedule on the main thread — and one
|
|
12
|
+
* `motion-reduce` clause switches it off wholesale.
|
|
13
|
+
*
|
|
14
|
+
* Each variant also drops the rim and the radius on the edge it is flush
|
|
15
|
+
* against. A sheet that keeps all four sides reads as a dialog that has drifted
|
|
16
|
+
* into a corner; killing the outer edge is what makes it read as part of the
|
|
17
|
+
* window.
|
|
18
|
+
*/
|
|
19
|
+
declare const sheetPopupVariants: (props?: ({
|
|
20
|
+
side?: "bottom" | "left" | "right" | null | undefined;
|
|
21
|
+
} & ClassProp) | undefined) => string;
|
|
22
|
+
interface SheetRootProps extends Dialog.Root.Props {}
|
|
23
|
+
/**
|
|
24
|
+
* Groups the parts of a sheet and owns its open state. Renders no element.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* <Sheet.Root open={open} onOpenChange={setOpen}>…</Sheet.Root>
|
|
28
|
+
*/
|
|
29
|
+
declare function SheetRoot(props: SheetRootProps): React.JSX.Element;
|
|
30
|
+
interface SheetTriggerProps extends Dialog.Trigger.Props {}
|
|
31
|
+
interface SheetContentProps extends Omit<Dialog.Popup.Props, "className">, VariantProps<typeof sheetPopupVariants> {
|
|
32
|
+
/** Extra classes for the popup surface. */
|
|
33
|
+
className?: string;
|
|
34
|
+
/** Extra classes for the scrim behind it. */
|
|
35
|
+
backdropClassName?: string;
|
|
36
|
+
/** Keep the popup mounted while closed, so its content is not re-created. */
|
|
37
|
+
keepMounted?: boolean;
|
|
38
|
+
/** Show the corner close affordance. Defaults to `true`. */
|
|
39
|
+
showCloseButton?: boolean;
|
|
40
|
+
/** Accessible name for the corner close affordance. Defaults to `"Close"`. */
|
|
41
|
+
closeLabel?: string;
|
|
42
|
+
}
|
|
43
|
+
interface SheetTitleProps extends Dialog.Title.Props {}
|
|
44
|
+
interface SheetDescriptionProps extends Dialog.Description.Props {}
|
|
45
|
+
interface SheetFooterProps extends React.ComponentPropsWithoutRef<"div"> {}
|
|
46
|
+
interface SheetCloseProps extends Dialog.Close.Props {}
|
|
47
|
+
/**
|
|
48
|
+
* A modal panel that slides in from an edge: an inspector, a filter drawer, a
|
|
49
|
+
* details pane too wide for a popover.
|
|
50
|
+
*
|
|
51
|
+
* The same Base UI `Dialog` as {@link Dialog} — same focus trap, same
|
|
52
|
+
* dismissal, same portal theme stamp — anchored to an edge instead of centred.
|
|
53
|
+
* Reach for it when the content is a *side channel* to the page rather than an
|
|
54
|
+
* interruption of it; a task that must be finished before anything else belongs
|
|
55
|
+
* in a `Dialog`. On a phone-shaped viewport prefer {@link Drawer}, which is the
|
|
56
|
+
* same idea with a swipe.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* <Sheet.Root>
|
|
60
|
+
* <Sheet.Trigger render={<Button>Inspect</Button>} />
|
|
61
|
+
* <Sheet.Content side="right">
|
|
62
|
+
* <Sheet.Title>Fixture inspector</Sheet.Title>
|
|
63
|
+
* <Sheet.Description>Everything patched at this address.</Sheet.Description>
|
|
64
|
+
* <Sheet.Footer><Sheet.Close render={<Button>Done</Button>} /></Sheet.Footer>
|
|
65
|
+
* </Sheet.Content>
|
|
66
|
+
* </Sheet.Root>
|
|
67
|
+
*/
|
|
68
|
+
declare const Sheet: {
|
|
69
|
+
Root: typeof SheetRoot;
|
|
70
|
+
Trigger: React.ForwardRefExoticComponent<Omit<SheetTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
71
|
+
Content: React.ForwardRefExoticComponent<Omit<SheetContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
72
|
+
Title: React.ForwardRefExoticComponent<Omit<SheetTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
73
|
+
Description: React.ForwardRefExoticComponent<Omit<SheetDescriptionProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
74
|
+
Footer: React.ForwardRefExoticComponent<SheetFooterProps & React.RefAttributes<HTMLDivElement>>;
|
|
75
|
+
Close: React.ForwardRefExoticComponent<Omit<SheetCloseProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
76
|
+
};
|
|
77
|
+
//#endregion
|
|
78
|
+
export { Sheet, SheetCloseProps, SheetContentProps, SheetDescriptionProps, SheetFooterProps, SheetRootProps, SheetTitleProps, SheetTriggerProps };
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { cva } from "../lib/cva.js";
|
|
4
|
+
import { CrossGlyph } from "./_glyphs.js";
|
|
5
|
+
import { useCuePortalProps } from "../system/portal.js";
|
|
6
|
+
import { overlayDescriptionClasses, overlayFooterClasses, overlaySurfaceClasses, overlayTitleClasses, scrimClasses } from "./_surface.js";
|
|
7
|
+
import { IconButton } from "../primitives/icon-button.js";
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { Dialog } from "@base-ui/react/dialog";
|
|
11
|
+
//#region src/overlays/sheet.tsx
|
|
12
|
+
/**
|
|
13
|
+
* An edge-anchored modal surface, one variant per edge.
|
|
14
|
+
*
|
|
15
|
+
* The entry and exit are a translate rather than the dialog's scale, and both
|
|
16
|
+
* ends of it are expressed as `data-[starting-style]` / `data-[ending-style]`
|
|
17
|
+
* classes: Base UI stamps those attributes around the transition, so the whole
|
|
18
|
+
* animation is CSS with nothing to schedule on the main thread — and one
|
|
19
|
+
* `motion-reduce` clause switches it off wholesale.
|
|
20
|
+
*
|
|
21
|
+
* Each variant also drops the rim and the radius on the edge it is flush
|
|
22
|
+
* against. A sheet that keeps all four sides reads as a dialog that has drifted
|
|
23
|
+
* into a corner; killing the outer edge is what makes it read as part of the
|
|
24
|
+
* window.
|
|
25
|
+
*/
|
|
26
|
+
const sheetPopupVariants = cva(`${overlaySurfaceClasses} fixed z-50 flex flex-col gap-(--cue-space-4) overflow-y-auto p-(--cue-space-6) outline-none transition-transform duration-200 ease-out motion-reduce:transition-none`, {
|
|
27
|
+
variants: { side: {
|
|
28
|
+
right: "inset-y-0 right-0 w-[min(28rem,calc(100vw-2rem))] rounded-r-none border-y-0 border-r-0 data-[starting-style]:translate-x-full data-[ending-style]:translate-x-full",
|
|
29
|
+
left: "inset-y-0 left-0 w-[min(28rem,calc(100vw-2rem))] rounded-l-none border-y-0 border-l-0 data-[starting-style]:-translate-x-full data-[ending-style]:-translate-x-full",
|
|
30
|
+
bottom: "inset-x-0 bottom-0 max-h-[85vh] rounded-b-none border-x-0 border-b-0 data-[starting-style]:translate-y-full data-[ending-style]:translate-y-full"
|
|
31
|
+
} },
|
|
32
|
+
defaultVariants: { side: "right" }
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Groups the parts of a sheet and owns its open state. Renders no element.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* <Sheet.Root open={open} onOpenChange={setOpen}>…</Sheet.Root>
|
|
39
|
+
*/
|
|
40
|
+
function SheetRoot(props) {
|
|
41
|
+
return /* @__PURE__ */ jsx(Dialog.Root, { ...props });
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A modal panel that slides in from an edge: an inspector, a filter drawer, a
|
|
45
|
+
* details pane too wide for a popover.
|
|
46
|
+
*
|
|
47
|
+
* The same Base UI `Dialog` as {@link Dialog} — same focus trap, same
|
|
48
|
+
* dismissal, same portal theme stamp — anchored to an edge instead of centred.
|
|
49
|
+
* Reach for it when the content is a *side channel* to the page rather than an
|
|
50
|
+
* interruption of it; a task that must be finished before anything else belongs
|
|
51
|
+
* in a `Dialog`. On a phone-shaped viewport prefer {@link Drawer}, which is the
|
|
52
|
+
* same idea with a swipe.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* <Sheet.Root>
|
|
56
|
+
* <Sheet.Trigger render={<Button>Inspect</Button>} />
|
|
57
|
+
* <Sheet.Content side="right">
|
|
58
|
+
* <Sheet.Title>Fixture inspector</Sheet.Title>
|
|
59
|
+
* <Sheet.Description>Everything patched at this address.</Sheet.Description>
|
|
60
|
+
* <Sheet.Footer><Sheet.Close render={<Button>Done</Button>} /></Sheet.Footer>
|
|
61
|
+
* </Sheet.Content>
|
|
62
|
+
* </Sheet.Root>
|
|
63
|
+
*/
|
|
64
|
+
const Sheet = {
|
|
65
|
+
Root: SheetRoot,
|
|
66
|
+
Trigger: React.forwardRef(function SheetTrigger({ className, ...elementProps }, ref) {
|
|
67
|
+
return /* @__PURE__ */ jsx(Dialog.Trigger, {
|
|
68
|
+
ref,
|
|
69
|
+
"data-slot": "sheet-trigger",
|
|
70
|
+
className: cn(className),
|
|
71
|
+
...elementProps
|
|
72
|
+
});
|
|
73
|
+
}),
|
|
74
|
+
Content: React.forwardRef(function SheetContent({ className, backdropClassName, keepMounted, side, showCloseButton = true, closeLabel = "Close", children, ...popupProps }, ref) {
|
|
75
|
+
const portalProps = useCuePortalProps();
|
|
76
|
+
return /* @__PURE__ */ jsxs(Dialog.Portal, {
|
|
77
|
+
keepMounted,
|
|
78
|
+
...portalProps,
|
|
79
|
+
children: [/* @__PURE__ */ jsx(Dialog.Backdrop, {
|
|
80
|
+
"data-slot": "sheet-backdrop",
|
|
81
|
+
className: cn(scrimClasses, backdropClassName)
|
|
82
|
+
}), /* @__PURE__ */ jsxs(Dialog.Popup, {
|
|
83
|
+
ref,
|
|
84
|
+
"data-slot": "sheet-popup",
|
|
85
|
+
"data-side": side ?? "right",
|
|
86
|
+
className: cn(sheetPopupVariants({ side }), className),
|
|
87
|
+
...popupProps,
|
|
88
|
+
children: [children, showCloseButton ? /* @__PURE__ */ jsx(Dialog.Close, { render: /* @__PURE__ */ jsx(IconButton, {
|
|
89
|
+
"aria-label": closeLabel,
|
|
90
|
+
icon: CrossGlyph,
|
|
91
|
+
size: "sm",
|
|
92
|
+
className: "absolute top-(--cue-space-3) right-(--cue-space-3)"
|
|
93
|
+
}) }) : null]
|
|
94
|
+
})]
|
|
95
|
+
});
|
|
96
|
+
}),
|
|
97
|
+
Title: React.forwardRef(function SheetTitle({ className, ...elementProps }, ref) {
|
|
98
|
+
return /* @__PURE__ */ jsx(Dialog.Title, {
|
|
99
|
+
ref,
|
|
100
|
+
"data-slot": "sheet-title",
|
|
101
|
+
className: cn(overlayTitleClasses, className),
|
|
102
|
+
...elementProps
|
|
103
|
+
});
|
|
104
|
+
}),
|
|
105
|
+
Description: React.forwardRef(function SheetDescription({ className, ...elementProps }, ref) {
|
|
106
|
+
return /* @__PURE__ */ jsx(Dialog.Description, {
|
|
107
|
+
ref,
|
|
108
|
+
"data-slot": "sheet-description",
|
|
109
|
+
className: cn(overlayDescriptionClasses, className),
|
|
110
|
+
...elementProps
|
|
111
|
+
});
|
|
112
|
+
}),
|
|
113
|
+
Footer: React.forwardRef(function SheetFooter({ className, ...elementProps }, ref) {
|
|
114
|
+
return /* @__PURE__ */ jsx("div", {
|
|
115
|
+
ref,
|
|
116
|
+
"data-slot": "sheet-footer",
|
|
117
|
+
className: cn(overlayFooterClasses, "mt-auto", className),
|
|
118
|
+
...elementProps
|
|
119
|
+
});
|
|
120
|
+
}),
|
|
121
|
+
Close: React.forwardRef(function SheetClose({ className, ...elementProps }, ref) {
|
|
122
|
+
return /* @__PURE__ */ jsx(Dialog.Close, {
|
|
123
|
+
ref,
|
|
124
|
+
"data-slot": "sheet-close",
|
|
125
|
+
className: cn(className),
|
|
126
|
+
...elementProps
|
|
127
|
+
});
|
|
128
|
+
})
|
|
129
|
+
};
|
|
130
|
+
//#endregion
|
|
131
|
+
export { Sheet };
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Toast } from "@base-ui/react/toast";
|
|
3
|
+
//#region src/overlays/toast.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The status vocabulary shared with `Chip`, `StatusDot` and `Meter`, so a
|
|
6
|
+
* "warn" toast is the same colour as the warn chip that raised it.
|
|
7
|
+
*/
|
|
8
|
+
type ToastTone = "neutral" | "accent" | "ok" | "busy" | "warn" | "danger" | "info";
|
|
9
|
+
interface ToastProviderProps extends Toast.Provider.Props {}
|
|
10
|
+
/**
|
|
11
|
+
* Holds the toast queue. Mount it once, high in the tree, around everything
|
|
12
|
+
* that might raise a toast — and render exactly one {@link ToastViewport}
|
|
13
|
+
* inside it.
|
|
14
|
+
*
|
|
15
|
+
* `limit` defaults to `3`: beyond that the oldest toasts are marked
|
|
16
|
+
* `data-limited` and hidden rather than dropped, so they reappear as the stack
|
|
17
|
+
* drains.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* <Toast.Provider timeout={4000}><App /><Toast.Viewport /></Toast.Provider>
|
|
21
|
+
*/
|
|
22
|
+
declare function ToastProvider({ limit, ...providerProps }: ToastProviderProps): React.JSX.Element;
|
|
23
|
+
/** Everything a toast can say, in this system's vocabulary. */
|
|
24
|
+
interface ToastOptions {
|
|
25
|
+
/** The headline. One line — a toast is not a dialog. */
|
|
26
|
+
title?: React.ReactNode;
|
|
27
|
+
/** Optional second line with the detail. */
|
|
28
|
+
description?: React.ReactNode;
|
|
29
|
+
/** Status colour for the leading rail. Defaults to `"neutral"`. */
|
|
30
|
+
tone?: ToastTone;
|
|
31
|
+
/** ms before auto-dismissal; `0` pins the toast until dismissed. */
|
|
32
|
+
timeout?: number;
|
|
33
|
+
/** `"high"` announces urgently (`role="alertdialog"`). Defaults to `"low"`. */
|
|
34
|
+
priority?: "low" | "high";
|
|
35
|
+
/** Reuse an id to update a toast in place instead of stacking a second one. */
|
|
36
|
+
id?: string;
|
|
37
|
+
/** Called when the toast closes, however it closes. */
|
|
38
|
+
onClose?: () => void;
|
|
39
|
+
/**
|
|
40
|
+
* The toast's one action — `{ children: "Undo", onClick: undo }`. Rendered as
|
|
41
|
+
* a button under the description; omit it and no button exists at all.
|
|
42
|
+
*/
|
|
43
|
+
actionProps?: React.ComponentPropsWithoutRef<"button">;
|
|
44
|
+
}
|
|
45
|
+
/** What {@link useToast} hands back. */
|
|
46
|
+
interface ToastManager {
|
|
47
|
+
/** The live queue, newest first — including the `data-limited` overflow. */
|
|
48
|
+
toasts: readonly Toast.Root.ToastObject[];
|
|
49
|
+
/** Raise a toast. Returns its id. */
|
|
50
|
+
add: (options: ToastOptions) => string;
|
|
51
|
+
/** Close one toast by id, or the most recent when called with no argument. */
|
|
52
|
+
close: (toastId?: string) => void;
|
|
53
|
+
/** Change a toast that is already on screen. */
|
|
54
|
+
update: (toastId: string, options: ToastOptions) => void;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Raise, update and dismiss toasts from anywhere inside a {@link ToastProvider}.
|
|
58
|
+
*
|
|
59
|
+
* A thin wrapper over Base UI's `useToastManager` that swaps the primitive's
|
|
60
|
+
* free-form `type` string for this system's `tone` vocabulary, so a caller
|
|
61
|
+
* cannot invent a colour the theme does not define.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* const toast = useToast();
|
|
65
|
+
* toast.add({ title: "Patched 24 fixtures", tone: "ok" });
|
|
66
|
+
*/
|
|
67
|
+
declare function useToast(): ToastManager;
|
|
68
|
+
interface ToastViewportProps {
|
|
69
|
+
/** Extra classes for the viewport (move the corner, change the width). */
|
|
70
|
+
className?: string;
|
|
71
|
+
/** Extra classes for every toast card. */
|
|
72
|
+
toastClassName?: string;
|
|
73
|
+
/** Accessible name for each card's close affordance. Defaults to `"Dismiss"`. */
|
|
74
|
+
closeLabel?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Where the stack appears: bottom-right, newest nearest the corner.
|
|
78
|
+
*
|
|
79
|
+
* Portalled through {@link useCuePortalProps} so the cards render in the app's
|
|
80
|
+
* theme and density regardless of which subtree raised them. Render exactly one
|
|
81
|
+
* per {@link ToastProvider}.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* <Toast.Viewport />
|
|
85
|
+
*/
|
|
86
|
+
declare function ToastViewport({ className, toastClassName, closeLabel }: ToastViewportProps): React.JSX.Element;
|
|
87
|
+
/**
|
|
88
|
+
* Transient confirmations and failures: "patched", "export finished",
|
|
89
|
+
* "Art-Net node went away".
|
|
90
|
+
*
|
|
91
|
+
* Wraps Base UI's `Toast`, which owns the queue, the auto-dismiss timers, the
|
|
92
|
+
* live-region announcements, swipe-to-dismiss and the F6 focus hotkey. This
|
|
93
|
+
* layer supplies the surface, the tone rail and the portal theme stamp.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* <Toast.Provider>
|
|
97
|
+
* <App />
|
|
98
|
+
* <Toast.Viewport />
|
|
99
|
+
* </Toast.Provider>
|
|
100
|
+
*/
|
|
101
|
+
declare const Toast$1: {
|
|
102
|
+
Provider: typeof ToastProvider;
|
|
103
|
+
Viewport: typeof ToastViewport;
|
|
104
|
+
};
|
|
105
|
+
//#endregion
|
|
106
|
+
export { Toast$1 as Toast, ToastManager, ToastOptions, ToastProviderProps, ToastTone, ToastViewportProps, useToast };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { CrossGlyph } from "./_glyphs.js";
|
|
4
|
+
import { useCuePortalProps } from "../system/portal.js";
|
|
5
|
+
import { overlaySurfaceClasses } from "./_surface.js";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { Toast } from "@base-ui/react/toast";
|
|
9
|
+
//#region src/overlays/toast.tsx
|
|
10
|
+
/**
|
|
11
|
+
* A toast says one thing, so it gets one tone mark: a 2px rail down its leading
|
|
12
|
+
* edge. No tinted fill — three tinted cards stacked in a corner turn into
|
|
13
|
+
* noise, and the rail reads at a glance without competing with the text.
|
|
14
|
+
*/
|
|
15
|
+
const TOAST_TONE_RAIL = {
|
|
16
|
+
neutral: "border-l-border-strong",
|
|
17
|
+
accent: "border-l-accent",
|
|
18
|
+
ok: "border-l-ok",
|
|
19
|
+
busy: "border-l-busy",
|
|
20
|
+
warn: "border-l-warn",
|
|
21
|
+
danger: "border-l-danger",
|
|
22
|
+
info: "border-l-info"
|
|
23
|
+
};
|
|
24
|
+
function toToastTone(type) {
|
|
25
|
+
return type !== void 0 && type in TOAST_TONE_RAIL ? type : "neutral";
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Holds the toast queue. Mount it once, high in the tree, around everything
|
|
29
|
+
* that might raise a toast — and render exactly one {@link ToastViewport}
|
|
30
|
+
* inside it.
|
|
31
|
+
*
|
|
32
|
+
* `limit` defaults to `3`: beyond that the oldest toasts are marked
|
|
33
|
+
* `data-limited` and hidden rather than dropped, so they reappear as the stack
|
|
34
|
+
* drains.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* <Toast.Provider timeout={4000}><App /><Toast.Viewport /></Toast.Provider>
|
|
38
|
+
*/
|
|
39
|
+
function ToastProvider({ limit = 3, ...providerProps }) {
|
|
40
|
+
return /* @__PURE__ */ jsx(Toast.Provider, {
|
|
41
|
+
limit,
|
|
42
|
+
...providerProps
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Raise, update and dismiss toasts from anywhere inside a {@link ToastProvider}.
|
|
47
|
+
*
|
|
48
|
+
* A thin wrapper over Base UI's `useToastManager` that swaps the primitive's
|
|
49
|
+
* free-form `type` string for this system's `tone` vocabulary, so a caller
|
|
50
|
+
* cannot invent a colour the theme does not define.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* const toast = useToast();
|
|
54
|
+
* toast.add({ title: "Patched 24 fixtures", tone: "ok" });
|
|
55
|
+
*/
|
|
56
|
+
function useToast() {
|
|
57
|
+
const manager = Toast.useToastManager();
|
|
58
|
+
const add = React.useCallback(({ tone, ...rest }) => manager.add({
|
|
59
|
+
...rest,
|
|
60
|
+
type: tone
|
|
61
|
+
}), [manager]);
|
|
62
|
+
const update = React.useCallback((toastId, { tone, ...rest }) => manager.update(toastId, {
|
|
63
|
+
...rest,
|
|
64
|
+
type: tone
|
|
65
|
+
}), [manager]);
|
|
66
|
+
return {
|
|
67
|
+
toasts: manager.toasts,
|
|
68
|
+
add,
|
|
69
|
+
close: manager.close,
|
|
70
|
+
update
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/** One card in the stack. */
|
|
74
|
+
function ToastItem({ toast, className, closeLabel }) {
|
|
75
|
+
return /* @__PURE__ */ jsxs(Toast.Root, {
|
|
76
|
+
toast,
|
|
77
|
+
"data-slot": "toast-root",
|
|
78
|
+
className: cn(overlaySurfaceClasses, "relative flex flex-col gap-(--cue-space-1) border-l-2 py-(--cue-space-3) pr-(--cue-space-6) pl-(--cue-space-4) outline-none", "transition-[opacity,translate] duration-150 ease-out motion-reduce:transition-none", "data-[starting-style]:translate-x-2 data-[starting-style]:opacity-0", "data-[ending-style]:translate-x-2 data-[ending-style]:opacity-0", "data-[limited]:hidden", TOAST_TONE_RAIL[toToastTone(toast.type)], className),
|
|
79
|
+
children: [
|
|
80
|
+
/* @__PURE__ */ jsx(Toast.Title, {
|
|
81
|
+
"data-slot": "toast-title",
|
|
82
|
+
className: "font-mono text-(length:--cue-text-ui) font-medium text-fg"
|
|
83
|
+
}),
|
|
84
|
+
/* @__PURE__ */ jsx(Toast.Description, {
|
|
85
|
+
"data-slot": "toast-description",
|
|
86
|
+
className: "font-mono text-(length:--cue-text-label) leading-(--cue-leading-ui) text-fg-muted"
|
|
87
|
+
}),
|
|
88
|
+
/* @__PURE__ */ jsx(Toast.Action, {
|
|
89
|
+
"data-slot": "toast-action",
|
|
90
|
+
className: "mt-(--cue-space-1) inline-flex h-control-sm w-fit cursor-pointer items-center justify-center rounded-(--radius-control) border border-border px-(--cue-space-3) font-mono text-(length:--cue-text-label) tracking-[0.1em] text-fg-muted uppercase transition-colors outline-none hover:border-border-strong hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-1 focus-visible:outline-accent"
|
|
91
|
+
}),
|
|
92
|
+
/* @__PURE__ */ jsx(Toast.Close, {
|
|
93
|
+
"aria-label": closeLabel,
|
|
94
|
+
"data-slot": "toast-close",
|
|
95
|
+
className: "absolute top-(--cue-space-2) right-(--cue-space-2) flex size-icon-md cursor-pointer items-center justify-center rounded-(--radius-control) 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",
|
|
96
|
+
children: /* @__PURE__ */ jsx(CrossGlyph, { className: "size-icon-sm" })
|
|
97
|
+
})
|
|
98
|
+
]
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Where the stack appears: bottom-right, newest nearest the corner.
|
|
103
|
+
*
|
|
104
|
+
* Portalled through {@link useCuePortalProps} so the cards render in the app's
|
|
105
|
+
* theme and density regardless of which subtree raised them. Render exactly one
|
|
106
|
+
* per {@link ToastProvider}.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* <Toast.Viewport />
|
|
110
|
+
*/
|
|
111
|
+
function ToastViewport({ className, toastClassName, closeLabel = "Dismiss" }) {
|
|
112
|
+
const portalProps = useCuePortalProps();
|
|
113
|
+
const { toasts } = Toast.useToastManager();
|
|
114
|
+
return /* @__PURE__ */ jsx(Toast.Portal, {
|
|
115
|
+
...portalProps,
|
|
116
|
+
children: /* @__PURE__ */ jsx(Toast.Viewport, {
|
|
117
|
+
"data-slot": "toast-viewport",
|
|
118
|
+
className: cn("fixed right-(--cue-space-6) bottom-(--cue-space-6) z-50 flex w-[20rem] max-w-[calc(100vw-2rem)] flex-col-reverse gap-(--cue-space-3) outline-none", className),
|
|
119
|
+
children: toasts.map((toast) => /* @__PURE__ */ jsx(ToastItem, {
|
|
120
|
+
toast,
|
|
121
|
+
className: toastClassName,
|
|
122
|
+
closeLabel
|
|
123
|
+
}, toast.id))
|
|
124
|
+
})
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Transient confirmations and failures: "patched", "export finished",
|
|
129
|
+
* "Art-Net node went away".
|
|
130
|
+
*
|
|
131
|
+
* Wraps Base UI's `Toast`, which owns the queue, the auto-dismiss timers, the
|
|
132
|
+
* live-region announcements, swipe-to-dismiss and the F6 focus hotkey. This
|
|
133
|
+
* layer supplies the surface, the tone rail and the portal theme stamp.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* <Toast.Provider>
|
|
137
|
+
* <App />
|
|
138
|
+
* <Toast.Viewport />
|
|
139
|
+
* </Toast.Provider>
|
|
140
|
+
*/
|
|
141
|
+
const Toast$1 = {
|
|
142
|
+
Provider: ToastProvider,
|
|
143
|
+
Viewport: ToastViewport
|
|
144
|
+
};
|
|
145
|
+
//#endregion
|
|
146
|
+
export { Toast$1 as Toast, useToast };
|