@cueplusplus/ui 0.16.0 → 0.18.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 +901 -0
- package/README.md +1 -1
- package/dist/agent-runtime/tool-call-card.js +7 -3
- 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/charts/ramps.js +1 -1
- package/dist/chat/agent-pile.js +2 -1
- package/dist/chat/ask-box.js +4 -3
- package/dist/chat/delegation-card.js +3 -2
- package/dist/chat/message-list.js +3 -2
- package/dist/chat/message.js +17 -7
- package/dist/chrome/_edge-scroller.js +2 -1
- package/dist/chrome/_status-bar.js +9 -3
- package/dist/chrome/_tabs-scroll.d.ts +1 -1
- package/dist/chrome/_tabs-scroll.js +1 -1
- package/dist/chrome/app-bar.js +9 -3
- package/dist/chrome/app-shell.js +2 -1
- package/dist/chrome/band.d.ts +18 -12
- package/dist/chrome/band.js +18 -32
- package/dist/chrome/empty-state.js +8 -4
- package/dist/chrome/eyebrow.d.ts +13 -5
- package/dist/chrome/eyebrow.js +18 -7
- package/dist/chrome/footer.d.ts +5 -0
- package/dist/chrome/footer.js +14 -3
- package/dist/chrome/navigation-menu.js +6 -3
- package/dist/chrome/page-shell.js +8 -5
- package/dist/chrome/panel.d.ts +5 -2
- package/dist/chrome/panel.js +10 -5
- package/dist/chrome/row.js +9 -5
- package/dist/chrome/scroll-area.js +6 -4
- package/dist/chrome/section-header.js +13 -4
- package/dist/chrome/segmented-control.js +14 -4
- package/dist/chrome/status-bar.js +2 -1
- package/dist/chrome/tabs.js +14 -3
- package/dist/chrome/toolbar.js +6 -3
- package/dist/chrome/tree.js +3 -2
- package/dist/color/_thumb.js +9 -3
- package/dist/color/color-area.js +1 -1
- package/dist/color/color-swatch.js +1 -1
- package/dist/configurator/_overrides.js +13 -4
- package/dist/configurator/configurator.js +4 -1
- package/dist/configurator/export-dialog.js +5 -2
- package/dist/configurator/panel-sections.js +6 -2
- package/dist/configurator/token-editor.js +4 -1
- package/dist/date/_trigger.js +4 -1
- package/dist/date/calendar.js +22 -12
- package/dist/dmx/channel-matrix.js +3 -2
- package/dist/dmx/dmx-bar.js +1 -1
- package/dist/dmx/dmx-strip.js +1 -1
- package/dist/dmx/universe-grid.js +3 -2
- package/dist/elements/activity-graph.js +3 -3
- package/dist/elements/agent-card.js +3 -3
- package/dist/elements/approval-card.js +3 -3
- package/dist/elements/artifact-card.js +2 -2
- package/dist/elements/background-inbox.js +2 -2
- package/dist/elements/canvas-split.js +2 -2
- package/dist/elements/chart.js +1 -1
- package/dist/elements/chat-panel.js +2 -2
- package/dist/elements/checkpoint-history.js +2 -2
- package/dist/elements/clamp.js +2 -1
- package/dist/elements/code-diff.js +1 -1
- package/dist/elements/code-runner.js +1 -1
- package/dist/elements/command-palette.js +6 -5
- package/dist/elements/comparison-card.js +2 -2
- package/dist/elements/composer.js +9 -8
- package/dist/elements/computer-use.js +1 -1
- package/dist/elements/confidence-marker.js +2 -1
- package/dist/elements/connection-state.js +1 -1
- package/dist/elements/context-breakdown.js +1 -1
- package/dist/elements/context-usage.js +1 -1
- package/dist/elements/conversation-search.js +4 -3
- package/dist/elements/cost-meter.js +1 -1
- package/dist/elements/data-table.js +2 -2
- package/dist/elements/day-separator.js +1 -1
- package/dist/elements/diagram.js +1 -1
- package/dist/elements/document-reference.js +3 -3
- package/dist/elements/draft-restore.js +1 -1
- package/dist/elements/edit-message.js +4 -3
- package/dist/elements/elements.css +26 -5
- package/dist/elements/elicitation-form.js +3 -3
- package/dist/elements/empty-state.js +2 -1
- package/dist/elements/error-state.js +1 -1
- package/dist/elements/feedback-dialog.js +4 -3
- package/dist/elements/file-tree.js +2 -2
- package/dist/elements/flow-graph.js +2 -2
- package/dist/elements/guardrail-notice.js +3 -3
- package/dist/elements/image-generation.js +1 -1
- package/dist/elements/inline-citation.js +3 -3
- package/dist/elements/job-progress.js +3 -3
- package/dist/elements/launcher-bubble.js +2 -2
- package/dist/elements/loading-state.js +1 -1
- package/dist/elements/map-answer.js +3 -2
- package/dist/elements/markdown.js +5 -4
- package/dist/elements/math-block.js +1 -1
- package/dist/elements/mcp-server-panel.js +3 -3
- package/dist/elements/message-attachment.js +4 -4
- package/dist/elements/message-pair.js +1 -1
- package/dist/elements/message-queue.js +2 -2
- package/dist/elements/mobile-composer.js +4 -3
- package/dist/elements/model-picker.js +3 -3
- package/dist/elements/onboarding.js +2 -2
- package/dist/elements/permission-grant.js +2 -2
- package/dist/elements/permission-scopes.js +5 -4
- package/dist/elements/prompt-library.js +7 -6
- package/dist/elements/queue-dock.js +4 -3
- package/dist/elements/quota-banner.js +1 -1
- package/dist/elements/quote-reply.js +1 -1
- package/dist/elements/read-aloud.js +2 -2
- package/dist/elements/reasoning-panel.js +2 -1
- package/dist/elements/recommendation-card.d.ts +1 -1
- package/dist/elements/recommendation-card.js +2 -2
- package/dist/elements/regenerate-menu.js +2 -2
- package/dist/elements/research-report.js +1 -1
- package/dist/elements/retrieval-chunks.js +1 -1
- package/dist/elements/revert-dock.js +5 -4
- package/dist/elements/reviewable-diff.js +1 -1
- package/dist/elements/schedule-card.js +3 -3
- package/dist/elements/score-breakdown.js +1 -1
- package/dist/elements/scroll-anchor.js +2 -2
- package/dist/elements/settings-panel.js +3 -2
- package/dist/elements/shared-conversation.js +2 -2
- package/dist/elements/sources.js +4 -3
- package/dist/elements/speaker-identity.js +1 -1
- package/dist/elements/spec-sheet.js +1 -1
- package/dist/elements/streaming-text.js +1 -1
- package/dist/elements/subagent-list.js +2 -2
- package/dist/elements/suggestions.js +1 -1
- package/dist/elements/surfaces.d.ts +1 -1
- package/dist/elements/surfaces.js +2 -1
- package/dist/elements/tail-status.js +1 -1
- package/dist/elements/terminal-block.js +1 -1
- package/dist/elements/thread-list.js +1 -1
- package/dist/elements/thread-search.js +5 -4
- package/dist/elements/timeline.js +1 -1
- package/dist/elements/todo-list.js +2 -2
- package/dist/elements/tool-call.js +4 -3
- package/dist/elements/tool-error.js +2 -2
- package/dist/elements/tool-group.js +1 -1
- package/dist/elements/tool-timeline.js +4 -3
- package/dist/elements/trace-waterfall.js +1 -1
- package/dist/elements/verdict-row.js +2 -2
- package/dist/elements/voice-conversation.js +3 -2
- package/dist/elements/web-preview.js +1 -1
- package/dist/elements/web-search.js +2 -2
- package/dist/elements/work-collapse.js +2 -1
- package/dist/flow/node-card.js +3 -2
- package/dist/flow/use-flow-theme.js +2 -1
- package/dist/forms/_chassis.d.ts +34 -6
- package/dist/forms/_chassis.js +44 -9
- package/dist/forms/_listbox.js +22 -14
- package/dist/forms/checkbox.js +13 -4
- package/dist/forms/env-var-input.js +3 -2
- package/dist/forms/field.d.ts +2 -1
- package/dist/forms/field.js +16 -5
- package/dist/forms/file-upload.js +3 -2
- package/dist/forms/input-group.js +11 -2
- package/dist/forms/multi-select.js +4 -3
- package/dist/forms/number-field.js +7 -3
- package/dist/forms/otp-field.js +15 -6
- package/dist/forms/password-input.js +4 -2
- package/dist/forms/radio-group.js +10 -4
- package/dist/forms/rating.js +2 -1
- package/dist/forms/scrub-input.js +2 -1
- package/dist/forms/search-input.js +2 -1
- package/dist/forms/select.js +10 -4
- package/dist/forms/slider.js +9 -3
- package/dist/forms/switch.js +9 -3
- package/dist/forms/tags-input.js +4 -3
- package/dist/forms/textarea.js +3 -1
- package/dist/forms/toggle-group.js +2 -1
- package/dist/forms/toggle.js +5 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/instruments/_data-row.js +2 -1
- package/dist/instruments/app-window-frame.js +1 -1
- package/dist/instruments/code-block.js +8 -2
- package/dist/instruments/group-bar.js +1 -1
- package/dist/instruments/ledger.js +6 -2
- package/dist/instruments/log-viewer.js +4 -3
- package/dist/instruments/meter.js +2 -1
- package/dist/instruments/progress.js +9 -3
- package/dist/instruments/seam-grid.js +5 -3
- package/dist/instruments/stat.js +13 -4
- package/dist/instruments/table.js +29 -10
- package/dist/instruments/terminal-frame.js +4 -2
- package/dist/instruments/usage-chart.js +1 -1
- package/dist/layout/_collapse.js +26 -5
- package/dist/layout/accordion.js +2 -1
- package/dist/layout/bento.js +7 -4
- package/dist/layout/breadcrumb.js +10 -5
- package/dist/layout/card.js +14 -7
- package/dist/layout/carousel.js +3 -2
- package/dist/layout/collapsible.js +6 -1
- package/dist/layout/container.js +2 -1
- package/dist/layout/description-list.js +4 -1
- package/dist/layout/frames.js +11 -5
- package/dist/layout/item.js +3 -2
- package/dist/layout/link.d.ts +30 -0
- package/dist/layout/link.js +22 -3
- package/dist/layout/pagination.js +8 -8
- package/dist/layout/preview.d.ts +32 -12
- package/dist/layout/preview.js +149 -40
- package/dist/layout/resizable.js +2 -1
- package/dist/layout/sidebar.js +11 -3
- package/dist/layout/stepper.js +6 -2
- package/dist/lib/cn.js +29 -2
- package/dist/midi/piano-keyboard.js +3 -2
- package/dist/midi/spectrum-visualizer.js +1 -1
- package/dist/midi/threshold-rail.js +2 -1
- package/dist/midi/timeline-ruler.js +1 -1
- package/dist/overlays/_surface.d.ts +74 -14
- package/dist/overlays/_surface.js +87 -14
- package/dist/overlays/alert-dialog.js +1 -1
- package/dist/overlays/command-palette.js +28 -9
- package/dist/overlays/dialog.d.ts +5 -0
- package/dist/overlays/dialog.js +6 -1
- package/dist/overlays/drawer.js +8 -1
- package/dist/overlays/hover-card.js +3 -1
- package/dist/overlays/info-tip.js +2 -1
- package/dist/overlays/menubar.js +3 -1
- package/dist/overlays/popover.js +3 -1
- package/dist/overlays/toast.js +14 -6
- package/dist/overlays/tooltip.js +3 -1
- package/dist/primitives/avatar.js +6 -2
- package/dist/primitives/button.d.ts +16 -1
- package/dist/primitives/button.js +44 -12
- package/dist/primitives/chip.d.ts +11 -29
- package/dist/primitives/chip.js +40 -50
- package/dist/primitives/icon-button.d.ts +1 -1
- package/dist/primitives/kbd.d.ts +6 -0
- package/dist/primitives/kbd.js +10 -1
- package/dist/primitives/skeleton.js +2 -1
- package/dist/system/_focus-ring-field.js +29 -0
- package/dist/system/_focus-ring.js +125 -0
- package/dist/system/_paint-glow.js +22 -3
- package/dist/system/_paint-rest-shade.js +32 -0
- package/dist/system/_paint-rim.js +22 -4
- package/dist/system/_paint-stroke-surface-1.js +1 -1
- package/dist/system/_paint-stroke-surface-2.js +14 -1
- package/dist/system/_paint-texture.js +5 -2
- package/dist/system/_style-accordion-rule.js +32 -0
- package/dist/system/_style-app-bar.js +65 -0
- package/dist/system/_style-avatar.js +20 -0
- package/dist/system/_style-band.js +57 -0
- package/dist/system/_style-body-leading.js +19 -0
- package/dist/system/_style-body-size.js +30 -0
- package/dist/system/_style-body-weight.js +24 -0
- package/dist/system/_style-body.js +32 -0
- package/dist/system/_style-caption-ink.js +17 -0
- package/dist/system/_style-caption-size.js +19 -0
- package/dist/system/_style-caption-weight.js +18 -0
- package/dist/system/_style-caption.js +19 -0
- package/dist/system/_style-card-gap.js +14 -0
- package/dist/system/_style-card-pad.js +43 -0
- package/dist/system/_style-cell.js +18 -0
- package/dist/system/_style-check-glyph.js +14 -0
- package/dist/system/_style-check.js +40 -0
- package/dist/system/_style-chip.js +143 -0
- package/dist/system/_style-choice-gap.js +15 -0
- package/dist/system/_style-code.js +13 -0
- package/dist/system/_style-collapse.js +94 -0
- package/dist/system/_style-control-face.js +29 -0
- package/dist/system/_style-control-gap.js +14 -0
- package/dist/system/_style-control-label.js +29 -0
- package/dist/system/_style-control-step.js +22 -0
- package/dist/system/_style-control.js +76 -0
- package/dist/system/_style-crumb.js +44 -0
- package/dist/system/_style-data-face.js +28 -0
- package/dist/system/_style-day.js +25 -0
- package/dist/system/_style-description.js +23 -0
- package/dist/system/_style-disabled.js +70 -0
- package/dist/system/_style-disclosure.js +21 -0
- package/dist/system/_style-empty-state.js +42 -0
- package/dist/system/_style-eyebrow.js +43 -0
- package/dist/system/_style-field-chassis.js +38 -0
- package/dist/system/_style-field-gap.js +12 -0
- package/dist/system/_style-footer-rule.js +47 -0
- package/dist/system/_style-glyph-ink.js +20 -0
- package/dist/system/_style-glyph-opacity.js +20 -0
- package/dist/system/_style-glyph-size.js +21 -0
- package/dist/system/_style-group-gap.js +15 -0
- package/dist/system/_style-group-label-pad.js +14 -0
- package/dist/system/_style-group-label.js +24 -0
- package/dist/system/_style-gutter.js +17 -0
- package/dist/system/_style-help-ink.js +14 -0
- package/dist/system/_style-help.js +38 -0
- package/dist/system/_style-hover-card-width.js +15 -0
- package/dist/system/_style-input-face.js +34 -0
- package/dist/system/_style-kbd.js +58 -0
- package/dist/system/_style-label-case.js +36 -0
- package/dist/system/_style-label-face.js +32 -0
- package/dist/system/_style-label-ink.js +29 -0
- package/dist/system/_style-label-leading.js +14 -0
- package/dist/system/_style-label-size.js +36 -0
- package/dist/system/_style-label-tracking.js +45 -0
- package/dist/system/_style-label-weight.js +40 -0
- package/dist/system/_style-lede.js +49 -0
- package/dist/system/_style-link.js +58 -0
- package/dist/system/_style-menu.js +43 -0
- package/dist/system/_style-meter.js +15 -0
- package/dist/system/_style-nav-item.js +41 -0
- package/dist/system/_style-nav-menu.js +48 -0
- package/dist/system/_style-nav-voice.js +43 -0
- package/dist/system/_style-option.js +99 -0
- package/dist/system/_style-otp.js +15 -0
- package/dist/system/_style-outline-hover.js +18 -0
- package/dist/system/_style-overlay-title.js +35 -0
- package/dist/system/_style-page-title.js +48 -0
- package/dist/system/_style-page.js +17 -0
- package/dist/system/_style-palette.js +18 -0
- package/dist/system/_style-panel.js +21 -0
- package/dist/system/_style-popover-pad.js +13 -0
- package/dist/system/_style-popover-width.js +15 -0
- package/dist/system/_style-quiet-ink.js +13 -0
- package/dist/system/_style-radio.js +19 -0
- package/dist/system/_style-row-disabled.js +17 -0
- package/dist/system/_style-row-pad.js +13 -0
- package/dist/system/_style-row.js +30 -0
- package/dist/system/_style-scrollbar.js +19 -0
- package/dist/system/_style-seam.js +43 -0
- package/dist/system/_style-section-rule.js +26 -0
- package/dist/system/_style-segment-pad.js +15 -0
- package/dist/system/_style-segment.js +30 -0
- package/dist/system/_style-segmented-control.js +86 -0
- package/dist/system/_style-selected.js +36 -0
- package/dist/system/_style-skeleton.js +15 -0
- package/dist/system/_style-slider.js +26 -0
- package/dist/system/_style-stage-marks.js +26 -0
- package/dist/system/_style-stat.js +31 -0
- package/dist/system/_style-stepper.js +16 -0
- package/dist/system/_style-switch.js +26 -0
- package/dist/system/_style-tab-hover.js +15 -0
- package/dist/system/_style-tab.js +71 -0
- package/dist/system/_style-text-focus.js +26 -0
- package/dist/system/_style-textarea.js +21 -0
- package/dist/system/_style-title.js +37 -0
- package/dist/system/_style-toast.js +22 -0
- package/dist/system/_style-toggle.js +50 -0
- package/dist/system/_style-toolbar.js +23 -0
- package/dist/system/_style-tooltip.js +46 -0
- package/dist/system/density.d.ts +15 -5
- package/dist/system/density.js +188 -25
- package/dist/system/index.d.ts +2 -2
- package/dist/system/index.js +2 -2
- package/dist/system/overrides.d.ts +1 -0
- package/dist/system/overrides.js +151 -3
- package/dist/system/portal.d.ts +3 -2
- package/dist/system/portal.js +22 -10
- package/dist/system/prepaint.d.ts +21 -5
- package/dist/system/prepaint.js +3 -1
- package/dist/system/published.d.ts +1 -0
- package/dist/system/published.js +131 -0
- package/dist/system/theme-provider.d.ts +118 -21
- package/dist/system/theme-provider.js +362 -73
- package/dist/system/theme-registry.d.ts +2 -1
- package/dist/system/theme-registry.js +27 -10
- package/dist/system/use-density.js +4 -3
- package/dist/system/use-theme.d.ts +5 -2
- package/dist/system/use-theme.js +7 -4
- package/dist/system/vocabulary.js +2 -2
- package/dist/theming/create-theme.js +12 -6
- package/dist/theming/serialize.d.ts +34 -2
- package/dist/theming/serialize.js +86 -4
- package/manifest/components/accordion.json +29 -2
- package/manifest/components/agent-pile.json +3 -0
- package/manifest/components/alert-dialog.json +36 -3
- package/manifest/components/app-bar.json +61 -2
- package/manifest/components/app-shell.json +5 -0
- package/manifest/components/ask-box.json +3 -1
- package/manifest/components/autocomplete.json +85 -1
- package/manifest/components/avatar-group.json +7 -0
- package/manifest/components/avatar.json +7 -0
- package/manifest/components/band.json +7 -3
- package/manifest/components/bento.json +12 -1
- package/manifest/components/breadcrumb.json +12 -0
- package/manifest/components/button.json +43 -4
- package/manifest/components/calendar.json +13 -0
- package/manifest/components/card.json +23 -1
- package/manifest/components/carousel.json +4 -1
- package/manifest/components/channel-matrix.json +37 -3
- package/manifest/components/chart-tooltip-content.json +35 -3
- package/manifest/components/chat-empty-state.json +3 -1
- package/manifest/components/checkbox-group.json +36 -1
- package/manifest/components/checkbox.json +36 -1
- package/manifest/components/chip.json +22 -1
- package/manifest/components/clamp.json +3 -1
- package/manifest/components/code-block.json +10 -1
- package/manifest/components/collapsible.json +35 -2
- package/manifest/components/color-area.json +4 -2
- package/manifest/components/color-field.json +29 -0
- package/manifest/components/color-picker.json +29 -0
- package/manifest/components/color-slider.json +3 -1
- package/manifest/components/colors-section.json +9 -1
- package/manifest/components/combobox.json +85 -1
- package/manifest/components/command-palette.json +39 -3
- package/manifest/components/composer-actions.json +3 -0
- package/manifest/components/composer-attach-button.json +3 -0
- package/manifest/components/composer-attachment-chip.json +3 -0
- package/manifest/components/composer-attachments.json +3 -0
- package/manifest/components/composer-bar.json +3 -0
- package/manifest/components/composer-command-item.json +3 -0
- package/manifest/components/composer-context.json +3 -0
- package/manifest/components/composer-input.json +3 -0
- package/manifest/components/composer-menu-item.json +3 -0
- package/manifest/components/composer-menu.json +3 -0
- package/manifest/components/composer-model-item.json +3 -0
- package/manifest/components/composer-model-trigger.json +3 -0
- package/manifest/components/composer-person-item.json +3 -0
- package/manifest/components/composer-send.json +3 -0
- package/manifest/components/composer-toolbar.json +3 -0
- package/manifest/components/composer-voice-button.json +3 -0
- package/manifest/components/composer-voice.json +3 -0
- package/manifest/components/composer.json +29 -0
- package/manifest/components/confidence-marker.json +3 -1
- package/manifest/components/container.json +2 -1
- package/manifest/components/context-menu.json +35 -3
- package/manifest/components/conversation-search.json +3 -1
- package/manifest/components/cue-mark.json +2 -2
- package/manifest/components/cue-portal-frame.json +1 -1
- package/manifest/components/data-row.json +3 -1
- package/manifest/components/data-tree.json +3 -1
- package/manifest/components/date-field.json +28 -0
- package/manifest/components/date-picker.json +32 -0
- package/manifest/components/date-range-picker.json +32 -0
- package/manifest/components/delegation-card.json +3 -1
- package/manifest/components/density.json +15 -7
- package/manifest/components/description-list.json +6 -1
- package/manifest/components/dialog.json +37 -3
- package/manifest/components/disclosure.json +35 -2
- package/manifest/components/dmx-bar.json +34 -3
- package/manifest/components/dmx-strip.json +34 -3
- package/manifest/components/drawer.json +36 -3
- package/manifest/components/dropdown-menu.json +35 -3
- package/manifest/components/edit-message.json +3 -1
- package/manifest/components/elements-command-palette.json +3 -1
- package/manifest/components/elements-composer.json +3 -0
- package/manifest/components/empty-state-composer.json +3 -1
- package/manifest/components/empty-state-greeting.json +3 -1
- package/manifest/components/empty-state-suggestion.json +3 -1
- package/manifest/components/empty-state-suggestions.json +3 -1
- package/manifest/components/empty-state.json +13 -0
- package/manifest/components/env-var-input.json +28 -0
- package/manifest/components/export-dialog.json +6 -1
- package/manifest/components/eyebrow.json +13 -2
- package/manifest/components/feedback-dialog.json +3 -0
- package/manifest/components/field-description.json +15 -0
- package/manifest/components/field-error.json +15 -0
- package/manifest/components/field-label.json +16 -1
- package/manifest/components/field.json +15 -0
- package/manifest/components/file-upload.json +3 -0
- package/manifest/components/footer.json +14 -1
- package/manifest/components/frames.json +14 -1
- package/manifest/components/hover-card.json +37 -3
- package/manifest/components/info-tip.json +3 -0
- package/manifest/components/input-group.json +31 -0
- package/manifest/components/input.json +29 -0
- package/manifest/components/item.json +3 -1
- package/manifest/components/kbd.json +12 -1
- package/manifest/components/ledger.json +9 -2
- package/manifest/components/link.json +33 -0
- package/manifest/components/log-viewer.json +3 -0
- package/manifest/components/map-answer.json +3 -1
- package/manifest/components/markdown-text.json +3 -0
- package/manifest/components/menubar.json +38 -4
- package/manifest/components/message-list.json +3 -0
- package/manifest/components/message.json +6 -1
- package/manifest/components/meter.json +1 -0
- package/manifest/components/mobile-composer.json +3 -1
- package/manifest/components/multi-select.json +86 -1
- package/manifest/components/musical-time-input.json +29 -0
- package/manifest/components/navigation-menu.json +48 -3
- package/manifest/components/node-card.json +3 -0
- package/manifest/components/number-field.json +30 -0
- package/manifest/components/otp-field.json +29 -0
- package/manifest/components/page-shell.json +14 -0
- package/manifest/components/pagination.json +22 -0
- package/manifest/components/panel-header.json +13 -0
- package/manifest/components/panel.json +14 -1
- package/manifest/components/password-input.json +28 -0
- package/manifest/components/permission-scopes.json +3 -1
- package/manifest/components/piano-keyboard.json +3 -0
- package/manifest/components/popover.json +37 -3
- package/manifest/components/preset-section.json +9 -1
- package/manifest/components/preview.json +24 -10
- package/manifest/components/progress.json +10 -1
- package/manifest/components/prompt-library.json +3 -1
- package/manifest/components/queue-dock.json +3 -1
- package/manifest/components/radio-group.json +14 -0
- package/manifest/components/radio.json +14 -0
- package/manifest/components/rating.json +4 -1
- package/manifest/components/reasoning-panel.json +3 -1
- package/manifest/components/recommendation-card.json +1 -1
- package/manifest/components/resizable.json +4 -1
- package/manifest/components/revert-dock.json +3 -1
- package/manifest/components/row.json +8 -1
- package/manifest/components/scroll-area.json +6 -2
- package/manifest/components/scrollable-tabs-list.json +21 -0
- package/manifest/components/scrub-input.json +28 -0
- package/manifest/components/seam-cell.json +1 -0
- package/manifest/components/seam-grid.json +1 -0
- package/manifest/components/seam-list.json +8 -1
- package/manifest/components/search-input.json +28 -0
- package/manifest/components/section-header.json +15 -2
- package/manifest/components/segmented-control.json +17 -0
- package/manifest/components/select.json +42 -0
- package/manifest/components/settings-panel.json +3 -0
- package/manifest/components/shape-section.json +9 -1
- package/manifest/components/sheet.json +35 -3
- package/manifest/components/shimmer-label.json +3 -0
- package/manifest/components/sidebar.json +19 -2
- package/manifest/components/skeleton.json +2 -0
- package/manifest/components/slider.json +16 -0
- package/manifest/components/sources.json +3 -1
- package/manifest/components/stat.json +17 -0
- package/manifest/components/status-bar.json +4 -0
- package/manifest/components/stepper.json +8 -0
- package/manifest/components/swap-label.json +3 -0
- package/manifest/components/switch.json +30 -0
- package/manifest/components/table-scroll-region.json +22 -2
- package/manifest/components/table.json +22 -2
- package/manifest/components/tabs.json +22 -1
- package/manifest/components/tags-input.json +86 -1
- package/manifest/components/terminal-frame.json +3 -0
- package/manifest/components/textarea.json +31 -0
- package/manifest/components/theme-configurator.json +35 -3
- package/manifest/components/theme-provider.json +31 -19
- package/manifest/components/thread-search.json +3 -1
- package/manifest/components/threshold-rail.json +3 -0
- package/manifest/components/time-field.json +28 -0
- package/manifest/components/toast.json +39 -2
- package/manifest/components/toggle-group.json +2 -1
- package/manifest/components/toggle.json +32 -0
- package/manifest/components/token-editor.json +6 -1
- package/manifest/components/tool-call-card.json +9 -2
- package/manifest/components/tool-call.json +3 -1
- package/manifest/components/tool-timeline.json +3 -1
- package/manifest/components/toolbar.json +22 -1
- package/manifest/components/tooltip.json +42 -3
- package/manifest/components/tree-visibility-toggle.json +3 -0
- package/manifest/components/tree.json +3 -0
- package/manifest/components/universe-grid.json +3 -0
- package/manifest/components/voice-conversation.json +3 -0
- package/manifest/components/work-collapse.json +3 -1
- package/manifest/fixtures.json +15 -0
- package/manifest/manifest.json +210 -190
- package/manifest/tokens.json +395 -4
- package/package.json +6 -6
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { FOCUS_RING } from "../system/_focus-ring.js";
|
|
3
4
|
import { ShimmerLabel, field, floating, ghostButton, iconSwap, iconSwapIn, iconSwapOut, inkButton, mono, paper } from "./surfaces.js";
|
|
4
5
|
import { clamp, pct } from "./range.js";
|
|
5
6
|
import { useMemo } from "react";
|
|
@@ -114,7 +115,7 @@ function ComposerBar({ dragActive = false, className, ...props }) {
|
|
|
114
115
|
return /* @__PURE__ */ jsx("div", {
|
|
115
116
|
"data-slot": "composer-bar",
|
|
116
117
|
"data-drag-active": dragActive || void 0,
|
|
117
|
-
className: cn(paper, "flex w-full flex-col gap-2 rounded-
|
|
118
|
+
className: cn(paper, "flex w-full flex-col gap-2 rounded-overlay p-2.5 transition-colors", dragActive && "bg-stream/10", className),
|
|
118
119
|
...props
|
|
119
120
|
});
|
|
120
121
|
}
|
|
@@ -126,7 +127,7 @@ function ComposerMenu({ open, align = "start", className, ...props }) {
|
|
|
126
127
|
return /* @__PURE__ */ jsx("div", {
|
|
127
128
|
"data-slot": "composer-menu",
|
|
128
129
|
"data-open": open || void 0,
|
|
129
|
-
className: cn(floating, "absolute bottom-full z-10 mb-2 flex w-72 flex-col gap-0.5 rounded-
|
|
130
|
+
className: cn(floating, "absolute bottom-full z-10 mb-2 flex w-72 flex-col gap-0.5 rounded-overlay p-1.5", align === "start" ? "start-0 origin-bottom-left" : "end-0 origin-bottom-right", "transition-[opacity,scale] duration-200 ease-[cubic-bezier(0.23,1,0.32,1)] motion-reduce:transition-none", open ? "scale-100 opacity-100" : "pointer-events-none scale-[0.97] opacity-0", className),
|
|
130
131
|
...props
|
|
131
132
|
});
|
|
132
133
|
}
|
|
@@ -139,7 +140,7 @@ function ComposerMenuItem({ active = false, className, ...props }) {
|
|
|
139
140
|
type: "button",
|
|
140
141
|
"data-slot": "composer-menu-item",
|
|
141
142
|
"data-active": active || void 0,
|
|
142
|
-
className: cn("flex w-full items-center gap-2.5 rounded-
|
|
143
|
+
className: cn("flex w-full items-center gap-2.5 rounded-surface px-2.5 py-2 text-(length:--cue-text-body) transition-colors", active ? field : "hover:bg-surface-1", className),
|
|
143
144
|
...props
|
|
144
145
|
});
|
|
145
146
|
}
|
|
@@ -162,7 +163,7 @@ function ComposerCommandItem({ command, active, ...props }) {
|
|
|
162
163
|
children: command.description
|
|
163
164
|
}),
|
|
164
165
|
active && /* @__PURE__ */ jsx("kbd", {
|
|
165
|
-
className: "bg-surface-2 text-fg-muted rounded-
|
|
166
|
+
className: "bg-surface-2 text-fg-muted rounded-control px-1 font-mono text-(length:--cue-text-micro)",
|
|
166
167
|
children: "↵"
|
|
167
168
|
})
|
|
168
169
|
]
|
|
@@ -210,11 +211,11 @@ function ComposerAttachmentChip({ attachment, onRemove, className, ...props }) {
|
|
|
210
211
|
return /* @__PURE__ */ jsxs("div", {
|
|
211
212
|
"data-slot": "composer-attachment",
|
|
212
213
|
"data-state": attachment.state,
|
|
213
|
-
className: cn(field, "relative flex items-center gap-2.5 overflow-hidden rounded-
|
|
214
|
+
className: cn(field, "relative flex items-center gap-2.5 overflow-hidden rounded-surface py-1.5 ps-1.5 pe-2.5", className),
|
|
214
215
|
...props,
|
|
215
216
|
children: [
|
|
216
217
|
/* @__PURE__ */ jsx("span", {
|
|
217
|
-
className: "bg-surface-2 text-fg-muted flex size-8 shrink-0 items-center justify-center rounded-
|
|
218
|
+
className: "bg-surface-2 text-fg-muted flex size-8 shrink-0 items-center justify-center rounded-surface",
|
|
218
219
|
children: /* @__PURE__ */ jsx(Icon, { className: "size-4" })
|
|
219
220
|
}),
|
|
220
221
|
/* @__PURE__ */ jsxs("span", {
|
|
@@ -258,7 +259,7 @@ function ComposerInput({ onSubmit, onKeyDown, className, ...props }) {
|
|
|
258
259
|
if (event.key !== "Enter" || event.nativeEvent.isComposing) return;
|
|
259
260
|
onSubmit?.();
|
|
260
261
|
},
|
|
261
|
-
className: cn(
|
|
262
|
+
className: cn(`placeholder:text-fg-subtle min-h-11 w-full bg-transparent px-3 text-(length:--cue-text-emphasis) caret-stream outline-none ${FOCUS_RING}`, className),
|
|
262
263
|
...props
|
|
263
264
|
});
|
|
264
265
|
}
|
|
@@ -393,7 +394,7 @@ function ComposerContext({ usage, className, ...props }) {
|
|
|
393
394
|
className: cn("group/ctx relative", className),
|
|
394
395
|
...props,
|
|
395
396
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
396
|
-
className: cn(floating, "absolute end-0 bottom-full z-10 mb-2 flex w-60 origin-bottom-right flex-col gap-3.5 rounded-
|
|
397
|
+
className: cn(floating, "absolute end-0 bottom-full z-10 mb-2 flex w-60 origin-bottom-right flex-col gap-3.5 rounded-overlay p-4", "transition-[opacity,scale] duration-200 ease-[cubic-bezier(0.23,1,0.32,1)] motion-reduce:transition-none", "pointer-events-none scale-[0.97] opacity-0", "group-hover/ctx:pointer-events-auto group-hover/ctx:scale-100 group-hover/ctx:opacity-100", "group-focus-within/ctx:pointer-events-auto group-focus-within/ctx:scale-100 group-focus-within/ctx:opacity-100"),
|
|
397
398
|
children: [
|
|
398
399
|
/* @__PURE__ */ jsxs("div", {
|
|
399
400
|
className: "flex items-baseline justify-between",
|
|
@@ -21,7 +21,7 @@ function ComputerUse({ url, steps, activeIndex, children, className, ...props })
|
|
|
21
21
|
const trail = steps.slice(Math.max(0, index - 2), index + 1);
|
|
22
22
|
return /* @__PURE__ */ jsxs("div", {
|
|
23
23
|
"data-slot": "computer-use",
|
|
24
|
-
className: cn(paper, "flex w-full max-w-md flex-col overflow-hidden rounded-
|
|
24
|
+
className: cn(paper, "flex w-full max-w-md flex-col overflow-hidden rounded-overlay", className),
|
|
25
25
|
...props,
|
|
26
26
|
children: [
|
|
27
27
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { FOCUS_RING } from "../system/_focus-ring.js";
|
|
3
4
|
import "./surfaces.js";
|
|
4
5
|
import { useId } from "react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -38,7 +39,7 @@ function ConfidenceMarker({ claims, hoveredId, onHover, className, ...props }) {
|
|
|
38
39
|
onMouseLeave: () => onHover?.(""),
|
|
39
40
|
onFocus: () => onHover?.(claim.id),
|
|
40
41
|
onBlur: () => onHover?.(""),
|
|
41
|
-
className: cn(
|
|
42
|
+
className: cn(`${FOCUS_RING} inline cursor-help rounded-control text-start underline decoration-2 underline-offset-[3px] transition-colors outline-none`, UNDERLINE[claim.confidence], hoveredId === claim.id ? "text-fg" : "text-fg-muted"),
|
|
42
43
|
children: [claim.text, " "]
|
|
43
44
|
}, claim.id))
|
|
44
45
|
}), /* @__PURE__ */ jsx("div", {
|
|
@@ -17,7 +17,7 @@ function ConnectionState({ phase, attempt, resumedTokens, onRetry, className, ..
|
|
|
17
17
|
if (phase === "online") return null;
|
|
18
18
|
return /* @__PURE__ */ jsxs("div", {
|
|
19
19
|
"data-slot": "connection-state",
|
|
20
|
-
className: cn(paper, "cue-elements-fade-in cue-elements-slide-in-from-top-1 cue-elements-animate-in flex w-full max-w-sm items-center gap-2.5 rounded-
|
|
20
|
+
className: cn(paper, "cue-elements-fade-in cue-elements-slide-in-from-top-1 cue-elements-animate-in flex w-full max-w-sm items-center gap-2.5 rounded-overlay px-3.5 py-2.5 duration-300", className),
|
|
21
21
|
...props,
|
|
22
22
|
children: [
|
|
23
23
|
phase === "dropped" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -19,7 +19,7 @@ function ContextBreakdown({ segments, limit, className, ...props }) {
|
|
|
19
19
|
const share = (tokens) => pct(tokens, limit);
|
|
20
20
|
return /* @__PURE__ */ jsxs("div", {
|
|
21
21
|
"data-slot": "context-breakdown",
|
|
22
|
-
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-
|
|
22
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-overlay p-4", className),
|
|
23
23
|
...props,
|
|
24
24
|
children: [
|
|
25
25
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -91,7 +91,7 @@ const ContextUsage = React.forwardRef(function ContextUsage({ categories, limit,
|
|
|
91
91
|
ref,
|
|
92
92
|
"data-slot": "context-usage",
|
|
93
93
|
"data-pressure": pressure,
|
|
94
|
-
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-
|
|
94
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-overlay p-4", className),
|
|
95
95
|
...elementProps,
|
|
96
96
|
children: [
|
|
97
97
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { FOCUS_RING } from "../system/_focus-ring.js";
|
|
3
4
|
import { ghostButton, mono, paper } from "./surfaces.js";
|
|
4
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
6
|
import { ChevronDownIcon, ChevronUpIcon, SearchIcon } from "lucide-react";
|
|
@@ -36,7 +37,7 @@ function ConversationSearch({ query, hits, activeIndex, onQueryChange, onStep, c
|
|
|
36
37
|
onChange: (event) => onQueryChange?.(event.target.value),
|
|
37
38
|
placeholder: "Find in conversation",
|
|
38
39
|
"aria-label": "Find in conversation",
|
|
39
|
-
className:
|
|
40
|
+
className: `text-fg-muted placeholder:text-fg-subtle min-w-0 flex-1 bg-transparent text-(length:--cue-text-body) outline-none ${FOCUS_RING}`
|
|
40
41
|
}),
|
|
41
42
|
/* @__PURE__ */ jsx("span", {
|
|
42
43
|
className: cn(mono, "text-fg-subtle shrink-0 tabular-nums"),
|
|
@@ -58,14 +59,14 @@ function ConversationSearch({ query, hits, activeIndex, onQueryChange, onStep, c
|
|
|
58
59
|
})
|
|
59
60
|
]
|
|
60
61
|
}), active && /* @__PURE__ */ jsxs("div", {
|
|
61
|
-
className: cn("bg-fg/[0.06]", "cue-elements-fade-in cue-elements-animate-in rounded-
|
|
62
|
+
className: cn("bg-fg/[0.06]", "cue-elements-fade-in cue-elements-animate-in rounded-surface px-3 py-2 text-(length:--cue-text-ui) leading-(--cue-leading-ui) duration-200"),
|
|
62
63
|
children: [
|
|
63
64
|
/* @__PURE__ */ jsx("span", {
|
|
64
65
|
className: "text-fg-muted",
|
|
65
66
|
children: active.before
|
|
66
67
|
}),
|
|
67
68
|
/* @__PURE__ */ jsx("span", {
|
|
68
|
-
className: "text-fg rounded-
|
|
69
|
+
className: "text-fg rounded-control bg-warn/35 px-0.5",
|
|
69
70
|
children: active.match
|
|
70
71
|
}),
|
|
71
72
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -15,7 +15,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
15
15
|
function CostMeter({ runCost, sessionCost, lines, className, ...props }) {
|
|
16
16
|
return /* @__PURE__ */ jsxs("div", {
|
|
17
17
|
"data-slot": "cost-meter",
|
|
18
|
-
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-
|
|
18
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-overlay p-4", className),
|
|
19
19
|
...props,
|
|
20
20
|
children: [
|
|
21
21
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -17,7 +17,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
17
17
|
function ElementsDataTable({ rows, cycle, className, ...props }) {
|
|
18
18
|
return /* @__PURE__ */ jsxs("div", {
|
|
19
19
|
"data-slot": "data-table",
|
|
20
|
-
className: cn(paper, "w-full max-w-sm overflow-hidden rounded-
|
|
20
|
+
className: cn(paper, "w-full max-w-sm overflow-hidden rounded-overlay text-(length:--cue-text-body)", className),
|
|
21
21
|
...props,
|
|
22
22
|
children: [
|
|
23
23
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -43,7 +43,7 @@ function ElementsDataTable({ rows, cycle, className, ...props }) {
|
|
|
43
43
|
style: { animationDelay: `${index * 80}ms` },
|
|
44
44
|
children: [
|
|
45
45
|
/* @__PURE__ */ jsx("span", {
|
|
46
|
-
className: "bg-surface-2 text-fg-muted flex size-5 shrink-0 items-center justify-center rounded-
|
|
46
|
+
className: "bg-surface-2 text-fg-muted flex size-5 shrink-0 items-center justify-center rounded-control text-(length:--cue-text-micro) font-medium",
|
|
47
47
|
children: row.name[0]
|
|
48
48
|
}),
|
|
49
49
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -35,7 +35,7 @@ function DaySeparator({ messages, className, ...props }) {
|
|
|
35
35
|
}), /* @__PURE__ */ jsxs("div", {
|
|
36
36
|
className: cn("group flex items-baseline gap-2", message.role === "user" && "flex-row-reverse"),
|
|
37
37
|
children: [/* @__PURE__ */ jsx("span", {
|
|
38
|
-
className: cn("max-w-[80%] text-(length:--cue-text-body) leading-(--cue-leading-ui) break-words", message.role === "user" ? "bg-surface-1 rounded-
|
|
38
|
+
className: cn("max-w-[80%] text-(length:--cue-text-body) leading-(--cue-leading-ui) break-words", message.role === "user" ? "bg-surface-1 rounded-overlay px-3.5 py-2" : "text-fg-muted"),
|
|
39
39
|
children: message.text
|
|
40
40
|
}), /* @__PURE__ */ jsx("span", {
|
|
41
41
|
className: cn(mono, "text-transparent group-hover:text-fg-subtle shrink-0 tabular-nums transition-colors"),
|
package/dist/elements/diagram.js
CHANGED
|
@@ -18,7 +18,7 @@ import { MaximizeIcon, MinusIcon, PlusIcon, RotateCcwIcon } from "lucide-react";
|
|
|
18
18
|
function Diagram({ title, zoom, children, onZoomIn, onZoomOut, onReset, onExpand, className, ...props }) {
|
|
19
19
|
return /* @__PURE__ */ jsxs("div", {
|
|
20
20
|
"data-slot": "diagram",
|
|
21
|
-
className: cn(paper, "flex w-full max-w-md flex-col overflow-hidden rounded-
|
|
21
|
+
className: cn(paper, "flex w-full max-w-md flex-col overflow-hidden rounded-overlay", className),
|
|
22
22
|
...props,
|
|
23
23
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
24
24
|
className: "flex items-center gap-1 px-3 py-2",
|
|
@@ -22,12 +22,12 @@ function DocumentReference({ title, pages, anchors, activePage, onJump, classNam
|
|
|
22
22
|
const currentIndex = anchors.findIndex((anchor) => anchor.page === activePage);
|
|
23
23
|
return /* @__PURE__ */ jsxs("div", {
|
|
24
24
|
"data-slot": "document-reference",
|
|
25
|
-
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-
|
|
25
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-overlay p-3.5", className),
|
|
26
26
|
...props,
|
|
27
27
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
28
28
|
className: "flex items-center gap-2.5",
|
|
29
29
|
children: [/* @__PURE__ */ jsx("span", {
|
|
30
|
-
className: "bg-surface-1 text-fg-muted flex size-8 shrink-0 items-center justify-center rounded-
|
|
30
|
+
className: "bg-surface-1 text-fg-muted flex size-8 shrink-0 items-center justify-center rounded-surface",
|
|
31
31
|
children: /* @__PURE__ */ jsx(FileTextIcon, { className: "size-3.5" })
|
|
32
32
|
}), /* @__PURE__ */ jsxs("div", {
|
|
33
33
|
className: "flex min-w-0 flex-1 flex-col",
|
|
@@ -50,7 +50,7 @@ function DocumentReference({ title, pages, anchors, activePage, onJump, classNam
|
|
|
50
50
|
type: "button",
|
|
51
51
|
"aria-current": i === currentIndex || void 0,
|
|
52
52
|
onClick: () => onJump?.(anchor.page),
|
|
53
|
-
className: cn("flex flex-col gap-1 rounded-
|
|
53
|
+
className: cn("flex flex-col gap-1 rounded-surface px-2.5 py-2 text-start transition-colors", anchor.page === activePage ? field : "hover:bg-surface-1"),
|
|
54
54
|
children: [/* @__PURE__ */ jsxs("span", {
|
|
55
55
|
className: cn(mono, "text-fg-subtle"),
|
|
56
56
|
children: ["p. ", anchor.page]
|
|
@@ -20,7 +20,7 @@ import { PencilLineIcon, XIcon } from "lucide-react";
|
|
|
20
20
|
function DraftRestore({ draft, savedAt, onRestore, onDiscard, className, ...props }) {
|
|
21
21
|
return /* @__PURE__ */ jsxs("div", {
|
|
22
22
|
"data-slot": "draft-restore",
|
|
23
|
-
className: cn(paper, "cue-elements-fade-in cue-elements-slide-in-from-bottom-1 cue-elements-animate-in flex w-full max-w-sm items-center gap-2.5 rounded-
|
|
23
|
+
className: cn(paper, "cue-elements-fade-in cue-elements-slide-in-from-bottom-1 cue-elements-animate-in flex w-full max-w-sm items-center gap-2.5 rounded-overlay py-2 pr-2 pl-3.5 duration-300", className),
|
|
24
24
|
...props,
|
|
25
25
|
children: [
|
|
26
26
|
/* @__PURE__ */ jsx(PencilLineIcon, { className: "text-fg-subtle size-3.5 shrink-0" }),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { FOCUS_RING } from "../system/_focus-ring.js";
|
|
3
4
|
import { field, inkButton, paper } from "./surfaces.js";
|
|
4
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
6
|
import { AlertTriangleIcon } from "lucide-react";
|
|
@@ -28,13 +29,13 @@ function EditMessage({ value, discardedReplies, editing, onValueChange, onSave,
|
|
|
28
29
|
children: /* @__PURE__ */ jsx("button", {
|
|
29
30
|
type: "button",
|
|
30
31
|
onClick: onStartEdit,
|
|
31
|
-
className: cn(field, "hover:bg-surface-2 max-w-[85%] rounded-
|
|
32
|
+
className: cn(field, "hover:bg-surface-2 max-w-[85%] rounded-overlay px-3.5 py-2.5 text-start text-(length:--cue-text-body) transition-colors"),
|
|
32
33
|
children: value
|
|
33
34
|
})
|
|
34
35
|
});
|
|
35
36
|
return /* @__PURE__ */ jsxs("div", {
|
|
36
37
|
"data-slot": "edit-message",
|
|
37
|
-
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-
|
|
38
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-overlay p-3.5", className),
|
|
38
39
|
...props,
|
|
39
40
|
children: [
|
|
40
41
|
/* @__PURE__ */ jsx("textarea", {
|
|
@@ -42,7 +43,7 @@ function EditMessage({ value, discardedReplies, editing, onValueChange, onSave,
|
|
|
42
43
|
onChange: (event) => onValueChange?.(event.target.value),
|
|
43
44
|
rows: 2,
|
|
44
45
|
"aria-label": "Edit your message",
|
|
45
|
-
className: cn(field,
|
|
46
|
+
className: cn(field, `text-fg ${FOCUS_RING} resize-none rounded-surface px-3 py-2.5 text-(length:--cue-text-body) leading-(--cue-leading-ui) outline-none`)
|
|
46
47
|
}),
|
|
47
48
|
discardedReplies > 0 && /* @__PURE__ */ jsxs("div", {
|
|
48
49
|
className: "flex items-center gap-2 text-warn",
|
|
@@ -284,17 +284,35 @@
|
|
|
284
284
|
* carries for `--radius-*`:
|
|
285
285
|
*
|
|
286
286
|
* - **Absent by choice:** `--cue-busy`, `--cue-info`, `--cue-selection`,
|
|
287
|
-
* `--cue-
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
287
|
+
* `--cue-scrim`. No element in this family reads them — the codemod maps
|
|
288
|
+
* upstream's blue onto `--cue-stream`, and upstream has no selection or
|
|
289
|
+
* scrim of its own to transcribe. The consequence is worth knowing before
|
|
290
|
+
* you mix families: a *cue* component rendered inside an island — a
|
|
291
|
+
* `Chip tone="busy"`, a `Toast`
|
|
292
292
|
* — paints half in each palette, its ground and ink from assistant-ui and its
|
|
293
293
|
* tone from the console's theme. That is a mixed surface, not a bug, and the
|
|
294
294
|
* island is not the place to fix it: re-pointing the whole contract here
|
|
295
295
|
* would make this a theme, which is exactly what `AgentSurface` is documented
|
|
296
296
|
* not to be.
|
|
297
297
|
*
|
|
298
|
+
* `--cue-focus` used to be on this list too, on the reasoning that no
|
|
299
|
+
* element in this family drew a ring. Spec 2026-09-26-looks-fidelity §3.12
|
|
300
|
+
* (F-9) made that false: `_focus-ring.ts` gave every one of this system's
|
|
301
|
+
* focusable elements a ring drawn from `--cue-focus` rather than restated
|
|
302
|
+
* per site, this family's included, and the two were never one and the same
|
|
303
|
+
* before then only by coincidence — a fixed 2px ring in `--cue-accent`,
|
|
304
|
+
* which this island already re-points to its own ink for exactly the
|
|
305
|
+
* reasons above. Left off this island, an element inside it would draw the
|
|
306
|
+
* ring in the OUTER console theme's `--cue-focus` instead of the island's —
|
|
307
|
+
* under a theme where the two differ (ten of the thirty shipped blocks),
|
|
308
|
+
* the one visible seam a reader would find is a focus ring in the wrong
|
|
309
|
+
* palette on an otherwise self-consistent surface. So it is set below,
|
|
310
|
+
* equal to the island's own `--cue-fg` exactly as `--cue-accent` already
|
|
311
|
+
* is: not a second colour to keep in step, the same one the ring drew
|
|
312
|
+
* before this module existed, kept in step with it now that the module
|
|
313
|
+
* names it explicitly.
|
|
314
|
+
*
|
|
315
|
+
|
|
298
316
|
* - **Absent by construction:** every derived token —
|
|
299
317
|
* `--cue-ok-soft`, `--cue-stream-border`, `--cue-accent-soft`, `--cue-hair`,
|
|
300
318
|
* `--cue-row-hover` and the rest. They cannot follow the island. Each is a
|
|
@@ -326,6 +344,7 @@
|
|
|
326
344
|
--cue-border-strong: color-mix(in oklab, var(--cue-fg) 20%, transparent);
|
|
327
345
|
--cue-border-overlay: color-mix(in oklab, oklch(1 0 0 / 10%) 60%, transparent);
|
|
328
346
|
--cue-accent: var(--cue-fg);
|
|
347
|
+
--cue-focus: var(--cue-fg);
|
|
329
348
|
--cue-accent-hover: color-mix(in oklab, var(--cue-fg) 90%, transparent);
|
|
330
349
|
--cue-accent-fg: var(--cue-bg);
|
|
331
350
|
--cue-ok: oklch(0.765 0.177 163.223);
|
|
@@ -365,6 +384,7 @@
|
|
|
365
384
|
--cue-border-strong: color-mix(in oklab, var(--cue-fg) 20%, transparent);
|
|
366
385
|
--cue-border-overlay: color-mix(in oklab, oklch(0.92 0.004 286.32) 60%, transparent);
|
|
367
386
|
--cue-accent: var(--cue-fg);
|
|
387
|
+
--cue-focus: var(--cue-fg);
|
|
368
388
|
--cue-accent-hover: color-mix(in oklab, var(--cue-fg) 90%, transparent);
|
|
369
389
|
--cue-accent-fg: var(--cue-bg);
|
|
370
390
|
--cue-ok: oklch(0.696 0.17 162.48);
|
|
@@ -395,6 +415,7 @@
|
|
|
395
415
|
--cue-border-strong: color-mix(in oklab, var(--cue-fg) 20%, transparent);
|
|
396
416
|
--cue-border-overlay: color-mix(in oklab, oklch(0.92 0.004 286.32) 60%, transparent);
|
|
397
417
|
--cue-accent: var(--cue-fg);
|
|
418
|
+
--cue-focus: var(--cue-fg);
|
|
398
419
|
--cue-accent-hover: color-mix(in oklab, var(--cue-fg) 90%, transparent);
|
|
399
420
|
--cue-accent-fg: var(--cue-bg);
|
|
400
421
|
--cue-ok: oklch(0.696 0.17 162.48);
|
|
@@ -22,14 +22,14 @@ import { CheckIcon, PlugIcon, XIcon } from "lucide-react";
|
|
|
22
22
|
function ElicitationForm({ server, message, fields, state, onAccept, onDecline, className, ...props }) {
|
|
23
23
|
return /* @__PURE__ */ jsxs("div", {
|
|
24
24
|
"data-slot": "elicitation-form",
|
|
25
|
-
className: cn(paper, "flex w-full max-w-sm flex-col gap-3.5 rounded-
|
|
25
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-3.5 rounded-overlay p-4", className),
|
|
26
26
|
...props,
|
|
27
27
|
children: [
|
|
28
28
|
/* @__PURE__ */ jsxs("div", {
|
|
29
29
|
className: "flex items-center gap-2.5",
|
|
30
30
|
children: [
|
|
31
31
|
/* @__PURE__ */ jsx("span", {
|
|
32
|
-
className: "bg-surface-1 text-fg-muted flex size-7 shrink-0 items-center justify-center rounded-
|
|
32
|
+
className: "bg-surface-1 text-fg-muted flex size-7 shrink-0 items-center justify-center rounded-surface",
|
|
33
33
|
children: /* @__PURE__ */ jsx(PlugIcon, { className: "size-3.5" })
|
|
34
34
|
}),
|
|
35
35
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -73,7 +73,7 @@ function ElicitationForm({ server, message, fields, state, onAccept, onDecline,
|
|
|
73
73
|
children: item.value === "true" ? "On" : "Off"
|
|
74
74
|
})]
|
|
75
75
|
}) : /* @__PURE__ */ jsx("span", {
|
|
76
|
-
className: cn(field, "text-fg-muted rounded-
|
|
76
|
+
className: cn(field, "text-fg-muted rounded-surface px-2.5 py-1.5 text-(length:--cue-text-ui)"),
|
|
77
77
|
children: item.value
|
|
78
78
|
})]
|
|
79
79
|
}, item.name))
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { FOCUS_RING } from "../system/_focus-ring.js";
|
|
3
4
|
import { inkButton, paper } from "./surfaces.js";
|
|
4
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
6
|
import { ArrowUpIcon } from "lucide-react";
|
|
@@ -63,7 +64,7 @@ function EmptyStateSuggestion({ index = 0, className, style, ...props }) {
|
|
|
63
64
|
animationDelay: `${120 + index * 70}ms`,
|
|
64
65
|
...style
|
|
65
66
|
},
|
|
66
|
-
className: cn(paper,
|
|
67
|
+
className: cn(paper, `cue-elements-fade-in cue-elements-slide-in-from-bottom-2 cue-elements-animate-in cue-elements-fill-mode-both ${FOCUS_RING} rounded-full px-4 py-2 text-(length:--cue-text-body) transition-transform duration-500 outline-none hover:-translate-y-px active:scale-[0.96] motion-reduce:animate-none`, className),
|
|
67
68
|
...props
|
|
68
69
|
});
|
|
69
70
|
}
|
|
@@ -31,7 +31,7 @@ function ErrorState({ title, detail, retrying, onRetry, className, ...props }) {
|
|
|
31
31
|
return /* @__PURE__ */ jsxs("div", {
|
|
32
32
|
"data-slot": "error-state",
|
|
33
33
|
role: "alert",
|
|
34
|
-
className: cn("cue-elements-fade-in cue-elements-animate-in flex w-full max-w-sm items-start gap-2.5 rounded-
|
|
34
|
+
className: cn("cue-elements-fade-in cue-elements-animate-in flex w-full max-w-sm items-start gap-2.5 rounded-overlay bg-danger/10 px-4 py-3 text-(length:--cue-text-body) duration-300 motion-reduce:animate-none", className),
|
|
35
35
|
...props,
|
|
36
36
|
children: [
|
|
37
37
|
/* @__PURE__ */ jsx(CircleAlertIcon, { className: "mt-0.5 size-4 shrink-0 text-danger/80" }),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
+
import { FOCUS_RING } from "../system/_focus-ring.js";
|
|
3
4
|
import { field, inkButton, mono, paper } from "./surfaces.js";
|
|
4
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
6
|
import { CheckIcon, ThumbsDownIcon } from "lucide-react";
|
|
@@ -23,7 +24,7 @@ import { CheckIcon, ThumbsDownIcon } from "lucide-react";
|
|
|
23
24
|
function FeedbackDialog({ reasons, selected, note, sent, onToggleReason, onNoteChange, onSubmit, className, ...props }) {
|
|
24
25
|
return /* @__PURE__ */ jsxs("div", {
|
|
25
26
|
"data-slot": "feedback-dialog",
|
|
26
|
-
className: cn(paper, "flex w-full max-w-sm rounded-
|
|
27
|
+
className: cn(paper, "flex w-full max-w-sm rounded-overlay p-4", sent ? "items-center gap-2.5 text-(length:--cue-text-body)" : "flex-col gap-3", className),
|
|
27
28
|
...props,
|
|
28
29
|
children: [/* @__PURE__ */ jsx("div", {
|
|
29
30
|
role: "status",
|
|
@@ -34,7 +35,7 @@ function FeedbackDialog({ reasons, selected, note, sent, onToggleReason, onNoteC
|
|
|
34
35
|
className: "flex items-center gap-2.5",
|
|
35
36
|
children: [
|
|
36
37
|
/* @__PURE__ */ jsx("span", {
|
|
37
|
-
className: "bg-surface-1 text-fg-muted flex size-7 shrink-0 items-center justify-center rounded-
|
|
38
|
+
className: "bg-surface-1 text-fg-muted flex size-7 shrink-0 items-center justify-center rounded-surface",
|
|
38
39
|
children: /* @__PURE__ */ jsx(ThumbsDownIcon, { className: "size-3.5" })
|
|
39
40
|
}),
|
|
40
41
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -66,7 +67,7 @@ function FeedbackDialog({ reasons, selected, note, sent, onToggleReason, onNoteC
|
|
|
66
67
|
rows: 2,
|
|
67
68
|
placeholder: "Anything else?",
|
|
68
69
|
"aria-label": "Anything else?",
|
|
69
|
-
className: cn(field,
|
|
70
|
+
className: cn(field, `text-fg-muted placeholder:text-fg-subtle ${FOCUS_RING} resize-none rounded-surface px-3 py-2 text-(length:--cue-text-ui) outline-none`)
|
|
70
71
|
}),
|
|
71
72
|
/* @__PURE__ */ jsx("button", {
|
|
72
73
|
type: "button",
|
|
@@ -22,7 +22,7 @@ function FileTree({ nodes, visibleCount, totalAdditions, totalDeletions, classNa
|
|
|
22
22
|
const files = nodes.filter((node) => node.kind === "file").length;
|
|
23
23
|
return /* @__PURE__ */ jsxs("div", {
|
|
24
24
|
"data-slot": "file-tree",
|
|
25
|
-
className: cn(paper, "flex w-full max-w-sm flex-col gap-2 rounded-
|
|
25
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-2 rounded-overlay p-3.5", className),
|
|
26
26
|
...props,
|
|
27
27
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
28
28
|
className: "flex items-baseline justify-between px-1",
|
|
@@ -46,7 +46,7 @@ function FileTree({ nodes, visibleCount, totalAdditions, totalDeletions, classNa
|
|
|
46
46
|
}), /* @__PURE__ */ jsx("div", {
|
|
47
47
|
className: "flex flex-col",
|
|
48
48
|
children: take(nodes, visibleCount).map((node) => /* @__PURE__ */ jsx("div", {
|
|
49
|
-
className: "cue-elements-fade-in cue-elements-slide-in-from-left-1 cue-elements-animate-in cue-elements-fill-mode-both hover:bg-surface-1 flex items-center gap-2 rounded-
|
|
49
|
+
className: "cue-elements-fade-in cue-elements-slide-in-from-left-1 cue-elements-animate-in cue-elements-fill-mode-both hover:bg-surface-1 flex items-center gap-2 rounded-surface px-1 py-1 text-(length:--cue-text-body) transition-colors duration-300",
|
|
50
50
|
style: { paddingInlineStart: `${.25 + node.depth * .85}rem` },
|
|
51
51
|
children: node.kind === "folder" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
52
52
|
/* @__PURE__ */ jsx(ChevronDownIcon, { className: "text-fg-subtle size-3 shrink-0" }),
|
|
@@ -29,7 +29,7 @@ function FlowGraph({ nodes, edges, visibleCount, className, ...props }) {
|
|
|
29
29
|
});
|
|
30
30
|
return /* @__PURE__ */ jsx("div", {
|
|
31
31
|
"data-slot": "flow-graph",
|
|
32
|
-
className: cn(paper, "w-full max-w-md overflow-x-auto rounded-
|
|
32
|
+
className: cn(paper, "w-full max-w-md overflow-x-auto rounded-overlay p-4", className),
|
|
33
33
|
...props,
|
|
34
34
|
children: /* @__PURE__ */ jsxs("div", {
|
|
35
35
|
className: "relative",
|
|
@@ -59,7 +59,7 @@ function FlowGraph({ nodes, edges, visibleCount, className, ...props }) {
|
|
|
59
59
|
}, `${edge.from}-${edge.to}`);
|
|
60
60
|
})
|
|
61
61
|
}), shown.map((node) => /* @__PURE__ */ jsx("div", {
|
|
62
|
-
className: cn("cue-elements-fade-in cue-elements-zoom-in-95 cue-elements-animate-in cue-elements-fill-mode-both absolute flex items-center justify-center rounded-
|
|
62
|
+
className: cn("cue-elements-fade-in cue-elements-zoom-in-95 cue-elements-animate-in cue-elements-fill-mode-both absolute flex items-center justify-center rounded-surface border text-center text-(length:--cue-text-ui) leading-tight duration-300", node.state === "done" && "border-border bg-surface-1 text-fg-muted", node.state === "active" && "text-fg border-stream/30 bg-stream/10", node.state === "pending" && "border-border text-fg-subtle border-dashed"),
|
|
63
63
|
style: {
|
|
64
64
|
left: node.column * COL_W,
|
|
65
65
|
top: node.row * ROW_H,
|
|
@@ -20,14 +20,14 @@ import { ShieldIcon } from "lucide-react";
|
|
|
20
20
|
function GuardrailNotice({ title, explanation, policy, alternatives, onPick, className, ...props }) {
|
|
21
21
|
return /* @__PURE__ */ jsxs("div", {
|
|
22
22
|
"data-slot": "guardrail-notice",
|
|
23
|
-
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-
|
|
23
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-overlay p-4", className),
|
|
24
24
|
...props,
|
|
25
25
|
children: [
|
|
26
26
|
/* @__PURE__ */ jsxs("div", {
|
|
27
27
|
className: "flex items-center gap-2.5",
|
|
28
28
|
children: [
|
|
29
29
|
/* @__PURE__ */ jsx("span", {
|
|
30
|
-
className: "flex size-7 shrink-0 items-center justify-center rounded-
|
|
30
|
+
className: "flex size-7 shrink-0 items-center justify-center rounded-surface bg-warn/12 text-warn",
|
|
31
31
|
children: /* @__PURE__ */ jsx(ShieldIcon, { className: "size-3.5" })
|
|
32
32
|
}),
|
|
33
33
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -52,7 +52,7 @@ function GuardrailNotice({ title, explanation, policy, alternatives, onPick, cla
|
|
|
52
52
|
}), alternatives.map((alternative) => /* @__PURE__ */ jsx("button", {
|
|
53
53
|
type: "button",
|
|
54
54
|
onClick: () => onPick?.(alternative),
|
|
55
|
-
className: "hover:bg-surface-1 text-fg-muted hover:text-fg -mx-1.5 rounded-
|
|
55
|
+
className: "hover:bg-surface-1 text-fg-muted hover:text-fg -mx-1.5 rounded-surface px-1.5 py-1 text-start text-(length:--cue-text-body) transition-colors",
|
|
56
56
|
children: alternative
|
|
57
57
|
}, alternative))]
|
|
58
58
|
})
|
|
@@ -19,7 +19,7 @@ function ImageGeneration({ prompt, generating, className, ...props }) {
|
|
|
19
19
|
className: cn("flex w-52 flex-col gap-2.5", className),
|
|
20
20
|
...props,
|
|
21
21
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
22
|
-
className: cn(paper, "relative aspect-square w-full overflow-hidden rounded-
|
|
22
|
+
className: cn(paper, "relative aspect-square w-full overflow-hidden rounded-overlay"),
|
|
23
23
|
children: [
|
|
24
24
|
/* @__PURE__ */ jsx("div", {
|
|
25
25
|
className: "absolute inset-0 grid grid-cols-8 place-items-center p-6",
|
|
@@ -13,7 +13,7 @@ function Citation({ index, source, open, onOpenChange }) {
|
|
|
13
13
|
children: [/* @__PURE__ */ jsx(PreviewCard.Trigger, {
|
|
14
14
|
delay: 0,
|
|
15
15
|
render: /* @__PURE__ */ jsx("button", { type: "button" }),
|
|
16
|
-
className: cn("mx-0.5 inline-flex h-4 min-w-4 translate-y-[-2px] cursor-default items-center justify-center rounded-
|
|
16
|
+
className: cn("mx-0.5 inline-flex h-4 min-w-4 translate-y-[-2px] cursor-default items-center justify-center rounded-control px-1 align-middle font-mono text-(length:--cue-text-micro) font-medium tabular-nums transition-colors", open ? "bg-accent text-accent-fg" : "bg-surface-2 text-fg-muted hover:text-fg"),
|
|
17
17
|
children: index + 1
|
|
18
18
|
}), /* @__PURE__ */ jsx(PreviewCard.Portal, {
|
|
19
19
|
...portalProps,
|
|
@@ -21,12 +21,12 @@ function Citation({ index, source, open, onOpenChange }) {
|
|
|
21
21
|
side: "top",
|
|
22
22
|
sideOffset: 8,
|
|
23
23
|
children: /* @__PURE__ */ jsxs(PreviewCard.Popup, {
|
|
24
|
-
className: cn(floating, "z-50 w-64 origin-(--transform-origin) rounded-
|
|
24
|
+
className: cn(floating, "z-50 w-64 origin-(--transform-origin) rounded-overlay p-3.5 outline-none", "transition-[opacity,scale] duration-200 ease-[cubic-bezier(0.23,1,0.32,1)] motion-reduce:transition-none", "data-[starting-style]:scale-[0.97] data-[starting-style]:opacity-0", "data-[ending-style]:scale-[0.97] data-[ending-style]:opacity-0"),
|
|
25
25
|
children: [
|
|
26
26
|
/* @__PURE__ */ jsxs("div", {
|
|
27
27
|
className: "flex items-center gap-1.5",
|
|
28
28
|
children: [/* @__PURE__ */ jsx("span", {
|
|
29
|
-
className: "bg-surface-2 text-fg-muted flex size-4 items-center justify-center rounded-
|
|
29
|
+
className: "bg-surface-2 text-fg-muted flex size-4 items-center justify-center rounded-control text-(length:--cue-text-micro) font-medium",
|
|
30
30
|
children: source.domain[0]?.toUpperCase()
|
|
31
31
|
}), /* @__PURE__ */ jsx("span", {
|
|
32
32
|
className: cn(mono, "text-fg-subtle"),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../lib/cn.js";
|
|
3
|
-
import { mono, paper } from "./surfaces.js";
|
|
3
|
+
import { ghostButton, mono, paper } from "./surfaces.js";
|
|
4
4
|
import { clamp, pct, progressOf, take } from "./range.js";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { CheckIcon, Loader2Icon, XIcon } from "lucide-react";
|
|
@@ -29,7 +29,7 @@ function JobProgress({ title, stages, stageIndex, stageProgress, eta, onCancel,
|
|
|
29
29
|
const finished = stage >= stages.length;
|
|
30
30
|
return /* @__PURE__ */ jsxs("div", {
|
|
31
31
|
"data-slot": "job-progress",
|
|
32
|
-
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-
|
|
32
|
+
className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-overlay p-4", className),
|
|
33
33
|
...props,
|
|
34
34
|
children: [
|
|
35
35
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -48,7 +48,7 @@ function JobProgress({ title, stages, stageIndex, stageProgress, eta, onCancel,
|
|
|
48
48
|
type: "button",
|
|
49
49
|
"aria-label": "Cancel the job",
|
|
50
50
|
onClick: onCancel,
|
|
51
|
-
className: cn(
|
|
51
|
+
className: cn(ghostButton, "size-6 shrink-0"),
|
|
52
52
|
children: /* @__PURE__ */ jsx(XIcon, { className: "size-3.5" })
|
|
53
53
|
})
|
|
54
54
|
]
|
|
@@ -24,7 +24,7 @@ function LauncherBubble({ open, unread, greeting, prompts, onToggle, onPick, onS
|
|
|
24
24
|
className: cn("flex w-full max-w-[19rem] flex-col items-end gap-2.5", className),
|
|
25
25
|
...props,
|
|
26
26
|
children: [open && /* @__PURE__ */ jsxs("div", {
|
|
27
|
-
className: cn("bg-surface-2 border border-border-overlay", "cue-elements-fade-in cue-elements-zoom-in-95 cue-elements-slide-in-from-bottom-2 cue-elements-animate-in flex w-full flex-col gap-3 rounded-
|
|
27
|
+
className: cn("bg-surface-2 border border-border-overlay", "cue-elements-fade-in cue-elements-zoom-in-95 cue-elements-slide-in-from-bottom-2 cue-elements-animate-in flex w-full flex-col gap-3 rounded-overlay p-4 duration-200"),
|
|
28
28
|
children: [
|
|
29
29
|
/* @__PURE__ */ jsxs("div", {
|
|
30
30
|
className: "flex flex-col gap-1",
|
|
@@ -41,7 +41,7 @@ function LauncherBubble({ open, unread, greeting, prompts, onToggle, onPick, onS
|
|
|
41
41
|
children: prompts.map((prompt) => /* @__PURE__ */ jsx("button", {
|
|
42
42
|
type: "button",
|
|
43
43
|
onClick: () => onPick?.(prompt),
|
|
44
|
-
className: cn("bg-fg/[0.06]", "hover:bg-surface-2 text-fg-muted rounded-
|
|
44
|
+
className: cn("bg-fg/[0.06]", "hover:bg-surface-2 text-fg-muted rounded-surface px-3 py-2 text-start text-(length:--cue-text-body) transition-colors"),
|
|
45
45
|
children: prompt
|
|
46
46
|
}, prompt))
|
|
47
47
|
}),
|
|
@@ -6,7 +6,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
const CELL_SHAPES = {
|
|
7
7
|
dots: "rounded-full",
|
|
8
8
|
squares: "rounded-none",
|
|
9
|
-
rounded: "rounded-
|
|
9
|
+
rounded: "rounded-control"
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
12
|
* The wait before there is anything to show. A nine-cell matrix keeps time under a
|