@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
|
@@ -219,12 +219,14 @@
|
|
|
219
219
|
"variants": {},
|
|
220
220
|
"defaultVariants": {},
|
|
221
221
|
"tokensUsed": [
|
|
222
|
-
"--cue-accent",
|
|
223
222
|
"--cue-accent-soft",
|
|
224
223
|
"--cue-bg",
|
|
225
224
|
"--cue-border",
|
|
226
225
|
"--cue-fg",
|
|
226
|
+
"--cue-fg-muted",
|
|
227
227
|
"--cue-fg-subtle",
|
|
228
|
+
"--cue-focus",
|
|
229
|
+
"--cue-focus-ring",
|
|
228
230
|
"--cue-font-mono",
|
|
229
231
|
"--cue-hair-strong",
|
|
230
232
|
"--cue-pad-row-x",
|
|
@@ -232,11 +234,29 @@
|
|
|
232
234
|
"--cue-row-hover",
|
|
233
235
|
"--cue-space-2",
|
|
234
236
|
"--cue-space-3",
|
|
237
|
+
"--cue-style-body-size",
|
|
238
|
+
"--cue-style-cell-leading",
|
|
239
|
+
"--cue-style-cell-pad",
|
|
240
|
+
"--cue-style-data-face",
|
|
241
|
+
"--cue-style-focus-width",
|
|
242
|
+
"--cue-style-help-ink",
|
|
243
|
+
"--cue-style-label-case",
|
|
244
|
+
"--cue-style-label-face",
|
|
245
|
+
"--cue-style-label-ink",
|
|
246
|
+
"--cue-style-label-size",
|
|
247
|
+
"--cue-style-label-tracking",
|
|
248
|
+
"--cue-style-label-weight",
|
|
249
|
+
"--cue-style-row-pad",
|
|
250
|
+
"--cue-style-selected-ground",
|
|
251
|
+
"--cue-style-selected-ink",
|
|
235
252
|
"--cue-surface-1",
|
|
236
253
|
"--cue-table-group-top",
|
|
237
254
|
"--cue-text-label",
|
|
255
|
+
"--cue-text-micro",
|
|
238
256
|
"--cue-text-ui",
|
|
239
|
-
"--cue-tracking-caps"
|
|
257
|
+
"--cue-tracking-caps",
|
|
258
|
+
"--cue-tracking-caps-loose",
|
|
259
|
+
"--cue-tracking-caps-tight"
|
|
240
260
|
],
|
|
241
261
|
"summary": "The semantic table: mono uppercase headers, hairline rows, tabular numerals.",
|
|
242
262
|
"examples": [
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
{
|
|
59
59
|
"name": "Tab",
|
|
60
60
|
"usage": "Tabs.Tab",
|
|
61
|
-
"description": "One tab. Selected state is an accent underline sitting on the list's rule —\nnever a filled pill, which at console density turns a row of four tabs into a\nrow of four buttons and loses the \"one surface, several views\" reading.",
|
|
61
|
+
"description": "One tab. Selected state is an accent underline sitting on the list's rule —\nnever a filled pill, which at console density turns a row of four tabs into a\nrow of four buttons and loses the \"one surface, several views\" reading.\n\nThat is the default. A Look that draws its tabs as a segmented track says so\nthrough the style set's segment names, and takes the rule and the underline\naway with `style-tab-rule` and `style-tab-underline`.",
|
|
62
62
|
"props": [
|
|
63
63
|
{
|
|
64
64
|
"name": "className",
|
|
@@ -101,18 +101,39 @@
|
|
|
101
101
|
"tokensUsed": [
|
|
102
102
|
"--cue-accent",
|
|
103
103
|
"--cue-border",
|
|
104
|
+
"--cue-border-width",
|
|
104
105
|
"--cue-control-md",
|
|
105
106
|
"--cue-edge-fade",
|
|
106
107
|
"--cue-fg",
|
|
107
108
|
"--cue-fg-muted",
|
|
109
|
+
"--cue-focus",
|
|
110
|
+
"--cue-focus-ring",
|
|
108
111
|
"--cue-font-mono",
|
|
109
112
|
"--cue-icon-sm",
|
|
110
113
|
"--cue-paint-fade-length",
|
|
114
|
+
"--cue-paint-rest-shade",
|
|
115
|
+
"--cue-paint-shadow-scale",
|
|
111
116
|
"--cue-radius-control",
|
|
117
|
+
"--cue-radius-scale",
|
|
112
118
|
"--cue-space-1",
|
|
113
119
|
"--cue-space-2",
|
|
114
120
|
"--cue-space-4",
|
|
115
121
|
"--cue-space-5",
|
|
122
|
+
"--cue-style-control-face",
|
|
123
|
+
"--cue-style-focus-width",
|
|
124
|
+
"--cue-style-group-gap",
|
|
125
|
+
"--cue-style-segment-edge",
|
|
126
|
+
"--cue-style-segment-ground",
|
|
127
|
+
"--cue-style-segment-idle-ink",
|
|
128
|
+
"--cue-style-segment-ink",
|
|
129
|
+
"--cue-style-segment-inset",
|
|
130
|
+
"--cue-style-segment-pad",
|
|
131
|
+
"--cue-style-segment-track",
|
|
132
|
+
"--cue-style-segment-weight",
|
|
133
|
+
"--cue-style-tab-hover-ink",
|
|
134
|
+
"--cue-style-tab-radius",
|
|
135
|
+
"--cue-style-tab-rule",
|
|
136
|
+
"--cue-style-tab-underline",
|
|
116
137
|
"--cue-surface-1",
|
|
117
138
|
"--cue-surface-2",
|
|
118
139
|
"--cue-text-ui"
|
|
@@ -196,23 +196,33 @@
|
|
|
196
196
|
"defaultVariants": {},
|
|
197
197
|
"tokensUsed": [
|
|
198
198
|
"--cue-accent",
|
|
199
|
+
"--cue-accent-fill",
|
|
200
|
+
"--cue-accent-fill-fg",
|
|
199
201
|
"--cue-accent-soft",
|
|
200
202
|
"--cue-border",
|
|
201
203
|
"--cue-border-overlay",
|
|
202
204
|
"--cue-border-strong",
|
|
205
|
+
"--cue-busy",
|
|
203
206
|
"--cue-chip-h",
|
|
204
207
|
"--cue-control-lg",
|
|
205
208
|
"--cue-control-md",
|
|
206
209
|
"--cue-control-sm",
|
|
207
210
|
"--cue-danger",
|
|
211
|
+
"--cue-danger-fg",
|
|
208
212
|
"--cue-fg",
|
|
209
213
|
"--cue-fg-muted",
|
|
210
214
|
"--cue-fg-subtle",
|
|
211
215
|
"--cue-focus",
|
|
216
|
+
"--cue-focus-ring",
|
|
212
217
|
"--cue-font-mono",
|
|
218
|
+
"--cue-hair-strong",
|
|
213
219
|
"--cue-icon-sm",
|
|
220
|
+
"--cue-info",
|
|
214
221
|
"--cue-leading-ui",
|
|
222
|
+
"--cue-ok",
|
|
223
|
+
"--cue-paint-rest-shade",
|
|
215
224
|
"--cue-paint-rim-width",
|
|
225
|
+
"--cue-paint-scrim-filter",
|
|
216
226
|
"--cue-paint-shade-far",
|
|
217
227
|
"--cue-paint-shade-hairline",
|
|
218
228
|
"--cue-paint-shade-near",
|
|
@@ -221,23 +231,98 @@
|
|
|
221
231
|
"--cue-paint-sheen-ink",
|
|
222
232
|
"--cue-paint-stroke-angle",
|
|
223
233
|
"--cue-paint-stroke-from",
|
|
234
|
+
"--cue-paint-stroke-overlay-from",
|
|
235
|
+
"--cue-paint-stroke-overlay-to",
|
|
224
236
|
"--cue-paint-stroke-to",
|
|
225
237
|
"--cue-paint-stroke-width",
|
|
226
238
|
"--cue-radius-control",
|
|
227
239
|
"--cue-radius-overlay",
|
|
240
|
+
"--cue-radius-scale",
|
|
228
241
|
"--cue-scrim",
|
|
229
242
|
"--cue-space-1",
|
|
230
243
|
"--cue-space-2",
|
|
231
244
|
"--cue-space-3",
|
|
232
245
|
"--cue-space-4",
|
|
233
246
|
"--cue-space-5",
|
|
247
|
+
"--cue-style-body-face",
|
|
248
|
+
"--cue-style-body-leading",
|
|
249
|
+
"--cue-style-body-size",
|
|
250
|
+
"--cue-style-body-weight",
|
|
251
|
+
"--cue-style-check-edge",
|
|
252
|
+
"--cue-style-chip-case",
|
|
253
|
+
"--cue-style-chip-edge",
|
|
254
|
+
"--cue-style-chip-fill",
|
|
255
|
+
"--cue-style-chip-gap",
|
|
256
|
+
"--cue-style-chip-height",
|
|
257
|
+
"--cue-style-chip-ink",
|
|
258
|
+
"--cue-style-chip-leading",
|
|
259
|
+
"--cue-style-chip-pad",
|
|
260
|
+
"--cue-style-chip-radius",
|
|
261
|
+
"--cue-style-chip-size",
|
|
262
|
+
"--cue-style-chip-tracking",
|
|
263
|
+
"--cue-style-control-face",
|
|
264
|
+
"--cue-style-control-step-size",
|
|
265
|
+
"--cue-style-disabled-edge",
|
|
266
|
+
"--cue-style-disabled-fill",
|
|
267
|
+
"--cue-style-disabled-ink",
|
|
268
|
+
"--cue-style-disabled-opacity",
|
|
269
|
+
"--cue-style-display-variation",
|
|
270
|
+
"--cue-style-field-focus-offset",
|
|
271
|
+
"--cue-style-field-hover-edge",
|
|
272
|
+
"--cue-style-field-pad",
|
|
273
|
+
"--cue-style-focus-edge",
|
|
274
|
+
"--cue-style-focus-width",
|
|
275
|
+
"--cue-style-glyph-ink",
|
|
276
|
+
"--cue-style-glyph-opacity",
|
|
277
|
+
"--cue-style-glyph-size",
|
|
278
|
+
"--cue-style-group-label-ink",
|
|
279
|
+
"--cue-style-group-label-pad",
|
|
280
|
+
"--cue-style-group-label-size",
|
|
281
|
+
"--cue-style-heading-ink",
|
|
282
|
+
"--cue-style-input-face",
|
|
283
|
+
"--cue-style-label-case",
|
|
284
|
+
"--cue-style-label-face",
|
|
285
|
+
"--cue-style-label-ink",
|
|
286
|
+
"--cue-style-label-size",
|
|
287
|
+
"--cue-style-label-tracking",
|
|
288
|
+
"--cue-style-label-weight",
|
|
289
|
+
"--cue-style-listbox-pad",
|
|
290
|
+
"--cue-style-menu-highlight",
|
|
291
|
+
"--cue-style-menu-item-radius",
|
|
292
|
+
"--cue-style-menu-min-width",
|
|
293
|
+
"--cue-style-menu-separator-inset",
|
|
294
|
+
"--cue-style-option-height",
|
|
295
|
+
"--cue-style-option-highlight-ink",
|
|
296
|
+
"--cue-style-option-ink",
|
|
297
|
+
"--cue-style-option-leading",
|
|
298
|
+
"--cue-style-option-pad",
|
|
299
|
+
"--cue-style-option-selected-ground",
|
|
300
|
+
"--cue-style-option-selected-hover-ground",
|
|
301
|
+
"--cue-style-option-selected-ink",
|
|
302
|
+
"--cue-style-outline-edge",
|
|
303
|
+
"--cue-style-overlay-ground",
|
|
304
|
+
"--cue-style-overlay-title-leading",
|
|
305
|
+
"--cue-style-overlay-title-size",
|
|
306
|
+
"--cue-style-quiet-ink",
|
|
307
|
+
"--cue-style-row-disabled-opacity",
|
|
308
|
+
"--cue-style-secondary-ground",
|
|
309
|
+
"--cue-style-secondary-ink",
|
|
310
|
+
"--cue-style-tag-edge",
|
|
311
|
+
"--cue-style-tag-pad",
|
|
312
|
+
"--cue-style-title-face",
|
|
313
|
+
"--cue-style-title-weight",
|
|
234
314
|
"--cue-sunken",
|
|
235
315
|
"--cue-surface-2",
|
|
316
|
+
"--cue-surface-3",
|
|
236
317
|
"--cue-text-body",
|
|
237
318
|
"--cue-text-emphasis",
|
|
238
319
|
"--cue-text-label",
|
|
320
|
+
"--cue-text-micro",
|
|
239
321
|
"--cue-text-ui",
|
|
240
|
-
"--cue-tracking-caps"
|
|
322
|
+
"--cue-tracking-caps",
|
|
323
|
+
"--cue-tracking-caps-loose",
|
|
324
|
+
"--cue-tracking-caps-tight",
|
|
325
|
+
"--cue-warn"
|
|
241
326
|
],
|
|
242
327
|
"summary": "Free-form tags, each a removable chip. Enter or a separator key commits what is in the box.",
|
|
243
328
|
"examples": [
|
|
@@ -113,8 +113,11 @@
|
|
|
113
113
|
"--cue-radius-surface",
|
|
114
114
|
"--cue-space-3",
|
|
115
115
|
"--cue-space-5",
|
|
116
|
+
"--cue-style-label-ink",
|
|
117
|
+
"--cue-style-label-size",
|
|
116
118
|
"--cue-sunken",
|
|
117
119
|
"--cue-text-label",
|
|
120
|
+
"--cue-text-micro",
|
|
118
121
|
"--cue-text-ui",
|
|
119
122
|
"--cue-tracking-caps",
|
|
120
123
|
"--cue-warn"
|
|
@@ -56,17 +56,25 @@
|
|
|
56
56
|
"variants": {},
|
|
57
57
|
"defaultVariants": {},
|
|
58
58
|
"tokensUsed": [
|
|
59
|
+
"--cue-accent",
|
|
60
|
+
"--cue-accent-fill",
|
|
61
|
+
"--cue-accent-fill-fg",
|
|
59
62
|
"--cue-border",
|
|
60
63
|
"--cue-border-strong",
|
|
61
64
|
"--cue-control-lg",
|
|
62
65
|
"--cue-control-md",
|
|
63
66
|
"--cue-control-sm",
|
|
64
67
|
"--cue-danger",
|
|
68
|
+
"--cue-danger-fg",
|
|
65
69
|
"--cue-fg",
|
|
70
|
+
"--cue-fg-muted",
|
|
66
71
|
"--cue-fg-subtle",
|
|
67
72
|
"--cue-focus",
|
|
73
|
+
"--cue-focus-ring",
|
|
68
74
|
"--cue-font-mono",
|
|
69
75
|
"--cue-leading-ui",
|
|
76
|
+
"--cue-paint-rest-shade",
|
|
77
|
+
"--cue-paint-shadow-scale",
|
|
70
78
|
"--cue-paint-stroke-angle",
|
|
71
79
|
"--cue-paint-stroke-from",
|
|
72
80
|
"--cue-paint-stroke-to",
|
|
@@ -75,8 +83,31 @@
|
|
|
75
83
|
"--cue-space-3",
|
|
76
84
|
"--cue-space-4",
|
|
77
85
|
"--cue-space-5",
|
|
86
|
+
"--cue-style-body-weight",
|
|
87
|
+
"--cue-style-check-edge",
|
|
88
|
+
"--cue-style-control-step-size",
|
|
89
|
+
"--cue-style-disabled-edge",
|
|
90
|
+
"--cue-style-disabled-fill",
|
|
91
|
+
"--cue-style-disabled-ink",
|
|
92
|
+
"--cue-style-disabled-opacity",
|
|
93
|
+
"--cue-style-field-focus-offset",
|
|
94
|
+
"--cue-style-field-hover-edge",
|
|
95
|
+
"--cue-style-field-pad",
|
|
96
|
+
"--cue-style-focus-edge",
|
|
97
|
+
"--cue-style-focus-width",
|
|
98
|
+
"--cue-style-input-face",
|
|
99
|
+
"--cue-style-input-leading",
|
|
100
|
+
"--cue-style-label-ink",
|
|
101
|
+
"--cue-style-outline-edge",
|
|
102
|
+
"--cue-style-quiet-ink",
|
|
103
|
+
"--cue-style-secondary-ground",
|
|
104
|
+
"--cue-style-secondary-ink",
|
|
105
|
+
"--cue-style-textarea-pad",
|
|
78
106
|
"--cue-sunken",
|
|
107
|
+
"--cue-surface-2",
|
|
108
|
+
"--cue-surface-3",
|
|
79
109
|
"--cue-text-body",
|
|
110
|
+
"--cue-text-emphasis",
|
|
80
111
|
"--cue-text-label",
|
|
81
112
|
"--cue-text-ui"
|
|
82
113
|
],
|
|
@@ -130,6 +130,7 @@
|
|
|
130
130
|
"--cue-icon-sm",
|
|
131
131
|
"--cue-leading-ui",
|
|
132
132
|
"--cue-paint-rim-width",
|
|
133
|
+
"--cue-paint-scrim-filter",
|
|
133
134
|
"--cue-paint-shade-far",
|
|
134
135
|
"--cue-paint-shade-hairline",
|
|
135
136
|
"--cue-paint-shade-near",
|
|
@@ -137,22 +138,53 @@
|
|
|
137
138
|
"--cue-paint-shadow-spread",
|
|
138
139
|
"--cue-paint-sheen-ink",
|
|
139
140
|
"--cue-paint-stroke-angle",
|
|
140
|
-
"--cue-paint-stroke-from",
|
|
141
|
-
"--cue-paint-stroke-to",
|
|
141
|
+
"--cue-paint-stroke-overlay-from",
|
|
142
|
+
"--cue-paint-stroke-overlay-to",
|
|
142
143
|
"--cue-paint-stroke-width",
|
|
143
144
|
"--cue-radius-control",
|
|
144
145
|
"--cue-radius-overlay",
|
|
146
|
+
"--cue-radius-scale",
|
|
145
147
|
"--cue-scrim",
|
|
146
148
|
"--cue-space-1",
|
|
147
149
|
"--cue-space-2",
|
|
148
150
|
"--cue-space-3",
|
|
149
151
|
"--cue-space-4",
|
|
150
152
|
"--cue-space-5",
|
|
153
|
+
"--cue-style-body-face",
|
|
154
|
+
"--cue-style-body-leading",
|
|
155
|
+
"--cue-style-body-size",
|
|
156
|
+
"--cue-style-body-weight",
|
|
157
|
+
"--cue-style-control-face",
|
|
158
|
+
"--cue-style-display-variation",
|
|
159
|
+
"--cue-style-group-label-ink",
|
|
160
|
+
"--cue-style-group-label-pad",
|
|
161
|
+
"--cue-style-group-label-size",
|
|
162
|
+
"--cue-style-heading-ink",
|
|
163
|
+
"--cue-style-label-case",
|
|
164
|
+
"--cue-style-label-face",
|
|
165
|
+
"--cue-style-label-ink",
|
|
166
|
+
"--cue-style-label-size",
|
|
167
|
+
"--cue-style-label-tracking",
|
|
168
|
+
"--cue-style-label-weight",
|
|
169
|
+
"--cue-style-menu-highlight",
|
|
170
|
+
"--cue-style-menu-item-radius",
|
|
171
|
+
"--cue-style-menu-min-width",
|
|
172
|
+
"--cue-style-menu-separator-inset",
|
|
173
|
+
"--cue-style-overlay-ground",
|
|
174
|
+
"--cue-style-overlay-title-leading",
|
|
175
|
+
"--cue-style-overlay-title-size",
|
|
176
|
+
"--cue-style-quiet-ink",
|
|
177
|
+
"--cue-style-row-disabled-opacity",
|
|
178
|
+
"--cue-style-title-face",
|
|
179
|
+
"--cue-style-title-weight",
|
|
151
180
|
"--cue-surface-2",
|
|
152
181
|
"--cue-text-emphasis",
|
|
153
182
|
"--cue-text-label",
|
|
183
|
+
"--cue-text-micro",
|
|
154
184
|
"--cue-text-ui",
|
|
155
|
-
"--cue-tracking-caps"
|
|
185
|
+
"--cue-tracking-caps",
|
|
186
|
+
"--cue-tracking-caps-loose",
|
|
187
|
+
"--cue-tracking-caps-tight"
|
|
156
188
|
],
|
|
157
189
|
"summary": "The floating panel that edits the design system it is drawn with.",
|
|
158
190
|
"examples": [
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"importPath": "@cueplusplus/ui",
|
|
6
6
|
"peerDependencies": [],
|
|
7
7
|
"clientOnly": true,
|
|
8
|
-
"description": "Root of the theme system: stamps `data-theme`, `data-density` and `data-mode`\nso the token layer resolves, puts `data-font` on `<html>`, publishes\n`--cue-font-scale`, owns the persisted user preference, and publishes the\nregistry the three axis hooks read.\n\nRendering: `<div data-cue-root data-theme data-density data-mode style={{ colorScheme, --cue-font-scale }}>`\n(or the single child when `asChild`), plus `data-style` when — and only when —\na style set is in force. The
|
|
8
|
+
"description": "Root of the theme system: stamps `data-theme`, `data-density` and `data-mode`\nso the token layer resolves, puts `data-font` on `<html>`, publishes\n`--cue-font-scale`, owns the persisted user preference, and publishes the\nregistry the three axis hooks read.\n\nRendering: `<div data-cue-root data-theme data-density data-mode style={{ colorScheme, --cue-font-scale }}>`\n(or the single child when `asChild`), plus `data-style` when — and only when —\na style set is in force, and `data-paint` on the same terms for a pack. The\n`theme`/`density`/`font`/`mode`/`styleSet`/`paint` props are\n*initial* values — the provider holds the state so `setTheme` and friends can\ndrive it — but a changed prop is adopted after mount, so a controlling parent\nstill works.\n\nA **nested** provider stamps only what it names. One that names no theme,\nrung, mode, set or pack follows each of them from around it, live — a\npreference the root restores after mount, or a setter called at the root,\nreaches it, its `useTheme()` and its portals — and restates none of them on\nits element, so inheritance carries the outer attributes through. Naming a\ntheme or a mode stamps theme, rung and mode together (a theme's light block\nand its rung rules are compound selectors), and restates the set and the pack\nin force beside them, so their blocks — whose values read the theme — resolve\nagainst this element's theme rather than the page's; naming only a rung\nstamps it as a `<Density>` island does.\n\nThe font pairing is the one axis that never lands on this element: it has no\nisland form, `<html>` is its only home, and restating it here would shadow the\npre-paint stamp for the whole page on the first frame. See the `stamp` object\nbelow.\n\nThe other axes wait for the same reason at a root that persists: its server\nmarkup, and its first client render, carry `data-cue-root` and no axis\nattribute or `color-scheme`, so the page inherits the visitor's stored axes\nfrom the pre-paint stamp on `<html>`. The restore lands before the first\npaint, and the element then states what it restored. Read the document's\naxes off `<html>`, not off this element, before hydration.\n\nPersistence and the pre-paint contract: setters write\n`{ theme, density, font, mode }` to `localStorage[storageKey]`, plus a `style`\nkey holding the style set when there is one and a `paint` key holding the pack\nwhen there is one — each omitted entirely when there is not, so an application\nthat never touches either axis writes the same four-key object it always\nwrote. That is exactly what\n{@link prepaintScript } reads to stamp `<html>` before the first paint. The\noutermost provider keeps `<html>` in sync while the app runs (and restores the\nprevious stamp on unmount) so the page ground, UA scrollbars and form controls\nfollow the theme; nested providers never touch `<html>`, and never own the\nfont pairing — `useTheme().font` and `setFont` inside one are the root's.",
|
|
9
9
|
"props": [
|
|
10
10
|
{
|
|
11
11
|
"name": "themes",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"type": "string",
|
|
23
23
|
"required": false,
|
|
24
24
|
"defaultValue": null,
|
|
25
|
-
"description": "Initial theme preset. Defaults to the first registered manifest's name, or\n`\"cue\"` with nothing registered. Changing it after mount adopts the new value.",
|
|
25
|
+
"description": "Initial theme preset. Defaults to the first registered manifest's name, or\n`\"cue\"` with nothing registered. Changing it after mount adopts the new value.\n\nA nested provider that names **none** holds none: it stamps no\n`data-theme`, so the theme around it inherits through its element, and\n`useTheme().theme` inside it — and every portal opened inside it — follows\nthat theme **live**, a theme the root restores from storage after mount\nincluded. Naming one makes it this provider's, stamped with the rung and\nmode in force beside it, whatever the root does.",
|
|
26
26
|
"control": {
|
|
27
27
|
"kind": "string"
|
|
28
28
|
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"type": "\"normal\" | \"large\" | \"compact\" | \"ultra-compact\" | \"ultra-large\"",
|
|
33
33
|
"required": false,
|
|
34
34
|
"defaultValue": null,
|
|
35
|
-
"description": "Initial density level.\n\nDefaults to the rung the active theme's manifest names in\n`densities.default`, and to `\"compact\"` when it names none — spec §5's\nrule, and the same one `resolve()` applies when no rung is wanted, so a\ntheme opens on the rung it prefers whether it is read from JS or painted\nby its own stylesheet. Naming a rung here overrides that for every theme:\na consumer who named one named it deliberately.\n\nChanging it after mount adopts the new value; dropping it does not — a\nparent that stops naming a rung is not asking to move back to the theme's.",
|
|
35
|
+
"description": "Initial density level.\n\nDefaults to the rung the active theme's manifest names in\n`densities.default`, and to `\"compact\"` when it names none — spec §5's\nrule, and the same one `resolve()` applies when no rung is wanted, so a\ntheme opens on the rung it prefers whether it is read from JS or painted\nby its own stylesheet. Naming a rung here overrides that for every theme:\na consumer who named one named it deliberately.\n\nChanging it after mount adopts the new value; dropping it does not — a\nparent that stops naming a rung is not asking to move back to the theme's.\n\nA nested provider that names **none** follows the rung stamped around it\nlive — the outer provider's, or a `<Density>` island's between them — and\nstamps none unless it re-themes or re-modes, in which case it restates the\nrung it follows. Naming one stamps it as a `<Density>` island would.",
|
|
36
36
|
"control": {
|
|
37
37
|
"kind": "enum",
|
|
38
38
|
"members": [
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"name": "mode",
|
|
49
49
|
"type": "\"system\" | \"dark\" | \"light\"",
|
|
50
50
|
"required": false,
|
|
51
|
-
"defaultValue":
|
|
52
|
-
"description": "Initial mode. Defaults to `\"dark\"
|
|
51
|
+
"defaultValue": null,
|
|
52
|
+
"description": "Initial mode. Defaults to `\"dark\"` at the root; `\"system\"` tracks\n`prefers-color-scheme`.\n\nA nested provider that names **none** follows the mode around it live and\nstamps no `data-mode` or `color-scheme` of its own; `useTheme().mode` and\n`resolvedMode` inside it report the ambient pair. Naming one stamps it\nbeside the theme in force, because a theme's light block is the compound\n`[data-theme][data-mode]`.",
|
|
53
53
|
"control": {
|
|
54
54
|
"kind": "enum",
|
|
55
55
|
"members": [
|
|
@@ -61,45 +61,54 @@
|
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
"name": "font",
|
|
64
|
-
"type": "\"source\" | \"system\" | \"geist\" | \"inter\" | \"plex\" | \"roboto\" | \"apple\" | \"office\"",
|
|
64
|
+
"type": "\"source\" | \"system\" | \"geist\" | \"geist-mono\" | \"inter\" | \"plex\" | \"roboto\" | \"apple\" | \"office\" | \"inter-source\" | \"dm\" | \"calsans\"",
|
|
65
65
|
"required": false,
|
|
66
66
|
"defaultValue": null,
|
|
67
|
-
"description": "Initial font pairing.\n\nDefaults to the pairing the active theme's manifest names in\n`fontPairings.default` — §5's rule, the density prop's rule one axis over\n— and to `\"system\"` when it names none: the platform's own faces, nothing\ndownloaded, and the theme keeps whatever monospace it authored.\n\nA pairing that needs delivering is a set of *names*: this library ships no\nfont files, and a pairing nobody delivers falls through its stack to the\nplatform rather than failing. See `FONT_PAIRINGS[font].faces` for the\ncustom properties an app assigns to make one resolve.\n\n**Root-level only.** There is no font island: a nested provider forwards\nthis axis to the root, ignores this prop, and its `setFont` drives the root.\nA page that changed face halfway down is a page with a bug, and a specimen\nthat genuinely wants one — a picker row, a docs page showing all
|
|
67
|
+
"description": "Initial font pairing.\n\nDefaults to the pairing the active theme's manifest names in\n`fontPairings.default` — §5's rule, the density prop's rule one axis over\n— and to `\"system\"` when it names none: the platform's own faces, nothing\ndownloaded, and the theme keeps whatever monospace it authored.\n\nA pairing that needs delivering is a set of *names*: this library ships no\nfont files, and a pairing nobody delivers falls through its stack to the\nplatform rather than failing. See `FONT_PAIRINGS[font].faces` for the\ncustom properties an app assigns to make one resolve.\n\n**Root-level only.** There is no font island: a nested provider forwards\nthis axis to the root, ignores this prop, and its `setFont` drives the root.\nA page that changed face halfway down is a page with a bug, and a specimen\nthat genuinely wants one — a picker row, a docs page showing all twelve —\nneeds nothing from this library but `data-font` on a `<div>`.",
|
|
68
68
|
"control": {
|
|
69
69
|
"kind": "enum",
|
|
70
70
|
"members": [
|
|
71
71
|
"source",
|
|
72
72
|
"system",
|
|
73
73
|
"geist",
|
|
74
|
+
"geist-mono",
|
|
74
75
|
"inter",
|
|
75
76
|
"plex",
|
|
76
77
|
"roboto",
|
|
77
78
|
"apple",
|
|
78
|
-
"office"
|
|
79
|
+
"office",
|
|
80
|
+
"inter-source",
|
|
81
|
+
"dm",
|
|
82
|
+
"calsans"
|
|
79
83
|
]
|
|
80
84
|
}
|
|
81
85
|
},
|
|
82
86
|
{
|
|
83
87
|
"name": "styleSet",
|
|
84
|
-
"type": "\"console\" | \"editorial\" | \"marketing\"",
|
|
88
|
+
"type": "\"console\" | \"editorial\" | \"marketing\" | \"graphite\" | \"tender\" | \"zine\" | \"kiln\" | \"porcelain\"",
|
|
85
89
|
"required": false,
|
|
86
90
|
"defaultValue": null,
|
|
87
|
-
"description": "Page composition for this subtree: `console`, `editorial` or
|
|
91
|
+
"description": "Page composition for this subtree: `console`, `editorial`, `marketing` or\n`graphite`.\n\n**`styleSet`, not `style`.** This interface already has a\n`style?: React.CSSProperties` a few lines below, applied to the provider\nroot, and a second meaning for that name would be the one collision every\nconsumer of this component would have to think about. The DOM attribute is\n`data-style`, matching the four public axes — `data-cue-*` is this tree's\nprefix for *internal* attributes (`data-cue-theme`, `data-cue-fidelity`), and\na public axis wearing the internal prefix would be the more confusing of the\ntwo mistakes.\n\nUnset, **no attribute is stamped at all**, and that is the promise: an\napplication that has never heard of this axis renders the markup it rendered\nbefore it existed and stores the preference object it stored before it\nexisted. A style set is opt-in page composition, not a fourth thing every\npage has.\n\nLike the other three axes this is an *initial* value the provider then holds\nas state, so `setStyleSet` can drive it; a changed prop is adopted after\nmount. Unlike the font pairing it has an island form, so a nested provider\nthat names a set holds its own rather than handing the axis up to the root.\n\nA nested provider that names **none** holds none: the set around it\ninherits through its element, and `useTheme().styleSet` inside it reports\nthat set **live** — a stored set the root restores after mount, or a later\n`setStyleSet` at the root, reaches it and its portals. If it names a\n`theme` or a `mode`, it also restates that set as `data-style` on its\nelement — still the page's set, followed live, never its own — because a\nset's block declares values that read the theme (a band's rule and\nground), and a custom property resolves where it is declared: restated,\nthey resolve against this island's theme instead of the page's.",
|
|
88
92
|
"control": {
|
|
89
93
|
"kind": "enum",
|
|
90
94
|
"members": [
|
|
91
95
|
"console",
|
|
92
96
|
"editorial",
|
|
93
|
-
"marketing"
|
|
97
|
+
"marketing",
|
|
98
|
+
"graphite",
|
|
99
|
+
"tender",
|
|
100
|
+
"zine",
|
|
101
|
+
"kiln",
|
|
102
|
+
"porcelain"
|
|
94
103
|
]
|
|
95
104
|
}
|
|
96
105
|
},
|
|
97
106
|
{
|
|
98
107
|
"name": "paint",
|
|
99
|
-
"type": "\"none\" | \"bevel\" | \"halo\" | \"hatch\" | \"lift\" | \"frost\" | \"grain\"",
|
|
108
|
+
"type": "\"none\" | \"bevel\" | \"halo\" | \"hatch\" | \"lift\" | \"frost\" | \"grain\" | \"plume\" | \"matte\" | \"glaze\"",
|
|
100
109
|
"required": false,
|
|
101
110
|
"defaultValue": null,
|
|
102
|
-
"description": "A
|
|
111
|
+
"description": "A paint pack for this subtree. Opt-in: a provider that names none stamps no\n`data-paint` of its own. A nested one that names none follows the pack\nstamped around it **live**, through inheritance in the DOM and through\n`useTheme().paint` and its portals in React — and, if it names a `theme` or\na `mode`, restates that pack as `data-paint` on its element, so the pack's\nstrokes and inks (mixes of the theme's colours) resolve against this\nisland's theme rather than the page's. One that names a pack keeps it\nwhatever the root does.",
|
|
103
112
|
"control": {
|
|
104
113
|
"kind": "enum",
|
|
105
114
|
"members": [
|
|
@@ -109,7 +118,10 @@
|
|
|
109
118
|
"hatch",
|
|
110
119
|
"lift",
|
|
111
120
|
"frost",
|
|
112
|
-
"grain"
|
|
121
|
+
"grain",
|
|
122
|
+
"plume",
|
|
123
|
+
"matte",
|
|
124
|
+
"glaze"
|
|
113
125
|
]
|
|
114
126
|
}
|
|
115
127
|
},
|
|
@@ -118,7 +130,7 @@
|
|
|
118
130
|
"type": "number",
|
|
119
131
|
"required": false,
|
|
120
132
|
"defaultValue": "1",
|
|
121
|
-
"description": "Multiplier on every text token, published as `--cue-font-scale`. Defaults to `1
|
|
133
|
+
"description": "Multiplier on every text token, published as `--cue-font-scale`. Defaults to `1`.\n\nAt a root that persists, pass the same number to\n`prepaintScript({ fontScale })`: until the root has restored the visitor's\npreferences, the type tokens the page reads are declared on `<html>`, and\nthe script is what puts the scale there for the first frame. The root keeps\nit on `<html>` after that.",
|
|
122
134
|
"control": {
|
|
123
135
|
"kind": "number"
|
|
124
136
|
}
|
|
@@ -138,7 +150,7 @@
|
|
|
138
150
|
"type": "TokenOverrides",
|
|
139
151
|
"required": false,
|
|
140
152
|
"defaultValue": null,
|
|
141
|
-
"description": "Typed token edits layered over the active theme: colours per mode, geometry\nper rung, and the three font stacks.\n\nFor the band of edits that sit below \"publish a theme package\": one accent\nfor a tenant, a stack the app already loads, a rung with two more pixels in\na touch build. Anything larger belongs in a `@cueplusplus/theme-<name>`\npackage, where a build measures it; anything smaller than this is a\n`!important` in a stray stylesheet, which outranks the token layer\neverywhere at once.\n\n**Colours and fonts are inline on this element**, so they inherit down the\nsubtree, beat every stylesheet without `!important`, and are re-stamped\nonto portal containers — which mount on `<body>` and inherit nothing from\nhere. They do not leak *out* of this provider: a nested provider's colour\nedit is scoped to its own subtree, and to portals opened from inside it.\n\n**Densities are one document-scoped `<style>` element**, because a rung is\nselected by attribute rather than inherited, and because\n`useControlHeight()`'s measuring probe hangs off `document.body`, where\na subtree-scoped rule would not reach it — leaving the measured height and\nthe painted control disagreeing by exactly the override. The consequence is\nworth knowing before you nest one: a nested provider's `densities` edit\nreaches the whole page, exactly as a theme's own rung rules do. Colours and\nfonts in the same object do not.\n\nAnd it cuts the other way as well, which is the half that surprises: two\nproviders editing the same rung produce two document-scoped rules of equal\nspecificity, so the **later** one in document order wins everywhere — and\nthe later one is the outer provider's, because a nested provider renders\ninside it. A nested `densities` edit does not merely leak out; an ancestor\nthat edits the same rung overrules it *inside the nested subtree too*. If\nan island needs geometry of its own, it needs a rung of its own — a name no\nancestor is editing — not the same rung with different numbers.\n\nIts rules are `[data-density=\"x\"][data-density=\"x\"]` — (0,2,0), tying a\ntheme's own `[data-theme=\"t\"] [data-density=\"x\"]` and winning on source\norder — so the precedence is: **`overrides`, then the configurator's\npersisted snapshot, then the theme, then base.**\n\n**A font override shadows the pairing for this subtree.** `data-font` is\nthe document's axis and this element deliberately never restates it (see\nthe note by `stamp` below), but `overrides.fonts` writes the resolved\n`--cue-font-*` properties directly, which is a stronger claim than the\nattribute and is the point: this is how an app says \"this product's face,\nwhatever pairing the visitor picked\".\n\nIn development the resulting palette is measured, and any required contrast\npair the edit broke — or made worse — is named on the console.",
|
|
153
|
+
"description": "Typed token edits layered over the active theme: colours per mode, geometry\nper rung, and the three font stacks.\n\nFor the band of edits that sit below \"publish a theme package\": one accent\nfor a tenant, a stack the app already loads, a rung with two more pixels in\na touch build. Anything larger belongs in a `@cueplusplus/theme-<name>`\npackage, where a build measures it; anything smaller than this is a\n`!important` in a stray stylesheet, which outranks the token layer\neverywhere at once.\n\n**Colours and fonts are inline on this element**, so they inherit down the\nsubtree, beat every stylesheet without `!important`, and are re-stamped\nonto portal containers — which mount on `<body>` and inherit nothing from\nhere. They do not leak *out* of this provider: a nested provider's colour\nedit is scoped to its own subtree, and to portals opened from inside it.\nUnder a root that persists, the server cannot know the visitor's mode, so\nuntil a root has restored, and until a nested provider whose mode is the\nroot's has mounted, the colours are instead one small `<style>` beside this\nelement, keyed on it and on `<html>`'s mode (and on `<html>`'s theme,\nwhere that decides the mode): the first frame is the visitor's mode with\nthat mode's edit, never the other mode's. It carries `nonce`; refused by a\npolicy, the edit waits for the mount.\n\n**Densities are one document-scoped `<style>` element**, because a rung is\nselected by attribute rather than inherited, and because\n`useControlHeight()`'s measuring probe hangs off `document.body`, where\na subtree-scoped rule would not reach it — leaving the measured height and\nthe painted control disagreeing by exactly the override. The consequence is\nworth knowing before you nest one: a nested provider's `densities` edit\nreaches the whole page, exactly as a theme's own rung rules do. Colours and\nfonts in the same object do not.\n\nAnd it cuts the other way as well, which is the half that surprises: two\nproviders editing the same rung produce two document-scoped rules of equal\nspecificity, so the **later** one in document order wins everywhere — and\nthe later one is the outer provider's, because a nested provider renders\ninside it. A nested `densities` edit does not merely leak out; an ancestor\nthat edits the same rung overrules it *inside the nested subtree too*. If\nan island needs geometry of its own, it needs a rung of its own — a name no\nancestor is editing — not the same rung with different numbers.\n\nIts rules are `[data-density=\"x\"][data-density=\"x\"]` — (0,2,0), tying a\ntheme's own `[data-theme=\"t\"] [data-density=\"x\"]` and winning on source\norder — so the precedence is: **`overrides`, then the configurator's\npersisted snapshot, then the theme, then base.**\n\n**A font override shadows the pairing for this subtree.** `data-font` is\nthe document's axis and this element deliberately never restates it (see\nthe note by `stamp` below), but `overrides.fonts` writes the resolved\n`--cue-font-*` properties directly, which is a stronger claim than the\nattribute and is the point: this is how an app says \"this product's face,\nwhatever pairing the visitor picked\".\n\nIn development the resulting palette is measured, and any required contrast\npair the edit broke — or made worse — is named on the console.",
|
|
142
154
|
"control": {
|
|
143
155
|
"kind": "opaque"
|
|
144
156
|
}
|
|
@@ -148,7 +160,7 @@
|
|
|
148
160
|
"type": "string",
|
|
149
161
|
"required": false,
|
|
150
162
|
"defaultValue": "cue-ui",
|
|
151
|
-
"description": "localStorage key holding `{ theme, density, font, mode }
|
|
163
|
+
"description": "localStorage key holding `{ theme, density, font, mode }`, plus `style` when a\nstyle set has been chosen and `paint` when a pack has — each omitted, never\nstored as `null`, when none has. Defaults to `\"cue-ui\"`.\nOnly the outermost provider reads or writes it — a nested provider is an\nisland whose explicit props are the point, not a second preference store.",
|
|
152
164
|
"control": {
|
|
153
165
|
"kind": "string"
|
|
154
166
|
}
|
|
@@ -168,7 +180,7 @@
|
|
|
168
180
|
"type": "string",
|
|
169
181
|
"required": false,
|
|
170
182
|
"defaultValue": null,
|
|
171
|
-
"description": "The Content-Security-Policy nonce this provider hands on: to its own\ndensity-layer `<style>`, and — through Base UI's `CSPProvider` — to Base\nUI's scrollbar `<style>` and to the pre-hydration `<script>` a\n`<Slider thumbAlignment=\"edge\">` renders. List it in `script-src`, and in\nwhichever directive governs style elements: `style-src-elem` if the policy\nhas one, otherwise `style-src`. It does not reach `ThemeConfigurator`'s\n`<style>` or the application's pre-paint `<script>`.\n\nThe density layer — one `<style data-cue-overrides>` when\n`overrides.densities` yields a valid declaration (see\n{@link ThemeProviderProps.overrides}) — takes its nonce **from this prop\nalone**: not from an outer `CSPProvider`, and not from an outer\n`ThemeProvider`. A nested provider that sets its own `overrides.densities`\nneeds its own `nonce
|
|
183
|
+
"description": "The Content-Security-Policy nonce this provider hands on: to its own\ndensity-layer `<style>`, and — through Base UI's `CSPProvider` — to Base\nUI's scrollbar `<style>` and to the pre-hydration `<script>` a\n`<Slider thumbAlignment=\"edge\">` renders. List it in `script-src`, and in\nwhichever directive governs style elements: `style-src-elem` if the policy\nhas one, otherwise `style-src`. It does not reach `ThemeConfigurator`'s\n`<style>` or the application's pre-paint `<script>`.\n\nThe density layer — one `<style data-cue-overrides>` when\n`overrides.densities` yields a valid declaration (see\n{@link ThemeProviderProps.overrides}) — takes its nonce **from this prop\nalone**: not from an outer `CSPProvider`, and not from an outer\n`ThemeProvider`. A nested provider that sets its own `overrides.densities`\nneeds its own `nonce`. So does the colour layer — one `<style\ndata-cue-colors-for>` while `overrides.colors` waits on a mode that is\n`<html>`'s (see {@link ThemeProviderProps.overrides}); refused, the edit\napplies from the restore or the mount instead of the first frame.\n\nBase UI's scrollbar rule gets the nonce wherever React creates it in the\nbrowser. **It does not get it in server-rendered HTML** under a framework\nthat hands React a script-only nonce, which includes Next.js 16: React's\nserver renderer (19.2, and the canary Next.js 16 bundles) writes a\n`precedence` style's nonce only from its render option `nonce: { style }`.\nAllow that rule by hash, or turn on Base\nUI's `disableStyleElements` and ship the rule yourself;\n`docs/CONSUMING.md` §4.5 has both, with the hash.\n\n`prepaintScript()` returns a *string* the application renders in a\n`<script>` of its own, so put the same nonce on that element yourself.\n\n**An outer `CSPProvider` that sets `disableStyleElements` is switched off\ninside this provider once a nonce is given.** Base UI's `CSPProvider`\nbuilds its context from its own props alone, so the one rendered here\n*replaces* an outer one rather than extending it. Either leave this prop\nunset — only when no `overrides.densities` needs it and, wherever a\n`<Slider thumbAlignment=\"edge\">` renders, the outer provider carries the\nnonce — or render\n`<CSPProvider nonce={nonce} disableStyleElements>` again inside this\nprovider's children (with the nonce, or Base UI's pre-hydration script\nthere loses it), and again inside any nested provider given a nonce. An\napplication already rendering its own `CSPProvider` can leave this prop\nunset: Base UI's pre-hydration script takes the outer nonce, and so does\nits scrollbar rule wherever React creates it in the browser — the case\n`base-ui-nonce-outer-provider.test.tsx` pins — but the density layer then\nhas none.\n\n**A nonce cannot rescue a style ATTRIBUTE.** This provider's root always\ncarries one — `color-scheme` and `--cue-font-scale`, plus `fontFamilies`,\n`overrides.colors`, `overrides.fonts` and `style` where given — and many\ncomponents, and Base UI's form roots, render their own. A policy whose\n`style-src` (or, without one, `default-src`) does not allow all inline\nstyle — a nonce or a hash in it, or no `'unsafe-inline'` — therefore needs\nan explicit `style-src-attr 'unsafe-inline'`: a nonce or hash in the\ngoverning list makes the browser ignore `'unsafe-inline'`. The browser\nreports a refused attribute as a CSP violation; this library adds no\nwarning of its own.",
|
|
172
184
|
"control": {
|
|
173
185
|
"kind": "string"
|
|
174
186
|
}
|
|
@@ -178,7 +190,7 @@
|
|
|
178
190
|
"type": "boolean",
|
|
179
191
|
"required": false,
|
|
180
192
|
"defaultValue": "false",
|
|
181
|
-
"description": "Stamp the single child element instead of rendering a wrapper `<div
|
|
193
|
+
"description": "Stamp the single child element instead of rendering a wrapper `<div>`.\n\nA nested provider over a host element (`<section>`, `<main>`) behaves as\nits `<div>` would. Over a component it follows nothing from a persisting\nroot before it mounts: it stamps the root's theme, mode and density from\nthe server's first render, because the re-render that would correct them\nrenders the component again, and a `<Suspense>` boundary the component\ncreates would lose its streamed server HTML to it.",
|
|
182
194
|
"control": {
|
|
183
195
|
"kind": "boolean"
|
|
184
196
|
}
|
|
@@ -71,11 +71,13 @@
|
|
|
71
71
|
"variants": {},
|
|
72
72
|
"defaultVariants": {},
|
|
73
73
|
"tokensUsed": [
|
|
74
|
-
"--cue-accent",
|
|
75
74
|
"--cue-fg-muted",
|
|
76
75
|
"--cue-fg-subtle",
|
|
76
|
+
"--cue-focus",
|
|
77
|
+
"--cue-focus-ring",
|
|
77
78
|
"--cue-radius-overlay",
|
|
78
79
|
"--cue-radius-surface",
|
|
80
|
+
"--cue-style-focus-width",
|
|
79
81
|
"--cue-surface-1",
|
|
80
82
|
"--cue-text-body",
|
|
81
83
|
"--cue-text-ui"
|
|
@@ -187,10 +187,13 @@
|
|
|
187
187
|
"--cue-danger",
|
|
188
188
|
"--cue-danger-soft",
|
|
189
189
|
"--cue-fg",
|
|
190
|
+
"--cue-focus",
|
|
191
|
+
"--cue-focus-ring",
|
|
190
192
|
"--cue-info",
|
|
191
193
|
"--cue-info-soft",
|
|
192
194
|
"--cue-ok",
|
|
193
195
|
"--cue-ok-soft",
|
|
196
|
+
"--cue-style-focus-width",
|
|
194
197
|
"--cue-sunken",
|
|
195
198
|
"--cue-warn",
|
|
196
199
|
"--cue-warn-soft"
|
|
@@ -45,16 +45,23 @@
|
|
|
45
45
|
"tokensUsed": [
|
|
46
46
|
"--cue-accent",
|
|
47
47
|
"--cue-accent-fg",
|
|
48
|
+
"--cue-accent-fill",
|
|
49
|
+
"--cue-accent-fill-fg",
|
|
48
50
|
"--cue-border",
|
|
49
51
|
"--cue-border-strong",
|
|
50
52
|
"--cue-control-lg",
|
|
51
53
|
"--cue-control-md",
|
|
52
54
|
"--cue-control-sm",
|
|
53
55
|
"--cue-danger",
|
|
56
|
+
"--cue-danger-fg",
|
|
54
57
|
"--cue-fg",
|
|
58
|
+
"--cue-fg-muted",
|
|
55
59
|
"--cue-fg-subtle",
|
|
56
60
|
"--cue-focus",
|
|
61
|
+
"--cue-focus-ring",
|
|
57
62
|
"--cue-font-mono",
|
|
63
|
+
"--cue-paint-rest-shade",
|
|
64
|
+
"--cue-paint-shadow-scale",
|
|
58
65
|
"--cue-paint-stroke-angle",
|
|
59
66
|
"--cue-paint-stroke-from",
|
|
60
67
|
"--cue-paint-stroke-to",
|
|
@@ -64,8 +71,29 @@
|
|
|
64
71
|
"--cue-space-3",
|
|
65
72
|
"--cue-space-4",
|
|
66
73
|
"--cue-space-5",
|
|
74
|
+
"--cue-style-body-weight",
|
|
75
|
+
"--cue-style-check-edge",
|
|
76
|
+
"--cue-style-control-step-size",
|
|
77
|
+
"--cue-style-disabled-edge",
|
|
78
|
+
"--cue-style-disabled-fill",
|
|
79
|
+
"--cue-style-disabled-ink",
|
|
80
|
+
"--cue-style-disabled-opacity",
|
|
81
|
+
"--cue-style-field-focus-offset",
|
|
82
|
+
"--cue-style-field-hover-edge",
|
|
83
|
+
"--cue-style-field-pad",
|
|
84
|
+
"--cue-style-focus-edge",
|
|
85
|
+
"--cue-style-focus-width",
|
|
86
|
+
"--cue-style-input-face",
|
|
87
|
+
"--cue-style-label-ink",
|
|
88
|
+
"--cue-style-outline-edge",
|
|
89
|
+
"--cue-style-quiet-ink",
|
|
90
|
+
"--cue-style-secondary-ground",
|
|
91
|
+
"--cue-style-secondary-ink",
|
|
67
92
|
"--cue-sunken",
|
|
93
|
+
"--cue-surface-2",
|
|
94
|
+
"--cue-surface-3",
|
|
68
95
|
"--cue-text-body",
|
|
96
|
+
"--cue-text-emphasis",
|
|
69
97
|
"--cue-text-label",
|
|
70
98
|
"--cue-text-ui"
|
|
71
99
|
],
|