@cueplusplus/ui 0.1.0 → 0.3.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 +705 -0
- package/dist/brand/_chassis.d.ts +54 -0
- package/dist/brand/_chassis.js +81 -0
- package/dist/brand/_geometry.js +41 -0
- package/dist/brand/cue-logotype.d.ts +29 -0
- package/dist/brand/cue-logotype.js +60 -0
- package/dist/brand/cue-mark.d.ts +30 -0
- package/dist/brand/cue-mark.js +61 -0
- package/dist/brand/index.d.ts +5 -0
- package/dist/brand/plussie.d.ts +67 -0
- package/dist/brand/plussie.js +125 -0
- package/dist/chat/agent-pile.js +1 -1
- package/dist/chat/ask-box.js +2 -2
- package/dist/chat/delegation-card.js +1 -1
- package/dist/chat/message.js +2 -2
- package/dist/chrome/_edge-scroller.d.ts +45 -0
- package/dist/chrome/_edge-scroller.js +149 -0
- package/dist/chrome/_glyphs.js +19 -1
- package/dist/chrome/_tabs-scroll.d.ts +13 -8
- package/dist/chrome/_tabs-scroll.js +13 -8
- package/dist/chrome/app-bar.d.ts +103 -0
- package/dist/chrome/app-bar.js +175 -0
- package/dist/chrome/app-shell.d.ts +125 -0
- package/dist/chrome/app-shell.js +167 -0
- package/dist/chrome/footer.d.ts +75 -0
- package/dist/chrome/footer.js +68 -0
- package/dist/chrome/index.d.ts +5 -1
- package/dist/chrome/index.js +4 -1
- package/dist/chrome/navigation-menu.js +1 -1
- package/dist/chrome/page-shell.d.ts +1 -1
- package/dist/chrome/page-shell.js +15 -5
- package/dist/chrome/segmented-control.d.ts +19 -0
- package/dist/chrome/segmented-control.js +40 -21
- package/dist/chrome/tabs.js +21 -65
- package/dist/chrome/toolbar.d.ts +22 -0
- package/dist/chrome/toolbar.js +26 -5
- package/dist/configurator/_overrides.js +22 -8
- package/dist/configurator/configurator.js +1 -1
- package/dist/configurator/panel-sections.js +10 -4
- package/dist/dmx/channel-matrix.js +1 -1
- package/dist/forms/otp-field.js +1 -1
- package/dist/index.d.ts +18 -9
- package/dist/index.js +16 -10
- package/dist/instruments/data-table.js +1 -1
- package/dist/instruments/index.d.ts +2 -2
- package/dist/instruments/index.js +2 -2
- package/dist/instruments/table.d.ts +14 -1
- package/dist/instruments/table.js +20 -1
- package/dist/layout/carousel.js +1 -1
- package/dist/layout/container.d.ts +1 -1
- package/dist/layout/container.js +6 -3
- package/dist/layout/index.d.ts +3 -3
- package/dist/layout/index.js +3 -3
- package/dist/layout/pagination.js +1 -1
- package/dist/layout/sidebar.d.ts +23 -3
- package/dist/layout/sidebar.js +18 -7
- package/dist/midi/spectrum-visualizer.js +1 -1
- package/dist/midi/timeline-ruler.js +1 -1
- package/dist/overlays/command-palette.js +1 -1
- package/dist/overlays/dialog.js +1 -1
- package/dist/overlays/dropdown-menu.js +2 -2
- package/dist/overlays/hover-card.js +1 -1
- package/dist/overlays/index.js +1 -1
- package/dist/overlays/popover.js +1 -1
- package/dist/overlays/sheet.js +1 -1
- package/dist/overlays/toast.js +1 -1
- package/dist/primitives/chip.d.ts +1 -1
- package/dist/primitives/index.d.ts +1 -1
- package/dist/primitives/index.js +1 -1
- package/dist/primitives/status-dot.d.ts +7 -0
- package/dist/primitives/status-dot.js +8 -1
- package/dist/styles.css +58 -2
- package/dist/system/density.d.ts +4 -1
- package/dist/system/density.js +12 -4
- package/dist/system/index.d.ts +4 -4
- package/dist/system/portal.d.ts +5 -5
- package/dist/system/portal.js +30 -11
- package/dist/system/prepaint.d.ts +34 -9
- package/dist/system/prepaint.js +48 -25
- package/dist/system/theme-provider.d.ts +48 -11
- package/dist/system/theme-provider.js +109 -35
- package/dist/system/use-density.d.ts +3 -3
- package/dist/system/use-density.js +16 -6
- package/dist/system/use-theme.d.ts +4 -2
- package/dist/system/use-theme.js +4 -2
- package/dist/theming/_presets.js +133 -5
- package/dist/theming/create-theme.d.ts +2 -2
- package/dist/theming/create-theme.js +37 -19
- package/dist/theming/serialize.d.ts +1 -1
- package/dist/theming/serialize.js +25 -1
- package/manifest/components/accordion.json +154 -0
- package/manifest/components/agent-pile.json +116 -0
- package/manifest/components/alert-dialog.json +190 -0
- package/manifest/components/app-bar.json +244 -0
- package/manifest/components/app-shell.json +291 -0
- package/manifest/components/app-window-frame.json +102 -0
- package/manifest/components/ask-box.json +209 -0
- package/manifest/components/autocomplete.json +197 -0
- package/manifest/components/avatar-group.json +72 -0
- package/manifest/components/avatar.json +95 -0
- package/manifest/components/breadcrumb.json +74 -0
- package/manifest/components/button-group.json +74 -0
- package/manifest/components/button.json +125 -0
- package/manifest/components/calendar.json +65 -0
- package/manifest/components/card.json +140 -0
- package/manifest/components/carousel.json +200 -0
- package/manifest/components/channel-matrix.json +173 -0
- package/manifest/components/chart-container.json +111 -0
- package/manifest/components/chart-ramp.json +72 -0
- package/manifest/components/chart-swatch.json +65 -0
- package/manifest/components/chart-tooltip-content.json +114 -0
- package/manifest/components/checkbox-group.json +68 -0
- package/manifest/components/checkbox.json +93 -0
- package/manifest/components/chip.json +132 -0
- package/manifest/components/collapsible.json +120 -0
- package/manifest/components/color-area.json +59 -0
- package/manifest/components/color-field.json +79 -0
- package/manifest/components/color-picker.json +175 -0
- package/manifest/components/color-slider.json +75 -0
- package/manifest/components/color-swatch.json +68 -0
- package/manifest/components/colors-section.json +66 -0
- package/manifest/components/combobox.json +198 -0
- package/manifest/components/command-palette.json +177 -0
- package/manifest/components/composer.json +176 -0
- package/manifest/components/container.json +60 -0
- package/manifest/components/context-menu.json +121 -0
- package/manifest/components/copy-button.json +93 -0
- package/manifest/components/cue-logotype.json +96 -0
- package/manifest/components/cue-mark.json +97 -0
- package/manifest/components/cue-portal-frame.json +55 -0
- package/manifest/components/data-table-pagination.json +83 -0
- package/manifest/components/data-table-toolbar.json +104 -0
- package/manifest/components/date-field.json +80 -0
- package/manifest/components/date-picker.json +191 -0
- package/manifest/components/date-range-picker.json +191 -0
- package/manifest/components/delegation-card.json +144 -0
- package/manifest/components/density.json +58 -0
- package/manifest/components/description-list.json +84 -0
- package/manifest/components/dialog.json +198 -0
- package/manifest/components/disclosure.json +109 -0
- package/manifest/components/dmx-bar.json +94 -0
- package/manifest/components/dmx-strip.json +101 -0
- package/manifest/components/drawer.json +179 -0
- package/manifest/components/dropdown-menu.json +229 -0
- package/manifest/components/empty-state.json +90 -0
- package/manifest/components/env-var-input.json +150 -0
- package/manifest/components/export-dialog.json +84 -0
- package/manifest/components/eyebrow.json +56 -0
- package/manifest/components/field-description.json +63 -0
- package/manifest/components/field-error.json +77 -0
- package/manifest/components/field-label.json +63 -0
- package/manifest/components/field.json +79 -0
- package/manifest/components/file-upload.json +159 -0
- package/manifest/components/flow-background.json +50 -0
- package/manifest/components/flow-controls.json +50 -0
- package/manifest/components/footer.json +112 -0
- package/manifest/components/grid.json +81 -0
- package/manifest/components/group-bar.json +102 -0
- package/manifest/components/hover-card.json +151 -0
- package/manifest/components/icon-button.json +88 -0
- package/manifest/components/info-tip.json +98 -0
- package/manifest/components/input-group.json +91 -0
- package/manifest/components/input.json +89 -0
- package/manifest/components/item.json +129 -0
- package/manifest/components/kbd.json +52 -0
- package/manifest/components/link.json +81 -0
- package/manifest/components/log-viewer.json +139 -0
- package/manifest/components/menubar.json +157 -0
- package/manifest/components/message-list.json +100 -0
- package/manifest/components/message.json +116 -0
- package/manifest/components/meter.json +114 -0
- package/manifest/components/multi-select.json +190 -0
- package/manifest/components/musical-time-input.json +113 -0
- package/manifest/components/navigation-menu.json +226 -0
- package/manifest/components/node-card.json +109 -0
- package/manifest/components/node-handle.json +69 -0
- package/manifest/components/number-field.json +107 -0
- package/manifest/components/otp-field.json +128 -0
- package/manifest/components/page-shell.json +96 -0
- package/manifest/components/pagination.json +92 -0
- package/manifest/components/panel-header.json +77 -0
- package/manifest/components/panel.json +71 -0
- package/manifest/components/password-input.json +119 -0
- package/manifest/components/piano-keyboard.json +120 -0
- package/manifest/components/plussie.json +111 -0
- package/manifest/components/popover.json +193 -0
- package/manifest/components/preset-section.json +73 -0
- package/manifest/components/progress.json +95 -0
- package/manifest/components/radio-group.json +73 -0
- package/manifest/components/radio.json +80 -0
- package/manifest/components/rating.json +141 -0
- package/manifest/components/resizable.json +88 -0
- package/manifest/components/row.json +109 -0
- package/manifest/components/scroll-area.json +91 -0
- package/manifest/components/scrollable-tabs-list.json +83 -0
- package/manifest/components/scrub-input.json +200 -0
- package/manifest/components/seam-cell.json +75 -0
- package/manifest/components/seam-grid.json +75 -0
- package/manifest/components/seam-list.json +56 -0
- package/manifest/components/search-input.json +134 -0
- package/manifest/components/section-header.json +112 -0
- package/manifest/components/segmented-control.json +138 -0
- package/manifest/components/select.json +194 -0
- package/manifest/components/separator.json +53 -0
- package/manifest/components/shape-section.json +66 -0
- package/manifest/components/sheet.json +186 -0
- package/manifest/components/sidebar.json +198 -0
- package/manifest/components/signal-edge.json +56 -0
- package/manifest/components/skeleton.json +46 -0
- package/manifest/components/slider.json +89 -0
- package/manifest/components/sparkline.json +76 -0
- package/manifest/components/spectrum-visualizer.json +115 -0
- package/manifest/components/spinner.json +61 -0
- package/manifest/components/stack.json +96 -0
- package/manifest/components/stat.json +87 -0
- package/manifest/components/status-bar.json +58 -0
- package/manifest/components/status-dot.json +78 -0
- package/manifest/components/stepper.json +89 -0
- package/manifest/components/switch.json +87 -0
- package/manifest/components/table-scroll-region.json +69 -0
- package/manifest/components/table.json +155 -0
- package/manifest/components/tabs.json +145 -0
- package/manifest/components/tags-input.json +190 -0
- package/manifest/components/terminal-frame.json +119 -0
- package/manifest/components/textarea.json +76 -0
- package/manifest/components/theme-configurator.json +124 -0
- package/manifest/components/theme-provider.json +134 -0
- package/manifest/components/threshold-rail.json +160 -0
- package/manifest/components/time-field.json +80 -0
- package/manifest/components/timeline-ruler.json +139 -0
- package/manifest/components/timeline.json +115 -0
- package/manifest/components/title-bar.json +82 -0
- package/manifest/components/toast.json +130 -0
- package/manifest/components/toggle-group.json +106 -0
- package/manifest/components/toggle.json +109 -0
- package/manifest/components/token-editor.json +90 -0
- package/manifest/components/toolbar.json +163 -0
- package/manifest/components/tooltip.json +164 -0
- package/manifest/components/tree-visibility-toggle.json +84 -0
- package/manifest/components/tree.json +140 -0
- package/manifest/components/two-step-button.json +113 -0
- package/manifest/components/universe-grid.json +127 -0
- package/manifest/components/usage-chart.json +124 -0
- package/manifest/manifest.json +2142 -0
- package/manifest/tokens.json +138 -0
- package/package.json +13 -5
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Collapsible",
|
|
3
|
+
"slug": "collapsible",
|
|
4
|
+
"group": "layout",
|
|
5
|
+
"importPath": "@cueplusplus/ui",
|
|
6
|
+
"peerDependencies": [],
|
|
7
|
+
"clientOnly": true,
|
|
8
|
+
"description": "One section that opens and closes — an accordion of exactly one.\n\nWraps Base UI's `Collapsible` and wears the same summary-row skin as\n`Accordion`, so a lone section and a stack of them are visibly the same\ncomponent.",
|
|
9
|
+
"props": [],
|
|
10
|
+
"typeReferences": [],
|
|
11
|
+
"subcomponents": [
|
|
12
|
+
"Root",
|
|
13
|
+
"Trigger",
|
|
14
|
+
"Panel"
|
|
15
|
+
],
|
|
16
|
+
"parts": [
|
|
17
|
+
{
|
|
18
|
+
"name": "Root",
|
|
19
|
+
"usage": "Collapsible.Root",
|
|
20
|
+
"description": "Groups a trigger with its panel and owns the open state.",
|
|
21
|
+
"props": [
|
|
22
|
+
{
|
|
23
|
+
"name": "className",
|
|
24
|
+
"type": "string",
|
|
25
|
+
"required": false,
|
|
26
|
+
"defaultValue": null,
|
|
27
|
+
"description": "Extra classes for the frame."
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"typeReferences": [
|
|
31
|
+
"Omit<BaseCollapsible.Root.Props, \"className\">"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "Trigger",
|
|
36
|
+
"usage": "Collapsible.Trigger",
|
|
37
|
+
"description": "The summary row that opens the panel — the same recipe as `Accordion.Trigger`.",
|
|
38
|
+
"props": [
|
|
39
|
+
{
|
|
40
|
+
"name": "className",
|
|
41
|
+
"type": "string",
|
|
42
|
+
"required": false,
|
|
43
|
+
"defaultValue": null,
|
|
44
|
+
"description": "Extra classes for the summary row."
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"typeReferences": [
|
|
48
|
+
"Omit<BaseCollapsible.Trigger.Props, \"className\">"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "Panel",
|
|
53
|
+
"usage": "Collapsible.Panel",
|
|
54
|
+
"description": "The body. Height animates from `--collapsible-panel-height`; see `Accordion.Panel`.",
|
|
55
|
+
"props": [
|
|
56
|
+
{
|
|
57
|
+
"name": "className",
|
|
58
|
+
"type": "string",
|
|
59
|
+
"required": false,
|
|
60
|
+
"defaultValue": null,
|
|
61
|
+
"description": "Extra classes for the animating box. Padding belongs on `bodyClassName`."
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "bodyClassName",
|
|
65
|
+
"type": "string",
|
|
66
|
+
"required": false,
|
|
67
|
+
"defaultValue": null,
|
|
68
|
+
"description": "Extra classes for the padded body inside it."
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"typeReferences": [
|
|
72
|
+
"Omit<BaseCollapsible.Panel.Props, \"className\">"
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"variants": {},
|
|
77
|
+
"defaultVariants": {},
|
|
78
|
+
"tokensUsed": [
|
|
79
|
+
"--cue-accent",
|
|
80
|
+
"--cue-control-md",
|
|
81
|
+
"--cue-fg",
|
|
82
|
+
"--cue-fg-muted",
|
|
83
|
+
"--cue-fg-subtle",
|
|
84
|
+
"--cue-font-mono",
|
|
85
|
+
"--cue-icon-sm",
|
|
86
|
+
"--cue-pad-row-x",
|
|
87
|
+
"--cue-space-1",
|
|
88
|
+
"--cue-space-2",
|
|
89
|
+
"--cue-space-3",
|
|
90
|
+
"--cue-space-4",
|
|
91
|
+
"--cue-text-label",
|
|
92
|
+
"--cue-text-micro",
|
|
93
|
+
"--cue-text-ui"
|
|
94
|
+
],
|
|
95
|
+
"summary": "One section that opens and closes — an accordion of exactly one.",
|
|
96
|
+
"examples": [
|
|
97
|
+
{
|
|
98
|
+
"title": "Usage",
|
|
99
|
+
"code": "<Collapsible.Root defaultOpen>\n <Collapsible.Trigger>failover</Collapsible.Trigger>\n <Collapsible.Panel>…</Collapsible.Panel>\n</Collapsible.Root>",
|
|
100
|
+
"language": "tsx"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"status": "todo-docs",
|
|
104
|
+
"url": "/docs/components/collapsible",
|
|
105
|
+
"mdUrl": "/docs/components/collapsible.md",
|
|
106
|
+
"jsonUrl": "/r/components/collapsible.json",
|
|
107
|
+
"specimens": [
|
|
108
|
+
{
|
|
109
|
+
"title": "Collapsible",
|
|
110
|
+
"group": "layout",
|
|
111
|
+
"components": [
|
|
112
|
+
"Collapsible"
|
|
113
|
+
],
|
|
114
|
+
"code": "<Collapsible.Root className=\"w-full max-w-[36rem]\">\n <Collapsible.Trigger>Show output routing</Collapsible.Trigger>\n <Collapsible.Panel>\n Art-Net to 10.0.0.42, universes 1 to 4, 44 Hz.\n </Collapsible.Panel>\n</Collapsible.Root>",
|
|
115
|
+
"note": "One panel, one trigger, no grouping rules.",
|
|
116
|
+
"interaction": "same height animation as the accordion panel."
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"todo": true
|
|
120
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ColorArea",
|
|
3
|
+
"slug": "color-area",
|
|
4
|
+
"group": "color",
|
|
5
|
+
"importPath": "@cueplusplus/ui/color",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"react-aria-components"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "The two-axis colour field — saturation against brightness, by default.\n\nWraps React Aria's `ColorArea`, so the pointer maths, the two hidden range\ninputs that make it keyboard- and screen-reader-operable, and the gradient\nbackground are the library's. This layer adds the rim, the radius and the\nshared thumb.\n\nString values may be written in any notation this suite reads, `oklch()`\nincluded — React Aria only parses sRGB, so they are converted on the way in.\n\n`react-aria-components` is an **optional peer**: import this from\n`@cueplusplus/ui/color`.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "thumbClassName",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": false,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Extra classes for the thumb."
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"typeReferences": [
|
|
21
|
+
"Omit<AriaColorAreaProps, \"children\">"
|
|
22
|
+
],
|
|
23
|
+
"subcomponents": [],
|
|
24
|
+
"parts": [],
|
|
25
|
+
"variants": {},
|
|
26
|
+
"defaultVariants": {},
|
|
27
|
+
"tokensUsed": [
|
|
28
|
+
"--cue-accent",
|
|
29
|
+
"--cue-bg",
|
|
30
|
+
"--cue-border",
|
|
31
|
+
"--cue-fg",
|
|
32
|
+
"--cue-radius-control"
|
|
33
|
+
],
|
|
34
|
+
"summary": "The two-axis colour field — saturation against brightness, by default.",
|
|
35
|
+
"examples": [
|
|
36
|
+
{
|
|
37
|
+
"title": "Usage",
|
|
38
|
+
"code": "<ColorArea aria-label=\"Saturation and brightness\" value={color} onChange={setColor} />",
|
|
39
|
+
"language": "tsx"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"status": "todo-docs",
|
|
43
|
+
"url": "/docs/components/color-area",
|
|
44
|
+
"mdUrl": "/docs/components/color-area.md",
|
|
45
|
+
"jsonUrl": "/r/components/color-area.json",
|
|
46
|
+
"specimens": [
|
|
47
|
+
{
|
|
48
|
+
"title": "ColorArea",
|
|
49
|
+
"group": "color",
|
|
50
|
+
"components": [
|
|
51
|
+
"ColorArea"
|
|
52
|
+
],
|
|
53
|
+
"code": "<Specimens>\n <Specimen label=\"default\">\n <ColorArea defaultValue=\"#ff6a2e\" aria-label=\"Accent saturation and brightness\" />\n </Specimen>\n <Specimen label=\"disabled\">\n <ColorArea defaultValue=\"#3ecf8e\" isDisabled aria-label=\"Locked colour\" />\n </Specimen>\n</Specimens>",
|
|
54
|
+
"note": "The two-axis plane. Saturation across, brightness down, with a thumb that reports both.",
|
|
55
|
+
"interaction": "arrow keys move one axis at a time; the thumb keeps a ring in the background colour so it stays visible on any hue."
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"todo": true
|
|
59
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ColorField",
|
|
3
|
+
"slug": "color-field",
|
|
4
|
+
"group": "color",
|
|
5
|
+
"importPath": "@cueplusplus/ui/color",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"react-aria-components"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "A typed colour value — the whole colour as hex, or one channel as a number.\n\nWraps React Aria's `ColorField`, so parsing, arrow-key stepping and the\ncommit-on-blur behaviour are the library's; the input rides the same recessed\nchassis as every other text control.\n\nReact Aria only parses sRGB notations, so it edits **hex**. For a field that\nalso accepts `oklch()` — the notation this system's tokens are authored in —\nuse `ColorPicker`, which owns the conversion.\n\n`react-aria-components` is an **optional peer**: import this from\n`@cueplusplus/ui/color`.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "size",
|
|
14
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
15
|
+
"required": false,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Rung of the control ladder. Defaults to `\"md\"`."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "inputClassName",
|
|
21
|
+
"type": "ClassNameOrFunction<InputRenderProps>",
|
|
22
|
+
"required": false,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Extra classes for the input itself."
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"typeReferences": [
|
|
28
|
+
"Omit<AriaColorFieldProps, \"children\">"
|
|
29
|
+
],
|
|
30
|
+
"subcomponents": [],
|
|
31
|
+
"parts": [],
|
|
32
|
+
"variants": {},
|
|
33
|
+
"defaultVariants": {},
|
|
34
|
+
"tokensUsed": [
|
|
35
|
+
"--cue-accent",
|
|
36
|
+
"--cue-border",
|
|
37
|
+
"--cue-control-lg",
|
|
38
|
+
"--cue-control-md",
|
|
39
|
+
"--cue-control-sm",
|
|
40
|
+
"--cue-danger",
|
|
41
|
+
"--cue-fg",
|
|
42
|
+
"--cue-fg-subtle",
|
|
43
|
+
"--cue-font-mono",
|
|
44
|
+
"--cue-radius-control",
|
|
45
|
+
"--cue-space-1",
|
|
46
|
+
"--cue-space-3",
|
|
47
|
+
"--cue-space-4",
|
|
48
|
+
"--cue-space-5",
|
|
49
|
+
"--cue-sunken",
|
|
50
|
+
"--cue-text-body",
|
|
51
|
+
"--cue-text-label",
|
|
52
|
+
"--cue-text-ui"
|
|
53
|
+
],
|
|
54
|
+
"summary": "A typed colour value — the whole colour as hex, or one channel as a number.",
|
|
55
|
+
"examples": [
|
|
56
|
+
{
|
|
57
|
+
"title": "Usage",
|
|
58
|
+
"code": "<ColorField aria-label=\"Accent\" value={color} onChange={setColor} />\n<ColorField aria-label=\"Red\" channel=\"red\" colorSpace=\"rgb\" size=\"sm\" />",
|
|
59
|
+
"language": "tsx"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"status": "todo-docs",
|
|
63
|
+
"url": "/docs/components/color-field",
|
|
64
|
+
"mdUrl": "/docs/components/color-field.md",
|
|
65
|
+
"jsonUrl": "/r/components/color-field.json",
|
|
66
|
+
"specimens": [
|
|
67
|
+
{
|
|
68
|
+
"title": "ColorField",
|
|
69
|
+
"group": "color",
|
|
70
|
+
"components": [
|
|
71
|
+
"ColorField"
|
|
72
|
+
],
|
|
73
|
+
"code": "<div className=\"grid w-full gap-(--cue-space-5) lg:grid-cols-3\">\n <Field name=\"accent\">\n <FieldLabel>Accent</FieldLabel>\n <ColorField aria-label=\"Accent hex\" defaultValue=\"#ff6a2e\" />\n <FieldDescription>Hex, with or without the hash.</FieldDescription>\n </Field>\n <ColorField aria-label=\"Accent, small\" size=\"sm\" defaultValue=\"#3ecf8e\" />\n <ColorField aria-label=\"Accent, disabled\" isDisabled defaultValue=\"#5b8def\" />\n</div>",
|
|
74
|
+
"note": "The text half of the suite, on the form chassis. Invalid input is rejected rather than silently coerced.",
|
|
75
|
+
"interaction": "same rim and ring as Input; arrow keys step the channel under the caret."
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"todo": true
|
|
79
|
+
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ColorPicker",
|
|
3
|
+
"slug": "color-picker",
|
|
4
|
+
"group": "color",
|
|
5
|
+
"importPath": "@cueplusplus/ui/color",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"react-aria-components"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "A colour, edited in a popover: two-axis area, hue rail, optional alpha rail,\na text field that speaks hex *and* oklch, and an eyedropper where the browser\nhas one.\n\nComposed from the React Aria colour parts rather than wrapping a single\nprimitive, because no primitive owns the combination. Two decisions are this\ncomponent's own:\n\n- **Notation in, notation out.** React Aria only parses sRGB; this system's\n tokens are authored in `oklch()`. The picker converts on both edges\n (culori), and writes back in the notation it was given unless `format` says\n otherwise. This is what makes it usable as the theme configurator's editor.\n- **Hue survives black.** The working colour is held as HSB and only re-read\n from the incoming string when that string changes for some *other* reason,\n so dragging the area down to black and back does not reset the hue — the\n defect every naive \"derive state from the value\" picker has.\n\n`react-aria-components` is an **optional peer**: import this from\n`@cueplusplus/ui/color`.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "value",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": false,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "The colour, in any notation this suite reads. Use with `onValueChange`."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "defaultValue",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": false,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Initial colour for an uncontrolled picker. Defaults to `\"#000000\"`."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "onValueChange",
|
|
28
|
+
"type": "((value: string) => void)",
|
|
29
|
+
"required": false,
|
|
30
|
+
"defaultValue": null,
|
|
31
|
+
"description": "Called with the new colour, written in the picker's output notation."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "format",
|
|
35
|
+
"type": "\"hex\" | \"oklch\"",
|
|
36
|
+
"required": false,
|
|
37
|
+
"defaultValue": null,
|
|
38
|
+
"description": "Notation to write back. Defaults to the notation the current value arrived\nin — hand it an `oklch()` token and you get `oklch()` back, so editing a\ntheme file never silently rewrites it into hex."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "alpha",
|
|
42
|
+
"type": "boolean",
|
|
43
|
+
"required": false,
|
|
44
|
+
"defaultValue": "false",
|
|
45
|
+
"description": "Show the alpha rail and keep alpha in the output. Defaults to `false`."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "label",
|
|
49
|
+
"type": "string",
|
|
50
|
+
"required": false,
|
|
51
|
+
"defaultValue": "Color",
|
|
52
|
+
"description": "Accessible name for the trigger. Defaults to `\"Color\"`."
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "size",
|
|
56
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
57
|
+
"required": false,
|
|
58
|
+
"defaultValue": null,
|
|
59
|
+
"description": "Rung of the control ladder. Defaults to `\"md\"`."
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "disabled",
|
|
63
|
+
"type": "boolean",
|
|
64
|
+
"required": false,
|
|
65
|
+
"defaultValue": null,
|
|
66
|
+
"description": "Prevent opening and grey the trigger out."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "showValue",
|
|
70
|
+
"type": "boolean",
|
|
71
|
+
"required": false,
|
|
72
|
+
"defaultValue": "true",
|
|
73
|
+
"description": "Print the value beside the swatch on the trigger. Defaults to `true`."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "name",
|
|
77
|
+
"type": "string",
|
|
78
|
+
"required": false,
|
|
79
|
+
"defaultValue": null,
|
|
80
|
+
"description": "Name for the hidden input, when the picker is part of a form."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "id",
|
|
84
|
+
"type": "string",
|
|
85
|
+
"required": false,
|
|
86
|
+
"defaultValue": null,
|
|
87
|
+
"description": "Id forwarded to the trigger."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "className",
|
|
91
|
+
"type": "string",
|
|
92
|
+
"required": false,
|
|
93
|
+
"defaultValue": null,
|
|
94
|
+
"description": "Extra classes for the trigger."
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "popupClassName",
|
|
98
|
+
"type": "string",
|
|
99
|
+
"required": false,
|
|
100
|
+
"defaultValue": null,
|
|
101
|
+
"description": "Extra classes for the popup surface."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "open",
|
|
105
|
+
"type": "boolean",
|
|
106
|
+
"required": false,
|
|
107
|
+
"defaultValue": null,
|
|
108
|
+
"description": "Open state, for a controlled popover."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "defaultOpen",
|
|
112
|
+
"type": "boolean",
|
|
113
|
+
"required": false,
|
|
114
|
+
"defaultValue": null,
|
|
115
|
+
"description": "Initial open state."
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "onOpenChange",
|
|
119
|
+
"type": "((open: boolean) => void)",
|
|
120
|
+
"required": false,
|
|
121
|
+
"defaultValue": null,
|
|
122
|
+
"description": "Called when the popover opens or closes."
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"typeReferences": [],
|
|
126
|
+
"subcomponents": [],
|
|
127
|
+
"parts": [],
|
|
128
|
+
"variants": {},
|
|
129
|
+
"defaultVariants": {},
|
|
130
|
+
"tokensUsed": [
|
|
131
|
+
"--cue-accent",
|
|
132
|
+
"--cue-border",
|
|
133
|
+
"--cue-control-lg",
|
|
134
|
+
"--cue-control-md",
|
|
135
|
+
"--cue-control-sm",
|
|
136
|
+
"--cue-danger",
|
|
137
|
+
"--cue-fg",
|
|
138
|
+
"--cue-fg-subtle",
|
|
139
|
+
"--cue-font-mono",
|
|
140
|
+
"--cue-radius-control",
|
|
141
|
+
"--cue-space-2",
|
|
142
|
+
"--cue-space-3",
|
|
143
|
+
"--cue-space-4",
|
|
144
|
+
"--cue-space-5",
|
|
145
|
+
"--cue-sunken",
|
|
146
|
+
"--cue-text-body",
|
|
147
|
+
"--cue-text-label",
|
|
148
|
+
"--cue-text-ui"
|
|
149
|
+
],
|
|
150
|
+
"summary": "A colour, edited in a popover: two-axis area, hue rail, optional alpha rail, a text field that speaks hex *and* oklch, and an eyedropper where the browser has one.",
|
|
151
|
+
"examples": [
|
|
152
|
+
{
|
|
153
|
+
"title": "Usage",
|
|
154
|
+
"code": "<ColorPicker label=\"Accent\" value={accent} onValueChange={setAccent} />\n<ColorPicker label=\"Scrim\" value=\"oklch(0.2 0 0 / 0.55)\" alpha format=\"oklch\" />",
|
|
155
|
+
"language": "tsx"
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"status": "todo-docs",
|
|
159
|
+
"url": "/docs/components/color-picker",
|
|
160
|
+
"mdUrl": "/docs/components/color-picker.md",
|
|
161
|
+
"jsonUrl": "/r/components/color-picker.json",
|
|
162
|
+
"specimens": [
|
|
163
|
+
{
|
|
164
|
+
"title": "ColorPicker",
|
|
165
|
+
"group": "color",
|
|
166
|
+
"components": [
|
|
167
|
+
"ColorPicker"
|
|
168
|
+
],
|
|
169
|
+
"code": "<Specimens>\n <Specimen label=\"hex\">\n <ColorPicker label=\"Accent\" value={hex} onValueChange={setHex} showValue />\n </Specimen>\n <Specimen label=\"oklch\">\n <ColorPicker\n label=\"Accent, oklch\"\n format=\"oklch\"\n value={oklch}\n onValueChange={setOklch}\n showValue\n />\n </Specimen>\n <Specimen label=\"with alpha\">\n <ColorPicker label=\"Scrim\" defaultValue=\"#0000008c\" alpha showValue />\n </Specimen>\n <Specimen label=\"sm\">\n <ColorPicker label=\"Accent, small\" defaultValue=\"#3ecf8e\" size=\"sm\" />\n </Specimen>\n <Specimen label=\"disabled\">\n <ColorPicker label=\"Accent, locked\" defaultValue=\"#5b8def\" disabled />\n </Specimen>\n</Specimens>\n<Panel>\n <PanelHeader title=\"Round trip\" />\n <Row>\n <span className=\"w-[8rem] shrink-0 font-mono text-fg-muted\">hex in</span>\n <span className=\"flex-1 font-mono\">{hex}</span>\n <span className=\"font-mono text-fg-muted\">\n {formatColorString(hex, \"oklch\") ?? \"unparsed\"}\n </span>\n </Row>\n <Row>\n <span className=\"w-[8rem] shrink-0 font-mono text-fg-muted\">oklch in</span>\n <span className=\"flex-1 font-mono\">{oklch}</span>\n <span className=\"font-mono text-fg-muted\">\n {formatColorString(oklch, \"hex\") ?? \"unparsed\"}\n </span>\n </Row>\n</Panel>",
|
|
170
|
+
"note": "Swatch, popover, area, hue slider and a text field, in one control. Reads and writes hex or oklch, so a token authored in oklch survives a round trip unchanged.",
|
|
171
|
+
"interaction": "the swatch is the trigger; inside the popup, the area takes both arrow axes and the slider takes one."
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"todo": true
|
|
175
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ColorSlider",
|
|
3
|
+
"slug": "color-slider",
|
|
4
|
+
"group": "color",
|
|
5
|
+
"importPath": "@cueplusplus/ui/color",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"react-aria-components"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "One channel of a colour, as a rail: hue, alpha, lightness, a single RGB\nchannel.\n\nWraps React Aria's `ColorSlider`, which paints the channel's gradient and\nowns the keyboard and pointer behaviour. The alpha channel gets the\ntransparency checkerboard — without it, \"half transparent\" and \"half grey\"\nare the same picture. It goes on the frame rather than the track because\nReact Aria writes the gradient into the track's inline `background`, which\nwould paint straight over a checkerboard set by a class.\n\n`react-aria-components` is an **optional peer**: import this from\n`@cueplusplus/ui/color`.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "frameClassName",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": false,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "Extra classes for the frame around the track."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "trackClassName",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": false,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Extra classes for the gradient track."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "thumbClassName",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"required": false,
|
|
30
|
+
"defaultValue": null,
|
|
31
|
+
"description": "Extra classes for the thumb."
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"typeReferences": [
|
|
35
|
+
"Omit<AriaColorSliderProps, \"children\">"
|
|
36
|
+
],
|
|
37
|
+
"subcomponents": [],
|
|
38
|
+
"parts": [],
|
|
39
|
+
"variants": {},
|
|
40
|
+
"defaultVariants": {},
|
|
41
|
+
"tokensUsed": [
|
|
42
|
+
"--cue-accent",
|
|
43
|
+
"--cue-bg",
|
|
44
|
+
"--cue-border",
|
|
45
|
+
"--cue-fg",
|
|
46
|
+
"--cue-icon-sm",
|
|
47
|
+
"--cue-surface-1",
|
|
48
|
+
"--cue-surface-3"
|
|
49
|
+
],
|
|
50
|
+
"summary": "One channel of a colour, as a rail: hue, alpha, lightness, a single RGB channel.",
|
|
51
|
+
"examples": [
|
|
52
|
+
{
|
|
53
|
+
"title": "Usage",
|
|
54
|
+
"code": "<ColorSlider aria-label=\"Hue\" channel=\"hue\" value={color} onChange={setColor} />",
|
|
55
|
+
"language": "tsx"
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"status": "todo-docs",
|
|
59
|
+
"url": "/docs/components/color-slider",
|
|
60
|
+
"mdUrl": "/docs/components/color-slider.md",
|
|
61
|
+
"jsonUrl": "/r/components/color-slider.json",
|
|
62
|
+
"specimens": [
|
|
63
|
+
{
|
|
64
|
+
"title": "ColorSlider",
|
|
65
|
+
"group": "color",
|
|
66
|
+
"components": [
|
|
67
|
+
"ColorSlider"
|
|
68
|
+
],
|
|
69
|
+
"code": "<div className=\"flex w-full max-w-[24rem] flex-col gap-(--cue-space-4)\">\n <ColorSlider channel=\"hue\" defaultValue=\"hsl(24, 100%, 59%)\" aria-label=\"Hue\" />\n <ColorSlider\n channel=\"saturation\"\n colorSpace=\"hsl\"\n defaultValue=\"hsl(24, 100%, 59%)\"\n aria-label=\"Saturation\"\n />\n <ColorSlider channel=\"alpha\" defaultValue=\"#ff6a2e\" aria-label=\"Alpha\" />\n</div>",
|
|
70
|
+
"note": "One channel at a time. The track paints the gradient for the channel it controls.",
|
|
71
|
+
"interaction": "arrow keys step, Home and End jump to the channel bounds; the value is spoken as a colour, not a number."
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"todo": true
|
|
75
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ColorSwatch",
|
|
3
|
+
"slug": "color-swatch",
|
|
4
|
+
"group": "color",
|
|
5
|
+
"importPath": "@cueplusplus/ui/color",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"react-aria-components"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "A colour, shown as a chip.\n\nTwo elements rather than one: the frame carries the rim, the radius and the\ntransparency checkerboard, and React Aria's `ColorSwatch` paints the colour\non top of it. One element cannot do both — the library writes the colour into\nthe inline `background-color`, which paints *behind* a background image, so a\ncheckerboard set on the same element would cover the colour instead of\nbacking it.\n\nTakes any notation this suite reads, `oklch()` included.\n\n`react-aria-components` is an **optional peer**: import this from\n`@cueplusplus/ui/color`.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "size",
|
|
14
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
15
|
+
"required": false,
|
|
16
|
+
"defaultValue": "md",
|
|
17
|
+
"description": "Rung of the icon ladder. Defaults to `\"md\"`."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "className",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": false,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Extra classes for the frame."
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"typeReferences": [
|
|
28
|
+
"Omit<AriaColorSwatchProps, \"className\">"
|
|
29
|
+
],
|
|
30
|
+
"subcomponents": [],
|
|
31
|
+
"parts": [],
|
|
32
|
+
"variants": {},
|
|
33
|
+
"defaultVariants": {},
|
|
34
|
+
"tokensUsed": [
|
|
35
|
+
"--cue-border",
|
|
36
|
+
"--cue-control-sm",
|
|
37
|
+
"--cue-icon-md",
|
|
38
|
+
"--cue-icon-sm",
|
|
39
|
+
"--cue-radius-control",
|
|
40
|
+
"--cue-surface-1",
|
|
41
|
+
"--cue-surface-3"
|
|
42
|
+
],
|
|
43
|
+
"summary": "A colour, shown as a chip.",
|
|
44
|
+
"examples": [
|
|
45
|
+
{
|
|
46
|
+
"title": "Usage",
|
|
47
|
+
"code": "<ColorSwatch color=\"oklch(0.7 0.15 30)\" />",
|
|
48
|
+
"language": "tsx"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"status": "todo-docs",
|
|
52
|
+
"url": "/docs/components/color-swatch",
|
|
53
|
+
"mdUrl": "/docs/components/color-swatch.md",
|
|
54
|
+
"jsonUrl": "/r/components/color-swatch.json",
|
|
55
|
+
"specimens": [
|
|
56
|
+
{
|
|
57
|
+
"title": "ColorSwatch",
|
|
58
|
+
"group": "color",
|
|
59
|
+
"components": [
|
|
60
|
+
"ColorSwatch"
|
|
61
|
+
],
|
|
62
|
+
"code": "<Specimens>\n {SWATCHES.map((swatch) => (\n <Specimen key={swatch.label} label={swatch.label}>\n <ColorSwatch color={swatch.value} />\n </Specimen>\n ))}\n <Specimen label=\"sm\">\n <ColorSwatch color=\"#ff6a2e\" size=\"sm\" />\n </Specimen>\n <Specimen label=\"lg\">\n <ColorSwatch color=\"#ff6a2e\" size=\"lg\" />\n </Specimen>\n <Specimen label=\"translucent\">\n <ColorSwatch color=\"#ff6a2e66\" size=\"lg\" />\n </Specimen>\n</Specimens>",
|
|
63
|
+
"note": "A colour as a readable object: three sizes, a checkerboard behind anything translucent, and a spoken description of the colour.",
|
|
64
|
+
"interaction": "none. A swatch is a readout unless a picker wraps it."
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"todo": true
|
|
68
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ColorsSection",
|
|
3
|
+
"slug": "colors-section",
|
|
4
|
+
"group": "configurator",
|
|
5
|
+
"importPath": "@cueplusplus/ui/configurator",
|
|
6
|
+
"peerDependencies": [
|
|
7
|
+
"react-aria-components"
|
|
8
|
+
],
|
|
9
|
+
"clientOnly": true,
|
|
10
|
+
"description": "Section 2 — every colour the active theme declares, one row each.\n\nThe rows are grouped by what the colour does; the editing itself lives in\n{@link TokenEditor}, which is stateless and reusable.",
|
|
11
|
+
"props": [
|
|
12
|
+
{
|
|
13
|
+
"name": "edits",
|
|
14
|
+
"type": "TokenEdits",
|
|
15
|
+
"required": true,
|
|
16
|
+
"defaultValue": null,
|
|
17
|
+
"description": "The panel's edit surface."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "className",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": false,
|
|
23
|
+
"defaultValue": null,
|
|
24
|
+
"description": "Extra classes for the section."
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"typeReferences": [],
|
|
28
|
+
"subcomponents": [],
|
|
29
|
+
"parts": [],
|
|
30
|
+
"variants": {},
|
|
31
|
+
"defaultVariants": {},
|
|
32
|
+
"tokensUsed": [
|
|
33
|
+
"--cue-accent",
|
|
34
|
+
"--cue-border",
|
|
35
|
+
"--cue-border-strong",
|
|
36
|
+
"--cue-density",
|
|
37
|
+
"--cue-fg",
|
|
38
|
+
"--cue-fg-muted",
|
|
39
|
+
"--cue-fg-subtle",
|
|
40
|
+
"--cue-font-mono",
|
|
41
|
+
"--cue-font-pairing-mono",
|
|
42
|
+
"--cue-font-sans",
|
|
43
|
+
"--cue-font-scale",
|
|
44
|
+
"--cue-font-theme-mono",
|
|
45
|
+
"--cue-radius-control",
|
|
46
|
+
"--cue-radius-scale",
|
|
47
|
+
"--cue-space-1",
|
|
48
|
+
"--cue-space-2",
|
|
49
|
+
"--cue-space-4",
|
|
50
|
+
"--cue-text-label",
|
|
51
|
+
"--cue-text-micro"
|
|
52
|
+
],
|
|
53
|
+
"summary": "Section 2 — every colour the active theme declares, one row each.",
|
|
54
|
+
"examples": [
|
|
55
|
+
{
|
|
56
|
+
"title": "Usage",
|
|
57
|
+
"code": "<ColorsSection edits={edits} />",
|
|
58
|
+
"language": "tsx"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"status": "todo-docs",
|
|
62
|
+
"url": "/docs/components/colors-section",
|
|
63
|
+
"mdUrl": "/docs/components/colors-section.md",
|
|
64
|
+
"jsonUrl": "/r/components/colors-section.json",
|
|
65
|
+
"todo": true
|
|
66
|
+
}
|