@cueplusplus/ui 0.8.0 → 0.10.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 +457 -0
- package/README.md +131 -0
- package/dist/chat/message-list.js +2 -1
- package/dist/configurator/_export.d.ts +1 -1
- package/dist/configurator/_export.js +53 -13
- package/dist/configurator/_overrides.d.ts +25 -6
- package/dist/configurator/_overrides.js +30 -17
- package/dist/configurator/configurator.js +8 -3
- package/dist/configurator/panel-sections.js +43 -13
- package/dist/elements/command-palette.js +1 -1
- package/dist/elements/flow-graph.js +2 -2
- package/dist/elements/markdown.js +1 -1
- package/dist/elements/surfaces.js +4 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +5 -2
- package/dist/instruments/meter.d.ts +5 -1
- package/dist/layout/bento.d.ts +144 -0
- package/dist/layout/bento.js +266 -0
- package/dist/layout/index.d.ts +3 -2
- package/dist/layout/index.js +3 -2
- package/dist/midi/piano-keyboard.js +5 -1
- package/dist/primitives/button.d.ts +12 -0
- package/dist/styles.css +23 -1
- package/dist/system/density.d.ts +17 -8
- package/dist/system/density.js +39 -16
- package/dist/system/index.d.ts +5 -2
- package/dist/system/index.js +3 -1
- package/dist/system/overrides.d.ts +80 -0
- package/dist/system/overrides.js +277 -0
- package/dist/system/portal.d.ts +4 -2
- package/dist/system/portal.js +34 -3
- package/dist/system/prepaint.d.ts +58 -7
- package/dist/system/prepaint.js +72 -20
- package/dist/system/theme-provider.d.ts +133 -8
- package/dist/system/theme-provider.js +203 -72
- package/dist/system/theme-registry.d.ts +53 -0
- package/dist/system/theme-registry.js +66 -0
- package/dist/system/use-density.d.ts +13 -5
- package/dist/system/use-density.js +142 -13
- package/dist/system/use-theme.d.ts +5 -3
- package/dist/system/use-theme.js +5 -3
- package/dist/system/vocabulary.d.ts +15 -0
- package/dist/system/vocabulary.js +111 -0
- package/dist/theming/contrast.d.ts +2 -122
- package/dist/theming/contrast.js +2 -194
- package/dist/theming/create-theme.d.ts +37 -11
- package/dist/theming/create-theme.js +54 -17
- package/dist/theming/index.d.ts +3 -4
- package/dist/theming/index.js +3 -4
- package/dist/theming/serialize.d.ts +24 -11
- package/dist/theming/serialize.js +16 -18
- package/manifest/components/accordion.json +24 -6
- package/manifest/components/activity-graph.json +20 -5
- package/manifest/components/agent-card.json +37 -9
- package/manifest/components/agent-handoff.json +21 -5
- package/manifest/components/agent-mode-badge.json +22 -4
- package/manifest/components/agent-pile.json +38 -8
- package/manifest/components/agent-plan.json +9 -2
- package/manifest/components/agent-status.json +17 -3
- package/manifest/components/agent-surface.json +26 -11
- package/manifest/components/alert-dialog.json +29 -5
- package/manifest/components/animated-number.json +14 -6
- package/manifest/components/app-bar.json +66 -13
- package/manifest/components/app-shell.json +133 -31
- package/manifest/components/app-window-frame.json +28 -6
- package/manifest/components/approval-card.json +37 -7
- package/manifest/components/artifact-card.json +16 -4
- package/manifest/components/ask-box.json +99 -21
- package/manifest/components/audience-icon.json +1 -7
- package/manifest/components/autocomplete.json +80 -18
- package/manifest/components/avatar-group.json +13 -2
- package/manifest/components/avatar.json +22 -4
- package/manifest/components/background-inbox.json +9 -2
- package/manifest/components/bento.json +306 -0
- package/manifest/components/branch-picker.json +29 -7
- package/manifest/components/breadcrumb.json +13 -3
- package/manifest/components/button-group.json +21 -4
- package/manifest/components/button.json +41 -4
- package/manifest/components/canvas-split-body.json +4 -1
- package/manifest/components/canvas-split-header.json +17 -4
- package/manifest/components/canvas-split-line.json +4 -1
- package/manifest/components/canvas-split-message.json +8 -1
- package/manifest/components/card.json +14 -3
- package/manifest/components/carousel.json +54 -12
- package/manifest/components/catalogue-icon.json +1 -7
- package/manifest/components/channel-beta-icon.json +1 -7
- package/manifest/components/channel-matrix.json +80 -15
- package/manifest/components/channel-released-icon.json +1 -7
- package/manifest/components/chart-container.json +26 -10
- package/manifest/components/chart-ramp.json +13 -3
- package/manifest/components/chart-swatch.json +9 -2
- package/manifest/components/chart-tooltip-content.json +31 -7
- package/manifest/components/chart.json +30 -6
- package/manifest/components/chat-panel-composer.json +9 -2
- package/manifest/components/checkbox-group.json +4 -2
- package/manifest/components/checkbox.json +17 -4
- package/manifest/components/checkpoint-history.json +13 -3
- package/manifest/components/chip.json +35 -5
- package/manifest/components/clamp.json +30 -7
- package/manifest/components/cli-tool-icon.json +1 -7
- package/manifest/components/code-diff.json +20 -5
- package/manifest/components/code-runner.json +32 -6
- package/manifest/components/collapsible.json +16 -4
- package/manifest/components/color-area.json +4 -1
- package/manifest/components/color-field.json +13 -3
- package/manifest/components/color-picker.json +75 -17
- package/manifest/components/color-slider.json +12 -3
- package/manifest/components/color-swatch.json +13 -2
- package/manifest/components/colors-section.json +10 -7
- package/manifest/components/combobox.json +81 -18
- package/manifest/components/command-palette.json +57 -13
- package/manifest/components/compaction-row.json +35 -7
- package/manifest/components/comparison-card.json +17 -4
- package/manifest/components/composer-attachment-chip.json +9 -2
- package/manifest/components/composer-bar.json +4 -1
- package/manifest/components/composer-command-item.json +8 -2
- package/manifest/components/composer-context.json +4 -1
- package/manifest/components/composer-input.json +5 -1
- package/manifest/components/composer-menu-item.json +4 -1
- package/manifest/components/composer-menu.json +12 -2
- package/manifest/components/composer-model-item.json +8 -2
- package/manifest/components/composer-model-trigger.json +8 -2
- package/manifest/components/composer-person-item.json +8 -2
- package/manifest/components/composer-send.json +8 -2
- package/manifest/components/composer-voice-button.json +4 -1
- package/manifest/components/composer-voice.json +8 -2
- package/manifest/components/composer.json +76 -17
- package/manifest/components/computer-use.json +17 -4
- package/manifest/components/confidence-marker.json +13 -3
- package/manifest/components/connection-state.json +23 -4
- package/manifest/components/container.json +14 -2
- package/manifest/components/context-breakdown.json +8 -2
- package/manifest/components/context-menu.json +16 -4
- package/manifest/components/context-usage.json +16 -4
- package/manifest/components/conversation-search.json +22 -5
- package/manifest/components/copy-button.json +32 -7
- package/manifest/components/cost-meter.json +12 -3
- package/manifest/components/cue-logotype.json +17 -3
- package/manifest/components/cue-mark.json +17 -3
- package/manifest/components/cue-portal-frame.json +14 -4
- package/manifest/components/data-row.json +21 -7
- package/manifest/components/data-table-pagination.json +18 -4
- package/manifest/components/data-table-toolbar.json +30 -7
- package/manifest/components/data-tree.json +42 -9
- package/manifest/components/date-field.json +13 -2
- package/manifest/components/date-picker.json +81 -19
- package/manifest/components/date-range-picker.json +81 -19
- package/manifest/components/day-separator.json +4 -1
- package/manifest/components/delegation-card.json +64 -12
- package/manifest/components/density.json +25 -5
- package/manifest/components/description-list.json +8 -1
- package/manifest/components/diagram.json +33 -7
- package/manifest/components/dialog.json +29 -6
- package/manifest/components/disclosure.json +31 -7
- package/manifest/components/dmx-bar.json +16 -4
- package/manifest/components/dmx-strip.json +20 -5
- package/manifest/components/document-reference.json +21 -5
- package/manifest/components/draft-restore.json +18 -4
- package/manifest/components/drawer.json +30 -6
- package/manifest/components/dropdown-menu.json +55 -10
- package/manifest/components/edit-message.json +32 -7
- package/manifest/components/elements-command-palette.json +27 -6
- package/manifest/components/elements-data-table.json +9 -2
- package/manifest/components/elements-timeline.json +8 -2
- package/manifest/components/elicitation-form.json +31 -6
- package/manifest/components/empty-state-composer.json +9 -2
- package/manifest/components/empty-state-suggestion.json +4 -1
- package/manifest/components/empty-state.json +25 -5
- package/manifest/components/end-of-turn-summary.json +16 -4
- package/manifest/components/env-var-input.json +54 -12
- package/manifest/components/error-state.json +17 -4
- package/manifest/components/export-dialog.json +27 -11
- package/manifest/components/eyebrow.json +4 -1
- package/manifest/components/feedback-dialog.json +33 -7
- package/manifest/components/field-description.json +4 -1
- package/manifest/components/field-error.json +13 -3
- package/manifest/components/field-label.json +4 -1
- package/manifest/components/field.json +4 -1
- package/manifest/components/file-tree.json +16 -4
- package/manifest/components/file-upload.json +58 -13
- package/manifest/components/flow-graph.json +12 -3
- package/manifest/components/folder-icon.json +1 -7
- package/manifest/components/footer.json +24 -4
- package/manifest/components/frac.json +10 -2
- package/manifest/components/generation-loader.json +17 -3
- package/manifest/components/generative-ui.json +39 -7
- package/manifest/components/grid.json +56 -5
- package/manifest/components/group-bar.json +25 -6
- package/manifest/components/guardrail-notice.json +22 -5
- package/manifest/components/hover-card.json +45 -8
- package/manifest/components/icon-button.json +22 -4
- package/manifest/components/image-generation.json +8 -2
- package/manifest/components/info-tip.json +42 -7
- package/manifest/components/inline-citation.json +14 -3
- package/manifest/components/input-group.json +24 -5
- package/manifest/components/input.json +13 -3
- package/manifest/components/item.json +42 -8
- package/manifest/components/job-progress.json +25 -6
- package/manifest/components/launcher-bubble.json +32 -7
- package/manifest/components/ledger.json +87 -19
- package/manifest/components/link.json +16 -3
- package/manifest/components/live-region-announcer.json +21 -5
- package/manifest/components/log-viewer.json +42 -10
- package/manifest/components/map-answer.json +17 -4
- package/manifest/components/markdown-text.json +36 -5
- package/manifest/components/math-block.json +12 -3
- package/manifest/components/mcp-server-icon.json +1 -7
- package/manifest/components/mcp-server-panel.json +18 -4
- package/manifest/components/memory-chips.json +9 -2
- package/manifest/components/menubar.json +33 -7
- package/manifest/components/message-actions.json +32 -7
- package/manifest/components/message-attachments.json +9 -2
- package/manifest/components/message-branches.json +14 -3
- package/manifest/components/message-list.json +27 -6
- package/manifest/components/message-pair.json +25 -5
- package/manifest/components/message-queue.json +13 -3
- package/manifest/components/message-timing.json +8 -2
- package/manifest/components/message.json +41 -9
- package/manifest/components/meter.json +43 -7
- package/manifest/components/mobile-composer.json +47 -10
- package/manifest/components/model-picker.json +13 -3
- package/manifest/components/multi-select.json +78 -17
- package/manifest/components/musical-time-input.json +34 -8
- package/manifest/components/navigation-menu.json +54 -12
- package/manifest/components/node-card.json +42 -7
- package/manifest/components/node-handle.json +17 -2
- package/manifest/components/number-field.json +28 -6
- package/manifest/components/number-ticker.json +8 -2
- package/manifest/components/onboarding.json +18 -4
- package/manifest/components/otp-field.json +43 -10
- package/manifest/components/page-shell.json +35 -6
- package/manifest/components/pagination.json +21 -5
- package/manifest/components/panel-header.json +15 -3
- package/manifest/components/password-input.json +38 -8
- package/manifest/components/permission-grant.json +28 -5
- package/manifest/components/permission-scopes.json +57 -12
- package/manifest/components/piano-keyboard.json +38 -9
- package/manifest/components/plussie.json +34 -5
- package/manifest/components/popover.json +45 -8
- package/manifest/components/preset-section.json +14 -8
- package/manifest/components/progress.json +25 -6
- package/manifest/components/prompt-library.json +27 -6
- package/manifest/components/queue-dock.json +36 -8
- package/manifest/components/quota-banner.json +25 -6
- package/manifest/components/quote-reply.json +29 -7
- package/manifest/components/radio-group.json +12 -2
- package/manifest/components/radio.json +17 -3
- package/manifest/components/rating.json +60 -13
- package/manifest/components/read-aloud.json +35 -8
- package/manifest/components/reasoning-effort.json +17 -4
- package/manifest/components/reasoning-panel.json +33 -8
- package/manifest/components/recommendation-card.json +35 -10
- package/manifest/components/regenerate-menu.json +22 -5
- package/manifest/components/replay-player.json +29 -7
- package/manifest/components/research-report.json +12 -3
- package/manifest/components/resizable.json +4 -1
- package/manifest/components/retrieval-chunks.json +16 -4
- package/manifest/components/revert-dock.json +61 -14
- package/manifest/components/reviewable-diff.json +23 -5
- package/manifest/components/risk-badge.json +18 -3
- package/manifest/components/row.json +17 -4
- package/manifest/components/schedule-card.json +25 -6
- package/manifest/components/score-breakdown.json +20 -5
- package/manifest/components/scroll-anchor.json +13 -3
- package/manifest/components/scroll-area.json +31 -8
- package/manifest/components/scrollable-tabs-list.json +12 -4
- package/manifest/components/scrub-input.json +84 -18
- package/manifest/components/seam-cell.json +19 -3
- package/manifest/components/seam-grid.json +12 -3
- package/manifest/components/search-input.json +49 -10
- package/manifest/components/section-header.json +36 -8
- package/manifest/components/segmented-control.json +50 -11
- package/manifest/components/select.json +74 -16
- package/manifest/components/separator.json +4 -1
- package/manifest/components/settings-panel.json +41 -9
- package/manifest/components/shape-section.json +10 -7
- package/manifest/components/shared-conversation.json +21 -5
- package/manifest/components/sheet.json +29 -6
- package/manifest/components/shimmer-label.json +4 -2
- package/manifest/components/sidebar.json +60 -13
- package/manifest/components/skill-icon.json +1 -7
- package/manifest/components/slider.json +22 -5
- package/manifest/components/sources.json +17 -4
- package/manifest/components/sparkline.json +17 -4
- package/manifest/components/speaker-identity.json +4 -1
- package/manifest/components/spec-sheet.json +16 -4
- package/manifest/components/spectrum-visualizer.json +41 -10
- package/manifest/components/spinner.json +12 -2
- package/manifest/components/stack-icon.json +1 -7
- package/manifest/components/stack.json +54 -7
- package/manifest/components/stacks-matrix-icon.json +1 -7
- package/manifest/components/stat.json +28 -4
- package/manifest/components/status-bar.json +50 -9
- package/manifest/components/status-dot.json +23 -4
- package/manifest/components/stepper.json +22 -5
- package/manifest/components/stopped-run.json +19 -4
- package/manifest/components/streaming-text.json +12 -3
- package/manifest/components/subagent-list.json +21 -5
- package/manifest/components/suggestions.json +27 -5
- package/manifest/components/swap-label.json +18 -4
- package/manifest/components/switch.json +18 -3
- package/manifest/components/table-scroll-region.json +4 -1
- package/manifest/components/table.json +54 -11
- package/manifest/components/tabs.json +16 -5
- package/manifest/components/tags-input.json +79 -17
- package/manifest/components/tail-status.json +37 -8
- package/manifest/components/terminal-block.json +25 -5
- package/manifest/components/terminal-frame.json +34 -8
- package/manifest/components/textarea.json +8 -3
- package/manifest/components/theme-configurator.json +47 -14
- package/manifest/components/theme-provider.json +97 -18
- package/manifest/components/thinking-indicator.json +8 -2
- package/manifest/components/thread-list.json +13 -3
- package/manifest/components/thread-search.json +22 -5
- package/manifest/components/threshold-rail.json +77 -14
- package/manifest/components/time-boundary.json +8 -2
- package/manifest/components/time-field.json +13 -2
- package/manifest/components/timeline-ruler.json +51 -12
- package/manifest/components/timeline.json +19 -3
- package/manifest/components/title-bar.json +19 -4
- package/manifest/components/toast.json +12 -3
- package/manifest/components/todo-list.json +8 -2
- package/manifest/components/toggle-group.json +33 -7
- package/manifest/components/toggle.json +23 -4
- package/manifest/components/token-editor.json +26 -10
- package/manifest/components/tool-call-card.json +83 -16
- package/manifest/components/tool-call.json +37 -9
- package/manifest/components/tool-error.json +34 -8
- package/manifest/components/tool-group.json +17 -4
- package/manifest/components/tool-timeline.json +37 -9
- package/manifest/components/toolbar.json +37 -8
- package/manifest/components/tooltip.json +41 -7
- package/manifest/components/trace-waterfall.json +12 -3
- package/manifest/components/tree-visibility-toggle.json +18 -3
- package/manifest/components/tree.json +52 -11
- package/manifest/components/turn-footer.json +36 -8
- package/manifest/components/two-step-button.json +46 -9
- package/manifest/components/typing-indicator.json +8 -1
- package/manifest/components/universe-grid.json +37 -10
- package/manifest/components/unread-divider.json +4 -1
- package/manifest/components/usage-chart.json +46 -9
- package/manifest/components/verdict-row.json +20 -5
- package/manifest/components/voice-conversation.json +37 -7
- package/manifest/components/web-preview.json +23 -5
- package/manifest/components/web-search.json +20 -5
- package/manifest/components/work-collapse.json +30 -7
- package/manifest/fixtures.json +106 -0
- package/manifest/manifest.json +449 -310
- package/manifest/tokens.json +122 -12
- package/package.json +16 -6
- package/dist/theming/_presets.d.ts +0 -11
- package/dist/theming/_presets.js +0 -678
|
@@ -12,28 +12,48 @@
|
|
|
12
12
|
"type": "ReactNode",
|
|
13
13
|
"required": false,
|
|
14
14
|
"defaultValue": null,
|
|
15
|
-
"description": "Content pinned to the left gutter — a glyph, a unit prefix, a protocol."
|
|
15
|
+
"description": "Content pinned to the left gutter — a glyph, a unit prefix, a protocol.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "node",
|
|
18
|
+
"fixture": "children.text"
|
|
19
|
+
}
|
|
16
20
|
},
|
|
17
21
|
{
|
|
18
22
|
"name": "trailing",
|
|
19
23
|
"type": "ReactNode",
|
|
20
24
|
"required": false,
|
|
21
25
|
"defaultValue": null,
|
|
22
|
-
"description": "Content pinned to the right gutter — a unit suffix, a `Kbd`, a clear button."
|
|
26
|
+
"description": "Content pinned to the right gutter — a unit suffix, a `Kbd`, a clear button.",
|
|
27
|
+
"control": {
|
|
28
|
+
"kind": "node",
|
|
29
|
+
"fixture": "children.text"
|
|
30
|
+
}
|
|
23
31
|
},
|
|
24
32
|
{
|
|
25
33
|
"name": "size",
|
|
26
34
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
27
35
|
"required": false,
|
|
28
36
|
"defaultValue": null,
|
|
29
|
-
"description": "Rung of the control ladder for the whole cluster. Defaults to `\"md\"`."
|
|
37
|
+
"description": "Rung of the control ladder for the whole cluster. Defaults to `\"md\"`.",
|
|
38
|
+
"control": {
|
|
39
|
+
"kind": "enum",
|
|
40
|
+
"members": [
|
|
41
|
+
"sm",
|
|
42
|
+
"md",
|
|
43
|
+
"lg"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
30
46
|
},
|
|
31
47
|
{
|
|
32
48
|
"name": "children",
|
|
33
49
|
"type": "ReactNode",
|
|
34
50
|
"required": true,
|
|
35
51
|
"defaultValue": null,
|
|
36
|
-
"description": "The control. An {@link Input } here renders bare and fills the middle."
|
|
52
|
+
"description": "The control. An {@link Input } here renders bare and fills the middle.",
|
|
53
|
+
"control": {
|
|
54
|
+
"kind": "node",
|
|
55
|
+
"fixture": "children.text"
|
|
56
|
+
}
|
|
37
57
|
}
|
|
38
58
|
],
|
|
39
59
|
"typeReferences": [
|
|
@@ -44,7 +64,6 @@
|
|
|
44
64
|
"variants": {},
|
|
45
65
|
"defaultVariants": {},
|
|
46
66
|
"tokensUsed": [
|
|
47
|
-
"--cue-accent",
|
|
48
67
|
"--cue-border",
|
|
49
68
|
"--cue-border-strong",
|
|
50
69
|
"--cue-control-lg",
|
|
@@ -12,14 +12,25 @@
|
|
|
12
12
|
"type": "string",
|
|
13
13
|
"required": false,
|
|
14
14
|
"defaultValue": null,
|
|
15
|
-
"description": "Extra classes, merged over the chassis."
|
|
15
|
+
"description": "Extra classes, merged over the chassis.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "string"
|
|
18
|
+
}
|
|
16
19
|
},
|
|
17
20
|
{
|
|
18
21
|
"name": "size",
|
|
19
22
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
20
23
|
"required": false,
|
|
21
24
|
"defaultValue": null,
|
|
22
|
-
"description": "Rung of the control ladder. Defaults to `\"md\"`. Shadows the native `size`\nattribute (a character count), which nothing in a token-driven layout wants."
|
|
25
|
+
"description": "Rung of the control ladder. Defaults to `\"md\"`. Shadows the native `size`\nattribute (a character count), which nothing in a token-driven layout wants.",
|
|
26
|
+
"control": {
|
|
27
|
+
"kind": "enum",
|
|
28
|
+
"members": [
|
|
29
|
+
"sm",
|
|
30
|
+
"md",
|
|
31
|
+
"lg"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
23
34
|
}
|
|
24
35
|
],
|
|
25
36
|
"typeReferences": [
|
|
@@ -30,7 +41,6 @@
|
|
|
30
41
|
"variants": {},
|
|
31
42
|
"defaultVariants": {},
|
|
32
43
|
"tokensUsed": [
|
|
33
|
-
"--cue-accent",
|
|
34
44
|
"--cue-border",
|
|
35
45
|
"--cue-border-strong",
|
|
36
46
|
"--cue-control-lg",
|
|
@@ -12,56 +12,90 @@
|
|
|
12
12
|
"type": "ReactNode",
|
|
13
13
|
"required": false,
|
|
14
14
|
"defaultValue": null,
|
|
15
|
-
"description": "Leading slot: an icon, an avatar, a status dot."
|
|
15
|
+
"description": "Leading slot: an icon, an avatar, a status dot.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "node",
|
|
18
|
+
"fixture": "children.text"
|
|
19
|
+
}
|
|
16
20
|
},
|
|
17
21
|
{
|
|
18
22
|
"name": "title",
|
|
19
23
|
"type": "ReactNode",
|
|
20
24
|
"required": false,
|
|
21
25
|
"defaultValue": null,
|
|
22
|
-
"description": "The item's name — one line, truncated rather than wrapped."
|
|
26
|
+
"description": "The item's name — one line, truncated rather than wrapped.",
|
|
27
|
+
"control": {
|
|
28
|
+
"kind": "node",
|
|
29
|
+
"fixture": "children.text"
|
|
30
|
+
}
|
|
23
31
|
},
|
|
24
32
|
{
|
|
25
33
|
"name": "description",
|
|
26
34
|
"type": "ReactNode",
|
|
27
35
|
"required": false,
|
|
28
36
|
"defaultValue": null,
|
|
29
|
-
"description": "One supporting line under the title, a rung smaller and muted."
|
|
37
|
+
"description": "One supporting line under the title, a rung smaller and muted.",
|
|
38
|
+
"control": {
|
|
39
|
+
"kind": "node",
|
|
40
|
+
"fixture": "children.text"
|
|
41
|
+
}
|
|
30
42
|
},
|
|
31
43
|
{
|
|
32
44
|
"name": "actions",
|
|
33
45
|
"type": "ReactNode",
|
|
34
46
|
"required": false,
|
|
35
47
|
"defaultValue": null,
|
|
36
|
-
"description": "Trailing slot: a value, a chip, a control.\n\nDo not combine with `interactive` — the whole item is then a `<button>`,\nand a button may not contain another one. Put the controls beside the item\ninstead, or drop `interactive` and make the title itself the link."
|
|
48
|
+
"description": "Trailing slot: a value, a chip, a control.\n\nDo not combine with `interactive` — the whole item is then a `<button>`,\nand a button may not contain another one. Put the controls beside the item\ninstead, or drop `interactive` and make the title itself the link.",
|
|
49
|
+
"control": {
|
|
50
|
+
"kind": "node",
|
|
51
|
+
"fixture": "children.text"
|
|
52
|
+
}
|
|
37
53
|
},
|
|
38
54
|
{
|
|
39
55
|
"name": "variant",
|
|
40
56
|
"type": "\"plain\" | \"outline\" | \"soft\"",
|
|
41
57
|
"required": false,
|
|
42
58
|
"defaultValue": null,
|
|
43
|
-
"description": "Which framing to paint. Defaults to `\"plain\"`."
|
|
59
|
+
"description": "Which framing to paint. Defaults to `\"plain\"`.",
|
|
60
|
+
"control": {
|
|
61
|
+
"kind": "enum",
|
|
62
|
+
"members": [
|
|
63
|
+
"plain",
|
|
64
|
+
"outline",
|
|
65
|
+
"soft"
|
|
66
|
+
]
|
|
67
|
+
}
|
|
44
68
|
},
|
|
45
69
|
{
|
|
46
70
|
"name": "interactive",
|
|
47
71
|
"type": "boolean",
|
|
48
72
|
"required": false,
|
|
49
73
|
"defaultValue": "false",
|
|
50
|
-
"description": "Render as a `<button>` with hover feedback and a focus ring instead of a\nstatic `<div>`. Use for items that select, open or toggle something."
|
|
74
|
+
"description": "Render as a `<button>` with hover feedback and a focus ring instead of a\nstatic `<div>`. Use for items that select, open or toggle something.",
|
|
75
|
+
"control": {
|
|
76
|
+
"kind": "boolean"
|
|
77
|
+
}
|
|
51
78
|
},
|
|
52
79
|
{
|
|
53
80
|
"name": "disabled",
|
|
54
81
|
"type": "boolean",
|
|
55
82
|
"required": false,
|
|
56
83
|
"defaultValue": null,
|
|
57
|
-
"description": "Disable the interactive form. Ignored when `interactive` is not set."
|
|
84
|
+
"description": "Disable the interactive form. Ignored when `interactive` is not set.",
|
|
85
|
+
"control": {
|
|
86
|
+
"kind": "boolean"
|
|
87
|
+
}
|
|
58
88
|
},
|
|
59
89
|
{
|
|
60
90
|
"name": "children",
|
|
61
91
|
"type": "ReactNode",
|
|
62
92
|
"required": false,
|
|
63
93
|
"defaultValue": null,
|
|
64
|
-
"description": "Extra content between the text column and the action slot."
|
|
94
|
+
"description": "Extra content between the text column and the action slot.",
|
|
95
|
+
"control": {
|
|
96
|
+
"kind": "node",
|
|
97
|
+
"fixture": "children.text"
|
|
98
|
+
}
|
|
65
99
|
}
|
|
66
100
|
],
|
|
67
101
|
"typeReferences": [
|
|
@@ -14,42 +14,61 @@
|
|
|
14
14
|
"type": "string",
|
|
15
15
|
"required": true,
|
|
16
16
|
"defaultValue": null,
|
|
17
|
-
"description": "What the job is doing."
|
|
17
|
+
"description": "What the job is doing.",
|
|
18
|
+
"control": {
|
|
19
|
+
"kind": "string"
|
|
20
|
+
}
|
|
18
21
|
},
|
|
19
22
|
{
|
|
20
23
|
"name": "stages",
|
|
21
24
|
"type": "readonly JobStage[]",
|
|
22
25
|
"required": true,
|
|
23
26
|
"defaultValue": null,
|
|
24
|
-
"description": "Stages with relative weights, so a long install does not read the same as a fast\nclone."
|
|
27
|
+
"description": "Stages with relative weights, so a long install does not read the same as a fast\nclone.",
|
|
28
|
+
"control": {
|
|
29
|
+
"kind": "array"
|
|
30
|
+
}
|
|
25
31
|
},
|
|
26
32
|
{
|
|
27
33
|
"name": "stageIndex",
|
|
28
34
|
"type": "number",
|
|
29
35
|
"required": true,
|
|
30
36
|
"defaultValue": null,
|
|
31
|
-
"description": "Which stage is running. Passing stages.length marks the job finished, and the bar\nnever runs past its track."
|
|
37
|
+
"description": "Which stage is running. Passing stages.length marks the job finished, and the bar\nnever runs past its track.",
|
|
38
|
+
"control": {
|
|
39
|
+
"kind": "number"
|
|
40
|
+
}
|
|
32
41
|
},
|
|
33
42
|
{
|
|
34
43
|
"name": "stageProgress",
|
|
35
44
|
"type": "number",
|
|
36
45
|
"required": true,
|
|
37
46
|
"defaultValue": null,
|
|
38
|
-
"description": "Progress inside the current stage, 0 to 1."
|
|
47
|
+
"description": "Progress inside the current stage, 0 to 1.",
|
|
48
|
+
"control": {
|
|
49
|
+
"kind": "number"
|
|
50
|
+
}
|
|
39
51
|
},
|
|
40
52
|
{
|
|
41
53
|
"name": "eta",
|
|
42
54
|
"type": "string",
|
|
43
55
|
"required": true,
|
|
44
56
|
"defaultValue": null,
|
|
45
|
-
"description": "Pre-formatted estimate. Replaced by done once finished."
|
|
57
|
+
"description": "Pre-formatted estimate. Replaced by done once finished.",
|
|
58
|
+
"control": {
|
|
59
|
+
"kind": "string"
|
|
60
|
+
}
|
|
46
61
|
},
|
|
47
62
|
{
|
|
48
63
|
"name": "onCancel",
|
|
49
64
|
"type": "(() => void)",
|
|
50
65
|
"required": false,
|
|
51
66
|
"defaultValue": null,
|
|
52
|
-
"description": "Called to stop the job. Hidden once it finishes."
|
|
67
|
+
"description": "Called to stop the job. Hidden once it finishes.",
|
|
68
|
+
"control": {
|
|
69
|
+
"kind": "callback",
|
|
70
|
+
"fixture": "callback.log"
|
|
71
|
+
}
|
|
53
72
|
}
|
|
54
73
|
],
|
|
55
74
|
"typeReferences": [
|
|
@@ -14,49 +14,74 @@
|
|
|
14
14
|
"type": "boolean",
|
|
15
15
|
"required": true,
|
|
16
16
|
"defaultValue": null,
|
|
17
|
-
"description": "Whether the panel is showing. The trigger icon crossfades either way."
|
|
17
|
+
"description": "Whether the panel is showing. The trigger icon crossfades either way.",
|
|
18
|
+
"control": {
|
|
19
|
+
"kind": "boolean"
|
|
20
|
+
}
|
|
18
21
|
},
|
|
19
22
|
{
|
|
20
23
|
"name": "unread",
|
|
21
24
|
"type": "number",
|
|
22
25
|
"required": true,
|
|
23
26
|
"defaultValue": null,
|
|
24
|
-
"description": "Badge count on the closed bubble. Hidden at zero and while open."
|
|
27
|
+
"description": "Badge count on the closed bubble. Hidden at zero and while open.",
|
|
28
|
+
"control": {
|
|
29
|
+
"kind": "number"
|
|
30
|
+
}
|
|
25
31
|
},
|
|
26
32
|
{
|
|
27
33
|
"name": "greeting",
|
|
28
34
|
"type": "string",
|
|
29
35
|
"required": true,
|
|
30
36
|
"defaultValue": null,
|
|
31
|
-
"description": "Opening line in the panel."
|
|
37
|
+
"description": "Opening line in the panel.",
|
|
38
|
+
"control": {
|
|
39
|
+
"kind": "string"
|
|
40
|
+
}
|
|
32
41
|
},
|
|
33
42
|
{
|
|
34
43
|
"name": "prompts",
|
|
35
44
|
"type": "readonly string[]",
|
|
36
45
|
"required": true,
|
|
37
46
|
"defaultValue": null,
|
|
38
|
-
"description": "Ways in, so the first message does not have to be invented."
|
|
47
|
+
"description": "Ways in, so the first message does not have to be invented.",
|
|
48
|
+
"control": {
|
|
49
|
+
"kind": "array",
|
|
50
|
+
"fixture": "agent.transcript"
|
|
51
|
+
}
|
|
39
52
|
},
|
|
40
53
|
{
|
|
41
54
|
"name": "onToggle",
|
|
42
55
|
"type": "(() => void)",
|
|
43
56
|
"required": false,
|
|
44
57
|
"defaultValue": null,
|
|
45
|
-
"description": "Called when the bubble is pressed."
|
|
58
|
+
"description": "Called when the bubble is pressed.",
|
|
59
|
+
"control": {
|
|
60
|
+
"kind": "callback",
|
|
61
|
+
"fixture": "callback.log"
|
|
62
|
+
}
|
|
46
63
|
},
|
|
47
64
|
{
|
|
48
65
|
"name": "onPick",
|
|
49
66
|
"type": "((prompt: string) => void)",
|
|
50
67
|
"required": false,
|
|
51
68
|
"defaultValue": null,
|
|
52
|
-
"description": "Called when a starter prompt is chosen."
|
|
69
|
+
"description": "Called when a starter prompt is chosen.",
|
|
70
|
+
"control": {
|
|
71
|
+
"kind": "callback",
|
|
72
|
+
"fixture": "callback.log"
|
|
73
|
+
}
|
|
53
74
|
},
|
|
54
75
|
{
|
|
55
76
|
"name": "onStart",
|
|
56
77
|
"type": "(() => void)",
|
|
57
78
|
"required": false,
|
|
58
79
|
"defaultValue": null,
|
|
59
|
-
"description": "Called from the Start a conversation action, for opening an empty thread."
|
|
80
|
+
"description": "Called from the Start a conversation action, for opening an empty thread.",
|
|
81
|
+
"control": {
|
|
82
|
+
"kind": "callback",
|
|
83
|
+
"fixture": "callback.log"
|
|
84
|
+
}
|
|
60
85
|
}
|
|
61
86
|
],
|
|
62
87
|
"typeReferences": [
|
|
@@ -25,7 +25,10 @@
|
|
|
25
25
|
"type": "boolean",
|
|
26
26
|
"required": false,
|
|
27
27
|
"defaultValue": "true",
|
|
28
|
-
"description": "Make the ledger a size container, so a caller's `@container` rules shed\ncolumns against the *pane* rather than the viewport. Defaults to `true`.\n\nThis is the difference between a list that sheds a column when the window\nnarrows and one that also sheds it when a detail drawer opens beside it and\ntakes half the pane — which is the same visual problem and, without a\ncontainer, an entirely separate piece of code. Switch it off only when an\nancestor is already the container the rules name; nesting containers moves\nwhich one a bare `@container` query resolves against."
|
|
28
|
+
"description": "Make the ledger a size container, so a caller's `@container` rules shed\ncolumns against the *pane* rather than the viewport. Defaults to `true`.\n\nThis is the difference between a list that sheds a column when the window\nnarrows and one that also sheds it when a detail drawer opens beside it and\ntakes half the pane — which is the same visual problem and, without a\ncontainer, an entirely separate piece of code. Switch it off only when an\nancestor is already the container the rules name; nesting containers moves\nwhich one a bare `@container` query resolves against.",
|
|
29
|
+
"control": {
|
|
30
|
+
"kind": "boolean"
|
|
31
|
+
}
|
|
29
32
|
}
|
|
30
33
|
],
|
|
31
34
|
"typeReferences": [
|
|
@@ -42,63 +45,100 @@
|
|
|
42
45
|
"type": "ReactNode",
|
|
43
46
|
"required": false,
|
|
44
47
|
"defaultValue": null,
|
|
45
|
-
"description": "The tier's name. Omitted, the tier draws no heading and reserves no space\nfor one — which is how a single unnamed run of rows uses the same component\nas a grouped one."
|
|
48
|
+
"description": "The tier's name. Omitted, the tier draws no heading and reserves no space\nfor one — which is how a single unnamed run of rows uses the same component\nas a grouped one.",
|
|
49
|
+
"control": {
|
|
50
|
+
"kind": "node",
|
|
51
|
+
"fixture": "children.text"
|
|
52
|
+
}
|
|
46
53
|
},
|
|
47
54
|
{
|
|
48
55
|
"name": "count",
|
|
49
56
|
"type": "number",
|
|
50
57
|
"required": false,
|
|
51
58
|
"defaultValue": null,
|
|
52
|
-
"description": "How many rows the tier holds, printed beside its name."
|
|
59
|
+
"description": "How many rows the tier holds, printed beside its name.",
|
|
60
|
+
"control": {
|
|
61
|
+
"kind": "number"
|
|
62
|
+
}
|
|
53
63
|
},
|
|
54
64
|
{
|
|
55
65
|
"name": "sticky",
|
|
56
66
|
"type": "boolean",
|
|
57
67
|
"required": false,
|
|
58
68
|
"defaultValue": "true",
|
|
59
|
-
"description": "Dock the heading to the top of the scroll container while the tier's rows\nscroll past. Defaults to `true`."
|
|
69
|
+
"description": "Dock the heading to the top of the scroll container while the tier's rows\nscroll past. Defaults to `true`.",
|
|
70
|
+
"control": {
|
|
71
|
+
"kind": "boolean"
|
|
72
|
+
}
|
|
60
73
|
},
|
|
61
74
|
{
|
|
62
75
|
"name": "headingLevel",
|
|
63
76
|
"type": "4 | 2 | 3",
|
|
64
77
|
"required": false,
|
|
65
78
|
"defaultValue": "2",
|
|
66
|
-
"description": "Which heading element the tier's name is. Defaults to `2`.\n\nThe outline is the navigation: a screen-reader user moves through a long\nledger by heading, so the levels have to describe the real nesting of the\npage the ledger sits in, not the ledger's own idea of itself."
|
|
79
|
+
"description": "Which heading element the tier's name is. Defaults to `2`.\n\nThe outline is the navigation: a screen-reader user moves through a long\nledger by heading, so the levels have to describe the real nesting of the\npage the ledger sits in, not the ledger's own idea of itself.",
|
|
80
|
+
"control": {
|
|
81
|
+
"kind": "enum",
|
|
82
|
+
"members": [
|
|
83
|
+
4,
|
|
84
|
+
2,
|
|
85
|
+
3
|
|
86
|
+
],
|
|
87
|
+
"min": 2,
|
|
88
|
+
"max": 4
|
|
89
|
+
}
|
|
67
90
|
},
|
|
68
91
|
{
|
|
69
92
|
"name": "note",
|
|
70
93
|
"type": "ReactNode",
|
|
71
94
|
"required": false,
|
|
72
95
|
"defaultValue": null,
|
|
73
|
-
"description": "A qualifier printed after the name — a date, a source, a state."
|
|
96
|
+
"description": "A qualifier printed after the name — a date, a source, a state.",
|
|
97
|
+
"control": {
|
|
98
|
+
"kind": "node",
|
|
99
|
+
"fixture": "children.text"
|
|
100
|
+
}
|
|
74
101
|
},
|
|
75
102
|
{
|
|
76
103
|
"name": "collapsible",
|
|
77
104
|
"type": "boolean",
|
|
78
105
|
"required": false,
|
|
79
106
|
"defaultValue": "false",
|
|
80
|
-
"description": "Put a disclosure in the tier's heading that folds its rows away. Defaults\nto `false`, and a tier with no `heading` has nothing to fold from, so it\nignores this and renders as it always has.\n\n**This is the accordion pattern, not the tree pattern.** What folds is the\nheading — a *place* — and the `<h2>` stays exactly where it was with a real\n`<button aria-expanded aria-controls>` inside it. The rows below are hidden\nwhile it is shut, which takes them out of the accessibility tree and out of\nthe layout but keeps whatever state they hold. If what you are folding is a\n*row*, and the thing under it is that row's children rather than that\nplace's contents, you want `DataTree` and its `treeitem` semantics instead."
|
|
107
|
+
"description": "Put a disclosure in the tier's heading that folds its rows away. Defaults\nto `false`, and a tier with no `heading` has nothing to fold from, so it\nignores this and renders as it always has.\n\n**This is the accordion pattern, not the tree pattern.** What folds is the\nheading — a *place* — and the `<h2>` stays exactly where it was with a real\n`<button aria-expanded aria-controls>` inside it. The rows below are hidden\nwhile it is shut, which takes them out of the accessibility tree and out of\nthe layout but keeps whatever state they hold. If what you are folding is a\n*row*, and the thing under it is that row's children rather than that\nplace's contents, you want `DataTree` and its `treeitem` semantics instead.",
|
|
108
|
+
"control": {
|
|
109
|
+
"kind": "boolean"
|
|
110
|
+
}
|
|
81
111
|
},
|
|
82
112
|
{
|
|
83
113
|
"name": "expanded",
|
|
84
114
|
"type": "boolean",
|
|
85
115
|
"required": false,
|
|
86
116
|
"defaultValue": null,
|
|
87
|
-
"description": "Whether the tier is open, when the caller owns the state.\n\n**Persistence is the caller's.** Which places a reader has folded is a fact\nabout the reader, not about the list, and it belongs wherever that consumer\nkeeps the rest of them — `localStorage`, a URL, a profile. This library\nstores nothing. Pass this with {@link LedgerTierProps.onExpandedChange};\nomit both and the tier keeps its own state from\n{@link LedgerTierProps.defaultExpanded}. Ignored unless `collapsible`."
|
|
117
|
+
"description": "Whether the tier is open, when the caller owns the state.\n\n**Persistence is the caller's.** Which places a reader has folded is a fact\nabout the reader, not about the list, and it belongs wherever that consumer\nkeeps the rest of them — `localStorage`, a URL, a profile. This library\nstores nothing. Pass this with {@link LedgerTierProps.onExpandedChange};\nomit both and the tier keeps its own state from\n{@link LedgerTierProps.defaultExpanded}. Ignored unless `collapsible`.",
|
|
118
|
+
"control": {
|
|
119
|
+
"kind": "boolean"
|
|
120
|
+
}
|
|
88
121
|
},
|
|
89
122
|
{
|
|
90
123
|
"name": "defaultExpanded",
|
|
91
124
|
"type": "boolean",
|
|
92
125
|
"required": false,
|
|
93
126
|
"defaultValue": "true",
|
|
94
|
-
"description": "Whether an uncontrolled tier starts open. Defaults to `true`.\n\nOpen, because a ledger whose content is folded away on first paint has\nhidden the thing the reader came for; the reader folds what they are done\nwith. Ignored unless `collapsible`, and ignored entirely once\n{@link LedgerTierProps.expanded} is passed."
|
|
127
|
+
"description": "Whether an uncontrolled tier starts open. Defaults to `true`.\n\nOpen, because a ledger whose content is folded away on first paint has\nhidden the thing the reader came for; the reader folds what they are done\nwith. Ignored unless `collapsible`, and ignored entirely once\n{@link LedgerTierProps.expanded} is passed.",
|
|
128
|
+
"control": {
|
|
129
|
+
"kind": "boolean"
|
|
130
|
+
}
|
|
95
131
|
},
|
|
96
132
|
{
|
|
97
133
|
"name": "onExpandedChange",
|
|
98
134
|
"type": "((expanded: boolean) => void)",
|
|
99
135
|
"required": false,
|
|
100
136
|
"defaultValue": null,
|
|
101
|
-
"description": "Called with the tier's next state each time the reader presses the\ndisclosure — `true` when it is being opened, `false` when it is being shut.\n\nFires in both the controlled and the uncontrolled form, so a consumer can\nrecord what was folded without also having to own the state."
|
|
137
|
+
"description": "Called with the tier's next state each time the reader presses the\ndisclosure — `true` when it is being opened, `false` when it is being shut.\n\nFires in both the controlled and the uncontrolled form, so a consumer can\nrecord what was folded without also having to own the state.",
|
|
138
|
+
"control": {
|
|
139
|
+
"kind": "callback",
|
|
140
|
+
"fixture": "callback.log"
|
|
141
|
+
}
|
|
102
142
|
}
|
|
103
143
|
],
|
|
104
144
|
"typeReferences": [
|
|
@@ -115,49 +155,78 @@
|
|
|
115
155
|
"type": "ReactNode",
|
|
116
156
|
"required": false,
|
|
117
157
|
"defaultValue": null,
|
|
118
|
-
"description": "The group's slug, printed in the left gutter.\n\nOmitted, the group is a plain block: no gutter, no heading, no indent. A\ngrouped list that has one unnamed run in it should not pay a 7rem empty\ncolumn for it, and an empty gutter reads as a missing label rather than as\nan absent one."
|
|
158
|
+
"description": "The group's slug, printed in the left gutter.\n\nOmitted, the group is a plain block: no gutter, no heading, no indent. A\ngrouped list that has one unnamed run in it should not pay a 7rem empty\ncolumn for it, and an empty gutter reads as a missing label rather than as\nan absent one.",
|
|
159
|
+
"control": {
|
|
160
|
+
"kind": "node",
|
|
161
|
+
"fixture": "children.text"
|
|
162
|
+
}
|
|
119
163
|
},
|
|
120
164
|
{
|
|
121
165
|
"name": "headingLevel",
|
|
122
166
|
"type": "4 | 3",
|
|
123
167
|
"required": false,
|
|
124
168
|
"defaultValue": "3",
|
|
125
|
-
"description": "Which heading element the slug is. Defaults to `3`."
|
|
169
|
+
"description": "Which heading element the slug is. Defaults to `3`.",
|
|
170
|
+
"control": {
|
|
171
|
+
"kind": "enum",
|
|
172
|
+
"members": [
|
|
173
|
+
4,
|
|
174
|
+
3
|
|
175
|
+
],
|
|
176
|
+
"min": 3,
|
|
177
|
+
"max": 4
|
|
178
|
+
}
|
|
126
179
|
},
|
|
127
180
|
{
|
|
128
181
|
"name": "sticky",
|
|
129
182
|
"type": "boolean",
|
|
130
183
|
"required": false,
|
|
131
184
|
"defaultValue": "true",
|
|
132
|
-
"description": "Dock the slug under the tier heading while the group's rows scroll past.\nDefaults to `true`.\n\nThe offset is a custom property, `--cue-ledger-slug-top` (default `2.5rem`):\nhow far down the slug docks depends on how tall the tier heading above it\nrenders, which is a function of the density and the type the *caller*\nconfigured. Set it on the ledger — `className=\"[--cue-ledger-slug-top:2rem]\"` —\nrather than measuring at runtime."
|
|
185
|
+
"description": "Dock the slug under the tier heading while the group's rows scroll past.\nDefaults to `true`.\n\nThe offset is a custom property, `--cue-ledger-slug-top` (default `2.5rem`):\nhow far down the slug docks depends on how tall the tier heading above it\nrenders, which is a function of the density and the type the *caller*\nconfigured. Set it on the ledger — `className=\"[--cue-ledger-slug-top:2rem]\"` —\nrather than measuring at runtime.",
|
|
186
|
+
"control": {
|
|
187
|
+
"kind": "boolean"
|
|
188
|
+
}
|
|
133
189
|
},
|
|
134
190
|
{
|
|
135
191
|
"name": "collapsible",
|
|
136
192
|
"type": "boolean",
|
|
137
193
|
"required": false,
|
|
138
194
|
"defaultValue": "false",
|
|
139
|
-
"description": "Put a disclosure in the group's slug that folds its rows away. Defaults to\n`false`, and an unlabelled group has no slug to fold from, so it ignores\nthis. The same accordion pattern the tier takes — see\n{@link LedgerTierProps.collapsible} for why it is not the tree pattern."
|
|
195
|
+
"description": "Put a disclosure in the group's slug that folds its rows away. Defaults to\n`false`, and an unlabelled group has no slug to fold from, so it ignores\nthis. The same accordion pattern the tier takes — see\n{@link LedgerTierProps.collapsible} for why it is not the tree pattern.",
|
|
196
|
+
"control": {
|
|
197
|
+
"kind": "boolean"
|
|
198
|
+
}
|
|
140
199
|
},
|
|
141
200
|
{
|
|
142
201
|
"name": "expanded",
|
|
143
202
|
"type": "boolean",
|
|
144
203
|
"required": false,
|
|
145
204
|
"defaultValue": null,
|
|
146
|
-
"description": "Whether the group is open, when the caller owns the state. Persistence is\nthe caller's; see {@link LedgerTierProps.expanded}."
|
|
205
|
+
"description": "Whether the group is open, when the caller owns the state. Persistence is\nthe caller's; see {@link LedgerTierProps.expanded}.",
|
|
206
|
+
"control": {
|
|
207
|
+
"kind": "boolean"
|
|
208
|
+
}
|
|
147
209
|
},
|
|
148
210
|
{
|
|
149
211
|
"name": "defaultExpanded",
|
|
150
212
|
"type": "boolean",
|
|
151
213
|
"required": false,
|
|
152
214
|
"defaultValue": "true",
|
|
153
|
-
"description": "Whether an uncontrolled group starts open. Defaults to `true`."
|
|
215
|
+
"description": "Whether an uncontrolled group starts open. Defaults to `true`.",
|
|
216
|
+
"control": {
|
|
217
|
+
"kind": "boolean"
|
|
218
|
+
}
|
|
154
219
|
},
|
|
155
220
|
{
|
|
156
221
|
"name": "onExpandedChange",
|
|
157
222
|
"type": "((expanded: boolean) => void)",
|
|
158
223
|
"required": false,
|
|
159
224
|
"defaultValue": null,
|
|
160
|
-
"description": "Called with the group's next state each time the reader presses the slug."
|
|
225
|
+
"description": "Called with the group's next state each time the reader presses the slug.",
|
|
226
|
+
"control": {
|
|
227
|
+
"kind": "callback",
|
|
228
|
+
"fixture": "callback.log"
|
|
229
|
+
}
|
|
161
230
|
}
|
|
162
231
|
],
|
|
163
232
|
"typeReferences": [
|
|
@@ -179,7 +248,6 @@
|
|
|
179
248
|
"tokensUsed": [
|
|
180
249
|
"--cue-accent",
|
|
181
250
|
"--cue-bg",
|
|
182
|
-
"--cue-data-row-cols",
|
|
183
251
|
"--cue-fg",
|
|
184
252
|
"--cue-fg-subtle",
|
|
185
253
|
"--cue-font-mono",
|
|
@@ -245,7 +313,7 @@
|
|
|
245
313
|
"Ledger"
|
|
246
314
|
],
|
|
247
315
|
"code": "<Panel className=\"w-full\">\n <div className=\"max-h-[18rem] overflow-y-auto\">\n <Ledger.Root className={PATCH_TRACKS}>\n <Ledger.Tier heading=\"Patch\" count={PATCH_DEVICES.length} note=\"polled 18:04\">\n {PATCH_GROUPS.map((group) => (\n <Ledger.Group key={group.id} label={group.label}>\n {group.rows.map((device) => (\n <DataRow.Root key={device.id} interactive>\n <PatchRowSlots device={device} />\n </DataRow.Root>\n ))}\n </Ledger.Group>\n ))}\n <Ledger.Group label=\"spare\">\n <Ledger.Empty>Nothing yet.</Ledger.Empty>\n </Ledger.Group>\n </Ledger.Tier>\n </Ledger.Root>\n </div>\n</Panel>",
|
|
248
|
-
"note": "The same rows as tiers and slugs: sticky headings, a gutter for the group name, and no disclosure
|
|
316
|
+
"note": "The same rows as tiers and slugs: sticky headings, a gutter for the group name, and no disclosure until a heading is asked for one — this bench asks for none, so the whole surface stays static markup. The bench below it asks.",
|
|
249
317
|
"interaction": "the tier heading and the group slug dock as the rows scroll under them; scroll the pane to see it."
|
|
250
318
|
},
|
|
251
319
|
{
|
|
@@ -12,21 +12,34 @@
|
|
|
12
12
|
"type": "boolean",
|
|
13
13
|
"required": false,
|
|
14
14
|
"defaultValue": "false",
|
|
15
|
-
"description": "Open in a new tab, mark the anchor `rel=\"noreferrer noopener\"` and append a\n`↗`. The glyph is not decoration: a link that replaces the user's context\nwithout warning is a WCAG 3.2.5 failure, and the arrow is the warning."
|
|
15
|
+
"description": "Open in a new tab, mark the anchor `rel=\"noreferrer noopener\"` and append a\n`↗`. The glyph is not decoration: a link that replaces the user's context\nwithout warning is a WCAG 3.2.5 failure, and the arrow is the warning.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "boolean"
|
|
18
|
+
}
|
|
16
19
|
},
|
|
17
20
|
{
|
|
18
21
|
"name": "render",
|
|
19
22
|
"type": "RenderProp<Record<string, unknown>>",
|
|
20
23
|
"required": false,
|
|
21
24
|
"defaultValue": null,
|
|
22
|
-
"description": "Replace the rendered element (Base UI render prop). Accepts an element —\n`render={<NextLink href=\"/x\" />}` — or a function returning one. This is\nhow the design system composes with a router without depending on one."
|
|
25
|
+
"description": "Replace the rendered element (Base UI render prop). Accepts an element —\n`render={<NextLink href=\"/x\" />}` — or a function returning one. This is\nhow the design system composes with a router without depending on one.",
|
|
26
|
+
"control": {
|
|
27
|
+
"kind": "opaque"
|
|
28
|
+
}
|
|
23
29
|
},
|
|
24
30
|
{
|
|
25
31
|
"name": "variant",
|
|
26
32
|
"type": "\"plain\" | \"underline\"",
|
|
27
33
|
"required": false,
|
|
28
34
|
"defaultValue": "plain",
|
|
29
|
-
"description": ""
|
|
35
|
+
"description": "",
|
|
36
|
+
"control": {
|
|
37
|
+
"kind": "enum",
|
|
38
|
+
"members": [
|
|
39
|
+
"plain",
|
|
40
|
+
"underline"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
30
43
|
}
|
|
31
44
|
],
|
|
32
45
|
"typeReferences": [
|