datocms-react-ui 2.1.4 → 3.0.1-alpha.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.
Files changed (135) hide show
  1. package/dist/cjs/Button/styles.module.css.json +1 -1
  2. package/dist/cjs/ButtonGroup/Button/styles.module.css.json +1 -1
  3. package/dist/cjs/ButtonGroup/Group/styles.module.css.json +1 -1
  4. package/dist/cjs/Canvas/index.js +181 -276
  5. package/dist/cjs/Canvas/index.js.map +1 -1
  6. package/dist/cjs/Canvas/styles.module.css.json +1 -1
  7. package/dist/cjs/ContextInspector/styles.module.css.json +1 -1
  8. package/dist/cjs/Dropdown/styles.module.css.json +1 -1
  9. package/dist/cjs/FieldError/styles.module.css.json +1 -1
  10. package/dist/cjs/FieldHint/styles.module.css.json +1 -1
  11. package/dist/cjs/FormLabel/styles.module.css.json +1 -1
  12. package/dist/cjs/HotKey/styles.module.css.json +1 -1
  13. package/dist/cjs/Section/styles.module.css.json +1 -1
  14. package/dist/cjs/SelectInput/index.js +41 -22
  15. package/dist/cjs/SelectInput/index.js.map +1 -1
  16. package/dist/cjs/SidebarPanel/index.js +4 -11
  17. package/dist/cjs/SidebarPanel/index.js.map +1 -1
  18. package/dist/cjs/SidebarPanel/styles.module.css.json +1 -1
  19. package/dist/cjs/Spinner/styles.module.css.json +1 -1
  20. package/dist/cjs/SplitView/SplitViewSash/styles.module.css.json +1 -1
  21. package/dist/cjs/SwitchField/styles.module.css.json +1 -1
  22. package/dist/cjs/SwitchInput/styles.module.css.json +1 -1
  23. package/dist/cjs/TextInput/styles.module.css.json +1 -1
  24. package/dist/cjs/TextareaInput/styles.module.css.json +1 -1
  25. package/dist/cjs/Toolbar/Button/styles.module.css.json +1 -1
  26. package/dist/cjs/Toolbar/Toolbar/index.js +3 -3
  27. package/dist/cjs/Toolbar/Toolbar/styles.module.css.json +1 -1
  28. package/dist/cjs/Tooltip/TooltipContent/styles.module.css.json +1 -1
  29. package/dist/cjs/Tooltip/TooltipDelayGroup/index.js +2 -2
  30. package/dist/cjs/VerticalSplit/index.js +4 -4
  31. package/dist/cjs/VerticalSplit/styles.module.css.json +1 -1
  32. package/dist/cjs/generateStyleFromCtx/index.js +133 -2
  33. package/dist/cjs/generateStyleFromCtx/index.js.map +1 -1
  34. package/dist/cjs/icons.js +8 -8
  35. package/dist/cjs/icons.js.map +1 -1
  36. package/dist/esm/Button/styles.module.css.json +1 -1
  37. package/dist/esm/ButtonGroup/Button/styles.module.css.json +1 -1
  38. package/dist/esm/ButtonGroup/Group/styles.module.css.json +1 -1
  39. package/dist/esm/Canvas/index.d.ts +181 -276
  40. package/dist/esm/Canvas/index.js +181 -276
  41. package/dist/esm/Canvas/index.js.map +1 -1
  42. package/dist/esm/Canvas/styles.module.css.json +1 -1
  43. package/dist/esm/ContextInspector/styles.module.css.json +1 -1
  44. package/dist/esm/Dropdown/styles.module.css.json +1 -1
  45. package/dist/esm/FieldError/styles.module.css.json +1 -1
  46. package/dist/esm/FieldHint/styles.module.css.json +1 -1
  47. package/dist/esm/FormLabel/styles.module.css.json +1 -1
  48. package/dist/esm/HotKey/styles.module.css.json +1 -1
  49. package/dist/esm/Section/styles.module.css.json +1 -1
  50. package/dist/esm/SelectInput/index.js +41 -22
  51. package/dist/esm/SelectInput/index.js.map +1 -1
  52. package/dist/esm/SidebarPanel/index.d.ts +2 -2
  53. package/dist/esm/SidebarPanel/index.js +4 -11
  54. package/dist/esm/SidebarPanel/index.js.map +1 -1
  55. package/dist/esm/SidebarPanel/styles.module.css.json +1 -1
  56. package/dist/esm/Spinner/styles.module.css.json +1 -1
  57. package/dist/esm/SplitView/SplitViewSash/styles.module.css.json +1 -1
  58. package/dist/esm/SwitchField/styles.module.css.json +1 -1
  59. package/dist/esm/SwitchInput/styles.module.css.json +1 -1
  60. package/dist/esm/TextInput/styles.module.css.json +1 -1
  61. package/dist/esm/TextareaInput/styles.module.css.json +1 -1
  62. package/dist/esm/Toolbar/Button/styles.module.css.json +1 -1
  63. package/dist/esm/Toolbar/Toolbar/index.d.ts +3 -3
  64. package/dist/esm/Toolbar/Toolbar/index.js +3 -3
  65. package/dist/esm/Toolbar/Toolbar/styles.module.css.json +1 -1
  66. package/dist/esm/Tooltip/TooltipContent/styles.module.css.json +1 -1
  67. package/dist/esm/Tooltip/TooltipDelayGroup/index.d.ts +2 -2
  68. package/dist/esm/Tooltip/TooltipDelayGroup/index.js +2 -2
  69. package/dist/esm/VerticalSplit/index.d.ts +4 -4
  70. package/dist/esm/VerticalSplit/index.js +4 -4
  71. package/dist/esm/VerticalSplit/styles.module.css.json +1 -1
  72. package/dist/esm/generateStyleFromCtx/index.js +133 -2
  73. package/dist/esm/generateStyleFromCtx/index.js.map +1 -1
  74. package/dist/esm/icons.js +8 -8
  75. package/dist/esm/icons.js.map +1 -1
  76. package/dist/types/Canvas/index.d.ts +181 -276
  77. package/dist/types/SidebarPanel/index.d.ts +2 -2
  78. package/dist/types/Toolbar/Toolbar/index.d.ts +3 -3
  79. package/dist/types/Tooltip/TooltipDelayGroup/index.d.ts +2 -2
  80. package/dist/types/VerticalSplit/index.d.ts +4 -4
  81. package/package.json +3 -3
  82. package/src/Button/styles.module.css +19 -19
  83. package/src/Button/styles.module.css.json +1 -1
  84. package/src/ButtonGroup/Button/styles.module.css +15 -17
  85. package/src/ButtonGroup/Button/styles.module.css.json +1 -1
  86. package/src/ButtonGroup/Group/styles.module.css +1 -1
  87. package/src/ButtonGroup/Group/styles.module.css.json +1 -1
  88. package/src/Canvas/index.tsx +181 -276
  89. package/src/Canvas/styles.module.css +75 -16
  90. package/src/Canvas/styles.module.css.json +1 -1
  91. package/src/ContextInspector/styles.module.css +10 -10
  92. package/src/ContextInspector/styles.module.css.json +1 -1
  93. package/src/Dropdown/styles.module.css +30 -28
  94. package/src/Dropdown/styles.module.css.json +1 -1
  95. package/src/FieldError/styles.module.css +1 -1
  96. package/src/FieldError/styles.module.css.json +1 -1
  97. package/src/FieldHint/styles.module.css +1 -1
  98. package/src/FieldHint/styles.module.css.json +1 -1
  99. package/src/FormLabel/styles.module.css +2 -2
  100. package/src/FormLabel/styles.module.css.json +1 -1
  101. package/src/HotKey/styles.module.css +1 -1
  102. package/src/HotKey/styles.module.css.json +1 -1
  103. package/src/Section/styles.module.css +8 -8
  104. package/src/Section/styles.module.css.json +1 -1
  105. package/src/SelectInput/index.tsx +53 -26
  106. package/src/SidebarPanel/index.tsx +4 -29
  107. package/src/SidebarPanel/styles.module.css +6 -6
  108. package/src/SidebarPanel/styles.module.css.json +1 -1
  109. package/src/Spinner/styles.module.css +1 -1
  110. package/src/Spinner/styles.module.css.json +1 -1
  111. package/src/SplitView/SplitViewSash/styles.module.css +7 -7
  112. package/src/SplitView/SplitViewSash/styles.module.css.json +1 -1
  113. package/src/SwitchField/styles.module.css +1 -1
  114. package/src/SwitchField/styles.module.css.json +1 -1
  115. package/src/SwitchInput/styles.module.css +16 -13
  116. package/src/SwitchInput/styles.module.css.json +1 -1
  117. package/src/TextInput/styles.module.css +13 -11
  118. package/src/TextInput/styles.module.css.json +1 -1
  119. package/src/TextareaInput/styles.module.css +13 -11
  120. package/src/TextareaInput/styles.module.css.json +1 -1
  121. package/src/Toolbar/Button/styles.module.css +4 -4
  122. package/src/Toolbar/Button/styles.module.css.json +1 -1
  123. package/src/Toolbar/Toolbar/index.tsx +3 -3
  124. package/src/Toolbar/Toolbar/styles.module.css +2 -2
  125. package/src/Toolbar/Toolbar/styles.module.css.json +1 -1
  126. package/src/Tooltip/TooltipContent/styles.module.css +2 -2
  127. package/src/Tooltip/TooltipContent/styles.module.css.json +1 -1
  128. package/src/Tooltip/TooltipDelayGroup/index.tsx +2 -2
  129. package/src/VerticalSplit/index.tsx +4 -4
  130. package/src/VerticalSplit/styles.module.css +7 -11
  131. package/src/VerticalSplit/styles.module.css.json +1 -1
  132. package/src/generateStyleFromCtx/index.ts +153 -0
  133. package/src/icons.tsx +8 -0
  134. package/styles.css +29 -1
  135. package/types.json +517 -389
@@ -12,283 +12,188 @@ export function useCtx() {
12
12
  return ctx;
13
13
  }
14
14
  /**
15
- * @example Color palette CSS variables
15
+ * @example Semantic color token CSS variables
16
16
  *
17
- * Within the `Canvas` component, a color palette is made available as a set of
18
- * CSS variables, allowing you to conform to the theme of the current
19
- * environment:
17
+ * Inside `Canvas`, the host exposes a full semantic color palette as CSS
18
+ * custom properties. Components should reference these tokens directly
19
+ * they adapt to the user's active theme (including dark mode)
20
+ * automatically.
21
+ *
22
+ * ### How to read a token name
23
+ *
24
+ * ```
25
+ * --color--{property} // standalone (one -- after color)
26
+ * --color--{context}--{property} // context pair (two -- after color)
27
+ * ```
28
+ *
29
+ * **Properties** — `surface` (backgrounds), `ink` (text/icons),
30
+ * `border` (1px lines), `outline` (focus rings), plus `fill` / `track`
31
+ * for progress bars.
32
+ *
33
+ * **Standalone** tokens work on any neutral page. **Contexts** are
34
+ * self-contained environments: always pair a `surface` with the `ink`,
35
+ * `border`, and hover states from the *same* context. Never mix — e.g.
36
+ * don't put `--color--primary--ink` on `--color--danger--surface`.
37
+ *
38
+ * Non-color tokens `--shadow--elevated` / `--shadow--float` /
39
+ * `--shadow--ambient` are ready-made `box-shadow` composites.
20
40
  *
21
41
  * ```js
22
42
  * <Canvas ctx={ctx}>
23
- * <Section title="Text colors">
24
- * <table>
25
- * <tbody>
26
- * <tr>
27
- * <td>
28
- * <code>--base-body-color</code>
29
- * </td>
30
- * <td width="30%">
31
- * <div
32
- * style={{
33
- * width: '30px',
34
- * height: '30px',
35
- * background: 'var(--base-body-color)',
36
- * }}
37
- * />
38
- * </td>
43
+ * <Section title="Standalone — use on any neutral page">
44
+ * <table><tbody>
45
+ * {[
46
+ * ['--color--surface', 'Default page background'],
47
+ * ['--color--surface-hover', 'Hovered row / list item'],
48
+ * ['--color--surface-muted', 'Muted section / card background'],
49
+ * ['--color--ink', 'Primary text'],
50
+ * ['--color--ink-subtle', 'Secondary text / captions'],
51
+ * ['--color--ink-hover', 'Text under hover'],
52
+ * ['--color--ink-muted', 'De-emphasized text'],
53
+ * ['--color--ink-placeholder', 'Input placeholder text'],
54
+ * ['--color--ink-primary', 'Brand-highlighted text / icons'],
55
+ * ['--color--ink-accent', 'Links / accent text'],
56
+ * ['--color--ink-disabled', 'Disabled text'],
57
+ * ['--color--border', 'Default 1px border'],
58
+ * ['--color--border-hover', 'Border under hover'],
59
+ * ].map(([t, d]) => (
60
+ * <tr key={t}>
61
+ * <td><code>{t}</code></td>
62
+ * <td style={{ color: 'var(--color--ink-subtle)' }}>{d}</td>
63
+ * <td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td>
39
64
  * </tr>
40
- * <tr>
41
- * <td>
42
- * <code>--light-body-color</code>
43
- * </td>
44
- * <td width="30%">
45
- * <div
46
- * style={{
47
- * width: '30px',
48
- * height: '30px',
49
- * background: 'var(--light-body-color)',
50
- * }}
51
- * />
52
- * </td>
53
- * </tr>
54
- * <tr>
55
- * <td>
56
- * <code>--placeholder-body-color</code>
57
- * </td>
58
- * <td width="30%">
59
- * <div
60
- * style={{
61
- * width: '30px',
62
- * height: '30px',
63
- * background: 'var(--placeholder-body-color)',
64
- * }}
65
- * />
66
- * </td>
67
- * </tr>
68
- * </tbody>
69
- * </table>
65
+ * ))}
66
+ * </tbody></table>
70
67
  * </Section>
71
- * <Section title="UI colors">
72
- * <table>
73
- * <tbody>
74
- * <tr>
75
- * <td>
76
- * <code>--light-bg-color</code>
77
- * </td>
78
- * <td width="30%">
79
- * <div
80
- * style={{
81
- * width: '30px',
82
- * height: '30px',
83
- * background: 'var(--light-bg-color)',
84
- * }}
85
- * />
86
- * </td>
87
- * </tr>
88
- * <tr>
89
- * <td>
90
- * <code>--lighter-bg-color</code>
91
- * </td>
92
- * <td width="30%">
93
- * <div
94
- * style={{
95
- * width: '30px',
96
- * height: '30px',
97
- * background: 'var(--lighter-bg-color)',
98
- * }}
99
- * />
100
- * </td>
101
- * </tr>
102
- * <tr>
103
- * <td>
104
- * <code>--disabled-bg-color</code>
105
- * </td>
106
- * <td width="30%">
107
- * <div
108
- * style={{
109
- * width: '30px',
110
- * height: '30px',
111
- * background: 'var(--disabled-bg-color)',
112
- * }}
113
- * />
114
- * </td>
115
- * </tr>
116
- * <tr>
117
- * <td>
118
- * <code>--border-color</code>
119
- * </td>
120
- * <td width="30%">
121
- * <div
122
- * style={{
123
- * width: '30px',
124
- * height: '30px',
125
- * background: 'var(--border-color)',
126
- * }}
127
- * />
128
- * </td>
129
- * </tr>
130
- * <tr>
131
- * <td>
132
- * <code>--darker-border-color</code>
133
- * </td>
134
- * <td width="30%">
135
- * <div
136
- * style={{
137
- * width: '30px',
138
- * height: '30px',
139
- * background: 'var(--darker-border-color)',
140
- * }}
141
- * />
142
- * </td>
143
- * </tr>
144
- * <tr>
145
- * <td>
146
- * <code>--alert-color</code>
147
- * </td>
148
- * <td width="30%">
149
- * <div
150
- * style={{
151
- * width: '30px',
152
- * height: '30px',
153
- * background: 'var(--alert-color)',
154
- * }}
155
- * />
156
- * </td>
157
- * </tr>
158
- * <tr>
159
- * <td>
160
- * <code>--warning-color</code>
161
- * </td>
162
- * <td width="30%">
163
- * <div
164
- * style={{
165
- * width: '30px',
166
- * height: '30px',
167
- * background: 'var(--warning-color)',
168
- * }}
169
- * />
170
- * </td>
171
- * </tr>
172
- * <tr>
173
- * <td>
174
- * <code>--notice-color</code>
175
- * </td>
176
- * <td width="30%">
177
- * <div
178
- * style={{
179
- * width: '30px',
180
- * height: '30px',
181
- * background: 'var(--notice-color)',
182
- * }}
183
- * />
184
- * </td>
185
- * </tr>
186
- * <tr>
187
- * <td>
188
- * <code>--warning-bg-color</code>
189
- * </td>
190
- * <td width="30%">
191
- * <div
192
- * style={{
193
- * width: '30px',
194
- * height: '30px',
195
- * background: 'var(--warning-bg-color)',
196
- * }}
197
- * />
198
- * </td>
199
- * </tr>
200
- * <tr>
201
- * <td>
202
- * <code>--add-color</code>
203
- * </td>
204
- * <td width="30%">
205
- * <div
206
- * style={{
207
- * width: '30px',
208
- * height: '30px',
209
- * background: 'var(--add-color)',
210
- * }}
211
- * />
212
- * </td>
213
- * </tr>
214
- * <tr>
215
- * <td>
216
- * <code>--remove-color</code>
217
- * </td>
218
- * <td width="30%">
219
- * <div
220
- * style={{
221
- * width: '30px',
222
- * height: '30px',
223
- * background: 'var(--remove-color)',
224
- * }}
225
- * />
226
- * </td>
227
- * </tr>
228
- * </tbody>
229
- * </table>
68
+ *
69
+ * <Section title="Context: raised — modals, dropdowns, popovers">
70
+ * <table><tbody>
71
+ * {['--color--raised--surface', '--color--raised--surface-hover', '--color--raised--surface-active']
72
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
73
+ * </tbody></table>
230
74
  * </Section>
231
- * <Section title="Project-specific colors">
232
- * <table>
233
- * <tbody>
234
- * <tr>
235
- * <td>
236
- * <code>--accent-color</code>
237
- * </td>
238
- * <td width="30%">
239
- * <div
240
- * style={{
241
- * width: '30px',
242
- * height: '30px',
243
- * background: 'var(--accent-color)',
244
- * }}
245
- * />
246
- * </td>
247
- * </tr>
248
- * <tr>
249
- * <td>
250
- * <code>--primary-color</code>
251
- * </td>
252
- * <td width="30%">
253
- * <div
254
- * style={{
255
- * width: '30px',
256
- * height: '30px',
257
- * background: 'var(--primary-color)',
258
- * }}
259
- * />
260
- * </td>
261
- * </tr>
262
- * <tr>
263
- * <td>
264
- * <code>--light-color</code>
265
- * </td>
266
- * <td width="30%">
267
- * <div
268
- * style={{
269
- * width: '30px',
270
- * height: '30px',
271
- * background: 'var(--light-color)',
272
- * }}
273
- * />
274
- * </td>
275
- * </tr>
276
- * <tr>
277
- * <td>
278
- * <code>--dark-color</code>
279
- * </td>
280
- * <td width="30%">
281
- * <div
282
- * style={{
283
- * width: '30px',
284
- * height: '30px',
285
- * background: 'var(--dark-color)',
286
- * }}
287
- * />
288
- * </td>
289
- * </tr>
290
- * </tbody>
291
- * </table>
75
+ *
76
+ * <Section title="Context: primary — main call-to-action buttons, badges, nav">
77
+ * <table><tbody>
78
+ * {['--color--primary--surface', '--color--primary--surface-hover', '--color--primary--surface-active', '--color--primary--surface-muted', '--color--primary--ink', '--color--primary--border']
79
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
80
+ * </tbody></table>
81
+ * </Section>
82
+ *
83
+ * <Section title="Context: tinted — subtle brand-tinted surfaces">
84
+ * <table><tbody>
85
+ * {['--color--tinted--surface', '--color--tinted--surface-hover', '--color--tinted--surface-active', '--color--tinted--ink']
86
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
87
+ * </tbody></table>
88
+ * </Section>
89
+ *
90
+ * <Section title="Context: accent, selected, disabled, danger, enterprise">
91
+ * <table><tbody>
92
+ * {['--color--accent--surface', '--color--accent--ink',
93
+ * '--color--selected--surface', '--color--selected--ink', '--color--selected--border',
94
+ * '--color--disabled--surface', '--color--disabled--ink',
95
+ * '--color--danger--surface', '--color--danger--ink',
96
+ * '--color--enterprise--surface']
97
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
98
+ * </tbody></table>
99
+ * </Section>
100
+ *
101
+ * <Section title="Context: focus — focus rings and outlines">
102
+ * <table><tbody>
103
+ * {['--color--focus--border', '--color--focus--outline']
104
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
105
+ * </tbody></table>
106
+ * </Section>
107
+ *
108
+ * <Section title="Feedback — validation and form states">
109
+ * <table><tbody>
110
+ * {['--color--feedback-fail--ink', '--color--feedback-fail--border', '--color--feedback-fail--outline',
111
+ * '--color--feedback-warning--ink', '--color--feedback-warning--surface', '--color--feedback-warning--border',
112
+ * '--color--feedback-success--ink', '--color--feedback-success--border']
113
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
114
+ * </tbody></table>
115
+ * </Section>
116
+ *
117
+ * <Section title="Context: highlight — rich text inline highlights">
118
+ * <table><tbody>
119
+ * {['--color--highlight--surface']
120
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
121
+ * </tbody></table>
122
+ * </Section>
123
+ *
124
+ * <Section title="Diffs — content versioning (added / removed / changed)">
125
+ * <table><tbody>
126
+ * {['--color--diff-added--surface', '--color--diff-removed--surface', '--color--diff-changed--surface',
127
+ * '--color--diff-added--surface-subtle', '--color--diff-removed--surface-subtle', '--color--diff-changed--surface-subtle',
128
+ * '--color--diff-added--outline-subtle', '--color--diff-removed--outline-subtle', '--color--diff-changed--outline-subtle',
129
+ * '--color--diff-changed--border', '--color--diff-changed--border-negative']
130
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
131
+ * </tbody></table>
132
+ * </Section>
133
+ *
134
+ * <Section title="Status — publishing workflow badges (ink-only)">
135
+ * <table><tbody>
136
+ * {['--color--status-draft--ink', '--color--status-outdated--ink', '--color--status-published--ink']
137
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td><span style={{ color: `var(${t})`, fontWeight: 'bold' }}>Sample text</span></td></tr>))}
138
+ * </tbody></table>
139
+ * </Section>
140
+ *
141
+ * <Section title="Backdrop & overlay — scrims and floating UI">
142
+ * <table><tbody>
143
+ * {['--color--backdrop--surface', '--color--backdrop--ink',
144
+ * '--color--overlay--surface', '--color--overlay--surface-subtle', '--color--overlay--ink']
145
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
146
+ * </tbody></table>
147
+ * </Section>
148
+ *
149
+ * <Section title="Stacked — dark layered UI (uploaders, media players)">
150
+ * <p>Stacked gives you three layers of depth (base → surface → raised) plus buttons, borders and a translucent fill. Use it when a dark inline panel needs internal hierarchy.</p>
151
+ * <table><tbody>
152
+ * {['--color--stacked--surface-base', '--color--stacked--surface', '--color--stacked--surface-raised',
153
+ * '--color--stacked--surface-hover', '--color--stacked--surface-translucent',
154
+ * '--color--stacked--surface-button', '--color--stacked--surface-button-active',
155
+ * '--color--stacked--ink', '--color--stacked--ink-subtle', '--color--stacked--border']
156
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
157
+ * </tbody></table>
158
+ * </Section>
159
+ *
160
+ * <Section title="Progress — bar track and fill">
161
+ * <table><tbody>
162
+ * {['--color--progress--track', '--color--progress--fill', '--color--progress--fill-hover']
163
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
164
+ * </tbody></table>
165
+ * </Section>
166
+ *
167
+ * <Section title="Tooltip — small dark floating labels">
168
+ * <table><tbody>
169
+ * {['--color--tooltip--surface', '--color--tooltip--surface-hover', '--color--tooltip--ink', '--color--tooltip--ink-subtle']
170
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
171
+ * </tbody></table>
172
+ * </Section>
173
+ *
174
+ * <Section title="Code — dark code blocks, logs, error traces">
175
+ * <table><tbody>
176
+ * {['--color--code--surface', '--color--code--ink']
177
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
178
+ * </tbody></table>
179
+ * </Section>
180
+ *
181
+ * <Section title="Shadow colors and scrollbar">
182
+ * <table><tbody>
183
+ * {['--color--shadow-subtle', '--color--shadow', '--color--shadow-strong', '--color--scrollbar']
184
+ * .map((t) => (<tr key={t}><td><code>{t}</code></td><td width="40"><div style={{ width: '30px', height: '30px', background: `var(${t})`, border: '1px solid var(--color--border)' }} /></td></tr>))}
185
+ * </tbody></table>
186
+ * </Section>
187
+ *
188
+ * <Section title="Shadow composites — drop-in box-shadow values">
189
+ * <div style={{ display: 'flex', gap: 'var(--spacing-l)', padding: 'var(--spacing-l)' }}>
190
+ * {['--shadow--elevated', '--shadow--float', '--shadow--ambient'].map((t) => (
191
+ * <div key={t} style={{ textAlign: 'center' }}>
192
+ * <div style={{ width: '80px', height: '80px', background: 'var(--color--surface)', borderRadius: '4px', boxShadow: `var(${t})` }} />
193
+ * <code style={{ display: 'block', marginTop: 'var(--spacing-s)', fontSize: 'var(--font-size-xs)' }}>{t}</code>
194
+ * </div>
195
+ * ))}
196
+ * </div>
292
197
  * </Section>
293
198
  * </Canvas>;
294
199
  * ```
@@ -421,7 +326,7 @@ export function useCtx() {
421
326
  * <td>
422
327
  * <div
423
328
  * style={{
424
- * background: 'var(--accent-color)',
329
+ * background: 'var(--color--accent--surface)',
425
330
  * width: 'var(--spacing-s)',
426
331
  * height: 'var(--spacing-s)',
427
332
  * }}
@@ -435,7 +340,7 @@ export function useCtx() {
435
340
  * <td>
436
341
  * <div
437
342
  * style={{
438
- * background: 'var(--accent-color)',
343
+ * background: 'var(--color--accent--surface)',
439
344
  * width: 'var(--spacing-m)',
440
345
  * height: 'var(--spacing-m)',
441
346
  * }}
@@ -449,7 +354,7 @@ export function useCtx() {
449
354
  * <td>
450
355
  * <div
451
356
  * style={{
452
- * background: 'var(--accent-color)',
357
+ * background: 'var(--color--accent--surface)',
453
358
  * width: 'var(--spacing-l)',
454
359
  * height: 'var(--spacing-l)',
455
360
  * }}
@@ -463,7 +368,7 @@ export function useCtx() {
463
368
  * <td>
464
369
  * <div
465
370
  * style={{
466
- * background: 'var(--accent-color)',
371
+ * background: 'var(--color--accent--surface)',
467
372
  * width: 'var(--spacing-xl)',
468
373
  * height: 'var(--spacing-xl)',
469
374
  * }}
@@ -477,7 +382,7 @@ export function useCtx() {
477
382
  * <td>
478
383
  * <div
479
384
  * style={{
480
- * background: 'var(--accent-color)',
385
+ * background: 'var(--color--accent--surface)',
481
386
  * width: 'var(--spacing-xxl)',
482
387
  * height: 'var(--spacing-xxl)',
483
388
  * }}
@@ -491,7 +396,7 @@ export function useCtx() {
491
396
  * <td>
492
397
  * <div
493
398
  * style={{
494
- * background: 'var(--accent-color)',
399
+ * background: 'var(--color--accent--surface)',
495
400
  * width: 'var(--spacing-xxxl)',
496
401
  * height: 'var(--spacing-xxxl)',
497
402
  * }}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Canvas/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAKpC,OAAO,KAAK,EAAE,EACZ,aAAa,EAEb,UAAU,EACV,SAAS,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAIzC,8DAA8D;AAC9D,MAAM,CAAC,IAAM,UAAU,GAAG,aAAa,CAAiB,IAAI,CAAC,CAAC;AAE9D,MAAM,UAAU,MAAM;IACpB,IAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEnC,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;IAED,OAAO,GAAQ,CAAC;AAClB,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2eG;AAEH,MAAM,UAAU,MAAM,CAAC,EAIT;QAHZ,GAAG,SAAA,EACH,QAAQ,cAAA,EACR,aAAa,mBAAA;IAEL,IAAA,IAAI,GAAK,GAAkC,KAAvC,CAAwC;IAEpD,SAAS,CAAC;QACR,IAAI,CAAC,aAAa,IAAI,kBAAkB,IAAI,GAAG,EAAE;YAC/C,IAAM,oBAAkB,GAAG,GAAiC,CAAC;YAC7D,oBAAkB,CAAC,gBAAgB,EAAE,CAAC;YAEtC,OAAO;gBACL,oBAAkB,CAAC,eAAe,EAAE,CAAC;YACvC,CAAC,CAAC;SACH;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAE1B,OAAO,CACL,oBAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG;QAC7B,6BACE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,EACjD,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,IAE/B,QAAQ,CACL,CACc,CACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Canvas/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAKpC,OAAO,KAAK,EAAE,EACZ,aAAa,EAEb,UAAU,EACV,SAAS,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAIzC,8DAA8D;AAC9D,MAAM,CAAC,IAAM,UAAU,GAAG,aAAa,CAAiB,IAAI,CAAC,CAAC;AAE9D,MAAM,UAAU,MAAM;IACpB,IAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEnC,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;IAED,OAAO,GAAQ,CAAC;AAClB,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4YG;AAEH,MAAM,UAAU,MAAM,CAAC,EAIT;QAHZ,GAAG,SAAA,EACH,QAAQ,cAAA,EACR,aAAa,mBAAA;IAEL,IAAA,IAAI,GAAK,GAAkC,KAAvC,CAAwC;IAEpD,SAAS,CAAC;QACR,IAAI,CAAC,aAAa,IAAI,kBAAkB,IAAI,GAAG,EAAE;YAC/C,IAAM,oBAAkB,GAAG,GAAiC,CAAC;YAC7D,oBAAkB,CAAC,gBAAgB,EAAE,CAAC;YAEtC,OAAO;gBACL,oBAAkB,CAAC,eAAe,EAAE,CAAC;YACvC,CAAC,CAAC;SACH;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAE1B,OAAO,CACL,oBAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG;QAC7B,6BACE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,EACjD,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,IAE/B,QAAQ,CACL,CACc,CACvB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- { "themeVariables": "_themeVariables_2dr1w_1", "canvas": "_canvas_2dr1w_70" }
1
+ { "themeVariables": "_themeVariables_fb3bs_1", "canvas": "_canvas_fb3bs_128" }
@@ -1 +1 @@
1
- { "inspector": "_inspector_u6041_1", "panel": "_panel_u6041_5", "panelHandle": "_panelHandle_u6041_9", "panelBody": "_panelBody_u6041_25", "groupDescription": "_groupDescription_u6041_31", "propertyGroup": "_propertyGroup_u6041_37", "propertyOrMethod": "_propertyOrMethod_u6041_42", "propertyOrMethodBody": "_propertyOrMethodBody_u6041_51", "propertyOrMethodExample": "_propertyOrMethodExample_u6041_55", "propertyOrMethodName": "_propertyOrMethodName_u6041_68", "propertyOrMethodExampleActions": "_propertyOrMethodExampleActions_u6041_82" }
1
+ { "inspector": "_inspector_4pnoo_1", "panel": "_panel_4pnoo_5", "panelHandle": "_panelHandle_4pnoo_9", "panelBody": "_panelBody_4pnoo_25", "groupDescription": "_groupDescription_4pnoo_31", "propertyGroup": "_propertyGroup_4pnoo_37", "propertyOrMethod": "_propertyOrMethod_4pnoo_42", "propertyOrMethodBody": "_propertyOrMethodBody_4pnoo_51", "propertyOrMethodExample": "_propertyOrMethodExample_4pnoo_55", "propertyOrMethodName": "_propertyOrMethodName_4pnoo_68", "propertyOrMethodExampleActions": "_propertyOrMethodExampleActions_4pnoo_82" }
@@ -1 +1 @@
1
- { "Dropdown": "_Dropdown_nie0g_1", "Dropdown__spacer": "_Dropdown__spacer_nie0g_5", "Dropdown__menu__search": "_Dropdown__menu__search_nie0g_11", "Dropdown__menu__search__input": "_Dropdown__menu__search__input_nie0g_16", "Dropdown__menu-container": "_Dropdown__menu-container_nie0g_45", "Dropdown__menu": "_Dropdown__menu_nie0g_11", "Dropdown__menu__inner": "_Dropdown__menu__inner_nie0g_61", "Dropdown__menu__group__title": "_Dropdown__menu__group__title_nie0g_65", "Dropdown__menu__group__content": "_Dropdown__menu__group__content_nie0g_73", "Dropdown__menu__text": "_Dropdown__menu__text_nie0g_77", "Dropdown__menu__option": "_Dropdown__menu__option_nie0g_86", "Dropdown__menu__option--is-selected": "_Dropdown__menu__option--is-selected_nie0g_108", "Dropdown__menu__option--is-disabled": "_Dropdown__menu__option--is-disabled_nie0g_112", "Dropdown__menu__option__content": "_Dropdown__menu__option__content_nie0g_115", "Dropdown__menu__option--is-dangerous": "_Dropdown__menu__option--is-dangerous_nie0g_120", "Dropdown__menu__option--is-active": "_Dropdown__menu__option--is-active_nie0g_138", "Dropdown__menu__option--is-valid": "_Dropdown__menu__option--is-valid_nie0g_147", "Dropdown__menu__option--is-invalid": "_Dropdown__menu__option--is-invalid_nie0g_151", "Dropdown__menu__option__icons": "_Dropdown__menu__option__icons_nie0g_194", "Dropdown__menu__option__icon": "_Dropdown__menu__option__icon_nie0g_194", "Dropdown__menu__option__icon--delete": "_Dropdown__menu__option__icon--delete_nie0g_241", "Dropdown__menu__separator": "_Dropdown__menu__separator_nie0g_248" }
1
+ { "Dropdown": "_Dropdown_dz2gh_1", "Dropdown__spacer": "_Dropdown__spacer_dz2gh_5", "Dropdown__menu__search": "_Dropdown__menu__search_dz2gh_11", "Dropdown__menu__search__input": "_Dropdown__menu__search__input_dz2gh_16", "Dropdown__menu-container": "_Dropdown__menu-container_dz2gh_47", "Dropdown__menu": "_Dropdown__menu_dz2gh_11", "Dropdown__menu__inner": "_Dropdown__menu__inner_dz2gh_63", "Dropdown__menu__group__title": "_Dropdown__menu__group__title_dz2gh_67", "Dropdown__menu__group__content": "_Dropdown__menu__group__content_dz2gh_75", "Dropdown__menu__text": "_Dropdown__menu__text_dz2gh_79", "Dropdown__menu__option": "_Dropdown__menu__option_dz2gh_88", "Dropdown__menu__option--is-selected": "_Dropdown__menu__option--is-selected_dz2gh_110", "Dropdown__menu__option--is-disabled": "_Dropdown__menu__option--is-disabled_dz2gh_114", "Dropdown__menu__option__content": "_Dropdown__menu__option__content_dz2gh_117", "Dropdown__menu__option--is-dangerous": "_Dropdown__menu__option--is-dangerous_dz2gh_122", "Dropdown__menu__option--is-active": "_Dropdown__menu__option--is-active_dz2gh_140", "Dropdown__menu__option--is-valid": "_Dropdown__menu__option--is-valid_dz2gh_149", "Dropdown__menu__option--is-invalid": "_Dropdown__menu__option--is-invalid_dz2gh_153", "Dropdown__menu__option__icons": "_Dropdown__menu__option__icons_dz2gh_196", "Dropdown__menu__option__icon": "_Dropdown__menu__option__icon_dz2gh_196", "Dropdown__menu__option__icon--delete": "_Dropdown__menu__option__icon--delete_dz2gh_243", "Dropdown__menu__separator": "_Dropdown__menu__separator_dz2gh_250" }
@@ -1 +1 @@
1
- { "fieldError": "_fieldError_qi0xk_1" }
1
+ { "fieldError": "_fieldError_93pv2_1" }
@@ -1 +1 @@
1
- { "fieldHint": "_fieldHint_1avon_1" }
1
+ { "fieldHint": "_fieldHint_1q1d1_1" }
@@ -1 +1 @@
1
- { "formLabel": "_formLabel_tcjrv_1", "formLabel__code": "_formLabel__code_tcjrv_8", "formLabel--error": "_formLabel--error_tcjrv_14", "formLabel__label": "_formLabel__label_tcjrv_18", "formLabel__required": "_formLabel__required_tcjrv_30" }
1
+ { "formLabel": "_formLabel_1qzmk_1", "formLabel__code": "_formLabel__code_1qzmk_8", "formLabel--error": "_formLabel--error_1qzmk_14", "formLabel__label": "_formLabel__label_1qzmk_18", "formLabel__required": "_formLabel__required_1qzmk_30" }
@@ -1 +1 @@
1
- { "hotKey": "_hotKey_1eko8_1", "label": "_label_1eko8_7", "keys": "_keys_1eko8_12", "hotKeyKey": "_hotKeyKey_1eko8_18" }
1
+ { "hotKey": "_hotKey_hlj7l_1", "label": "_label_hlj7l_7", "keys": "_keys_hlj7l_12", "hotKeyKey": "_hotKeyKey_hlj7l_18" }
@@ -1 +1 @@
1
- { "Section": "_Section_zh95u_1", "Section--highlighted": "_Section--highlighted_zh95u_5", "pageContentSectionHighligh": "_pageContentSectionHighligh_zh95u_1", "Section__header": "_Section__header_zh95u_19", "Section__title": "_Section__title_zh95u_38", "Section__title__content": "_Section__title__content_zh95u_52", "Section__arrow": "_Section__arrow_zh95u_55", "Section__arrow--is-open": "_Section__arrow--is-open_zh95u_82" }
1
+ { "Section": "_Section_17d0k_1", "Section--highlighted": "_Section--highlighted_17d0k_5", "pageContentSectionHighligh": "_pageContentSectionHighligh_17d0k_1", "Section__header": "_Section__header_17d0k_19", "Section__title": "_Section__title_17d0k_38", "Section__title__content": "_Section__title__content_17d0k_52", "Section__arrow": "_Section__arrow_17d0k_55", "Section__arrow--is-open": "_Section__arrow--is-open_17d0k_82" }