@cueplusplus/ui 0.9.0 → 0.11.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 +337 -0
- package/README.md +197 -9
- package/dist/chrome/index.d.ts +2 -1
- package/dist/chrome/index.js +3 -2
- package/dist/chrome/inspector.d.ts +61 -0
- package/dist/chrome/inspector.js +121 -0
- package/dist/forms/input.d.ts +12 -0
- package/dist/forms/textarea.d.ts +12 -0
- package/dist/forms/toggle.d.ts +6 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.js +8 -3
- package/dist/instruments/code-block.d.ts +35 -0
- package/dist/instruments/code-block.js +173 -0
- package/dist/instruments/index.d.ts +2 -1
- package/dist/instruments/index.js +2 -1
- 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 +4 -2
- package/dist/layout/index.js +4 -2
- package/dist/layout/preview.d.ts +110 -0
- package/dist/layout/preview.js +459 -0
- package/dist/primitives/button.d.ts +12 -0
- package/dist/primitives/chip.d.ts +1 -1
- package/dist/system/index.d.ts +2 -2
- package/dist/system/index.js +2 -1
- package/dist/system/overrides.d.ts +38 -1
- package/dist/system/overrides.js +40 -1
- 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-block.json +106 -0
- 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 +8 -4
- 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 +13 -3
- 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 +24 -4
- 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 -8
- 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 +33 -3
- package/manifest/components/inspector.json +199 -0
- 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 +58 -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 +12 -5
- package/manifest/components/preview.json +202 -0
- 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 +69 -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 +8 -4
- 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 +28 -3
- package/manifest/components/theme-configurator.json +47 -11
- package/manifest/components/theme-provider.json +79 -15
- 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 +33 -4
- package/manifest/components/token-editor.json +26 -7
- 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 +111 -0
- package/manifest/manifest.json +354 -297
- package/manifest/tokens.json +2 -2
- package/package.json +8 -7
|
@@ -52,49 +52,83 @@
|
|
|
52
52
|
"type": "string",
|
|
53
53
|
"required": false,
|
|
54
54
|
"defaultValue": null,
|
|
55
|
-
"description": "Extra classes for the popup surface."
|
|
55
|
+
"description": "Extra classes for the popup surface.",
|
|
56
|
+
"control": {
|
|
57
|
+
"kind": "string"
|
|
58
|
+
}
|
|
56
59
|
},
|
|
57
60
|
{
|
|
58
61
|
"name": "align",
|
|
59
62
|
"type": "\"center\" | \"end\" | \"start\"",
|
|
60
63
|
"required": false,
|
|
61
64
|
"defaultValue": null,
|
|
62
|
-
"description": "Alignment along that side. Defaults to `\"center\"`."
|
|
65
|
+
"description": "Alignment along that side. Defaults to `\"center\"`.",
|
|
66
|
+
"control": {
|
|
67
|
+
"kind": "enum",
|
|
68
|
+
"members": [
|
|
69
|
+
"center",
|
|
70
|
+
"end",
|
|
71
|
+
"start"
|
|
72
|
+
]
|
|
73
|
+
}
|
|
63
74
|
},
|
|
64
75
|
{
|
|
65
76
|
"name": "keepMounted",
|
|
66
77
|
"type": "boolean",
|
|
67
78
|
"required": false,
|
|
68
79
|
"defaultValue": null,
|
|
69
|
-
"description": "Keep the popup mounted while closed."
|
|
80
|
+
"description": "Keep the popup mounted while closed.",
|
|
81
|
+
"control": {
|
|
82
|
+
"kind": "boolean"
|
|
83
|
+
}
|
|
70
84
|
},
|
|
71
85
|
{
|
|
72
86
|
"name": "positionerClassName",
|
|
73
87
|
"type": "string",
|
|
74
88
|
"required": false,
|
|
75
89
|
"defaultValue": null,
|
|
76
|
-
"description": "Extra classes for the positioner that places the popup."
|
|
90
|
+
"description": "Extra classes for the positioner that places the popup.",
|
|
91
|
+
"control": {
|
|
92
|
+
"kind": "string"
|
|
93
|
+
}
|
|
77
94
|
},
|
|
78
95
|
{
|
|
79
96
|
"name": "sideOffset",
|
|
80
97
|
"type": "number | OffsetFunction",
|
|
81
98
|
"required": false,
|
|
82
99
|
"defaultValue": "4",
|
|
83
|
-
"description": "Gap in px between trigger and popup. Defaults to `4`."
|
|
100
|
+
"description": "Gap in px between trigger and popup. Defaults to `4`.",
|
|
101
|
+
"control": {
|
|
102
|
+
"kind": "opaque"
|
|
103
|
+
}
|
|
84
104
|
},
|
|
85
105
|
{
|
|
86
106
|
"name": "side",
|
|
87
107
|
"type": "\"left\" | \"right\" | \"bottom\" | \"top\" | \"inline-end\" | \"inline-start\"",
|
|
88
108
|
"required": false,
|
|
89
109
|
"defaultValue": "top",
|
|
90
|
-
"description": "Preferred side of the trigger. Defaults to `\"top\"`."
|
|
110
|
+
"description": "Preferred side of the trigger. Defaults to `\"top\"`.",
|
|
111
|
+
"control": {
|
|
112
|
+
"kind": "enum",
|
|
113
|
+
"members": [
|
|
114
|
+
"left",
|
|
115
|
+
"right",
|
|
116
|
+
"bottom",
|
|
117
|
+
"top",
|
|
118
|
+
"inline-end",
|
|
119
|
+
"inline-start"
|
|
120
|
+
]
|
|
121
|
+
}
|
|
91
122
|
},
|
|
92
123
|
{
|
|
93
124
|
"name": "alignOffset",
|
|
94
125
|
"type": "number | OffsetFunction",
|
|
95
126
|
"required": false,
|
|
96
127
|
"defaultValue": null,
|
|
97
|
-
"description": "Nudge along the alignment axis, in px."
|
|
128
|
+
"description": "Nudge along the alignment axis, in px.",
|
|
129
|
+
"control": {
|
|
130
|
+
"kind": "opaque"
|
|
131
|
+
}
|
|
98
132
|
}
|
|
99
133
|
],
|
|
100
134
|
"typeReferences": [
|
|
@@ -12,21 +12,30 @@
|
|
|
12
12
|
"type": "readonly TraceSpan[]",
|
|
13
13
|
"required": true,
|
|
14
14
|
"defaultValue": null,
|
|
15
|
-
"description": "Flat list in start order. Nesting comes from each span's depth."
|
|
15
|
+
"description": "Flat list in start order. Nesting comes from each span's depth.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "array"
|
|
18
|
+
}
|
|
16
19
|
},
|
|
17
20
|
{
|
|
18
21
|
"name": "totalMs",
|
|
19
22
|
"type": "number",
|
|
20
23
|
"required": true,
|
|
21
24
|
"defaultValue": null,
|
|
22
|
-
"description": "Width of the axis. Bars are positioned against this, not against the widest span."
|
|
25
|
+
"description": "Width of the axis. Bars are positioned against this, not against the widest span.",
|
|
26
|
+
"control": {
|
|
27
|
+
"kind": "number"
|
|
28
|
+
}
|
|
23
29
|
},
|
|
24
30
|
{
|
|
25
31
|
"name": "visibleCount",
|
|
26
32
|
"type": "number",
|
|
27
33
|
"required": true,
|
|
28
34
|
"defaultValue": null,
|
|
29
|
-
"description": "How many spans have been reported so far."
|
|
35
|
+
"description": "How many spans have been reported so far.",
|
|
36
|
+
"control": {
|
|
37
|
+
"kind": "number"
|
|
38
|
+
}
|
|
30
39
|
}
|
|
31
40
|
],
|
|
32
41
|
"typeReferences": [
|
|
@@ -12,21 +12,36 @@
|
|
|
12
12
|
"type": "\"hidden\" | \"visible\" | \"ghost\"",
|
|
13
13
|
"required": true,
|
|
14
14
|
"defaultValue": null,
|
|
15
|
-
"description": "The node's current visibility."
|
|
15
|
+
"description": "The node's current visibility.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "enum",
|
|
18
|
+
"members": [
|
|
19
|
+
"hidden",
|
|
20
|
+
"visible",
|
|
21
|
+
"ghost"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
16
24
|
},
|
|
17
25
|
{
|
|
18
26
|
"name": "onValueChange",
|
|
19
27
|
"type": "(value: TreeVisibility) => void",
|
|
20
28
|
"required": true,
|
|
21
29
|
"defaultValue": null,
|
|
22
|
-
"description": "Called with the next state in the cycle."
|
|
30
|
+
"description": "Called with the next state in the cycle.",
|
|
31
|
+
"control": {
|
|
32
|
+
"kind": "callback",
|
|
33
|
+
"fixture": "callback.log"
|
|
34
|
+
}
|
|
23
35
|
},
|
|
24
36
|
{
|
|
25
37
|
"name": "labels",
|
|
26
38
|
"type": "Partial<Record<TreeVisibility, string>>",
|
|
27
39
|
"required": false,
|
|
28
40
|
"defaultValue": null,
|
|
29
|
-
"description": "Override the state names used in the accessible label."
|
|
41
|
+
"description": "Override the state names used in the accessible label.",
|
|
42
|
+
"control": {
|
|
43
|
+
"kind": "opaque"
|
|
44
|
+
}
|
|
30
45
|
}
|
|
31
46
|
],
|
|
32
47
|
"typeReferences": [
|
|
@@ -12,77 +12,118 @@
|
|
|
12
12
|
"type": "readonly TreeItem[]",
|
|
13
13
|
"required": true,
|
|
14
14
|
"defaultValue": null,
|
|
15
|
-
"description": "The roots, in display order."
|
|
15
|
+
"description": "The roots, in display order.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "array"
|
|
18
|
+
}
|
|
16
19
|
},
|
|
17
20
|
{
|
|
18
21
|
"name": "expanded",
|
|
19
22
|
"type": "readonly string[]",
|
|
20
23
|
"required": false,
|
|
21
24
|
"defaultValue": null,
|
|
22
|
-
"description": "Expanded ids when controlled. Pass with `onExpandedChange`."
|
|
25
|
+
"description": "Expanded ids when controlled. Pass with `onExpandedChange`.",
|
|
26
|
+
"control": {
|
|
27
|
+
"kind": "array",
|
|
28
|
+
"fixture": "agent.transcript"
|
|
29
|
+
}
|
|
23
30
|
},
|
|
24
31
|
{
|
|
25
32
|
"name": "defaultExpanded",
|
|
26
33
|
"type": "readonly string[]",
|
|
27
34
|
"required": false,
|
|
28
35
|
"defaultValue": null,
|
|
29
|
-
"description": "Initially expanded ids when uncontrolled."
|
|
36
|
+
"description": "Initially expanded ids when uncontrolled.",
|
|
37
|
+
"control": {
|
|
38
|
+
"kind": "array",
|
|
39
|
+
"fixture": "agent.transcript"
|
|
40
|
+
}
|
|
30
41
|
},
|
|
31
42
|
{
|
|
32
43
|
"name": "onExpandedChange",
|
|
33
44
|
"type": "((expanded: string[]) => void)",
|
|
34
45
|
"required": false,
|
|
35
46
|
"defaultValue": null,
|
|
36
|
-
"description": "Called with the whole next expanded set whenever a row is folded or unfolded."
|
|
47
|
+
"description": "Called with the whole next expanded set whenever a row is folded or unfolded.",
|
|
48
|
+
"control": {
|
|
49
|
+
"kind": "callback",
|
|
50
|
+
"fixture": "callback.log"
|
|
51
|
+
}
|
|
37
52
|
},
|
|
38
53
|
{
|
|
39
54
|
"name": "selected",
|
|
40
55
|
"type": "string | null",
|
|
41
56
|
"required": false,
|
|
42
57
|
"defaultValue": null,
|
|
43
|
-
"description": "Selected id when controlled. Pass with `onSelect`."
|
|
58
|
+
"description": "Selected id when controlled. Pass with `onSelect`.",
|
|
59
|
+
"control": {
|
|
60
|
+
"kind": "string",
|
|
61
|
+
"nullable": true
|
|
62
|
+
}
|
|
44
63
|
},
|
|
45
64
|
{
|
|
46
65
|
"name": "defaultSelected",
|
|
47
66
|
"type": "string | null",
|
|
48
67
|
"required": false,
|
|
49
68
|
"defaultValue": "null",
|
|
50
|
-
"description": "Initially selected id when uncontrolled."
|
|
69
|
+
"description": "Initially selected id when uncontrolled.",
|
|
70
|
+
"control": {
|
|
71
|
+
"kind": "string",
|
|
72
|
+
"nullable": true
|
|
73
|
+
}
|
|
51
74
|
},
|
|
52
75
|
{
|
|
53
76
|
"name": "onSelect",
|
|
54
77
|
"type": "((id: string) => void)",
|
|
55
78
|
"required": false,
|
|
56
79
|
"defaultValue": null,
|
|
57
|
-
"description": "Called with the id of the row the user selected."
|
|
80
|
+
"description": "Called with the id of the row the user selected.",
|
|
81
|
+
"control": {
|
|
82
|
+
"kind": "callback",
|
|
83
|
+
"fixture": "callback.log"
|
|
84
|
+
}
|
|
58
85
|
},
|
|
59
86
|
{
|
|
60
87
|
"name": "renderRow",
|
|
61
88
|
"type": "((row: TreeRow) => ReactNode)",
|
|
62
89
|
"required": false,
|
|
63
90
|
"defaultValue": null,
|
|
64
|
-
"description": "Replace the *body* of a row — the icon, label and badge.\n\nThe row element itself, its ARIA, its tab index and its indent gutter stay\nwith the component on purpose: those are the parts a call site cannot get\nwrong without breaking keyboard navigation for everyone."
|
|
91
|
+
"description": "Replace the *body* of a row — the icon, label and badge.\n\nThe row element itself, its ARIA, its tab index and its indent gutter stay\nwith the component on purpose: those are the parts a call site cannot get\nwrong without breaking keyboard navigation for everyone.",
|
|
92
|
+
"control": {
|
|
93
|
+
"kind": "callback",
|
|
94
|
+
"fixture": "callback.log"
|
|
95
|
+
}
|
|
65
96
|
},
|
|
66
97
|
{
|
|
67
98
|
"name": "rowControls",
|
|
68
99
|
"type": "((item: TreeItem, row: TreeRow) => ReactNode)",
|
|
69
100
|
"required": false,
|
|
70
101
|
"defaultValue": null,
|
|
71
|
-
"description": "Controls hung off the right of each row, revealed on hover or focus.\n\nThis is where the three-state visibility idiom goes — see\n{@link TreeVisibilityToggle} — along with focus, rename and delete\naffordances. Anything essential belongs in the row body or a context menu\ninstead: hover-revealed controls are invisible on touch."
|
|
102
|
+
"description": "Controls hung off the right of each row, revealed on hover or focus.\n\nThis is where the three-state visibility idiom goes — see\n{@link TreeVisibilityToggle} — along with focus, rename and delete\naffordances. Anything essential belongs in the row body or a context menu\ninstead: hover-revealed controls are invisible on touch.",
|
|
103
|
+
"control": {
|
|
104
|
+
"kind": "callback",
|
|
105
|
+
"fixture": "callback.log"
|
|
106
|
+
}
|
|
72
107
|
},
|
|
73
108
|
{
|
|
74
109
|
"name": "guides",
|
|
75
110
|
"type": "boolean",
|
|
76
111
|
"required": false,
|
|
77
112
|
"defaultValue": "true",
|
|
78
|
-
"description": "Draw the box-drawing indent gutter. Defaults to `true`."
|
|
113
|
+
"description": "Draw the box-drawing indent gutter. Defaults to `true`.",
|
|
114
|
+
"control": {
|
|
115
|
+
"kind": "boolean"
|
|
116
|
+
}
|
|
79
117
|
},
|
|
80
118
|
{
|
|
81
119
|
"name": "aria-label",
|
|
82
120
|
"type": "string",
|
|
83
121
|
"required": false,
|
|
84
122
|
"defaultValue": null,
|
|
85
|
-
"description": "Accessible name for the tree. Required in practice — name what it lists."
|
|
123
|
+
"description": "Accessible name for the tree. Required in practice — name what it lists.",
|
|
124
|
+
"control": {
|
|
125
|
+
"kind": "string"
|
|
126
|
+
}
|
|
86
127
|
}
|
|
87
128
|
],
|
|
88
129
|
"typeReferences": [
|
|
@@ -14,56 +14,84 @@
|
|
|
14
14
|
"type": "(() => void)",
|
|
15
15
|
"required": false,
|
|
16
16
|
"defaultValue": null,
|
|
17
|
-
"description": "Copy the turn. The control exists only when this is given."
|
|
17
|
+
"description": "Copy the turn. The control exists only when this is given.",
|
|
18
|
+
"control": {
|
|
19
|
+
"kind": "callback",
|
|
20
|
+
"fixture": "callback.log"
|
|
21
|
+
}
|
|
18
22
|
},
|
|
19
23
|
{
|
|
20
24
|
"name": "copied",
|
|
21
25
|
"type": "boolean",
|
|
22
26
|
"required": false,
|
|
23
27
|
"defaultValue": "false",
|
|
24
|
-
"description": "Whether the clipboard has it: the copy glyph crossfades to a check."
|
|
28
|
+
"description": "Whether the clipboard has it: the copy glyph crossfades to a check.",
|
|
29
|
+
"control": {
|
|
30
|
+
"kind": "boolean"
|
|
31
|
+
}
|
|
25
32
|
},
|
|
26
33
|
{
|
|
27
34
|
"name": "onReply",
|
|
28
35
|
"type": "(() => void)",
|
|
29
36
|
"required": false,
|
|
30
37
|
"defaultValue": null,
|
|
31
|
-
"description": "Quote this turn into the composer. The control exists only when this is given."
|
|
38
|
+
"description": "Quote this turn into the composer. The control exists only when this is given.",
|
|
39
|
+
"control": {
|
|
40
|
+
"kind": "callback",
|
|
41
|
+
"fixture": "callback.log"
|
|
42
|
+
}
|
|
32
43
|
},
|
|
33
44
|
{
|
|
34
45
|
"name": "onFork",
|
|
35
46
|
"type": "(() => void)",
|
|
36
47
|
"required": false,
|
|
37
48
|
"defaultValue": null,
|
|
38
|
-
"description": "Branch the conversation from this turn. The control exists only when this is given."
|
|
49
|
+
"description": "Branch the conversation from this turn. The control exists only when this is given.",
|
|
50
|
+
"control": {
|
|
51
|
+
"kind": "callback",
|
|
52
|
+
"fixture": "callback.log"
|
|
53
|
+
}
|
|
39
54
|
},
|
|
40
55
|
{
|
|
41
56
|
"name": "onMore",
|
|
42
57
|
"type": "(() => void)",
|
|
43
58
|
"required": false,
|
|
44
59
|
"defaultValue": null,
|
|
45
|
-
"description": "Open the overflow menu — Cursor hangs \"Copy request ID\" off it."
|
|
60
|
+
"description": "Open the overflow menu — Cursor hangs \"Copy request ID\" off it.",
|
|
61
|
+
"control": {
|
|
62
|
+
"kind": "callback",
|
|
63
|
+
"fixture": "callback.log"
|
|
64
|
+
}
|
|
46
65
|
},
|
|
47
66
|
{
|
|
48
67
|
"name": "timestamp",
|
|
49
68
|
"type": "TurnTimestamp",
|
|
50
69
|
"required": false,
|
|
51
70
|
"defaultValue": null,
|
|
52
|
-
"description": "When the turn happened and how long it took. See {@link TurnTimestamp}."
|
|
71
|
+
"description": "When the turn happened and how long it took. See {@link TurnTimestamp}.",
|
|
72
|
+
"control": {
|
|
73
|
+
"kind": "opaque"
|
|
74
|
+
}
|
|
53
75
|
},
|
|
54
76
|
{
|
|
55
77
|
"name": "labels",
|
|
56
78
|
"type": "Partial<TurnActionLabels>",
|
|
57
79
|
"required": false,
|
|
58
80
|
"defaultValue": null,
|
|
59
|
-
"description": "The accessible names of the four controls, merged over\n`TURN_ACTION_LABELS`. Partial on purpose: a console localising two of them\nshould not have to restate the other three."
|
|
81
|
+
"description": "The accessible names of the four controls, merged over\n`TURN_ACTION_LABELS`. Partial on purpose: a console localising two of them\nshould not have to restate the other three.",
|
|
82
|
+
"control": {
|
|
83
|
+
"kind": "opaque"
|
|
84
|
+
}
|
|
60
85
|
},
|
|
61
86
|
{
|
|
62
87
|
"name": "label",
|
|
63
88
|
"type": "string",
|
|
64
89
|
"required": false,
|
|
65
90
|
"defaultValue": "Turn actions",
|
|
66
|
-
"description": "What the group of controls is called. Defaults to `Turn actions`."
|
|
91
|
+
"description": "What the group of controls is called. Defaults to `Turn actions`.",
|
|
92
|
+
"control": {
|
|
93
|
+
"kind": "string"
|
|
94
|
+
}
|
|
67
95
|
}
|
|
68
96
|
],
|
|
69
97
|
"typeReferences": [
|
|
@@ -12,63 +12,100 @@
|
|
|
12
12
|
"type": "() => void",
|
|
13
13
|
"required": true,
|
|
14
14
|
"defaultValue": null,
|
|
15
|
-
"description": "Fired once, when the *second* press lands."
|
|
15
|
+
"description": "Fired once, when the *second* press lands.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "callback",
|
|
18
|
+
"fixture": "callback.log"
|
|
19
|
+
}
|
|
16
20
|
},
|
|
17
21
|
{
|
|
18
22
|
"name": "children",
|
|
19
23
|
"type": "ReactNode",
|
|
20
24
|
"required": true,
|
|
21
25
|
"defaultValue": null,
|
|
22
|
-
"description": "The idle label — name the action, not the button (\"Delete rig\", not \"Delete\")."
|
|
26
|
+
"description": "The idle label — name the action, not the button (\"Delete rig\", not \"Delete\").",
|
|
27
|
+
"control": {
|
|
28
|
+
"kind": "node",
|
|
29
|
+
"fixture": "children.text"
|
|
30
|
+
}
|
|
23
31
|
},
|
|
24
32
|
{
|
|
25
33
|
"name": "confirmLabel",
|
|
26
34
|
"type": "ReactNode",
|
|
27
35
|
"required": false,
|
|
28
36
|
"defaultValue": "Confirm",
|
|
29
|
-
"description": "Label on the armed half. Defaults to `\"Confirm\"`."
|
|
37
|
+
"description": "Label on the armed half. Defaults to `\"Confirm\"`.",
|
|
38
|
+
"control": {
|
|
39
|
+
"kind": "node",
|
|
40
|
+
"fixture": "children.text"
|
|
41
|
+
}
|
|
30
42
|
},
|
|
31
43
|
{
|
|
32
44
|
"name": "cancelLabel",
|
|
33
45
|
"type": "ReactNode",
|
|
34
46
|
"required": false,
|
|
35
47
|
"defaultValue": "Cancel",
|
|
36
|
-
"description": "Label on the escape hatch. Defaults to `\"Cancel\"`."
|
|
48
|
+
"description": "Label on the escape hatch. Defaults to `\"Cancel\"`.",
|
|
49
|
+
"control": {
|
|
50
|
+
"kind": "node",
|
|
51
|
+
"fixture": "children.text"
|
|
52
|
+
}
|
|
37
53
|
},
|
|
38
54
|
{
|
|
39
55
|
"name": "tone",
|
|
40
56
|
"type": "\"danger\" | \"warn\"",
|
|
41
57
|
"required": false,
|
|
42
58
|
"defaultValue": "danger",
|
|
43
|
-
"description": "How severe this is. Defaults to `\"danger\"`."
|
|
59
|
+
"description": "How severe this is. Defaults to `\"danger\"`.",
|
|
60
|
+
"control": {
|
|
61
|
+
"kind": "enum",
|
|
62
|
+
"members": [
|
|
63
|
+
"danger",
|
|
64
|
+
"warn"
|
|
65
|
+
]
|
|
66
|
+
}
|
|
44
67
|
},
|
|
45
68
|
{
|
|
46
69
|
"name": "timeout",
|
|
47
70
|
"type": "number",
|
|
48
71
|
"required": false,
|
|
49
72
|
"defaultValue": "4000",
|
|
50
|
-
"description": "ms before an untouched armed state disarms itself. `0` disables. Defaults to `4000`."
|
|
73
|
+
"description": "ms before an untouched armed state disarms itself. `0` disables. Defaults to `4000`.",
|
|
74
|
+
"control": {
|
|
75
|
+
"kind": "number"
|
|
76
|
+
}
|
|
51
77
|
},
|
|
52
78
|
{
|
|
53
79
|
"name": "onArmedChange",
|
|
54
80
|
"type": "((armed: boolean) => void)",
|
|
55
81
|
"required": false,
|
|
56
82
|
"defaultValue": null,
|
|
57
|
-
"description": "Called with the new armed state on every arm and disarm."
|
|
83
|
+
"description": "Called with the new armed state on every arm and disarm.",
|
|
84
|
+
"control": {
|
|
85
|
+
"kind": "callback",
|
|
86
|
+
"fixture": "callback.log"
|
|
87
|
+
}
|
|
58
88
|
},
|
|
59
89
|
{
|
|
60
90
|
"name": "render",
|
|
61
91
|
"type": "RenderProp<Record<string, unknown>>",
|
|
62
92
|
"required": false,
|
|
63
93
|
"defaultValue": null,
|
|
64
|
-
"description": "Replace the rendered element (Base UI render prop). Accepts an element —\n`render={<a href=\"/x\" />}` — or a function returning one. When set, the\ndefault `type=\"button\"` is dropped so non-button elements stay valid."
|
|
94
|
+
"description": "Replace the rendered element (Base UI render prop). Accepts an element —\n`render={<a href=\"/x\" />}` — or a function returning one. When set, the\ndefault `type=\"button\"` is dropped so non-button elements stay valid.",
|
|
95
|
+
"control": {
|
|
96
|
+
"kind": "opaque"
|
|
97
|
+
}
|
|
65
98
|
},
|
|
66
99
|
{
|
|
67
100
|
"name": "icon",
|
|
68
101
|
"type": "ElementType<any, keyof IntrinsicElements>",
|
|
69
102
|
"required": false,
|
|
70
103
|
"defaultValue": null,
|
|
71
|
-
"description": "Optional leading icon component (e.g. a lucide icon). Rendered\n`aria-hidden` and sized to the density icon token, so it tracks the density\nlevel without the caller passing a pixel size."
|
|
104
|
+
"description": "Optional leading icon component (e.g. a lucide icon). Rendered\n`aria-hidden` and sized to the density icon token, so it tracks the density\nlevel without the caller passing a pixel size.",
|
|
105
|
+
"control": {
|
|
106
|
+
"kind": "opaque",
|
|
107
|
+
"fixture": "icon.play"
|
|
108
|
+
}
|
|
72
109
|
}
|
|
73
110
|
],
|
|
74
111
|
"typeReferences": [
|
|
@@ -12,7 +12,14 @@
|
|
|
12
12
|
"type": "\"bubble\" | \"bare\"",
|
|
13
13
|
"required": false,
|
|
14
14
|
"defaultValue": "bubble",
|
|
15
|
-
"description": "bubble wraps the dots in a pill; bare renders only the three dots."
|
|
15
|
+
"description": "bubble wraps the dots in a pill; bare renders only the three dots.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "enum",
|
|
18
|
+
"members": [
|
|
19
|
+
"bubble",
|
|
20
|
+
"bare"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
16
23
|
}
|
|
17
24
|
],
|
|
18
25
|
"typeReferences": [
|
|
@@ -12,63 +12,91 @@
|
|
|
12
12
|
"type": "readonly DmxAllocation[]",
|
|
13
13
|
"required": true,
|
|
14
14
|
"defaultValue": null,
|
|
15
|
-
"description": "The patch. Order is display order; overlaps are found, not assumed away."
|
|
15
|
+
"description": "The patch. Order is display order; overlaps are found, not assumed away.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "array"
|
|
18
|
+
}
|
|
16
19
|
},
|
|
17
20
|
{
|
|
18
21
|
"name": "label",
|
|
19
22
|
"type": "string",
|
|
20
23
|
"required": false,
|
|
21
24
|
"defaultValue": null,
|
|
22
|
-
"description": "Which universe this is. Names the graphic; also the group label when selectable."
|
|
25
|
+
"description": "Which universe this is. Names the graphic; also the group label when selectable.",
|
|
26
|
+
"control": {
|
|
27
|
+
"kind": "string"
|
|
28
|
+
}
|
|
23
29
|
},
|
|
24
30
|
{
|
|
25
31
|
"name": "slots",
|
|
26
32
|
"type": "number",
|
|
27
33
|
"required": false,
|
|
28
34
|
"defaultValue": "512",
|
|
29
|
-
"description": "Frame length. Defaults to a full universe of 512."
|
|
35
|
+
"description": "Frame length. Defaults to a full universe of 512.",
|
|
36
|
+
"control": {
|
|
37
|
+
"kind": "number"
|
|
38
|
+
}
|
|
30
39
|
},
|
|
31
40
|
{
|
|
32
41
|
"name": "height",
|
|
33
42
|
"type": "number",
|
|
34
43
|
"required": false,
|
|
35
44
|
"defaultValue": "18",
|
|
36
|
-
"description": "Bar height in px at the 16px root, emitted as `rem`. Defaults to `18`."
|
|
45
|
+
"description": "Bar height in px at the 16px root, emitted as `rem`. Defaults to `18`.",
|
|
46
|
+
"control": {
|
|
47
|
+
"kind": "number"
|
|
48
|
+
}
|
|
37
49
|
},
|
|
38
50
|
{
|
|
39
51
|
"name": "ruler",
|
|
40
52
|
"type": "boolean",
|
|
41
53
|
"required": false,
|
|
42
54
|
"defaultValue": "true",
|
|
43
|
-
"description": "Draw the address ruler. Defaults to `true`."
|
|
55
|
+
"description": "Draw the address ruler. Defaults to `true`.",
|
|
56
|
+
"control": {
|
|
57
|
+
"kind": "boolean"
|
|
58
|
+
}
|
|
44
59
|
},
|
|
45
60
|
{
|
|
46
61
|
"name": "legend",
|
|
47
62
|
"type": "boolean",
|
|
48
63
|
"required": false,
|
|
49
64
|
"defaultValue": "true",
|
|
50
|
-
"description": "Draw the legend row. Defaults to `true`."
|
|
65
|
+
"description": "Draw the legend row. Defaults to `true`.",
|
|
66
|
+
"control": {
|
|
67
|
+
"kind": "boolean"
|
|
68
|
+
}
|
|
51
69
|
},
|
|
52
70
|
{
|
|
53
71
|
"name": "legendMax",
|
|
54
72
|
"type": "number",
|
|
55
73
|
"required": false,
|
|
56
74
|
"defaultValue": "6",
|
|
57
|
-
"description": "Legend entries before the tail collapses. Defaults to `6`."
|
|
75
|
+
"description": "Legend entries before the tail collapses. Defaults to `6`.",
|
|
76
|
+
"control": {
|
|
77
|
+
"kind": "number"
|
|
78
|
+
}
|
|
58
79
|
},
|
|
59
80
|
{
|
|
60
81
|
"name": "onSelect",
|
|
61
82
|
"type": "((allocation: DmxAllocation) => void)",
|
|
62
83
|
"required": false,
|
|
63
84
|
"defaultValue": null,
|
|
64
|
-
"description": "Make the blocks buttons. Without it they are decoration inside one\n`role=\"img\"`, which is what keeps a 40-fixture patch from becoming 40 tab\nstops."
|
|
85
|
+
"description": "Make the blocks buttons. Without it they are decoration inside one\n`role=\"img\"`, which is what keeps a 40-fixture patch from becoming 40 tab\nstops.",
|
|
86
|
+
"control": {
|
|
87
|
+
"kind": "callback",
|
|
88
|
+
"fixture": "callback.log"
|
|
89
|
+
}
|
|
65
90
|
},
|
|
66
91
|
{
|
|
67
92
|
"name": "emptyLabel",
|
|
68
93
|
"type": "string",
|
|
69
94
|
"required": false,
|
|
70
95
|
"defaultValue": "No patch assignments",
|
|
71
|
-
"description": "What to say when nothing is patched. Defaults to `\"No patch assignments\"`."
|
|
96
|
+
"description": "What to say when nothing is patched. Defaults to `\"No patch assignments\"`.",
|
|
97
|
+
"control": {
|
|
98
|
+
"kind": "string"
|
|
99
|
+
}
|
|
72
100
|
}
|
|
73
101
|
],
|
|
74
102
|
"typeReferences": [
|
|
@@ -84,7 +112,6 @@
|
|
|
84
112
|
"--cue-busy",
|
|
85
113
|
"--cue-danger",
|
|
86
114
|
"--cue-danger-soft",
|
|
87
|
-
"--cue-data-ground",
|
|
88
115
|
"--cue-fg-muted",
|
|
89
116
|
"--cue-fg-subtle",
|
|
90
117
|
"--cue-font-mono",
|
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
"type": "string",
|
|
13
13
|
"required": false,
|
|
14
14
|
"defaultValue": "New",
|
|
15
|
-
"description": "What the rule says. `New` by default — one word, because the row is a place\nmarker and not an announcement, and because the sentence a reader wants is\nthe one below the rule."
|
|
15
|
+
"description": "What the rule says. `New` by default — one word, because the row is a place\nmarker and not an announcement, and because the sentence a reader wants is\nthe one below the rule.",
|
|
16
|
+
"control": {
|
|
17
|
+
"kind": "string"
|
|
18
|
+
}
|
|
16
19
|
}
|
|
17
20
|
],
|
|
18
21
|
"typeReferences": [
|