@cueplusplus/ui 0.2.0 → 0.5.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 +2250 -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 +1 -1
- package/dist/brand/cue-mark.d.ts +1 -1
- package/dist/brand/cue-mark.js +1 -1
- package/dist/chat/index.d.ts +2 -2
- package/dist/chat/message-list.d.ts +6 -0
- package/dist/chat/message-list.js +35 -0
- package/dist/chrome/_edge-scroller.js +12 -1
- package/dist/chrome/_tabs-scroll.d.ts +1 -1
- package/dist/chrome/_tabs-scroll.js +1 -1
- package/dist/chrome/app-shell.d.ts +52 -2
- package/dist/chrome/app-shell.js +80 -8
- package/dist/chrome/index.d.ts +2 -2
- package/dist/configurator/_export.js +3 -2
- package/dist/configurator/_overrides.d.ts +1 -1
- package/dist/configurator/_overrides.js +18 -6
- package/dist/configurator/token-editor.js +4 -1
- package/dist/date/_segments.js +37 -2
- 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 +121 -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 +107 -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/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 +9 -7
- package/dist/index.js +3 -2
- package/dist/instruments/index.d.ts +2 -2
- package/dist/instruments/index.js +2 -2
- package/dist/instruments/table.d.ts +14 -1
- package/dist/instruments/table.js +20 -1
- package/dist/instruments/two-step-button.js +25 -6
- package/dist/layout/sidebar.d.ts +19 -1
- package/dist/layout/sidebar.js +19 -1
- package/dist/primitives/button.js +11 -1
- package/dist/primitives/chip.d.ts +34 -8
- package/dist/primitives/chip.js +97 -11
- package/dist/styles.css +11 -1
- package/dist/system/agent-skin.d.ts +27 -0
- package/dist/system/agent-skin.js +20 -0
- package/dist/system/index.d.ts +3 -3
- package/dist/system/portal.d.ts +5 -3
- package/dist/system/portal.js +36 -8
- package/dist/system/prepaint.d.ts +20 -2
- package/dist/system/prepaint.js +39 -33
- package/dist/system/theme-provider.d.ts +13 -2
- package/dist/system/theme-provider.js +107 -26
- package/dist/system/use-density.d.ts +9 -0
- package/dist/system/use-density.js +9 -0
- package/dist/system/use-isomorphic-layout-effect.js +19 -1
- package/dist/theming/_presets.d.ts +1 -1
- package/dist/theming/_presets.js +124 -8
- package/dist/theming/contrast.d.ts +16 -4
- package/dist/theming/contrast.js +33 -6
- package/dist/theming/create-theme.d.ts +8 -4
- package/dist/theming/create-theme.js +56 -20
- package/dist/theming/serialize.d.ts +11 -2
- package/dist/theming/serialize.js +87 -9
- package/manifest/components/accordion.json +154 -0
- package/manifest/components/activity-graph.json +88 -0
- package/manifest/components/agent-card.json +120 -0
- package/manifest/components/agent-handoff.json +87 -0
- package/manifest/components/agent-mode-badge.json +84 -0
- package/manifest/components/agent-pile.json +116 -0
- package/manifest/components/agent-plan.json +67 -0
- package/manifest/components/agent-status.json +73 -0
- package/manifest/components/agent-surface.json +78 -0
- package/manifest/components/alert-dialog.json +190 -0
- package/manifest/components/animated-number.json +67 -0
- package/manifest/components/app-bar.json +244 -0
- package/manifest/components/app-shell.json +383 -0
- package/manifest/components/app-window-frame.json +102 -0
- package/manifest/components/approval-card.json +106 -0
- package/manifest/components/artifact-card.json +81 -0
- package/manifest/components/ask-box.json +209 -0
- package/manifest/components/audience-icon.json +52 -0
- package/manifest/components/autocomplete.json +197 -0
- package/manifest/components/avatar-group.json +72 -0
- package/manifest/components/avatar.json +95 -0
- package/manifest/components/background-inbox.json +71 -0
- package/manifest/components/branch-picker.json +124 -0
- package/manifest/components/breadcrumb.json +74 -0
- package/manifest/components/button-group.json +74 -0
- package/manifest/components/button.json +126 -0
- package/manifest/components/calendar.json +65 -0
- package/manifest/components/canvas-split-body.json +62 -0
- package/manifest/components/canvas-split-document.json +54 -0
- package/manifest/components/canvas-split-header.json +83 -0
- package/manifest/components/canvas-split-line.json +62 -0
- package/manifest/components/canvas-split-message.json +62 -0
- package/manifest/components/canvas-split-thread.json +54 -0
- package/manifest/components/canvas-split.json +60 -0
- package/manifest/components/card.json +140 -0
- package/manifest/components/carousel.json +200 -0
- package/manifest/components/catalogue-icon.json +52 -0
- package/manifest/components/channel-beta-icon.json +52 -0
- package/manifest/components/channel-matrix.json +173 -0
- package/manifest/components/channel-released-icon.json +52 -0
- package/manifest/components/chart-container.json +111 -0
- package/manifest/components/chart-ramp.json +72 -0
- package/manifest/components/chart-swatch.json +65 -0
- package/manifest/components/chart-tooltip-content.json +114 -0
- package/manifest/components/chart.json +93 -0
- package/manifest/components/chat-empty-state.json +55 -0
- package/manifest/components/chat-panel-assistant-message.json +51 -0
- package/manifest/components/chat-panel-composer.json +66 -0
- package/manifest/components/chat-panel-messages.json +51 -0
- package/manifest/components/chat-panel-typing.json +51 -0
- package/manifest/components/chat-panel-user-message.json +51 -0
- package/manifest/components/chat-panel.json +57 -0
- package/manifest/components/checkbox-group.json +68 -0
- package/manifest/components/checkbox.json +93 -0
- package/manifest/components/checkpoint-history.json +80 -0
- package/manifest/components/chip.json +144 -0
- package/manifest/components/clamp.json +102 -0
- package/manifest/components/cli-tool-icon.json +52 -0
- package/manifest/components/code-diff.json +87 -0
- package/manifest/components/code-runner.json +97 -0
- package/manifest/components/collapsible.json +120 -0
- package/manifest/components/color-area.json +59 -0
- package/manifest/components/color-field.json +79 -0
- package/manifest/components/color-picker.json +175 -0
- package/manifest/components/color-slider.json +75 -0
- package/manifest/components/color-swatch.json +68 -0
- package/manifest/components/colors-section.json +66 -0
- package/manifest/components/combobox.json +198 -0
- package/manifest/components/command-palette.json +177 -0
- package/manifest/components/compaction-row.json +100 -0
- package/manifest/components/comparison-card.json +83 -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 +75 -0
- package/manifest/components/composer-attachments.json +60 -0
- package/manifest/components/composer-bar.json +73 -0
- package/manifest/components/composer-command-item.json +79 -0
- package/manifest/components/composer-context.json +67 -0
- package/manifest/components/composer-input.json +73 -0
- package/manifest/components/composer-menu-item.json +72 -0
- package/manifest/components/composer-menu.json +79 -0
- package/manifest/components/composer-model-item.json +75 -0
- package/manifest/components/composer-model-trigger.json +75 -0
- package/manifest/components/composer-person-item.json +79 -0
- package/manifest/components/composer-send.json +80 -0
- package/manifest/components/composer-toolbar.json +65 -0
- package/manifest/components/composer-voice-button.json +68 -0
- package/manifest/components/composer-voice.json +75 -0
- package/manifest/components/composer.json +176 -0
- package/manifest/components/computer-use.json +84 -0
- package/manifest/components/confidence-marker.json +74 -0
- package/manifest/components/connection-state.json +84 -0
- package/manifest/components/container.json +60 -0
- package/manifest/components/context-breakdown.json +65 -0
- package/manifest/components/context-menu.json +121 -0
- package/manifest/components/context-usage.json +85 -0
- package/manifest/components/conversation-search.json +92 -0
- package/manifest/components/copy-button.json +93 -0
- package/manifest/components/cost-meter.json +74 -0
- package/manifest/components/cue-logotype.json +96 -0
- package/manifest/components/cue-mark.json +97 -0
- package/manifest/components/cue-portal-frame.json +55 -0
- package/manifest/components/data-table-pagination.json +83 -0
- package/manifest/components/data-table-toolbar.json +104 -0
- package/manifest/components/date-field.json +80 -0
- package/manifest/components/date-picker.json +191 -0
- package/manifest/components/date-range-picker.json +191 -0
- package/manifest/components/day-separator.json +58 -0
- package/manifest/components/delegation-card.json +144 -0
- package/manifest/components/density.json +58 -0
- package/manifest/components/description-list.json +84 -0
- package/manifest/components/diagram.json +100 -0
- package/manifest/components/dialog.json +198 -0
- package/manifest/components/disclosure.json +109 -0
- package/manifest/components/dmx-bar.json +94 -0
- package/manifest/components/dmx-strip.json +101 -0
- package/manifest/components/document-reference.json +90 -0
- package/manifest/components/draft-restore.json +82 -0
- package/manifest/components/drawer.json +179 -0
- package/manifest/components/dropdown-menu.json +229 -0
- package/manifest/components/edit-message.json +105 -0
- package/manifest/components/elements-command-palette.json +100 -0
- package/manifest/components/elements-composer.json +71 -0
- package/manifest/components/elements-data-table.json +68 -0
- package/manifest/components/elements-timeline.json +69 -0
- package/manifest/components/elicitation-form.json +103 -0
- package/manifest/components/empty-state-composer.json +64 -0
- package/manifest/components/empty-state-greeting.json +49 -0
- package/manifest/components/empty-state-suggestion.json +57 -0
- package/manifest/components/empty-state-suggestions.json +49 -0
- package/manifest/components/empty-state.json +90 -0
- package/manifest/components/end-of-turn-summary.json +77 -0
- package/manifest/components/env-var-input.json +150 -0
- package/manifest/components/error-state.json +80 -0
- package/manifest/components/export-dialog.json +84 -0
- package/manifest/components/eyebrow.json +56 -0
- package/manifest/components/feedback-dialog.json +107 -0
- package/manifest/components/field-description.json +63 -0
- package/manifest/components/field-error.json +77 -0
- package/manifest/components/field-label.json +63 -0
- package/manifest/components/field.json +79 -0
- package/manifest/components/file-tree.json +83 -0
- package/manifest/components/file-upload.json +159 -0
- package/manifest/components/flow-background.json +50 -0
- package/manifest/components/flow-controls.json +50 -0
- package/manifest/components/flow-graph.json +75 -0
- package/manifest/components/folder-icon.json +52 -0
- package/manifest/components/footer.json +112 -0
- package/manifest/components/frac.json +59 -0
- package/manifest/components/generation-loader.json +64 -0
- package/manifest/components/generative-ui.json +93 -0
- package/manifest/components/grid.json +81 -0
- package/manifest/components/group-bar.json +102 -0
- package/manifest/components/guardrail-notice.json +91 -0
- package/manifest/components/hover-card.json +151 -0
- package/manifest/components/icon-button.json +88 -0
- package/manifest/components/image-generation.json +67 -0
- package/manifest/components/info-tip.json +98 -0
- package/manifest/components/inline-citation.json +77 -0
- package/manifest/components/input-group.json +91 -0
- package/manifest/components/input.json +89 -0
- package/manifest/components/item.json +129 -0
- package/manifest/components/job-progress.json +96 -0
- package/manifest/components/kbd.json +52 -0
- package/manifest/components/launcher-bubble.json +105 -0
- package/manifest/components/link.json +81 -0
- package/manifest/components/live-region-announcer.json +79 -0
- package/manifest/components/log-viewer.json +139 -0
- package/manifest/components/map-answer.json +83 -0
- package/manifest/components/markdown-text.json +94 -0
- package/manifest/components/math-block.json +74 -0
- package/manifest/components/mcp-server-icon.json +52 -0
- package/manifest/components/mcp-server-panel.json +87 -0
- package/manifest/components/memory-chips.json +65 -0
- package/manifest/components/menubar.json +157 -0
- package/manifest/components/message-actions.json +99 -0
- package/manifest/components/message-attachments.json +63 -0
- package/manifest/components/message-branches.json +71 -0
- package/manifest/components/message-list.json +100 -0
- package/manifest/components/message-pair.json +86 -0
- package/manifest/components/message-queue.json +74 -0
- package/manifest/components/message-timing.json +62 -0
- package/manifest/components/message.json +116 -0
- package/manifest/components/meter.json +114 -0
- package/manifest/components/mobile-composer.json +126 -0
- package/manifest/components/model-picker.json +76 -0
- package/manifest/components/multi-select.json +190 -0
- package/manifest/components/musical-time-input.json +113 -0
- package/manifest/components/navigation-menu.json +226 -0
- package/manifest/components/node-card.json +109 -0
- package/manifest/components/node-handle.json +69 -0
- package/manifest/components/number-field.json +107 -0
- package/manifest/components/number-ticker.json +61 -0
- package/manifest/components/onboarding.json +84 -0
- package/manifest/components/otp-field.json +128 -0
- package/manifest/components/page-shell.json +96 -0
- package/manifest/components/pagination.json +92 -0
- package/manifest/components/panel-header.json +77 -0
- package/manifest/components/panel.json +71 -0
- package/manifest/components/password-input.json +119 -0
- package/manifest/components/permission-grant.json +92 -0
- package/manifest/components/permission-scopes.json +139 -0
- package/manifest/components/piano-keyboard.json +120 -0
- package/manifest/components/plussie.json +111 -0
- package/manifest/components/popover.json +193 -0
- package/manifest/components/preset-section.json +73 -0
- package/manifest/components/progress.json +95 -0
- package/manifest/components/prompt-library.json +99 -0
- package/manifest/components/queue-dock.json +110 -0
- package/manifest/components/quota-banner.json +94 -0
- package/manifest/components/quote-reply.json +105 -0
- package/manifest/components/radio-group.json +73 -0
- package/manifest/components/radio.json +80 -0
- package/manifest/components/rating.json +141 -0
- package/manifest/components/read-aloud.json +111 -0
- package/manifest/components/reasoning-effort.json +81 -0
- package/manifest/components/reasoning-panel.json +108 -0
- package/manifest/components/recommendation-card.json +107 -0
- package/manifest/components/regenerate-menu.json +89 -0
- package/manifest/components/replay-player.json +102 -0
- package/manifest/components/research-report.json +76 -0
- package/manifest/components/resizable.json +88 -0
- package/manifest/components/retrieval-chunks.json +84 -0
- package/manifest/components/revert-dock.json +150 -0
- package/manifest/components/reviewable-diff.json +93 -0
- package/manifest/components/risk-badge.json +74 -0
- package/manifest/components/row.json +109 -0
- package/manifest/components/schedule-card.json +101 -0
- package/manifest/components/score-breakdown.json +91 -0
- package/manifest/components/scroll-anchor.json +72 -0
- package/manifest/components/scroll-area.json +91 -0
- package/manifest/components/scrollable-tabs-list.json +83 -0
- package/manifest/components/scrub-input.json +200 -0
- package/manifest/components/seam-cell.json +75 -0
- package/manifest/components/seam-grid.json +75 -0
- package/manifest/components/seam-list.json +56 -0
- package/manifest/components/search-input.json +134 -0
- package/manifest/components/section-header.json +112 -0
- package/manifest/components/segmented-control.json +138 -0
- package/manifest/components/select.json +194 -0
- package/manifest/components/separator.json +53 -0
- package/manifest/components/settings-panel.json +118 -0
- package/manifest/components/shape-section.json +66 -0
- package/manifest/components/shared-conversation.json +89 -0
- package/manifest/components/sheet.json +186 -0
- package/manifest/components/shimmer-label.json +59 -0
- package/manifest/components/sidebar.json +198 -0
- package/manifest/components/signal-edge.json +56 -0
- package/manifest/components/skeleton.json +46 -0
- package/manifest/components/skill-icon.json +52 -0
- package/manifest/components/slider.json +89 -0
- package/manifest/components/sources.json +83 -0
- package/manifest/components/sparkline.json +76 -0
- package/manifest/components/speaker-identity.json +61 -0
- package/manifest/components/spec-sheet.json +80 -0
- package/manifest/components/spectrum-visualizer.json +115 -0
- package/manifest/components/spinner.json +61 -0
- package/manifest/components/stack-icon.json +52 -0
- package/manifest/components/stack.json +96 -0
- package/manifest/components/stacks-matrix-icon.json +52 -0
- package/manifest/components/stat.json +87 -0
- package/manifest/components/status-bar.json +58 -0
- package/manifest/components/status-dot.json +78 -0
- package/manifest/components/stepper.json +89 -0
- package/manifest/components/stopped-run.json +81 -0
- package/manifest/components/streaming-text.json +71 -0
- package/manifest/components/sub.json +44 -0
- package/manifest/components/subagent-list.json +88 -0
- package/manifest/components/suggestions.json +84 -0
- package/manifest/components/sup.json +44 -0
- package/manifest/components/swap-label.json +71 -0
- package/manifest/components/switch.json +87 -0
- package/manifest/components/table-scroll-region.json +69 -0
- package/manifest/components/table.json +155 -0
- package/manifest/components/tabs.json +145 -0
- package/manifest/components/tags-input.json +190 -0
- package/manifest/components/tail-status.json +109 -0
- package/manifest/components/terminal-block.json +91 -0
- package/manifest/components/terminal-frame.json +119 -0
- package/manifest/components/textarea.json +76 -0
- package/manifest/components/theme-configurator.json +124 -0
- package/manifest/components/theme-provider.json +134 -0
- package/manifest/components/thinking-indicator.json +63 -0
- package/manifest/components/thread-list.json +76 -0
- package/manifest/components/thread-search.json +90 -0
- package/manifest/components/threshold-rail.json +160 -0
- package/manifest/components/time-boundary.json +62 -0
- package/manifest/components/time-field.json +80 -0
- package/manifest/components/timeline-ruler.json +139 -0
- package/manifest/components/timeline.json +115 -0
- package/manifest/components/title-bar.json +82 -0
- package/manifest/components/toast.json +130 -0
- package/manifest/components/todo-list.json +69 -0
- package/manifest/components/toggle-group.json +106 -0
- package/manifest/components/toggle.json +109 -0
- package/manifest/components/token-editor.json +90 -0
- package/manifest/components/tool-call-card.json +200 -0
- package/manifest/components/tool-call.json +119 -0
- package/manifest/components/tool-error.json +114 -0
- package/manifest/components/tool-group.json +83 -0
- package/manifest/components/tool-timeline.json +119 -0
- package/manifest/components/toolbar.json +163 -0
- package/manifest/components/tooltip.json +164 -0
- package/manifest/components/trace-waterfall.json +74 -0
- package/manifest/components/tree-visibility-toggle.json +84 -0
- package/manifest/components/tree.json +140 -0
- package/manifest/components/turn-footer.json +105 -0
- package/manifest/components/two-step-button.json +113 -0
- package/manifest/components/typing-indicator.json +53 -0
- package/manifest/components/universe-grid.json +127 -0
- package/manifest/components/unread-divider.json +55 -0
- package/manifest/components/usage-chart.json +124 -0
- package/manifest/components/verdict-row.json +91 -0
- package/manifest/components/voice-conversation.json +109 -0
- package/manifest/components/web-preview.json +87 -0
- package/manifest/components/web-search.json +92 -0
- package/manifest/components/work-collapse.json +102 -0
- package/manifest/manifest.json +4779 -0
- package/manifest/tokens.json +159 -0
- package/package.json +54 -5
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "OTPField",
|
|
3
|
+
"slug": "otp-field",
|
|
4
|
+
"group": "forms",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "A one-time code, one character per box.\n\nThe boxes are not decoration: they tell the user how long the code is before\nthey start typing, which is the whole reason this pattern beats a plain text\ninput. Paste, arrow keys, Backspace across slot boundaries and the\n`one-time-code` autofill hint all come from Base UI.\n\nSlots ride the recessed chassis — sunken fill, hairline rim — so a code field\nreads as \"type here\" like every other input in the system, just squared off.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "className",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "Extra classes for the row."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "id",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"required": false,
|
|
21
|
+
"defaultValue": null,
|
|
22
|
+
"description": "Id of the first slot. Generated when omitted, so the hidden label can target it."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "aria-label",
|
|
26
|
+
"type": "string",
|
|
27
|
+
"required": false,
|
|
28
|
+
"defaultValue": null,
|
|
29
|
+
"description": "Accessible name for the field. Names the group *and*, through a visually\nhidden `<label>`, the first slot — the ARIA pattern for a code field. Leave\nit off inside a {@link Field }, which supplies a real label."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "separator",
|
|
33
|
+
"type": "ReactNode",
|
|
34
|
+
"required": false,
|
|
35
|
+
"defaultValue": "–",
|
|
36
|
+
"description": "What sits between groups. Defaults to `\"–\"`. Always `aria-hidden`."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "size",
|
|
40
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
41
|
+
"required": false,
|
|
42
|
+
"defaultValue": "md",
|
|
43
|
+
"description": "Rung of the control ladder. Defaults to `\"md\"`."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "length",
|
|
47
|
+
"type": "number",
|
|
48
|
+
"required": false,
|
|
49
|
+
"defaultValue": "6",
|
|
50
|
+
"description": "How many characters the code has. Defaults to `6`."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "groupSize",
|
|
54
|
+
"type": "number",
|
|
55
|
+
"required": false,
|
|
56
|
+
"defaultValue": null,
|
|
57
|
+
"description": "Insert a separator after every `groupSize` slots — `groupSize={3}` renders a\nsix-character code as `123 456`, which is how people read one off a screen."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "slotLabel",
|
|
61
|
+
"type": "((index: number, length: number) => string)",
|
|
62
|
+
"required": false,
|
|
63
|
+
"defaultValue": "(index, total) => `Character ${index + 1} of ${total}`",
|
|
64
|
+
"description": "Accessible name for slot `index` (1-based here, since slot 0 is named by the\nfield label) of `length`. Defaults to\n``(index, length) => `Character ${index + 1} of ${length}` ``."
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "slotClassName",
|
|
68
|
+
"type": "string",
|
|
69
|
+
"required": false,
|
|
70
|
+
"defaultValue": null,
|
|
71
|
+
"description": "Extra classes for every slot."
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"typeReferences": [
|
|
75
|
+
"Omit<BaseOTPField.Root.Props, \"className\" | \"children\" | \"length\">"
|
|
76
|
+
],
|
|
77
|
+
"subcomponents": [],
|
|
78
|
+
"parts": [],
|
|
79
|
+
"variants": {},
|
|
80
|
+
"defaultVariants": {},
|
|
81
|
+
"tokensUsed": [
|
|
82
|
+
"--cue-accent",
|
|
83
|
+
"--cue-border",
|
|
84
|
+
"--cue-control-lg",
|
|
85
|
+
"--cue-control-md",
|
|
86
|
+
"--cue-control-sm",
|
|
87
|
+
"--cue-danger",
|
|
88
|
+
"--cue-fg",
|
|
89
|
+
"--cue-fg-subtle",
|
|
90
|
+
"--cue-font-mono",
|
|
91
|
+
"--cue-radius-control",
|
|
92
|
+
"--cue-space-1",
|
|
93
|
+
"--cue-space-2",
|
|
94
|
+
"--cue-space-3",
|
|
95
|
+
"--cue-space-4",
|
|
96
|
+
"--cue-space-5",
|
|
97
|
+
"--cue-sunken",
|
|
98
|
+
"--cue-text-body",
|
|
99
|
+
"--cue-text-emphasis",
|
|
100
|
+
"--cue-text-label",
|
|
101
|
+
"--cue-text-ui"
|
|
102
|
+
],
|
|
103
|
+
"summary": "A one-time code, one character per box.",
|
|
104
|
+
"examples": [
|
|
105
|
+
{
|
|
106
|
+
"title": "Usage",
|
|
107
|
+
"code": "<OTPField aria-label=\"Verification code\" onValueComplete={submit} />\n<OTPField aria-label=\"Recovery code\" length={8} groupSize={4} validationType=\"alphanumeric\" />",
|
|
108
|
+
"language": "tsx"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"status": "todo-docs",
|
|
112
|
+
"url": "/docs/components/otp-field",
|
|
113
|
+
"mdUrl": "/docs/components/otp-field.md",
|
|
114
|
+
"jsonUrl": "/r/components/otp-field.json",
|
|
115
|
+
"specimens": [
|
|
116
|
+
{
|
|
117
|
+
"title": "OTPField",
|
|
118
|
+
"group": "forms",
|
|
119
|
+
"components": [
|
|
120
|
+
"OTPField"
|
|
121
|
+
],
|
|
122
|
+
"code": "<Specimens>\n <Specimen label=\"empty\">\n <OTPField aria-label=\"Pairing code\" />\n </Specimen>\n <Specimen label=\"filled\">\n <OTPField aria-label=\"Pairing code, filled\" defaultValue=\"428170\" />\n </Specimen>\n <Specimen label=\"4 digits, sm\">\n <OTPField aria-label=\"Short code\" length={4} groupSize={4} size=\"sm\" />\n </Specimen>\n <Specimen label=\"disabled\">\n <OTPField aria-label=\"Code, disabled\" defaultValue=\"428170\" disabled />\n </Specimen>\n</Specimens>",
|
|
123
|
+
"note": "Six slots in two groups. One value, six boxes: paste fills all of them.",
|
|
124
|
+
"interaction": "Backspace walks back through the slots; arrow keys move without deleting."
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"todo": true
|
|
128
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "PageShell",
|
|
3
|
+
"slug": "page-shell",
|
|
4
|
+
"group": "chrome",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": false,
|
|
8
|
+
"description": "A centred content column with a standard page header.\n\nThe header is emitted only when something fills it, so a shell used purely\nfor its measure adds no empty box and no stray vertical rhythm.\n\nRenders a plain `<div>` rather than a `<main>`: a page can hold more than one\nshell (a split view), and only one element per document may be `<main>`. Wrap\nit yourself where the semantics apply.\n\nStatic markup — no `\"use client\"`.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "width",
|
|
12
|
+
"type": "\"narrow\" | \"wide\" | \"broad\" | \"full\"",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": "narrow",
|
|
15
|
+
"description": "Which measure the content column takes. Defaults to `\"narrow\"`."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "title",
|
|
19
|
+
"type": "ReactNode",
|
|
20
|
+
"required": false,
|
|
21
|
+
"defaultValue": null,
|
|
22
|
+
"description": "The page heading. Rendered as the `<h1>`."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "subtitle",
|
|
26
|
+
"type": "ReactNode",
|
|
27
|
+
"required": false,
|
|
28
|
+
"defaultValue": null,
|
|
29
|
+
"description": "One supporting line under the title."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "eyebrow",
|
|
33
|
+
"type": "ReactNode",
|
|
34
|
+
"required": false,
|
|
35
|
+
"defaultValue": null,
|
|
36
|
+
"description": "Accent kicker above the title — normally an `<Eyebrow>`."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "actions",
|
|
40
|
+
"type": "ReactNode",
|
|
41
|
+
"required": false,
|
|
42
|
+
"defaultValue": null,
|
|
43
|
+
"description": "Page-level actions, aligned with the title."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "children",
|
|
47
|
+
"type": "ReactNode",
|
|
48
|
+
"required": false,
|
|
49
|
+
"defaultValue": null,
|
|
50
|
+
"description": "The page body."
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"typeReferences": [
|
|
54
|
+
"Omit<React.ComponentPropsWithoutRef<\"div\">, \"title\">"
|
|
55
|
+
],
|
|
56
|
+
"subcomponents": [],
|
|
57
|
+
"parts": [],
|
|
58
|
+
"variants": {},
|
|
59
|
+
"defaultVariants": {},
|
|
60
|
+
"tokensUsed": [
|
|
61
|
+
"--cue-fg",
|
|
62
|
+
"--cue-fg-muted",
|
|
63
|
+
"--cue-font-mono",
|
|
64
|
+
"--cue-space-2",
|
|
65
|
+
"--cue-space-4",
|
|
66
|
+
"--cue-space-6",
|
|
67
|
+
"--cue-space-7",
|
|
68
|
+
"--cue-text-title",
|
|
69
|
+
"--cue-text-ui"
|
|
70
|
+
],
|
|
71
|
+
"summary": "A centred content column with a standard page header.",
|
|
72
|
+
"examples": [
|
|
73
|
+
{
|
|
74
|
+
"title": "Usage",
|
|
75
|
+
"code": "<PageShell title=\"Patch\" subtitle=\"512 channels\" eyebrow={<Eyebrow>Console</Eyebrow>}>\n <Panel>…</Panel>\n</PageShell>",
|
|
76
|
+
"language": "tsx"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"status": "todo-docs",
|
|
80
|
+
"url": "/docs/components/page-shell",
|
|
81
|
+
"mdUrl": "/docs/components/page-shell.md",
|
|
82
|
+
"jsonUrl": "/r/components/page-shell.json",
|
|
83
|
+
"specimens": [
|
|
84
|
+
{
|
|
85
|
+
"title": "PageShell",
|
|
86
|
+
"group": "chrome",
|
|
87
|
+
"components": [
|
|
88
|
+
"PageShell"
|
|
89
|
+
],
|
|
90
|
+
"code": "<div className=\"w-full rounded-(--radius-surface) border border-border bg-bg py-(--cue-space-5)\">\n <PageShell\n width=\"narrow\"\n eyebrow={<Eyebrow>show file</Eyebrow>}\n title=\"Ada, act 2\"\n subtitle=\"12 cues, 48 fixtures, 4 universes.\"\n actions={<Button variant=\"primary\">Save</Button>}\n >\n <Panel className=\"p-(--cue-space-5) font-mono text-(length:--cue-text-ui) text-fg-muted\">\n Page body.\n </Panel>\n </PageShell>\n</div>",
|
|
91
|
+
"note": "The page measure: eyebrow, title, subtitle, actions and a body at one of four widths — 42rem, 54rem, 84rem, or uncapped.",
|
|
92
|
+
"interaction": "none."
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"todo": true
|
|
96
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Pagination",
|
|
3
|
+
"slug": "pagination",
|
|
4
|
+
"group": "layout",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "The pager: previous, a window of page numbers, next.\n\nRenders nothing at all when there is a single page — a control offering no\nchoice is chrome that says \"there is more here\" when there is not.\n\nEvery page number is a real button with a spoken name (\"Page 3\"), because the\nbare numeral is meaningless read aloud out of context; the ellipses are\n`aria-hidden` for the same reason breadcrumb separators are.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "page",
|
|
12
|
+
"type": "number",
|
|
13
|
+
"required": true,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "The current page, 1-based."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "pageCount",
|
|
19
|
+
"type": "number",
|
|
20
|
+
"required": true,
|
|
21
|
+
"defaultValue": null,
|
|
22
|
+
"description": "How many pages there are in total."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "onPageChange",
|
|
26
|
+
"type": "(page: number) => void",
|
|
27
|
+
"required": true,
|
|
28
|
+
"defaultValue": null,
|
|
29
|
+
"description": "Called with the page a control asked for. Always within `1..pageCount`."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "siblingCount",
|
|
33
|
+
"type": "number",
|
|
34
|
+
"required": false,
|
|
35
|
+
"defaultValue": "1",
|
|
36
|
+
"description": "How many pages to show either side of the current one. Defaults to `1`."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "label",
|
|
40
|
+
"type": "string",
|
|
41
|
+
"required": false,
|
|
42
|
+
"defaultValue": "Pagination",
|
|
43
|
+
"description": "The nav's accessible name. Defaults to `\"Pagination\"`."
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"typeReferences": [
|
|
47
|
+
"Omit<React.ComponentPropsWithoutRef<\"nav\">, \"onChange\" | \"children\">"
|
|
48
|
+
],
|
|
49
|
+
"subcomponents": [],
|
|
50
|
+
"parts": [],
|
|
51
|
+
"variants": {},
|
|
52
|
+
"defaultVariants": {},
|
|
53
|
+
"tokensUsed": [
|
|
54
|
+
"--cue-accent",
|
|
55
|
+
"--cue-accent-soft",
|
|
56
|
+
"--cue-control-sm",
|
|
57
|
+
"--cue-fg",
|
|
58
|
+
"--cue-fg-muted",
|
|
59
|
+
"--cue-fg-subtle",
|
|
60
|
+
"--cue-font-mono",
|
|
61
|
+
"--cue-radius-control",
|
|
62
|
+
"--cue-space-1",
|
|
63
|
+
"--cue-space-2",
|
|
64
|
+
"--cue-surface-2",
|
|
65
|
+
"--cue-text-ui"
|
|
66
|
+
],
|
|
67
|
+
"summary": "The pager: previous, a window of page numbers, next.",
|
|
68
|
+
"examples": [
|
|
69
|
+
{
|
|
70
|
+
"title": "Usage",
|
|
71
|
+
"code": "<Pagination page={page} pageCount={12} onPageChange={setPage} />",
|
|
72
|
+
"language": "tsx"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"status": "todo-docs",
|
|
76
|
+
"url": "/docs/components/pagination",
|
|
77
|
+
"mdUrl": "/docs/components/pagination.md",
|
|
78
|
+
"jsonUrl": "/r/components/pagination.json",
|
|
79
|
+
"specimens": [
|
|
80
|
+
{
|
|
81
|
+
"title": "Pagination",
|
|
82
|
+
"group": "layout",
|
|
83
|
+
"components": [
|
|
84
|
+
"Pagination"
|
|
85
|
+
],
|
|
86
|
+
"code": "<div className=\"flex w-full flex-col gap-(--cue-space-4)\">\n <Pagination page={page} pageCount={12} onPageChange={setPage} />\n <Pagination page={1} pageCount={3} onPageChange={() => {}} />\n</div>",
|
|
87
|
+
"note": "A windowed pager with gaps, generated by the exported `paginationRange`.",
|
|
88
|
+
"interaction": "the current page is accent-soft and carries `aria-current`; the ends disable rather than disappear."
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"todo": true
|
|
92
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "PanelHeader",
|
|
3
|
+
"slug": "panel-header",
|
|
4
|
+
"group": "chrome",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": false,
|
|
8
|
+
"description": "The top bar of a {@link Panel}: title left, actions right, hairline under.\n\nPadded with the density row tokens rather than its own values, so the header\nlines up horizontally with the rows beneath it at every density level.\n\nStatic markup — no `\"use client\"`.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "title",
|
|
12
|
+
"type": "ReactNode",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "The header's label. Rendered one type rung above body text — the panel's\nown name, not a page heading."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "actions",
|
|
19
|
+
"type": "ReactNode",
|
|
20
|
+
"required": false,
|
|
21
|
+
"defaultValue": null,
|
|
22
|
+
"description": "Right-hand slot: the controls that act on the whole panel (a menu, a\nrefresh button, a count chip)."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "children",
|
|
26
|
+
"type": "ReactNode",
|
|
27
|
+
"required": false,
|
|
28
|
+
"defaultValue": null,
|
|
29
|
+
"description": "Extra content in the leading cluster, after the title."
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"typeReferences": [
|
|
33
|
+
"Omit<React.ComponentPropsWithoutRef<\"div\">, \"title\">"
|
|
34
|
+
],
|
|
35
|
+
"subcomponents": [],
|
|
36
|
+
"parts": [],
|
|
37
|
+
"variants": {},
|
|
38
|
+
"defaultVariants": {},
|
|
39
|
+
"tokensUsed": [
|
|
40
|
+
"--cue-border",
|
|
41
|
+
"--cue-fg",
|
|
42
|
+
"--cue-font-mono",
|
|
43
|
+
"--cue-pad-row-x",
|
|
44
|
+
"--cue-pad-row-y",
|
|
45
|
+
"--cue-radius-surface",
|
|
46
|
+
"--cue-space-2",
|
|
47
|
+
"--cue-space-3",
|
|
48
|
+
"--cue-surface-1",
|
|
49
|
+
"--cue-text-emphasis"
|
|
50
|
+
],
|
|
51
|
+
"summary": "The top bar of a {@link Panel}: title left, actions right, hairline under.",
|
|
52
|
+
"examples": [
|
|
53
|
+
{
|
|
54
|
+
"title": "Usage",
|
|
55
|
+
"code": "<PanelHeader title=\"Universes\" actions={<Chip tone=\"ok\">live</Chip>} />",
|
|
56
|
+
"language": "tsx"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"status": "todo-docs",
|
|
60
|
+
"url": "/docs/components/panel-header",
|
|
61
|
+
"mdUrl": "/docs/components/panel-header.md",
|
|
62
|
+
"jsonUrl": "/r/components/panel-header.json",
|
|
63
|
+
"specimens": [
|
|
64
|
+
{
|
|
65
|
+
"title": "Panel / PanelHeader",
|
|
66
|
+
"group": "chrome",
|
|
67
|
+
"components": [
|
|
68
|
+
"Panel",
|
|
69
|
+
"PanelHeader"
|
|
70
|
+
],
|
|
71
|
+
"code": "<div className=\"grid w-full gap-(--cue-space-5) lg:grid-cols-2\">\n <Panel>\n <PanelHeader title=\"Output\" actions={<Chip tone=\"ok\">live</Chip>} />\n {CUES.slice(0, 3).map((cue) => (\n <Row key={cue.id}>\n <span className=\"w-[2rem] shrink-0 font-mono tabular-nums\">{cue.id}</span>\n <span className=\"flex-1 truncate\">{cue.label}</span>\n <span className=\"font-mono tabular-nums text-fg-muted\">{cue.time}</span>\n </Row>\n ))}\n </Panel>\n <Panel className=\"p-(--cue-space-5)\">\n <PanelHeader>\n <Eyebrow>free-form header</Eyebrow>\n </PanelHeader>\n <p className=\"pt-(--cue-space-4) font-mono text-(length:--cue-text-ui) text-fg-muted\">\n A panel with body padding instead of rows, for prose and forms.\n </p>\n </Panel>\n</div>",
|
|
72
|
+
"note": "The universal container: one hairline rim, no shadow, and a header that owns its own rule.",
|
|
73
|
+
"interaction": "none. A panel is a box."
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"todo": true
|
|
77
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Panel",
|
|
3
|
+
"slug": "panel",
|
|
4
|
+
"group": "chrome",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": false,
|
|
8
|
+
"description": "The universal container: one hairline rim, one raised surface, one radius.\n\nEverything in a console lives in a panel — a cue list, a patch table, a\nsettings group — so the shape is defined once here rather than re-typed as\nfour utilities at every call site. `overflow-hidden` is part of the recipe,\nnot an extra: it clips the first and last `Row`'s square edges back to the\npanel's radius, which is what makes a stack of hairline rows read as one\nobject.\n\nDeliberately flat: no shadow. In this system only a floating surface (a\ndialog, a menu, a toast) is allowed one — see `overlays/_surface.ts`.\n\nStatic markup — no `\"use client\"`.",
|
|
9
|
+
"props": [],
|
|
10
|
+
"typeReferences": [
|
|
11
|
+
"React.ComponentPropsWithoutRef<\"div\">"
|
|
12
|
+
],
|
|
13
|
+
"subcomponents": [],
|
|
14
|
+
"parts": [],
|
|
15
|
+
"variants": {},
|
|
16
|
+
"defaultVariants": {},
|
|
17
|
+
"tokensUsed": [
|
|
18
|
+
"--cue-border",
|
|
19
|
+
"--cue-fg",
|
|
20
|
+
"--cue-font-mono",
|
|
21
|
+
"--cue-pad-row-x",
|
|
22
|
+
"--cue-pad-row-y",
|
|
23
|
+
"--cue-radius-surface",
|
|
24
|
+
"--cue-space-2",
|
|
25
|
+
"--cue-space-3",
|
|
26
|
+
"--cue-surface-1",
|
|
27
|
+
"--cue-text-emphasis"
|
|
28
|
+
],
|
|
29
|
+
"summary": "The universal container: one hairline rim, one raised surface, one radius.",
|
|
30
|
+
"examples": [
|
|
31
|
+
{
|
|
32
|
+
"title": "A panel of rows",
|
|
33
|
+
"code": "<Panel>\n <PanelHeader title=\"Cue stack\" actions={<Chip tone=\"ok\">live</Chip>} />\n <Row interactive>Cue 1 — house up</Row>\n <Row interactive>Cue 2 — blackout</Row>\n</Panel>",
|
|
34
|
+
"language": "tsx"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"title": "Usage",
|
|
38
|
+
"code": "<Panel>\n <PanelHeader title=\"Cue stack\" actions={<IconButton aria-label=\"Add\" icon={Plus} />} />\n <Row>Cue 1</Row>\n <Row>Cue 2</Row>\n</Panel>",
|
|
39
|
+
"language": "tsx"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"status": "stable",
|
|
43
|
+
"url": "/docs/components/panel",
|
|
44
|
+
"mdUrl": "/docs/components/panel.md",
|
|
45
|
+
"jsonUrl": "/r/components/panel.json",
|
|
46
|
+
"whenToUse": [
|
|
47
|
+
"Any grouped region of a console: a cue list, a table, a settings block.",
|
|
48
|
+
"As the parent of a `Row` stack, whose square corners it clips back to the panel radius."
|
|
49
|
+
],
|
|
50
|
+
"whenNotToUse": [
|
|
51
|
+
"Page-level structure. Use `PageShell` for a titled page, `Container` for a width bound.",
|
|
52
|
+
"Anything that floats. Menus, dialogs and toasts wear the overlay surface, which owns the only shadows in the system."
|
|
53
|
+
],
|
|
54
|
+
"commonMistakes": [
|
|
55
|
+
"Adding a shadow. A panel is flat by design; a shadow here reads as a bug in the theme.",
|
|
56
|
+
"Padding the panel and then padding its rows, which doubles the gutter the row tokens already set."
|
|
57
|
+
],
|
|
58
|
+
"specimens": [
|
|
59
|
+
{
|
|
60
|
+
"title": "Panel / PanelHeader",
|
|
61
|
+
"group": "chrome",
|
|
62
|
+
"components": [
|
|
63
|
+
"Panel",
|
|
64
|
+
"PanelHeader"
|
|
65
|
+
],
|
|
66
|
+
"code": "<div className=\"grid w-full gap-(--cue-space-5) lg:grid-cols-2\">\n <Panel>\n <PanelHeader title=\"Output\" actions={<Chip tone=\"ok\">live</Chip>} />\n {CUES.slice(0, 3).map((cue) => (\n <Row key={cue.id}>\n <span className=\"w-[2rem] shrink-0 font-mono tabular-nums\">{cue.id}</span>\n <span className=\"flex-1 truncate\">{cue.label}</span>\n <span className=\"font-mono tabular-nums text-fg-muted\">{cue.time}</span>\n </Row>\n ))}\n </Panel>\n <Panel className=\"p-(--cue-space-5)\">\n <PanelHeader>\n <Eyebrow>free-form header</Eyebrow>\n </PanelHeader>\n <p className=\"pt-(--cue-space-4) font-mono text-(length:--cue-text-ui) text-fg-muted\">\n A panel with body padding instead of rows, for prose and forms.\n </p>\n </Panel>\n</div>",
|
|
67
|
+
"note": "The universal container: one hairline rim, no shadow, and a header that owns its own rule.",
|
|
68
|
+
"interaction": "none. A panel is a box."
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "PasswordInput",
|
|
3
|
+
"slug": "password-input",
|
|
4
|
+
"group": "forms",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "A masked text field with a reveal control.\n\nThe reveal is a **toggle button carrying `aria-pressed`**, not a checkbox and\nnot a bare icon: a screen-reader user needs to know both what it does and\nwhich way it currently is, and `aria-pressed` is the one attribute that says\nboth. The label swaps with the state for the same reason.\n\nRevealing switches `type` between `password` and `text` rather than painting\nover the characters, so the browser's own autofill and password managers keep\nworking.",
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"name": "className",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"required": false,
|
|
14
|
+
"defaultValue": null,
|
|
15
|
+
"description": "Extra classes for the group that wraps the input and the reveal button."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "size",
|
|
19
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
20
|
+
"required": false,
|
|
21
|
+
"defaultValue": null,
|
|
22
|
+
"description": "Rung of the control ladder. Defaults to `\"md\"`."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "hideLabel",
|
|
26
|
+
"type": "string",
|
|
27
|
+
"required": false,
|
|
28
|
+
"defaultValue": "Hide password",
|
|
29
|
+
"description": "Accessible name while revealed. Defaults to `\"Hide password\"`."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "revealed",
|
|
33
|
+
"type": "boolean",
|
|
34
|
+
"required": false,
|
|
35
|
+
"defaultValue": null,
|
|
36
|
+
"description": "Reveal the value. Use with `onRevealedChange` for a controlled toggle."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "defaultRevealed",
|
|
40
|
+
"type": "boolean",
|
|
41
|
+
"required": false,
|
|
42
|
+
"defaultValue": "false",
|
|
43
|
+
"description": "Initially revealed, for an uncontrolled toggle. Defaults to `false`."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "onRevealedChange",
|
|
47
|
+
"type": "((revealed: boolean) => void)",
|
|
48
|
+
"required": false,
|
|
49
|
+
"defaultValue": null,
|
|
50
|
+
"description": "Called with the new reveal state."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "showReveal",
|
|
54
|
+
"type": "boolean",
|
|
55
|
+
"required": false,
|
|
56
|
+
"defaultValue": "true",
|
|
57
|
+
"description": "Offer the reveal affordance at all. Defaults to `true`. Switch it off for a\nvalue the product must never re-display — a stored secret the user is\nreplacing rather than reading."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "revealLabel",
|
|
61
|
+
"type": "string",
|
|
62
|
+
"required": false,
|
|
63
|
+
"defaultValue": "Show password",
|
|
64
|
+
"description": "Accessible name while masked. Defaults to `\"Show password\"`."
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"typeReferences": [
|
|
68
|
+
"Omit<InputProps, \"type\" | \"size\">"
|
|
69
|
+
],
|
|
70
|
+
"subcomponents": [],
|
|
71
|
+
"parts": [],
|
|
72
|
+
"variants": {},
|
|
73
|
+
"defaultVariants": {},
|
|
74
|
+
"tokensUsed": [
|
|
75
|
+
"--cue-accent",
|
|
76
|
+
"--cue-border",
|
|
77
|
+
"--cue-control-lg",
|
|
78
|
+
"--cue-control-md",
|
|
79
|
+
"--cue-control-sm",
|
|
80
|
+
"--cue-danger",
|
|
81
|
+
"--cue-fg",
|
|
82
|
+
"--cue-fg-subtle",
|
|
83
|
+
"--cue-font-mono",
|
|
84
|
+
"--cue-icon-md",
|
|
85
|
+
"--cue-radius-control",
|
|
86
|
+
"--cue-space-3",
|
|
87
|
+
"--cue-space-4",
|
|
88
|
+
"--cue-space-5",
|
|
89
|
+
"--cue-sunken",
|
|
90
|
+
"--cue-text-body",
|
|
91
|
+
"--cue-text-label",
|
|
92
|
+
"--cue-text-ui"
|
|
93
|
+
],
|
|
94
|
+
"summary": "A masked text field with a reveal control.",
|
|
95
|
+
"examples": [
|
|
96
|
+
{
|
|
97
|
+
"title": "Usage",
|
|
98
|
+
"code": "<PasswordInput aria-label=\"Service key\" value={key} onValueChange={setKey} />\n<Field><FieldLabel>Token</FieldLabel><PasswordInput showReveal={false} /></Field>",
|
|
99
|
+
"language": "tsx"
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"status": "todo-docs",
|
|
103
|
+
"url": "/docs/components/password-input",
|
|
104
|
+
"mdUrl": "/docs/components/password-input.md",
|
|
105
|
+
"jsonUrl": "/r/components/password-input.json",
|
|
106
|
+
"specimens": [
|
|
107
|
+
{
|
|
108
|
+
"title": "PasswordInput",
|
|
109
|
+
"group": "forms",
|
|
110
|
+
"components": [
|
|
111
|
+
"PasswordInput"
|
|
112
|
+
],
|
|
113
|
+
"code": "<Specimens>\n <Specimen label=\"hidden\">\n <PasswordInput aria-label=\"Console password\" defaultValue=\"hunter2\" />\n </Specimen>\n <Specimen label=\"revealed\">\n <PasswordInput aria-label=\"Console password, revealed\" defaultValue=\"hunter2\" defaultRevealed />\n </Specimen>\n <Specimen label=\"no toggle\">\n <PasswordInput aria-label=\"Password, no reveal\" defaultValue=\"hunter2\" showReveal={false} />\n </Specimen>\n <Specimen label=\"disabled\">\n <PasswordInput aria-label=\"Password, disabled\" defaultValue=\"hunter2\" disabled />\n </Specimen>\n</Specimens>",
|
|
114
|
+
"note": "Input plus a reveal toggle carrying `aria-pressed`, so the state is spoken rather than implied by an icon swap.",
|
|
115
|
+
"interaction": "the toggle is in the tab order after the field."
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"todo": true
|
|
119
|
+
}
|